CST 8152 - Notes to accompany the course text

This page last updated: Sunday September 27, 1998 01:07

This page outlines the important points in each chapter and section of the course text.

Chapter 1 - Introduction to Compiling

Read: 1.1 - Compilers

Read: 1.2 - Analysis of the source program (except Text Formatters)

Read: 1.3 - The phases of a compiler

Read: 1.5 - The grouping of phases (only Front and Back Ends)

Chapter 2 - A Simple One-Pass Compiler

This chapter does an entire compiler, from the ground up, including all the theory and the source code, in about 55 pages.  You might want to skim through it.  We will come back to the relevant parts of this chapter as we understand more about each of the phases of a compiler.  As we cover each phase, I will add reading material to this section:

Read: 2.1 - Overview

Read: 2.2 - Syntax definition

Read: 2.3 Syntax-Directed Translation

See also section 5.1 and my page on semantic actions.

Read: 2.4 - Parsing

Read: 2.5 - A Translator for Simple Expressions

Read: 2.6 - Lexical Analysis

Read: 2.7 - Incorporating a Symbol Table

Read: 2.8 - Abstract Stack Machines (only L-values and R-values)

Chapter 3 - Lexical Analysis

Read: 3.1 - The role of the lexical analyzer

Read: 3.3 - Specification of Tokens (except non-regular sets)

Read: 3.4 - Recognition of tokens

Read: 3.6 - Finite Automata (except actual conversion of NFA to DFA)

Chapter 4 - Syntax Analysis

This chapter covers in more depth the material introduced in section 2.4.  Many of the questions here are duplicates of those asked in section 2.4.

Read: 4.1 - The Role of the Parser

Read: 4.2 - Context-Free Grammars

Read: 4.3 - Writing a Grammar (only Regular Expressions vs. Context-Free Grammars)

Read: 4.4 - Top-Down Parsing (only Recursive-Descent Parsing and Predictive Parsers)

Chapter 5 - Syntax-Directed Translation

Read: 5.1 - Syntax-Directed Definitions (only Intro, Form of a Syntax-Directed Definition, and Synthesized Attributes)

Read: 5.4 - L-Attributed Definitions (only Translation Schemes)

Chapter 7 - Run-Time Environments

Read: 7.6 - Symbol Tables  (only Intro, Symbol-Table Entries and The List Data Structure for Symbol Tables)

The End