
606
14
章
Interpreter
パターンには正
式な文法の知識が必要です。
正式な文法を学習したことが
なくても、先に進んでこのパ
ターンを一とおり読んでみましょう。それでも
要点はわかるでしょう。
Interpreter
パターン
expression ::= <command> | <sequence> | <repetition>
sequence ::= <expression> ';' <expression>
command ::= right | quack | fly
repetition ::= while '(' <variable> ')'<expression>
variable ::= [A-Z,a-z]+
Interpreter
パターン
言語のインタプリタを構築する際に、Interpreter パターン
を使いましょう。
シナリオ
カモシミュレータを覚えていますか?
子供たちがプログラミング
学習するための素晴らしい教育ツールにもなりそうな予感がします。
このシミュレータを使えば、子供が
1
羽のカモを簡単な言語で制御で
きるようになります。言語の例は以下のとおりです。
それでどうする?
文法がわかったので、次に必要なのは、生徒が自分のプログラミン
グがシミュレーションされたカモに与える効果を確認できるように、
その文法に沿った文を表現し解釈する方法です。
さて、昔プログラミング入門クラスで習った文法の作成方法を思
い出し、文法を書き出してみましょう。
カモを右に向かせる
一日中飛ぶ
鳴く
プログラムは、コマンドと繰り返し ...