CN102799462B - 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法 - Google Patents

基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法 Download PDF

Info

Publication number
CN102799462B
CN102799462B CN201110140748.8A CN201110140748A CN102799462B CN 102799462 B CN102799462 B CN 102799462B CN 201110140748 A CN201110140748 A CN 201110140748A CN 102799462 B CN102799462 B CN 102799462B
Authority
CN
China
Prior art keywords
script
eclipse platform
virtual machine
eclipse
object code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110140748.8A
Other languages
English (en)
Other versions
CN102799462A (zh
Inventor
宋文魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kingdee Tianyanyun Computing Co Ltd
Original Assignee
Shenzhen Kingdee Middleware Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Kingdee Middleware Co ltd filed Critical Shenzhen Kingdee Middleware Co ltd
Priority to CN201110140748.8A priority Critical patent/CN102799462B/zh
Publication of CN102799462A publication Critical patent/CN102799462A/zh
Application granted granted Critical
Publication of CN102799462B publication Critical patent/CN102799462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

一种基于Eclipse平台的脚本引擎装置,包括:脚本加载器,用于加载用户编写的脚本文件;预处理器,用于对所述脚本文件中的脚本语言进行预处理;语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树;脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信。采用上述脚本引擎装置,能够实现对Eclipse平台的灵活配置。

Description

基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法。
【背景技术】
Eclipse是一个开放源代码、基于Java的可扩展开发平台。在使用Eclipse平台进行软件开发作业时,需要对很多参数进行配置,例如Eclipse平台本身的参数有工作区编码、工程类路径构成等。传统的Eclipse平台的配置能力是有限的,其仅通过Eclipse平台的集中式配置窗口(Preferences Page)或平台配置文件来实现。这种配置手段是固定且不可变的,用户无法参与到配置中来,无法满足一些比较复杂的配置需求。因此,传统的Eclipse平台进行配置的方式灵活性不高。
【发明内容】
基于此,有必要提供一种能提高配置灵活性的基于Eclipse平台的脚本引擎装置。
一种基于Eclipse平台的脚本引擎装置,包括:
脚本加载器,用于加载用户编写的脚本文件;
预处理器,用于对所述脚本文件中的脚本语言进行预处理;
语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树;
脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;
脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信。
优选的,所述脚本引擎装置还包括用于提供所述脚本虚拟机与所述Eclipse平台进行通信的插件的脚本语言运行时库。
优选的,所述脚本文件中记录用户编写的用于对Eclipse平台进行配置的脚本语言。
此外,还有必要提供一种能提高配置灵活性的Eclipse平台的配置方法。
一种Eclipse平台的配置方法,包括以下步骤:
加载用户编写的脚本文件;
对所述脚本文件中的脚本语言进行预处理;
对预处理后的脚本语言进行语法分析,生成语法分析树;
根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;
执行所述目标代码,并与Eclipse平台进行通信。
优选的,在所述加载用户编写的脚本文件的步骤之前还包括:
通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件。
优选的,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为:
通过脚本虚拟机执行所述目标代码,并与Eclipse平台进行通信。
优选的,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为:
通过脚本虚拟机执行所述目标代码,所述脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。
上述基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法,通过将用户编写的脚本语言转换为目标代码,脚本虚拟机执行这些目标代码,并与Eclipse平台进行通信即可实现Eclipse平台的配置。由于Eclipse平台的配置交给了用户,用户通过编写脚本语言就能实现Eclipse平台的配置,从而提高了配置的灵活性。
【附图说明】
图1为一个实施例中基于Eclipse平台的脚本引擎装置的应用示意图;
图2为另一个实施例中基于Eclipse平台的脚本引擎装置的应用示意图;
图3为一个实施例中Eclipse平台的配置方法的流程图。
【具体实施方式】
在一个实施例中,如图1所示,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,加载用户编写的脚本文件。
在步骤S100之前,通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件。该实施例中,可采用传统的脚本语言编辑器新建脚本文件或编辑已有的脚本文件,并存储通过脚本语言编辑器编写得到的脚本文件。
步骤S102,对脚本文件中的脚本语言进行预处理。
预处理是在对脚本语言进行语法分析前的一个处理过程,主要是对脚本语言进行宏替换,为语法分析做准备。
步骤S104,对预处理后的脚本语言进行语法分析,生成语法分析树。
步骤S106,根据语义属性和语法分析树生成可运行于脚本虚拟机上的目标代码。
步骤S108,执行目标代码,并与Eclipse平台进行通信。
在一个实施例中,通过脚本虚拟机执行目标代码,并与Eclipse平台进行通信。脚本虚拟机执行目标代码,并与Eclipse平台进行通信,从而实现对Eclipse平台的配置。由于用户可以通过脚本语言编辑器编写脚本文件,因此能够对Eclipse平台实现任意配置,从而提高了配置的灵活性。
在另一个实施例中,通过脚本虚拟机执行目标代码,脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (5)

1.一种基于Eclipse平台的脚本引擎装置,其特征在于,包括:
脚本加载器,用于加载用户编写的脚本文件,所述脚本文件中记录用户编写的用于对Eclipse平台进行配置的脚本语言;
预处理器,用于对所述脚本文件中的脚本语言进行预处理;
语法分析器,用于对预处理后的脚本语言进行语法分析,生成语法分析树;
脚本虚拟机代码生成器,用于根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;
脚本虚拟机,用于执行所述目标代码,并与Eclipse平台进行通信,采用脚本文件来对Eclipse平台进行配置。
2.根据权利要求1所述的基于Eclipse平台的脚本引擎装置,其特征在于,所述脚本引擎装置还包括用于提供所述脚本虚拟机与所述Eclipse平台进行通信的插件的脚本语言运行时库。
3.一种Eclipse平台的配置方法,包括以下步骤:
通过脚本语言编辑器获取用户编写的用于对Eclipse平台进行配置的脚本语言,生成脚本文件;
加载用户编写的脚本文件;
对所述脚本文件中的脚本语言进行预处理;
对预处理后的脚本语言进行语法分析,生成语法分析树;
根据语义属性和所述语法分析树生成可运行于脚本虚拟机上的目标代码;
执行所述目标代码,并与Eclipse平台进行通信,采用脚本文件来对Eclipse平台进行配置。
4.根据权利要求3所述的Eclipse平台的配置方法,其特征在于,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为:
通过脚本虚拟机执行所述目标代码,并与Eclipse平台进行通信。
5.根据权利要求3所述的Eclipse平台的配置方法,其特征在于,所述执行所述目标代码,并与Eclipse平台进行通信的步骤为:
通过脚本虚拟机执行所述目标代码,所述脚本虚拟机与Eclipse平台进行通信或通过脚本语言运行时库与Eclipse平台进行通信。
CN201110140748.8A 2011-05-27 2011-05-27 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法 Active CN102799462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110140748.8A CN102799462B (zh) 2011-05-27 2011-05-27 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110140748.8A CN102799462B (zh) 2011-05-27 2011-05-27 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法

Publications (2)

Publication Number Publication Date
CN102799462A CN102799462A (zh) 2012-11-28
CN102799462B true CN102799462B (zh) 2015-07-29

Family

ID=47198578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110140748.8A Active CN102799462B (zh) 2011-05-27 2011-05-27 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法

Country Status (1)

Country Link
CN (1) CN102799462B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200255B (zh) * 2013-03-28 2016-04-20 汉柏科技有限公司 一种对虚拟服务器进行自动化布署的方法及装置
CN105320505A (zh) * 2014-06-25 2016-02-10 中兴通讯股份有限公司 脚本处理方法及装置
CN106951305B (zh) * 2017-03-24 2020-07-31 南京大学 一种基于模型转换由QVT-R语言生成midCore脚本的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963915A (zh) * 2010-09-25 2011-02-02 中兴通讯股份有限公司 一种编译的构建方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10121790B4 (de) * 2000-06-03 2006-11-23 International Business Machines Corp. Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem
US8572554B2 (en) * 2009-07-17 2013-10-29 Ebay Inc. Method and system for integrating Java and JavaScript technologies

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963915A (zh) * 2010-09-25 2011-02-02 中兴通讯股份有限公司 一种编译的构建方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于java平台的通用脚本引擎;高明;《中国优秀硕士学位论文全文数据库 信息科技辑》;20071115(第05期);第I138-821页 *
脚本引擎的简单实现;李剑等;《电脑编程技巧与维护》;20090331(第6期);第16-17,41页 *

Also Published As

Publication number Publication date
CN102799462A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
RU2668973C2 (ru) Отладка машинного кода путем перехода от исполнения в собственном режиме к исполнению в интерпретируемом режиме
CN102053836B (zh) 一种Android应用开发的版本管理工具的实现方法
CN110716715B (zh) 一种应用程序开发方法、装置、设备及介质
CN106415495B (zh) 用于应用开发的编程系统和语言
EP2498178A1 (en) Method and device for development environment converting
CN103942086B (zh) 基于aadl的创建、分析和仿真混成系统模型的方法
CN104932905A (zh) 一种aadl到c语言的代码自动生成方法
US20130152061A1 (en) Full fidelity parse tree for programming language processing
WO2011139722A2 (en) Resumable methods
US10809985B2 (en) Instrumenting program code
CN102799462B (zh) 基于Eclipse平台的脚本引擎装置及Eclipse平台的配置方法
CN101976197A (zh) 一种自动安装多个手机软件的方法
CN101944061B (zh) 一种代码调试的方法及装置
US10853041B2 (en) Extensible instrumentation
US10656926B2 (en) Compact type layouts
CN105786465A (zh) 一种脚本语言执行方法及装置
CN111158665B (zh) 代码生成方法及装置、电子设备和存储介质
CN103544154A (zh) 一种数据格式转换的方法
WO2012129864A1 (zh) 一种以脚本形式表示增值业务流程的实现方法和系统
US20180260304A1 (en) Mapping dynamic analysis data to source code
CN109032607B (zh) 基于lua脚本的机房监控实时数据解析引擎及脚本调试工具
KR101412614B1 (ko) 웹 애플리케이션에 포함되는 자바스크립트를 aot 방식으로 컴파일하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체
CN115022312A (zh) 多智能合约引擎的实现方法、装置、电子设备及存储介质
CN110018816A (zh) 一种基于c/c++编译系统的虚拟机控制系统及其控制方法
CN117172247A (zh) 一种数据转换方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: South South technology twelve road 518000 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee after: Shenzhen Kingdee middleware Limited by Share Ltd.

Address before: 518057 Guangdong City, Nanshan District province high tech Zone in the middle of the industrial zone of the sparrow tower M-6 building, floor 1, area 3, second, 4

Patentee before: Shenzhen Kingdee Middleware Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: South South technology twelve road 518000 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee after: Shenzhen Kingdee tianyanyun computing Co., Ltd.

Address before: South South technology twelve road 518000 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee before: Shenzhen Kingdee middleware Limited by Share Ltd.