我需要爲非常簡單的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