专利名称:基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法
基于Ecl ipse平台的脚本引擎装置及Ecl ipse平台的配置方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法。
背景技术:
Eclipse是一个开放源代码、基于Java的可扩展开发平台。在使用Eclipse平台进行软件开发作业时,需要对很多参数进行配置,例如Eclipse平台本身的参数有工作区编码、工程类路径构成等。传统的Eclipse平台的配置能力是有限的,其仅通过Eclipse平台的集中式配置窗口(Preferences Page)或平台配置文件来实现。这种配置手段是固定且不可变的,用户无法参与到配置中来,无法满足一些比较复杂的配置需求。因此,传统的Eclipse平台进行配置的方式灵活性不高。
发明内容基于此,有必要提供一种能提高配置灵活性的基于Eclipse平台的脚本引擎装置。一种基于Eclipse平台的脚本引擎装置,包括脚本加载器,用于加载用户编写的脚本文件;预处理器,用于对所述脚本文件中的脚本语言进行预处理;语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树;脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信。优选的,所述脚本弓I擎装置还包括用于提供所述脚本虚拟机与所述EcI ipse平台进行通信的插件的脚本语言运行时库。优选的,所述脚本文件中记录用户编写的用于对Eclipse平台进行配置的脚本语言。此外,还有必要提供一种能提高配置灵活性的Eclipse平台的配置方法。一种Eclipse平台的配置方法,包括以下步骤加载用户编写的脚本文件;对所述脚本文件中的脚本语言进行预处理;对预处理后的脚本语言进行语法分析,生成语法分析树;根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;执行所述目标代码,并与Eclipse平台进行通信。优选的,在所述加载用户编写的脚本文件的步骤之前还包括通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件。优选的,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为通过脚本虚拟机执行所述目标代码,并与Eclipse平台进行通信。优选的,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为通过脚本虚拟机执行所述目标代码,所述脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。上述基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法,通过将用户编写的脚本语言转换为目标代码,脚本虚拟机执行这些目标代码,并与Eclipse平台进行通信即可实现Eclipse平台的配置。由于Eclipse平台的配置交给了用户,用户通过编写脚本语言就能实现Eclipse平台的配置,从而提高了配置的灵活性。
图I为一个实施例中基于Eclipse平台的脚本引擎装置的应用示意图;图2为另一个实施例中基于Eclipse平台的脚本引擎装置的应用示意图;图3为一个实施例中Eclipse平台的配置方法的流程图。
具体实施方式在一个实施例中,如图I所示,Eclipse平台的脚本引擎装置10与Eclipse平台20进行通信,以实现Eclipse平台的配置。脚本引擎装置10包括脚本加载器100、预处理器102、语法分析器104、脚本虚拟机代码生成器106和脚本虚拟机108,其中脚本加载器100用于加载用户编写的脚本文件。用户可以通过脚本语言编辑器编写脚本语言,所编写的脚本语言用于实现Eclipse平台配置。该实施例中,可采用传统的脚本语言编辑器新建脚本文件或编辑已有的脚本文件,并存储通过脚本语言编辑器编写得到的脚本文件,该脚本文件中记录过户编写的用于对Eclipse平台进行配置的脚本语言。在使用脚本文件进行Eclipse平台配置时,脚本加载器100加载事先存储的脚本文件。预处理器102用于对脚本文件中的脚本语言进行预处理。预处理是在对脚本语言进行语法分析前的一个处理过程,主要是对脚本语言进行宏替换,为语法分析做准备。语法分析器104用于对预处理后的脚本语言进行语法分析,生成语法分析树。对预处理后的脚本语言,可采用传统的语法分析方法来进行语法分析,从而生成语法分析树。脚本虚拟机代码生成器106用于根据语义属性和语法分析树生成可运行于脚本虚拟机上的目标代码。对脚本语言进行语法分析后,根据语义属性以及生成的语法分析树,脚本虚拟机代码生成器106生成可运行于脚本虚拟机上的目标代码,便于脚本虚拟机108执行这些目标代码。脚本虚拟机108用于执行所述目标代码,并与Eclipse平台20进行通信。
通过脚本虚拟机108执行目标代码,并与Eclipse平台20进行通信,实现了采用脚本文件来对Eclipse平台20进行配置,由于用户可以通过脚本语言编辑器编写脚本文件,因此能够对Eclipse平台20实现任意配置,从而提高了配置的灵活性。在另一个实施例中,如图2所示,脚本引擎装置10还包括脚本语言运行时库110,其中脚本语言运行时库110用于提供脚本虚拟机108与Eclipse平台20进行通信的插件。脚本虚拟机108除了直接与Eclipse平台20进行通信外,还可通过脚本语言运行时库110来与Eclipse平台20进行通信。脚本语言运行时库110由一些可插拨的插件组成,例如I/O插件。当脚本语言编写了外部调用,例如“需要将Java工程提交到CVS (Concurrent VersionSystem,并发版本系统)服务器”,则脚本引擎装置10在遍历脚本语言运行时库110中的插件时会查看是否提供这一外部调用,如果查找到,则跳转到该外部调用执行。而这一外部调用本身是在Eclipse平台20中实现的,所以可以很轻松的与Eclipse平台20进行通信。
在一个实施例中,如图3所示,一种Eclipse平台的配置方法,包括以下步骤步骤S100,加载用户编写的脚本文件。在步骤SlOO之前,通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件。该实施例中,可采用传统的脚本语言编辑器新建脚本文件或编辑已有的脚本文件,并存储通过脚本语言编辑器编写得到的脚本文件。步骤S102,对脚本文件中的脚本语言进行预处理。预处理是在对脚本语言进行语法分析前的一个处理过程,主要是对脚本语言进行宏替换,为语法分析做准备。步骤S104,对预处理后的脚本语言进行语法分析,生成语法分析树。步骤S106,根据语义属性和语法分析树生成可运行于脚本虚拟机上的目标代码。步骤S108,执行目标代码,并与Eclipse平台进行通信。在一个实施例中,通过脚本虚拟机执行目标代码,并与Eclipse平台进行通信。脚本虚拟机执行目标代码,并与Eclipse平台进行通信,从而实现对Eclipse平台的配置。由于用户可以通过脚本语言编辑器编写脚本文件,因此能够对Eclipse平台实现任意配置,从而提高了配置的灵活性。在另一个实施例中,通过脚本虚拟机执行目标代码,脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种基于Eclipse平台的脚本引擎装置,其特征在于,包括 脚本加载器,用于加载用户编写的脚本文件; 预处理器,用于对所述脚本文件中的脚本语言进行预处理; 语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树; 脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码; 脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信。
2.根据权利要求I所述的基于Eclipse平台的脚本引擎装置,其特征在于,所述脚本引擎装置还包括用于提供所述脚本虚拟机与所述Eclipse平台进行通信的插件的脚本语言运行时库。
3.根据权利要求I或2所述的基于Eclipse平台的脚本引擎装置,其特征在于,所述脚本文件中记录用户编写的用于对Eclipse平台进行配置的脚本语言。
4.一种Eclipse平台的配置方法,包括以下步骤 加载用户编写的脚本文件; 对所述脚本文件中的脚本语言进行预处理; 对预处理后的脚本语言进行语法分析,生成语法分析树; 根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码; 执行所述目标代码,并与Eclipse平台进行通信。
5.根据权利要求4所述的Eclipse平台的配置方法,其特征在于,在所述加载用户编写的脚本文件的步骤之前还包括 通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件。
6.根据权利要求4或5所述的Eclipse平台的配置方法,其特征在于,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为 通过脚本虚拟机执行所述目标代码,并与Eclipse平台进行通信。
7.根据权利要求4或5所述的Eclipse平台的配置方法,其特征在于,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为 通过脚本虚拟机执行所述目标代码,所述脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。
全文摘要
一种基于Eclipse平台的脚本引擎装置,包括脚本加载器,用于加载用户编写的脚本文件;预处理器,用于对所述脚本文件中的脚本语言进行预处理;语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树;脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信。采用上述脚本引擎装置,能够实现对Eclipse平台的灵活配置。
文档编号G06F9/45GK102799462SQ201110140748
公开日2012年11月28日 申请日期2011年5月27日 优先权日2011年5月27日
发明者宋文魁 申请人:深圳市金蝶中间件有限公司