GRAMMATICA VERSION INFORMATION
==============================

Version 0.4 (2003-05-08):
-------------------------

    o Added creation of C# parsers (for .NET)
      The parser runtime library has been ported to C#, so it is now 
      possible to generate parsers for .NET languages. A C# parser 
      output has also been added to the main program.

    o Added unit tests for generated parsers
      Validation of the parsers generated for both C# and Java has 
      been automated in unit tests. A bug in the previous release was 
      detected through these tests (see below).

    o Added a first draft reference manual
      A first short reference manual has been added to the 
      documentation. The reference manual is generated to HTML from 
      XML just as the release notes.

    o Corrected parse exception creation bug
      When creating a parse exception, the LL(k) parser in some 
      situations caused a NullPointerException. This has now been 
      corrected.


Version 0.3 (2003-05-04):
-------------------------

    o Created XML generated documentation
      The release documentation is now available in both text and 
      HTML format. Both formats are generated with XSLT from a single 
      source.

    o Added look-ahead loop detection
      The look-ahead calculation now detects grammar loops and all 
      grammar ambiguities. It should no longer be possible to cause 
      infinite loops with a malformed grammar.

    o Added ambiguity resolution inside alternatives
      Some ambiguities inside productions couldn't previously be 
      resolved by the LL(k) parser. Productions like ["one"] "one" 
      "two" contain an ambiguity between the first element and the 
      second, but it is not inherent. This is now handled correctly 
      by adding look-ahead sets for individual production elements.

    o Added expected tokens to parse errors
      The parse error exceptions now contains a list of the expected 
      tokens for the unexpected token errors.

    o Added automatic unit tests for the parser
      A JUnit class testing the LL(k) parser has been added. These 
      tests are executed upon every build to verify the integrity of 
      the parser.


Version 0.2 (2003-04-20):
-------------------------

    o Addition of an internal regular expression library
      This improves tokenizer performance by at least 100% compared 
      to using the GNU RegExp library.

    o Addition of an analyzer framework with parser callbacks
      A code generator has also been added to create default methods 
      for all tokens and productions in the grammar.

    o Major refactorings of the tokenizer and parser classes
      Various other classes have also been improved to simplify 
      future feature additions.


Version 0.1 (2003-03-29):
-------------------------

    o Initial release
      The first alpha release. This version was only available to a 
      limited audience.


_____________________________________________________________________

Grammatica 0.4 (2003-05-08). See http://www.nongnu.org/grammatica for
more information.

Copyright (c) 2003 Per Cederberg. Permission is granted to copy this 
document verbatim in any medium, provided that this copyright notice 
is left intact.
