summaryrefslogtreecommitdiff
path: root/doc/ragel/RELEASE_NOTES_V2
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ragel/RELEASE_NOTES_V2')
-rw-r--r--doc/ragel/RELEASE_NOTES_V286
1 files changed, 0 insertions, 86 deletions
diff --git a/doc/ragel/RELEASE_NOTES_V2 b/doc/ragel/RELEASE_NOTES_V2
deleted file mode 100644
index 1d03eda8..00000000
--- a/doc/ragel/RELEASE_NOTES_V2
+++ /dev/null
@@ -1,86 +0,0 @@
- Porting Ragel Programs to Version 2
- ===================================
-
-
-1. Move all ?, +, and * operators to the right hand side of the operand.
-
- float = *digit ?('.' +digit);
-
- float = digit* ('.' digit+)?;
-
-2. Change all assignments to main from a definition using the = operator to an
-instantiation using the := operator.
-
- main = 'hello';
-
- main := 'hello';
-
-3. Remove $0 %! operations for clearing priorities.
-
-4. Anywhere implicit default priorities of zero are used to interact with
-explicitly set non-zero transitions, set the priorities to zero explicitly.
-
- main := any* 'FIN' :1;
-
- main := ( any $0 )* 'FIN' :1;
-
-5. If priorities need to interact across different machines, use a common name.
-Note that priority names default to the name of the machine they are assigned
-to.
-
- wild = any*;
- main := wild 'FIN' :1;
-
- wild = ( any $0 )*;
- main := wild 'FIN' :wild,1;
-
-6. If using clear keyword or operators modified with ^, duplicate the operand
-machines and rewrite them such that the cleared actions and suppressed out
-transitions and out priorities are removed.
-
-7. Change func keyword to action.
-
-8. Escape any - symbols and initial ^ symbol in or literals ([] outside of
-regular expressions).
-
- main := [^#$-+*];
-
- main := [\^#$\-+*];
-
-9. In C output, lowercase init, execute and finish routines and put an
-underscore in between the fsm name and the function name. Also qualify
-references to the fsm structure with the struct keyword.
-
- fsm f;
- fsmInit( &f );
- fsmExecute( &f, buf, len );
- fsmFinish( &f );
-
- struct fsm f;
- fsm_init( &f );
- fsm_execute( &f, buf, len );
- fsm_finish( &f );
-
-10. In C++ output, lowercase the init, execute and finish routines. Also make
-sure that the init routine is explicitly called.
-
- fsm f;
- f.Init();
- f.Execute( buf, len );
- f.Finish();
-
- fsm f;
- f.init();
- f.execute( buf, len );
- f.finish();
-
-11. Remove calls to the accept routine, instead examine the return value of the
-finish routine. If the machine does not accept then finish returns -1 or 0, if
-the machine accepts then finish returns 1.
-
- f.finish();
- if ( f.accept() )
- cout << "ACCEPT" << endl;
-
- if ( f.finish() > 0 )
- cout << "ACCEPT" << endl;