支持多框架语法的方法和装置制造方法及图纸

技术编号:16700530 阅读:174 留言:0更新日期:2017-12-02 12:49
本公开是关于支持多框架语法的方法和装置。所述方法包括:生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系;基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。应用本公开,有利于提高前端开发人员的开发效率,缩短开发周期。

Methods and devices to support multi framework syntax

This disclosure is about methods and devices to support multi framework syntax. The method comprises the following steps: first abstract syntax tree generated corresponding to the HTML template and at least one JSX module; determine the mapping between each node of the first abstract syntax tree and another specified frame between the grammar; the mapping relationship between the first abstract syntax tree mapping for the specified abstract syntax tree based on the framework of the. The application of this public is conducive to improving the development efficiency of the front-end developers and shortening the development cycle.

【技术实现步骤摘要】
支持多框架语法的方法和装置
本公开涉及前端开发领域,尤其涉及支持多框架语法的方法和装置
技术介绍
目前有多种前端开发框架,导致前端开发人员可能需要不停的学习当前需使用的开发框架,延长了开发流程,并造成对人力资源的低效使用。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种能够支持多框架语法的方法。本公开还提出了相应的装置。根据本公开实施例的第一方面,提供一种支持多框架语法的方法,所述方法包括:生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系;基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。在一种可能的实现方式中,生成与HTML模板对应的第二抽象语法树;生成与至少一个JSX模块一一对应的至少一个第三抽象语法树;将每个所述第三抽象语法树添加到所述第二抽象语法树的指定节点下,以得到所述第一抽象语法树。在一种可能的实现方式中,所述指定框架是Vue框架、React框架或Weex框架等。根据本公开实施例的第二方面,提供一种支持多框架语法的装置,所述装置包括:第一抽象语法树生成模块,被配置为生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;映射关系确定模块,被配置为确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系;目标抽象语法树获取模块,被配置为基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。在一种可能的实现方式中,所述第一抽象语法树生成模块包括:第二抽象语法树生成子模块,被配置为生成与HTML模板对应的第二抽象语法树;第三抽象语法树生成子模块,被配置为生成与至少一个JSX模块一一对应的至少一个第三抽象语法树;合并子模块,被配置为将每个所述第三抽象语法树添加到所述第二抽象语法树的指定节点下,以得到所述第一抽象语法树。在一种可能的实现方式中,所述指定框架是Vue框架、React框架或Weex框架等。根据本公开实施例的第三方面,提供一种支持多框架语法的装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如上所述的任意方法。根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行如上所述的任意方法。本公开的实施例提供的技术方案可以包括以下有益效果:应用本公开,开发人员无需学习各种不同开发框架,开发人员可采用HTML模板和JSX语法进行开发,系统会自动生成对应于特定框架的抽象语法树,有利于提高前端开发人员的开发效率,缩短开发周期。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是根据一示例性实施例示出的一种支持多框架语法的方法的流程图。图2是根据一示例性实施例示出的一种生成第一抽象语法树的方法的流程图。图3是根据一示例性实施例示出的一种支持多框架语法的装置的框图。图4是根据一示例性实施例示出的一种支持多框架语法的装置的框图。图5是根据一示例性实施例示出的一种装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种支持多框架语法的方法的流程图。如图1所示,包括以下步骤。在步骤S11中,生成对应于HTML(超文本标记语言,HyperTextMarkupLanguage的缩写)模板和至少一个JSX模块的第一抽象语法树。JSX模块指用JSX语法描述的源代码。JSX语法可看做JavaScript和XML语法相结合的语法。抽象语法树(abstractsyntaxtree,缩写为AST)是源代码的抽象语法结构的树状表现形式。树上的每个节点都表示源代码中的一种结构。在步骤S12中,确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系。该指定框架可以是Vue框架、React框架或Weex框架等。在一个示例中,可预先设置针对该指定框架的映射库,该映射库可包括第一抽象语法树的各种节点结构与该指定框架的语法间的映射关系,从而,可通过查找该映射库来确定当前的第一抽象语法树中的各个节点与该指定框架间的映射关系。例如,可在针对Vue框架的映射库中设置映射关系:text→p,image→img,则可将第一语法树中表达为text的节点映射为:p,可将第一语法树中表达为image的节点映射为img。在步骤S13中,基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。可对第一抽象语法树中的每个节点进行如上所述的映射,则映射后的语法树即为该指定框架下的抽象语法树。根据本实施例,开发人员无需学习各种不同开发框架,开发人员可采用HTML模板和JSX语法进行开发,系统会自动生成对应于特定框架的抽象语法树,有利于提高前端开发人员的开发效率,缩短开发周期。图2是根据一示例性实施例示出的一种生成第一抽象语法树的方法的流程图。图1所示的步骤S11可包括图2所示的方法。如图2所示,图1中的生成对应于HTML模板和至少一个JSX模块的第一抽象语法树,可包括下面的步骤。步骤S111,生成与HTML模板对应的第二抽象语法树。在一个示例中,可对HTML模板进行解析得到该HTML模板对应的DOM树作为第二抽象语法树。步骤S112,生成与至少一个JSX模块一一对应的至少一个第三抽象语法树。与JSX模板对应的第三抽象语法树的节点可能是变量、函数或声明等。步骤S113,将每个所述第三抽象语法树添加到所述第二抽象语法树的指定节点下,以得到所述第一抽象语法树。在一个示例中,可认为指定每个第三抽象语法树将第二抽象语法树中的哪个节点作为父节点。图3是根据一示例性实施例示出的一种支持多框架语法的装置的框图。该装置包括第一抽象语法树生成模块302、映射关系确定模块304和目标抽象语法树获取模块306。第一抽象语法树生成模块302被配置为生成对应于HTML模板和至少一个JSX模块的第一抽象语法树。所述指定框架是Vue框架、React框架或Weex框架等。映射关系确定模块304被配置为确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系。目标抽象语法树获取模块306被配置为基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。图4是根据一示例性实施例示出的一种支持多框架语法的装置的框图。图4中的映射关系确定模块304和目标抽象语法树获取模块306与图3所示类似。图4所示的示例性实施例中,第一抽象语法树生成模块302可包括:第二抽象语法树生成子模块3022,被配置为生成与HTML模板对应的第二抽象语法树;第三抽象语法树生成子模块3024,被配置为生成与至少一个JSX模块一一对应的至少一个第三抽象语法树;合并子模块3026,被配置为将每个所述第三抽象语法树本文档来自技高网...
支持多框架语法的方法和装置

【技术保护点】
一种支持多框架语法的方法,其特征在于,所述方法包括:生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系;基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。

【技术特征摘要】
1.一种支持多框架语法的方法,其特征在于,所述方法包括:生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;确定所述第一抽象语法树中各个节点与另一指定框架的语法间的映射关系;基于所述映射关系将所述第一抽象语法树映射为所述指定框架的抽象语法树。2.根据权利要求1所述的方法,其特征在于,所述生成对应于HTML模板和至少一个JSX模块的第一抽象语法树,包括:生成与HTML模板对应的第二抽象语法树;生成与至少一个JSX模块一一对应的至少一个第三抽象语法树;将每个所述第三抽象语法树添加到所述第二抽象语法树的指定节点下,以得到所述第一抽象语法树。3.根据权利要求1所述的装置,其特征在于,所述指定框架是Vue框架、React框架或Weex框架。4.一种支持多框架语法的装置,其特征在于,所述装置包括:第一抽象语法树生成模块,被配置为生成对应于HTML模板和至少一个JSX模块的第一抽象语法树;映射关系确定模块,被配置为确定所述第一抽象语法树中各个节点与另一指...

【专利技术属性】
技术研发人员:董红光
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

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

1