コード例 #1
0
ファイル: Parser.cpp プロジェクト: Jeffhabs/School
StatementGroupNode* ParserClass::StatementGroup() {
    StatementGroupNode *sgn = new StatementGroupNode();
    while (true) {
        StatementNode *statement = Statement();
        if (statement == NULL) {
            return sgn;
        } else {
            sgn->AddStatement(statement);
        }
    }
}
コード例 #2
0
ファイル: Parser.cpp プロジェクト: kevbateman/cs4550
StatementGroupNode * ParserClass::StatementGroup()
{
	StatementGroupNode * sgn = new StatementGroupNode();
	bool loop = true;
	while (loop)
	{
		StatementNode * sn = this->Statement();
		if (sn == NULL)
		{
			loop = false;
		}
		else {
			sgn->AddStatement(sn);
		}
	}
	return sgn;
}
コード例 #3
0
ファイル: Parser.cpp プロジェクト: sstephens/sstephens1
StatementGroupNode * Parser::StatementGroup(){
	StatementGroupNode * stategroup = new StatementGroupNode;
	while(true){
		Token next_token = scan->PeekNextToken();
		if(next_token.GetTokenType() == IDENTIFIER_TOKEN){
			AssignmentStatementNode * asn = Assignment();
			stategroup->AddStatement(asn);
			MSG("Adding a AssignmentStatementNode.");
		}
		else if(next_token.GetTokenType() == COUT_TOKEN){
			CoutStatementNode * csn = Cout();
			stategroup->AddStatement(csn);
			MSG("Adding a CoutStatementNode.");
		}
		else if(next_token.GetTokenType() == INT_TOKEN){
			DeclarationStatementNode * dsn = Declaration();
			stategroup->AddStatement(dsn);
			MSG("Adding a DeclarationStatementNode.");
		}
		else if(next_token.GetTokenType() == IF_TOKEN){
			IfStatementNode * ifs = If();
			stategroup->AddStatement(ifs);
			MSG("Adding a IfStatementNode.");
		}
		else if(next_token.GetTokenType() == WHILE_TOKEN){
			WhileStatementNode * wfs = While();
			stategroup->AddStatement(wfs);
			MSG("Adding a WhileStatementNode.");
		}
		else if(next_token.GetTokenType() == DO_TOKEN){
			DoStatementNode * wfs = DoWhile();
			stategroup->AddStatement(wfs);
			MSG("Adding a WhileStatementNode.");
		}
		else
			break;
	}
	return stategroup;
}