10/02/2007: Version 0.996 of COCOM has been made.  The major
difference with the previous version:

* WIN32 port has been removed.  Use Cygnwin for installation under Windows.

* Ammunition:

     o Serious bugs in Earley's parser have been fixed. More tests
       have been added.

* Dino:

     o Adding format input/output to Dino.

     o Many bugs have been fixed.

     o GMP package was added.

     o More tests have been added.

     o The interpreter has been significantly sped up.

     o Oberon programming language analyzer has been added as an
       example of usage of Dino as a prototyping compiler language.

19/05/2002: Version 0.995 of COCOM has been made.  The major
difference with the previous version:

* Ammunition:

     o Package arithm will work with numbers with bases upto 35. New
       tests.

     o Earley parser will be able to use rules costs to chose the
       translation with minimal cost. Some bugs will be fixed. New
       tests.

* MSTA:

     o MSTA will have an additional error recovery with minimal
       cost. New tests.

* Dino:

     o Minor changes in the language (few new operators and special
       method `destroy').

     o New functions. 

     o New package to work with sockets.

     o Many fixed bugs. 

     o The sped up interpreter (upto 50%). 

     o Comparison tests with perl, python, tcl, awk. 

     o Many new tests. 

     o Improved documentation. 

* OKA:

     o Fixing problem of possible incorrect automata generation
       because of wrong distribution of units to automata and the
       construction `exclusion'.

13/05/2001: Version 0.993 of COCOM has been made.  The major difference
with the previous version:

* DINO:

  Profiling DINO programs, new language construction friend adding
  IEEE package, adding Earley parser.  Speeding up Dino interpreter.

* Ammunition:

  Adding Earley's parser.  128-bit IEEE float support.

* Others components:

  Fixing all reported bugs.


09/03/1999: Version 0.99 of COCOM has been made.  The major difference
with the previous version:

* DINO:

  DINO interpreter has been created. DINO is high level scripting
  dynamic-typed language.  DINO is oriented on the same domain of
  applications as famous scripting languages perl, tcl, python.

-----------------------------------------------------------------
12/24/1998: Version 0.98 of COCOM has been made.  The differences
with the previous version:

* SPRUT:

  * generates more compact node representation when double fields are
    absent.

  * new option -no-node-name for disabling generation of array
    containing names of nodes.

  * additional tests.

* SHILKA:

  * New option -fast n which means that if the number of rest
    unchecked characters is less or equal than n, use these characters
    comparison instead strcmp.  This results more fast keywords
    recognizer.

  * New tests (comparison tests with gperf).

* OKA:

  * New construction %exclusion for described functional units which
    can not be reserved simultaneously.

* MSTA:

  * New construction %la n for force maximal look ahead for the
    conflict in which the rule with given %la takes part.

  * New option -pattern-equiv which forces equiv complex patterns are
    denoted by the same nonterminal.  This results in dramatically
    reducing of the conflicts.

  * New option -expand for making expandable states and attributes
    stacks. The stacks are now always allocated dynamically. There are
    new macros for allocation the stacks: YYALLOC, YYREALLOC, YYFREE,
    YYMAX_STACK_SIZE, and YYMAX_STACK_EXPAND_SIZE.

  * New macro YYERR_RECOVERY_END which is called at the end of error
    recovery.

  * Scanner initialization now has parameter error_code which nonzero
    value means that there is problem with allocation of the stacks.
    The stacks is allocated in scanner initialization for scanner, and
    in parser itself for parser.

  * More debug parser output.

  * Many new tests including tests for comparison MSTA, BISON, and YACC.

  * Some bug fixing resulted in parser abort on error source program.

* All tools:

  * Parameterized scripts.

  * Mew Makefile entry for source making dependencies in Makefile.

  * More portable code.

---------------------------------------------------------------------------
02/24/1998: Version 0.96 of COCOM has been made.  The differences
with the previous version:

* All script files which contain several tests have argument now. The
  argument is number of the test from which script starts.

* SHILKA had bug (actions for %other were absent in the generated
  file).  The bug was fixed.

* MSTA has bug (abort when '\0' was in a range).  The bug was fixed.
  Now MSTA generated scanner can process '\0'.

* MSTA has bug (sometimes incorrect parser when regular optimization is on.
  when there are few actions in grammar).  The reason of the bug is
  incorrect algorithm of finding equivalent regular arcs.  Now the bug
  was fixed.  Also more optimize code for regular arcs in prser is
  generated now.

* New tests for MSTA are scanner, parser, and keyword recognition
  for Oberon2.

----------------------------------------------------------------------
02/12/1998: Base version 0.95 of COCOM has been made.  The differences
with the previous version:

* COCOM has been ported to WIN32 environment.  Now COCOM sources have
  all needed things for its installation under UNIX and Win32
  environment.  Building Win32 version can be made with the aid of
  Microsoft VC++ 5.0.  Sources of COCOM have been modified in many
  places mainly in order to remove warnings.  C++ version of basic
  block instruction scheduler has been significantly modified because
  VC++ 5.0 does not fully support the latest C++ features.

  If you do not need modify sources of COCOM, the better way of COCOM
  installation is to use install package prepared by InstallShield.
  You can find the package on the same COCOM web page.

* MSTA now generates also C++ code.

* System V Yacc files (not only POSIX YACC) can be processed by MSTA
  now.

* New constructions for description of different character ranges
  (including range bounds or not) has been added to MSTA language to
  make more convenient scanner description.

* New error recovery algorithm of MSTA has been significantly improved.

* Some changes in names of objects generated by MSTA (yyslast_char ->
  yysprev_char, YYMAX_ERRSKIP -> YYERR_MAX_LOOK_AHEAD_CHARS).  Sorry
  for inconvenience.

* Now rtf documenatation files is not distributed because linux sgml
  package generates them very badly.

----------------------------------------------------------------------
01/05/1998: Base version 0.9 of COCOM has been made.
