ragel.lm (ragel-7.0.0.11) | : | ragel.lm (ragel-7.0.0.12) | ||
---|---|---|---|---|
skipping to change at line 166 | skipping to change at line 166 | |||
token string / | token string / | |||
'"' ( [^"\\] | '\\' any )* '"' 'i'? | | '"' ( [^"\\] | '\\' any )* '"' 'i'? | | |||
"'" ( [^'\\] | '\\' any )* "'" 'i'? | | "'" ( [^'\\] | '\\' any )* "'" 'i'? | | |||
"[" ( [^\]\\] | '\\' any )* "]" 'i'? #| | "[" ( [^\]\\] | '\\' any )* "]" 'i'? #| | |||
#"/" ( [^\/\\] | '\\' any )* "/" 'i'? | #"/" ( [^\/\\] | '\\' any )* "/" 'i'? | |||
/ | / | |||
token open /'{'/ -ni | token open /'{'/ -ni | |||
token close ni- /'}'/ | token close ni- /'}'/ | |||
token c_any / any / | token c_any / any / | |||
end | end | |||
# Garbling up a machine, no interpretation | # Garbling up a machine, no interpretation | |||
def tok | def tok | |||
[word] | [word] | |||
| [uint] | | [uint] | |||
| [hex] | | [hex] | |||
| [string] | | [string] | |||
| [open host_tok* h_close] | | [open host_tok* h_close] | |||
| [c_any] | | [c_any] | |||
skipping to change at line 306 | skipping to change at line 304 | |||
literal `%%--{ -ni `%%++{ -ni | literal `%%--{ -ni `%%++{ -ni | |||
token include_tok | token include_tok | |||
/'include'/ | /'include'/ | |||
{ | { | |||
# Take off the include token. | # Take off the include token. | |||
input->pull( match_length ) | input->pull( match_length ) | |||
# Parse the include details, up to the the ';' an d stop there. | # Parse the include details, up to the the ';' an d stop there. | |||
parse_stop Spec: include_spec[input] | parse_stop Spec: include_spec(input)[] | |||
Fn: str | Fn: str | |||
Machine: str | Machine: str | |||
if Spec.string | if Spec.string | |||
Fn = $Spec.string | Fn = $Spec.string | |||
if Spec.word | if Spec.word | |||
Machine = $Spec.word | Machine = $Spec.word | |||
Stream: stream = ragelInclude( Fn, Machine ) | Stream: stream = ragelInclude( Fn, Machine ) | |||
skipping to change at line 331 | skipping to change at line 329 | |||
} | } | |||
} | } | |||
token import_tok | token import_tok | |||
/'import'/ | /'import'/ | |||
{ | { | |||
# Take off the include token. | # Take off the include token. | |||
input->pull( match_length ) | input->pull( match_length ) | |||
# Parse the import details, up to the the ';' and stop there. | # Parse the import details, up to the the ';' and stop there. | |||
parse_stop Spec: import_spec[input] | parse_stop Spec: import_spec(input)[] | |||
Fn: str | Fn: str | |||
if Spec.string | if Spec.string | |||
Fn = $Spec.string | Fn = $Spec.string | |||
Stream: stream = ragelImport( Fn ) | Stream: stream = ragelImport( Fn ) | |||
if Stream { | if Stream { | |||
input->push( "}++%%" ) | input->push( "}++%%" ) | |||
input->push_stream( Stream ) | input->push_stream( Stream ) | |||
input->push( "%%++{" ) | input->push( "%%++{" ) | |||
} | } | |||
} | } | |||
literal `machine `action `variable `alphtype | literal `machine `action `variable `alphtype | |||
`access `write `getkey `export `prepush | `access `write `getkey `export `prepush | |||
`postpop `nfaprepush `nfapostpop | `postpop `nfaprepush `nfapostpop | |||
literal `:nfa `:cond `:condplus `:condstar `): | literal `:nfa `:nfa_greedy `:nfa_lazy `:nfa_wrap | |||
`:nfa_wrap_greedy `:nfa_wrap_lazy | ||||
`:cond `:condplus `:condstar `): | ||||
token string / | token string / | |||
'"' ( [^"\\] | '\\' any )* '"' 'i'? | | '"' ( [^"\\] | '\\' any )* '"' 'i'? | | |||
"'" ( [^'\\] | '\\' any )* "'" 'i'? | "'" ( [^'\\] | '\\' any )* "'" 'i'? | |||
/ | / | |||
token lex_regex_open /'/'/ -ni | token lex_regex_open /'/'/ -ni | |||
token lex_sqopen_pos /'['/ -ni | token lex_sqopen_pos /'['/ -ni | |||
token lex_sqopen_neg /'[^'/ -ni | token lex_sqopen_neg /'[^'/ -ni | |||
skipping to change at line 639 | skipping to change at line 639 | |||
def factor_neg | def factor_neg | |||
[`! factor_neg] :Bang | [`! factor_neg] :Bang | |||
| [`^ factor_neg] :Caret | | [`^ factor_neg] :Caret | |||
| [factor] :Base | | [factor] :Base | |||
def opt_max_arg | def opt_max_arg | |||
[`, action_ref] :Action | [`, action_ref] :Action | |||
| [] :Empty | | [] :Empty | |||
def nfastar | def nfastar | |||
[`:nfa] | [`:nfa] :Default | |||
| [`:nfa_lazy] :Lazy | ||||
| [`:nfa_greedy] :Greedy | ||||
def nfawrap | ||||
[`:nfa_wrap] :Default | ||||
| [`:nfa_wrap_lazy] :Lazy | ||||
| [`:nfa_wrap_greedy] :Greedy | ||||
def colon_cond | def colon_cond | |||
[`:cond] :Cond | [`:cond] :Cond | |||
| [`:condstar] :CondStar | | [`:condstar] :CondStar | |||
| [`:condplus] :CondPlus | | [`:condplus] :CondPlus | |||
def factor | def factor | |||
[alphabet_num] :AlphabetNum | [alphabet_num] :AlphabetNum | |||
| [word] :Word | | [word] :Word | |||
| [string] :String | | [string] :String | |||
| [lex_sqopen_pos reg_or_data re_or_sqclose] :PosOrBlock | | [lex_sqopen_pos reg_or_data re_or_sqclose] :PosOrBlock | |||
| [lex_sqopen_neg reg_or_data re_or_sqclose] :NegOrBlock | | [lex_sqopen_neg reg_or_data re_or_sqclose] :NegOrBlock | |||
| [lex_regex_open regex re_close] :Regex | | [lex_regex_open regex re_close] :Regex | |||
| [RL1: range_lit `.. RL2: range_lit] :Range | | [RL1: range_lit `.. RL2: range_lit] :Range | |||
| [RL1: range_lit `../i RL2: range_lit] :RangeIndep | | [RL1: range_lit `../i RL2: range_lit] :RangeIndep | |||
| [nfastar `( expression `, | | [nfastar `( expression `, | |||
Push: action_ref `, Pop: action_ref `, Init: action_ref ` , Stay: action_ref `, | Push: action_ref `, Pop: action_ref `, Init: action_ref ` , Stay: action_ref `, | |||
Repeat: action_ref `, Exit: action_ref `):] :Nfa | Repeat: action_ref `, Exit: action_ref `):] :Nfa | |||
| [nfawrap `( expression `, | ||||
Push: action_ref `, Pop: action_ref `, Init: action_ref ` | ||||
, Stay: action_ref `, | ||||
Exit: action_ref `):] :NfaWrap | ||||
| [colon_cond `( expression `, | | [colon_cond `( expression `, | |||
Init: action_ref `, Inc: action_ref `, Min: action_ref Op tMax: opt_max_arg `):] :Cond | Init: action_ref `, Inc: action_ref `, Min: action_ref Op tMax: opt_max_arg `):] :Cond | |||
| [`( join `)] :Join | | [`( join `)] :Join | |||
def regex | def regex | |||
[reg_item_rep_list] :List | [reg_item_rep_list] :List | |||
def reg_item_rep_list | def reg_item_rep_list | |||
[reg_item_rep_list reg_item_rep] :Rec | [reg_item_rep_list reg_item_rep] :Rec | |||
| [] :Base | | [] :Base | |||
skipping to change at line 716 | skipping to change at line 726 | |||
| [assignment] :Assignment | | [assignment] :Assignment | |||
| [action_spec] :ActionSpec | | [action_spec] :ActionSpec | |||
def lm_stmt_list | def lm_stmt_list | |||
[lm_stmt_list lm_stmt] :Rec | [lm_stmt_list lm_stmt] :Rec | |||
| [lm_stmt] :Base | | [lm_stmt] :Base | |||
def lm | def lm | |||
[join] :Join | [join] :Join | |||
| [`|* lm_stmt_list `*|] :Lm | | [`|* lm_stmt_list `*|] :Lm | |||
| [`:nfa `|* lm_stmt_list `*|] :LmNfa | ||||
# | # | |||
# Actions | # Actions | |||
# | # | |||
def action_param | def action_param | |||
[word] :Word | [word] :Word | |||
def action_param_list | def action_param_list | |||
[action_param_list `, action_param] :Rec | [action_param_list `, action_param] :Rec | |||
| [action_param] :Base | | [action_param] :Base | |||
End of changes. 8 change blocks. | ||||
6 lines changed or deleted | 18 lines changed or added |