What's New

The following is a list of the new features in Version 2.1 from Version 2.0.

Unix Support
In addition to Windows NT and 95, all popular version of Unix are now supported. In particular, distribution sets are available for SunOS, Solaris, IRIX, HP-UX, AIX, FreeBSD, and Linux.
 
Tracing Support
The translator now has a new option (-t) to output tracing code. Totally transparently to the programmer, this will cause a detailed dump of an input bitstream to be output. This is extremely useful for development and debugging purposes.
 
Pragma Statements
The translator now accepts 'pragma' statements, i.e., special commands inserted in the source file that trigger option settings in the translator itself. These statements are introduced using the keyword %pragma. Almost all command line options can now be set using these statements.

There are three cases worth mentioning where this is especially useful.

  1. For selectively generation put() or get() methods for each of the defined classes (e.g., using: %pragma put, noget).
  2. For fine-tuning the size of arrays: using %pragma array=number, one can selectively use a very large array without requiring all arrays on the same file to have the same size.
  3. For selectively triggering tracing of just a particular class (surrounding it by %pragma trace and %pragma notrace). This can help minimize clutter from other classes in the trace dump.
No Global Variables
The translator now uses no global variables (previously some needed temporary variables were given global scope). This is useful especially for multi-threaded applications. Overall variable use has been reduced as well.
 
New Documentation
The documentation has now been expanded and improved, to help you use the software to its maximum potential as quickly as possible.