Precedence climbing, AST definition and AST construction

As this is not pure, `parseClassMember` should probably have parentheses.