我可以使用其他語言的AST/JDT嗎?例如編寫我自己的解析器爲C#使用某種方式使用AST技術?我可以在其他編程語言中使用eclipse JDT/AST嗎?
回答
如果你看看文章「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
,在Eclipseorg.eclipse.jdt.core
插件中。
其他AST存在other languages,以及用於生成你自己的,你可以使用XText
alt text http://www.eclipse.org/Xtext/images/screenshot-title.png
但一個在JDT包speicialized爲Java。
它可以通過一個ASTView
被看作另見Exploring Eclipse's ASTParser製品蝕AST操作的Java的面向方面的另一圖示。
您不能將JDT用於其他語言(除非您定義嵌入式語法,請參閱Mark的註釋),它僅適用於Java,因爲它的名稱僅用於Java。如果你想爲C#構建一個解析器,antlr是一個很好的工具,它可以在輸入語法之後給你一個可見的樹。 Here是Antlr for C#中使用的語法。
您可以擴展JDT以獲得定製的類似於java的語言:http://blog.objectteams.org/2010/02/ide-for-your-own-language-embedded-in-java-part-1/ – 2013-03-17 00:19:29
感謝您指出這一點,你提到的文章很有趣。他問JDT是否可以用於其他語言。技術上,是的,我同意這樣[問題],但我認爲(http://stackoverflow.com/questions/7750995/antlr-is-it-possible-to-make-grammar-with-embed-grammar-inside),但我認爲成本高,因爲他只想處理一種語言。 – Ryan 2013-03-17 01:33:17
- 1. 我可以在使用AS3的Flash文件中使用其他語言嗎?
- 2. 我可以使用.NET語言編寫Eclipse RCP應用程序嗎?
- 3. iPhone應用程序可以用其他語言開發嗎?
- 4. 我可以在其他服務器端語言中使用silverlight嗎?
- 5. 我可以使用任何JVM語言爲android編程嗎?
- 6. 可能從其他編程語言(python/C#)使用Mathematica?
- 7. 是否可以使用其他語言編寫java代碼?
- 8. 可以以編程方式安裝Windows Phone語言語言嗎?
- 9. 我可以將異常消息語言更改爲其他語言嗎?
- 10. 出口在其他編程語言
- 11. 我可以在使用它的編程語言中實現記錄嗎?
- 12. 是否可以在其他語言中使用LINQ to SQL?
- 13. 我可以將PHP與其他腳本語言混合使用嗎?
- 14. 我可以編寫一個程序來監視使用Java或其他語言的文件嗎?
- 15. 可以用gwt與java以外的其他語言一起使用嗎?
- 16. 線程可以在Java /其他語言中睡眠少於半毫秒嗎?
- 17. 我們可以限制android應用程序鍵盤使用其他語言,而不是英語嗎?
- 18. Pylatex使用其他語言
- 19. 對於iPhone,您可以編程使用不同的語言嗎?
- 20. 我可以使用什麼編程語言將其實現到我的網站?
- 21. 編程語言如何調用用其他語言編寫的代碼?
- 22. 我可以在其他應用程序中整合Orbeon嗎?
- 23. Visual Studio - 可以創建對其他語言的支持嗎?
- 24. 爲什麼一些編程語言比其他編程語言更快?
- 25. 可以使用python腳本(或任何其他編程語言腳本)來限制其他應用程序使用的資源(如RAM,CPU使用情況)嗎?
- 26. 腳本語言是否可以翻譯成其他語言?
- 27. 我怎麼可以用匯編語言
- 28. Django模板語言:在其他語言中使用for循環
- 29. 可以使用Microchip的MPLAB在C語言中編程PIC 16f628a嗎?
- 30. 我可以調試在其他eclipse實例上運行的應用程序嗎?
如果你「只是」需要調試C#,我相信在非Windows平臺上有一個很好的調試器可用於Mono。 – 2009-12-09 17:15:43