Semantic Grammar
昨日の論文の中身:
Semantic Grammar,つまり意味まで構文定義に書く方法...なんか普通にyaccとかに取り入れられている気もする
command = < ↓ env ↑ λs.(var (exp s) s) > variable< ↓ env ↑ type ↑ var > ':=' expression< ↓ env ↑ type ↑ exp >
ただし
env :: name-> type com :: s -> s ( sはstateのこと ) exp :: s -> val var :: val -> com
最後の var :: val -> com がわかりづらいけど
たとえば 変数 x は 値 5 を引数にとり, x:=5 という命令を作り出す関数
ということらしい.
さすがに82年の論文なので,オブジェクト指向のプログラムの文法は載っていない...ためしに作ってみるか?