我正在使用类似模板的编辑器创建DSL,就像Alice中的规则系统一样.用户将能够从列表中选择关系以及要应用关系的对象.应根据可接受的类型过滤这两个列表 - 例如,如果关系"大于",则可用对象必须是实现"大于"的类型.
类似地,如果选择的对象与大于的对象不可比,那么该关系不应该在潜在关系列表中.我认为这个问题的核心是类型检查器,但我不确定在我的应用程序中合并这种类型的逻辑的最佳方法.是否有人知道DSL的现有类型检查库?
我对开源和跨平台技术特别感兴趣.Java可能是我们最终会使用的语言,但这不是固定的.