我能从生成的代码中删除ANTLR依赖吗?

8

ANTLR可以从语法文件生成Java源代码。生成的源代码依赖于ANTLR类。

我能否使用ANTLR生成不包含任何ANTLR依赖关系的“干净”Java源代码?

如果不能,有人可以推荐一些在性能方面表现优异且能够生成干净Java代码的Java解析器吗?


我认为这是一个非常好的问题。随着工具、框架和库的大量可用性,垂直扩展的限制以及水平扩展和能源消耗对环境的影响,我相信在现代优质软件工程中,编写精简无冗余代码应该是首要关注的问题,而不是功能。 - Coder Guy
嘿@JonathanNeufeld,我同意你的观点 - 我可以引用你的话吗?这就是为什么我编写了jodd - 以最小化代码库... - igr
2个回答

2
“移除ANTLR的运行时依赖关系真的不实际。您需要将ANTLR运行时库与识别器一起分发。
如果我没记错的话,JavaCC会在“生成”的代码中创建必要的运行时类(JavaCC的“样板代码”),因此您无需包含额外的JAR文件。
您对ANTLR依赖性的担忧根源是什么?”

生成的代码应该是框架/库的一部分,因此我希望保持依赖关系最小化,以避免与现有客户端antlr jars的不同版本可能发生的冲突。但更重要的是,这是我的意愿 ;) - igr

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接