编译技术第5次上机内容

上传者: www888m | 上传时间: 2022-11-07 22:51:43 | 文件大小: 359KB | 文件类型: ZIP
编译技术第5次上机内容 目的:充分理解语义分析的方法及相关语义计算的执行时机,用C++程序实现。 要求: 1.以S属性的语法制导定义为基础,将下表的语义规则嵌套在语法分析的过程中,即实现语法制导的翻译过程。 产 生 式 语 义 规 则 L ® E n print (E.val) E ® E1 + T E.val := E1 .val + T.val E ® T E.val := T.val T ® T1 * F T.val := T1.val * F.val T ® F T.val := F.val F® (E) F.val := E.val F ® digit F.val := digit.lexval 2.以语法分析部分的两次上机结果为基础,添加语义分析部分。即以LL(1)文法或者LR文法为基础。当产生式完全推导出来或者归约时执行对应的语义动作。 3.输入: 5+3+8*2 输出:24 4. 若输入有误,如:3**2(4+5) 则应提示:*后面缺少运算对象, 2后面缺少运算符, 请重新输入! 5. 由于输入串是具体的数值,因此应调用相应的词法分析的功能。 扩展: 1. 对浮点数也能完成上述的操作。 2. 增加减法和除法对应的产生式,并能计算其语义结果。 3. 在FTP中第五次上机的文件夹中有两个压缩包,用递归下降法实现的程序在压缩包“recursion_calculator.rar”中,用非递归的预测分析方法实现的程序在压缩包“predict_calculator.rar”中。可以任选其一作为基础进行改进。将其改造成有减法和除法的程序,并写出对应的产生式。

文件下载

资源详情

[{"title":"( 4 个子文件 359KB ) 编译技术第5次上机内容","children":[{"title":"第五次上机作业-属性计算1","children":[{"title":"test.cpp <span style='color:#111;'> 4.94KB </span>","children":null,"spread":false},{"title":"第五次上机作业-属性计算1.doc <span style='color:#111;'> 33.00KB </span>","children":null,"spread":false},{"title":"recursion_calculator.rar <span style='color:#111;'> 172.56KB </span>","children":null,"spread":false},{"title":"predict_calculator.rar <span style='color:#111;'> 175.95KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明