Здравствуйте, vdimas, Вы писали:
V>Подсказка №1: GRL/LALR существуют во всех компиляторах языков, где требуется перемалывать БОЛЬШИЕ объемы
Если ты тонко намекаешь на C++ — то мэйнстрим gcc/clang — это рукописные recursive-descent. Предполагаю что c# рослин тоже. Как минимум он хэндрайтен с минимумом генерации кое-кого кода, но там плясок больше вокруг как это уе заставить быстро работать вообще, а не вокруг алгоритма как такового. Их решение между прочим весьма ничего. Только GLR нафиг никому не впился:
— сложно восстанавливаться после ошибок;
— сложно сообразить вменяемый еррор репортинг;
— сложно саппортить.
Любой табличный метод который невозможно нормально отдебажить — в длинной перспективе обречены на провал — никто просто не хочет с этим возиться.
Именно поэтому ни один нормальный фронтэнд не использует *L*. При этом местами могут применяться всякие выверты и оптимизации основанные на автоматах.
Мне тут сказать вам только обоим — фейспалм. Нитра — хороша — но это не парсер. Это язык сам в себе. Спасибо, но это не то что нужно. (Хотя мне очень нравится инструмент). Проблема тока что авторы почему-то решили что бутстрап нужен только им — поэтому и имеют что имеют.
Насчет ваших споров с WH — это вообще ниочем. Господин WH выложит нормальный пейпер в пдф с выкладками — тогда и будет о чем говорить вообще. А так — видно что он в курсе — и все. Проблема что другие не в курсах.
Для ANTLR4 с их ALL(*) выкладка в пдф вот есть.
А так — хваставство у обоих. Правда у WH — есть на что ссылаться. У тебя нет. Впрочем мне пофигу — я не рефери а тема интересна.