int identifier_list(void) { if( lookaheadT.type == ID ) { match(ID); } else if( identifier_list() ) { match(COMMA); match(ID); } }
// 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); }
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); } }
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; }
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); } } }
static identifier_list ids () { return identifier_list (); }