Scanners now ensure that a pattern's leaving actions are executed.
[ragel.git] / examples / README
blob12773cb3656e3ff6eb703ce1bbc4368d98eda1fc
2                     Ragel State Machine Compiler -- Examples
3                     ========================================
5 atoi        -- Converts a string to an integer.
7 awkemu      -- Perfoms the basic parsing that the awk program perfoms on input.
8                The awk equivalent to awkemu is in awkemu/awkequiv.awk
10 clang       -- A scanner for a simple C like language. It breaks input up into
11                words, numbers, strings and symbols and strips out whitespace
12                and comments. It is a suitable template for writing a parser
13                that finds a sequence of tokens.
15 concurrent  -- Demonstrates the ability of ragel to produce parsers that
16                perform independent tasks concurrently.
18 cppscan     -- A C++ scanner that uses the longest match scanning method. This
19                example differs from other examples of scanning. Each run of the
20                state machine matches one token. This method results in a
21                smaller state machine since the final kleene star is omitted and
22                therefore every state does not need to get all the transitions
23                of the start state.
25 format      -- Partial printf implementation.
27 gotocallret -- Demonstrate the use of fgoto, fcall and fret.
29 mailbox     -- Parses unix mailbox files. It breaks files into messages, and
30                messages into headers and body. It demonstrates Ragel's ability
31                to make parsers for structured file formats.
33 params      -- Parses command line arguements.
35 rlscan      -- Lexes Ragel input files.
37 statechart  -- Demonstrate the use of labels, the epsilon operator, and the
38                join operator for creating machines using the named state and
39                transition list paradigm.  This implementes the same machine as
40                the atoi example.