在一个项目中处理多个 Flex/Bison 解析器的最佳方式是什么?
我写了一个解析器,现在我在同一个项目中需要第二个。到目前为止,parser1.y我在第三部分中插入了main(..)方法并yyparse从那里调用。
我想要获得的是拥有两个不同的解析器(parser1.y和parser2.y)并能够从外部函数中使用它们(假设main在main.cpp)。
我应该使用哪些预防措施将yyparse函数导出到.y文件之外,我应该如何处理两个解析器?
PS。我正在使用 g++ 编译但不是 Flex 和 Bison 的 C++ 版本,我想保持这种方式(因此避免将解析器封装在对象中)。