读书人

通用表达式的兑现

发布时间: 2013-07-29 10:30:31 作者: rapoo

通用表达式的实现

?

?

? ? ?业务模块初始化流程:
通用表达式的兑现
?

? ? ? ? 业务模块执行流程:
通用表达式的兑现
?

?编译采用了bison和flex工具,首先将公式串解析成树,如1+1,树形式为


通用表达式的兑现
?

对分析后的树进行后缀方式遍历,那么此树将被分析成11+

在执行时利用两个堆栈,一个保留运算符,一个保留数据,逐个从编译后的指令串中解析执行,对运算符根据优先级保留在运算符栈中,数据保存在数据栈中

?

最后实现了if语句,多行语句等功能,由于采用了预编译技术和绑定变量地址技术,执行效率非常高

?

读书人网 >编程

热点推荐