2019-07-14から1日間の記事一覧

コンパイラ作成(101) 配列への代入

今回の目標 今回は代入だよ。 // 配列 int main() { int a[10]; a[0] = 42; printf("a[0] = %d\n", a[0]); } まずは単純な場合から。 codegen_assign 今回、大きく書き換えたよ。 # 代入のコード生成 def codegen_assign(el) if el.size != 3 then perror en…

コンパイラ作成(100) 配列の参照

今回の目標 今回は配列の参照だよ。 // 配列 int main() { int a[10], *p; p = a; *p = 42; printf("a[0] = %d\n", a[0]); printf("0[a] = %d\n", 0[a]); printf("10 + a[0] = %d\n", 10 + a[0]); printf("10 + 0[a] = %d\n", 10 + 0[a]); } 配列への代入は…