Refactor Expr Parser.
Further parser refactoring.
Merge remote-tracking branch 'remotes/origin/parser-refactor' into pre-optparse