使用bison和flex完成语法分析器


bison的结构

%{
 //自定义部分,会直接输出到.c文件中
%}
 
/* declare tokens*/
//声明token
%token NUMBER

%%
//语法规则部分
expr:    NUMBER            { $$ = $1; }
    | expr '+' expr        { $$ = $1 + $3; }
%%
 
//c语言部分

语法规则中,{$$ = $1 + $3}为语义行为,上文中$1表示前面的expr, $3表示后面的expr


Author: Xi Chen
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Xi Chen !
评论
  TOC