сдвиг / уменьшение конфликта - PullRequest
1 голос
/ 11 апреля 2011

Приоритет:

%nonassoc low<br> %nonassoc less_than_or_equal less_than equal_operator<br> %left op_plus op_minus<br> %left op_multiply op_devision

правила:

expr : expr op_plus expr<br> | expr op_minus expr<br> |expr op_multiply expr<br> |expr op_devision expr<br> |'~' expr |open_paran expr close_paran |int_val |float_val ;

bool_expr : expr less_than_or_equal expr<br> | expr less_than expr<br> |expr equal_operator expr<br> |NOT bool_expr<br> |TRUE<br> |FALSE ;

expression : expr %prec low<br> |bool_expr;

Я получаю сдвиг / уменьшение конфликта после expr, есть идеи, как его решить ??

1 Ответ

1 голос
/ 11 апреля 2011

Добавьте правило приоритета для «~», чтобы исправить проблему (например, если «~» используется для отрицания, я бы связал его справа):

%right '~'
...