Retargetable C Compiler, A (häftad)
Fler böcker inom
Format
Häftad (Paperback)
Språk
Engelska
Antal sidor
584
Utgivningsdatum
1995-03-01
Upplaga
1
Förlag
Addison-Wesley Professional
Medarbetare
Hanson, David / Fraser, Christopher
Dimensioner
235 x 182 x 32 mm
Vikt
917 g
Antal komponenter
1
Komponenter
600pp hbk book & disk
ISBN
9780805316704

Retargetable C Compiler, A

Design and Implementation

Häftad,  Engelska, 1995-03-01
788
  • Skickas från oss inom 5-8 vardagar.
  • Fri frakt över 249 kr för privatkunder i Sverige.
This new text examines the design and implementation of lcc , a production-quality, retargetable compiler for the ANSI C programming language, designed at AT&T Bell Laboratories and Princeton University. The authors' innovative approach--a "literate program" that intermingles the text with the source code--gives a detailed tour of the code that explains the implementation and design decisions reflected in the software. And while most books describe toy compilers or focus on isolated pieces of code, the authors provide the entire source code for a real compiler, which is available via ftp . Structured as a self-study guide that describes the real-world tradeoffs encountered in building a production-quality compiler, this book is useful to individuals who work in application areas applying or creating language-based tools and techniques.
  • Explores the interaction between compiler theory and practice through the discussion of lcc.
  • Covers compiler theory only as needed to understand the implementation of lcc, focusing instead on practical, applied issues.
  • Encourages a broader understanding of programming in C through an examination of lcc, a production-quality compiler in use since 1988.
  • Provides full code generators for the MIPS R3000, SPARC, and Intel 80x86 architectures and successors.
  • The full source code for the lcc compiler, the three back ends, and the code-generator generator is freely available.
  • Uses icons and brief indices in the margins to cross- reference code fragments and connect code usage.
Audience Senior undergraduate or graduate level second course. Any researcher or implementer of compilers for parallel or advanced computers.

0805316701B04062001
Visa hela texten

Passar bra ihop

  1. Retargetable C Compiler, A
  2. +
  3. Co-Intelligence

De som köpt den här boken har ofta också köpt Co-Intelligence av Ethan Mollick (häftad).

Köp båda 2 för 978 kr

Kundrecensioner

Har du läst boken? Sätt ditt betyg »

Fler böcker av David R Hanson

  • C Interfaces and Implementations

    David R Hanson

    Every programmer and software project manager must master the art of creating reusable software modules; they are the building blocks of large, reliable applications. Unlike some modern object-oriented languages, C provides little linguistic suppo...

Övrig information

Since 1975, Christopher W. Fraser has researched compiling, particularly producing code generators automatically from compact specs, and has published many technical articles in this area. He originated retargetable peephole optimization, which GCC, a popular C compiler, uses to help select instructions. From 1977 until 1986, Fraser taught computer science, including compiling, at the University of Arizona. Since 1986, Fraser has conducted computing research at AT T Bell Laboratories in Murray Hill, New Jersey.David R. Hanson is a Professor of Computer Science at Princeton University with more than 20 years of research experience in programming languages. He has conducted research in conjunction with Bell Laboratories and is the co-author of lcc, a production quality, research compiler for the C language that is popular with the Unix community. lcc is presented and analyzed in the book A Retargetable C Compiler: Design and Implementation, by Christopher Fraser and David Hanson (c) 1995, Addison-Wesley. 0805316701AB04062001

Innehållsförteckning



Preface.


1. Introduction.

Literate Programs.

How to Read This Book.

Overview.

Design.

Common Declarations.

Syntax Specifications.

Errors.



2. Storage Management.

Memory Management Interface.

Arena Representation.

Allocating Space.

Deallocating Space.

Strings.



3. Types.

Representing Symbols.

Representing Symbol Tables.

Changing Scope.

Finding and Installing Identifiers.

Labels.

Constants.

Generated Variables.



4. Code Generation Interface.

Representing Types.

Type Management.

Type Predicates.

Type Constructors.

Function Types.

Structure and Enumeration Types.

Type-Checking Functions.

Type Mapping.



5. Lexical Analysis.

Type Metrics.

Interface Records.

Symbols.

Types.

Dag Operators.

Interface Flags.

Initialization.

Definitions.

Constants.

Functions.

Interface Binding.

Upcalls.



6. Parsing.

Input.

Recognizing Tokens.

Recognizing Keywords.

Recognizing Identifiers.

Recognizing Numbers.

Recognizing Character Constants and Strings.



7. Expressions.

Languages and Grammars.

Ambiguity and Parse Trees.

Top-Down Parsing.

FIRST and FOLLOW Sets.

Writing Parsing Functions.

Handling Syntax Errors.



8. Expression Semantics.

Representing Expressions.

Parsing Expressions.

Parsing C Expressions.

Assignment Expressions.

Conditional Expressions.

Binary Expressions.

Unary and Postfix Expressions.

Primary Expressions.



9. Expression Semantics.

Conversions.

Unary and Postfix Operators.

Function Calls.

Binary Operators.

Assignments.

Conditionals.

Constant Folding.



10. Statements.

Representing Code.

Execution Points.

Recognizing Statements.

If Statements.

Labels and Gotos.

Loops.

Switch Statements.

Return Statements.

Managing Labels and Jumps.



11. Declarations.

Translation Units.

Declarations.

Declarators.

Function Declarators.

Structure Spec...