[发明专利]一种代码转换方法、设备和存储介质在审
申请号: | 202010273897.0 | 申请日: | 2020-04-09 |
公开(公告)号: | CN111523290A | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 蔡亮;张帅;李伟;匡立中;邱炜伟 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F40/154 | 分类号: | G06F40/154;G06F16/903 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 转换 方法 设备 存储 介质 | ||
1.一种代码转换方法,其特征在于,包括
将第一源代码中所有以双斜杠“//”开头,以换行结尾的代码删除后并生成第一文本;
将所述第一文本中所有的空格字符删除后生成第二文本;
判断第一文本中左右花括号数量是否相等:
是,则顺序遍历所述第二文本,根据匹配的花括号类型执行对应的操作以生成节点树;
根据所述节点树按照设定的层级、缩进规则生成第二代码。
2.根据权利要求1所述的方法,其特征在于,所述将第一源代码中所有以双斜杠“//”开头,以换行结尾的代码删除后并生成第一文本,包括:
通过第一正则表达式/\/\/.*\n/识别所述第一源代码中所有双斜杠“//”开头,以换行结尾的代码,删除后生成第一文本;其中,\/代表匹配一个左斜杠;.代表一个任意字符;*代表匹配次数,0次或n次,.*即代表匹配不确定数目的任意字符;\n代表换行字符,即一行的结尾。
3.根据权利要求2所述的方法,其特征在于,将所述第一文本中所有的空格字符删除后生成第二文本,包括:
通过第二正则表达式/\s+/识别第一文本中空格字符,删除后生成第二文本;其中,s代表匹配一个空格字符;+代表匹配次数,匹配一次或多次,\s+即代表匹配任意长度的连续空格。
4.根据权利要求3所述的方法,其特征在于,根据匹配的花括号类型执行对应的操作以生成节点树,包括:
配置一根节点压入栈底;所述根节点包括节点类型、节点名称、节点值和子节点列表;
判断匹配的花括号类型:
若类型为左花括号,则生成第一节点后压入堆栈;
若类型为右花括号,则将堆栈中的当前节点推出后作为下一节点的子节点,并放入下一节点的子节点列表;
遍历所述第二文本直到遍历完所有的花括号。
5.根据权利要求4所述的方法,其特征在于,根据所述节点树按照设定的层级、缩进规则生成第二代码,包括:
获取节点树的根节点的信息,根据节点类型,节点名,节点值,创建一个html的父标签;
根据子节点列表的若干子节点的信息生成对应的若干html子标签,并依次放置在父标签内;
根据每个层级,按照设定的缩进规则对各html的标签进行填充后生成第二代码,即html代码。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述第一源代码为Less代码和/或Scss代码。
7.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-6中任一项所述的方法。
8.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010273897.0/1.html,转载请声明来源钻瓜专利网。