1 yacc
如何在yacc中指定具有相同操作的多个规则示例:
variable : string {
cout<<$1<<endl;
}
| int {
cout<<$1<<endl;
}
这通常通过定义中间规则在yacc中完成.例如
any_value : string
| int
;
variable : any_value {
cout<<$1<<endl;
}
;
Run Code Online (Sandbox Code Playgroud)
如果值与字符串和int隐含的值更密切相关,则可以使用词法分析器,例如,通过将不同类型的数字(整数,浮点)组合为单个标记类型编号.