全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理 习题参考答案 六 编译原理 习题参考答案 六 第五章第五章 5 4 为下列类型写类型表达式 为下列类型写类型表达式 a 指向实数的指针数组 数组的下标从指向实数的指针数组 数组的下标从 1 到到 100 b 两位数组 即数组的数组 他的行下标从两位数组 即数组的数组 他的行下标从 1 到到 10 列下标从 列下标从 1 到到 20 c 函数 他的定义域是从整数到整数的指针的函数 它的值域是从 一个整数和一个字符组成的纪录 函数 他的定义域是从整数到整数的指针的函数 它的值域是从 一个整数和一个字符组成的纪录 Solution a array 1 100 pointer real b array 1 10 array 1 20 type c integer pointer integer record i integer c char 假定作为值域的记录类型的两个域分别叫假定作为值域的记录类型的两个域分别叫 i 和和 c 5 6 下列文法定以字面常量表的表 符号的解释和图下列文法定以字面常量表的表 符号的解释和图 5 2 文法的那些 相同 增加了类型 文法的那些 相同 增加了类型 list 它表示类型 它表示类型 T 的元素表 的元素表 P D E D D D id T T list of T char integer E L literal num id L E L E 写一个类似写一个类似 5 3 节中的翻译方案 以确定表达式节中的翻译方案 以确定表达式 E 和表和表 L 的类型 的类型 Solution P D E D D D D id T addtype id entry T type T char T type char T integer T type integer T list of T1 T type list T1 type E literal E type char E num E type integer E id E type lookup id entry E L E type list L type L E L type E type L E L1 L type if L1 type E type then E type else type error 5 16 对下面的每对表达式 找出最一般的合一代换 对下面的每对表达式 找出最一般的合一代换 a 1 2 1 b array 1 pointer 1 2 c 1 2 d 1 1 2 Solution a b S 1 array 1 S 2 pointer 1 S 2 array 1 a c S 1 1 S 2 2 1 a d S 1 S 2 S 1 S 2 b c S 1 array 1 S 2 pointer 1 2 b d 无无 c d S 1 1 S 2 1 2 5 17 仿效例仿效例 5 5 推到下面 推到下面 map 的多态类型的多态类型 map list list map 的的 ML 定义是定义是 fun map f l if null l then nil else cons f hd l map f tl l 在这个函数体中 内部定义的标识符的类型是 在这个函数体中 内部定义的标识符的类型是 null list boolean nil list cons list list hd list tl list list Solution 行行 定型断言定型断言 代换代换 规则规则 1 f Exp Id 2 l Exp Id 3 map Exp Id 4 map f l Exp Funcall 5 null list 0 boolean Exp Id 和和 Type Fresh 6 null l boolean list 0 Exp Funcall 7 nil list 1 Exp Id 和和 Type Fresh 8 l list 0 由 由 2 可得 可得 9 hd list 2 2 Exp Id 和和 Type Fresh 10 hd l 0 2 0 Exp Funcall 11 f hd l 3 0 3 Exp Id 12 f 0 3 由 由 1 可得 可得 13 tl list 4 list 4 Exp Id 和和 Type Fresh 14 tl l list 0 4 0 Exp Funcall 15 map 0 3 list 0 由 由 3 可得 可得 16 map f tl l Exp Funcall 17 cons 5 list 5 list 5 Exp Id 和和 Type Fresh 18 cons list 3 5 3 list 3 Exp Funcall 19 if boolean 6 6 6 Exp Id 和和 Type Fresh 20 if list 1 6 1 3 1 Exp Funcall 21 match 7 7 7 Exp Id 和和 Type Fresh 22 match list 1 7 list 1 Exp Funcall 至此有至此有 map 0 1 list 0 list 1 所以所以 map list list 5 18 假定类型名假定类型名 link 和和 cell 如如 5 5 节那样定义 下面的表达式中 那些结构等价 那些名字等价 节那样定义 下面的表达式中 那些结构等价 那些名字等价 a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国农业银行河北省分行校园招聘964人备考题库带答案详解(完整版)
- 2025年甘肃省定西市渭源县社区工作者招聘10人备考题库及完整答案详解1套
- 2025安徽六安市霍山县衡山镇招考社区工作者25人备考题库含答案详解(预热题)
- 2025沈阳市铁西区总工会招聘工会社会工作者21人备考题库含答案详解(轻巧夺冠)
- 2026东莞银行秋季校园招聘备考题库附答案详解(预热题)
- 2026中国建设银行大连市分行校园招聘90人备考题库含答案详解(新)
- 2026中国民生银行长春分行全球校园招聘备考题库及一套答案详解
- 2026广发银行博士后研究人员招聘备考题库及一套完整答案详解
- 辽宁农商银行2026年校园招聘备考题库附答案详解(培优a卷)
- 2025山东滨州阳信县金阳街道办事处第二批城镇公益性岗位招聘3人备考题库及答案详解(名校卷)
- 2025年铁路运输合同书
- 消防设施培训课件
- 私人家政合同协议书
- 2025年中职汽车(汽车发动机保养)试题及答案
- 中学生安全法制教育课件
- 医院导诊礼仪培训案例
- 工地劳务班组协议书
- 2026年河北工业职业技术大学单招职业技能测试题库及答案解析(夺冠)
- 2024年新发布政府会计准则制度实施问答及应用案例
- 015《煤矿安全规程》修改条款学习辅导:第十五讲 电气
- 学堂在线 人工智能原理 章节测试答案
评论
0/150
提交评论