Tracy Camp



Updates to the BACI System


Oct 1, 2012:
A 64-bit BACI Linux executable is now available.



Jan 17, 2008:
JavaBACI is now available. It will be discussed in the 6th edition of the Operating Systems book by William Stallings.



Nov 27, 2007:
We have completed our work on a version of BACI that is implemented in Java (i.e., it's not Java syntax for BACI). During the implementation of Java BACI, Bill Bynum (main developer of BACI) found a minor error in the original BACI system, i.e., the omission of the preposition "for" in the error output of the bainterp program. JavaBACI is now available. It will be discussed in the 6th edition of the Operating Systems book by William Stallings.



June 2nd, 2007:
We are currently working on a version of BACI that is implemented in Java (i.e., it's not Java syntax for BACI). During the implementation of Java BACI, Bill Bynum (main developer of BACI) found a minor error that everyone had been fortunate to avoid in the past. Updates were also made to C-BACI in order to have its output as identical as possible to JavaBACI. We expect to release JavaBACI by end of 2007. It will also be discussed in the 6th edition of the Operating Systems book by William Stallings.



April 20th, 2004:
We thank Jim Howatt (Southeastern Louisiana University) for informing us of errors in the way the bacc compiler handled logical expressions. We also thank Moti Ben-Ari (Weizmann Institute of Science) for notifying us of several problems, many of which were related to how BACI handled access to arrays.



May 15th, 2003:
Thanks to Moti Ben-Ari for notifying us of two problems (i.e., boolean initializers and nesting) with the Pascal compiler. New versions of all the BACI executables have been placed on the BACI website.



May 7th, 2002:
Thanks to Phil Pidgeon for notifying us of a problem with the C-- compiler. During the fix of this problem, Bill Bynum found a related problem with the interpreter. New versions of all the BACI executables (i.e., baaixxe.tar.gz, bacisrc.tar.gz, badosxe.zip, balnxxe.tar.gz, and basunxe.tar.gz) have been placed on the BACI website.



March 27th, 2002:
Thanks to Eric Gamess for notifying us of a problem with cin. New versions of all the BACI executables (i.e., baaixxe.tar.gz, bacisrc.tar.gz, badosxe.zip, balnxxe.tar.gz, and basunxe.tar.gz) have been placed on the BACI website.



March 1st, 2002:
New versions of all the BACI executables (i.e., baaixxe.tar.gz, bacisrc.tar.gz, badosxe.zip, balnxxe.tar.gz, and basunxe.tar.gz) have been placed on the BACI website. These new executables update a typedef problem with the C-- compiler. Thanks to Roland Untch at Middle Tennessee for discovering this problem.



Nov. 21st, 2001:
New versions of all the BACI executables (i.e., baaixxe.tar.gz, bacisrc.tar.gz, badosxe.zip, balnxxe.tar.gz, and basunxe.tar.gz) have been placed on the BACI website. Thanks to Linda Null at Penn State Harrisburg for discovering that the C-- compiler called a non-void function as a void function.



Nov. 14th, 2001:
Linux, AIX, and Sun versions of BACI (i.e., files balnxxe.tar.gz, baaixxe.tar.gz, and basunxe.tar.gz) have changed. This version of BACI fixes a problem with the COEND statement of the interpreter. Thanks to Donnie Fecko from the Colorado School of Mines for discovering this problem.



Nov. 14th, 2001:
New versions of all the BACI documents are now available. LaTeX versions of the BACI documents can also be downloaded.



June 5, 2001:
A new version of the following files exist: basunxe.tar.gz, balnxxe.tar.gz, baaixxe.tar.gz, and bacisrc.tar.gz. This version of BACI fixes a problem that would occur in the bacc compiler when a second switch statement was encountered. Thanks to Luca Bertapelle in Information Technology at Venice University in Italy for notifying us of this problem.



March 15, 2001:
A new version of the following files exist: bacisrc.tar.gz, balnxxe.tar.gz, basunxe.tar.gz, badosxe.zip, and baaixxe.tar.gz. This version of BACI fixes an elusive bug in the BACI interpreter that has never been noticed before. Specifically, a call to the random number generator in the previous BACI version would sometimes return a value that it should NOT be returning! Thanks to William Slough at Eastern Illinois University for notifying us of this problem.



Sept. 17, 1999:
A new version of bacisrc.tar.gz exists to ease the compilation of BACI for those that do not have "." in their path variables. Thanks to Wade Mealing at Central Queensland University for notifying us of this problem.



Sept. 1, 1999:
New versions of all BACI files are available. The "make" process in the source code has been simplified. In addition, a SGI IRIX executable has been added.



July 20, 1999:
A new version of BACI is now available that corrects the following two problems.
  1. Marcello Pelillo from the Universita' Ca' Foscari di Venezia notified us that stochastic behavior occurred when a suspend() statement is placed inside of an atomic procedure. In the new version of BACI, the interpreter will stop with a deadlock exception in this situation.
  2. Brad Taylor, a graduate student at George Washington University, notified us that the disassembler was jumbling its output in the DOS BACI version. We have since discovered that a problem also existed with the Linux BACI version. Both disassemblers have been updated in the new version of BACI.
We thank both Marcello and Brad for notifying us of these problems.



November 27, 1998:
Another new version of BACI is now available that corrects a problem in the way expressions are handled in the Pascal FOR loop limits. We thank Linda Null from Penn State Harrisburg for notifying us of this problem.

We also fixed a minor problem with the C-- typedef statement (declaration of a complex array type would fail) and a problem with how both the Pascal and C-- compilers handled comments that span multiple lines.

Lastly, we changed both compilers to allow initialization of semaphore and binarysem variables at declaration time. (Thanks to Hassan Abdel-Rahman, an undergraduate student at the Colorado School of Mines, for the suggestion.) We also changed both compilers to allow users to determine whether to enter the source file suffix of the file they are compiling.

Both user's guides have been modified to reflect these changes.



August 27, 1998: Switch Statement Problem
A new version of BACI is now available that corrects a problem in how BACI interprets the switch statement. We thank George A. Benjamin from Muhlenberg College, and the students in his OS class, for notifying us of this problem.



August 12, 1998: Global Variable Problem
A new version of BACI is now available that corrects a problem in how global variables are modified. We thank Lourdes Tajes Martinez from the Universidad de Oviedo in Spain for notifying us of this problem.


Questions regarding the BACI updates can be sent to "bynum@cs.wm.edu" or "tcamp@mines.edu".