课程回顾 Swarthmore学院16年开的编译系统课,总共10次大作业.本随笔记录了相关的课堂笔记以及第3次大作业. 编译的过程:首先解析(parse)源代码,然后成抽象语法树(AST),再生成汇编代码(asm),最后用asm生成的目标文件(object)和其他库文件链接成一个可执行的二进制文件(binary).其中从抽象语法树到生成汇编代码这个过程(complier.ml)工作量最大. 具体语法树(Concrete Syntax Tree):programmer写的就是具体语法,下图展示了某…