Здравствуйте, fddima, Вы писали:
F>Но по голому факту: мэйнстрим фронты используют ужаснейший recursice descent.
Это просто декомпозиция грамматик.
Очевиднейший пример такой декомпозиции: лексер+парсер.
Лексер всегда работает по восходящей грамматике, а парсер может работать по любой — восходящей, нисходящей или гибридной (есть и такие алгоритмы, угу).
recursice descent в этом смысле — это декомпозиция грамматики на несколько НЕЗАВИСИМЫХ областей.
Простой пример: нет смысла парсить вычисления формул в синтаксисе объявлении класса или заголовков методов в C#. А вот внутри тел методов — есть, но зато внутри тел методов нельзя объявлять другие классы, поэтому эта часть грамматики внутри тел методов НЕ нужна. Вот тебе и декомпозиция.