| | 1 | |
| | 2 | This is an intermediate level between AST and CIVL-IR (model). |
| | 3 | |
| | 4 | * tree representation of a program, like AST |
| | 5 | * whole program represented by one tree (no notion of "translation unit", etc.) |
| | 6 | * every variable is declared in one and only one place |
| | 7 | * no prototypes --- you can call a function even before it is declared or defined |
| | 8 | * no side-effects. assignments are statements. function calls are statements. |
| | 9 | * some simplification of types? |
| | 10 | |
| | 11 | This is a good level on which to perform transformations. |
| | 12 | |