[发明专利]定制生成表达式方法及装置在审
申请号: | 201911372668.8 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111126012A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 刘奇杰 | 申请(专利权)人: | 深圳华策辉弘科技有限公司 |
主分类号: | G06F40/166 | 分类号: | G06F40/166;G06F40/154;G06F40/253;G06F3/0484 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 洪铭福 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定制 生成 表达式 方法 装置 | ||
本发明公开了定制生成表达式方法及装置。涉及软件领域,其中,方法通过根据包括表达式初始化、表达式元素编辑、表达式元素追加、表达式转换成生成等在内的表达式定制规则以点击或拖曳的方式生成表达式,然后提取生成的表达式进行表达式调试,并根据表达式定制规则进行表达式调整,直至得到通过校验的目标表达式,显示生成的目标表达式。通过直观的点击或拖曳方式按照表达式定制规则生成表达式,然后对生成的表达式进行在线调试,保证定制表达式的准确性,表现方式直观,在保证生成过程灵活性的前提下,降低定制表达式的难度,提高用户友好度,减少定制表达式花费的时间。
技术领域
本发明涉及软件领域,尤其是涉及一种定制生成表达式方法及装置。
背景技术
很多系统都需要对数据进行如数据衍生,清洗等定制化处理,由于业务的多样性,数据定制化处理一般与业务相关性很强,因此通用型的系统不能把数据定制化处理逻辑写死在系统内部。目前一般处理方法有两种:1)使用如drools等框架,把定制化处理的模块独立化。需要定制化的业务做成drools脚本,保存在数据库或文件中,业务执行过程中,再进行脚本的加载与运行。这种方式定制性强,但使用门槛高,脚本的需要由程序员编写。2)对需要定制化处理的业务进行抽象,然后内嵌在系统中。如添加字符的裁剪功能等。这种方式对用户较为友好,但是定制性差,不够灵活,系统只能内嵌最常用的功能,对一些高级的功能无法支持。因此需要提出一种用户友好的定制生成表达式的方法。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种用户友好的定制生成表达式的方法。
第一方面,本发明的一个实施例提供了A:一种定制生成表达式的方法,包括:
根据表达式定制规则以点击或拖曳的方式生成表达式,所述表达式定制规则包括:表达式初始化、表达式元素编辑、表达式元素追加、表达式转换成生成;
提取所述表达式进行表达式调试,并根据所述表达式定制规则进行表达式调整,直至得到通过校验的目标表达式;
显示生成的所述目标表达式。
进一步地,所述表达式初始化具体包括:
生成一个通过校验的初始表达式,所述初始表达式仅包含一个表达式元素;
将所述初始表达式转化成表达式树结构。
进一步地,所述将所述初始表达式转化成表达式树结构具体包括:
将所述初始表达式转化成抽象语法树,对所述抽象语法树进行遍历,得到所述表达式树结构。
进一步地,所述表达式元素编辑具体包括:对表达式元素进行包括复制表达式元素、粘贴表达式元素、更换表达式元素在内的编辑操作。
进一步地,所述表达式元素追加具体包括:
将表达式元素作为追加操作函数的第一个参数,利用所述追加操作函数替换原来的表达式元素位置。
进一步地,所述表达式转换成生成具体包括:利用先序遍历递归算法将表达式树结构转化为表达式。
进一步地,所述表达式调试具体包括:
将所述表达式转化为抽象语法树;
遍历所述抽象语法树提取表达式变量;
输入所述表达式变量的变量值,进行表达式调试运行,根据运行得到的执行结果与所述变量值对应的预期值对比得到调试结果。
第二方面,本发明的一个实施例提供了B:一种定制生成表达式系统,包括:
表达式定制模块:用于根据表达式定制规则以点击或拖曳的方式生成表达式,所述表达式定制规则包括:表达式初始化、表达式元素编辑、表达式元素追加、表达式转换成生成;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳华策辉弘科技有限公司,未经深圳华策辉弘科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911372668.8/2.html,转载请声明来源钻瓜专利网。