Описание тега dangling-else
1
ответ
Висячие еще в Котлине
У меня есть это сомнение, ребята, я не знаю; любой пример, чтобы понять, будет здорово. Страдает ли язык программирования Kotlin от проблемы "висящего другого"? Если проблема есть, то какова причина в этом случае?
03 дек '17 в 01:17
1
ответ
LL(1) грамматика для болтаться еще
В построении компилятора одна из главных проблем неоднозначности - еще одна проблема. Как уже упоминалось в книге "Компиляторы: принципы, методы и инструменты" Ахо, Лама, Сетхи и Уллмана, грамматика оборванного остального не может использоваться с а…
13 апр '12 в 23:19
1
ответ
Если оператор для представления дерева в ANTLR
У меня есть следующее выражение if, которое правильно анализирует: ifStatement : 'IF' expression 'THEN' statementBlock (options {greedy=true;} : 'ELSE' statementBlock)? ; Теперь я хочу разобрать это в AST. Вот как я это сделал: ifStatement : 'IF'^ e…
27 мар '11 в 22:21
2
ответа
Устранение неопределенности, вызванной висящим остальным для грамматик LL(1)
В случае с висячей остальной проблемой при проектировании компилятора, есть ли причина оставить это перед тем, как устранить неоднозначность? Мы преобразовываем CFG в грамматику LL(1), поэтому мой профессор просит нас сначала исключить рекурсию, зат…
27 ноя '17 в 01:12
0
ответов
Повисшая еще грамматика для Лекса и Яка
Я пишу небольшой синтаксический анализатор для распознавания подмножества Java, и я столкнулся с проблемой, которая, как мне кажется, называется "болтающаяся проблема". Моя грамматика для сопоставления операторов if-else началась примерно так: state…
14 апр '16 в 03:45
1
ответ
Как решить еще болтаться в Coco/R?
У меня в Коко / Р есть еще одна проблема. Я пытаюсь понять Руководство пользователя Coco/R и спрашиваю у Google, но не могу решить проблему самостоятельно. Я упростил мою задачу до следующей грамматики Коко / R (сохранена в new4.atg): COMPILER Expr …
12 сен '16 в 14:49
0
ответов
LL1 и однозначная грамматика для болтания
Я пытаюсь написать простой компилятор, использующий Flex для сканера и специальный инструмент PGen для определения грамматики. Теперь я пытаюсь разгадать однозначную грамматику для других. Я искал это. Это грамматика с еще одной проблемой: S → if E …
22 апр '15 в 20:42
2
ответа
Повисший запрос (или упражнение по чтению неверного кода)
В книге, которую я читаю (C Как программировать с использованием C++ Global Edition, Deitel&Dietel;, 2016), приведен следующий код: Обратите внимание, что именно так книга представляет код в разделе упражнений, без использования фигурных скобок и от…
05 янв '18 в 16:09
1
ответ
Решение зависших if, elsif и else в Bison без объявлений ассоциативности
Я реализую синтаксический анализатор для языка, который имеет операторы if-elsif-else и не может сделать мою грамматику однозначной. Нашему классу компиляторов был предоставлен раздаточный материал по решению проблемы зависшего else для операторов i…
16 фев '20 в 02:30
1
ответ
Bison Flex уменьшает / уменьшает конфликты при свисании еще с помощью среднего действия
В настоящее время я перемещаю свой забавный проект на bison/flex в качестве парсера, и у меня возникли проблемы с решением конфликта уменьшения / уменьшения: // https://github.com/X39/yaoosl/blob/master/code-gen/yaoosl.y#L761-L766 ifthen: YST_IF YST…
23 апр '20 в 21:13
1
ответ
Генератор синтаксического анализатора Beaver конфликты сдвига-уменьшения, связанные с зависанием else
Я загружаю (сгенерированную) грамматику в генератор парсера Beaver. Множественные конфликты shift-reduce вызваны, кажется, проблемой висящих else в этих правилах: Condition = IF LPAR Expression.expression RPAR Statement.trueStatement OptionalStateme…
18 авг '20 в 12:28
1
ответ
Что на самом деле является проблемой висячего-другого в c?
Как может код работать так? Какие операторы if-else связаны друг с другом? Так почему же результат такой "$$$$$"? #include <stdio.h> int main() { int x = 11; int y = 9; if(x<10) if(y>10) puts("*****"); else puts("#####"); puts("$$$$$"); …
07 дек '19 в 23:35
0
ответов
Удаление сложного болтающегося зубра зубра
Я пытаюсь избавиться от лишнего в моей грамматике. Терминалы - это слова с заглавной буквы. У меня есть: statement: expression_statement (not important now ) | compound_statement (not important now ) | selection_statement | iteration_statement (not …
11 ноя '21 в 20:35
1
ответ
Как последний ANTLR4 разрешает двусмысленность "висящего остального"?
Я использую antlr 'org.antlr:antlr4:4.9.2'и натолкнулись на проблему двусмысленности "висящее остальное"; см. следующую грамматику IfStat.g4. // file: IfStat.g4 grammar IfStat; stat : 'if' expr 'then' stat | 'if' expr 'then' stat 'else' stat | expr …
25 ноя '21 в 12:19
3
ответа
Фигурные скобки (область действия) связаны с неожиданным выводом цикла if-elseif в C++
Я использовал обычную лестницу для обновления некоторых переменных в зависимости от условий. Условие может быть либоa,bилиc. Вот почему я использую лестницу. Но когда я используюif-elseifлестницу без фигурных скобок, я не получаю требуемого результа…
08 май '23 в 20:16