| | 1 | = Notes on TASS AST and Translation to Model = |
| | 2 | |
| | 3 | == Elements of a TASS AST == |
| | 4 | |
| | 5 | * type expressions |
| | 6 | ** integer, real, boolean, char, t[], t*, record{...} |
| | 7 | * statements |
| | 8 | ** assign |
| | 9 | ** while |
| | 10 | ** for |
| | 11 | ** break |
| | 12 | ** compound |
| | 13 | *** variable declaration section |
| | 14 | *** sequence of statements |
| | 15 | ** variable declaration |
| | 16 | *** with possible initialization expression |
| | 17 | *** possible array extents |
| | 18 | *** static, ...? |
| | 19 | ** expressions (may have side-effects) |
| | 20 | *** literals (including named literals) |
| | 21 | *** variable |
| | 22 | *** +,-,*,/,%,<,<=,>,>=,==,!=,!,&&,|| |
| | 23 | *** x++, x--, x+=a, x*=a, ... |
| | 24 | *** bit-wise operators? |
| | 25 | *** &,* (pointer operations) |
| | 26 | *** cast |
| | 27 | *** a[i] |
| | 28 | *** x.a |
| | 29 | *** function call f(x) |
| | 30 | |
| | 31 | |