Вопросы по теме 'reduce-reduce-conflict'

Уменьшить / уменьшить конфликт
Я пишу грамматику (YACC - "LALR"), которая должна распознавать, например, следующие слова: ident(ident,...,ident) = ident(num,ident,num,...,num) ident(ident,...,ident) = num ident = num ident = ident(num,ident,num,...,num)...
164 просмотров
schedule 09.09.2022

Почему эта грамматика не имеет конфликта сокращения/сокращения?
Рассмотрим следующую (по общему признанию бессмысленную — она была значительно упрощена, чтобы проиллюстрировать суть) грамматику: negationExpression : TOK_MINUS constantExpression %prec UNARYOP | testRule ; constantExpression :...
48 просмотров
schedule 21.06.2022

Разрешение конфликта уменьшения-уменьшения
Проблемная часть грамматики: expr_var: var_or_ID | expr_var '[' expr ']' | NEW expr_var '(' expr_listE ')' | expr_var '(' expr_listE ')' | expr_var ARROW expr_var | expr_var ARROW '{' expr_var '}' | expr_var DCOLON expr_var | expr_var DCOLON '{'...
343 просмотров

Бизон уменьшает/уменьшает конфликты
Я написал следующую грамматику: %union{ string *s; float num; } %token div_token mod_token sqrt_token it_token abs_token %token <num> num_token %token <s> Stampa %type <num> E %left '+' '-' %left '*' '/' div_token...
392 просмотров
schedule 13.10.2022

LR(1) Parser: почему добавление эпсилон-продукции приводит к конфликтам r/r или s/r
Я хотел сделать ридер, который читает файлы конфигурации, похожие на файлы INI для mswin. Это для тренировки, чтобы научиться использовать генератор лексера/парсера, который я сделал. Грамматика такова: %lexer HEADER ::= "\\[[0-9a-zA-Z]+\\]"...
83 просмотров

Конфликты Shift-reduce и reduce-reduce с LR
Это грамматика: expr-> expr OPER expr expr->PREFIX expr expr->expr POSTFIX expr->expr ‘?’ expr ‘:’ expr expr->expr‘[’ expr ‘]’ expr->expr‘(’ expr ‘)’ expr->ID expr->CONSTANT expr->‘(’ expr‘) Я не могу найти конфликты...
28 просмотров