##初学编译原理
###编译&链接
编译单个文件至目标文件,目标文件中还有变量和函数的符号表
链接器根据符号表来链接整个工程
###鸡和鸡蛋
旧编译器编译新的编译程序至新编译器,意味着用旧编译器所能翻译的语言编写新的编译程序以翻译扩展的或者新的语言.例如我们用C语言写出C++编译器程序,该程序由C语言编译器编译成C++的编译器.(这里只是打个比方,不知道C++的编译器是不是用C写的)
最早的编译器当然是由低级语言所编写.
###词法分析
###语法分析
####自顶向下
###语法制导翻译技术
###符号表管理
###语义分析
检查语法正确的语句语义是否正确,并分析意图生成中间代码。
###中间代码生成
根据语义分析,生成中间代码(波兰后缀表示、N-元表示、抽象机代码)
###中间代码优化
以上是编译器的前端,下面则是编译器的后端过程
###目标代码生成
###目标代码优化