ITS·黑客

Python实验-计算器

2017-05-13  本文已影响16人  木凛

从字符串中提取 Token 的步骤是顺序读取字符,判断字符类型,然后把 Token 的类型和值存入 Token 列表。

输入字符串处理

提取offset位置处的一个字符

如果没有后续字符则返回None

取字符的位置向后移动一位

定义字符节点

整数类型的Token

从字符串中读取字符直到字符不是整数

如果读取的内容不为空则返回整数,否则返回None

操作(+,-)类型的Token

读取一个字符,然后返回这个字符,如果字符不是+-,则返回None

从 Token 列表中顺序读取 Token,根据 Token 的类型生成表达式树,表达式树的叶子节点为整数,其余节点为操作符。

从 Token 列表生成表达式二叉树

取出 tokens[0],该 Token 类型为整数

从第二个 Token 开始循环取出

相邻两个 Token 的类型一样则为错误

如果 Token 为操作符,则保存为操作符节点,把前一个整数 Token 作为左子节点

如果 Token 为整数,则将该 Token 保存为右节点

获取输入字符串

从输入字符串获得Token列表

从Token列表生成表达式树

遍历计算表达式树并输出结果

上一篇下一篇

猜你喜欢

热点阅读