我需要为非常简单的DSL提供带有语法检查器和验证器的IDE。适合使用XText和XTend进行处理的场景?
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中作为变量出现的别名定义在else子句中时。在这个例子中$ ctr就是这样一个别名。
谢谢。我用更多的信息修改了这个问题。是否有一个解析Javascript的现有Xtext语法? – Colin 2014-10-31 19:49:59
我在Github上发现了一个打字稿语法的概念证明: github.com/vorburger/eclipse-typescript-xtext/ 但是我猜这样做很好,需要花费很多时间。 JavaScript不是简单的语言=) – 2014-11-01 20:30:08
感谢您的意见。我会看看,时间是一个重要因素,所以IDE支持可能不在我们的未来。 – Colin 2014-11-02 11:01:46