基于Hindley-Milner类型系统的函数式语言Leaf的设计实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:zmyswzzxp123654
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Leaf语言的目标是设计一种简洁易用的函数式语言。这种编程语言是采用静态类型,可以进行类型推导的编译型语言。函数式语言具有较好的数学性质及高度的抽象性,因此具备了更强的生产力,更清晰的抽象模块能力和良好的可读性。Leaf语言采用接近脚本语言的语法,使其可容易扩展为游戏脚本引擎,浏览器脚本引擎,也可以作为一种通用的编程语言。其静态类型的安全可靠性可为浏览器和游戏脚本实现提供新的可行方案。本文分析了λ演算理论,讨论了程序语言实现的几种模式。通过分析程序语言和编译原理相关理论,设计了一种函数式语言,给出了其标准的文法定义,并通过编写编译器程序给出了实现方式,并进行了 一定的优化。本文首先设计了编程语言的核心语法,设计了文法产生式和中间语言格式,然后进行了软件整体结构设计,实现了编程语言的编译器,最后对所设计的编程语言的各种功能进行了测试。本文设计的编译器分为六个模块,分别是词法分析,语法分析,符号表,语义分析,中间代码生成和字节码解释模块。编译器的实现使用了 C#语言,给出了设计思路和部分数据结构代码。编译优化部分主要使用了与机器无关的优化对编译器进行优化。本文实现了带类型修正功能的自动类型推断的类型检查器,通过Hindley-Milner类型推断算法的推断错误会进一步在类型检查中完善,修正,进一步提高了类型推断能力。本文实现了 Leaf语言交互执行环境,用于解释代码字符串,实现了编译到字节码。
其他文献
赤壁之战后 ,孙权基于巩固孙刘联盟的考虑 ,建都建业。随着孙、刘关系的紧张 ,孙权移都武昌 ,为击败刘备集团、巩固长江上游局势奠定了基础。夷陵之战后 ,孙权为了维持与蜀汉
开展川西亚高山建群种云杉(Picea asperata)外生菌根及外延菌丝土壤碳(C)和氮(N)过程对增温响应的研究,对于未来气候变化背景下区分及估算菌根与外延菌丝对亚高山针叶林生态系统C、N
汉代是我国历史上繁荣发展的-个时期, 其乐舞百戏广为流传, 有结构丰富的相和大 曲、 别有韵味的盘鼓舞、 形式多样的鼓吹乐等, 为当今地域文化旅游资源留下了宝贵的精神财富
目的:比较伴有外周血嗜酸性粒细胞增多和不伴有外周血嗜酸性粒细胞增多的慢阻肺急性加重患者治疗后的症状缓解情况,并探索两者之后6个月的急性加重率差异。方法:选取2015年7
从立法角度看,直接言词原则在我国还并不完善,从审判实践来看,也存在诸多弊端。这对我国现行庭审方式改革极为不利。通过对存在的问题和弊端的剖析,提出必须在我国刑事审判制
挪用公款罪的犯罪客体首先是国家财经管理制度和“公款”的占有和使用权,其次才是国家工作人员职务的廉洁性。“公款”应当限于“具有直接支付功能的公共财产”。“挪用”有
<正> 美军于1775年建军。200多年来,美军在建设一支现代化的资产阶级军队的实践中,逐步建立和发展了自己的军事管理理论体系,形成了一套颇具特色的管理方法。美军军事管理的
"微电影"这一迅速发展的新媒体样式,它一经出现就在网络上迅速发展壮大,成为广大网民喜闻乐见的形式,因其发展之迅速,传播之广泛,受欢迎程度之热烈,渐渐成为各种商业品牌的新
目的了解矿山工伤事故的发生现状并研究其预防对策。方法采用回顾性调查方法分析了该矿近6年来所发生的83起轻、重、死亡事故。结果虽然该矿各类事故构成平均每两年以12.65 %
日前,中国政府网发布《中共中央国务院关于深化改革加强食品安全工作的意见》(以下简称《意见》)。其中明确,我国将研究修订食品安全法及其配套法规制度,修订完善刑法中危害食品
报纸