another grammar fix
[external/ragel.git] / ChangeLog
index c559614..4672921 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,55 @@
-Ragel 6.0 - TBR
-===============
- -Remove the 'noend' write option from examples/atoi.rl. This example is
+Ragel 6.2 - May 9, 2008
+=======================
+ -Bug fix: The lm_switch actions needs to set p from tokend when there is no
+  user action.
+ -Bug fix: when not using indicies we can't use a transitions's id to identify
+  the eof transition to take. Instead add the transition to the end of the
+  transition list and store its position in a new var called pos. The pos var
+  is then used as the index.
+ -Bug fix: an fnext followed by an fbreak in -G2 was not working. The fbreak
+  was not aware that the fnext causes the cs variable to be forced active. In
+  this case fbreak does not need to save cs because it is already current.
+ -Bug fix: need to compute the low and high character-space keys from the
+  condition-trans overlap when computing an expansion. Can't use the range
+  supplied from the condition overlap since they may not match. An incorrect
+  machine that accepted 1(!cond1, !cond2) was generated for the following
+  grammar. This bug was reported by Tim Chklovski.
+      c = 2 @matched_c;
+      sc1 = 1..2 when cond1;
+      sc2 = 1..2 when cond2;
+      main := sc1 | c | sc2;
+ -Bug fix: error messages in start label analysis of join operations were
+  causing assertion failures because location info was not set. Fixed by
+  adding locations.
+ -Include and import file searching now searches for the file name given based
+  on the location of the current file, not ragel's current path.
+  Additional search locations can be given using the -I option.
+ -Rubinius code generation was updated to the latest Rubinius. Patch from Evan
+  Phoenix.
+ -Switched from strcasecmp to strcmp for testing long arguments.
+ -Applied a patch from Andrei Polushin for setting the error message format.
+     --error-format=gnu (default)
+     --error-fromat=msvc
+ -Now using the _WIN32 define instead of _WIN32. Other MSVC compilation
+  improvments from Andrei Polushin.
+ -Added the hyperref package to the manual. 
+
+Ragel 6.1 - Mar 26, 2008
+========================
+ -Scanners now ensure that any leaving actions at the end of a pattern are
+  executed. They are always executed before the pattern action.
+ -Added an option -d for turning off the removal of duplicate actions from
+  actions lists.
+ -Need to unset the final state status of the start state in kleene star if it
+  is set. It is possible to crash ragel when the warning is ignored.
+ -In the dot file generation we need to print any actions that are in
+  State::eofTrans. These come from scanners only.
+ -Use @docdir@ for the docdir Makefile variable.
+ -Check for ar and ranlib in the configure script.
+
+Ragel 6.0 - Jan 12, 2008
+========================
+ -Removed the 'noend' write option from examples/atoi.rl. This example is
   referenced a lot as a first example and as such it shouldn't contain a
   special purpose write option like 'noend'.
  -Introcuded the "eof" variable for indicating the end of file. The p variable
@@ -14,12 +63,12 @@ Ragel 6.0 - TBR
   now used to emulate gotos.
  -Ruby code generation was also restructured. Gotos are elmulated using a
   series of if tests. 
- -Gone back to 3.X semantics for >, % and error actions. The > operator also
+ -Went back to 3.X semantics for >, % and error actions. The > operator also
   embeds a leaving action/priority into the start state if it is final. If EOF
-  happens in a state with a leaving operator then leaving action it is
+  happens in a state with a leaving operator then the leaving action is
   executed. If EOF happens in a non-final state that has an error action, the
   error action is executed.
- -The Ragel program now executes frontend and backend processes separately,
+ -The "ragel" program now executes frontend and backend processes separately,
   connecting them with a temporary file in the current directory. Without the
   -x option the "ragel" program marshals arguments and calls the frontend and
   backend. With the -x option the "ragel" program acts as the frontend only.
@@ -36,7 +85,7 @@ Ragel 6.0 - TBR
   same name in case we are executing from the source tree.
  -Changed the -l option in rlgen-cd to -L because it is covered in the
   frontend. Added a passthrough in the frontend for the backend options.
- -Dot file generation can now be invoked using the -V option to the parent. We
+ -Dot file generation can now be invoked using the -V option to ragel. We
   now require an input file. If standard in is used then we don't have a file
   name on which to base the output.
  -Able to build native windows executables using Cygwin+MinGW. 
@@ -45,7 +94,7 @@ Ragel 6.0 - TBR
   associated with explicit initialization statements. It is also much easier
   on the java compiler which can run out of memory compiling very large
   machines. The downside is that it takes slightly longer to initialize static
-  data.
+  data at run time.
  -The fbreak statement now advances p.
  -In the :> :>> and <: operators it was possible for the priority assignment
   to be bypassed via the zero length string. In :> this was fixed
@@ -53,7 +102,7 @@ Ragel 6.0 - TBR
   If the start state is final it now embeds a leaving action into it,
   preventing persistance through the zero length string. In :>> and <: this
   was fixed explicitly. With <: the entering priority operator was used and
-  with :> a sepecial exception was added. Since it uses the finishing
+  with :> a special exception was added. Since it uses the finishing
   transition operator it also adds a leaving priority to the start state if it
   is final.
  -Ranlib is now run on the archives. Patch from Kenny MacDermid.