Chapter 6: Symbol Tables

To understand the uses of names in program source code, your compiler must look up each use of a name and determine what that name refers to. You can look up symbols at each location they are used by using table data structures that are auxiliary to the syntax tree. These are called symbol tables. Performing operations to construct and then use symbol tables is the first step of semantic analysis. Semantic analysis is where you study the meaning of input source code.

Context-free grammar in the syntax chapters of this book have terminal symbols and non-terminal symbols, and those are represented in tree nodes and token structures. When talking about a program's source code, the word symbol is used differently. In this ...

Get Build Your Own Programming Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.