Вопросы по теме '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 просмотров
schedule
01.06.2023
Бизон уменьшает/уменьшает конфликты
Я написал следующую грамматику:
%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 просмотров
schedule
19.07.2022
Конфликты 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 просмотров
schedule
04.01.2023