Описание тега ll-grammar
Грамматики LL(k) - это грамматики, которые можно анализировать слева направо, создавая крайнее левое производное, используя k токенов просмотра вперед.
1
ответ
Какие грамматики могут быть проанализированы с использованием рекурсивного спуска без возврата назад?
Согласно "Парсеру рекурсивного спуска" в Википедии, рекурсивный спуск без обратного отслеживания (так называемый предиктивный анализ) возможен только для грамматик LL(k). В другом месте я читал, что реализация Lua использует такой парсер. Тем не мен…
21 авг '17 в 12:02
1
ответ
Зачем смотреть вперед максимум на 1 входной токен?
В настоящее время я пытаюсь реализовать парсер LL, но у меня есть вопрос. Нужно ли мне смотреть не более 1 входного токена, чтобы проверить правильность синтаксического ввода пользователя или по другой причине?
29 авг '15 в 13:28
2
ответа
Есть ли LL(*) парсер, который не генерируется
Мне нужно изменить грамматические правила моего синтаксического анализатора во время выполнения, и я бы хотел избежать повторной генерации синтаксического анализатора при каждом изменении правил. Есть ли парсер, который не использует генерацию кода?…
17 июл '14 в 16:30
1
ответ
Сделать грамматику LL
Я уже потратил много времени на его преобразование, но я всегда встаю, получая общий префикс ID. Кто-нибудь может мне это объяснить? поскольку я пытаюсь сделать это для очень большой грамматики и нуждаюсь в моих основах ясно. A, B, C, D являются еди…
11 мар '14 в 00:55
1
ответ
Находить LL(1) грамматику?
Как найти грамматику LL(1) для языка: L = am bn cm + n Где m и n элементы натуральных элементов? Моя контекстно-свободная грамматика: S → AB A → acA | переменный ток B → bcB | До нашей эры Может ли кто-нибудь сказать мне, если я на правильном пути? …
02 дек '13 в 02:28
1
ответ
Делая грамматику ll(1) и однозначно
У меня есть CFG в форме PB := PB | R | R R := s Я попытался сделать это ll(1), удалив левую рекурсию, в результате чего PB := R PB' | R PB' PB' := PB'| ϵ R := s Однако я считаю, что удаление левой рекурсии делает грамматику теперь двусмысленной. Как…
25 фев '19 в 16:25
1
ответ
Связь между LR(0), LL(0), LALR(1) и т. Д.?
Я действительно изо всех сил пытаюсь понять отношения между: LR (0) LL(0) LALR (1) SLR (1) LR (1) LL (1) Я почти уверен, что LALR (1) и SLR (1) являются подмножествами LR (1), но я заблудился о других. Они все эксклюзивные? Является ли LL(0) подмнож…
15 апр '16 в 16:19
1
ответ
Как устранить эту левую рекурсию для LL Parser
Как исключить левую рекурсию следующего типа. Кажется, я не могу применить общее правило к этому конкретному. A -> A | a | b Используя правило исключения, вы получаете: A -> aA' | bA' A' -> A' | epsilon Который еще оставил рекурсию. Говорит…
24 апр '16 в 17:24
1
ответ
STM32: Невозможно выйти из обработчика прерывания для прерывания UART
Я реализую простой протокол приема-передачи UART на STM32F103, код библиотеки / шаблон, который я здесь использую, это LL, а не HAL (так как HAL включает в себя безумные объемы служебных данных) Моя проблема в том, что после успешного ввода обработч…
13 сен '18 в 18:25
1
ответ
Пример грамматики LR, который не может быть представлен LL?
Все грамматики LL являются грамматиками LR, но не наоборот, но я все еще борюсь с этим различием. Мне любопытно, если есть небольшие примеры грамматик LR, которые не имеют эквивалентного представления LL.
10 янв '12 в 19:44
1
ответ
Как мне сделать эту грамматику LL(1)?
Допустим, у меня есть эта грамматика E -> T+Ex | F T -> T*Fy | w F -> E | z | ε Теперь мне нужно сделать это LL(1). Я следовал за шагами, но решение, которое я придумал, кажется не совсем правильным. Кулак позволяет устранить ε-производства…
18 мар '15 в 21:22
1
ответ
Конвертировать C-грамматику в LL(1)
В настоящее время я создаю компилятор для C-. В настоящее время я работаю над синтаксическим анализатором, и по какой-то причине я не могу разрешить возникновение коллизии первых наборов (идентификатора терминала) из производства EXPRESSION. Ниже, я…
04 окт '16 в 22:18
1
ответ
Токенизация абстрактных терминалов в грамматике LL
В настоящее время я пишу базовый парсер для XML-аромата. В качестве упражнения я реализую парсер LL, управляемый таблицами. Это мой пример грамматики БНФ: %token name data string %% /* LL(1) */ doc : elem elem : "<" open_tag open_tag : name attr …
18 фев '19 в 11:06
1
ответ
Преобразование контекстно-свободной грамматики в LL(1)
У меня есть следующая грамматика: S -> S+S|SS|S*|(S)|a Как мне преобразовать его в грамматику LL(1)? Я пытался устранить левую рекурсию, поэтому я получил S->(S)S'|aS' S'->+SS'|SS'|*S'|epsilon Я также попытался сначала выполнить левый факто…
02 окт '14 в 12:33
2
ответа
Может ли удаление левой рекурсии внести двусмысленность?
Давайте предположим, что у нас есть следующий CFG G: A -> A b A A -> a Который должен производить строкиa, aba, ababa, abababa, и так далее. Теперь я хочу удалить левую рекурсию, чтобы сделать ее пригодной для интеллектуального анализа. Книга …
22 июн '15 в 12:09
1
ответ
Решение первоочередного конфликта в грамматике
В настоящее время у меня проблемы с разрешением такого рода конфликта в грамматике: A -> (A)A' A -> 0A' A -> 1A' A'-> NAND A A' A'-> eps Проблема в том, что FIRST of A'- это NAND, а также часть его набора FOLLOW. А поскольку есть прав…
11 май '15 в 19:45
2
ответа
Разбор особых случаев
Если я правильно понимаю, синтаксический анализ превращает последовательность символов в дерево. У меня вопрос: возможно ли использовать какую-то стандартную процедуру (LR, LL, PEG, ..?) Для разбора следующих двух примеров или необходимо написать сп…
18 сен '14 в 15:21
2
ответа
Как вручную построить AST?
В настоящее время я изучаю синтаксический анализ, но я немного запутался, как генерировать AST. Я написал синтаксический анализатор, который правильно проверяет, соответствует ли выражение грамматике (он молчит, когда выражение соответствует, и вызы…
12 апр '12 в 10:04
1
ответ
Как доказать, что грамматика есть LL(k) для k>1
У меня есть это упражнение, которое дает мне грамматику и просит доказать, что это не LL(1), Все хорошо с этой частью, хотя потом спрашивает меня, может ли эта грамматика LL(k)(for k>1) или нет. Какую процедуру я должен выполнить, чтобы определит…
01 дек '14 в 16:02
1
ответ
Несколько записей в таблице разбора LL(1)?
Учитывая эту грамматику: S → S1 S2 S1 → a | ε S2 → ab | ε Поэтому мы имеем FIRST (S1) = {a, ε} СЛЕДУЙТЕ ЗА (S1) = {a} Означает ли это, что в таблице синтаксического анализа у меня будет несколько определений в строке для S1 и столбца для a?
01 май '13 в 18:41