Brinch Hansen on Pascal compilers
By: Per Brinch Hansen.
Publisher: Prentice-Hall; Prentice Hall
Published: 1985
Place of publication: Englewood Cliffs, N.J
Language: eng
Number of pages: 310
Subjects: Pascal (Computer program language); Compilers (Computer programs)
Notes: Bibliography: p. 298-300.
Includes index.
Table of contents: title: Algorithms
pagenum: vii; title: Preface
pagenum: ix; label: 1
title: What a Compiler Does
pagenum: 1; label: 2
title: A Pascal Subset
pagenum: 6; label: 2.1
title: Pascal Minus
pagenum: 6; label: 2.2
title: Vocabulary
pagenum: 10; label: 2.3
title: Syntactic Rules
pagenum: 12; label: 2.4
title: Grammar
pagenum: 15; label: 3
title: Compiler Organisation
pagenum: 17; label: 3.1
title: A Personal Computer
pagenum: 17; label: 3.2
title: Single-Pass Compilation
pagenum: 18; label: 3.3
title: Multi-Pass Compilation
pagenum: 19; label: 3.4
title: The Pascal Minus Compiler
pagenum: 22; label: 3.5
title: Errors and Failures
pagenum: 24; label: 4
title: Lexical Analysis
pagenum: 28; label: 4.1
title: Source text
pagenum: 28; label: 4.2
title: Intermediate Code
pagenum: 29; label: 4.3
title: Scanning
pagenum: 31; label: 4.4
title: Searching
pagenum: 36; label: 4.5
title: Symbol Table
pagenum: 45; label: 4.6
title: Testing
pagenum: 51; label: 5
title: Syntax Analysis
pagenum: 59; label: 5.1
title: Symbol Input
pagenum: 59; label: 5.2
title: Parser Construction
pagenum: 61; label: 5.3
title: First Symbols
pagenum: 67; label: 5.4
title: Follow Symbols
pagenum: 70; label: 5.5
title: Grammar Restrictions
pagenum: 73; label: 5.6
title: Recursion
pagenum: 78; label: 5.7
title: Testing
pagenum: 81; label: 5.8
title: Error Recovery
pagenum: 83; label: 6
title: Scope Analysis
pagenum: 95; label: 6.1
title: Blocks
pagenum: 95; label: 6.2
title: Scope Rules
pagenum: 97; label: 6.3
title: Compilation Method
pagenum: 100; label: 6.4
title: Data Structures
pagenum: 102; label: 6.5
title: Algorithms
pagenum: 103; label: 6.6
title: Testing
pagenum: 108; label: 7
title: Type Analysis
pagenum: 110; label: 7.1
title: Kinds of Objects
pagenum: 110; label: 7.2
title: Standard Types
pagenum: 112; label: 7.3
title: Constants
pagenum: 113; label: 7.4
title: Variables
pagenum: 116; label: 7.5
title: Arrays
pagenum: 122; label: 7.6
title: Records
pagenum: 125; label: 7.7
title: Expressions
pagenum: 130; label: 7.8
title: Statements
pagenum: 133; label: 7.9
title: Procedures
pagenum: 134; label: 7.10
title: Object Records
pagenum: 140; label: 7.11
title: Testing
pagenum: 141; label: 8
title: A Pascal Computer
pagenum: 144; label: 8.1
title: An Ideal Computer
pagenum: 144; label: 8.2
title: The Stack
pagenum: 146; label: 8.3
title: Variable Access
pagenum: 151; label: 8.4
title: Expression Evaluation
pagenum: 160; label: 8.5
title: Statement Execution
pagenum: 169; label: 8.6
title: Procedure Activation
pagenum: 173; label: 8.7
title: Program Execution
pagenum: 177; label: 8.8
title: Code Syntax
pagenum: 178; label: 8.9
title: Testing
pagenum: 179; label: 8.10
title: A Traditional Computer
pagenum: 179; label: 9
title: Code Generation
pagenum: 183; label: 9.1
title: Operation Parts
pagenum: 183; label: 9.2
title: Variable Addressing
pagenum: 184; label: 9.3
title: Expression Code
pagenum: 189; label: 9.4
title: Statement Code
pagenum: 193; label: 9.5
title: Procedure Code
pagenum: 200; label: 9.6
title: Code Optimisation
pagenum: 204; label: 9.7
title: Testing
pagenum: 210; label: 10
title: Performance
pagenum: 211; label: 10.1
title: Compiler Size
pagenum: 211; label: 10.2
title: Compilation Speed
pagenum: 214; label: Appendix A
title: A Complete Compiler
pagenum: 217; label: A.1
title: Administration
pagenum: 218; label: A.2
title: Scanner
pagenum: 221; label: A.3
title: Parser
pagenum: 228; label: A.4
title: Assembler
pagenum: 255; label: A.5
title: Interpreter
pagenum: 260; label: A.6
title: Test Programs
pagenum: 271; label: Appendix B
title: A Compiler Project
pagenum: 281; label: B.1
title: The PL Language
pagenum: 281; label: B.2
title: Project Phases
pagenum: 288; label: B.3
title: The PL Interpreter
pagenum: 290; title: References
pagenum: 297; title: Software Distribution
pagenum: 301; title: Index
pagenum: 303