Вопросы по теме '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 просмотров
schedule
21.06.2022
Расширенный перевод 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