Я понял, как использовать дух, т. е. написал умеренно сложную грамматику. Я всегда придерживаюсь подхода расширения программы — по одной подсистеме за раз. Я написал структуры данных для сложной модели, которая имеет 4 типа на самом высоком уровне.
Я хотел бы использовать грамматику, составленную из правил для синтаксического анализа типов верхнего уровня по одному типу за раз — т. е. я хочу написать 4 грамматики с одной грамматикой верхнего уровня. Если это возможно (в чем я начинаю сомневаться), может кто-нибудь опубликовать фрагмент или ссылку на проект, который делает это.
Одна грамматика верхнего уровня с более чем 50 (возможно, намного больше) правилами (для правильной обработки ошибок) не звучит весело (код TMP нестабилен/медленно компилируется и выдает бесполезные сообщения об ошибках).