我正在使用类似模板的编辑器创建DSL,就像Alice中的规则系统一样。用户将能够从列表中选择关系以及要应用关系的对象。应根据可接受的类型过滤这两个列表 - 例如,如果关系“大于”,则可用对象必须是实现“大于”的类型。
类似地,如果选择的对象不与大于,则该关系不应位于潜在关系列表中。我认为这个问题的核心是类型检查器,但我不确定在我的应用程序中合并这种类型的逻辑的最佳方法。有人知道DSL的现有类型检查库吗?
我对开源和跨平台技术特别感兴趣。 Java可能是我们最终会使用的语言,但这不是固定的。
答案 0 :(得分:2)
您可以查看Scintilla。它是Notepad ++使用的编辑组件,以及其他工具。它有一些支持自动完成,虽然我没有尝试过自己使用它,所以我不确定它有多好用。它是开源的,所以如果它不能满足你的需求,你可以毫不费力地扩展它,我想。
答案 1 :(得分:1)
这可能对intellisense方面有帮助 - CodeTextBox