一种基于虚拟堆栈的表达式解析方法及系统

    公开(公告)号:CN114064121B

    公开(公告)日:2025-05-06

    申请号:CN202111338146.3

    申请日:2021-11-11

    Abstract: 本发明公开了一种基于虚拟堆栈的表达式解析方法及系统,其中方法包括:获取表达式数据项个数和表达式运算符个数;当表达式数据项个数大于表达式运算符个数且下一字符单元为数据项时或当表达式数据项个数小于或等于表达式运算符个数且下一字符单元为运算符时,输出表达式格式有误标志;当表达式数据项个数大于表达式运算符个数且下一字符单元为运算符时,依据下一字符单元中运算符的优先级将运算符压入第二虚拟堆栈;当表达式数据项个数小于或等于表达式运算符个数且下一字符单元为数据项时,将数据项压入第一虚拟堆栈,并在第二虚拟堆栈为空时结束解析表达式。通过采用虚拟堆栈的方式对表达式进行解析,将表达式转换为可高效执行的指令集。

    一种基于虚拟堆栈的表达式解析方法及系统

    公开(公告)号:CN114064121A

    公开(公告)日:2022-02-18

    申请号:CN202111338146.3

    申请日:2021-11-11

    Abstract: 本发明公开了一种基于虚拟堆栈的表达式解析方法及系统,其中方法包括:获取表达式数据项个数和表达式运算符个数;当表达式数据项个数大于表达式运算符个数且下一字符单元为数据项时或当表达式数据项个数小于或等于表达式运算符个数且下一字符单元为运算符时,输出表达式格式有误标志;当表达式数据项个数大于表达式运算符个数且下一字符单元为运算符时,依据下一字符单元中运算符的优先级将运算符压入第二虚拟堆栈;当表达式数据项个数小于或等于表达式运算符个数且下一字符单元为数据项时,将数据项压入第一虚拟堆栈,并在第二虚拟堆栈为空时结束解析表达式。通过采用虚拟堆栈的方式对表达式进行解析,将表达式转换为可高效执行的指令集。

Patent Agency Ranking