Chapter 7: Intermediate representation and symbol table

Storage binding and symbolic registers

. Translates variable names into addresses

. This process must occur before or during code generation

. each variable is assigned an address or addressing method

. each variable is assigned an offset with respect to base which changes with every invocation

. variables fall in four classes: global, global static, stack, local (non-stack) static

The variable names have to be translated into addresses before or during code generation. There is a base address and every name is given an offset with respect to this base which changes with every invocation. The variables can be divided into four categories:

a) Global Variables

b) Global Static Variables

c) Stack Variables

d) Stack Static Variables