#defineとかの解釈アルゴリズム詳しくわかる人いる?
Cコンパイラ自作しようと思ったが、初めにマクロの解釈でつまずいた。
int a = 1;
int b = 2;
#define b a + b
#define a a + b
printf("%d", a);
例えばこれで何が出力されるか実際に試さないとなかなかわからないと思うが。
あと関数内にマクロを書いた場合、ソース上のどの範囲で有効になるかとか。

マクロの解釈アルゴリズム具体的にわかる人いる?