编译原理:编译程序的结构

在上一篇编译过程的文章讲到编译过程的6个阶段的任务可以分别由6个模块完成,分别称作词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序和目标代码生成程序。此外,一个完整的编译程序还必须包括表格管理程序和出错处理程序。如下图:
编译原理:编译程序的结构

表格管理和出错处理与上一篇讲的6个阶段都有联系,编译过程中源程序的各种信息被保留在种种不同的表格里,编译各阶段的工作都涉及构造、查找或更新有关的表格,因此需要有表格管理的工作。如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些编译程序还能自动校正错误,这些工作由出错处理程序完成。