Add release date to the ReleaseNotes.
[gazelle.git] / ReleaseNotes
blob127cd06329871d4e2fc406d1643396845d217f2f
2 Gazelle 0.2, released June 29, 2008  ===========================================
4   Overview: This is a major overhaul of Gazelle's guts.  It also has
5   significant usability improvements in its documentation and command-line
6   tools.  It is the first release of Gazelle I would actually recommend
7   that people try out.
9   Core Parsing Algorithm:
10   * The compiler now calculates true Strong-LL(k) lookahead.  As a result,
11     it supports far more grammars than Gazelle 0.1 did.
12   * The runtime component now represents all of its state explicitly in its
13     stack.  As a result, parsing can be interrupted and resumed on arbitrary
14     byte boundaries.
15   * The "ignore" feature was completely removed, because experience and deeper
16     thought revealed that it was not the right abstraction.  As a result, this
17     version of Gazelle has no way to deal with arbitrary whitespace.  A
18     replacement feature will come in the future to fill this gap.
20   Usability:
21   * There is a manual (though very much in-progress).
22   * The compiler is easier to invoke and has useful --help.
23   * The compiler is capable of dumping a visual representation of the grammar
24     to HTML if graphviz is installed.
25   * gzlparse can dump the parse tree into JSON format.
27   Caveats (all of these will be fixed sooner or later):
28   * The language and all APIs are still very much subject to change.
29   * The current release cannot handle whitespace/comments/etc. in languages.
30   * Parse errors will exit the program, instead of being reported to the API.
31   * There are lots of edge cases the compiler doesn't properly deal with yet.
32     Some will make the compiler go into an infinite loop, others will cause
33     it to generate incorrect output.
35 Gazelle 0.1, released December 16, 2007  =======================================
37   Overview: This is a preliminary release of Gazelle, and is not very usable.
38   It can parse only a very small class of languages, and all tools/APIs are
39   very rough around the edges.
41   Core Parsing Algorithm:
42   * The supported lookahead is weak: only Simple-LL(1) parsing.
43   * The runtime is reasonably fast and has a very low memory footprint.
44   * The compiler and runtime support loading and storing the compiled version
45     of the grammar to bytecode.