[comp.sources.unix] v12i011: Cake, a make replacement, Part05/09

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