29 Building and checking Building visitor A propagating visitor Propagates reference to the symbol table of the current scope (or use table stack) In some cases have to use type information ( extends ) Populate tables with declarations/definitions Class definitions, method definitions, field definitions, variable declarations, formal arguments class A {void foo(){int B; int[] C;}}; Checking visitor On visit to node – perform check using symbol tables Resolve identifiers Look for symbol in table hierarchy
{}