§To reduce the fixed
cost of a parse (preprocess, scan & syntax matching) and to
allow for lazy semantic evaluation
4Improve performance
& reduce memory footprint of navigation features
§To provide a “complete”
physical AST which can make our clients aware of preprocessor macro
expansions in source code
§To provide better
support for C
4Link-time resolution
cross references
4Tailored implementation
of parser/semantic bindings