Публикации по теме 'context-free-grammar'
Понимание диаграмм с грамматиками
Грамматика - это набор структурных правил для строк в формальных языках, который семантически описывает не строки, а их форму. Все мы знаем, что к разным языкам применяются разные правила грамматики. Применяются ли эти грамматики только к строкам? Можем ли мы приложить усилия, чтобы применить эти грамматики для формирования и понимания различных типов диаграмм? Да, в этом блоге мы рассмотрим, как грамматики могут использоваться для определения простых диаграмм.
Формальная грамматика..
Вопросы по теме 'context-free-grammar'
Как я могу устранить левую рекурсию в следующей грамматике?
Вот грамматика, которая должна описывать язык вложенных фигурных скобок с запятыми в качестве разделителей:
L ::= {L} | L,L |
Еще несколько примеров строк, которые я ожидаю, что грамматика примет и отклонит:
Принимать:
{,{,,{,}},,{,}}...
1386 просмотров
schedule
09.03.2022
Левая рекурсия исключения для E: = EE + | EE- | id
Как избавиться от левой рекурсии для следующей грамматики?
E := EE+|EE-|id
Используя обычную процедуру:
A := Aa|b
переводится на:
A := b|A'
A' := ϵ| Aa
Применяя это к исходной грамматике, мы получаем:
A = E, a = (E+|E-)...
3068 просмотров
schedule
11.12.2022
Кто-нибудь узнает это незнакомое обозначение?
У меня есть вопрос из теста в классе языков программирования, который меня смущает.
Дайте контекстно-свободную грамматику для создания следующего языка
L = { a i b j c k | 0 ‹= я ‹= j ‹= я + k }
Я совершенно не знаком с этим обозначением....
179 просмотров
schedule
27.09.2023
Создание контекстно-свободных грамматик для языков
Я беру курс по конечным автоматам. Я готовлюсь к промежуточному экзамену, и у меня возникли проблемы с созданием грамматик для определенных языков. Я нахожу простые очень интуитивно понятными, но когда они становятся более сложными, я, кажется, не...
2866 просмотров
schedule
25.04.2022
Преобразование грамматики EBNF в контекстно-свободную грамматику
Мне нужно написать спецификацию JavaCUP, и мне дали грамматику EBNF. Однако я не знаю, как конвертировать между ними. Я слышал основные идеи, но я не очень понимаю, что мне нужно изменить, какие будут "терминалы" и т.д.
Может ли кто-нибудь...
1863 просмотров
schedule
28.12.2022
Грамматика ANTLR для квазицитатов Scheme
Учитывая следующую грамматику в EBNF: http://pauillac.inria.fr/cdrom_a_graver/www/bigloo/manual/r5rs-8.html
Приведенная там грамматика квазицитатов не является контекстно-свободной:
<quasiquotation> --> <quasiquotation 1>...
317 просмотров
schedule
24.05.2022
линейная грамматика с неравным количеством нулей и единиц
Можно ли придумать линейную грамматику с неравным количеством нулей и единиц?
Например, 0100, 01100, 111,1,0, 100101001...
Я знаю, что для этого существует контекстно-свободная грамматика, но существует ли линейная грамматика?
Спасибо.
2088 просмотров
schedule
21.04.2024
Генерация строки символов (предложения) для данной контекстно-свободной грамматики
У меня есть простая грамматика, такая как
S::=a S b
S::=[] (empty string)
Теперь я хочу написать парсер для приведенной выше грамматики, например
cfg('S', [a,'S',b])
который генерирует предложение aaabbb по самому левому...
1230 просмотров
schedule
16.05.2022
Переменная переименования синтаксического анализатора Java [закрыта]
Мне нужно написать парсер для языка программирования Java. Я видел некоторые реализации (JavaCC, SableCC) и думаю, что справлюсь.
Дело в том, что мне нужно переименовать переменные. Могу ли я сделать это с помощью парсера?
Если да, то как?
486 просмотров
schedule
09.08.2023
Может ли BNF справиться с прямым потреблением?
Недавно я обнаружил модуль python pyparsing , замечательный инструмент для анализа данных путем написания грамматики , а не парсера. Я новичок в идее контекстно-свободных грамматик, поэтому, пожалуйста, исправьте любые ложные предположения в этом...
412 просмотров
schedule
02.03.2022
Если мы знаем, что CFG генерирует только обычный язык, можем ли мы получить соответствующее регулярное выражение?
Как мы знаем, для регулярной грамматики у нас есть алгоритм для получения ее регулярного выражения.
Но если данная грамматика является контекстно-свободной грамматикой (но она генерирует только обычный язык), например
S->aAb
A->bB...
2223 просмотров
schedule
02.06.2022
Ассоциативность операторов с использованием парсеров Scala
Итак, я пытался написать калькулятор с помощью синтаксического анализатора Scala, и это было забавно, за исключением того, что я обнаружил, что ассоциативность операторов обратная, и что когда я пытаюсь сделать свою грамматику леворекурсивной, даже...
1527 просмотров
schedule
20.03.2024
Создайте контекстно-свободную грамматику для подъязыка прототипов Java.
Я новичок в контекстно-свободной грамматике, и пока я только изучил такие вещи, как левое/правое происхождение и G=(V, E, R, S). Но проблема, которую я пытаюсь решить, связана с прототипом Java, а я не очень хорошо разбираюсь в Java. Так что я...
1357 просмотров
schedule
18.07.2023
Примеры языка без контекста на языке C?
Каковы примеры неконтекстно-свободных языков в языке C? Как следующий не-CFL существует на языке C?
а) L1 = {wcw|w равно {a,b}*}
b) L2 = {a^n b^m c^n d^m| n,m >=1}
2970 просмотров
schedule
22.09.2022
Связь между левым разложением грамматики и удалением эпсилон
Допустим, я бы использовал приведенную ниже грамматику для компилятора.
S -> a | aB
если я выполню на нем левый факторинг, это будет похоже на (e - эпсилон)
S -> aC
C -> B | e
затем я хочу удалить эпсилон, который в...
487 просмотров
schedule
03.12.2022
Советы по созданию контекстно-свободной грамматики
Я новичок в CFG, Может ли кто-нибудь дать мне совет по созданию CFG, который генерирует какой-либо язык
Например
L = {a m b n | m >= n}
Что я получил:
S o -> a | aS o | aS 1 | e
S 1 -> b | bS 1 | e
но я...
83313 просмотров
schedule
12.05.2024
Как отделить контекстно-свободную часть языка от контекстно-зависимой?
Я прочитал этот фантастический пост в списке comp.theory:
http://coding.derkeiler.com/Archive/General/comp.theory/2004-03/0189.html
Плакат подчеркивает, что большинство языков программирования определяют контекстно-свободное ядро, а затем...
178 просмотров
schedule
08.06.2024
Распознавание перестановок конечного набора строк в формальной грамматике
Цель: найти способ формального определения грамматики, которая распознает элементы из множества 0 или 1 раз в любом порядке. Впоследствии я хочу разобрать его и также сгенерировать AST.
Например: скажем, набор допустимых строк на моем языке равен...
997 просмотров
schedule
28.08.2023
Есть ли что-то неправильное в этом определении CFG Bison?
У меня есть следующая грамматика в файле Bison:
lst: ID COMMA lst
| ID
| /*empty*/
plst: lst SEMICOLON lst
| SEMICOLON lst
| lst
ГДЕ первое правило фактически пытается отобразить список идентификаторов, таких как...
174 просмотров
schedule
29.06.2023
Может ли неконтекстно-свободный язык L быть контекстно-свободным при итерации?
Язык L не является контекстно-свободным языком.
Но может ли L* быть контекстно-свободным языком?
349 просмотров
schedule
03.10.2022