编译器是顺序流程,分别是编译器前端->优化器->编译器后端
编译器前端主要负责的就是常写程序的编译但还没生成二进制文件那个步骤,词法分析,中间代码生成,类型判断,等等拿iOS开发做比喻,平时编译报错一大堆的这就是编译器前端的作用,就是所谓的词法分析语法分析,类型判断
还有了解一点iOS开发的都知道分类是编译的时候加载进去的,这个就是编译器前端的工作
如果是LLVM架构这个中间代码则是对应的LLVM IR
然后做完这些生成中间代码丢给优化器
而编译器后端则是把代码处理成对应不同内核的机器语言丢给硬件处理