编译原理简明教程(第3版)-课件 第7章 语义分析及中间代码的生成.pptx

编译原理简明教程(第3版)-课件 第7章 语义分析及中间代码的生成.pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

免费提供

编译原理

1

6

目录

第一章概述

第二章形式语言理论基础

第三章自动机理论基础

第四章词法分析

第五章语法分析—自顶向下分析方法

第六章语法分析—自底向上分析方法

第七章语义分析及中间代码的生成

第八章代码优化

第九章目标代码的生成

第十章符号表和出错处理

第十一章面向对象语言的编译

第十二章并行编译技术

第十三章软件构造

2

2024-11-6

3

学习目标

语义分析的概念

语法制导翻译

常见语法成分的表示

中间代码语言

7.1语义分析概述

7.2中间语言代码

7.3语法制导翻译

7.4本章小结

4

5

语义分析:分析语法结构的含义,将其表示成中间语言或生成目标指令。

语义形式化(或形式语义学):是个专门的研究课题,如操作语义学、公理语义学、指称语义学等。不论哪种方法,其本身的符号系统比较繁杂,其描述文本不易读,因此都不能成为标准的形式语义系统。

6

7

语义分析的基本任务:

控制结构的含义有两种确定形式:

形式化:如E→E+T|E-T|T先“*,/”后“+,-”

T→T*F|T/F|F左结合

……

p→(E)|i

非形式:如赋值语句含义,非形式化的规定

V:=e

8

目前许多编译程序采用语法制导翻译的方法。

不是一种形式化系统,但比较接近形式化。以语法分析为主导的语义处理,即在语法分析的过程中嵌入语义处理程序,生成中间代码或目标代码。

9

1.增量式文法

文法中加入语义动作符号。

一般形式:A(α|{f(…);})*

α∈V*语义动作

作用:在语法分析时,遇到带有语义动作的花括

号即执行语义动作,执行完后再进行下一

步分析。

10

为了实现语法制导翻译,对文法中终结符号和非终结符号引进一些属性,例如,变量的数据类型、表达式的值以及存储器中变量的地址等。以描述相应语言结构的语义值。

例:表达式文法G[E]:

11

7.1.2属性文法技术

对于表达式“12-a/b”,语法树如下:

E

TE’

FT’-TE’

12εFT’ε

a/FT’

12

7.1.2属性文法技术

对于表达式“12-a/b”,带有语义动作的语法树如下:

E

TE’

FT’-T{writecode(‘-’)}E’

12{writecode(‘12’)}εFT’ε

a{writecode(‘a’)}/F{writecode(‘/’)}T’

b{writecode(‘b’)}ε

13

执行相应的子程序后打印出逆波兰式12ab/-

7.1.2属性文法技术

2.属性文法

(1)文法的属性:

指与文法符号相关信息,如它的类型

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档