- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 编译技术
第6章 编译技术
6.1 编译程序的工作过程
6.1 编译程序的工作过程
6.2 状态矩阵法的编译过程
6.2 状态矩阵法的编译过程
6.3 词法分析
6.3 词法分析
6.4 中间语言表示
6.4 中间语言表示
6.5 语法的分析与加工
6.5 语法的分析与加工
编译程序是一种将高级语言编
写的源程序编译成机器语言程序
(称为目标程序)的实用程序。
6.1 编译程序的工作过程
6.1 编译程序的工作过程
为了将源程序翻译成目标程序,一般
都要包括以下几个步骤。
① 输入源程序。
② 对以机内码表示的源程序进行词法
分析,辨认出一个个单词符号。
③ 根据源语言的语法规则进行语法
分析。
④ 在实际运行之前,通常还要对目
标程序的各部分进行连接装配 。
对于块结构的语言(如C语言和
FORTRAN语言等),通常是进行分块
编译,分别得到半目标程序,最后可用
装配程序组装成一个完整的程序。
编译程序一般要包含以下几个程序模块。
(1)词法分析程序
(1)词法分析程序
(
2)语法分析程序
(
2)语法分析程序
3)加工程序
(
3)加工程序
(
4)优化修饰部分
(
4)优化修饰部分
(
(
5)装配程序或连接编辑程序
(
5)装配程序或连接编辑程序
6.2 状态矩阵法的编译过程
6.2 状态矩阵法的编译过程
6.2.1 状态矩阵法的基本原理
6.2.1 状态矩阵法的基本原理
所谓“状态”,粗略地说,是表示过去
已经扫描了什么语法成分,以便当遇到新
的语法符号时,在不同的状态下对该语法
符号作出不同的处理。
状态矩阵法的核心是状态矩阵(也称
状态表),如表6.1所示。
6.2.2 状态矩阵的压缩
6.2.2 状态矩阵的压缩
在具体实现状态矩阵法时,为了节省
存储空间,通常要对状态矩阵进行压缩。
各列的意义如下:
① 状态 指状态栈栈顶项中所包含的
可能状态。
② 符号 指当前扫描到的可能符号。
③ 加工子程序 指当前遇到的相应状
态符号配对时编译程序应做的工作。
④ 状态改变 指出在做完相应的编
译工作后其状态栈如何改变。
综上所述,状态矩阵法的编译过
程是按照存放在内存中的状态表不断
地进行解释执行的。
6.3 词法分析
6.3 词法分析
6.3.1 词法分析的任务
6.3.1 词法分析的任务
词法分析是编译过程各阶段的基础和
必要的准备。
词法分析的主要任务是从源程序语句
中识别出具有独立意义的语法单位(即语
法符号),并且建立一个符号表,用以保
存各语法符号的属性。
表6.4 中的符号最后都变成二进制
形式的代码串。
可以将这些通用符号建立一个通
用符号表,这些符号的代码可用较大
的编号来表示,如表6.5所示。
在这种情况下,上述赋值语句经
词法分析后可以得到一张符号表如表
6.6所示 。
6.3.2 读字符程序
6.3.2 读字符程序
读字符程序的任务是从源程序字符串中顺
序读出基本符号,并作一些简单的处理后提供
给词法分析程序。
6.3.3 状态矩阵法的词法分析过程
6.3.3 状态矩阵法的词法分析过程
词法分析程序可以用状态矩阵法来
您可能关注的文档
- Java程序设计实用教程 教学课件 董洋溢 第四章 异常处理.pdf
- 无线电技术与应用 教学课件 李雄杰 第7章.pdf
- 无线电装调工 中级 实训与考级 教学课件 杨海祥 【第五章】安装工艺.pdf
- Java程序设计实用教程 教学课件 董洋溢 第一章 Java语言概述.pdf
- 无线电装调工 中级 实训与考级 教学课件 杨海祥 电阻.pdf
- 无线移动互联网:原理、技术与应用 教学课件 崔勇 CH2 AP Association.pdf
- Java程序设计与实践教程 教学课件 张诚洁 梁海丽 单元4Java常用的类.pdf
- 无线组网技术 教学课件 孙桂芝 项目三 组建Wi Fi无线局域网 任务1.pdf
- 无线组网技术 教学课件 孙桂芝 项目一 组建SOHO局域网 任务1.pdf
- Java程序设计与实践教程 教学课件 张诚洁 梁海丽 单元7 Java的数据库访问.pdf
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)