예제 #1
0
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);
        }
}
예제 #2
0
// 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;
}
예제 #3
0
파일: parse_stmt.cpp 프로젝트: jbcoe/banjo
// 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;
}