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