
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章作业第8章作业 P188页(旧书) P202新书1给出下面表达式的递波兰表示(1)a*(-b+c) 答:abc+*(2)A(CD)ACD(3)a+b*(c+d/e)abcde/+*+(4)(AB)(CD)ABCD(5)-a+b*(-c+d)abcd+*+(6)(AB)(CDE)ABCDE(7)if(x+y)*z=0 then S:=(a+b)*c else S:=a*b*c答:xy+z*0:=P1JFS ab+c*:=P2JPS ab*c*:=P1 P22请将表达式 -(a+b)*(c+d)-(a+b+c)分别表示成三元式、间接三元式和四元式序列解:三元式序列 间接三元式序列(1)(2)
2、(1)(2)(3)(4)(1)(5)(6)(2)(, (1), _)(1)(+, a, b)(3)(+, c, d)(2)(, (1), _)(4)(*, (2), (3))(3)(+, c, d)(5)(+, a, b)(4)(*, (2), (3))(6)(+, (5), c)(5)(+, (1), c)(7)(-, (4), (6))(6)(-, (4), (5))四元式序列1(+, a, b, T1)2(, T1,_, T2)3(+, c, d, T3)4(*, T2, T3, T4)5(+, T1, c, T55(+, T1, c, T5)6(-, T4, T5, T6)6(+, T
3、5, c, T6) 可优化为:7(-, T4, T6, T7)3采用语法制导翻译思想,表达式E的“值”描述如下:产生式语义动作(0)SEprint E.value(1)EE1+E2E. val=E1. val+E2.val(2)EE1*E2E. val=E1.val*E2.val(3)E(E1)E. val=E1.val (4)EnE. val=n. val如果采用LR分析法,给出表达式(5*4+8)*2的语法树并在各结点上注明语义值val解: S(56)(56)(56)(56)E(28)(2)(28)(2)E1 * E2(28)(28)( E ) 2(8)(20)(8)(20)E1 + E2
4、(4)(5)(4)(5)E1 * E2 85 44假如习题3中表达式E的“值”有两种类型:整型和实型,语义处理增加“类型匹配检查”,请给出语义描述解:(0)SE print E. val(1)EE1+E2 if(E1. type= =int & E2. type= = int)E. type=int; E. val=E1. val+E2. valelse if (E1. type= =real & E2. real= =real)E. type=real; E. val=E1. val+E2. valelse error;(2)EE1*E2 if(E1. type= =int & E2. ty
5、pe= =int)E. type=int; E.val=E1. val*E2. valelse if(E1. type= =real & E2. type= =real)E. type=real; E.val=E1. val*E2. valelse error;(3)E(E1) E. type=E1. typeE. val=E1. val(4)En P=lookup (n)if Pnil thenE. type=n. typeE. val=n. lexvalelse error;6下列文法生成一种表达式文法。其意义为,将算术运算符“+”施用于整数或实常数,只有当两个整数相加时,结果类型才是整数
6、,否则为实数。EE+T | TTn. n | n(1)给出语法制导翻译的语义规则,其决定每个子表达式的类型(2)给出语法制导翻译的语义规则,其不仅决定每个子表达式的类型,并且将中缀表达式的递波兰表示给出。解:(1)EE1+T if(E1. type= =real)|(T. type= =real)E. type=real;elseE. type=int;ET E. type=T. typeTn. n T. type=realTn T. type=int(2)EE1+T E. place=new type;if(E1. type= =real & T. type= =real)gen (E. p
7、lace, E1. place, T. place, +r, := )E. type=realelse if(E1. type= =int & T. type= =int)gen (E. place, E1. place, T. place, +i, :=)E. type=intelse if (E1. type= =int)t=newtemp;gen (t, E1. place, itr, :=);gen (E. place, t, T. place, +r, :=);E. type=realelse t=newtemp;gen (t, T. place, itr, :=)gen (E. place, E1. place, t, +r, :=);E. type=r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年行政管理法律应用试题及答案
- 2025年行政管理心理学考前冲刺试题及答案
- 2025年公共关系学新颖试题及答案聚焦
- 市政学基础知识汇编试题及答案
- 草原火灾应急预案(3篇)
- 行政管理公文处理的心理学应用及试题答案
- 2024年水利水电工程考生指南试题及答案
- 行政管理科技影响试题及答案指南
- 火灾事故应急预案的意义(3篇)
- 公共关系的文化传播策略试题及答案
- 2025年多人股东合作协议书
- 时间序列分类与聚类方法-深度研究
- 七年级数学下册 第3章 单元综合测试卷(北师陕西版 2025年春)
- 2025年高校教师资格证考试题库(带答案能力提升)
- 2024年公司网络安全管理制度
- NCCN化疗止吐指南教程
- 《小王子》讲解+知识点+教案+课件
- 2025年甘肃兰州市事业单位招考(868人)高频重点提升(共500题)附带答案详解
- 生成式人工智能的教育应用与展望-以ChatGPT 系统为例
- 妊娠期糖尿病病人的护理查房
- 幼儿园大班游戏中“一对一倾听”的策略
评论
0/150
提交评论