- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语义分析的任务:;例如:; 目前多数编译程序进行语义分析的方法是采用语法制导翻译法 。它不是一种形式系统, 但它比较接近形式化。 ;(1) 属性;属性分为两类:;继承属性其计算规则按“自上而下”方式进行, 即规则右部符号的某些属性根据其左部符号的属性和(或)右部其他符号的某些属性计算而得。;(2) 属性文法; 这些语义规则附在文法的每个产生式上,在语法分析过程中, 执行语义规则描述的动作, 从而实现语义处理。也就是说, 附在文法的每个产生式上语义规则描述了语义处理的加工动作。;G: E→E+T |T T→T*F |F F→(E)|i
G: D→TL T→integer |real L→L,id|id ;5.3 语法制导翻译概述 ;S→……;(2) 语法制导翻译法 ;为文法每一产生式设计相应的求值的语义描述(语义动作): ;1.E → E(1)+E(2) ; 5.4 编译中常用的中间代码:;逆波兰式 ; 逆波兰式表示法同中缀表示法相比其优点是:; 一般表达式计值时,要处理两类符号,一类是运算对象,另一类是运算符,通常用两个工作栈分别处理。但处理用逆波兰式表示的表达式却只用一个工作栈。 ; 当计算机自左到右顺序扫描逆兰波式时,若当前符号是运算对象则进栈,若当前符号是运算符,设为K元运算符,则将栈顶的K个元素依次取出,同时进行K元运算,并将运算结果置于栈顶,表达式处理完毕时,其计算结果自然呈现在栈顶。 ;逆波兰式ab+c*的处理过程如下图: ;逆波兰形式可以推广到其他语法结构: ;三元式和树形表示;例如 a+b*c 的 三元式序列:; 1. 三元式出现的顺序和语法成份的
计值顺序相一致。 ;间接三元式; 例如 语句; 树形表示;四元式主要由四部分组成: ; 四元式的第四个分量result是编译程序为存放中间运算结果而临时引进的变量,常称为临时变量,如Ti,也可以是用户自定义变量,如X。 ;2. 四元式之间的联系是通过临时变量实
现的,这样易于调整和变动四元式。 ; 编译系统中,有时将四元式表示成另一种更直观,更易理解的形式——三地址代码或三地址语句。;例如 X= a*b+c/d 的 四元式序列:;例1. –a + b * ( –c + d )的逆波兰式 ;t1= @ a;i↑( i /( i – i ) )的逆波兰式 ;语义函数 emit(T=arg1 OP arg2) ; (2) 不进符号表,临时变量单词值部
分用整数码表示。 ;语义过程 Lookup(i.name) ; 1. E → E(1) + E(2) ;4. E → i ;5.5.2布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;3. E→ ( E (1) ) ;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译; (1) 真出口和假出口:;(2) 作为条件转移的E,把E翻译成的代码
是一串条件转或无条件转的四元式;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;布尔表达式语义动作的设计;布尔表达式语义动作的设计;布尔表达式到四元式的翻译;布尔表达式到四元式的翻译;5.5.3 控制语句的翻译;
C→ if E then S→ CS(1)
;2、双分支if语句:
C→ if E then TP→CS(1) else S→ TP S(2)
C→ if E then {backpatch(E.true,nextq);
C.chain=E.false}
TP→CS(1) else {q=nextq;emit(goto 0);①
TP .chain=merge(S(1).chain,q);
Backpatch(C.chain,nextq)②}
S→TP S(2) {S.chain=merge(TP.chain, S(2).chain)}
例: if xy then x=x+1 else y=y+1
if A v BC then x=x+B else x=x+C
;3、条件循环语句:
w→w
您可能关注的文档
- 第2章第2节飞行基本原理技巧.ppt
- 第4讲光线稳定条件、类透镜介质中的光线方程与波动方程技巧.ppt
- 第4讲晶体三极管(9-12)技巧.ppt
- 第2章第2节经典物..技巧.ppt
- 第2章第3讲对流层大气的受热过程及大气运动技巧.ppt
- 第2章第4节经典物..技巧.ppt
- 第4讲热设计与热技术技巧.ppt
- 第2章第7课时常见天气系统技巧.ppt
- 第2章第二节太阳和太阳系技巧.ppt
- 第2章第三节月球和地月系技巧.ppt
- 供应链集成度、市场竞争度与企业财务绩效:关联机制与策略启示.docx
- 地方政府投资环境塑造策略的多维度解析——以南京市高淳区为样本.docx
- 基于智能融合技术的电力变压器故障诊断专家系统构建与实践.docx
- 大型移动通信保障项目风险剖析与管理策略探究.docx
- 原发性高血压患者肾功能损害、血尿酸水平与缺血性脑卒中相关性剖析.docx
- 反应停对胆囊癌细胞GBC-SD的体外抗癌作用及机制探究.docx
- 双丹滴丸治疗冠心病心绞痛心血瘀阻证的临床疗效与机制探究.docx
- 七氟烷预处理:在体大鼠心肌缺血再灌注损伤中抗细胞凋亡的机制与意义.docx
- 基于信息化技术的延安大学研究生信息管理系统构建与实践.docx
- 县域经济与金融共生共荣:以山东沂水为镜鉴的深度剖析.docx
文档评论(0)