2010-11-21 28 views
2

C#、Java、Scalaなどの汎用プログラミング言語(GPL)を使用して実装されたDSLを探しています。主な目的は、ソフトウェア業界で日常的に使用されているうまく設計されたDSL実装のさまざまな重要な属性を調査することです。異なるGPL(汎用プログラミング言語)を使用して実装されたDSL(汎用プログラミング言語)

このようなDSLの実装(例やリポジトリ)を教えていただければ幸いです。あなたがそれが良いDSLであると考える理由を述べていただければ幸いです。

は、

アディルAkhter


EDIT 1ありがとう:

私見を、この記事では、今日のソフトウェアで広く使用興味深い現行のDSLのリストを作成するために貢献することができます開発(検索後、少なくとも私はすべてのGPLをカバーするそのようなリストは見つかりませんでした)。

このリストの固有の利点の1つは、対象とするDSLとドメインのタクソノミを作成するために使用できます。

のDSL(GPLSによって分類)

  1. ルビーのDSL =>Ruby DSL (Domain Specific Language) repositories, examples
  2. ClojureののDSL

    以下は、いくつかの興味深いのDSLやツールについて説明関連リンクです=>Are there any Clojure DSLs?

  3. ScalaののDSL =>Interesting DSLs, Implemented in Scala?
  4. C#のDSL => SharpDOM(http://sharpdom.codeplex.com

ツール:

  1. のMicrosoft Visual Studioの可視化とモデリングSDK:http://code.msdn.microsoft.com/vsvmsdk

答えて

1

boost.spirit2を見てみましょう。 mplex DSLをメインストリーム言語で提供します。それ以外の場合は、DSLを書くのが非常に簡単なlispの方言を見ることができるので、それらの多くを見つけることができます。

1

non-procedural techniques for implementing DSLs, such as (our) program transformation systemとお考えください。私はあなたがそれらを驚くほど強力に見つけることができると思います。

+0

ご回答いただきありがとうございます。私はあなたの仕事のかなりのファンです。私は現在、戦略的用語の書き換えを使用するプログラム変換システムである[Stratego](http://strategoxt.org/)と協力しています。 しかし、この質問の第一の目的は、現実世界のプログラミング問題を解決するためにどのように、またどのような種類のDSL(またはリトル言語)が実装されているのか、そしてどのように成功/実行可能であるかを調べることでした。With Regards –

+0

SQL、リレーラダーロジック、制約言語、HDL(Verilog、VHDL)、HTML、XML、Prolog、もちろん言語ツール(EBNF、属性文法など)の構築に使用される言語もチェックしてください。これらはすべて非常に広く使用されているDSLです。どのようなものを私が見ているように有用なものにするかは、特定のタスクの簡潔な記述を可能にしたり、従来の手続き型(OOを含む)言語とは異なる計算モデルを提供することです。これまでに発明された最高のDSLの1つは、地球上のあらゆる深刻なエンジニアが使用する微積分です。これは数式で動作する制約システムです。 –

+0

もう一度ありがとうございます。私はこれらのDSLを調べます。 –

関連する問題