这个问题类似于,但对于yyparse,而不是yylex。
我已经和这个问题斗争了好几个小时了!我想从一个C程序中调用yyparse (实际上是一个C++程序,但我最终使用了旧的flex/bison,而不是C++ woops的新版本(甚至没有意识到C++版本的存在))。唯一的错误是'yyparse' was not declared in this scope。我尝试将变量定义为全局变量,但似乎不起作用。在我尝试的<
正如头文件中所描述的,我正在使用Bison和Flex来获得一个解析器,但是我需要处理错误并在找到一个之后继续。{ yyerror("Statement is not valid"); yyclearin; yyerrok;}然而,我总是得到一个msg“语法错误”,我不知道它从哪里来,以及如何防止它,以便执行我自己的“错误代码”。我在这里尝试做一个错误恢复,以便我的解析器将继续解析输入直到EOF。