表达式计算过程中的错误类型
Type of error in expression evaluating process
假设我想编写模块来评估 "5+3"
、"(7*8/2)/6"
等简单字符串表达式...
我想到的流程是:
- 词法分析,以便将字符串转换为原子集(数字和操作)。
- 将原子集从中缀转换为后缀
- 计算后缀并输出最终结果
我的问题是关于每个阶段发生的错误:
- 在第一阶段我应该处理未定义的符号或空字符串并将它们称为词法错误。 是吗?有什么要补充的吗?
- 在第二阶段,有类似两个结果乘法符号(*)的东西是无效的。 这个错误叫什么?
- 第三阶段,除以零是一个错误的例子。 这种错误叫什么?
- 词法错误听起来不错,但它们也可能是语法错误。
- 语法错误:有效语法没有
**
作为有效运算符或运算符序列。
- 运行-时间错误,有时是语义错误。
假设我想编写模块来评估 "5+3"
、"(7*8/2)/6"
等简单字符串表达式...
我想到的流程是:
- 词法分析,以便将字符串转换为原子集(数字和操作)。
- 将原子集从中缀转换为后缀
- 计算后缀并输出最终结果
我的问题是关于每个阶段发生的错误:
- 在第一阶段我应该处理未定义的符号或空字符串并将它们称为词法错误。 是吗?有什么要补充的吗?
- 在第二阶段,有类似两个结果乘法符号(*)的东西是无效的。 这个错误叫什么?
- 第三阶段,除以零是一个错误的例子。 这种错误叫什么?
- 词法错误听起来不错,但它们也可能是语法错误。
- 语法错误:有效语法没有
**
作为有效运算符或运算符序列。 - 运行-时间错误,有时是语义错误。