"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "doc/ragel-guide.txt" between
ragel-7.0.0.10.tar.gz and ragel-7.0.0.11.tar.gz

About: Ragel compiles executable finite state machines from regular languages (C, C++, Obj-C, C#, D, Java, Go and Ruby). Development version.

ragel-guide.txt  (ragel-7.0.0.10):ragel-guide.txt  (ragel-7.0.0.11)
skipping to change at line 746 skipping to change at line 746
** `digit` -- Digits. `[0-9]` ** `digit` -- Digits. `[0-9]`
** `alnum` -- Alpha numerics. `[0-9A-Za-z]` ** `alnum` -- Alpha numerics. `[0-9A-Za-z]`
** `lower` -- Lowercase characters. `[a-z]` ** `lower` -- Lowercase characters. `[a-z]`
** `upper` -- Uppercase characters. `[A-Z]` ** `upper` -- Uppercase characters. `[A-Z]`
** `xdigit` -- Hexadecimal digits. `[0-9A-Fa-f]` ** `xdigit` -- Hexadecimal digits. `[0-9A-Fa-f]`
** `cntrl` -- Control characters. `0..31` ** `cntrl` -- Control characters. `0..31`, `127`
** `graph` -- Graphical characters. `[!-~]` ** `graph` -- Graphical characters. `[!-~]`
** `print` -- Printable characters. `[ -~]` ** `print` -- Printable characters. `[ -~]`
** `punct` -- Punctuation. Graphical characters that are not alphanumerics. ** `punct` -- Punctuation. Graphical characters that are not alphanumerics.
+ +
[!-/:-@\[-`{-~] [!-/:-@\[-`{-~]
** `space` -- Whitespace. `[\t\v\f\n\r ]` ** `space` -- Whitespace. `[\t\v\f\n\r ]`
skipping to change at line 2329 skipping to change at line 2329
actions are used then the `eof` variable is required. If stack-based state actions are used then the `eof` variable is required. If stack-based state
machine control flow statements are used then the `stack` and `top` variables machine control flow statements are used then the `stack` and `top` variables
are required. If a scanner is declared then the `act`, `ts` and `te` variables are required. If a scanner is declared then the `act`, `ts` and `te` variables
must be declared. must be declared.
* `cs` - Current state. This must be an integer and it should persist * `cs` - Current state. This must be an integer and it should persist
across invocations of the machine when the data is broken into blocks that are across invocations of the machine when the data is broken into blocks that are
processed independently. This variable may be modified from outside the processed independently. This variable may be modified from outside the
execution loop, but not from within. execution loop, but not from within.
* `p` - Data pointer. In C/D code this variable is expected to be a * `p` - Data pointer. In C/C++/D code this variable is expected to be a
pointer to the character data to process. It should be initialized to the pointer to the character data to process. It should be initialized to the
beginning of the data block on every run of the machine. In Go, Java, Ruby and O beginning of the data block on every run of the machine. In C++ it is possible
Caml to use an object for the data pointers. The object should support comparison,
it is used as an offset to `data` and must be an integer. In this case it should dereferencing, and pre/post increment/decrement operations. In Go, Java, Ruby
be initialized to zero on every run of the machine. and OCaml it is used as an offset to `data` and must be an integer. In this
case it should be initialized to zero on every run of the machine.
* `pe` - Data end pointer. This should be initialized to `p` plus * `pe` - Data end pointer. This should be initialized to `p` plus
the data length on every run of the machine. In Go, Java, Ruby and OCaml code th the data length on every run of the machine. In C++ this can be defined as one
is should increment operation past the last valid value. Or in the case of a zero-length
be initialized to the data length. input buffer the initial value of `p`. A In Go, Java, Ruby and OCaml code this
should be initialized to the data length.
* `eof` - End of file pointer. This should be set to `pe` when * `eof` - End of file pointer. This should be set to `pe` when
the buffer block being processed is the last one, otherwise it should be set to the buffer block being processed is the last one, otherwise it should be set to
null. In Go, Java, Ruby and OCaml code `-1` must be used instead of null. If the EOF null. In Go, Java, Ruby and OCaml code `-1` must be used instead of null. If the EOF
event can be known only after the final buffer block has been processed, then event can be known only after the final buffer block has been processed, then
it is possible to set `p = pe = eof` and run the execute block. it is possible to set `p = pe = eof` and run the execute block.
* `data` - This variable is only required in Go, Java, Ruby and OCaml code. It * `data` - This variable is only required in Go, Java, Ruby and OCaml code. It
must be an array containing the data to process. must be an array containing the data to process.
 End of changes. 4 change blocks. 
9 lines changed or deleted 11 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)