OMeta - это объектно-ориентированный язык для сопоставления с образцом, который пытается предоставить программистам удобный способ создания синтаксических анализаторов и компиляторов.
1 ответ

Как использовать Ometa-JS

Кто-нибудь может объяснить, как запустить, например, образец? Я скачал ometa-js rep с github и открыл index.htm, что привело к ошибке. Размещенная версия на http://www.tinlizzie.org/ometa-js отображает ошибки внутри исходного кода всякий раз, когда …
20 июл '13 в 19:23
2 ответа

Создание AST с OMetaJS, которое включает значение токена и позицию

Я пытаюсь проанализировать DSL с OMetaJS и создать AST, который включает значение токена, а также его индекс в исходном потоке. Я знаю, что могу использовать синтаксис правила захвата индекса (@<rule>) дать мне объект, содержащий индексы, обра…
17 авг '13 в 16:09
1 ответ

Определение грамматики BNF для подстановочного знака пути файла (glob)

Я ищу какой-то широко распространенный диалект (например, https://github.com/vmeurisse/wildmatch + globstar **), описанный в правилах BFN. В любом формате или на любом языке. OMeta или PEG было бы здорово.
07 сен '14 в 14:51
1 ответ

Как мне сопоставить слово с OMetaJS?

Я пытался изучить OMeta, используя OMeta/JS, и мне кажется, что я застрял на чем-то, что должно быть действительно простым. Если у меня есть грамматика ometa L <: Parser { l letter:l -> l } L.match('h', 'l') Производит ожидаемый результат h Я …
16 авг '10 в 17:30
0 ответов

OMeta подчеркивание и точки

Здравствуйте, мне нужно изменить следующий OMeta PEG: using OMetaSharp; using System.Collections; using System.Text; ometa SExpression.GeneratedCode.SExpressionParser : Parser { SExpression = Spaces Atom:a Spaces -> { a } | Spaces List:l Spaces -…
25 фев '17 в 18:11
1 ответ

Как я могу получить доступ ко всей совпадающей строке в Python Parsley?

Я использую OMeta и Python Parsley ( http://parsley.readthedocs.org/) для анализа. Есть ли способ получить доступ к строке, соответствующей определенному правилу? Например, рассмотрим этот код: In [1]: import parsley In [2]: g = parsley.makeGrammar(…
25 ноя '13 в 07:39
2 ответа

Что делает Ometa особенным?

Ometa - это "новый объектно-ориентированный язык для сопоставления с образцом". Я встречал сопоставление с образцом в таких языках, как инструменты Oz, для разбора грамматик, таких как Lexx/Yacc или Pyparsing. Несмотря на то, что я смотрю на пример…
19 сен '08 в 23:41