Split parser into lexer/parser