有人知道从.c
源代码到最终可执行文件的完整操作链.exe
吗?
我已经下载了gcc的源代码,发现它c-parser.y
也是用c编写的:
extdef:
fndef
| datadef
| ASM_KEYWORD '(' expr ')' ';'
{ STRIP_NOPS ($3);
if ((TREE_CODE ($3) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND ($3, 0)) == STRING_CST)
|| TREE_CODE ($3) == STRING_CST)
assemble_asm ($3);
else
error ("argument of `asm' is not a constant string"); }
| extension extdef
{ pedantic = $<itype>1; }
;
那么有人知道c自托管的完整故事吗?
更新
我知道一些脚本编译器是如何编写的,其中大部分依赖于 c 编译器。
所以我现在问c编译器是如何工作的。