cmFortranLexer: Update to flex 2.6
Revise the documented modifications we need to make to the flex-generated source file according to the needs of the new version. Also drop the duplicate copyright notice block from the generated file.
This commit is contained in:
parent
e11cd31fa0
commit
f70c71c5a9
|
@ -3,3 +3,5 @@ cm_sha2.* whitespace=indent-with-non-tab
|
|||
|
||||
# Preserve indentation style in generated code.
|
||||
cmListFileLexer.c whitespace=-tab-in-indent,-indent-with-non-tab
|
||||
cmFortranLexer.cxx whitespace=-tab-in-indent,-indent-with-non-tab
|
||||
cmFortranLexer.h whitespace=-tab-in-indent,-indent-with-non-tab
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,26 +1,19 @@
|
|||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2000-2015 Kitware, Inc., Insight Software Consortium
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef cmFortran_yyHEADER_H
|
||||
#define cmFortran_yyHEADER_H 1
|
||||
#define cmFortran_yyIN_HEADER 1
|
||||
|
||||
#line 6 "cmFortranLexer.h"
|
||||
|
||||
#line 8 "cmFortranLexer.h"
|
||||
|
||||
#define YY_INT_ALIGNED short int
|
||||
|
||||
/* A lexical scanner generated by flex */
|
||||
|
||||
#define FLEX_SCANNER
|
||||
#define YY_FLEX_MAJOR_VERSION 2
|
||||
#define YY_FLEX_MINOR_VERSION 5
|
||||
#define YY_FLEX_SUBMINOR_VERSION 39
|
||||
#define YY_FLEX_MINOR_VERSION 6
|
||||
#define YY_FLEX_SUBMINOR_VERSION 1
|
||||
#if YY_FLEX_SUBMINOR_VERSION > 0
|
||||
#define FLEX_BETA
|
||||
#endif
|
||||
|
@ -99,25 +92,13 @@ typedef unsigned int flex_uint32_t;
|
|||
|
||||
#endif /* ! FLEXINT_H */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
/* The "const" storage-class-modifier is valid. */
|
||||
#define YY_USE_CONST
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
/* C99 requires __STDC__ to be defined as 1. */
|
||||
#if defined (__STDC__)
|
||||
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* defined (__STDC__) */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
#ifdef YY_USE_CONST
|
||||
/* TODO: this is always defined, so inline it */
|
||||
#define yyconst const
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ >= 3
|
||||
#define yynoreturn __attribute__((__noreturn__))
|
||||
#else
|
||||
#define yyconst
|
||||
#define yynoreturn
|
||||
#endif
|
||||
|
||||
/* An opaque pointer. */
|
||||
|
@ -163,52 +144,52 @@ typedef size_t yy_size_t;
|
|||
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
||||
#define YY_STRUCT_YY_BUFFER_STATE
|
||||
struct yy_buffer_state
|
||||
{
|
||||
FILE *yy_input_file;
|
||||
{
|
||||
FILE *yy_input_file;
|
||||
|
||||
char *yy_ch_buf; /* input buffer */
|
||||
char *yy_buf_pos; /* current position in input buffer */
|
||||
char *yy_ch_buf; /* input buffer */
|
||||
char *yy_buf_pos; /* current position in input buffer */
|
||||
|
||||
/* Size of input buffer in bytes, not including room for EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_buf_size;
|
||||
/* Size of input buffer in bytes, not including room for EOB
|
||||
* characters.
|
||||
*/
|
||||
int yy_buf_size;
|
||||
|
||||
/* Number of characters read into yy_ch_buf, not including EOB
|
||||
* characters.
|
||||
*/
|
||||
yy_size_t yy_n_chars;
|
||||
/* 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 we "own" the buffer - i.e., we know we created it,
|
||||
* and can realloc() it to grow it, and should free() it to
|
||||
* delete it.
|
||||
*/
|
||||
int yy_is_our_buffer;
|
||||
|
||||
/* Whether this is an "interactive" input source; if so, and
|
||||
* if we're using stdio for input, then we want to use getc()
|
||||
* instead of fread(), to make sure we stop fetching input after
|
||||
* each newline.
|
||||
*/
|
||||
int yy_is_interactive;
|
||||
/* Whether this is an "interactive" input source; if so, and
|
||||
* if we're using stdio for input, then we want to use getc()
|
||||
* instead of fread(), to make sure we stop fetching input after
|
||||
* each newline.
|
||||
*/
|
||||
int yy_is_interactive;
|
||||
|
||||
/* Whether we're considered to be at the beginning of a line.
|
||||
* If so, '^' rules will be active on the next match, otherwise
|
||||
* not.
|
||||
*/
|
||||
int yy_at_bol;
|
||||
/* Whether 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;
|
||||
|
||||
int yy_bs_lineno; /**< The line count. */
|
||||
int yy_bs_column; /**< The column count. */
|
||||
|
||||
/* Whether to try to fill the input buffer when we reach the
|
||||
* end of it.
|
||||
*/
|
||||
int yy_fill_buffer;
|
||||
/* Whether to try to fill the input buffer when we reach the
|
||||
* end of it.
|
||||
*/
|
||||
int yy_fill_buffer;
|
||||
|
||||
int yy_buffer_status;
|
||||
int yy_buffer_status;
|
||||
|
||||
};
|
||||
};
|
||||
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
||||
|
||||
void cmFortran_yyrestart (FILE *input_file ,yyscan_t yyscanner );
|
||||
|
@ -221,7 +202,7 @@ void cmFortran_yypop_buffer_state (yyscan_t yyscanner );
|
|||
|
||||
YY_BUFFER_STATE cmFortran_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE cmFortran_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE cmFortran_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
|
||||
YY_BUFFER_STATE cmFortran_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
|
||||
|
||||
void *cmFortran_yyalloc (yy_size_t ,yyscan_t yyscanner );
|
||||
void *cmFortran_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
|
||||
|
@ -229,7 +210,7 @@ void cmFortran_yyfree (void * ,yyscan_t yyscanner );
|
|||
|
||||
/* Begin user sect3 */
|
||||
|
||||
#define cmFortran_yywrap(yyscanner) 1
|
||||
#define cmFortran_yywrap(yyscanner) (/*CONSTCOND*/1)
|
||||
#define YY_SKIP_YYWRAP
|
||||
|
||||
#define yytext_ptr yytext_r
|
||||
|
@ -243,6 +224,14 @@ void cmFortran_yyfree (void * ,yyscan_t yyscanner );
|
|||
|
||||
#endif
|
||||
|
||||
#ifndef YY_NO_UNISTD_H
|
||||
/* Special case for "unistd.h", since it is non-ANSI. We include it way
|
||||
* down here because we want the user's section 1 to have been scanned first.
|
||||
* The user has a chance to override it with an option.
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifndef YY_EXTRA_TYPE
|
||||
#define YY_EXTRA_TYPE void *
|
||||
#endif
|
||||
|
@ -266,23 +255,23 @@ void cmFortran_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
|
|||
|
||||
FILE *cmFortran_yyget_in (yyscan_t yyscanner );
|
||||
|
||||
void cmFortran_yyset_in (FILE * in_str ,yyscan_t yyscanner );
|
||||
void cmFortran_yyset_in (FILE * _in_str ,yyscan_t yyscanner );
|
||||
|
||||
FILE *cmFortran_yyget_out (yyscan_t yyscanner );
|
||||
|
||||
void cmFortran_yyset_out (FILE * out_str ,yyscan_t yyscanner );
|
||||
void cmFortran_yyset_out (FILE * _out_str ,yyscan_t yyscanner );
|
||||
|
||||
yy_size_t cmFortran_yyget_leng (yyscan_t yyscanner );
|
||||
int cmFortran_yyget_leng (yyscan_t yyscanner );
|
||||
|
||||
char *cmFortran_yyget_text (yyscan_t yyscanner );
|
||||
|
||||
int cmFortran_yyget_lineno (yyscan_t yyscanner );
|
||||
|
||||
void cmFortran_yyset_lineno (int line_number ,yyscan_t yyscanner );
|
||||
void cmFortran_yyset_lineno (int _line_number ,yyscan_t yyscanner );
|
||||
|
||||
int cmFortran_yyget_column (yyscan_t yyscanner );
|
||||
|
||||
void cmFortran_yyset_column (int column_no ,yyscan_t yyscanner );
|
||||
void cmFortran_yyset_column (int _column_no ,yyscan_t yyscanner );
|
||||
|
||||
/* Macros after this point can all be overridden by user definitions in
|
||||
* section 1.
|
||||
|
@ -348,5 +337,9 @@ extern int cmFortran_yylex (yyscan_t yyscanner);
|
|||
#undef YY_DECL
|
||||
#endif
|
||||
|
||||
#line 176 "cmFortranLexer.in.l"
|
||||
|
||||
|
||||
#line 344 "cmFortranLexer.h"
|
||||
#undef cmFortran_yyIN_HEADER
|
||||
#endif /* cmFortran_yyHEADER_H */
|
||||
|
|
|
@ -24,28 +24,21 @@
|
|||
|
||||
This file must be translated to C and modified to build everywhere.
|
||||
|
||||
Run flex like this:
|
||||
Run flex >= 2.6 like this:
|
||||
|
||||
flex -i --prefix=cmFortran_yy --header-file=cmFortranLexer.h -ocmFortranLexer.cxx cmFortranLexer.in.l
|
||||
|
||||
Modify cmFortranLexer.cxx:
|
||||
- remove TABs
|
||||
- remove use of the 'register' storage class specifier
|
||||
- remove "yyscanner" argument from these methods:
|
||||
yy_fatal_error, cmFortran_yyalloc, cmFortran_yyrealloc, cmFortran_yyfree
|
||||
- remove trailing whitespace: sed -i 's/\s*$//' cmFortranLexer.h cmFortranLexer.cxx
|
||||
- remove blank lines at end of file
|
||||
- remove "yyscanner = NULL" from end of cmFortran_yylex_destroy
|
||||
- remove all YY_BREAK lines occurring right after return statements
|
||||
- change while ( 1 ) to for(;;)
|
||||
|
||||
Modify cmFortranLexer.h:
|
||||
- remove TABs
|
||||
- remove the yy_init_globals function
|
||||
- remove the block that includes unistd.h
|
||||
- remove #line directives (avoids bogus warning on old Sun)
|
||||
- add cast in yy_scan_bytes for loop condition of _yybytes_len to size_t
|
||||
|
||||
*/
|
||||
|
||||
#include "cmStandardLexer.h"
|
||||
#undef YY_NO_UNPUT
|
||||
|
||||
#define cmFortranLexer_cxx
|
||||
#include "cmFortranParser.h" /* Interface to parser object. */
|
||||
|
|
|
@ -73,6 +73,7 @@ union cmFortran_yystype_u
|
|||
#define YYSTYPE cmFortran_yystype
|
||||
#define YYSTYPE_IS_DECLARED 1
|
||||
#if !defined(cmFortranLexer_cxx)
|
||||
#define YY_NO_UNISTD_H
|
||||
#include "cmFortranLexer.h"
|
||||
#endif
|
||||
#if !defined(cmFortranLexer_cxx)
|
||||
|
|
Loading…
Reference in New Issue