Вопросы по теме 'bnf'
Грамматика BNF и ассоциативность операторов
(В первую очередь это не HW, у меня есть все ответы)
У меня простая грамматика BNF
<UNIT> ::= ( <CLAUSE> ) | a | b | c
<ITEM> ::= not <UNIT> | <UNIT>
<CLAUSE> ::= <CLAUSE> and <PHRASE> |...
2076 просмотров
schedule
03.11.2021
Можете ли вы изменить эту грамматику BNF, чтобы она всегда содержала нечетное количество собак?
Можете ли вы изменить эту грамматику BNF, чтобы она всегда содержала нечетное количество собак?
<pets> ::= <pets> <pet> | <pet>
<pet> ::= dog | cat
Примеры домашних животных:
dog cat
cat dog
dog...
657 просмотров
schedule
05.09.2021
BNF Grammar для структур в стиле Python
Я пытаюсь использовать простую грамматику для анализа структур, подобных Python, это то, что я мог бы придумать для списка / набора
list : '[' atom ( ',' atom)* ']'
set : '(' atom ( ',' atom)* ']'
atom : 'a'..'z' | 'A'..'Z'
| '[' list ']'...
1509 просмотров
schedule
17.10.2021
Бэкус Наур Форма Ассоциативности
Это правильный способ реализовать правильную ассоциативность для Exponentiation PowExp? Так что 2 ^ 3 ^ 4 на самом деле (2 ^ (3 ^ 4))
<Exp> ::= <Exp> + <MulExp>
| <Exp> - <MulExp>
| <MulExp>
<MulExp> ::=...
52 просмотров
schedule
20.10.2021
Как лучше всего написать эту xtext грамматику
Я использую Xtext, и мне нужны предложения по следующим двум проблемам.
Проблема №1
Допустим, у меня есть три правила a, b и c. И я хочу разрешить любую последовательность этих правил, за исключением того, что b и c должны появляться только...
140 просмотров
schedule
18.09.2021
Получить части DOCUMENT_URI с помощью регулярного выражения и SSI
Я использую Apache 2.4 и Server Side Includes.
Когда я использую это:
<!--#echo var="DOCUMENT_URI" -->
Возвращает: /foo/bar/file.html
Я хочу захватить части URI, а именно:
<!--#if expr='v("DOCUMENT_URI") =~...
853 просмотров
schedule
24.10.2021
Как написать недвусмысленную грамматику для логических операторов поиска
Контекст
Я поднимаюсь по кривой обучения Nearley и пытаюсь написать грамматику для парсера поисковых запросов.
Цель
Я хотел бы написать грамматику, которая может анализировать строку запроса, содержащую логические операторы (например, AND ,...
326 просмотров
schedule
30.11.2021
Как реализовать приоритет выражений Бакус-Наур Форма
В документации есть такая грамматика:
grammar
=
| ['()'] ['$'] {'#' &'#'} '#'
| ['()'] {'#' &'#'} '#%'
| ['()'] ['$'] {'0' &'0'} '0'
| ['()'] {'0' &'0%'} '0%'
| ['()'] ['$'] {'#' &'0'} {'0' &'0'}...
44 просмотров
schedule
27.09.2021
Неясности BNF
Книга "Конструирование компилятора" дает пример оригинального определения Алгола 60. Они содержат двусмысленность.
Найдите хотя бы две разные структуры для
IF a THEN b ELSE c=d
Есть часть определения
unconditional Statement =...
82 просмотров
schedule
18.10.2021
Ирония Разбор списка, разделенного пробелом
Я пытаюсь написать парсер для формата Allen Bradly SLC Language/File. Я успешно получил его для анализа ссылки на регистр. т.е. N5:4/3. Однако, когда я пытаюсь перейти на следующий уровень, анализируя список ссылок на регистры, разделенных...
88 просмотров
schedule
21.02.2022
Преобразование грамматики BNF в pyparsing
Как я могу описать грамматику, используя регулярное выражение (или лучше pyparsing?) для скриптового языка, представленного ниже (форма Бэкуса-Наура):
<root> := <tree> | <leaves>
<tree> := <group> [*...
2337 просмотров
schedule
18.03.2022
Преобразование грамматики EBNF в PEG
У меня есть грамматика EBNF, и я хочу преобразовать ее в PEG ( https://github.com/anatoo/PHPPEG ):
query = { word | wildcard }
word = ( [apostrophe] ( letter { alpha } ) ) | ” , ”
letter = ” a ” | ... | ” z ” | ” A ” | ... | ” Z ”
alpha = letter |...
580 просмотров
schedule
24.03.2022
Есть ли инструменты для преобразования между ANTLR и другими формами BNF?
Существуют ли какие-либо инструменты для преобразования синтаксиса грамматики ANTLR в другие синтаксисы BNF и обратно? Существует несколько форм Бэкуса-Наура (BNF, EBNF, ABNF, W3C-BNF, XBNF ...) со спецификациями, например см. этот список ....
4567 просмотров
schedule
03.04.2022
Рассмотрим следующую грамматику BNF (BNF, рекурсия и деривация)
Рассмотрим следующую грамматику BNF:
<S> ::= a <S> c <B> | <A> | b
<A> ::= c <A> | c
<B> ::= d | <A>
Хорошо, тогда мне дают разные строки, одна из которых:
aabccd
Если строка может быть...
962 просмотров
schedule
02.04.2022
Разбор леворекурсивной грамматики
Я хочу сделать парсер для языка, который ушел от рекурсии, и я не знаю, что делать. Единственный опыт парсинга, который у меня есть, связан с ll(1).
Например, имея следующее определение bnf
cqlQuery ::= prefixAssignment cqlQuery
|...
275 просмотров
schedule
15.04.2022
Нужен совет, как сделать эту грамматику BNF пригодной для синтаксического анализа LL(1) (левый факторинг)
Я работаю над проектом синтаксического анализа, в котором используется адаптация этой грамматики для регулярных выражений Perl http://www.cs.sfu.ca/~cameron/Teaching/384/99-3/regexp-plg.html . Я упростил эту грамматику для своих собственных целей,...
164 просмотров
schedule
16.04.2022
Что значит \? избежать в грамматике C?
Я читал это и нашел побег \? . Что означает именно этот побег? литерал ? внутри строки (я до сих пор не вижу причины) или это правило грамматики BNF, о котором я не знаю?
473 просмотров
schedule
25.05.2022
Что такое обычный язык?
Я пытаюсь понять концепцию уровней языков (обычный, контекстно-зависимый, контекстно-зависимый и т. Д.).
Я могу легко это найти, но все объяснения, которые я нахожу, представляют собой множество символов и говорят о наборах . У меня два вопроса:...
48256 просмотров
schedule
28.05.2022
Определение языка в EBNF
Дайте спецификацию EBNF для языка L , которая состоит из символов a , b и c , так что предложения в языке имеют форму
L : sqsR
-s is a string of any combination of the characters a and b
-sR is that same string s reversed
-q is an odd...
800 просмотров
schedule
23.06.2022
Как нарисовать дерево разбора?
Как нарисовать дерево разбора для 4*(3+5*7). Сумма приведенного выше выражения равна 152. Сначала 5*7=35, затем 35+3=38, наконец, 38*4=152. Я не уверен в том, что нарисовал. Пожалуйста помоги. Большое спасибо!
239 просмотров
schedule
28.06.2022