Revert "Some changes to the parser design "

This reverts commit 1b546868d990a9793862490cb8488ba3e6af357a.
Revert "Revert "Some changes to the parser design ""

This reverts commit 49ba32a0e79fc3b404c8ac4b10ca83e1e88f9163.
Revert "Revert "Revert "Some changes to the parser design """

This reverts commit cf1ec201b5c171b1d9c16da4e7f9a259d150ba14.
A few changes again