在3行,m 变量重复定义 在3行,n 变量重复定义 在4行,f1 是函数名,类型不匹配 在5行,a 变量未定义 在5行, 赋值号两边的类型不匹配 在6行,b 函数未定义 ------------------------------------------------------------------------------------------------- | Symbol Table | ------------------------------------------------------------------------------------------------- | 变量名 | 别名 | 层号 | 类型 | 标记 | 偏移量 | ------------------------------------------------------------------------------------------------- | read | | 0 | int | F | 4 | | write | | 0 | int | F | 4 | | f1 | v1 | 0 | int | F | 0 | | m | v2 | 1 | int | P | 12 | | n | v3 | 1 | int | P | 16 | | l | v4 | 1 | int | P | 20 | | | temp1 | 1 | int | T | 32 | ------------------------------------------------------------------------------------------------- 在10行, 函数调用参数太少! 在11行,f1 是函数名,不能采用下标访问 在12行, 数组下标不能为负值或0 在13行, 赋值语句需要左值 在14行,c 是字符类型变量,不能参与运算 在15行, 自增语句需要左值 在16行, 自增语句需要左值 在17行,返回值类型错误,语义错误 ------------------------------------------------------------------------------------------------- | Symbol Table | ------------------------------------------------------------------------------------------------- | 变量名 | 别名 | 层号 | 类型 | 标记 | 偏移量 | ------------------------------------------------------------------------------------------------- | read | | 0 | int | F | 4 | | write | | 0 | int | F | 4 | | f1 | v1 | 0 | int | F | 32 | | m | v2 | 1 | int | P | 12 | | n | v3 | 1 | int | P | 16 | | l | v4 | 1 | int | P | 20 | | f2 | v7 | 0 | int | F | 0 | | a | v8 | 1 | int | P | 12 | | b | v9 | 1 | int | P | 16 | | | temp2 | 1 | int | T | 20 | | | temp3 | 1 | int | T | 24 | | | temp4 | 1 | int | T | 28 | | | temp5 | 1 | int | T | 0 | | | temp6 | 1 | char | T | 20 | | | temp7 | 1 | float | T | 20 | ------------------------------------------------------------------------------------------------- 在23行, continue语句出现位置错误 在24行, break语句出现位置错误 ------------------------------------------------------------------------------------------------- | Symbol Table | ------------------------------------------------------------------------------------------------- | 变量名 | 别名 | 层号 | 类型 | 标记 | 偏移量 | ------------------------------------------------------------------------------------------------- | read | | 0 | int | F | 4 | | write | | 0 | int | F | 4 | | f1 | v1 | 0 | int | F | 32 | | m | v2 | 1 | int | P | 12 | | n | v3 | 1 | int | P | 16 | | l | v4 | 1 | int | P | 20 | | f2 | v7 | 0 | int | F | 32 | | a | v8 | 1 | int | P | 12 | | b | v9 | 1 | int | P | 16 | | f3 | v10 | 0 | int | F | 0 | | a | v11 | 1 | int | V | 12 | | b | v12 | 1 | int | V | 16 | | | temp8 | 1 | int | T | 20 | ------------------------------------------------------------------------------------------------- 在26行, 自增语句左值不为int型 在28行,y 变量未定义 在28行,返回值类型错误,语义错误 ------------------------------------------------------------------------------------------------- | Symbol Table | ------------------------------------------------------------------------------------------------- | 变量名 | 别名 | 层号 | 类型 | 标记 | 偏移量 | ------------------------------------------------------------------------------------------------- | read | | 0 | int | F | 4 | | write | | 0 | int | F | 4 | | f1 | v1 | 0 | int | F | 32 | | m | v2 | 1 | int | P | 12 | | n | v3 | 1 | int | P | 16 | | l | v4 | 1 | int | P | 20 | | f2 | v7 | 0 | int | F | 32 | | a | v8 | 1 | int | P | 12 | | b | v9 | 1 | int | P | 16 | | f3 | v10 | 0 | int | F | 0 | | a | v11 | 1 | int | V | 12 | | b | v12 | 1 | int | V | 16 | | | temp8 | 1 | int | T | 20 | | | temp9 | 2 | int | T | 0 | | | temp10 | 2 | int | T | 0 | | | temp11 | 2 | int | T | 4 | | | temp12 | 2 | int | T | 8 | | | temp13 | 2 | int | T | 0 | | | temp14 | 2 | int | T | 0 | | | temp15 | 2 | int | T | 0 | | | temp16 | 2 | int | T | 4 | | | temp17 | 2 | int | T | 8 | | | temp18 | 2 | int | T | 0 | | | temp19 | 2 | int | T | 0 | | | temp20 | 2 | int | T | 0 | -------------------------------------------------------------------------------------------------