适合使用XText和& S处理的方案XTEND?

时间:2014-10-30 07:35:25

标签: xtext syntax-checking

我需要为IDE提供一个语法检查器和验证器,用于非常简单的DSL。

DSL的解释器已经存在,因此不需要另一个。 DSL适用于xtext& xtend except 它允许一个人逃到javascript,我听说这是一个非常混乱的语言。

XText适合这种情况吗?我听说将xtext改为javascript是非常困难的,我还没有看到一个我可以轻松链接或扩展的开源xtext javascript项目。

谢谢!

修改:     我正在使用的dsl是nools规则语言。它看起来像这样:

rule "rule report to user" {
    when{
        $ctr: Counter $ctr.count % 1000 == 0 {count: $count}
    }
    then{
        console.log("Progressing...");
        modify($ctr, function(){this.count = $count + 1;});
    }
}

JavaScript出现在when子句中每个语句的模式中。在此示例中,模式为“$ ctr.count%1000 == 0”)。在模式中存在有限数量的非javascript替换,例如支持正则表达式运算符'=〜'。

then子句的全部内容是JavaScript,除了when中定义的别名在then子句中显示为变量。在这个例子中,$ ctr就是这样的别名。

1 个答案:

答案 0 :(得分:1)

如果

  • 语法明确地区分“普通代码”和“Javascript逃逸”
  • 您不关心Javascript部分的编辑器支持

然后你可以创建一个Xtext语法,逐字解析Javascript部分。

如果没有看到DSL并了解其用例,我无法提供更具体的建议。