正在加载图片...
版权所有南京大学计算机科学与技术系许畅等2022春季版 6 FunDec(1)) 7 ID:inc 8 LP RP 10 CompSt (2) LC 12 DefList(3)】 1 Def (3) 14 Specifier(3)】 5 TYPE:int 16 DecList (3) Dec (3) 18 VarDec (3) 1 ID:i 20 SEMI 1 StmtList (4) Stmt (4) 23 Exp (4) 24 Exp(4)】 25 ID:i 26 ASSIGNOP 27 Exp (4) 28 Exp (4) 29 ID:i 0 PLUS 3 Exp (4) 2 INT:1 33 SEMI 34 RC 样例4: 输入: 1 struct Complex 2 { 3 float real,image; 4 }; 5 int main() 6 > struct Complex xi y.image =3.5; 9} 输出: 这个程序虽然包含了语义错误(即使用了未定义的变量y),但不存在任何词法或语法错 误,因此你的程序不能报错而是要输出相应的语法树结点信息。至于把该语义错误检查出来的 任务,我们则放到实验二中去做。本样例输入所对应的正确输出应为: 1 Program (1) 2 ExtDefList (1) 3 ExtDef (1) 4 Specifier (1) 5 StructSpecifier (1) STRUCT 7 OptTag (1) 8 ID:Comple× 9 LC 10 DefList (3) 11 Def (3) Specifier (3) a TYPE:float DecList (3) 14版权所有 南京大学计算机科学与技术系 许畅等 2022春季版 14 6 FunDec (1) 7 ID: inc 8 LP 9 RP 10 CompSt (2) 11 LC 12 DefList (3) 13 Def (3) 14 Specifier (3) 15 TYPE: int 16 DecList (3) 17 Dec (3) 18 VarDec (3) 19 ID: i 20 SEMI 21 StmtList (4) 22 Stmt (4) 23 Exp (4) 24 Exp (4) 25 ID: i 26 ASSIGNOP 27 Exp (4) 28 Exp (4) 29 ID: i 30 PLUS 31 Exp (4) 32 INT: 1 33 SEMI 34 RC 样例4: 输入: 1 struct Complex 2 { 3 float real, image; 4 }; 5 int main() 6 { 7 struct Complex x; 8 y.image = 3.5; 9 } 输出: 这个程序虽然包含了语义错误(即使用了未定义的变量y),但不存在任何词法或语法错 误,因此你的程序不能报错而是要输出相应的语法树结点信息。至于把该语义错误检查出来的 任务,我们则放到实验二中去做。本样例输入所对应的正确输出应为: 1 Program (1) 2 ExtDefList (1) 3 ExtDef (1) 4 Specifier (1) 5 StructSpecifier (1) 6 STRUCT 7 OptTag (1) 8 ID: Complex 9 LC 10 DefList (3) 11 Def (3) 12 Specifier (3) 13 TYPE: float 14 DecList (3)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有