About me - Books - Programming Languages and Compilers
Programming Languages and Compilers, Romanian Academy Press, 1987 (in Romanian)
back           

 

PREFACE

  • INTRODUCTION
    • 1. System and Information
    • 2. Communication and Languages
    • 3. Programming Languages
    • 4. Program Translation
  • I. PROGRAMMING LANGUAGES
    • CHAPTER 1. Hierarchical Structure of programming Languages
    • CHAPTER 2. The Programming Language Universe
    • CHAPTER 3. Variables
    • CHAPTER 4. Attributes and Declarations
    • CHAPTER 5. Data Structures
      • 5.1.Arrays
      • 5.2.Records
      • 5.3. Strings
    • CHAPTER 6. Expressions and Commands
      • 6.1. Expressions
      • 6.2.Commands
    • CHAPTER 7. Program Units
      • 7.1. Procedures
      • 7.2. Parameter transmission
    • CHAPTER 8. Run-time Storage Organization
      • 8.1. Static allocation
      • 8.2. Stack allocation
      • 8.3. Heap allocation
  • II. INTRODUCTION TO COMPILING THEORY
    • CHAPTER 1. Language Specification
      • 1.1. Chomsky grammars and languages
      • 1.2. Properties of some formal language classes
      • 1.3. Automata
    • CHAPTER 2. Translation Specification
      • 2.1. Syntax-directed translation schema
      • 2.2. Formal translators
      • 2.3. Attribute grammars
  • III. COMPILER DESIGN
    • CHAPTER 1. Lexical Analysis
      • 1.1. General
      • 1.2. The lexical analyzer model
      • 1.3. Designing a lexical analyzer
      • 1.4. Implementing a lexical analyzer
    • CHAPTER 2. Parsing
      • 2.1. Top-down parsing
        • 2.1.1. Recursive descend parser
        • 2.1.2. Tables directed top-down parsers
        • 2.1.3. LL(1) grammars
        • 2.1.4. An efficient top-down parser
      • 2.2. Bottom-up parsing
        • 2.2.1. "Shift-reduce" parsing
        • 2.2.2. Simple precedence grammars
        • 2.2.3. Implementing a "shift-reduce" machine
        • 2.2.4. Weak-precedence grammars
        • 2.2.5. LR parsing
    • CHAPTER 3. Semantic Analysis
      • 3.1. Syntax-directed translation
      • 3.2. A translation specification for the top-down analysis
      • 3.3. Implementing a predictive translation machine
      • 3.4. A recursive descent translation algorithm
      • 3.5. A translation specification for the bottom-up analysis
    • CHAPTER 4. Intermediate Code Generation
      • 4.1. Polish notation
      • 4.2. Syntactic trees
      • 4.2. Three-address code
        • 4.3.1. Quadruples
        • 4.3.2. Triples
      • 4.4. The intermediate code generation for Boolean expressions
      • 4.5. The intermediate code generation for control instructions
    • CHAPTER 5. Symbol Table
      • 5.1.GeneraI
      • 5.2. Symbol table organization
        • 5.2.1.Unsorted tables
        • 5.2.2.Sorted tables
        • 5.2.3.Hashtables
        • 5.2.4.Tree structured tables
      • 5.3. Symbol tables for block structured languages
      • 5.4. Representing attributes in a symbol table
      • 5.5. Translation of declarations
      • 5.6.Translation of structure component references
      • 5.7. Storage allocation for variables
    • CHAPTER 6. Error Recovery
    • CHAPTER 7. Code Optimization
    • CHAPTER 8. Object Code Generation
      • 8.1. General
      • 8.2. Generating code for computers with accumulator
      • 8.3. Generating code for computers with general registers
      • 8.4. Generating code for block-structured languages and expressions with indexed variables
      • 8.5. Using directed acyclic graphs for object code generation
    • CHAPTER 9. Interpreters
    • CHAPTER 10. Assembling Languages and Assemblers
      • 10.1. Assembling language characteristics
      • 10.2. Assembler structure
      • 10.3. Macroassembling
    • Appendix: The Pseudocode Language
                        A LALR Parser generator
    • BIBLIOGRAPHY

           back
General info
Miscellaneous
CV (.pdf)
Family
Photo album
Home Download Feedback Contact Links Site map
Visits from 03 January 2005: 294797 Last update: 03 January 2005