以下是相关错误:
grammar.y:72: error: conflicting declaration ‘typedef union YYSTYPE YYSTYPE’
y.tab.h:83: error: ‘YYSTYPE’ has a previous declaration as ‘typedef union YYSTYPE YYSTYPE’
make: *** [y.tab.o] Error 1
我正在使用flex和byacc来制作翻译器。我的构建具有以下结构:
似乎正在发生的事情是:y.tab.h包含YYSTYPE联合的联合声明。这包含在lex.yy.c中,它包含在grammar.y中。但与此同时,grammar.y正在制作自己的联盟版本,并且两者发生冲突。
这不是标准方法吗?有什么我需要改变才能使它正确构建?
答案 0 :(得分:0)
糟糕。事实证明我没有与野牛一起编译。我的另一个系统有yacc符号链接到bison,所以我不得不更改makefile以使用bison而不是yacc。