This is an old revision of the document!
Simple Programming Language for Abstract Interpretation
Even simpler than before. We flatten expressions.
c ::= x=T | (if (F) c else c) | c ; c | (while (F) c) T ::= K | V | (V + V) | (V * V) F ::= (V=0) | (0 < V) V ::= x | y | z | ... K ::= 0 | 1 | 2 | ...
We represent programs as control-flow graphs, so we have 'assume' and brances instead of conditional statements.