MSVL编译器的设计与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:xt100q
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译器的设计和实现是计算机理论的重要组成部分,其原理和技术可被延伸至一般计算机技术的研究,因此,编译程序的研究对于程序设计具有重要的意义。伴随理论研究的逐渐深入,编译器的优势愈发明显。实际中大部分软件都是利用高级语言进行编写,然后经过编译得到底层机器码执行或者直接解释执行进而得到最终理想结果。与解释程序相比,编译程序的执行效率更高。因此,如何设计高效且通用的编译程序已经成为当代计算机研究关注的焦点。  MSVL是一种时序逻辑程序设计语言,它将系统的仿真、建模和验证三大功能集合于一体,是形式化验证的有力工具。它是投影时序逻辑(Projection Temporal Logic,PTL)的一个可执行子集。MSV是基于MSVL语言开发的解释工具,其输入是用MSVL编写的形式良好的程序代码和性质代码。其中,程序代码描述了一般系统的模型,而性质代码描述了待验证系统的期望性质。  目前,MSVL只有解释执行工具,没有相应的编译程序。为了解决解释器执行效率较低的问题,本文结合一般编译器的实现原理和上述时序逻辑的相关知识,提出了MSVL编译器的基本原理及实现。本文的主要工作包含:  1.借助于现有的词法和语法分析生成器ParserGenerator,实现针对于MSVL语言的词法分析器和语法分析器。MSVL词法分析器的输入为形式良好的MSVL程序,输出为特定分割的标识流并同时做为语法分析器的输入。M S VL语法分析器的输出是与原M S VL程序语义等价的语法树结构。  2.实现了针对MSVL程序的语义相关分析,此处的语义相关分析主要指静态语义的分析。M S VL的静态类型检查机制有效避免了变量重定义以及引用未赋值变量等非法情况。本文定义符号表结构SymbolTable来存储变量的属性信息,在必要时通过查找SymbolTable获取所需属性值,从而实现MSVL的静态类型检查。在语义分析中,一旦有违反语义规范的情况发生,编译程序立即停止执行并报告错误。  3.给出了翻译算法TRANSLATE将源MSVL程序等价转换为中间语言MSIL程序,从而实现了高级语言向中间代码的转换。该翻译算法针对M S VL的基本语句进行了转换,是整个MSVL编译器的核心模块。为了方便理解TRANSLATE算法的基本思想,本文给出四个简单但具代表性的转换实例。通过具体的实例分析验证了中间代码生成算法的正确性。  4. MSIL中间程序产生之后,利用现有辅助工具即MSIL汇编程序将MSIL程序编译为语义等价的二进制可执行机器码,从而直接在目标机上运行。  通过以上四个步骤,最终实现了MSVL的编译程序。本文实现的MSVL编译程序,不仅有效解决了MSV解释器相比于一般编译器存在的执行效率较低问题,同时,为使用M S VL编译器进行高效的形式化验证提供了保障。
其他文献
随着Internet的飞速发展,Web网已成为一个巨大的分布式信息空间,为人们提供大量的信息资源,其中有一类极具价值的资源,它们包含了特定的知识,人们可以通过访问这些资源来掌握资源
学位
随着网络应用需求日益朝着高性能、大规模、多样性的方向发展,对Internet网络提出了更高的分布式要求:需要这种以用户为中心的网络具有自扩充性、可移动性、可生存性、简单易
网格系统中包含各种各样的资源,这些资源具有动态变化、广域分布、系统异构等特性。网格资源管理与调度的目的就是要解决资源的描述、组织、管理等关键问题,它是整个计算网格
细纱机性能优劣对成纱的产量和质量都有重要影响。目前,国内棉纺厂所使用的细纱机一般通过人工操作完成,存在着更换纺纱品种过程繁琐、精度低、自动化水平低等诸多缺点。虽然国
面向服务架构是目前广泛使用的网络资源发布与访问的重要支撑手段,而随着信息化的快速发展,产生了越来越多的跨信任域之间互操作要求,在多信任域的环境下,如何保障服务的安全
由于Modbus应用协议的开放性使之成为工业控制领域中应用最广泛的协议之一。基于Modbus应用协议族的工业以太网解决方案也逐渐被应用于各种现场级测控领域。其中基于MODBUS/T
随着医疗成像设备的发展,医学影像的成像精度和数字化程度的提高,海量的有待临床医生及时做出诊断的影像的不断涌现,加速了计算机辅助诊断的出现和发展。本文面向计算机辅助诊断
现有的序列模式挖掘算法能有效地在大型数据库中挖掘出完整的序列模式集。然而在这些算法中仍存在两个值得注意的问题,一是大多数增量挖掘算法一般只考虑向数据库中增加事务和
数据流作为一种数据密集型应用已经得到了广泛的认同,广泛的应用于金融服务、网络监控、电信数据管理以及传感检测等领域。在数据流模型中,数据以大量、快速、时变的数据流持
面向web的数据挖掘是一项复杂的技术,Web数据挖掘就是利用数据挖掘技术从网络文档和服务中发现和提取信息。Web上各种形式的文档和用户访问信息就构成了Web数据挖掘的对象。