#!/bin/sh # this is a Bourne shell script that shows the mods I did to go from flex # MSC5/DOS -scott garfinkle mv fastskeldef.h fastskel.h mv flex.fastskel fastskel.flx mv flex.skel skel.flx mv flexskelcom.h fskelcom.h mv flexskeldef.h flexskel.h mv scan.c.dist scan-c.dst patch2 << 'DONE-WITH-PATCHES' *** fastskel.flx Fri Nov 18 13:21:13 1988 --- pc/fastskel.flx Sat Dec 31 09:49:17 1988 *************** *** 2,8 **** #define FLEX_FAST_SKEL ! #include "fastskeldef.h" %% section 1 code and the definition of YY_TRANS_OFFSET_TYPE, if needed, go here --- 2,8 ---- #define FLEX_FAST_SKEL ! #include "fastskel.h" %% section 1 code and the definition of YY_TRANS_OFFSET_TYPE, if needed, go here *** fastskel.h Fri Nov 18 13:21:03 1988 --- pc/fastskel.h Sat Dec 31 09:49:18 1988 *************** *** 1,6 **** /* macro definitions for fast/full-table C/FTL programs generated by flex */ ! #include "flexskelcom.h" #define YY_END_OF_BUFFER_CHAR 0 --- 1,6 ---- /* macro definitions for fast/full-table C/FTL programs generated by flex */ ! #include "fskelcom.h" #define YY_END_OF_BUFFER_CHAR 0 *** flex.1 Fri Nov 18 13:21:09 1988 --- pc/flex.1 Sat Dec 31 09:49:19 1988 *************** *** 427,445 **** without requiring a separate library to link to. .SH FILES .TP ! .I flex.skel skeleton scanner .TP ! .I flex.fastskel skeleton scanner for -f and -F .TP ! .I flexskelcom.h common definitions for skeleton files .TP ! .I flexskeldef.h definitions for compressed skeleton file .TP ! .I fastskeldef.h definitions for -f, -F skeleton file .SH "SEE ALSO" .LP --- 427,445 ---- without requiring a separate library to link to. .SH FILES .TP ! .I flexskel.flx skeleton scanner .TP ! .I fastskel.flx skeleton scanner for -f and -F .TP ! .I fskelcom.h common definitions for skeleton files .TP ! .I flexskel.h definitions for compressed skeleton file .TP ! .I fastskel.h definitions for -f, -F skeleton file .SH "SEE ALSO" .LP *** flexdef.h Fri Nov 18 13:21:23 1988 --- pc/flexdef.h Sat Dec 31 09:49:24 1988 *************** *** 21,34 **** #include #ifdef SV #include #define bzero(s, n) memset((char *)(s), '\000', (unsigned)(n)) #else #include #endif - char *sprintf(); /* keep lint happy */ /* maximum line length we'll have to deal with */ --- 21,38 ---- #include + #ifdef MSC5 + # define SV + #endif + #ifdef SV #include #define bzero(s, n) memset((char *)(s), '\000', (unsigned)(n)) #else #include + char *sprintf(); /* keep lint happy */ #endif /* maximum line length we'll have to deal with */ *************** *** 44,55 **** #define false 0 ! #ifndef DEFAULT_SKELETON_FILE ! #define DEFAULT_SKELETON_FILE "flex.skel" #endif ! #ifndef FAST_SKELETON_FILE ! #define FAST_SKELETON_FILE "flex.fastskel" #endif /* special nxt[] action number for the "at the end of the input buffer" state */ --- 48,63 ---- #define false 0 ! #ifndef FLEXFILE ! #define FLEXFILE "lex.yy.c" #endif ! #ifndef DEFAULT_SKEL ! #define DEFAULT_SKEL "flex.skel" ! #endif ! ! #ifndef FAST_SKEL ! #define FAST_SKEL "flex.fastskel" #endif /* special nxt[] action number for the "at the end of the input buffer" state */ *** flexskel.h Fri Nov 18 13:21:28 1988 --- pc/flexskel.h Sat Dec 31 09:49:25 1988 *************** *** 1,6 **** /* macro definitions for compressed-table C/FTL programs generated by flex */ ! #include "flexskelcom.h" /* reinitializes everything except the current start condition. The last * input character is set to a newline so an initial beginning-of-line --- 1,6 ---- /* macro definitions for compressed-table C/FTL programs generated by flex */ ! #include "fskelcom.h" /* reinitializes everything except the current start condition. The last * input character is set to a newline so an initial beginning-of-line *** main.c Fri Nov 18 13:21:33 1988 --- pc/main.c Sat Dec 31 09:49:26 1988 *************** *** 347,363 **** skelname = skeleton_name_storage; if ( fullspd || fulltbl ) ! (void) strcpy( skelname, FAST_SKELETON_FILE ); else ! (void) strcpy( skelname, DEFAULT_SKELETON_FILE ); } if ( ! use_stdout ) { ! FILE *prev_stdout = freopen( "lex.yy.c", "w", stdout ); if ( prev_stdout == NULL ) ! flexerror( "could not create lex.yy.c" ); } if ( argc ) --- 347,363 ---- skelname = skeleton_name_storage; if ( fullspd || fulltbl ) ! (void) strcpy( skelname, FAST_SKEL ); else ! (void) strcpy( skelname, DEFAULT_SKEL ); } if ( ! use_stdout ) { ! FILE *prev_stdout = freopen( FLEXFILE, "w", stdout ); if ( prev_stdout == NULL ) ! flexerror( "could not create " FLEXFILE ); } if ( argc ) *************** *** 380,386 **** /* initialize the statistics */ starttime = gettime(); ! if ( (skelfile = fopen( skelname, "r" )) == NULL ) lerrsf( "can't open skeleton file %s", skelname ); (void) mktemp( action_file_name ); --- 380,401 ---- /* initialize the statistics */ starttime = gettime(); ! if ( (skelfile = fopen( skelname, "r" )) == NULL ) { ! char *getenv(), *ptr; ! ! if((ptr = getenv("FLEXPATH")) || (ptr = getenv("INIT"))) { ! char *malloc(); ! char *newname = malloc(strlen(ptr)+strlen(skelname)+2); ! ! strcpy(newname,ptr); ! ptr = newname+strlen(ptr); ! *ptr++ = '/'; /* works even in DOS */ ! strcpy(ptr,skelname); ! skelfile = fopen( newname, "r" ); ! free(newname); ! } ! } ! if(!skelfile) lerrsf( "can't open skeleton file %s", skelname ); (void) mktemp( action_file_name ); *** scan-c.dst Fri Nov 18 13:25:22 1988 --- pc/scan-c.dst Sat Dec 31 09:49:34 1988 *************** *** 3,9 **** #define FLEX_USE_MECS /* A lexical scanner generated by flex */ ! #include "flexskeldef.h" # line 1 "scan.l" #define INITIAL 0 --- 3,9 ---- #define FLEX_USE_MECS /* A lexical scanner generated by flex */ ! #include "fskeldef.h" # line 1 "scan.l" #define INITIAL 0 *** skel.flx Fri Nov 18 13:21:17 1988 --- pc/skel.flx Sat Dec 31 09:49:38 1988 *************** *** 1,6 **** /* A lexical scanner generated by flex */ ! #include "flexskeldef.h" %% section 1 code and data tables for DFA go here --- 1,6 ---- /* A lexical scanner generated by flex */ ! #include "flexskel.h" %% section 1 code and data tables for DFA go here DONE-WITH-PATCHES' END--cut here--cut here