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