EXTERN func_prot(VOID var OP_PAR arg(CHAR OP_MU var ) OP_CM arg(ELLIPSIS ) CL_PAR ) decl(INT var OP_SQU c_int CL_SQU ) decl(INT var ) func_prot(VOID var OP_PAR arg(INT var ) CL_PAR ) function(func_prot(INT var OP_PAR arg(INT var ) CL_PAR ) OP_BCS decl(INT var ) statement(IF OP_PAR a_expr(a_expr(a_expr(var ) OP_GE a_expr(c_int ) ) AMP_AMP a_expr(a_expr(var ) OP_LE a_expr(c_int ) ) ) CL_PAR OP_BCS statement(func_call(var OP_PAR a_expr(var ) CL_PAR ) ) statement(RETURN a_expr(var OP_SQU a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_SQU ) ) CL_BCS ELSE OP_BCS decl(INT var ) statement(assign(var OP_EQ a_expr(c_int ) ) ) statement(IF OP_PAR a_expr(a_expr(var ) OP_EQ_EQ a_expr(c_int ) ) CL_PAR OP_BCS statement(assign(var OP_SQU a_expr(c_int ) CL_SQU OP_EQ a_expr(c_int ) ) ) statement(assign(var OP_EQ a_expr(c_int ) ) ) CL_BCS ) statement(RETURN a_expr(OP_PAR a_expr(var ) CL_PAR ) ) CL_BCS ) CL_BCS ) function(func_prot(VOID var OP_PAR arg(INT var ) CL_PAR ) OP_BCS statement(IF OP_PAR a_expr(a_expr(var ) OP_GT a_expr(var ) ) CL_PAR OP_BCS decl(INT var ) statement(assign(var OP_EQ a_expr(func_call(var OP_PAR a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_PAR ) ) ) ) statement(assign(var OP_SQU a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_SQU OP_EQ a_expr(a_expr(var ) OP_PL a_expr(func_call(var OP_PAR a_expr(a_expr(var ) OP_MI a_expr(c_int ) ) CL_PAR ) ) ) ) ) statement(assign(var OP_EQ a_expr(var ) ) ) CL_BCS ) CL_BCS ) function(func_prot(VOID var OP_PAR CL_PAR ) OP_BCS decl(INT var ) statement(assign(var 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_EQ a_expr(a_expr(var ) OP_PL a_expr(c_int ) ) ) CL_PAR OP_BCS statement(func_call(var OP_PAR a_expr(c_str ) OP_CM a_expr(var ) OP_CM a_expr(func_call(var OP_PAR a_expr(var ) CL_PAR ) ) CL_PAR ) ) CL_BCS ) CL_BCS )