表达式评估过程中的错误类型

时间:2016-06-23 20:23:13

标签: compiler-theory

假设我想编写模块来评估简单的字符串表达式,如"5+3""(7*8/2)/6"等... 我想到的过程是:

  1. 词法分析,以便将字符串转换为原子集(数字和操作)。
  2. 将原子集从中缀转换为后缀
  3. 评估后缀并输出最终结果
  4. 我的问题是关于每个阶段发生的错误:

    1. 在第一阶段,我应该处理未定义的符号或空字符串,并将它们称为词汇错误。 是吗?要添加什么?
    2. 在第二阶段,有两个后果乘法符号(*)之类的东西是无效的东西。 这个错误叫什么?
    3. 在第三阶段,除以零是错误的一个例子。 这种错误叫做什么?

1 个答案:

答案 0 :(得分:1)

  1. 词法错误听起来不对,但它们也可能是语法错误。
  2. 语法错误:有效语法没有**作为有效运算符或运算符序列。
  3. 运行时错误,有时是语义错误。