在自定义编辑器中为特定于域的语言实现类似IntelliSense的行为

时间:2008-09-19 21:45:33

标签: types intellisense dsl

我正在使用类似模板的编辑器创建DSL,就像Alice中的规则系统一样。用户将能够从列表中选择关系以及要应用关系的对象。应根据可接受的类型过滤这两个列表 - 例如,如果关系“大于”,则可用对象必须是实现“大于”的类型。

类似地,如果选择的对象与大于,则该关系不应位于潜在关系列表中。我认为这个问题的核心是类型检查器,但我不确定在我的应用程序中合并这种类型的逻辑的最佳方法。有人知道DSL的现有类型检查库吗?

我对开源和跨平台技术特别感兴趣。 Java可能是我们最终会使用的语言,但这不是固定的。

2 个答案:

答案 0 :(得分:2)

您可以查看Scintilla。它是Notepad ++使用的编辑组件,以及其他工具。它有一些支持自动完成,虽然我没有尝试过自己使用它,所以我不确定它有多好用。它是开源的,所以如果它不能满足你的需求,你可以毫不费力地扩展它,我想。

答案 1 :(得分:1)

这可能对intellisense方面有帮助 - CodeTextBox

相关问题