📄 lex.yy.cpp
字号:
TAO_YY_BREAK
case 61:
TAO_YY_RULE_SETUP
return IDL_INOUT;
TAO_YY_BREAK
case 62:
TAO_YY_RULE_SETUP
return IDL_IN;
TAO_YY_BREAK
case 63:
TAO_YY_RULE_SETUP
return IDL_OUT;
TAO_YY_BREAK
case 64:
TAO_YY_RULE_SETUP
return IDL_ONEWAY;
TAO_YY_BREAK
case 65:
TAO_YY_RULE_SETUP
return IDL_LEFT_SHIFT;
TAO_YY_BREAK
case 66:
TAO_YY_RULE_SETUP
return IDL_RIGHT_SHIFT;
TAO_YY_BREAK
case 67:
TAO_YY_RULE_SETUP
{
tao_yylval.strval = (char *) "::";
return IDL_SCOPE_DELIMITOR;
}
TAO_YY_BREAK
case 68:
TAO_YY_RULE_SETUP
{
// Make sure that this identifier is not a C++ keyword. If it is,
// prepend it with a _cxx_. Lookup in the perfect hash table for C++
// keyword and grab the mapping. BTW, the reason for the odd
// regular expression is to handle EBCDIC, as well as ASCII.
TAO_IDL_CPP_Keyword_Table cpp_key_tbl;
const TAO_IDL_CPP_Keyword_Entry *entry = 0;
if (!idl_global->preserve_cpp_keywords())
{
// This check will ensure that escaped C++ keywords will be
// caught and prepended with '_cxx' as non-escaped keywords
// are now prepended with '_cxx_'.
const char *tmp =
ace_tao_yytext[0] == '_' ? ace_tao_yytext + 1 : ace_tao_yytext;
entry =
cpp_key_tbl.lookup (tmp,
ACE_static_cast (unsigned int,
ACE_OS::strlen (tmp)));
}
if (entry)
{
tao_yylval.strval = ACE_OS::strdup (entry->mapping_);
}
else
{
tao_yylval.strval = ACE_OS::strdup (ace_tao_yytext);
}
return IDENTIFIER;
}
TAO_YY_BREAK
case 69:
TAO_YY_RULE_SETUP
{
tao_yylval.dval = idl_atof(ace_tao_yytext);
return IDL_FLOATING_PT_LITERAL;
}
TAO_YY_BREAK
case 70:
TAO_YY_RULE_SETUP
{
tao_yylval.dval = idl_atof(ace_tao_yytext);
return IDL_FLOATING_PT_LITERAL;
}
TAO_YY_BREAK
case 71:
TAO_YY_RULE_SETUP
{
tao_yylval.ival = idl_atoi(ace_tao_yytext, 10);
return IDL_INTEGER_LITERAL;
}
TAO_YY_BREAK
case 72:
TAO_YY_RULE_SETUP
{
tao_yylval.uival = idl_atoui(ace_tao_yytext, 10);
return IDL_UINTEGER_LITERAL;
}
TAO_YY_BREAK
case 73:
TAO_YY_RULE_SETUP
{
tao_yylval.ival = idl_atoi(ace_tao_yytext, 16);
return IDL_INTEGER_LITERAL;
}
TAO_YY_BREAK
case 74:
TAO_YY_RULE_SETUP
{
tao_yylval.uival = idl_atoui(ace_tao_yytext, 16);
return IDL_UINTEGER_LITERAL;
}
TAO_YY_BREAK
case 75:
TAO_YY_RULE_SETUP
{
tao_yylval.ival = idl_atoi(ace_tao_yytext, 8);
return IDL_INTEGER_LITERAL;
}
TAO_YY_BREAK
case 76:
TAO_YY_RULE_SETUP
{
tao_yylval.uival = idl_atoui(ace_tao_yytext, 8);
return IDL_UINTEGER_LITERAL;
}
TAO_YY_BREAK
case 77:
TAO_YY_RULE_SETUP
{
/* Skip the quotes */
char *tmp = ace_tao_yytext;
for(int i = strlen(tmp) - 1; i >= 0; --i) {
if (isspace(tmp[i])) {
tmp[i] = '\0';
}
else {
break;
}
}
tmp[strlen (tmp) - 1] = '\0';
ACE_NEW_RETURN (tao_yylval.sval,
UTL_String (tmp + 1),
IDL_STRING_LITERAL);
return IDL_STRING_LITERAL;
}
TAO_YY_BREAK
case 78:
TAO_YY_RULE_SETUP
{
/* Skip the bookends */
char *tmp = ACE_OS::strdup (ace_tao_yytext);
tmp[strlen (tmp) - 1] = '\0';
tao_yylval.wsval = idl_wstring_escape_reader(tmp + 2);
return IDL_WSTRING_LITERAL;
}
TAO_YY_BREAK
case 79:
TAO_YY_RULE_SETUP
{
tao_yylval.cval = ace_tao_yytext [1];
return IDL_CHARACTER_LITERAL;
}
TAO_YY_BREAK
case 80:
TAO_YY_RULE_SETUP
{
// octal character constant
tao_yylval.cval = idl_escape_reader(ace_tao_yytext + 1);
return IDL_CHARACTER_LITERAL;
}
TAO_YY_BREAK
case 81:
TAO_YY_RULE_SETUP
{
// hexadecimal character constant
tao_yylval.cval = idl_escape_reader(ace_tao_yytext + 1);
return IDL_CHARACTER_LITERAL;
}
TAO_YY_BREAK
case 82:
TAO_YY_RULE_SETUP
{
tao_yylval.cval = idl_escape_reader(ace_tao_yytext + 1);
return IDL_CHARACTER_LITERAL;
}
TAO_YY_BREAK
case 83:
TAO_YY_RULE_SETUP
{
// wide character constant
tao_yylval.wcval = ace_tao_yytext [2];
return IDL_WCHAR_LITERAL;
}
TAO_YY_BREAK
case 84:
TAO_YY_RULE_SETUP
{
// hexadecimal wide character constant
tao_yylval.wcval = idl_wchar_escape_reader(ace_tao_yytext + 2);
return IDL_WCHAR_LITERAL;
}
TAO_YY_BREAK
case 85:
case 86:
TAO_YY_RULE_SETUP
{/* remember pragma */
idl_global->set_lineno(idl_global->lineno() + 1);
idl_store_pragma(ace_tao_yytext);
}
break;
case 87:
case 88:
TAO_YY_RULE_SETUP
{/* ignore file */
idl_global->set_lineno(idl_global->lineno() + 1);
}
break;
case 89:
case 90:
TAO_YY_RULE_SETUP
{
idl_parse_line_and_file(ace_tao_yytext);
}
break;
case 91:
case 92:
TAO_YY_RULE_SETUP
{
idl_parse_line_and_file(ace_tao_yytext);
}
break;
case 93:
case 94:
TAO_YY_RULE_SETUP
{
idl_parse_line_and_file(ace_tao_yytext);
}
break;
case 95:
case 96:
TAO_YY_RULE_SETUP
{
idl_parse_line_and_file(ace_tao_yytext);
}
break;
case 97:
case 98:
TAO_YY_RULE_SETUP
{
/* ignore cpp ident */
idl_global->set_lineno(idl_global->lineno() + 1);
}
break;
case 99:
TAO_YY_RULE_SETUP
{
/* ignore comments */
idl_global->set_lineno(idl_global->lineno() + 1);
}
break;
case 100:
TAO_YY_RULE_SETUP
{
for(;;) {
char c = tao_yyinput();
if (c == '*') {
char next = tao_yyinput();
if (next == '/')
break;
else
tao_yyunput(c, NULL);
if (c == '\n')
idl_global->set_lineno(idl_global->lineno() + 1);
}
}
}
break;
case 101:
TAO_YY_RULE_SETUP
;
break;
case 102:
TAO_YY_RULE_SETUP
{
idl_global->set_lineno(idl_global->lineno() + 1);
}
break;
case 103:
TAO_YY_RULE_SETUP
return ace_tao_yytext [0];
break;
case 104:
TAO_YY_RULE_SETUP
TAO_YY_ECHO;
break;
case TAO_YY_STATE_EOF(INITIAL):
tao_yyterminate();
case TAO_YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
int tao_yy_amount_of_matched_text = (int) (tao_yy_cp - tao_yytext_ptr) - 1;
/* Undo the effects of TAO_YY_DO_BEFORE_ACTION. */
*tao_yy_cp = tao_yy_hold_char;
TAO_YY_RESTORE_TAO_YY_MORE_OFFSET
if ( tao_yy_current_buffer->tao_yy_buffer_status == TAO_YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
* just pointed tao_yyin at a new source and called
* tao_yylex(). If so, then we have to assure
* consistency between tao_yy_current_buffer and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
tao_yy_n_chars = tao_yy_current_buffer->tao_yy_n_chars;
tao_yy_current_buffer->tao_yy_input_file = tao_yyin;
tao_yy_current_buffer->tao_yy_buffer_status = TAO_YY_BUFFER_NORMAL;
}
/* Note that here we test for tao_yy_c_buf_p "<=" to the position
* of the first EOB in the buffer, since tao_yy_c_buf_p will
* already have been incremented past the NUL character
* (since all states make transitions on EOB to the
* end-of-buffer state). Contrast this with the test
* in input().
*/
if ( tao_yy_c_buf_p <= &tao_yy_current_buffer->tao_yy_ch_buf[tao_yy_n_chars] )
{ /* This was really a NUL. */
tao_yy_state_type tao_yy_next_state;
tao_yy_c_buf_p = tao_yytext_ptr + tao_yy_amount_of_matched_text;
tao_yy_current_state = tao_yy_get_previous_state();
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
* tao_yy_get_previous_state() go ahead and do it
* for us because it doesn't know how to deal
* with the possibility of jamming (and we don't
* want t
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -