サンプルDSL on the Web

DSLの説明用の例題がWeb上にありますので紹介します。

  1. An Introductory Example
  2. Fowler’s DSL example with Xtext
  3. Fowler’s DSL example with MGrammar (Draft!)

1番目のものが、本家Martin Fowlerさんの書かれているもので、Miss Grant’s Controllerというタイトルのところに概要があります。大切なものを家の中のどこかの引き出しに隠せるシステムで、これを開くために幾つかの決められた手順を踏まなければならない、というものです。下の方にState Machine図で書かれています。これをどのように表現するかで、幾つかの例が記述されています。少なくとも、Graphical DSL(State Machine図)とTextual DSL(コード部分)の両方の例が示されています。

2番目のものは、これをeclipseのTextual DSLで書いてみたもので、3番目はこれをOsloのMGrammerで書いてみたものです。

個人的には、3番目の記述は詳細過ぎるので、2番目の記述と同程度のものが書ける(比較のためには同程度の記述が望ましい)と思います。もう一言感想を書くと、2番目と3番目は(同じ範囲を書く限り)かなり類似した記述になるだろうと思います。

この例題が本質的にState Machineだとすると、State Machineを表す(eclipseの)ecoreファイルなどいろいろ見つかると思いますので、(可能性は低いかもしれませんが)別の記述方法が見つかるかもしれません。

サンプルDSL on the Web

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中