a couple extra cases for expansion and checking
track error count during token parsing to decide whether or not to continue with AST construction