1
2
3RLGEN-RUBY(1) Ragel State Machine Compiler RLGEN-RUBY(1)
4
5
6
8 rlgen-ruby - code generator for Ragel State Machine Compiler
9
11 rlgen-ruby [options] file
12
14 This is a backend component of Ragel. This program accepts a machine
15 compiled by the frontend program ragel(1) and generates Ruby code.
16
17 Use it with the frontend option -R.
18
20 -h, -H, -?, --help
21 Display help and exit.
22
23 -v Display version information and exit.
24
25 -o file
26 Write output to file. If -o is not given, a default file name is
27 chosen by replacing the suffix of the input. For source files
28 ending in .rh the suffix .h is used. For all other source files
29 a suffix based on the output language is used (.c, .cpp, .m,
30 .dot)
31
32 -T0 Generate a table driven FSM. This is the default code style.
33 The table driven FSM represents the state machine as static
34 data. There are tables of states, transitions, indicies and
35 actions. The current state is stored in a variable. The execu‐
36 tion is a loop that looks that given the current state and cur‐
37 rent character to process looks up the transition to take using
38 a binary search, executes any actions and moves to the target
39 state. In general, the table driven FSM produces a smaller
40 binary and requires a less expensive host language compile but
41 results in slower running code. The table driven FSM is suitable
42 for any FSM.
43
45 Ragel is still under development and has not yet matured. There are
46 probably many bugs.
47
49 Ragel was written by Adrian Thurston <thurston@cs.queensu.ca>. Objec‐
50 tive-C output contributed by Erich Ocean. D output contributed by Alan
51 West.
52
54 ragel(1), rlgen-cd(1), rlgen-java(1), rlgen-dot(1), re2c(1), flex(1)
55
56 Homepage: http://www.cs.queensu.ca/~thurston/ragel/
57
58
59
60Ragel 6.2 March 2008 RLGEN-RUBY(1)