- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * 实际上,int转换为float也可能会丢失精度 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 多态函数(16) 例:ML函数类型的类型推导: fun length ( lptr ) = if null( lptr ) then 0 else length( tl( lptr ) ) + 1; 分别引入类型变量β和γ 表示length和lptr的类型,length(lptr)的类型和函数体的类型匹配,所以length的类型是 类型声明及要检查的表达式 多态函数(17) 行 表达式 :类型 代换 (1) lptr :γ (2) length : β (3) length( lptr ) : δ β=γ→δ (4) lptr :γ (5) null : list(αn)→ boolean (6) null( lptr ) : boolean γ= list(αn) (7) 0 : integer (8) lptr : list(αn) (9) tl : list(αt)→ list(αt) (10) tl( lptr ): list(αn) αt→ αn (11) length : list(αn)→ δ (12) length( tl( lptr ) ) : δ (13) 1 : integer (14) + : integer×integer→integer (15) length( tl( lptr ) ) + 1: integer δ=integer (16) if : boolean×αi×αi→ αi (17) if ( … ) :integer αi=integer (18) match : αm×αm→ αm (19) match( … ):integer αm=integer 多态函数(18) 由(3)可知length的函数类型表达式 由(6)知道γ 和list(αn)合一,此时知道length的类型是:对任何类型αn,list(αn)→δ 在(15)知道δ和integer合一 最后得到length的类型: * * * * * * 嵌入的代码是把子程序中的操作代码复制到程序中的调用点。 * * * * * * * * * * * * * * * * * * * * 从这里可以看出静态类型检查的缺点,数组的类型检查中E2只察看了类型,并没有讨论其取值范围,所以潜在的无法检查出越界访问 * * * 简单类型检查器的说明(10) 从整型到实型的类型检查规则: E→num { E.type := integer } E→num.num { E.type := real } E→id { E.type := lookup(id.entry) } E→E1 op E2 { E.type := if E1.type = integer and E1.type = integer then integer else if E1.type = integer and E1.type = real then real else if E1.type = real and E1.type = integer then real else if E1.type = real and E1.type = real then real else type_error } 类型表达式的等价(1) 类型等价 类型检查经常要面临的问题: 两个类型表达式是否表示相同的类型 struct t1 { struct t2 { int x; int x1; int y[100]; int y1[100]; }; }; 类型等价和类型表示是相互影响的 类型等价的常用形式 结构等价 名字等价 在类型等价中,递归定义如何处理 类型表达式的等价(2) 类型表达式的结构等价 结构等价的定义 两个类型表达式是同样的基本类型 或两
您可能关注的文档
- 电动机的维护与保养讲述.pptx
- 电动执行机构研究及控制逻辑的优化及应用讲述.ppt
- 电动汽车异步电动机的矢量控制讲述.doc
- 电动消防排烟窗施工方案讲述.doc
- 电动清扫刷讲述.pptx
- 真空知识及漏率及检漏培训(CSG)详解.ppt
- 电动机介绍(金丰)讲述.ppt
- 电动汽车行业报告-20160209讲述.pptx
- 真心付出、用心投入,做幸福的班主任详解.ppt
- 真正的友谊课件详解.ppt
- DB4403T 521-2024安宁疗护社会工作服务指南.docx
- DB4403T 530-2024餐饮服务单位厨房建设指南.docx
- DB4404T 66—2024停车场运营管理规范.docx
- DB4407T 113—2024行政规范性文件评估规范.docx
- DB4418T 026—2024《连南大叶茶生产技术规程》.docx
- 植物性农产品中多种类农药及其代谢物残留量的测定-气相色谱法.pdf
- DB4403T 527-2024水培叶菜生产技术规程.docx
- DB4408T 40-2024林地切藤开沟施肥一体化作业技术规程.docx
- DB4403T 482-2024建筑电气防火检测技术规范.docx
- 高性能建筑门窗系统应用技术规程.pdf
文档评论(0)