Refactor lexer/parser.

-- In development --