Вопросы по теме 'peg'
В чем разница между PEG и CFG?
На этой странице wikipedia :
Фундаментальное различие между контекстно-свободными грамматиками и грамматиками синтаксического анализа состоит в том, что оператор выбора PEG упорядочен. Если первая альтернатива успешна, вторая игнорируется....
6970 просмотров
schedule
05.09.2022
Странность грамматики 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 просмотров
schedule
09.06.2023
Как определить правило для многократного совпадения с шаблоном в PEG.js?
Я пытаюсь разобрать файл, в котором шаблон можно увидеть несколько раз:
G04 hello world*
G04 foo bar*
Соответствующая грамматика PEG.js выглядит следующим образом:
Comment
= "G04" _ content:String* _ EOL
{
return content
}
_...
48 просмотров
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