[prev] 31 [next]

Symbol (Name) Management

Compiler keeps track of names
  • scope, lifetime, locally/externally defined
  • disambiguates e.g.  x in main()  vs  x in fun()
  • resolves symbols to specific locations (data/stack/registers)
  • external symbols may remain unresolved until linking
  • however, need to have a type for each external symbol