Some documentation updates for 5.18. The recursive rules in the makefile can
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Mon, 5 Feb 2007 23:36:22 +0000 (23:36 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Mon, 5 Feb 2007 23:36:22 +0000 (23:36 +0000)
use hidden commands.

git-svn-id: http://svn.complang.org/ragel/trunk@81 052ea7fc-9027-0410-9066-f65837a77df0

ChangeLog
Makefile.in
TODO
ragel.spec
version.mk

index 3f00fb5..ce7583c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Ragel 5.18 - Feb 5, 2007
+========================
+ -Backened class structure reorganized to make it easier to add new code
+  generators without having to also modify the existing code generators.
+ -The java code generation was then split out into it's own exectuable to
+  allow it to freely diverge from the C/D-based code generation.
+ -The "large machines in Java" patch from Colin Fleming was comitted. This
+  encodes data arrays as strings and decodes them at runtime to get around
+  limits on the size of static data. Currently only byte and short alphabet
+  types are supported. Since the default alphabet type for Java is "char," it
+  is now necessary to add "alphtype byte;" to Java programs.
+ -The Ruby code generation patch from Victor Hugo Borja was added. This is
+  highly experimental code.
+
 Ragel 5.17 - Jan 28, 2007
 =========================
  -The scanners and parsers in both the frontend and backend programs were
@@ -8,8 +22,8 @@ Ragel 5.17 - Jan 28, 2007
   made. Also, improvements to the sync patterns were made.
  -Added pullscan.rl to the examples directory. It is an example of doing
   pull-based scanning. Also, xmlscan.rl in rlcodegen is a pull scanner.
- -The introduction chapter of the manual was improved. The manually drawn
-  figures for the examples were replaced with graphviz drawn figures.
+ -The introduction chapter of the manual was improved. The manually-drawn
+  figures for the examples were replaced with graphviz-drawn figures.
  
 Ragel 5.16 - Nov 20, 2006
 =========================
index 3ab5f4f..d2ea594 100644 (file)
@@ -51,7 +51,7 @@ CLEAN_SUBDIRS = $(ALL_SUBDIRS:%=%-clean)
 .PHONY: $(CLEAN_SUBDIRS)
 
 $(CLEAN_SUBDIRS):
-       cd $(@:%-clean=%) && $(MAKE) clean
+       @cd $(@:%-clean=%) && $(MAKE) clean
 
 clean: $(CLEAN_SUBDIRS)
        rm -f tags
@@ -63,7 +63,7 @@ DISTCLEAN_SUBDIRS = $(ALL_SUBDIRS:%=%-distclean)
 .PHONY: $(DISTCLEAN_SUBDIRS)
 
 $(DISTCLEAN_SUBDIRS):
-       cd $(@:%-distclean=%) && $(MAKE) clean
+       @cd $(@:%-distclean=%) && $(MAKE) clean
 
 distclean: $(DISTCLEAN_SUBDIRS)
        rm -f Makefile config.cache config.status config.log
@@ -75,7 +75,7 @@ INSTALL_SUBDIRS = $(BUILD_SUBDIRS:%=%-install)
 .PHONY: $(INSTALL_SUBDIRS)
 
 $(INSTALL_SUBDIRS):
-       cd $(@:%-install=%) && $(MAKE) install
+       @cd $(@:%-install=%) && $(MAKE) install
 
 install: $(INSTALL_SUBDIRS)
 
diff --git a/TODO b/TODO
index a9456a1..ce43db4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,12 +1,13 @@
-An expression of the form:
-    expr1 <: expr2 . expr3
-Is parsed as:
-    ( expr1 <: expr2 ) . expr3
-If expr2 contains the empty string then it's possible for the machine to escape
-to expr3. This can be confusing. Perhaps <: should behave like
-    expr1 <: ( expr2 . expr3 )
-By using the implementation:
-    expr1 $1 %0 . expr2 . expr3
+Expressions of the form: expr1 <: expr2 . expr3
+sometimes don't behave as expected. If expr2 contains the empty string then
+it's possible for the machine to escape to expr3. This is somewhat unexpected.
+The empty string does count as moving through the right machine so there should
+not be an exception for this case.
+Using the stronger implementation: ( expr1 $1 %0 . expr2 ) will solve the problem.
+
+Also, there is potential for nondeterminism to persist via the empty string
+with the :> and :>> operators. Should also guard against this using leaving
+priorities.
 
 The |> guarded operator and the <| guarded operator need to be added.
 
@@ -56,6 +57,10 @@ A debugger would be nice. Ragel could emit a special debug version that
 prompted for debug commands that allowed the user to step through the machine
 and get details about where they are in their RL.
 
+A quick and easy alternative would be a trace code generation option. This
+would open a trace file and list all the active machines at each step of the
+input.
+
 Frontend should allow the redefinition of fsm section delimiters.
 
 Do more to obscure ragel's private variables. Just a leading underscore is not
index 0c7ae52..f58fb8d 100644 (file)
@@ -1,6 +1,6 @@
 Summary:      Ragel State Machine Compiler
 Name:         ragel
-Version:      5.17
+Version:      5.18
 Release:      1
 
 URL:          http://www.cs.queensu.ca/~thurston/ragel/
index a4a2690..c9f9800 100644 (file)
@@ -1,2 +1,2 @@
-VERSION = 5.17
-PUBDATE = January 2007
+VERSION = 5.18
+PUBDATE = February 2007