(編注:7月23日はJFRの試験日)帰りの電車の中で少し開発、というほどのこともしてないけど。int*が戻り値やら引数に渡せないので直したいが、そこまでの時間はない。parse_parameter_list()がちゃんとparse_type_name()を呼ばないのでうまく動かない。ASTのparamに型情報をもたせる必要がある。今は名前しか持ってない。するのが一番スマァートかねぇ。parse_parameter_list()の時点でAST_VARを作るという考え方もあるけど。それはまずいか?再帰ができないからまずいな。なると適当なPairをもたせる以外に無いかもしれない。VectorにVector持たせてもいいけど。7月26日ここ3日の記憶はない。Katoさんとhsjoihsさんがめっちゃ進捗を産んでいてつらかった。試験は残っているけれどとりあえず一段落。プログラムを書くぞ書くぞ。引数に渡していきたいようだ。*を引数に渡せるようにした。Pairとかいう構造体を作ったりしたのでちょっとアドホックだけどまぁこれはこれで。*test(&x);と書きたかったが書けない。これを書くためには関数呼出しの型をちゃんと決めないといけない。そのためには関数のリストを探索する必要がある。つらいな?これに対応させようと思ったら、外側にあるret0()とかで戻り値が分からずに死んでいる。それならエラーメッセージがほしいなぁ。適当にintに推論するようにして実装した。関数の戻り値の型が、関数を呼び出す式の型にちゃんと反映されるようになった。7月27日ポインタ演算を実装していく。Docにはめっちゃざっくりしか書いていなかったので、実装で悩む。コード生成のときに型を見て適当にやる感じでいいかな。加算と減算しか無いし。int*を返す外の関数を呼べるように関数宣言を作った。このあたり回避方法は死ぬほどあるけど、まぁそんなに実装的につらくなさそうだった。帰ってきてから夜なべして(っていうほどでもない)ポインタ演算を実装した。汚くなってしまったけど、まぁこれはこれで。intでASTを分けたほうがいいのかしら。