rsalz@uunet.UU.NET (Rich Salz) (10/16/87)
Submitted-by: Zoltan Somogyi <zs@munnari.oz> Posting-number: Volume 12, Issue 11 Archive-name: cake/part05 #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # README # diff # This archive created: Wed Oct 14 20:41:51 1987 export PATH; PATH=/bin:/usr/bin:$PATH echo mkdir Lex mkdir Lex echo cd Lex cd Lex echo shar: "extracting 'README'" '(897 characters)' if test -f 'README' then echo shar: "will not over-write existing file 'README'" else sed 's/^X//' << \SHAR_EOF > 'README' XThis directory contains a diff for a modified version of the lex driver X(ncform). It is not absolutely necessary to cake: the only difference Xis in error detection. If you cannot or do not want to install this diff Xto ncform, (e.g. cause you have an unsymphatetic root or you are worried Xabout AT&T's copyright on the original ncform, of which this one is a Xsmall modification), you should keep the calls to and the definition of Xcheck_actlen in cake_s.l; otherwise you should comment them out. X XCatching lex buffer overflows is important. Some cake actions, like Xmake actions, are very long, but this may not be apparent, as this Xlength would almost certainly result from macro expansion (a link Xcommand for a large system can easily reach hundreds of bytes). XAn overflow like this, if it occurs, leads to core dump, and the bug Xcan be VERY HARD to track down. I know, I spent a week on it once. SHAR_EOF if test 897 -ne "`wc -c < 'README'`" then echo shar: "error transmitting 'README'" '(should have been 897 characters)' fi fi echo shar: "extracting 'diff'" '(297 characters)' if test -f 'diff' then echo shar: "will not over-write existing file 'diff'" else sed 's/^X//' << \SHAR_EOF > 'diff' XLine 47 contains: X X *yylastch++ = yych = input(); X XAdd the lines X X# ifdef EARLY_CATCH X if (yylastch >= yytext+YYLMAX){ X EARLY_RECOVERY X } X# endif X XLine 138 contains: X X yytext[yyleng] = 0; X XAdd the lines X X# ifdef LATE_CATCH X if (yyleng >= YYLMAX){ X LATE_RECOVERY X } X# endif SHAR_EOF if test 297 -ne "`wc -c < 'diff'`" then echo shar: "error transmitting 'diff'" '(should have been 297 characters)' fi fi exit 0 # End of shell archive