gpt4 book ai didi

java - 如何模块化 JavaCC 语法文件 (.jj)?

转载 作者:行者123 更新时间:2023-12-03 11:31:49 32 4
gpt4 key购买 nike

我正在学习编译器构造并想要实现JavaScript使用 JavaCC 的语法。

(我已经编写了自己的 JavaScript CodeModel,它允许以编程方式构造 JavaScript 代码,现在我想为此编写一个基于 JavaCC 的解析器对应项。)

我的问题是,有没有办法将 JavaCC 语法(.jj-file)模块化为多个文件?

我对JavaParser有很好的经验所以我正在向他们学习java_1_5.jj语法。然而,这是一个 3000 多个 LoC 文件,有点难以理解。

我想将语法文件分成几个部分,以便更容易处理和理解。我在 Google 上搜索“javacc module”、“javacc include”、“javacc import”给我带来了一些神秘的结果,但没有多大帮助。

具体来说,如何将 IDENTIFIER ( lines 380-1081 ) 的定义移动到另一个文件?

最佳答案

JavaCC 中没有内置方法来模块化 .jj 文件。最好的办法通常是使用 JJT,因为这允许您将所有操作移出语法文件。如果您不想使用 JJT,下一个最好的办法可能是使用构建器模式。

如果您只想要一个包含工具,可以使用许多预处理器。

关于java - 如何模块化 JavaCC 语法文件 (.jj)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26698266/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com