⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cqllex.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    return EVERY;}	YY_BREAKcase 11:YY_RULE_SETUP#line 203 "CQL.l"{    sprintf(msg_,"LEX: %s [FIRST] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return FIRST;}	YY_BREAKcase 12:YY_RULE_SETUP#line 211 "CQL.l"{    sprintf(msg_,"LEX: %s [IN] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return IN;}	YY_BREAKcase 13:YY_RULE_SETUP#line 219 "CQL.l"{    sprintf(msg_,"LEX: %s [IS] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return IS;}	YY_BREAKcase 14:YY_RULE_SETUP#line 227 "CQL.l"{    sprintf(msg_,"LEX: %s [ISA] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _ISA;}	YY_BREAKcase 15:YY_RULE_SETUP#line 235 "CQL.l"{    sprintf(msg_,"LEX: %s [LIKE] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _LIKE;}	YY_BREAKcase 16:YY_RULE_SETUP#line 243 "CQL.l"{    sprintf(msg_,"LEX: %s [ORDER] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return ORDER;}	YY_BREAKcase 17:YY_RULE_SETUP#line 251 "CQL.l"{    sprintf(msg_,"LEX: %s [SATISFIES] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return SATISFIES;}	YY_BREAKcase 18:YY_RULE_SETUP#line 259 "CQL.l"{    sprintf(msg_,"LEX: %s [_TRUE] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _TRUE;}	YY_BREAKcase 19:YY_RULE_SETUP#line 267 "CQL.l"{    sprintf(msg_,"LEX: %s [_FALSE] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _FALSE;}	YY_BREAKcase 20:YY_RULE_SETUP#line 275 "CQL.l"{    sprintf(msg_,"LEX: %s [_NULL] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _NULL;}	YY_BREAKcase 21:YY_RULE_SETUP#line 283 "CQL.l"{    sprintf(msg_,"LEX: %s [NOT] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return NOT;}	YY_BREAKcase 22:YY_RULE_SETUP#line 291 "CQL.l"{    sprintf(msg_,"LEX: %s [AND] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _AND;}	YY_BREAKcase 23:YY_RULE_SETUP#line 299 "CQL.l"{    sprintf(msg_,"LEX: %s [OR] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    return _OR;}	YY_BREAKcase 24:YY_RULE_SETUP#line 307 "CQL.l"{    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;	 /* remove any single quotes surrounding embedded literals */	 size_t n;	 if(CQL_lval.strValue)	         delete [] CQL_lval.strValue;    // chuck    if (!isUTF8Str(yytext))    {	        sprintf(msg_,"LEX: [STRING]-> BAD UTF\n");        printf__(msg_);        throw CQLSyntaxErrorException(                                      MessageLoaderParms(String("CQL.CQL_y.BAD_UTF8"),                                      String("Bad UTF8 encountered parsing rule $0 in position $1."),                                      String("identifier"),                                      CQL_globalParserState->currentTokenPos));    }					 String s(yytext);	 Uint32 index = s.find("'");	 if(index != PEG_NOT_FOUND){	 	s.remove(index,1);		s.remove(s.size()-1,1);		CString cstr = s.getCString();	 	const char* string = (const char*)cstr;		n = strlen(string);		CQL_lval.strValue = new char[n+1];		memcpy(CQL_lval.strValue, string, n);	 }else{	 	n = strlen(yytext);		CQL_lval.strValue = new char[n+1];      memcpy(CQL_lval.strValue, yytext, n);	 }    CQL_lval.strValue[n] = '\0';    sprintf(msg_,"LEX: %s [SCOPED_PROPERTY] ", CQL_lval.strValue);    printf__(msg_);    return SCOPED_PROPERTY;}	YY_BREAKcase 25:YY_RULE_SETUP#line 349 "CQL.l"{    sprintf(msg_,"LEX: %s [NEGATIVE_HEXADECIMAL] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    /* copy the hex value */    {        size_t n = strlen(yytext);	if(CQL_lval.strValue)		delete [] CQL_lval.strValue;        CQL_lval.strValue = new char[n + 1];        memcpy(CQL_lval.strValue, yytext, n);        CQL_lval.strValue[n] = '\0';    }    return NEGATIVE_HEXADECIMAL;}	YY_BREAKcase 26:YY_RULE_SETUP#line 366 "CQL.l"{    sprintf(msg_,"LEX: %s [HEXADECIMAL] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    /* copy the hex value */    {        size_t n = strlen(yytext);        if(CQL_lval.strValue)                delete [] CQL_lval.strValue;        CQL_lval.strValue = new char[n + 1];        memcpy(CQL_lval.strValue, yytext, n);        CQL_lval.strValue[n] = '\0';    }    return HEXADECIMAL;}	YY_BREAKcase 27:YY_RULE_SETUP#line 383 "CQL.l"{    sprintf(msg_,"LEX: %s [NEGATIVE_BINARY] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    /* copy the bin value */     {        size_t n = strlen(yytext);	if(CQL_lval.strValue)                delete [] CQL_lval.strValue;        CQL_lval.strValue = new char[n + 1];        memcpy(CQL_lval.strValue, yytext, n);        CQL_lval.strValue[n] = '\0';    }    return NEGATIVE_BINARY;}	YY_BREAKcase 28:YY_RULE_SETUP#line 400 "CQL.l"{    sprintf(msg_,"LEX: %s [BINARY] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    /* copy the bin value */    {        size_t n = strlen(yytext);        if(CQL_lval.strValue)                delete [] CQL_lval.strValue;        CQL_lval.strValue = new char[n + 1];        memcpy(CQL_lval.strValue, yytext, n);        CQL_lval.strValue[n] = '\0';    }    return BINARY;}	YY_BREAKcase 29:YY_RULE_SETUP#line 418 "CQL.l"{    sprintf(msg_,"LEX: %s [NEGATIVE_INTEGER] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    size_t n = strlen(yytext);    if(CQL_lval.strValue)	    delete [] CQL_lval.strValue;    CQL_lval.strValue = new char[n + 1];    memcpy(CQL_lval.strValue, yytext, n);    CQL_lval.strValue[n] = '\0';    /*CQL_lval.intValue = strtol(yytext, (char**)0, 10);*/    return NEGATIVE_INTEGER;}	YY_BREAKcase 30:YY_RULE_SETUP#line 435 "CQL.l"{                                                                                                                                           sprintf(msg_,"LEX: %s [INTEGER] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    size_t n = strlen(yytext);    if(CQL_lval.strValue)            delete [] CQL_lval.strValue;    CQL_lval.strValue = new char[n + 1];    memcpy(CQL_lval.strValue, yytext, n);    CQL_lval.strValue[n] = '\0';                                                                                                                                           /*CQL_lval.intValue = strtol(yytext, (char**)0, 10);*/    return INTEGER;}	YY_BREAKcase 31:YY_RULE_SETUP#line 452 "CQL.l"{    sprintf(msg_,"LEX: %s [NEGATIVE_REAL] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    size_t n = strlen(yytext);    if(CQL_lval.strValue)            delete [] CQL_lval.strValue;    CQL_lval.strValue = new char[n + 1];    memcpy(CQL_lval.strValue, yytext, n);    CQL_lval.strValue[n] = '\0';    /*CQL_lval.realValue = strtod((char*)yytext, (char**)0);*/    return NEGATIVE_REAL;}	YY_BREAKcase 32:YY_RULE_SETUP#line 469 "CQL.l"{                                                                                                                                           sprintf(msg_,"LEX: %s [REAL] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    size_t n = strlen(yytext);    if(CQL_lval.strValue)            delete [] CQL_lval.strValue;    CQL_lval.strValue = new char[n + 1];    memcpy(CQL_lval.strValue, yytext, n);    CQL_lval.strValue[n] = '\0';                                                                                                                                           /*CQL_lval.realValue = strtod((char*)yytext, (char**)0);*/    return REAL;}	YY_BREAKcase 33:YY_RULE_SETUP#line 486 "CQL.l"{	/* \'[^\'\n]*\' */    /* ATTN-B: handle long literals by using yyinput(). */    /* ATTN-B: Handle expansion of special characters */    sprintf(msg_,"LEX: %s [STRING] ", yytext);    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;    /* remove any escaped \ OR escaped ' */    String _esc_doubleslash = "\\\\";    String _esc_singlequote = "\\'";    // chuck    if (!isUTF8Str(yytext))    {	        sprintf(msg_,"LEX: [STRING]-> BAD UTF\n");        printf__(msg_);        throw CQLSyntaxErrorException(                                      MessageLoaderParms(String("CQL.CQL_y.BAD_UTF8"),                                      String("Bad UTF8 encountered parsing rule $0 in position $1."),                                      String("literal_string"),                                      CQL_globalParserState->currentTokenPos));    }    String s(yytext);    Uint32 index = 1;    while((index = s.find(_esc_doubleslash)) != PEG_NOT_FOUND || 	       (index = s.find(_esc_singlequote)) != PEG_NOT_FOUND)	 {				if(index == s.size() - 2) // make sure we dont remove the slash from say 'abc\'				break;				s.remove(index,1);    }    CString cstr = s.getCString();    const char* string = (const char*)cstr;    /* Copy the string (but remove the surrounding quotes */    {	size_t n = strlen(string) - 2;	if(CQL_lval.strValue)		delete [] CQL_lval.strValue;	CQL_lval.strValue = new char[n + 1];	memcpy(CQL_lval.strValue, string + 1, n);	CQL_lval.strValue[n] = '\0';    }    return STRING_LITERAL;}	YY_BREAKcase 34:*yy_cp = yy_hold_char; /* undo effects of setting up yytext */yy_c_buf_p = yy_cp -= 1;YY_DO_BEFORE_ACTION; /* set up yytext again */YY_RULE_SETUP#line 538 "CQL.l"{    sprintf(msg_,"Unterminated string");    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;}	YY_BREAKcase 35:YY_RULE_SETUP#line 546 "CQL.l"{   sprintf(msg_,"LEX: [STAR] ");   printf__(msg_);   CQL_globalParserState->currentTokenPos+=yyleng;   CQL_globalParserState->tokenCount++;   return STAR;}	YY_BREAKcase 36:YY_RULE_SETUP#line 554 "CQL.l"{   sprintf(msg_,"LEX: [DIV] ");   printf__(msg_);   CQL_globalParserState->currentTokenPos+=yyleng;   CQL_globalParserState->tokenCount++;   return DIV;}	YY_BREAKcase 37:YY_RULE_SETUP#line 562 "CQL.l"{   sprintf(msg_,"LEX: [PLUS] ");   printf__(msg_);   CQL_globalParserState->currentTokenPos+=yyleng;   CQL_globalParserState->tokenCount++;   return PLUS;}	YY_BREAKcase 38:YY_RULE_SETUP#line 570 "CQL.l"{   sprintf(msg_,"LEX: [MINUS] ");   printf__(msg_);   CQL_globalParserState->currentTokenPos+=yyleng;   CQL_globalParserState->tokenCount++;   return MINUS;}	YY_BREAKcase 39:YY_RULE_SETUP#line 578 "CQL.l"{   sprintf(msg_,"LEX: [COMMA] ");   printf__(msg_);   CQL_globalParserState->currentTokenPos+=yyleng;   CQL_globalParserState->tokenCount++;   return COMMA;}	YY_BREAKcase 40:YY_RULE_SETUP#line 586 "CQL.l"{    sprintf(msg_,"LEX: [DOTDOT] ");    printf__(msg_);    CQL_globalParserState->currentTokenPos+=yyleng;    CQL_globalParserState->tokenCount++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -