Eclipse中的ANTLR和内容辅助

时间:2011-05-06 20:44:48

标签: antlr content-assist

我在Eclipse中有一个项目,我有一个自定义语言的编辑器。我正在使用ANTLR为它生成编译器。我需要的是向编辑器添加内容辅助。

输入是自定义语言中的源代码,以及用户请求内容辅助的字符位置。源代码大部分时间都不完整,因为用户可以随时请求内容辅助。我需要的是计算对给定位置有效的可能令牌列表。

可以编写自定义代码来进行计算,但该代码必须手动保持与语法同步。我认为解析器正在做类似的事情。它必须能够在给定的上下文中确定什么是可接受的令牌。有可能“重用”那个吗?无论如何,创建内容辅助的最佳做法是什么?

谢谢, 巴林特

1 个答案:

答案 0 :(得分:1)

看看Xtext。 Xtext使用Antlr3并为基于Antlr的语言提供内容辅助。请特别关注包org.eclipse.xtext.ui.editor.contentassist。

您可以考虑使用Xtext重新定义语法,这将提供开箱即用的内容辅助。无法重用自定义语言的Antlr语法。