2019-06-04から1日間の記事一覧

コンパイラ作成(61) 引数のある関数の修正

バグ テストをしてたらバグを見つけたよ。 main() { print(2 * 3 + 5); print(2 + 3 * 5); } これなんだけど、計算結果が合わない。 ~/myc$ myc -d i7.myc print.o [[print, (), [2, *, 3, +, 5]]] [[print, (), [2, *, 3, +, 5]]] [[print, (), [2, +, 3, *…

コンパイラ作成(60) 関数のextern宣言

今回の目標 いきなりだけどextern行ってみるよ。 // 関数のextern宣言 extern int add(int a, int b); int main() { int a = 5, b = 12, c; c = add(a,b); printf("%d + %d = %d\n",a,b,c); } 本来はextern宣言の場合、仮引数の名前は省略できるんだけど、面…