Вопросы по теме 'll'

Как определить, является ли язык LL(1)?
У меня есть грамматика, и я могу проверить, является ли она LL(1) или нет. Однако есть ли способ проверить, является ли язык, сгенерированный грамматикой, LL(1)? И в чем именно разница между грамматиками LL(1) и языками LL(1)?
6129 просмотров
schedule 01.05.2023

Как оставить фактор контекстно-свободной грамматики?
Насколько я понимаю, в следующем случае для построения нисходящего парсера требуется левое факторинг. Но трудно понять, как это сделать? Может ли кто-нибудь помочь мне здесь? Спасибо. s = a | b b = c d c = (e | f) g e = a | h
3736 просмотров
schedule 19.02.2023

Является ли эта грамматика БНФ LL(1)?
Может ли кто-нибудь подтвердить для меня, является ли следующая грамматика BNF LL (1): S ::= A B B A A ::= a A ::= B ::= b B ::= где S — начальный символ, а нетерминалы A и B могут быть преобразованы в эпсилон. Я знаю, что если в одной...
1056 просмотров
schedule 06.03.2022

Почему LL-грамматика не может быть леворекурсивной?
В книге о драконах грамматика LL определяется следующим образом: Грамматика является LL тогда и только тогда, когда для любой продукции A -> a|b применяются следующие два условия. FIRST(a) и FIRST(b) не пересекаются. Это...
11832 просмотров
schedule 13.11.2022

Распознавание грамматик LL и LR НЕ анализатора
Если мне дали CFG, посмотрев на него, могу ли я решить, относится ли это к LL-классу грамматики или к LR-классу грамматики? Когда я искал этот вопрос в Google, я получил информацию о том, как работают парсеры для этих грамматик, но это не то, чего я...
172 просмотров
schedule 02.10.2022

Алгоритм вычисления наборов FIRST и FOLLOW для контекстно-свободных грамматик
Мне нужен алгоритм вычисления наборов FIRST и FOLLOW для грамматики. Есть ли простой алгоритм или простой код для их вычисления?
16880 просмотров
schedule 11.04.2023

Follow устанавливает парсинг сверху вниз
У меня есть вопрос для Follow наборов следующих правил: L -> CL' L' -> epsilon | ; L C -> id:=G |if GC |begin L end Я вычислил, что Follow(L) находится в Follow(L') . Также Follow(L') находится в Follow(L) ,...
60 просмотров
schedule 15.03.2023

Преобразование грамматики в LL(1)
У меня есть следующая грамматика: START -> STM $ STM -> VAR = EXPR STM -> EXPR EXPR -> VAR VAR -> id VAR -> * EXPR С этим набором first и follow : First set Follow set START id, * $ STM...
728 просмотров
schedule 06.10.2022

Сбой ANTLR из-за левой рекурсии. Как решить?
Вот простая грамматика для оператора выбора SQL. grammar SQL; @rulecatch { //We want to stop parsing when SyntaxException is encountered //So we re-throw the exception catch (SyntaxException e) { throw e; } } eval :...
55 просмотров
schedule 28.08.2022

Разве синтаксический анализатор LR(0) также не использует просмотр вперед?
LL(1)-парсеру нужен предпросмотр-символ, чтобы иметь возможность решить, какую продукцию использовать. Это причина, по которой я всегда думал, что термин «упреждающий просмотр» используется, когда синтаксический анализатор просматривает следующий...
1084 просмотров

Анализ приложений функций в стиле лямбда-исчисления с помощью синтаксического анализатора LL1
Я использую TinyPG , анализатор LL1. генератор для разбора лямбда-исчисления. Я пытаюсь написать правило, которое будет анализировать приложение функции, такое как (a b) или (a b c) и так далее. Пока у меня есть это правило (немного...
235 просмотров
schedule 26.01.2023

Существует ли LR(k)-грамматика без эквивалента LL(1)
Я пока не смог найти на это ответ. Существуют ли контекстно-независимые и недвусмысленные грамматики, которые нельзя преобразовать в LL(1)? Я нашел одну продукцию, которую я не мог понять, как преобразовать в LL(1): продукцию parameter-type-list...
647 просмотров
schedule 25.01.2023

Грамматика LL(1) Висячий else и общий левый префикс
Я полагаю, что каждый, кто читает его, знаком с двусмысленностью else. Поэтому я пропущу объяснение. Я нашел в книге компиляторов (книге дракона) недвусмысленную грамматику, которая представляет IF и ELSE. Вот. stmt->matched_stmt |...
968 просмотров
schedule 25.04.2022

Генерация таблицы синтаксического анализа LL(1) для данного CFG
CFG выглядит следующим образом: S -> SD|SB B -> b|c D -> a|dB Метод, который я пробовал, выглядит следующим образом: Я удалил недетерминизм из первой продукции ( S->SD|SB ) методом левого факторинга. Итак, CFG после...
551 просмотров
schedule 01.05.2023

Какие современные компьютерные языки относятся к LL(1)?
(Во время каникул я занимаюсь языковой теорией. Извините, если это наивный вопрос.) Согласно здесь : Грамматики LL, особенно грамматики LL(1), представляют большой практический интерес, поскольку синтаксические анализаторы для этих...
4723 просмотров

Какие грамматики можно анализировать с помощью рекурсивного спуска без возврата?
Согласно парсеру рекурсивного спуска в Википедии , рекурсивный спуск без возврата (также известный как предиктивный синтаксический анализ) возможно для грамматик LL (k). В другом месте я читал, что реализация Lua использует такой парсер. Однако...
3243 просмотров

STM32: невозможно выйти из обработчика прерывания для прерывания UART
Я реализую простой протокол приема-передачи UART на STM32F103, библиотечный / шаблонный код, который я использую здесь, - это LL, а не HAL (поскольку HAL включает в себя безумные накладные расходы) Моя проблема в том, что после успешного ввода...
1996 просмотров
schedule 20.05.2022

Hashtable в Ocaml, где ключ является кортежем
Я пытаюсь создать таблицу разбора LL1 в ocaml. Я бы хотел, чтобы ключ был кортежем Nonterminal, input_symbol. Это возможно? Я знаю, что вы можете создать стек кортежей : let (k : (string*string) Stack.t) = Stack.create ();; Заранее...
349 просмотров
schedule 31.12.2022

Почему леворекурсивная, недетерминированная или неоднозначная грамматика не может быть LL(1)?
Из нескольких источников я узнал, что грамматика LL(1): однозначный, не леворекурсивный, и детерминированный (левофакторизованный). Чего я не могу полностью понять, так это того, почему вышеизложенное верно для любой грамматики LL(1). Я...
1917 просмотров

Как вы строите дерево синтаксического анализа во время синтаксического анализа LL (1)?
Мне было интересно, есть ли способ построить дерево синтаксического анализа во время синтаксического анализа LL (1). Я пытался в течение нескольких дней, но не смог найти решение. Этот вопрос похож, но не предоставить достаточно деталей...
212 просмотров