cmExprLexer: regenerate with flex 2.6.4 (previously 2.6.1)

flex 2.6.3 introduces symbol remapping through macro definitions. hence the
change appears bigger than one would expect from a minor version upgrade.

In addition some manual cleanup that had to be done previously is now
obsolete. namely:
  - the size_t cast of _yybytes_len in yy_scan_bytes
    (i is now also defined int and not size_t anymore)
  - the redefinition of yyl within yy_find_action
    (yyl is now already defined as int)

Line number preprocessor directives (#line) were previously generated into
the c source file. This actually breaks debugging as debuggers have a hard
time finding the original cmExprLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmExpr_yy" can already be set as %option directly.

For convenience also provide a sed command for all the manual steps that
need to be done after generating.

Signed-off-by: Matthias Maennich <matthias@maennich.net>
This commit is contained in:
Matthias Maennich
2017-08-29 00:31:15 +02:00
parent 59f78dcb23
commit 80c08c7c0a
3 changed files with 824 additions and 298 deletions
+421 -249
View File
@@ -1,7 +1,4 @@
#include "cmStandardLexer.h"
#line 2 "cmExprLexer.cxx"
#line 4 "cmExprLexer.cxx"
#define FLEXINT_H 1
#define YY_INT_ALIGNED short int
@@ -11,11 +8,221 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
#define YY_FLEX_SUBMINOR_VERSION 1
#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
#ifdef yy_create_buffer
#define cmExpr_yy_create_buffer_ALREADY_DEFINED
#else
#define yy_create_buffer cmExpr_yy_create_buffer
#endif
#ifdef yy_delete_buffer
#define cmExpr_yy_delete_buffer_ALREADY_DEFINED
#else
#define yy_delete_buffer cmExpr_yy_delete_buffer
#endif
#ifdef yy_scan_buffer
#define cmExpr_yy_scan_buffer_ALREADY_DEFINED
#else
#define yy_scan_buffer cmExpr_yy_scan_buffer
#endif
#ifdef yy_scan_string
#define cmExpr_yy_scan_string_ALREADY_DEFINED
#else
#define yy_scan_string cmExpr_yy_scan_string
#endif
#ifdef yy_scan_bytes
#define cmExpr_yy_scan_bytes_ALREADY_DEFINED
#else
#define yy_scan_bytes cmExpr_yy_scan_bytes
#endif
#ifdef yy_init_buffer
#define cmExpr_yy_init_buffer_ALREADY_DEFINED
#else
#define yy_init_buffer cmExpr_yy_init_buffer
#endif
#ifdef yy_flush_buffer
#define cmExpr_yy_flush_buffer_ALREADY_DEFINED
#else
#define yy_flush_buffer cmExpr_yy_flush_buffer
#endif
#ifdef yy_load_buffer_state
#define cmExpr_yy_load_buffer_state_ALREADY_DEFINED
#else
#define yy_load_buffer_state cmExpr_yy_load_buffer_state
#endif
#ifdef yy_switch_to_buffer
#define cmExpr_yy_switch_to_buffer_ALREADY_DEFINED
#else
#define yy_switch_to_buffer cmExpr_yy_switch_to_buffer
#endif
#ifdef yypush_buffer_state
#define cmExpr_yypush_buffer_state_ALREADY_DEFINED
#else
#define yypush_buffer_state cmExpr_yypush_buffer_state
#endif
#ifdef yypop_buffer_state
#define cmExpr_yypop_buffer_state_ALREADY_DEFINED
#else
#define yypop_buffer_state cmExpr_yypop_buffer_state
#endif
#ifdef yyensure_buffer_stack
#define cmExpr_yyensure_buffer_stack_ALREADY_DEFINED
#else
#define yyensure_buffer_stack cmExpr_yyensure_buffer_stack
#endif
#ifdef yylex
#define cmExpr_yylex_ALREADY_DEFINED
#else
#define yylex cmExpr_yylex
#endif
#ifdef yyrestart
#define cmExpr_yyrestart_ALREADY_DEFINED
#else
#define yyrestart cmExpr_yyrestart
#endif
#ifdef yylex_init
#define cmExpr_yylex_init_ALREADY_DEFINED
#else
#define yylex_init cmExpr_yylex_init
#endif
#ifdef yylex_init_extra
#define cmExpr_yylex_init_extra_ALREADY_DEFINED
#else
#define yylex_init_extra cmExpr_yylex_init_extra
#endif
#ifdef yylex_destroy
#define cmExpr_yylex_destroy_ALREADY_DEFINED
#else
#define yylex_destroy cmExpr_yylex_destroy
#endif
#ifdef yyget_debug
#define cmExpr_yyget_debug_ALREADY_DEFINED
#else
#define yyget_debug cmExpr_yyget_debug
#endif
#ifdef yyset_debug
#define cmExpr_yyset_debug_ALREADY_DEFINED
#else
#define yyset_debug cmExpr_yyset_debug
#endif
#ifdef yyget_extra
#define cmExpr_yyget_extra_ALREADY_DEFINED
#else
#define yyget_extra cmExpr_yyget_extra
#endif
#ifdef yyset_extra
#define cmExpr_yyset_extra_ALREADY_DEFINED
#else
#define yyset_extra cmExpr_yyset_extra
#endif
#ifdef yyget_in
#define cmExpr_yyget_in_ALREADY_DEFINED
#else
#define yyget_in cmExpr_yyget_in
#endif
#ifdef yyset_in
#define cmExpr_yyset_in_ALREADY_DEFINED
#else
#define yyset_in cmExpr_yyset_in
#endif
#ifdef yyget_out
#define cmExpr_yyget_out_ALREADY_DEFINED
#else
#define yyget_out cmExpr_yyget_out
#endif
#ifdef yyset_out
#define cmExpr_yyset_out_ALREADY_DEFINED
#else
#define yyset_out cmExpr_yyset_out
#endif
#ifdef yyget_leng
#define cmExpr_yyget_leng_ALREADY_DEFINED
#else
#define yyget_leng cmExpr_yyget_leng
#endif
#ifdef yyget_text
#define cmExpr_yyget_text_ALREADY_DEFINED
#else
#define yyget_text cmExpr_yyget_text
#endif
#ifdef yyget_lineno
#define cmExpr_yyget_lineno_ALREADY_DEFINED
#else
#define yyget_lineno cmExpr_yyget_lineno
#endif
#ifdef yyset_lineno
#define cmExpr_yyset_lineno_ALREADY_DEFINED
#else
#define yyset_lineno cmExpr_yyset_lineno
#endif
#ifdef yyget_column
#define cmExpr_yyget_column_ALREADY_DEFINED
#else
#define yyget_column cmExpr_yyget_column
#endif
#ifdef yyset_column
#define cmExpr_yyset_column_ALREADY_DEFINED
#else
#define yyset_column cmExpr_yyset_column
#endif
#ifdef yywrap
#define cmExpr_yywrap_ALREADY_DEFINED
#else
#define yywrap cmExpr_yywrap
#endif
#ifdef yyalloc
#define cmExpr_yyalloc_ALREADY_DEFINED
#else
#define yyalloc cmExpr_yyalloc
#endif
#ifdef yyrealloc
#define cmExpr_yyrealloc_ALREADY_DEFINED
#else
#define yyrealloc cmExpr_yyrealloc
#endif
#ifdef yyfree
#define cmExpr_yyfree_ALREADY_DEFINED
#else
#define yyfree cmExpr_yyfree
#endif
/* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */
@@ -86,10 +293,16 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#ifndef SIZE_MAX
#define SIZE_MAX (~(size_t)0)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
/* begin standard C++ headers. */
/* TODO: this is always defined, so inline it */
#define yyconst const
@@ -102,12 +315,10 @@ typedef unsigned int flex_uint32_t;
/* 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.
/* Promotes a possibly negative, possibly signed char to an
* integer in range [0..255] for use as an array index.
*/
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* An opaque pointer. */
#ifndef YY_TYPEDEF_YY_SCANNER_T
@@ -131,20 +342,16 @@ typedef void* yyscan_t;
* definition of BEGIN.
*/
#define BEGIN yyg->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 ((yyg->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 cmExpr_yyrestart(yyin ,yyscanner )
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
@@ -194,7 +401,6 @@ typedef size_t yy_size_t;
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -254,7 +460,7 @@ struct yy_buffer_state
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
* (via cmExpr_yyrestart()), so that the user can continue scanning by
* (via yyrestart()), so that the user can continue scanning by
* just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
@@ -271,73 +477,67 @@ struct yy_buffer_state
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
: NULL)
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
void cmExpr_yyrestart (FILE *input_file ,yyscan_t yyscanner );
void cmExpr_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
void cmExpr_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmExpr_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmExpr_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
void cmExpr_yypop_buffer_state (yyscan_t yyscanner );
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
void yypop_buffer_state ( yyscan_t yyscanner );
static void cmExpr_yyensure_buffer_stack (yyscan_t yyscanner );
static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner );
static void cmExpr_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
static void yyensure_buffer_stack ( yyscan_t yyscanner );
static void yy_load_buffer_state ( yyscan_t yyscanner );
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
#define YY_FLUSH_BUFFER cmExpr_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
void *cmExpr_yyalloc (yy_size_t ,yyscan_t yyscanner );
void *cmExpr_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
void cmExpr_yyfree (void * ,yyscan_t yyscanner );
#define yy_new_buffer cmExpr_yy_create_buffer
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
void yyfree ( void * , yyscan_t yyscanner );
#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
cmExpr_yyensure_buffer_stack (yyscanner); \
yyensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
cmExpr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
cmExpr_yyensure_buffer_stack (yyscanner); \
yyensure_buffer_stack (yyscanner); \
YY_CURRENT_BUFFER_LVALUE = \
cmExpr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
#define cmExpr_yywrap(yyscanner) (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR;
typedef flex_uint8_t YY_CHAR;
typedef int yy_state_type;
#define yytext_ptr yytext_r
static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
static int yy_get_next_buffer (yyscan_t yyscanner );
static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner );
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
static int yy_get_next_buffer ( yyscan_t yyscanner );
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
/* Done after the current pattern has been matched and before the
* corresponding action - sets up yytext.
@@ -348,7 +548,6 @@ static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner );
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 15
#define YY_END_OF_BUFFER 16
/* This struct is not used in this scanner,
@@ -358,14 +557,14 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
static yyconst flex_int16_t yy_accept[23] =
static const flex_int16_t yy_accept[23] =
{ 0,
0, 0, 16, 15, 6, 8, 13, 14, 4, 2,
3, 5, 1, 15, 15, 9, 7, 10, 1, 11,
12, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -397,27 +596,27 @@ static yyconst YY_CHAR yy_ec[256] =
1, 1, 1, 1, 1
} ;
static yyconst YY_CHAR yy_meta[16] =
static const YY_CHAR yy_meta[16] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
static yyconst flex_uint16_t yy_base[23] =
static const flex_int16_t yy_base[23] =
{ 0,
0, 0, 20, 21, 21, 21, 21, 21, 21, 21,
21, 21, 9, 7, 5, 21, 21, 21, 6, 21,
21, 21
} ;
static yyconst flex_int16_t yy_def[23] =
static const flex_int16_t yy_def[23] =
{ 0,
22, 1, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 0
} ;
static yyconst flex_uint16_t yy_nxt[37] =
static const flex_int16_t yy_nxt[37] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 21, 20, 19, 22,
@@ -425,7 +624,7 @@ static yyconst flex_uint16_t yy_nxt[37] =
22, 22, 22, 22, 22, 22
} ;
static yyconst flex_int16_t yy_chk[37] =
static const flex_int16_t yy_chk[37] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 19, 15, 14, 13, 3,
@@ -440,8 +639,6 @@ static yyconst flex_int16_t yy_chk[37] =
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
#line 1 "cmExprLexer.in.l"
#line 2 "cmExprLexer.in.l"
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
/*
@@ -450,13 +647,12 @@ This file must be translated to C++ and modified to build everywhere.
Run flex >= 2.6 like this:
flex --nounistd -DFLEXINT_H --prefix=cmExpr_yy --header-file=cmExprLexer.h -ocmExprLexer.cxx cmExprLexer.in.l
flex --nounistd -DFLEXINT_H --noline --header-file=cmExprLexer.h -ocmExprLexer.cxx cmExprLexer.in.l
Modify cmExprLexer.cxx:
- remove trailing whitespace: sed -i 's/\s*$//' cmExprLexer.h cmExprLexer.cxx
- remove blank lines at end of file
- #include "cmStandardLexer.h" at the top
- add cast in cmExpr_yy_scan_bytes for loop condition of _yybytes_len to size_t
- remove trailing whitespace: sed -i 's/\s*$//' cmExprLexer.h cmExprLexer.cxx
- remove blank lines at end of file: sed -i '${/^$/d;}' cmExprLexer.h cmExprLexer.cxx
- #include "cmStandardLexer.h" at the top: sed -i '1i#include "cmStandardLexer.h"' cmExprLexer.cxx
*/
@@ -473,7 +669,6 @@ Modify cmExprLexer.cxx:
#include "cmExprParserTokens.h"
/*--------------------------------------------------------------------------*/
#line 476 "cmExprLexer.cxx"
#define INITIAL 0
@@ -515,44 +710,44 @@ struct yyguts_t
}; /* end struct yyguts_t */
static int yy_init_globals (yyscan_t yyscanner );
static int yy_init_globals ( yyscan_t yyscanner );
int cmExpr_yylex_init (yyscan_t* scanner);
int yylex_init (yyscan_t* scanner);
int cmExpr_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
int cmExpr_yylex_destroy (yyscan_t yyscanner );
int yylex_destroy ( yyscan_t yyscanner );
int cmExpr_yyget_debug (yyscan_t yyscanner );
int yyget_debug ( yyscan_t yyscanner );
void cmExpr_yyset_debug (int debug_flag ,yyscan_t yyscanner );
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
YY_EXTRA_TYPE cmExpr_yyget_extra (yyscan_t yyscanner );
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
void cmExpr_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
FILE *cmExpr_yyget_in (yyscan_t yyscanner );
FILE *yyget_in ( yyscan_t yyscanner );
void cmExpr_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
FILE *cmExpr_yyget_out (yyscan_t yyscanner );
FILE *yyget_out ( yyscan_t yyscanner );
void cmExpr_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
int cmExpr_yyget_leng (yyscan_t yyscanner );
int yyget_leng ( yyscan_t yyscanner );
char *cmExpr_yyget_text (yyscan_t yyscanner );
char *yyget_text ( yyscan_t yyscanner );
int cmExpr_yyget_lineno (yyscan_t yyscanner );
int yyget_lineno ( yyscan_t yyscanner );
void cmExpr_yyset_lineno (int _line_number ,yyscan_t yyscanner );
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
int cmExpr_yyget_column (yyscan_t yyscanner );
int yyget_column ( yyscan_t yyscanner );
void cmExpr_yyset_column (int _column_no ,yyscan_t yyscanner );
void yyset_column ( int _column_no , yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -560,32 +755,31 @@ void cmExpr_yyset_column (int _column_no ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int cmExpr_yywrap (yyscan_t yyscanner );
extern "C" int yywrap ( yyscan_t yyscanner );
#else
extern int cmExpr_yywrap (yyscan_t yyscanner );
extern int yywrap ( yyscan_t yyscanner );
#endif
#endif
#ifndef YY_NO_UNPUT
static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
static void yyunput ( int c, char *buf_ptr , yyscan_t yyscanner);
#endif
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (yyscan_t yyscanner );
static int yyinput ( yyscan_t yyscanner );
#else
static int input (yyscan_t yyscanner );
static int input ( yyscan_t yyscanner );
#endif
#endif
@@ -616,7 +810,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
size_t n; \
int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -629,7 +823,7 @@ static int input (yyscan_t yyscanner );
else \
{ \
errno=0; \
while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -670,9 +864,9 @@ static int input (yyscan_t yyscanner );
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
extern int cmExpr_yylex (yyscan_t yyscanner);
extern int yylex (yyscan_t yyscanner);
#define YY_DECL int cmExpr_yylex (yyscan_t yyscanner)
#define YY_DECL int yylex (yyscan_t yyscanner)
#endif /* !YY_DECL */
/* Code executed at the beginning of each rule, after yytext and yyleng
@@ -717,19 +911,15 @@ YY_DECL
yyout = stdout;
if ( ! YY_CURRENT_BUFFER ) {
cmExpr_yyensure_buffer_stack (yyscanner);
yyensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE =
cmExpr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
}
cmExpr_yy_load_buffer_state(yyscanner );
yy_load_buffer_state( yyscanner );
}
{
#line 39 "cmExprLexer.in.l"
#line 732 "cmExprLexer.cxx"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -757,9 +947,9 @@ yy_match:
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 23 )
yy_c = yy_meta[(unsigned int) yy_c];
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 21 );
@@ -788,80 +978,64 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 41 "cmExprLexer.in.l"
{ yylvalp->Number = atoi(yytext); return exp_NUMBER; }
YY_BREAK
case 2:
YY_RULE_SETUP
#line 43 "cmExprLexer.in.l"
{ return exp_PLUS; }
YY_BREAK
case 3:
YY_RULE_SETUP
#line 44 "cmExprLexer.in.l"
{ return exp_MINUS; }
YY_BREAK
case 4:
YY_RULE_SETUP
#line 45 "cmExprLexer.in.l"
{ return exp_TIMES; }
YY_BREAK
case 5:
YY_RULE_SETUP
#line 46 "cmExprLexer.in.l"
{ return exp_DIVIDE; }
YY_BREAK
case 6:
YY_RULE_SETUP
#line 47 "cmExprLexer.in.l"
{ return exp_MOD; }
YY_BREAK
case 7:
YY_RULE_SETUP
#line 48 "cmExprLexer.in.l"
{ return exp_OR; }
YY_BREAK
case 8:
YY_RULE_SETUP
#line 49 "cmExprLexer.in.l"
{ return exp_AND; }
YY_BREAK
case 9:
YY_RULE_SETUP
#line 50 "cmExprLexer.in.l"
{ return exp_XOR; }
YY_BREAK
case 10:
YY_RULE_SETUP
#line 51 "cmExprLexer.in.l"
{ return exp_NOT; }
YY_BREAK
case 11:
YY_RULE_SETUP
#line 52 "cmExprLexer.in.l"
{ return exp_SHIFTLEFT; }
YY_BREAK
case 12:
YY_RULE_SETUP
#line 53 "cmExprLexer.in.l"
{ return exp_SHIFTRIGHT; }
YY_BREAK
case 13:
YY_RULE_SETUP
#line 54 "cmExprLexer.in.l"
{ return exp_OPENPARENT; }
YY_BREAK
case 14:
YY_RULE_SETUP
#line 55 "cmExprLexer.in.l"
{ return exp_CLOSEPARENT; }
YY_BREAK
case 15:
YY_RULE_SETUP
#line 57 "cmExprLexer.in.l"
ECHO;
YY_BREAK
#line 864 "cmExprLexer.cxx"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -879,7 +1053,7 @@ case YY_STATE_EOF(INITIAL):
/* 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
* cmExpr_yylex(). If so, then we have to assure
* 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
@@ -939,7 +1113,7 @@ case YY_STATE_EOF(INITIAL):
{
yyg->yy_did_buffer_switch_on_eof = 0;
if ( cmExpr_yywrap(yyscanner ) )
if ( yywrap( yyscanner ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
@@ -993,7 +1167,7 @@ case YY_STATE_EOF(INITIAL):
} /* end of action switch */
} /* end of scanning one token */
} /* end of user's declarations */
} /* end of cmExpr_yylex */
} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*
@@ -1007,7 +1181,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
char *source = yyg->yytext_ptr;
yy_size_t number_to_move, i;
int number_to_move, i;
int ret_val;
if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
@@ -1036,7 +1210,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
/* Try to read more data. */
/* First move last chars to start of buffer. */
number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -1072,7 +1246,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
cmExpr_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
yyrealloc( (void *) b->yy_ch_buf,
(yy_size_t) (b->yy_buf_size + 2) , yyscanner );
}
else
/* Can't grow it, we don't own it. */
@@ -1104,7 +1279,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
cmExpr_yyrestart(yyin ,yyscanner);
yyrestart( yyin , yyscanner);
}
else
@@ -1118,12 +1293,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) cmExpr_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
/* "- 2" to take care of EOB's */
YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
yyg->yy_n_chars += number_to_move;
@@ -1157,9 +1335,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 23 )
yy_c = yy_meta[(unsigned int) yy_c];
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
@@ -1186,9 +1364,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 23 )
yy_c = yy_meta[(unsigned int) yy_c];
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 22);
(void)yyg;
@@ -1262,7 +1440,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
else
{ /* need more input */
int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
++yyg->yy_c_buf_p;
switch ( yy_get_next_buffer( yyscanner ) )
@@ -1279,13 +1457,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
*/
/* Reset buffer status. */
cmExpr_yyrestart(yyin ,yyscanner);
yyrestart( yyin , yyscanner);
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
if ( cmExpr_yywrap(yyscanner ) )
if ( yywrap( yyscanner ) )
return 0;
if ( ! yyg->yy_did_buffer_switch_on_eof )
@@ -1317,34 +1495,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
* @param yyscanner The scanner object.
* @note This function does not reset the start condition to @c INITIAL .
*/
void cmExpr_yyrestart (FILE * input_file , yyscan_t yyscanner)
void yyrestart (FILE * input_file , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if ( ! YY_CURRENT_BUFFER ){
cmExpr_yyensure_buffer_stack (yyscanner);
yyensure_buffer_stack (yyscanner);
YY_CURRENT_BUFFER_LVALUE =
cmExpr_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
}
cmExpr_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
cmExpr_yy_load_buffer_state(yyscanner );
yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
yy_load_buffer_state( yyscanner );
}
/** Switch to a different input buffer.
* @param new_buffer The new input buffer.
* @param yyscanner The scanner object.
*/
void cmExpr_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* TODO. We should be able to replace this entire function body
* with
* cmExpr_yypop_buffer_state();
* cmExpr_yypush_buffer_state(new_buffer);
* yypop_buffer_state();
* yypush_buffer_state(new_buffer);
*/
cmExpr_yyensure_buffer_stack (yyscanner);
yyensure_buffer_stack (yyscanner);
if ( YY_CURRENT_BUFFER == new_buffer )
return;
@@ -1357,17 +1535,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
cmExpr_yy_load_buffer_state(yyscanner );
yy_load_buffer_state( yyscanner );
/* We don't actually know whether we did this switch during
* EOF (cmExpr_yywrap()) processing, but the only time this flag
* is looked at is after cmExpr_yywrap() is called, so it's safe
* 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.
*/
yyg->yy_did_buffer_switch_on_eof = 1;
}
static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
static void yy_load_buffer_state (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
@@ -1382,35 +1560,35 @@ static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
* @param yyscanner The scanner object.
* @return the allocated buffer state.
*/
YY_BUFFER_STATE cmExpr_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
b = (YY_BUFFER_STATE) cmExpr_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yy_create_buffer()" );
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_buf_size = (yy_size_t)size;
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 *) cmExpr_yyalloc(b->yy_buf_size + 2 ,yyscanner );
b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yy_create_buffer()" );
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
cmExpr_yy_init_buffer(b,file ,yyscanner);
yy_init_buffer( b, file , yyscanner);
return b;
}
/** Destroy the buffer.
* @param b a buffer created with cmExpr_yy_create_buffer()
* @param b a buffer created with yy_create_buffer()
* @param yyscanner The scanner object.
*/
void cmExpr_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -1421,28 +1599,28 @@ static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
cmExpr_yyfree((void *) b->yy_ch_buf ,yyscanner );
yyfree( (void *) b->yy_ch_buf , yyscanner );
cmExpr_yyfree((void *) b ,yyscanner );
yyfree( (void *) b , yyscanner );
}
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
* such as during a cmExpr_yyrestart() or at EOF.
* such as during a yyrestart() or at EOF.
*/
static void cmExpr_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
{
int oerrno = errno;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
cmExpr_yy_flush_buffer(b ,yyscanner);
yy_flush_buffer( b , yyscanner);
b->yy_input_file = file;
b->yy_fill_buffer = 1;
/* If b is the current buffer, then cmExpr_yy_init_buffer was _probably_
* called from cmExpr_yyrestart() or through yy_get_next_buffer.
/* If b is the current buffer, then yy_init_buffer was _probably_
* called from yyrestart() or through yy_get_next_buffer.
* In that case, we don't want to reset the lineno or column.
*/
if (b != YY_CURRENT_BUFFER){
@@ -1459,7 +1637,7 @@ static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
* @param yyscanner The scanner object.
*/
void cmExpr_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if ( ! b )
@@ -1480,7 +1658,7 @@ static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
cmExpr_yy_load_buffer_state(yyscanner );
yy_load_buffer_state( yyscanner );
}
/** Pushes the new state onto the stack. The new state becomes
@@ -1489,15 +1667,15 @@ static void cmExpr_yy_load_buffer_state (yyscan_t yyscanner)
* @param new_buffer The new state.
* @param yyscanner The scanner object.
*/
void cmExpr_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (new_buffer == NULL)
return;
cmExpr_yyensure_buffer_stack(yyscanner);
yyensure_buffer_stack(yyscanner);
/* This block is copied from cmExpr_yy_switch_to_buffer. */
/* This block is copied from yy_switch_to_buffer. */
if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
@@ -1511,8 +1689,8 @@ void cmExpr_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner
yyg->yy_buffer_stack_top++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
/* copied from cmExpr_yy_switch_to_buffer. */
cmExpr_yy_load_buffer_state(yyscanner );
/* copied from yy_switch_to_buffer. */
yy_load_buffer_state( yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
@@ -1520,19 +1698,19 @@ void cmExpr_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner
* The next element becomes the new top.
* @param yyscanner The scanner object.
*/
void cmExpr_yypop_buffer_state (yyscan_t yyscanner)
void yypop_buffer_state (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!YY_CURRENT_BUFFER)
return;
cmExpr_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
YY_CURRENT_BUFFER_LVALUE = NULL;
if (yyg->yy_buffer_stack_top > 0)
--yyg->yy_buffer_stack_top;
if (YY_CURRENT_BUFFER) {
cmExpr_yy_load_buffer_state(yyscanner );
yy_load_buffer_state( yyscanner );
yyg->yy_did_buffer_switch_on_eof = 1;
}
}
@@ -1540,9 +1718,9 @@ void cmExpr_yypop_buffer_state (yyscan_t yyscanner)
/* Allocates the stack if it does not exist.
* Guarantees space for at least one push.
*/
static void cmExpr_yyensure_buffer_stack (yyscan_t yyscanner)
static void yyensure_buffer_stack (yyscan_t yyscanner)
{
int num_to_alloc;
yy_size_t num_to_alloc;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
if (!yyg->yy_buffer_stack) {
@@ -1552,11 +1730,11 @@ static void cmExpr_yyensure_buffer_stack (yyscan_t yyscanner)
* immediate realloc on the next call.
*/
num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
yyg->yy_buffer_stack = (struct yy_buffer_state**)cmExpr_yyalloc
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yyensure_buffer_stack()" );
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
@@ -1571,12 +1749,12 @@ static void cmExpr_yyensure_buffer_stack (yyscan_t yyscanner)
yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
yyg->yy_buffer_stack = (struct yy_buffer_state**)cmExpr_yyrealloc
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
(yyg->yy_buffer_stack,
num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
if ( ! yyg->yy_buffer_stack )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yyensure_buffer_stack()" );
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
/* zero only the new slots.*/
memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -1590,7 +1768,7 @@ static void cmExpr_yyensure_buffer_stack (yyscan_t yyscanner)
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE cmExpr_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
@@ -1600,11 +1778,11 @@ YY_BUFFER_STATE cmExpr_yy_scan_buffer (char * base, yy_size_t size , yyscan_t
/* They forgot to leave room for the EOB's. */
return NULL;
b = (YY_BUFFER_STATE) cmExpr_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yy_scan_buffer()" );
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_size = (int) (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 = NULL;
@@ -1614,53 +1792,53 @@ YY_BUFFER_STATE cmExpr_yy_scan_buffer (char * base, yy_size_t size , yyscan_t
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
cmExpr_yy_switch_to_buffer(b ,yyscanner );
yy_switch_to_buffer( b , yyscanner );
return b;
}
/** Setup the input buffer state to scan a string. The next call to cmExpr_yylex() will
/** Setup the input buffer state to scan a string. The next call to yylex() will
* scan from a @e copy of @a str.
* @param yystr a NUL-terminated string to scan
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
* cmExpr_yy_scan_bytes() instead.
* yy_scan_bytes() instead.
*/
YY_BUFFER_STATE cmExpr_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
{
return cmExpr_yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner);
return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
}
/** Setup the input buffer state to scan the given bytes. The next call to cmExpr_yylex() will
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE cmExpr_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
yy_size_t i;
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
n = (yy_size_t) _yybytes_len + 2;
buf = (char *) cmExpr_yyalloc(n ,yyscanner );
n = (yy_size_t) (_yybytes_len + 2);
buf = (char *) yyalloc( n , yyscanner );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in cmExpr_yy_scan_bytes()" );
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < (size_t)_yybytes_len; ++i )
for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
b = cmExpr_yy_scan_buffer(buf,n ,yyscanner);
b = yy_scan_buffer( buf, n , yyscanner);
if ( ! b )
YY_FATAL_ERROR( "bad buffer in cmExpr_yy_scan_bytes()" );
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.
@@ -1674,11 +1852,11 @@ YY_BUFFER_STATE cmExpr_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len
#define YY_EXIT_FAILURE 2
#endif
static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
(void) fprintf( stderr, "%s\n", msg );
fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -1704,7 +1882,7 @@ static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
/** Get the user-defined data for this scanner.
* @param yyscanner The scanner object.
*/
YY_EXTRA_TYPE cmExpr_yyget_extra (yyscan_t yyscanner)
YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyextra;
@@ -1713,7 +1891,7 @@ YY_EXTRA_TYPE cmExpr_yyget_extra (yyscan_t yyscanner)
/** Get the current line number.
* @param yyscanner The scanner object.
*/
int cmExpr_yyget_lineno (yyscan_t yyscanner)
int yyget_lineno (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -1726,7 +1904,7 @@ int cmExpr_yyget_lineno (yyscan_t yyscanner)
/** Get the current column number.
* @param yyscanner The scanner object.
*/
int cmExpr_yyget_column (yyscan_t yyscanner)
int yyget_column (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
@@ -1739,7 +1917,7 @@ int cmExpr_yyget_column (yyscan_t yyscanner)
/** Get the input stream.
* @param yyscanner The scanner object.
*/
FILE *cmExpr_yyget_in (yyscan_t yyscanner)
FILE *yyget_in (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyin;
@@ -1748,7 +1926,7 @@ FILE *cmExpr_yyget_in (yyscan_t yyscanner)
/** Get the output stream.
* @param yyscanner The scanner object.
*/
FILE *cmExpr_yyget_out (yyscan_t yyscanner)
FILE *yyget_out (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyout;
@@ -1757,7 +1935,7 @@ FILE *cmExpr_yyget_out (yyscan_t yyscanner)
/** Get the length of the current token.
* @param yyscanner The scanner object.
*/
int cmExpr_yyget_leng (yyscan_t yyscanner)
int yyget_leng (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yyleng;
@@ -1767,7 +1945,7 @@ int cmExpr_yyget_leng (yyscan_t yyscanner)
* @param yyscanner The scanner object.
*/
char *cmExpr_yyget_text (yyscan_t yyscanner)
char *yyget_text (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yytext;
@@ -1777,7 +1955,7 @@ char *cmExpr_yyget_text (yyscan_t yyscanner)
* @param user_defined The data to be associated with this scanner.
* @param yyscanner The scanner object.
*/
void cmExpr_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyextra = user_defined ;
@@ -1787,13 +1965,13 @@ void cmExpr_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
* @param _line_number line number
* @param yyscanner The scanner object.
*/
void cmExpr_yyset_lineno (int _line_number , yyscan_t yyscanner)
void yyset_lineno (int _line_number , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* lineno is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "cmExpr_yyset_lineno called with no buffer" );
YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
yylineno = _line_number;
}
@@ -1802,13 +1980,13 @@ void cmExpr_yyset_lineno (int _line_number , yyscan_t yyscanner)
* @param _column_no column number
* @param yyscanner The scanner object.
*/
void cmExpr_yyset_column (int _column_no , yyscan_t yyscanner)
void yyset_column (int _column_no , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* column is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER )
YY_FATAL_ERROR( "cmExpr_yyset_column called with no buffer" );
YY_FATAL_ERROR( "yyset_column called with no buffer" );
yycolumn = _column_no;
}
@@ -1817,27 +1995,27 @@ void cmExpr_yyset_column (int _column_no , yyscan_t yyscanner)
* input buffer.
* @param _in_str A readable stream.
* @param yyscanner The scanner object.
* @see cmExpr_yy_switch_to_buffer
* @see yy_switch_to_buffer
*/
void cmExpr_yyset_in (FILE * _in_str , yyscan_t yyscanner)
void yyset_in (FILE * _in_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyin = _in_str ;
}
void cmExpr_yyset_out (FILE * _out_str , yyscan_t yyscanner)
void yyset_out (FILE * _out_str , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yyout = _out_str ;
}
int cmExpr_yyget_debug (yyscan_t yyscanner)
int yyget_debug (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
return yy_flex_debug;
}
void cmExpr_yyset_debug (int _bdebug , yyscan_t yyscanner)
void yyset_debug (int _bdebug , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
yy_flex_debug = _bdebug ;
@@ -1847,20 +2025,18 @@ void cmExpr_yyset_debug (int _bdebug , yyscan_t yyscanner)
/* User-visible API */
/* cmExpr_yylex_init is special because it creates the scanner itself, so it is
/* yylex_init is special because it creates the scanner itself, so it is
* the ONLY reentrant function that doesn't take the scanner as the last argument.
* That's why we explicitly handle the declaration, instead of using our macros.
*/
int cmExpr_yylex_init(yyscan_t* ptr_yy_globals)
int yylex_init(yyscan_t* ptr_yy_globals)
{
if (ptr_yy_globals == NULL){
errno = EINVAL;
return 1;
}
*ptr_yy_globals = (yyscan_t) cmExpr_yyalloc ( sizeof( struct yyguts_t ), NULL );
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
if (*ptr_yy_globals == NULL){
errno = ENOMEM;
@@ -1873,27 +2049,25 @@ int cmExpr_yylex_init(yyscan_t* ptr_yy_globals)
return yy_init_globals ( *ptr_yy_globals );
}
/* cmExpr_yylex_init_extra has the same functionality as cmExpr_yylex_init, but follows the
/* yylex_init_extra has the same functionality as yylex_init, but follows the
* convention of taking the scanner as the last argument. Note however, that
* this is a *pointer* to a scanner, as it will be allocated by this call (and
* is the reason, too, why this function also must handle its own declaration).
* The user defined value in the first argument will be available to cmExpr_yyalloc in
* The user defined value in the first argument will be available to yyalloc in
* the yyextra field.
*/
int cmExpr_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
{
struct yyguts_t dummy_yyguts;
cmExpr_yyset_extra (yy_user_defined, &dummy_yyguts);
yyset_extra (yy_user_defined, &dummy_yyguts);
if (ptr_yy_globals == NULL){
errno = EINVAL;
return 1;
}
*ptr_yy_globals = (yyscan_t) cmExpr_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
if (*ptr_yy_globals == NULL){
errno = ENOMEM;
@@ -1904,7 +2078,7 @@ int cmExpr_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globa
yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
cmExpr_yyset_extra (yy_user_defined, *ptr_yy_globals);
yyset_extra (yy_user_defined, *ptr_yy_globals);
return yy_init_globals ( *ptr_yy_globals );
}
@@ -1913,7 +2087,7 @@ static int yy_init_globals (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* Initialization is the same as for the non-reentrant scanner.
* This function is called from cmExpr_yylex_destroy(), so don't allocate here.
* This function is called from yylex_destroy(), so don't allocate here.
*/
yyg->yy_buffer_stack = NULL;
@@ -1937,37 +2111,37 @@ static int yy_init_globals (yyscan_t yyscanner)
#endif
/* For future reference: Set errno on error, since we are called by
* cmExpr_yylex_init()
* yylex_init()
*/
return 0;
}
/* cmExpr_yylex_destroy is for both reentrant and non-reentrant scanners. */
int cmExpr_yylex_destroy (yyscan_t yyscanner)
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
int yylex_destroy (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
cmExpr_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
YY_CURRENT_BUFFER_LVALUE = NULL;
cmExpr_yypop_buffer_state(yyscanner);
yypop_buffer_state(yyscanner);
}
/* Destroy the stack itself. */
cmExpr_yyfree(yyg->yy_buffer_stack ,yyscanner);
yyfree(yyg->yy_buffer_stack , yyscanner);
yyg->yy_buffer_stack = NULL;
/* Destroy the start condition stack. */
cmExpr_yyfree(yyg->yy_start_stack ,yyscanner );
yyfree( yyg->yy_start_stack , yyscanner );
yyg->yy_start_stack = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
* cmExpr_yylex() is called, initialization will occur. */
* yylex() is called, initialization will occur. */
yy_init_globals( yyscanner);
/* Destroy the main struct (reentrant only). */
cmExpr_yyfree ( yyscanner , yyscanner );
yyfree ( yyscanner , yyscanner );
yyscanner = NULL;
return 0;
}
@@ -1977,7 +2151,7 @@ int cmExpr_yylex_destroy (yyscan_t yyscanner)
*/
#ifndef yytext_ptr
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
@@ -1989,7 +2163,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
#endif
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
{
int n;
for ( n = 0; s[n]; ++n )
@@ -1999,14 +2173,14 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
}
#endif
void *cmExpr_yyalloc (yy_size_t size , yyscan_t yyscanner)
void *yyalloc (yy_size_t size , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
return malloc(size);
}
void *cmExpr_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
@@ -2021,13 +2195,11 @@ void *cmExpr_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
return realloc(ptr, size);
}
void cmExpr_yyfree (void * ptr , yyscan_t yyscanner)
void yyfree (void * ptr , yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
(void)yyg;
free( (char *) ptr ); /* see cmExpr_yyrealloc() for (char *) cast */
free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
#define YYTABLES_NAME "yytables"
#line 57 "cmExprLexer.in.l"
+397 -44
View File
@@ -2,10 +2,6 @@
#define cmExpr_yyHEADER_H 1
#define cmExpr_yyIN_HEADER 1
#line 6 "cmExprLexer.h"
#line 8 "cmExprLexer.h"
#define FLEXINT_H 1
#define YY_INT_ALIGNED short int
@@ -14,11 +10,221 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
#define YY_FLEX_SUBMINOR_VERSION 1
#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
#ifdef yy_create_buffer
#define cmExpr_yy_create_buffer_ALREADY_DEFINED
#else
#define yy_create_buffer cmExpr_yy_create_buffer
#endif
#ifdef yy_delete_buffer
#define cmExpr_yy_delete_buffer_ALREADY_DEFINED
#else
#define yy_delete_buffer cmExpr_yy_delete_buffer
#endif
#ifdef yy_scan_buffer
#define cmExpr_yy_scan_buffer_ALREADY_DEFINED
#else
#define yy_scan_buffer cmExpr_yy_scan_buffer
#endif
#ifdef yy_scan_string
#define cmExpr_yy_scan_string_ALREADY_DEFINED
#else
#define yy_scan_string cmExpr_yy_scan_string
#endif
#ifdef yy_scan_bytes
#define cmExpr_yy_scan_bytes_ALREADY_DEFINED
#else
#define yy_scan_bytes cmExpr_yy_scan_bytes
#endif
#ifdef yy_init_buffer
#define cmExpr_yy_init_buffer_ALREADY_DEFINED
#else
#define yy_init_buffer cmExpr_yy_init_buffer
#endif
#ifdef yy_flush_buffer
#define cmExpr_yy_flush_buffer_ALREADY_DEFINED
#else
#define yy_flush_buffer cmExpr_yy_flush_buffer
#endif
#ifdef yy_load_buffer_state
#define cmExpr_yy_load_buffer_state_ALREADY_DEFINED
#else
#define yy_load_buffer_state cmExpr_yy_load_buffer_state
#endif
#ifdef yy_switch_to_buffer
#define cmExpr_yy_switch_to_buffer_ALREADY_DEFINED
#else
#define yy_switch_to_buffer cmExpr_yy_switch_to_buffer
#endif
#ifdef yypush_buffer_state
#define cmExpr_yypush_buffer_state_ALREADY_DEFINED
#else
#define yypush_buffer_state cmExpr_yypush_buffer_state
#endif
#ifdef yypop_buffer_state
#define cmExpr_yypop_buffer_state_ALREADY_DEFINED
#else
#define yypop_buffer_state cmExpr_yypop_buffer_state
#endif
#ifdef yyensure_buffer_stack
#define cmExpr_yyensure_buffer_stack_ALREADY_DEFINED
#else
#define yyensure_buffer_stack cmExpr_yyensure_buffer_stack
#endif
#ifdef yylex
#define cmExpr_yylex_ALREADY_DEFINED
#else
#define yylex cmExpr_yylex
#endif
#ifdef yyrestart
#define cmExpr_yyrestart_ALREADY_DEFINED
#else
#define yyrestart cmExpr_yyrestart
#endif
#ifdef yylex_init
#define cmExpr_yylex_init_ALREADY_DEFINED
#else
#define yylex_init cmExpr_yylex_init
#endif
#ifdef yylex_init_extra
#define cmExpr_yylex_init_extra_ALREADY_DEFINED
#else
#define yylex_init_extra cmExpr_yylex_init_extra
#endif
#ifdef yylex_destroy
#define cmExpr_yylex_destroy_ALREADY_DEFINED
#else
#define yylex_destroy cmExpr_yylex_destroy
#endif
#ifdef yyget_debug
#define cmExpr_yyget_debug_ALREADY_DEFINED
#else
#define yyget_debug cmExpr_yyget_debug
#endif
#ifdef yyset_debug
#define cmExpr_yyset_debug_ALREADY_DEFINED
#else
#define yyset_debug cmExpr_yyset_debug
#endif
#ifdef yyget_extra
#define cmExpr_yyget_extra_ALREADY_DEFINED
#else
#define yyget_extra cmExpr_yyget_extra
#endif
#ifdef yyset_extra
#define cmExpr_yyset_extra_ALREADY_DEFINED
#else
#define yyset_extra cmExpr_yyset_extra
#endif
#ifdef yyget_in
#define cmExpr_yyget_in_ALREADY_DEFINED
#else
#define yyget_in cmExpr_yyget_in
#endif
#ifdef yyset_in
#define cmExpr_yyset_in_ALREADY_DEFINED
#else
#define yyset_in cmExpr_yyset_in
#endif
#ifdef yyget_out
#define cmExpr_yyget_out_ALREADY_DEFINED
#else
#define yyget_out cmExpr_yyget_out
#endif
#ifdef yyset_out
#define cmExpr_yyset_out_ALREADY_DEFINED
#else
#define yyset_out cmExpr_yyset_out
#endif
#ifdef yyget_leng
#define cmExpr_yyget_leng_ALREADY_DEFINED
#else
#define yyget_leng cmExpr_yyget_leng
#endif
#ifdef yyget_text
#define cmExpr_yyget_text_ALREADY_DEFINED
#else
#define yyget_text cmExpr_yyget_text
#endif
#ifdef yyget_lineno
#define cmExpr_yyget_lineno_ALREADY_DEFINED
#else
#define yyget_lineno cmExpr_yyget_lineno
#endif
#ifdef yyset_lineno
#define cmExpr_yyset_lineno_ALREADY_DEFINED
#else
#define yyset_lineno cmExpr_yyset_lineno
#endif
#ifdef yyget_column
#define cmExpr_yyget_column_ALREADY_DEFINED
#else
#define yyget_column cmExpr_yyget_column
#endif
#ifdef yyset_column
#define cmExpr_yyset_column_ALREADY_DEFINED
#else
#define yyset_column cmExpr_yyset_column
#endif
#ifdef yywrap
#define cmExpr_yywrap_ALREADY_DEFINED
#else
#define yywrap cmExpr_yywrap
#endif
#ifdef yyalloc
#define cmExpr_yyalloc_ALREADY_DEFINED
#else
#define yyalloc cmExpr_yyalloc
#endif
#ifdef yyrealloc
#define cmExpr_yyrealloc_ALREADY_DEFINED
#else
#define yyrealloc cmExpr_yyrealloc
#endif
#ifdef yyfree
#define cmExpr_yyfree_ALREADY_DEFINED
#else
#define yyfree cmExpr_yyfree
#endif
/* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */
@@ -89,10 +295,16 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
#ifndef SIZE_MAX
#define SIZE_MAX (~(size_t)0)
#endif
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
/* begin standard C++ headers. */
/* TODO: this is always defined, so inline it */
#define yyconst const
@@ -193,21 +405,21 @@ struct yy_buffer_state
};
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
void cmExpr_yyrestart (FILE *input_file ,yyscan_t yyscanner );
void cmExpr_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
void cmExpr_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmExpr_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmExpr_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
void cmExpr_yypop_buffer_state (yyscan_t yyscanner );
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
void yypop_buffer_state ( yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE cmExpr_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
void *cmExpr_yyalloc (yy_size_t ,yyscan_t yyscanner );
void *cmExpr_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
void cmExpr_yyfree (void * ,yyscan_t yyscanner );
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
void yyfree ( void * , yyscan_t yyscanner );
/* Begin user sect3 */
@@ -225,42 +437,42 @@ void cmExpr_yyfree (void * ,yyscan_t yyscanner );
#define YY_EXTRA_TYPE void *
#endif
int cmExpr_yylex_init (yyscan_t* scanner);
int yylex_init (yyscan_t* scanner);
int cmExpr_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
int cmExpr_yylex_destroy (yyscan_t yyscanner );
int yylex_destroy ( yyscan_t yyscanner );
int cmExpr_yyget_debug (yyscan_t yyscanner );
int yyget_debug ( yyscan_t yyscanner );
void cmExpr_yyset_debug (int debug_flag ,yyscan_t yyscanner );
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
YY_EXTRA_TYPE cmExpr_yyget_extra (yyscan_t yyscanner );
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
void cmExpr_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
FILE *cmExpr_yyget_in (yyscan_t yyscanner );
FILE *yyget_in ( yyscan_t yyscanner );
void cmExpr_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
FILE *cmExpr_yyget_out (yyscan_t yyscanner );
FILE *yyget_out ( yyscan_t yyscanner );
void cmExpr_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
int cmExpr_yyget_leng (yyscan_t yyscanner );
int yyget_leng ( yyscan_t yyscanner );
char *cmExpr_yyget_text (yyscan_t yyscanner );
char *yyget_text ( yyscan_t yyscanner );
int cmExpr_yyget_lineno (yyscan_t yyscanner );
int yyget_lineno ( yyscan_t yyscanner );
void cmExpr_yyset_lineno (int _line_number ,yyscan_t yyscanner );
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
int cmExpr_yyget_column (yyscan_t yyscanner );
int yyget_column ( yyscan_t yyscanner );
void cmExpr_yyset_column (int _column_no ,yyscan_t yyscanner );
void yyset_column ( int _column_no , yyscan_t yyscanner );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -268,18 +480,18 @@ void cmExpr_yyset_column (int _column_no ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int cmExpr_yywrap (yyscan_t yyscanner );
extern "C" int yywrap ( yyscan_t yyscanner );
#else
extern int cmExpr_yywrap (yyscan_t yyscanner );
extern int yywrap ( yyscan_t yyscanner );
#endif
#endif
#ifndef yytext_ptr
static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
#endif
#ifdef YY_NEED_STRLEN
static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
#endif
#ifndef YY_NO_INPUT
@@ -307,9 +519,9 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
extern int cmExpr_yylex (yyscan_t yyscanner);
extern int yylex (yyscan_t yyscanner);
#define YY_DECL int cmExpr_yylex (yyscan_t yyscanner)
#define YY_DECL int yylex (yyscan_t yyscanner)
#endif /* !YY_DECL */
/* yy_get_previous_state - get the state just before the EOB char was reached */
@@ -326,9 +538,150 @@ extern int cmExpr_yylex (yyscan_t yyscanner);
#undef YY_DECL
#endif
#line 57 "cmExprLexer.in.l"
#ifndef cmExpr_yy_create_buffer_ALREADY_DEFINED
#undef yy_create_buffer
#endif
#ifndef cmExpr_yy_delete_buffer_ALREADY_DEFINED
#undef yy_delete_buffer
#endif
#ifndef cmExpr_yy_scan_buffer_ALREADY_DEFINED
#undef yy_scan_buffer
#endif
#ifndef cmExpr_yy_scan_string_ALREADY_DEFINED
#undef yy_scan_string
#endif
#ifndef cmExpr_yy_scan_bytes_ALREADY_DEFINED
#undef yy_scan_bytes
#endif
#ifndef cmExpr_yy_init_buffer_ALREADY_DEFINED
#undef yy_init_buffer
#endif
#ifndef cmExpr_yy_flush_buffer_ALREADY_DEFINED
#undef yy_flush_buffer
#endif
#ifndef cmExpr_yy_load_buffer_state_ALREADY_DEFINED
#undef yy_load_buffer_state
#endif
#ifndef cmExpr_yy_switch_to_buffer_ALREADY_DEFINED
#undef yy_switch_to_buffer
#endif
#ifndef cmExpr_yypush_buffer_state_ALREADY_DEFINED
#undef yypush_buffer_state
#endif
#ifndef cmExpr_yypop_buffer_state_ALREADY_DEFINED
#undef yypop_buffer_state
#endif
#ifndef cmExpr_yyensure_buffer_stack_ALREADY_DEFINED
#undef yyensure_buffer_stack
#endif
#ifndef cmExpr_yylex_ALREADY_DEFINED
#undef yylex
#endif
#ifndef cmExpr_yyrestart_ALREADY_DEFINED
#undef yyrestart
#endif
#ifndef cmExpr_yylex_init_ALREADY_DEFINED
#undef yylex_init
#endif
#ifndef cmExpr_yylex_init_extra_ALREADY_DEFINED
#undef yylex_init_extra
#endif
#ifndef cmExpr_yylex_destroy_ALREADY_DEFINED
#undef yylex_destroy
#endif
#ifndef cmExpr_yyget_debug_ALREADY_DEFINED
#undef yyget_debug
#endif
#ifndef cmExpr_yyset_debug_ALREADY_DEFINED
#undef yyset_debug
#endif
#ifndef cmExpr_yyget_extra_ALREADY_DEFINED
#undef yyget_extra
#endif
#ifndef cmExpr_yyset_extra_ALREADY_DEFINED
#undef yyset_extra
#endif
#ifndef cmExpr_yyget_in_ALREADY_DEFINED
#undef yyget_in
#endif
#ifndef cmExpr_yyset_in_ALREADY_DEFINED
#undef yyset_in
#endif
#ifndef cmExpr_yyget_out_ALREADY_DEFINED
#undef yyget_out
#endif
#ifndef cmExpr_yyset_out_ALREADY_DEFINED
#undef yyset_out
#endif
#ifndef cmExpr_yyget_leng_ALREADY_DEFINED
#undef yyget_leng
#endif
#ifndef cmExpr_yyget_text_ALREADY_DEFINED
#undef yyget_text
#endif
#ifndef cmExpr_yyget_lineno_ALREADY_DEFINED
#undef yyget_lineno
#endif
#ifndef cmExpr_yyset_lineno_ALREADY_DEFINED
#undef yyset_lineno
#endif
#ifndef cmExpr_yyget_column_ALREADY_DEFINED
#undef yyget_column
#endif
#ifndef cmExpr_yyset_column_ALREADY_DEFINED
#undef yyset_column
#endif
#ifndef cmExpr_yywrap_ALREADY_DEFINED
#undef yywrap
#endif
#ifndef cmExpr_yyget_lval_ALREADY_DEFINED
#undef yyget_lval
#endif
#ifndef cmExpr_yyset_lval_ALREADY_DEFINED
#undef yyset_lval
#endif
#ifndef cmExpr_yyget_lloc_ALREADY_DEFINED
#undef yyget_lloc
#endif
#ifndef cmExpr_yyset_lloc_ALREADY_DEFINED
#undef yyset_lloc
#endif
#ifndef cmExpr_yyalloc_ALREADY_DEFINED
#undef yyalloc
#endif
#ifndef cmExpr_yyrealloc_ALREADY_DEFINED
#undef yyrealloc
#endif
#ifndef cmExpr_yyfree_ALREADY_DEFINED
#undef yyfree
#endif
#ifndef cmExpr_yytext_ALREADY_DEFINED
#undef yytext
#endif
#ifndef cmExpr_yyleng_ALREADY_DEFINED
#undef yyleng
#endif
#ifndef cmExpr_yyin_ALREADY_DEFINED
#undef yyin
#endif
#ifndef cmExpr_yyout_ALREADY_DEFINED
#undef yyout
#endif
#ifndef cmExpr_yy_flex_debug_ALREADY_DEFINED
#undef yy_flex_debug
#endif
#ifndef cmExpr_yylineno_ALREADY_DEFINED
#undef yylineno
#endif
#ifndef cmExpr_yytables_fload_ALREADY_DEFINED
#undef yytables_fload
#endif
#ifndef cmExpr_yytables_destroy_ALREADY_DEFINED
#undef yytables_destroy
#endif
#ifndef cmExpr_yyTABLES_NAME_ALREADY_DEFINED
#undef yyTABLES_NAME
#endif
#line 333 "cmExprLexer.h"
#undef cmExpr_yyIN_HEADER
#endif /* cmExpr_yyHEADER_H */
+6 -5
View File
@@ -7,13 +7,12 @@ This file must be translated to C++ and modified to build everywhere.
Run flex >= 2.6 like this:
flex --nounistd -DFLEXINT_H --prefix=cmExpr_yy --header-file=cmExprLexer.h -ocmExprLexer.cxx cmExprLexer.in.l
flex --nounistd -DFLEXINT_H --noline --header-file=cmExprLexer.h -ocmExprLexer.cxx cmExprLexer.in.l
Modify cmExprLexer.cxx:
- remove trailing whitespace: sed -i 's/\s*$//' cmExprLexer.h cmExprLexer.cxx
- remove blank lines at end of file
- #include "cmStandardLexer.h" at the top
- add cast in yy_scan_bytes for loop condition of _yybytes_len to size_t
- remove trailing whitespace: sed -i 's/\s*$//' cmExprLexer.h cmExprLexer.cxx
- remove blank lines at end of file: sed -i '${/^$/d;}' cmExprLexer.h cmExprLexer.cxx
- #include "cmStandardLexer.h" at the top: sed -i '1i#include "cmStandardLexer.h"' cmExprLexer.cxx
*/
@@ -32,6 +31,8 @@ Modify cmExprLexer.cxx:
/*--------------------------------------------------------------------------*/
%}
%option prefix="cmExpr_yy"
%option reentrant
%option noyywrap
%pointer