Why not have each of those sections as a separate file?
Moreover, it would make it more difficult to understand the whole thing. The lexer and parser are closely coupled (by the data type for the tokens) and the parser and 'processor' are closely coupled by the data type of the syntax tree.
I could still see it happen that it does get split, and there are certainly coding styles that would have split this without question.