Documentation updates.
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sun, 10 Jun 2007 18:37:09 +0000 (18:37 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Sun, 10 Jun 2007 18:37:09 +0000 (18:37 +0000)
git-svn-id: http://svn.complang.org/ragel/trunk@240 052ea7fc-9027-0410-9066-f65837a77df0

ChangeLog
TODO
doc/ragel-guide.tex

index d7894aa..8df3b93 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+For Next Release
+================
+ -The p varialbe is now set up at the beginning of a scanner action, rather
+  than at the end. This leaves scanner actions free to manipulate p and
+  removes the need for the special holdTE and execTE (TE for tokend) versions
+  of hold and exec. It also removes the need to set p = tokend-1 immediately
+  before any control flow. We loose the ability to determine where in the
+  input stream a scanner action is executed, however this information is of
+  little use because it is primarily an artifact of the scanner implementation
+  (sometimes the last char, other times later on). The gains of of this change
+  are consistency and simplicity.
+
 Ragel 5.21 - May 9, 2007
 ========================
  -Fixed an inconsistency in the value of p following an error. In the C
diff --git a/TODO b/TODO
index fead229..d2f7fcb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -31,10 +31,7 @@ backtrack if necessary.
 
 The tokstart/tokend variable should be shortened to ts/te.
 
-Adjust p before executing token actions, eliminating the transfer from tokend
-to p following an action. Loose the ability to determine where in the input
-stream a scanner action is executed. Gain consistency, simplicity. Eliminate
-tokend, replace it with the marker variable and add ftokend/ftoklen.
+Eliminate tokend, replace it with the marker variable and add ftokend/ftoklen.
 
 ================
 END 6.0 Features
index 3cdd544..2699138 100644 (file)
@@ -1908,10 +1908,8 @@ label represents.
 data in multiple buffer blocks, the \verb|fhold| statement should only be used
 once in the set of actions executed on a character.  Multiple calls may result
 in backing up over the beginning of the buffer block. The \verb|fhold|
-statement does not imply any transfer of control. In actions embedded into
-transitions, it is equivalent to the \verb|p--;| statement. In scanner pattern
-actions any changes made to \verb|p| are lost. In this context, \verb|fhold| is
-equivalent to \verb|tokend--;|.
+statement does not imply any transfer of control. It is equivalent to the
+\verb|p--;| statement. 
 
 \item \verb|fexec <expr>;| -- Set the next character to process. This can be
 used to backtrack to previous input or advance ahead.
@@ -1923,9 +1921,6 @@ it. The machine will continue iterating forward until \verb|pe| is arrived at,
 embedded into transitions, the \verb|fexec| statement is equivalent to setting
 \verb|p| to one position ahead of the next character to process.  If the user
 also modifies \verb|pe|, it is possible to change the buffer block entirely.
-In scanner pattern actions any changes made to \verb|p| are lost. In this
-context, \verb|fexec| is equivalent to setting \verb|tokend| to the next
-character to process.
 
 \item \verb|fgoto <label>;| -- Jump to an entry point defined by
 \verb|<label>|.  The \verb|fgoto| statement immediately transfers control to