DSL / Using Grammars to Choose Internal Elements


DSL

文法を使用して内部の要素を選択する

一言要約

DSLの論理的な文法を検討し、実装方法を選択しましょう。

要約

要素の性質BNF記法による例考えられる実装
必須リストparent ::= first second thirdNested Function
オプションリストparent ::= first maybeSecond? maybeThirdMethod Chaining 
Literal Map
同じサブ要素が複数
(均質バッグ)
parent ::= child*Literal List
Function Sequence
異なるサブ要素が複数
(異質バッグ)
parent ::= (this|that|theOther)*Method Chaining
コレクション
(Set)
該当なし*Literal Map
最低1回※1parent ::= child+該当なし

※1:内部DSL構築には役に立たない。最善策は、複数要素の一般的なフォームを使い、解析中に検査する事。

ファウラーへのフィードバック

担当者のつぶやき

DSLすっかり忘れました。引退時の千代の富士状態です。


みんなの突っ込み

  • 体力の限界? -- 角田? 2010-02-19 (金) 00:40:09