测试用例:

  1. i
  2. i+i
  3. i*i
  4. (i+i)*i
  5. i*(i+i)
  6. (i+i)*(i+i)
  7. (i+i)+i*i
  8. i*(i+i)+i
  9. (i+i)(ii+i)
  10. (i+i)*i+i

设计原因:

  1. 测试用例1:最简单的情况,只有一个终结符号i。
  2. 测试用例2:测试加法运算。
  3. 测试用例3:测试乘法运算。
  4. 测试用例4:测试带括号的乘法和加法运算。
  5. 测试用例5:测试带括号的乘法和加法运算。
  6. 测试用例6:测试带括号的乘法和加法运算。
  7. 测试用例7:测试带括号的乘法和加法运算。
  8. 测试用例8:测试带括号的乘法和加法运算。
  9. 测试用例9:测试带括号的乘法和加法运算。
  10. 测试用例10:测试带括号的乘法和加法运算。

设计测试用例的原因是,根据LL(1)文法的特点,每个非终结符号的FIRST集合和FOLLOW集合是不交的,所以需要设计不同的测试用例来覆盖这些集合。同时,为了验证语法分析器的正确性,需要设计各种复杂的情况,包括带括号、多个运算符等。


原文地址: https://www.cveoy.top/t/topic/heSk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录