Prints parsed ASTs, various fixes

Current grammar:
S = stmt*
stmt = comp | simp
comp = '{' stmt* '}'
simp = expr ';'
expr = add | int | var
add = expr '+' expr
int = [0-9]+
var = [a-zA-Z][a-zA-Z0-9]*