Что-то я не понял, реализовано ли то, о чем говорится в статье
http://rsdn.ru/article/nemerle/PegGrammar.xmlАвтор(ы): Чистяков Владислав Юрьевич
Дата: 07.06.2011
Макрос PegGrammar – это макрос Nemerle, позволяющий добавлять в приложения парсеры, описываемые в нотации PEG.
про расширяемые правила. Пытаюсь написать парсер для разбора выражений с операторами, но столкнулся с левой рекурсией, понял, что надо сделать расширяемое правило. Добавил несколько правил, расширяющих expr, но парсинг ничего не разбирает. Видел мельком в форуме, что есть новый Peg, в котором это реализовано. Где его можно взять (и можно ли)? А то статья, получается, рекламирует неработающую фичу. Или это просто я где-то ошибся?
expression : Expression;
simpleExpression is expression = dimension operator (singleArg / multiArg) s;
parenExpression is expression = "(" s expression ")";
andExpression is expression = expression : 20 "and" s expression : 20;
orExpression is expression = simpleExpression : 10 "or" s expression : 10;
notExpression is expression = "not" s expression : 30;
Здравствуйте, PowRTocH, Вы писали:
PRT>Что-то я не понял, реализовано ли то, о чем говорится в статье http://rsdn.ru/article/nemerle/PegGrammar.xmlАвтор(ы): Чистяков Владислав Юрьевич
Дата: 07.06.2011
Макрос PegGrammar – это макрос Nemerle, позволяющий добавлять в приложения парсеры, описываемые в нотации PEG.
про расширяемые правила.
Нет, не реализовано. Расширяемые правила реализованы в новом парсере. Его репозиторий доступен
здесь.
VD>Расширяемые правила реализованы в новом парсере. Его репозиторий доступен здесь.
А в 2010-й студии это должно билдиться и на последнем Немерле работать?
Здравствуйте, PowRTocH, Вы писали:
VD>>Расширяемые правила реализованы в новом парсере. Его репозиторий доступен здесь.
PRT>А в 2010-й студии это должно билдиться и на последнем Немерле работать?
На ночных сборках — да. Но лучше иметь собранный с исходников компилятор, конечно.