38. モデルの例
if then
main.c util.c
main.h util.h
app
if then
if then
Y Y 20
Y N 10
N Y 5
N N 0
プロダクションルール
システム
依存ネットワーク デシジョンテーブル
!これら以外にも、マーチン・ファウラーの本に様々な例が詳しく紹介されています。
44. DSLの作成
rule 電車特定区間の普通運賃表(東京) do
condition 経路全体マッチ do
sections 電車特定区間(東京)
end
action 運賃表変更 do
pricetable 電車特定区間の普通運賃表
end
end
!
rule 大都市近郊区間内のみをご利用になる場合の特例(東京) do
…
end
!
…
!Rubyで内部DSLを定義した場合のイメージです。Rubyならメタプログラミングな手法を使えば
もっとスマートに書けると思います。