繁体   English   中英

我可以将Eclipse JDT / AST用于其他编程语言吗?

[英]Can I use eclipse JDT/AST for other programming languages?

我可以将AST / JDT用于其他语言吗? 例如,为使用某种AST技术的C#编写自己的解析器?

如果您查看文章“ Eclipse JDT-抽象语法树(AST)和Java模型-教程 ”,那么JDT及其AST是为Java量身定制的。

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

存在其他语言的其他AST,并且为了生成自己的语言 ,可以使用XText

替代文字http://www.eclipse.org/Xtext/images/screenshot-title.png

但是jdt包中的一个专门针对Java。
可以通过ASTView进行查看

替代文字

另请参阅探索Eclipse的ASTParser文章,作为日食AST操作的面向Java方面的另一说明。

您不能将JDT用于其他语言(除非您定义嵌入式语法,请参见Mark的注释),它仅用于Java,如其名称所示。 如果要为C#构建解析器,则antlr是一个不错的工具,可以在输入语法后为您提供可见的树。 是Antlr中用于C#的语法。

您可以使用ANTLR(另一个用于语言识别的工具),它是一种非常强大的功能,可以从您的语法文件中生成词法分析器和解析器。 好消息是,您将在github上找到开源语法文件。 https://www.antlr.org/ https://github.com/antlr/grammars-v4

您将需要创建自己的AST模型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM