Specs for the Tiny Imperative Language Chairmarks

http://www.program-transformation.org/Sts/TinyImperativeLanguage
http://www.program-transformation.org/Sts/TILChairmarks

TIL Chairmark 1 Parsing
1.1 Basic parser/syntax checker (done)
1.2 Pretty printer
1.3 Begin-end extension

TIL Chairmark 2 Restructuring
2.1 For-to-Nondeclaring For
2.2 For-to-While
2.3 Declarations-to-Global
2.4 Declarations-to-Local
2.5 Goto elimination

TIL Chairmark 3 Optimization
3.1 Lift invariant assignments
    Lift invariant assigned computations
3.2 Common sub-expression elimination
3.3 Strength reduction
3.4 Constant folding
3.5 Statement folding
3.6 Loop unrolling

TIL Chairmark 4 Static and dynamic analysis
4.1 Removing redundant declarations
4.2 Statement statistics
4.3 Self tracing programs
4.4 Type inference
4.5 Backward slicing
4.6 Exact clones
    Consistently renamed clones
4.7 Syntactic markup
4.8 Design recovery
4.9 Semantic markup
4.10 Cyclomatic complexity

TIL Chairmark 5 Language implementation
5.1 Intepreter
5.2 Compiler

