新しいドメイン固有のプログラミング言語を正式に説明する


8

私は社会学習の慣習を表現するためにドメイン固有の言語を実装しようとしています。実装の一部は、言語の正式な記述-その「計算」、記号、および論理式です。

私のアプローチは、文法を記述することによって言語を記述することですが、関係、対話、より理論的なアプローチを必要とする期待やロジックの説明などの概念もあります。

この説明に役立つ例と参考文献(論文、本)をお願いしたいと思います。私はこのタスクに比較的有能に近づいていると感じているので、完全な手持ちを求めているわけではありませんが、この分野の理論家の助けをいただければ幸いです。


音は本当に面白いです。文法の説明は簡単です。ドメイン固有の概念にセマンティクスを提供することは、非常にオープンな研究分野です。あなたはグーグルで始めることができます:「セマンティクスドメイン固有言語」。
Dave Clarke、

正式な言語セマンティクスの記述について、すでに何を知っていますか?
Dave Clarke、

回答:


10

説明する必要があるセマンティクスには2つの部分があります。

  • 静的セマンティクス:整形式プログラムの構造

  • 動的セマンティクス:実行中のプログラミングの意味

静的セマンティクスは通常、型システムの形式をとります。Benjamin C PierceRobert Harperの本を見ることをお勧めします。あるいは、整形式プログラムの規則を、プログラムの有効性条件を説明する(公式または非公式の)ステートメントのコレクションとして書くこともできます。型システムが採用する正式なアプローチは、そのような仕様のためのよく知られたフレームワークを提供します。

動的セマンティクスを表現するための形式には、基礎として検討する多くの形式があります。

  • 意味論的意味論---意味論的ドメインに関して意味を与える
  • 運用上のセマンティクス---抽象マシンの状態に変化をもたらす
  • 公理セマンティクス---マシンの状態に関するアサーションに関して意味を与えます
  • 代数的意味論---意味論は代数的法則で定義されます。

これらのトピックに関する本はたくさんあるはずです。優れた広範な紹介の1つは、NielsonおよびNielsonのSemantics with Applicationsです。ダウンロード可能なバージョンは、著者のサイトから入手できます。新しい版もありますが、見たことがありません。

これらのそれぞれの中で、選択の余地があります。たとえば、運用セマンティクスを使用する場合、ラージステップセマンティクス、スモールステップセマンティクス、ラベル付き遷移システムに基づくセマンティクス、書き換えロジックに基づくセマンティクスがあります。

どのようなアプローチを取るべきかは、DSLの言語の種類、セマンティクスの設計での経験の種類、および個人的な好みによって異なります。

具体的な詳細がなければ、私はこれ以上手助けすることはできません。


@エドモンもっと知りたいです。
Dave Clarke

私が進むにつれて私は確かに共有します。私は私のブログでそれをするかもしれません、そして私が手助けを必要とする領域に遭遇するとき、あなたとコミュニティの残りの人々をここに参加させるかもしれません。すばらしい答えをありがとう。
エドモン2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.