Fixed problem with previously generated scan.c which was not case-independent.

Regenerated scan.c, and added instructions for later maintainers.
This commit is contained in:
Andrew Johnson
2006-03-28 00:11:51 +00:00
parent 51018ac066
commit e7f78a7d69
3 changed files with 495 additions and 501 deletions

View File

@@ -1,25 +1,32 @@
This is the regular GNU flex that has had its skeleton file munged with in
This is a version of the BSD flex that has had its skeleton file munged in
order to force it to build lex programs that have all their functions and
variables defined as static.
variables defined as static.
The file in Unix/share/bin/flex.skel.static is simply a copy of flex.skel that
has been altered to make all the components into static variables.
The file flex.skel.static is simply a copy of flex.skel that has been altered
to make all the components into static variables.
In order to be able to actually use the lex files produced by this flavor of
flex, you must #include them into your C programs. Otherwise they will
be uncallable (all functions are static.) This is typical of lex programs
that are used by yacc programs anyway.
be uncallable (all functions are static). This is typical of lex programs
that are used by yacc programs anyway.
--John Winans 11-18-93
The scan.c file is actually the output of scan.l.DISTRIB when run through
itself, using the regular flex.skel skeleton with the -i option.
The file Unix/share/bin/flex.skel.static has been moved to
include/flex.skel.static.
To regenerate scan.c, make sure you have a build of a working e_flex binary
somewhere, then in this directory (not an O.<arch> build directory):
--Mike Bordua 07/12/94
(NOTE TO EPICS SYSTEM MAINTATNERS... the only thing different about this flex
and the GNU distribution is the Makefile->Imakefile transition, and the
modification of the skeleton file. It should be easy enough to start over
again if you wish to remove the imake stuff... just make sure you get one that
has the same skeleton version so you can use our hacked one... or do the diff
game on them.)
% mv scan.l.DISTRIB scan.l
% /path/to/e_flex -Sflex.skel -8 -i scan.l
% mv lex.yy.c scan.c
% make
Then use the new binary to make sure it can build itself:
% O.<arch>/e_flex -Sflex.skel -8 -i scan.l
% mv lex.yy.c scan.c
% make
If that succeeds, don't forget to rename scan.l back again:
% mv scan.l scan.l.DISTRIB

File diff suppressed because it is too large Load Diff

View File

@@ -28,16 +28,8 @@
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef lint
static char rcsid[] =
"@(#) $Header$ (LBL)";
#endif
#undef yywrap
#include "flexdef.h"
#include "parse.h"
#define ACTION_ECHO fprintf( temp_action_file, "%s", yytext )
#define MARK_END_OF_PROLOG fprintf( temp_action_file, "%%%% end of prolog\n" );