EBNF расшифровывается как Расширенная форма Бэкуса-Наура или Расширенная нормальная форма Бэкуса. Это расширение BNF и используется для описания синтаксиса контекстно-свободных грамматик, таких как языки программирования, форматы документов или протоколы связи. Он улучшен по сравнению с BNF, предоставляя операторы для выражения необязательного, нуля или нескольких и одного или нескольких вхождений термина. Это делает EBNF намного более выразительным и лаконичным по сравнению с BNF.
2 ответа

Преобразование расширенной BNF в грамматику Bison, но с ошибками сдвига / уменьшения

Фон Я работаю над компилятором для латексоподобного языка. Я уже написал файл lex, и пока он работает так, как должен. Тем не менее, я столкнулся с проблемами сейчас, когда я работаю над грамматикой в ​​файле.y. проблема Я воспроизвел ту часть грамм…
25 июл '18 в 20:23
2 ответа

Возможно ли иметь программу Java в Eclipse для компиляции других языков, кроме Java?

В настоящее время я работаю над проектом, который должен скомпилировать файлы и дать диагностику найденных ошибок (синтаксис). Я был в состоянии заставить программу работать для файлов.java. Теперь я должен сделать то же самое для файлов, отличных о…
01 фев '13 в 09:31
1 ответ

Разбор одного или нескольких выражений с полезными ошибками

Я использую Grako (PEG-генератор парсера для Python) для анализа простого декларативного языка, где документ может содержать один или несколько протоколов. Первоначально у меня было корневое правило для документа, написанное как: document = {protoco…
05 окт '16 в 18:55
1 ответ

Как я буду анализировать тег с пробелом в его значении, используя antlr?

У меня есть следующий грамматик. meta : '<' NAME '>' TEXT '</' NAME '>' | '<' NAME S* attribute* '>'; dl : '<' NAME '><' TEXT '>' dt* '</' NAME '><' TEXT '>'; dt : '<' NAME '><' NAME S* attribute* S…
12 дек '16 в 07:49
1 ответ

Преобразование правил грамматики BNF в реальные функции / код C++

Я пытаюсь создать парсер рекурсивного спуска. Пока у меня есть все основы, мне просто нужно правильно реализовать несколько функций для применения грамматики. Я думал, что все было правильно, это выглядит, но я думаю, мой Aop, Expr, или же Term Функ…
13 апр '16 в 01:15
2 ответа

(E) Разбор BNF в XML

Существует ли какой-либо (E)BNF-парсер, способный генерировать XML-деревья AST? Перефразируя: какой самый быстрый способ скомпилировать (E)BNF-определенный язык в своего рода XML? Бонус: использование Javascript:-)
26 сен '09 в 14:03
1 ответ

Считается ли EBNF языком программирования

Я в замешательстве, можно ли считать EBNF языком программирования, который завершен?
15 ноя '15 в 09:46
1 ответ

Чтение и понимание документации Common Lisp (HyperSpec)

Пытаясь глубже познакомиться с инструментами Common Lisp, я столкнулся с трудностями при чтении документации. А именно, трудно понять, как будет выглядеть использование рассматриваемого макроса. Например, рассмотрим это: do ({var | (var [init-form […
20 дек '17 в 17:43
1 ответ

TinyPG неправильно анализирует эту грамматику, ошибку или плохую грамматику?

Мне нужно разобрать простой язык, который я не проектировал, поэтому я не могу изменить язык. Мне нужны результаты в C#, поэтому я использую TinyPG, потому что он очень прост в использовании и не требует внешних библиотек для запуска парсера. Все шл…
22 май '15 в 08:02
2 ответа

Как разобрать ~{expr} внутри строки с помощью lark ebnf

Я пытаюсь написать грамматику Lark для DSL, но возникают проблемы с синтаксисом интерполяции строки: " abc " <- normal string " xyz~{expression}abc " <- string with interpolation поэтому ~{переключается со строки на выражение, а} завершает это…
13 июл '18 в 14:21
1 ответ

Расширенный BNF BBCode

Существует справочный сайт BBCode. Но существует ли какая-либо существующая Backus нормальная форма BBCode?
22 фев '17 в 06:12
0 ответов

Как я могу изменить EBNF (bar | baz)*, чтобы обеспечить разделение между двумя барами?

У меня есть следующий EBNF, заявив, что foo состоит из любого числа чередующихся barс и bazs: foo : (bar | baz)* Как я могу изменить это, чтобы принудительно использовать разделитель между двумя последовательными bars? Например, если foo мог содержа…
04 авг '18 в 05:04
0 ответов

Что-то плохое с моей грамматикой

Я использую jison, и я видел документацию по грамматикам ebnf, но я не могу заставить мои грамматические работы работать: Вот изображения моей грамматики, ввода и ошибки. В ошибке грамматика распознает только одну строку, но kleen star должен распоз…
03 май '18 в 00:00
1 ответ

ОШИБКА ANTLR: Следующие определения токенов никогда не могут быть сопоставлены, потому что предыдущие токены совпадают с тем же входным

Я новичок в ANTLR и пытаюсь сделать следующее. Из-за ошибки кажется, что я определяю что-то общее, и приведенное ниже правило недостижимо / избыточно. Избыточные, на которые жалуется ANTLR: MAPPING, STROPS, UNARYOPS, ARITHEMATICOPS, MATHLOGICALOP, L…
30 янв '14 в 11:54
1 ответ

Расширенные проблемы БНФ

У меня есть вопрос по поводу расширенного БНФ. (* Extended BNF grammar *) min = 5; max = 10; value = integer; (* How can I set the range rule: `min <= value <= max`? *) Второй вопрос: name = letter, { letter | decimal digit }; (* The common le…
22 июл '13 в 13:12
0 ответов

Инструмент для преобразования XSD в EBNF?

Кто-нибудь знает инструмент, который будет принимать файл XSD в качестве входных данных и производить EBNF?
20 фев '10 в 12:45
0 ответов

БНФ правила строительства

У меня есть этот вопрос, и это немного сбивает с толку. Создайте правила BNF для логического выражения, состоящего из одного или нескольких идентификаторов или выражений отношений, разделенных операторами: или (#), и (&). Оператор & имеет более высо…
29 окт '17 в 08:08
1 ответ

Erlang, Yecc и EBNF

Я хочу реализовать лексер и парсер в Erlang. Документы Erlang говорят о yecc и leex, которые должны быть невероятно полезными. Однако в документе yecc doc упоминается только поддержка грамматической нотации BNF, а не EBNF. Я хотел бы использовать EB…
11 янв '16 в 14:38
1 ответ

Как обработать структурированный языковой файл в python

У меня есть большой структурированный языковой файл, как это: TASK SchM_Task { TYPE = AUTO; SCHEDULE = NON; PRIORITY = 160; ACTIVATION = 1; TIMING_PROTECTION = FALSE; AUTOSTART = FALSE; EVENT = SchM_Event; RESOURCE = SystemS_Resource; StackSize = 10…
2 ответа

bnf/ebnf для XML-схемы

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