编译过程 解释程序不产生目标程序。在编译过程中中间代码的生成与优化不是必需的,但用中间代码有很多的好处,最重要的是两点:①便于实现优化,使最终代码的质量更高;②通过中间代码实现前后级分离,在多系统、多语言开发时,可大幅提高整体开发效率,减少开发成本、缩短开发周期。所以实际的编译系统多数都会使用中间代码。在解释器上运行程序比直接运行编译过的代码要慢,是因为解释器每次都必须去分析并转译它所运行到的程序行,而编译过的程序直接运行即可。 文法定义 文法类型 有限自动机 C 正规式 (1)D (2)C 表达式 D