Contents
Compiler Specification
Compiler specification
Compiler implementation
The architecture of a conventional compiler
Tools and components for lexical analysis
Lexical analysis
Lexicon recognition
Noneterministic Finite Automata, NFA
Deterministic Finite Automata, DFA
Automatic construction of lexical analyzers
DFA optimizations
Scanner generation from regular expressions of conditions
A language independent scanner generator
TICS methodology for scanner generation
Tools and components for syntax analysis
Context Free Languages and Parsing Strategies
Pushdown Automata, PDA
Earley's Algorithm
Earley's Parser
LR parser construction
Common LR parser implementations
An Interactive LR Parser Construction, IPC
LL parser construction
Pattern matching parsers, PMPs
Language space: computing context and noncontext information for pmp-s
Precedence relations parser construction
Tools and components for semantic analysis
Semantic Analysis 1: Scoping and visibility
Semantic Analysis 2: Overloading and polymorphism
Attribute grammars: Syntax Directed Definitions, SDD
Attribute computation by parser
Botom-up evaluation of inherited attributes
Tools and components for code generation
Code generation for an abstract machine
Memory allocation
Static and dynamic structure of programs in terms of procedure and function components
Code generation for procedures and functions
Compiler construction for object oriented languages
Method translation in Object Oriented Languages
Translation scheme for simple and multiple independent inheritances
Translation scheme for simple inheritances
Translation scheme for independent multiple inheritances
Translation scheme for multiple dependent inheritances
Genericity in Object Oriented Languages
Tools and components for compiler optimization
Intermediate code generation
Target machine and runtime support
Target code optimizations
Program flow-graph
An optimizing code generator