コンパイラ作成(89) 式のエラーチェック
今回の目標
前回に続きエラーチェック。
// 壊れてる式 int main() { int i; i = ; }
壊れた代入。
codegen_assign
# 代入のコード生成 def codegen_assign(el) if el.size != 3 then perror end if el[2] == nil then perror "broken expression" end type_r = codegen_el [el[2]]
codegen_elを呼ぶ前にチェックをするように修正。
動作テスト
~/myc$ myc err42.myc err42.myc:5:8 error: broken expression ~/myc$
大丈夫だね。今回は一個しかチェックできなかったよ。二回続けてエラーチェックまわりをやったけど、次回はdouble型関連に戻るかな。