我对lex / yacc / bison和解析器一般都很陌生。
我创建了lex和yacc文件(不确定这些程序本身是否相关),然后在Mac上的终端中使用以下命令进行编译:
lex lexer.l
yacc -d example.y
cc lex.yy.c y.tab.c -o example
哪个示例。我从我的计算机上消失了,并用y.tab.c和y.tab.h替换了它,lex.yy.c也出现了,虽然lexer.l仍在那里。
但是我没有任何a.out或类似的东西可以运行。
所以我编辑了lexer.l并再次编译。
现在lex.yy.c已经消失了,终端告诉我:
lexer.l:53: name defined twice
我想反编译lexer.l文件,让一切再次正常! HALP!
先谢谢大家!!!