2009-12-09 32 views
3

我可以使用其他語言的AST/JDT嗎?例如編寫我自己的解析器爲C#使用某種方式使用AST技術?我可以在其他編程語言中使用eclipse JDT/AST嗎?

+0

如果你「只是」需要調試C#,我相信在非Windows平臺上有一個很好的調試器可用於Mono。 – 2009-12-09 17:15:43

回答

4

如果你看看文章「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的面向方面的另一圖示。

0

您不能將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://stackoverflow.com/questions/7750995/antlr-is-it-possible-to-make-grammar-with-embed-grammar-inside),但我認爲成本高,因爲他只想處理一種語言。 – Ryan 2013-03-17 01:33:17

相關問題