我有两个lex
带有函数的文件,xxlex()
还有yylex()
一个yacc
语法文件。我希望在语法规则上始终调用xxlex()
. 但是xxlex()
只调用一次,我希望它总是被调用。我该怎么做?
问问题
452 次
1 回答
1
默认情况下,Yacc 语法调用yylex()
以获取新标记。
如果您想在xxlex()
某些时间打电话,那么您可以安排yylex()
在适当的时间打电话。
如果你想xxlex()
每次都被调用,那么要么重命名它yylex()
并将原来的重命名xxlex()
为zzlex()
,或者使用bison -p xx
,以便所有内容(包括解析器函数)都以xx
而不是yy
. (相同的标志 ,-p
也适用于 POSIX-compliant 。该程序yacc
需要flex
生成所有-P xx
以xx
而不是通过将前缀从更改为其他一些字母,例如。)yy
lex
makefile
sed
lex
yy
xx
于 2013-05-19T01:15:15.280 回答