reduce.ml をいじる。演算表 部分の実装。
演算って何があるかな? Ctt_abstree.binop .. たくさんある。
CTTbinTimes, CTTbinDiv, CTTbinPlusVV, CTTbinPlusPV, CTTbinMinusVV, CTTbinMinusPV ...
でも定数に絡んでくるのは限られてくる。まず、定数に対して++, -- などはエラー
PVはポインタ演算, VV はポインタが絡まない演算。
例
const_pp.c
なにがおこる?
そもそも、 reduce.ml で定数の計算を行っているのだが、ここでは CTTConstInteger どうしの演算を 扱っている。のでポインタは絡むのか?int* p = NULL; int n = (int)(p + sizeof(int));
リンク
mallocの型づけ