LL(1) 文法测试用例设计:E->TB, B->+TB|$,T->FP,P->*FP|$,F->(E)|i
LL(1) 文法测试用例设计:E->TB, B->+TB|$,T->FP,P->*FP|$,F->(E)|i
测试用例:
ii+ii*i(i+i)*ii*(i+i)(i+i)*(i+i)(i+i)+i*ii*(i+i)+i(i+i)*(i*i+i)(i+i)*i+i
设计原因:
- 测试用例 1: 最简单的情况,只有一个终结符号
i。 - 测试用例 2: 测试加法运算。
- 测试用例 3: 测试乘法运算。
- 测试用例 4: 测试带括号的乘法和加法运算。
- 测试用例 5: 测试带括号的乘法和加法运算。
- 测试用例 6: 测试带括号的乘法和加法运算。
- 测试用例 7: 测试带括号的乘法和加法运算。
- 测试用例 8: 测试带括号的乘法和加法运算。
- 测试用例 9: 测试带括号的乘法和加法运算。
- 测试用例 10: 测试带括号的乘法和加法运算。
设计测试用例的原因是,根据 LL(1) 文法的特点,每个非终结符号的 FIRST 集合和 FOLLOW 集合是不交的,所以需要设计不同的测试用例来覆盖这些集合。同时,为了验证语法分析器的正确性,需要设计各种复杂的情况,包括带括号、多个运算符等。
原文地址: http://www.cveoy.top/t/topic/oHKu 著作权归作者所有。请勿转载和采集!