【发布时间】:2013-03-03 01:20:17
【问题描述】:
我有以下简单语法:
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");}
;
%%
【问题讨论】:
标签: parsing compiler-construction grammar bison yacc