Описание тега shift-reduce-conflict
Shift Reduce - это парадигма парсера LR. Конфликт сдвига / уменьшения возникает при неоднозначности анализируемой грамматики.
1
ответ
Как решить бизон уменьшить / уменьшить конфликт в моем коде?
Я новичок в бизоне... Я написал грамматическое правило для оператора if, else if и else... Я получил уменьшить конфликт, хотя... Кто-нибудь может помочь? Я перепробовал все, что нашел, но, как я уже сказал, я новичок, и я точно не понимаю, что проис…
12 май '18 в 08:15
2
ответа
Решение уменьшить / уменьшить конфликты
У нас есть грамматика CFG, и мы строим таблицу разбора LR(1). Мы видим, что в одной ячейке таблицы синтаксического анализа есть конфликт "уменьшить - уменьшить". Можно ли решить этот конфликт, используя больше входных символов прогнозирования на каж…
11 янв '16 в 20:47
1
ответ
Сдвиг / уменьшение конфликта несмотря на правила приоритета
Язык, для которого я пишу парсер, имеет три соответствующие конструкции: ord оператор, представленный TOK_ORD, который преобразует символьные выражения в целочисленные выражения, и [ ] а также ., которые используются для индекса и доступа к полю, со…
20 май '15 в 01:04
3
ответа
Как решить сдвиг / уменьшить конфликт?
Я использую CUP для создания парсера, который мне нужен для моей диссертации. У меня есть конфликт сдвига / уменьшения в моей грамматике. У меня есть это правило производства: command ::= IDENTIFIER | IDENTIFIER LPAREN parlist RPAREN; и у меня есть …
02 июл '10 в 17:11
0
ответов
Ирония сдвиг уменьшить проблемы
Я пытался выяснить, как исправить некоторые сдвиги, чтобы уменьшить конфликты, которые у меня есть. Я осмотрелся и нашел разные темы по ее устранению, но, кажется, что независимо от того, что я делаю, я просто не могу найти способ исправить эти проб…
07 июн '15 в 19:03
1
ответ
Разрешить конфликт в грамматике бизонов с помощью разделенных пробелами списков выражений + if/then/else
У меня есть следующая грамматика yacc/bison/happy: %token if TokenIf then TokenThen else TokenElse true TokenTrue false TokenFalse %left APP %right IF %% Hungry : NoHungry | Hungry NoHungry %prec APP | if Hungry then Hungry else Hungry %prec IF NoHu…
29 май '18 в 15:40
1
ответ
Сдвиг / уменьшение конфликта с оператором if ... else
Я пытаюсь создать синтаксический анализатор для языка, похожего на Java, но с помощью оператора else возникает конфликт сдвига / уменьшения. Я пробовал бизона bison_file.y --report=state и результат о конфликте: Состояние 62 31 заявление: if_stateme…
29 авг '13 в 18:54
1
ответ
Как парсер решает сдвиг / уменьшение конфликта?
У меня есть грамматика для арифметического выражения, которая решает количество выражений (по одному на строку) в текстовом файле. При компиляции YACC я получаю сообщение 2 shift уменьшить конфликты. Но мои расчеты верны. Если парсер выдает правильн…
14 фев '17 в 19:55
1
ответ
Я пытаюсь создать синтаксический анализатор для мини-Java, где я получаю сдвиг / уменьшение конфликтов в части грамматики выражения. Я не могу разрешить этот конфликт
Это часть файла y.ouput состояние 65 15 Выражение: Выражение. Выражение "&&" 16 | Выражение "<" Выражение 17 | Выражение "+" Выражение 18 | Выражение "-" Выражение 19 | Выражение Выражение "*" 20 | Выражение "[" Выражение "]" 21 | Выражение "" "Длин…
05 сен '13 в 14:33
1
ответ
Уменьшить / уменьшить конфликт в CUP
Я реализую парсер для подмножества Java с использованием Java CUP. Грамматика похожа vardecl ::= type ID type ::= ID | INT | FLOAT | ... exp ::= ID | exp LBRACKET exp RBRACKET | ... stmt ::= ID ASSIGN exp SEMI Это отлично работает, но когда я добавл…
08 дек '18 в 05:43
0
ответов
Как написать CFG для парсера Shift Reduce?
Я пытался написать CFG для использования в реализации NLTK анализатора Shift-Reduce. Для простого примера, скажем, я хочу разобрать эти два предложения: "Она любит Джона" "Джон любит ее" Грамматика была бы довольно простой - Джон может быть первым и…
26 дек '18 в 13:58
0
ответов
Как решить сдвиг-уменьшить конфликт в YACC
Я написал компилятор с-минор с yacc и теперь он говорит, что имеет 2 сдвига-уменьшения конфликта, и это показывает эти 2 строки: строка имеет переменную '-=' строка имеет переменную '+=' expression : var '=' expression |var '+=' expression |var '−='…
26 янв '19 в 07:19
1
ответ
Сдвиг / уменьшение конфликта с неоднозначной грамматикой
Я застрял с некоторой неоднозначной грамматикой на некоторое время, поскольку yacc сообщает о 6 конфликтах сдвига / уменьшения. Я посмотрел в файле y.output и попытался понять, как смотреть на состояния и выяснить, что делать, чтобы исправить неодно…
18 фев '19 в 21:16
2
ответа
Как переписать грамматику для устранения конфликта сдвига-уменьшения (в анализаторе Haskell Happy)
Я пытаюсь определить грамматику для методов (как Java) с помощью генератора парсера Happy LALR 1. MD ::= some_prefix { list(VD) list(S) } 2. VD ::= T I 3. S ::= I = E | I [ E ] = E | etc... 4. T ::= I | byte | int | etc... 5. E ::= INT | E + E | etc…
23 апр '15 в 19:41
1
ответ
Зубр - сдвиг / уменьшение идентификатора конфликта
У меня есть 1 сдвиг / уменьшение конфликта в состоянии 19. Я думаю, что могут быть проблемы с разными вхождениями "идентификатора", но я изо всех сил пытаюсь понять отчет о зубрах и разрешить конфликт. Ниже моя грамматика, за которой следует отчет о…
17 мар '15 в 13:26
1
ответ
Проблемы с анализатором, поиск конца параметра, сдвиг / уменьшение возникающих конфликтов
Я пытаюсь настроить свой парсер, чтобы найти конец определенного параметра, распознав, что запятой нет, поэтому я в основном настроил его, чтобы найти такой параметр, как этот параметр: конец_параметра запятая (Этот тип данных является просто списко…
13 сен '12 в 15:52
1
ответ
Сдвиг / уменьшение конфликта с аргами и кваргами - PLY
Я пишу парсер для Python-подобного языка, который позволяет передавать функции двух типов аргументов (позиционные и именованные). И, как и в Python, именованный аргумент должен передаваться после позиционного. Я написал для нее грамматику, но в ней …
25 окт '17 в 04:57
1
ответ
Как убрать сдвиг-уменьшить конфликт в грамматике yacc?
У меня есть следующая грамматика: Expression : SimpleExpression {$$ = $1;}; | SimpleExpression LTnum SimpleExpression { MkLeftC($1, $2); $$ = MkRightC($3, $2); } | SimpleExpression LEnum SimpleExpression { MkLeftC($1, $2); $$ = MkRightC($3, $2); } |…
24 мар '16 в 00:43
1
ответ
Сдвиг / уменьшение конфликтов в грамматике арифметического выражения с n-ю суммами / произведениями
Разобрать двоичные суммы / продукты легко, но у меня проблемы с определением грамматики, которая разбирает a + b * c + d + e как sum(a, prod(b, c), d, e) Моя первоначальная (наивная) попытка вызвала 61 конфликт сдвига / уменьшения. Я использую java …
18 фев '10 в 12:39
3
ответа
Как написать PLY грамматику для разбора путей?
Я пытаюсь написать грамматику с PLY, которая будет анализировать пути в файле. Я сталкиваюсь со сдвигом, уменьшающим конфликты, и я не уверен, как изменить грамматику, чтобы исправить это. Вот пример файла, который я пытаюсь разобрать. Путь / имя фа…
28 сен '15 в 03:01