RAGEL(1) Ragel State Machine Compiler RAGEL(1) (NAME) ragel - (SYNOPSIS) ragel [options] file (DESCRIPTION) Ragel (FSM) . Ragel C C++ Objective-C D Go Java . Ragel . (inline) . (union) (concatenation) (kleene star) (action) . Ragel (non- determinism) (scanners) (longest match) (statechart) . . Ragel . . (OPTIONS) -h, -H, -?, --help . -v . -o file file. -o . rh. h. . (.c .cpp .m ). -o Graphviz dot . -s . --error-format=gnu "file:line:column:" (). --error-format=msvc "file(line,column):" -d . -I dir dir (included) (imported). -n . -m . -l . . . -e . -x XML . -V dot Graphviz. -p . -L #line. -S FSM . -M / . -C C C++ Obj-C Obj-C++ . . --asm --gas-x86-64-sys-v GNU AS x86_64 System V ABI ASM -G2 . -D D . -Z Go . -J Java . -R Ruby . -A C# . -O OCaml . -U Rust . -Y Julia . -K Crack . -P JavaScript . -T0 (C/D/Java/Ruby/C#) FSM (table-driven) . . FSM . . . (binary search) . FSM . FSM FSM . -T1 (C/D/Ruby/C#) FSM . -F0 (C/D/Ruby/C#) FSM (flat table-driven). . . -F1 (C/D/Ruby/C#) FSM . -G0 (C/D/C#) FSM goto. FSM goto goto . . goto . FSM goto . -G1 (C/D/C#) FSM goto . -G2 (C/D/Go) FSM goto . --nfa-conds-depth=D ( D ). NFA ..TP --nfa-term-check NFA . NFA . --nfa-intermed-state-limit=L . --nfa-final-state-limit=L . --nfa-breadth-check=E1,E2,.. ( ). NFA . --input-histogram=FN . . RAGEL (RAGEL INPUT) : Ragel . Ragel ( ). Ragel . FSM . write ( "write exec") ragel . FSM . FSM '%%{' '}%%' . FSM %% . FSM (FSM STATEMENTS) Machine Name: . . Alphabet Type: . GetKey: . Include: . Action Definition: (action) FSM . Fsm Definition, Instantiation and Longest Match Instantiation: FSM . . Access: . Write: . Variable: (p pe cs act ). (BASIC MACHINES) . 'hello' (Concat literal). . '\' . . . 'i' 'cmd'i. "hello" . [hello] (Or literal). . '-' '^' '\' . . : '' "" [] FSM (null) . . null . integer . hex . /simple_regex/ . '.' '*' '[]' '-' OR '^' '\' . : i. /GET/i. lit .. lit . . 0x10..0x20 0..63 'a'..'z' . variable_name . builtin_machine . . : any . ascii 0..127. extend . -128..127 0..255 . alpha /[A- Za-z]/. digit /[0-9]/. alnum /[0-9A- Za-z]/. lower /[a-z]/. upper /[A-Z]/. xdigit /[0-9A-Fa- f]/. cntrl 0..31 127. graph /[!-~]/. print /[ -~]/. punct . - /[!-/:-@\[-`{-~]/. space /[\t\v\f\n\r ]/. null . '' "" []. empty . . . : expr , expr . "start" . "final" . : expr | expr . expr & expr . expr - expr . expr -- expr (Strong Subtraction). . : expr . expr . expr :> expr (Entry-Guarded Concatenation): . expr :>> expr (Finish-Guarded Concatenation): . expr <: expr (Left-Guarded Concatenation): . : . . : label: expr . fgoto fcall . . : expr -> label label . label . / . : (Actions) action '{' '}' . expr > action . expr @ action . expr $ action . (pending out transitions) . expr % action . : EOF finish EOF . expr >/ action EOF . expr EOF . expr $/ action EOF . expr %/ action EOF . expr @/ action EOF . expr <>/ action EOF ( ) . : (Global Error Actions) . . expr >! action . expr . expr $! action . expr %! action . expr @! action . expr <>! action ( ) . : (Local Error Actions) . . . expr >^ action . expr <^ action . expr $^ action . expr %^ action . expr @^ action . expr <>^ action ( ) . : (To-State Actions) . fgoto . ( ) . expr >~ action . expr <~ action . expr $~ action . expr %~ action . expr @~ action . expr <>~ action ( ) . : (From-State Actions) . . expr >* action . expr <* action . expr $* action . expr %* action . expr @* action ..TP expr <>* action from-state ( ). : (GROUP 6: Priority Assignment) . . . . expr > int int . expr @ int int . expr $ int int . expr % int int . . expr > (name,int) int name . expr @ (name, int) int name . expr $ (name, int) int name . expr % (name, int) int name . (GROUP 7): expr * (Kleene star) . . expr ** (Longest-Match Kleene Star). . ( ( expr ) $0 %1 )* . expr ? (null) . ( expr | '' ) . expr + . . ( expr . expr* ) . expr {n} n expr . expr {,n} n expr . expr {n,} n expr . expr {n,m} n m expr . (GROUP 8): ! expr . ( *extend - expr ) . ^ expr (Character- Level Negation). expr . (GROUP 9): ( expr ) . (VALUES AVAILABLE IN CODE BLOCKS) fc . *p. fpc . p. fcurs . ftargs . fentry(