switch(analysis_stack[ip]) {
case 1: PUSH(3,7);printf(\缺少运算符,添加运算符至栈\
case 2: case 12: case 13: PUSH(5,9);printf(\缺少运算符,添加运算符至栈\
case 11:
if( code[pointer] >=3 && code[pointer] <=6 )//期待运算符号 {PUSH(2,16);printf(\缺少右括号,添加右括号至栈\ else if( code[pointer] >= 7 && code[pointer]<=8 )
{PUSH(3,7);printf(\缺少运算符,添加运算符至栈\ break; } }
3.程序测试与运行结果:
测试用例:a$
测试用例:35$
测试用例:x+y$
测试用例:40+6*(3-sum/x)$
测试用例:10*3++4$(错误的事例)
测试用例:7+6)+6$(错误的事例)
测试用例:6*7(+4$(错误的事例)
四.心得体会以及完成的功能