X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.posix-bc;h=1105f671b6ff6a0a9f36be5bff922dd86370bc78;hb=765e9edb2de192ef033766d867f9bd290e9935e9;hp=ab2ffec1d6c0514d76a973610301bff3748a4345;hpb=d5047e5685a6d509cc9a4660c26c3d2a0bc7afe6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.posix-bc b/README.posix-bc index ab2ffec..1105f67 100644 --- a/README.posix-bc +++ b/README.posix-bc @@ -50,46 +50,63 @@ set. Configure did everything except the perl parser. Because of our problems with the native yacc we used GNU bison to -generate a pure (=reentrant) parser for perly.y: +generate a pure (=reentrant) parser for perly.y. So our yacc is +really the following script: -echo %pure_parser > /tmp/perly.y -cat perly.y >> /tmp/perly.y -/usr/local/bin/bison --yacc -d perly.y -cp y.tab.c perly.c -cp y.tab.h perly.h +-----8<-----/usr/local/bin/yacc-----8<----- +#! /usr/bin/sh -We still used the normal yacc for a2p.y though!!! +# Bison as a reentrant yacc: + +# save parameters: +params="" +while [[ $# -gt 1 ]]; do + params="$params $1" + shift +done + +# add flag %pure_parser: + +tmpfile=/tmp/bison.$$.y +echo %pure_parser > $tmpfile +cat $1 >> $tmpfile + +# call bison: + +echo "/usr/local/bin/bison --yacc $params $1\t\t\t(Pure Parser)" +/usr/local/bin/bison --yacc $params $tmpfile + +# cleanup: + +rm -f $tmpfile +-----8<----------8<----- + +We still use the normal yacc for a2p.y though!!! We made a softlink +called byacc to distinguish between the two versions: + +ln -s /usr/bin/yacc /usr/local/bin/byacc -We build perl using GNU make, but it should compile with the native -make too. +We build perl using both GNU make and the native make. TESTING: ======== -We still got a few errors during 'make test'. Most of them are the +We still got a few errors during 'make test'. Some of them are the result of using bison. Bison prints 'parser error' instead of 'syntax -error', so we may ignore them. One error in the test op/regexp (and -op/regexp_noamp) seems a bit critical, the result was an 'Out of -memory' (core dump with op/regexp_noamp). The following list shows +error', so we may ignore them. The following list shows our errors, your results may differ: -comp/require........FAILED test 3 -op/misc.............FAILED tests 45-46 -op/pack.............FAILED tests 58-60 -op/regexp...........FAILED tests 402-485 (Out of memory!) -op/regexp_noamp.....FAILED tests 402-485 (core dump) -op/taint............FAILED test 73 +op/numconvert.......FAILED tests 1409-1440 +op/regexp...........FAILED tests 483, 496 +op/regexp_noamp.....FAILED tests 483, 496 pragma/overload.....FAILED tests 152-153, 170-171 -pragma/subs.........FAILED tests 1-2 -lib/cgi-html........dubious, FAILED tests 1-17 (ALL) -lib/complex.........FAILED tests 264, 484 -lib/dumper..........FAILED tests MANY -lib/errno...........dubious (Errno.pm not found?) -lib/searchdict......FAILED tests 1-2 -Failed 13/186 test scripts, 93.01% okay. 224/6242 subtests failed, 96.41% -okay. - +pragma/warnings.....FAILED tests 14, 82, 129, 155, 192, 205, 207 +lib/bigfloat........FAILED tests 351-352, 355 +lib/bigfltpm........FAILED tests 354-355, 358 +lib/complex.........FAILED tests 267, 487 +lib/dumper..........FAILED tests 43, 45 +Failed 11/231 test scripts, 95.24% okay. 57/10595 subtests failed, 99.46% okay. INSTALLING: ===========