Таблицы имен при рекурсивном спуске с возвратами
В заметке "Пишем транслятор" я сетовал на ситуации, когда грамматику не впихнуть в LL(n). В частности, это оборачивается необходимостью поддерживать транзакционность (!) добавления имен в таблицы имен.
Например, есть правило типа
p1 -> condition ; statement1
p1 -> condition ; statement11 statement2
statement1 -> statement EOL
statement11 -> statement ;
statement2 -> statement EOL
где EOL - конец строки …