5

DSL は API のように単純であり、したがってパーサーを必要としないのではないでしょうか? または、ドメイン固有言語が実際に何であるかを誤解していますか? 特定のドメインの問題を解決するための組織化された一連のルールを指していると思いました。API はその定義に適合するように見えますよね?

4

5 に答える 5

1

ホスト言語のセマンティクスのみが残っています。

例: 命令型言語での関数型プログラミングは機能しません。これで、この命令型言語に機能的な DSL が追加されました...

于 2009-02-01T23:02:03.503 に答える
0

はい、絶対に -ホスト言語がそれをサポートするのに十分な柔軟性を持っている場合、単なるAPI は DSL としてうまく機能します。

特にオプションの括弧やその他の柔軟性を考えると、Ruby はそのような言語にとって非常に優れた言語です。

  • Rails は、データベース駆動型の Web アプリケーションを作成するための DSL と呼ばれることがよくあります。

  • Rake は、(よりスマートな) makefile を作成するための DSL を備えたビルド システムです。

私自身のOOFILEは、C++ でデータベース アプリケーションを作成するための DSL と見なすことができるフレームワークです。これは dBase に触発されており、C++ 演算子のオーバーロード、ローカル オブジェクト、ストリーム イディオムを多用しています。

Forth プログラムは空白で区切られた一連の単語にすぎないため、Forth は古典的に DSL と API の境界線があいまいな言語です。おそらく最も印象的な Forth DSL の例はAbundanceです。Abundanceは Forth ベースのビジネス プログラミング言語であり、BBL Forth で記述されています。BBL は 32 ビット DOS FORTH コンパイラです。そのまま配布。警告を参照してください。これは気弱な人向けではありません。主に、古いklunker XTおよびATコンピューターで高速な実行が必要な第三世界向けのソフトウェアを開発している人にとっては興味深いでしょう。これを使用して、最新のデータ入力プログラムを循環させる非常に洗練されたデータ入力プログラムを作成できます。

于 2009-02-01T23:32:37.890 に答える
-2

そしてもちろん、グラフィカルな DSL は解析をまったく必要としません。

于 2009-05-11T17:55:44.353 に答える