void visitIter_stm(Iter_stm _p_) { switch(_p_->kind) { case is_SiterOne: /* Code for SiterOne Goes Here */ visitExp(_p_->u.siterone_.exp_); visitStm(_p_->u.siterone_.stm_); break; case is_SiterTwo: /* Code for SiterTwo Goes Here */ visitStm(_p_->u.sitertwo_.stm_); visitExp(_p_->u.sitertwo_.exp_); break; case is_SiterThree: /* Code for SiterThree Goes Here */ visitExpression_stm(_p_->u.siterthree_.expression_stm_1); visitExpression_stm(_p_->u.siterthree_.expression_stm_2); visitStm(_p_->u.siterthree_.stm_); break; case is_SiterFour: /* Code for SiterFour Goes Here */ visitExpression_stm(_p_->u.siterfour_.expression_stm_1); visitExpression_stm(_p_->u.siterfour_.expression_stm_2); visitExp(_p_->u.siterfour_.exp_); visitStm(_p_->u.siterfour_.stm_); break; default: fprintf(stderr, "Error: bad kind field when printing Iter_stm!\n"); exit(1); } }
void visitExp(Exp _p_) { switch(_p_->kind) { case is_EAdd: /* Code for EAdd Goes Here */ visitExp(_p_->u.eadd_.exp_1); visitExp(_p_->u.eadd_.exp_2); break; case is_ESub: /* Code for ESub Goes Here */ visitExp(_p_->u.esub_.exp_1); visitExp(_p_->u.esub_.exp_2); break; case is_EMul: /* Code for EMul Goes Here */ visitExp(_p_->u.emul_.exp_1); visitExp(_p_->u.emul_.exp_2); break; case is_EDiv: /* Code for EDiv Goes Here */ visitExp(_p_->u.ediv_.exp_1); visitExp(_p_->u.ediv_.exp_2); break; case is_EInt: /* Code for EInt Goes Here */ visitInteger(_p_->u.eint_.integer_); break; default: fprintf(stderr, "Error: bad kind field when printing Exp!\n"); exit(1); } }
void visitListExp(ListExp listexp) { while(listexp != 0) { /* Code For ListExp Goes Here */ visitExp(listexp->exp_); listexp = listexp->listexp_; } }
void visitConstant_expression(Constant_expression _p_) { switch(_p_->kind) { case is_Especial: /* Code for Especial Goes Here */ visitExp(_p_->u.especial_.exp_); break; default: fprintf(stderr, "Error: bad kind field when printing Constant_expression!\n"); exit(1); } }
void visitSelection_stm(Selection_stm _p_) { switch(_p_->kind) { case is_SselOne: /* Code for SselOne Goes Here */ visitExp(_p_->u.sselone_.exp_); visitStm(_p_->u.sselone_.stm_); break; case is_SselTwo: /* Code for SselTwo Goes Here */ visitExp(_p_->u.sseltwo_.exp_); visitStm(_p_->u.sseltwo_.stm_1); visitStm(_p_->u.sseltwo_.stm_2); break; case is_SselThree: /* Code for SselThree Goes Here */ visitExp(_p_->u.sselthree_.exp_); visitStm(_p_->u.sselthree_.stm_); break; default: fprintf(stderr, "Error: bad kind field when printing Selection_stm!\n"); exit(1); } }
void visitExpression_stm(Expression_stm _p_) { switch(_p_->kind) { case is_SexprOne: /* Code for SexprOne Goes Here */ break; case is_SexprTwo: /* Code for SexprTwo Goes Here */ visitExp(_p_->u.sexprtwo_.exp_); break; default: fprintf(stderr, "Error: bad kind field when printing Expression_stm!\n"); exit(1); } }
void IRPrinter::visit(Stmt *s) { if (auto e = s->asExp()) { visitExp(e); } else if (auto m = s->asMove()) { visitMove(m); } else if (auto j = s->asJump()) { visitJump(j); } else if (auto c = s->asCJump()) { visitCJump(c); } else if (auto r = s->asRet()) { visitRet(r); } else if (auto p = s->asPhi()) { visitPhi(p); } else { Q_UNREACHABLE(); } }
void visitInitializer(Initializer _p_) { switch(_p_->kind) { case is_InitExpr: /* Code for InitExpr Goes Here */ visitExp(_p_->u.initexpr_.exp_); break; case is_InitListOne: /* Code for InitListOne Goes Here */ visitInitializers(_p_->u.initlistone_.initializers_); break; case is_InitListTwo: /* Code for InitListTwo Goes Here */ visitInitializers(_p_->u.initlisttwo_.initializers_); break; default: fprintf(stderr, "Error: bad kind field when printing Initializer!\n"); exit(1); } }
void visitJump_stm(Jump_stm _p_) { switch(_p_->kind) { case is_SjumpFour: /* Code for SjumpFour Goes Here */ break; case is_SjumpFive: /* Code for SjumpFive Goes Here */ visitExp(_p_->u.sjumpfive_.exp_); break; case is_SjumpOne: /* Code for SjumpOne Goes Here */ visitIdent(_p_->u.sjumpone_.ident_); break; case is_SjumpTwo: /* Code for SjumpTwo Goes Here */ break; case is_SjumpThree: /* Code for SjumpThree Goes Here */ break; default: fprintf(stderr, "Error: bad kind field when printing Jump_stm!\n"); exit(1); } }
void visitExp(Exp _p_) { switch(_p_->kind) { case is_InitClass: /* Code for InitClass Goes Here */ visitExp(_p_->u.initclass_.exp_); visitAssignment_op(_p_->u.initclass_.assignment_op_); visitClassName(_p_->u.initclass_.classname_); break; case is_DestroyClass: /* Code for DestroyClass Goes Here */ visitIdent(_p_->u.destroyclass_.ident_); break; case is_Eassign: /* Code for Eassign Goes Here */ visitExp(_p_->u.eassign_.exp_1); visitAssignment_op(_p_->u.eassign_.assignment_op_); visitExp(_p_->u.eassign_.exp_2); break; case is_Ecomma: /* Code for Ecomma Goes Here */ visitExp(_p_->u.ecomma_.exp_1); visitExp(_p_->u.ecomma_.exp_2); break; case is_Econdition: /* Code for Econdition Goes Here */ visitExp(_p_->u.econdition_.exp_1); visitExp(_p_->u.econdition_.exp_2); visitExp(_p_->u.econdition_.exp_3); break; case is_Elor: /* Code for Elor Goes Here */ visitExp(_p_->u.elor_.exp_1); visitExp(_p_->u.elor_.exp_2); break; case is_Eland: /* Code for Eland Goes Here */ visitExp(_p_->u.eland_.exp_1); visitExp(_p_->u.eland_.exp_2); break; case is_Ebitor: /* Code for Ebitor Goes Here */ visitExp(_p_->u.ebitor_.exp_1); visitExp(_p_->u.ebitor_.exp_2); break; case is_Ebitexor: /* Code for Ebitexor Goes Here */ visitExp(_p_->u.ebitexor_.exp_1); visitExp(_p_->u.ebitexor_.exp_2); break; case is_Ebitand: /* Code for Ebitand Goes Here */ visitExp(_p_->u.ebitand_.exp_1); visitExp(_p_->u.ebitand_.exp_2); break; case is_Eeq: /* Code for Eeq Goes Here */ visitExp(_p_->u.eeq_.exp_1); visitExp(_p_->u.eeq_.exp_2); break; case is_Eneq: /* Code for Eneq Goes Here */ visitExp(_p_->u.eneq_.exp_1); visitExp(_p_->u.eneq_.exp_2); break; case is_Elthen: /* Code for Elthen Goes Here */ visitExp(_p_->u.elthen_.exp_1); visitExp(_p_->u.elthen_.exp_2); break; case is_Egrthen: /* Code for Egrthen Goes Here */ visitExp(_p_->u.egrthen_.exp_1); visitExp(_p_->u.egrthen_.exp_2); break; case is_Ele: /* Code for Ele Goes Here */ visitExp(_p_->u.ele_.exp_1); visitExp(_p_->u.ele_.exp_2); break; case is_Ege: /* Code for Ege Goes Here */ visitExp(_p_->u.ege_.exp_1); visitExp(_p_->u.ege_.exp_2); break; case is_Eleft: /* Code for Eleft Goes Here */ visitExp(_p_->u.eleft_.exp_1); visitExp(_p_->u.eleft_.exp_2); break; case is_Eright: /* Code for Eright Goes Here */ visitExp(_p_->u.eright_.exp_1); visitExp(_p_->u.eright_.exp_2); break; case is_Eplus: /* Code for Eplus Goes Here */ visitExp(_p_->u.eplus_.exp_1); visitExp(_p_->u.eplus_.exp_2); break; case is_Eminus: /* Code for Eminus Goes Here */ visitExp(_p_->u.eminus_.exp_1); visitExp(_p_->u.eminus_.exp_2); break; case is_Etimes: /* Code for Etimes Goes Here */ visitExp(_p_->u.etimes_.exp_1); visitExp(_p_->u.etimes_.exp_2); break; case is_Ediv: /* Code for Ediv Goes Here */ visitExp(_p_->u.ediv_.exp_1); visitExp(_p_->u.ediv_.exp_2); break; case is_Emod: /* Code for Emod Goes Here */ visitExp(_p_->u.emod_.exp_1); visitExp(_p_->u.emod_.exp_2); break; case is_Etypeconv: /* Code for Etypeconv Goes Here */ visitType_name(_p_->u.etypeconv_.type_name_); visitExp(_p_->u.etypeconv_.exp_); break; case is_Epreinc: /* Code for Epreinc Goes Here */ visitExp(_p_->u.epreinc_.exp_); break; case is_Epredec: /* Code for Epredec Goes Here */ visitExp(_p_->u.epredec_.exp_); break; case is_Epreop: /* Code for Epreop Goes Here */ visitUnary_operator(_p_->u.epreop_.unary_operator_); visitExp(_p_->u.epreop_.exp_); break; case is_Ebytesexpr: /* Code for Ebytesexpr Goes Here */ visitExp(_p_->u.ebytesexpr_.exp_); break; case is_Ebytestype: /* Code for Ebytestype Goes Here */ visitType_name(_p_->u.ebytestype_.type_name_); break; case is_Earray: /* Code for Earray Goes Here */ visitExp(_p_->u.earray_.exp_1); visitExp(_p_->u.earray_.exp_2); break; case is_Efunk: /* Code for Efunk Goes Here */ visitExp(_p_->u.efunk_.exp_); break; case is_Efunkpar: /* Code for Efunkpar Goes Here */ visitExp(_p_->u.efunkpar_.exp_); visitListExp(_p_->u.efunkpar_.listexp_); break; case is_Eselect: /* Code for Eselect Goes Here */ visitExp(_p_->u.eselect_.exp_); visitIdent(_p_->u.eselect_.ident_); break; case is_Epoint: /* Code for Epoint Goes Here */ visitExp(_p_->u.epoint_.exp_); visitIdent(_p_->u.epoint_.ident_); break; case is_Epostinc: /* Code for Epostinc Goes Here */ visitExp(_p_->u.epostinc_.exp_); break; case is_Epostdec: /* Code for Epostdec Goes Here */ visitExp(_p_->u.epostdec_.exp_); break; case is_Evar: /* Code for Evar Goes Here */ visitIdent(_p_->u.evar_.ident_); break; case is_Econst: /* Code for Econst Goes Here */ visitConstant(_p_->u.econst_.constant_); break; case is_Estring: /* Code for Estring Goes Here */ visitString(_p_->u.estring_.string_); break; default: fprintf(stderr, "Error: bad kind field when printing Exp!\n"); exit(1); } }