文档介绍:第6章编译技术
编译程序的工作过程
状态矩阵法的编译过程
词法分析
中间语言表示
语法的分析与加工
编译程序是一种将高级语言编写的源程序编译成机器语言程序(称为目标程序)的实用程序。
编译程序的工作过程
为了将源程序翻译成目标程序,一般都要包括以下几个步骤。
①输入源程序。
②对以机内码表示的源程序进行词法分析,辨认出一个个单词符号。
③根据源语言的语法规则进行语法分析。
④在实际运行之前,通常还要对目标程序的各部分进行连接装配。
对于块结构的语言(如C语言和FORTRAN语言等),通常是进行分块编译,分别得到半目标程序,最后可用装配程序组装成一个完整的程序。
编译程序一般要包含以下几个程序模块。
(1)词法分析程序
(2)语法分析程序
(3)加工程序
(4)优化修饰部分
(5)装配程序或连接编辑程序
状态矩阵法的编译过程
状态矩阵法的基本原理
所谓“状态”,粗略地说,是表示过去已经扫描了什么语法成分,以便当遇到新的语法符号时,在不同的状态下对该语法符号作出不同的处理。
状态矩阵法的核心是状态矩阵(也称状态表),。
状态矩阵的压缩
在具体实现状态矩阵法时,为了节省存储空间,通常要对状态矩阵进行压缩。