Updated the header define wrapper since renaming.
[external/ragel.git] / TODO
diff --git a/TODO b/TODO
index eb4e9c2..85c5440 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,35 +1,15 @@
-Ragel 6.0 Changes
-=================
+Guard against including a ragel file more than once (newsgroup).
 
-Remove old action embedding and condition setting syntax.
-
-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.
+Line numbers in included files refer to the master file. This needs to be
+fixed -- from Manoj.
 
-Also, there is potential for nondeterminism to persist via the empty string
-with the :> and :>> operators. Should also guard against this using leaving
-priorities.
+Remove old action embedding and condition setting syntax.
 
 fbreak should advance the current char. Depreciate fbreak and add
     fctl_break;
     fctl_return <expr>;
     fctl_goto <label>;
-
-fbreak should execute the to-state actions of the target state. The semantics
-of fbreak should be identical to reaching the end of a buffer block.
-
-Introduce a new variable "eof" which is a pointer like pe. It gets set to pe
-when the input has ended. This would enable eof actions to go into the main
-loop, granting them the ability to manipulate p and cs. This would free us from
-requiring some eof character to be sent to scanners to 'flush out' the last
-token.  Instead an eof action can now execute scanner pattern actions and
-backtrack if necessary.
-
-The tokstart/tokend variable should be shortened to ts/te.
+This is needed for better support of pull scanners.
 
 Eliminate tokend, replace it with the marker variable and add ftokend/ftoklen.
 
@@ -37,12 +17,6 @@ Add the accept action embedding operator: like eof but only for states that end
 up final. Add the combined pending/accept action. This becomes a good idea when
 eof action execution is moved into the main loop.
 
-================
-END 6.0 Features
-
-Check initts on calls to scanners, may be necessary to stuff the initts into
-the call.
-
 Add a prefix operator which sets every state final.
 
 Minimization should remove a condition when the character allows both
@@ -54,7 +28,8 @@ end up with test_len || !test_len.
 
 Should be possible to include scanner definitions in another scanner.
 
-Need a "write entry name;" feature.
+Need an "entry name;" feature, causing name to get written out with the other
+entry points in the data.
 
 Possibly bring back the old semantics of > in a new operator, or allow it to be
 defined somehow.
@@ -72,8 +47,6 @@ regular expression?
 
 The |> guarded operator and the <| guarded operator need to be added.
 
-The fixed size stack is a problem for manual recursion of unlimited depth.
-
 An option to turn off the removal of duplicate actions might be useful for
 analyzing unintentional nondeterminism.