【软件技术基础】编译技术.ppt
《【软件技术基础】编译技术.ppt》由会员分享,可在线阅读,更多相关《【软件技术基础】编译技术.ppt(58页珍藏版)》请在三一文库上搜索。
1、第6章 编译技术,6.1 编译程序的工作过程 6.2 状态矩阵法的编译过程 6.3 词法分析 6.4 中间语言表示 6.5 语法的分析与加工,编译程序是一种将高级语言编写的源程序编译成机器语言程序(称为目标程序)的实用程序。,6.1 编译程序的工作过程,为了将源程序翻译成目标程序,一般都要包括以下几个步骤。 输入源程序。 对以机内码表示的源程序进行词法分析,辨认出一个个单词符号。, 根据源语言的语法规则进行语法分析。 在实际运行之前,通常还要对目标程序的各部分进行连接装配 。 对于块结构的语言(如C语言和FORTRAN语言等),通常是进行分块编译,分别得到半目标程序,最后可用装配程序组装成一个
2、完整的程序。,编译程序一般要包含以下几个程序模块。 (1)词法分析程序 (2)语法分析程序 (3)加工程序 (4)优化修饰部分 (5)装配程序或连接编辑程序,6.2 状态矩阵法的编译过程,6.2.1 状态矩阵法的基本原理 所谓“状态”,粗略地说,是表示过去已经扫描了什么语法成分,以便当遇到新的语法符号时,在不同的状态下对该语法符号作出不同的处理。 状态矩阵法的核心是状态矩阵(也称状态表),如表6.1所示。,6.2.2 状态矩阵的压缩 在具体实现状态矩阵法时,为了节省存储空间,通常要对状态矩阵进行压缩。,各列的意义如下: 状态 指状态栈栈顶项中所包含的可能状态。 符号 指当前扫描到的可能符号。
3、加工子程序 指当前遇到的相应状态符号配对时编译程序应做的工作。, 状态改变 指出在做完相应的编译工作后其状态栈如何改变。 综上所述,状态矩阵法的编译过程是按照存放在内存中的状态表不断地进行解释执行的。,6.3 词法分析,6.3.1 词法分析的任务 词法分析是编译过程各阶段的基础和必要的准备。 词法分析的主要任务是从源程序语句中识别出具有独立意义的语法单位(即语法符号),并且建立一个符号表,用以保存各语法符号的属性。,表6.4中的符号最后都变成二进制形式的代码串。 可以将这些通用符号建立一个通用符号表,这些符号的代码可用较大的编号来表示,如表6.5所示。 在这种情况下,上述赋值语句经词法分析后可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术基础 软件技术 基础 编译 技术
链接地址:https://www.31doc.com/p-11887321.html