なんちゃってPascalを作ってみる(3)

プログラミング

こんにちは。前々回の自動投稿をセットしていたつもりでしたが、なぜか失敗していて実際の投稿は遅れてしまいました。

さて、前回はデザインパターンのうち、Compositeパターンを取り上げました。

今回は抽象構文木(Abstract Syntax Tree:AST)をCompositeパターンを使って概略を作っていこうと思います。

astEntryクラス

前回のEntryクラスを参考に、葉も節も扱えるastEntryクラスを作ってみます。

astがついているのは、構文抽象木のASTを作るつもりということで付けています。

まだ、全体像をつかめていないので、astEntry(仮)クラスとしておきます。

ほとんど前回のEntryクラスと同じということは気にしないでください。

astLeafクラス

次に葉にあたるクラスを作ります。

前回のCompositeパターンでは、_elementはstringでしたが、今回はtokenとして定義しています。

違いはこの程度かな。

astNodeクラス

次に節にあたるクラスを作ります。

_elementがastEntryのリストになった程度の違いでしょうか。

週刊マンガでほとんどストーリーが進展しないで終わってしまう感じですが、今回はこれでおしまいにします。

それではまた。

Posted by 春日井 優