Пример #1
0
int identifier_list(void) {
	if( lookaheadT.type == ID ) {
		match(ID);
	} else if( identifier_list() ) {
		match(COMMA);
		match(ID);
	}
}
Пример #2
0
    // Checks the decomposition of the input into appropriate values
    void checkValues (std::string const& input,
        int majorVersion,
        int minorVersion,
        int patchVersion,
        identifier_list const& preReleaseIdentifiers = identifier_list (),
        identifier_list const& metaData = identifier_list ())
    {
        SemanticVersion v;

        expect (v.parse (input));

        expect (v.majorVersion == majorVersion);
        expect (v.minorVersion == minorVersion);
        expect (v.patchVersion == patchVersion);

        expect (v.preReleaseIdentifiers == preReleaseIdentifiers);
        expect (v.metaData == metaData);
    }
Пример #3
0
void identifier_list()
{
	if(strcmp(token.c_str(),"id") == 0)
	{
		getToken("identifier_list");
		if(strcmp(token.c_str(),",") == 0)
		{
			getToken("identifier_list");
			identifier_list();
		}
		else if (strcmp(token.c_str(),"[") == 0)
		{
			getToken("identifier_list");
			if (strcmp(token.c_str(),"num") == 0)
			{
				getToken("identifier_list");
				if (strcmp(token.c_str(),"]") == 0)
				{
					getToken("identifier_list");
					if(strcmp(token.c_str(),",") == 0)
					{
						getToken("identifier_list");
						identifier_list();
					}
					else
						return;
				}
			}
		}
		else
			return;
	}
	else
	{
		printf("Error at in id");
		exit(1);
	}
}
Пример #4
0
void declaration()
{
	int incoming=dataType();
	if(incoming == 1)
	{
		identifier_list();
		if(strcmp(token.c_str(),";") == 0)
		{
			getToken("declaration");
			declaration();
		}
		else
		{
			printf("Error at\n");
			exit(1);
		}
	}
	else
		return;		
}
Пример #5
0
int direct_declarator(void) {
	if( lookaheadT.type == ID ) {
		match(ID);
	} else if( lookaheadT.type == LPAREN ) {
		match(LPAREN);
		declarator();
		match(RPAREN);
	} else if( direct_declarator() ) {
		if( lookaheadT.type == LBRACKET ) {
			match(LBRACKET);
			if( constant_expression() ) {
			}
			match(RBRACKET);
		} else if( lookaheadT.type == LPAREN ) {
			match(LPAREN);
			if( parameter_type_list() ) {
			} else if ( identifier_list() ) {
			}
			match(RPAREN);
		}
	}
}
Пример #6
0
 static identifier_list ids ()
 {
     return identifier_list ();
 }