次の簡単な文法があります。
E -> T | ^ v . E
T -> F T1
T1 -> F T1 | epsilon
F -> ( E ) | v
私は Bison にかなり慣れていないので、誰かがその形式で書き出す方法を教えてくれることを願っていました。私がこれまでに持っているのは次のすべてですが、それが正しいかどうかはわかりません。
%left '.'
%left 'v'
%% /* The grammar follows. */
exp:
term {printf("1");}
| '^' 'v' '.' exp {printf("2");}
;
term:
factor term1 {printf("3");}
;
term1:
factor term1 {printf("4");}
| {printf("5");}
;
factor:
'(' exp ')' {printf("6");}
| 'v' {printf("7");}
;
%%