可扩展编译系统的关键技术研究

被引量 : 1次 | 上传用户:astanaZH
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
语言机制作为提供抽象的核心手段,在计算机技术飞速发展的今天并没有同样地高速发展,给软件的编写,维护带来很多困难。用户期望对领域抽象、优化技巧进行描述,加快软件(包括编译器本身)的开发。因此我们设计了可扩展的编译系统,目标是支持用户扩展语言机制,编码领域抽象、优化技巧。 本文首先介绍了可扩展编译系统的组织结构--X体系结构,然后介绍一些方便用户编写语言扩展的语言机制,我们称所有这种语言机制的集合为X语言。最后介绍一个作者研制的原型系统和实现语言扩展的过程。该系统的特征是: 提供一个可扩展的基础语言,允许该语言的程序访问程序的多个视图(如AST、类图、类型、上下文等)。用户可用该语言进行语言扩展,逐步提高该语言的抽象能力,最终得到表现力强,而又能生成高效代码的定制编译系统。 本文的主要贡献在于 ◆ 将语言定义为一组语言机制的集合,语言的语义由语言机制的语义分立定义。指出了当前语言中抽象能力的缺陷,提出了抽象需求,语言和编译系统的扩展一致性目标和X语言的编程模型。 ◆ 提出了镜像模型。镜像是计算系统的多种视图(如源程序,AST等)。而X语言的程序能够访问计算系统镜像(包含程序自身和编译系统),是X语言可扩展性的源泉。 ◆ 定义了开放的编译系统结构。我们在X体系结构的设计中,平衡考虑了执行效率和抽象表现力需求,从而将增加编译器代码的可重用性。 ◆ 定义了一个基本语言机制集合,提出了多态传参,多态联合类型,增量式定义数据结构和算法等新的语言机制。支持多视图的、基于规则的及增量式的编程风格,方便用户编写语言扩展,进行编译器的增量式开发。 ◆ 我们展现了X语言功能增强的一个循环过程,表现了X体系结构良好的可扩充性。 ◆ 提供了一个C++程序员可用的语言扩展集,使大多数程序员能够操作程序,使用函数式语言、元语言程序设计和编译领域的成果。 X语言环境作为一种软件工程工具,支持更多用户参与编译器的实现,简化编译开发。而这些用户提供的领域抽象和编码技巧会增加程序的表现力和可重用性。最终提供越来越强大的、越来越标准的、可重用的语言机制集合,简化程序员的开发任务。 我们认为开发可扩展的语言环境是降低软件开发代价的一种有效的途径。
其他文献
自泰勒的科学管理后,人们寻求各种优化生产与运作的方法,出现了订货点法、经济订货批量法、物料需求计划方法、准时生产制等。这些新的生产方法都是对生产工艺的优化,从而提高企
近年来极端灾害性天气频发,严重威胁海上航行安全,日益引起人们对海上气象安全保障的重视。小型登陆艇作为我国海防的重要力量,对气象因素影响高度敏感,精细准确地获取气象保
19世纪中期,西进运动在美国轰轰烈烈展开。本文通过叙述妇女在穿越大陆的旅行中的经历以及在边疆的早期生活,探讨了她们在开拓西部边疆、建设文明社会以及重塑传统道德规范过
酚类化合物为细胞原浆毒物,属高毒性物质。这类物质来源广泛。通常污染水源,毒死鱼虾,危害农作物,并严重威胁人类的健康。含酚有机物的毒性还在于其只能被少数的微生物分解。从自
绿色照明是国际公认的实施可持续发展、节能减排的成功范例。随着经济发展和人们生活水平的提高,消费者对生活品质的追求,将改变居民对照明产品的选择,传统照明产品的市场逐
在给出雷达双参数杂波图处理基本原理的基础上,结合模块化、可编程的设计思想,提出了一种基于TMS320C6201的雷达双参数杂波图处理的设计方案,并给出了工程上的实现方法.
本文在三项分类,即小句内、小句之间、篇章所构成的框架中进行对英汉语后指照应的对比研究。旨在揭示英汉语两种语言各自的一些特点,并据此就语言实际应用中所遇到的一些具体
为了保护人民群众的生命安全,满足国防要求,应充分认识到地下室人防建筑设计的必要性和重要性。地下室人防建筑设计应结合工程项目的实际情况,综合考虑多方面因素,优化通风井
<正> 叶面积是衡量棉花生长发育和群体缔构是否合理的指标之一,也是光合性能中与产量关系最为密切的一个因子。在研究棉花光合作用、群体结构和棉花生长发育的计算机模拟以及
在互联网时代,大数据、云计算、工业4.0、两化融合、中国制造2025、智能制造、无人工厂等等,互联网已经深刻影响着人们的工作和生活。习近平总书记在党的群团工作会议上指出,