Описание тега lr1
Парсеры LR - это тип восходящих парсеров, которые эффективно обрабатывают детерминированные контекстно-свободные языки за гарантированное линейное время. За именем LR часто следует числовой квалификатор, как в LR(1). Парсер LR(1) может обрабатывать многие, но не все распространенные грамматики.
0
ответов
Учитывая грамматику, сгенерируйте элементы LR(1)
Я работаю над предметами LR(1), и у меня есть немного сомнений, и я надеюсь, что кто-то может прояснить для меня. Учитывая следующую грамматику, я должен сгенерировать элементы LR(1). Я создал первый элемент, но не уверен, что он правильный, поэтому…
29 июл '15 в 18:13
1
ответ
LR(1) предметов и LALR(1) таблица разбора, как это сделать?
Из приведенной ниже грамматики создайте элементы LR(1) и объедините наборы элементов, которые дают набор элементов LALR(1). Я не уверен, как построить из этой грамматики B -> id | id ( B) | Б. id | B [ B ] | Б. id ( B) Ответьте пока: i0- B' -> .B, $…
06 мар '17 в 00:45
2
ответа
LR(1) грамматика: как сказать? примеры за / против?
В настоящее время я смотрю на GNU Bison для анализа кода программы (или на самом деле для расширения программы, которая использует Bison для этого). Я понимаю, что Bison может только (или: лучше) обрабатывать грамматики LR(1), то есть особую форму к…
13 фев '13 в 12:40
1
ответ
Этот генератор синтаксического анализа говорит, что эта грамматика не LR(1), но у меня есть сомнения
Я написал генератор синтаксического анализатора на Java, после нескольких ухищрений (ранняя версия, например, не особенно понравилась левая рекурсия), мне удалось заставить его работать с некоторыми простыми грамматиками (так что я могу вручную пров…
02 июл '15 в 23:33
0
ответов
LR(1) Автоматы: разница между предметами
У меня есть сомнения относительно конструкции автоматов LR(1): Является ли состояние с ядром [A->b., X] (state_1) эквивалентным состоянию с ядром [A->b., X / y] (state_2)? Например, если я нахожусь в состоянии [A->. B, x] и shift_b из этого состояни…
19 сен '15 в 18:39
1
ответ
Как перевести LR(1) Parse в абстрактное синтаксическое дерево?
Я закодировал анализатор LR(1), управляемый таблицей, и он работает очень хорошо, однако у меня возникли некоторые проблемы на этапе анализа синтаксического дерева / абстрактного синтаксического дерева. Это проект, которым я очень увлечен, но я прос…
25 май '15 в 20:21
0
ответов
Как создать парсер Lr(1) для очень простого языка программирования
Мне нужно создать парсер для кода с переменными, простыми условиями, циклами и функциями, что-то вроде: f=1; i=1; while(i<10){ f=f*i; i=i+1; } print(f); Я прочитал много теории, но я не нашел ни одного рабочего примера парсера Lr(1) для кода. Это…
07 апр '15 в 14:35
1
ответ
Печать синтаксического дерева как динамического списка на языке c
Я написал код на C для реализации таблицы разбора LR(1), однако сейчас я сталкиваюсь с проблемой печати дерева разбора. Как мы это делаем в C? Дерево может иметь переменные дочерние элементы, и, поскольку алгоритм синтаксического анализа является во…
19 апр '13 в 16:52
2
ответа
Парсер LR1 и Эпсилон
Я пытаюсь понять, как работают парсеры LR1, но у меня возникла странная проблема: что если грамматика содержит эпсилоны? Например: если у меня есть грамматика: S -> A A -> a A | B B -> a Понятно как начать: S -> .A A -> .a A A -> .…
28 янв '09 в 08:45
2
ответа
Где я могу найти простую, понятную реализацию генератора синтаксического анализатора LR(1)?
Где я могу найти простую (насколько это возможно, но не проще!) Реализацию генератора синтаксического анализатора LR(1)? Я не ищу производительность, просто возможность генерировать состояния LR(1) (наборы элементов).C++, C#, Java и Python будут раб…
10 янв '13 в 07:30
1
ответ
Работа с бесконечными циклами при построении состояний для разбора LR(1)
В настоящее время я строю состояния LR(1) из следующей грамматики. S->AS S->c A->aA A->b where A,S are nonterminals and a,b,c are terminals. Это конструкция I0 I0: S' -> .S, epsilon --------------- S -> .AS, epsilon S -> .c, eps…
28 апр '10 в 12:57
1
ответ
Как переписать грамматику без контекста, чтобы она была LR(1)?
Для данной контекстной свободной грамматики: S -> G $ G -> PG | P P -> id : R R -> id R | epsilon Как мне переписать грамматику так, чтобы она была LR(1)? У текущей грамматики есть конфликты сдвига / уменьшения при разборе ввода "id: .id…
06 ноя '14 в 18:28
1
ответ
LR(1) сдвиг / уменьшение неоднозначности
Заданный ввод с повторением BLOCKс, где каждый блок имеет повторяющиеся BEGIN EVENT а также END EVENT записи (END EVENT всегда следует за BEGIN EVENT): [TIMESTAMP] BLOCK [TIMESTAMP] BEGIN EVENT [TIMESTAMP] END EVENT [TIMESTAMP] BEGIN EVENT [TIMESTAM…
09 фев '19 в 17:48
0
ответов
LR(1) - Как вычислить Lookaheads
У меня проблемы с пониманием того, как вычислить прогноз. Допустим, у меня есть это расширение грамматики: S'-> S S -> L=R | R L -> *R | i R -> L Я написал State 0 так: S'-> .S, {$} S -> .L=R, {$} S -> .R, {$} L -> .*R, {=,$}…
13 апр '14 в 16:47
1
ответ
LR(1) парсинговый стол с эпсилонами производства
У меня проблемы с созданием коллекции наборов элементов для парсеров LR(1) с грамматикой, содержащей произведения epsilon. Например, учитывая следующую грамматику (где eps означает epsilon) S -> a S U U -> b | eps State0 будет S' -> .S, $ S…
17 май '18 в 14:16
0
ответов
Бизон: сдвиг-уменьшение конфликтов, даже если%left %right
Я знаю, что большинство конфликтов сдвига / уменьшения можно решить с помощью директив% left или% right. Но даже с этим у меня возникают конфликты. Ниже приведен блок моей грамматики: expression: variable '=' expression | expression operator express…
18 окт '17 в 07:14
1
ответ
Что случилось с этой грамматикой
s : cmd | cmd SOMETHING cmd :WORD WORD и SOMETHING не являются нулевыми терминалами это грамматика LR1, поэтому бизон должен разобрать ее без проблем. однако я столкнулся с неожиданной проблемой во время выполнения: программа запрашивает ввод дважды…
11 янв '12 в 16:49
1
ответ
Какие произведения рассматриваются в LR(1) прогноз?
В настоящее время я рассматриваю два примера расчета замыкания с использованием инструмента по адресу http://jsmachines.sourceforge.net/machines/lr1.html Пример 1 S -> A c A -> b B B -> A b Здесь в исходное состояние заканчивается закрытием…
19 авг '19 в 01:10
0
ответов
Разбор LR(1), проблема с упреждающими символами
Я понимаю концепцию синтаксического анализа LR(1) и опережающих символов. У меня есть решение упражнения, и оно не согласуется с моим решением. Я пытаюсь заполнить таблицу синтаксического анализа LR(1) для грамматики ниже: S->xAz S->BAx A->…
30 ноя '19 в 22:00
1
ответ
Является ли QML Grammar LALR(1)?
Вот грамматика QML (извлеченная из https://github.com/kropp/intellij-qml/blob/master/grammars/qml.bnf): /* identifier, value, integer and float are terminals */ qml ::= object /* Simplified */ object ::= type body body ::= '{' (property_definition|s…
12 дек '19 в 14:20