#include "ace/OS.h"#include "ace/ETCL/ETCL_Constraint.h"#include "ace/ETCL/ETCL_Interpreter.h"#include "ace/ETCL/ETCL_y.h"
Go to the source code of this file.
Classes | |
| struct | yy_buffer_state |
Defines | |
| #define | FLEX_SCANNER |
| #define | YY_FLEX_MAJOR_VERSION 2 |
| #define | YY_FLEX_MINOR_VERSION 5 |
| #define | yyconst |
| #define | YY_PROTO(proto) () |
| #define | YY_NULL 0 |
| #define | YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) |
| #define | BEGIN yy_start = 1 + 2 * |
| #define | YY_START ((yy_start - 1) / 2) |
| #define | YYSTATE YY_START |
| #define | YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) |
| #define | YY_NEW_FILE yyrestart( yyin ) |
| #define | YY_END_OF_BUFFER_CHAR 0 |
| #define | YY_BUF_SIZE 16384 |
| #define | EOB_ACT_CONTINUE_SCAN 0 |
| #define | EOB_ACT_END_OF_FILE 1 |
| #define | EOB_ACT_LAST_MATCH 2 |
| #define | yyless(n) |
| #define | unput(c) yyunput( c, yytext_ptr ) |
| #define | YY_BUFFER_NEW 0 |
| #define | YY_BUFFER_NORMAL 1 |
| #define | YY_BUFFER_EOF_PENDING 2 |
| #define | YY_CURRENT_BUFFER yy_current_buffer |
| #define | YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) |
| #define | yy_new_buffer yy_create_buffer |
| #define | yy_set_interactive(is_interactive) |
| #define | yy_set_bol(at_bol) |
| #define | YY_AT_BOL() (yy_current_buffer->yy_at_bol) |
| #define | yytext_ptr yytext |
| #define | YY_DO_BEFORE_ACTION |
| #define | YY_NUM_RULES 41 |
| #define | YY_END_OF_BUFFER 42 |
| #define | REJECT reject_used_but_not_detected |
| #define | yymore() yymore_used_but_not_detected |
| #define | YY_MORE_ADJ 0 |
| #define | YY_RESTORE_YY_MORE_OFFSET |
| #define | INITIAL 0 |
| #define | YY_LEX_DEBUG |
| #define | YY_BREAK |
| #define | YY_NO_UNPUT |
| #define | YY_NO_PUSH_STATE 1 |
| #define | YY_NO_POP_STATE 1 |
| #define | YY_NO_TOP_STATE 1 |
| #define | YY_READ_BUF_SIZE 8192 |
| #define | ETCL_ECHO { size_t __dum_ret = fwrite( yytext, yyleng, 1, yyout ); (void) __dum_ret; } |
| #define | yyterminate() return YY_NULL |
| #define | YY_START_STACK_INCR 25 |
| #define | YY_FATAL_ERROR(msg) yy_fatal_error( msg ) |
| #define | YY_DECL int yylex YY_PROTO(( void )) |
| #define | YY_USER_ACTION |
| #define | YY_RULE_SETUP YY_USER_ACTION |
| #define | YY_EXIT_FAILURE 2 |
| #define | yyless(n) |
Typedefs | |
| typedef struct yy_buffer_state * | YY_BUFFER_STATE |
| typedef unsigned int | yy_size_t |
| typedef unsigned char | YY_CHAR |
| typedef int | yy_state_type |
Functions | |
| void yyrestart | YY_PROTO ((FILE *input_file)) |
| void yy_switch_to_buffer | YY_PROTO ((YY_BUFFER_STATE new_buffer)) |
| void yy_load_buffer_state | YY_PROTO ((void)) |
| YY_BUFFER_STATE yy_create_buffer | YY_PROTO ((FILE *file, int size)) |
| void yy_delete_buffer | YY_PROTO ((YY_BUFFER_STATE b)) |
| void yy_init_buffer | YY_PROTO ((YY_BUFFER_STATE b, FILE *file)) |
| YY_BUFFER_STATE yy_scan_buffer | YY_PROTO ((char *base, yy_size_t size)) |
| YY_BUFFER_STATE yy_scan_string | YY_PROTO ((yyconst char *yy_str)) |
| YY_BUFFER_STATE yy_scan_bytes | YY_PROTO ((yyconst char *bytes, int len)) |
| static void *yy_flex_alloc | YY_PROTO ((yy_size_t)) |
| static void *yy_flex_realloc | YY_PROTO ((void *, yy_size_t)) |
| static void yy_flex_free | YY_PROTO ((void *)) |
| static yy_state_type yy_try_NUL_trans | YY_PROTO ((yy_state_type current_state)) |
| static void yy_fatal_error | YY_PROTO ((yyconst char msg[])) |
| static const char * | extract_string (char *) |
| if (yy_init) | |
| while (1) | |
| static int | yy_get_next_buffer () |
| static yy_state_type | yy_get_previous_state () |
| static yy_state_type | yy_try_NUL_trans (yy_current_state) yy_state_type yy_current_state |
Variables | |
| int | yyleng |
| FILE * | yyin = (FILE *) 0 |
| FILE * | yyout = (FILE *) 0 |
| static YY_BUFFER_STATE | yy_current_buffer = 0 |
| static char | yy_hold_char |
| static int | yy_n_chars |
| static char * | yy_c_buf_p = (char *) 0 |
| static int | yy_init = 1 |
| static int | yy_start = 0 |
| static int | yy_did_buffer_switch_on_eof |
| char * | yytext |
| static yyconst short int | yy_accept [118] |
| static yyconst int | yy_ec [256] |
| static yyconst int | yy_meta [51] |
| static yyconst short int | yy_base [122] |
| static yyconst short int | yy_def [122] |
| static yyconst short int | yy_nxt [198] |
| static yyconst short int | yy_chk [198] |
| static yy_state_type | yy_last_accepting_state |
| static char * | yy_last_accepting_cpos |
| YY_DECL register yy_state_type | yy_current_state |
| register char * | yy_cp = 0 |
| register char * | yy_bp = 0 |
| register int | yy_act |
| int | size |
| FILE * | file |
| int | len |
| #define BEGIN yy_start = 1 + 2 * |
Definition at line 78 of file ETCL_l.cpp.
| #define EOB_ACT_CONTINUE_SCAN 0 |
Definition at line 105 of file ETCL_l.cpp.
| #define EOB_ACT_END_OF_FILE 1 |
Definition at line 106 of file ETCL_l.cpp.
| #define EOB_ACT_LAST_MATCH 2 |
Definition at line 107 of file ETCL_l.cpp.
Definition at line 566 of file ETCL_l.cpp.
| #define FLEX_SCANNER |
Definition at line 8 of file ETCL_l.cpp.
| #define INITIAL 0 |
Definition at line 449 of file ETCL_l.cpp.
| #define REJECT reject_used_but_not_detected |
Definition at line 443 of file ETCL_l.cpp.
| #define unput | ( | c | ) | yyunput( c, yytext_ptr ) |
Definition at line 136 of file ETCL_l.cpp.
| #define YY_AT_BOL | ( | ) | (yy_current_buffer->yy_at_bol) |
Definition at line 263 of file ETCL_l.cpp.
| #define YY_BREAK |
Definition at line 485 of file ETCL_l.cpp.
| #define YY_BUF_SIZE 16384 |
Definition at line 96 of file ETCL_l.cpp.
| #define YY_BUFFER_EOF_PENDING 2 |
Definition at line 199 of file ETCL_l.cpp.
| #define YY_BUFFER_NEW 0 |
Definition at line 187 of file ETCL_l.cpp.
| #define YY_BUFFER_NORMAL 1 |
Definition at line 188 of file ETCL_l.cpp.
| #define YY_CURRENT_BUFFER yy_current_buffer |
Definition at line 208 of file ETCL_l.cpp.
| #define YY_DECL int yylex YY_PROTO(( void )) |
Definition at line 614 of file ETCL_l.cpp.
| #define YY_DO_BEFORE_ACTION |
yytext_ptr = yy_bp; \ yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp;
Definition at line 282 of file ETCL_l.cpp.
| #define YY_END_OF_BUFFER 42 |
Definition at line 290 of file ETCL_l.cpp.
| #define YY_END_OF_BUFFER_CHAR 0 |
Definition at line 93 of file ETCL_l.cpp.
| #define YY_EXIT_FAILURE 2 |
| #define YY_FATAL_ERROR | ( | msg | ) | yy_fatal_error( msg ) |
Definition at line 607 of file ETCL_l.cpp.
| #define YY_FLEX_MAJOR_VERSION 2 |
Definition at line 9 of file ETCL_l.cpp.
| #define YY_FLEX_MINOR_VERSION 5 |
Definition at line 10 of file ETCL_l.cpp.
| #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) |
Definition at line 237 of file ETCL_l.cpp.
| #define YY_LEX_DEBUG |
Definition at line 477 of file ETCL_l.cpp.
| #define YY_MORE_ADJ 0 |
Definition at line 445 of file ETCL_l.cpp.
| #define yy_new_buffer yy_create_buffer |
Definition at line 247 of file ETCL_l.cpp.
| #define YY_NEW_FILE yyrestart( yyin ) |
Definition at line 91 of file ETCL_l.cpp.
| #define YY_NO_POP_STATE 1 |
Definition at line 533 of file ETCL_l.cpp.
| #define YY_NO_PUSH_STATE 1 |
Definition at line 532 of file ETCL_l.cpp.
| #define YY_NO_TOP_STATE 1 |
Definition at line 534 of file ETCL_l.cpp.
| #define YY_NO_UNPUT |
Definition at line 486 of file ETCL_l.cpp.
| #define YY_NULL 0 |
Definition at line 65 of file ETCL_l.cpp.
| #define YY_NUM_RULES 41 |
Definition at line 289 of file ETCL_l.cpp.
| #define YY_PROTO | ( | proto | ) | () |
Definition at line 61 of file ETCL_l.cpp.
| #define YY_READ_BUF_SIZE 8192 |
Definition at line 556 of file ETCL_l.cpp.
| #define YY_RESTORE_YY_MORE_OFFSET |
Definition at line 446 of file ETCL_l.cpp.
| #define YY_RULE_SETUP YY_USER_ACTION |
Definition at line 629 of file ETCL_l.cpp.
| #define YY_SC_TO_UI | ( | c | ) | ((unsigned int) (unsigned char) c) |
Definition at line 72 of file ETCL_l.cpp.
| #define yy_set_bol | ( | at_bol | ) |
{ \
if ( ! yy_current_buffer ) \
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
yy_current_buffer->yy_at_bol = at_bol; \
}
Definition at line 256 of file ETCL_l.cpp.
| #define yy_set_interactive | ( | is_interactive | ) |
{ \
if ( ! yy_current_buffer ) \
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
yy_current_buffer->yy_is_interactive = is_interactive; \
}
Definition at line 249 of file ETCL_l.cpp.
| #define YY_START ((yy_start - 1) / 2) |
Definition at line 84 of file ETCL_l.cpp.
| #define YY_START_STACK_INCR 25 |
Definition at line 602 of file ETCL_l.cpp.
| #define YY_STATE_EOF | ( | state | ) | (YY_END_OF_BUFFER + state + 1) |
Definition at line 88 of file ETCL_l.cpp.
| #define YY_USER_ACTION |
Definition at line 621 of file ETCL_l.cpp.
| #define yyconst |
Definition at line 54 of file ETCL_l.cpp.
| #define yyless | ( | n | ) |
do \ { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 )
Definition at line 125 of file ETCL_l.cpp.
| #define yyless | ( | n | ) |
do \ { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ } \ while ( 0 )
Definition at line 125 of file ETCL_l.cpp.
| #define yymore | ( | ) | yymore_used_but_not_detected |
Definition at line 444 of file ETCL_l.cpp.
| #define YYSTATE YY_START |
Definition at line 85 of file ETCL_l.cpp.
| #define yyterminate | ( | ) | return YY_NULL |
Definition at line 597 of file ETCL_l.cpp.
| #define yytext_ptr yytext |
Definition at line 272 of file ETCL_l.cpp.
| typedef struct yy_buffer_state* YY_BUFFER_STATE |
Definition at line 100 of file ETCL_l.cpp.
| typedef unsigned char YY_CHAR |
Definition at line 268 of file ETCL_l.cpp.
| typedef unsigned int yy_size_t |
Definition at line 142 of file ETCL_l.cpp.
| typedef int yy_state_type |
Definition at line 270 of file ETCL_l.cpp.
| static const char* extract_string | ( | char * | ) | [static] |
| if | ( | yy_init | ) |
Definition at line 643 of file ETCL_l.cpp.
{
yy_init = 0;
#ifdef YY_USER_INIT
YY_USER_INIT;
#endif
if ( ! yy_start )
yy_start = 1; /* first start state */
if ( ! yyin )
yyin = stdin;
if ( ! yyout )
yyout = stdout;
if ( ! yy_current_buffer )
yy_current_buffer =
yy_create_buffer( yyin, YY_BUF_SIZE );
yy_load_buffer_state();
}
| while | ( | 1 | ) |
Definition at line 667 of file ETCL_l.cpp.
{
yy_cp = yy_c_buf_p;
/* Support of yytext. */
*yy_cp = yy_hold_char;
/* yy_bp points to the position in yy_ch_buf of the start of
* the current run.
*/
yy_bp = yy_cp;
yy_current_state = yy_start;
yy_match:
do
{
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 118 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 147 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
if ( yy_act == 0 )
{ /* have to back up */
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
yy_act = yy_accept[yy_current_state];
}
YY_DO_BEFORE_ACTION;
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
{ /* beginning of action switch */
case 0: /* must back up */
/* undo the effects of YY_DO_BEFORE_ACTION */
*yy_cp = yy_hold_char;
yy_cp = yy_last_accepting_cpos;
yy_current_state = yy_last_accepting_state;
goto yy_find_action;
case 1:
YY_RULE_SETUP
//#line 52 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_MIN; }
YY_BREAK
case 2:
YY_RULE_SETUP
//#line 53 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_MAX; }
YY_BREAK
case 3:
YY_RULE_SETUP
//#line 54 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_FIRST; }
YY_BREAK
case 4:
YY_RULE_SETUP
//#line 55 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_RANDOM; }
YY_BREAK
case 5:
YY_RULE_SETUP
//#line 56 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_WITH; }
YY_BREAK
case 6:
YY_RULE_SETUP
//#line 57 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_EXIST; }
YY_BREAK
case 7:
YY_RULE_SETUP
//#line 58 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_NOT; }
YY_BREAK
case 8:
YY_RULE_SETUP
//#line 59 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_AND; }
YY_BREAK
case 9:
YY_RULE_SETUP
//#line 60 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_OR; }
YY_BREAK
case 10:
YY_RULE_SETUP
//#line 61 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_IN; }
YY_BREAK
case 11:
YY_RULE_SETUP
//#line 62 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_TWIDDLE; }
YY_BREAK
case 12:
YY_RULE_SETUP
//#line 63 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_PLUS; }
YY_BREAK
case 13:
YY_RULE_SETUP
//#line 64 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_MINUS; }
YY_BREAK
case 14:
YY_RULE_SETUP
//#line 65 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_MULT; }
YY_BREAK
case 15:
YY_RULE_SETUP
//#line 66 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_DIV; }
YY_BREAK
case 16:
YY_RULE_SETUP
//#line 67 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_LT; }
YY_BREAK
case 17:
YY_RULE_SETUP
//#line 68 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_LE; }
YY_BREAK
case 18:
YY_RULE_SETUP
//#line 69 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_GT; }
YY_BREAK
case 19:
YY_RULE_SETUP
//#line 70 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_GE; }
YY_BREAK
case 20:
YY_RULE_SETUP
//#line 71 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_EQ; }
YY_BREAK
case 21:
YY_RULE_SETUP
//#line 72 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_NE; }
YY_BREAK
case 22:
YY_RULE_SETUP
//#line 73 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_LPAREN; }
YY_BREAK
case 23:
YY_RULE_SETUP
//#line 74 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_RPAREN; }
YY_BREAK
case 24:
YY_RULE_SETUP
//#line 75 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_DOLLAR; }
YY_BREAK
case 25:
YY_RULE_SETUP
//#line 76 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_DOT; }
YY_BREAK
case 26:
YY_RULE_SETUP
//#line 77 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_DEFAULT; }
YY_BREAK
case 27:
YY_RULE_SETUP
//#line 78 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_DISCRIMINANT; }
YY_BREAK
case 28:
YY_RULE_SETUP
//#line 79 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_TYPE_ID; }
YY_BREAK
case 29:
YY_RULE_SETUP
//#line 80 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_REPOS_ID; }
YY_BREAK
case 30:
YY_RULE_SETUP
//#line 81 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_LENGTH; }
YY_BREAK
case 31:
YY_RULE_SETUP
//#line 82 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_LBRA; }
YY_BREAK
case 32:
YY_RULE_SETUP
//#line 83 "ETCL/ETCL.ll"
{ YY_LEX_DEBUG; return ETCL_RBRA; }
YY_BREAK
case 33:
YY_RULE_SETUP
//#line 84 "ETCL/ETCL.ll"
{
yylval.constraint =
new ETCL_Literal_Constraint ((ACE_CDR::Boolean) 1);
YY_LEX_DEBUG; return ETCL_BOOLEAN;
}
YY_BREAK
case 34:
YY_RULE_SETUP
//#line 89 "ETCL/ETCL.ll"
{
yylval.constraint =
new ETCL_Literal_Constraint ((ACE_CDR::Boolean) 0);
YY_LEX_DEBUG; return ETCL_BOOLEAN;
}
YY_BREAK
case 35:
YY_RULE_SETUP
//#line 94 "ETCL/ETCL.ll"
{
yylval.constraint =
new ETCL_Literal_Constraint (ACE_OS::atoi (yytext));
YY_LEX_DEBUG; return ETCL_INTEGER;
}
YY_BREAK
case 36:
YY_RULE_SETUP
//#line 99 "ETCL/ETCL.ll"
{
double v;
sscanf (yytext, "%lf", &v);
yylval.constraint =
new ETCL_Literal_Constraint (v);
YY_LEX_DEBUG; return ETCL_FLOAT;
}
YY_BREAK
case 37:
YY_RULE_SETUP
//#line 106 "ETCL/ETCL.ll"
{
yylval.constraint =
new ETCL_Literal_Constraint (extract_string(yytext));
YY_LEX_DEBUG; return ETCL_STRING;
}
YY_BREAK
case 38:
YY_RULE_SETUP
//#line 111 "ETCL/ETCL.ll"
{
yylval.constraint =
new ETCL_Identifier (yytext);
YY_LEX_DEBUG; return ETCL_IDENT;
}
YY_BREAK
case 39:
YY_RULE_SETUP
//#line 116 "ETCL/ETCL.ll"
{
YY_LEX_DEBUG; break; // Ignore
}
YY_BREAK
case 40:
YY_RULE_SETUP
//#line 119 "ETCL/ETCL.ll"
{
YY_LEX_DEBUG; break; // @@ TODO
}
YY_BREAK
case 41:
YY_RULE_SETUP
//#line 122 "ETCL/ETCL.ll"
ETCL_ECHO;
YY_BREAK
case YY_STATE_EOF(INITIAL):
yyterminate();
case YY_END_OF_BUFFER:
{
/* Amount of text matched not including the EOB char. */
int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
/* Undo the effects of YY_DO_BEFORE_ACTION. */
*yy_cp = yy_hold_char;
YY_RESTORE_YY_MORE_OFFSET
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
* just pointed yyin at a new source and called
* yylex(). If so, then we have to assure
* consistency between 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.
*/
yy_n_chars = yy_current_buffer->yy_n_chars;
yy_current_buffer->yy_input_file = yyin;
yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
}
/* Note that here we test for yy_c_buf_p "<=" to the position
* of the first EOB in the buffer, since 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 ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
{ /* This was really a NUL. */
yy_state_type yy_next_state;
yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
/* Okay, we're now positioned to make the NUL
* transition. We couldn't have
* 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 to build jamming into it because then it
* will run more slowly).
*/
yy_next_state = yy_try_NUL_trans( yy_current_state );
yy_bp = yytext_ptr + YY_MORE_ADJ;
if ( yy_next_state )
{
/* Consume the NUL. */
yy_cp = ++yy_c_buf_p;
yy_current_state = yy_next_state;
goto yy_match;
}
else
{
yy_cp = yy_c_buf_p;
goto yy_find_action;
}
}
else switch ( yy_get_next_buffer() )
{
case EOB_ACT_END_OF_FILE:
{
yy_did_buffer_switch_on_eof = 0;
if ( yywrap() )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
* yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
* YY_NULL, it'll still work - another
* YY_NULL will get returned.
*/
yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
yy_act = YY_STATE_EOF(YY_START);
goto do_action;
}
else
{
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
}
break;
}
case EOB_ACT_CONTINUE_SCAN:
yy_c_buf_p =
yytext_ptr + yy_amount_of_matched_text;
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_match;
case EOB_ACT_LAST_MATCH:
yy_c_buf_p =
&yy_current_buffer->yy_ch_buf[yy_n_chars];
yy_current_state = yy_get_previous_state();
yy_cp = yy_c_buf_p;
yy_bp = yytext_ptr + YY_MORE_ADJ;
goto yy_find_action;
}
break;
}
default:
YY_FATAL_ERROR(
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
| static int yy_get_next_buffer | ( | ) | [static] |
Definition at line 1100 of file ETCL_l.cpp.
{
register char *dest = yy_current_buffer->yy_ch_buf;
register char *source = yytext_ptr;
register int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
YY_FATAL_ERROR(
"fatal flex scanner internal error--end of buffer missed" );
if ( yy_current_buffer->yy_fill_buffer == 0 )
{ /* Don't try to fill the buffer, so this is an EOF. */
if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
{
/* We matched a single character, the EOB, so
* treat this as a final EOF.
*/
return EOB_ACT_END_OF_FILE;
}
else
{
/* We matched some text prior to the EOB, first
* process it.
*/
return EOB_ACT_LAST_MATCH;
}
}
/* Try to read more data. */
/* First move last chars to start of buffer. */
number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
yy_current_buffer->yy_n_chars = yy_n_chars = 0;
else
{
int num_to_read =
yy_current_buffer->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
#ifdef YY_USES_REJECT
YY_FATAL_ERROR(
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
#else
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = yy_current_buffer;
int yy_c_buf_p_offset =
(int) (yy_c_buf_p - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
else
b->yy_buf_size *= 2;
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
yy_flex_realloc( (void *) b->yy_ch_buf,
b->yy_buf_size + 2 );
}
else
/* Can't grow it, we don't own it. */
b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
"fatal error - scanner input buffer overflow" );
yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
num_to_read = yy_current_buffer->yy_buf_size -
number_to_move - 1;
#endif
}
if ( num_to_read > YY_READ_BUF_SIZE )
num_to_read = YY_READ_BUF_SIZE;
/* Read in more data. */
YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
yy_n_chars, num_to_read );
yy_current_buffer->yy_n_chars = yy_n_chars;
}
if ( yy_n_chars == 0 )
{
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
yyrestart( yyin );
}
else
{
ret_val = EOB_ACT_LAST_MATCH;
yy_current_buffer->yy_buffer_status =
YY_BUFFER_EOF_PENDING;
}
}
else
ret_val = EOB_ACT_CONTINUE_SCAN;
yy_n_chars += number_to_move;
yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
return ret_val;
}
| static yy_state_type yy_get_previous_state | ( | ) | [static] |
Definition at line 1232 of file ETCL_l.cpp.
{
register yy_state_type yy_current_state;
register char *yy_cp;
yy_current_state = yy_start;
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
yy_last_accepting_cpos = yy_cp;
}
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 118 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
}
return yy_current_state;
}
| YY_BUFFER_STATE yy_create_buffer YY_PROTO | ( | (FILE *file, int size) | ) |
| YY_BUFFER_STATE yy_scan_buffer YY_PROTO | ( | (char *base, yy_size_t size) | ) |
| static void yy_fatal_error YY_PROTO | ( | (yyconst char msg[]) | ) | [static] |
| static yy_state_type yy_try_NUL_trans YY_PROTO | ( | (yy_state_type current_state) | ) | [static] |
| static void yy_flex_free YY_PROTO | ( | (void *) | ) | [static] |
| static void* yy_flex_realloc YY_PROTO | ( | (void *, yy_size_t) | ) | [static] |
| static void* yy_flex_alloc YY_PROTO | ( | (yy_size_t) | ) | [static] |
| YY_BUFFER_STATE yy_scan_bytes YY_PROTO | ( | (yyconst char *bytes, int len) | ) |
| void yy_switch_to_buffer YY_PROTO | ( | (YY_BUFFER_STATE new_buffer) | ) |
| static int input YY_PROTO | ( | (void) | ) |
| void yy_init_buffer YY_PROTO | ( | (YY_BUFFER_STATE b, FILE *file) | ) |
| void yy_flush_buffer YY_PROTO | ( | (YY_BUFFER_STATE b) | ) |
| YY_BUFFER_STATE yy_scan_string YY_PROTO | ( | (yyconst char *yy_str) | ) |
| void yyrestart YY_PROTO | ( | (FILE *input_file) | ) |
| static yy_state_type yy_try_NUL_trans | ( | yy_current_state | ) | [static] |
| FILE* file |
Definition at line 1511 of file ETCL_l.cpp.
| int len |
Definition at line 1631 of file ETCL_l.cpp.
Definition at line 1422 of file ETCL_l.cpp.
yyconst short int yy_accept[118] [static] |
{ 0,
0, 0, 42, 40, 39, 41, 40, 24, 40, 22,
23, 14, 12, 13, 25, 15, 35, 16, 40, 18,
38, 38, 38, 31, 40, 32, 40, 38, 38, 38,
38, 38, 38, 38, 38, 38, 38, 11, 21, 0,
37, 0, 36, 0, 35, 17, 20, 19, 38, 38,
38, 38, 27, 0, 0, 0, 38, 38, 38, 38,
10, 38, 38, 38, 9, 38, 38, 0, 0, 38,
38, 38, 0, 0, 0, 8, 38, 38, 38, 2,
1, 7, 38, 38, 0, 36, 38, 33, 0, 0,
0, 38, 38, 38, 38, 5, 34, 0, 0, 0,
38, 6, 3, 38, 0, 0, 0, 38, 4, 30,
0, 0, 26, 0, 28, 29, 0
}
Definition at line 291 of file ETCL_l.cpp.
| register int yy_act |
Definition at line 639 of file ETCL_l.cpp.
yyconst short int yy_base[122] [static] |
{ 0,
0, 0, 146, 147, 147, 147, 129, 147, 45, 147,
147, 147, 147, 147, 130, 147, 40, 127, 126, 125,
0, 122, 116, 147, 0, 147, 21, 98, 104, 88,
98, 94, 24, 92, 89, 100, 93, 147, 147, 50,
147, 51, 48, 115, 46, 147, 147, 147, 0, 106,
101, 0, 147, 93, 92, 75, 91, 88, 84, 77,
0, 71, 78, 72, 0, 76, 70, 57, 60, 90,
93, 0, 72, 69, 68, 0, 78, 64, 63, 0,
0, 0, 74, 69, 90, 89, 82, 0, 66, 59,
66, 52, 52, 51, 54, 0, 0, 49, 49, 54,
45, 0, 0, 43, 44, 47, 39, 30, 0, 147,
35, 37, 0, 35, 147, 147, 147, 85, 87, 62,
89
}
Definition at line 349 of file ETCL_l.cpp.
| register char* yy_bp = 0 |
Definition at line 638 of file ETCL_l.cpp.
char* yy_c_buf_p = (char *) 0 [static] |
Definition at line 220 of file ETCL_l.cpp.
yyconst short int yy_chk[198] [static] |
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9, 17, 27, 17, 33, 40, 42, 45, 27, 45,
33, 43, 68, 27, 120, 27, 114, 43, 112, 69,
69, 111, 9, 69, 108, 107, 106, 40, 42, 105,
43, 104, 101, 100, 68, 118, 118, 118, 119, 119,
121, 121, 99, 98, 95, 94, 93, 92, 91, 90,
89, 87, 86, 85, 84, 83, 79, 78, 77, 75,
74, 73, 71, 70, 67, 66, 64, 63, 62, 60,
59, 58, 57, 56, 55, 54, 51, 50, 44, 37,
36, 35, 34, 32, 31, 30, 29, 28, 23, 22,
20, 19, 18, 15, 7, 3, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117
}
Definition at line 411 of file ETCL_l.cpp.
| register char* yy_cp = 0 |
Definition at line 637 of file ETCL_l.cpp.
YY_BUFFER_STATE yy_current_buffer = 0 [static] |
Definition at line 202 of file ETCL_l.cpp.
| YY_DECL register yy_state_type yy_current_state |
Definition at line 636 of file ETCL_l.cpp.
yyconst short int yy_def[122] [static] |
{ 0,
117, 1, 117, 117, 117, 117, 117, 117, 118, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
119, 119, 119, 117, 120, 117, 117, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 117, 117, 118,
117, 117, 117, 117, 117, 117, 117, 117, 119, 119,
119, 121, 117, 117, 117, 117, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 118, 117, 119,
119, 121, 117, 117, 117, 119, 119, 119, 119, 119,
119, 119, 119, 119, 117, 117, 119, 119, 117, 117,
117, 119, 119, 119, 119, 119, 119, 117, 117, 117,
119, 119, 119, 119, 117, 117, 117, 119, 119, 117,
117, 117, 119, 117, 117, 117, 0, 117, 117, 117,
117
}
Definition at line 367 of file ETCL_l.cpp.
int yy_did_buffer_switch_on_eof [static] |
Definition at line 227 of file ETCL_l.cpp.
yyconst int yy_ec[256] [static] |
Definition at line 308 of file ETCL_l.cpp.
char yy_hold_char [static] |
Definition at line 212 of file ETCL_l.cpp.
int yy_init = 1 [static] |
Definition at line 221 of file ETCL_l.cpp.
char* yy_last_accepting_cpos [static] |
Definition at line 438 of file ETCL_l.cpp.
yy_state_type yy_last_accepting_state [static] |
Definition at line 437 of file ETCL_l.cpp.
yyconst int yy_meta[51] [static] |
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 1, 1, 1, 3, 3, 3,
3, 3, 3, 3, 3, 3, 1, 1, 1, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 1
}
Definition at line 340 of file ETCL_l.cpp.
int yy_n_chars [static] |
Definition at line 214 of file ETCL_l.cpp.
yyconst short int yy_nxt[198] [static] |
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 21, 21,
22, 21, 21, 21, 23, 21, 24, 25, 26, 27,
28, 29, 30, 31, 21, 21, 32, 21, 33, 34,
35, 21, 36, 21, 21, 21, 37, 21, 21, 38,
41, 44, 53, 45, 62, 41, 68, 44, 54, 45,
63, 43, 41, 55, 52, 56, 116, 69, 115, 85,
85, 114, 42, 86, 113, 112, 111, 42, 68, 110,
69, 109, 108, 107, 42, 40, 40, 40, 49, 49,
72, 72, 106, 105, 104, 103, 102, 101, 100, 99,
98, 97, 86, 86, 96, 95, 94, 93, 92, 91,
90, 89, 88, 87, 84, 83, 82, 81, 80, 79,
78, 77, 76, 75, 74, 73, 71, 70, 43, 67,
66, 65, 64, 61, 60, 59, 58, 57, 51, 50,
48, 47, 46, 43, 39, 117, 3, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117
}
Definition at line 385 of file ETCL_l.cpp.
int yy_start = 0 [static] |
Definition at line 222 of file ETCL_l.cpp.
| FILE * yyin = (FILE *) 0 |
Definition at line 269 of file ETCL_l.cpp.
| int yyleng |
Definition at line 217 of file ETCL_l.cpp.
| FILE * yyout = (FILE *) 0 |
Definition at line 269 of file ETCL_l.cpp.
| char * yytext |
Definition at line 447 of file ETCL_l.cpp.
1.7.0