func_prot(INT OP_MU var OP_PAR arg(INT OP_MU var ) OP_CM arg(INT var ) CL_PAR ) EXTERN func_prot(INT var OP_PAR arg(CHAR OP_MU var ) OP_CM arg(ELLIPSIS ) CL_PAR ) decl(INT var ) function(func_prot(VOID var OP_PAR CL_PAR ) OP_BCS decl(INT var OP_SQU c_int CL_SQU ) decl(INT OP_MU var ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(c_int ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(OP_MI a_expr(c_int ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(c_int ) OP_LT a_expr(c_int ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(c_int ) OP_PL a_expr(c_int ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(c_int ) OP_DIV a_expr(c_int ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(c_int ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(c_int ) OP_PL a_expr(a_expr(c_int ) OP_MU a_expr(c_int ) ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(OP_MI a_expr(c_int ) ) OP_MU a_expr(c_int ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(a_expr(var OP_SQU a_expr(c_int ) CL_SQU ) OP_PL a_expr(var OP_SQU a_expr(c_int ) CL_SQU ) ) ) ) statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(c_int ) ) ) statement(FOR OP_PAR assign(var OP_EQ a_expr(c_int ) ) OP_SEM a_expr(a_expr(var ) OP_LT a_expr(c_int ) ) OP_SEM assign(var OP_PP ) CL_PAR OP_BCS statement(IF OP_PAR a_expr(a_expr(var ) OP_LT a_expr(c_int ) ) CL_PAR OP_BCS statement(func_call(var OP_PAR a_expr(c_str ) CL_PAR ) ) CL_BCS ) statement(func_call(var OP_PAR a_expr(c_str ) OP_CM a_expr(a_expr(var ) OP_PL a_expr(c_int ) ) OP_CM a_expr(var OP_SQU a_expr(var ) CL_SQU ) CL_PAR ) ) CL_BCS ) statement(func_call(var OP_PAR a_expr(c_str ) CL_PAR ) ) statement(assign(var OP_EQ a_expr(func_call(var OP_PAR a_expr(var ) OP_CM a_expr(c_int ) CL_PAR ) ) ) ) statement(FOR OP_PAR assign(var OP_EQ a_expr(c_int ) ) OP_SEM a_expr(a_expr(var ) OP_LT a_expr(c_int ) ) OP_SEM assign(var OP_PP ) CL_PAR OP_BCS statement(IF OP_PAR a_expr(a_expr(var ) OP_LT a_expr(c_int ) ) CL_PAR OP_BCS statement(func_call(var OP_PAR a_expr(c_str ) CL_PAR ) ) CL_BCS ) statement(func_call(var OP_PAR a_expr(c_str ) OP_CM a_expr(a_expr(var ) OP_PL a_expr(c_int ) ) OP_CM a_expr(var OP_SQU a_expr(var ) CL_SQU ) CL_PAR ) ) CL_BCS ) CL_BCS ) function(func_prot(INT OP_MU var OP_PAR arg(INT OP_MU var ) OP_CM arg(INT var ) CL_PAR ) OP_BCS decl(INT var ) statement(assign(var OP_EQ a_expr(c_int ) ) ) statement(WHILE OP_PAR a_expr(a_expr(var ) OP_LT a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) ) CL_PAR OP_BCS decl(INT var ) statement(FOR OP_PAR assign(var OP_EQ a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) ) OP_SEM a_expr(a_expr(var ) OP_GT a_expr(var ) ) OP_SEM assign(var OP_EQ a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) ) CL_PAR OP_BCS statement(IF OP_PAR a_expr(a_expr(var OP_SQU a_expr(var ) CL_SQU ) OP_GT a_expr(var OP_SQU a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_SQU ) ) CL_PAR OP_BCS decl(INT var ) statement(assign(var OP_EQ a_expr(var OP_SQU a_expr(var ) CL_SQU ) ) ) statement(assign(var OP_SQU a_expr(var ) CL_SQU OP_EQ a_expr(var OP_SQU a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_SQU ) ) ) statement(assign(var OP_SQU a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_SQU OP_EQ a_expr(var ) ) ) CL_BCS ) CL_BCS ) statement(assign(var OP_PP ) ) CL_BCS ) statement(RETURN a_expr(var ) ) CL_BCS )