Updates to ChangeLog and release notes and the 6.0 version number.
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sat, 12 Jan 2008 18:33:02 +0000 (18:33 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sat, 12 Jan 2008 18:33:02 +0000 (18:33 +0000)
git-svn-id: http://svn.complang.org/ragel/trunk@406 052ea7fc-9027-0410-9066-f65837a77df0

ChangeLog
doc/RELEASE_NOTES_V6
version.mk

index c559614..8795156 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
-Ragel 6.0 - TBR
-===============
- -Remove the 'noend' write option from examples/atoi.rl. This example is
+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 +14,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 +36,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 +45,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 +53,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.
index 76b378b..f838384 100644 (file)
@@ -25,27 +25,27 @@ eliminates the need to manually flush the last token.
 Semantics of > % and Error Actions
 ==================================
 
-Now that EOF actions are executed in the same context as regular actions we are
-free to go back to the 3.X semantics for >, % and error actions. 
+Ragel has gone back to the 3.X semantics for >, % and error actions. 
 
 Those that have been using Ragel since the 3.X days will remember that the
 entering operator > embedded a leaving action/priority into the start state
 when it was final. The leaving operator % would embed EOF actions when the
 final states stayed final all the way to the end of compilation. Also, error
-actions would embed EOF actions when at the end of compilation the states they
-were embedded into were not final.
+actions would embed EOF actions when at the end of compilation the states the
+error actions were embedded into were not final.
 
-These characteristics were removed because EOF actions were not executed in the
-same context as regular actions and easily resulted in compile errors. Now that
-all actions are executed in the same context this is no longer a problem and
-the original Ragel semantics is restored.
+The problem before was that EOF actions and regular actions were executed in
+different contexts ("write exec" and "write eof"), and a single action block
+could easily end up in two different functions. This could lead to compile
+errors and other subtle errors. Now that all actions are executed in the same
+context ("write exec") these problems go away. The original semantics has been
+restored.
 
 Backend Automatically Executed
 ==============================
 
 The "ragel" program now automatically executes the appropriate backend. If you
-need the intermediate XML format you can use the -x option. Your makefiles will
-need to be updated.
+need the intermediate XML format you can use the -x option. 
 
 The fbreak Statement
 ====================
@@ -64,9 +64,9 @@ The :> :>> and <: guarded concatenation operators have been strengthened. In
 the previous version of Ragel is was possible for the priority assignments to
 be bypassed via the the zero length string. Running the following examples
 through 5.25 you will see that the a and b actions are executed on a single
-transition, showing the guard fails. This happens because the the operators did
-not consider that the middle machine might have a start state that is final. In
-6.0 these cases have been fixed.
+transition, showing the guard fails. This happens because the operators did not
+consider that the middle machine might have a start state that is final. In 6.0
+these cases have been fixed.
 
     (' '@a)* <: 'x'* . ' '@b;
     (' '@a)* :> 'x'? . ' '@b;
@@ -81,3 +81,9 @@ variables get referenced a lot in scanner actions. They should be shorter.
 To update your code simply search and replace:
     tokstart => ts
     tokend => te
+
+Options
+=======
+
+The -l option in rlgen-cd was changed to -L because -l is used in the frontend,
+which now must pass options through.
index 60f134d..68af821 100644 (file)
@@ -1,2 +1,2 @@
-VERSION = 5.25
-PUBDATE = December 2007
+VERSION = 6.0
+PUBDATE = January 2008