Grammatica Version Information
Version 0.4 (2003-05-08):
-
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.
-
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).
-
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.
-
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):
-
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.
-
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.
-
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.
-
Added expected tokens to parse errors
The parse error exceptions now contains a list of the
expected tokens for the unexpected token errors.
-
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):
-
Addition of an internal regular expression library
This improves tokenizer performance by at least 100%
compared to using the GNU RegExp library.
-
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.
-
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):
-
Initial release
The first alpha release. This version was only available
to a limited audience.