Bison - pierwszeństwo operatora

Mam pytanie o pierwszeństwo i asocjatywność operatora w Bison.

W każdym przykładzie widzę produkcjeexpr 'op' expr, na przykład: http: //dinosaur.compilertools.net/bison/bison_8.html

Ale jeśli użyłbym żubra%lefti inne narzędzia asocjacyjne i używałbym gramatyki takiej jak:

  expr|     expr binop expr
      |     expr relop expr
      |     expr logical_op expr

i

 binop: '+' 
      | '-' 
      | '*' 
      | '/' 
      ;
 relop: EE
      | NE
      | LE
      | '<'
      | GE
      | '>'
      ;
 logical_op: AND
           | OR
           ;

czy zostaną zastosowane zasady asocjatywności i pierwszeństwa?

Czy muszę napisać expliciteexpr 'op' expr dla każdego operatora?

Pytam, ponieważ kiedy próbuję użyć gramatyki takiej jak ta, którą napisałem, otrzymuję ostrzeżenia o konfliktach.

Ale kiedy ręcznie piszę produkcje takie jakexpr '+' expr Nie otrzymuję żadnych ostrzeżeń.

questionAnswers(2)

yourAnswerToTheQuestion