工具命令语言集成开发系统技术方案

技术编号:2855355 阅读:257 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机语言集成开发环境,公开了一种工具命令语言集成开发系统,使得采用进程方式的命令行方式得到支持,编辑器能完善地支持汉字编码,解释器异常不影响主框架,用户能以工程方式进行开发。这种工具命令语言集成开发系统给解释器创建独立的进程独立于主框架运行,并创建重定向输入、输出管道与主框架连接,实现了命令行方式的运行;在编辑模块中增加了专门针对汉字的判别和处理,采用了剪贴库实现智能化编辑功能,通过定时保存实现了自动备份和恢复功能;设计专门的工程管理模块用于实现工程开发和模板快速创建功能。

【技术实现步骤摘要】

本专利技术涉及计算机语言集成开发环境,特别涉及工具命令语言集成开发系统
技术介绍
工具命令语言(Tool Command Language,简称“TCL”)是一种一种解释执行的脚本语言(Scripting Language)。它提供了通用的编程能力支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。由于TCL的解释器是用一个C\C++语言的过程库实现的,因此在某种意义上又可以把TCL看作一个C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,可以很容易就在C\C++应用程序中嵌入TCL,而且每个应用程序都可以根据自己的需要对TCL语言进行扩展。用户可以针对某一特定应用领域对TCL语言的核心命令集进行扩展,加入适合于自己的应用领域的扩展命令,如果需要,甚至可以加入新的控制结构,TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。扩展后的TCL语言将可以继承TCL核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。根据需要,甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。通过对TCL的扩展、继承或屏蔽,用户用不着象平时定义一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功能完备的脚本语言。TCL良好的可扩展性使得它能很好地适应产品测试的需要,测试任务常常会由于设计和需求的改变而迅速改变,往往让测试人员疲于应付。利用TCL的可扩展性,测试人员就可以迅速继承多种新技术,并针对产品新特点迅速推出扩展TCL命令集,以用于产品的测试中,可以较容易跟上设计需求的变化。另外,因为TCL是一种比C\C++语言有着更高抽象层次的语言,使用TCL可以在一种更高的层次上编写程序,它屏蔽掉了编写C\C++程序时必须涉及到的一些较为烦琐的细节,可以大大地提高开发测试例的速度。而且,使用TCL语言写的测试例脚本,即使作了修改,也用不着重新编译就可以调用TCL解释器直接执行。可以省却不少时间。目前测试语言基本上以TCL语言为主,TCL已成为自动测试中事实上的标准。由于TCL集成开发环境的发展不够完善,因此对于很多测试工程师都还在使用编辑器+Tcl解释器的工作模式,TCL开发时需要在两个程序之间反复切换,从而导致效率降低。现有的一些Tcl语言的开发工具,如ITT等,使用起来很不方便。因此,一个基于TCL语言的方便易用的集成开发系统将能满足大多数TCL语言开发者的迫切需要。现有的Tcl语言开发工具采用的总体框架所包含的各个部分是图形用户接口(Graphic User Interface,简称“GUI”)、脚本编辑器和自行开发的脚本解释器。用户通过GUI在脚本编辑器里编辑程序,完成后由自行开发的脚本解释器解释运行。由于这里的脚本编辑器往往采用的是普通的编辑控件,使得其对编码的支持不够,比如对于汉字的处理可能会出现乱码的情况。由于自行开发的脚本解释器是开发者自己编写的解释器,其通用性不够好,往往会存在一些代码问题,出现异常的可能性比通用的脚本解释器要高。更为致命的是,由于脚本解释器和程序主框架整合在一起,由一个进程调用,因此脚本解释器的异常将导致主框架的异常,整个开发工具将终止运行,不但会影响开发效率,而且还可能导致不可挽回的损失。现有的一些功能增强的文本编辑软件,比如Source Insight等,已经具备利用已有解释器运行脚本的功能,通过配置可以调用已有解释器来运行用户编辑的脚本,然后将解释器的输出重定向回本编辑软件,完成解释运行的功能。由于采用已有的解释器,无法提供更多的扩展命令,即无法适应更多的使用场合。由于现有的编辑软件只能调用解释器运行,不能将输入定向到解释器,因此也不支持命令行方式,造成对初学者的极大不方便。由于编辑软件本质上是针对一个脚本文件的编辑,因此只能以文件为单位解释运行,而不能支持工程的开发。另外,由于编辑软件只是将解释器的输出简单地重定向回本软件,因此用户不能完全控制解释器的输出,且不支持多种信息(如告警信息和错误信息)的输出和显示。在实际应用中,上述方案存在以下问题对于采用GUI+自行开发解释器的方案,主要问题是解释器的稳定性不够、解释器对GUI的依赖性较强,支持新脚本语言需要重新开发新解释器的代价较大。对于利用已有编辑器运行文件的商业编辑软件方案,主要问题是不可扩展,不支持命令行方式,不支持工程方式执行,不支持多种信息输出和显示。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种工具命令语言集成开发系统,使得采用进程方式的命令行方式得到支持,编辑器能完善地支持汉字编码,解释器异常不影响主框架,用户能以工程方式进行开发。为实现上述目的,本专利技术提供了一种工具命令语言集成开发系统,包含用户界面模块、工程管理模块、文本编辑模块、脚本解释器接口模块、脚本解释器,其中所述工程管理模块用于实现工程开发;所述文本编辑模块用于实现所述工具命令语言脚本编辑功能; 所述脚本解释器接口模块用于实现所述脚本解释器的重定向输入管道和重定向输出管道;所述脚本解释器通过建立独立进程而独立于所述系统中其它模块运行,用于对所述工具命令语言进行解释和执行;所述用户界面模块用于实现所述系统的主框架,调用所述工程管理模块完成所述工程开发相关操作,调用所述文本编辑模块提供脚本编辑环境,通过所述脚本解释器接口模块控制所述脚本解释器的运行,通过所述重定向输入管道向所述脚本解释器输入参数,通过所述重定向输出管道从所述脚本解释器获得运行结果。其中,在命令行方式下,所述用户界面模块通过所述重定向输入管道向所述脚本解释器发送命令,所述重定向输出管道包含标准输出管道和标准错误管道,所述用户界面模块通过所述标准输出管道从所述脚本解释器获得输出结果和通过扩展命令输出的带错误标记的错误信息,所述用户界面模块通过所述标准错误管道从所述脚本解释器获得脚本本身因语法错误导致的错误信息。还包含智能数据备份模块,用于实现所述脚本文件和所述文本编辑模块中尚未保存的数据的定时备份和恢复,所述文本编辑模块可通过所述智能数据备份模块实现脚本编辑时所述脚本文件和所述文本编辑模块中尚未保存的数据的定时备份和恢复。所述智能数据备份模块还用于根据设定参数定时备份所述脚本文件和所述文本编辑模块中尚未保存的数据并加入时间戳,用户通过所述时间戳选择恢复相应时刻所备份的所述脚本文件和所述文本编辑模块中尚未保存的数据;所述智能数据备份模块还用于在备份所述脚本文件之前,先判断当前的所述脚本文件的内容和所述文本编辑模块中尚未保存的数据与所有已经备份的所述脚本文件的内容是否相同,如果是则不进行备份,否则备份当前的所述脚本文件和所述文本编辑模块中尚未保存的数据。还包含脚本解释器增强模块,用于实现所述脚本解释器的多线程运行,所述用户界面模块可通过所述脚本解释器接口模块和所述脚本解释器增强模块支持单个脚本中的至少两个线程的运行或者至少两个脚本的并行。还包含适配器接口模块,用于实现非工具命令语言的工具命令语言接口,所述脚本解释器增强模块可通过所述适配器接口模块调用所述非工具命令语言的代码。所述脚本解释器增强模块还用于实现对所述适配器接口模块的调用函数接口。所述用户界面模块还用于实现用户操本文档来自技高网
...

【技术保护点】
一种工具命令语言集成开发系统,其特征在于,包含用户界面模块、工程管理模块、文本编辑模块、脚本解释器接口模块、脚本解释器,其中所述工程管理模块用于实现工程开发;所述文本编辑模块用于实现所述工具命令语言脚本编辑功能;所述 脚本解释器接口模块用于实现所述脚本解释器的重定向输入管道和重定向输出管道;所述脚本解释器通过建立独立进程而独立于所述系统中其它模块运行,用于对所述工具命令语言进行解释和执行;所述用户界面模块用于实现所述系统的主框架,调用所述 工程管理模块完成所述工程开发相关操作,调用所述文本编辑模块提供脚本编辑环境,通过所述脚本解释器接口模块控制所述脚本解释器的运行,通过所述重定向输入管道向所述脚本解释器输入参数,通过所述重定向输出管道从所述脚本解释器获得运行结果。

【技术特征摘要】
1.一种工具命令语言集成开发系统,其特征在于,包含用户界面模块、工程管理模块、文本编辑模块、脚本解释器接口模块、脚本解释器,其中所述工程管理模块用于实现工程开发;所述文本编辑模块用于实现所述工具命令语言脚本编辑功能;所述脚本解释器接口模块用于实现所述脚本解释器的重定向输入管道和重定向输出管道;所述脚本解释器通过建立独立进程而独立于所述系统中其它模块运行,用于对所述工具命令语言进行解释和执行;所述用户界面模块用于实现所述系统的主框架,调用所述工程管理模块完成所述工程开发相关操作,调用所述文本编辑模块提供脚本编辑环境,通过所述脚本解释器接口模块控制所述脚本解释器的运行,通过所述重定向输入管道向所述脚本解释器输入参数,通过所述重定向输出管道从所述脚本解释器获得运行结果。2.根据权利要求1所述的工具命令语言集成开发系统,其特征在于,在命令行方式下,所述用户界面模块通过所述重定向输入管道向所述脚本解释器发送命令,所述重定向输出管道包含标准输出管道和标准错误管道,所述用户界面模块通过所述标准输出管道从所述脚本解释器获得输出结果和通过扩展命令输出的带错误标记的错误信息,所述用户界面模块通过所述标准错误管道从所述脚本解释器获得脚本本身因语法错误导致的错误信息。3.根据权利要求1所述的工具命令语言集成开发系统,其特征在于,还包含智能数据备份模块,用于实现所述脚本文件和所述文本编辑模块中尚未保存的数据的定时备份和恢复,所述文本编辑模块可通过所述智能数据备份模块实现脚本编辑时所述脚本文件和所述文本编辑模块中尚未保存的数据的定时备份和恢复。4.根据权利要求3所述的工具命令语言集成开发系统,其特征在于,所述智能数据备份模块还用于根据设定参数定时备份所述脚本文件和所述文本编辑模块中尚未保存的数据并加入时间戳,用户通过所述时间戳选择恢复相应时刻所备份的所述脚本文件和所述文本编辑模块中尚未保存的数据;所述智能数据备份模块还用于在备份所述脚...

【专利技术属性】
技术研发人员:张彤旭
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1