资 源 简 介
VC++表达式计算的测试源码,本程序更像是一个“聪明”的数学计算器,可计算公式和表达式,只要输入正确的表达式,就可计算出值,初次编写这样的程序,不足之处,敬请包涵指正!~~
这个程序要求读者具备编译原理的一些知识。
举个实例来说明程序处理过程。假设要求值的表达式为 -25*(56+15)#(其中#号作为表达式结束标志)。首先对表达式进行词法分析,允许出现的字符为{0 ,1, 2 ,3 ,4 ,5 ,6, 7 ,8, 9 . ,+ ,-, *, / ,( ,),#}分析的结果产生两种类型的单词:操作符和操作数。操作符包括:{+, - ,* ,/ ,( ,)}操作数包括int和double类型。上面表达式产生的单词序列为{-25,*,(,56,+,15,)}.这些单词的类型也需要保存。
词法分析正确后将对产生的单词序列进行语法分析。
定义E为表达式,N为常数(视为终结符)。