Symbol Table Contents
What should be in a symbol table?
All information is derived from syntax tree
- symbol table is interconnected with syntax tree
- in old one-pass compilers there was only symbol table
- today it gives faster, easier access to parts of syntax tree
Goal: efficiently supporting phases of compiler
Semantic check phases:
- finding which identifier refers to which definition
- we store definitions
What can we define?
- variables (globals, fields, parameters, locals)
- need to know types
- later: memory layout
- sometimes need to make more information explicit
- whether variable is declared local or global
- in tree we would know it by position
- methods and functions
- classes