27. The Phases of a Compiler Scanner Parser Semantics Analyzer Source Code Optimizer Code Generator Target Code Optimizer Literal Table Symbol Table Error Handler Source code Syntax Tree Annotated Tree Intermediate code Target code Target code Tokens
28.
29.
30. The Parse Tree a index 4 2 identifier identifier number number Expression [ expression ] expression + expression subscript-expression additive-expression expression = expression Assign-expression expression
31. The Syntax Tree RETURN a index 4 2 identifier identifier number number subscript-expression additive-expression Assign-expression
32.
33. The Annotated Syntax Tree RETURN a index 4 2 identifier identifier number number subscript-expression additive-expression integer integer Assign-expression array of integer integer integer integer
34.
35. Optimizations on Annotated Tree a index 4 2 identifier identifier number number subscript-expression additive-expression integer integer Assign-expression array of integer integer integer integer
36. Optimizations on Annotated Tree a index 6 identifier identifier number subscript-expression integer Assign-expression array of integer integer integer