1
我,包括我的C代码的两个diferent法解析器所以包括它定义的前缀,第二个:当我结合这一个在全球proyect它编译没有法前缀未定义的符号yyparse
%option prefix="prep"
错误,但在执行时,如果我尝试调用prepparse(原yyparse)我得到这个错误:
undefined symbol: prepparse
我曾尝试包括外部参考(不太清楚,如果这是正确的):
extern int prepparse(void);
和定义它在莱克斯头:
#define yyparse prepparse
但我仍然得到同样的错误。
任何想法我做错了什么?
而你编译'prep.lex.c'而不是'yy.lex.c'(至少这是使用'flex -Pprep'时的事情的flex方式)? – Jens
我正在编译lex.prep.c和lex.yy.c,因为它们在不同的阶段被调用,首先prepparse()用于预处理,然后用于yyparse进行权威性的解析。 – jordi
刚刚编译,或两者都链接到可执行文件? – vonbrand