【技术实现步骤摘要】
用户界面文件生成方法及装置
本专利技术涉及计算机数据处理
,尤其涉及一种用户界面文件生成方法及装置。
技术介绍
Flutter(跨平台的图形渲染引擎)是谷歌提供的移动用户界面(UserInterface,UI)UI框架,可以在IOS和Android(安卓)上构建高质量的原生用户界面。现有技术中,FlutterUI动态化框架(简称Fair)通过解析UI对应的结构描述文件(可以简称为领域特定语言(DomainSpecificLanguage,DSL)文件)来实现UI的动态化布局,其中,UI对应的结构描述文件由人工编写,或人工翻译UI的源码文件生成。在通过人工编写生成UI对应的结构描述文件时,需要开发者对Fair有深刻的理解,对开发者要求较高;通过人工转义UI的源码文件生成UI对应的结构描述文件时,耗时较长,易错,且不易维护。由此可见,在生成UI对应的结构描述文件时存在对开发者要求高或者生成效率低、准确率低且不易维护的问题。
技术实现思路
本专利技术实施例提供一种用户界面文件生成方法及装置 ...
【技术保护点】
1.一种用户界面文件生成方法,其特征在于,包括:/n基于抽象语法树AST对目标用户界面UI对应的目标源码文件进行处理,获取第一预设数目个AST节点,并根据所述第一预设数目个AST节点在预设的P个AST节点类型中确定N个AST节点类型,所述P个AST节点类型对应于包括至少一个源码文件的源码文件集合,每个所述源码文件对应于一UI,各所述UI基于Flutter引擎进行图形渲染;/n根据预设策略对所述N个AST节点类型归并,确定M个第一目标AST节点类型,M、N为正整数,M小于N,且M大于或者等于1;/n基于所述M个第一目标AST节点类型,生成包括标准节点数据流和标准解析接口的目标 ...
【技术特征摘要】
1.一种用户界面文件生成方法,其特征在于,包括:
基于抽象语法树AST对目标用户界面UI对应的目标源码文件进行处理,获取第一预设数目个AST节点,并根据所述第一预设数目个AST节点在预设的P个AST节点类型中确定N个AST节点类型,所述P个AST节点类型对应于包括至少一个源码文件的源码文件集合,每个所述源码文件对应于一UI,各所述UI基于Flutter引擎进行图形渲染;
根据预设策略对所述N个AST节点类型归并,确定M个第一目标AST节点类型,M、N为正整数,M小于N,且M大于或者等于1;
基于所述M个第一目标AST节点类型,生成包括标准节点数据流和标准解析接口的目标语法树;
根据所述标准解析接口在所述标准节点数据流中进行信息提取,生成所述目标UI对应的结构描述文件和代理文件。
2.根据权利要求1所述的方法,其特征在于,所述基于抽象语法树AST对目标用户界面UI对应的目标源码文件进行处理,获取第一预设数目个AST节点,并根据所述第一预设数目个AST节点在预设的P个AST节点类型中确定N个AST节点类型,包括:
基于所述AST对所述目标源码文件进行分析、组装,将所述目标源码文件转化为对应的AST信息,所述AST信息包括所述第一预设数目个AST节点;
根据所述第一预设数目个AST节点,在所述P个AST节点类型中确定第二预设数目个AST节点类型,每个所述AST节点类型对应于至少一个AST节点;
基于第一过滤原则,将所述第二预设数目个AST节点类型中的部分AST节点类型进行过滤,获取所述N个AST节点类型。
3.根据权利要求1所述的方法,其特征在于,所述根据预设策略对所述N个AST节点类型归并,确定M个第一目标AST节点类型之前,还包括:
针对所述N个AST节点类型中的每个AST节点类型,基于第二过滤原则,对当前AST节点类型对应的每个AST节点中的第一内容进行过滤,获取当前AST节点类型对应的每个AST节点的目标内容;
其中,所述第一内容对应的重要等级小于预设等级。
4.根据权利要求1所述的方法,其特征在于,所述根据预设策略对所述N个AST节点类型归并,确定M个第一目标AST节点类型,包括:
在所述N个AST节点类型中,将具有相同类型特征的不同AST节点类型进行合并,以及,将对应于不同形式且类型相同的AST节点类型进行合并,在K个目标AST节点类型中获取所述M个第一目标AST节点类型;
其中,对应于不同形式且类型相同的AST节点类型属于不同的AST节点类型,所述P个AST节点类型归并后对应于所述K个目标AST节点类型。
5.根据权利要求4所述的方法,其特征在于,所述在所述N个AST节点类型中,将具有相同类型特征的不同AST节点类型进行合并,以及,将对应于不同形式且类型相同的AST节点类型进行合并,包括:
针对每个AST节点类型,在N-1个AST节点类型中,检测是否存在与当前AST节点类型具有相同类型特征的第一AST节点类型,或者,检测是否存在与...
【专利技术属性】
技术研发人员:李旭,
申请(专利权)人:北京城市网邻信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。