0%

什么是编译器里的前端和后端

编译器粗略分为词法分析,语法分析,类型检查,中间代码生成,代码优化,目标代码生成,目标代码优化。把中间代码生成及之前阶段划分问编译器的前端,那么后端与前端是独立的。后端只需要一种中间代码表示,可以是三地址代码或四元式等,而这些都与前端生成的方式无关。

按照这个分类,自己动手编写编译器,可以不必从头开始了。使用LLVM,我们可以做一个前端,然后和LLVM后端对接。