为ANTLR创建新语言目标的过程在哪里讨论?虽然由于可用的目标数量似乎与ANTLR3有一些共同的知识,但我没有看到源代码中捆绑的任何文档,也没有找到任何明显的谷歌地方。
我希望找不到ANTLR4的任何此类文档,但我根本没有看到任何文档。
答案 0 :(得分:1)
ANTLR 3和ANTLR 4的过程完全不同。
可以从C# target的源控制历史中推断出一种方法,但可能不是唯一的方法。除此之外,您应该非常了解可用的数据结构,并在Java和目标语言中使用。运行时算法非常对哈希码的计算方式以及用于在地图中存储对象的方式非常敏感,因此需要精确保留Java目标的行为语义,即使意味着生成的代码看起来不像Java目标。
答案 1 :(得分:0)
在撰写本文时,没有指导如何创建新的ANTLR目标。 ANTLR4的共同主持人,C# target的作者Sam Harwell已经开始making notes on how to create a new target,但还没有完成(还)。
有兴趣编写新目标的人可以看看C#是如何实现的(当然还有原始的Java目标)。但要意识到这绝不是一项微不足道的任务!
答案 2 :(得分:-1)
也许有人可以建立一个Jython桥,这样我们至少可以轻松获得Python?