summaryrefslogtreecommitdiffstats
path: root/usr.bin/lex/skel.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/lex/skel.c')
-rw-r--r--usr.bin/lex/skel.c524
1 files changed, 415 insertions, 109 deletions
diff --git a/usr.bin/lex/skel.c b/usr.bin/lex/skel.c
index 4ab49d1..adf710f 100644
--- a/usr.bin/lex/skel.c
+++ b/usr.bin/lex/skel.c
@@ -1,15 +1,17 @@
-/* File created from flex.skel via mkskel.sh */
+/* File created from flex.skl via mkskel.sh */
#include "flexdef.h"
-char *skel[] = {
+const char *skel[] = {
"/* A lexical scanner generated by flex */",
"",
"/* Scanner skeleton version:",
- " * $Header: /home/daffy/u0/vern/flex/flex-2.4.7/RCS/flex.skl,v 1.2 94/08/03 11:13:24 vern Exp $",
+ " * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.89 96/05/25 21:02:21 vern Exp $",
" */",
"",
"#define FLEX_SCANNER",
+ "#define YY_FLEX_MAJOR_VERSION 2",
+ "#define YY_FLEX_MINOR_VERSION 5",
"",
"%-",
"#include <stdio.h>",
@@ -40,7 +42,7 @@ char *skel[] = {
"",
"#else /* ! __cplusplus */",
"",
- "#ifdef __STDC__",
+ "#if __STDC__",
"",
"#define YY_USE_PROTOS",
"#define YY_USE_CONST",
@@ -48,16 +50,19 @@ char *skel[] = {
"#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",
"",
- "",
- "#ifndef YY_USE_CONST",
- "#ifndef const",
- "#define const",
- "#endif",
+ "#ifdef YY_USE_CONST",
+ "#define yyconst const",
+ "#else",
+ "#define yyconst",
"#endif",
"",
"",
@@ -84,16 +89,16 @@ char *skel[] = {
"#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.",
+ " * 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\". Now included",
- " * only for backward compatibility with previous versions of flex.",
- " */",
+ "/* Special action meaning \"start processing a new file\". */",
"#define YY_NEW_FILE yyrestart( yyin )",
"",
"#define YY_END_OF_BUFFER_CHAR 0",
@@ -108,14 +113,6 @@ char *skel[] = {
"extern FILE *yyin, *yyout;",
"%*",
"",
- "#ifdef __cplusplus",
- "extern \"C\" {",
- "#endif",
- " extern int yywrap YY_PROTO(( void ));",
- "#ifdef __cplusplus",
- " }",
- "#endif",
- "",
"#define EOB_ACT_CONTINUE_SCAN 0",
"#define EOB_ACT_END_OF_FILE 1",
"#define EOB_ACT_LAST_MATCH 2",
@@ -141,6 +138,7 @@ char *skel[] = {
" { \\",
" /* 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 */ \\",
" } \\",
@@ -148,6 +146,12 @@ char *skel[] = {
"",
"#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",
" {",
@@ -163,13 +167,19 @@ char *skel[] = {
" /* Size of input buffer in bytes, not including room for EOB",
" * characters.",
" */",
- " int yy_buf_size;",
+ " 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",
@@ -177,6 +187,12 @@ char *skel[] = {
" */",
" 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.",
" */",
@@ -228,47 +244,50 @@ char *skel[] = {
" */",
"static int yy_did_buffer_switch_on_eof;",
"",
- "static void yyunput YY_PROTO(( int c, char *buf_ptr ));",
"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 )",
"",
- "static int yy_start_stack_ptr = 0;",
- "static int yy_start_stack_depth = 0;",
- "static int *yy_start_stack = 0;",
- "static void yy_push_state YY_PROTO(( int new_state ));",
- "static void yy_pop_state YY_PROTO(( void ));",
- "static int yy_top_state YY_PROTO(( void ));",
+ "YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));",
+ "YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str ));",
+ "YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));",
"%*",
"",
- "static void *yy_flex_alloc YY_PROTO(( unsigned int ));",
- "static void *yy_flex_realloc YY_PROTO(( void *, unsigned int ));",
+ "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 * ));",
"",
"#define yy_new_buffer yy_create_buffer",
"",
- "%% yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here",
+ "#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; \\",
+ " }",
"",
- "#ifndef yytext_ptr",
- "static void yy_flex_strncpy YY_PROTO(( char *, const char *, int ));",
- "#endif",
+ "#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; \\",
+ " }",
"",
- "%- Standard (non-C++) definition",
- "#ifdef __cplusplus",
- "static int yyinput YY_PROTO(( void ));",
- "#else",
- "static int input YY_PROTO(( void ));",
- "#endif",
- "%*",
+ "#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(( const char msg[] ));",
+ "static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));",
"%*",
"",
"/* Done after the current pattern has been matched and before the",
@@ -288,6 +307,58 @@ char *skel[] = {
" * 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",
+ "static void yy_push_state YY_PROTO(( int new_state ));",
+ "#endif",
+ "#ifndef YY_NO_POP_STATE",
+ "static void yy_pop_state YY_PROTO(( void ));",
+ "#endif",
+ "#ifndef YY_NO_TOP_STATE",
+ "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",
@@ -378,6 +449,8 @@ char *skel[] = {
"#define YY_BREAK break;",
"#endif",
"",
+ "%% YY_RULE_SETUP definition goes here",
+ "",
"YY_DECL",
" {",
" register yy_state_type yy_current_state;",
@@ -388,6 +461,8 @@ char *skel[] = {
"",
" if ( yy_init )",
" {",
+ " yy_init = 0;",
+ "",
"#ifdef YY_USER_INIT",
" YY_USER_INIT;",
"#endif",
@@ -409,15 +484,11 @@ char *skel[] = {
" yyout = &cout;",
"%*",
"",
- " if ( yy_current_buffer )",
- " yy_init_buffer( yy_current_buffer, yyin );",
- " else",
+ " if ( ! yy_current_buffer )",
" yy_current_buffer =",
" yy_create_buffer( yyin, YY_BUF_SIZE );",
"",
" yy_load_buffer_state();",
- "",
- " yy_init = 0;",
" }",
"",
" while ( 1 ) /* loops until end-of-file is reached */",
@@ -440,7 +511,7 @@ char *skel[] = {
"",
" YY_DO_BEFORE_ACTION;",
"",
- "%% code for yylineno update goes here, if -l option",
+ "%% code for yylineno update goes here",
"",
"do_action: /* This label is used only to access EOF actions. */",
"",
@@ -453,10 +524,11 @@ char *skel[] = {
" case YY_END_OF_BUFFER:",
" {",
" /* Amount of text matched not including the EOB char. */",
- " int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1;",
+ " 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 )",
" {",
@@ -579,6 +651,53 @@ char *skel[] = {
" } /* 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",
@@ -630,7 +749,7 @@ char *skel[] = {
"%*",
" {",
" register char *dest = yy_current_buffer->yy_ch_buf;",
- " register char *source = yytext_ptr - 1; /* copy prev. char, too */",
+ " register char *source = yytext_ptr;",
" register int number_to_move, i;",
" int ret_val;",
"",
@@ -642,7 +761,7 @@ char *skel[] = {
" { /* 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 singled characater, the EOB, so",
+ " /* We matched a single character, the EOB, so",
" * treat this as a final EOF.",
" */",
" return EOB_ACT_END_OF_FILE;",
@@ -660,7 +779,7 @@ char *skel[] = {
" /* Try to read more data. */",
"",
" /* First move last chars to start of buffer. */",
- " number_to_move = yy_c_buf_p - yytext_ptr;",
+ " number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;",
"",
" for ( i = 0; i < number_to_move; ++i )",
" *(dest++) = *(source++);",
@@ -686,12 +805,26 @@ char *skel[] = {
" /* just a shorter name for the current buffer */",
" YY_BUFFER_STATE b = yy_current_buffer;",
"",
- " int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf;",
+ " 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_buf_size *= 2;",
- " b->yy_ch_buf = (char *)",
- " yy_flex_realloc( (void *) b->yy_ch_buf,",
- " b->yy_buf_size );",
+ " 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(",
@@ -714,7 +847,7 @@ char *skel[] = {
"",
" if ( yy_n_chars == 0 )",
" {",
- " if ( number_to_move - YY_MORE_ADJ == 1 )",
+ " if ( number_to_move == YY_MORE_ADJ )",
" {",
" ret_val = EOB_ACT_END_OF_FILE;",
" yyrestart( yyin );",
@@ -735,13 +868,7 @@ char *skel[] = {
" 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 begins at the second character in yy_ch_buf; the first",
- " * character is the one which preceded it before reading in the latest",
- " * buffer; it needs to be kept around in case it's a newline, so",
- " * yy_get_previous_state() will have with '^' rules active.",
- " */",
- "",
- " yytext_ptr = &yy_current_buffer->yy_ch_buf[1];",
+ " yytext_ptr = &yy_current_buffer->yy_ch_buf[0];",
"",
" return ret_val;",
" }",
@@ -794,6 +921,7 @@ char *skel[] = {
"",
"",
"%-",
+ "#ifndef YY_NO_UNPUT",
"#ifdef YY_USE_PROTOS",
"static void yyunput( int c, register char *yy_bp )",
"#else",
@@ -822,26 +950,25 @@ char *skel[] = {
" while ( source > yy_current_buffer->yy_ch_buf )",
" *--dest = *--source;",
"",
- " yy_cp += dest - source;",
- " yy_bp += dest - source;",
+ " yy_cp += (int) (dest - source);",
+ " yy_bp += (int) (dest - source);",
" 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\" );",
" }",
"",
- " if ( yy_cp > yy_bp && yy_cp[-1] == '\\n' )",
- " yy_cp[-2] = '\\n';",
- "",
" *--yy_cp = (char) c;",
"",
- "%% update yylineno here, if doing -l",
+ "%% update yylineno here",
"",
- " /* Note: the formal parameter *must* be called \"yy_bp\" for this",
- " * macro to now work correctly.",
- " */",
- " YY_DO_BEFORE_ACTION; /* set up yytext again */",
+ " yytext_ptr = yy_bp;",
+ " yy_hold_char = *yy_cp;",
+ " yy_c_buf_p = yy_cp;",
" }",
+ "%-",
+ "#endif /* ifndef YY_NO_UNPUT */",
+ "%*",
"",
"",
"%-",
@@ -870,7 +997,7 @@ char *skel[] = {
"",
" else",
" { /* need more input */",
- " yytext_ptr = yy_c_buf_p;",
+ " int offset = yy_c_buf_p - yytext_ptr;",
" ++yy_c_buf_p;",
"",
" switch ( yy_get_next_buffer() )",
@@ -879,12 +1006,12 @@ char *skel[] = {
" {",
" if ( yywrap() )",
" {",
- " yy_c_buf_p =",
- " yytext_ptr + YY_MORE_ADJ;",
+ " yy_c_buf_p = yytext_ptr + offset;",
" return EOF;",
" }",
"",
- " YY_NEW_FILE;",
+ " if ( ! yy_did_buffer_switch_on_eof )",
+ " YY_NEW_FILE;",
"#ifdef __cplusplus",
" return yyinput();",
"#else",
@@ -893,7 +1020,7 @@ char *skel[] = {
" }",
"",
" case EOB_ACT_CONTINUE_SCAN:",
- " yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;",
+ " yy_c_buf_p = yytext_ptr + offset;",
" break;",
"",
" case EOB_ACT_LAST_MATCH:",
@@ -912,6 +1039,8 @@ char *skel[] = {
" *yy_c_buf_p = '\\0'; /* preserve yytext */",
" yy_hold_char = *++yy_c_buf_p;",
"",
+ "%% update BOL and yylineno",
+ "",
" return c;",
" }",
"",
@@ -1001,7 +1130,6 @@ char *skel[] = {
" 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()\" );",
"",
@@ -1011,10 +1139,11 @@ char *skel[] = {
" * 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;",
@@ -1032,15 +1161,26 @@ char *skel[] = {
"void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )",
"%*",
" {",
+ " if ( ! b )",
+ " return;",
+ "",
" if ( b == yy_current_buffer )",
" yy_current_buffer = (YY_BUFFER_STATE) 0;",
"",
- " yy_flex_free( (void *) b->yy_ch_buf );",
+ " if ( b->yy_is_our_buffer )",
+ " yy_flex_free( (void *) b->yy_ch_buf );",
+ "",
" yy_flex_free( (void *) b );",
" }",
"",
"",
"%-",
+ "#ifndef YY_ALWAYS_INTERACTIVE",
+ "#ifndef YY_NEVER_INTERACTIVE",
+ "extern int isatty YY_PROTO(( int ));",
+ "#endif",
+ "#endif",
+ "",
"#ifdef YY_USE_PROTOS",
"void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )",
"#else",
@@ -1048,40 +1188,167 @@ char *skel[] = {
"YY_BUFFER_STATE b;",
"FILE *file;",
"#endif",
+ "",
"%+",
+ "extern \"C\" int isatty YY_PROTO(( int ));",
"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;",
"",
- " /* We put in the '\\n' and start reading from [1] so that an",
- " * initial match-at-newline will be true.",
- " */",
+ "%-",
+ "#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;",
+ "%*",
+ " }",
"",
- " b->yy_ch_buf[0] = '\\n';",
- " b->yy_n_chars = 1;",
+ "",
+ "%-",
+ "#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 )",
+ "%*",
+ " {",
+ " 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_ch_buf[2] = YY_END_OF_BUFFER_CHAR;",
"",
- " b->yy_buf_pos = &b->yy_ch_buf[1];",
+ " 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",
"%-",
- " b->yy_is_interactive = file ? isatty( fileno(file) ) : 0;",
- "%+",
+ "#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",
"",
- " b->yy_fill_buffer = 1;",
"",
- " b->yy_buffer_status = YY_BUFFER_NEW;",
+ "#ifndef YY_NO_SCAN_STRING",
+ "%-",
+ "#ifdef YY_USE_PROTOS",
+ "YY_BUFFER_STATE yy_scan_string( yyconst char *str )",
+ "#else",
+ "YY_BUFFER_STATE yy_scan_string( str )",
+ "yyconst char *str;",
+ "#endif",
+ " {",
+ " int len;",
+ " for ( len = 0; str[len]; ++len )",
+ " ;",
+ "",
+ " return yy_scan_bytes( 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 )",
@@ -1095,7 +1362,7 @@ char *skel[] = {
" {",
" if ( yy_start_stack_ptr >= yy_start_stack_depth )",
" {",
- " int new_size;",
+ " yy_size_t new_size;",
"",
" yy_start_stack_depth += YY_START_STACK_INCR;",
" new_size = yy_start_stack_depth * sizeof( int );",
@@ -1116,8 +1383,10 @@ char *skel[] = {
"",
" BEGIN(new_state);",
" }",
+ "#endif",
"",
"",
+ "#ifndef YY_NO_POP_STATE",
"%-",
"static void yy_pop_state()",
"%+",
@@ -1129,8 +1398,10 @@ char *skel[] = {
"",
" BEGIN(yy_start_stack[yy_start_stack_ptr]);",
" }",
+ "#endif",
"",
"",
+ "#ifndef YY_NO_TOP_STATE",
"%-",
"static int yy_top_state()",
"%+",
@@ -1139,26 +1410,30 @@ char *skel[] = {
" {",
" 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( const char msg[] )",
+ "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( 1 );",
+ " exit( YY_EXIT_FAILURE );",
" }",
"",
"%+",
"",
- "void yyFlexLexer::LexerError( const char msg[] )",
+ "void yyFlexLexer::LexerError( yyconst char msg[] )",
" {",
" cerr << msg << '\\n';",
- " exit( 1 );",
+ " exit( YY_EXIT_FAILURE );",
" }",
"%*",
"",
@@ -1171,7 +1446,7 @@ char *skel[] = {
" { \\",
" /* Undo effects of setting up yytext. */ \\",
" yytext[yyleng] = yy_hold_char; \\",
- " yy_c_buf_p = yytext + n - YY_MORE_ADJ; \\",
+ " yy_c_buf_p = yytext + n; \\",
" yy_hold_char = *yy_c_buf_p; \\",
" *yy_c_buf_p = '\\0'; \\",
" yyleng = n; \\",
@@ -1183,11 +1458,11 @@ char *skel[] = {
"",
"#ifndef yytext_ptr",
"#ifdef YY_USE_PROTOS",
- "static void yy_flex_strncpy( char *s1, const char *s2, int n )",
+ "static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )",
"#else",
"static void yy_flex_strncpy( s1, s2, n )",
"char *s1;",
- "const char *s2;",
+ "yyconst char *s2;",
"int n;",
"#endif",
" {",
@@ -1197,26 +1472,49 @@ char *skel[] = {
" }",
"#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",
+ " {",
+ " register int n;",
+ " for ( n = 0; s[n]; ++n )",
+ " ;",
+ "",
+ " return n;",
+ " }",
+ "#endif",
+ "",
"",
"#ifdef YY_USE_PROTOS",
- "static void *yy_flex_alloc( unsigned int size )",
+ "static void *yy_flex_alloc( yy_size_t size )",
"#else",
"static void *yy_flex_alloc( size )",
- "unsigned int size;",
+ "yy_size_t size;",
"#endif",
" {",
" return (void *) malloc( size );",
" }",
"",
"#ifdef YY_USE_PROTOS",
- "static void *yy_flex_realloc( void *ptr, unsigned int size )",
+ "static void *yy_flex_realloc( void *ptr, yy_size_t size )",
"#else",
"static void *yy_flex_realloc( ptr, size )",
"void *ptr;",
- "unsigned int size;",
+ "yy_size_t size;",
"#endif",
" {",
- " return (void *) realloc( ptr, size );",
+ " /* 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",
@@ -1228,5 +1526,13 @@ char *skel[] = {
" {",
" free( ptr );",
" }",
+ "",
+ "#if YY_MAIN",
+ "int main()",
+ " {",
+ " yylex();",
+ " return 0;",
+ " }",
+ "#endif",
0
};
OpenPOWER on IntegriCloud