Shaohui.org>作品>公式计算器>公式計算器工作原理
公式計算器工作原理
原理其实很简单,就是堆栈操作,稍微难一点的就是元素优先级别的判定和语法检查.
语法检查依据:
根据表达式中任意两个字符的位置关系来判断表达式的合法性,也就是说根据他们那些能够出现在一起,那些不能过出现在一起。
如(*
的组合永远都不可能出现在一个合法的表达是中,但 *( 可以
为了判定表达式的合法性,我们把表达式的字母表中的字母分了以下几个类别
1.
数字(包括小数点)
2. ( 左括号
3. )右括号
4. 运算符号(包括对数,)
5.
函数
下面给出了它们合法性的判定表
程序中的SyntaxCheck就是按照这个表而写的
T代表合法, F代表不合法
|
|
数字 |
运算符号) |
(左括号 |
右括号 |
函数
|
|
数字 |
T |
T |
T |
T |
T |
|
运算符号) |
T |
F |
T |
F |
T |
|
(左括号 |
T |
F |
T |
F |
T |
|
)右括号 |
T |
T |
T |
T |
T |
|
函数
|
T |
F |
T |
F |
T |
当一个数中有多个小数点的时候(如3.3.4.4),上表不能识别出,因此另外写了一个函数pointCheck();





