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

(E)Разбор BNF в XML
Есть ли какой-нибудь парсер (E)BNF, способный генерировать XML-деревья AST? Перефразируя: каков самый быстрый способ скомпилировать язык, определенный (E) BNF, в какой-то XML? Бонус: использование Javascript :-)
1045 просмотров
schedule 30.06.2022

bnf/ebnf для XML-схемы
Я ищу BNF/EBNF схемы XML. Я только что нашел один для XML ( http://www.w3.org/TR/REC-xml или извлеченный по адресу http://www.jelks.nu/XML/xmlebnf.html ). Ну, это отправная точка, но мне любопытно, что я не смог найти более конкретную для...
2784 просмотров
schedule 24.07.2023

BNF vs EBNF vs ABNF: что выбрать?
Я хочу придумать синтаксис языка. Я немного читал об этих трех и не вижу ничего, что может сделать один, чего не может сделать другой. Есть ли причина использовать одно вместо другого? Или это просто вопрос предпочтений?
9030 просмотров
schedule 15.03.2023

Уловки Scala Parser Combinators для рекурсивного bnf?
Я пытаюсь сопоставить этот синтаксис: pgm ::= exprs exprs ::= expr [; exprs] expr ::= ID | expr . [0-9]+ Мой комбинатор парсера scala packrat выглядит так: import scala.util.parsing.combinator.PackratParsers import...
3829 просмотров
schedule 02.07.2023

Вопрос о нотации EBNF и JSON
Недавно я изучал парсеры и грамматики и то, как они работают. Я читал формальную грамматику для JSON на http://www.ietf.org/rfc/rfc4627.txt , которая использует EBNF. Я был довольно уверен в своем понимании BNF и EBNF, но, видимо, я все еще не...
5303 просмотров
schedule 18.06.2022

Порядок действий в расширенной форме Бэкуса – Наура
Я создаю формальную спецификацию для очень простого языка правил, очень простого. Я хочу использовать EBNF, так как это стандарт, но я не могу понять, как указать порядок операций. Вот спецификация на данный момент. rule = statement, {...
2938 просмотров

Расширенный перевод BNF в BNF
У меня есть эта грамматика в нотации EBNF: expr -> expr (opt1 | opt2 | opt3) expr И я хочу преобразовать его в BNF, чтобы использовать его в Bison, но я получаю ошибки сдвига/уменьшения: expr : expr opt1 expr | expr opt2 expr | expr...
888 просмотров
schedule 15.09.2022

Reverse XSLT (язык для анализа и построения XML DOM)
Я использую XSLT для преобразования этого: 1) <fruit> <apple count="2"/> <banana count="3"/> </fruit> в это: 2) Apple: 2 Banana: 3 Существует ли библиотека, служащая парсером текстовых данных,...
466 просмотров
schedule 30.12.2022

Преобразование BNF в EBNF
Я конвертирую следующую грамматику из BNF в EBNF. <race> => go <dir_list> and stop <dir_list> => <dir> | <dir> then <dir_list> <dir> => from <point> to <point>...
514 просмотров
schedule 06.01.2023

Как в Context Free Grammar определить пару тегов, например ‹abc›data‹/abc›?
Ожидаемый язык выглядит так: <hat>Nike</hat><car>Toyota</car>... Трудность, с которой я столкнулся, заключается в том, как указать, чтобы в паре тегов начальный и конечный теги имели одно и то же имя. tag — это...
386 просмотров
schedule 04.09.2023

Соглашение о положении правила входа в BNF?
Обязательно ли первое (самое верхнее) правило грамматики BNF (или EBNF) представлять точку входа? Например, на странице BNF Википедии грамматика почтового адреса США ниже имеет <postal-address> в качестве первого правила вывода, а также...
233 просмотров
schedule 24.09.2022

Расшифровка EBNF из спецификации XML
Взгляните на определение ниже. Что именно это должно определять? Согласно спецификации EBNF, скобки [] определяют необязательный элемент , так почему же требуется * ? Разве это не лишнее (поскольку это означает повторение ноль или более раз)?...
65 просмотров
schedule 21.02.2024

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

Понимание некоторых XML EBNF
Я читаю спецификацию XML и не совсем понимаю это правило: CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*) Вот, кажется, я понимаю: [^<&]* — любое количество необязательных символов, кроме < или & ....
17 просмотров
schedule 05.05.2023

Как представить вертикальное выравнивание синтаксиса кода с помощью BNF, EBNF и т. д.?
Как сказать, что (в BNF, EBNF и т. д.) любые две или более буквы расположены в одном и том же вертикальном выравнивании например, в python 2.x у нас есть то, что мы называем indentation . def hello(): print "hello," print "world"...
1473 просмотров
schedule 06.08.2023

Правильны ли следующие синтаксис BNF, EBNF, регулярных выражений и Lex?
Я хочу, чтобы BNF, EBNF, регулярное выражение и синтаксис lex распознавали следующее: строка должна начинаться с одного из A, B, C, D или E, за которым следует любое количество A, B, C, D, E,0,1,2,3,_ у вас также может быть 1 или 0 символа $. Пока...
1368 просмотров
schedule 14.05.2022

Это неправильная онлайн-версия стандарта EBNF или неверное название главы mr. Паттис?
Я читаю EBNF: обозначение для описания синтаксиса глава MR. Ричард Э. Паттис . Его материал для меня очень полезен и понятен. Но перед этим я прочитал ISO / IEC 14977: 1996 (E) стандарт ... Я вижу обозначения и синтаксис EBNF, написанные...
452 просмотров
schedule 17.08.2022

Рекурсия в Pyparsing
Я не могу перевести это выражение EBNF в Pyparsing, есть идеи? token:: [A-Z] P:: !|token;P|(P^P)|(P*P) Проблема в том, что при использовании рекурсии интерпретатор дает сбой. Подобное выражение должно быть допустимым: (ASD;!^FFF;!)...
553 просмотров
schedule 25.04.2023

Парсер Jison останавливается после первого правила
У меня есть простой формат файла, который я хочу проанализировать с помощью генератора парсеров jison. Этот файл может состоять из нескольких выражений в произвольном порядке и количестве. Вот файл jison для парсера: /* lexical grammar */ %lex...
263 просмотров
schedule 02.08.2022

Grako - Как обрабатывать ошибки?
Как выполнить обработку ошибок с помощью Grako? EBNF (MyGrammar.ebnf): pattern = { tag | function }* ; tag = tag:( "%" name:id "%" ); function = function:("$" name:id "()" ); id = ?/([^\\%$,()=])+/? ; Я создаю парсер с...
175 просмотров
schedule 09.02.2023