0

非常に単純な DSL の構文チェッカーとバリデーターを IDE に提供する必要があります。

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 がそのようなエイリアスです。

4

1 に答える 1

1

もしも

  • 構文は、「通常のコード」と「Javascript エスケープ」を明確に分離します。
  • Javascript パーツのエディター サポートは気にしない

次に、Javascript パーツを逐語的に解析する Xtext 文法を作成できます。

DSL を見て、その使用例を知らなければ、これ以上具体的なアドバイスをすることはできません。

于 2014-10-31T18:12:29.840 に答える