0

有没有一种标准的方法来实现使用 Flex 和 Bison 对导入的模块进行单独编译?就我而言,当解析器在导入声明中遇到标识符时,它需要以某种方式推送当前状态并开始编译导入的模块,然后弹出状态并继续编译先前推送的模块。有什么线索吗?

4

1 回答 1

1

您需要构建一个可重入解析器和扫描器。

Bison 有一些实验性的支持,可以用它的“纯”api 来做这件事——你把它放在%define api.pure.y 文件的顶部。同样,flex%option reentrant在它的第一部分有一个你可以用来构建一个可重入扫描器的。有关更多详细信息,请参阅bison 文档flex 文档

于 2012-10-15T21:59:22.350 回答