DSLとはドメイン特化言語とかドメイン固有言語とか言われているもの
なので、戦略(ルール)記述にDSLを自作しようとするのは当然の帰着
とは言いながら・・・
最近になって DSLという概念があることを知りました
Esgrsdnl エスグルスドゥヌルという自作DSL(笑) - SU/CAR-ST-APplication-cells
とDSLという概念を知ったのは2018/11で、それ以前に独自言語とかの意識はあった
ただ、この2018/11時点ではまだ単なるm4によるマクロ言語というだけでしたので、DSLという概念を知って、より言語っぽくしたのは確か・・・
とはいえ、なんちゃって言語ですけど・・・
しかし改めて考えてみれば、シストレにおける戦略(ルール)記述はまさに特化ドメインといえそう
ドメインとは領域とかいう意味で、シストレの戦略(ルール)記述はまさにDSLとなる思う
実際、戦略(ルール)以外記述してもしょうがない
まあ、最低限「やあ世界」くらいできた方がいいかもしれないけど・・・w
DSLには次のような利点がある とのことで
- DSL は問題領域に適した抽象レベルと慣用句でソリューションを表現する。そのため、その領域の専門家が DSL で書かれたプログラムを理解でき、検証でき、修正でき、さらには開発できる。ただし、実際にそうなっている実例は少ない。
- コード自体がドキュメントの役割を果たす。
とある
1はなるほどである なので、このブログは実際にそうなってる例を示せたらと思って解説したのである(失敗するかもしれないw)
2はまさにそう思う 作ったDSLを熟知してれば、特にコメントやドキュメントは要らない ルールそのものを記述してるのだから・・・
ということでシストレツール自作するならDSLまで考えてみるものお勧めです
シストレにおける戦略(ルール)記述はまさに特化ドメインなので