【技术实现步骤摘要】
一种复合表达式解析方法及系统
本专利技术涉及一种表达式解析
,尤其涉及一种复合表达式解析方法及系统。
技术介绍
按照结合律将至少一个运算符和至少两个子表达式结合而成复合表达式,例如:第一子表达式*第二子表达式/第三子表达式。在复合表达式的解析过程中,子表达式的运算顺序会影响复合表达式运算的正确性,通常以在复合表达式中增加括号指定子表达式的运算顺序,例如:(第一子表达式*第二子表达式)/第三表达式,在一些情形下,括号难以指定每个子表达式的运算顺序,复合表达式的运算效率会偏低。
技术实现思路
针对现有技术中以在复合表达式中增加括号的方式难以指定每个子表达式的运算顺序,复合表达式的运算效率会偏低的不足,本专利技术提供一种复合表达式解析方法及系统。第一方面,本专利技术提供了一种复合表达式解析方法,包括:读取待解析表达式;当所述待解析表达式为复合表达式时,从所述待解析表达式中截取子表达式,并记录所述复合表达式中截取所述子表达式后的截取位置;根据预设语法规则分析所述子表达式的目标运算顺序;根据所述目标运算顺序对所述子表达式进行运算,得到运算结果;根据所述目标运算顺序将所述运 ...
【技术保护点】
1.一种复合表达式解析方法,其特征在于,包括:读取待解析表达式;当所述待解析表达式为复合表达式时,从所述待解析表达式中截取子表达式,并记录所述复合表达式中截取所述子表达式后的截取位置;根据预设语法规则分析所述子表达式的目标运算顺序;根据所述目标运算顺序对所述子表达式进行运算,得到运算结果;根据所述目标运算顺序将所述运算结果填充至所述截取位置,得到解析表达式。
【技术特征摘要】
1.一种复合表达式解析方法,其特征在于,包括:读取待解析表达式;当所述待解析表达式为复合表达式时,从所述待解析表达式中截取子表达式,并记录所述复合表达式中截取所述子表达式后的截取位置;根据预设语法规则分析所述子表达式的目标运算顺序;根据所述目标运算顺序对所述子表达式进行运算,得到运算结果;根据所述目标运算顺序将所述运算结果填充至所述截取位置,得到解析表达式。2.根据权利要求1所述的复合表达式解析方法,其特征在于,从所述待解析表达式中截取子表达式具体包括:当所述待解析表达式与预设合法表达式匹配时,根据所述预设合法表达式从所述待解析表达式中截取所述子表达式。3.根据权利要求1或2所述的复合表达式解析方法,其特征在于,所述预设语法规则包括运算符语法子规则和对象语法子规则,所述子表达式包括运算符和两个运算对象,根据预设语法规则分析所述子表达式的目标运算顺序具体包括:根据所述运算符语法子规则对所述运算符进行解析,得到所述运算符的运算类型;获取所述子表达式所占内存的字节数;比较所述子表达式所占内存的字节数与预设字节数,得到比较结果;根据所述运算类型、所述比较结果和所述对象语法子规则确定所述目标运算顺序。4.根据权利要求3所述的复合表达式解析方法,其特征在于,根据所述运算类型、所述比较结果和所述对象语法子规则确定所述目标运算顺序具体包括:当所述运算类型指示所述运算符已指定两个所述运算对象的默认运算顺序,且所述比较结果指示所述子表达式所占内存的字节数不超过所述预设字节数时,将所述默认运算顺序确定为所述目标运算顺序;当所述运算类型指示所述运算符未指定所述默认运算顺序,且所述比较结果指示所述子表达式所占内存的字节数超过所述预设字节数时,根据所述对象语法子规则确定所述目标运算顺序。5.根据权利要求4所述的复合表达式解析方法,其特征在于,根据所述对象语法子规则确定所述目标运算顺序具体包括:根据所述对象语法子规则分别对两个所述运算对象进行解析,得到两个所述运算对象各自的运算含义;根据两个所述运算对象各自的运算含义确定对应的运算次序;根据两个所述运算次序对两个所述运算对象在所述子表达式中的顺序进行更新,得到所述目标运算顺序。6.一种复合表达式解析系统,其特征在于,包括:读取模块,用于读取待解析表达式;截取模块,用于当所述待解析表达式为复合表达式时,从所述待解析表达...
【专利技术属性】
技术研发人员:李卫群,兰海翔,周发辉,
申请(专利权)人:贵州力创科技发展有限公司,
类型:发明
国别省市:贵州,52
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。