1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558 |
- /* File created from flex.skl via mkskel.sh */
- #include "flexdef.h"
- const char *skel[] = {
- "/* A lexical scanner generated by flex */",
- "",
- "/* Scanner skeleton version:",
- " * $Header: /opt/vlysenkov/CVSROOT/arcadia/contrib/tools/flex-old/skel.c,v 1.3 2008-08-04 15:30:40 leo Exp $",
- " */",
- "",
- "#define FLEX_SCANNER",
- "#define YY_FLEX_MAJOR_VERSION 2",
- "#define YY_FLEX_MINOR_VERSION 5",
- "",
- "%-",
- "#include <stdio.h>",
- "#include <errno.h>",
- "%*",
- "",
- "/* cfront 1.2 defines \"c_plusplus\" instead of \"__cplusplus\" */",
- "#ifdef c_plusplus",
- "#ifndef __cplusplus",
- "#define __cplusplus",
- "#endif",
- "#endif",
- "",
- "",
- "#ifdef __cplusplus",
- "",
- "#include <stdlib.h>",
- "%+",
- "#include <fstream>",
- "using std::istream;",
- "using std::ostream;",
- "%*",
- "#ifndef _WIN32",
- "#include <unistd.h>",
- "#endif",
- "",
- "#include <util/system/compiler.h>",
- "/* Use prototypes in function declarations. */",
- "#define YY_USE_PROTOS",
- "",
- "/* The \"const\" storage-class-modifier is valid. */",
- "#define YY_USE_CONST",
- "",
- "#else /* ! __cplusplus */",
- "",
- "#if __STDC__",
- "",
- "#define YY_USE_PROTOS",
- "#define YY_USE_CONST",
- "",
- "#endif /* __STDC__ */",
- "#endif /* ! __cplusplus */",
- "",
- "#ifdef __TURBOC__",
- " #pragma warn -rch",
- " #pragma warn -use",
- "#include <io.h>",
- "#include <stdlib.h>",
- "#define YY_USE_CONST",
- "#define YY_USE_PROTOS",
- "#endif",
- "",
- "#ifdef YY_USE_CONST",
- "#define yyconst const",
- "#else",
- "#define yyconst",
- "#endif",
- "",
- "",
- "#ifdef YY_USE_PROTOS",
- "#define YY_PROTO(proto) proto",
- "#else",
- "#define YY_PROTO(proto) ()",
- "#endif",
- "",
- "",
- "/* Returned upon end-of-file. */",
- "#define YY_NULL 0",
- "",
- "/* Promotes a possibly negative, possibly signed char to an unsigned",
- " * integer for use as an array index. If the signed char is negative,",
- " * we want to instead treat it as an 8-bit unsigned char, hence the",
- " * double cast.",
- " */",
- "#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)",
- "",
- "/* Enter a start condition. This macro really ought to take a parameter,",
- " * but we do it the disgusting crufty way forced on us by the ()-less",
- " * definition of BEGIN.",
- " */",
- "#define BEGIN yy_start = 1 + 2 *",
- "",
- "/* Translate the current start state into a value that can be later handed",
- " * to BEGIN to return to the state. The YYSTATE alias is for lex",
- " * compatibility.",
- " */",
- "#define YY_START ((yy_start - 1) / 2)",
- "#define YYSTATE YY_START",
- "",
- "/* Action number for EOF rule of a given start state. */",
- "#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)",
- "",
- "/* Special action meaning \"start processing a new file\". */",
- "#define YY_NEW_FILE yyrestart( yyin )",
- "",
- "#define YY_END_OF_BUFFER_CHAR 0",
- "",
- "/* Size of default input buffer. */",
- "#define YY_BUF_SIZE 16384",
- "",
- "typedef struct yy_buffer_state *YY_BUFFER_STATE;",
- "",
- "extern int yyleng;",
- "%-",
- "extern FILE *yyin, *yyout;",
- "%*",
- "",
- "#define EOB_ACT_CONTINUE_SCAN 0",
- "#define EOB_ACT_END_OF_FILE 1",
- "#define EOB_ACT_LAST_MATCH 2",
- "",
- "/* The funky do-while in the following #define is used to turn the definition",
- " * int a single C statement (which needs a semi-colon terminator). This",
- " * avoids problems with code like:",
- " *",
- " * if ( condition_holds )",
- " * yyless( 5 );",
- " * else",
- " * do_something_else();",
- " *",
- " * Prior to using the do-while the compiler would get upset at the",
- " * \"else\" because it interpreted the \"if\" statement as being all",
- " * done when it reached the ';' after the yyless() call.",
- " */",
- "",
- "/* Return all but the first 'n' matched characters back to the input stream. */",
- "",
- "#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 )",
- "",
- "#define unput(c) yyunput( c, yytext_ptr )",
- "",
- "/* The following is because we cannot portably get our hands on size_t",
- " * (without autoconf's help, which isn't available because we want",
- " * flex-generated scanners to compile on their own).",
- " */",
- "typedef unsigned int yy_size_t;",
- "",
- "",
- "struct yy_buffer_state",
- " {",
- "%-",
- " FILE *yy_input_file;",
- "%+",
- " istream* yy_input_file;",
- "%*",
- "",
- " char *yy_ch_buf; /* input buffer */",
- " char *yy_buf_pos; /* current position in input buffer */",
- "",
- " /* Size of input buffer in bytes, not including room for EOB",
- " * characters.",
- " */",
- " yy_size_t yy_buf_size;",
- "",
- " /* Number of characters read into yy_ch_buf, not including EOB",
- " * characters.",
- " */",
- " int yy_n_chars;",
- "",
- " /* Whether we \"own\" the buffer - i.e., we know we created it,",
- " * and can realloc() it to grow it, and should free() it to",
- " * delete it.",
- " */",
- " int yy_is_our_buffer;",
- "",
- " /* Whether this is an \"interactive\" input source; if so, and",
- " * if we're using stdio for input, then we want to use getc()",
- " * instead of fread(), to make sure we stop fetching input after",
- " * each newline.",
- " */",
- " int yy_is_interactive;",
- "",
- " /* Whether we're considered to be at the beginning of a line.",
- " * If so, '^' rules will be active on the next match, otherwise",
- " * not.",
- " */",
- " int yy_at_bol;",
- "",
- " /* Whether to try to fill the input buffer when we reach the",
- " * end of it.",
- " */",
- " int yy_fill_buffer;",
- "",
- " int yy_buffer_status;",
- "#define YY_BUFFER_NEW 0",
- "#define YY_BUFFER_NORMAL 1",
- " /* When an EOF's been seen but there's still some text to process",
- " * then we mark the buffer as YY_EOF_PENDING, to indicate that we",
- " * shouldn't try reading from the input source any more. We might",
- " * still have a bunch of tokens to match, though, because of",
- " * possible backing-up.",
- " *",
- " * When we actually see the EOF, we change the status to \"new\"",
- " * (via yyrestart()), so that the user can continue scanning by",
- " * just pointing yyin at a new input file.",
- " */",
- "#define YY_BUFFER_EOF_PENDING 2",
- " };",
- "",
- "%- Standard (non-C++) definition",
- "static YY_BUFFER_STATE yy_current_buffer = 0;",
- "%*",
- "",
- "/* We provide macros for accessing buffer states in case in the",
- " * future we want to put the buffer states in a more general",
- " * \"scanner state\".",
- " */",
- "#define YY_CURRENT_BUFFER yy_current_buffer",
- "",
- "",
- "%- Standard (non-C++) definition",
- "/* yy_hold_char holds the character lost when yytext is formed. */",
- "static char yy_hold_char;",
- "",
- "static int yy_n_chars; /* number of characters read into yy_ch_buf */",
- "",
- "",
- "int yyleng;",
- "",
- "/* Points to current character in buffer. */",
- "static char *yy_c_buf_p = (char *) 0;",
- "static int yy_init = 1; /* whether we need to initialize */",
- "static int yy_start = 0; /* start state number */",
- "",
- "/* Flag which is used to allow yywrap()'s to do buffer switches",
- " * instead of setting up a fresh yyin. A bit of a hack ...",
- " */",
- "static int yy_did_buffer_switch_on_eof;",
- "",
- "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 ));",
- "void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));",
- "#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )",
- "",
- "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 ));",
- "Y_DECLARE_UNUSED",
- "static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));",
- "static void yy_flex_free YY_PROTO(( void * ));",
- "",
- "#define yy_new_buffer yy_create_buffer",
- "",
- "#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; \\",
- " }",
- "",
- "#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; \\",
- " }",
- "",
- "#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)",
- "",
- "%% yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here",
- "",
- "%- Standard (non-C++) definition",
- "static yy_state_type yy_get_previous_state YY_PROTO(( void ));",
- "static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));",
- "static int yy_get_next_buffer YY_PROTO(( void ));",
- "static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));",
- "%*",
- "",
- "/* Done after the current pattern has been matched and before the",
- " * corresponding action - sets up yytext.",
- " */",
- "#define YY_DO_BEFORE_ACTION \\",
- " yytext_ptr = yy_bp; \\",
- "%% code to fiddle yytext and yyleng for yymore() goes here",
- " yy_hold_char = *yy_cp; \\",
- " *yy_cp = '\\0'; \\",
- "%% code to copy yytext_ptr to yytext[] goes here, if %array",
- " yy_c_buf_p = yy_cp;",
- "",
- "%% data tables for the DFA and the user's section 1 definitions go here",
- "",
- "/* Macros after this point can all be overridden by user definitions in",
- " * section 1.",
- " */",
- "",
- "#ifndef YY_SKIP_YYWRAP",
- "#ifdef __cplusplus",
- "extern \"C\" int yywrap YY_PROTO(( void ));",
- "#else",
- "extern int yywrap YY_PROTO(( void ));",
- "#endif",
- "#endif",
- "",
- "%-",
- "#ifndef YY_NO_UNPUT",
- "static void yyunput YY_PROTO(( int c, char *buf_ptr ));",
- "#endif",
- "%*",
- "",
- "#ifndef yytext_ptr",
- "static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));",
- "#endif",
- "",
- "#ifdef YY_NEED_STRLEN",
- "static int yy_flex_strlen YY_PROTO(( yyconst char * ));",
- "#endif",
- "",
- "#ifndef YY_NO_INPUT",
- "%- Standard (non-C++) definition",
- "#ifdef __cplusplus",
- "static int yyinput YY_PROTO(( void ));",
- "#else",
- "static int input YY_PROTO(( void ));",
- "#endif",
- "%*",
- "#endif",
- "",
- "#if YY_STACK_USED",
- "static int yy_start_stack_ptr = 0;",
- "static int yy_start_stack_depth = 0;",
- "static int *yy_start_stack = 0;",
- "#ifndef YY_NO_PUSH_STATE",
- "Y_DECLARE_UNUSED",
- "static void yy_push_state YY_PROTO(( int new_state ));",
- "#endif",
- "#ifndef YY_NO_POP_STATE",
- "Y_DECLARE_UNUSED",
- "static void yy_pop_state YY_PROTO(( void ));",
- "#endif",
- "#ifndef YY_NO_TOP_STATE",
- "Y_DECLARE_UNUSED",
- "static int yy_top_state YY_PROTO(( void ));",
- "#endif",
- "",
- "#else",
- "#define YY_NO_PUSH_STATE 1",
- "#define YY_NO_POP_STATE 1",
- "#define YY_NO_TOP_STATE 1",
- "#endif",
- "",
- "#ifdef YY_MALLOC_DECL",
- "YY_MALLOC_DECL",
- "#else",
- "#if __STDC__",
- "#ifndef __cplusplus",
- "#include <stdlib.h>",
- "#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 YY_READ_BUF_SIZE",
- "#define YY_READ_BUF_SIZE 8192",
- "#endif",
- "",
- "/* Copy whatever the last rule matched to the standard output. */",
- "",
- "#ifndef ECHO",
- "%- Standard (non-C++) definition",
- "/* This used to be an fputs(), but since the string might contain NUL's,",
- " * we now use fwrite().",
- " */",
- "#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )",
- "%+ C++ definition",
- "#define ECHO LexerOutput( yytext, yyleng )",
- "%*",
- "#endif",
- "",
- "/* Gets input and stuffs it into \"buf\". number of characters read, or YY_NULL,",
- " * is returned in \"result\".",
- " */",
- "#ifndef YY_INPUT",
- "#define YY_INPUT(buf,result,max_size) \\",
- "%% fread()/read() definition of YY_INPUT goes here unless we're doing C++",
- "%+ C++ definition",
- " if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \\",
- " YY_FATAL_ERROR( \"input in flex scanner failed\" );",
- "%*",
- "#endif",
- "",
- "/* No semi-colon after return; correct usage is to write \"yyterminate();\" -",
- " * we don't want an extra ';' after the \"return\" because that will cause",
- " * some compilers to complain about unreachable statements.",
- " */",
- "#ifndef yyterminate",
- "#define yyterminate() return YY_NULL",
- "#endif",
- "",
- "/* Number of entries by which start-condition stack grows. */",
- "#ifndef YY_START_STACK_INCR",
- "#define YY_START_STACK_INCR 25",
- "#endif",
- "",
- "/* Report a fatal error. */",
- "#ifndef YY_FATAL_ERROR",
- "%-",
- "#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )",
- "%+",
- "#define YY_FATAL_ERROR(msg) LexerError( msg )",
- "%*",
- "#endif",
- "",
- "/* Default declaration of generated scanner - a define so the user can",
- " * easily add parameters.",
- " */",
- "#ifndef YY_DECL",
- "%- Standard (non-C++) definition",
- "#define YY_DECL int yylex YY_PROTO(( void ))",
- "%+ C++ definition",
- "#define YY_DECL int yyFlexLexer::yylex()",
- "%*",
- "#endif",
- "",
- "/* Code executed at the beginning of each rule, after yytext and yyleng",
- " * have been set up.",
- " */",
- "#ifndef YY_USER_ACTION",
- "#define YY_USER_ACTION",
- "#endif",
- "",
- "/* Code executed at the end of each rule. */",
- "#ifndef YY_BREAK",
- "#define YY_BREAK break;",
- "#endif",
- "",
- "%% YY_RULE_SETUP definition goes here",
- "",
- "YY_DECL",
- " {",
- " yy_state_type yy_current_state;",
- " char *yy_cp, *yy_bp;",
- " int yy_act;",
- "",
- "%% user's declarations go here",
- "",
- " if ( yy_init )",
- " {",
- " yy_init = 0;",
- "",
- "#ifdef YY_USER_INIT",
- " YY_USER_INIT;",
- "#endif",
- "",
- " if ( ! yy_start )",
- " yy_start = 1; /* first start state */",
- "",
- " if ( ! yyin )",
- "%-",
- " yyin = stdin;",
- "%+",
- " yyin = &cin;",
- "%*",
- "",
- " if ( ! yyout )",
- "%-",
- " yyout = stdout;",
- "%+",
- " yyout = &cout;",
- "%*",
- "",
- " if ( ! yy_current_buffer )",
- " yy_current_buffer =",
- " yy_create_buffer( yyin, YY_BUF_SIZE );",
- "",
- " yy_load_buffer_state();",
- " }",
- "",
- " while ( 1 ) /* loops until end-of-file is reached */",
- " {",
- "%% yymore()-related code goes here",
- " 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;",
- "",
- "%% code to set up and find next match goes here",
- "",
- "yy_find_action:",
- "%% code to find the action number goes here",
- "",
- " YY_DO_BEFORE_ACTION;",
- "",
- "%% code for yylineno update goes here",
- "",
- "do_action: /* This label is used only to access EOF actions. */",
- "",
- "%% debug code goes here",
- "",
- " switch ( yy_act )",
- " { /* beginning of action switch */",
- "%% actions go here",
- "",
- " 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",
- " {",
- "%% code to do back-up for compressed tables and set up yy_cp goes here",
- " 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 */",
- " } /* end of yylex */",
- "",
- "%+",
- "yyFlexLexer::yyFlexLexer( istream* arg_yyin, ostream* arg_yyout )",
- " {",
- " yyin = arg_yyin;",
- " yyout = arg_yyout;",
- " yy_c_buf_p = 0;",
- " yy_init = 1;",
- " yy_start = 0;",
- " yy_flex_debug = 0;",
- " yylineno = 1; // this will only get updated if %option yylineno",
- "",
- " yy_did_buffer_switch_on_eof = 0;",
- "",
- " yy_looking_for_trail_begin = 0;",
- " yy_more_flag = 0;",
- " yy_more_len = 0;",
- " yy_more_offset = yy_prev_more_offset = 0;",
- "",
- " yy_start_stack_ptr = yy_start_stack_depth = 0;",
- " yy_start_stack = 0;",
- "",
- " yy_current_buffer = 0;",
- "",
- "#ifdef YY_USES_REJECT",
- " yy_state_buf = new yy_state_type[YY_BUF_SIZE + 2];",
- "#else",
- " yy_state_buf = 0;",
- "#endif",
- " }",
- "",
- "yyFlexLexer::~yyFlexLexer()",
- " {",
- " delete[] yy_state_buf;",
- " yy_delete_buffer( yy_current_buffer );",
- " }",
- "",
- "void yyFlexLexer::switch_streams( istream* new_in, ostream* new_out )",
- " {",
- " if ( new_in )",
- " {",
- " yy_delete_buffer( yy_current_buffer );",
- " yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );",
- " }",
- "",
- " if ( new_out )",
- " yyout = new_out;",
- " }",
- "",
- "#ifdef YY_INTERACTIVE",
- "int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )",
- "#else",
- "int yyFlexLexer::LexerInput( char* buf, int max_size )",
- "#endif",
- " {",
- " if ( yyin->eof() || yyin->fail() )",
- " return 0;",
- "",
- "#ifdef YY_INTERACTIVE",
- " yyin->get( buf[0] );",
- "",
- " if ( yyin->eof() )",
- " return 0;",
- "",
- " if ( yyin->bad() )",
- " return -1;",
- "",
- " return 1;",
- "",
- "#else",
- " (void) yyin->read( buf, max_size );",
- "",
- " if ( yyin->bad() )",
- " return -1;",
- " else",
- " return yyin->gcount();",
- "#endif",
- " }",
- "",
- "void yyFlexLexer::LexerOutput( const char* buf, int size )",
- " {",
- " (void) yyout->write( buf, size );",
- " }",
- "%*",
- "",
- "/* yy_get_next_buffer - try to read in a new buffer",
- " *",
- " * Returns a code representing an action:",
- " * EOB_ACT_LAST_MATCH -",
- " * EOB_ACT_CONTINUE_SCAN - continue scanning from current position",
- " * EOB_ACT_END_OF_FILE - end of file",
- " */",
- "",
- "%-",
- "static int yy_get_next_buffer()",
- "%+",
- "int yyFlexLexer::yy_get_next_buffer()",
- "%*",
- " {",
- " char *dest = yy_current_buffer->yy_ch_buf;",
- " char *source = yytext_ptr;",
- " 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;",
- " }",
- "",
- "",
- "/* yy_get_previous_state - get the state just before the EOB char was reached */",
- "",
- "%-",
- "static yy_state_type yy_get_previous_state()",
- "%+",
- "yy_state_type yyFlexLexer::yy_get_previous_state()",
- "%*",
- " {",
- " yy_state_type yy_current_state;",
- " char *yy_cp;",
- "",
- "%% code to get the start state into yy_current_state goes here",
- "",
- " for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )",
- " {",
- "%% code to find the next state goes here",
- " }",
- "",
- " return yy_current_state;",
- " }",
- "",
- "",
- "/* yy_try_NUL_trans - try to make a transition on the NUL character",
- " *",
- " * synopsis",
- " * next_state = yy_try_NUL_trans( current_state );",
- " */",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )",
- "#else",
- "static yy_state_type yy_try_NUL_trans( yy_current_state )",
- "yy_state_type yy_current_state;",
- "#endif",
- "%+",
- "yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )",
- "%*",
- " {",
- " int yy_is_jam;",
- "%% code to find the next state, and perhaps do backing up, goes here",
- "",
- " return yy_is_jam ? 0 : yy_current_state;",
- " }",
- "",
- "",
- "%-",
- "#ifndef YY_NO_UNPUT",
- "#ifdef YY_USE_PROTOS",
- "Y_DECLARE_UNUSED",
- "static void yyunput( int c, char *yy_bp )",
- "#else",
- "static void yyunput( c, yy_bp )",
- "int c;",
- "char *yy_bp;",
- "#endif",
- "%+",
- "void yyFlexLexer::yyunput( int c, char* yy_bp )",
- "%*",
- " {",
- " char *yy_cp = yy_c_buf_p;",
- "",
- " /* undo effects of setting up yytext */",
- " *yy_cp = yy_hold_char;",
- "",
- " if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )",
- " { /* need to shift things up to make room */",
- " /* +2 for EOB chars. */",
- " int number_to_move = yy_n_chars + 2;",
- " char *dest = &yy_current_buffer->yy_ch_buf[",
- " yy_current_buffer->yy_buf_size + 2];",
- " char *source =",
- " &yy_current_buffer->yy_ch_buf[number_to_move];",
- "",
- " while ( source > yy_current_buffer->yy_ch_buf )",
- " *--dest = *--source;",
- "",
- " yy_cp += (int) (dest - source);",
- " yy_bp += (int) (dest - source);",
- " yy_current_buffer->yy_n_chars =",
- " yy_n_chars = yy_current_buffer->yy_buf_size;",
- "",
- " if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )",
- " YY_FATAL_ERROR( \"flex scanner push-back overflow\" );",
- " }",
- "",
- " *--yy_cp = (char) c;",
- "",
- "%% update yylineno here",
- "",
- " yytext_ptr = yy_bp;",
- " yy_hold_char = *yy_cp;",
- " yy_c_buf_p = yy_cp;",
- " }",
- "%-",
- "#endif /* ifndef YY_NO_UNPUT */",
- "%*",
- "",
- "",
- "%-",
- "#ifdef __cplusplus",
- "static int yyinput()",
- "#else",
- "static int input()",
- "#endif",
- "%+",
- "int yyFlexLexer::yyinput()",
- "%*",
- " {",
- " int c;",
- "",
- " *yy_c_buf_p = yy_hold_char;",
- "",
- " if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )",
- " {",
- " /* yy_c_buf_p now points to the character we want to return.",
- " * If this occurs *before* the EOB characters, then it's a",
- " * valid NUL; if not, then we've hit the end of the buffer.",
- " */",
- " if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )",
- " /* This was really a NUL. */",
- " *yy_c_buf_p = '\\0';",
- "",
- " else",
- " { /* need more input */",
- " int offset = yy_c_buf_p - yytext_ptr;",
- " ++yy_c_buf_p;",
- "",
- " switch ( yy_get_next_buffer() )",
- " {",
- " case EOB_ACT_LAST_MATCH:",
- " /* This happens because yy_g_n_b()",
- " * sees that we've accumulated a",
- " * token and flags that we need to",
- " * try matching the token before",
- " * proceeding. But for input(),",
- " * there's no matching to consider.",
- " * So convert the EOB_ACT_LAST_MATCH",
- " * to EOB_ACT_END_OF_FILE.",
- " */",
- "",
- " /* Reset buffer status. */",
- " yyrestart( yyin );",
- "",
- " /* fall through */",
- "",
- " case EOB_ACT_END_OF_FILE:",
- " {",
- " if ( yywrap() )",
- " return EOF;",
- "",
- " if ( ! yy_did_buffer_switch_on_eof )",
- " YY_NEW_FILE;",
- "#ifdef __cplusplus",
- " return yyinput();",
- "#else",
- " return input();",
- "#endif",
- " }",
- "",
- " case EOB_ACT_CONTINUE_SCAN:",
- " yy_c_buf_p = yytext_ptr + offset;",
- " break;",
- " }",
- " }",
- " }",
- "",
- " c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */",
- " *yy_c_buf_p = '\\0'; /* preserve yytext */",
- " yy_hold_char = *++yy_c_buf_p;",
- "",
- "%% update BOL and yylineno",
- "",
- " return c;",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "void yyrestart( FILE *input_file )",
- "#else",
- "void yyrestart( input_file )",
- "FILE *input_file;",
- "#endif",
- "%+",
- "void yyFlexLexer::yyrestart( istream* input_file )",
- "%*",
- " {",
- " if ( ! yy_current_buffer )",
- " yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );",
- "",
- " yy_init_buffer( yy_current_buffer, input_file );",
- " yy_load_buffer_state();",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )",
- "#else",
- "void yy_switch_to_buffer( new_buffer )",
- "YY_BUFFER_STATE new_buffer;",
- "#endif",
- "%+",
- "void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )",
- "%*",
- " {",
- " if ( yy_current_buffer == new_buffer )",
- " return;",
- "",
- " if ( yy_current_buffer )",
- " {",
- " /* Flush out information for old buffer. */",
- " *yy_c_buf_p = yy_hold_char;",
- " yy_current_buffer->yy_buf_pos = yy_c_buf_p;",
- " yy_current_buffer->yy_n_chars = yy_n_chars;",
- " }",
- "",
- " yy_current_buffer = new_buffer;",
- " yy_load_buffer_state();",
- "",
- " /* We don't actually know whether we did this switch during",
- " * EOF (yywrap()) processing, but the only time this flag",
- " * is looked at is after yywrap() is called, so it's safe",
- " * to go ahead and always set it.",
- " */",
- " yy_did_buffer_switch_on_eof = 1;",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "void yy_load_buffer_state( void )",
- "#else",
- "void yy_load_buffer_state()",
- "#endif",
- "%+",
- "void yyFlexLexer::yy_load_buffer_state()",
- "%*",
- " {",
- " yy_n_chars = yy_current_buffer->yy_n_chars;",
- " yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;",
- " yyin = yy_current_buffer->yy_input_file;",
- " yy_hold_char = *yy_c_buf_p;",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )",
- "#else",
- "YY_BUFFER_STATE yy_create_buffer( file, size )",
- "FILE *file;",
- "int size;",
- "#endif",
- "%+",
- "YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( istream* file, int size )",
- "%*",
- " {",
- " YY_BUFFER_STATE b;",
- "",
- " b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );",
- " if ( ! b )",
- " YY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );",
- "",
- " b->yy_buf_size = size;",
- "",
- " /* yy_ch_buf has to be 2 characters longer than the size given because",
- " * we need to put in 2 end-of-buffer characters.",
- " */",
- " b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );",
- " if ( ! b->yy_ch_buf )",
- " YY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );",
- "",
- " b->yy_is_our_buffer = 1;",
- "",
- " yy_init_buffer( b, file );",
- "",
- " return b;",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "void yy_delete_buffer( YY_BUFFER_STATE b )",
- "#else",
- "void yy_delete_buffer( b )",
- "YY_BUFFER_STATE b;",
- "#endif",
- "%+",
- "void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )",
- "%*",
- " {",
- " if ( ! b )",
- " return;",
- "",
- " if ( b == yy_current_buffer )",
- " yy_current_buffer = (YY_BUFFER_STATE) 0;",
- "",
- " if ( b->yy_is_our_buffer )",
- " yy_flex_free( (void *) b->yy_ch_buf );",
- "",
- " yy_flex_free( (void *) b );",
- " }",
- "",
- "",
- "%-",
- "#ifndef _WIN32",
- "#include <unistd.h>",
- "#else",
- "#include <io.h>",
- "#endif",
- "",
- "#ifdef YY_USE_PROTOS",
- "void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )",
- "#else",
- "void yy_init_buffer( b, file )",
- "YY_BUFFER_STATE b;",
- "FILE *file;",
- "#endif",
- "",
- "%+",
- "void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, istream* file )",
- "%*",
- "",
- " {",
- " yy_flush_buffer( b );",
- "",
- " b->yy_input_file = file;",
- " b->yy_fill_buffer = 1;",
- "",
- "%-",
- "#if YY_ALWAYS_INTERACTIVE",
- " b->yy_is_interactive = 1;",
- "#else",
- "#if YY_NEVER_INTERACTIVE",
- " b->yy_is_interactive = 0;",
- "#else",
- " b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;",
- "#endif",
- "#endif",
- "%+",
- " b->yy_is_interactive = 0;",
- "%*",
- " }",
- "",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "void yy_flush_buffer( YY_BUFFER_STATE b )",
- "#else",
- "void yy_flush_buffer( b )",
- "YY_BUFFER_STATE b;",
- "#endif",
- "",
- "%+",
- "void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )",
- "%*",
- " {",
- " if ( ! b )",
- " return;",
- "",
- " b->yy_n_chars = 0;",
- "",
- " /* We always need two end-of-buffer characters. The first causes",
- " * a transition to the end-of-buffer state. The second causes",
- " * a jam in that state.",
- " */",
- " b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;",
- " b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;",
- "",
- " b->yy_buf_pos = &b->yy_ch_buf[0];",
- "",
- " b->yy_at_bol = 1;",
- " b->yy_buffer_status = YY_BUFFER_NEW;",
- "",
- " if ( b == yy_current_buffer )",
- " yy_load_buffer_state();",
- " }",
- "%*",
- "",
- "",
- "#ifndef YY_NO_SCAN_BUFFER",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )",
- "#else",
- "YY_BUFFER_STATE yy_scan_buffer( base, size )",
- "char *base;",
- "yy_size_t size;",
- "#endif",
- " {",
- " YY_BUFFER_STATE b;",
- "",
- " if ( size < 2 ||",
- " base[size-2] != YY_END_OF_BUFFER_CHAR ||",
- " base[size-1] != YY_END_OF_BUFFER_CHAR )",
- " /* They forgot to leave room for the EOB's. */",
- " return 0;",
- "",
- " b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );",
- " if ( ! b )",
- " YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_buffer()\" );",
- "",
- " b->yy_buf_size = size - 2; /* \"- 2\" to take care of EOB's */",
- " b->yy_buf_pos = b->yy_ch_buf = base;",
- " b->yy_is_our_buffer = 0;",
- " b->yy_input_file = 0;",
- " b->yy_n_chars = b->yy_buf_size;",
- " b->yy_is_interactive = 0;",
- " b->yy_at_bol = 1;",
- " b->yy_fill_buffer = 0;",
- " b->yy_buffer_status = YY_BUFFER_NEW;",
- "",
- " yy_switch_to_buffer( b );",
- "",
- " return b;",
- " }",
- "%*",
- "#endif",
- "",
- "",
- "#ifndef YY_NO_SCAN_STRING",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )",
- "#else",
- "YY_BUFFER_STATE yy_scan_string( yy_str )",
- "yyconst char *yy_str;",
- "#endif",
- " {",
- " int len;",
- " for ( len = 0; yy_str[len]; ++len )",
- " ;",
- "",
- " return yy_scan_bytes( yy_str, len );",
- " }",
- "%*",
- "#endif",
- "",
- "",
- "#ifndef YY_NO_SCAN_BYTES",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )",
- "#else",
- "YY_BUFFER_STATE yy_scan_bytes( bytes, len )",
- "yyconst char *bytes;",
- "int len;",
- "#endif",
- " {",
- " YY_BUFFER_STATE b;",
- " char *buf;",
- " yy_size_t n;",
- " int i;",
- "",
- " /* Get memory for full buffer, including space for trailing EOB's. */",
- " n = len + 2;",
- " buf = (char *) yy_flex_alloc( n );",
- " if ( ! buf )",
- " YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_bytes()\" );",
- "",
- " for ( i = 0; i < len; ++i )",
- " buf[i] = bytes[i];",
- "",
- " buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;",
- "",
- " b = yy_scan_buffer( buf, n );",
- " if ( ! b )",
- " YY_FATAL_ERROR( \"bad buffer in yy_scan_bytes()\" );",
- "",
- " /* It's okay to grow etc. this buffer, and we should throw it",
- " * away when we're done.",
- " */",
- " b->yy_is_our_buffer = 1;",
- "",
- " return b;",
- " }",
- "%*",
- "#endif",
- "",
- "",
- "#ifndef YY_NO_PUSH_STATE",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "static void yy_push_state( int new_state )",
- "#else",
- "static void yy_push_state( new_state )",
- "int new_state;",
- "#endif",
- "%+",
- "void yyFlexLexer::yy_push_state( int new_state )",
- "%*",
- " {",
- " if ( yy_start_stack_ptr >= yy_start_stack_depth )",
- " {",
- " yy_size_t new_size;",
- "",
- " yy_start_stack_depth += YY_START_STACK_INCR;",
- " new_size = yy_start_stack_depth * sizeof( int );",
- "",
- " if ( ! yy_start_stack )",
- " yy_start_stack = (int *) yy_flex_alloc( new_size );",
- "",
- " else",
- " yy_start_stack = (int *) yy_flex_realloc(",
- " (void *) yy_start_stack, new_size );",
- "",
- " if ( ! yy_start_stack )",
- " YY_FATAL_ERROR(",
- " \"out of memory expanding start-condition stack\" );",
- " }",
- "",
- " yy_start_stack[yy_start_stack_ptr++] = YY_START;",
- "",
- " BEGIN(new_state);",
- " }",
- "#endif",
- "",
- "",
- "#ifndef YY_NO_POP_STATE",
- "%-",
- "static void yy_pop_state()",
- "%+",
- "void yyFlexLexer::yy_pop_state()",
- "%*",
- " {",
- " if ( --yy_start_stack_ptr < 0 )",
- " YY_FATAL_ERROR( \"start-condition stack underflow\" );",
- "",
- " BEGIN(yy_start_stack[yy_start_stack_ptr]);",
- " }",
- "#endif",
- "",
- "",
- "#ifndef YY_NO_TOP_STATE",
- "%-",
- "static int yy_top_state()",
- "%+",
- "int yyFlexLexer::yy_top_state()",
- "%*",
- " {",
- " return yy_start_stack[yy_start_stack_ptr - 1];",
- " }",
- "#endif",
- "",
- "#ifndef YY_EXIT_FAILURE",
- "#define YY_EXIT_FAILURE 2",
- "#endif",
- "",
- "%-",
- "#ifdef YY_USE_PROTOS",
- "static void yy_fatal_error( yyconst char msg[] )",
- "#else",
- "static void yy_fatal_error( msg )",
- "char msg[];",
- "#endif",
- " {",
- " (void) fprintf( stderr, \"%s\\n\", msg );",
- " exit( YY_EXIT_FAILURE );",
- " }",
- "",
- "%+",
- "",
- "void yyFlexLexer::LexerError( yyconst char msg[] )",
- " {",
- " cerr << msg << '\\n';",
- " exit( YY_EXIT_FAILURE );",
- " }",
- "%*",
- "",
- "",
- "/* Redefine yyless() so it works in section 3 code. */",
- "",
- "#undef yyless",
- "#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 )",
- "",
- "",
- "/* Internal utility routines. */",
- "",
- "#ifndef yytext_ptr",
- "#ifdef YY_USE_PROTOS",
- "static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )",
- "#else",
- "static void yy_flex_strncpy( s1, s2, n )",
- "char *s1;",
- "yyconst char *s2;",
- "int n;",
- "#endif",
- " {",
- " int i;",
- " for ( i = 0; i < n; ++i )",
- " s1[i] = s2[i];",
- " }",
- "#endif",
- "",
- "#ifdef YY_NEED_STRLEN",
- "#ifdef YY_USE_PROTOS",
- "static int yy_flex_strlen( yyconst char *s )",
- "#else",
- "static int yy_flex_strlen( s )",
- "yyconst char *s;",
- "#endif",
- " {",
- " int n;",
- " for ( n = 0; s[n]; ++n )",
- " ;",
- "",
- " return n;",
- " }",
- "#endif",
- "",
- "",
- "#ifdef YY_USE_PROTOS",
- "static void *yy_flex_alloc( yy_size_t size )",
- "#else",
- "static void *yy_flex_alloc( size )",
- "yy_size_t size;",
- "#endif",
- " {",
- " return (void *) malloc( size );",
- " }",
- "",
- "#ifdef YY_USE_PROTOS",
- "static void *yy_flex_realloc( void *ptr, yy_size_t size )",
- "#else",
- "static void *yy_flex_realloc( ptr, size )",
- "void *ptr;",
- "yy_size_t size;",
- "#endif",
- " {",
- " /* The cast to (char *) in the following accommodates both",
- " * implementations that use char* generic pointers, and those",
- " * that use void* generic pointers. It works with the latter",
- " * because both ANSI C and C++ allow castless assignment from",
- " * any pointer type to void*, and deal with argument conversions",
- " * as though doing an assignment.",
- " */",
- " return (void *) realloc( (char *) ptr, size );",
- " }",
- "",
- "#ifdef YY_USE_PROTOS",
- "static void yy_flex_free( void *ptr )",
- "#else",
- "static void yy_flex_free( ptr )",
- "void *ptr;",
- "#endif",
- " {",
- " free( ptr );",
- " }",
- "",
- "#if YY_MAIN",
- "int main()",
- " {",
- " yylex();",
- " return 0;",
- " }",
- "#endif",
- 0
- };
|