Skip to content

ChrisDodd/btyacc

Repository files navigation

	     BTYACC -- backtracking yacc
	     ===========================

BTYACC was created by Chris Dodd using ideas from many
places and lots of code from the Berkeley Yacc
distribution, which is a public domain yacc clone put
together by the good folks at Berkeley.  This code is
distributed with NO WARRANTEE and is public domain. 
It is certain to contain bugs, which you should 
report to: [email protected]

Vadim Maslov of Siber Systems <[email protected]> 
considerably modified BTYACC to make it suitable 
for production environment.

Several people have suggested bug fixes that 
were incorporated into BtYacc.

See the README.BYACC files for more about 
Berkeley Yacc and other sources of info.

btyacc is backwards compatible with the POSIX yacc specification in
IEEE 1003.2.  A copy of the relevant specification may be available at
ftp://ftp.fi.netbsd.org/ftp/pub/doc/posix/p1003.2/d11.2/a.3

http://www.siber.com/btyacc/ is an old home of BtYacc, but appears
to no longer be active.  It was provided courtesy of Siber Systems
http://www.siber.com/.

The current version of btyacc can be accessed at
https://github.com/ChrisDodd/btyacc


		Building BtYacc
		---------------
	by Chris Dodd and Vadim Maslov

We used GCC and GNU make to compile BtYacc both on UNIX and
WIN32 paltforms.  You are welcome to try different
combinations of makes and compilers.  Most likely it will
work, but it may require Makefile changes.

There is no config script.
Just type "make" and it should compile.

AWK. If you want to change file btyaccpa.ske (backtracking 
parser skeleton), you will need awk to compile it into 
skeleton.c file. We used GNU AWK (gawk) version 3.0.

It is known that using older versions of gawk
may create problems in compilation, because older awks 
have problems with backslashes at the end of a line.

For MSDOS, there a "makefile.dos" that should do the trick.
Note: makefile.dos was not tested for a long time.

There are also Visual Studio 2013 project files provided by
zothrosko.

The result of compilation should be a single executable called
"btyacc" which you can install anywhere you like; 
it does not require any other files in the distribution to run.


	       Legal Stuff
	       -----------
	by Chris Dodd and Vadim Maslov

In English: BtYacc is freeware. BtYacc is distributed with 
no warranty whatsoever. The author and any other contributors 
take no responsibility for any and all consequences of its use.

In Legalese: LIMITATION OF LIABILITY. NEITHER SIBER SYSTEMS
NOR ANY OF ITS LICENSORS NOR ANY BTYACC CONTRIBUTOR SHALL BE
LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL
DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR
DATA USE, CAUSED BY BTYACC AND INCURRED BY CUSTOMER OR ANY
THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN
IF SIBER SYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.