我可以在其他编程语言中使用eclipse JDT/AST吗?

问题描述:

我可以使用其他语言的AST/JDT吗?例如编写我自己的解析器为C#使用某种方式使用AST技术?我可以在其他编程语言中使用eclipse JDT/AST吗?

+0

如果你“只是”需要调试C#,我相信在非Windows平台上有一个很好的调试器可用于Mono。 – 2009-12-09 17:15:43

如果你看看文章“Eclipse JDT - Abstract Syntax Tree (AST) and the Java Model - Tutorial”,JDT和它的AST是为Java量身定做的。

Eclipse Java开发工具(JDT)提供了访问和操作Java源代码的API。
AST是Java源代码的详细树形表示。 AST定义了API来修改,创建,读取和删除源代码。
AST的包为org.eclipse.jdt.core.dom,在Eclipse org.eclipse.jdt.core插件中。

其他AST存在other languages,以及用于生成你自己的,你可以使用XText

alt text http://www.eclipse.org/Xtext/images/screenshot-title.png

但一个在JDT包speicialized为Java。
它可以通过一个ASTView

alt text

被看作另见Exploring Eclipse's ASTParser制品蚀AST操作的Java的面向方面的另一图示。

您不能将JDT用于其他语言(除非您定义嵌入式语法,请参阅Mark的注释),它仅适用于Java,因为它的名称仅用于Java。如果你想为C#构建一个解析器,antlr是一个很好的工具,它可以在输入语法之后给你一个可见的树。 Here是Antlr for C#中使用的语法。

+1

您可以扩展JDT以获得定制的类似于java的语言:http://blog.objectteams.org/2010/02/ide-for-your-own-language-embedded-in-java-part-1/ – 2013-03-17 00:19:29

+0

感谢您指出这一点,你提到的文章很有趣。他问JDT是否可以用于其他语言。技术上,是的,我同意这样[问题],但我认为(http://*.com/questions/7750995/antlr-is-it-possible-to-make-grammar-with-embed-grammar-inside),但我认为成本高,因为他只想处理一种语言。 – Ryan 2013-03-17 01:33:17