Вопросы по теме 'peg'

В чем разница между PEG и CFG?
На этой странице wikipedia : Фундаментальное различие между контекстно-свободными грамматиками и грамматиками синтаксического анализа состоит в том, что оператор выбора PEG упорядочен. Если первая альтернатива успешна, вторая игнорируется....
6970 просмотров

Странность грамматики LPeg
Частью моего Lua-приложения является панель поиска, и я пытаюсь заставить ее понимать логические выражения. Я использую LPeg, но текущая грамматика дает странный результат: > re, yajl = require're', require'yajl' > querypattern =...
420 просмотров
schedule 17.06.2023

Существует ли четко определенный и аргументированный переход от LL(*) к PEG?
Я занимаюсь исследованием синтаксических анализаторов PEG (Parsing Expression Grammar), и одной из тем, которые я изучаю, является эквивалентность с другими методами синтаксического анализа. Я нашел хорошую статью о преобразовании регулярных...
206 просмотров
schedule 11.07.2022

Реализация cut в анализаторе рекурсивного спуска
Я реализую генератор синтаксического анализатора PEG в Python, и до сих пор у меня был успех, за исключением функции «вырезать», о которой должен знать тот, кто знает Prolog. Идея состоит в том, что после анализа символа вырезания ( ! ) не следует...
856 просмотров
schedule 08.05.2024

lpeg анализирует логический термин первого порядка
Как следует из названия, я пытаюсь разобрать, например term(A, b, c(d, "e", 7)) в таблице Lua, например {term, {A, b, {c, {d, "e", 7}}}} Это грамматика, которую я построил: local pattern = re.compile[=[ term <- variable...
339 просмотров
schedule 20.12.2022

Разбор опций с PEG (Grako) не удался?
Мой коллега PaulS спросил меня следующее: Я пишу парсер для существующего языка (SystemVerilog — стандарт IEEE), и в спецификации есть правило, похожее по структуре на это: cover_point = [[data_type] identifier ':' ] 'coverpoint'...
572 просмотров
schedule 27.05.2022

Разбор строкового текста в num в испанской грамматике
Мне нужно написать программу Python для преобразования испанских чисел в тексте строки в цифры: Вход: 'Ciento Veinticuatro Mil Ochocientos Treinta y Cinco' Желаемый результат: 124835 Я написал немного кода, но понял, что заново...
267 просмотров
schedule 13.06.2023

Разбор особых случаев
Если я правильно понимаю, парсинг превращает последовательность символов в дерево. У меня такой вопрос, можно ли использовать какую-то стандартную процедуру (LR, LL, PEG, ..?) для разбора следующих двух примеров или нужно писать специализированный...
172 просмотров
schedule 21.04.2022

Обратные ссылки с помощью peg.js
Учитывая ввод [tag] Content [inner-tag] Inner [/inner-tag][/tag] , как мне проверить, что есть закрывающий [/tag] , который соответствует [tag] ? Прямо сейчас мои правила проверяют, соответствует ли следующий непосредственный тег последнему...
81 просмотров
schedule 26.02.2023

Анализ одного узла XML с помощью peg.js
Учитывая ввод <outer> Content <inner> Inner <single/> </inner> </outer> . Как мне написать грамматику, которая анализирует узел <single> вместе с узлами, у которых есть соответствующий закрывающий узел? Вот...
478 просмотров
schedule 25.07.2022

Как вы анализируете вложенные комментарии в pegjs?
Мне было интересно, как вы разбираете комментарии (скажем, а-ля Haskell) в pegjs. Цель: {- This is a comment and should parse. Comments start with {- and end with -}. If you've noticed, I still included {- and -} in the comment....
589 просмотров
schedule 21.04.2023

Как выполнить просмотр вперед в PEG, не делая правило слишком жадным?
Пишу парсер на Parslet. В файле, который я хочу разобрать, у меня есть следующая структура: Item #1 denis calls 20 anna raises 60 denis calls 40 Item #2 another player raises 60 anna calls 60 ... Чтобы разобрать действия, я сделал...
66 просмотров
schedule 01.12.2022

Почему Parsimonious отклоняет мой ввод с IncompleteParseError?
Я пытался разработать базовый скелет для языка, который разрабатывал, и я пытаюсь использовать Экономный , чтобы сделать синтаксический анализ для меня. На данный момент я объявил следующую грамматику: grammar = Grammar( """ program =...
1145 просмотров
schedule 17.07.2022

pypeg2 - можно ли проанализировать это выражение с помощью грамматики привязки?
Мне нужно разобрать выражения на основе следующих правил: Выражение может содержать объект фильтра, представленный как name:value Выражение может содержать строковое выражение Выражение может содержать логические операторы ИЛИ, И Все...
1122 просмотров
schedule 31.12.2022

Какую систему следует использовать для разбора схемы в OCaml?
Я пишу компилятор (плохо) в OCaml в качестве учебного проекта; Я нахожусь на том этапе, когда использование SexxLib Джейн Стрит не помогает: match str.[0] with | '-' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' -> compile_int...
394 просмотров
schedule 14.04.2022

Объявления разбора PEG с произвольным количеством квалификаторов
Я хочу разобрать, например: const unsigned int varname; где количество квалификаторов неизвестно, а также неизвестен список ключевых слов-квалификаторов (поскольку новые могут быть введены с помощью using ). Но используя грамматику PEG...
13 просмотров
peg
schedule 09.06.2023

Как определить правило для многократного совпадения с шаблоном в PEG.js?
Я пытаюсь разобрать файл, в котором шаблон можно увидеть несколько раз: G04 hello world* G04 foo bar* Соответствующая грамматика PEG.js выглядит следующим образом: Comment = "G04" _ content:String* _ EOL { return content } _...
48 просмотров
peg
schedule 17.05.2022

Кэширование Packrat: справа налево или слева направо?
В настоящее время я пытаюсь ознакомиться с разбором packrat. Итак, я прочитал статью в формате PDF от 2002 года, ссылка на которую приведена здесь , а в разделе 2.3 она описывает кеширование packrat как предварительный процесс (который происходит...
54 просмотров
schedule 08.05.2023

Peg.JS: простая реализация if..then..else
Я пытаюсь реализовать грамматику для простого оператора if..then..else вместе с простыми операторами. Он должен иметь возможность анализировать оператор вроде: if things are going fine then things are supposed to be this way just go with...
67 просмотров
schedule 05.04.2023