一种组态语言及其开发环境的设计及实现

来源 :西北工业大学 | 被引量 : 0次 | 上传用户:yuchenyk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
监控组态软件在工业控制中应用越来越广泛,对用户编程接口的支持显得日益重要。目前,这一领域的技术还不很成熟,一般组态软件只提供脚本语言,并直接对源程序解释执行,在执行效率、稳定性和可靠性等方面存在问题,需要解决。 论文对组态软件中的用户编程接口进行了研究,在充分考虑了监控组态软件的行业应用特点的基础上,设计了一种组态语言——C2000语言,对其编译器及开发环境的实现方案进行了详细论述;并对语言设计、语法分析、语义分析,以及中间代码生成和用来对中间代码解释执行的虚拟机等进行了深入的讨论,详细论述了各语法成分的实现,总结了对源程序中错误处理的方法。论文在最后还对语言开发环境的调试功能进行了分析,并给出了其实现方案。 在对语言编译器即语言实现方面的研究中,论文总结了编译器的一般模型,并针对其前端和后端分别选择了合适的实现方案:前端没有采用语法制导的语义分析,而是通过对源程序等价表述的引入将语法分析和语义分析安排到不同阶段进行;后端选择了用虚拟机对中间代码解释执行的实现方案。在具体实现过程中,充分利用了面向对象技术与编译技术相结合的思想。 在信息表管理方面,没有采用多级的表组织方式,而采用了线性的表组织方式,简单高效地实现了对作用域多层嵌套的支持;在表的查找算法的实现中,通过辅助表的引入,解决了符号表和常量表的顺序填写法与Hash算法中表项记录的Hash函数定位法之间的矛盾这一难点。 在虚拟机实现方面,将所有P-指令封装为类来实现;并用虚拟机维护由代码区、数据区、函数调用栈、操作数栈和指令计数器等共同构成的运行时环境,控制程序的执行,有利于实现调试功能。 在语法分析、语义分析及中间代码生成方面,先经过语法分析建立抽象语法树,然后对抽象语法树进行三次遍历完成语义分析并生成中间代码。通过对C2000语言各语法成分类及其类层次的设计,简化了整个实现过程,并通过引入辅助链表,解决了语法分析中空间管理的问题。 实际应用表明,C2000编译器能够生成结构紧凑的中间代码,其虚拟机对中间代码解释执行时,效率高,运行稳定、可靠、安全,解决了一般组态软件中在对用户编程接口支持方面的问题,很好地满足了监控组态软件的需求。
其他文献
随着在线和离线多媒体新闻数据呈爆炸性的增长,如何很好的分析这些多模态信息以实现更精确的跨媒体新闻检索,已经在当前成为一个重要的研究热点。通常情况下,这些多模态信息
目前,放射治疗技术作为一种非介入式的治疗手段,已经成为一种非常重要的治疗恶性肿瘤的手段。为了实现精确的放射治疗,我们需要在实际进行放射治疗之前,制定正确的放疗计划,并对射
本论文的研究课题是32位嵌入式微处理器的体系结构的研究与设计。该系列的CPU芯片被广泛的应用于工业控制和武器装备上,本论文为实现该系列芯片的设计提供了一种方法。 Ame
地下水是一种重要的天然资源,它是许多地方工农业、居民生活的主要水源,有时甚至是唯一的供水水源。所以,地下水的管理就显得至关重要。然而地下水的人工观测不是一件容易的
WWW(Worl d Wide Web万维网)服务已经成为了一个巨大而又分布广泛的全球信息中心.它能够为人们提供新闻,广告,消费信息,金融管理,教育,和其他许多信息服务.Web资源的丰富性使
时钟同步问题直接影响着网络应用的可靠性和网络性能的完整性,NTP时钟同步网往往是企业网的重要一部分,NTP时钟同步网的网络管理必不可少.该文在介绍时钟同步问题和SNMP网络
操作系统软件应该灵活而有效。而且,操作系统应该在不牺牲这两个特点的情况下随着应用的变化而变化。这些变化包括硬件技术的改进以及用户要求的变化。要适应硬件的变化需要可
在过去的几年里,因特网技术在全球范围内飞速发展,越来越多的企事业单位和个人用户连接到了Intemet上,由于TCP/IP协议本身的安全性考虑不足,网络安全问题也就越显突出.通常来
随着internet的高速发展,大量的信息需要通过网络进行传送,存储和处理。对网络的带宽和存储能力提出新的更高的要求。由服务器直接连接到管理存储设备的传统存储模式已难以满足
数控测井系统是计算机技术引入测井系统的必然产物,测井软件是数控测井系统中不可缺少的重要组成部分,发挥着越来越重要的作用.随着微软视窗操作系统的普及和组件程序设计技