【发布时间】:2017-09-07 14:44:30
【问题描述】:
这个post about the antlr simple example 展示了如何为我们创建一个java 语法。
但是,这将 Exp.g 源代码中的语法和 Java 源代码混合在一起。
我的问题是,是否可以将语法文件与目标语言解耦,以便一个语法文件可以用于生成多个 Java、Scala、C++ 等 Lexers/Parsers?
【问题讨论】:
-
一般来说,.g 语法确实与目标语言解耦,这个 Exp.g 似乎就是这种情况。例如 C# 的目标:github.com/tunnelvisionlabs/antlr4cs,或 C++:soft-gems.net/index.php/tools/49-the-antlr4-c-target-is-here。我相信在 java 之外编写目标超出了 ANTLR 项目本身的范围
-
@SimonMourier - 我认为你误解了这个问题。 Exp.g 参考 d 与 Java 混合。它是,我试图避免。