Short: Port of Berkeley Yacc v3.0 [bugfixed 19-Aug-96] Uploader: koessi chessy aworld de (Bernd Koesling) Type: dev/c Architecture: m68k-amigaos ------- this is taken from the original README ------------- Berkeley Yacc is an LALR(1) parser generator. Berkeley Yacc has been made as compatible as possible with AT&T Yacc. Berkeley Yacc can accept any input specification that conforms to the AT&T Yacc documentation. Berkeley Yacc is in the public domain. The data structures and algorithms used in Berkeley Yacc are all either taken from documents available to the general public or are inventions of the author. Anyone may freely distribute source or binary forms of Berkeley Yacc whether unchanged or modified. Bugs may be reported to corbett@berkeley.edu Do not expect rapid responses. ------- end of the original README ------------------------- ------- this is taken from the original NEW_FEATURES ------- This version of Berkeley Yacc has been extensively reorganized and contains many new features. It is an amalgam of three earlier versions of Berkeley Yacc. It is largely untested, so expect it to contain bugs. When bugs are found report them to corbett@berkeley.edu. Please include small examples if possible. The -l and -t options have been implemented. The -l option tells Yacc not to include #line directives in the code it produces. The -t option causes debugging code to be included in the compiled parser. The environment variable TMPDIR determines the directory where temporary files will be created. If TMPDIR is defined, temporary files will be created in the directory whose pathname is the value of TMPDIR. By default, temporary files are created in /tmp. If a parser has been compiled with debugging code, that code can be enabled by setting an environment variable. If the environment variable YYDEBUG is set to 0, debugging output is suppressed. If it is set to 1, debugging output is written to standard output. ------- end of the original NEW_FEATURES ------------------- I found the sources at http://www.salam.cae.wisc.edu/hpux/language/byacc-3.0.html and there were no big changes necessary to compile them for the Amiga with SAS-C v6.56 (by default, temporary files are created in "t:"). This archive contains: byacc 56516 : Amiga binary for any cpu byacc.020 55684 : Amiga binary for >=68020 cpu byacc-3.0.lha 36997 : original archive of byacc-3.0 NEW_FEATURES 2541 : original text pch.lha 4399 : patches to apply to original sources README 1041 : original text SCoptions 191 : sas-c 6.56 options SCoptions.info 4197 : newicon SMakefile 6229 : this will build everything SMakefile.info 2096 : newicon To examine the sources and diffs use the smakefile: smake - to create all dirs and build executable must be called first! smake exe - to build executable smake exe020 - to build executable for >=68020 cpu smake difs - to build diffs-file smake pats - to build and archive patch-files smake srcs - to apply the patches smake clean - to remove all created dirs and files exe-files are kept Therefor you need a complete SAS-C v6.5x installation. ------- *** WARNING *** Of course this port isn't tested to be called bugfree, so all riscs are on your own. Don't blame me for any damage - be it your machine, soft or brain :-) ------- *** FIXED BUG [19 Aug 1996] *** Normand Belanger found this one in the previous release to the aminet: NB> Hello Bernd, NB> NB> I'm using your port of BYacc 3.0 for Amiga and I have a NB> little problem. I have the line "#include " NB> in my yacc file and it gets transformed into NB> "#include " (in the y.tab.c file) which NB> is (obviously) incorrect. you're right - I didn't notice this because I always use local headerfiles (ala "defs.h") It happens in : file reader.c function copy_text() line 405-406 should be deleted, because the Slash is already written out at the beginning of this case-leaf I just tried and it seems to be okay now It was nothing I had changed :-) have fun - koessi