void minipascal::TypeVisitor::visit(minipascal::NBlock* node) { showMessage("NBlock -- " + node->getOutput()); //if(node->getFail()) return; Stmt_list* stmts = node->getStmts(); for(Stmt_list::iterator it = stmts->begin(); it != stmts->end(); ++it) { (*it)->accept(this); } }
// Parse a sequence of member statements. // // member-statement-seq: // member-statement // member-statement-seq member-statement Stmt_list Parser::member_statement_seq() { Stmt_list ss; do { Stmt& s = member_statement(); ss.push_back(s); } while (lookahead() != tk::rbrace_tok); return ss; }
// Parse a sequence of statements. // // statement-seq: // statement // statement-seq statement Stmt_list Parser::statement_seq() { Stmt_list ss; do { // FIXME: Catch exceptions here. Stmt& s = statement(); ss.push_back(s); } while (peek() && lookahead() != rbrace_tok); return ss; }