0

私は DSL について学んでいて、それらを理解できる文脈に入れようとしています。

たとえば、インターネット広告について話しているとしましょう - それは私が取り組みたい分野なので - 構築できる小さなカスタム DSL の例は何ですか?

また、これを実装するために必要な高レベルの技術的手順は何ですか?

4

3 に答える 3

1

私は昨年、VS2005 用の DSL ツールを使用しています。

それを学ぶには、Steve Cook、Gareth Jones、Stuart Kent、および Alan Cameron Wills による「Visual Studio DSL ツールを使用したドメイン固有の開発」を読む必要があります。

これはエントリーポイントであり、いくつかの高度なトピックを含む、テクノロジーに関するあらゆる側面をカバーしています。

于 2009-06-29T13:06:03.030 に答える
1

ドメイン固有言語は、定義上、ドメインの専門家が使用するために設計された言語です。

このトピックは非常に大きく、次のように分類できます。

  • 内部または外部 - プログラマーが作成するホスト言語の一部か、スタンドアロンか。
  • 命令的または宣言的-「プログラム」の流れを指示しますか、それとも満たす必要があるプロパティを書き留めていますか.
  • 聴衆 - これはプログラマーまたは非プログラマーによって書かれますか

DSL の大きなサブセット (以下のものを含む) は、ルールまたは推論エンジンによって一度に評価されるルールとして記述できます。

インターネット広告の分野では、特定のページにどの広告を表示するかを管理する一連のビジネス ルールを作成する必要がある場合があります。

if page.popularity is high then use ads of account[valuable]

if page.topic is not NSFW then use ads of topic[not NSFW]

if browser does not support flash then use ads of capability[javascript]

この特定のケースでは、クリーンで人気のあるページは、最高の支払いアカウントから広告を取得し、安全に仕事をすることができます.

これが共鳴するアプローチである場合は、既存のルール エンジンを統合することをお勧めします。エンドユーザーが開発者でない場合、DSL だけでなく一定量のツールを提供する必要があるため、これは特に賢明です。

于 2009-06-26T22:00:04.717 に答える
0

ゲームには少し遅れましたが...

Google には、Google の広告主が掲載できる広告を特定する DSL があります。通常の Google 検索 (部分一致 [引用されていないテキスト]、フレーズ一致 [引用された文字列]、完全一致 [括弧内の文字列]) と、一致を除外するために使用される Google 検索である「除外キーワード」で構成されます。 . 一連のフォームから入力されるため、プログラミングのようには見えませんが、最終的に入力されるのはかなり簡潔なテキスト文字列です。これはあまり賢い DSL ではありません (私は実際にそれを使用しなければなりませんでした。ローエンドに正規表現が含まれ、ハイエンドに自然言語解析が含まれていればよかったのですが)、非常に現実的であり、何百万人もの「非プログラマー」によって使用されています。 "。

DSL の実装には 2 つのステップがあります。DSL の解析 (内容を理解するため) とその意味の機械化です。解析はかなりよく理解されています。Stack Overflow に浮かぶ解析に関する質問を参照してください。機械化ははるかに困難です。私たちが「Google」と考えているの、主にその DSL の機械化です。

于 2011-06-12T04:51:47.997 に答える