remove { } from syntax
reformat
upgrade to Java 8
clean up
reformat
comment the cases
factor out parseCall
factor out parseRecordDef
factor out fun
renaming
factor all out
reduce control-flow-dependent code
fully balanced if-then-else
improve error message
improving printing
location is non-null
simplify
rename
more error reporting