[发明专利]一种基于模板语言及其编译器的编辑正则表达式的方法在审
申请号: | 202010033310.9 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111240691A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 吴海旭;丁宁 | 申请(专利权)人: | 广州荔支网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 中山奇昱专利代理事务所(普通合伙) 44557 | 代理人: | 黄国清 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模板 语言 及其 编译器 编辑 正则 表达式 方法 | ||
1.一种基于模板语言及其编译器的编辑正则表达式的方法,其特征在于,包括步骤如下:
构建模板语言,其采用上下文无关语法;
储存语法,按照模板语言的语法储存于YAML文件中;
编译正则表达式,采用编译器将模板语言编译为正则表达式。
2.根据权利要求1所述一种基于模板语言及其编译器的编辑正则表达式的方法,其特征在于,所述模板语言的上下文无关语法如下:
pattern→expr
expr→regex
or regex expr
or regex component
or expr regex
or expr compoment
or component regex
or component expr
component→expr_alternatives
expr_alternatives→expr
or expr|expr_alternatives
所述上下文无关语法的含义是:一条模板是一个表达式,所述表达式为:
单个正则表达式;
或正则表达式后面拼接表达式;
或正则表达式后面拼接成分;
或表达式后面拼接正则表达式;
或表达式后面拼接成分;
或成分后面拼接正则表达式;
或成分后面拼接表达式;
成分由若干个可选分支组成,该语法只有一个终结符号,就是regex,即一个合法的正则表达式,成分用标记。
3.根据权利要求2所述一种基于模板语言及其编译器的编辑正则表达式的方法,其特征在于,所述YAML支持三种数据结构:
映射,其对应成分到其内容的映射;
列表,其对应多条模板;
纯量,其对应正则表达式。
4.根据权利要求3所述一种基于模板语言及其编译器的编辑正则表达式的方法,其特征在于,所述编译器包括:
符号表,所述符号表是成分名字到成分所代表的正则表达式的映射;
词法分析器,所述词法分析器由两个函数互相递归完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州荔支网络技术有限公司,未经广州荔支网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033310.9/1.html,转载请声明来源钻瓜专利网。