Use proper lookahead and more concise data names
Organize and document parsetree