用于获得可兼容多版本系统的应用的方法及装置制造方法及图纸

技术编号:22564564 阅读:48 留言:0更新日期:2019-11-16 11:46
本公开提供了一种用于获得可兼容多版本系统的应用的方法、装置、系统及介质。所述方法包括首先获取在第一版本系统中运行的第一程序的第一抽象语法树,然后扩充所述第一抽象语法树以得到第二抽象语法树,其中与所述第二抽象语法树对应的第二程序可运行于所述第一版本系统以及其他版本系统,接着基于所述第二抽象语法树得到所述第二程序。其中,所述第一程序和所述第二程序为同一应用的不同程序,以及所述第一版本系统和所述其他版本系统为基于同一软件框架的不同版本的软件系统。

Method and device for obtaining application of compatible multi version system

The present disclosure provides a method, device, system and medium for obtaining an application of a compatible multi version system. The method includes first obtaining the first abstract syntax tree of the first program running in the first version system, then extending the first abstract syntax tree to obtain the second abstract syntax tree, wherein the second program corresponding to the second abstract syntax tree can run in the first version system and other version systems, and then obtaining the second abstract syntax tree based on the second abstract syntax tree Two procedure. Wherein, the first program and the second program are different programs of the same application, and the first version system and the other version system are different versions of software systems based on the same software framework.

【技术实现步骤摘要】
用于获得可兼容多版本系统的应用的方法及装置
本公开涉及互联网
,更具体地,涉及一种用于获得可兼容多版本系统的应用的方法、装置、系统及介质。
技术介绍
相关技术中前后端分离,使得前端工程师不需要依赖于后端程序而直接开发应用程序的前端界面。当开发一个新应用的时候后端服务只需要写一次程序,但是在前端应用层面可能会根据运行该应用的前端系统(例如,浏览器)的不断升级而不断更新。这种情况下,如果应用的前端开发针对的是较高版本的前端系统时,新开发的应用往往无法满足低版本的前端系统的运行,导致新开发的应用的使用场景受限,无法享受到前后端分离带来的研发效率提升。
技术实现思路
有鉴于此,本公开提供了一种用于获得可兼容多版本系统的应用的方法、装置、系统及介质。本公开的一个方面提供了一种用于获得可兼容多版本系统的应用的方法。所述方法包括:获取在第一版本系统中运行的第一程序的第一抽象语法树;扩充所述第一抽象语法树以得到第二抽象语法树,其中与所述第二抽象语法树对应的第二程序可运行于所述第一版本系统以及其他版本系统;以及基于所述第二抽象语法树得到所述第二程序。其中,所述第一程序和所述第二程序为同一应用的不同程序,以及所述第一版本系统和所述其他版本系统为基于同一软件框架的不同版本的软件系统。根据本公开的实施例,所述扩充所述第一抽象语法树以得到第二抽象语法树,包括基于所述其他版本系统相对于所述第一版本系统的兼容语法清单,扩充所述第一抽象语法树以得到所述第二抽象语法树。根据本公开的实施例,所述基于所述兼容语法清单,扩充所述第一抽象语法树以得到所述第二抽象语法树,包括在所述第一抽象语法树的至少一个节点中,通过条件语句增加所述兼容语法清单中与所述节点对应的语法语句,以得到第二抽象语法树。根据本公开的实施例,所述获取在第一版本系统中运行的第一程序的第一抽象语法树,包括解析所述第一程序的代码,得到所述第一抽象语法树。根据本公开的实施例,所述基于所述第二抽象语法树得到所述第二程序,包括将所述第二抽象语法树转换为所述第二程序的代码,以得到所述第二程序。根据本公开的实施例,所述方法还包括在所述其他版本系统中运行所述第二程序。根据本公开的实施例,所述第一版本系统和所述其他版本系统为浏览器的不同版本系统,并且所述其他版本系统低于所述第一版本系统。本公开的另一方面,提供了一种用于获得可兼容多版本系统的应用的装置。所述装置包括第一获取模块、扩充模块以及第二获取模块。所述第一获取模块用于获取在第一版本系统中运行的第一程序的第一抽象语法树。所述扩充模块用于扩充所述第一抽象语法树以得到第二抽象语法树,其中与所述第二抽象语法树对应的第二程序可运行于所述第一版本系统以及其他版本系统。所述第二获取模块用于基于所述第二抽象语法树得到所述第二程序。其中,所述第一程序和所述第二程序为同一应用的不同程序,所述第一版本系统和所述其他版本系统为基于同一软件框架的不同版本的软件系统。根据本公开的实施例,所述扩充模块具体用于基于所述其他版本系统相对于所述第一版本系统的兼容语法清单,扩充所述第一抽象语法树以得到所述第二抽象语法树。根据本公开的实施例,所述扩充模块具体用于在所述第一抽象语法树的至少一个节点中,通过条件语句增加所述兼容语法清单中与所述节点对应的语法语句,以得到第二抽象语法树。本公开的另一方面,提供了一种用于获得可兼容多版本系统的应用的系统。所述系统包括存储器和处理器。所述存储器上存储有计算机可执行指令。所述处理器执行所述指令,以实现如上所述的方法。本公开的另一方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。根据本公开实施例提出的兼容多版本系统的应用程序的实现方法,使得开发人员针对例如最新版本的前端系统开发得到的应用程序,可以根据本公开实施例的方法进行代码的扩充得到兼容其他版本的前端系统的应用程序,进而使得应用程序能够满足更多使用场景。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的用于获得可兼容多版本系统的应用的方法、装置、系统及介质的应用构思示意;图2示意性示出了根据本公开一实施例的用于获得可兼容多版本系统的应用的方法的流程图;图3示意性示出了根据本公开另一实施例的用于获得可兼容多版本系统的应用的方法的流程图;图4示意性示出了根据本公开实施例的用于获得可兼容多版本系统的应用的装置的框图;以及图5示意性示出了根据本公开实施例的用于获得可兼容多版本系统的应用的计算机系统的框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本公开的实施例提供了一种用于获得可兼容多版本系统的应用的方法、装置、系统及介质。根据本公开实施例方法包括首先获取在第一版本系统中运行的第一程序的第一抽象语法树,然后扩充第一抽象语法树以得到第二抽象语法树,其中与第二抽象语法树对应的第二程序可运行于第一版本系统以及其他版本系统。接着基于第二抽象语法树得到第二程序。其中,第一程序和第二程序为同一应用的不同程序,以及第一版本系统和其他版本系统为基于同一软件框架的不同版本的软件系统。根据本公开的实施例,针对某一版本系统而开发的应用程序,可以通过扩充程序代码而转换为兼容其他版本系统的应用程序,进而使得应用程序能够满足更多使用场景。<本文档来自技高网...

【技术保护点】
1.一种用于获得可兼容多版本系统的应用的方法,包括:/n获取在第一版本系统中运行的第一程序的第一抽象语法树;/n扩充所述第一抽象语法树以得到第二抽象语法树,其中与所述第二抽象语法树对应的第二程序可运行于所述第一版本系统以及其他版本系统;以及/n基于所述第二抽象语法树得到所述第二程序;/n其中:/n所述第一程序和所述第二程序为同一应用的不同程序;/n所述第一版本系统和所述其他版本系统为基于同一软件框架的不同版本的软件系统。/n

【技术特征摘要】
1.一种用于获得可兼容多版本系统的应用的方法,包括:
获取在第一版本系统中运行的第一程序的第一抽象语法树;
扩充所述第一抽象语法树以得到第二抽象语法树,其中与所述第二抽象语法树对应的第二程序可运行于所述第一版本系统以及其他版本系统;以及
基于所述第二抽象语法树得到所述第二程序;
其中:
所述第一程序和所述第二程序为同一应用的不同程序;
所述第一版本系统和所述其他版本系统为基于同一软件框架的不同版本的软件系统。


2.根据权利要求1所述的方法,其中,所述扩充所述第一抽象语法树以得到第二抽象语法树包括:
基于所述其他版本系统相对于所述第一版本系统的兼容语法清单,扩充所述第一抽象语法树以得到所述第二抽象语法树。


3.根据权利要求2所述的方法,其中,所述基于所述兼容语法清单,扩充所述第一抽象语法树以得到所述第二抽象语法树包括:
在所述第一抽象语法树的至少一个节点中,通过条件语句增加所述兼容语法清单中与所述节点对应的语法语句,以得到第二抽象语法树。


4.根据权利要求1所述的方法,其中,所述获取在第一版本系统中运行的第一程序的第一抽象语法树包括:
解析所述第一程序的代码,得到所述第一抽象语法树。


5.根据权利要求1所述的方法,其中,所述基于所述第二抽象语法树得到所述第二程序包括:
将所述第二抽象语法树转换为所述第二程序的代码,以得到所述第二程序。


6.根据权利要求1所述的方法,其中,所述第一版本...

【专利技术属性】
技术研发人员:赵海强罗涛白长昊
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1