1

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

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

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

谢谢, 巴林特

4

1 回答 1

1

看看 Xtext。Xtext 在后台使用 Antlr3 并为基于 Antlr 的语言提供内容帮助。看看包 org.eclipse.xtext.ui.editor.contentassist。

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

于 2013-04-22T14:52:29.637 回答