ENH: Changed over to using C++ for building flex/bison generated files. It reduces the number of changes that need to be made after generation.
This commit is contained in:
parent
51db85934f
commit
04e56bf7ff
@ -14,8 +14,8 @@ SET(SRCS
|
|||||||
cmDependsC.h
|
cmDependsC.h
|
||||||
cmDependsFortran.cxx
|
cmDependsFortran.cxx
|
||||||
cmDependsFortran.h
|
cmDependsFortran.h
|
||||||
cmDependsFortranLexer.c
|
cmDependsFortranLexer.cxx
|
||||||
cmDependsFortranParser.c
|
cmDependsFortranParser.cxx
|
||||||
cmDependsFortranParser.h
|
cmDependsFortranParser.h
|
||||||
cmDependsJavaLexer.cxx
|
cmDependsJavaLexer.cxx
|
||||||
cmDependsJavaParser.cxx
|
cmDependsJavaParser.cxx
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
#include "cmSystemTools.h"
|
#include "cmSystemTools.h"
|
||||||
|
|
||||||
#include "cmDependsFortranLexer.h" /* Interface to lexer object. */
|
|
||||||
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -26,15 +25,14 @@
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Parser methods not included in generated interface.
|
// Parser methods not included in generated interface.
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
// Get the current buffer processed by the lexer.
|
|
||||||
YY_BUFFER_STATE cmDependsFortranLexer_GetCurrentBuffer(yyscan_t yyscanner);
|
|
||||||
|
|
||||||
// The parser entry point.
|
// Get the current buffer processed by the lexer.
|
||||||
int cmDependsFortran_yyparse(yyscan_t);
|
YY_BUFFER_STATE cmDependsFortranLexer_GetCurrentBuffer(yyscan_t yyscanner);
|
||||||
}
|
|
||||||
|
|
||||||
|
// The parser entry point.
|
||||||
|
int cmDependsFortran_yyparse(yyscan_t);
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
// Define parser object internal structure.
|
// Define parser object internal structure.
|
||||||
struct cmDependsFortranFile
|
struct cmDependsFortranFile
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#line 2 "cmDependsFortranLexer.c"
|
#line 2 "cmDependsFortranLexer.cxx"
|
||||||
|
|
||||||
#line 4 "cmDependsFortranLexer.c"
|
#line 4 "cmDependsFortranLexer.cxx"
|
||||||
|
|
||||||
#define YY_INT_ALIGNED short int
|
#define YY_INT_ALIGNED short int
|
||||||
|
|
||||||
@ -626,30 +626,22 @@ This file must be translated to C and modified to build everywhere.
|
|||||||
|
|
||||||
Run flex like this:
|
Run flex like this:
|
||||||
|
|
||||||
flex --prefix=cmDependsFortran_yy --header-file=cmDependsFortranLexer.h -ocmDependsFortranLexer.c cmDependsFortranLexer.in.l
|
flex --prefix=cmDependsFortran_yy --header-file=cmDependsFortranLexer.h -ocmDependsFortranLexer.cxx cmDependsFortranLexer.in.l
|
||||||
|
|
||||||
Modify cmDependsFortranLexer.c:
|
Modify cmDependsFortranLexer.cxx:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
- add a statement "(void)yyscanner;" to the top of these methods:
|
- remove "yyscanner" argument from these methods:
|
||||||
yy_fatal_error, cmDependsFortran_yyalloc, cmDependsFortran_yyrealloc, cmDependsFortran_yyfree
|
yy_fatal_error, cmDependsFortran_yyalloc, cmDependsFortran_yyrealloc, cmDependsFortran_yyfree
|
||||||
- remove all YY_BREAK lines occurring right after return statements
|
|
||||||
|
|
||||||
Modify cmDependsFortranLexer.h:
|
Modify cmDependsFortranLexer.h:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
- remove the yy_init_globals function
|
- remove the yy_init_globals function
|
||||||
- add these lines around all function declarations:
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
...
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
- remove the block that includes unistd.h
|
- remove the block that includes unistd.h
|
||||||
|
- remove #line directives (avoids bogus warning on old Sun)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define cmDependsFortranLexer_cxx
|
||||||
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
||||||
|
|
||||||
/* Disable some warnings. */
|
/* Disable some warnings. */
|
||||||
@ -667,25 +659,29 @@ Modify cmDependsFortranLexer.h:
|
|||||||
|
|
||||||
/* Disable features we do not need. */
|
/* Disable features we do not need. */
|
||||||
#define YY_NEVER_INTERACTIVE 1
|
#define YY_NEVER_INTERACTIVE 1
|
||||||
#define YY_NO_UNISTD_H 1
|
|
||||||
#define ECHO
|
#define ECHO
|
||||||
|
|
||||||
/* Setup the proper cmDependsFortran_yylex declaration. */
|
|
||||||
#define YY_EXTRA_TYPE cmDependsFortranParser*
|
|
||||||
#define YY_DECL int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
|
|
||||||
|
|
||||||
/* Replace the lexer input function. */
|
/* Replace the lexer input function. */
|
||||||
#undef YY_INPUT
|
#undef YY_INPUT
|
||||||
#define YY_INPUT(buf, result, max_size) \
|
#define YY_INPUT(buf, result, max_size) \
|
||||||
{ result = cmDependsFortranParser_Input(yyextra, buf, max_size); }
|
{ result = cmDependsFortranParser_Input(yyextra, buf, max_size); }
|
||||||
|
|
||||||
|
/* Provide isatty on Windows. */
|
||||||
|
#if defined( _WIN32 ) && !defined( __CYGWIN__ )
|
||||||
|
# include <io.h>
|
||||||
|
# if defined( _MSC_VER )
|
||||||
|
# define isatty _isatty
|
||||||
|
# endif
|
||||||
|
# define YY_NO_UNISTD_H 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Include the set of tokens from the parser. */
|
/* Include the set of tokens from the parser. */
|
||||||
#include "cmDependsFortranParserTokens.h"
|
#include "cmDependsFortranParserTokens.h"
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
#line 689 "cmDependsFortranLexer.c"
|
#line 685 "cmDependsFortranLexer.cxx"
|
||||||
|
|
||||||
#define INITIAL 0
|
#define INITIAL 0
|
||||||
#define free_fmt 1
|
#define free_fmt 1
|
||||||
@ -907,10 +903,10 @@ YY_DECL
|
|||||||
register int yy_act;
|
register int yy_act;
|
||||||
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
||||||
|
|
||||||
#line 100 "cmDependsFortranLexer.in.l"
|
#line 96 "cmDependsFortranLexer.in.l"
|
||||||
|
|
||||||
|
|
||||||
#line 914 "cmDependsFortranLexer.c"
|
#line 910 "cmDependsFortranLexer.cxx"
|
||||||
|
|
||||||
if ( yyg->yy_init )
|
if ( yyg->yy_init )
|
||||||
{
|
{
|
||||||
@ -996,7 +992,7 @@ do_action: /* This label is used only to access EOF actions. */
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 102 "cmDependsFortranLexer.in.l"
|
#line 98 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser_StringStart(yyextra);
|
cmDependsFortranParser_StringStart(yyextra);
|
||||||
BEGIN(str_dq);
|
BEGIN(str_dq);
|
||||||
@ -1004,48 +1000,50 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 2:
|
case 2:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 107 "cmDependsFortranLexer.in.l"
|
#line 103 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser_StringStart(yyextra);
|
cmDependsFortranParser_StringStart(yyextra);
|
||||||
BEGIN(str_sq);
|
BEGIN(str_sq);
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 3:
|
case 3:
|
||||||
#line 113 "cmDependsFortranLexer.in.l"
|
#line 109 "cmDependsFortranLexer.in.l"
|
||||||
case 4:
|
case 4:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 113 "cmDependsFortranLexer.in.l"
|
#line 109 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
yylvalp->string = strdup(cmDependsFortranParser_StringEnd(yyextra));
|
yylvalp->string = strdup(cmDependsFortranParser_StringEnd(yyextra));
|
||||||
return STRING;
|
return STRING;
|
||||||
}
|
}
|
||||||
|
YY_BREAK
|
||||||
case 5:
|
case 5:
|
||||||
/* rule 5 can match eol */
|
/* rule 5 can match eol */
|
||||||
#line 119 "cmDependsFortranLexer.in.l"
|
#line 115 "cmDependsFortranLexer.in.l"
|
||||||
case 6:
|
case 6:
|
||||||
/* rule 6 can match eol */
|
/* rule 6 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 119 "cmDependsFortranLexer.in.l"
|
#line 115 "cmDependsFortranLexer.in.l"
|
||||||
/* Ignore (continued strings, free fmt) */
|
/* Ignore (continued strings, free fmt) */
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 7:
|
case 7:
|
||||||
/* rule 7 can match eol */
|
/* rule 7 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 121 "cmDependsFortranLexer.in.l"
|
#line 117 "cmDependsFortranLexer.in.l"
|
||||||
/*Ignore (cont. strings, fixed fmt) */
|
/*Ignore (cont. strings, fixed fmt) */
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 8:
|
case 8:
|
||||||
/* rule 8 can match eol */
|
/* rule 8 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 123 "cmDependsFortranLexer.in.l"
|
#line 119 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
unput ('\n');
|
unput ('\n');
|
||||||
BEGIN(INITIAL);
|
BEGIN(INITIAL);
|
||||||
return UNTERMINATED_STRING;
|
return UNTERMINATED_STRING;
|
||||||
}
|
}
|
||||||
|
YY_BREAK
|
||||||
case 9:
|
case 9:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 129 "cmDependsFortranLexer.in.l"
|
#line 125 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser_StringAppend(yyextra, yytext[0]);
|
cmDependsFortranParser_StringAppend(yyextra, yytext[0]);
|
||||||
}
|
}
|
||||||
@ -1053,55 +1051,62 @@ YY_RULE_SETUP
|
|||||||
case 10:
|
case 10:
|
||||||
/* rule 10 can match eol */
|
/* rule 10 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 133 "cmDependsFortranLexer.in.l"
|
#line 129 "cmDependsFortranLexer.in.l"
|
||||||
{ return EOSTMT; } /* Treat comments like */
|
{ return EOSTMT; } /* Treat comments like */
|
||||||
|
YY_BREAK
|
||||||
case 11:
|
case 11:
|
||||||
/* rule 11 can match eol */
|
/* rule 11 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 134 "cmDependsFortranLexer.in.l"
|
#line 130 "cmDependsFortranLexer.in.l"
|
||||||
{ return EOSTMT; } /* empty lines */
|
{ return EOSTMT; } /* empty lines */
|
||||||
|
YY_BREAK
|
||||||
case 12:
|
case 12:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 136 "cmDependsFortranLexer.in.l"
|
#line 132 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_INCLUDE; }
|
{ return CPP_INCLUDE; }
|
||||||
|
YY_BREAK
|
||||||
case 13:
|
case 13:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 137 "cmDependsFortranLexer.in.l"
|
#line 133 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_INCLUDE; }
|
{ return F90PPR_INCLUDE; }
|
||||||
|
YY_BREAK
|
||||||
case 14:
|
case 14:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 138 "cmDependsFortranLexer.in.l"
|
#line 134 "cmDependsFortranLexer.in.l"
|
||||||
{ return COCO_INCLUDE; }
|
{ return COCO_INCLUDE; }
|
||||||
|
YY_BREAK
|
||||||
case 15:
|
case 15:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 139 "cmDependsFortranLexer.in.l"
|
#line 135 "cmDependsFortranLexer.in.l"
|
||||||
{ return F_INCLUDE; }
|
{ return F_INCLUDE; }
|
||||||
|
YY_BREAK
|
||||||
case 16:
|
case 16:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 140 "cmDependsFortranLexer.in.l"
|
#line 136 "cmDependsFortranLexer.in.l"
|
||||||
{ return USE; }
|
{ return USE; }
|
||||||
|
YY_BREAK
|
||||||
case 17:
|
case 17:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 142 "cmDependsFortranLexer.in.l"
|
#line 138 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser_SetInInterface(yyextra, 0);
|
cmDependsFortranParser_SetInInterface(yyextra, 0);
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 18:
|
case 18:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 145 "cmDependsFortranLexer.in.l"
|
#line 141 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser_SetInInterface(yyextra, 1);
|
cmDependsFortranParser_SetInInterface(yyextra, 1);
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 19:
|
case 19:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 149 "cmDependsFortranLexer.in.l"
|
#line 145 "cmDependsFortranLexer.in.l"
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 20:
|
case 20:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 150 "cmDependsFortranLexer.in.l"
|
#line 146 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
if(!cmDependsFortranParser_GetInInterface(yyextra))
|
if(!cmDependsFortranParser_GetInInterface(yyextra))
|
||||||
{
|
{
|
||||||
@ -1111,102 +1116,120 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 21:
|
case 21:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 157 "cmDependsFortranLexer.in.l"
|
#line 153 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_DEFINE; }
|
{ return CPP_DEFINE; }
|
||||||
|
YY_BREAK
|
||||||
case 22:
|
case 22:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 158 "cmDependsFortranLexer.in.l"
|
#line 154 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_DEFINE; }
|
{ return F90PPR_DEFINE; }
|
||||||
|
YY_BREAK
|
||||||
case 23:
|
case 23:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 160 "cmDependsFortranLexer.in.l"
|
#line 156 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_UNDEF; }
|
{ return CPP_UNDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 24:
|
case 24:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 161 "cmDependsFortranLexer.in.l"
|
#line 157 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_UNDEF; }
|
{ return F90PPR_UNDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 25:
|
case 25:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 163 "cmDependsFortranLexer.in.l"
|
#line 159 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_IFDEF; }
|
{ return CPP_IFDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 26:
|
case 26:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 164 "cmDependsFortranLexer.in.l"
|
#line 160 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_IFNDEF; }
|
{ return CPP_IFNDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 27:
|
case 27:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 165 "cmDependsFortranLexer.in.l"
|
#line 161 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_IF; }
|
{ return CPP_IF; }
|
||||||
|
YY_BREAK
|
||||||
case 28:
|
case 28:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 166 "cmDependsFortranLexer.in.l"
|
#line 162 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_ELIF; }
|
{ return CPP_ELIF; }
|
||||||
|
YY_BREAK
|
||||||
case 29:
|
case 29:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 167 "cmDependsFortranLexer.in.l"
|
#line 163 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_ELSE; }
|
{ return CPP_ELSE; }
|
||||||
|
YY_BREAK
|
||||||
case 30:
|
case 30:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 168 "cmDependsFortranLexer.in.l"
|
#line 164 "cmDependsFortranLexer.in.l"
|
||||||
{ return CPP_ENDIF; }
|
{ return CPP_ENDIF; }
|
||||||
|
YY_BREAK
|
||||||
case 31:
|
case 31:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 170 "cmDependsFortranLexer.in.l"
|
#line 166 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_IFDEF; }
|
{ return F90PPR_IFDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 32:
|
case 32:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 171 "cmDependsFortranLexer.in.l"
|
#line 167 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_IFNDEF; }
|
{ return F90PPR_IFNDEF; }
|
||||||
|
YY_BREAK
|
||||||
case 33:
|
case 33:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 172 "cmDependsFortranLexer.in.l"
|
#line 168 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_IF; }
|
{ return F90PPR_IF; }
|
||||||
|
YY_BREAK
|
||||||
case 34:
|
case 34:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 173 "cmDependsFortranLexer.in.l"
|
#line 169 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_ELIF; }
|
{ return F90PPR_ELIF; }
|
||||||
|
YY_BREAK
|
||||||
case 35:
|
case 35:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 174 "cmDependsFortranLexer.in.l"
|
#line 170 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_ELSE; }
|
{ return F90PPR_ELSE; }
|
||||||
|
YY_BREAK
|
||||||
case 36:
|
case 36:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 175 "cmDependsFortranLexer.in.l"
|
#line 171 "cmDependsFortranLexer.in.l"
|
||||||
{ return F90PPR_ENDIF; }
|
{ return F90PPR_ENDIF; }
|
||||||
|
YY_BREAK
|
||||||
case 37:
|
case 37:
|
||||||
/* rule 37 can match eol */
|
/* rule 37 can match eol */
|
||||||
#line 178 "cmDependsFortranLexer.in.l"
|
#line 174 "cmDependsFortranLexer.in.l"
|
||||||
case 38:
|
case 38:
|
||||||
/* rule 38 can match eol */
|
/* rule 38 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 178 "cmDependsFortranLexer.in.l"
|
#line 174 "cmDependsFortranLexer.in.l"
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 39:
|
case 39:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 181 "cmDependsFortranLexer.in.l"
|
#line 177 "cmDependsFortranLexer.in.l"
|
||||||
{ yylvalp->string = strdup(yytext); return WORD; }
|
{ yylvalp->string = strdup(yytext); return WORD; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 40:
|
case 40:
|
||||||
/* rule 40 can match eol */
|
/* rule 40 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 183 "cmDependsFortranLexer.in.l"
|
#line 179 "cmDependsFortranLexer.in.l"
|
||||||
{ return EOSTMT; }
|
{ return EOSTMT; }
|
||||||
|
YY_BREAK
|
||||||
case 41:
|
case 41:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 185 "cmDependsFortranLexer.in.l"
|
#line 181 "cmDependsFortranLexer.in.l"
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 42:
|
case 42:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 187 "cmDependsFortranLexer.in.l"
|
#line 183 "cmDependsFortranLexer.in.l"
|
||||||
{ return *yytext; }
|
{ return *yytext; }
|
||||||
|
YY_BREAK
|
||||||
case YY_STATE_EOF(INITIAL):
|
case YY_STATE_EOF(INITIAL):
|
||||||
case YY_STATE_EOF(free_fmt):
|
case YY_STATE_EOF(free_fmt):
|
||||||
case YY_STATE_EOF(fixed_fmt):
|
case YY_STATE_EOF(fixed_fmt):
|
||||||
case YY_STATE_EOF(str_sq):
|
case YY_STATE_EOF(str_sq):
|
||||||
case YY_STATE_EOF(str_dq):
|
case YY_STATE_EOF(str_dq):
|
||||||
#line 189 "cmDependsFortranLexer.in.l"
|
#line 185 "cmDependsFortranLexer.in.l"
|
||||||
{
|
{
|
||||||
if(!cmDependsFortranParser_FilePop(yyextra))
|
if(!cmDependsFortranParser_FilePop(yyextra))
|
||||||
{
|
{
|
||||||
@ -1216,10 +1239,10 @@ case YY_STATE_EOF(str_dq):
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 43:
|
case 43:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 196 "cmDependsFortranLexer.in.l"
|
#line 192 "cmDependsFortranLexer.in.l"
|
||||||
ECHO;
|
ECHO;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
#line 1250 "cmDependsFortranLexer.c"
|
#line 1246 "cmDependsFortranLexer.cxx"
|
||||||
|
|
||||||
case YY_END_OF_BUFFER:
|
case YY_END_OF_BUFFER:
|
||||||
{
|
{
|
||||||
@ -2019,9 +2042,8 @@ YY_BUFFER_STATE cmDependsFortran_yy_scan_bytes (yyconst char * bytes, int len
|
|||||||
#define YY_EXIT_FAILURE 2
|
#define YY_EXIT_FAILURE 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
|
static void yy_fatal_error (yyconst char* msg , yyscan_t)
|
||||||
{
|
{
|
||||||
(void)yyscanner;
|
|
||||||
(void) fprintf( stderr, "%s\n", msg );
|
(void) fprintf( stderr, "%s\n", msg );
|
||||||
exit( YY_EXIT_FAILURE );
|
exit( YY_EXIT_FAILURE );
|
||||||
}
|
}
|
||||||
@ -2298,15 +2320,13 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void *cmDependsFortran_yyalloc (yy_size_t size , yyscan_t yyscanner)
|
void *cmDependsFortran_yyalloc (yy_size_t size , yyscan_t)
|
||||||
{
|
{
|
||||||
(void)yyscanner;
|
|
||||||
return (void *) malloc( size );
|
return (void *) malloc( size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cmDependsFortran_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
|
void *cmDependsFortran_yyrealloc (void * ptr, yy_size_t size , yyscan_t)
|
||||||
{
|
{
|
||||||
(void)yyscanner;
|
|
||||||
/* The cast to (char *) in the following accommodates both
|
/* The cast to (char *) in the following accommodates both
|
||||||
* implementations that use char* generic pointers, and those
|
* implementations that use char* generic pointers, and those
|
||||||
* that use void* generic pointers. It works with the latter
|
* that use void* generic pointers. It works with the latter
|
||||||
@ -2317,9 +2337,8 @@ void *cmDependsFortran_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscan
|
|||||||
return (void *) realloc( (char *) ptr, size );
|
return (void *) realloc( (char *) ptr, size );
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmDependsFortran_yyfree (void * ptr , yyscan_t yyscanner)
|
void cmDependsFortran_yyfree (void * ptr , yyscan_t)
|
||||||
{
|
{
|
||||||
(void)yyscanner;
|
|
||||||
free( (char *) ptr ); /* see cmDependsFortran_yyrealloc() for (char *) cast */
|
free( (char *) ptr ); /* see cmDependsFortran_yyrealloc() for (char *) cast */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2337,7 +2356,7 @@ void cmDependsFortran_yyfree (void * ptr , yyscan_t yyscanner)
|
|||||||
#undef YY_DECL_IS_OURS
|
#undef YY_DECL_IS_OURS
|
||||||
#undef YY_DECL
|
#undef YY_DECL
|
||||||
#endif
|
#endif
|
||||||
#line 196 "cmDependsFortranLexer.in.l"
|
#line 192 "cmDependsFortranLexer.in.l"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2348,4 +2367,3 @@ YY_BUFFER_STATE cmDependsFortranLexer_GetCurrentBuffer(yyscan_t yyscanner)
|
|||||||
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
||||||
return YY_CURRENT_BUFFER;
|
return YY_CURRENT_BUFFER;
|
||||||
}
|
}
|
||||||
|
|
@ -2,10 +2,6 @@
|
|||||||
#define cmDependsFortran_yyHEADER_H 1
|
#define cmDependsFortran_yyHEADER_H 1
|
||||||
#define cmDependsFortran_yyIN_HEADER 1
|
#define cmDependsFortran_yyIN_HEADER 1
|
||||||
|
|
||||||
#line 6 "cmDependsFortranLexer.h"
|
|
||||||
|
|
||||||
#line 8 "cmDependsFortranLexer.h"
|
|
||||||
|
|
||||||
#define YY_INT_ALIGNED short int
|
#define YY_INT_ALIGNED short int
|
||||||
|
|
||||||
/* A lexical scanner generated by flex */
|
/* A lexical scanner generated by flex */
|
||||||
@ -120,14 +116,7 @@ typedef void* yyscan_t;
|
|||||||
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
|
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
|
||||||
#define yy_flex_debug yyg->yy_flex_debug_r
|
#define yy_flex_debug yyg->yy_flex_debug_r
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
int cmDependsFortran_yylex_init (yyscan_t* scanner);
|
int cmDependsFortran_yylex_init (yyscan_t* scanner);
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
|
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
|
||||||
#define YY_TYPEDEF_YY_BUFFER_STATE
|
#define YY_TYPEDEF_YY_BUFFER_STATE
|
||||||
@ -195,10 +184,6 @@ struct yy_buffer_state
|
|||||||
};
|
};
|
||||||
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
void cmDependsFortran_yyrestart (FILE *input_file ,yyscan_t yyscanner );
|
void cmDependsFortran_yyrestart (FILE *input_file ,yyscan_t yyscanner );
|
||||||
void cmDependsFortran_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
|
void cmDependsFortran_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
|
||||||
YY_BUFFER_STATE cmDependsFortran_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
|
YY_BUFFER_STATE cmDependsFortran_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
|
||||||
@ -215,10 +200,6 @@ void *cmDependsFortran_yyalloc (yy_size_t ,yyscan_t yyscanner );
|
|||||||
void *cmDependsFortran_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
|
void *cmDependsFortran_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
|
||||||
void cmDependsFortran_yyfree (void * ,yyscan_t yyscanner );
|
void cmDependsFortran_yyfree (void * ,yyscan_t yyscanner );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Begin user sect3 */
|
/* Begin user sect3 */
|
||||||
|
|
||||||
#define cmDependsFortran_yywrap(n) 1
|
#define cmDependsFortran_yywrap(n) 1
|
||||||
@ -242,11 +223,6 @@ void cmDependsFortran_yyfree (void * ,yyscan_t yyscanner );
|
|||||||
/* Accessor methods to globals.
|
/* Accessor methods to globals.
|
||||||
These are made visible to non-reentrant scanners for convenience. */
|
These are made visible to non-reentrant scanners for convenience. */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int cmDependsFortran_yylex_destroy (yyscan_t yyscanner );
|
int cmDependsFortran_yylex_destroy (yyscan_t yyscanner );
|
||||||
|
|
||||||
int cmDependsFortran_yyget_debug (yyscan_t yyscanner );
|
int cmDependsFortran_yyget_debug (yyscan_t yyscanner );
|
||||||
@ -273,10 +249,6 @@ int cmDependsFortran_yyget_lineno (yyscan_t yyscanner );
|
|||||||
|
|
||||||
void cmDependsFortran_yyset_lineno (int line_number ,yyscan_t yyscanner );
|
void cmDependsFortran_yyset_lineno (int line_number ,yyscan_t yyscanner );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Macros after this point can all be overridden by user definitions in
|
/* Macros after this point can all be overridden by user definitions in
|
||||||
* section 1.
|
* section 1.
|
||||||
*/
|
*/
|
||||||
@ -336,9 +308,6 @@ extern int cmDependsFortran_yylex (yyscan_t yyscanner);
|
|||||||
#undef YY_DECL_IS_OURS
|
#undef YY_DECL_IS_OURS
|
||||||
#undef YY_DECL
|
#undef YY_DECL
|
||||||
#endif
|
#endif
|
||||||
#line 196 "cmDependsFortranLexer.in.l"
|
|
||||||
|
|
||||||
|
|
||||||
#line 329 "cmDependsFortranLexer.h"
|
|
||||||
#undef cmDependsFortran_yyIN_HEADER
|
#undef cmDependsFortran_yyIN_HEADER
|
||||||
#endif /* cmDependsFortran_yyHEADER_H */
|
#endif /* cmDependsFortran_yyHEADER_H */
|
||||||
|
@ -31,30 +31,22 @@ This file must be translated to C and modified to build everywhere.
|
|||||||
|
|
||||||
Run flex like this:
|
Run flex like this:
|
||||||
|
|
||||||
flex --prefix=cmDependsFortran_yy --header-file=cmDependsFortranLexer.h -ocmDependsFortranLexer.c cmDependsFortranLexer.in.l
|
flex --prefix=cmDependsFortran_yy --header-file=cmDependsFortranLexer.h -ocmDependsFortranLexer.cxx cmDependsFortranLexer.in.l
|
||||||
|
|
||||||
Modify cmDependsFortranLexer.c:
|
Modify cmDependsFortranLexer.cxx:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
- add a statement "(void)yyscanner;" to the top of these methods:
|
- remove "yyscanner" argument from these methods:
|
||||||
yy_fatal_error, yyalloc, yyrealloc, yyfree
|
yy_fatal_error, yyalloc, yyrealloc, yyfree
|
||||||
- remove all YY_BREAK lines occurring right after return statements
|
|
||||||
|
|
||||||
Modify cmDependsFortranLexer.h:
|
Modify cmDependsFortranLexer.h:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
- remove the yy_init_globals function
|
- remove the yy_init_globals function
|
||||||
- add these lines around all function declarations:
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
...
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
- remove the block that includes unistd.h
|
- remove the block that includes unistd.h
|
||||||
|
- remove #line directives (avoids bogus warning on old Sun)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define cmDependsFortranLexer_cxx
|
||||||
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
||||||
|
|
||||||
/* Disable some warnings. */
|
/* Disable some warnings. */
|
||||||
@ -72,18 +64,22 @@ Modify cmDependsFortranLexer.h:
|
|||||||
|
|
||||||
/* Disable features we do not need. */
|
/* Disable features we do not need. */
|
||||||
#define YY_NEVER_INTERACTIVE 1
|
#define YY_NEVER_INTERACTIVE 1
|
||||||
#define YY_NO_UNISTD_H 1
|
|
||||||
#define ECHO
|
#define ECHO
|
||||||
|
|
||||||
/* Setup the proper yylex declaration. */
|
|
||||||
#define YY_EXTRA_TYPE cmDependsFortranParser*
|
|
||||||
#define YY_DECL int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
|
|
||||||
|
|
||||||
/* Replace the lexer input function. */
|
/* Replace the lexer input function. */
|
||||||
#undef YY_INPUT
|
#undef YY_INPUT
|
||||||
#define YY_INPUT(buf, result, max_size) \
|
#define YY_INPUT(buf, result, max_size) \
|
||||||
{ result = cmDependsFortranParser_Input(yyextra, buf, max_size); }
|
{ result = cmDependsFortranParser_Input(yyextra, buf, max_size); }
|
||||||
|
|
||||||
|
/* Provide isatty on Windows. */
|
||||||
|
#if defined( _WIN32 ) && !defined( __CYGWIN__ )
|
||||||
|
# include <io.h>
|
||||||
|
# if defined( _MSC_VER )
|
||||||
|
# define isatty _isatty
|
||||||
|
# endif
|
||||||
|
# define YY_NO_UNISTD_H 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Include the set of tokens from the parser. */
|
/* Include the set of tokens from the parser. */
|
||||||
#include "cmDependsFortranParserTokens.h"
|
#include "cmDependsFortranParserTokens.h"
|
||||||
|
|
||||||
|
@ -157,30 +157,34 @@ This file must be translated to C and modified to build everywhere.
|
|||||||
|
|
||||||
Run bison like this:
|
Run bison like this:
|
||||||
|
|
||||||
bison --yacc --name-prefix=cmDependsFortran_yy --defines=cmDependsFortranParserTokens.h -ocmDependsFortranParser.c cmDependsFortranParser.y
|
bison --yacc --name-prefix=cmDependsFortran_yy --defines=cmDependsFortranParserTokens.h -ocmDependsFortranParser.cxx cmDependsFortranParser.y
|
||||||
|
|
||||||
Modify cmDependsFortranParser.c:
|
Modify cmDependsFortranParser.cxx:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------*/
|
||||||
|
#define cmDependsFortranParser_cxx
|
||||||
|
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
||||||
|
#include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
|
||||||
|
|
||||||
/* Configure the parser to use a lexer object. */
|
/* Configure the parser to use a lexer object. */
|
||||||
#define YYPARSE_PARAM yyscanner
|
#define YYPARSE_PARAM yyscanner
|
||||||
#define YYLEX_PARAM yyscanner
|
#define YYLEX_PARAM yyscanner
|
||||||
#define YY_DECL int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
|
|
||||||
#define YYERROR_VERBOSE 1
|
#define YYERROR_VERBOSE 1
|
||||||
#define cmDependsFortran_yyerror(x) \
|
#define cmDependsFortran_yyerror(x) \
|
||||||
cmDependsFortranError(yyscanner, x)
|
cmDependsFortranError(yyscanner, x)
|
||||||
|
|
||||||
#include "cmDependsFortranLexer.h" /* Interface to lexer object. */
|
|
||||||
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
|
||||||
#include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
|
|
||||||
|
|
||||||
/* Forward declare the lexer entry point. */
|
/* Forward declare the lexer entry point. */
|
||||||
YY_DECL;
|
YY_DECL;
|
||||||
|
|
||||||
/* Internal utility functions. */
|
/* Helper function to forward error callback. */
|
||||||
static void cmDependsFortranError(yyscan_t yyscanner, const char* message);
|
static void cmDependsFortranError(yyscan_t yyscanner, const char* message)
|
||||||
|
{
|
||||||
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
|
cmDependsFortranParser_Error(parser, message);
|
||||||
|
}
|
||||||
|
|
||||||
/* Disable some warnings in the generated code. */
|
/* Disable some warnings in the generated code. */
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
@ -205,12 +209,12 @@ static void cmDependsFortranError(yyscan_t yyscanner, const char* message);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||||
#line 71 "cmDependsFortranParser.y"
|
#line 75 "cmDependsFortranParser.y"
|
||||||
typedef union YYSTYPE {
|
typedef union YYSTYPE {
|
||||||
char* string;
|
char* string;
|
||||||
} YYSTYPE;
|
} YYSTYPE;
|
||||||
/* Line 191 of yacc.c. */
|
/* Line 191 of yacc.c. */
|
||||||
#line 214 "cmDependsFortranParser.c"
|
#line 218 "cmDependsFortranParser.cxx"
|
||||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
# define YYSTYPE_IS_DECLARED 1
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
@ -222,7 +226,7 @@ typedef union YYSTYPE {
|
|||||||
|
|
||||||
|
|
||||||
/* Line 214 of yacc.c. */
|
/* Line 214 of yacc.c. */
|
||||||
#line 226 "cmDependsFortranParser.c"
|
#line 230 "cmDependsFortranParser.cxx"
|
||||||
|
|
||||||
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
||||||
|
|
||||||
@ -412,11 +416,11 @@ static const yysigned_char yyrhs[] =
|
|||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
static const unsigned char yyrline[] =
|
static const unsigned char yyrline[] =
|
||||||
{
|
{
|
||||||
0, 85, 85, 85, 88, 94, 100, 101, 107, 113,
|
0, 93, 93, 93, 96, 102, 108, 109, 115, 121,
|
||||||
119, 125, 131, 136, 141, 146, 151, 154, 154, 155,
|
127, 133, 139, 144, 149, 154, 159, 162, 162, 163,
|
||||||
155, 155, 155, 156, 156, 157, 157, 158, 158, 159,
|
163, 163, 163, 164, 164, 165, 165, 166, 166, 167,
|
||||||
159, 160, 160, 161, 161, 162, 162, 163, 163, 164,
|
167, 168, 168, 169, 169, 170, 170, 171, 171, 172,
|
||||||
164, 167, 168, 169
|
172, 175, 176, 177
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1161,7 +1165,7 @@ yyreduce:
|
|||||||
switch (yyn)
|
switch (yyn)
|
||||||
{
|
{
|
||||||
case 4:
|
case 4:
|
||||||
#line 89 "cmDependsFortranParser.y"
|
#line 97 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleUse(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleUse(parser, yyvsp[-2].string);
|
||||||
@ -1170,7 +1174,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
#line 95 "cmDependsFortranParser.y"
|
#line 103 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleInclude(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleInclude(parser, yyvsp[-2].string);
|
||||||
@ -1179,7 +1183,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
#line 102 "cmDependsFortranParser.y"
|
#line 110 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleModule(parser, yyvsp[-1].string);
|
cmDependsFortranParser_RuleModule(parser, yyvsp[-1].string);
|
||||||
@ -1188,7 +1192,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 8:
|
case 8:
|
||||||
#line 108 "cmDependsFortranParser.y"
|
#line 116 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleDefine(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleDefine(parser, yyvsp[-2].string);
|
||||||
@ -1197,7 +1201,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 9:
|
case 9:
|
||||||
#line 114 "cmDependsFortranParser.y"
|
#line 122 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleUndef(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleUndef(parser, yyvsp[-2].string);
|
||||||
@ -1206,7 +1210,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 10:
|
case 10:
|
||||||
#line 120 "cmDependsFortranParser.y"
|
#line 128 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleIfdef(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleIfdef(parser, yyvsp[-2].string);
|
||||||
@ -1215,7 +1219,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 11:
|
case 11:
|
||||||
#line 126 "cmDependsFortranParser.y"
|
#line 134 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleIfndef(parser, yyvsp[-2].string);
|
cmDependsFortranParser_RuleIfndef(parser, yyvsp[-2].string);
|
||||||
@ -1224,7 +1228,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 12:
|
case 12:
|
||||||
#line 132 "cmDependsFortranParser.y"
|
#line 140 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleIf(parser);
|
cmDependsFortranParser_RuleIf(parser);
|
||||||
@ -1232,7 +1236,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 13:
|
case 13:
|
||||||
#line 137 "cmDependsFortranParser.y"
|
#line 145 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleElif(parser);
|
cmDependsFortranParser_RuleElif(parser);
|
||||||
@ -1240,7 +1244,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 14:
|
case 14:
|
||||||
#line 142 "cmDependsFortranParser.y"
|
#line 150 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleElse(parser);
|
cmDependsFortranParser_RuleElse(parser);
|
||||||
@ -1248,7 +1252,7 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 15:
|
case 15:
|
||||||
#line 147 "cmDependsFortranParser.y"
|
#line 155 "cmDependsFortranParser.y"
|
||||||
{
|
{
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
cmDependsFortranParser_RuleEndif(parser);
|
cmDependsFortranParser_RuleEndif(parser);
|
||||||
@ -1256,12 +1260,12 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 41:
|
case 41:
|
||||||
#line 167 "cmDependsFortranParser.y"
|
#line 175 "cmDependsFortranParser.y"
|
||||||
{ free (yyvsp[0].string); }
|
{ free (yyvsp[0].string); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42:
|
case 42:
|
||||||
#line 168 "cmDependsFortranParser.y"
|
#line 176 "cmDependsFortranParser.y"
|
||||||
{ free (yyvsp[0].string); }
|
{ free (yyvsp[0].string); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1269,7 +1273,7 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Line 1010 of yacc.c. */
|
/* Line 1010 of yacc.c. */
|
||||||
#line 1273 "cmDependsFortranParser.c"
|
#line 1277 "cmDependsFortranParser.cxx"
|
||||||
|
|
||||||
yyvsp -= yylen;
|
yyvsp -= yylen;
|
||||||
yyssp -= yylen;
|
yyssp -= yylen;
|
||||||
@ -1494,12 +1498,7 @@ yyreturn:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#line 172 "cmDependsFortranParser.y"
|
#line 180 "cmDependsFortranParser.y"
|
||||||
|
|
||||||
|
/* End of grammar */
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
void cmDependsFortranError(yyscan_t yyscanner, const char* message)
|
|
||||||
{
|
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
|
||||||
cmDependsFortranParser_Error(parser, message);
|
|
||||||
}
|
|
@ -17,14 +17,11 @@
|
|||||||
#ifndef cmDependsFortranParser_h
|
#ifndef cmDependsFortranParser_h
|
||||||
#define cmDependsFortranParser_h
|
#define cmDependsFortranParser_h
|
||||||
|
|
||||||
|
#include <stddef.h> /* size_t */
|
||||||
|
|
||||||
/* Forward declare parser object type. */
|
/* Forward declare parser object type. */
|
||||||
typedef struct cmDependsFortranParser_s cmDependsFortranParser;
|
typedef struct cmDependsFortranParser_s cmDependsFortranParser;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Functions to enter/exit #include'd files in order. */
|
/* Functions to enter/exit #include'd files in order. */
|
||||||
int cmDependsFortranParser_FilePush(cmDependsFortranParser* parser,
|
int cmDependsFortranParser_FilePush(cmDependsFortranParser* parser,
|
||||||
const char* fname);
|
const char* fname);
|
||||||
@ -63,8 +60,26 @@ void cmDependsFortranParser_RuleElif(cmDependsFortranParser* parser);
|
|||||||
void cmDependsFortranParser_RuleElse(cmDependsFortranParser* parser);
|
void cmDependsFortranParser_RuleElse(cmDependsFortranParser* parser);
|
||||||
void cmDependsFortranParser_RuleEndif(cmDependsFortranParser* parser);
|
void cmDependsFortranParser_RuleEndif(cmDependsFortranParser* parser);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
/* Define the parser stack element type. */
|
||||||
} /* extern "C" */
|
typedef union cmDependsFortran_yystype_u cmDependsFortran_yystype;
|
||||||
|
union cmDependsFortran_yystype_u
|
||||||
|
{
|
||||||
|
char* string;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Setup the proper yylex interface. */
|
||||||
|
#define YY_EXTRA_TYPE cmDependsFortranParser*
|
||||||
|
#define YY_DECL int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
|
||||||
|
#define YYSTYPE cmDependsFortran_yystype
|
||||||
|
#define YYSTYPE_IS_DECLARED 1
|
||||||
|
#if !defined(cmDependsFortranLexer_cxx)
|
||||||
|
# include "cmDependsFortranLexer.h"
|
||||||
|
#endif
|
||||||
|
#if !defined(cmDependsFortranLexer_cxx) && !defined(cmDependsFortranParser_cxx)
|
||||||
|
# undef YY_EXTRA_TYPE
|
||||||
|
# undef YY_DECL
|
||||||
|
# undef YYSTYPE
|
||||||
|
# undef YYSTYPE_IS_DECLARED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -31,31 +31,34 @@ This file must be translated to C and modified to build everywhere.
|
|||||||
|
|
||||||
Run bison like this:
|
Run bison like this:
|
||||||
|
|
||||||
bison --yacc --name-prefix=cmDependsFortran_yy --defines=cmDependsFortranParserTokens.h -ocmDependsFortranParser.c cmDependsFortranParser.y
|
bison --yacc --name-prefix=cmDependsFortran_yy --defines=cmDependsFortranParserTokens.h -ocmDependsFortranParser.cxx cmDependsFortranParser.y
|
||||||
|
|
||||||
Modify cmDependsFortranParser.c:
|
Modify cmDependsFortranParser.cxx:
|
||||||
- remove TABs
|
- remove TABs
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------*/
|
||||||
|
#define cmDependsFortranParser_cxx
|
||||||
|
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
||||||
|
#include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
|
||||||
|
|
||||||
/* Configure the parser to use a lexer object. */
|
/* Configure the parser to use a lexer object. */
|
||||||
#define YYPARSE_PARAM yyscanner
|
#define YYPARSE_PARAM yyscanner
|
||||||
#define YYLEX_PARAM yyscanner
|
#define YYLEX_PARAM yyscanner
|
||||||
#define YY_DECL int cmDependsFortran_yylex(YYSTYPE* yylvalp, yyscan_t yyscanner)
|
|
||||||
#define YYERROR_VERBOSE 1
|
#define YYERROR_VERBOSE 1
|
||||||
#define cmDependsFortran_yyerror(x) \
|
#define cmDependsFortran_yyerror(x) \
|
||||||
cmDependsFortranError(yyscanner, x)
|
cmDependsFortranError(yyscanner, x)
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
#include "cmDependsFortranLexer.h" /* Interface to lexer object. */
|
|
||||||
#include "cmDependsFortranParser.h" /* Interface to parser object. */
|
|
||||||
#include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
|
|
||||||
|
|
||||||
/* Forward declare the lexer entry point. */
|
/* Forward declare the lexer entry point. */
|
||||||
YY_DECL;
|
YY_DECL;
|
||||||
|
|
||||||
/* Internal utility functions. */
|
/* Helper function to forward error callback. */
|
||||||
static void cmDependsFortranError(yyscan_t yyscanner, const char* message);
|
static void cmDependsFortranError(yyscan_t yyscanner, const char* message)
|
||||||
|
{
|
||||||
|
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
||||||
|
cmDependsFortranParser_Error(parser, message);
|
||||||
|
}
|
||||||
|
|
||||||
/* Disable some warnings in the generated code. */
|
/* Disable some warnings in the generated code. */
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
@ -176,10 +179,3 @@ misc_code:
|
|||||||
|
|
||||||
%%
|
%%
|
||||||
/* End of grammar */
|
/* End of grammar */
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
void cmDependsFortranError(yyscan_t yyscanner, const char* message)
|
|
||||||
{
|
|
||||||
cmDependsFortranParser* parser = cmDependsFortran_yyget_extra(yyscanner);
|
|
||||||
cmDependsFortranParser_Error(parser, message);
|
|
||||||
}
|
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||||
#line 71 "cmDependsFortranParser.y"
|
#line 75 "cmDependsFortranParser.y"
|
||||||
typedef union YYSTYPE {
|
typedef union YYSTYPE {
|
||||||
char* string;
|
char* string;
|
||||||
} YYSTYPE;
|
} YYSTYPE;
|
||||||
|
Loading…
Reference in New Issue
Block a user