1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

cmDependsJavaLexer: 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 cmDependsJavaLexer.in.l and mapping the current
instruction to a meaningful location within that file.

The prefix "cmDependsJava_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-24 23:48:48 +02:00
parent d2e8351a4d
commit 59f78dcb23
3 changed files with 824 additions and 395 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -2,10 +2,6 @@
#define cmDependsJava_yyHEADER_H 1
#define cmDependsJava_yyIN_HEADER 1
#line 6 "cmDependsJavaLexer.h"
#line 8 "cmDependsJavaLexer.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 cmDependsJava_yy_create_buffer_ALREADY_DEFINED
#else
#define yy_create_buffer cmDependsJava_yy_create_buffer
#endif
#ifdef yy_delete_buffer
#define cmDependsJava_yy_delete_buffer_ALREADY_DEFINED
#else
#define yy_delete_buffer cmDependsJava_yy_delete_buffer
#endif
#ifdef yy_scan_buffer
#define cmDependsJava_yy_scan_buffer_ALREADY_DEFINED
#else
#define yy_scan_buffer cmDependsJava_yy_scan_buffer
#endif
#ifdef yy_scan_string
#define cmDependsJava_yy_scan_string_ALREADY_DEFINED
#else
#define yy_scan_string cmDependsJava_yy_scan_string
#endif
#ifdef yy_scan_bytes
#define cmDependsJava_yy_scan_bytes_ALREADY_DEFINED
#else
#define yy_scan_bytes cmDependsJava_yy_scan_bytes
#endif
#ifdef yy_init_buffer
#define cmDependsJava_yy_init_buffer_ALREADY_DEFINED
#else
#define yy_init_buffer cmDependsJava_yy_init_buffer
#endif
#ifdef yy_flush_buffer
#define cmDependsJava_yy_flush_buffer_ALREADY_DEFINED
#else
#define yy_flush_buffer cmDependsJava_yy_flush_buffer
#endif
#ifdef yy_load_buffer_state
#define cmDependsJava_yy_load_buffer_state_ALREADY_DEFINED
#else
#define yy_load_buffer_state cmDependsJava_yy_load_buffer_state
#endif
#ifdef yy_switch_to_buffer
#define cmDependsJava_yy_switch_to_buffer_ALREADY_DEFINED
#else
#define yy_switch_to_buffer cmDependsJava_yy_switch_to_buffer
#endif
#ifdef yypush_buffer_state
#define cmDependsJava_yypush_buffer_state_ALREADY_DEFINED
#else
#define yypush_buffer_state cmDependsJava_yypush_buffer_state
#endif
#ifdef yypop_buffer_state
#define cmDependsJava_yypop_buffer_state_ALREADY_DEFINED
#else
#define yypop_buffer_state cmDependsJava_yypop_buffer_state
#endif
#ifdef yyensure_buffer_stack
#define cmDependsJava_yyensure_buffer_stack_ALREADY_DEFINED
#else
#define yyensure_buffer_stack cmDependsJava_yyensure_buffer_stack
#endif
#ifdef yylex
#define cmDependsJava_yylex_ALREADY_DEFINED
#else
#define yylex cmDependsJava_yylex
#endif
#ifdef yyrestart
#define cmDependsJava_yyrestart_ALREADY_DEFINED
#else
#define yyrestart cmDependsJava_yyrestart
#endif
#ifdef yylex_init
#define cmDependsJava_yylex_init_ALREADY_DEFINED
#else
#define yylex_init cmDependsJava_yylex_init
#endif
#ifdef yylex_init_extra
#define cmDependsJava_yylex_init_extra_ALREADY_DEFINED
#else
#define yylex_init_extra cmDependsJava_yylex_init_extra
#endif
#ifdef yylex_destroy
#define cmDependsJava_yylex_destroy_ALREADY_DEFINED
#else
#define yylex_destroy cmDependsJava_yylex_destroy
#endif
#ifdef yyget_debug
#define cmDependsJava_yyget_debug_ALREADY_DEFINED
#else
#define yyget_debug cmDependsJava_yyget_debug
#endif
#ifdef yyset_debug
#define cmDependsJava_yyset_debug_ALREADY_DEFINED
#else
#define yyset_debug cmDependsJava_yyset_debug
#endif
#ifdef yyget_extra
#define cmDependsJava_yyget_extra_ALREADY_DEFINED
#else
#define yyget_extra cmDependsJava_yyget_extra
#endif
#ifdef yyset_extra
#define cmDependsJava_yyset_extra_ALREADY_DEFINED
#else
#define yyset_extra cmDependsJava_yyset_extra
#endif
#ifdef yyget_in
#define cmDependsJava_yyget_in_ALREADY_DEFINED
#else
#define yyget_in cmDependsJava_yyget_in
#endif
#ifdef yyset_in
#define cmDependsJava_yyset_in_ALREADY_DEFINED
#else
#define yyset_in cmDependsJava_yyset_in
#endif
#ifdef yyget_out
#define cmDependsJava_yyget_out_ALREADY_DEFINED
#else
#define yyget_out cmDependsJava_yyget_out
#endif
#ifdef yyset_out
#define cmDependsJava_yyset_out_ALREADY_DEFINED
#else
#define yyset_out cmDependsJava_yyset_out
#endif
#ifdef yyget_leng
#define cmDependsJava_yyget_leng_ALREADY_DEFINED
#else
#define yyget_leng cmDependsJava_yyget_leng
#endif
#ifdef yyget_text
#define cmDependsJava_yyget_text_ALREADY_DEFINED
#else
#define yyget_text cmDependsJava_yyget_text
#endif
#ifdef yyget_lineno
#define cmDependsJava_yyget_lineno_ALREADY_DEFINED
#else
#define yyget_lineno cmDependsJava_yyget_lineno
#endif
#ifdef yyset_lineno
#define cmDependsJava_yyset_lineno_ALREADY_DEFINED
#else
#define yyset_lineno cmDependsJava_yyset_lineno
#endif
#ifdef yyget_column
#define cmDependsJava_yyget_column_ALREADY_DEFINED
#else
#define yyget_column cmDependsJava_yyget_column
#endif
#ifdef yyset_column
#define cmDependsJava_yyset_column_ALREADY_DEFINED
#else
#define yyset_column cmDependsJava_yyset_column
#endif
#ifdef yywrap
#define cmDependsJava_yywrap_ALREADY_DEFINED
#else
#define yywrap cmDependsJava_yywrap
#endif
#ifdef yyalloc
#define cmDependsJava_yyalloc_ALREADY_DEFINED
#else
#define yyalloc cmDependsJava_yyalloc
#endif
#ifdef yyrealloc
#define cmDependsJava_yyrealloc_ALREADY_DEFINED
#else
#define yyrealloc cmDependsJava_yyrealloc
#endif
#ifdef yyfree
#define cmDependsJava_yyfree_ALREADY_DEFINED
#else
#define yyfree cmDependsJava_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 cmDependsJava_yyrestart (FILE *input_file ,yyscan_t yyscanner );
void cmDependsJava_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
YY_BUFFER_STATE cmDependsJava_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
void cmDependsJava_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmDependsJava_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
void cmDependsJava_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
void cmDependsJava_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 cmDependsJava_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
YY_BUFFER_STATE cmDependsJava_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
YY_BUFFER_STATE cmDependsJava_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 *cmDependsJava_yyalloc (yy_size_t ,yyscan_t yyscanner );
void *cmDependsJava_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
void cmDependsJava_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 */
@@ -227,42 +439,42 @@ void cmDependsJava_yyfree (void * ,yyscan_t yyscanner );
#define YY_EXTRA_TYPE void *
#endif
int cmDependsJava_yylex_init (yyscan_t* scanner);
int yylex_init (yyscan_t* scanner);
int cmDependsJava_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 cmDependsJava_yylex_destroy (yyscan_t yyscanner );
int yylex_destroy ( yyscan_t yyscanner );
int cmDependsJava_yyget_debug (yyscan_t yyscanner );
int yyget_debug ( yyscan_t yyscanner );
void cmDependsJava_yyset_debug (int debug_flag ,yyscan_t yyscanner );
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
YY_EXTRA_TYPE cmDependsJava_yyget_extra (yyscan_t yyscanner );
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
void cmDependsJava_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
FILE *cmDependsJava_yyget_in (yyscan_t yyscanner );
FILE *yyget_in ( yyscan_t yyscanner );
void cmDependsJava_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
FILE *cmDependsJava_yyget_out (yyscan_t yyscanner );
FILE *yyget_out ( yyscan_t yyscanner );
void cmDependsJava_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
int cmDependsJava_yyget_leng (yyscan_t yyscanner );
int yyget_leng ( yyscan_t yyscanner );
char *cmDependsJava_yyget_text (yyscan_t yyscanner );
char *yyget_text ( yyscan_t yyscanner );
int cmDependsJava_yyget_lineno (yyscan_t yyscanner );
int yyget_lineno ( yyscan_t yyscanner );
void cmDependsJava_yyset_lineno (int _line_number ,yyscan_t yyscanner );
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
int cmDependsJava_yyget_column (yyscan_t yyscanner );
int yyget_column ( yyscan_t yyscanner );
void cmDependsJava_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.
@@ -270,18 +482,18 @@ void cmDependsJava_yyset_column (int _column_no ,yyscan_t yyscanner );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int cmDependsJava_yywrap (yyscan_t yyscanner );
extern "C" int yywrap ( yyscan_t yyscanner );
#else
extern int cmDependsJava_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
@@ -309,9 +521,9 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
extern int cmDependsJava_yylex (yyscan_t yyscanner);
extern int yylex (yyscan_t yyscanner);
#define YY_DECL int cmDependsJava_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 */
@@ -328,9 +540,150 @@ extern int cmDependsJava_yylex (yyscan_t yyscanner);
#undef YY_DECL
#endif
#line 174 "cmDependsJavaLexer.in.l"
#ifndef cmDependsJava_yy_create_buffer_ALREADY_DEFINED
#undef yy_create_buffer
#endif
#ifndef cmDependsJava_yy_delete_buffer_ALREADY_DEFINED
#undef yy_delete_buffer
#endif
#ifndef cmDependsJava_yy_scan_buffer_ALREADY_DEFINED
#undef yy_scan_buffer
#endif
#ifndef cmDependsJava_yy_scan_string_ALREADY_DEFINED
#undef yy_scan_string
#endif
#ifndef cmDependsJava_yy_scan_bytes_ALREADY_DEFINED
#undef yy_scan_bytes
#endif
#ifndef cmDependsJava_yy_init_buffer_ALREADY_DEFINED
#undef yy_init_buffer
#endif
#ifndef cmDependsJava_yy_flush_buffer_ALREADY_DEFINED
#undef yy_flush_buffer
#endif
#ifndef cmDependsJava_yy_load_buffer_state_ALREADY_DEFINED
#undef yy_load_buffer_state
#endif
#ifndef cmDependsJava_yy_switch_to_buffer_ALREADY_DEFINED
#undef yy_switch_to_buffer
#endif
#ifndef cmDependsJava_yypush_buffer_state_ALREADY_DEFINED
#undef yypush_buffer_state
#endif
#ifndef cmDependsJava_yypop_buffer_state_ALREADY_DEFINED
#undef yypop_buffer_state
#endif
#ifndef cmDependsJava_yyensure_buffer_stack_ALREADY_DEFINED
#undef yyensure_buffer_stack
#endif
#ifndef cmDependsJava_yylex_ALREADY_DEFINED
#undef yylex
#endif
#ifndef cmDependsJava_yyrestart_ALREADY_DEFINED
#undef yyrestart
#endif
#ifndef cmDependsJava_yylex_init_ALREADY_DEFINED
#undef yylex_init
#endif
#ifndef cmDependsJava_yylex_init_extra_ALREADY_DEFINED
#undef yylex_init_extra
#endif
#ifndef cmDependsJava_yylex_destroy_ALREADY_DEFINED
#undef yylex_destroy
#endif
#ifndef cmDependsJava_yyget_debug_ALREADY_DEFINED
#undef yyget_debug
#endif
#ifndef cmDependsJava_yyset_debug_ALREADY_DEFINED
#undef yyset_debug
#endif
#ifndef cmDependsJava_yyget_extra_ALREADY_DEFINED
#undef yyget_extra
#endif
#ifndef cmDependsJava_yyset_extra_ALREADY_DEFINED
#undef yyset_extra
#endif
#ifndef cmDependsJava_yyget_in_ALREADY_DEFINED
#undef yyget_in
#endif
#ifndef cmDependsJava_yyset_in_ALREADY_DEFINED
#undef yyset_in
#endif
#ifndef cmDependsJava_yyget_out_ALREADY_DEFINED
#undef yyget_out
#endif
#ifndef cmDependsJava_yyset_out_ALREADY_DEFINED
#undef yyset_out
#endif
#ifndef cmDependsJava_yyget_leng_ALREADY_DEFINED
#undef yyget_leng
#endif
#ifndef cmDependsJava_yyget_text_ALREADY_DEFINED
#undef yyget_text
#endif
#ifndef cmDependsJava_yyget_lineno_ALREADY_DEFINED
#undef yyget_lineno
#endif
#ifndef cmDependsJava_yyset_lineno_ALREADY_DEFINED
#undef yyset_lineno
#endif
#ifndef cmDependsJava_yyget_column_ALREADY_DEFINED
#undef yyget_column
#endif
#ifndef cmDependsJava_yyset_column_ALREADY_DEFINED
#undef yyset_column
#endif
#ifndef cmDependsJava_yywrap_ALREADY_DEFINED
#undef yywrap
#endif
#ifndef cmDependsJava_yyget_lval_ALREADY_DEFINED
#undef yyget_lval
#endif
#ifndef cmDependsJava_yyset_lval_ALREADY_DEFINED
#undef yyset_lval
#endif
#ifndef cmDependsJava_yyget_lloc_ALREADY_DEFINED
#undef yyget_lloc
#endif
#ifndef cmDependsJava_yyset_lloc_ALREADY_DEFINED
#undef yyset_lloc
#endif
#ifndef cmDependsJava_yyalloc_ALREADY_DEFINED
#undef yyalloc
#endif
#ifndef cmDependsJava_yyrealloc_ALREADY_DEFINED
#undef yyrealloc
#endif
#ifndef cmDependsJava_yyfree_ALREADY_DEFINED
#undef yyfree
#endif
#ifndef cmDependsJava_yytext_ALREADY_DEFINED
#undef yytext
#endif
#ifndef cmDependsJava_yyleng_ALREADY_DEFINED
#undef yyleng
#endif
#ifndef cmDependsJava_yyin_ALREADY_DEFINED
#undef yyin
#endif
#ifndef cmDependsJava_yyout_ALREADY_DEFINED
#undef yyout
#endif
#ifndef cmDependsJava_yy_flex_debug_ALREADY_DEFINED
#undef yy_flex_debug
#endif
#ifndef cmDependsJava_yylineno_ALREADY_DEFINED
#undef yylineno
#endif
#ifndef cmDependsJava_yytables_fload_ALREADY_DEFINED
#undef yytables_fload
#endif
#ifndef cmDependsJava_yytables_destroy_ALREADY_DEFINED
#undef yytables_destroy
#endif
#ifndef cmDependsJava_yyTABLES_NAME_ALREADY_DEFINED
#undef yyTABLES_NAME
#endif
#line 335 "cmDependsJavaLexer.h"
#undef cmDependsJava_yyIN_HEADER
#endif /* cmDependsJava_yyHEADER_H */

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=cmDependsJava_yy --header-file=cmDependsJavaLexer.h -ocmDependsJavaLexer.cxx cmDependsJavaLexer.in.l
flex --nounistd -DFLEXINT_H --noline --header-file=cmDependsJavaLexer.h -ocmDependsJavaLexer.cxx cmDependsJavaLexer.in.l
Modify cmDependsJavaLexer.cxx:
- remove trailing whitespace: sed -i 's/\s*$//' cmDependsJavaLexer.h cmDependsJavaLexer.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*$//' cmDependsJavaLexer.h cmDependsJavaLexer.cxx
- remove blank lines at end of file: sed -i '${/^$/d;}' cmDependsJavaLexer.h cmDependsJavaLexer.cxx
- #include "cmStandardLexer.h" at the top: sed -i '1i#include "cmStandardLexer.h"' cmDependsJavaLexer.cxx
*/
@@ -38,6 +37,8 @@ Modify cmDependsJavaLexer.cxx:
/*--------------------------------------------------------------------------*/
%}
%option prefix="cmDependsJava_yy"
%option reentrant
%option noyywrap
%pointer