Тут прикол в том, что парсер рукопашный и грамматика писалась так, чтобы строить деревья, которые строит парсер. И она не очень оптимальна из-за этого в некоторых местах. Но для спеки важна не оптимальность, а максимальное соответствие текущей реализации.
А, понятно, ну то есть примерно так и есть)
А я думал, серьёзные люди парсер руками не пишут