問題タブ [dsl-tools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
132 参照

parsing - グラフィカル DSL ワークベンチが使用するアプローチ: パーサーまたはプロジェクション?

私の知る限り、DSL エディターが使用する 2 つのアプローチがあります。

1-テキスト DSL を開発するためのパーサー ベースのアプローチ: ユーザーが文法を指定すると、ワークベンチがこの文法を認識するパーサーを生成します。パーサーは、コード ジェネレーターなどで使用される抽象構文ツリーを構築します。

2-射影アプローチ: ここにはパーサーはありません。抽象構文ツリーはユーザーのジェスチャーによって直接編集され、射影規則は抽象構文ツリーのレンダリング方法を指定します。これにより、異なる表記 (テキスト、グラフィック、表など) を同時に使用できます。

今、グラフィカルな DSL ワークベンチ (Microsoft の DSL ツールなど) を見ると、彼らがどのようなアプローチを使用しているのか、DSL の定義の背後にあるステップは何なのかが気になります。射影アプローチの場合、なぜグラフィック表記のみに限定されているのですか?

私の考えは、それは両方を使用するということです。表記をグラフィカルにする射影アプローチですが、モデルは特定の形式 (たとえば XML) で保存され、解析されます。

ありがとうございました。