软件技术基础教程 作者 徐士良 孙甲松 第06章.pptVIP

  • 0
  • 0
  • 约2.33千字
  • 约 59页
  • 2018-05-08 发布于广东
  • 举报

软件技术基础教程 作者 徐士良 孙甲松 第06章.ppt

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

文档评论(0)

1亿VIP精品文档

相关文档