[发明专利]一种表达式处理方法和装置有效
申请号: | 201710806609.1 | 申请日: | 2017-09-08 |
公开(公告)号: | CN107729001B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 胡勇 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 表达式 处理 方法 装置 | ||
1.一种表达式处理方法,其特征在于,所述表达式是树型结构,所述表达式本身作为根节点,每个非根节点是其父节点的子表达式,每个节点包括前缀,所述前缀标识处理该节点的计算引擎,所述方法包括:
步骤a,对所述表达式中的未处理的最低层的节点,调用该节点的计算引擎处理该节点以得到计算结果,并在所述表达式中,把该节点替换为所述计算结果;
步骤b,确定该表达式中是否还存在未处理的节点,若存在,则转步骤a。
2.根据权利要求1所述的方法,其特征在于,所述节点除了前缀还包括:内容,所述节点的内容位于对应的左右标识符之间,
所述方法还包括:
构建树结构中所有节点的标识符对象,其中,所述标识符对象包括:节点的左右标识符的符号和位置,所述最低层的节点是在所述表达式中的节点中比较每个节点的标识符的位置获得的。
3.根据权利要求2所述的方法,其特征在于,所述标识符对象还包括:相应节点的前缀,其中,该节点对应的计算引擎是在预设的注册模块中通过所述前缀匹配确定的,其中,所述注册模块中预注册有一个或多个预设的计算引擎和其所对应的前缀名称。
4.根据权利要求3所述的方法,其特征在于,所述构建所述表达式中所有节点的标识符对象包括:
从左至右顺序地对所述表达式的每个字符执行下述标识符识别步骤:
判断当前字符是否是左右标识符,
若当前字符是左标识符,则创建该左标识符对应的节点的标识符对象,在该标识符对象中记录该左标识符的符号和位置,并匹配该左标识符对应的前缀,将匹配确定的前缀记录在该标识符对象中,然后将该标识符对象压入栈中,
若当前字符是右标识符,则把所述栈中栈顶的标识符对象出栈,并将该右标识符的符号和位置记录其中,
若当前字符不是左右标识符,则结束当前字符的标识符识别步骤。
5.根据权利要求4所述的方法,其特征在于,所述匹配该左标识符对应的前缀包括:
将所述注册模块中所有预注册的前缀名称作为匹配前缀,对每个匹配前缀执行下述匹配步骤,直至确定所述左标识符对应的匹配前缀:
从所述左标识符的位置起始向左截取n个字符,n为当前匹配前缀的长度值,判断截取到的字符是否与当前匹配前缀相同,若不相同,则结束当前匹配前缀的匹配步骤,
否则判断所述左标识符的位置是否与匹配前缀的长度相同,若相同,则确定当前匹配前缀为该左标识符对应的前缀,
若不相同,则获取从所述左标识符起始,其左侧的第m个字符,m为当前匹配前缀的长度值加1,判断该字符是否为预定义的规范字符,若不是,则确定当前匹配前缀为该左标识符对应的前缀,
否则结束当前匹配前缀的匹配步骤。
6.根据权利要求3所述的方法,其特征在于,在所述表达式中的节点中比较每个节点的标识符的位置获得所述最低层的节点包括:
将所有节点中的左标识符位置最大且前缀不为空的节点作为所述最低层的节点。
7.一种表达式处理装置,其特征在于,所述表达式是树型结构,所述表达式本身作为根节点,每个非根节点是其父节点的子表达式,每个节点包括前缀,所述前缀标识处理该节点的计算引擎,所述装置包括:
解析模块,用于步骤a,对所述表达式中的未处理的最低层的节点,调用该节点的计算引擎处理该节点以得到计算结果,并在所述表达式中,把该节点替换为所述计算结果;
判断模块,用于步骤b,确定该表达式中是否还存在未处理的节点,若存在,则转步骤a。
8.根据权利要求7所述的装置,其特征在于,所述节点除了前缀还包括:内容,所述节点的内容位于对应的左右标识符之间,
所述装置还包括:
对象构建模块,用于构建树结构中所有节点的标识符对象,其中,所述标识符对象包括:节点的左右标识符的符号和位置,所述最低层的节点是在所述表达式中的节点中比较每个节点的标识符的位置获得的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710806609.1/1.html,转载请声明来源钻瓜专利网。