📄 lex.yy.cpp
字号:
217, 460, 460, 217, 362, 362, 362, 217, 305, 359,
359, 359, 359, 424, 424, 424, 305, 305, 305, 460,
478, 359, 359, 359, 305, 305, 305, 305, 359, 462,
462, 424, 463, 463, 477, 475, 305, 305, 305, 305,
305, 305, 305, 370, 370, 370, 470, 462, 473, 470,
463, 370, 370, 370, 370, 471, 466, 457, 415, 415,
415, 415, 496, 496, 370, 370, 370, 370, 370, 370,
415, 415, 415, 417, 417, 417, 417, 415, 456, 506,
496, 420, 506, 455, 420, 417, 417, 417, 533, 453,
452, 533, 417, 420, 420, 420, 421, 421, 421, 421,
421, 459, 459, 464, 464, 464, 464, 464, 421, 421,
421, 451, 459, 459, 459, 421, 429, 429, 429, 459,
450, 449, 464, 448, 429, 429, 429, 429, 447, 498,
498, 469, 469, 469, 469, 500, 500, 429, 429, 429,
429, 429, 429, 469, 469, 469, 472, 498, 445, 472,
469, 501, 501, 500, 502, 502, 502, 502, 472, 472,
472, 444, 504, 504, 504, 504, 502, 502, 502, 501,
505, 505, 442, 502, 504, 504, 504, 507, 441, 439,
507, 504, 508, 438, 435, 508, 508, 434, 505, 507,
507, 507, 509, 432, 508, 508, 508, 523, 523, 525,
525, 509, 509, 509, 527, 527, 431, 526, 526, 529,
529, 530, 530, 537, 537, 523, 430, 525, 526, 526,
526, 428, 527, 539, 539, 526, 427, 529, 426, 530,
425, 537, 541, 541, 542, 542, 545, 545, 547, 547,
423, 539, 422, 414, 413, 412, 411, 409, 408, 406,
541, 403, 542, 402, 545, 401, 547, 549, 549, 549,
549, 549, 549, 549, 549, 550, 399, 550, 550, 550,
550, 550, 550, 551, 551, 551, 551, 552, 552, 397,
396, 552, 552, 553, 395, 553, 553, 553, 553, 553,
553, 554, 554, 554, 554, 554, 554, 554, 554, 555,
392, 555, 556, 556, 556, 556, 556, 556, 556, 556,
557, 390, 557, 557, 557, 557, 557, 557, 558, 558,
389, 558, 559, 387, 559, 560, 560, 560, 560, 560,
560, 560, 560, 561, 561, 385, 561, 562, 384, 562,
563, 383, 563, 564, 564, 381, 564, 565, 565, 565,
565, 565, 565, 565, 565, 566, 566, 379, 566, 567,
567, 567, 567, 567, 567, 567, 567, 568, 568, 378,
568, 569, 569, 569, 569, 569, 569, 569, 569, 570,
570, 570, 570, 570, 570, 570, 570, 571, 571, 571,
571, 571, 571, 571, 571, 572, 572, 572, 572, 572,
572, 572, 572, 573, 573, 573, 573, 573, 573, 573,
573, 574, 574, 574, 574, 574, 574, 574, 574, 575,
575, 575, 575, 575, 575, 575, 575, 377, 376, 375,
374, 372, 369, 368, 367, 366, 365, 364, 363, 361,
357, 355, 354, 352, 351, 350, 349, 348, 347, 346,
345, 343, 342, 341, 340, 338, 337, 336, 335, 333,
332, 331, 330, 328, 326, 325, 322, 321, 320, 319,
317, 316, 315, 314, 313, 311, 310, 309, 308, 307,
306, 303, 301, 299, 298, 297, 296, 292, 291, 290,
289, 288, 286, 285, 284, 282, 280, 279, 277, 276,
275, 274, 273, 272, 271, 270, 269, 268, 267, 266,
265, 264, 263, 262, 261, 260, 259, 258, 256, 255,
254, 253, 251, 250, 249, 248, 247, 246, 245, 243,
242, 241, 240, 239, 237, 234, 233, 232, 230, 226,
221, 216, 215, 214, 213, 212, 211, 210, 209, 208,
207, 206, 205, 204, 203, 202, 201, 200, 198, 197,
196, 195, 194, 193, 192, 189, 188, 187, 186, 185,
184, 183, 182, 181, 180, 179, 178, 177, 176, 175,
174, 173, 172, 171, 170, 169, 168, 167, 166, 164,
163, 162, 161, 160, 158, 157, 156, 154, 153, 150,
137, 135, 134, 129, 128, 127, 126, 125, 123, 118,
117, 116, 115, 114, 112, 111, 110, 109, 108, 107,
105, 104, 103, 101, 100, 99, 98, 97, 96, 95,
92, 91, 90, 89, 87, 86, 85, 84, 83, 82,
81, 80, 78, 77, 76, 75, 74, 73, 72, 71,
70, 68, 50, 45, 34, 32, 30, 29, 24, 22,
21, 19, 17, 16, 15, 9, 3, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548
} ;
static tao_yy_state_type tao_yy_last_accepting_state;
static char *tao_yy_last_accepting_cpos;
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
#define REJECT reject_used_but_not_detected
#define tao_yymore() tao_yymore_used_but_not_detected
#define TAO_YY_MORE_ADJ 0
#define TAO_YY_RESTORE_TAO_YY_MORE_OFFSET
#ifndef TAO_YYLMAX
#define TAO_YYLMAX 8192
#endif
char tao_yytext[TAO_YYLMAX];
char *tao_yytext_ptr;
#define INITIAL 0
/* lex.yy.cpp,v 1.116 2004/01/07 02:53:51 parsons Exp
COPYRIGHT
Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
States of America. All Rights Reserved.
This product is protected by copyright and distributed under the following
license restricting its use.
The Interface Definition Language Compiler Front End (CFE) is made
available for your use provided that you include this license and copyright
notice on all media and documentation and the software program in which
this product is incorporated in whole or part. You may copy and extend
functionality (but may not remove functionality) of the Interface
Definition Language CFE without charge, but you are not authorized to
license or distribute it to anyone else except as part of a product or
program developed by you or with the express written consent of Sun
Microsystems, Inc. ("Sun").
The names of Sun Microsystems, Inc. and any of its subsidiaries or
affiliates may not be used in advertising or publicity pertaining to
distribution of Interface Definition Language CFE as permitted herein.
This license is effective until terminated by Sun for failure to comply
with this license. Upon termination, you shall destroy or return all code
and documentation for the Interface Definition Language CFE.
IDL_INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
IDL_ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
DEALING, USAGE OR TRADE PRACTICE.
IDL_INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
IDL_ANY OBLIGATION ON THE PART OF Sun OR IDL_ANY OF ITS SUBSIDIARIES OR AFFILIATES
TO ASSIST IDL_IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
SUN OR IDL_ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR IDL_ANY PATENTS BY
IDL_INTERFACE DEFINITION LANGUAGE CFE OR IDL_ANY PART THEREOF.
IDL_IN NO EVENT WILL SUN OR IDL_ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
IDL_ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Use, duplication, or disclosure by the government is subject to
restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
52.227-19.
Sun, Sun Microsystems and the Sun logo are trademarks or registered
trademarks of Sun Microsystems, Inc.
SunSoft, Inc.
2550 Garcia Avenue
Mountain View, California 94043
NOTE:
SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
trademarks or registered trademarks of Sun Microsystems, Inc.
*/
/*
* idl.ll - Lexical scanner for IDL 1.1
*/
#include "utl_strlist.h"
#include "utl_exprlist.h"
#include "utl_labellist.h"
#include "utl_decllist.h"
#include "utl_string.h"
#include "utl_err.h"
#include "ast_union_label.h"
#include "ast_field.h"
#include "ast_expression.h"
#include "ast_argument.h"
#include "ast_operation.h"
#include "ast_root.h"
#include "fe_interface_header.h"
#include "global_extern.h"
#include "fe_private.h"
#include "nr_extern.h"
#include "y.tab.h"
static char * idl_wstring_escape_reader (char *);
static ACE_CDR::WChar idl_wchar_escape_reader (char *);
static char idl_escape_reader (char *);
static double idl_atof (char *);
static long idl_atoi (char *, long);
static ACE_UINT64 idl_atoui (char *, long);
static void idl_parse_line_and_file (char *);
static void idl_store_pragma (char *);
static char * idl_get_pragma_string (char *);
static idl_bool idl_valid_version (char *);
static AST_Decl * idl_find_node (char *);
#if 0 /* defined (HPUX) */
// HPUX has tao_yytext typed to unsigned char *. We make sure here that
// we'll always use char * static char* __tao_yytext = (char*) tao_yytext;
// NOTE: This will not work under flex(1) were tao_yytext is not a fixed
// buffer, but a dynamically allocated one. This function should do
// the trick for us.
inline char *__tao_yytext()
{
return (char *) tao_yytext;
}
#define ace_tao_yytext __tao_yytext()
#else
#define ace_tao_yytext tao_yytext
#endif /* 0 */
/* SO we don't choke on files that use \r\n */
#define TAO_YY_NEVER_INTERACTIVE 1
/* Macros after this point can all be overridden by user definitions in
* section 1.
*/
#ifndef TAO_YY_SKIP_TAO_YYWRAP
#ifdef __cplusplus
extern "C" int tao_yywrap TAO_YY_PROTO(( void ));
#else
extern int tao_yywrap TAO_YY_PROTO(( void ));
#endif
#endif
#ifndef TAO_YY_NO_UNPUT
static void tao_yyunput TAO_YY_PROTO(( int c, char *buf_ptr ));
#endif
#ifndef tao_yytext_ptr
static void tao_yy_flex_strncpy TAO_YY_PROTO(( char *, tao_yyconst char *, int ));
#endif
#ifdef TAO_YY_NEED_STRLEN
static int tao_yy_flex_strlen TAO_YY_PROTO(( tao_yyconst char * ));
#endif
#ifndef TAO_YY_NO_INPUT
#ifdef __cplusplus
static int tao_yyinput TAO_YY_PROTO(( void ));
#else
static int input TAO_YY_PROTO(( void ));
#endif
#endif
#ifdef TAO_YY_STACK_USED
static int tao_yy_start_stack_ptr = 0;
static int tao_yy_start_stack_depth = 0;
static int *tao_yy_start_stack = 0;
#ifndef TAO_YY_NO_PUSH_STATE
static void tao_yy_push_state TAO_YY_PROTO(( int new_state ));
#endif
#ifndef TAO_YY_NO_POP_STATE
static void tao_yy_pop_state TAO_YY_PROTO(( void ));
#endif
#ifndef TAO_YY_NO_TOP_STATE
static int tao_yy_top_state TAO_YY_PROTO(( void ));
#endif
#else
#define TAO_YY_NO_PUSH_STATE 1
#define TAO_YY_NO_POP_STATE 1
#define TAO_YY_NO_TOP_STATE 1
#endif
#ifdef TAO_YY_MALLOC_DECL
TAO_YY_MALLOC_DECL
#else
#ifdef __STDC__
#ifndef __cplusplus
#endif
#else
/* Just try to get by without declaring the routines. This will fail
* miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
* or sizeof(void*) != sizeof(int).
*/
#endif
#endif
/* Amount of stuff to slurp up with each read. */
#ifndef TAO_YY_READ_BUF_SIZE
#define TAO_YY_READ_BUF_SIZE 8192
#endif
/* Copy whatever the last rule matched to the standard output. */
#ifndef TAO_YY_ECHO
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
#define TAO_YY_ECHO (void) fwrite( tao_yytext, tao_yyleng, 1, tao_yyout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or TAO_YY_NULL,
* is returned in "result".
*/
#ifndef TAO_YY_INPUT
#define TAO_YY_INPUT(buf,result,max_size) \
if ( tao_yy_current_buffer->tao_yy_is_interactive ) \
{ \
int c = '*', n; \
for ( n = 0; n < max_size && \
(c = getc( tao_yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
if ( c == EOF && ferror( tao_yyin ) ) \
TAO_YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else if ( ((result = ACE_static_cast (int, \
fread( buf, 1, max_size, tao_yyin ))) == 0) \
&& ferror( tao_yyin ) ) \
TAO_YY_FATAL_ERROR( "input in flex scanner failed" );
#endif
/* No semi-colon after return; correct usage is to write "tao_yyterminate();" -
* we don't want an extra ';' after the "return" because that will cause
* some compilers to complain about unreachable statements.
*/
#ifndef tao_yyterminate
#define tao_yyterminate() return TAO_YY_NULL
#endif
/* Number of entries by which start-condition stack grows. */
#ifndef TAO_YY_START_STACK_INCR
#define TAO_YY_START_STACK_INCR 25
#endif
/* Report a fatal error. */
#ifndef TAO_YY_FATAL_ERROR
#define TAO_YY_FATAL_ERROR(msg) tao_yy_fatal_error( msg )
#endif
/* Default declaration of generated scanner - a define so the user can
* easily add parameters.
*/
#ifndef TAO_YY_DECL
#define TAO_YY_DECL int tao_yylex TAO_YY_PROTO(( void ))
#endif
/* Code executed at the beginning of each rule, after tao_yytext and tao_yyleng
* have been set up.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -