Dragon ChangeLog

Date Version Comment

05.09.2010 1.3.5 Support for lfc classes

08.08.2010 1.3.4 Small fix for exception throw message in case of parse errors.

15.04.2009 1.3.3 Small fix in generated parser code. the _isReserved flag is reset to false before starting new parse run ( in case of exception inside string handling )

13.02.2009 1.3.2 In some complex grammars with epsilon productions definitions, the first set calculation may lead to an infinite look. This has been fixed with thsi release.

13.02.2009 1.3.1 In some complex grammars with epsilon productions definitions, the first set calculation may lead to an infinite look. This has been fixed with thsi release.

28.08.2007 1.3.0 Completed LALR parse analysis. As expected, analyse performance increases dramatically
and generated parse table shrinks to about 15-20% ( based on generated Cego parser )
Still have to check out if generated code is correct and useful

27.08.2007 1.3.0 Started with implementation of LALR parse analysis.

12.08.2007 1.2.11 Added escape token for special regular expressions containing reserved control characters

11.08.2007 1.2.11 With GNU C compiler 3.4.6, a segmentation fault occured with large parse tables
To avoid this problem, the option -y has been introduced to generate parser code with dynamic allocated parse tables

18.06.2007 1.2.10 Optimization for generated code done.
Now parse table is loaded in a static array which leads to a dramatically improved startup performance
Startup time has been observed 7 times faster for large parsers and parallel load
( Cego with 1640x132 x 30 threads : dynamic = 7 min startup, static = 1 minute startup )

15.06.2007 1.2.9 Some optimization done for analysing performance
Changed some call-by-value method parameters to call-by-reference
( Dragon::getJump, FirstHast::getFirstSet and Dragon::getClosure )
This lead to about 7% performance improvement

28.05.2007 1.2.9 Added Exception throw to nextChar and shiftToken methods

06.05.2007 1.2.8 Tests of Java code generation for Tracx parser finished
Public release

28.04.2007 1.2.8 Fixes for Java code generation

24.01.2007 1.2.7 Catched missing grammar defintion in Main
Clustered parser table load in generated C++ code for better compile performance
Indent format corrections in generated code

14.01.2007 1.2.6 Minor corrections in error messages
Public release

09.12.2006 1.2.5 Compiler Cleanup for Forte C++ ( Solaris )

04.12.2006 1.2.4 Make dragon conform to base 1.0.4

06.11.2006 1.2.3 Check of recursive usage of useless productions added.
( prod -> prod IDENTIFIER was nor detected as useless, if prod was not used in other productions )

16.10.2006 1.2.2 Changed '$'-Token to 'ENDTOKEN'-Token for Compiler compatibility

10.10.2006 1.2.1 Some small documentation fixes have been done

09.10.2006 1.2.0 New code runs. Java based parser basically tested.

07.10.2006 1.2.0 Implementation of Java code generation done. Still untested.

03.10.2006 1.1.1 Cleanup in the sample directory to make package ready for public download. Actually there are no open issues for dragon