diff --git a/CORE.setting b/CORE.setting index 7f701ae..22941bb 100644 --- a/CORE.setting +++ b/CORE.setting @@ -343,7 +343,7 @@ my proto warn {*} my proto note {*} my proto caller {*} my proto callframe {*} -my proto eval {*} +my proto EVAL {*} my proto evalfile {*} my proto callsame {*} my proto callwith {*} diff --git a/CursorBase.pmc b/CursorBase.pmc index 8397da7..fc34c5f 100644 --- a/CursorBase.pmc +++ b/CursorBase.pmc @@ -2497,7 +2497,7 @@ sub _AUTOLEXpeek { my $self = shift; sub O { my $self = shift; my %args = @_; - @$self{keys %args} = values %args; + $$self{$_} = $args{$_} for keys %args; $self; } diff --git a/STD.pm6 b/STD.pm6 index 3353ce9..d7ef44e 100644 --- a/STD.pm6 +++ b/STD.pm6 @@ -128,7 +128,7 @@ constant %structural = (:dba('structural infix'), :prec, :assoc, : constant %chaining = (:dba('chaining') , :prec, :assoc, :diffy, :iffy, :pure); constant %tight_and = (:dba('tight and') , :prec, :assoc); constant %tight_or = (:dba('tight or') , :prec, :assoc); -constant %conditional = (:dba('conditional') , :prec, :assoc, :fiddly); +constant %conditional = (:dba('conditional') , :prec, :assoc, :iffy); constant %item_assignment = (:dba('item assignment') , :prec, :assoc, :!pure); constant %list_assignment = (:dba('list assignment') , :prec, :assoc, :fiddly, :!pure); constant %loose_unary = (:dba('loose unary') , :prec, :assoc, :uassoc, :pure); @@ -425,6 +425,7 @@ token charspec { | :dba('character name') '[' ~ ']' | \d+ | <[ ?..Z \\.._ ]> + | <.obsbrack> | <.sorry: "Unrecognized \\c character"> . ] } @@ -524,7 +525,8 @@ class Herestub { } role herestop { - token stopper { ^^ {} $=(\h*?) $*DELIM \h* <.unv>?? $$ \v? } + token starter { } + regex stopper { ^^ {} $=[\h*?] :r $*DELIM \h* <.unv>?? $$ \v? } } # XXX be sure to temporize @herestub_queue on reentry to new line of heredocs @@ -588,7 +590,9 @@ token quotepair { token quote:sym<「 」> { :dba('perfect quotes') "「" ~ "」" ).unbalanced("」"))> } token quote:sym<' '> { :dba('single quotes') "'" ~ "'" ).tweak(:q).unbalanced("'"))> } +token quote:sym<‘ ’> { :dba('single quotes') "‘" ~ "’" ).tweak(:q).unbalanced("’"))> } token quote:sym<" "> { :dba('double quotes') '"' ~ '"' ).tweak(:qq).unbalanced('"'))> } +token quote:sym<“ ”> { :dba('double quotes') '“' ~ '”' ).tweak(:qq).unbalanced('”'))> } token circumfix:sym<« »> { :dba('shell-quote words') '«' ~ '»' ).tweak(:qq).tweak(:ww).balanced('«','»'))> } token circumfix:sym«<< >>» { :dba('shell-quote words') '<<' ~ '>>' ).tweak(:qq).tweak(:ww).balanced('<<','>>'))> } @@ -849,6 +853,8 @@ token rad_number { ] } +token obsbrack { '{' <.obs('curly brackets','square brackets')> } + token terminator:sym<)> { } @@ -1189,6 +1195,7 @@ grammar P6 is STD { [ | <.newlex(1)> + :my $*GOAL := '{'; <.getsig> @@ -1265,7 +1272,7 @@ grammar P6 is STD { ]* [ - | '{*}' $ = {1} + | '{*}' $ = {1;} | [ '{' @@ -1567,11 +1574,17 @@ grammar P6 is STD { } - rule statement_control:default { } + rule statement_control:default { } + + rule term:earliest { } + rule term:combine { } + rule statement_control:more { } + rule statement_control:done { } + rule statement_control:wait { } token statement_prefix:BEGIN { :my %*MYSTERY; <.explain_mystery> } token statement_prefix:CHECK { } - token statement_prefix:FINAL { } + token statement_prefix:LINK { } token statement_prefix:COMPOSE { } token statement_prefix:INIT { } token statement_prefix:START { <.worryobs('START','once',' nowadays')> } @@ -1621,7 +1634,7 @@ grammar P6 is STD { } token version:sym { - 'v' :: +% '.' '+'? + 'v' +% '.' '+'? } ############### @@ -2139,9 +2152,9 @@ grammar P6 is STD { :dba('colon pair') [ | '!' :: [ || <.panic: "Malformed False pair; expected identifier">] - [ > <.panic: "Extra argument not allowed; pair already has False argument"> ]? + [ > <.panic: "Extra argument not allowed; pair already has False argument"> ]? { $key = $.Str; $value = 0; } - | $ = [\d+] [ > <.sorry("Extra argument not allowed; pair already has argument of " ~ $.Str)> <.circumfix> ]? + | $ = [\d+] [ > <.sorry("Extra argument not allowed; pair already has argument of " ~ $.Str)> <.circumfix> ]? | { $key = $.Str; } [ @@ -2158,6 +2171,7 @@ grammar P6 is STD { | '<' '>' ] ) + [ > <.panic: "Extra argument not allowed; pair already has variable argument"> ]? { $key = $.Str; $value = $; $¢.check_variable($value); } ] $ = {$key} $ = {$value} @@ -2188,13 +2202,13 @@ grammar P6 is STD { } token special_variable:sym<$~> { - + <.obs('$~ variable', 'Form module')> } token special_variable:sym<$`> { - <.obs('$` variable', 'explicit pattern before <(')> + <.obs('$` variable', '$/.prematch')> } token special_variable:sym<$@> { @@ -2214,7 +2228,7 @@ grammar P6 is STD { <.obs('$$ variable', '$*PID')> } token special_variable:sym<$%> { - > + <.obs('$% variable', 'Form module')> } @@ -2225,7 +2239,7 @@ grammar P6 is STD { } token special_variable:sym<$^> { - + <.obs('$^ variable', 'Form module')> } @@ -2235,22 +2249,12 @@ grammar P6 is STD { } token special_variable:sym<$*> { - + <.obs('$* variable', '^^ and $$')> } - token special_variable:sym<$)> { - - <.obs('$) variable', '$*EGID')> - } - - token special_variable:sym<$-> { - - <.obs('$- variable', 'Form module')> - } - token special_variable:sym<$=> { - + <.obs('$= variable', 'Form module')> } @@ -2304,11 +2308,6 @@ grammar P6 is STD { <.obs('%- variable', '.from method')> } - token special_variable:sym<$+> { - :: > - <.obs('$+ variable', 'Form module')> - } - token special_variable:sym<${^ }> { '{^' :: $=[.*?] '}' <.obscaret($.Str ~ '{^' ~ $.Str ~ '}', $.Str, $.Str)> @@ -2382,61 +2381,41 @@ grammar P6 is STD { } # always fails, don't need curlycheck here } - token special_variable:sym<$[> { - - <.obs('$[ variable', 'user-defined array indices')> - } - - token special_variable:sym<$]> { - - <.obs('$] variable', '$*PERL_VERSION')> - } - token special_variable:sym<$\\> { - + <.obs('$\\ variable', "the filehandle's :ors attribute")> } token special_variable:sym<$|> { - + <.obs('$| variable', ':autoflush on open')> } token special_variable:sym<$:> { - + <.obs('$: variable', 'Form module')> } token special_variable:sym<$;> { - + <.obs('$; variable', 'real multidimensional hashes')> } token special_variable:sym<$'> { #' - <.obs('$' ~ "'" ~ 'variable', "explicit pattern after )\x3E")> + <.obs('$' ~ "'" ~ ' variable', '$/.postmatch')> } token special_variable:sym<$"> { - + <.obs('$" variable', '.join() method')> } token special_variable:sym<$,> { - > + <.obs('$, variable', ".join() method")> } - token special_variable:sym['$<'] { - '> > - <.obs('$< variable', '$*UID')> - } - - token special_variable:sym«\$>» { - - <.obs('$> variable', '$*EUID')> - } - token special_variable:sym<$.> { <.obs('$. variable', "the filehandle's .line method")> @@ -2487,15 +2466,7 @@ grammar P6 is STD { # Note: $() can also parse as contextualizer in an expression; should have same effect | [ <.panic: "Cannot declare a match variable">]? | :dba('contextualizer') '(' ~ ')' { $*LEFTSIGIL ||= $.Str } [ <.panic: "Cannot declare a contextualizer">]? - | - | { - if $*QSIGIL { - return (); - } - else { - $¢.sorry("Non-declarative sigil is missing its name"); - } - } + | ] ] @@ -2591,7 +2562,7 @@ grammar P6 is STD { $start [ $stop || <.panic: "Couldn't find terminator $stop"> ] [ <.ws> - [ <.obs('brackets around replacement', 'assignment syntax')> ]? + [ <.obs('brackets around replacement', 'assignment syntax')> ]? [ || ] [ .Str eq '=' || $.[0] }> || <.panic: "Malformed assignment operator"> ] <.ws> @@ -2917,6 +2888,8 @@ grammar P6 is STD { | | '\\' ] + [ > <.panic: "Subsignature not allowed after named parameter; please insert whitespace"> ]? + [ > <.panic: "Cannot apply this shape"> ]? } token named_param_term { @@ -2942,7 +2915,7 @@ grammar P6 is STD { || # Is it a shaped array or hash declaration? .Str eq '@' || $.Str eq '%' }> ? - > + > # ordinary parameter name @@ -3050,7 +3023,7 @@ grammar P6 is STD { $kind = '?' if $kind eq '!'; } [ <.sorry: "Cannot put a default on the invocant parameter">]? - [ > <.sorry: "Default expression must come last">]? + [ > <.sorry: "Default expression must come last">]? ]? [ <.sorry: "Invocant is too exotic">]? @@ -3091,14 +3064,15 @@ grammar P6 is STD { } token statement_prefix:once { } + token statement_prefix:eager { } + token statement_prefix:lazy { } token statement_prefix:sink { } token statement_prefix:try { } token statement_prefix:quietly { } token statement_prefix:gather { } token statement_prefix:contend { } - token statement_prefix:async { } + token statement_prefix:start { } token statement_prefix:maybe { } - token statement_prefix:lazy { } token statement_prefix:do { } token statement_prefix:lift { @@ -3384,7 +3358,7 @@ grammar P6 is STD { || <.can_meta($, "negate")> }> - $ = {$} + { $ = $; $ ~= $.Str } || <.panic("Cannot negate " ~ $.Str ~ " because " ~ $ ~ " operators are not iffy enough")> ] @@ -3393,20 +3367,20 @@ grammar P6 is STD { token infix_prefix_meta_operator:sym { {} <.can_meta($, "reverse the args of")> - $ = {$} + { $ = $; $ ~= $.Str } } token infix_prefix_meta_operator:sym { {} <.can_meta($, "sequence the args of")> - $ = {$} + { $ = $; $ ~= $.Str } } token infix_prefix_meta_operator:sym { {} [ <.can_meta($[0], "cross with")> - = $[0]; $:delete; $ ~= $[0].Str }> + { $ = $[0]; $:delete; $ ~= $[0].Str } ]? } @@ -3415,7 +3389,7 @@ grammar P6 is STD { {} [ <.can_meta($[0], "zip with")> - = $[0]; $:delete; $ ~= $[0].Str }> + { $ = $[0]; $:delete; $ ~= $[0].Str } ]? } @@ -3454,11 +3428,16 @@ grammar P6 is STD { %prec = %list_assignment; } } - 'assignment operator', iffy => 0)> + 'assignment operator', iffy => 0, _pos => $¢.pos)> } token postcircumfix:sym<( )> - { :dba('argument list') '(' ~ ')' } + { + :my $*IN_DECL = 0; + :dba('argument list') + '(' ~ ')' + + } token kvetch { || @@ -3466,6 +3445,7 @@ grammar P6 is STD { } token postcircumfix:sym<[ ]> { + :my $*IN_DECL = 0; :dba('subscript') '[' ~ ']' <.kvetch> { my $innards = $.Str; @@ -3478,6 +3458,7 @@ grammar P6 is STD { } token postcircumfix:sym<{ }> { + :my $*IN_DECL = 0; :temp $*CURLEX; :dba('subscript') <.newlex> @@ -3488,6 +3469,7 @@ grammar P6 is STD { } token postcircumfix:sym«< >» { + :my $*IN_DECL = 0; :my $pos; '<' { $pos = $¢.pos } @@ -3590,8 +3572,9 @@ grammar P6 is STD { token postfix:sym['->'] () { '->' + [ - | <.obs("'->" ~ $.Str ~ "' as postfix dereferencer", "'." ~ $.Str ~ "' or just '" ~ $.Str ~ "' to deref, or whitespace to delimit a pointy block")> + | <.obs("'->" ~ $.Str ~ "' as postfix dereferencer", "'." ~ $.Str ~ "' or just '" ~ $.Str ~ "' to deref, or whitespace to delimit a pointy block")> | <.obs('-> as postfix', 'either . to call a method, or whitespace to delimit a pointy block')> ] } @@ -3733,7 +3716,7 @@ grammar P6 is STD { { 1)> } token infix:sym - { } + { 1)> } ## replication # Note: no word boundary check after x, relies on longest token for x2 xx2 etc @@ -3937,7 +3920,7 @@ grammar P6 is STD { || '!!' <.sorry("Bogus code found before the !!")> <.panic("Confused")> || <.sorry("Found ?? but no !!")> <.panic("Confused")> ] - 'raise_middle')> + 'raise_middle', fiddly => 1, iffy => 0)> } token infix:sym { @@ -4121,12 +4104,13 @@ grammar P6 is STD { given +%deftrap{$name} { $¢.worry("Use of non-subscript <...> where postfix is expected; please use whitespace") if $_ and substr(self.orig, $¢.pos, 1) eq '<'; when 1 { # probably misused P5ism - $.sorryobs("bare '$name'", ".$name if you meant \$_, or use an explicit invocant or argument"); + $.worryobs("bare '$name'", ".$name if you meant \$_, or use an explicit invocant or argument"); } when 2 { # probably misused P6ism - $.sorry("The '$name' listop may not be called without arguments (please use () or whitespace to clarify)"); + $.worry("The '$name' listop may not be called without arguments (please use () or whitespace to clarify)"); } } + $.sorry("No valid term seen where one is required"); } } } @@ -4278,7 +4262,7 @@ grammar Q is STD { token escape:sym<\\> { {} } token backslash:qq { { $ = $¢.cursor_fresh(%*LANG
).quote(); } } token backslash:sym<\\> { } - token backslash:stopper { } + token backslash:delim { | } token backslash:a { } token backslash:b { } token backslash:c { } @@ -4289,10 +4273,10 @@ grammar Q is STD { [ <.worryobs('\N{...}', '\c[...]')> ]? } - token backslash:o { :dba('octal character') [ | '[' ~ ']' ] } + token backslash:o { :dba('octal character') [ | '[' ~ ']' ] | <.obsbrack> } token backslash:r { } token backslash:t { } - token backslash:x { :dba('hex character') [ | '[' ~ ']' ] } + token backslash:x { :dba('hex character') [ | '[' ~ ']' | <.obsbrack> ] } token backslash:sym<0> { } } @@ -4397,13 +4381,14 @@ grammar Q is STD { } role q { + token starter { \' } token stopper { \' } token escape:sym<\\> { } token backslash:qq { { $ = $¢.cursor_fresh(%*LANG
).quote(); } } token backslash:sym<\\> { } - token backslash:stopper { } + token backslash:delim { | } # in single quotes, keep backslash on random character by default token backslash:misc { {} (.) { $ = "\\" ~ $0.Str; } } @@ -4414,6 +4399,7 @@ grammar Q is STD { } role qq does b1 does c1 does s1 does a1 does h1 does f1 { + token starter { \" } token stopper { \" } # in double quotes, omit backslash on random \W backslash by default token backslash:misc { {} [ (\W) { $ = $0.Str; } | $=(\w) <.sorry("Unrecognized backslash sequence: '\\" ~ $.Str ~ "'")> ] } @@ -4424,6 +4410,7 @@ grammar Q is STD { } role cc { + token starter { \' } token stopper { \' } method ccstate ($s) { @@ -4454,7 +4441,7 @@ grammar Q is STD { token escape:sym<-> { '-' \s* \S <.obs('- as character range','.. (or \\- if you mean a literal hyphen)')> } token escape:ch { $ = [\S] <.ccstate($.Str)> } - token backslash:stopper { } + token backslash:delim { | } token backslash:a { :i } token backslash:b { :i } token backslash:c { :i } @@ -4463,13 +4450,13 @@ grammar Q is STD { token backslash:f { :i } token backslash:h { :i { $*CCSTATE = '' } } token backslash:n { :i } - token backslash:o { :i :dba('octal character') [ | '[' ~ ']' ] } + token backslash:o { :i :dba('octal character') [ | '[' ~ ']' | <.obsbrack> ] } token backslash:r { :i } token backslash:s { :i { $*CCSTATE = '' } } token backslash:t { :i } token backslash:v { :i { $*CCSTATE = '' } } token backslash:w { :i { $*CCSTATE = '' } } - token backslash:x { :i :dba('hex character') [ | '[' ~ ']' ] } + token backslash:x { :i :dba('hex character') [ | '[' ~ ']' ] | <.obsbrack> } token backslash:sym<0> { } # keep random backslashes like qq does @@ -4883,7 +4870,7 @@ grammar Regex is STD { [ :lang(%*LANG
) <.ws> ] } - token unsp { '\\' <.panic: "No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes ('" ~ substr(self.orig,$¢.pos,1) ~ "') or use a backslashed form like \\x" ~ sprintf('%02x', ord(substr(self.orig,$¢.pos,1)))> } # no unspace in regexen + token unsp { '\\' <.panic: "No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes ('" ~ substr(self.orig,$¢.pos,1) ~ "') or use a backslashed form like \\x" ~ sprintf('%02x', ord(substr(self.orig,$¢.pos,1)))> } # no unspace in regexen rule nibbler { :temp %*RX; @@ -4917,6 +4904,7 @@ grammar Regex is STD { ] } token quant_atom_list { + :temp %*RX; :my $*SIGOK = False; + } @@ -5090,7 +5078,9 @@ grammar Regex is STD { token metachar:sym<「 」> { [:lang(%*LANG
) ] <.SIGOK> } token metachar:sym<' '> { [:lang(%*LANG
) ] <.SIGOK> } + token metachar:sym<‘ ’> { [:lang(%*LANG
) ] <.SIGOK> } token metachar:sym<" "> { [:lang(%*LANG
) ] <.SIGOK> } + token metachar:sym<“ ”> { [:lang(%*LANG
) ] <.SIGOK> } token metachar:var { :my $*QSIGIL ::= substr(self.orig,self.pos,1); @@ -5102,7 +5092,7 @@ grammar Regex is STD { || $ = ( \s* '=' \s* ) { $¢.check_variable($) unless substr($,1,1) eq '<' } || { $¢.check_variable($) } - [ > <.worry: "Apparent subscript will be treated as regex"> ]? + [ > <.worry: "Apparent subscript will be treated as regex"> ]? ] <.SIGOK> } @@ -5125,7 +5115,7 @@ grammar Regex is STD { <.SIGOK> [ <.worryobs('\N{...}', '\c[...], or disambiguate with whitespace')> ]? } - token backslash:o { :i :dba('octal character') [ | '[' ~ ']' ] <.SIGOK> } + token backslash:o { :i :dba('octal character') [ | '[' ~ ']' | <.obsbrack> ] <.SIGOK> } token backslash:p { :my $s; :my $m; @@ -5134,8 +5124,8 @@ grammar Regex is STD { { $s = $.Str; $m = $s lt 'a' ?? '-' !! ''; } [ || (\w) { $p = $0.Str; $¢.obs("\\$s$p", '<' ~ $m ~ ":$p>"); } - || '{' $=[\w+] '}' { $p = $.Str; $¢.obs("\\$s\{$p\}", '<' ~ $m ~ ":$p>"); } - || '{' $=[\w+] \= $=[<-[\}]>*] '}' { $p = $.Str; my $v = $.Str; $¢.obs("\\$s\{$p=$v\}", '<' ~ $m ~ ":$p\('$v')>"); } + || '{' $=[\w+] '}' { $p = $.Str; $¢.obs("\\$s" ~ '{' ~ $p ~ '}', '<' ~ $m ~ ":$p>"); } + || '{' $=[\w+] \= $=[<-[\}]>*] '}' { $p = $.Str; my $v = $.Str; $¢.obs("\\$s" ~ '{' ~ "$p=$v\}", '<' ~ $m ~ ":$p\('$v')>"); } ] } token backslash:Q { <.obs('\\Q as quotemeta', 'quotes or literal variable match')> } @@ -5144,7 +5134,7 @@ grammar Regex is STD { token backslash:t { :i <.SIGOK> } token backslash:v { :i <.SIGOK> } token backslash:w { :i <.SIGOK> } - token backslash:x { :i :dba('hex character') [ | '[' ~ ']' ] <.SIGOK> } + token backslash:x { :i :dba('hex character') [ | '[' ~ ']' | <.obsbrack> ] <.SIGOK> } token backslash:z { <.obs('\\z as end-of-string matcher', '$')> } token backslash:Z { <.obs('\\Z as end-of-string matcher', '\\n?$')> } token backslash:misc { $=(\W) <.SIGOK> } @@ -5230,6 +5220,21 @@ grammar Regex is STD { :dba('character class element') "[" ~ "]" ).tweak(:cc).unbalanced("]"))> <.normspace>? + { + $_ = $.Str; + 1 while s/\s+|\.\.|\\x\w+|\\//; + + # XXX emulate /(.) .*? $0/ which viv flubs + my %seen; + for unpack('C*', $_) { + %seen{$_}++; + } + for keys %seen { + next if %seen{$_} < 2; + my $c = chr($_); + $¢.worry("Repeated character ($c) unexpectedly found in character class"); + } + } } token cclass_elem:sym<( )> { @@ -5259,22 +5264,22 @@ grammar Regex is STD { token mod_internal:sym<:i> { $=[':i'|':ignorecase'] » { %*RX = 1 } } token mod_internal:sym<:!i> { $=[':!i'|':!ignorecase'] » { %*RX = 0 } } - token mod_internal:sym<:i( )> { $=[':i'|':ignorecase'] { %*RX = eval $.Str } } + token mod_internal:sym<:i( )> { $=[':i'|':ignorecase'] { %*RX = EVAL $.Str } } token mod_internal:sym<:0i> { ':' (\d+) ['i'|'ignorecase'] { %*RX = $0 } } token mod_internal:sym<:m> { $=[':m'|':ignoremark'] » { %*RX = 1 } } token mod_internal:sym<:!m> { $=[':!m'|':!ignoremark'] » { %*RX = 0 } } - token mod_internal:sym<:m( )> { $=[':m'|':ignoremark'] { %*RX = eval $.Str } } + token mod_internal:sym<:m( )> { $=[':m'|':ignoremark'] { %*RX = EVAL $.Str } } token mod_internal:sym<:0m> { ':' (\d+) ['m'|'ignoremark'] { %*RX = $0 } } token mod_internal:sym<:s> { ':s' 'igspace'? » { %*RX = 1 } } token mod_internal:sym<:!s> { ':!s' 'igspace'? » { %*RX = 0 } } - token mod_internal:sym<:s( )> { ':s' 'igspace'? { %*RX = eval $.Str } } + token mod_internal:sym<:s( )> { ':s' 'igspace'? { %*RX = EVAL $.Str } } token mod_internal:sym<:0s> { ':' (\d+) 's' 'igspace'? » { %*RX = $0 } } token mod_internal:sym<:r> { ':r' 'atchet'? » { %*RX = 1 } } token mod_internal:sym<:!r> { ':!r' 'atchet'? » { %*RX = 0 } } - token mod_internal:sym<:r( )> { ':r' 'atchet'? » { %*RX = eval $.Str } } + token mod_internal:sym<:r( )> { ':r' 'atchet'? » { %*RX = EVAL $.Str } } token mod_internal:sym<:0r> { ':' (\d+) 'r' 'atchet'? » { %*RX = $0 } } token mod_internal:sym<:Perl5> { [':Perl5' | ':P5'] <.require_P5> [ :lang( $¢.cursor_fresh( %*LANG ).unbalanced($*GOAL) ) ] } @@ -5291,8 +5296,8 @@ grammar Regex is STD { token quantifier:sym<:> { {} } token quantifier:sym<**> { '**' :: ? ? [ - | \d+ \s+ '..' <.panic: "Spaces not allowed in bare range"> - | (\d+) [ '..' [ (\d+) { $¢.panic("Empty range") if $0.Str > $1[0].Str } | '*' | <.panic: "Malformed range"> ] ]? + | <.decint> \s+ '..' <.panic: "Spaces not allowed in bare range"> + | (<.decint>) [ '..' [ (<.decint>) { $¢.panic("Empty range") if $0.Str > $1[0].Str } | '*' | <.panic: "Malformed range"> ] ]? | | {} { $¢.worryobs("atom ** " ~ $.Str ~ " as separator", "atom +% " ~ $.Str, " nowadays"); } ] @@ -5312,7 +5317,7 @@ grammar Regex is STD { token quantmod { ':'? [ '?' | '!' | '+' ]? } token quantifier:sym<{N,M}> { - {} '{' (\d+) (','?) (\d*) '}' + '{' (\d+) (','?) (\d*) '}' { my $all = substr(self.orig, self.pos, $¢.pos - self.pos); my $repl = chars($1.Str) ?? diff --git a/boot/Cursor.pmc b/boot/Cursor.pmc index 5ea0f65..2260960 100644 --- a/boot/Cursor.pmc +++ b/boot/Cursor.pmc @@ -28,7 +28,7 @@ our $RED = $CursorBase::RED; our $CLEAR = $CursorBase::CLEAR; ## method panic (Str $s) sub panic { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument s omitted' unless @_; my $s = @_ ? shift() : undef; @@ -44,7 +44,7 @@ die "Parse failed\n"; }; ## method worry (Str $s) sub worry { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument s omitted' unless @_; my $s = @_ ? shift() : undef; @@ -54,7 +54,7 @@ $self; }; ## method sorry (Str $s) sub sorry { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument s omitted' unless @_; my $s = @_ ? shift() : undef; @@ -73,7 +73,7 @@ $self; }; ## method locmess () sub locmess { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $pos = $self->{'_pos'}; my $line = $self->lineof($pos); @@ -93,12 +93,12 @@ $post = '' if $post eq ''; }; ## method line sub line { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; $self->lineof($self->{'_pos'})}; ## method lineof ($p) sub lineof { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument p omitted' unless @_; my $p = @_ ? shift() : undef; @@ -119,12 +119,12 @@ return $::MEMOS[$p]->{'L'} // 0; }; ## method SETGOAL sub SETGOAL { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; }; ## method FAILGOAL (Str $stop, Str $name, $startpos) sub FAILGOAL { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument stop omitted' unless @_; my $stop = @_ ? shift() : undef; diff --git a/boot/STD.pmc b/boot/STD.pmc index 03632e9..e0d6aad 100644 --- a/boot/STD.pmc +++ b/boot/STD.pmc @@ -6,16 +6,16 @@ use Encode; moose_extends('Cursor'); our $ALLROLES = { 'STD', 1 }; our $REGEXES = { -ALL => [ qw/alnumint apostrophe babble backslash begid binint binints category charname charnames charspec circumfix comment dec_number decint decints dotty embeddedblock endid escale escape hexint hexints ident identifier infix infix_circumfix_meta_operator infix_postfix_meta_operator infix_prefix_meta_operator initializer integer is_ok keyspace liststopper longname module_name morename multi_declarator name nibbler nofun numeric octint octints opener package_declarator pod_comment postcircumfix postfix postfix_prefix_meta_operator prefix prefix_circumfix_meta_operator prefix_postfix_meta_operator quibble quote quote_mod quotepair rad_number radint regex_declarator routine_declarator scope_declarator sigil spacey special_variable starter statement_control statement_mod_cond statement_mod_loop statement_prefix stdstopper stopper term terminator trait_mod twigil type_declarator unitstopper unsp unspacey unv value version vws ws/ ], -category => [ qw/category__S_000category__PEEK category__S_001sigil__PEEK category__S_002twigil__PEEK category__S_003special_variable__PEEK category__S_004comment__PEEK category__S_005version__PEEK category__S_006module_name__PEEK category__S_007value__PEEK category__S_008term__PEEK category__S_009numeric__PEEK category__S_010quote__PEEK category__S_011prefix__PEEK category__S_012infix__PEEK category__S_013postfix__PEEK category__S_014dotty__PEEK category__S_015circumfix__PEEK category__S_016postcircumfix__PEEK category__S_017quote_mod__PEEK category__S_018trait_mod__PEEK category__S_019initializer__PEEK category__S_020type_declarator__PEEK category__S_021scope_declarator__PEEK category__S_022package_declarator__PEEK category__S_023multi_declarator__PEEK category__S_024routine_declarator__PEEK category__S_025regex_declarator__PEEK category__S_026statement_prefix__PEEK category__S_027statement_control__PEEK category__S_028statement_mod_cond__PEEK category__S_029statement_mod_loop__PEEK category__S_030infix_prefix_meta_operator__PEEK category__S_031infix_postfix_meta_operator__PEEK category__S_032infix_circumfix_meta_operator__PEEK category__S_033postfix_prefix_meta_operator__PEEK category__S_034prefix_postfix_meta_operator__PEEK category__S_035prefix_circumfix_meta_operator__PEEK category__S_036terminator__PEEK/ ], -circumfix => [ qw/circumfix__S_053Fre_Nch__PEEK circumfix__S_054LtLt_GtGt__PEEK circumfix__S_055Lt_Gt__PEEK/ ], -comment => [ qw/comment__S_056SharpGraveParenDotDotDotThesis__PEEK comment__S_057SharpParenDotDotDotThesis__PEEK comment__S_058SharpEqualParenDotDotDotThesis__PEEK comment__S_059SharpEqual__PEEK comment__S_060Sharp__PEEK/ ], -escape => [ qw/escape__S_049none__PEEK/ ], -quote => [ qw/quote__S_050_ff62___ff63___PEEK quote__S_051Single_Single__PEEK quote__S_052Double_Double__PEEK/ ], -sigil => [ qw/sigil__S_037Dollar__PEEK sigil__S_038At__PEEK sigil__S_039Percent__PEEK sigil__S_040Amp__PEEK/ ], -term => [ qw/term__S_064miscbad__PEEK/ ], -terminator => [ qw/terminator__S_061Thesis__PEEK terminator__S_062Ket__PEEK terminator__S_063Ly__PEEK/ ], -twigil => [ qw/twigil__S_041Dot__PEEK twigil__S_042Bang__PEEK twigil__S_043Caret__PEEK twigil__S_044Colon__PEEK twigil__S_045Star__PEEK twigil__S_046Question__PEEK twigil__S_047Equal__PEEK twigil__S_048Tilde__PEEK/ ], +ALL => [ qw/alnumint apostrophe babble backslash begid binint binints category charname charnames charspec circumfix comment dec_number decint decints dotty embeddedblock endid escale escape feed_separator hexint hexints ident identifier infix infix_circumfix_meta_operator infix_postfix_meta_operator infix_prefix_meta_operator initializer integer is_ok keyspace longname module_name morename multi_declarator name nibbler nofun numeric obsbrack octint octints opener package_declarator pod_comment postcircumfix postfix postfix_prefix_meta_operator prefix prefix_circumfix_meta_operator prefix_postfix_meta_operator quibble quote quote_mod quotepair rad_number radint regex_declarator routine_declarator scope_declarator sigil spacey special_variable starter statement_control statement_mod_cond statement_mod_loop statement_prefix stdstopper stopper term terminator trait_mod twigil type_declarator unitstopper unsp unspacey unv value version vws ws/ ], +category => [ qw/category__S_000category__PEEK category__S_001sigil__PEEK category__S_002twigil__PEEK category__S_003special_variable__PEEK category__S_004comment__PEEK category__S_005version__PEEK category__S_006module_name__PEEK category__S_007value__PEEK category__S_008term__PEEK category__S_009numeric__PEEK category__S_010quote__PEEK category__S_011prefix__PEEK category__S_012infix__PEEK category__S_013postfix__PEEK category__S_014dotty__PEEK category__S_015circumfix__PEEK category__S_016postcircumfix__PEEK category__S_017quote_mod__PEEK category__S_018trait_mod__PEEK category__S_019initializer__PEEK category__S_020type_declarator__PEEK category__S_021scope_declarator__PEEK category__S_022package_declarator__PEEK category__S_023multi_declarator__PEEK category__S_024routine_declarator__PEEK category__S_025regex_declarator__PEEK category__S_026statement_prefix__PEEK category__S_027feed_separator__PEEK category__S_028statement_control__PEEK category__S_029statement_mod_cond__PEEK category__S_030statement_mod_loop__PEEK category__S_031infix_prefix_meta_operator__PEEK category__S_032infix_postfix_meta_operator__PEEK category__S_033infix_circumfix_meta_operator__PEEK category__S_034postfix_prefix_meta_operator__PEEK category__S_035prefix_postfix_meta_operator__PEEK category__S_036prefix_circumfix_meta_operator__PEEK category__S_037terminator__PEEK/ ], +circumfix => [ qw/circumfix__S_054Fre_Nch__PEEK circumfix__S_055LtLt_GtGt__PEEK circumfix__S_056Lt_Gt__PEEK/ ], +comment => [ qw/comment__S_057SharpGraveParenDotDotDotThesis__PEEK comment__S_058SharpParenDotDotDotThesis__PEEK comment__S_059SharpEqualParenDotDotDotThesis__PEEK comment__S_060SharpEqual__PEEK comment__S_061Sharp__PEEK/ ], +escape => [ qw/escape__S_050none__PEEK/ ], +quote => [ qw/quote__S_051_ff62___ff63___PEEK quote__S_052Single_Single__PEEK quote__S_053Double_Double__PEEK/ ], +sigil => [ qw/sigil__S_038Dollar__PEEK sigil__S_039At__PEEK sigil__S_040Percent__PEEK sigil__S_041Amp__PEEK/ ], +term => [ qw/term__S_065miscbad__PEEK/ ], +terminator => [ qw/terminator__S_062Thesis__PEEK terminator__S_063Ket__PEEK terminator__S_064Ly__PEEK/ ], +twigil => [ qw/twigil__S_042Dot__PEEK twigil__S_043Bang__PEEK twigil__S_044Caret__PEEK twigil__S_045Colon__PEEK twigil__S_046Star__PEEK twigil__S_047Question__PEEK twigil__S_048Equal__PEEK twigil__S_049Tilde__PEEK/ ], }; @@ -359,7 +359,15 @@ category__S_026statement_prefix: !!perl/hash:RE_ast name: sym rest: '' sym: statement_prefix -category__S_027statement_control: !!perl/hash:RE_ast +category__S_027feed_separator: !!perl/hash:RE_ast + dba: category + dic: STD + re: !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: feed_separator +category__S_028statement_control: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -367,7 +375,7 @@ category__S_027statement_control: !!perl/hash:RE_ast name: sym rest: '' sym: statement_control -category__S_028statement_mod_cond: !!perl/hash:RE_ast +category__S_029statement_mod_cond: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -375,7 +383,7 @@ category__S_028statement_mod_cond: !!perl/hash:RE_ast name: sym rest: '' sym: statement_mod_cond -category__S_029statement_mod_loop: !!perl/hash:RE_ast +category__S_030statement_mod_loop: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -383,7 +391,7 @@ category__S_029statement_mod_loop: !!perl/hash:RE_ast name: sym rest: '' sym: statement_mod_loop -category__S_030infix_prefix_meta_operator: !!perl/hash:RE_ast +category__S_031infix_prefix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -391,7 +399,7 @@ category__S_030infix_prefix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: infix_prefix_meta_operator -category__S_031infix_postfix_meta_operator: !!perl/hash:RE_ast +category__S_032infix_postfix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -399,7 +407,7 @@ category__S_031infix_postfix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: infix_postfix_meta_operator -category__S_032infix_circumfix_meta_operator: !!perl/hash:RE_ast +category__S_033infix_circumfix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -407,7 +415,7 @@ category__S_032infix_circumfix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: infix_circumfix_meta_operator -category__S_033postfix_prefix_meta_operator: !!perl/hash:RE_ast +category__S_034postfix_prefix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -415,7 +423,7 @@ category__S_033postfix_prefix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: postfix_prefix_meta_operator -category__S_034prefix_postfix_meta_operator: !!perl/hash:RE_ast +category__S_035prefix_postfix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -423,7 +431,7 @@ category__S_034prefix_postfix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: prefix_postfix_meta_operator -category__S_035prefix_circumfix_meta_operator: !!perl/hash:RE_ast +category__S_036prefix_circumfix_meta_operator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -431,7 +439,7 @@ category__S_035prefix_circumfix_meta_operator: !!perl/hash:RE_ast name: sym rest: '' sym: prefix_circumfix_meta_operator -category__S_036terminator: !!perl/hash:RE_ast +category__S_037terminator: !!perl/hash:RE_ast dba: category dic: STD re: !!perl/hash:RE_method @@ -569,8 +577,12 @@ charspec: !!perl/hash:RE_ast alt: charspec_0 2 i: 0 text: '[ ?..Z \\.._ ]' - - !!perl/hash:RE_sequence + - !!perl/hash:RE_method alt: charspec_0 3 + name: obsbrack + rest: '' + - !!perl/hash:RE_sequence + alt: charspec_0 4 zyg: - !!perl/hash:RE_assertion assert: '?' @@ -585,7 +597,7 @@ charspec: !!perl/hash:RE_ast charspec_0: *3 circumfix:*: dic: STD -circumfix__S_053Fre_Nch: !!perl/hash:RE_ast +circumfix__S_054Fre_Nch: !!perl/hash:RE_ast dba: shell-quote words dic: STD re: !!perl/hash:RE_bracket @@ -606,7 +618,7 @@ circumfix__S_053Fre_Nch: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 -circumfix__S_054LtLt_GtGt: !!perl/hash:RE_ast +circumfix__S_055LtLt_GtGt: !!perl/hash:RE_ast dba: shell-quote words dic: STD re: !!perl/hash:RE_bracket @@ -627,7 +639,7 @@ circumfix__S_054LtLt_GtGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 -circumfix__S_055Lt_Gt: !!perl/hash:RE_ast +circumfix__S_056Lt_Gt: !!perl/hash:RE_ast dba: quote words dic: STD re: !!perl/hash:RE_bracket @@ -687,7 +699,7 @@ circumfix__S_055Lt_Gt: !!perl/hash:RE_ast rest: 1 comment:*: dic: STD -comment__S_056SharpGraveParenDotDotDotThesis: !!perl/hash:RE_ast +comment__S_057SharpGraveParenDotDotDotThesis: !!perl/hash:RE_ast dba: comment dic: STD re: !!perl/hash:RE_sequence @@ -711,7 +723,7 @@ comment__S_056SharpGraveParenDotDotDotThesis: !!perl/hash:RE_ast - !!perl/hash:RE_method name: quibble rest: 1 -comment__S_057SharpParenDotDotDotThesis: !!perl/hash:RE_ast +comment__S_058SharpParenDotDotDotThesis: !!perl/hash:RE_ast dba: comment dic: STD re: !!perl/hash:RE_sequence @@ -753,16 +765,16 @@ comment__S_057SharpParenDotDotDotThesis: !!perl/hash:RE_ast - '*' - !!perl/hash:RE_bracket re: &4 !!perl/hash:RE_any - altname: comment__S_057SharpParenDotDotDotThesis_0 + altname: comment__S_058SharpParenDotDotDotThesis_0 dba: comment dic: STD zyg: - !!perl/hash:RE_string - alt: comment__S_057SharpParenDotDotDotThesis_0 0 + alt: comment__S_058SharpParenDotDotDotThesis_0 0 i: 0 text: '#' - !!perl/hash:RE_meta - alt: comment__S_057SharpParenDotDotDotThesis_0 1 + alt: comment__S_058SharpParenDotDotDotThesis_0 1 text: $$ - !!perl/hash:RE_method name: worry @@ -771,8 +783,8 @@ comment__S_057SharpParenDotDotDotThesis: !!perl/hash:RE_ast assert: '!' re: !!perl/hash:RE_noop nobind: 1 -comment__S_057SharpParenDotDotDotThesis_0: *4 -comment__S_058SharpEqualParenDotDotDotThesis: !!perl/hash:RE_ast +comment__S_058SharpParenDotDotDotThesis_0: *4 +comment__S_059SharpEqualParenDotDotDotThesis: !!perl/hash:RE_ast dba: comment dic: STD re: !!perl/hash:RE_sequence @@ -790,7 +802,7 @@ comment__S_058SharpEqualParenDotDotDotThesis: !!perl/hash:RE_ast - !!perl/hash:RE_method name: quibble rest: 1 -comment__S_059SharpEqual: !!perl/hash:RE_ast +comment__S_060SharpEqual: !!perl/hash:RE_ast dba: comment dic: STD re: !!perl/hash:RE_sequence @@ -808,7 +820,7 @@ comment__S_059SharpEqual: !!perl/hash:RE_ast text: \N quant: - '*' -comment__S_060Sharp: !!perl/hash:RE_ast +comment__S_061Sharp: !!perl/hash:RE_ast dba: comment dic: STD re: !!perl/hash:RE_sequence @@ -1064,13 +1076,15 @@ escale: !!perl/hash:RE_ast rest: '' escape:*: dic: STD -escape__S_049none: !!perl/hash:RE_ast +escape__S_050none: !!perl/hash:RE_ast dba: escape dic: STD re: !!perl/hash:RE_assertion assert: '!' re: !!perl/hash:RE_noop nobind: 1 +feed_separator:*: + dic: STD hexint: !!perl/hash:RE_ast dba: hexint dic: STD @@ -1399,36 +1413,6 @@ keyspace: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 -liststopper: !!perl/hash:RE_ast - dba: liststopper - dic: STD - re: !!perl/hash:RE_bracket - re: &9 !!perl/hash:RE_any - altname: liststopper_0 - dba: liststopper - dic: STD - zyg: - - !!perl/hash:RE_method - alt: liststopper_0 0 - name: stdstopper - rest: '' - - !!perl/hash:RE_string - alt: liststopper_0 1 - i: 0 - text: ==> - - !!perl/hash:RE_string - alt: liststopper_0 2 - i: 0 - text: ==>> - - !!perl/hash:RE_string - alt: liststopper_0 3 - i: 0 - text: <== - - !!perl/hash:RE_string - alt: liststopper_0 4 - i: 0 - text: <<== -liststopper_0: *9 longname: !!perl/hash:RE_ast dba: longname dic: STD @@ -1481,7 +1465,7 @@ morename: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &10 !!perl/hash:RE_any + re: &9 !!perl/hash:RE_any altname: morename_0 dba: morename dic: STD @@ -1495,7 +1479,7 @@ morename: !!perl/hash:RE_ast name: alpha rest: '' - !!perl/hash:RE_bracket - re: &11 !!perl/hash:RE_any + re: &10 !!perl/hash:RE_any altname: morename_1 dba: indirect name dic: STD @@ -1538,15 +1522,15 @@ morename: !!perl/hash:RE_ast rest: 1 quant: - '?' -morename_0: *10 -morename_1: *11 +morename_0: *9 +morename_1: *10 multi_declarator:*: dic: STD name: !!perl/hash:RE_ast dba: name dic: STD re: !!perl/hash:RE_bracket - re: &12 !!perl/hash:RE_any + re: &11 !!perl/hash:RE_any altname: name_0 dba: name dic: STD @@ -1570,7 +1554,7 @@ name: !!perl/hash:RE_ast rest: '' quant: - + -name_0: *12 +name_0: *11 nibbler: !!perl/hash:RE_ast dba: nibbler dic: STD @@ -1627,7 +1611,7 @@ nofun: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &13 !!perl/hash:RE_any + re: &12 !!perl/hash:RE_any altname: nofun_0 dba: nofun dic: STD @@ -1660,9 +1644,20 @@ nofun: !!perl/hash:RE_ast alt: nofun_0 6 min: 1 text: \w -nofun_0: *13 +nofun_0: *12 numeric:*: dic: STD +obsbrack: !!perl/hash:RE_ast + dba: obsbrack + dic: STD + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_string + i: 0 + text: '{' + - !!perl/hash:RE_method + name: obs + rest: 1 octint: !!perl/hash:RE_ast dba: octint dic: STD @@ -1761,7 +1756,7 @@ pod_comment: !!perl/hash:RE_ast quant: - '?' - !!perl/hash:RE_bracket - re: &14 !!perl/hash:RE_any + re: &13 !!perl/hash:RE_any altname: pod_comment_0 dba: pod_comment dic: STD @@ -2028,7 +2023,7 @@ pod_comment: !!perl/hash:RE_ast text: \N quant: - '*' -pod_comment_0: *14 +pod_comment_0: *13 postcircumfix:*: dic: STD postfix:*: @@ -2066,7 +2061,7 @@ quibble: !!perl/hash:RE_ast - !!perl/hash:RE_block {} quote:*: dic: STD -quote__S_050_ff62___ff63_: !!perl/hash:RE_ast +quote__S_051_ff62___ff63_: !!perl/hash:RE_ast dba: perfect quotes dic: STD re: !!perl/hash:RE_bracket @@ -2087,7 +2082,7 @@ quote__S_050_ff62___ff63_: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 -quote__S_051Single_Single: !!perl/hash:RE_ast +quote__S_052Single_Single: !!perl/hash:RE_ast dba: single quotes dic: STD re: !!perl/hash:RE_bracket @@ -2108,7 +2103,7 @@ quote__S_051Single_Single: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 -quote__S_052Double_Double: !!perl/hash:RE_ast +quote__S_053Double_Double: !!perl/hash:RE_ast dba: double quotes dic: STD re: !!perl/hash:RE_bracket @@ -2140,7 +2135,7 @@ quotepair: !!perl/hash:RE_ast i: 0 text: ':' - !!perl/hash:RE_bracket - re: &15 !!perl/hash:RE_any + re: &14 !!perl/hash:RE_any altname: quotepair_0 dba: colon pair (restricted) dic: STD @@ -2250,7 +2245,7 @@ quotepair: !!perl/hash:RE_ast atom: !!perl/hash:RE_block {} - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} -quotepair_0: *15 +quotepair_0: *14 rad_number: !!perl/hash:RE_ast dba: number in radix notation dic: STD @@ -2286,7 +2281,7 @@ rad_number: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &16 !!perl/hash:RE_any + re: &15 !!perl/hash:RE_any altname: rad_number_0 dba: number in radix notation dic: STD @@ -2446,12 +2441,12 @@ rad_number: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -rad_number_0: *16 +rad_number_0: *15 radint: !!perl/hash:RE_ast dba: radint dic: STD re: !!perl/hash:RE_bracket - re: &17 !!perl/hash:RE_any + re: &16 !!perl/hash:RE_any altname: radint_0 dba: radint dic: STD @@ -2483,7 +2478,7 @@ radint: !!perl/hash:RE_ast assert: '?' re: !!perl/hash:RE_block nobind: 1 -radint_0: *17 +radint_0: *16 regex_declarator:*: dic: STD routine_declarator:*: @@ -2492,7 +2487,7 @@ scope_declarator:*: dic: STD sigil:*: dic: STD -sigil__S_037Dollar: !!perl/hash:RE_ast +sigil__S_038Dollar: !!perl/hash:RE_ast dba: sigil dic: STD re: !!perl/hash:RE_method @@ -2500,7 +2495,7 @@ sigil__S_037Dollar: !!perl/hash:RE_ast name: sym rest: '' sym: $ -sigil__S_038At: !!perl/hash:RE_ast +sigil__S_039At: !!perl/hash:RE_ast dba: sigil dic: STD re: !!perl/hash:RE_method @@ -2508,7 +2503,7 @@ sigil__S_038At: !!perl/hash:RE_ast name: sym rest: '' sym: '@' -sigil__S_039Percent: !!perl/hash:RE_ast +sigil__S_040Percent: !!perl/hash:RE_ast dba: sigil dic: STD re: !!perl/hash:RE_method @@ -2516,7 +2511,7 @@ sigil__S_039Percent: !!perl/hash:RE_ast name: sym rest: '' sym: '%' -sigil__S_040Amp: !!perl/hash:RE_ast +sigil__S_041Amp: !!perl/hash:RE_ast dba: sigil dic: STD re: !!perl/hash:RE_method @@ -2558,7 +2553,7 @@ stdstopper: !!perl/hash:RE_ast re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &18 !!perl/hash:RE_any + re: &17 !!perl/hash:RE_any altname: stdstopper_0 dba: standard stopper dic: STD @@ -2573,11 +2568,17 @@ stdstopper: !!perl/hash:RE_ast alt: stdstopper_0 1 assert: '?' re: !!perl/hash:RE_method - name: unitstopper + name: feed_separator rest: '' - !!perl/hash:RE_assertion alt: stdstopper_0 2 assert: '?' + re: !!perl/hash:RE_method + name: unitstopper + rest: '' + - !!perl/hash:RE_assertion + alt: stdstopper_0 3 + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 @@ -2585,10 +2586,10 @@ stdstopper: !!perl/hash:RE_ast name: stopper rest: '' - !!perl/hash:RE_meta - alt: stdstopper_0 3 + alt: stdstopper_0 4 text: $ - !!perl/hash:RE_block {} -stdstopper_0: *18 +stdstopper_0: *17 stopper: !!perl/hash:RE_ast dba: stopper dic: STD @@ -2598,7 +2599,7 @@ stopper: !!perl/hash:RE_ast nobind: 1 term:*: dic: STD -term__S_064miscbad: !!perl/hash:RE_ast +term__S_065miscbad: !!perl/hash:RE_ast dba: term dic: STD re: !!perl/hash:RE_sequence @@ -2615,7 +2616,7 @@ term__S_064miscbad: !!perl/hash:RE_ast nobind: 1 terminator:*: dic: STD -terminator__S_061Thesis: !!perl/hash:RE_ast +terminator__S_062Thesis: !!perl/hash:RE_ast dba: terminator dic: STD re: !!perl/hash:RE_sequence @@ -2628,7 +2629,7 @@ terminator__S_061Thesis: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_062Ket: !!perl/hash:RE_ast +terminator__S_063Ket: !!perl/hash:RE_ast dba: terminator dic: STD re: !!perl/hash:RE_sequence @@ -2639,7 +2640,7 @@ terminator__S_062Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_063Ly: !!perl/hash:RE_ast +terminator__S_064Ly: !!perl/hash:RE_ast dba: terminator dic: STD re: !!perl/hash:RE_sequence @@ -2654,7 +2655,7 @@ trait_mod:*: dic: STD twigil:*: dic: STD -twigil__S_041Dot: !!perl/hash:RE_ast +twigil__S_042Dot: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2668,7 +2669,7 @@ twigil__S_041Dot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_042Bang: !!perl/hash:RE_ast +twigil__S_043Bang: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2682,7 +2683,7 @@ twigil__S_042Bang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_043Caret: !!perl/hash:RE_ast +twigil__S_044Caret: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2696,7 +2697,7 @@ twigil__S_043Caret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_044Colon: !!perl/hash:RE_ast +twigil__S_045Colon: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2710,7 +2711,7 @@ twigil__S_044Colon: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_045Star: !!perl/hash:RE_ast +twigil__S_046Star: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2724,7 +2725,7 @@ twigil__S_045Star: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_046Question: !!perl/hash:RE_ast +twigil__S_047Question: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2738,7 +2739,7 @@ twigil__S_046Question: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_047Equal: !!perl/hash:RE_ast +twigil__S_048Equal: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2752,7 +2753,7 @@ twigil__S_047Equal: !!perl/hash:RE_ast - !!perl/hash:RE_method name: begid rest: '' -twigil__S_048Tilde: !!perl/hash:RE_ast +twigil__S_049Tilde: !!perl/hash:RE_ast dba: twigil dic: STD re: !!perl/hash:RE_sequence @@ -2774,57 +2775,61 @@ unitstopper: !!perl/hash:RE_ast re: !!perl/hash:RE_meta text: $ unsp: !!perl/hash:RE_ast - dba: unspace + dba: unsp dic: STD - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_meta - min: 1 - text: \\ - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_method_re - name: before - nobind: 1 - re: !!perl/hash:RE_bracket - re: &19 !!perl/hash:RE_any - altname: unsp_0 - dba: unsp - dic: STD - zyg: - - !!perl/hash:RE_meta - alt: unsp_0 0 - min: 1 - text: \s - - !!perl/hash:RE_string - alt: unsp_0 1 - i: 0 - text: '#' - - !!perl/hash:RE_quantified_atom - atom: !!perl/hash:RE_bracket - re: &20 !!perl/hash:RE_any - altname: unsp_1 - dba: unspace - dic: STD - zyg: - - !!perl/hash:RE_method - alt: unsp_1 0 - name: vws - rest: '' - - !!perl/hash:RE_method - alt: unsp_1 1 - name: unv - rest: '' - - !!perl/hash:RE_sequence - alt: unsp_1 2 - zyg: - - !!perl/hash:RE_meta - text: $ - - !!perl/hash:RE_block {} - quant: - - '*' -unsp_0: *19 -unsp_1: *20 + re: !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_meta + min: 1 + text: \\ + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_bracket + re: &18 !!perl/hash:RE_any + altname: unsp_0 + dba: unsp + dic: STD + zyg: + - !!perl/hash:RE_meta + alt: unsp_0 0 + min: 1 + text: \s + - !!perl/hash:RE_string + alt: unsp_0 1 + i: 0 + text: '#' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: &19 !!perl/hash:RE_any + altname: unsp_1 + dba: unspace + dic: STD + zyg: + - !!perl/hash:RE_method + alt: unsp_1 0 + name: vws + rest: '' + - !!perl/hash:RE_method + alt: unsp_1 1 + name: unv + rest: '' + - !!perl/hash:RE_sequence + alt: unsp_1 2 + zyg: + - !!perl/hash:RE_meta + text: $ + - !!perl/hash:RE_block {} + quant: + - '*' + quant: + - + +unsp_0: *18 +unsp_1: *19 unspacey: !!perl/hash:RE_ast dba: unspacey dic: STD @@ -2839,7 +2844,7 @@ unv: !!perl/hash:RE_ast dic: STD re: !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &21 !!perl/hash:RE_any + re: &20 !!perl/hash:RE_any altname: unv_0 dba: horizontal whitespace dic: STD @@ -2871,7 +2876,7 @@ unv: !!perl/hash:RE_ast i: 0 text: = - !!perl/hash:RE_bracket - re: &22 !!perl/hash:RE_any + re: &21 !!perl/hash:RE_any altname: unv_1 dba: horizontal whitespace dic: STD @@ -2903,8 +2908,8 @@ unv: !!perl/hash:RE_ast rest: '' quant: - + -unv_0: *21 -unv_1: *22 +unv_0: *20 +unv_1: *21 value:*: dic: STD version:*: @@ -2915,7 +2920,7 @@ vws: !!perl/hash:RE_ast re: !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket re: !!perl/hash:RE_bracket - re: &23 !!perl/hash:RE_any + re: &22 !!perl/hash:RE_any altname: vws_0 dba: vertical whitespace dic: STD @@ -3013,14 +3018,14 @@ vws: !!perl/hash:RE_ast text: \v quant: - + -vws_0: *23 +vws_0: *22 ws: !!perl/hash:RE_ast dba: whitespace dic: STD re: !!perl/hash:RE_first zyg: - !!perl/hash:RE_bracket - re: &24 !!perl/hash:RE_any + re: &23 !!perl/hash:RE_any altname: ws_0 dba: whitespace dic: STD @@ -3070,7 +3075,7 @@ ws: !!perl/hash:RE_ast zyg: - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &25 !!perl/hash:RE_any + re: &24 !!perl/hash:RE_any altname: ws_1 dba: whitespace dic: STD @@ -3101,8 +3106,8 @@ ws: !!perl/hash:RE_ast quant: - '*' - !!perl/hash:RE_block {} -ws_0: *24 -ws_1: *25 +ws_0: *23 +ws_1: *24 RETREE_END ; use DEBUG; @@ -3112,12 +3117,12 @@ use Cursor; our $ALL; ## method p6class () sub p6class { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; 'STD::P6' }; ## method TOP ($STOP = '') sub TOP { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $STOP = @_ ? shift() : ''; my $lang = $self->cursor_fresh( $self->p6class ); @@ -3144,7 +3149,7 @@ our %structural = ('dba' => ('structural infix'), 'prec' => 'n=', 'assoc' = our %chaining = ('dba' => ('chaining') , 'prec' => 'm=', 'assoc' => 'chain', 'diffy' => 1, 'iffy' => 1, 'pure' => 1); our %tight_and = ('dba' => ('tight and') , 'prec' => 'l=', 'assoc' => 'list'); our %tight_or = ('dba' => ('tight or') , 'prec' => 'k=', 'assoc' => 'list'); -our %conditional = ('dba' => ('conditional') , 'prec' => 'j=', 'assoc' => 'right', 'fiddly' => 1); +our %conditional = ('dba' => ('conditional') , 'prec' => 'j=', 'assoc' => 'right', 'iffy' => 1); our %item_assignment = ('dba' => ('item assignment') , 'prec' => 'i=', 'assoc' => 'right', 'pure' => 0); our %list_assignment = ('dba' => ('list assignment') , 'prec' => 'i=', 'assoc' => 'right', 'fiddly' => 1, 'pure' => 0); our %loose_unary = ('dba' => ('loose unary') , 'prec' => 'h=', 'assoc' => 'unary', 'uassoc' => 'left', 'pure' => 1); @@ -3153,7 +3158,6 @@ our %list_infix = ('dba' => ('list infix') , 'prec' => 'f=', 'assoc' = our %list_prefix = ('dba' => ('list prefix') , 'prec' => 'e=', 'assoc' => 'unary', 'uassoc' => 'left'); our %loose_and = ('dba' => ('loose and') , 'prec' => 'd=', 'assoc' => 'list'); our %loose_or = ('dba' => ('loose or') , 'prec' => 'c=', 'assoc' => 'list'); -our %sequencer = ('dba' => ('sequencer') , 'prec' => 'b=', 'assoc' => 'list', 'nextterm' => 'statement', 'fiddly' => 1); our %LOOSEST = ('dba' => ('LOOSEST') , 'prec' => 'a=!'); our %terminator = ('dba' => ('terminator') , 'prec' => 'a=', 'assoc' => 'list'); our $LOOSEST = "a=!"; @@ -3219,7 +3223,7 @@ $self->_MATCHIFYr($S, "category", @gather); ## token category:category { } sub category__S_000category__PEEK { $_[0]->_AUTOLEXpeek('category__S_000category', $retree) } sub category__S_000category { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3235,7 +3239,7 @@ $self->_MATCHIFYr($S, "category__S_000category", $C->_EXACT("category")); ## token category:sigil { } sub category__S_001sigil__PEEK { $_[0]->_AUTOLEXpeek('category__S_001sigil', $retree) } sub category__S_001sigil { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3306,7 +3310,7 @@ $self->_MATCHIFYr($S, "sigil", @gather); ## token category:twigil { } sub category__S_002twigil__PEEK { $_[0]->_AUTOLEXpeek('category__S_002twigil', $retree) } sub category__S_002twigil { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3377,7 +3381,7 @@ $self->_MATCHIFYr($S, "twigil", @gather); ## token category:special_variable { } sub category__S_003special_variable__PEEK { $_[0]->_AUTOLEXpeek('category__S_003special_variable', $retree) } sub category__S_003special_variable { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3448,7 +3452,7 @@ $self->_MATCHIFYr($S, "special_variable", @gather); ## token category:comment { } sub category__S_004comment__PEEK { $_[0]->_AUTOLEXpeek('category__S_004comment', $retree) } sub category__S_004comment { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3519,7 +3523,7 @@ $self->_MATCHIFYr($S, "comment", @gather); ## token category:version { } sub category__S_005version__PEEK { $_[0]->_AUTOLEXpeek('category__S_005version', $retree) } sub category__S_005version { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3590,7 +3594,7 @@ $self->_MATCHIFYr($S, "version", @gather); ## token category:module_name { } sub category__S_006module_name__PEEK { $_[0]->_AUTOLEXpeek('category__S_006module_name', $retree) } sub category__S_006module_name { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3661,7 +3665,7 @@ $self->_MATCHIFYr($S, "module_name", @gather); ## token category:value { } sub category__S_007value__PEEK { $_[0]->_AUTOLEXpeek('category__S_007value', $retree) } sub category__S_007value { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3732,7 +3736,7 @@ $self->_MATCHIFYr($S, "value", @gather); ## token category:term { } sub category__S_008term__PEEK { $_[0]->_AUTOLEXpeek('category__S_008term', $retree) } sub category__S_008term { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3803,7 +3807,7 @@ $self->_MATCHIFYr($S, "term", @gather); ## token category:numeric { } sub category__S_009numeric__PEEK { $_[0]->_AUTOLEXpeek('category__S_009numeric', $retree) } sub category__S_009numeric { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3874,7 +3878,7 @@ $self->_MATCHIFYr($S, "numeric", @gather); ## token category:quote { } sub category__S_010quote__PEEK { $_[0]->_AUTOLEXpeek('category__S_010quote', $retree) } sub category__S_010quote { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -3945,7 +3949,7 @@ $self->_MATCHIFYr($S, "quote", @gather); ## token category:prefix { } sub category__S_011prefix__PEEK { $_[0]->_AUTOLEXpeek('category__S_011prefix', $retree) } sub category__S_011prefix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4016,7 +4020,7 @@ $self->_MATCHIFYr($S, "prefix", @gather); ## token category:infix { } sub category__S_012infix__PEEK { $_[0]->_AUTOLEXpeek('category__S_012infix', $retree) } sub category__S_012infix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4087,7 +4091,7 @@ $self->_MATCHIFYr($S, "infix", @gather); ## token category:postfix { } sub category__S_013postfix__PEEK { $_[0]->_AUTOLEXpeek('category__S_013postfix', $retree) } sub category__S_013postfix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4158,7 +4162,7 @@ $self->_MATCHIFYr($S, "postfix", @gather); ## token category:dotty { } sub category__S_014dotty__PEEK { $_[0]->_AUTOLEXpeek('category__S_014dotty', $retree) } sub category__S_014dotty { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4229,7 +4233,7 @@ $self->_MATCHIFYr($S, "dotty", @gather); ## token category:circumfix { } sub category__S_015circumfix__PEEK { $_[0]->_AUTOLEXpeek('category__S_015circumfix', $retree) } sub category__S_015circumfix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4300,7 +4304,7 @@ $self->_MATCHIFYr($S, "circumfix", @gather); ## token category:postcircumfix { } sub category__S_016postcircumfix__PEEK { $_[0]->_AUTOLEXpeek('category__S_016postcircumfix', $retree) } sub category__S_016postcircumfix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4371,7 +4375,7 @@ $self->_MATCHIFYr($S, "postcircumfix", @gather); ## token category:quote_mod { } sub category__S_017quote_mod__PEEK { $_[0]->_AUTOLEXpeek('category__S_017quote_mod', $retree) } sub category__S_017quote_mod { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4442,7 +4446,7 @@ $self->_MATCHIFYr($S, "quote_mod", @gather); ## token category:trait_mod { } sub category__S_018trait_mod__PEEK { $_[0]->_AUTOLEXpeek('category__S_018trait_mod', $retree) } sub category__S_018trait_mod { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4513,7 +4517,7 @@ $self->_MATCHIFYr($S, "trait_mod", @gather); ## token category:initializer { } sub category__S_019initializer__PEEK { $_[0]->_AUTOLEXpeek('category__S_019initializer', $retree) } sub category__S_019initializer { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4584,7 +4588,7 @@ $self->_MATCHIFYr($S, "initializer", @gather); ## token category:type_declarator { } sub category__S_020type_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_020type_declarator', $retree) } sub category__S_020type_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4655,7 +4659,7 @@ $self->_MATCHIFYr($S, "type_declarator", @gather); ## token category:scope_declarator { } sub category__S_021scope_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_021scope_declarator', $retree) } sub category__S_021scope_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4726,7 +4730,7 @@ $self->_MATCHIFYr($S, "scope_declarator", @gather); ## token category:package_declarator { } sub category__S_022package_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_022package_declarator', $retree) } sub category__S_022package_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4797,7 +4801,7 @@ $self->_MATCHIFYr($S, "package_declarator", @gather); ## token category:multi_declarator { } sub category__S_023multi_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_023multi_declarator', $retree) } sub category__S_023multi_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4868,7 +4872,7 @@ $self->_MATCHIFYr($S, "multi_declarator", @gather); ## token category:routine_declarator { } sub category__S_024routine_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_024routine_declarator', $retree) } sub category__S_024routine_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -4939,7 +4943,7 @@ $self->_MATCHIFYr($S, "routine_declarator", @gather); ## token category:regex_declarator { } sub category__S_025regex_declarator__PEEK { $_[0]->_AUTOLEXpeek('category__S_025regex_declarator', $retree) } sub category__S_025regex_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5010,7 +5014,7 @@ $self->_MATCHIFYr($S, "regex_declarator", @gather); ## token category:statement_prefix { } sub category__S_026statement_prefix__PEEK { $_[0]->_AUTOLEXpeek('category__S_026statement_prefix', $retree) } sub category__S_026statement_prefix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5078,20 +5082,91 @@ $self->_MATCHIFYr($S, "statement_prefix", @gather); @result; } ; +## token category:feed_separator { } +sub category__S_027feed_separator__PEEK { $_[0]->_AUTOLEXpeek('category__S_027feed_separator', $retree) } +sub category__S_027feed_separator { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE category__S_027feed_separator"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "feed_separator"; +$self->_MATCHIFYr($S, "category__S_027feed_separator", $C->_EXACT("feed_separator")); +} +; +## token feed_separator {*} +sub feed_separator__PEEK { $_[0]->_AUTOLEXpeek('feed_separator:*',$retree); } +sub feed_separator { +my $self = shift; +my $subs; + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact('RULE feed_separator'); +my $S = $C->{'_pos'}; + +my @result = do { +my ($tag, $try); +my @try; +my $relex; +my $x; +if (my $fate = $C->{'_fate'}) { +if ($fate->[1] eq 'feed_separator') { +$C->deb("Fate passed to feed_separator: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +($C->{'_fate'}, $tag, $try) = @$fate; +@try = ($try); +$x = 'ALT feed_separator'; +} +else { +$x = 'ALTLTM feed_separator'; +} +} +else { +$x = 'ALTLTM feed_separator'; +} +my $C = $C->cursor_xact($x); +my $xact = $C->{_xact}; + +my @gather = (); +for (;;) { +unless (@try) { +$relex //= $C->cursor_fate('STD', 'feed_separator:*', $retree); +@try = $relex->($C) or last; +} +$try = shift(@try) // next; + +if (ref $try) { +($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate +} + +$C->deb("feed_separator trying $tag $try") if $::DEBUG & DEBUG::try_processing; +push @gather, $C->$try(@_); +last if @gather; +last if $xact->[-2]; # committed? +} +$self->_MATCHIFYr($S, "feed_separator", @gather); +}; +@result; +} +; ## token category:statement_control { } -sub category__S_027statement_control__PEEK { $_[0]->_AUTOLEXpeek('category__S_027statement_control', $retree) } -sub category__S_027statement_control { -no warnings 'recursion'; +sub category__S_028statement_control__PEEK { $_[0]->_AUTOLEXpeek('category__S_028statement_control', $retree) } +sub category__S_028statement_control { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_027statement_control"); +my $C = $self->cursor_xact("RULE category__S_028statement_control"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "statement_control"; -$self->_MATCHIFYr($S, "category__S_027statement_control", $C->_EXACT("statement_control")); +$self->_MATCHIFYr($S, "category__S_028statement_control", $C->_EXACT("statement_control")); } ; ## rule statement_control is endsym {*} @@ -5150,19 +5225,19 @@ $self->_MATCHIFYr($S, "statement_control", @gather); } ; ## token category:statement_mod_cond { } -sub category__S_028statement_mod_cond__PEEK { $_[0]->_AUTOLEXpeek('category__S_028statement_mod_cond', $retree) } -sub category__S_028statement_mod_cond { -no warnings 'recursion'; +sub category__S_029statement_mod_cond__PEEK { $_[0]->_AUTOLEXpeek('category__S_029statement_mod_cond', $retree) } +sub category__S_029statement_mod_cond { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_028statement_mod_cond"); +my $C = $self->cursor_xact("RULE category__S_029statement_mod_cond"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "statement_mod_cond"; -$self->_MATCHIFYr($S, "category__S_028statement_mod_cond", $C->_EXACT("statement_mod_cond")); +$self->_MATCHIFYr($S, "category__S_029statement_mod_cond", $C->_EXACT("statement_mod_cond")); } ; ## rule statement_mod_cond is endsym {*} @@ -5221,19 +5296,19 @@ $self->_MATCHIFYr($S, "statement_mod_cond", @gather); } ; ## token category:statement_mod_loop { } -sub category__S_029statement_mod_loop__PEEK { $_[0]->_AUTOLEXpeek('category__S_029statement_mod_loop', $retree) } -sub category__S_029statement_mod_loop { -no warnings 'recursion'; +sub category__S_030statement_mod_loop__PEEK { $_[0]->_AUTOLEXpeek('category__S_030statement_mod_loop', $retree) } +sub category__S_030statement_mod_loop { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_029statement_mod_loop"); +my $C = $self->cursor_xact("RULE category__S_030statement_mod_loop"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "statement_mod_loop"; -$self->_MATCHIFYr($S, "category__S_029statement_mod_loop", $C->_EXACT("statement_mod_loop")); +$self->_MATCHIFYr($S, "category__S_030statement_mod_loop", $C->_EXACT("statement_mod_loop")); } ; ## rule statement_mod_loop is endsym {*} @@ -5292,19 +5367,19 @@ $self->_MATCHIFYr($S, "statement_mod_loop", @gather); } ; ## token category:infix_prefix_meta_operator { } -sub category__S_030infix_prefix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_030infix_prefix_meta_operator', $retree) } -sub category__S_030infix_prefix_meta_operator { -no warnings 'recursion'; +sub category__S_031infix_prefix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_031infix_prefix_meta_operator', $retree) } +sub category__S_031infix_prefix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_030infix_prefix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_031infix_prefix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "infix_prefix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_030infix_prefix_meta_operator", $C->_EXACT("infix_prefix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_031infix_prefix_meta_operator", $C->_EXACT("infix_prefix_meta_operator")); } ; ## token infix_prefix_meta_operator is binary {*} @@ -5363,19 +5438,19 @@ $self->_MATCHIFYr($S, "infix_prefix_meta_operator", @gather); } ; ## token category:infix_postfix_meta_operator { } -sub category__S_031infix_postfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_031infix_postfix_meta_operator', $retree) } -sub category__S_031infix_postfix_meta_operator { -no warnings 'recursion'; +sub category__S_032infix_postfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_032infix_postfix_meta_operator', $retree) } +sub category__S_032infix_postfix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_031infix_postfix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_032infix_postfix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "infix_postfix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_031infix_postfix_meta_operator", $C->_EXACT("infix_postfix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_032infix_postfix_meta_operator", $C->_EXACT("infix_postfix_meta_operator")); } ; ## token infix_postfix_meta_operator ($op) is binary {*} @@ -5434,19 +5509,19 @@ $self->_MATCHIFYr($S, "infix_postfix_meta_operator", @gather); } ; ## token category:infix_circumfix_meta_operator { } -sub category__S_032infix_circumfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_032infix_circumfix_meta_operator', $retree) } -sub category__S_032infix_circumfix_meta_operator { -no warnings 'recursion'; +sub category__S_033infix_circumfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_033infix_circumfix_meta_operator', $retree) } +sub category__S_033infix_circumfix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_032infix_circumfix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_033infix_circumfix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "infix_circumfix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_032infix_circumfix_meta_operator", $C->_EXACT("infix_circumfix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_033infix_circumfix_meta_operator", $C->_EXACT("infix_circumfix_meta_operator")); } ; ## token infix_circumfix_meta_operator is binary {*} @@ -5505,19 +5580,19 @@ $self->_MATCHIFYr($S, "infix_circumfix_meta_operator", @gather); } ; ## token category:postfix_prefix_meta_operator { } -sub category__S_033postfix_prefix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_033postfix_prefix_meta_operator', $retree) } -sub category__S_033postfix_prefix_meta_operator { -no warnings 'recursion'; +sub category__S_034postfix_prefix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_034postfix_prefix_meta_operator', $retree) } +sub category__S_034postfix_prefix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_033postfix_prefix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_034postfix_prefix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "postfix_prefix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_033postfix_prefix_meta_operator", $C->_EXACT("postfix_prefix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_034postfix_prefix_meta_operator", $C->_EXACT("postfix_prefix_meta_operator")); } ; ## token postfix_prefix_meta_operator is unary {*} @@ -5576,19 +5651,19 @@ $self->_MATCHIFYr($S, "postfix_prefix_meta_operator", @gather); } ; ## token category:prefix_postfix_meta_operator { } -sub category__S_034prefix_postfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_034prefix_postfix_meta_operator', $retree) } -sub category__S_034prefix_postfix_meta_operator { -no warnings 'recursion'; +sub category__S_035prefix_postfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_035prefix_postfix_meta_operator', $retree) } +sub category__S_035prefix_postfix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_034prefix_postfix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_035prefix_postfix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "prefix_postfix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_034prefix_postfix_meta_operator", $C->_EXACT("prefix_postfix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_035prefix_postfix_meta_operator", $C->_EXACT("prefix_postfix_meta_operator")); } ; ## token prefix_postfix_meta_operator is unary {*} @@ -5647,19 +5722,19 @@ $self->_MATCHIFYr($S, "prefix_postfix_meta_operator", @gather); } ; ## token category:prefix_circumfix_meta_operator { } -sub category__S_035prefix_circumfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_035prefix_circumfix_meta_operator', $retree) } -sub category__S_035prefix_circumfix_meta_operator { -no warnings 'recursion'; +sub category__S_036prefix_circumfix_meta_operator__PEEK { $_[0]->_AUTOLEXpeek('category__S_036prefix_circumfix_meta_operator', $retree) } +sub category__S_036prefix_circumfix_meta_operator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_035prefix_circumfix_meta_operator"); +my $C = $self->cursor_xact("RULE category__S_036prefix_circumfix_meta_operator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "prefix_circumfix_meta_operator"; -$self->_MATCHIFYr($S, "category__S_035prefix_circumfix_meta_operator", $C->_EXACT("prefix_circumfix_meta_operator")); +$self->_MATCHIFYr($S, "category__S_036prefix_circumfix_meta_operator", $C->_EXACT("prefix_circumfix_meta_operator")); } ; ## token prefix_circumfix_meta_operator is unary {*} @@ -5718,19 +5793,19 @@ $self->_MATCHIFYr($S, "prefix_circumfix_meta_operator", @gather); } ; ## token category:terminator { } -sub category__S_036terminator__PEEK { $_[0]->_AUTOLEXpeek('category__S_036terminator', $retree) } -sub category__S_036terminator { -no warnings 'recursion'; +sub category__S_037terminator__PEEK { $_[0]->_AUTOLEXpeek('category__S_037terminator', $retree) } +sub category__S_037terminator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE category__S_036terminator"); +my $C = $self->cursor_xact("RULE category__S_037terminator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "terminator"; -$self->_MATCHIFYr($S, "category__S_036terminator", $C->_EXACT("terminator")); +$self->_MATCHIFYr($S, "category__S_037terminator", $C->_EXACT("terminator")); } ; ## token terminator {*} @@ -5791,7 +5866,7 @@ $self->_MATCHIFYr($S, "terminator", @gather); ## token unspacey { <.unsp>? } sub unspacey__PEEK { $_[0]->_AUTOLEXpeek('unspacey', $retree) } sub unspacey { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5809,7 +5884,7 @@ if (my ($C) = ($C->unsp)) { ($C) } else { () } ## token begid { } sub begid__PEEK { $_[0]->_AUTOLEXpeek('begid', $retree) } sub begid { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5830,7 +5905,7 @@ $C->_PATTERN(qr/\G\w/) ## token endid { > } sub endid__PEEK { $_[0]->_AUTOLEXpeek('endid', $retree) } sub endid { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5851,7 +5926,7 @@ $C->_PATTERN(qr/\G[^\-\'\w]/) ## token spacey { > } sub spacey__PEEK { $_[0]->_AUTOLEXpeek('spacey', $retree) } sub spacey { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5872,7 +5947,7 @@ $C->_PATTERN(qr/\G[\s\#]/) ## token keyspace { [ > || <.panic: "Whitespace required after keywo sub keyspace__PEEK { $_[0]->_AUTOLEXpeek('keyspace', $retree) } sub keyspace { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -5926,7 +6001,7 @@ $C ## token nofun { } sub nofun__PEEK { $_[0]->_AUTOLEXpeek('nofun', $retree) } sub nofun { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6014,83 +6089,83 @@ last if $xact->[-2]; # committed? } ; ## token sigil:sym<$> { } -sub sigil__S_037Dollar__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_037Dollar', $retree) } -sub sigil__S_037Dollar { -no warnings 'recursion'; +sub sigil__S_038Dollar__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_038Dollar', $retree) } +sub sigil__S_038Dollar { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE sigil__S_037Dollar"); +my $C = $self->cursor_xact("RULE sigil__S_038Dollar"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$"; -$self->_MATCHIFYr($S, "sigil__S_037Dollar", $C->_EXACT("\$")); +$self->_MATCHIFYr($S, "sigil__S_038Dollar", $C->_EXACT("\$")); } ; ## token sigil:sym<@> { } -sub sigil__S_038At__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_038At', $retree) } -sub sigil__S_038At { -no warnings 'recursion'; +sub sigil__S_039At__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_039At', $retree) } +sub sigil__S_039At { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE sigil__S_038At"); +my $C = $self->cursor_xact("RULE sigil__S_039At"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\@"; -$self->_MATCHIFYr($S, "sigil__S_038At", $C->_EXACT("\@")); +$self->_MATCHIFYr($S, "sigil__S_039At", $C->_EXACT("\@")); } ; ## token sigil:sym<%> { } -sub sigil__S_039Percent__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_039Percent', $retree) } -sub sigil__S_039Percent { -no warnings 'recursion'; +sub sigil__S_040Percent__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_040Percent', $retree) } +sub sigil__S_040Percent { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE sigil__S_039Percent"); +my $C = $self->cursor_xact("RULE sigil__S_040Percent"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\%"; -$self->_MATCHIFYr($S, "sigil__S_039Percent", $C->_EXACT("\%")); +$self->_MATCHIFYr($S, "sigil__S_040Percent", $C->_EXACT("\%")); } ; ## token sigil:sym<&> { } -sub sigil__S_040Amp__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_040Amp', $retree) } -sub sigil__S_040Amp { -no warnings 'recursion'; +sub sigil__S_041Amp__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_041Amp', $retree) } +sub sigil__S_041Amp { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE sigil__S_040Amp"); +my $C = $self->cursor_xact("RULE sigil__S_041Amp"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\&"; -$self->_MATCHIFYr($S, "sigil__S_040Amp", $C->_EXACT("\&")); +$self->_MATCHIFYr($S, "sigil__S_041Amp", $C->_EXACT("\&")); } ; ## token twigil:sym<.> { } -sub twigil__S_041Dot__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_041Dot', $retree) } -sub twigil__S_041Dot { -no warnings 'recursion'; +sub twigil__S_042Dot__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_042Dot', $retree) } +sub twigil__S_042Dot { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_041Dot"); +my $C = $self->cursor_xact("RULE twigil__S_042Dot"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\."; -$self->_MATCHIFYr($S, "twigil__S_041Dot", do { +$self->_MATCHIFYr($S, "twigil__S_042Dot", do { my $C = $C; if (($C) = ($C->_EXACT("\.")) and ($C) = ($C->begid)) { @@ -6101,19 +6176,19 @@ $C } ; ## token twigil:sym { } -sub twigil__S_042Bang__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_042Bang', $retree) } -sub twigil__S_042Bang { -no warnings 'recursion'; +sub twigil__S_043Bang__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_043Bang', $retree) } +sub twigil__S_043Bang { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_042Bang"); +my $C = $self->cursor_xact("RULE twigil__S_043Bang"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\!"; -$self->_MATCHIFYr($S, "twigil__S_042Bang", do { +$self->_MATCHIFYr($S, "twigil__S_043Bang", do { my $C = $C; if (($C) = ($C->_EXACT("\!")) and ($C) = ($C->begid)) { @@ -6124,19 +6199,19 @@ $C } ; ## token twigil:sym<^> { } -sub twigil__S_043Caret__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_043Caret', $retree) } -sub twigil__S_043Caret { -no warnings 'recursion'; +sub twigil__S_044Caret__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_044Caret', $retree) } +sub twigil__S_044Caret { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_043Caret"); +my $C = $self->cursor_xact("RULE twigil__S_044Caret"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\^"; -$self->_MATCHIFYr($S, "twigil__S_043Caret", do { +$self->_MATCHIFYr($S, "twigil__S_044Caret", do { my $C = $C; if (($C) = ($C->_EXACT("\^")) and ($C) = ($C->begid)) { @@ -6147,19 +6222,19 @@ $C } ; ## token twigil:sym<:> { } -sub twigil__S_044Colon__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_044Colon', $retree) } -sub twigil__S_044Colon { -no warnings 'recursion'; +sub twigil__S_045Colon__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_045Colon', $retree) } +sub twigil__S_045Colon { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_044Colon"); +my $C = $self->cursor_xact("RULE twigil__S_045Colon"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\:"; -$self->_MATCHIFYr($S, "twigil__S_044Colon", do { +$self->_MATCHIFYr($S, "twigil__S_045Colon", do { my $C = $C; if (($C) = ($C->_EXACT("\:")) and ($C) = ($C->begid)) { @@ -6170,19 +6245,19 @@ $C } ; ## token twigil:sym<*> { } -sub twigil__S_045Star__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_045Star', $retree) } -sub twigil__S_045Star { -no warnings 'recursion'; +sub twigil__S_046Star__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_046Star', $retree) } +sub twigil__S_046Star { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_045Star"); +my $C = $self->cursor_xact("RULE twigil__S_046Star"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\*"; -$self->_MATCHIFYr($S, "twigil__S_045Star", do { +$self->_MATCHIFYr($S, "twigil__S_046Star", do { my $C = $C; if (($C) = ($C->_EXACT("\*")) and ($C) = ($C->begid)) { @@ -6193,19 +6268,19 @@ $C } ; ## token twigil:sym { } -sub twigil__S_046Question__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_046Question', $retree) } -sub twigil__S_046Question { -no warnings 'recursion'; +sub twigil__S_047Question__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_047Question', $retree) } +sub twigil__S_047Question { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_046Question"); +my $C = $self->cursor_xact("RULE twigil__S_047Question"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\?"; -$self->_MATCHIFYr($S, "twigil__S_046Question", do { +$self->_MATCHIFYr($S, "twigil__S_047Question", do { my $C = $C; if (($C) = ($C->_EXACT("\?")) and ($C) = ($C->begid)) { @@ -6216,19 +6291,19 @@ $C } ; ## token twigil:sym<=> { } -sub twigil__S_047Equal__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_047Equal', $retree) } -sub twigil__S_047Equal { -no warnings 'recursion'; +sub twigil__S_048Equal__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_048Equal', $retree) } +sub twigil__S_048Equal { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_047Equal"); +my $C = $self->cursor_xact("RULE twigil__S_048Equal"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\="; -$self->_MATCHIFYr($S, "twigil__S_047Equal", do { +$self->_MATCHIFYr($S, "twigil__S_048Equal", do { my $C = $C; if (($C) = ($C->_EXACT("\=")) and ($C) = ($C->begid)) { @@ -6239,19 +6314,19 @@ $C } ; ## token twigil:sym<~> { } -sub twigil__S_048Tilde__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_048Tilde', $retree) } -sub twigil__S_048Tilde { -no warnings 'recursion'; +sub twigil__S_049Tilde__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_049Tilde', $retree) } +sub twigil__S_049Tilde { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE twigil__S_048Tilde"); +my $C = $self->cursor_xact("RULE twigil__S_049Tilde"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\~"; -$self->_MATCHIFYr($S, "twigil__S_048Tilde", do { +$self->_MATCHIFYr($S, "twigil__S_049Tilde", do { my $C = $C; if (($C) = ($C->_EXACT("\~")) and ($C) = ($C->begid)) { @@ -6264,7 +6339,7 @@ $C ## token stopper { } sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) } sub stopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6279,89 +6354,10 @@ $C })); } ; -## regex liststopper { -sub liststopper__PEEK { $_[0]->_AUTOLEXpeek('liststopper', $retree) } -sub liststopper { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE liststopper"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$self->_MATCHIFY($S, "liststopper", $C->_BRACKET(sub { -my $C=shift; -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'liststopper_0') { -$C->deb("Fate passed to liststopper_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT liststopper_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM liststopper_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD', 'liststopper_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("liststopper_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_SUBSUME(['stdstopper'], sub { -my $C = shift; -$C->stdstopper -}) -}, -sub { -my $C=shift; -$C->_EXACT("\=\=\>") -}, -sub { -my $C=shift; -$C->_EXACT("\=\=\>\>") -}, -sub { -my $C=shift; -$C->_EXACT("\<\=\=") -}, -sub { -my $C=shift; -$C->_EXACT("\<\<\=\=") -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; -})); -} -; ## regex stdstopper { sub stdstopper__PEEK { $_[0]->_AUTOLEXpeek('stdstopper', $retree) } sub stdstopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::STUB = $::STUB = return $self if exists $::MEMOS[$self->{'_pos'}]->{'endstmt'}; @@ -6421,6 +6417,13 @@ sub { my $C=shift; $C->before(sub { my $C=shift; +$C->feed_separator +}) +}, +sub { +my $C=shift; +$C->before(sub { +my $C=shift; $C->unitstopper }) }, @@ -6450,7 +6453,7 @@ last if $xact->[-2]; # committed? ## token longname { sub longname__PEEK { $_[0]->_AUTOLEXpeek('longname', $retree) } sub longname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6494,7 +6497,7 @@ $C->colonpair ## token name { sub name__PEEK { $_[0]->_AUTOLEXpeek('name', $retree) } sub name { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6576,7 +6579,7 @@ last if $xact->[-2]; # committed? ## token morename { sub morename__PEEK { $_[0]->_AUTOLEXpeek('morename', $retree) } sub morename { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::QSIGIL = ''; @@ -6777,7 +6780,7 @@ $C ; ## method peek_delimiters sub peek_delimiters { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $pos = $self->{'_pos'}; my $startpos = $pos; @@ -6847,7 +6850,7 @@ RETREE_END ## token starter { $start } sub starter__PEEK { $_[0]->_AUTOLEXpeek('starter', $retree) } sub starter { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6862,7 +6865,7 @@ $self->_MATCHIFYr($S, "starter", $C->_EXACT($start)); ## token stopper { $stop } sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) } sub stopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6924,7 +6927,7 @@ RETREE_END ## token starter { } sub starter__PEEK { $_[0]->_AUTOLEXpeek('starter', $retree) } sub starter { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6942,7 +6945,7 @@ $C ## token stopper { $stop } sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) } sub stopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -6997,7 +7000,7 @@ RETREE_END ## token unitstopper { $stop } sub unitstopper__PEEK { $_[0]->_AUTOLEXpeek('unitstopper', $retree) } sub unitstopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7017,7 +7020,7 @@ $self->_MATCHIFYr($S, "unitstopper", $C->_EXACT($stop)); ## token unitstopper { $ } sub unitstopper__PEEK { $_[0]->_AUTOLEXpeek('unitstopper', $retree) } sub unitstopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7031,7 +7034,7 @@ $self->_MATCHIFYr($S, "unitstopper", $C->_PATTERN(qr/\G\z/)); ; ## method balanced ($start,$stop) sub balanced { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument start omitted' unless @_; my $start = @_ ? shift() : undef; @@ -7040,21 +7043,21 @@ my $stop = @_ ? shift() : undef; $self->mixin( STD::startstop->__instantiate__($start,$stop) )}; ## method unbalanced ($stop) sub unbalanced { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument stop omitted' unless @_; my $stop = @_ ? shift() : undef; $self->mixin( STD::stop->__instantiate__($stop) )}; ## method unitstop ($stop) sub unitstop { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument stop omitted' unless @_; my $stop = @_ ? shift() : undef; $self->mixin( STD::unitstop->__instantiate__($stop) )}; ## method truly ($bool,$opt) sub truly { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument bool omitted' unless @_; my $bool = @_ ? shift() : undef; @@ -7067,7 +7070,7 @@ $self; ## token charname { sub charname__PEEK { $_[0]->_AUTOLEXpeek('charname', $retree) } sub charname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7237,7 +7240,7 @@ $C->_SCANf()) ## token charnames { \s* [<.ws>] +% [','\s*] } sub charnames__PEEK { $_[0]->_AUTOLEXpeek('charnames', $retree) } sub charnames { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7276,7 +7279,7 @@ $C ## token charspec { sub charspec__PEEK { $_[0]->_AUTOLEXpeek('charspec', $retree) } sub charspec { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7370,6 +7373,10 @@ $C->_PATTERN(qr/\G[?-Z\\-_]/) }, sub { my $C=shift; +if (my ($C) = ($C->obsbrack)) { ($C) } else { () } +}, +sub { +my $C=shift; if (($C) = ($C->before(sub { my $C=shift; $C @@ -7500,7 +7507,7 @@ $self->_MATCHIFYr($S, "escape", @gather); ## token starter { } sub starter__PEEK { $_[0]->_AUTOLEXpeek('starter', $retree) } sub starter { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7516,19 +7523,19 @@ $C } ; ## token escape:none { } -sub escape__S_049none__PEEK { $_[0]->_AUTOLEXpeek('escape__S_049none', $retree) } -sub escape__S_049none { -no warnings 'recursion'; +sub escape__S_050none__PEEK { $_[0]->_AUTOLEXpeek('escape__S_050none', $retree) } +sub escape__S_050none { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE escape__S_049none"); +my $C = $self->cursor_xact("RULE escape__S_050none"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "none"; -$self->_MATCHIFYr($S, "escape__S_049none", $C->_NOTBEFORE(sub { +$self->_MATCHIFYr($S, "escape__S_050none", $C->_NOTBEFORE(sub { my $C=shift; $C })); @@ -7536,7 +7543,7 @@ $C ; ## method nibble ($lang) sub nibble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument lang omitted' unless @_; my $lang = @_ ? shift() : undef; @@ -7544,7 +7551,7 @@ $self->cursor_fresh($lang)->nibbler}; ## token nibbler { sub nibbler__PEEK { $_[0]->_AUTOLEXpeek('nibbler', $retree) } sub nibbler { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $text = '';my $from = $self->{'_pos'};my $to = $from;my @nibbles = ();my $multiline = 0; @@ -7601,9 +7608,9 @@ my $M = $C; push @nibbles, $C->makestr(TEXT => $text, _from => $from, _pos => $to ) if $from != $to; my $n = $M->{'nibbler'}->[-1]->{'nibbles'}; my @n = @$n; -push @nibbles, $M->{'starter'}; +push @nibbles, $M->{'starter'}->[-1]; push @nibbles, @n; -push @nibbles, $M->{'stopper'}; +push @nibbles, $M->{'stopper'}->[-1]; $text = ''; $to = $from = $C->{'_pos'}; }, $C) @@ -7671,7 +7678,7 @@ $::LAST_NIBBLE_MULTILINE = $C if $multiline; ## token babble ($l) { sub babble__PEEK { $_[0]->_AUTOLEXpeek('babble', $retree) } sub babble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument l omitted' unless @_; @@ -7742,7 +7749,7 @@ use Moose::Role ':all' => { -prefix => "moose_" }; use Encode; our $ALLROLES = { 'STD::herestop', 1 }; our $REGEXES = { -ALL => [ qw/stopper/ ], +ALL => [ qw/starter stopper/ ], }; @@ -7755,6 +7762,13 @@ use YAML::XS; $retree = YAML::XS::Load(Encode::encode_utf8(<<'RETREE_END')); --- +starter: !!perl/hash:RE_ast + dba: starter + dic: STD::herestop + re: !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_noop + nobind: 1 stopper: !!perl/hash:RE_ast dba: stopper dic: STD::herestop @@ -7764,7 +7778,7 @@ stopper: !!perl/hash:RE_ast text: ^^ - !!perl/hash:RE_block {} - !!perl/hash:RE_bindnamed - atom: !!perl/hash:RE_paren + atom: !!perl/hash:RE_bracket re: !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_meta min: 1 @@ -7794,10 +7808,28 @@ stopper: !!perl/hash:RE_ast quant: - '?' RETREE_END -## token stopper { ^^ {} $=(\h*?) $*DELIM \h* <.unv>?? $$ \v? } +## token starter { } +sub starter__PEEK { $_[0]->_AUTOLEXpeek('starter', $retree) } +sub starter { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE starter"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$self->_MATCHIFYr($S, "starter", $C->_NOTBEFORE(sub { +my $C=shift; +$C +})); +} +; +## regex stopper { ^^ {} $=[\h*?] :r $*DELIM \h* <.unv>?? $$ \v? } sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) } sub stopper { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -7810,19 +7842,10 @@ $self->_MATCHIFYr($S, "stopper", do { my $C = $C; if (($C) = ($C->_PATTERN(qr/\G(?m:^)/)) and ($C) = (scalar(do { -}, $C)) -and ($C) = ($C->_SUBSUMEr(['ws'], sub { -my $C = shift; -$C->_PAREN( sub { -my $C=shift; -$C->_STARf(sub { +}, $C))) { +LazyMap::lazymap(sub { my $C=shift; -$C->_PATTERN(qr/\G[\x20\t\r]/) -}) - -}) -})) -and ($C) = ($C->_EXACT($::DELIM)) +if (($C) = ($C->_EXACT($::DELIM)) and ($C) = ($C->_PATTERN(qr/\G[\x20\t\r]*+/))) { LazyMap::lazymap(sub { my $C=shift; @@ -7833,13 +7856,26 @@ my $C=shift; if (my ($C) = ($C->unv)) { ($C) } else { () } })) } else { () } +}, +$C->_SUBSUME(['ws'], sub { +my $C = shift; +$C->_BRACKET(sub { +my $C=shift; +$C->_STARf(sub { +my $C=shift; +$C->_PATTERN(qr/\G[\x20\t\r]/) +}) +}) +})) +} else { () } }); } +; 1; }; ## method heredoc () sub heredoc { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm if $::DEBUG & DEBUG::trace_call; my $here = $self; @@ -7860,7 +7896,7 @@ return $self->cursor($here->{'_pos'}); ## token quibble ($l) { sub quibble__PEEK { $_[0]->_AUTOLEXpeek('quibble', $retree) } sub quibble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument l omitted' unless @_; @@ -7918,7 +7954,7 @@ $lang->{'_herelang'} and $C->queue_heredoc($M->{'nibble'}->{'nibbles'}->[0]->{'T ; ## method queue_heredoc($delim, $lang) sub queue_heredoc { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument delim omitted' unless @_; my $delim = @_ ? shift() : undef; @@ -7933,7 +7969,7 @@ return $self; ## token quotepair { sub quotepair__PEEK { $_[0]->_AUTOLEXpeek('quotepair', $retree) } sub quotepair { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $key;my $value; @@ -8127,19 +8163,19 @@ $value}) } ; ## token quote:sym<「 」> { :dba('perfect quotes') "「" ~ "」" ).unbal -sub quote__S_050_ff62___ff63___PEEK { $_[0]->_AUTOLEXpeek('quote__S_050_ff62___ff63_', $retree) } -sub quote__S_050_ff62___ff63_ { -no warnings 'recursion'; +sub quote__S_051_ff62___ff63___PEEK { $_[0]->_AUTOLEXpeek('quote__S_051_ff62___ff63_', $retree) } +sub quote__S_051_ff62___ff63_ { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE quote__S_050_ff62___ff63_"); +my $C = $self->cursor_xact("RULE quote__S_051_ff62___ff63_"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "「\ 」"; -$self->_MATCHIFYr($S, "quote__S_050_ff62___ff63_", $C->_BRACKETr(sub { +$self->_MATCHIFYr($S, "quote__S_051_ff62___ff63_", $C->_BRACKETr(sub { my $C=shift; local $::GOAL = "」"; my $goalpos = $C; @@ -8179,19 +8215,19 @@ $C } ; ## token quote:sym<' '> { :dba('single quotes') "'" ~ "'" ).tweak( -sub quote__S_051Single_Single__PEEK { $_[0]->_AUTOLEXpeek('quote__S_051Single_Single', $retree) } -sub quote__S_051Single_Single { -no warnings 'recursion'; +sub quote__S_052Single_Single__PEEK { $_[0]->_AUTOLEXpeek('quote__S_052Single_Single', $retree) } +sub quote__S_052Single_Single { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE quote__S_051Single_Single"); +my $C = $self->cursor_xact("RULE quote__S_052Single_Single"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\'\ \'"; -$self->_MATCHIFYr($S, "quote__S_051Single_Single", $C->_BRACKETr(sub { +$self->_MATCHIFYr($S, "quote__S_052Single_Single", $C->_BRACKETr(sub { my $C=shift; local $::GOAL = "\'"; my $goalpos = $C; @@ -8231,19 +8267,19 @@ $C } ; ## token quote:sym<" "> { :dba('double quotes') '"' ~ '"' ).tweak( -sub quote__S_052Double_Double__PEEK { $_[0]->_AUTOLEXpeek('quote__S_052Double_Double', $retree) } -sub quote__S_052Double_Double { -no warnings 'recursion'; +sub quote__S_053Double_Double__PEEK { $_[0]->_AUTOLEXpeek('quote__S_053Double_Double', $retree) } +sub quote__S_053Double_Double { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE quote__S_052Double_Double"); +my $C = $self->cursor_xact("RULE quote__S_053Double_Double"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\"\ \""; -$self->_MATCHIFYr($S, "quote__S_052Double_Double", $C->_BRACKETr(sub { +$self->_MATCHIFYr($S, "quote__S_053Double_Double", $C->_BRACKETr(sub { my $C=shift; local $::GOAL = "\""; my $goalpos = $C; @@ -8283,25 +8319,25 @@ $C } ; ## token circumfix:sym<« »> { :dba('shell-quote words') '«' ~ '»' -sub circumfix__S_053Fre_Nch__PEEK { $_[0]->_AUTOLEXpeek('circumfix__S_053Fre_Nch', $retree) } -sub circumfix__S_053Fre_Nch { -no warnings 'recursion'; +sub circumfix__S_054Fre_Nch__PEEK { $_[0]->_AUTOLEXpeek('circumfix__S_054Fre_Nch', $retree) } +sub circumfix__S_054Fre_Nch { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE circumfix__S_053Fre_Nch"); +my $C = $self->cursor_xact("RULE circumfix__S_054Fre_Nch"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$C->{sym} = "«\ »"; -$self->_MATCHIFYr($S, "circumfix__S_053Fre_Nch", $C->_BRACKETr(sub { +$C->{sym} = "\«\ \»"; +$self->_MATCHIFYr($S, "circumfix__S_054Fre_Nch", $C->_BRACKETr(sub { my $C=shift; -local $::GOAL = "»"; +local $::GOAL = "\»"; my $goalpos = $C; my $newlang = $C->unbalanced($::GOAL); $C = bless($C, (ref($newlang) || $newlang)); -if (($C) = ($C->_EXACT("«")) +if (($C) = ($C->_EXACT("\«")) and ($C) = (scalar(do { }, $C)) and ($C) = ($C->_SUBSUMEr(['nibble'], sub { @@ -8335,19 +8371,19 @@ $C } ; ## token circumfix:sym«<< >>» { :dba('shell-quote words') '<<' ~ '>>' _AUTOLEXpeek('circumfix__S_054LtLt_GtGt', $retree) } -sub circumfix__S_054LtLt_GtGt { -no warnings 'recursion'; +sub circumfix__S_055LtLt_GtGt__PEEK { $_[0]->_AUTOLEXpeek('circumfix__S_055LtLt_GtGt', $retree) } +sub circumfix__S_055LtLt_GtGt { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE circumfix__S_054LtLt_GtGt"); +my $C = $self->cursor_xact("RULE circumfix__S_055LtLt_GtGt"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\<\<\ \>\>"; -$self->_MATCHIFYr($S, "circumfix__S_054LtLt_GtGt", $C->_BRACKETr(sub { +$self->_MATCHIFYr($S, "circumfix__S_055LtLt_GtGt", $C->_BRACKETr(sub { my $C=shift; local $::GOAL = "\>\>"; my $goalpos = $C; @@ -8387,19 +8423,19 @@ $C } ; ## token circumfix:sym«< >» { :dba('quote words') '<' ~ '>' -sub circumfix__S_055Lt_Gt__PEEK { $_[0]->_AUTOLEXpeek('circumfix__S_055Lt_Gt', $retree) } -sub circumfix__S_055Lt_Gt { -no warnings 'recursion'; +sub circumfix__S_056Lt_Gt__PEEK { $_[0]->_AUTOLEXpeek('circumfix__S_056Lt_Gt', $retree) } +sub circumfix__S_056Lt_Gt { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE circumfix__S_055Lt_Gt"); +my $C = $self->cursor_xact("RULE circumfix__S_056Lt_Gt"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\<\ \>"; -$self->_MATCHIFYr($S, "circumfix__S_055Lt_Gt", $C->_BRACKETr(sub { +$self->_MATCHIFYr($S, "circumfix__S_056Lt_Gt", $C->_BRACKETr(sub { my $C=shift; local $::GOAL = "\>"; my $goalpos = $C; @@ -8437,7 +8473,7 @@ my $C=shift; $C->_EXACT("\>") }))) { ($C) } else { () } })) -and ($C) = ($C->obs('<>', "lines() to read input,\n or ('') to represent the null string,\n or () to represent Nil"))) { +and ($C) = ($C->obs('<>', "lines() to read input,\n or ('') to represent the null string,\n or () to represent the empty list"))) { $C } else { () } }))) { ($C) } else { () } @@ -8477,7 +8513,7 @@ $C ## token ws { sub ws__PEEK { $_[0]->_AUTOLEXpeek('ws', $retree) } sub ws { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::STUB = $::STUB = return $self if exists $::MEMOS[$self->{'_pos'}]->{'ws'};my $startpos = $self->{'_pos'};local $::HIGHEXPECT = { @@ -8660,7 +8696,7 @@ if exists $::MEMOS[$startpos]->{'endstmt'}; ## token unsp { sub unsp__PEEK { $_[0]->_AUTOLEXpeek('unsp', $retree) } sub unsp { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -8669,8 +8705,10 @@ local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE unsp"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$self->_MATCHIFYr($S, "unsp", do { -my $C = $C; +$self->_MATCHIFYr($S, "unsp", $C->_PLUSr(sub { +my $C=shift; +if (my ($C) = ($C->_BRACKETr(sub { +my $C=shift; if (($C) = ($C->_EXACT("\\")) and ($C) = ($C->before(sub { my $C=shift; @@ -8789,14 +8827,14 @@ last if $xact->[-2]; # committed? }))) { ($C) } else { () } }) } else { () } - -}); +}))) { ($C) } else { () } +})); } ; ## token vws { sub vws__PEEK { $_[0]->_AUTOLEXpeek('vws', $retree) } sub vws { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -8917,7 +8955,7 @@ last if $xact->[-2]; # committed? ; ## method moreinput () sub moreinput { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; $::moreinput->() if $::moreinput; $self; @@ -8925,7 +8963,7 @@ $self; ## token unv { sub unv__PEEK { $_[0]->_AUTOLEXpeek('unv', $retree) } sub unv { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9065,19 +9103,19 @@ last if $xact->[-2]; # committed? } ; ## token comment:sym<#`(...)> { -sub comment__S_056SharpGraveParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_056SharpGraveParenDotDotDotThesis', $retree) } -sub comment__S_056SharpGraveParenDotDotDotThesis { -no warnings 'recursion'; +sub comment__S_057SharpGraveParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_057SharpGraveParenDotDotDotThesis', $retree) } +sub comment__S_057SharpGraveParenDotDotDotThesis { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE comment__S_056SharpGraveParenDotDotDotThesis"); +my $C = $self->cursor_xact("RULE comment__S_057SharpGraveParenDotDotDotThesis"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\#\`\(\.\.\.\)"; -$self->_MATCHIFYr($S, "comment__S_056SharpGraveParenDotDotDotThesis", do { +$self->_MATCHIFYr($S, "comment__S_057SharpGraveParenDotDotDotThesis", do { my $C = $C; if (($C) = ($C->_EXACT("\#\`")) and ($C) = ($C->_COMMITLTM()) @@ -9113,19 +9151,19 @@ $C } ; ## token comment:sym<#(...)> { -sub comment__S_057SharpParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_057SharpParenDotDotDotThesis', $retree) } -sub comment__S_057SharpParenDotDotDotThesis { -no warnings 'recursion'; +sub comment__S_058SharpParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_058SharpParenDotDotDotThesis', $retree) } +sub comment__S_058SharpParenDotDotDotThesis { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE comment__S_057SharpParenDotDotDotThesis"); +my $C = $self->cursor_xact("RULE comment__S_058SharpParenDotDotDotThesis"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\#\(\.\.\.\)"; -$self->_MATCHIFYr($S, "comment__S_057SharpParenDotDotDotThesis", do { +$self->_MATCHIFYr($S, "comment__S_058SharpParenDotDotDotThesis", do { my $C = $C; if (($C) = ($C->_EXACT("\#")) and ($C) = ($C->before(sub { @@ -9156,14 +9194,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'comment__S_057SharpParenDotDotDotThesis_0') { -$C->deb("Fate passed to comment__S_057SharpParenDotDotDotThesis_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'comment__S_058SharpParenDotDotDotThesis_0') { +$C->deb("Fate passed to comment__S_058SharpParenDotDotDotThesis_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT comment__S_057SharpParenDotDotDotThesis_0'; # some outer ltm is controlling us +$x = 'ALT comment__S_058SharpParenDotDotDotThesis_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM comment__S_057SharpParenDotDotDotThesis_0'; # we are top level ltm +$x = 'ALTLTM comment__S_058SharpParenDotDotDotThesis_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -9171,7 +9209,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD', 'comment__S_057SharpParenDotDotDotThesis_0', $retree); +$relex //= $C->cursor_fate('STD', 'comment__S_058SharpParenDotDotDotThesis_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -9180,7 +9218,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("comment__S_057SharpParenDotDotDotThesis_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("comment__S_058SharpParenDotDotDotThesis_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -9218,19 +9256,19 @@ $C } ; ## token comment:sym<#=(...)> { -sub comment__S_058SharpEqualParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_058SharpEqualParenDotDotDotThesis', $retree) } -sub comment__S_058SharpEqualParenDotDotDotThesis { -no warnings 'recursion'; +sub comment__S_059SharpEqualParenDotDotDotThesis__PEEK { $_[0]->_AUTOLEXpeek('comment__S_059SharpEqualParenDotDotDotThesis', $retree) } +sub comment__S_059SharpEqualParenDotDotDotThesis { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE comment__S_058SharpEqualParenDotDotDotThesis"); +my $C = $self->cursor_xact("RULE comment__S_059SharpEqualParenDotDotDotThesis"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\#\=\(\.\.\.\)"; -$self->_MATCHIFYr($S, "comment__S_058SharpEqualParenDotDotDotThesis", do { +$self->_MATCHIFYr($S, "comment__S_059SharpEqualParenDotDotDotThesis", do { my $C = $C; if (($C) = ($C->_EXACT("\#\=")) and ($C) = ($C->before(sub { @@ -9248,19 +9286,19 @@ $C->quibble($C->cursor_fresh( $::LANG{'Q'} )) } ; ## token comment:sym<#=> { -sub comment__S_059SharpEqual__PEEK { $_[0]->_AUTOLEXpeek('comment__S_059SharpEqual', $retree) } -sub comment__S_059SharpEqual { -no warnings 'recursion'; +sub comment__S_060SharpEqual__PEEK { $_[0]->_AUTOLEXpeek('comment__S_060SharpEqual', $retree) } +sub comment__S_060SharpEqual { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE comment__S_059SharpEqual"); +my $C = $self->cursor_xact("RULE comment__S_060SharpEqual"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\#\="; -$self->_MATCHIFYr($S, "comment__S_059SharpEqual", do { +$self->_MATCHIFYr($S, "comment__S_060SharpEqual", do { my $C = $C; if (($C) = ($C->_EXACT("\#\=")) and ($C) = ($C->_COMMITLTM())) { @@ -9282,19 +9320,19 @@ $C->_EXACT("\n") } ; ## token comment:sym<#> { -sub comment__S_060Sharp__PEEK { $_[0]->_AUTOLEXpeek('comment__S_060Sharp', $retree) } -sub comment__S_060Sharp { -no warnings 'recursion'; +sub comment__S_061Sharp__PEEK { $_[0]->_AUTOLEXpeek('comment__S_061Sharp', $retree) } +sub comment__S_061Sharp { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE comment__S_060Sharp"); +my $C = $self->cursor_xact("RULE comment__S_061Sharp"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\#"; -$self->_MATCHIFYr($S, "comment__S_060Sharp", do { +$self->_MATCHIFYr($S, "comment__S_061Sharp", do { my $C = $C; if (($C) = ($C->_EXACT("\#")) and ($C) = (scalar(do { @@ -9313,7 +9351,7 @@ $C->_EXACT("\n") ## token ident { sub ident__PEEK { $_[0]->_AUTOLEXpeek('ident', $retree) } sub ident { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9328,7 +9366,7 @@ $self->_MATCHIFYr($S, "ident", $C->_PATTERN(qr/\G[_[:alpha:]]\w*+/)); ## token apostrophe { sub apostrophe__PEEK { $_[0]->_AUTOLEXpeek('apostrophe', $retree) } sub apostrophe { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9343,7 +9381,7 @@ $self->_MATCHIFYr($S, "apostrophe", $C->_PATTERN(qr/\G['\-]/)); ## token identifier { sub identifier__PEEK { $_[0]->_AUTOLEXpeek('identifier', $retree) } sub identifier { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9372,7 +9410,7 @@ $C ## token pod_comment { sub pod_comment__PEEK { $_[0]->_AUTOLEXpeek('pod_comment', $retree) } sub pod_comment { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9708,7 +9746,7 @@ $C ## token embeddedblock { sub embeddedblock__PEEK { $_[0]->_AUTOLEXpeek('embeddedblock', $retree) } sub embeddedblock { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local %::LANG = %::LANG;local $::SIGNUM;local $::GOAL = '}';local $::CURLEX = $::CURLEX; @@ -9759,7 +9797,7 @@ $C ## token binints { [<.ws><.ws>] +% ',' } sub binints__PEEK { $_[0]->_AUTOLEXpeek('binints', $retree) } sub binints { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9791,7 +9829,7 @@ $C ## token binint { sub binint__PEEK { $_[0]->_AUTOLEXpeek('binint', $retree) } sub binint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9817,7 +9855,7 @@ $C->_PATTERN(qr/\G_(?:[0-1])++/) ## token octints { [<.ws><.ws>] +% ',' } sub octints__PEEK { $_[0]->_AUTOLEXpeek('octints', $retree) } sub octints { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9849,7 +9887,7 @@ $C ## token octint { sub octint__PEEK { $_[0]->_AUTOLEXpeek('octint', $retree) } sub octint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9875,7 +9913,7 @@ $C->_PATTERN(qr/\G_(?:[0-7])++/) ## token hexints { [<.ws><.ws>] +% ',' } sub hexints__PEEK { $_[0]->_AUTOLEXpeek('hexints', $retree) } sub hexints { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9907,7 +9945,7 @@ $C ## token hexint { sub hexint__PEEK { $_[0]->_AUTOLEXpeek('hexint', $retree) } sub hexint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9941,7 +9979,7 @@ if (my ($C) = ($C->xdigit)) { ($C) } else { () } ## token decints { [<.ws><.ws>] +% ',' } sub decints__PEEK { $_[0]->_AUTOLEXpeek('decints', $retree) } sub decints { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9973,7 +10011,7 @@ $C ## token decint { sub decint__PEEK { $_[0]->_AUTOLEXpeek('decint', $retree) } sub decint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -9999,7 +10037,7 @@ $C->_PATTERN(qr/\G_\d++/) ## token integer { sub integer__PEEK { $_[0]->_AUTOLEXpeek('integer', $retree) } sub integer { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10272,7 +10310,7 @@ $C ## token radint { sub radint__PEEK { $_[0]->_AUTOLEXpeek('radint', $retree) } sub radint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10360,7 +10398,7 @@ last if $xact->[-2]; # committed? ## token escale { sub escale__PEEK { $_[0]->_AUTOLEXpeek('escale', $retree) } sub escale { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10383,7 +10421,7 @@ $C->decint ## token dec_number { sub dec_number__PEEK { $_[0]->_AUTOLEXpeek('dec_number', $retree) } sub dec_number { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10551,7 +10589,7 @@ $C ## token alnumint { sub alnumint__PEEK { $_[0]->_AUTOLEXpeek('alnumint', $retree) } sub alnumint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10577,7 +10615,7 @@ $C->_PATTERN(qr/\G_(?:[0-9a-zA-Z])++/) ## token rad_number { sub rad_number__PEEK { $_[0]->_AUTOLEXpeek('rad_number', $retree) } sub rad_number { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -10831,23 +10869,45 @@ $C $C } else { () } +}); +} +; +## token obsbrack { '{' <.obs('curly brackets','square brackets')> } +sub obsbrack__PEEK { $_[0]->_AUTOLEXpeek('obsbrack', $retree) } +sub obsbrack { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE obsbrack"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$self->_MATCHIFYr($S, "obsbrack", do { +my $C = $C; +if (($C) = ($C->_EXACT("\{")) +and ($C) = ($C->obs('curly brackets','square brackets'))) { +$C +} else { () } + }); } ; ## token terminator:sym<)> -sub terminator__S_061Thesis__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_061Thesis', $retree) } -sub terminator__S_061Thesis { -no warnings 'recursion'; +sub terminator__S_062Thesis__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_062Thesis', $retree) } +sub terminator__S_062Thesis { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE terminator__S_061Thesis"); +my $C = $self->cursor_xact("RULE terminator__S_062Thesis"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\)"; -$self->_MATCHIFYr($S, "terminator__S_061Thesis", do { +$self->_MATCHIFYr($S, "terminator__S_062Thesis", do { if (my ($C) = ($C->_EXACT("\)"))) { $C->_SUBSUMEr(['O'], sub { my $C = shift; @@ -10859,19 +10919,19 @@ $C->O(%terminator) } ; ## token terminator:sym<]> -sub terminator__S_062Ket__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_062Ket', $retree) } -sub terminator__S_062Ket { -no warnings 'recursion'; +sub terminator__S_063Ket__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_063Ket', $retree) } +sub terminator__S_063Ket { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE terminator__S_062Ket"); +my $C = $self->cursor_xact("RULE terminator__S_063Ket"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\]"; -$self->_MATCHIFYr($S, "terminator__S_062Ket", do { +$self->_MATCHIFYr($S, "terminator__S_063Ket", do { if (my ($C) = ($C->_EXACT("\]"))) { $C->_SUBSUMEr(['O'], sub { my $C = shift; @@ -10883,19 +10943,19 @@ $C->O(%terminator) } ; ## token terminator:sym<}> -sub terminator__S_063Ly__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_063Ly', $retree) } -sub terminator__S_063Ly { -no warnings 'recursion'; +sub terminator__S_064Ly__PEEK { $_[0]->_AUTOLEXpeek('terminator__S_064Ly', $retree) } +sub terminator__S_064Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE terminator__S_063Ly"); +my $C = $self->cursor_xact("RULE terminator__S_064Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\}"; -$self->_MATCHIFYr($S, "terminator__S_063Ly", do { +$self->_MATCHIFYr($S, "terminator__S_064Ly", do { if (my ($C) = ($C->_EXACT("\}"))) { $C->_SUBSUMEr(['O'], sub { my $C = shift; @@ -11104,7 +11164,7 @@ our %close2open = reverse %open2close; ## token opener { sub opener__PEEK { $_[0]->_AUTOLEXpeek('opener', $retree) } sub opener { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -11122,39 +11182,40 @@ use Encode; moose_extends('STD'); our $ALLROLES = { 'STD::P6', 1 }; our $REGEXES = { -ALL => [ qw/POST PRE arglist args blast block blockoid capterm capture circumfix coloncircumfix colonpair comp_unit curlycheck declarator default_value deflongname defterm desigilname dotty dottyop dottyopish dumbsmart eat_terminator fakesignature fatarrow infix infix_circumfix_meta_operator infix_postfix_meta_operator infix_prefix_meta_operator infixish infixstopper initializer label lambda macro_def method_def methodop modifier_expr module_name multi_declarator multisig named_param named_param_term nullterm nulltermish number numeric old_rx_mods old_tr_mods package_declarator package_def param_sep param_var parameter pblock post_constraint postcircumfix postfix postfix_prefix_meta_operator postop prefix prefix_postfix_meta_operator privop quasiquibble quote quote_mod regex_block regex_declarator regex_def routine_declarator routine_def scope_declarator scoped semiarglist semilist sibble signature sigterm special_variable statement statement_control statement_mod_cond statement_mod_loop statement_prefix statementlist sublongname subshortname term terminator termish trait trait_mod tribble type_constraint type_declarator typename unitstart value variable variable_declarator version vnum xblock/ ], -circumfix => [ qw/circumfix__S_191sigil__PEEK circumfix__S_192Paren_Thesis__PEEK circumfix__S_193Bra_Ket__PEEK circumfix__S_214Cur_Ly__PEEK/ ], -dotty => [ qw/dotty__S_194DotStar__PEEK dotty__S_195Dot__PEEK/ ], -infix => [ qw/infix__S_190lambda__PEEK infix__S_216Dot__PEEK infix__S_222StarStar__PEEK infix__S_237Star__PEEK infix__S_238Slash__PEEK infix__S_239div__PEEK infix__S_240Percent__PEEK infix__S_241PercentPercent__PEEK infix__S_242mod__PEEK infix__S_243gcd__PEEK infix__S_244lcm__PEEK infix__S_245PlusAmp__PEEK infix__S_246LtLt__PEEK infix__S_247GtGt__PEEK infix__S_248TildeAmp__PEEK infix__S_249QuestionAmp__PEEK infix__S_250TildeLt__PEEK infix__S_251TildeGt__PEEK infix__S_252PlusLt__PEEK infix__S_253PlusGt__PEEK infix__S_254Plus__PEEK infix__S_255Minus__PEEK infix__S_256PlusVert__PEEK infix__S_257PlusCaret__PEEK infix__S_258TildeVert__PEEK infix__S_259TildeCaret__PEEK infix__S_260QuestionVert__PEEK infix__S_261QuestionCaret__PEEK infix__S_262x__PEEK infix__S_263xx__PEEK infix__S_264Tilde__PEEK infix__S_265Amp__PEEK infix__S_266Vert__PEEK infix__S_267Caret__PEEK infix__S_272LtEqualGt__PEEK infix__S_273cmp__PEEK infix__S_274leg__PEEK infix__S_275but__PEEK infix__S_276does__PEEK infix__S_277DotDot__PEEK infix__S_278CaretDotDot__PEEK infix__S_279DotDotCaret__PEEK infix__S_280CaretDotDotCaret__PEEK infix__S_281EqualEqual__PEEK infix__S_282BangEqual__PEEK infix__S_283Lt__PEEK infix__S_284LtEqual__PEEK infix__S_285Gt__PEEK infix__S_286GtEqual__PEEK infix__S_287TildeTilde__PEEK infix__S_288BangTilde__PEEK infix__S_289EqualTilde__PEEK infix__S_290eq__PEEK infix__S_291ne__PEEK infix__S_292lt__PEEK infix__S_293le__PEEK infix__S_294gt__PEEK infix__S_295ge__PEEK infix__S_296EqualColonEqual__PEEK infix__S_297EqualEqualEqual__PEEK infix__S_298eqv__PEEK infix__S_299before__PEEK infix__S_300after__PEEK infix__S_301AmpAmp__PEEK infix__S_302VertVert__PEEK infix__S_303CaretCaret__PEEK infix__S_304SlashSlash__PEEK infix__S_305min__PEEK infix__S_306max__PEEK infix__S_307QuestionQuestion_BangBang__PEEK infix__S_308BangBang__PEEK infix__S_309Question__PEEK infix__S_310ff__PEEK infix__S_311Caretff__PEEK infix__S_312ffCaret__PEEK infix__S_313CaretffCaret__PEEK infix__S_314fff__PEEK infix__S_315Caretfff__PEEK infix__S_316fffCaret__PEEK infix__S_317CaretfffCaret__PEEK infix__S_318Equal__PEEK infix__S_319ColonEqual__PEEK infix__S_320ColonColonEqual__PEEK infix__S_321DotEqual__PEEK infix__S_322EqualGt__PEEK infix__S_325Comma__PEEK infix__S_326Colon__PEEK infix__S_327X__PEEK infix__S_328Z__PEEK infix__S_329minmax__PEEK infix__S_330DotDotDot__PEEK infix__S_336and__PEEK infix__S_337andthen__PEEK infix__S_338or__PEEK infix__S_339orelse__PEEK infix__S_340xor__PEEK infix__S_341LtEqualEqual__PEEK infix__S_342EqualEqualGt__PEEK infix__S_343LtLtEqualEqual__PEEK infix__S_344EqualEqualGtGt__PEEK/ ], -infix_circumfix_meta_operator => [ qw/infix_circumfix_meta_operator__S_204Fre_Nch__PEEK infix_circumfix_meta_operator__S_205LtLt_GtGt__PEEK/ ], -infix_postfix_meta_operator => [ qw/infix_postfix_meta_operator__S_206Equal__PEEK/ ], -infix_prefix_meta_operator => [ qw/infix_prefix_meta_operator__S_199Bang__PEEK infix_prefix_meta_operator__S_200R__PEEK infix_prefix_meta_operator__S_201S__PEEK infix_prefix_meta_operator__S_202X__PEEK infix_prefix_meta_operator__S_203Z__PEEK/ ], +ALL => [ qw/POST PRE arglist args blast block blockoid capterm capture circumfix coloncircumfix colonpair comp_unit curlycheck declarator default_value deflongname defterm desigilname dotty dottyop dottyopish dumbsmart eat_terminator fakesignature fatarrow feed_separator infix infix_circumfix_meta_operator infix_postfix_meta_operator infix_prefix_meta_operator infixish infixstopper initializer kvetch label lambda macro_def method_def methodop modifier_expr module_name multi_declarator multisig named_param named_param_term nullterm nulltermish number numeric old_rx_mods old_tr_mods package_declarator package_def param_sep param_var parameter pblock post_constraint postcircumfix postfix postfix_prefix_meta_operator postop prefix prefix_postfix_meta_operator privop quasiquibble quote quote_mod regex_block regex_declarator regex_def routine_declarator routine_def scope_declarator scoped semiarglist semilist sibble signature sigterm special_variable statement statement_control statement_mod_cond statement_mod_loop statement_prefix statementlist sublongname subshortname term terminator termish trait trait_mod tribble type_constraint type_declarator typename unitstart value variable variable_declarator version vnum xblock/ ], +circumfix => [ qw/circumfix__S_193Paren_Thesis__PEEK circumfix__S_194Bra_Ket__PEEK circumfix__S_215Cur_Ly__PEEK/ ], +dotty => [ qw/dotty__S_195DotStar__PEEK dotty__S_196Dot__PEEK/ ], +feed_separator => [ qw/feed_separator__S_342LtEqualEqual__PEEK feed_separator__S_343EqualEqualGt__PEEK feed_separator__S_344LtLtEqualEqual__PEEK feed_separator__S_345EqualEqualGtGt__PEEK/ ], +infix => [ qw/infix__S_192lambda__PEEK infix__S_217Dot__PEEK infix__S_223StarStar__PEEK infix__S_238Star__PEEK infix__S_239Slash__PEEK infix__S_240div__PEEK infix__S_241Percent__PEEK infix__S_242PercentPercent__PEEK infix__S_243mod__PEEK infix__S_244gcd__PEEK infix__S_245lcm__PEEK infix__S_246PlusAmp__PEEK infix__S_247LtLt__PEEK infix__S_248GtGt__PEEK infix__S_249TildeAmp__PEEK infix__S_250QuestionAmp__PEEK infix__S_251TildeLt__PEEK infix__S_252TildeGt__PEEK infix__S_253PlusLt__PEEK infix__S_254PlusGt__PEEK infix__S_255Plus__PEEK infix__S_256Minus__PEEK infix__S_257PlusVert__PEEK infix__S_258PlusCaret__PEEK infix__S_259TildeVert__PEEK infix__S_260TildeCaret__PEEK infix__S_261QuestionVert__PEEK infix__S_262QuestionCaret__PEEK infix__S_263x__PEEK infix__S_264xx__PEEK infix__S_265Tilde__PEEK infix__S_266Amp__PEEK infix__S_267Vert__PEEK infix__S_268Caret__PEEK infix__S_273LtEqualGt__PEEK infix__S_274cmp__PEEK infix__S_275leg__PEEK infix__S_276but__PEEK infix__S_277does__PEEK infix__S_278DotDot__PEEK infix__S_279CaretDotDot__PEEK infix__S_280DotDotCaret__PEEK infix__S_281CaretDotDotCaret__PEEK infix__S_282EqualEqual__PEEK infix__S_283BangEqual__PEEK infix__S_284Lt__PEEK infix__S_285LtEqual__PEEK infix__S_286Gt__PEEK infix__S_287GtEqual__PEEK infix__S_288TildeTilde__PEEK infix__S_289BangTilde__PEEK infix__S_290EqualTilde__PEEK infix__S_291eq__PEEK infix__S_292ne__PEEK infix__S_293lt__PEEK infix__S_294le__PEEK infix__S_295gt__PEEK infix__S_296ge__PEEK infix__S_297EqualColonEqual__PEEK infix__S_298EqualEqualEqual__PEEK infix__S_299eqv__PEEK infix__S_300before__PEEK infix__S_301after__PEEK infix__S_302AmpAmp__PEEK infix__S_303VertVert__PEEK infix__S_304CaretCaret__PEEK infix__S_305SlashSlash__PEEK infix__S_306min__PEEK infix__S_307max__PEEK infix__S_308QuestionQuestion_BangBang__PEEK infix__S_309BangBang__PEEK infix__S_310Question__PEEK infix__S_311ff__PEEK infix__S_312Caretff__PEEK infix__S_313ffCaret__PEEK infix__S_314CaretffCaret__PEEK infix__S_315fff__PEEK infix__S_316Caretfff__PEEK infix__S_317fffCaret__PEEK infix__S_318CaretfffCaret__PEEK infix__S_319Equal__PEEK infix__S_320ColonEqual__PEEK infix__S_321ColonColonEqual__PEEK infix__S_322DotEqual__PEEK infix__S_323EqualGt__PEEK infix__S_326Comma__PEEK infix__S_327Colon__PEEK infix__S_328X__PEEK infix__S_329Z__PEEK infix__S_330minmax__PEEK infix__S_331DotDotDot__PEEK infix__S_337and__PEEK infix__S_338andthen__PEEK infix__S_339or__PEEK infix__S_340orelse__PEEK infix__S_341xor__PEEK/ ], +infix_circumfix_meta_operator => [ qw/infix_circumfix_meta_operator__S_205Fre_Nch__PEEK infix_circumfix_meta_operator__S_206LtLt_GtGt__PEEK/ ], +infix_postfix_meta_operator => [ qw/infix_postfix_meta_operator__S_207Equal__PEEK/ ], +infix_prefix_meta_operator => [ qw/infix_prefix_meta_operator__S_200Bang__PEEK infix_prefix_meta_operator__S_201R__PEEK infix_prefix_meta_operator__S_202S__PEEK infix_prefix_meta_operator__S_203X__PEEK infix_prefix_meta_operator__S_204Z__PEEK/ ], initializer => [ qw/initializer__S_165Equal__PEEK initializer__S_166ColonEqual__PEEK initializer__S_167ColonColonEqual__PEEK initializer__S_168DotEqual__PEEK/ ], -module_name => [ qw/module_name__S_038normal__PEEK/ ], -multi_declarator => [ qw/multi_declarator__S_057multi__PEEK multi_declarator__S_058proto__PEEK multi_declarator__S_059only__PEEK multi_declarator__S_060null__PEEK/ ], +module_name => [ qw/module_name__S_045normal__PEEK/ ], +multi_declarator => [ qw/multi_declarator__S_064multi__PEEK multi_declarator__S_065proto__PEEK multi_declarator__S_066only__PEEK multi_declarator__S_067null__PEEK/ ], numeric => [ qw/numeric__S_136rational__PEEK numeric__S_137complex__PEEK numeric__S_138number__PEEK/ ], -package_declarator => [ qw/package_declarator__S_047class__PEEK package_declarator__S_048grammar__PEEK package_declarator__S_049module__PEEK package_declarator__S_050package__PEEK package_declarator__S_051role__PEEK package_declarator__S_052knowhow__PEEK package_declarator__S_053slang__PEEK package_declarator__S_054require__PEEK package_declarator__S_055trusts__PEEK package_declarator__S_056also__PEEK/ ], -postcircumfix => [ qw/postcircumfix__S_207Paren_Thesis__PEEK postcircumfix__S_208Bra_Ket__PEEK postcircumfix__S_209Cur_Ly__PEEK postcircumfix__S_210Lt_Gt__PEEK postcircumfix__S_211LtLt_GtGt__PEEK postcircumfix__S_212Fre_Nch__PEEK/ ], -postfix => [ qw/postfix__S_215i__PEEK postfix__S_217MinusGt__PEEK postfix__S_218PlusPlus__PEEK postfix__S_219MinusMinus__PEEK/ ], -postfix_prefix_meta_operator => [ qw/postfix_prefix_meta_operator__S_198Nch__PEEK/ ], -prefix => [ qw/prefix__S_220PlusPlus__PEEK prefix__S_221MinusMinus__PEEK prefix__S_223Bang__PEEK prefix__S_224Plus__PEEK prefix__S_225Minus__PEEK prefix__S_226TildeTilde__PEEK prefix__S_227Tilde__PEEK prefix__S_228QuestionQuestion__PEEK prefix__S_229Question__PEEK prefix__S_230TildeCaret__PEEK prefix__S_231PlusCaret__PEEK prefix__S_232QuestionCaret__PEEK prefix__S_233CaretCaret__PEEK prefix__S_234Caret__PEEK prefix__S_235VertVert__PEEK prefix__S_236Vert__PEEK prefix__S_268sleep__PEEK prefix__S_269abs__PEEK prefix__S_270let__PEEK prefix__S_271temp__PEEK prefix__S_323so__PEEK prefix__S_324not__PEEK/ ], -prefix_postfix_meta_operator => [ qw/prefix_postfix_meta_operator__S_197Fre__PEEK/ ], +package_declarator => [ qw/package_declarator__S_054class__PEEK package_declarator__S_055grammar__PEEK package_declarator__S_056module__PEEK package_declarator__S_057package__PEEK package_declarator__S_058role__PEEK package_declarator__S_059knowhow__PEEK package_declarator__S_060slang__PEEK package_declarator__S_061require__PEEK package_declarator__S_062trusts__PEEK package_declarator__S_063also__PEEK/ ], +postcircumfix => [ qw/postcircumfix__S_208Paren_Thesis__PEEK postcircumfix__S_209Bra_Ket__PEEK postcircumfix__S_210Cur_Ly__PEEK postcircumfix__S_211Lt_Gt__PEEK postcircumfix__S_212LtLt_GtGt__PEEK postcircumfix__S_213Fre_Nch__PEEK/ ], +postfix => [ qw/postfix__S_216i__PEEK postfix__S_218MinusGt__PEEK postfix__S_219PlusPlus__PEEK postfix__S_220MinusMinus__PEEK/ ], +postfix_prefix_meta_operator => [ qw/postfix_prefix_meta_operator__S_199Nch__PEEK/ ], +prefix => [ qw/prefix__S_221PlusPlus__PEEK prefix__S_222MinusMinus__PEEK prefix__S_224Bang__PEEK prefix__S_225Plus__PEEK prefix__S_226Minus__PEEK prefix__S_227TildeTilde__PEEK prefix__S_228Tilde__PEEK prefix__S_229QuestionQuestion__PEEK prefix__S_230Question__PEEK prefix__S_231TildeCaret__PEEK prefix__S_232PlusCaret__PEEK prefix__S_233QuestionCaret__PEEK prefix__S_234CaretCaret__PEEK prefix__S_235Caret__PEEK prefix__S_236VertVert__PEEK prefix__S_237Vert__PEEK prefix__S_269sleep__PEEK prefix__S_270abs__PEEK prefix__S_271let__PEEK prefix__S_272temp__PEEK prefix__S_324so__PEEK prefix__S_325not__PEEK/ ], +prefix_postfix_meta_operator => [ qw/prefix_postfix_meta_operator__S_198Fre__PEEK/ ], quote => [ qw/quote__S_139SlashSlash__PEEK quote__S_140Slash_Slash__PEEK quote__S_141qq__PEEK quote__S_142q__PEEK quote__S_143Q__PEEK quote__S_155rx__PEEK quote__S_156m__PEEK quote__S_157ms__PEEK quote__S_158s__PEEK quote__S_159ss__PEEK quote__S_160tr__PEEK quote__S_161quasi__PEEK/ ], quote_mod => [ qw/quote_mod__S_144w__PEEK quote_mod__S_145ww__PEEK quote_mod__S_146p__PEEK quote_mod__S_147x__PEEK quote_mod__S_148to__PEEK quote_mod__S_149s__PEEK quote_mod__S_150a__PEEK quote_mod__S_151h__PEEK quote_mod__S_152f__PEEK quote_mod__S_153c__PEEK quote_mod__S_154b__PEEK/ ], -regex_declarator => [ qw/regex_declarator__S_065regex__PEEK regex_declarator__S_066token__PEEK regex_declarator__S_067rule__PEEK/ ], -routine_declarator => [ qw/routine_declarator__S_061sub__PEEK routine_declarator__S_062method__PEEK routine_declarator__S_063submethod__PEEK routine_declarator__S_064macro__PEEK/ ], -scope_declarator => [ qw/scope_declarator__S_040my__PEEK scope_declarator__S_041our__PEEK scope_declarator__S_042anon__PEEK scope_declarator__S_043state__PEEK scope_declarator__S_044augment__PEEK scope_declarator__S_045supersede__PEEK scope_declarator__S_046has__PEEK/ ], -special_variable => [ qw/special_variable__S_089Dollar_a2___PEEK special_variable__S_090DollarBang__PEEK special_variable__S_091DollarBangCur_Ly__PEEK special_variable__S_092DollarSlash__PEEK special_variable__S_093DollarTilde__PEEK special_variable__S_094DollarGrave__PEEK special_variable__S_095DollarAt__PEEK special_variable__S_096DollarSharp__PEEK special_variable__S_097DollarDollar__PEEK special_variable__S_098DollarPercent__PEEK special_variable__S_099DollarCaretX__PEEK special_variable__S_100DollarCaret__PEEK special_variable__S_101DollarAmp__PEEK special_variable__S_102DollarStar__PEEK special_variable__S_103DollarThesis__PEEK special_variable__S_104DollarMinus__PEEK special_variable__S_105DollarEqual__PEEK special_variable__S_106AtPlus__PEEK special_variable__S_107PercentPlus__PEEK special_variable__S_108DollarPlusBra_Ket__PEEK special_variable__S_109AtPlusBra_Ket__PEEK special_variable__S_110AtPlusCur_Ly__PEEK special_variable__S_111AtMinus__PEEK special_variable__S_112PercentMinus__PEEK special_variable__S_113DollarMinusBra_Ket__PEEK special_variable__S_114AtMinusBra_Ket__PEEK special_variable__S_115PercentMinusCur_Ly__PEEK special_variable__S_116DollarPlus__PEEK special_variable__S_117DollarCurCaret_Ly__PEEK special_variable__S_118ColonColonCur_Ly__PEEK special_variable__S_119DollarCur_Ly__PEEK special_variable__S_120DollarBra__PEEK special_variable__S_121DollarKet__PEEK special_variable__S_122DollarBack__PEEK special_variable__S_123DollarVert__PEEK special_variable__S_124DollarColon__PEEK special_variable__S_125DollarSemi__PEEK special_variable__S_126DollarSingle__PEEK special_variable__S_127DollarDouble__PEEK special_variable__S_128DollarComma__PEEK special_variable__S_129DollarLt__PEEK special_variable__S_130DollarGt__PEEK special_variable__S_131DollarDot__PEEK special_variable__S_132DollarQuestion__PEEK/ ], -statement_control => [ qw/statement_control__S_000need__PEEK statement_control__S_001import__PEEK statement_control__S_002use__PEEK statement_control__S_003no__PEEK statement_control__S_004if__PEEK statement_control__S_005unless__PEEK statement_control__S_006while__PEEK statement_control__S_007until__PEEK statement_control__S_008repeat__PEEK statement_control__S_009loop__PEEK statement_control__S_010for__PEEK statement_control__S_011given__PEEK statement_control__S_012when__PEEK statement_control__S_013default__PEEK statement_control__S_028CATCH__PEEK statement_control__S_029CONTROL__PEEK statement_control__S_030TEMP__PEEK/ ], -statement_mod_cond => [ qw/statement_mod_cond__S_031if__PEEK statement_mod_cond__S_032unless__PEEK statement_mod_cond__S_033when__PEEK/ ], -statement_mod_loop => [ qw/statement_mod_loop__S_034while__PEEK statement_mod_loop__S_035until__PEEK statement_mod_loop__S_036for__PEEK statement_mod_loop__S_037given__PEEK/ ], -statement_prefix => [ qw/statement_prefix__S_014BEGIN__PEEK statement_prefix__S_015CHECK__PEEK statement_prefix__S_016INIT__PEEK statement_prefix__S_017START__PEEK statement_prefix__S_018ENTER__PEEK statement_prefix__S_019FIRST__PEEK statement_prefix__S_020END__PEEK statement_prefix__S_021LEAVE__PEEK statement_prefix__S_022KEEP__PEEK statement_prefix__S_023UNDO__PEEK statement_prefix__S_024NEXT__PEEK statement_prefix__S_025LAST__PEEK statement_prefix__S_026PRE__PEEK statement_prefix__S_027POST__PEEK statement_prefix__S_169sink__PEEK statement_prefix__S_170try__PEEK statement_prefix__S_171quietly__PEEK statement_prefix__S_172gather__PEEK statement_prefix__S_173contend__PEEK statement_prefix__S_174async__PEEK statement_prefix__S_175maybe__PEEK statement_prefix__S_176lazy__PEEK statement_prefix__S_177do__PEEK statement_prefix__S_178lift__PEEK/ ], -term => [ qw/term__S_074fatarrow__PEEK term__S_075variable__PEEK term__S_076package_declarator__PEEK term__S_077scope_declarator__PEEK term__S_078multi_declarator__PEEK term__S_079routine_declarator__PEEK term__S_080regex_declarator__PEEK term__S_081type_declarator__PEEK term__S_082circumfix__PEEK term__S_083dotty__PEEK term__S_084value__PEEK term__S_085capterm__PEEK term__S_086sigterm__PEEK term__S_087statement_prefix__PEEK term__S_088colonpair__PEEK term__S_179new__PEEK term__S_180ColonColonQuestionIDENT__PEEK term__S_181undef__PEEK term__S_182proceed__PEEK term__S_183time__PEEK term__S_184now__PEEK term__S_185self__PEEK term__S_186defer__PEEK term__S_187rand__PEEK term__S_188Star__PEEK term__S_189StarStar__PEEK term__S_196reduce__PEEK term__S_213lambda__PEEK term__S_331DotDotDot__PEEK term__S_332QuestionQuestionQuestion__PEEK term__S_333BangBangBang__PEEK term__S_334identifier__PEEK term__S_335name__PEEK/ ], -terminator => [ qw/terminator__S_345Semi__PEEK terminator__S_346if__PEEK terminator__S_347unless__PEEK terminator__S_348while__PEEK terminator__S_349until__PEEK terminator__S_350for__PEEK terminator__S_351given__PEEK terminator__S_352when__PEEK terminator__S_353MinusMinusGt__PEEK terminator__S_354BangBang__PEEK/ ], -trait_mod => [ qw/trait_mod__S_068is__PEEK trait_mod__S_069hides__PEEK trait_mod__S_070does__PEEK trait_mod__S_071will__PEEK trait_mod__S_072of__PEEK trait_mod__S_073handles__PEEK/ ], +regex_declarator => [ qw/regex_declarator__S_072regex__PEEK regex_declarator__S_073token__PEEK regex_declarator__S_074rule__PEEK/ ], +routine_declarator => [ qw/routine_declarator__S_068sub__PEEK routine_declarator__S_069method__PEEK routine_declarator__S_070submethod__PEEK routine_declarator__S_071macro__PEEK/ ], +scope_declarator => [ qw/scope_declarator__S_047my__PEEK scope_declarator__S_048our__PEEK scope_declarator__S_049anon__PEEK scope_declarator__S_050state__PEEK scope_declarator__S_051augment__PEEK scope_declarator__S_052supersede__PEEK scope_declarator__S_053has__PEEK/ ], +special_variable => [ qw/special_variable__S_096Dollar_a2___PEEK special_variable__S_097DollarBang__PEEK special_variable__S_098DollarBangCur_Ly__PEEK special_variable__S_099DollarSlash__PEEK special_variable__S_100DollarTilde__PEEK special_variable__S_101DollarGrave__PEEK special_variable__S_102DollarAt__PEEK special_variable__S_103DollarSharp__PEEK special_variable__S_104DollarDollar__PEEK special_variable__S_105DollarPercent__PEEK special_variable__S_106DollarCaretX__PEEK special_variable__S_107DollarCaret__PEEK special_variable__S_108DollarAmp__PEEK special_variable__S_109DollarStar__PEEK special_variable__S_110DollarEqual__PEEK special_variable__S_111AtPlus__PEEK special_variable__S_112PercentPlus__PEEK special_variable__S_113DollarPlusBra_Ket__PEEK special_variable__S_114AtPlusBra_Ket__PEEK special_variable__S_115AtPlusCur_Ly__PEEK special_variable__S_116AtMinus__PEEK special_variable__S_117PercentMinus__PEEK special_variable__S_118DollarMinusBra_Ket__PEEK special_variable__S_119AtMinusBra_Ket__PEEK special_variable__S_120PercentMinusCur_Ly__PEEK special_variable__S_121DollarCurCaret_Ly__PEEK special_variable__S_122ColonColonCur_Ly__PEEK special_variable__S_123DollarCur_Ly__PEEK special_variable__S_124DollarBack__PEEK special_variable__S_125DollarVert__PEEK special_variable__S_126DollarColon__PEEK special_variable__S_127DollarSemi__PEEK special_variable__S_128DollarSingle__PEEK special_variable__S_129DollarDouble__PEEK special_variable__S_130DollarComma__PEEK special_variable__S_131DollarDot__PEEK special_variable__S_132DollarQuestion__PEEK/ ], +statement_control => [ qw/statement_control__S_000need__PEEK statement_control__S_001import__PEEK statement_control__S_002use__PEEK statement_control__S_003no__PEEK statement_control__S_004if__PEEK statement_control__S_005unless__PEEK statement_control__S_006while__PEEK statement_control__S_007until__PEEK statement_control__S_008repeat__PEEK statement_control__S_009loop__PEEK statement_control__S_010for__PEEK statement_control__S_011given__PEEK statement_control__S_012when__PEEK statement_control__S_013default__PEEK statement_control__S_016more__PEEK statement_control__S_017done__PEEK statement_control__S_018wait__PEEK statement_control__S_035CATCH__PEEK statement_control__S_036CONTROL__PEEK statement_control__S_037TEMP__PEEK/ ], +statement_mod_cond => [ qw/statement_mod_cond__S_038if__PEEK statement_mod_cond__S_039unless__PEEK statement_mod_cond__S_040when__PEEK/ ], +statement_mod_loop => [ qw/statement_mod_loop__S_041while__PEEK statement_mod_loop__S_042until__PEEK statement_mod_loop__S_043for__PEEK statement_mod_loop__S_044given__PEEK/ ], +statement_prefix => [ qw/statement_prefix__S_019BEGIN__PEEK statement_prefix__S_020CHECK__PEEK statement_prefix__S_021LINK__PEEK statement_prefix__S_022COMPOSE__PEEK statement_prefix__S_023INIT__PEEK statement_prefix__S_024START__PEEK statement_prefix__S_025ENTER__PEEK statement_prefix__S_026FIRST__PEEK statement_prefix__S_027END__PEEK statement_prefix__S_028LEAVE__PEEK statement_prefix__S_029KEEP__PEEK statement_prefix__S_030UNDO__PEEK statement_prefix__S_031NEXT__PEEK statement_prefix__S_032LAST__PEEK statement_prefix__S_033PRE__PEEK statement_prefix__S_034POST__PEEK statement_prefix__S_169once__PEEK statement_prefix__S_170eager__PEEK statement_prefix__S_171lazy__PEEK statement_prefix__S_172sink__PEEK statement_prefix__S_173try__PEEK statement_prefix__S_174quietly__PEEK statement_prefix__S_175gather__PEEK statement_prefix__S_176contend__PEEK statement_prefix__S_177start__PEEK statement_prefix__S_178maybe__PEEK statement_prefix__S_179do__PEEK statement_prefix__S_180lift__PEEK/ ], +term => [ qw/term__S_014winner__PEEK term__S_015combine__PEEK term__S_081fatarrow__PEEK term__S_082variable__PEEK term__S_083package_declarator__PEEK term__S_084scope_declarator__PEEK term__S_085multi_declarator__PEEK term__S_086routine_declarator__PEEK term__S_087regex_declarator__PEEK term__S_088type_declarator__PEEK term__S_089circumfix__PEEK term__S_090dotty__PEEK term__S_091value__PEEK term__S_092capterm__PEEK term__S_093sigterm__PEEK term__S_094statement_prefix__PEEK term__S_095colonpair__PEEK term__S_181new__PEEK term__S_182ColonColonQuestionIDENT__PEEK term__S_183undef__PEEK term__S_184proceed__PEEK term__S_185time__PEEK term__S_186now__PEEK term__S_187self__PEEK term__S_188defer__PEEK term__S_189rand__PEEK term__S_190Star__PEEK term__S_191StarStar__PEEK term__S_197reduce__PEEK term__S_214lambda__PEEK term__S_332DotDotDot__PEEK term__S_333QuestionQuestionQuestion__PEEK term__S_334BangBangBang__PEEK term__S_335identifier__PEEK term__S_336name__PEEK/ ], +terminator => [ qw/terminator__S_346Semi__PEEK terminator__S_347if__PEEK terminator__S_348unless__PEEK terminator__S_349while__PEEK terminator__S_350until__PEEK terminator__S_351for__PEEK terminator__S_352given__PEEK terminator__S_353when__PEEK terminator__S_354MinusMinusGt__PEEK terminator__S_355BangBang__PEEK/ ], +trait_mod => [ qw/trait_mod__S_075is__PEEK trait_mod__S_076hides__PEEK trait_mod__S_077does__PEEK trait_mod__S_078will__PEEK trait_mod__S_079of__PEEK trait_mod__S_080handles__PEEK/ ], type_declarator => [ qw/type_declarator__S_162subset__PEEK type_declarator__S_163enum__PEEK type_declarator__S_164constant__PEEK/ ], value => [ qw/value__S_133quote__PEEK value__S_134number__PEEK value__S_135version__PEEK/ ], -version => [ qw/version__S_039v__PEEK/ ], +version => [ qw/version__S_046v__PEEK/ ], }; @@ -11238,21 +11299,21 @@ POST: !!perl/hash:RE_ast alt: POST_1 0 zyg: - !!perl/hash:RE_method - name: dotty + name: postop rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_sequence alt: POST_1 1 zyg: - !!perl/hash:RE_method - name: privop + name: dotty rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_sequence alt: POST_1 2 zyg: - !!perl/hash:RE_method - name: postop + name: privop rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_block {} @@ -11384,6 +11445,10 @@ args: !!perl/hash:RE_ast - !!perl/hash:RE_sequence alt: args_0 2 zyg: + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_block + nobind: 1 - !!perl/hash:RE_block {} - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket @@ -11397,10 +11462,6 @@ args: !!perl/hash:RE_ast re: !!perl/hash:RE_meta min: 1 text: \s - - !!perl/hash:RE_assertion - assert: '!' - re: !!perl/hash:RE_block - nobind: 1 - !!perl/hash:RE_method name: ws rest: '' @@ -11647,37 +11708,7 @@ capture: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -circumfix__S_191sigil: !!perl/hash:RE_ast - dba: contextualizer - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - name: sigil - rest: '' - - !!perl/hash:RE_bracket - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_string - i: 0 - text: ( - - !!perl/hash:RE_block {} - - !!perl/hash:RE_method - name: semilist - rest: '' - - !!perl/hash:RE_bracket - re: !!perl/hash:RE_first - zyg: - - !!perl/hash:RE_var - var: $::GOAL - - !!perl/hash:RE_method - name: FAILGOAL - rest: 1 - - !!perl/hash:RE_block {} - - !!perl/hash:RE_method - name: O - rest: 1 -circumfix__S_192Paren_Thesis: !!perl/hash:RE_ast +circumfix__S_193Paren_Thesis: !!perl/hash:RE_ast dba: parenthesized expression dic: STD::P6 re: !!perl/hash:RE_sequence @@ -11703,7 +11734,7 @@ circumfix__S_192Paren_Thesis: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -circumfix__S_193Bra_Ket: !!perl/hash:RE_ast +circumfix__S_194Bra_Ket: !!perl/hash:RE_ast dba: array composer dic: STD::P6 re: !!perl/hash:RE_sequence @@ -11730,7 +11761,7 @@ circumfix__S_193Bra_Ket: !!perl/hash:RE_ast name: O rest: 1 - !!perl/hash:RE_block {} -circumfix__S_214Cur_Ly: !!perl/hash:RE_ast +circumfix__S_215Cur_Ly: !!perl/hash:RE_ast dba: circumfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -11815,7 +11846,7 @@ colonpair: !!perl/hash:RE_ast nobind: 1 re: !!perl/hash:RE_cclass i: 0 - text: '[ \[ \( \< \{ ]' + text: '[ [ ( < { ]' - !!perl/hash:RE_method name: panic rest: 1 @@ -11847,7 +11878,7 @@ colonpair: !!perl/hash:RE_ast nobind: 1 re: !!perl/hash:RE_cclass i: 0 - text: '[ \[ \( \< \{ ]' + text: '[ [ ( < { ]' - !!perl/hash:RE_method name: sorry rest: 1 @@ -11946,6 +11977,23 @@ colonpair: !!perl/hash:RE_ast - !!perl/hash:RE_string i: 0 text: '>' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_cclass + i: 0 + text: '[ [ ( < { ]' + - !!perl/hash:RE_method + name: panic + rest: 1 + quant: + - '?' - !!perl/hash:RE_block {} - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} @@ -12292,7 +12340,7 @@ desigilname: !!perl/hash:RE_ast name: longname rest: '' desigilname_0: *16 -dotty__S_194DotStar: !!perl/hash:RE_ast +dotty__S_195DotStar: !!perl/hash:RE_ast dba: dotty dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12306,16 +12354,16 @@ dotty__S_194DotStar: !!perl/hash:RE_ast text: . - !!perl/hash:RE_bracket re: &17 !!perl/hash:RE_any - altname: dotty__S_194DotStar_0 + altname: dotty__S_195DotStar_0 dba: dotty dic: STD::P6 zyg: - !!perl/hash:RE_cclass - alt: dotty__S_194DotStar_0 0 + alt: dotty__S_195DotStar_0 0 i: 0 text: '[+*?=]' - !!perl/hash:RE_sequence - alt: dotty__S_194DotStar_0 1 + alt: dotty__S_195DotStar_0 1 zyg: - !!perl/hash:RE_string i: 0 @@ -12339,8 +12387,8 @@ dotty__S_194DotStar: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -dotty__S_194DotStar_0: *17 -dotty__S_195Dot: !!perl/hash:RE_ast +dotty__S_195DotStar_0: *17 +dotty__S_196Dot: !!perl/hash:RE_ast dba: dotty dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12436,14 +12484,14 @@ dumbsmart: !!perl/hash:RE_ast alt: dumbsmart_0 3 i: 0 text: Bool::False - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_method_re - name: before - nobind: 1 - re: !!perl/hash:RE_meta - min: 1 - text: \s + - !!perl/hash:RE_string + alt: dumbsmart_0 4 + i: 0 + text: Match + - !!perl/hash:RE_string + alt: dumbsmart_0 5 + i: 0 + text: Nil - !!perl/hash:RE_block {} quant: - '?' @@ -12555,7 +12603,39 @@ fatarrow: !!perl/hash:RE_ast atom: !!perl/hash:RE_method name: EXPR rest: 1 -infix__S_190lambda: !!perl/hash:RE_ast +feed_separator__S_342LtEqualEqual: !!perl/hash:RE_ast + dba: feed_separator + dic: STD::P6 + re: !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: <== +feed_separator__S_343EqualEqualGt: !!perl/hash:RE_ast + dba: feed_separator + dic: STD::P6 + re: !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: ==> +feed_separator__S_344LtLtEqualEqual: !!perl/hash:RE_ast + dba: feed_separator + dic: STD::P6 + re: !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: <<== +feed_separator__S_345EqualEqualGtGt: !!perl/hash:RE_ast + dba: feed_separator + dic: STD::P6 + re: !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: ==>> +infix__S_192lambda: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12566,16 +12646,16 @@ infix__S_190lambda: !!perl/hash:RE_ast name: before nobind: 1 re: &21 !!perl/hash:RE_any - altname: infix__S_190lambda_0 + altname: infix__S_192lambda_0 dba: infix dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix__S_190lambda_0 0 + alt: infix__S_192lambda_0 0 i: 0 text: '{' - !!perl/hash:RE_string - alt: infix__S_190lambda_0 1 + alt: infix__S_192lambda_0 1 i: 0 text: -> - !!perl/hash:RE_assertion @@ -12586,8 +12666,8 @@ infix__S_190lambda: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_190lambda_0: *21 -infix__S_216Dot: !!perl/hash:RE_ast +infix__S_192lambda_0: *21 +infix__S_217Dot: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12601,7 +12681,7 @@ infix__S_216Dot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -infix__S_222StarStar: !!perl/hash:RE_ast +infix__S_223StarStar: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12614,7 +12694,7 @@ infix__S_222StarStar: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_237Star: !!perl/hash:RE_ast +infix__S_238Star: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12627,7 +12707,7 @@ infix__S_237Star: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_238Slash: !!perl/hash:RE_ast +infix__S_239Slash: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12640,7 +12720,7 @@ infix__S_238Slash: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_239div: !!perl/hash:RE_ast +infix__S_240div: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12653,7 +12733,7 @@ infix__S_239div: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_240Percent: !!perl/hash:RE_ast +infix__S_241Percent: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12666,7 +12746,7 @@ infix__S_240Percent: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_241PercentPercent: !!perl/hash:RE_ast +infix__S_242PercentPercent: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12679,7 +12759,7 @@ infix__S_241PercentPercent: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_242mod: !!perl/hash:RE_ast +infix__S_243mod: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12692,7 +12772,7 @@ infix__S_242mod: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_243gcd: !!perl/hash:RE_ast +infix__S_244gcd: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12705,7 +12785,7 @@ infix__S_243gcd: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_244lcm: !!perl/hash:RE_ast +infix__S_245lcm: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12718,7 +12798,7 @@ infix__S_244lcm: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_245PlusAmp: !!perl/hash:RE_ast +infix__S_246PlusAmp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12731,7 +12811,7 @@ infix__S_245PlusAmp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_246LtLt: !!perl/hash:RE_ast +infix__S_247LtLt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12759,7 +12839,7 @@ infix__S_246LtLt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_247GtGt: !!perl/hash:RE_ast +infix__S_248GtGt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12787,7 +12867,7 @@ infix__S_247GtGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_248TildeAmp: !!perl/hash:RE_ast +infix__S_249TildeAmp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12800,7 +12880,7 @@ infix__S_248TildeAmp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_249QuestionAmp: !!perl/hash:RE_ast +infix__S_250QuestionAmp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12813,7 +12893,7 @@ infix__S_249QuestionAmp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_250TildeLt: !!perl/hash:RE_ast +infix__S_251TildeLt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12849,7 +12929,7 @@ infix__S_250TildeLt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_251TildeGt: !!perl/hash:RE_ast +infix__S_252TildeGt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12885,7 +12965,7 @@ infix__S_251TildeGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_252PlusLt: !!perl/hash:RE_ast +infix__S_253PlusLt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12921,7 +13001,7 @@ infix__S_252PlusLt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_253PlusGt: !!perl/hash:RE_ast +infix__S_254PlusGt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12957,7 +13037,7 @@ infix__S_253PlusGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_254Plus: !!perl/hash:RE_ast +infix__S_255Plus: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12978,7 +13058,7 @@ infix__S_254Plus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_255Minus: !!perl/hash:RE_ast +infix__S_256Minus: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -12999,7 +13079,7 @@ infix__S_255Minus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_256PlusVert: !!perl/hash:RE_ast +infix__S_257PlusVert: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13012,7 +13092,7 @@ infix__S_256PlusVert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_257PlusCaret: !!perl/hash:RE_ast +infix__S_258PlusCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13025,7 +13105,7 @@ infix__S_257PlusCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_258TildeVert: !!perl/hash:RE_ast +infix__S_259TildeVert: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13038,7 +13118,7 @@ infix__S_258TildeVert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_259TildeCaret: !!perl/hash:RE_ast +infix__S_260TildeCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13051,7 +13131,7 @@ infix__S_259TildeCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_260QuestionVert: !!perl/hash:RE_ast +infix__S_261QuestionVert: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13064,7 +13144,7 @@ infix__S_260QuestionVert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_261QuestionCaret: !!perl/hash:RE_ast +infix__S_262QuestionCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13077,7 +13157,7 @@ infix__S_261QuestionCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_262x: !!perl/hash:RE_ast +infix__S_263x: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13090,7 +13170,7 @@ infix__S_262x: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_263xx: !!perl/hash:RE_ast +infix__S_264xx: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13103,7 +13183,7 @@ infix__S_263xx: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_264Tilde: !!perl/hash:RE_ast +infix__S_265Tilde: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13116,7 +13196,7 @@ infix__S_264Tilde: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_265Amp: !!perl/hash:RE_ast +infix__S_266Amp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13126,10 +13206,31 @@ infix__S_265Amp: !!perl/hash:RE_ast name: sym rest: '' sym: '&' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_block + nobind: 1 + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + name: identifier + rest: '' + - !!perl/hash:RE_block {} + quant: + - '?' - !!perl/hash:RE_method name: O rest: 1 -infix__S_266Vert: !!perl/hash:RE_ast +infix__S_267Vert: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13142,7 +13243,7 @@ infix__S_266Vert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_267Caret: !!perl/hash:RE_ast +infix__S_268Caret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13155,7 +13256,7 @@ infix__S_267Caret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_272LtEqualGt: !!perl/hash:RE_ast +infix__S_273LtEqualGt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13168,7 +13269,7 @@ infix__S_272LtEqualGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_273cmp: !!perl/hash:RE_ast +infix__S_274cmp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13181,7 +13282,7 @@ infix__S_273cmp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_274leg: !!perl/hash:RE_ast +infix__S_275leg: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13194,7 +13295,7 @@ infix__S_274leg: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_275but: !!perl/hash:RE_ast +infix__S_276but: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13207,7 +13308,7 @@ infix__S_275but: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_276does: !!perl/hash:RE_ast +infix__S_277does: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13220,7 +13321,7 @@ infix__S_276does: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_277DotDot: !!perl/hash:RE_ast +infix__S_278DotDot: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13244,16 +13345,16 @@ infix__S_277DotDot: !!perl/hash:RE_ast name: before nobind: 1 re: &22 !!perl/hash:RE_any - altname: infix__S_277DotDot_0 + altname: infix__S_278DotDot_0 dba: infix dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix__S_277DotDot_0 0 + alt: infix__S_278DotDot_0 0 i: 0 text: ) - !!perl/hash:RE_string - alt: infix__S_277DotDot_0 1 + alt: infix__S_278DotDot_0 1 i: 0 text: ']' - !!perl/hash:RE_method @@ -13264,8 +13365,8 @@ infix__S_277DotDot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_277DotDot_0: *22 -infix__S_278CaretDotDot: !!perl/hash:RE_ast +infix__S_278DotDot_0: *22 +infix__S_279CaretDotDot: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13278,7 +13379,7 @@ infix__S_278CaretDotDot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_279DotDotCaret: !!perl/hash:RE_ast +infix__S_280DotDotCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13291,7 +13392,7 @@ infix__S_279DotDotCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_280CaretDotDotCaret: !!perl/hash:RE_ast +infix__S_281CaretDotDotCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13304,7 +13405,7 @@ infix__S_280CaretDotDotCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_281EqualEqual: !!perl/hash:RE_ast +infix__S_282EqualEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13325,7 +13426,7 @@ infix__S_281EqualEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_282BangEqual: !!perl/hash:RE_ast +infix__S_283BangEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13346,7 +13447,7 @@ infix__S_282BangEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_283Lt: !!perl/hash:RE_ast +infix__S_284Lt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13367,7 +13468,7 @@ infix__S_283Lt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_284LtEqual: !!perl/hash:RE_ast +infix__S_285LtEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13380,7 +13481,7 @@ infix__S_284LtEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_285Gt: !!perl/hash:RE_ast +infix__S_286Gt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13401,7 +13502,7 @@ infix__S_285Gt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_286GtEqual: !!perl/hash:RE_ast +infix__S_287GtEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13414,7 +13515,7 @@ infix__S_286GtEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_287TildeTilde: !!perl/hash:RE_ast +infix__S_288TildeTilde: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13432,7 +13533,7 @@ infix__S_287TildeTilde: !!perl/hash:RE_ast re: !!perl/hash:RE_method name: dumbsmart rest: '' -infix__S_288BangTilde: !!perl/hash:RE_ast +infix__S_289BangTilde: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13451,7 +13552,7 @@ infix__S_288BangTilde: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_289EqualTilde: !!perl/hash:RE_ast +infix__S_290EqualTilde: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13467,7 +13568,7 @@ infix__S_289EqualTilde: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_290eq: !!perl/hash:RE_ast +infix__S_291eq: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13480,7 +13581,7 @@ infix__S_290eq: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_291ne: !!perl/hash:RE_ast +infix__S_292ne: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13493,7 +13594,7 @@ infix__S_291ne: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_292lt: !!perl/hash:RE_ast +infix__S_293lt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13506,7 +13607,7 @@ infix__S_292lt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_293le: !!perl/hash:RE_ast +infix__S_294le: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13519,7 +13620,7 @@ infix__S_293le: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_294gt: !!perl/hash:RE_ast +infix__S_295gt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13532,7 +13633,7 @@ infix__S_294gt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_295ge: !!perl/hash:RE_ast +infix__S_296ge: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13545,7 +13646,7 @@ infix__S_295ge: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_296EqualColonEqual: !!perl/hash:RE_ast +infix__S_297EqualColonEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13558,7 +13659,7 @@ infix__S_296EqualColonEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_297EqualEqualEqual: !!perl/hash:RE_ast +infix__S_298EqualEqualEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13571,7 +13672,7 @@ infix__S_297EqualEqualEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_298eqv: !!perl/hash:RE_ast +infix__S_299eqv: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13584,7 +13685,7 @@ infix__S_298eqv: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_299before: !!perl/hash:RE_ast +infix__S_300before: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13597,7 +13698,7 @@ infix__S_299before: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_300after: !!perl/hash:RE_ast +infix__S_301after: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13610,7 +13711,7 @@ infix__S_300after: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_301AmpAmp: !!perl/hash:RE_ast +infix__S_302AmpAmp: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13623,7 +13724,7 @@ infix__S_301AmpAmp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_302VertVert: !!perl/hash:RE_ast +infix__S_303VertVert: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13636,7 +13737,7 @@ infix__S_302VertVert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_303CaretCaret: !!perl/hash:RE_ast +infix__S_304CaretCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13649,7 +13750,7 @@ infix__S_303CaretCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_304SlashSlash: !!perl/hash:RE_ast +infix__S_305SlashSlash: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13662,7 +13763,7 @@ infix__S_304SlashSlash: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_305min: !!perl/hash:RE_ast +infix__S_306min: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13675,7 +13776,7 @@ infix__S_305min: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_306max: !!perl/hash:RE_ast +infix__S_307max: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13688,7 +13789,7 @@ infix__S_306max: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_307QuestionQuestion_BangBang: !!perl/hash:RE_ast +infix__S_308QuestionQuestion_BangBang: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13782,7 +13883,7 @@ infix__S_307QuestionQuestion_BangBang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_308BangBang: !!perl/hash:RE_ast +infix__S_309BangBang: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13820,7 +13921,7 @@ infix__S_308BangBang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 -infix__S_309Question: !!perl/hash:RE_ast +infix__S_310Question: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13861,7 +13962,7 @@ infix__S_309Question: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_310ff: !!perl/hash:RE_ast +infix__S_311ff: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13874,7 +13975,7 @@ infix__S_310ff: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_311Caretff: !!perl/hash:RE_ast +infix__S_312Caretff: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13887,7 +13988,7 @@ infix__S_311Caretff: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_312ffCaret: !!perl/hash:RE_ast +infix__S_313ffCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13900,7 +14001,7 @@ infix__S_312ffCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_313CaretffCaret: !!perl/hash:RE_ast +infix__S_314CaretffCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13913,7 +14014,7 @@ infix__S_313CaretffCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_314fff: !!perl/hash:RE_ast +infix__S_315fff: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13926,7 +14027,7 @@ infix__S_314fff: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_315Caretfff: !!perl/hash:RE_ast +infix__S_316Caretfff: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13939,7 +14040,7 @@ infix__S_315Caretfff: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_316fffCaret: !!perl/hash:RE_ast +infix__S_317fffCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13952,7 +14053,7 @@ infix__S_316fffCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_317CaretfffCaret: !!perl/hash:RE_ast +infix__S_318CaretfffCaret: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13965,7 +14066,7 @@ infix__S_317CaretfffCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_318Equal: !!perl/hash:RE_ast +infix__S_319Equal: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -13990,7 +14091,7 @@ infix__S_318Equal: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_319ColonEqual: !!perl/hash:RE_ast +infix__S_320ColonEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14003,7 +14104,7 @@ infix__S_319ColonEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_320ColonColonEqual: !!perl/hash:RE_ast +infix__S_321ColonColonEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14016,7 +14117,7 @@ infix__S_320ColonColonEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_321DotEqual: !!perl/hash:RE_ast +infix__S_322DotEqual: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14029,7 +14130,7 @@ infix__S_321DotEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_322EqualGt: !!perl/hash:RE_ast +infix__S_323EqualGt: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14042,7 +14143,7 @@ infix__S_322EqualGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_325Comma: !!perl/hash:RE_ast +infix__S_326Comma: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14080,7 +14181,7 @@ infix__S_325Comma: !!perl/hash:RE_ast rest: 1 quant: - '?' -infix__S_326Colon: !!perl/hash:RE_ast +infix__S_327Colon: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14094,16 +14195,16 @@ infix__S_326Colon: !!perl/hash:RE_ast name: before nobind: 1 re: &23 !!perl/hash:RE_any - altname: infix__S_326Colon_0 + altname: infix__S_327Colon_0 dba: infix dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: infix__S_326Colon_0 0 + alt: infix__S_327Colon_0 0 min: 1 text: \s - !!perl/hash:RE_method - alt: infix__S_326Colon_0 1 + alt: infix__S_327Colon_0 1 name: terminator rest: '' - !!perl/hash:RE_block {} @@ -14114,8 +14215,8 @@ infix__S_326Colon: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_326Colon_0: *23 -infix__S_327X: !!perl/hash:RE_ast +infix__S_327Colon_0: *23 +infix__S_328X: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14128,7 +14229,7 @@ infix__S_327X: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_328Z: !!perl/hash:RE_ast +infix__S_329Z: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14141,7 +14242,7 @@ infix__S_328Z: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_329minmax: !!perl/hash:RE_ast +infix__S_330minmax: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14154,7 +14255,7 @@ infix__S_329minmax: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_330DotDotDot: !!perl/hash:RE_ast +infix__S_331DotDotDot: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14173,7 +14274,7 @@ infix__S_330DotDotDot: !!perl/hash:RE_ast text: ^ quant: - '?' -infix__S_336and: !!perl/hash:RE_ast +infix__S_337and: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14186,7 +14287,7 @@ infix__S_336and: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_337andthen: !!perl/hash:RE_ast +infix__S_338andthen: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14199,7 +14300,7 @@ infix__S_337andthen: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_338or: !!perl/hash:RE_ast +infix__S_339or: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14212,7 +14313,7 @@ infix__S_338or: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_339orelse: !!perl/hash:RE_ast +infix__S_340orelse: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14225,7 +14326,7 @@ infix__S_339orelse: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_340xor: !!perl/hash:RE_ast +infix__S_341xor: !!perl/hash:RE_ast dba: infix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14238,75 +14339,23 @@ infix__S_340xor: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix__S_341LtEqualEqual: !!perl/hash:RE_ast - dba: infix - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: <== - - !!perl/hash:RE_method - name: O - rest: 1 -infix__S_342EqualEqualGt: !!perl/hash:RE_ast - dba: infix - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: ==> - - !!perl/hash:RE_method - name: O - rest: 1 -infix__S_343LtLtEqualEqual: !!perl/hash:RE_ast - dba: infix - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: <<== - - !!perl/hash:RE_method - name: O - rest: 1 -infix__S_344EqualEqualGtGt: !!perl/hash:RE_ast - dba: infix - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: ==>> - - !!perl/hash:RE_method - name: O - rest: 1 -infix_circumfix_meta_operator__S_204Fre_Nch: !!perl/hash:RE_ast +infix_circumfix_meta_operator__S_205Fre_Nch: !!perl/hash:RE_ast dba: infix_circumfix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket re: &24 !!perl/hash:RE_any - altname: infix_circumfix_meta_operator__S_204Fre_Nch_0 + altname: infix_circumfix_meta_operator__S_205Fre_Nch_0 dba: infix_circumfix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_204Fre_Nch_0 0 + alt: infix_circumfix_meta_operator__S_205Fre_Nch_0 0 i: 0 text: « - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_204Fre_Nch_0 1 + alt: infix_circumfix_meta_operator__S_205Fre_Nch_0 1 i: 0 text: » - !!perl/hash:RE_block {} @@ -14317,16 +14366,16 @@ infix_circumfix_meta_operator__S_204Fre_Nch: !!perl/hash:RE_ast re: !!perl/hash:RE_first zyg: - &25 !!perl/hash:RE_any - altname: infix_circumfix_meta_operator__S_204Fre_Nch_1 + altname: infix_circumfix_meta_operator__S_205Fre_Nch_1 dba: infix_circumfix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_204Fre_Nch_1 0 + alt: infix_circumfix_meta_operator__S_205Fre_Nch_1 0 i: 0 text: « - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_204Fre_Nch_1 1 + alt: infix_circumfix_meta_operator__S_205Fre_Nch_1 1 i: 0 text: » - !!perl/hash:RE_method @@ -14337,25 +14386,25 @@ infix_circumfix_meta_operator__S_204Fre_Nch: !!perl/hash:RE_ast rest: 1 - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} -infix_circumfix_meta_operator__S_204Fre_Nch_0: *24 -infix_circumfix_meta_operator__S_204Fre_Nch_1: *25 -infix_circumfix_meta_operator__S_205LtLt_GtGt: !!perl/hash:RE_ast +infix_circumfix_meta_operator__S_205Fre_Nch_0: *24 +infix_circumfix_meta_operator__S_205Fre_Nch_1: *25 +infix_circumfix_meta_operator__S_206LtLt_GtGt: !!perl/hash:RE_ast dba: infix_circumfix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket re: &26 !!perl/hash:RE_any - altname: infix_circumfix_meta_operator__S_205LtLt_GtGt_0 + altname: infix_circumfix_meta_operator__S_206LtLt_GtGt_0 dba: infix_circumfix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_205LtLt_GtGt_0 0 + alt: infix_circumfix_meta_operator__S_206LtLt_GtGt_0 0 i: 0 text: << - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_205LtLt_GtGt_0 1 + alt: infix_circumfix_meta_operator__S_206LtLt_GtGt_0 1 i: 0 text: '>>' - !!perl/hash:RE_block {} @@ -14366,16 +14415,16 @@ infix_circumfix_meta_operator__S_205LtLt_GtGt: !!perl/hash:RE_ast re: !!perl/hash:RE_first zyg: - &27 !!perl/hash:RE_any - altname: infix_circumfix_meta_operator__S_205LtLt_GtGt_1 + altname: infix_circumfix_meta_operator__S_206LtLt_GtGt_1 dba: infix_circumfix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_205LtLt_GtGt_1 0 + alt: infix_circumfix_meta_operator__S_206LtLt_GtGt_1 0 i: 0 text: << - !!perl/hash:RE_string - alt: infix_circumfix_meta_operator__S_205LtLt_GtGt_1 1 + alt: infix_circumfix_meta_operator__S_206LtLt_GtGt_1 1 i: 0 text: '>>' - !!perl/hash:RE_method @@ -14386,9 +14435,9 @@ infix_circumfix_meta_operator__S_205LtLt_GtGt: !!perl/hash:RE_ast rest: 1 - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} -infix_circumfix_meta_operator__S_205LtLt_GtGt_0: *26 -infix_circumfix_meta_operator__S_205LtLt_GtGt_1: *27 -infix_postfix_meta_operator__S_206Equal: !!perl/hash:RE_ast +infix_circumfix_meta_operator__S_206LtLt_GtGt_0: *26 +infix_circumfix_meta_operator__S_206LtLt_GtGt_1: *27 +infix_postfix_meta_operator__S_207Equal: !!perl/hash:RE_ast dba: infix_postfix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14413,7 +14462,7 @@ infix_postfix_meta_operator__S_206Equal: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -infix_prefix_meta_operator__S_199Bang: !!perl/hash:RE_ast +infix_prefix_meta_operator__S_200Bang: !!perl/hash:RE_ast dba: infix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14462,12 +14511,11 @@ infix_prefix_meta_operator__S_199Bang: !!perl/hash:RE_ast assert: '?' re: !!perl/hash:RE_block nobind: 1 - - !!perl/hash:RE_bindnamed - atom: !!perl/hash:RE_block {} + - !!perl/hash:RE_block {} - !!perl/hash:RE_method name: panic rest: 1 -infix_prefix_meta_operator__S_200R: !!perl/hash:RE_ast +infix_prefix_meta_operator__S_201R: !!perl/hash:RE_ast dba: infix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14484,9 +14532,8 @@ infix_prefix_meta_operator__S_200R: !!perl/hash:RE_ast - !!perl/hash:RE_method name: can_meta rest: 1 - - !!perl/hash:RE_bindnamed - atom: !!perl/hash:RE_block {} -infix_prefix_meta_operator__S_201S: !!perl/hash:RE_ast + - !!perl/hash:RE_block {} +infix_prefix_meta_operator__S_202S: !!perl/hash:RE_ast dba: infix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14503,9 +14550,8 @@ infix_prefix_meta_operator__S_201S: !!perl/hash:RE_ast - !!perl/hash:RE_method name: can_meta rest: 1 - - !!perl/hash:RE_bindnamed - atom: !!perl/hash:RE_block {} -infix_prefix_meta_operator__S_202X: !!perl/hash:RE_ast + - !!perl/hash:RE_block {} +infix_prefix_meta_operator__S_203X: !!perl/hash:RE_ast dba: infix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14534,16 +14580,13 @@ infix_prefix_meta_operator__S_202X: !!perl/hash:RE_ast - !!perl/hash:RE_method name: can_meta rest: 1 - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_block - nobind: 1 + - !!perl/hash:RE_block {} quant: - '?' - !!perl/hash:RE_method name: O rest: 1 -infix_prefix_meta_operator__S_203Z: !!perl/hash:RE_ast +infix_prefix_meta_operator__S_204Z: !!perl/hash:RE_ast dba: infix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -14572,10 +14615,7 @@ infix_prefix_meta_operator__S_203Z: !!perl/hash:RE_ast - !!perl/hash:RE_method name: can_meta rest: 1 - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_block - nobind: 1 + - !!perl/hash:RE_block {} quant: - '?' - !!perl/hash:RE_method @@ -14732,7 +14772,37 @@ infixish: !!perl/hash:RE_ast - !!perl/hash:RE_method name: infix rest: '' + - !!perl/hash:RE_meta + text: '::' - !!perl/hash:RE_block {} + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_meta + min: 1 + text: \s + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + name: prefix + rest: '' + - !!perl/hash:RE_meta + min: 1 + text: \s + - !!perl/hash:RE_block {} + quant: + - '?' - !!perl/hash:RE_sequence alt: infixish_1 5 zyg: @@ -14948,6 +15018,22 @@ initializer__S_168DotEqual: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 +kvetch: !!perl/hash:RE_ast + dba: kvetch + dic: STD::P6 + re: !!perl/hash:RE_first + zyg: + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_string + i: 0 + text: .kv + - !!perl/hash:RE_method + name: worry + rest: 1 label: !!perl/hash:RE_ast dba: label dic: STD::P6 @@ -15522,8 +15608,57 @@ methodop: !!perl/hash:RE_ast - !!perl/hash:RE_method name: args rest: '' - - !!perl/hash:RE_block + - !!perl/hash:RE_sequence alt: methodop_3 2 + zyg: + - !!perl/hash:RE_block {} + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \s + quant: + - + + - !!perl/hash:RE_bracket + re: &44 !!perl/hash:RE_any + altname: methodop_5 + dba: method arguments + dic: STD::P6 + zyg: + - !!perl/hash:RE_meta + alt: methodop_5 0 + min: 1 + text: \d + - !!perl/hash:RE_sequence + alt: methodop_5 1 + zyg: + - !!perl/hash:RE_method + name: sigil + rest: '' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_method + name: twigil + rest: '' + quant: + - '?' + - !!perl/hash:RE_meta + min: 1 + text: \w + - !!perl/hash:RE_method + name: worry + rest: 1 + quant: + - '?' quant: - '?' methodop_0: *39 @@ -15531,6 +15666,7 @@ methodop_1: *40 methodop_2: *41 methodop_3: *42 methodop_4: *43 +methodop_5: *44 modifier_expr: !!perl/hash:RE_ast dba: modifier_expr dic: STD::P6 @@ -15542,7 +15678,7 @@ modifier_expr: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -module_name__S_038normal: !!perl/hash:RE_ast +module_name__S_045normal: !!perl/hash:RE_ast dba: module_name dic: STD::P6 re: !!perl/hash:RE_sequence @@ -15582,7 +15718,7 @@ module_name__S_038normal: !!perl/hash:RE_ast rest: 1 quant: - '?' -multi_declarator__S_057multi: !!perl/hash:RE_ast +multi_declarator__S_064multi: !!perl/hash:RE_ast dba: multi_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -15626,7 +15762,7 @@ multi_declarator__S_057multi: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -multi_declarator__S_058proto: !!perl/hash:RE_ast +multi_declarator__S_065proto: !!perl/hash:RE_ast dba: multi_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -15670,7 +15806,7 @@ multi_declarator__S_058proto: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -multi_declarator__S_059only: !!perl/hash:RE_ast +multi_declarator__S_066only: !!perl/hash:RE_ast dba: multi_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -15714,7 +15850,7 @@ multi_declarator__S_059only: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -multi_declarator__S_060null: !!perl/hash:RE_ast +multi_declarator__S_067null: !!perl/hash:RE_ast dba: multi_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -15778,7 +15914,7 @@ named_param: !!perl/hash:RE_ast i: 0 text: ':' - !!perl/hash:RE_bracket - re: &44 !!perl/hash:RE_any + re: &45 !!perl/hash:RE_any altname: named_param_0 dba: named parameter dic: STD::P6 @@ -15821,7 +15957,41 @@ named_param: !!perl/hash:RE_ast - !!perl/hash:RE_method name: defterm rest: '' -named_param_0: *44 + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_cclass + i: 0 + text: '[ ( [ ]' + - !!perl/hash:RE_method + name: panic + rest: 1 + quant: + - '?' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_cclass + i: 0 + text: '[ { < ]' + - !!perl/hash:RE_method + name: panic + rest: 1 + quant: + - '?' +named_param_0: *45 named_param_term: !!perl/hash:RE_ast dba: named_param_term dic: STD::P6 @@ -15831,7 +16001,7 @@ named_param_term: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &45 !!perl/hash:RE_any + re: &46 !!perl/hash:RE_any altname: named_param_term_0 dba: named_param_term dic: STD::P6 @@ -15856,7 +16026,7 @@ named_param_term: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -named_param_term_0: *45 +named_param_term_0: *46 nullterm: !!perl/hash:RE_ast dba: nullterm dic: STD::P6 @@ -15868,7 +16038,7 @@ nulltermish: !!perl/hash:RE_ast dba: null term dic: STD::P6 re: !!perl/hash:RE_bracket - re: &46 !!perl/hash:RE_any + re: &47 !!perl/hash:RE_any altname: nulltermish_0 dba: null term dic: STD::P6 @@ -15892,12 +16062,12 @@ nulltermish: !!perl/hash:RE_ast assert: '?' re: !!perl/hash:RE_noop nobind: 1 -nulltermish_0: *46 +nulltermish_0: *47 number: !!perl/hash:RE_ast dba: number dic: STD::P6 re: !!perl/hash:RE_bracket - re: &47 !!perl/hash:RE_any + re: &48 !!perl/hash:RE_any altname: number_0 dba: number dic: STD::P6 @@ -15930,7 +16100,7 @@ number: !!perl/hash:RE_ast text: 'Inf' - !!perl/hash:RE_meta text: » -number_0: *47 +number_0: *48 numeric__S_136rational: !!perl/hash:RE_ast dba: numeric dic: STD::P6 @@ -16040,7 +16210,7 @@ old_tr_mods: !!perl/hash:RE_ast quant: - + - !!perl/hash:RE_block {} -package_declarator__S_047class: !!perl/hash:RE_ast +package_declarator__S_054class: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16057,7 +16227,7 @@ package_declarator__S_047class: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_048grammar: !!perl/hash:RE_ast +package_declarator__S_055grammar: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16074,7 +16244,7 @@ package_declarator__S_048grammar: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_049module: !!perl/hash:RE_ast +package_declarator__S_056module: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16091,7 +16261,7 @@ package_declarator__S_049module: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_050package: !!perl/hash:RE_ast +package_declarator__S_057package: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16108,7 +16278,7 @@ package_declarator__S_050package: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_051role: !!perl/hash:RE_ast +package_declarator__S_058role: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16125,7 +16295,7 @@ package_declarator__S_051role: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_052knowhow: !!perl/hash:RE_ast +package_declarator__S_059knowhow: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16142,7 +16312,7 @@ package_declarator__S_052knowhow: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_053slang: !!perl/hash:RE_ast +package_declarator__S_060slang: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16159,7 +16329,7 @@ package_declarator__S_053slang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: package_def rest: '' -package_declarator__S_054require: !!perl/hash:RE_ast +package_declarator__S_061require: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16197,7 +16367,7 @@ package_declarator__S_054require: !!perl/hash:RE_ast - !!perl/hash:RE_method name: EXPR rest: '' -package_declarator__S_055trusts: !!perl/hash:RE_ast +package_declarator__S_062trusts: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16220,7 +16390,7 @@ package_declarator__S_055trusts: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -package_declarator__S_056also: !!perl/hash:RE_ast +package_declarator__S_063also: !!perl/hash:RE_ast dba: package_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -16447,7 +16617,7 @@ param_sep: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &48 !!perl/hash:RE_any + re: &49 !!perl/hash:RE_any altname: param_sep_0 dba: param_sep dic: STD::P6 @@ -16471,12 +16641,12 @@ param_sep: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -param_sep_0: *48 +param_sep_0: *49 param_var: !!perl/hash:RE_ast dba: formal parameter dic: STD::P6 re: !!perl/hash:RE_bracket - re: &49 !!perl/hash:RE_any + re: &50 !!perl/hash:RE_any altname: param_var_0 dba: formal parameter dic: STD::P6 @@ -16571,7 +16741,7 @@ param_var: !!perl/hash:RE_ast nobind: 1 re: !!perl/hash:RE_cclass i: 0 - text: '[ \< \( \[ \{ ]' + text: '[ < ( [ { ]' - !!perl/hash:RE_method name: postcircumfix rest: '' @@ -16596,14 +16766,14 @@ param_var: !!perl/hash:RE_ast quant: - '?' - !!perl/hash:RE_block {} -param_var_0: *49 +param_var_0: *50 parameter: !!perl/hash:RE_ast dba: parameter dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &50 !!perl/hash:RE_any + re: &51 !!perl/hash:RE_any altname: parameter_0 dba: parameter dic: STD::P6 @@ -16619,7 +16789,7 @@ parameter: !!perl/hash:RE_ast - + - !!perl/hash:RE_block {} - !!perl/hash:RE_bracket - re: &51 !!perl/hash:RE_any + re: &52 !!perl/hash:RE_any altname: parameter_1 dba: parameter dic: STD::P6 @@ -16700,7 +16870,7 @@ parameter: !!perl/hash:RE_ast alt: parameter_1 6 zyg: - !!perl/hash:RE_bracket - re: &52 !!perl/hash:RE_any + re: &53 !!perl/hash:RE_any altname: parameter_2 dba: parameter dic: STD::P6 @@ -16720,7 +16890,7 @@ parameter: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_bracket - re: &53 !!perl/hash:RE_any + re: &54 !!perl/hash:RE_any altname: parameter_3 dba: parameter dic: STD::P6 @@ -16828,7 +16998,7 @@ parameter: !!perl/hash:RE_ast alt: parameter_0 7 zyg: - !!perl/hash:RE_bracket - re: &54 !!perl/hash:RE_any + re: &55 !!perl/hash:RE_any altname: parameter_4 dba: parameter dic: STD::P6 @@ -16848,7 +17018,7 @@ parameter: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_bracket - re: &55 !!perl/hash:RE_any + re: &56 !!perl/hash:RE_any altname: parameter_5 dba: parameter dic: STD::P6 @@ -16936,7 +17106,7 @@ parameter: !!perl/hash:RE_ast nobind: 1 re: !!perl/hash:RE_cclass i: 0 - text: '[,;)\]\{\}\-]' + text: '[,;)\]{\}\-]' - !!perl/hash:RE_method name: sorry rest: 1 @@ -16970,12 +17140,12 @@ parameter: !!perl/hash:RE_ast - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} - !!perl/hash:RE_block {} -parameter_0: *50 -parameter_1: *51 -parameter_2: *52 -parameter_3: *53 -parameter_4: *54 -parameter_5: *55 +parameter_0: *51 +parameter_1: *52 +parameter_2: *53 +parameter_3: *54 +parameter_4: *55 +parameter_5: *56 pblock: !!perl/hash:RE_ast dba: parameterized block dic: STD::P6 @@ -16989,7 +17159,7 @@ pblock: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &56 !!perl/hash:RE_any + re: &57 !!perl/hash:RE_any altname: pblock_0 dba: parameterized block dic: STD::P6 @@ -17004,7 +17174,7 @@ pblock: !!perl/hash:RE_ast text: '{' - !!perl/hash:RE_block {} - !!perl/hash:RE_bracket - re: &57 !!perl/hash:RE_any + re: &58 !!perl/hash:RE_any altname: pblock_1 dba: parameterized block dic: STD::P6 @@ -17047,15 +17217,15 @@ pblock: !!perl/hash:RE_ast - !!perl/hash:RE_method name: getsig rest: '' -pblock_0: *56 -pblock_1: *57 +pblock_0: *57 +pblock_1: *58 post_constraint: !!perl/hash:RE_ast dba: constraint dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &58 !!perl/hash:RE_any + re: &59 !!perl/hash:RE_any altname: post_constraint_0 dba: constraint dic: STD::P6 @@ -17140,8 +17310,8 @@ post_constraint: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -post_constraint_0: *58 -postcircumfix__S_207Paren_Thesis: !!perl/hash:RE_ast +post_constraint_0: *59 +postcircumfix__S_208Paren_Thesis: !!perl/hash:RE_ast dba: argument list dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17167,7 +17337,7 @@ postcircumfix__S_207Paren_Thesis: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -postcircumfix__S_208Bra_Ket: !!perl/hash:RE_ast +postcircumfix__S_209Bra_Ket: !!perl/hash:RE_ast dba: subscript dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17190,11 +17360,14 @@ postcircumfix__S_208Bra_Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 + - !!perl/hash:RE_method + name: kvetch + rest: '' - !!perl/hash:RE_method name: O rest: 1 - !!perl/hash:RE_block {} -postcircumfix__S_209Cur_Ly: !!perl/hash:RE_ast +postcircumfix__S_210Cur_Ly: !!perl/hash:RE_ast dba: subscript dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17220,6 +17393,9 @@ postcircumfix__S_209Cur_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 + - !!perl/hash:RE_method + name: kvetch + rest: '' - !!perl/hash:RE_method name: O rest: 1 @@ -17229,7 +17405,7 @@ postcircumfix__S_209Cur_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_method name: curlycheck rest: 1 -postcircumfix__S_210Lt_Gt: !!perl/hash:RE_ast +postcircumfix__S_211Lt_Gt: !!perl/hash:RE_ast dba: postcircumfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17249,6 +17425,9 @@ postcircumfix__S_210Lt_Gt: !!perl/hash:RE_ast - !!perl/hash:RE_string i: 0 text: '>' + - !!perl/hash:RE_method + name: kvetch + rest: '' - !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_assertion @@ -17265,21 +17444,21 @@ postcircumfix__S_210Lt_Gt: !!perl/hash:RE_ast quant: - '*' - !!perl/hash:RE_bracket - re: &59 !!perl/hash:RE_any - altname: postcircumfix__S_210Lt_Gt_0 + re: &60 !!perl/hash:RE_any + altname: postcircumfix__S_211Lt_Gt_0 dba: postcircumfix dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: postcircumfix__S_210Lt_Gt_0 0 + alt: postcircumfix__S_211Lt_Gt_0 0 min: 1 text: \d - !!perl/hash:RE_method - alt: postcircumfix__S_210Lt_Gt_0 1 + alt: postcircumfix__S_211Lt_Gt_0 1 name: sigil rest: '' - !!perl/hash:RE_string - alt: postcircumfix__S_210Lt_Gt_0 2 + alt: postcircumfix__S_211Lt_Gt_0 2 i: 0 text: ':' - !!perl/hash:RE_block {} @@ -17287,8 +17466,8 @@ postcircumfix__S_210Lt_Gt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -postcircumfix__S_210Lt_Gt_0: *59 -postcircumfix__S_211LtLt_GtGt: !!perl/hash:RE_ast +postcircumfix__S_211Lt_Gt_0: *60 +postcircumfix__S_212LtLt_GtGt: !!perl/hash:RE_ast dba: postcircumfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17308,10 +17487,13 @@ postcircumfix__S_211LtLt_GtGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 + - !!perl/hash:RE_method + name: kvetch + rest: '' - !!perl/hash:RE_method name: O rest: 1 -postcircumfix__S_212Fre_Nch: !!perl/hash:RE_ast +postcircumfix__S_213Fre_Nch: !!perl/hash:RE_ast dba: postcircumfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17331,10 +17513,13 @@ postcircumfix__S_212Fre_Nch: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 + - !!perl/hash:RE_method + name: kvetch + rest: '' - !!perl/hash:RE_method name: O rest: 1 -postfix__S_215i: !!perl/hash:RE_ast +postfix__S_216i: !!perl/hash:RE_ast dba: postfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17349,7 +17534,7 @@ postfix__S_215i: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -postfix__S_217MinusGt: !!perl/hash:RE_ast +postfix__S_218MinusGt: !!perl/hash:RE_ast dba: postfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17357,28 +17542,32 @@ postfix__S_217MinusGt: !!perl/hash:RE_ast - !!perl/hash:RE_string i: 0 text: -> + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_block + nobind: 1 - !!perl/hash:RE_bracket - re: &60 !!perl/hash:RE_any - altname: postfix__S_217MinusGt_0 + re: &61 !!perl/hash:RE_any + altname: postfix__S_218MinusGt_0 dba: postfix dic: STD::P6 zyg: - !!perl/hash:RE_sequence - alt: postfix__S_217MinusGt_0 0 + alt: postfix__S_218MinusGt_0 0 zyg: - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_cclass i: 0 - text: '[ \[ \{ \( ]' + text: '[ [ { ( ]' - !!perl/hash:RE_method name: obs rest: 1 - !!perl/hash:RE_method - alt: postfix__S_217MinusGt_0 1 + alt: postfix__S_218MinusGt_0 1 name: obs rest: 1 -postfix__S_217MinusGt_0: *60 -postfix__S_218PlusPlus: !!perl/hash:RE_ast +postfix__S_218MinusGt_0: *61 +postfix__S_219PlusPlus: !!perl/hash:RE_ast dba: postfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17391,7 +17580,7 @@ postfix__S_218PlusPlus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -postfix__S_219MinusMinus: !!perl/hash:RE_ast +postfix__S_220MinusMinus: !!perl/hash:RE_ast dba: postfix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17404,25 +17593,25 @@ postfix__S_219MinusMinus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -postfix_prefix_meta_operator__S_198Nch: !!perl/hash:RE_ast +postfix_prefix_meta_operator__S_199Nch: !!perl/hash:RE_ast dba: postfix_prefix_meta_operator dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &61 !!perl/hash:RE_any - altname: postfix_prefix_meta_operator__S_198Nch_0 + re: &62 !!perl/hash:RE_any + altname: postfix_prefix_meta_operator__S_199Nch_0 dba: postfix_prefix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_method - alt: postfix_prefix_meta_operator__S_198Nch_0 0 + alt: postfix_prefix_meta_operator__S_199Nch_0 0 i: 0 name: sym rest: '' sym: » - !!perl/hash:RE_string - alt: postfix_prefix_meta_operator__S_198Nch_0 1 + alt: postfix_prefix_meta_operator__S_199Nch_0 1 i: 0 text: '>>' - !!perl/hash:RE_bracket @@ -17440,11 +17629,11 @@ postfix_prefix_meta_operator__S_198Nch: !!perl/hash:RE_ast re: !!perl/hash:RE_string i: 0 text: ( -postfix_prefix_meta_operator__S_198Nch_0: *61 +postfix_prefix_meta_operator__S_199Nch_0: *62 postop: !!perl/hash:RE_ast dba: postop dic: STD::P6 - re: &62 !!perl/hash:RE_any + re: &63 !!perl/hash:RE_any altname: postop_0 dba: postop dic: STD::P6 @@ -17469,8 +17658,8 @@ postop: !!perl/hash:RE_ast atom: !!perl/hash:RE_block {} - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_block {} -postop_0: *62 -prefix__S_220PlusPlus: !!perl/hash:RE_ast +postop_0: *63 +prefix__S_221PlusPlus: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17483,7 +17672,7 @@ prefix__S_220PlusPlus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_221MinusMinus: !!perl/hash:RE_ast +prefix__S_222MinusMinus: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17496,7 +17685,7 @@ prefix__S_221MinusMinus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_223Bang: !!perl/hash:RE_ast +prefix__S_224Bang: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17509,7 +17698,7 @@ prefix__S_223Bang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_224Plus: !!perl/hash:RE_ast +prefix__S_225Plus: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17522,7 +17711,7 @@ prefix__S_224Plus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_225Minus: !!perl/hash:RE_ast +prefix__S_226Minus: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17535,7 +17724,7 @@ prefix__S_225Minus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_226TildeTilde: !!perl/hash:RE_ast +prefix__S_227TildeTilde: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17551,7 +17740,7 @@ prefix__S_226TildeTilde: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_227Tilde: !!perl/hash:RE_ast +prefix__S_228Tilde: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17564,7 +17753,7 @@ prefix__S_227Tilde: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_228QuestionQuestion: !!perl/hash:RE_ast +prefix__S_229QuestionQuestion: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17580,7 +17769,7 @@ prefix__S_228QuestionQuestion: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_229Question: !!perl/hash:RE_ast +prefix__S_230Question: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17593,7 +17782,7 @@ prefix__S_229Question: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_230TildeCaret: !!perl/hash:RE_ast +prefix__S_231TildeCaret: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17606,7 +17795,7 @@ prefix__S_230TildeCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_231PlusCaret: !!perl/hash:RE_ast +prefix__S_232PlusCaret: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17619,7 +17808,7 @@ prefix__S_231PlusCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_232QuestionCaret: !!perl/hash:RE_ast +prefix__S_233QuestionCaret: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17632,7 +17821,7 @@ prefix__S_232QuestionCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_233CaretCaret: !!perl/hash:RE_ast +prefix__S_234CaretCaret: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17648,7 +17837,7 @@ prefix__S_233CaretCaret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_234Caret: !!perl/hash:RE_ast +prefix__S_235Caret: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17661,7 +17850,7 @@ prefix__S_234Caret: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_235VertVert: !!perl/hash:RE_ast +prefix__S_236VertVert: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17674,7 +17863,7 @@ prefix__S_235VertVert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_236Vert: !!perl/hash:RE_ast +prefix__S_237Vert: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17687,7 +17876,7 @@ prefix__S_236Vert: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_268sleep: !!perl/hash:RE_ast +prefix__S_269sleep: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17713,7 +17902,7 @@ prefix__S_268sleep: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_269abs: !!perl/hash:RE_ast +prefix__S_270abs: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17739,7 +17928,7 @@ prefix__S_269abs: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_270let: !!perl/hash:RE_ast +prefix__S_271let: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17765,7 +17954,7 @@ prefix__S_270let: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_271temp: !!perl/hash:RE_ast +prefix__S_272temp: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17791,7 +17980,7 @@ prefix__S_271temp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_323so: !!perl/hash:RE_ast +prefix__S_324so: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17806,7 +17995,7 @@ prefix__S_323so: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix__S_324not: !!perl/hash:RE_ast +prefix__S_325not: !!perl/hash:RE_ast dba: prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -17821,25 +18010,25 @@ prefix__S_324not: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -prefix_postfix_meta_operator__S_197Fre: !!perl/hash:RE_ast +prefix_postfix_meta_operator__S_198Fre: !!perl/hash:RE_ast dba: prefix_postfix_meta_operator dic: STD::P6 - re: &63 !!perl/hash:RE_any - altname: prefix_postfix_meta_operator__S_197Fre_0 + re: &64 !!perl/hash:RE_any + altname: prefix_postfix_meta_operator__S_198Fre_0 dba: prefix_postfix_meta_operator dic: STD::P6 zyg: - !!perl/hash:RE_method - alt: prefix_postfix_meta_operator__S_197Fre_0 0 + alt: prefix_postfix_meta_operator__S_198Fre_0 0 i: 0 name: sym rest: '' sym: « - !!perl/hash:RE_string - alt: prefix_postfix_meta_operator__S_197Fre_0 1 + alt: prefix_postfix_meta_operator__S_198Fre_0 1 i: 0 text: << -prefix_postfix_meta_operator__S_197Fre_0: *63 +prefix_postfix_meta_operator__S_198Fre_0: *64 privop: !!perl/hash:RE_ast dba: privop dic: STD::P6 @@ -17953,7 +18142,7 @@ quote__S_141qq: !!perl/hash:RE_ast i: 0 text: qq - !!perl/hash:RE_bracket - re: &64 !!perl/hash:RE_any + re: &65 !!perl/hash:RE_any altname: quote__S_141qq_0 dba: quote dic: STD::P6 @@ -18000,7 +18189,7 @@ quote__S_141qq: !!perl/hash:RE_ast - !!perl/hash:RE_method name: quibble rest: 1 -quote__S_141qq_0: *64 +quote__S_141qq_0: *65 quote__S_142q: !!perl/hash:RE_ast dba: quote dic: STD::P6 @@ -18010,7 +18199,7 @@ quote__S_142q: !!perl/hash:RE_ast i: 0 text: q - !!perl/hash:RE_bracket - re: &65 !!perl/hash:RE_any + re: &66 !!perl/hash:RE_any altname: quote__S_142q_0 dba: quote dic: STD::P6 @@ -18054,7 +18243,7 @@ quote__S_142q: !!perl/hash:RE_ast - !!perl/hash:RE_method name: quibble rest: 1 -quote__S_142q_0: *65 +quote__S_142q_0: *66 quote__S_143Q: !!perl/hash:RE_ast dba: quote dic: STD::P6 @@ -18064,7 +18253,7 @@ quote__S_143Q: !!perl/hash:RE_ast i: 0 text: Q - !!perl/hash:RE_bracket - re: &66 !!perl/hash:RE_any + re: &67 !!perl/hash:RE_any altname: quote__S_143Q_0 dba: quote dic: STD::P6 @@ -18108,7 +18297,7 @@ quote__S_143Q: !!perl/hash:RE_ast - !!perl/hash:RE_method name: quibble rest: 1 -quote__S_143Q_0: *66 +quote__S_143Q_0: *67 quote__S_155rx: !!perl/hash:RE_ast dba: quote dic: STD::P6 @@ -18410,7 +18599,7 @@ regex_block: !!perl/hash:RE_ast quant: - '*' - !!perl/hash:RE_bracket - re: &67 !!perl/hash:RE_any + re: &68 !!perl/hash:RE_any altname: regex_block_0 dba: regex_block dic: STD::P6 @@ -18449,8 +18638,8 @@ regex_block: !!perl/hash:RE_ast - !!perl/hash:RE_method name: curlycheck rest: 1 -regex_block_0: *67 -regex_declarator__S_065regex: !!perl/hash:RE_ast +regex_block_0: *68 +regex_declarator__S_072regex: !!perl/hash:RE_ast dba: regex_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18473,7 +18662,7 @@ regex_declarator__S_065regex: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -regex_declarator__S_066token: !!perl/hash:RE_ast +regex_declarator__S_073token: !!perl/hash:RE_ast dba: regex_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18496,7 +18685,7 @@ regex_declarator__S_066token: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -regex_declarator__S_067rule: !!perl/hash:RE_ast +regex_declarator__S_074rule: !!perl/hash:RE_ast dba: regex_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18532,7 +18721,7 @@ regex_def: !!perl/hash:RE_ast zyg: - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &68 !!perl/hash:RE_any + re: &69 !!perl/hash:RE_any altname: regex_def_0 dba: regex_def dic: STD::P6 @@ -18574,7 +18763,7 @@ regex_def: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &69 !!perl/hash:RE_any + re: &70 !!perl/hash:RE_any altname: regex_def_1 dba: regex_def dic: STD::P6 @@ -18677,9 +18866,9 @@ regex_def: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -regex_def_0: *68 -regex_def_1: *69 -routine_declarator__S_061sub: !!perl/hash:RE_ast +regex_def_0: *69 +regex_def_1: *70 +routine_declarator__S_068sub: !!perl/hash:RE_ast dba: routine_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18702,7 +18891,7 @@ routine_declarator__S_061sub: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -routine_declarator__S_062method: !!perl/hash:RE_ast +routine_declarator__S_069method: !!perl/hash:RE_ast dba: routine_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18725,7 +18914,7 @@ routine_declarator__S_062method: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -routine_declarator__S_063submethod: !!perl/hash:RE_ast +routine_declarator__S_070submethod: !!perl/hash:RE_ast dba: routine_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18748,7 +18937,7 @@ routine_declarator__S_063submethod: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -routine_declarator__S_064macro: !!perl/hash:RE_ast +routine_declarator__S_071macro: !!perl/hash:RE_ast dba: routine_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18783,7 +18972,7 @@ routine_def: !!perl/hash:RE_ast zyg: - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &70 !!perl/hash:RE_any + re: &71 !!perl/hash:RE_any altname: routine_def_0 dba: routine_def dic: STD::P6 @@ -18840,7 +19029,7 @@ routine_def: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &71 !!perl/hash:RE_any + re: &72 !!perl/hash:RE_any altname: routine_def_1 dba: routine_def dic: STD::P6 @@ -18921,9 +19110,9 @@ routine_def: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -routine_def_0: *70 -routine_def_1: *71 -scope_declarator__S_040my: !!perl/hash:RE_ast +routine_def_0: *71 +routine_def_1: *72 +scope_declarator__S_047my: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18940,7 +19129,7 @@ scope_declarator__S_040my: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_041our: !!perl/hash:RE_ast +scope_declarator__S_048our: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18957,7 +19146,7 @@ scope_declarator__S_041our: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_042anon: !!perl/hash:RE_ast +scope_declarator__S_049anon: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18974,7 +19163,7 @@ scope_declarator__S_042anon: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_043state: !!perl/hash:RE_ast +scope_declarator__S_050state: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -18991,7 +19180,7 @@ scope_declarator__S_043state: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_044augment: !!perl/hash:RE_ast +scope_declarator__S_051augment: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19008,7 +19197,7 @@ scope_declarator__S_044augment: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_045supersede: !!perl/hash:RE_ast +scope_declarator__S_052supersede: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19025,7 +19214,7 @@ scope_declarator__S_045supersede: !!perl/hash:RE_ast - !!perl/hash:RE_method name: scoped rest: 1 -scope_declarator__S_046has: !!perl/hash:RE_ast +scope_declarator__S_053has: !!perl/hash:RE_ast dba: scope_declarator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19054,7 +19243,7 @@ scoped: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &72 !!perl/hash:RE_any + re: &73 !!perl/hash:RE_any altname: scoped_0 dba: scoped declarator dic: STD::P6 @@ -19132,7 +19321,7 @@ scoped: !!perl/hash:RE_ast - !!perl/hash:RE_method name: panic rest: 1 -scoped_0: *72 +scoped_0: *73 semiarglist: !!perl/hash:RE_ast dba: semiarglist dic: STD::P6 @@ -19159,7 +19348,7 @@ semilist: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &73 !!perl/hash:RE_any + re: &74 !!perl/hash:RE_any altname: semilist_0 dba: semicolon list dic: STD::P6 @@ -19194,7 +19383,7 @@ semilist: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -semilist_0: *73 +semilist_0: *74 sibble: !!perl/hash:RE_ast dba: sibble dic: STD::P6 @@ -19239,7 +19428,7 @@ sibble: !!perl/hash:RE_ast re: !!perl/hash:RE_cclass i: 0 nobind: 1 - text: '[ \[ \{ \( \< ]' + text: '[ [ { ( < ]' - !!perl/hash:RE_method name: obs rest: 1 @@ -19267,10 +19456,16 @@ sibble: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' - - !!perl/hash:RE_bindnamed - atom: !!perl/hash:RE_method - name: EXPR - rest: 1 + - !!perl/hash:RE_bracket + re: !!perl/hash:RE_first + zyg: + - !!perl/hash:RE_bindnamed + atom: !!perl/hash:RE_method + name: EXPR + rest: 1 + - !!perl/hash:RE_method + name: panic + rest: 1 - !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_block {} @@ -19292,7 +19487,7 @@ signature: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &74 !!perl/hash:RE_any + re: &75 !!perl/hash:RE_any altname: signature_0 dba: signature dic: STD::P6 @@ -19323,7 +19518,7 @@ signature: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &75 !!perl/hash:RE_any + re: &76 !!perl/hash:RE_any altname: signature_1 dba: signature dic: STD::P6 @@ -19346,7 +19541,7 @@ signature: !!perl/hash:RE_ast - !!perl/hash:RE_quantified_atom alt: signature_0 1 atom: !!perl/hash:RE_bracket - re: &76 !!perl/hash:RE_any + re: &77 !!perl/hash:RE_any altname: signature_2 dba: signature dic: STD::P6 @@ -19357,7 +19552,7 @@ signature: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &77 !!perl/hash:RE_any + re: &78 !!perl/hash:RE_any altname: signature_3 dba: signature dic: STD::P6 @@ -19420,30 +19615,28 @@ signature: !!perl/hash:RE_ast - !!perl/hash:RE_bracket re: !!perl/hash:RE_first zyg: - - !!perl/hash:RE_method - name: type_constraint - rest: '' - !!perl/hash:RE_sequence zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_bindnamed + atom: !!perl/hash:RE_method + name: parameter + rest: '' + quant: + - + - !!perl/hash:RE_method - name: longname + name: ws rest: '' - - !!perl/hash:RE_method - name: panic - rest: 1 - !!perl/hash:RE_method name: panic rest: 1 - - !!perl/hash:RE_method - name: ws - rest: '' quant: - '?' - !!perl/hash:RE_block {} -signature_0: *74 -signature_1: *75 -signature_2: *76 -signature_3: *77 +signature_0: *75 +signature_1: *76 +signature_2: *77 +signature_3: *78 sigterm: !!perl/hash:RE_ast dba: signature dic: STD::P6 @@ -19465,7 +19658,7 @@ sigterm: !!perl/hash:RE_ast - !!perl/hash:RE_method name: FAILGOAL rest: 1 -special_variable__S_089Dollar_a2_: !!perl/hash:RE_ast +special_variable__S_096Dollar_a2_: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_method @@ -19473,7 +19666,7 @@ special_variable__S_089Dollar_a2_: !!perl/hash:RE_ast name: sym rest: '' sym: $¢ -special_variable__S_090DollarBang: !!perl/hash:RE_ast +special_variable__S_097DollarBang: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19491,7 +19684,7 @@ special_variable__S_090DollarBang: !!perl/hash:RE_ast re: !!perl/hash:RE_meta min: 1 text: \w -special_variable__S_091DollarBangCur_Ly: !!perl/hash:RE_ast +special_variable__S_098DollarBangCur_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19507,17 +19700,17 @@ special_variable__S_091DollarBangCur_Ly: !!perl/hash:RE_ast text: '{' - !!perl/hash:RE_block {} - !!perl/hash:RE_bracket - re: &78 !!perl/hash:RE_any - altname: special_variable__S_091DollarBangCur_Ly_0 + re: &79 !!perl/hash:RE_any + altname: special_variable__S_098DollarBangCur_Ly_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_method - alt: special_variable__S_091DollarBangCur_Ly_0 0 + alt: special_variable__S_098DollarBangCur_Ly_0 0 name: identifier rest: '' - !!perl/hash:RE_method - alt: special_variable__S_091DollarBangCur_Ly_0 1 + alt: special_variable__S_098DollarBangCur_Ly_0 1 name: statementlist rest: '' - !!perl/hash:RE_bracket @@ -19529,8 +19722,8 @@ special_variable__S_091DollarBangCur_Ly: !!perl/hash:RE_ast name: FAILGOAL rest: 1 - !!perl/hash:RE_block {} -special_variable__S_091DollarBangCur_Ly_0: *78 -special_variable__S_092DollarSlash: !!perl/hash:RE_ast +special_variable__S_098DollarBangCur_Ly_0: *79 +special_variable__S_099DollarSlash: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19571,7 +19764,7 @@ special_variable__S_092DollarSlash: !!perl/hash:RE_ast rest: 1 quant: - '?' -special_variable__S_093DollarTilde: !!perl/hash:RE_ast +special_variable__S_100DollarTilde: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19582,28 +19775,25 @@ special_variable__S_093DollarTilde: !!perl/hash:RE_ast rest: '' sym: $~ - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &79 !!perl/hash:RE_any - altname: special_variable__S_093DollarTilde_0 - dba: special_variable - dic: STD::P6 + re: !!perl/hash:RE_sequence zyg: - - !!perl/hash:RE_meta - alt: special_variable__S_093DollarTilde_0 0 - min: 1 - text: \w + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' - !!perl/hash:RE_string - alt: special_variable__S_093DollarTilde_0 1 i: 0 - text: ( + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_093DollarTilde_0: *79 -special_variable__S_094DollarGrave: !!perl/hash:RE_ast +special_variable__S_101DollarGrave: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19616,7 +19806,7 @@ special_variable__S_094DollarGrave: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_095DollarAt: !!perl/hash:RE_ast +special_variable__S_102DollarAt: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19632,20 +19822,20 @@ special_variable__S_095DollarAt: !!perl/hash:RE_ast name: before nobind: 1 re: &80 !!perl/hash:RE_any - altname: special_variable__S_095DollarAt_0 + altname: special_variable__S_102DollarAt_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: special_variable__S_095DollarAt_0 0 + alt: special_variable__S_102DollarAt_0 0 min: 1 text: \w - !!perl/hash:RE_string - alt: special_variable__S_095DollarAt_0 1 + alt: special_variable__S_102DollarAt_0 1 i: 0 text: ( - !!perl/hash:RE_method - alt: special_variable__S_095DollarAt_0 2 + alt: special_variable__S_102DollarAt_0 2 name: sigil rest: '' - !!perl/hash:RE_meta @@ -19653,8 +19843,8 @@ special_variable__S_095DollarAt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_095DollarAt_0: *80 -special_variable__S_096DollarSharp: !!perl/hash:RE_ast +special_variable__S_102DollarAt_0: *80 +special_variable__S_103DollarSharp: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19685,7 +19875,7 @@ special_variable__S_096DollarSharp: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_097DollarDollar: !!perl/hash:RE_ast +special_variable__S_104DollarDollar: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19701,27 +19891,27 @@ special_variable__S_097DollarDollar: !!perl/hash:RE_ast name: before nobind: 1 re: &81 !!perl/hash:RE_any - altname: special_variable__S_097DollarDollar_0 + altname: special_variable__S_104DollarDollar_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: special_variable__S_097DollarDollar_0 0 + alt: special_variable__S_104DollarDollar_0 0 min: 1 text: \w - !!perl/hash:RE_string - alt: special_variable__S_097DollarDollar_0 1 + alt: special_variable__S_104DollarDollar_0 1 i: 0 text: ( - !!perl/hash:RE_method - alt: special_variable__S_097DollarDollar_0 2 + alt: special_variable__S_104DollarDollar_0 2 name: sigil rest: '' - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_097DollarDollar_0: *81 -special_variable__S_098DollarPercent: !!perl/hash:RE_ast +special_variable__S_104DollarDollar_0: *81 +special_variable__S_105DollarPercent: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19732,32 +19922,25 @@ special_variable__S_098DollarPercent: !!perl/hash:RE_ast rest: '' sym: $% - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &82 !!perl/hash:RE_any - altname: special_variable__S_098DollarPercent_0 - dba: special_variable - dic: STD::P6 + re: !!perl/hash:RE_sequence zyg: - - !!perl/hash:RE_meta - alt: special_variable__S_098DollarPercent_0 0 - min: 1 - text: \w + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' - !!perl/hash:RE_string - alt: special_variable__S_098DollarPercent_0 1 i: 0 - text: ( - - !!perl/hash:RE_method - alt: special_variable__S_098DollarPercent_0 2 - name: sigil - rest: '' + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_098DollarPercent_0: *82 -special_variable__S_099DollarCaretX: !!perl/hash:RE_ast +special_variable__S_106DollarCaretX: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19779,7 +19962,7 @@ special_variable__S_099DollarCaretX: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obscaret rest: 1 -special_variable__S_100DollarCaret: !!perl/hash:RE_ast +special_variable__S_107DollarCaret: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19790,17 +19973,25 @@ special_variable__S_100DollarCaret: !!perl/hash:RE_ast rest: '' sym: $^ - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: !!perl/hash:RE_meta - min: 1 - text: \w + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' + - !!perl/hash:RE_string + i: 0 + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_101DollarAmp: !!perl/hash:RE_ast +special_variable__S_108DollarAmp: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19815,28 +20006,28 @@ special_variable__S_101DollarAmp: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &83 !!perl/hash:RE_any - altname: special_variable__S_101DollarAmp_0 + re: &82 !!perl/hash:RE_any + altname: special_variable__S_108DollarAmp_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: special_variable__S_101DollarAmp_0 0 + alt: special_variable__S_108DollarAmp_0 0 min: 1 text: \w - !!perl/hash:RE_string - alt: special_variable__S_101DollarAmp_0 1 + alt: special_variable__S_108DollarAmp_0 1 i: 0 text: ( - !!perl/hash:RE_method - alt: special_variable__S_101DollarAmp_0 2 + alt: special_variable__S_108DollarAmp_0 2 name: sigil rest: '' - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_101DollarAmp_0: *83 -special_variable__S_102DollarStar: !!perl/hash:RE_ast +special_variable__S_108DollarAmp_0: *82 +special_variable__S_109DollarStar: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19847,58 +20038,25 @@ special_variable__S_102DollarStar: !!perl/hash:RE_ast rest: '' sym: $* - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &84 !!perl/hash:RE_any - altname: special_variable__S_102DollarStar_0 - dba: special_variable - dic: STD::P6 + re: !!perl/hash:RE_sequence zyg: - - !!perl/hash:RE_meta - alt: special_variable__S_102DollarStar_0 0 - min: 1 - text: \w + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' - !!perl/hash:RE_string - alt: special_variable__S_102DollarStar_0 1 i: 0 - text: ( - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_102DollarStar_0: *84 -special_variable__S_103DollarThesis: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $) - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_block - nobind: 1 - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_104DollarMinus: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $- + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_105DollarEqual: !!perl/hash:RE_ast +special_variable__S_110DollarEqual: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19909,28 +20067,25 @@ special_variable__S_105DollarEqual: !!perl/hash:RE_ast rest: '' sym: $= - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &85 !!perl/hash:RE_any - altname: special_variable__S_105DollarEqual_0 - dba: special_variable - dic: STD::P6 + re: !!perl/hash:RE_sequence zyg: - - !!perl/hash:RE_meta - alt: special_variable__S_105DollarEqual_0 0 - min: 1 - text: \w + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - + - !!perl/hash:RE_string - alt: special_variable__S_105DollarEqual_0 1 i: 0 - text: ( + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_105DollarEqual_0: *85 -special_variable__S_106AtPlus: !!perl/hash:RE_ast +special_variable__S_111AtPlus: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19943,7 +20098,7 @@ special_variable__S_106AtPlus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_107PercentPlus: !!perl/hash:RE_ast +special_variable__S_112PercentPlus: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19956,7 +20111,7 @@ special_variable__S_107PercentPlus: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_108DollarPlusBra_Ket: !!perl/hash:RE_ast +special_variable__S_113DollarPlusBra_Ket: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19967,7 +20122,7 @@ special_variable__S_108DollarPlusBra_Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_109AtPlusBra_Ket: !!perl/hash:RE_ast +special_variable__S_114AtPlusBra_Ket: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19978,7 +20133,7 @@ special_variable__S_109AtPlusBra_Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_110AtPlusCur_Ly: !!perl/hash:RE_ast +special_variable__S_115AtPlusCur_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -19989,7 +20144,7 @@ special_variable__S_110AtPlusCur_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_111AtMinus: !!perl/hash:RE_ast +special_variable__S_116AtMinus: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20006,28 +20161,28 @@ special_variable__S_111AtMinus: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &86 !!perl/hash:RE_any - altname: special_variable__S_111AtMinus_0 + re: &83 !!perl/hash:RE_any + altname: special_variable__S_116AtMinus_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: special_variable__S_111AtMinus_0 0 + alt: special_variable__S_116AtMinus_0 0 min: 1 text: \s - !!perl/hash:RE_string - alt: special_variable__S_111AtMinus_0 1 + alt: special_variable__S_116AtMinus_0 1 i: 0 text: ',' - !!perl/hash:RE_method - alt: special_variable__S_111AtMinus_0 2 + alt: special_variable__S_116AtMinus_0 2 name: terminator rest: '' - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_111AtMinus_0: *86 -special_variable__S_112PercentMinus: !!perl/hash:RE_ast +special_variable__S_116AtMinus_0: *83 +special_variable__S_117PercentMinus: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20044,28 +20199,28 @@ special_variable__S_112PercentMinus: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &87 !!perl/hash:RE_any - altname: special_variable__S_112PercentMinus_0 + re: &84 !!perl/hash:RE_any + altname: special_variable__S_117PercentMinus_0 dba: special_variable dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: special_variable__S_112PercentMinus_0 0 + alt: special_variable__S_117PercentMinus_0 0 min: 1 text: \s - !!perl/hash:RE_string - alt: special_variable__S_112PercentMinus_0 1 + alt: special_variable__S_117PercentMinus_0 1 i: 0 text: ',' - !!perl/hash:RE_method - alt: special_variable__S_112PercentMinus_0 2 + alt: special_variable__S_117PercentMinus_0 2 name: terminator rest: '' - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_112PercentMinus_0: *87 -special_variable__S_113DollarMinusBra_Ket: !!perl/hash:RE_ast +special_variable__S_117PercentMinus_0: *84 +special_variable__S_118DollarMinusBra_Ket: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20076,7 +20231,7 @@ special_variable__S_113DollarMinusBra_Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_114AtMinusBra_Ket: !!perl/hash:RE_ast +special_variable__S_119AtMinusBra_Ket: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20087,7 +20242,7 @@ special_variable__S_114AtMinusBra_Ket: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_115PercentMinusCur_Ly: !!perl/hash:RE_ast +special_variable__S_120PercentMinusCur_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20098,45 +20253,7 @@ special_variable__S_115PercentMinusCur_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_116DollarPlus: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $+ - - !!perl/hash:RE_meta - text: '::' - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_method_re - name: before - nobind: 1 - re: &88 !!perl/hash:RE_any - altname: special_variable__S_116DollarPlus_0 - dba: special_variable - dic: STD::P6 - zyg: - - !!perl/hash:RE_meta - alt: special_variable__S_116DollarPlus_0 0 - min: 1 - text: \s - - !!perl/hash:RE_string - alt: special_variable__S_116DollarPlus_0 1 - i: 0 - text: ',' - - !!perl/hash:RE_method - alt: special_variable__S_116DollarPlus_0 2 - name: terminator - rest: '' - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_116DollarPlus_0: *88 -special_variable__S_117DollarCurCaret_Ly: !!perl/hash:RE_ast +special_variable__S_121DollarCurCaret_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20159,7 +20276,7 @@ special_variable__S_117DollarCurCaret_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obscaret rest: 1 -special_variable__S_118ColonColonCur_Ly: !!perl/hash:RE_ast +special_variable__S_122ColonColonCur_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20175,7 +20292,7 @@ special_variable__S_118ColonColonCur_Ly: !!perl/hash:RE_ast re: !!perl/hash:RE_string i: 0 text: '{' -special_variable__S_119DollarCur_Ly: !!perl/hash:RE_ast +special_variable__S_123DollarCur_Ly: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20194,34 +20311,12 @@ special_variable__S_119DollarCur_Ly: !!perl/hash:RE_ast - !!perl/hash:RE_string i: 0 text: '}' + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_block + nobind: 1 - !!perl/hash:RE_block {} -special_variable__S_120DollarBra: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $[ - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_121DollarKet: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $] - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_122DollarBack: !!perl/hash:RE_ast +special_variable__S_124DollarBack: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20231,10 +20326,14 @@ special_variable__S_122DollarBack: !!perl/hash:RE_ast name: sym rest: '' sym: $\ + - !!perl/hash:RE_assertion + assert: '!' + re: !!perl/hash:RE_block + nobind: 1 - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_123DollarVert: !!perl/hash:RE_ast +special_variable__S_125DollarVert: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20244,10 +20343,26 @@ special_variable__S_123DollarVert: !!perl/hash:RE_ast name: sym rest: '' sym: $| + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' + - !!perl/hash:RE_string + i: 0 + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_124DollarColon: !!perl/hash:RE_ast +special_variable__S_126DollarColon: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20258,17 +20373,25 @@ special_variable__S_124DollarColon: !!perl/hash:RE_ast rest: '' sym: '$:' - !!perl/hash:RE_assertion - assert: '!' + assert: '?' re: !!perl/hash:RE_method_re name: before nobind: 1 - re: !!perl/hash:RE_meta - min: 1 - text: \w + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' + - !!perl/hash:RE_string + i: 0 + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_125DollarSemi: !!perl/hash:RE_ast +special_variable__S_127DollarSemi: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20278,10 +20401,26 @@ special_variable__S_125DollarSemi: !!perl/hash:RE_ast name: sym rest: '' sym: $; + - !!perl/hash:RE_assertion + assert: '?' + re: !!perl/hash:RE_method_re + name: before + nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' + - !!perl/hash:RE_string + i: 0 + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_126DollarSingle: !!perl/hash:RE_ast +special_variable__S_128DollarSingle: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20298,7 +20437,7 @@ special_variable__S_126DollarSingle: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_127DollarDouble: !!perl/hash:RE_ast +special_variable__S_129DollarDouble: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20309,13 +20448,25 @@ special_variable__S_127DollarDouble: !!perl/hash:RE_ast rest: '' sym: $" - !!perl/hash:RE_assertion - assert: '!' - re: !!perl/hash:RE_block + assert: '?' + re: !!perl/hash:RE_method_re + name: before nobind: 1 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_meta + min: 1 + text: \h + quant: + - '*' + - !!perl/hash:RE_string + i: 0 + text: = - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_128DollarComma: !!perl/hash:RE_ast +special_variable__S_130DollarComma: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 re: !!perl/hash:RE_sequence @@ -20325,19 +20476,6 @@ special_variable__S_128DollarComma: !!perl/hash:RE_ast name: sym rest: '' sym: $, - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_129DollarLt: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $< - !!perl/hash:RE_assertion assert: '?' re: !!perl/hash:RE_method_re @@ -20351,38 +20489,9 @@ special_variable__S_129DollarLt: !!perl/hash:RE_ast text: \h quant: - '*' - - !!perl/hash:RE_cclass + - !!perl/hash:RE_string i: 0 - text: '[ = , ; ? : ! ) \] } ]' - - !!perl/hash:RE_assertion - assert: '!' - re: !!perl/hash:RE_method_re - name: before - nobind: 1 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_quantified_atom - atom: !!perl/hash:RE_meta - min: 1 - text: \S - quant: - - '*' - - !!perl/hash:RE_string - i: 0 - text: '>' - - !!perl/hash:RE_method - name: obs - rest: 1 -special_variable__S_130DollarGt: !!perl/hash:RE_ast - dba: special_variable - dic: STD::P6 - re: !!perl/hash:RE_sequence - zyg: - - !!perl/hash:RE_method - i: 0 - name: sym - rest: '' - sym: $> + text: = - !!perl/hash:RE_method name: obs rest: 1 @@ -20401,7 +20510,7 @@ special_variable__S_131DollarDot: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &89 !!perl/hash:RE_any + re: &85 !!perl/hash:RE_any altname: special_variable__S_131DollarDot_0 dba: special_variable dic: STD::P6 @@ -20417,7 +20526,7 @@ special_variable__S_131DollarDot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_131DollarDot_0: *89 +special_variable__S_131DollarDot_0: *85 special_variable__S_132DollarQuestion: !!perl/hash:RE_ast dba: special_variable dic: STD::P6 @@ -20433,7 +20542,7 @@ special_variable__S_132DollarQuestion: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &90 !!perl/hash:RE_any + re: &86 !!perl/hash:RE_any altname: special_variable__S_132DollarQuestion_0 dba: special_variable dic: STD::P6 @@ -20449,7 +20558,7 @@ special_variable__S_132DollarQuestion: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -special_variable__S_132DollarQuestion_0: *90 +special_variable__S_132DollarQuestion_0: *86 statement: !!perl/hash:RE_ast dba: statement dic: STD::P6 @@ -20476,7 +20585,7 @@ statement: !!perl/hash:RE_ast re: !!perl/hash:RE_block nobind: 1 - !!perl/hash:RE_bracket - re: &91 !!perl/hash:RE_any + re: &87 !!perl/hash:RE_any altname: statement_0 dba: statement end dic: STD::P6 @@ -20514,7 +20623,7 @@ statement: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &92 !!perl/hash:RE_any + re: &88 !!perl/hash:RE_any altname: statement_1 dba: statement modifier loop dic: STD::P6 @@ -20596,7 +20705,7 @@ statement: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &93 !!perl/hash:RE_any + re: &89 !!perl/hash:RE_any altname: statement_2 dba: statement dic: STD::P6 @@ -20628,9 +20737,9 @@ statement: !!perl/hash:RE_ast rest: 1 quant: - '?' -statement_0: *91 -statement_1: *92 -statement_2: *93 +statement_0: *87 +statement_1: *88 +statement_2: *89 statement_control__S_000need: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 @@ -20650,7 +20759,7 @@ statement_control__S_000need: !!perl/hash:RE_ast rest: '' - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &94 !!perl/hash:RE_any + re: &90 !!perl/hash:RE_any altname: statement_control__S_000need_0 dba: statement_control dic: STD::P6 @@ -20676,7 +20785,7 @@ statement_control__S_000need: !!perl/hash:RE_ast - !!perl/hash:RE_block {} quant: - + -statement_control__S_000need_0: *94 +statement_control__S_000need_0: *90 statement_control__S_001import: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 @@ -20864,7 +20973,7 @@ statement_control__S_004if: !!perl/hash:RE_ast - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket re: !!perl/hash:RE_bracket - re: &95 !!perl/hash:RE_any + re: &91 !!perl/hash:RE_any altname: statement_control__S_004if_0 dba: statement_control dic: STD::P6 @@ -20946,7 +21055,7 @@ statement_control__S_004if: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_control__S_004if_0: *95 +statement_control__S_004if_0: *91 statement_control__S_005unless: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 @@ -21147,7 +21256,7 @@ statement_control__S_008repeat: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &96 !!perl/hash:RE_any + re: &92 !!perl/hash:RE_any altname: statement_control__S_008repeat_0 dba: statement_control dic: STD::P6 @@ -21157,7 +21266,7 @@ statement_control__S_008repeat: !!perl/hash:RE_ast zyg: - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_bracket - re: &97 !!perl/hash:RE_any + re: &93 !!perl/hash:RE_any altname: statement_control__S_008repeat_1 dba: statement_control dic: STD::P6 @@ -21198,7 +21307,7 @@ statement_control__S_008repeat: !!perl/hash:RE_ast zyg: - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_bracket - re: &98 !!perl/hash:RE_any + re: &94 !!perl/hash:RE_any altname: statement_control__S_008repeat_2 dba: statement_control dic: STD::P6 @@ -21231,9 +21340,9 @@ statement_control__S_008repeat: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_control__S_008repeat_0: *96 -statement_control__S_008repeat_1: *97 -statement_control__S_008repeat_2: *98 +statement_control__S_008repeat_0: *92 +statement_control__S_008repeat_1: *93 +statement_control__S_008repeat_2: *94 statement_control__S_009loop: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 @@ -21504,6 +21613,12 @@ statement_control__S_010for: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' + - !!perl/hash:RE_method + name: worry_itemlist + rest: 1 + - !!perl/hash:RE_method + name: ws + rest: '' statement_control__S_011given: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 @@ -21578,7 +21693,76 @@ statement_control__S_013default: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_control__S_028CATCH: !!perl/hash:RE_ast +statement_control__S_016more: !!perl/hash:RE_ast + dba: statement_control + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + endsym: keyspace + i: 0 + name: sym + rest: '' + sym: more + - !!perl/hash:RE_method + name: keyspace + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' + - !!perl/hash:RE_method + name: xblock + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' +statement_control__S_017done: !!perl/hash:RE_ast + dba: statement_control + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + endsym: keyspace + i: 0 + name: sym + rest: '' + sym: done + - !!perl/hash:RE_method + name: keyspace + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' + - !!perl/hash:RE_method + name: xblock + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' +statement_control__S_018wait: !!perl/hash:RE_ast + dba: statement_control + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + endsym: keyspace + i: 0 + name: sym + rest: '' + sym: wait + - !!perl/hash:RE_method + name: keyspace + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' + - !!perl/hash:RE_method + name: xblock + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' +statement_control__S_035CATCH: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21601,7 +21785,7 @@ statement_control__S_028CATCH: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_control__S_029CONTROL: !!perl/hash:RE_ast +statement_control__S_036CONTROL: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21624,7 +21808,7 @@ statement_control__S_029CONTROL: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_control__S_030TEMP: !!perl/hash:RE_ast +statement_control__S_037TEMP: !!perl/hash:RE_ast dba: statement_control dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21647,7 +21831,7 @@ statement_control__S_030TEMP: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_cond__S_031if: !!perl/hash:RE_ast +statement_mod_cond__S_038if: !!perl/hash:RE_ast dba: statement_mod_cond dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21670,7 +21854,7 @@ statement_mod_cond__S_031if: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_cond__S_032unless: !!perl/hash:RE_ast +statement_mod_cond__S_039unless: !!perl/hash:RE_ast dba: statement_mod_cond dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21693,7 +21877,7 @@ statement_mod_cond__S_032unless: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_cond__S_033when: !!perl/hash:RE_ast +statement_mod_cond__S_040when: !!perl/hash:RE_ast dba: statement_mod_cond dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21721,7 +21905,7 @@ statement_mod_cond__S_033when: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_loop__S_034while: !!perl/hash:RE_ast +statement_mod_loop__S_041while: !!perl/hash:RE_ast dba: statement_mod_loop dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21744,7 +21928,7 @@ statement_mod_loop__S_034while: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_loop__S_035until: !!perl/hash:RE_ast +statement_mod_loop__S_042until: !!perl/hash:RE_ast dba: statement_mod_loop dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21767,7 +21951,7 @@ statement_mod_loop__S_035until: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_loop__S_036for: !!perl/hash:RE_ast +statement_mod_loop__S_043for: !!perl/hash:RE_ast dba: statement_mod_loop dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21790,7 +21974,13 @@ statement_mod_loop__S_036for: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_mod_loop__S_037given: !!perl/hash:RE_ast + - !!perl/hash:RE_method + name: worry_itemlist + rest: 1 + - !!perl/hash:RE_method + name: ws + rest: '' +statement_mod_loop__S_044given: !!perl/hash:RE_ast dba: statement_mod_loop dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21813,7 +22003,7 @@ statement_mod_loop__S_037given: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -statement_prefix__S_014BEGIN: !!perl/hash:RE_ast +statement_prefix__S_019BEGIN: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21829,7 +22019,7 @@ statement_prefix__S_014BEGIN: !!perl/hash:RE_ast - !!perl/hash:RE_method name: explain_mystery rest: '' -statement_prefix__S_015CHECK: !!perl/hash:RE_ast +statement_prefix__S_020CHECK: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21842,7 +22032,33 @@ statement_prefix__S_015CHECK: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_016INIT: !!perl/hash:RE_ast +statement_prefix__S_021LINK: !!perl/hash:RE_ast + dba: statement_prefix + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: LINK + - !!perl/hash:RE_method + name: blast + rest: '' +statement_prefix__S_022COMPOSE: !!perl/hash:RE_ast + dba: statement_prefix + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: COMPOSE + - !!perl/hash:RE_method + name: blast + rest: '' +statement_prefix__S_023INIT: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21855,7 +22071,7 @@ statement_prefix__S_016INIT: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_017START: !!perl/hash:RE_ast +statement_prefix__S_024START: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21868,7 +22084,10 @@ statement_prefix__S_017START: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_018ENTER: !!perl/hash:RE_ast + - !!perl/hash:RE_method + name: worryobs + rest: 1 +statement_prefix__S_025ENTER: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21881,7 +22100,7 @@ statement_prefix__S_018ENTER: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_019FIRST: !!perl/hash:RE_ast +statement_prefix__S_026FIRST: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21894,7 +22113,7 @@ statement_prefix__S_019FIRST: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_020END: !!perl/hash:RE_ast +statement_prefix__S_027END: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21907,7 +22126,7 @@ statement_prefix__S_020END: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_021LEAVE: !!perl/hash:RE_ast +statement_prefix__S_028LEAVE: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21920,7 +22139,7 @@ statement_prefix__S_021LEAVE: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_022KEEP: !!perl/hash:RE_ast +statement_prefix__S_029KEEP: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21933,7 +22152,7 @@ statement_prefix__S_022KEEP: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_023UNDO: !!perl/hash:RE_ast +statement_prefix__S_030UNDO: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21946,7 +22165,7 @@ statement_prefix__S_023UNDO: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_024NEXT: !!perl/hash:RE_ast +statement_prefix__S_031NEXT: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21959,7 +22178,7 @@ statement_prefix__S_024NEXT: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_025LAST: !!perl/hash:RE_ast +statement_prefix__S_032LAST: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21972,7 +22191,7 @@ statement_prefix__S_025LAST: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_026PRE: !!perl/hash:RE_ast +statement_prefix__S_033PRE: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21985,7 +22204,7 @@ statement_prefix__S_026PRE: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_027POST: !!perl/hash:RE_ast +statement_prefix__S_034POST: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -21998,7 +22217,7 @@ statement_prefix__S_027POST: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_169sink: !!perl/hash:RE_ast +statement_prefix__S_169once: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22007,11 +22226,11 @@ statement_prefix__S_169sink: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: sink + sym: once - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_170try: !!perl/hash:RE_ast +statement_prefix__S_170eager: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22020,11 +22239,11 @@ statement_prefix__S_170try: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: try + sym: eager - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_171quietly: !!perl/hash:RE_ast +statement_prefix__S_171lazy: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22033,11 +22252,11 @@ statement_prefix__S_171quietly: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: quietly + sym: lazy - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_172gather: !!perl/hash:RE_ast +statement_prefix__S_172sink: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22046,11 +22265,11 @@ statement_prefix__S_172gather: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: gather + sym: sink - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_173contend: !!perl/hash:RE_ast +statement_prefix__S_173try: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22059,11 +22278,11 @@ statement_prefix__S_173contend: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: contend + sym: try - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_174async: !!perl/hash:RE_ast +statement_prefix__S_174quietly: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22072,11 +22291,11 @@ statement_prefix__S_174async: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: async + sym: quietly - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_175maybe: !!perl/hash:RE_ast +statement_prefix__S_175gather: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22085,11 +22304,11 @@ statement_prefix__S_175maybe: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: maybe + sym: gather - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_176lazy: !!perl/hash:RE_ast +statement_prefix__S_176contend: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22098,11 +22317,37 @@ statement_prefix__S_176lazy: !!perl/hash:RE_ast i: 0 name: sym rest: '' - sym: lazy + sym: contend + - !!perl/hash:RE_method + name: blast + rest: '' +statement_prefix__S_177start: !!perl/hash:RE_ast + dba: statement_prefix + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: start - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_177do: !!perl/hash:RE_ast +statement_prefix__S_178maybe: !!perl/hash:RE_ast + dba: statement_prefix + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: maybe + - !!perl/hash:RE_method + name: blast + rest: '' +statement_prefix__S_179do: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22115,7 +22360,7 @@ statement_prefix__S_177do: !!perl/hash:RE_ast - !!perl/hash:RE_method name: blast rest: '' -statement_prefix__S_178lift: !!perl/hash:RE_ast +statement_prefix__S_180lift: !!perl/hash:RE_ast dba: statement_prefix dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22140,7 +22385,7 @@ statementlist: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &99 !!perl/hash:RE_any + re: &95 !!perl/hash:RE_any altname: statementlist_0 dba: statement list dic: STD::P6 @@ -22169,9 +22414,17 @@ statementlist: !!perl/hash:RE_ast atom: !!perl/hash:RE_bracket re: !!perl/hash:RE_sequence zyg: - - !!perl/hash:RE_method - name: statement - rest: '' + - !!perl/hash:RE_quantified_atom + atom: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + name: statement + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' + quant: + - + - !!perl/hash:RE_method name: eat_terminator rest: '' @@ -22184,7 +22437,7 @@ statementlist: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_block {} -statementlist_0: *99 +statementlist_0: *95 sublongname: !!perl/hash:RE_ast dba: sublongname dic: STD::P6 @@ -22203,7 +22456,7 @@ subshortname: !!perl/hash:RE_ast dba: subshortname dic: STD::P6 re: !!perl/hash:RE_bracket - re: &100 !!perl/hash:RE_any + re: &96 !!perl/hash:RE_any altname: subshortname_0 dba: subshortname dic: STD::P6 @@ -22224,14 +22477,52 @@ subshortname: !!perl/hash:RE_ast alt: subshortname_0 1 name: desigilname rest: '' -subshortname_0: *100 -term__S_074fatarrow: !!perl/hash:RE_ast +subshortname_0: *96 +term__S_014winner: !!perl/hash:RE_ast + dba: term + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: winner + - !!perl/hash:RE_method + name: ws + rest: '' + - !!perl/hash:RE_method + name: xblock + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' +term__S_015combine: !!perl/hash:RE_ast + dba: term + dic: STD::P6 + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_method + i: 0 + name: sym + rest: '' + sym: combine + - !!perl/hash:RE_method + name: ws + rest: '' + - !!perl/hash:RE_method + name: xblock + rest: '' + - !!perl/hash:RE_method + name: ws + rest: '' +term__S_081fatarrow: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: fatarrow rest: '' -term__S_075variable: !!perl/hash:RE_ast +term__S_082variable: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22240,19 +22531,19 @@ term__S_075variable: !!perl/hash:RE_ast name: variable rest: '' - !!perl/hash:RE_block {} -term__S_076package_declarator: !!perl/hash:RE_ast +term__S_083package_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: package_declarator rest: '' -term__S_077scope_declarator: !!perl/hash:RE_ast +term__S_084scope_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: scope_declarator rest: '' -term__S_078multi_declarator: !!perl/hash:RE_ast +term__S_085multi_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22262,82 +22553,82 @@ term__S_078multi_declarator: !!perl/hash:RE_ast re: !!perl/hash:RE_method_re name: before nobind: 1 - re: &101 !!perl/hash:RE_any - altname: term__S_078multi_declarator_0 + re: &97 !!perl/hash:RE_any + altname: term__S_085multi_declarator_0 dba: term dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: term__S_078multi_declarator_0 0 + alt: term__S_085multi_declarator_0 0 i: 0 text: multi - !!perl/hash:RE_string - alt: term__S_078multi_declarator_0 1 + alt: term__S_085multi_declarator_0 1 i: 0 text: proto - !!perl/hash:RE_string - alt: term__S_078multi_declarator_0 2 + alt: term__S_085multi_declarator_0 2 i: 0 text: only - !!perl/hash:RE_method name: multi_declarator rest: '' -term__S_078multi_declarator_0: *101 -term__S_079routine_declarator: !!perl/hash:RE_ast +term__S_085multi_declarator_0: *97 +term__S_086routine_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: routine_declarator rest: '' -term__S_080regex_declarator: !!perl/hash:RE_ast +term__S_087regex_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: regex_declarator rest: '' -term__S_081type_declarator: !!perl/hash:RE_ast +term__S_088type_declarator: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: type_declarator rest: '' -term__S_082circumfix: !!perl/hash:RE_ast +term__S_089circumfix: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: circumfix rest: '' -term__S_083dotty: !!perl/hash:RE_ast +term__S_090dotty: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: dotty rest: '' -term__S_084value: !!perl/hash:RE_ast +term__S_091value: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: value rest: '' -term__S_085capterm: !!perl/hash:RE_ast +term__S_092capterm: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: capterm rest: '' -term__S_086sigterm: !!perl/hash:RE_ast +term__S_093sigterm: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: sigterm rest: '' -term__S_087statement_prefix: !!perl/hash:RE_ast +term__S_094statement_prefix: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_method name: statement_prefix rest: '' -term__S_088colonpair: !!perl/hash:RE_ast +term__S_095colonpair: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_quantified_atom @@ -22352,7 +22643,7 @@ term__S_088colonpair: !!perl/hash:RE_ast rest: '' quant: - + -term__S_179new: !!perl/hash:RE_ast +term__S_181new: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22386,7 +22677,7 @@ term__S_179new: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -term__S_180ColonColonQuestionIDENT: !!perl/hash:RE_ast +term__S_182ColonColonQuestionIDENT: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22406,7 +22697,7 @@ term__S_180ColonColonQuestionIDENT: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_181undef: !!perl/hash:RE_ast +term__S_183undef: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22487,7 +22778,7 @@ term__S_181undef: !!perl/hash:RE_ast - !!perl/hash:RE_method name: obs rest: 1 -term__S_182proceed: !!perl/hash:RE_ast +term__S_184proceed: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22502,7 +22793,7 @@ term__S_182proceed: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_183time: !!perl/hash:RE_ast +term__S_185time: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22517,7 +22808,7 @@ term__S_183time: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_184now: !!perl/hash:RE_ast +term__S_186now: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22532,7 +22823,7 @@ term__S_184now: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_185self: !!perl/hash:RE_ast +term__S_187self: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22548,7 +22839,7 @@ term__S_185self: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_186defer: !!perl/hash:RE_ast +term__S_188defer: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22563,7 +22854,7 @@ term__S_186defer: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_187rand: !!perl/hash:RE_ast +term__S_189rand: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22599,17 +22890,17 @@ term__S_187rand: !!perl/hash:RE_ast quant: - '*' - !!perl/hash:RE_bracket - re: &102 !!perl/hash:RE_any - altname: term__S_187rand_0 + re: &98 !!perl/hash:RE_any + altname: term__S_189rand_0 dba: term dic: STD::P6 zyg: - !!perl/hash:RE_meta - alt: term__S_187rand_0 0 + alt: term__S_189rand_0 0 min: 1 text: \d - !!perl/hash:RE_string - alt: term__S_187rand_0 1 + alt: term__S_189rand_0 1 i: 0 text: $ - !!perl/hash:RE_method @@ -22637,8 +22928,8 @@ term__S_187rand: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_187rand_0: *102 -term__S_188Star: !!perl/hash:RE_ast +term__S_189rand_0: *98 +term__S_190Star: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22651,7 +22942,7 @@ term__S_188Star: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_189StarStar: !!perl/hash:RE_ast +term__S_191StarStar: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22664,7 +22955,7 @@ term__S_189StarStar: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_196reduce: !!perl/hash:RE_ast +term__S_197reduce: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22737,17 +23028,17 @@ term__S_196reduce: !!perl/hash:RE_ast i: 0 text: ']' - !!perl/hash:RE_bracket - re: &103 !!perl/hash:RE_any - altname: term__S_196reduce_0 + re: &99 !!perl/hash:RE_any + altname: term__S_197reduce_0 dba: term dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: term__S_196reduce_0 0 + alt: term__S_197reduce_0 0 i: 0 text: « - !!perl/hash:RE_assertion - alt: term__S_196reduce_0 1 + alt: term__S_197reduce_0 1 assert: '?' re: !!perl/hash:RE_noop nobind: 1 @@ -22776,8 +23067,8 @@ term__S_196reduce: !!perl/hash:RE_ast name: O rest: 1 - !!perl/hash:RE_block {} -term__S_196reduce_0: *103 -term__S_213lambda: !!perl/hash:RE_ast +term__S_197reduce_0: *99 +term__S_214lambda: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22797,7 +23088,7 @@ term__S_213lambda: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_331DotDotDot: !!perl/hash:RE_ast +term__S_332DotDotDot: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22816,7 +23107,7 @@ term__S_331DotDotDot: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_332QuestionQuestionQuestion: !!perl/hash:RE_ast +term__S_333QuestionQuestionQuestion: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22835,7 +23126,7 @@ term__S_332QuestionQuestionQuestion: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_333BangBangBang: !!perl/hash:RE_ast +term__S_334BangBangBang: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22854,7 +23145,7 @@ term__S_333BangBangBang: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_334identifier: !!perl/hash:RE_ast +term__S_335identifier: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22869,17 +23160,17 @@ term__S_334identifier: !!perl/hash:RE_ast nobind: 1 re: !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &104 !!perl/hash:RE_any - altname: term__S_334identifier_0 + re: &100 !!perl/hash:RE_any + altname: term__S_335identifier_0 dba: term dic: STD::P6 zyg: - !!perl/hash:RE_method - alt: term__S_334identifier_0 0 + alt: term__S_335identifier_0 0 name: unsp rest: '' - !!perl/hash:RE_string - alt: term__S_334identifier_0 1 + alt: term__S_335identifier_0 1 i: 0 text: ( quant: @@ -22899,8 +23190,8 @@ term__S_334identifier: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_334identifier_0: *104 -term__S_335name: !!perl/hash:RE_ast +term__S_335identifier_0: *100 +term__S_336name: !!perl/hash:RE_ast dba: term dic: STD::P6 re: !!perl/hash:RE_sequence @@ -22960,25 +23251,25 @@ term__S_335name: !!perl/hash:RE_ast name: before nobind: 1 re: !!perl/hash:RE_bracket - re: &105 !!perl/hash:RE_any - altname: term__S_335name_0 + re: &101 !!perl/hash:RE_any + altname: term__S_336name_0 dba: namespace variable lookup dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: term__S_335name_0 0 + alt: term__S_336name_0 0 i: 0 text: « - !!perl/hash:RE_string - alt: term__S_335name_0 1 + alt: term__S_336name_0 1 i: 0 text: < - !!perl/hash:RE_string - alt: term__S_335name_0 2 + alt: term__S_336name_0 2 i: 0 text: '{' - !!perl/hash:RE_string - alt: term__S_335name_0 3 + alt: term__S_336name_0 3 i: 0 text: << - !!perl/hash:RE_method @@ -22997,8 +23288,8 @@ term__S_335name: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -term__S_335name_0: *105 -terminator__S_345Semi: !!perl/hash:RE_ast +term__S_336name_0: *101 +terminator__S_346Semi: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23009,7 +23300,7 @@ terminator__S_345Semi: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_346if: !!perl/hash:RE_ast +terminator__S_347if: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23025,7 +23316,7 @@ terminator__S_346if: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_347unless: !!perl/hash:RE_ast +terminator__S_348unless: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23041,7 +23332,7 @@ terminator__S_347unless: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_348while: !!perl/hash:RE_ast +terminator__S_349while: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23057,7 +23348,7 @@ terminator__S_348while: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_349until: !!perl/hash:RE_ast +terminator__S_350until: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23073,7 +23364,7 @@ terminator__S_349until: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_350for: !!perl/hash:RE_ast +terminator__S_351for: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23089,7 +23380,7 @@ terminator__S_350for: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_351given: !!perl/hash:RE_ast +terminator__S_352given: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23105,7 +23396,7 @@ terminator__S_351given: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_352when: !!perl/hash:RE_ast +terminator__S_353when: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23121,7 +23412,7 @@ terminator__S_352when: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_353MinusMinusGt: !!perl/hash:RE_ast +terminator__S_354MinusMinusGt: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23132,7 +23423,7 @@ terminator__S_353MinusMinusGt: !!perl/hash:RE_ast - !!perl/hash:RE_method name: O rest: 1 -terminator__S_354BangBang: !!perl/hash:RE_ast +terminator__S_355BangBang: !!perl/hash:RE_ast dba: terminator dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23153,7 +23444,7 @@ termish: !!perl/hash:RE_ast re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &106 !!perl/hash:RE_any + re: &102 !!perl/hash:RE_any altname: termish_0 dba: prefix or term dic: STD::P6 @@ -23284,12 +23575,12 @@ termish: !!perl/hash:RE_ast quant: - '*' - !!perl/hash:RE_block {} -termish_0: *106 +termish_0: *102 trait: !!perl/hash:RE_ast dba: trait dic: STD::P6 re: !!perl/hash:RE_bracket - re: &107 !!perl/hash:RE_any + re: &103 !!perl/hash:RE_any altname: trait_0 dba: trait dic: STD::P6 @@ -23312,8 +23603,8 @@ trait: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -trait_0: *107 -trait_mod__S_068is: !!perl/hash:RE_ast +trait_0: *103 +trait_mod__S_075is: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23356,7 +23647,7 @@ trait_mod__S_068is: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_block {} -trait_mod__S_069hides: !!perl/hash:RE_ast +trait_mod__S_076hides: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23390,7 +23681,7 @@ trait_mod__S_069hides: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -trait_mod__S_070does: !!perl/hash:RE_ast +trait_mod__S_077does: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23424,7 +23715,7 @@ trait_mod__S_070does: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -trait_mod__S_071will: !!perl/hash:RE_ast +trait_mod__S_078will: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23464,23 +23755,23 @@ trait_mod__S_071will: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -trait_mod__S_072of: !!perl/hash:RE_ast +trait_mod__S_079of: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &108 !!perl/hash:RE_any - altname: trait_mod__S_072of_0 + re: &104 !!perl/hash:RE_any + altname: trait_mod__S_079of_0 dba: trait_mod dic: STD::P6 zyg: - !!perl/hash:RE_string - alt: trait_mod__S_072of_0 0 + alt: trait_mod__S_079of_0 0 i: 0 text: of - !!perl/hash:RE_string - alt: trait_mod__S_072of_0 1 + alt: trait_mod__S_079of_0 1 i: 0 text: returns - !!perl/hash:RE_method @@ -23526,8 +23817,8 @@ trait_mod__S_072of: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_block {} -trait_mod__S_072of_0: *108 -trait_mod__S_073handles: !!perl/hash:RE_ast +trait_mod__S_079of_0: *104 +trait_mod__S_080handles: !!perl/hash:RE_ast dba: trait_mod dic: STD::P6 re: !!perl/hash:RE_sequence @@ -23607,7 +23898,7 @@ type_constraint: !!perl/hash:RE_ast re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &109 !!perl/hash:RE_any + re: &105 !!perl/hash:RE_any altname: type_constraint_0 dba: type_constraint dic: STD::P6 @@ -23663,7 +23954,7 @@ type_constraint: !!perl/hash:RE_ast - !!perl/hash:RE_method name: ws rest: '' -type_constraint_0: *109 +type_constraint_0: *105 type_declarator__S_162subset: !!perl/hash:RE_ast dba: type_declarator dic: STD::P6 @@ -23771,7 +24062,7 @@ type_declarator__S_163enum: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &110 !!perl/hash:RE_any + re: &106 !!perl/hash:RE_any altname: type_declarator__S_163enum_0 dba: type_declarator dic: STD::P6 @@ -23822,7 +24113,7 @@ type_declarator__S_163enum: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_block {} -type_declarator__S_163enum_0: *110 +type_declarator__S_163enum_0: *106 type_declarator__S_164constant: !!perl/hash:RE_ast dba: type_declarator dic: STD::P6 @@ -23841,7 +24132,7 @@ type_declarator__S_164constant: !!perl/hash:RE_ast name: ws rest: '' - !!perl/hash:RE_bracket - re: &111 !!perl/hash:RE_any + re: &107 !!perl/hash:RE_any altname: type_declarator__S_164constant_0 dba: type_declarator dic: STD::P6 @@ -23894,14 +24185,14 @@ type_declarator__S_164constant: !!perl/hash:RE_ast - !!perl/hash:RE_method name: getdecl rest: '' -type_declarator__S_164constant_0: *111 +type_declarator__S_164constant_0: *107 typename: !!perl/hash:RE_ast dba: typename dic: STD::P6 re: !!perl/hash:RE_sequence zyg: - !!perl/hash:RE_bracket - re: &112 !!perl/hash:RE_any + re: &108 !!perl/hash:RE_any altname: typename_0 dba: typename dic: STD::P6 @@ -24015,7 +24306,7 @@ typename: !!perl/hash:RE_ast rest: '' quant: - '?' -typename_0: *112 +typename_0: *108 unitstart: !!perl/hash:RE_ast dba: unitstart dic: STD::P6 @@ -24083,7 +24374,7 @@ variable: !!perl/hash:RE_ast i: 0 text: '::' - !!perl/hash:RE_bracket - re: &113 !!perl/hash:RE_any + re: &109 !!perl/hash:RE_any altname: variable_0 dba: variable dic: STD::P6 @@ -24109,7 +24400,7 @@ variable: !!perl/hash:RE_ast i: 0 text: '&' - !!perl/hash:RE_bracket - re: &114 !!perl/hash:RE_any + re: &110 !!perl/hash:RE_any altname: variable_1 dba: infix noun dic: STD::P6 @@ -24166,9 +24457,9 @@ variable: !!perl/hash:RE_ast name: name rest: '' - !!perl/hash:RE_bracket - re: &115 !!perl/hash:RE_any + re: &111 !!perl/hash:RE_any altname: variable_2 - dba: variable + dba: contextualizer dic: STD::P6 zyg: - !!perl/hash:RE_sequence @@ -24250,17 +24541,28 @@ variable: !!perl/hash:RE_ast - !!perl/hash:RE_method name: sigil rest: '' - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_method_re - name: before - nobind: 1 - re: !!perl/hash:RE_string + - !!perl/hash:RE_bracket + re: !!perl/hash:RE_sequence + zyg: + - !!perl/hash:RE_string i: 0 text: ( + - !!perl/hash:RE_block {} + - !!perl/hash:RE_method + name: semilist + rest: '' + - !!perl/hash:RE_bracket + re: !!perl/hash:RE_first + zyg: + - !!perl/hash:RE_var + var: $::GOAL + - !!perl/hash:RE_method + name: FAILGOAL + rest: 1 + - !!perl/hash:RE_block {} - !!perl/hash:RE_method - name: postcircumfix - rest: '' + name: O + rest: 1 - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket re: !!perl/hash:RE_sequence @@ -24274,24 +24576,10 @@ variable: !!perl/hash:RE_ast rest: 1 quant: - '?' - - !!perl/hash:RE_sequence + - !!perl/hash:RE_method alt: variable_2 5 - zyg: - - !!perl/hash:RE_method - name: sigil - rest: '' - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_block - nobind: 1 - - !!perl/hash:RE_sequence - alt: variable_2 6 - zyg: - - !!perl/hash:RE_assertion - assert: '?' - re: !!perl/hash:RE_noop - nobind: 1 - - !!perl/hash:RE_block {} + name: sigil + rest: '' - !!perl/hash:RE_block {} - !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket @@ -24302,7 +24590,7 @@ variable: !!perl/hash:RE_ast re: !!perl/hash:RE_block nobind: 1 - !!perl/hash:RE_bracket - re: &116 !!perl/hash:RE_any + re: &112 !!perl/hash:RE_any altname: variable_3 dba: variable dic: STD::P6 @@ -24333,10 +24621,10 @@ variable: !!perl/hash:RE_ast rest: '' quant: - '?' -variable_0: *113 -variable_1: *114 -variable_2: *115 -variable_3: *116 +variable_0: *109 +variable_1: *110 +variable_2: *111 +variable_3: *112 variable_declarator: !!perl/hash:RE_ast dba: variable_declarator dic: STD::P6 @@ -24359,7 +24647,7 @@ variable_declarator: !!perl/hash:RE_ast - !!perl/hash:RE_bindnamed atom: !!perl/hash:RE_quantified_atom atom: !!perl/hash:RE_bracket - re: &117 !!perl/hash:RE_any + re: &113 !!perl/hash:RE_any altname: variable_declarator_0 dba: shape definition dic: STD::P6 @@ -24465,8 +24753,8 @@ variable_declarator: !!perl/hash:RE_ast - !!perl/hash:RE_method name: getdecl rest: '' -variable_declarator_0: *117 -version__S_039v: !!perl/hash:RE_ast +variable_declarator_0: *113 +version__S_046v: !!perl/hash:RE_ast dba: version dic: STD::P6 re: !!perl/hash:RE_sequence @@ -24499,7 +24787,7 @@ version__S_039v: !!perl/hash:RE_ast vnum: !!perl/hash:RE_ast dba: vnum dic: STD::P6 - re: &118 !!perl/hash:RE_any + re: &114 !!perl/hash:RE_any altname: vnum_0 dba: vnum dic: STD::P6 @@ -24515,7 +24803,7 @@ vnum: !!perl/hash:RE_ast alt: vnum_0 1 i: 0 text: '*' -vnum_0: *118 +vnum_0: *114 xblock: !!perl/hash:RE_ast dba: xblock dic: STD::P6 @@ -24538,10 +24826,10 @@ RETREE_END ## rule comp_unit { sub comp_unit__PEEK { $_[0]->_AUTOLEXpeek('comp_unit', $retree) } sub comp_unit { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; -local $::begin_compunit = 1;local $::endargs = -1;local %::LANG;local $::PKGDECL = "";local $::IN_DECL = '';local $::HAS_SELF = '';local $::DECLARAND;local $::OFTYPE;local $::NEWPKG;local $::NEWLEX;local $::QSIGIL = '';local $::IN_META = '';local $::QUASIMODO;local $::SCOPE = "";local $::LEFTSIGIL;local $::PRECLIM;local %::MYSTERY = ();local $::INVOCANT_OK;local $::INVOCANT_IS;local $::CURLEX;local $::MULTINESS = '';local $::SIGNUM = 0;local $::MONKEY_TYPING = 0;local %::WORRIES;local @::WORRIES;local $::FATALS = 0;local $::IN_SUPPOSE = 0;local $::CURPKG; +local $::begin_compunit = 1;local $::endargs = -1;local %::LANG;local $::PKGDECL = "";local $::IN_DECL = '';local $::HAS_SELF = '';local $::DECLARAND;local $::OFTYPE;local $::NEWPKG;local $::NEWLEX;local $::QSIGIL = '';local $::IN_META = '';local $::QUASIMODO;local $::SCOPE = "";local $::LEFTSIGIL;local $::PRECLIM;local %::MYSTERY = ();local $::INVOCANT_OK;local $::INVOCANT_IS;local $::CURLEX;local $::MULTINESS = '';local $::SIGNUM = 0;local $::MONKEY_TYPING = 0;local %::WORRIES;local @::WORRIES;local $::FATALS = 0;local $::IN_SUPPOSE = 0;local $::CCSTATE = '';local $::CURPKG; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE comp_unit"); @@ -24622,7 +24910,7 @@ die "Check failed\n" if $::FATALS; ## token pblock () { sub pblock__PEEK { $_[0]->_AUTOLEXpeek('pblock', $retree) } sub pblock { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::CURLEX = $::CURLEX; @@ -24807,7 +25095,7 @@ $C ## token unitstart { } sub unitstart__PEEK { $_[0]->_AUTOLEXpeek('unitstart', $retree) } sub unitstart { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -24825,7 +25113,7 @@ $C ## token lambda { '->' | '<->' } sub lambda__PEEK { $_[0]->_AUTOLEXpeek('lambda', $retree) } sub lambda { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -24889,7 +25177,7 @@ last if $xact->[-2]; # committed? ## token xblock { sub xblock__PEEK { $_[0]->_AUTOLEXpeek('xblock', $retree) } sub xblock { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::GOAL = '{';local $::BORG = { @@ -24922,7 +25210,7 @@ $C->pblock ## token block () { sub block__PEEK { $_[0]->_AUTOLEXpeek('block', $retree) } sub block { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::CURLEX = $::CURLEX; @@ -24975,7 +25263,7 @@ $C ## token blockoid { sub blockoid__PEEK { $_[0]->_AUTOLEXpeek('blockoid', $retree) } sub blockoid { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local %::LANG = %::LANG;local $::SIGNUM; @@ -25109,7 +25397,7 @@ $C ## token curlycheck($code) { sub curlycheck__PEEK { $_[0]->_AUTOLEXpeek('curlycheck', $retree) } sub curlycheck { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument code omitted' unless @_; @@ -25186,7 +25474,7 @@ $::MEMOS[$C->{'_pos'}]->{'endargs'} = $code}, $C) ## token regex_block { sub regex_block__PEEK { $_[0]->_AUTOLEXpeek('regex_block', $retree) } sub regex_block { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local %::LANG = %::LANG;local %::RX = %::RX;my $lang = $::LANG{'Regex'};local $::GOAL = '}'; @@ -25312,7 +25600,7 @@ $C ## rule statementlist { sub statementlist__PEEK { $_[0]->_AUTOLEXpeek('statementlist', $retree) } sub statementlist { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::INVOCANT_OK = 0;local $::MONKEY_TYPING = $::MONKEY_TYPING; @@ -25322,6 +25610,7 @@ my $C = $self->cursor_xact("RULE statementlist"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'eat_terminator'} = []; +$C->{'feed_separator'} = []; $C->{'statement'} = []; $self->_MATCHIFYr($S, "statementlist", do { my $C = $C; @@ -25384,10 +25673,25 @@ if (($C) = ($C->_STARr(sub { my $C=shift; if (my ($C) = ($C->_BRACKETr(sub { my $C=shift; +if (($C) = ($C->_REPSEPr( sub { +my $C=shift; +if (($C) = ($C->_SUBSUMEr(['feed_separator'], sub { +my $C = shift; +$C->feed_separator +})) +and ($C) = ($C->ws)) { +$C +} else { () } +}, sub { +my $C=shift; if (($C) = ($C->_SUBSUMEr(['statement'], sub { my $C = shift; $C->statement })) +and ($C) = ($C->ws)) { +$C +} else { () } +})) and ($C) = ($C->_SUBSUMEr(['eat_terminator'], sub { my $C = shift; $C->eat_terminator @@ -25419,7 +25723,7 @@ $C ## rule semilist { sub semilist__PEEK { $_[0]->_AUTOLEXpeek('semilist', $retree) } sub semilist { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::INVOCANT_OK = 0; @@ -25517,7 +25821,7 @@ $C ## token label { sub label__PEEK { $_[0]->_AUTOLEXpeek('label', $retree) } sub label { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $label; @@ -25566,7 +25870,7 @@ $C->add_constant($label,$self->label_id)}, $C) ## token statement { sub statement__PEEK { $_[0]->_AUTOLEXpeek('statement', $retree) } sub statement { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::endargs = -1;local $::QSIGIL = 0; @@ -25922,7 +26226,7 @@ $C ## token eat_terminator { sub eat_terminator__PEEK { $_[0]->_AUTOLEXpeek('eat_terminator', $retree) } sub eat_terminator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26074,7 +26378,7 @@ if (my ($C) = ($C->panic("Confused"))) { ($C) } else { () } ; ## method backup_ws () sub backup_ws { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; if ($::MEMOS[$self->{'_pos'}]->{'ws'}) { return $self->cursor($::MEMOS[$self->{'_pos'}]->{'ws'})}; @@ -26083,7 +26387,7 @@ return $self; ## rule statement_control:need { sub statement_control__S_000need__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_000need', $retree) } sub statement_control__S_000need { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $longname; @@ -26185,7 +26489,7 @@ last if $xact->[-2]; # committed? ## token statement_control:import { sub statement_control__S_001import__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_001import', $retree) } sub statement_control__S_001import { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 'use';local $::HAS_SELF = '';local $::SCOPE = 'use'; @@ -26246,7 +26550,7 @@ $C ## token statement_control:use { sub statement_control__S_002use__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_002use', $retree) } sub statement_control__S_002use { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $longname;local $::IN_DECL = 'use';local $::SCOPE = 'use';local $::HAS_SELF = '';local %::MYSTERY; @@ -26401,7 +26705,7 @@ $C ## rule statement_control:no { sub statement_control__S_003no__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_003no', $retree) } sub statement_control__S_003no { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local %::MYSTERY; @@ -26445,7 +26749,7 @@ $C ## rule statement_control:if { sub statement_control__S_004if__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_004if', $retree) } sub statement_control__S_004if { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26570,7 +26874,7 @@ $C ## rule statement_control:unless { sub statement_control__S_005unless__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_005unless', $retree) } sub statement_control__S_005unless { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26630,7 +26934,7 @@ $C ## rule statement_control:while { sub statement_control__S_006while__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_006while', $retree) } sub statement_control__S_006while { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26703,7 +27007,7 @@ $C ## rule statement_control:until { sub statement_control__S_007until__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_007until', $retree) } sub statement_control__S_007until { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26732,7 +27036,7 @@ $C ## rule statement_control:repeat { sub statement_control__S_008repeat__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_008repeat', $retree) } sub statement_control__S_008repeat { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -26960,7 +27264,7 @@ $C ## rule statement_control:loop { sub statement_control__S_009loop__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_009loop', $retree) } sub statement_control__S_009loop { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27078,7 +27382,7 @@ $C ## rule statement_control:for { sub statement_control__S_010for__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_010for', $retree) } sub statement_control__S_010for { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27172,6 +27476,11 @@ and ($C) = ($C->_SUBSUMEr(['xblock'], sub { my $C = shift; $C->xblock })) +and ($C) = ($C->ws) +and ($C) = (do { +my $M = $C; +$C->worry_itemlist($M->{'xblock'}->{'EXPR'}) +}) and ($C) = ($C->ws)) { $C } else { () } @@ -27179,10 +27488,23 @@ $C }); } ; +## method worry_itemlist($expr) +sub worry_itemlist { +no warnings 'recursion', 'experimental'; +my $self = shift; +die 'Required argument expr omitted' unless @_; +my $expr = @_ ? shift() : undef; +if (exists $$expr{'variable'}) { +my $var = $expr->{'variable'}->Str; +if (substr($var,0,1) eq '$') { +$self->cursor($expr->from)->worry("'for $var' will never flatten a \$ variable;\n\tto force list interpolation, please use either 'for \@$var' or 'for $var\[]';\n\tif you just want item topicalization, use 'given $var' instead")}; +}; +$self; +}; ## rule statement_control:given { sub statement_control__S_011given__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_011given', $retree) } sub statement_control__S_011given { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27211,7 +27533,7 @@ $C ## rule statement_control:when { sub statement_control__S_012when__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_012when', $retree) } sub statement_control__S_012when { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27241,10 +27563,10 @@ $C }); } ; -## rule statement_control:default { } +## rule statement_control:default { } sub statement_control__S_013default__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_013default', $retree) } sub statement_control__S_013default { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27267,23 +27589,166 @@ and ($C) = ($C->ws)) { $C } else { () } +}); +} +; +## rule term:winner { } +sub term__S_014winner__PEEK { $_[0]->_AUTOLEXpeek('term__S_014winner', $retree) } +sub term__S_014winner { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE term__S_014winner"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "winner"; +$self->_MATCHIFYr($S, "term__S_014winner", do { +my $C = $C; +if (($C) = ($C->_EXACT("winner")) +and ($C) = ($C->ws) +and ($C) = ($C->_SUBSUMEr(['xblock'], sub { +my $C = shift; +$C->xblock +})) +and ($C) = ($C->ws)) { +$C +} else { () } + +}); +} +; +## rule term:combine { } +sub term__S_015combine__PEEK { $_[0]->_AUTOLEXpeek('term__S_015combine', $retree) } +sub term__S_015combine { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE term__S_015combine"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "combine"; +$self->_MATCHIFYr($S, "term__S_015combine", do { +my $C = $C; +if (($C) = ($C->_EXACT("combine")) +and ($C) = ($C->ws) +and ($C) = ($C->_SUBSUMEr(['xblock'], sub { +my $C = shift; +$C->xblock +})) +and ($C) = ($C->ws)) { +$C +} else { () } + +}); +} +; +## rule statement_control:more { } +sub statement_control__S_016more__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_016more', $retree) } +sub statement_control__S_016more { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_control__S_016more"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "more"; +$self->_MATCHIFYr($S, "statement_control__S_016more", do { +my $C = $C; +if (($C) = ($C->_EXACT("more")) +and ($C) = ($C->keyspace) +and ($C) = ($C->ws) +and ($C) = ($C->_SUBSUMEr(['xblock'], sub { +my $C = shift; +$C->xblock +})) +and ($C) = ($C->ws)) { +$C +} else { () } + +}); +} +; +## rule statement_control:done { } +sub statement_control__S_017done__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_017done', $retree) } +sub statement_control__S_017done { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_control__S_017done"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "done"; +$self->_MATCHIFYr($S, "statement_control__S_017done", do { +my $C = $C; +if (($C) = ($C->_EXACT("done")) +and ($C) = ($C->keyspace) +and ($C) = ($C->ws) +and ($C) = ($C->_SUBSUMEr(['xblock'], sub { +my $C = shift; +$C->xblock +})) +and ($C) = ($C->ws)) { +$C +} else { () } + +}); +} +; +## rule statement_control:wait { } +sub statement_control__S_018wait__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_018wait', $retree) } +sub statement_control__S_018wait { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_control__S_018wait"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "wait"; +$self->_MATCHIFYr($S, "statement_control__S_018wait", do { +my $C = $C; +if (($C) = ($C->_EXACT("wait")) +and ($C) = ($C->keyspace) +and ($C) = ($C->ws) +and ($C) = ($C->_SUBSUMEr(['xblock'], sub { +my $C = shift; +$C->xblock +})) +and ($C) = ($C->ws)) { +$C +} else { () } + }); } ; ## token statement_prefix:BEGIN { :my %*MYSTERY; <.explain_mystery> } -sub statement_prefix__S_014BEGIN__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_014BEGIN', $retree) } -sub statement_prefix__S_014BEGIN { -no warnings 'recursion'; +sub statement_prefix__S_019BEGIN__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_019BEGIN', $retree) } +sub statement_prefix__S_019BEGIN { +no warnings 'recursion', 'experimental'; my $self = shift; local %::MYSTERY; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_014BEGIN"); +my $C = $self->cursor_xact("RULE statement_prefix__S_019BEGIN"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "BEGIN"; -$self->_MATCHIFYr($S, "statement_prefix__S_014BEGIN", do { +$self->_MATCHIFYr($S, "statement_prefix__S_019BEGIN", do { my $C = $C; if (($C) = ($C->_EXACT("BEGIN")) and ($C) = ($C->_SUBSUMEr(['blast'], sub { @@ -27298,19 +27763,19 @@ $C } ; ## token statement_prefix:CHECK { } -sub statement_prefix__S_015CHECK__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_015CHECK', $retree) } -sub statement_prefix__S_015CHECK { -no warnings 'recursion'; +sub statement_prefix__S_020CHECK__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_020CHECK', $retree) } +sub statement_prefix__S_020CHECK { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_015CHECK"); +my $C = $self->cursor_xact("RULE statement_prefix__S_020CHECK"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "CHECK"; -$self->_MATCHIFYr($S, "statement_prefix__S_015CHECK", do { +$self->_MATCHIFYr($S, "statement_prefix__S_020CHECK", do { if (my ($C) = ($C->_EXACT("CHECK"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27318,23 +27783,71 @@ $C->blast }) } else { () } +}); +} +; +## token statement_prefix:LINK { } +sub statement_prefix__S_021LINK__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_021LINK', $retree) } +sub statement_prefix__S_021LINK { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_prefix__S_021LINK"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "LINK"; +$self->_MATCHIFYr($S, "statement_prefix__S_021LINK", do { +if (my ($C) = ($C->_EXACT("LINK"))) { +$C->_SUBSUMEr(['blast'], sub { +my $C = shift; +$C->blast +}) +} else { () } + +}); +} +; +## token statement_prefix:COMPOSE { } +sub statement_prefix__S_022COMPOSE__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_022COMPOSE', $retree) } +sub statement_prefix__S_022COMPOSE { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_prefix__S_022COMPOSE"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "COMPOSE"; +$self->_MATCHIFYr($S, "statement_prefix__S_022COMPOSE", do { +if (my ($C) = ($C->_EXACT("COMPOSE"))) { +$C->_SUBSUMEr(['blast'], sub { +my $C = shift; +$C->blast +}) +} else { () } + }); } ; ## token statement_prefix:INIT { } -sub statement_prefix__S_016INIT__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_016INIT', $retree) } -sub statement_prefix__S_016INIT { -no warnings 'recursion'; +sub statement_prefix__S_023INIT__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_023INIT', $retree) } +sub statement_prefix__S_023INIT { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_016INIT"); +my $C = $self->cursor_xact("RULE statement_prefix__S_023INIT"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "INIT"; -$self->_MATCHIFYr($S, "statement_prefix__S_016INIT", do { +$self->_MATCHIFYr($S, "statement_prefix__S_023INIT", do { if (my ($C) = ($C->_EXACT("INIT"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27345,44 +27858,47 @@ $C->blast }); } ; -## token statement_prefix:START { } -sub statement_prefix__S_017START__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_017START', $retree) } -sub statement_prefix__S_017START { -no warnings 'recursion'; +## token statement_prefix:START { <.worryobs('START','once',' nowadays')> } +sub statement_prefix__S_024START__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_024START', $retree) } +sub statement_prefix__S_024START { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_017START"); +my $C = $self->cursor_xact("RULE statement_prefix__S_024START"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "START"; -$self->_MATCHIFYr($S, "statement_prefix__S_017START", do { -if (my ($C) = ($C->_EXACT("START"))) { -$C->_SUBSUMEr(['blast'], sub { +$self->_MATCHIFYr($S, "statement_prefix__S_024START", do { +my $C = $C; +if (($C) = ($C->_EXACT("START")) +and ($C) = ($C->_SUBSUMEr(['blast'], sub { my $C = shift; $C->blast -}) +})) +and ($C) = ($C->worryobs('START','once',' nowadays'))) { +$C } else { () } }); } ; ## token statement_prefix:ENTER { } -sub statement_prefix__S_018ENTER__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_018ENTER', $retree) } -sub statement_prefix__S_018ENTER { -no warnings 'recursion'; +sub statement_prefix__S_025ENTER__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_025ENTER', $retree) } +sub statement_prefix__S_025ENTER { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_018ENTER"); +my $C = $self->cursor_xact("RULE statement_prefix__S_025ENTER"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "ENTER"; -$self->_MATCHIFYr($S, "statement_prefix__S_018ENTER", do { +$self->_MATCHIFYr($S, "statement_prefix__S_025ENTER", do { if (my ($C) = ($C->_EXACT("ENTER"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27394,19 +27910,19 @@ $C->blast } ; ## token statement_prefix:FIRST { } -sub statement_prefix__S_019FIRST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_019FIRST', $retree) } -sub statement_prefix__S_019FIRST { -no warnings 'recursion'; +sub statement_prefix__S_026FIRST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_026FIRST', $retree) } +sub statement_prefix__S_026FIRST { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_019FIRST"); +my $C = $self->cursor_xact("RULE statement_prefix__S_026FIRST"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "FIRST"; -$self->_MATCHIFYr($S, "statement_prefix__S_019FIRST", do { +$self->_MATCHIFYr($S, "statement_prefix__S_026FIRST", do { if (my ($C) = ($C->_EXACT("FIRST"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27418,19 +27934,19 @@ $C->blast } ; ## token statement_prefix:END { } -sub statement_prefix__S_020END__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_020END', $retree) } -sub statement_prefix__S_020END { -no warnings 'recursion'; +sub statement_prefix__S_027END__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_027END', $retree) } +sub statement_prefix__S_027END { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_020END"); +my $C = $self->cursor_xact("RULE statement_prefix__S_027END"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "END"; -$self->_MATCHIFYr($S, "statement_prefix__S_020END", do { +$self->_MATCHIFYr($S, "statement_prefix__S_027END", do { if (my ($C) = ($C->_EXACT("END"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27442,19 +27958,19 @@ $C->blast } ; ## token statement_prefix:LEAVE { } -sub statement_prefix__S_021LEAVE__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_021LEAVE', $retree) } -sub statement_prefix__S_021LEAVE { -no warnings 'recursion'; +sub statement_prefix__S_028LEAVE__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_028LEAVE', $retree) } +sub statement_prefix__S_028LEAVE { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_021LEAVE"); +my $C = $self->cursor_xact("RULE statement_prefix__S_028LEAVE"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "LEAVE"; -$self->_MATCHIFYr($S, "statement_prefix__S_021LEAVE", do { +$self->_MATCHIFYr($S, "statement_prefix__S_028LEAVE", do { if (my ($C) = ($C->_EXACT("LEAVE"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27466,19 +27982,19 @@ $C->blast } ; ## token statement_prefix:KEEP { } -sub statement_prefix__S_022KEEP__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_022KEEP', $retree) } -sub statement_prefix__S_022KEEP { -no warnings 'recursion'; +sub statement_prefix__S_029KEEP__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_029KEEP', $retree) } +sub statement_prefix__S_029KEEP { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_022KEEP"); +my $C = $self->cursor_xact("RULE statement_prefix__S_029KEEP"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "KEEP"; -$self->_MATCHIFYr($S, "statement_prefix__S_022KEEP", do { +$self->_MATCHIFYr($S, "statement_prefix__S_029KEEP", do { if (my ($C) = ($C->_EXACT("KEEP"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27490,19 +28006,19 @@ $C->blast } ; ## token statement_prefix:UNDO { } -sub statement_prefix__S_023UNDO__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_023UNDO', $retree) } -sub statement_prefix__S_023UNDO { -no warnings 'recursion'; +sub statement_prefix__S_030UNDO__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_030UNDO', $retree) } +sub statement_prefix__S_030UNDO { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_023UNDO"); +my $C = $self->cursor_xact("RULE statement_prefix__S_030UNDO"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "UNDO"; -$self->_MATCHIFYr($S, "statement_prefix__S_023UNDO", do { +$self->_MATCHIFYr($S, "statement_prefix__S_030UNDO", do { if (my ($C) = ($C->_EXACT("UNDO"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27514,19 +28030,19 @@ $C->blast } ; ## token statement_prefix:NEXT { } -sub statement_prefix__S_024NEXT__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_024NEXT', $retree) } -sub statement_prefix__S_024NEXT { -no warnings 'recursion'; +sub statement_prefix__S_031NEXT__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_031NEXT', $retree) } +sub statement_prefix__S_031NEXT { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_024NEXT"); +my $C = $self->cursor_xact("RULE statement_prefix__S_031NEXT"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "NEXT"; -$self->_MATCHIFYr($S, "statement_prefix__S_024NEXT", do { +$self->_MATCHIFYr($S, "statement_prefix__S_031NEXT", do { if (my ($C) = ($C->_EXACT("NEXT"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27538,19 +28054,19 @@ $C->blast } ; ## token statement_prefix:LAST { } -sub statement_prefix__S_025LAST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_025LAST', $retree) } -sub statement_prefix__S_025LAST { -no warnings 'recursion'; +sub statement_prefix__S_032LAST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_032LAST', $retree) } +sub statement_prefix__S_032LAST { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_025LAST"); +my $C = $self->cursor_xact("RULE statement_prefix__S_032LAST"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "LAST"; -$self->_MATCHIFYr($S, "statement_prefix__S_025LAST", do { +$self->_MATCHIFYr($S, "statement_prefix__S_032LAST", do { if (my ($C) = ($C->_EXACT("LAST"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27562,19 +28078,19 @@ $C->blast } ; ## token statement_prefix:PRE { } -sub statement_prefix__S_026PRE__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_026PRE', $retree) } -sub statement_prefix__S_026PRE { -no warnings 'recursion'; +sub statement_prefix__S_033PRE__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_033PRE', $retree) } +sub statement_prefix__S_033PRE { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_026PRE"); +my $C = $self->cursor_xact("RULE statement_prefix__S_033PRE"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "PRE"; -$self->_MATCHIFYr($S, "statement_prefix__S_026PRE", do { +$self->_MATCHIFYr($S, "statement_prefix__S_033PRE", do { if (my ($C) = ($C->_EXACT("PRE"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27586,19 +28102,19 @@ $C->blast } ; ## token statement_prefix:POST { } -sub statement_prefix__S_027POST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_027POST', $retree) } -sub statement_prefix__S_027POST { -no warnings 'recursion'; +sub statement_prefix__S_034POST__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_034POST', $retree) } +sub statement_prefix__S_034POST { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_027POST"); +my $C = $self->cursor_xact("RULE statement_prefix__S_034POST"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "POST"; -$self->_MATCHIFYr($S, "statement_prefix__S_027POST", do { +$self->_MATCHIFYr($S, "statement_prefix__S_034POST", do { if (my ($C) = ($C->_EXACT("POST"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -27610,19 +28126,19 @@ $C->blast } ; ## rule statement_control:CATCH { } -sub statement_control__S_028CATCH__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_028CATCH', $retree) } -sub statement_control__S_028CATCH { -no warnings 'recursion'; +sub statement_control__S_035CATCH__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_035CATCH', $retree) } +sub statement_control__S_035CATCH { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_control__S_028CATCH"); +my $C = $self->cursor_xact("RULE statement_control__S_035CATCH"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "CATCH"; -$self->_MATCHIFYr($S, "statement_control__S_028CATCH", do { +$self->_MATCHIFYr($S, "statement_control__S_035CATCH", do { my $C = $C; if (($C) = ($C->_EXACT("CATCH")) and ($C) = ($C->keyspace) @@ -27639,19 +28155,19 @@ $C } ; ## rule statement_control:CONTROL { } -sub statement_control__S_029CONTROL__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_029CONTROL', $retree) } -sub statement_control__S_029CONTROL { -no warnings 'recursion'; +sub statement_control__S_036CONTROL__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_036CONTROL', $retree) } +sub statement_control__S_036CONTROL { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_control__S_029CONTROL"); +my $C = $self->cursor_xact("RULE statement_control__S_036CONTROL"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "CONTROL"; -$self->_MATCHIFYr($S, "statement_control__S_029CONTROL", do { +$self->_MATCHIFYr($S, "statement_control__S_036CONTROL", do { my $C = $C; if (($C) = ($C->_EXACT("CONTROL")) and ($C) = ($C->keyspace) @@ -27668,19 +28184,19 @@ $C } ; ## rule statement_control:TEMP { } -sub statement_control__S_030TEMP__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_030TEMP', $retree) } -sub statement_control__S_030TEMP { -no warnings 'recursion'; +sub statement_control__S_037TEMP__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_037TEMP', $retree) } +sub statement_control__S_037TEMP { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_control__S_030TEMP"); +my $C = $self->cursor_xact("RULE statement_control__S_037TEMP"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "TEMP"; -$self->_MATCHIFYr($S, "statement_control__S_030TEMP", do { +$self->_MATCHIFYr($S, "statement_control__S_037TEMP", do { my $C = $C; if (($C) = ($C->_EXACT("TEMP")) and ($C) = ($C->keyspace) @@ -27699,7 +28215,7 @@ $C ## rule modifier_expr { } sub modifier_expr__PEEK { $_[0]->_AUTOLEXpeek('modifier_expr', $retree) } sub modifier_expr { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -27722,19 +28238,19 @@ $C } ; ## rule statement_mod_cond:if { } -sub statement_mod_cond__S_031if__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_031if', $retree) } -sub statement_mod_cond__S_031if { -no warnings 'recursion'; +sub statement_mod_cond__S_038if__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_038if', $retree) } +sub statement_mod_cond__S_038if { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_cond__S_031if"); +my $C = $self->cursor_xact("RULE statement_mod_cond__S_038if"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "if"; -$self->_MATCHIFYr($S, "statement_mod_cond__S_031if", do { +$self->_MATCHIFYr($S, "statement_mod_cond__S_038if", do { my $C = $C; if (($C) = ($C->_EXACT("if")) and ($C) = ($C->nofun) @@ -27751,19 +28267,19 @@ $C } ; ## rule statement_mod_cond:unless { } -sub statement_mod_cond__S_032unless__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_032unless', $retree) } -sub statement_mod_cond__S_032unless { -no warnings 'recursion'; +sub statement_mod_cond__S_039unless__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_039unless', $retree) } +sub statement_mod_cond__S_039unless { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_cond__S_032unless"); +my $C = $self->cursor_xact("RULE statement_mod_cond__S_039unless"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "unless"; -$self->_MATCHIFYr($S, "statement_mod_cond__S_032unless", do { +$self->_MATCHIFYr($S, "statement_mod_cond__S_039unless", do { my $C = $C; if (($C) = ($C->_EXACT("unless")) and ($C) = ($C->nofun) @@ -27780,19 +28296,19 @@ $C } ; ## rule statement_mod_cond:when { } -sub statement_mod_cond__S_033when__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_033when', $retree) } -sub statement_mod_cond__S_033when { -no warnings 'recursion'; +sub statement_mod_cond__S_040when__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_cond__S_040when', $retree) } +sub statement_mod_cond__S_040when { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_cond__S_033when"); +my $C = $self->cursor_xact("RULE statement_mod_cond__S_040when"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "when"; -$self->_MATCHIFYr($S, "statement_mod_cond__S_033when", do { +$self->_MATCHIFYr($S, "statement_mod_cond__S_040when", do { my $C = $C; if (($C) = ($C->_EXACT("when")) and ($C) = ($C->nofun) @@ -27813,19 +28329,19 @@ $C } ; ## rule statement_mod_loop:while { } -sub statement_mod_loop__S_034while__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_034while', $retree) } -sub statement_mod_loop__S_034while { -no warnings 'recursion'; +sub statement_mod_loop__S_041while__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_041while', $retree) } +sub statement_mod_loop__S_041while { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_loop__S_034while"); +my $C = $self->cursor_xact("RULE statement_mod_loop__S_041while"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "while"; -$self->_MATCHIFYr($S, "statement_mod_loop__S_034while", do { +$self->_MATCHIFYr($S, "statement_mod_loop__S_041while", do { my $C = $C; if (($C) = ($C->_EXACT("while")) and ($C) = ($C->nofun) @@ -27842,19 +28358,19 @@ $C } ; ## rule statement_mod_loop:until { } -sub statement_mod_loop__S_035until__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_035until', $retree) } -sub statement_mod_loop__S_035until { -no warnings 'recursion'; +sub statement_mod_loop__S_042until__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_042until', $retree) } +sub statement_mod_loop__S_042until { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_loop__S_035until"); +my $C = $self->cursor_xact("RULE statement_mod_loop__S_042until"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "until"; -$self->_MATCHIFYr($S, "statement_mod_loop__S_035until", do { +$self->_MATCHIFYr($S, "statement_mod_loop__S_042until", do { my $C = $C; if (($C) = ($C->_EXACT("until")) and ($C) = ($C->nofun) @@ -27870,20 +28386,20 @@ $C }); } ; -## rule statement_mod_loop:for { } -sub statement_mod_loop__S_036for__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_036for', $retree) } -sub statement_mod_loop__S_036for { -no warnings 'recursion'; +## rule statement_mod_loop:for { <.worry_itemlist($)> } +sub statement_mod_loop__S_043for__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_043for', $retree) } +sub statement_mod_loop__S_043for { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_loop__S_036for"); +my $C = $self->cursor_xact("RULE statement_mod_loop__S_043for"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "for"; -$self->_MATCHIFYr($S, "statement_mod_loop__S_036for", do { +$self->_MATCHIFYr($S, "statement_mod_loop__S_043for", do { my $C = $C; if (($C) = ($C->_EXACT("for")) and ($C) = ($C->nofun) @@ -27892,6 +28408,11 @@ and ($C) = ($C->_SUBSUMEr(['modifier_expr'], sub { my $C = shift; $C->modifier_expr })) +and ($C) = ($C->ws) +and ($C) = (do { +my $M = $C; +$C->worry_itemlist($M->{'modifier_expr'}->{'EXPR'}) +}) and ($C) = ($C->ws)) { $C } else { () } @@ -27900,19 +28421,19 @@ $C } ; ## rule statement_mod_loop:given { } -sub statement_mod_loop__S_037given__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_037given', $retree) } -sub statement_mod_loop__S_037given { -no warnings 'recursion'; +sub statement_mod_loop__S_044given__PEEK { $_[0]->_AUTOLEXpeek('statement_mod_loop__S_044given', $retree) } +sub statement_mod_loop__S_044given { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_mod_loop__S_037given"); +my $C = $self->cursor_xact("RULE statement_mod_loop__S_044given"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "given"; -$self->_MATCHIFYr($S, "statement_mod_loop__S_037given", do { +$self->_MATCHIFYr($S, "statement_mod_loop__S_044given", do { my $C = $C; if (($C) = ($C->_EXACT("given")) and ($C) = ($C->nofun) @@ -27929,20 +28450,20 @@ $C } ; ## token module_name:normal { -sub module_name__S_038normal__PEEK { $_[0]->_AUTOLEXpeek('module_name__S_038normal', $retree) } -sub module_name__S_038normal { -no warnings 'recursion'; +sub module_name__S_045normal__PEEK { $_[0]->_AUTOLEXpeek('module_name__S_045normal', $retree) } +sub module_name__S_045normal { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE module_name__S_038normal"); +my $C = $self->cursor_xact("RULE module_name__S_045normal"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'arglist'} = []; $C->{sym} = "normal"; -$self->_MATCHIFYr($S, "module_name__S_038normal", do { +$self->_MATCHIFYr($S, "module_name__S_045normal", do { if (my ($C) = ($C->_SUBSUMEr(['longname'], sub { my $C = shift; $C->longname @@ -28007,7 +28528,7 @@ $C ## token vnum { sub vnum__PEEK { $_[0]->_AUTOLEXpeek('vnum', $retree) } sub vnum { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -28069,20 +28590,20 @@ last if $xact->[-2]; # committed? } ; ## token version:sym { -sub version__S_039v__PEEK { $_[0]->_AUTOLEXpeek('version__S_039v', $retree) } -sub version__S_039v { -no warnings 'recursion'; +sub version__S_046v__PEEK { $_[0]->_AUTOLEXpeek('version__S_046v', $retree) } +sub version__S_046v { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE version__S_039v"); +my $C = $self->cursor_xact("RULE version__S_046v"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'vnum'} = []; $C->{sym} = "v"; -$self->_MATCHIFYr($S, "version__S_039v", do { +$self->_MATCHIFYr($S, "version__S_046v", do { my $C = $C; if (($C) = ($C->_EXACT("v")) and ($C) = ($C->before(sub { @@ -28112,7 +28633,7 @@ $C->_PATTERN(qr/\G\+?+/) ## token variable_declarator { sub variable_declarator__PEEK { $_[0]->_AUTOLEXpeek('variable_declarator', $retree) } sub variable_declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 'variable';local $::DECLARAND;my $var; @@ -28378,7 +28899,7 @@ $C ## token scoped ($*SCOPE) { sub scoped__PEEK { $_[0]->_AUTOLEXpeek('scoped', $retree) } sub scoped { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument SCOPE omitted' unless @_; @@ -28546,19 +29067,19 @@ if (my ($C) = ($C->panic("Malformed $::SCOPE"))) { ($C) } else { () } } ; ## token scope_declarator:my { } -sub scope_declarator__S_040my__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_040my', $retree) } -sub scope_declarator__S_040my { -no warnings 'recursion'; +sub scope_declarator__S_047my__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_047my', $retree) } +sub scope_declarator__S_047my { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_040my"); +my $C = $self->cursor_xact("RULE scope_declarator__S_047my"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "my"; -$self->_MATCHIFYr($S, "scope_declarator__S_040my", do { +$self->_MATCHIFYr($S, "scope_declarator__S_047my", do { my $C = $C; if (($C) = ($C->_EXACT("my")) and ($C) = ($C->nofun)) { @@ -28572,19 +29093,19 @@ $C->scoped('my') } ; ## token scope_declarator:our { } -sub scope_declarator__S_041our__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_041our', $retree) } -sub scope_declarator__S_041our { -no warnings 'recursion'; +sub scope_declarator__S_048our__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_048our', $retree) } +sub scope_declarator__S_048our { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_041our"); +my $C = $self->cursor_xact("RULE scope_declarator__S_048our"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "our"; -$self->_MATCHIFYr($S, "scope_declarator__S_041our", do { +$self->_MATCHIFYr($S, "scope_declarator__S_048our", do { my $C = $C; if (($C) = ($C->_EXACT("our")) and ($C) = ($C->nofun)) { @@ -28598,19 +29119,19 @@ $C->scoped('our') } ; ## token scope_declarator:anon { } -sub scope_declarator__S_042anon__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_042anon', $retree) } -sub scope_declarator__S_042anon { -no warnings 'recursion'; +sub scope_declarator__S_049anon__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_049anon', $retree) } +sub scope_declarator__S_049anon { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_042anon"); +my $C = $self->cursor_xact("RULE scope_declarator__S_049anon"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "anon"; -$self->_MATCHIFYr($S, "scope_declarator__S_042anon", do { +$self->_MATCHIFYr($S, "scope_declarator__S_049anon", do { my $C = $C; if (($C) = ($C->_EXACT("anon")) and ($C) = ($C->nofun)) { @@ -28624,19 +29145,19 @@ $C->scoped('anon') } ; ## token scope_declarator:state { } -sub scope_declarator__S_043state__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_043state', $retree) } -sub scope_declarator__S_043state { -no warnings 'recursion'; +sub scope_declarator__S_050state__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_050state', $retree) } +sub scope_declarator__S_050state { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_043state"); +my $C = $self->cursor_xact("RULE scope_declarator__S_050state"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "state"; -$self->_MATCHIFYr($S, "scope_declarator__S_043state", do { +$self->_MATCHIFYr($S, "scope_declarator__S_050state", do { my $C = $C; if (($C) = ($C->_EXACT("state")) and ($C) = ($C->nofun)) { @@ -28650,19 +29171,19 @@ $C->scoped('state') } ; ## token scope_declarator:augment { } -sub scope_declarator__S_044augment__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_044augment', $retree) } -sub scope_declarator__S_044augment { -no warnings 'recursion'; +sub scope_declarator__S_051augment__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_051augment', $retree) } +sub scope_declarator__S_051augment { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_044augment"); +my $C = $self->cursor_xact("RULE scope_declarator__S_051augment"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "augment"; -$self->_MATCHIFYr($S, "scope_declarator__S_044augment", do { +$self->_MATCHIFYr($S, "scope_declarator__S_051augment", do { my $C = $C; if (($C) = ($C->_EXACT("augment")) and ($C) = ($C->nofun)) { @@ -28676,19 +29197,19 @@ $C->scoped('augment') } ; ## token scope_declarator:supersede { } -sub scope_declarator__S_045supersede__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_045supersede', $retree) } -sub scope_declarator__S_045supersede { -no warnings 'recursion'; +sub scope_declarator__S_052supersede__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_052supersede', $retree) } +sub scope_declarator__S_052supersede { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_045supersede"); +my $C = $self->cursor_xact("RULE scope_declarator__S_052supersede"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "supersede"; -$self->_MATCHIFYr($S, "scope_declarator__S_045supersede", do { +$self->_MATCHIFYr($S, "scope_declarator__S_052supersede", do { my $C = $C; if (($C) = ($C->_EXACT("supersede")) and ($C) = ($C->nofun)) { @@ -28702,19 +29223,19 @@ $C->scoped('supersede') } ; ## token scope_declarator:has { -sub scope_declarator__S_046has__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_046has', $retree) } -sub scope_declarator__S_046has { -no warnings 'recursion'; +sub scope_declarator__S_053has__PEEK { $_[0]->_AUTOLEXpeek('scope_declarator__S_053has', $retree) } +sub scope_declarator__S_053has { +no warnings 'recursion', 'experimental'; my $self = shift; local $::HAS_SELF = 'partial'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE scope_declarator__S_046has"); +my $C = $self->cursor_xact("RULE scope_declarator__S_053has"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "has"; -$self->_MATCHIFYr($S, "scope_declarator__S_046has", do { +$self->_MATCHIFYr($S, "scope_declarator__S_053has", do { my $C = $C; if (($C) = ($C->_EXACT("has")) and ($C) = ($C->nofun) @@ -28744,19 +29265,19 @@ $C->scoped('has') } ; ## token package_declarator:class { -sub package_declarator__S_047class__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_047class', $retree) } -sub package_declarator__S_047class { -no warnings 'recursion'; +sub package_declarator__S_054class__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_054class', $retree) } +sub package_declarator__S_054class { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'class'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_047class"); +my $C = $self->cursor_xact("RULE package_declarator__S_054class"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "class"; -$self->_MATCHIFYr($S, "package_declarator__S_047class", do { +$self->_MATCHIFYr($S, "package_declarator__S_054class", do { my $C = $C; if (($C) = ($C->_EXACT("class")) and ($C) = ($C->keyspace)) { @@ -28770,19 +29291,19 @@ $C->package_def } ; ## token package_declarator:grammar { -sub package_declarator__S_048grammar__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_048grammar', $retree) } -sub package_declarator__S_048grammar { -no warnings 'recursion'; +sub package_declarator__S_055grammar__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_055grammar', $retree) } +sub package_declarator__S_055grammar { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'grammar'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_048grammar"); +my $C = $self->cursor_xact("RULE package_declarator__S_055grammar"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "grammar"; -$self->_MATCHIFYr($S, "package_declarator__S_048grammar", do { +$self->_MATCHIFYr($S, "package_declarator__S_055grammar", do { my $C = $C; if (($C) = ($C->_EXACT("grammar")) and ($C) = ($C->keyspace)) { @@ -28796,19 +29317,19 @@ $C->package_def } ; ## token package_declarator:module { -sub package_declarator__S_049module__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_049module', $retree) } -sub package_declarator__S_049module { -no warnings 'recursion'; +sub package_declarator__S_056module__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_056module', $retree) } +sub package_declarator__S_056module { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'module'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_049module"); +my $C = $self->cursor_xact("RULE package_declarator__S_056module"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "module"; -$self->_MATCHIFYr($S, "package_declarator__S_049module", do { +$self->_MATCHIFYr($S, "package_declarator__S_056module", do { my $C = $C; if (($C) = ($C->_EXACT("module")) and ($C) = ($C->keyspace)) { @@ -28822,19 +29343,19 @@ $C->package_def } ; ## token package_declarator:package { -sub package_declarator__S_050package__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_050package', $retree) } -sub package_declarator__S_050package { -no warnings 'recursion'; +sub package_declarator__S_057package__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_057package', $retree) } +sub package_declarator__S_057package { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'package'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_050package"); +my $C = $self->cursor_xact("RULE package_declarator__S_057package"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "package"; -$self->_MATCHIFYr($S, "package_declarator__S_050package", do { +$self->_MATCHIFYr($S, "package_declarator__S_057package", do { my $C = $C; if (($C) = ($C->_EXACT("package")) and ($C) = ($C->keyspace)) { @@ -28848,19 +29369,19 @@ $C->package_def } ; ## token package_declarator:role { -sub package_declarator__S_051role__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_051role', $retree) } -sub package_declarator__S_051role { -no warnings 'recursion'; +sub package_declarator__S_058role__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_058role', $retree) } +sub package_declarator__S_058role { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'role'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_051role"); +my $C = $self->cursor_xact("RULE package_declarator__S_058role"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "role"; -$self->_MATCHIFYr($S, "package_declarator__S_051role", do { +$self->_MATCHIFYr($S, "package_declarator__S_058role", do { my $C = $C; if (($C) = ($C->_EXACT("role")) and ($C) = ($C->keyspace)) { @@ -28874,19 +29395,19 @@ $C->package_def } ; ## token package_declarator:knowhow { -sub package_declarator__S_052knowhow__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_052knowhow', $retree) } -sub package_declarator__S_052knowhow { -no warnings 'recursion'; +sub package_declarator__S_059knowhow__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_059knowhow', $retree) } +sub package_declarator__S_059knowhow { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'knowhow'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_052knowhow"); +my $C = $self->cursor_xact("RULE package_declarator__S_059knowhow"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "knowhow"; -$self->_MATCHIFYr($S, "package_declarator__S_052knowhow", do { +$self->_MATCHIFYr($S, "package_declarator__S_059knowhow", do { my $C = $C; if (($C) = ($C->_EXACT("knowhow")) and ($C) = ($C->keyspace)) { @@ -28900,19 +29421,19 @@ $C->package_def } ; ## token package_declarator:slang { -sub package_declarator__S_053slang__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_053slang', $retree) } -sub package_declarator__S_053slang { -no warnings 'recursion'; +sub package_declarator__S_060slang__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_060slang', $retree) } +sub package_declarator__S_060slang { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'slang'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_053slang"); +my $C = $self->cursor_xact("RULE package_declarator__S_060slang"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "slang"; -$self->_MATCHIFYr($S, "package_declarator__S_053slang", do { +$self->_MATCHIFYr($S, "package_declarator__S_060slang", do { my $C = $C; if (($C) = ($C->_EXACT("slang")) and ($C) = ($C->keyspace)) { @@ -28926,20 +29447,20 @@ $C->package_def } ; ## token package_declarator:require { # here because of declarational aspects -sub package_declarator__S_054require__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_054require', $retree) } -sub package_declarator__S_054require { -no warnings 'recursion'; +sub package_declarator__S_061require__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_061require', $retree) } +sub package_declarator__S_061require { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_054require"); +my $C = $self->cursor_xact("RULE package_declarator__S_061require"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'EXPR'} = []; $C->{sym} = "require"; -$self->_MATCHIFYr($S, "package_declarator__S_054require", do { +$self->_MATCHIFYr($S, "package_declarator__S_061require", do { my $C = $C; if (($C) = ($C->_EXACT("require")) and ($C) = ($C->keyspace) @@ -28991,19 +29512,19 @@ $C } ; ## rule package_declarator:trusts { -sub package_declarator__S_055trusts__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_055trusts', $retree) } -sub package_declarator__S_055trusts { -no warnings 'recursion'; +sub package_declarator__S_062trusts__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_062trusts', $retree) } +sub package_declarator__S_062trusts { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_055trusts"); +my $C = $self->cursor_xact("RULE package_declarator__S_062trusts"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "trusts"; -$self->_MATCHIFYr($S, "package_declarator__S_055trusts", do { +$self->_MATCHIFYr($S, "package_declarator__S_062trusts", do { my $C = $C; if (($C) = ($C->_EXACT("trusts")) and ($C) = ($C->keyspace) @@ -29020,20 +29541,20 @@ $C } ; ## rule package_declarator:sym { -sub package_declarator__S_056also__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_056also', $retree) } -sub package_declarator__S_056also { -no warnings 'recursion'; +sub package_declarator__S_063also__PEEK { $_[0]->_AUTOLEXpeek('package_declarator__S_063also', $retree) } +sub package_declarator__S_063also { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE package_declarator__S_056also"); +my $C = $self->cursor_xact("RULE package_declarator__S_063also"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'trait'} = []; $C->{sym} = "also"; -$self->_MATCHIFYr($S, "package_declarator__S_056also", do { +$self->_MATCHIFYr($S, "package_declarator__S_063also", do { my $C = $C; if (($C) = ($C->_EXACT("also")) and ($C) = ($C->keyspace) @@ -29082,7 +29603,7 @@ $C ## rule package_def { sub package_def__PEEK { $_[0]->_AUTOLEXpeek('package_def', $retree) } sub package_def { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $longname;local $::IN_DECL = 'package';local $::HAS_SELF = '';local $::DECLARAND;local $::NEWPKG;local $::NEWLEX;my $outer = $::CURLEX;local $::CURPKG = $::CURPKG;local $::CURLEX = $::CURLEX; @@ -29344,7 +29865,7 @@ $C ## token declarator { sub declarator__PEEK { $_[0]->_AUTOLEXpeek('declarator', $retree) } sub declarator { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::LEFTSIGIL = ''; @@ -29545,19 +30066,19 @@ last if $xact->[-2]; # committed? } ; ## rule multi_declarator:multi { -sub multi_declarator__S_057multi__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_057multi', $retree) } -sub multi_declarator__S_057multi { -no warnings 'recursion'; +sub multi_declarator__S_064multi__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_064multi', $retree) } +sub multi_declarator__S_064multi { +no warnings 'recursion', 'experimental'; my $self = shift; local $::MULTINESS = 'multi'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE multi_declarator__S_057multi"); +my $C = $self->cursor_xact("RULE multi_declarator__S_064multi"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "multi"; -$self->_MATCHIFYr($S, "multi_declarator__S_057multi", do { +$self->_MATCHIFYr($S, "multi_declarator__S_064multi", do { my $C = $C; if (($C) = ($C->_EXACT("multi")) and ($C) = ($C->keyspace) @@ -29615,19 +30136,19 @@ $C } ; ## rule multi_declarator:proto { -sub multi_declarator__S_058proto__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_058proto', $retree) } -sub multi_declarator__S_058proto { -no warnings 'recursion'; +sub multi_declarator__S_065proto__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_065proto', $retree) } +sub multi_declarator__S_065proto { +no warnings 'recursion', 'experimental'; my $self = shift; local $::MULTINESS = 'proto'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE multi_declarator__S_058proto"); +my $C = $self->cursor_xact("RULE multi_declarator__S_065proto"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "proto"; -$self->_MATCHIFYr($S, "multi_declarator__S_058proto", do { +$self->_MATCHIFYr($S, "multi_declarator__S_065proto", do { my $C = $C; if (($C) = ($C->_EXACT("proto")) and ($C) = ($C->keyspace) @@ -29685,19 +30206,19 @@ $C } ; ## rule multi_declarator:only { -sub multi_declarator__S_059only__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_059only', $retree) } -sub multi_declarator__S_059only { -no warnings 'recursion'; +sub multi_declarator__S_066only__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_066only', $retree) } +sub multi_declarator__S_066only { +no warnings 'recursion', 'experimental'; my $self = shift; local $::MULTINESS = 'only'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE multi_declarator__S_059only"); +my $C = $self->cursor_xact("RULE multi_declarator__S_066only"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "only"; -$self->_MATCHIFYr($S, "multi_declarator__S_059only", do { +$self->_MATCHIFYr($S, "multi_declarator__S_066only", do { my $C = $C; if (($C) = ($C->_EXACT("only")) and ($C) = ($C->keyspace) @@ -29755,19 +30276,19 @@ $C } ; ## rule multi_declarator:null { -sub multi_declarator__S_060null__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_060null', $retree) } -sub multi_declarator__S_060null { -no warnings 'recursion'; +sub multi_declarator__S_067null__PEEK { $_[0]->_AUTOLEXpeek('multi_declarator__S_067null', $retree) } +sub multi_declarator__S_067null { +no warnings 'recursion', 'experimental'; my $self = shift; local $::MULTINESS = ''; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE multi_declarator__S_060null"); +my $C = $self->cursor_xact("RULE multi_declarator__S_067null"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "null"; -$self->_MATCHIFYr($S, "multi_declarator__S_060null", do { +$self->_MATCHIFYr($S, "multi_declarator__S_067null", do { my $C = $C; if (($C) = ($C->_SUBSUMEr(['declarator'], sub { my $C = shift; @@ -29781,19 +30302,19 @@ $C } ; ## rule routine_declarator:sub { } -sub routine_declarator__S_061sub__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_061sub', $retree) } -sub routine_declarator__S_061sub { -no warnings 'recursion'; +sub routine_declarator__S_068sub__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_068sub', $retree) } +sub routine_declarator__S_068sub { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE routine_declarator__S_061sub"); +my $C = $self->cursor_xact("RULE routine_declarator__S_068sub"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "sub"; -$self->_MATCHIFYr($S, "routine_declarator__S_061sub", do { +$self->_MATCHIFYr($S, "routine_declarator__S_068sub", do { my $C = $C; if (($C) = ($C->_EXACT("sub")) and ($C) = ($C->nofun) @@ -29810,19 +30331,19 @@ $C } ; ## rule routine_declarator:method { } -sub routine_declarator__S_062method__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_062method', $retree) } -sub routine_declarator__S_062method { -no warnings 'recursion'; +sub routine_declarator__S_069method__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_069method', $retree) } +sub routine_declarator__S_069method { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE routine_declarator__S_062method"); +my $C = $self->cursor_xact("RULE routine_declarator__S_069method"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "method"; -$self->_MATCHIFYr($S, "routine_declarator__S_062method", do { +$self->_MATCHIFYr($S, "routine_declarator__S_069method", do { my $C = $C; if (($C) = ($C->_EXACT("method")) and ($C) = ($C->nofun) @@ -29839,19 +30360,19 @@ $C } ; ## rule routine_declarator:submethod { } -sub routine_declarator__S_063submethod__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_063submethod', $retree) } -sub routine_declarator__S_063submethod { -no warnings 'recursion'; +sub routine_declarator__S_070submethod__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_070submethod', $retree) } +sub routine_declarator__S_070submethod { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE routine_declarator__S_063submethod"); +my $C = $self->cursor_xact("RULE routine_declarator__S_070submethod"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "submethod"; -$self->_MATCHIFYr($S, "routine_declarator__S_063submethod", do { +$self->_MATCHIFYr($S, "routine_declarator__S_070submethod", do { my $C = $C; if (($C) = ($C->_EXACT("submethod")) and ($C) = ($C->nofun) @@ -29868,19 +30389,19 @@ $C } ; ## rule routine_declarator:macro { } -sub routine_declarator__S_064macro__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_064macro', $retree) } -sub routine_declarator__S_064macro { -no warnings 'recursion'; +sub routine_declarator__S_071macro__PEEK { $_[0]->_AUTOLEXpeek('routine_declarator__S_071macro', $retree) } +sub routine_declarator__S_071macro { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE routine_declarator__S_064macro"); +my $C = $self->cursor_xact("RULE routine_declarator__S_071macro"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "macro"; -$self->_MATCHIFYr($S, "routine_declarator__S_064macro", do { +$self->_MATCHIFYr($S, "routine_declarator__S_071macro", do { my $C = $C; if (($C) = ($C->_EXACT("macro")) and ($C) = ($C->nofun) @@ -29897,19 +30418,19 @@ $C } ; ## rule regex_declarator:regex { } -sub regex_declarator__S_065regex__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_065regex', $retree) } -sub regex_declarator__S_065regex { -no warnings 'recursion'; +sub regex_declarator__S_072regex__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_072regex', $retree) } +sub regex_declarator__S_072regex { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE regex_declarator__S_065regex"); +my $C = $self->cursor_xact("RULE regex_declarator__S_072regex"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "regex"; -$self->_MATCHIFYr($S, "regex_declarator__S_065regex", do { +$self->_MATCHIFYr($S, "regex_declarator__S_072regex", do { my $C = $C; if (($C) = ($C->_EXACT("regex")) and ($C) = ($C->keyspace) @@ -29926,19 +30447,19 @@ $C } ; ## rule regex_declarator:token { } -sub regex_declarator__S_066token__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_066token', $retree) } -sub regex_declarator__S_066token { -no warnings 'recursion'; +sub regex_declarator__S_073token__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_073token', $retree) } +sub regex_declarator__S_073token { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE regex_declarator__S_066token"); +my $C = $self->cursor_xact("RULE regex_declarator__S_073token"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "token"; -$self->_MATCHIFYr($S, "regex_declarator__S_066token", do { +$self->_MATCHIFYr($S, "regex_declarator__S_073token", do { my $C = $C; if (($C) = ($C->_EXACT("token")) and ($C) = ($C->keyspace) @@ -29955,19 +30476,19 @@ $C } ; ## rule regex_declarator:rule { } -sub regex_declarator__S_067rule__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_067rule', $retree) } -sub regex_declarator__S_067rule { -no warnings 'recursion'; +sub regex_declarator__S_074rule__PEEK { $_[0]->_AUTOLEXpeek('regex_declarator__S_074rule', $retree) } +sub regex_declarator__S_074rule { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE regex_declarator__S_067rule"); +my $C = $self->cursor_xact("RULE regex_declarator__S_074rule"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "rule"; -$self->_MATCHIFYr($S, "regex_declarator__S_067rule", do { +$self->_MATCHIFYr($S, "regex_declarator__S_074rule", do { my $C = $C; if (($C) = ($C->_EXACT("rule")) and ($C) = ($C->keyspace) @@ -29986,7 +30507,7 @@ $C ## rule multisig { sub multisig__PEEK { $_[0]->_AUTOLEXpeek('multisig', $retree) } sub multisig { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $signum = 0; @@ -30057,7 +30578,7 @@ $C ; ## method checkyada sub checkyada { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; eval { my $statements = $self->{'blockoid'}->{'statementlist'}->{'statement'}; @@ -30086,7 +30607,7 @@ return $self; ## rule routine_def ($d) { sub routine_def__PEEK { $_[0]->_AUTOLEXpeek('routine_def', $retree) } sub routine_def { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument d omitted' unless @_; @@ -30314,7 +30835,7 @@ $C ## rule method_def ($d) { sub method_def__PEEK { $_[0]->_AUTOLEXpeek('method_def', $retree) } sub method_def { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument d omitted' unless @_; @@ -30735,7 +31256,7 @@ $C ## rule regex_def ($d, :$r, :$s) { sub regex_def__PEEK { $_[0]->_AUTOLEXpeek('regex_def', $retree) } sub regex_def { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument d omitted' unless @_; @@ -30980,7 +31501,7 @@ $C ## rule macro_def () { sub macro_def__PEEK { $_[0]->_AUTOLEXpeek('macro_def', $retree) } sub macro_def { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::CURLEX = $::CURLEX;local $::IN_DECL = 'macro';local $::DECLARAND; @@ -31193,7 +31714,7 @@ $C ## rule trait { sub trait__PEEK { $_[0]->_AUTOLEXpeek('trait', $retree) } sub trait { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 0; @@ -31267,20 +31788,20 @@ last if $xact->[-2]; # committed? } ; ## rule trait_mod:is { -sub trait_mod__S_068is__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_068is', $retree) } -sub trait_mod__S_068is { -no warnings 'recursion'; +sub trait_mod__S_075is__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_075is', $retree) } +sub trait_mod__S_075is { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_068is"); +my $C = $self->cursor_xact("RULE trait_mod__S_075is"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'circumfix'} = []; $C->{sym} = "is"; -$self->_MATCHIFYr($S, "trait_mod__S_068is", do { +$self->_MATCHIFYr($S, "trait_mod__S_075is", do { my $C = $C; if (($C) = ($C->_EXACT("is")) and ($C) = ($C->keyspace) @@ -31336,19 +31857,19 @@ $::DECLARAND->{$traitname} = $self->gettrait($traitname, $M->{'circumfix'}); } ; ## rule trait_mod:hides { -sub trait_mod__S_069hides__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_069hides', $retree) } -sub trait_mod__S_069hides { -no warnings 'recursion'; +sub trait_mod__S_076hides__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_076hides', $retree) } +sub trait_mod__S_076hides { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_069hides"); +my $C = $self->cursor_xact("RULE trait_mod__S_076hides"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "hides"; -$self->_MATCHIFYr($S, "trait_mod__S_069hides", do { +$self->_MATCHIFYr($S, "trait_mod__S_076hides", do { my $C = $C; if (($C) = ($C->_EXACT("hides")) and ($C) = ($C->keyspace) @@ -31389,19 +31910,19 @@ $C } ; ## rule trait_mod:does { -sub trait_mod__S_070does__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_070does', $retree) } -sub trait_mod__S_070does { -no warnings 'recursion'; +sub trait_mod__S_077does__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_077does', $retree) } +sub trait_mod__S_077does { +no warnings 'recursion', 'experimental'; my $self = shift; local $::PKGDECL = 'role'; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_070does"); +my $C = $self->cursor_xact("RULE trait_mod__S_077does"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "does"; -$self->_MATCHIFYr($S, "trait_mod__S_070does", do { +$self->_MATCHIFYr($S, "trait_mod__S_077does", do { my $C = $C; if (($C) = ($C->_EXACT("does")) and ($C) = ($C->keyspace) @@ -31442,19 +31963,19 @@ $C } ; ## rule trait_mod:will { -sub trait_mod__S_071will__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_071will', $retree) } -sub trait_mod__S_071will { -no warnings 'recursion'; +sub trait_mod__S_078will__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_078will', $retree) } +sub trait_mod__S_078will { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_071will"); +my $C = $self->cursor_xact("RULE trait_mod__S_078will"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "will"; -$self->_MATCHIFYr($S, "trait_mod__S_071will", do { +$self->_MATCHIFYr($S, "trait_mod__S_078will", do { my $C = $C; if (($C) = ($C->_EXACT("will")) and ($C) = ($C->keyspace) @@ -31500,19 +32021,19 @@ $C } ; ## rule trait_mod:of { -sub trait_mod__S_072of__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_072of', $retree) } -sub trait_mod__S_072of { -no warnings 'recursion'; +sub trait_mod__S_079of__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_079of', $retree) } +sub trait_mod__S_079of { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_072of"); +my $C = $self->cursor_xact("RULE trait_mod__S_079of"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "of"; -$self->_MATCHIFYr($S, "trait_mod__S_072of", do { +$self->_MATCHIFYr($S, "trait_mod__S_079of", do { my $C = $C; if (($C) = ($C->_BRACKETr(sub { my $C=shift; @@ -31523,14 +32044,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'trait_mod__S_072of_0') { -$C->deb("Fate passed to trait_mod__S_072of_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'trait_mod__S_079of_0') { +$C->deb("Fate passed to trait_mod__S_079of_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT trait_mod__S_072of_0'; # some outer ltm is controlling us +$x = 'ALT trait_mod__S_079of_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM trait_mod__S_072of_0'; # we are top level ltm +$x = 'ALTLTM trait_mod__S_079of_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -31538,7 +32059,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'trait_mod__S_072of_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'trait_mod__S_079of_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -31547,7 +32068,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("trait_mod__S_072of_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("trait_mod__S_079of_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -31620,19 +32141,19 @@ $::DECLARAND->{'of'} = $M->{'typename'}}, $C) } ; ## rule trait_mod:handles { } -sub trait_mod__S_073handles__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_073handles', $retree) } -sub trait_mod__S_073handles { -no warnings 'recursion'; +sub trait_mod__S_080handles__PEEK { $_[0]->_AUTOLEXpeek('trait_mod__S_080handles', $retree) } +sub trait_mod__S_080handles { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE trait_mod__S_073handles"); +my $C = $self->cursor_xact("RULE trait_mod__S_080handles"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "handles"; -$self->_MATCHIFYr($S, "trait_mod__S_073handles", do { +$self->_MATCHIFYr($S, "trait_mod__S_080handles", do { my $C = $C; if (($C) = ($C->_EXACT("handles")) and ($C) = ($C->keyspace) @@ -31651,7 +32172,7 @@ $C ## token nullterm { sub nullterm__PEEK { $_[0]->_AUTOLEXpeek('nullterm', $retree) } sub nullterm { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -31669,7 +32190,7 @@ $C ## token nulltermish { sub nulltermish__PEEK { $_[0]->_AUTOLEXpeek('nulltermish', $retree) } sub nulltermish { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -31753,7 +32274,7 @@ last if $xact->[-2]; # committed? ## token termish { sub termish__PEEK { $_[0]->_AUTOLEXpeek('termish', $retree) } sub termish { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::SCOPE = "";local $::MULTINESS = "";local $::OFTYPE;local $::VAR; @@ -32036,38 +32557,38 @@ $C->{'~CAPS'} = $M->{'term'}->{'~CAPS'}; } ; ## token term:fatarrow { } -sub term__S_074fatarrow__PEEK { $_[0]->_AUTOLEXpeek('term__S_074fatarrow', $retree) } -sub term__S_074fatarrow { -no warnings 'recursion'; +sub term__S_081fatarrow__PEEK { $_[0]->_AUTOLEXpeek('term__S_081fatarrow', $retree) } +sub term__S_081fatarrow { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_074fatarrow"); +my $C = $self->cursor_xact("RULE term__S_081fatarrow"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "fatarrow"; -$self->_MATCHIFYr($S, "term__S_074fatarrow", $C->_SUBSUMEr(['fatarrow'], sub { +$self->_MATCHIFYr($S, "term__S_081fatarrow", $C->_SUBSUMEr(['fatarrow'], sub { my $C = shift; $C->fatarrow })); } ; ## token term:variable { { $*VAR = $ } } -sub term__S_075variable__PEEK { $_[0]->_AUTOLEXpeek('term__S_075variable', $retree) } -sub term__S_075variable { -no warnings 'recursion'; +sub term__S_082variable__PEEK { $_[0]->_AUTOLEXpeek('term__S_082variable', $retree) } +sub term__S_082variable { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_075variable"); +my $C = $self->cursor_xact("RULE term__S_082variable"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "variable"; -$self->_MATCHIFYr($S, "term__S_075variable", do { +$self->_MATCHIFYr($S, "term__S_082variable", do { if (my ($C) = ($C->_SUBSUMEr(['variable'], sub { my $C = shift; $C->variable @@ -32081,57 +32602,57 @@ $::VAR = $M->{'variable'} }, $C) } ; ## token term:package_declarator { } -sub term__S_076package_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_076package_declarator', $retree) } -sub term__S_076package_declarator { -no warnings 'recursion'; +sub term__S_083package_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_083package_declarator', $retree) } +sub term__S_083package_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_076package_declarator"); +my $C = $self->cursor_xact("RULE term__S_083package_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "package_declarator"; -$self->_MATCHIFYr($S, "term__S_076package_declarator", $C->_SUBSUMEr(['package_declarator'], sub { +$self->_MATCHIFYr($S, "term__S_083package_declarator", $C->_SUBSUMEr(['package_declarator'], sub { my $C = shift; $C->package_declarator })); } ; ## token term:scope_declarator { } -sub term__S_077scope_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_077scope_declarator', $retree) } -sub term__S_077scope_declarator { -no warnings 'recursion'; +sub term__S_084scope_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_084scope_declarator', $retree) } +sub term__S_084scope_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_077scope_declarator"); +my $C = $self->cursor_xact("RULE term__S_084scope_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "scope_declarator"; -$self->_MATCHIFYr($S, "term__S_077scope_declarator", $C->_SUBSUMEr(['scope_declarator'], sub { +$self->_MATCHIFYr($S, "term__S_084scope_declarator", $C->_SUBSUMEr(['scope_declarator'], sub { my $C = shift; $C->scope_declarator })); } ; ## token term:multi_declarator { } -sub term__S_078multi_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_078multi_declarator', $retree) } -sub term__S_078multi_declarator { -no warnings 'recursion'; +sub term__S_085multi_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_085multi_declarator', $retree) } +sub term__S_085multi_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_078multi_declarator"); +my $C = $self->cursor_xact("RULE term__S_085multi_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "multi_declarator"; -$self->_MATCHIFYr($S, "term__S_078multi_declarator", do { +$self->_MATCHIFYr($S, "term__S_085multi_declarator", do { if (my ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { @@ -32144,14 +32665,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'term__S_078multi_declarator_0') { -$C->deb("Fate passed to term__S_078multi_declarator_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'term__S_085multi_declarator_0') { +$C->deb("Fate passed to term__S_085multi_declarator_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT term__S_078multi_declarator_0'; # some outer ltm is controlling us +$x = 'ALT term__S_085multi_declarator_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM term__S_078multi_declarator_0'; # we are top level ltm +$x = 'ALTLTM term__S_085multi_declarator_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -32159,7 +32680,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'term__S_078multi_declarator_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'term__S_085multi_declarator_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -32168,7 +32689,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("term__S_078multi_declarator_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("term__S_085multi_declarator_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -32202,191 +32723,191 @@ $C->multi_declarator } ; ## token term:routine_declarator { } -sub term__S_079routine_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_079routine_declarator', $retree) } -sub term__S_079routine_declarator { -no warnings 'recursion'; +sub term__S_086routine_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_086routine_declarator', $retree) } +sub term__S_086routine_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_079routine_declarator"); +my $C = $self->cursor_xact("RULE term__S_086routine_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "routine_declarator"; -$self->_MATCHIFYr($S, "term__S_079routine_declarator", $C->_SUBSUMEr(['routine_declarator'], sub { +$self->_MATCHIFYr($S, "term__S_086routine_declarator", $C->_SUBSUMEr(['routine_declarator'], sub { my $C = shift; $C->routine_declarator })); } ; ## token term:regex_declarator { } -sub term__S_080regex_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_080regex_declarator', $retree) } -sub term__S_080regex_declarator { -no warnings 'recursion'; +sub term__S_087regex_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_087regex_declarator', $retree) } +sub term__S_087regex_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_080regex_declarator"); +my $C = $self->cursor_xact("RULE term__S_087regex_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "regex_declarator"; -$self->_MATCHIFYr($S, "term__S_080regex_declarator", $C->_SUBSUMEr(['regex_declarator'], sub { +$self->_MATCHIFYr($S, "term__S_087regex_declarator", $C->_SUBSUMEr(['regex_declarator'], sub { my $C = shift; $C->regex_declarator })); } ; ## token term:type_declarator { } -sub term__S_081type_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_081type_declarator', $retree) } -sub term__S_081type_declarator { -no warnings 'recursion'; +sub term__S_088type_declarator__PEEK { $_[0]->_AUTOLEXpeek('term__S_088type_declarator', $retree) } +sub term__S_088type_declarator { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_081type_declarator"); +my $C = $self->cursor_xact("RULE term__S_088type_declarator"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "type_declarator"; -$self->_MATCHIFYr($S, "term__S_081type_declarator", $C->_SUBSUMEr(['type_declarator'], sub { +$self->_MATCHIFYr($S, "term__S_088type_declarator", $C->_SUBSUMEr(['type_declarator'], sub { my $C = shift; $C->type_declarator })); } ; ## token term:circumfix { } -sub term__S_082circumfix__PEEK { $_[0]->_AUTOLEXpeek('term__S_082circumfix', $retree) } -sub term__S_082circumfix { -no warnings 'recursion'; +sub term__S_089circumfix__PEEK { $_[0]->_AUTOLEXpeek('term__S_089circumfix', $retree) } +sub term__S_089circumfix { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_082circumfix"); +my $C = $self->cursor_xact("RULE term__S_089circumfix"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "circumfix"; -$self->_MATCHIFYr($S, "term__S_082circumfix", $C->_SUBSUMEr(['circumfix'], sub { +$self->_MATCHIFYr($S, "term__S_089circumfix", $C->_SUBSUMEr(['circumfix'], sub { my $C = shift; $C->circumfix })); } ; ## token term:dotty { } -sub term__S_083dotty__PEEK { $_[0]->_AUTOLEXpeek('term__S_083dotty', $retree) } -sub term__S_083dotty { -no warnings 'recursion'; +sub term__S_090dotty__PEEK { $_[0]->_AUTOLEXpeek('term__S_090dotty', $retree) } +sub term__S_090dotty { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_083dotty"); +my $C = $self->cursor_xact("RULE term__S_090dotty"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "dotty"; -$self->_MATCHIFYr($S, "term__S_083dotty", $C->_SUBSUMEr(['dotty'], sub { +$self->_MATCHIFYr($S, "term__S_090dotty", $C->_SUBSUMEr(['dotty'], sub { my $C = shift; $C->dotty })); } ; ## token term:value { } -sub term__S_084value__PEEK { $_[0]->_AUTOLEXpeek('term__S_084value', $retree) } -sub term__S_084value { -no warnings 'recursion'; +sub term__S_091value__PEEK { $_[0]->_AUTOLEXpeek('term__S_091value', $retree) } +sub term__S_091value { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_084value"); +my $C = $self->cursor_xact("RULE term__S_091value"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "value"; -$self->_MATCHIFYr($S, "term__S_084value", $C->_SUBSUMEr(['value'], sub { +$self->_MATCHIFYr($S, "term__S_091value", $C->_SUBSUMEr(['value'], sub { my $C = shift; $C->value })); } ; ## token term:capterm { } -sub term__S_085capterm__PEEK { $_[0]->_AUTOLEXpeek('term__S_085capterm', $retree) } -sub term__S_085capterm { -no warnings 'recursion'; +sub term__S_092capterm__PEEK { $_[0]->_AUTOLEXpeek('term__S_092capterm', $retree) } +sub term__S_092capterm { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_085capterm"); +my $C = $self->cursor_xact("RULE term__S_092capterm"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "capterm"; -$self->_MATCHIFYr($S, "term__S_085capterm", $C->_SUBSUMEr(['capterm'], sub { +$self->_MATCHIFYr($S, "term__S_092capterm", $C->_SUBSUMEr(['capterm'], sub { my $C = shift; $C->capterm })); } ; ## token term:sigterm { } -sub term__S_086sigterm__PEEK { $_[0]->_AUTOLEXpeek('term__S_086sigterm', $retree) } -sub term__S_086sigterm { -no warnings 'recursion'; +sub term__S_093sigterm__PEEK { $_[0]->_AUTOLEXpeek('term__S_093sigterm', $retree) } +sub term__S_093sigterm { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_086sigterm"); +my $C = $self->cursor_xact("RULE term__S_093sigterm"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "sigterm"; -$self->_MATCHIFYr($S, "term__S_086sigterm", $C->_SUBSUMEr(['sigterm'], sub { +$self->_MATCHIFYr($S, "term__S_093sigterm", $C->_SUBSUMEr(['sigterm'], sub { my $C = shift; $C->sigterm })); } ; ## token term:statement_prefix { } -sub term__S_087statement_prefix__PEEK { $_[0]->_AUTOLEXpeek('term__S_087statement_prefix', $retree) } -sub term__S_087statement_prefix { -no warnings 'recursion'; +sub term__S_094statement_prefix__PEEK { $_[0]->_AUTOLEXpeek('term__S_094statement_prefix', $retree) } +sub term__S_094statement_prefix { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_087statement_prefix"); +my $C = $self->cursor_xact("RULE term__S_094statement_prefix"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "statement_prefix"; -$self->_MATCHIFYr($S, "term__S_087statement_prefix", $C->_SUBSUMEr(['statement_prefix'], sub { +$self->_MATCHIFYr($S, "term__S_094statement_prefix", $C->_SUBSUMEr(['statement_prefix'], sub { my $C = shift; $C->statement_prefix })); } ; ## token term:colonpair { [ <.ws> ]+ } -sub term__S_088colonpair__PEEK { $_[0]->_AUTOLEXpeek('term__S_088colonpair', $retree) } -sub term__S_088colonpair { -no warnings 'recursion'; +sub term__S_095colonpair__PEEK { $_[0]->_AUTOLEXpeek('term__S_095colonpair', $retree) } +sub term__S_095colonpair { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_088colonpair"); +my $C = $self->cursor_xact("RULE term__S_095colonpair"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{'colonpair'} = []; $C->{sym} = "colonpair"; -$self->_MATCHIFYr($S, "term__S_088colonpair", $C->_PLUSr(sub { +$self->_MATCHIFYr($S, "term__S_095colonpair", $C->_PLUSr(sub { my $C=shift; if (my ($C) = ($C->_BRACKETr(sub { my $C=shift; @@ -32404,7 +32925,7 @@ $C ## token fatarrow { sub fatarrow__PEEK { $_[0]->_AUTOLEXpeek('fatarrow', $retree) } sub fatarrow { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -32433,7 +32954,7 @@ $C->EXPR(\%item_assignment) ## token coloncircumfix ($front) { sub coloncircumfix__PEEK { $_[0]->_AUTOLEXpeek('coloncircumfix', $retree) } sub coloncircumfix { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument front omitted' unless @_; @@ -32482,7 +33003,7 @@ push @gather, (( sub { my $C=shift; if (($C) = ($C->_EXACT("\<\>")) -and ($C) = ($C->worry("Pair with <> really means a Nil value, not null string; use :$front" . "('') to represent the null string,\n or :$front" . "() to represent Nil more accurately"))) { +and ($C) = ($C->worry("Pair with <> really means an empty list, not null string; use :$front" . "('') to represent the null string,\n or :$front" . "() to represent the empty list more accurately"))) { $C } else { () } }, @@ -32505,7 +33026,7 @@ last if $xact->[-2]; # committed? ## token colonpair { sub colonpair__PEEK { $_[0]->_AUTOLEXpeek('colonpair', $retree) } sub colonpair { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $key;my $value; @@ -32585,7 +33106,7 @@ if (($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G[\[\(\<\{]/) +$C->_PATTERN(qr/\G[[(<{]/) }))) { ($C) } else { () } })) and ($C) = ($C->panic("Extra argument not allowed; pair already has False argument"))) { @@ -32621,7 +33142,7 @@ if (($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G[\[\(\<\{]/) +$C->_PATTERN(qr/\G[[(<{]/) }))) { ($C) } else { () } })) and ($C) = (do { @@ -32733,7 +33254,7 @@ $value = $M->{'coloncircumfix'}; }, sub { my $C=shift; -if (my ($C) = ($C->_SUBSUMEr(['var'], sub { +if (($C) = ($C->_SUBSUMEr(['var'], sub { my $C = shift; $C->_PAREN( sub { my $C=shift; @@ -32817,6 +33338,22 @@ $C }; }) +})) +and ($C) = ($C->_OPTr(sub { +my $C=shift; +if (my ($C) = ($C->_BRACKETr(sub { +my $C=shift; +if (($C) = ($C->before(sub { +my $C=shift; +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[[(<{]/) +}))) { ($C) } else { () } +})) +and ($C) = ($C->panic("Extra argument not allowed; pair already has variable argument"))) { +$C +} else { () } +}))) { ($C) } else { () } }))) { scalar(do { my $M = $C; @@ -32845,35 +33382,35 @@ $value}) } ; ## token special_variable:sym<$¢> { } -sub special_variable__S_089Dollar_a2___PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_089Dollar_a2_', $retree) } -sub special_variable__S_089Dollar_a2_ { -no warnings 'recursion'; +sub special_variable__S_096Dollar_a2___PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_096Dollar_a2_', $retree) } +sub special_variable__S_096Dollar_a2_ { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_089Dollar_a2_"); +my $C = $self->cursor_xact("RULE special_variable__S_096Dollar_a2_"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$C->{sym} = "\$¢"; -$self->_MATCHIFYr($S, "special_variable__S_089Dollar_a2_", $C->_EXACT("\$¢")); +$C->{sym} = "\$\¢"; +$self->_MATCHIFYr($S, "special_variable__S_096Dollar_a2_", $C->_EXACT("\$\¢")); } ; ## token special_variable:sym<$!> { } -sub special_variable__S_090DollarBang__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_090DollarBang', $retree) } -sub special_variable__S_090DollarBang { -no warnings 'recursion'; +sub special_variable__S_097DollarBang__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_097DollarBang', $retree) } +sub special_variable__S_097DollarBang { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_090DollarBang"); +my $C = $self->cursor_xact("RULE special_variable__S_097DollarBang"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\!"; -$self->_MATCHIFYr($S, "special_variable__S_090DollarBang", do { +$self->_MATCHIFYr($S, "special_variable__S_097DollarBang", do { my $C = $C; if (($C) = ($C->_EXACT("\$\!")) and ($C) = ($C->_NOTBEFORE(sub { @@ -32890,19 +33427,19 @@ $C } ; ## token special_variable:sym<$!{ }> { -sub special_variable__S_091DollarBangCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_091DollarBangCur_Ly', $retree) } -sub special_variable__S_091DollarBangCur_Ly { -no warnings 'recursion'; +sub special_variable__S_098DollarBangCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_098DollarBangCur_Ly', $retree) } +sub special_variable__S_098DollarBangCur_Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_091DollarBangCur_Ly"); +my $C = $self->cursor_xact("RULE special_variable__S_098DollarBangCur_Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\!\{\ \}"; -$self->_MATCHIFYr($S, "special_variable__S_091DollarBangCur_Ly", do { +$self->_MATCHIFYr($S, "special_variable__S_098DollarBangCur_Ly", do { my $C = $C; if (($C) = ($C->_EXACT("\$\!")) and ($C) = ($C->_BRACKETr(sub { @@ -32923,14 +33460,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_091DollarBangCur_Ly_0') { -$C->deb("Fate passed to special_variable__S_091DollarBangCur_Ly_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_098DollarBangCur_Ly_0') { +$C->deb("Fate passed to special_variable__S_098DollarBangCur_Ly_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_091DollarBangCur_Ly_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_098DollarBangCur_Ly_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_091DollarBangCur_Ly_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_098DollarBangCur_Ly_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -32938,7 +33475,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_091DollarBangCur_Ly_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_098DollarBangCur_Ly_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -32947,7 +33484,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_091DollarBangCur_Ly_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_098DollarBangCur_Ly_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -33005,19 +33542,19 @@ $C->obs("Perl 5's $all construct", "a smartmatch like \$! ~~ $inside" ); } ; ## token special_variable:sym<$/> { -sub special_variable__S_092DollarSlash__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_092DollarSlash', $retree) } -sub special_variable__S_092DollarSlash { -no warnings 'recursion'; +sub special_variable__S_099DollarSlash__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_099DollarSlash', $retree) } +sub special_variable__S_099DollarSlash { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_092DollarSlash"); +my $C = $self->cursor_xact("RULE special_variable__S_099DollarSlash"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\/"; -$self->_MATCHIFYr($S, "special_variable__S_092DollarSlash", do { +$self->_MATCHIFYr($S, "special_variable__S_099DollarSlash", do { if (my ($C) = ($C->_EXACT("\$\/"))) { $C->_OPTr(sub { my $C=shift; @@ -33051,75 +33588,26 @@ $C } ; ## token special_variable:sym<$~> { -sub special_variable__S_093DollarTilde__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_093DollarTilde', $retree) } -sub special_variable__S_093DollarTilde { -no warnings 'recursion'; +sub special_variable__S_100DollarTilde__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_100DollarTilde', $retree) } +sub special_variable__S_100DollarTilde { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_093DollarTilde"); +my $C = $self->cursor_xact("RULE special_variable__S_100DollarTilde"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\~"; -$self->_MATCHIFYr($S, "special_variable__S_093DollarTilde", do { +$self->_MATCHIFYr($S, "special_variable__S_100DollarTilde", do { my $C = $C; if (($C) = ($C->_EXACT("\$\~")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -if (my ($C) = (do { -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_093DollarTilde_0') { -$C->deb("Fate passed to special_variable__S_093DollarTilde_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT special_variable__S_093DollarTilde_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM special_variable__S_093DollarTilde_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_093DollarTilde_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("special_variable__S_093DollarTilde_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_PATTERN(qr/\G\w/) -}, -sub { -my $C=shift; -$C->_EXACT("\(") -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; - -})) { ($C) } else { () } +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$~ variable', 'Form module'))) { @@ -33130,22 +33618,22 @@ $C } ; ## token special_variable:sym<$`> { -sub special_variable__S_094DollarGrave__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_094DollarGrave', $retree) } -sub special_variable__S_094DollarGrave { -no warnings 'recursion'; +sub special_variable__S_101DollarGrave__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_101DollarGrave', $retree) } +sub special_variable__S_101DollarGrave { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_094DollarGrave"); +my $C = $self->cursor_xact("RULE special_variable__S_101DollarGrave"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\`"; -$self->_MATCHIFYr($S, "special_variable__S_094DollarGrave", do { +$self->_MATCHIFYr($S, "special_variable__S_101DollarGrave", do { my $C = $C; if (($C) = ($C->_EXACT("\$\`")) -and ($C) = ($C->obs('$` variable', 'explicit pattern before <('))) { +and ($C) = ($C->obs('$` variable', '$/.prematch'))) { $C } else { () } @@ -33153,19 +33641,19 @@ $C } ; ## token special_variable:sym<$@> { -sub special_variable__S_095DollarAt__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_095DollarAt', $retree) } -sub special_variable__S_095DollarAt { -no warnings 'recursion'; +sub special_variable__S_102DollarAt__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_102DollarAt', $retree) } +sub special_variable__S_102DollarAt { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_095DollarAt"); +my $C = $self->cursor_xact("RULE special_variable__S_102DollarAt"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\@"; -$self->_MATCHIFYr($S, "special_variable__S_095DollarAt", do { +$self->_MATCHIFYr($S, "special_variable__S_102DollarAt", do { my $C = $C; if (($C) = ($C->_EXACT("\$\@")) and ($C) = ($C->_NOTBEFORE(sub { @@ -33180,14 +33668,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_095DollarAt_0') { -$C->deb("Fate passed to special_variable__S_095DollarAt_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_102DollarAt_0') { +$C->deb("Fate passed to special_variable__S_102DollarAt_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_095DollarAt_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_102DollarAt_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_095DollarAt_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_102DollarAt_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -33195,7 +33683,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_095DollarAt_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_102DollarAt_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -33204,7 +33692,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_095DollarAt_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_102DollarAt_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -33240,19 +33728,19 @@ $C } ; ## token special_variable:sym<$#> { -sub special_variable__S_096DollarSharp__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_096DollarSharp', $retree) } -sub special_variable__S_096DollarSharp { -no warnings 'recursion'; +sub special_variable__S_103DollarSharp__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_103DollarSharp', $retree) } +sub special_variable__S_103DollarSharp { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_096DollarSharp"); +my $C = $self->cursor_xact("RULE special_variable__S_103DollarSharp"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\#"; -$self->_MATCHIFYr($S, "special_variable__S_096DollarSharp", do { +$self->_MATCHIFYr($S, "special_variable__S_103DollarSharp", do { my $C = $C; if (($C) = ($C->_EXACT("\$\#")) and ($C) = ($C->_COMMITLTM()) @@ -33298,19 +33786,19 @@ $C } ; ## token special_variable:sym<$$> { -sub special_variable__S_097DollarDollar__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_097DollarDollar', $retree) } -sub special_variable__S_097DollarDollar { -no warnings 'recursion'; +sub special_variable__S_104DollarDollar__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_104DollarDollar', $retree) } +sub special_variable__S_104DollarDollar { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_097DollarDollar"); +my $C = $self->cursor_xact("RULE special_variable__S_104DollarDollar"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\$"; -$self->_MATCHIFYr($S, "special_variable__S_097DollarDollar", do { +$self->_MATCHIFYr($S, "special_variable__S_104DollarDollar", do { my $C = $C; if (($C) = ($C->_EXACT("\$\$")) and ($C) = ($C->_NOTBEFORE(sub { @@ -33325,14 +33813,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_097DollarDollar_0') { -$C->deb("Fate passed to special_variable__S_097DollarDollar_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_104DollarDollar_0') { +$C->deb("Fate passed to special_variable__S_104DollarDollar_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_097DollarDollar_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_104DollarDollar_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_097DollarDollar_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_104DollarDollar_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -33340,7 +33828,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_097DollarDollar_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_104DollarDollar_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -33349,7 +33837,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_097DollarDollar_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_104DollarDollar_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -33384,82 +33872,26 @@ $C } ; ## token special_variable:sym<$%> { -sub special_variable__S_098DollarPercent__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_098DollarPercent', $retree) } -sub special_variable__S_098DollarPercent { -no warnings 'recursion'; +sub special_variable__S_105DollarPercent__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_105DollarPercent', $retree) } +sub special_variable__S_105DollarPercent { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_098DollarPercent"); +my $C = $self->cursor_xact("RULE special_variable__S_105DollarPercent"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\%"; -$self->_MATCHIFYr($S, "special_variable__S_098DollarPercent", do { +$self->_MATCHIFYr($S, "special_variable__S_105DollarPercent", do { my $C = $C; if (($C) = ($C->_EXACT("\$\%")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -if (my ($C) = (do { -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_098DollarPercent_0') { -$C->deb("Fate passed to special_variable__S_098DollarPercent_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT special_variable__S_098DollarPercent_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM special_variable__S_098DollarPercent_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_098DollarPercent_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("special_variable__S_098DollarPercent_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_PATTERN(qr/\G\w/) -}, -sub { -my $C=shift; -$C->_EXACT("\(") -}, -sub { -my $C=shift; -$C->_SUBSUMEr(['sigil'], sub { -my $C = shift; -$C->sigil -}) -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; - -})) { ($C) } else { () } +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$% variable', 'Form module'))) { @@ -33470,19 +33902,19 @@ $C } ; ## token special_variable:sym<$^X> { -sub special_variable__S_099DollarCaretX__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_099DollarCaretX', $retree) } -sub special_variable__S_099DollarCaretX { -no warnings 'recursion'; +sub special_variable__S_106DollarCaretX__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_106DollarCaretX', $retree) } +sub special_variable__S_106DollarCaretX { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_099DollarCaretX"); +my $C = $self->cursor_xact("RULE special_variable__S_106DollarCaretX"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\^X"; -$self->_MATCHIFYr($S, "special_variable__S_099DollarCaretX", do { +$self->_MATCHIFYr($S, "special_variable__S_106DollarCaretX", do { my $C = $C; if (($C) = ($C->_SUBSUMEr(['sigil'], sub { my $C = shift; @@ -33508,26 +33940,26 @@ $C } ; ## token special_variable:sym<$^> { -sub special_variable__S_100DollarCaret__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_100DollarCaret', $retree) } -sub special_variable__S_100DollarCaret { -no warnings 'recursion'; +sub special_variable__S_107DollarCaret__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_107DollarCaret', $retree) } +sub special_variable__S_107DollarCaret { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_100DollarCaret"); +my $C = $self->cursor_xact("RULE special_variable__S_107DollarCaret"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\^"; -$self->_MATCHIFYr($S, "special_variable__S_100DollarCaret", do { +$self->_MATCHIFYr($S, "special_variable__S_107DollarCaret", do { my $C = $C; if (($C) = ($C->_EXACT("\$\^")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G\w/) +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$^ variable', 'Form module'))) { @@ -33538,19 +33970,19 @@ $C } ; ## token special_variable:sym<$&> { -sub special_variable__S_101DollarAmp__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_101DollarAmp', $retree) } -sub special_variable__S_101DollarAmp { -no warnings 'recursion'; +sub special_variable__S_108DollarAmp__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_108DollarAmp', $retree) } +sub special_variable__S_108DollarAmp { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_101DollarAmp"); +my $C = $self->cursor_xact("RULE special_variable__S_108DollarAmp"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\&"; -$self->_MATCHIFYr($S, "special_variable__S_101DollarAmp", do { +$self->_MATCHIFYr($S, "special_variable__S_108DollarAmp", do { my $C = $C; if (($C) = ($C->_EXACT("\$\&")) and ($C) = ($C->_NOTBEFORE(sub { @@ -33565,14 +33997,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_101DollarAmp_0') { -$C->deb("Fate passed to special_variable__S_101DollarAmp_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_108DollarAmp_0') { +$C->deb("Fate passed to special_variable__S_108DollarAmp_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_101DollarAmp_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_108DollarAmp_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_101DollarAmp_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_108DollarAmp_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -33580,7 +34012,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_101DollarAmp_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_108DollarAmp_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -33589,7 +34021,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_101DollarAmp_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_108DollarAmp_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -33624,205 +34056,56 @@ $C } ; ## token special_variable:sym<$*> { -sub special_variable__S_102DollarStar__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_102DollarStar', $retree) } -sub special_variable__S_102DollarStar { -no warnings 'recursion'; +sub special_variable__S_109DollarStar__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_109DollarStar', $retree) } +sub special_variable__S_109DollarStar { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_102DollarStar"); +my $C = $self->cursor_xact("RULE special_variable__S_109DollarStar"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\*"; -$self->_MATCHIFYr($S, "special_variable__S_102DollarStar", do { +$self->_MATCHIFYr($S, "special_variable__S_109DollarStar", do { my $C = $C; if (($C) = ($C->_EXACT("\$\*")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -if (my ($C) = (do { -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_102DollarStar_0') { -$C->deb("Fate passed to special_variable__S_102DollarStar_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT special_variable__S_102DollarStar_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM special_variable__S_102DollarStar_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_102DollarStar_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("special_variable__S_102DollarStar_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_PATTERN(qr/\G\w/) -}, -sub { -my $C=shift; -$C->_EXACT("\(") -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; - -})) { ($C) } else { () } +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$* variable', '^^ and $$'))) { $C } else { () } -}); -} -; -## token special_variable:sym<$)> { -sub special_variable__S_103DollarThesis__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_103DollarThesis', $retree) } -sub special_variable__S_103DollarThesis { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_103DollarThesis"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\)"; -$self->_MATCHIFYr($S, "special_variable__S_103DollarThesis", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\)")) -and ($C) = ($C->before(sub { -my $C=shift; -(($C) x !!do { -$::GOAL ne ')' }) -})) -and ($C) = ($C->obs('$) variable', '$*EGID'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<$-> { -sub special_variable__S_104DollarMinus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_104DollarMinus', $retree) } -sub special_variable__S_104DollarMinus { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_104DollarMinus"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\-"; -$self->_MATCHIFYr($S, "special_variable__S_104DollarMinus", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\-")) -and ($C) = ($C->obs('$- variable', 'Form module'))) { -$C -} else { () } - }); } ; ## token special_variable:sym<$=> { -sub special_variable__S_105DollarEqual__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_105DollarEqual', $retree) } -sub special_variable__S_105DollarEqual { -no warnings 'recursion'; +sub special_variable__S_110DollarEqual__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_110DollarEqual', $retree) } +sub special_variable__S_110DollarEqual { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_105DollarEqual"); +my $C = $self->cursor_xact("RULE special_variable__S_110DollarEqual"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\="; -$self->_MATCHIFYr($S, "special_variable__S_105DollarEqual", do { +$self->_MATCHIFYr($S, "special_variable__S_110DollarEqual", do { my $C = $C; if (($C) = ($C->_EXACT("\$\=")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -if (my ($C) = (do { -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_105DollarEqual_0') { -$C->deb("Fate passed to special_variable__S_105DollarEqual_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT special_variable__S_105DollarEqual_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM special_variable__S_105DollarEqual_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_105DollarEqual_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("special_variable__S_105DollarEqual_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_PATTERN(qr/\G\w/) -}, -sub { -my $C=shift; -$C->_EXACT("\(") -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; - -})) { ($C) } else { () } +$C->_PATTERN(qr/\G[\x20\t\r]++\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$= variable', 'Form module'))) { @@ -33833,19 +34116,19 @@ $C } ; ## token special_variable:sym<@+> { -sub special_variable__S_106AtPlus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_106AtPlus', $retree) } -sub special_variable__S_106AtPlus { -no warnings 'recursion'; +sub special_variable__S_111AtPlus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_111AtPlus', $retree) } +sub special_variable__S_111AtPlus { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_106AtPlus"); +my $C = $self->cursor_xact("RULE special_variable__S_111AtPlus"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\@\+"; -$self->_MATCHIFYr($S, "special_variable__S_106AtPlus", do { +$self->_MATCHIFYr($S, "special_variable__S_111AtPlus", do { my $C = $C; if (($C) = ($C->_EXACT("\@\+")) and ($C) = ($C->obs('@+ variable', '.to method'))) { @@ -33856,19 +34139,19 @@ $C } ; ## token special_variable:sym<%+> { -sub special_variable__S_107PercentPlus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_107PercentPlus', $retree) } -sub special_variable__S_107PercentPlus { -no warnings 'recursion'; +sub special_variable__S_112PercentPlus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_112PercentPlus', $retree) } +sub special_variable__S_112PercentPlus { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_107PercentPlus"); +my $C = $self->cursor_xact("RULE special_variable__S_112PercentPlus"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\%\+"; -$self->_MATCHIFYr($S, "special_variable__S_107PercentPlus", do { +$self->_MATCHIFYr($S, "special_variable__S_112PercentPlus", do { my $C = $C; if (($C) = ($C->_EXACT("\%\+")) and ($C) = ($C->obs('%+ variable', '.to method'))) { @@ -33879,19 +34162,19 @@ $C } ; ## token special_variable:sym<$+[ ]> { -sub special_variable__S_108DollarPlusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_108DollarPlusBra_Ket', $retree) } -sub special_variable__S_108DollarPlusBra_Ket { -no warnings 'recursion'; +sub special_variable__S_113DollarPlusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_113DollarPlusBra_Ket', $retree) } +sub special_variable__S_113DollarPlusBra_Ket { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_108DollarPlusBra_Ket"); +my $C = $self->cursor_xact("RULE special_variable__S_113DollarPlusBra_Ket"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\+\[\ \]"; -$self->_MATCHIFYr($S, "special_variable__S_108DollarPlusBra_Ket", do { +$self->_MATCHIFYr($S, "special_variable__S_113DollarPlusBra_Ket", do { my $C = $C; if (($C) = ($C->_EXACT("\$\+\[")) and ($C) = ($C->obs('@+ variable', '.to method'))) { @@ -33902,19 +34185,19 @@ $C } ; ## token special_variable:sym<@+[ ]> { -sub special_variable__S_109AtPlusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_109AtPlusBra_Ket', $retree) } -sub special_variable__S_109AtPlusBra_Ket { -no warnings 'recursion'; +sub special_variable__S_114AtPlusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_114AtPlusBra_Ket', $retree) } +sub special_variable__S_114AtPlusBra_Ket { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_109AtPlusBra_Ket"); +my $C = $self->cursor_xact("RULE special_variable__S_114AtPlusBra_Ket"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\@\+\[\ \]"; -$self->_MATCHIFYr($S, "special_variable__S_109AtPlusBra_Ket", do { +$self->_MATCHIFYr($S, "special_variable__S_114AtPlusBra_Ket", do { my $C = $C; if (($C) = ($C->_EXACT("\@\+\[")) and ($C) = ($C->obs('@+ variable', '.to method'))) { @@ -33925,19 +34208,19 @@ $C } ; ## token special_variable:sym<@+{ }> { -sub special_variable__S_110AtPlusCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_110AtPlusCur_Ly', $retree) } -sub special_variable__S_110AtPlusCur_Ly { -no warnings 'recursion'; +sub special_variable__S_115AtPlusCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_115AtPlusCur_Ly', $retree) } +sub special_variable__S_115AtPlusCur_Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_110AtPlusCur_Ly"); +my $C = $self->cursor_xact("RULE special_variable__S_115AtPlusCur_Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\@\+\{\ \}"; -$self->_MATCHIFYr($S, "special_variable__S_110AtPlusCur_Ly", do { +$self->_MATCHIFYr($S, "special_variable__S_115AtPlusCur_Ly", do { my $C = $C; if (($C) = ($C->_EXACT("\@\+\{")) and ($C) = ($C->obs('%+ variable', '.to method'))) { @@ -33948,19 +34231,19 @@ $C } ; ## token special_variable:sym<@-> { -sub special_variable__S_111AtMinus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_111AtMinus', $retree) } -sub special_variable__S_111AtMinus { -no warnings 'recursion'; +sub special_variable__S_116AtMinus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_116AtMinus', $retree) } +sub special_variable__S_116AtMinus { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_111AtMinus"); +my $C = $self->cursor_xact("RULE special_variable__S_116AtMinus"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\@\-"; -$self->_MATCHIFYr($S, "special_variable__S_111AtMinus", do { +$self->_MATCHIFYr($S, "special_variable__S_116AtMinus", do { my $C = $C; if (($C) = ($C->_EXACT("\@\-")) and ($C) = ($C->_COMMITLTM()) @@ -33976,101 +34259,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_111AtMinus_0') { -$C->deb("Fate passed to special_variable__S_111AtMinus_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; -($C->{'_fate'}, $tag, $try) = @$fate; -@try = ($try); -$x = 'ALT special_variable__S_111AtMinus_0'; # some outer ltm is controlling us -} -else { -$x = 'ALTLTM special_variable__S_111AtMinus_0'; # we are top level ltm -} -my $C = $C->cursor_xact($x); -my $xact = $C->{_xact}; - -my @gather = (); -for (;;) { -unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_111AtMinus_0', $retree); -@try = $relex->($C) or last; -} -$try = shift(@try) // next; - -if (ref $try) { -($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate -} - -$C->deb("special_variable__S_111AtMinus_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; -push @gather, (( -sub { -my $C=shift; -$C->_PATTERN(qr/\G\s/) -}, -sub { -my $C=shift; -$C->_EXACT("\,") -}, -sub { -my $C=shift; -$C->_SUBSUMEr(['terminator'], sub { -my $C = shift; -$C->terminator -}) -} -)[$try])->($C); -last if @gather; -last if $xact->[-2]; # committed? -} -@gather; -}; - -})) { ($C) } else { () } -}))) { ($C) } else { () } -})) -and ($C) = ($C->obs('@- variable', '.from method'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<%-> { -sub special_variable__S_112PercentMinus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_112PercentMinus', $retree) } -sub special_variable__S_112PercentMinus { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_112PercentMinus"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\%\-"; -$self->_MATCHIFYr($S, "special_variable__S_112PercentMinus", do { -my $C = $C; -if (($C) = ($C->_EXACT("\%\-")) -and ($C) = ($C->_COMMITLTM()) -and ($C) = ($C->before(sub { -my $C=shift; -if (my ($C) = ($C->before(sub { -my $C=shift; -if (my ($C) = (do { -do { -my ($tag, $try); -my @try; -my $relex; - -my $fate; -my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_112PercentMinus_0') { -$C->deb("Fate passed to special_variable__S_112PercentMinus_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_116AtMinus_0') { +$C->deb("Fate passed to special_variable__S_116AtMinus_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_112PercentMinus_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_116AtMinus_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_112PercentMinus_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_116AtMinus_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -34078,7 +34274,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_112PercentMinus_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_116AtMinus_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -34087,7 +34283,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_112PercentMinus_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_116AtMinus_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -34114,52 +34310,6 @@ last if $xact->[-2]; # committed? })) { ($C) } else { () } }))) { ($C) } else { () } })) -and ($C) = ($C->obs('%- variable', '.from method'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<$-[ ]> { -sub special_variable__S_113DollarMinusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_113DollarMinusBra_Ket', $retree) } -sub special_variable__S_113DollarMinusBra_Ket { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_113DollarMinusBra_Ket"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\-\[\ \]"; -$self->_MATCHIFYr($S, "special_variable__S_113DollarMinusBra_Ket", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\-\[")) -and ($C) = ($C->obs('@- variable', '.from method'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<@-[ ]> { -sub special_variable__S_114AtMinusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_114AtMinusBra_Ket', $retree) } -sub special_variable__S_114AtMinusBra_Ket { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_114AtMinusBra_Ket"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\@\-\[\ \]"; -$self->_MATCHIFYr($S, "special_variable__S_114AtMinusBra_Ket", do { -my $C = $C; -if (($C) = ($C->_EXACT("\@\-\[")) and ($C) = ($C->obs('@- variable', '.from method'))) { $C } else { () } @@ -34167,45 +34317,22 @@ $C }); } ; -## token special_variable:sym<%-{ }> { -sub special_variable__S_115PercentMinusCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_115PercentMinusCur_Ly', $retree) } -sub special_variable__S_115PercentMinusCur_Ly { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_115PercentMinusCur_Ly"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\%\-\{\ \}"; -$self->_MATCHIFYr($S, "special_variable__S_115PercentMinusCur_Ly", do { -my $C = $C; -if (($C) = ($C->_EXACT("\@\-\{")) -and ($C) = ($C->obs('%- variable', '.from method'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<$+> { -sub special_variable__S_116DollarPlus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_116DollarPlus', $retree) } -sub special_variable__S_116DollarPlus { -no warnings 'recursion'; +## token special_variable:sym<%-> { +sub special_variable__S_117PercentMinus__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_117PercentMinus', $retree) } +sub special_variable__S_117PercentMinus { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_116DollarPlus"); +my $C = $self->cursor_xact("RULE special_variable__S_117PercentMinus"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$C->{sym} = "\$\+"; -$self->_MATCHIFYr($S, "special_variable__S_116DollarPlus", do { +$C->{sym} = "\%\-"; +$self->_MATCHIFYr($S, "special_variable__S_117PercentMinus", do { my $C = $C; -if (($C) = ($C->_EXACT("\$\+")) +if (($C) = ($C->_EXACT("\%\-")) and ($C) = ($C->_COMMITLTM()) and ($C) = ($C->before(sub { my $C=shift; @@ -34219,14 +34346,14 @@ my $relex; my $fate; my $x; -if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_116DollarPlus_0') { -$C->deb("Fate passed to special_variable__S_116DollarPlus_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; +if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_117PercentMinus_0') { +$C->deb("Fate passed to special_variable__S_117PercentMinus_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates; ($C->{'_fate'}, $tag, $try) = @$fate; @try = ($try); -$x = 'ALT special_variable__S_116DollarPlus_0'; # some outer ltm is controlling us +$x = 'ALT special_variable__S_117PercentMinus_0'; # some outer ltm is controlling us } else { -$x = 'ALTLTM special_variable__S_116DollarPlus_0'; # we are top level ltm +$x = 'ALTLTM special_variable__S_117PercentMinus_0'; # we are top level ltm } my $C = $C->cursor_xact($x); my $xact = $C->{_xact}; @@ -34234,7 +34361,7 @@ my $xact = $C->{_xact}; my @gather = (); for (;;) { unless (@try) { -$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_116DollarPlus_0', $retree); +$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_117PercentMinus_0', $retree); @try = $relex->($C) or last; } $try = shift(@try) // next; @@ -34243,7 +34370,7 @@ if (ref $try) { ($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate } -$C->deb("special_variable__S_116DollarPlus_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; +$C->deb("special_variable__S_117PercentMinus_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing; push @gather, (( sub { my $C=shift; @@ -34270,7 +34397,76 @@ last if $xact->[-2]; # committed? })) { ($C) } else { () } }))) { ($C) } else { () } })) -and ($C) = ($C->obs('$+ variable', 'Form module'))) { +and ($C) = ($C->obs('%- variable', '.from method'))) { +$C +} else { () } + +}); +} +; +## token special_variable:sym<$-[ ]> { +sub special_variable__S_118DollarMinusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_118DollarMinusBra_Ket', $retree) } +sub special_variable__S_118DollarMinusBra_Ket { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE special_variable__S_118DollarMinusBra_Ket"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "\$\-\[\ \]"; +$self->_MATCHIFYr($S, "special_variable__S_118DollarMinusBra_Ket", do { +my $C = $C; +if (($C) = ($C->_EXACT("\$\-\[")) +and ($C) = ($C->obs('@- variable', '.from method'))) { +$C +} else { () } + +}); +} +; +## token special_variable:sym<@-[ ]> { +sub special_variable__S_119AtMinusBra_Ket__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_119AtMinusBra_Ket', $retree) } +sub special_variable__S_119AtMinusBra_Ket { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE special_variable__S_119AtMinusBra_Ket"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "\@\-\[\ \]"; +$self->_MATCHIFYr($S, "special_variable__S_119AtMinusBra_Ket", do { +my $C = $C; +if (($C) = ($C->_EXACT("\@\-\[")) +and ($C) = ($C->obs('@- variable', '.from method'))) { +$C +} else { () } + +}); +} +; +## token special_variable:sym<%-{ }> { +sub special_variable__S_120PercentMinusCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_120PercentMinusCur_Ly', $retree) } +sub special_variable__S_120PercentMinusCur_Ly { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE special_variable__S_120PercentMinusCur_Ly"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "\%\-\{\ \}"; +$self->_MATCHIFYr($S, "special_variable__S_120PercentMinusCur_Ly", do { +my $C = $C; +if (($C) = ($C->_EXACT("\@\-\{")) +and ($C) = ($C->obs('%- variable', '.from method'))) { $C } else { () } @@ -34278,19 +34474,19 @@ $C } ; ## token special_variable:sym<${^ }> { -sub special_variable__S_117DollarCurCaret_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_117DollarCurCaret_Ly', $retree) } -sub special_variable__S_117DollarCurCaret_Ly { -no warnings 'recursion'; +sub special_variable__S_121DollarCurCaret_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_121DollarCurCaret_Ly', $retree) } +sub special_variable__S_121DollarCurCaret_Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_117DollarCurCaret_Ly"); +my $C = $self->cursor_xact("RULE special_variable__S_121DollarCurCaret_Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\{\^\ \}"; -$self->_MATCHIFYr($S, "special_variable__S_117DollarCurCaret_Ly", do { +$self->_MATCHIFYr($S, "special_variable__S_121DollarCurCaret_Ly", do { my $C = $C; if (($C) = ($C->_SUBSUMEr(['sigil'], sub { my $C = shift; @@ -34318,7 +34514,7 @@ $C ; ## method obscaret (Str $var, Str $sigil, Str $name) sub obscaret { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument var omitted' unless @_; my $var = @_ ? shift() : undef; @@ -34426,19 +34622,19 @@ $repl = "a global form such as $sigil*$name" } return $self->obs("$var variable", $repl); }; ## token special_variable:sym<::{ }> { -sub special_variable__S_118ColonColonCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_118ColonColonCur_Ly', $retree) } -sub special_variable__S_118ColonColonCur_Ly { -no warnings 'recursion'; +sub special_variable__S_122ColonColonCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_122ColonColonCur_Ly', $retree) } +sub special_variable__S_122ColonColonCur_Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_118ColonColonCur_Ly"); +my $C = $self->cursor_xact("RULE special_variable__S_122ColonColonCur_Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\:\:\{\ \}"; -$self->_MATCHIFYr($S, "special_variable__S_118ColonColonCur_Ly", do { +$self->_MATCHIFYr($S, "special_variable__S_122ColonColonCur_Ly", do { my $C = $C; if (($C) = ($C->_EXACT("\:\:")) and ($C) = ($C->before(sub { @@ -34455,19 +34651,19 @@ $C } ; ## regex special_variable:sym<${ }> { -sub special_variable__S_119DollarCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_119DollarCur_Ly', $retree) } -sub special_variable__S_119DollarCur_Ly { -no warnings 'recursion'; +sub special_variable__S_123DollarCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_123DollarCur_Ly', $retree) } +sub special_variable__S_123DollarCur_Ly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_119DollarCur_Ly"); +my $C = $self->cursor_xact("RULE special_variable__S_123DollarCur_Ly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\{\ \}"; -$self->_MATCHIFY($S, "special_variable__S_119DollarCur_Ly", LazyMap::lazymap(sub { +$self->_MATCHIFY($S, "special_variable__S_123DollarCur_Ly", LazyMap::lazymap(sub { my $C=shift; if (($C) = ($C->_EXACT("\{")) and ($C) = (scalar(do { @@ -34475,6 +34671,8 @@ and ($C) = (scalar(do { LazyMap::lazymap(sub { my $C=shift; if (my ($C) = ($C->_EXACT("\}"))) { +LazyMap::lazymap(sub { +my $C=shift; scalar(do { my $M = $C; my $sigil = $M->{'sigil'}->Str; @@ -34490,6 +34688,12 @@ $C->obs($bad, '{' . $sigil . $text . '}')} else { $C->obs($bad, $sigil . $text)}; }, $C) +}, +$C->_NOTBEFORE(sub { +my $C=shift; +(($C) x !!do { +$::IN_DECL }) +})) } else { () } }, $C->_SUBSUME(['text'], sub { @@ -34507,68 +34711,27 @@ $C->sigil }))); } ; -## token special_variable:sym<$[> { -sub special_variable__S_120DollarBra__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_120DollarBra', $retree) } -sub special_variable__S_120DollarBra { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_120DollarBra"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\["; -$self->_MATCHIFYr($S, "special_variable__S_120DollarBra", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\[")) -and ($C) = ($C->obs('$[ variable', 'user-defined array indices'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym<$]> { -sub special_variable__S_121DollarKet__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_121DollarKet', $retree) } -sub special_variable__S_121DollarKet { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_121DollarKet"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\]"; -$self->_MATCHIFYr($S, "special_variable__S_121DollarKet", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\]")) -and ($C) = ($C->obs('$] variable', '$*PERL_VERSION'))) { -$C -} else { () } - -}); -} -; ## token special_variable:sym<$\\> { -sub special_variable__S_122DollarBack__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_122DollarBack', $retree) } -sub special_variable__S_122DollarBack { -no warnings 'recursion'; +sub special_variable__S_124DollarBack__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_124DollarBack', $retree) } +sub special_variable__S_124DollarBack { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_122DollarBack"); +my $C = $self->cursor_xact("RULE special_variable__S_124DollarBack"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\\"; -$self->_MATCHIFYr($S, "special_variable__S_122DollarBack", do { +$self->_MATCHIFYr($S, "special_variable__S_124DollarBack", do { my $C = $C; if (($C) = ($C->_EXACT("\$\\")) +and ($C) = ($C->_NOTBEFORE(sub { +my $C=shift; +(($C) x !!do { +$::IN_DECL }) +})) and ($C) = ($C->obs('$\\ variable', "the filehandle's :ors attribute"))) { $C } else { () } @@ -34577,21 +34740,28 @@ $C } ; ## token special_variable:sym<$|> { -sub special_variable__S_123DollarVert__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_123DollarVert', $retree) } -sub special_variable__S_123DollarVert { -no warnings 'recursion'; +sub special_variable__S_125DollarVert__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_125DollarVert', $retree) } +sub special_variable__S_125DollarVert { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_123DollarVert"); +my $C = $self->cursor_xact("RULE special_variable__S_125DollarVert"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\|"; -$self->_MATCHIFYr($S, "special_variable__S_123DollarVert", do { +$self->_MATCHIFYr($S, "special_variable__S_125DollarVert", do { my $C = $C; if (($C) = ($C->_EXACT("\$\|")) +and ($C) = ($C->before(sub { +my $C=shift; +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) +}))) { ($C) } else { () } +})) and ($C) = ($C->obs('$| variable', ':autoflush on open'))) { $C } else { () } @@ -34600,26 +34770,26 @@ $C } ; ## token special_variable:sym<$:> { -sub special_variable__S_124DollarColon__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_124DollarColon', $retree) } -sub special_variable__S_124DollarColon { -no warnings 'recursion'; +sub special_variable__S_126DollarColon__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_126DollarColon', $retree) } +sub special_variable__S_126DollarColon { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_124DollarColon"); +my $C = $self->cursor_xact("RULE special_variable__S_126DollarColon"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\:"; -$self->_MATCHIFYr($S, "special_variable__S_124DollarColon", do { +$self->_MATCHIFYr($S, "special_variable__S_126DollarColon", do { my $C = $C; if (($C) = ($C->_EXACT("\$\:")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G\w/) +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) and ($C) = ($C->obs('$: variable', 'Form module'))) { @@ -34630,21 +34800,28 @@ $C } ; ## token special_variable:sym<$;> { -sub special_variable__S_125DollarSemi__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_125DollarSemi', $retree) } -sub special_variable__S_125DollarSemi { -no warnings 'recursion'; +sub special_variable__S_127DollarSemi__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_127DollarSemi', $retree) } +sub special_variable__S_127DollarSemi { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_125DollarSemi"); +my $C = $self->cursor_xact("RULE special_variable__S_127DollarSemi"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\;"; -$self->_MATCHIFYr($S, "special_variable__S_125DollarSemi", do { +$self->_MATCHIFYr($S, "special_variable__S_127DollarSemi", do { my $C = $C; if (($C) = ($C->_EXACT("\$\;")) +and ($C) = ($C->before(sub { +my $C=shift; +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) +}))) { ($C) } else { () } +})) and ($C) = ($C->obs('$; variable', 'real multidimensional hashes'))) { $C } else { () } @@ -34653,19 +34830,19 @@ $C } ; ## token special_variable:sym<$'> { #' -sub special_variable__S_126DollarSingle__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_126DollarSingle', $retree) } -sub special_variable__S_126DollarSingle { -no warnings 'recursion'; +sub special_variable__S_128DollarSingle__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_128DollarSingle', $retree) } +sub special_variable__S_128DollarSingle { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_126DollarSingle"); +my $C = $self->cursor_xact("RULE special_variable__S_128DollarSingle"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\'"; -$self->_MATCHIFYr($S, "special_variable__S_126DollarSingle", do { +$self->_MATCHIFYr($S, "special_variable__S_128DollarSingle", do { my $C = $C; if (($C) = ($C->_EXACT("\$\'")) and ($C) = ($C->_NOTBEFORE(sub { @@ -34673,7 +34850,7 @@ my $C=shift; (($C) x !!do { $::QSIGIL }) })) -and ($C) = ($C->obs('$' . "'" . 'variable', "explicit pattern after )\x{3E}"))) { +and ($C) = ($C->obs('$' . "'" . ' variable', '$/.postmatch'))) { $C } else { () } @@ -34681,25 +34858,27 @@ $C } ; ## token special_variable:sym<$"> { -sub special_variable__S_127DollarDouble__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_127DollarDouble', $retree) } -sub special_variable__S_127DollarDouble { -no warnings 'recursion'; +sub special_variable__S_129DollarDouble__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_129DollarDouble', $retree) } +sub special_variable__S_129DollarDouble { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_127DollarDouble"); +my $C = $self->cursor_xact("RULE special_variable__S_129DollarDouble"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\""; -$self->_MATCHIFYr($S, "special_variable__S_127DollarDouble", do { +$self->_MATCHIFYr($S, "special_variable__S_129DollarDouble", do { my $C = $C; if (($C) = ($C->_EXACT("\$\"")) -and ($C) = ($C->_NOTBEFORE(sub { +and ($C) = ($C->before(sub { my $C=shift; -(($C) x !!do { -$::QSIGIL }) +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) +}))) { ($C) } else { () } })) and ($C) = ($C->obs('$" variable', '.join() method'))) { $C @@ -34709,87 +34888,29 @@ $C } ; ## token special_variable:sym<$,> { -sub special_variable__S_128DollarComma__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_128DollarComma', $retree) } -sub special_variable__S_128DollarComma { -no warnings 'recursion'; +sub special_variable__S_130DollarComma__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_130DollarComma', $retree) } +sub special_variable__S_130DollarComma { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE special_variable__S_128DollarComma"); +my $C = $self->cursor_xact("RULE special_variable__S_130DollarComma"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\$\,"; -$self->_MATCHIFYr($S, "special_variable__S_128DollarComma", do { +$self->_MATCHIFYr($S, "special_variable__S_130DollarComma", do { my $C = $C; if (($C) = ($C->_EXACT("\$\,")) -and ($C) = ($C->obs('$, variable', ".join() method"))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym['$<'] { -sub special_variable__S_129DollarLt__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_129DollarLt', $retree) } -sub special_variable__S_129DollarLt { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_129DollarLt"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\<"; -$self->_MATCHIFYr($S, "special_variable__S_129DollarLt", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\<")) and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -do { -my $C = $C; -if (($C) = ($C->_PATTERN(qr/\G[\x20\t\r]*+[=,;?:!)\]}]/)) -and ($C) = ($C->_NOTBEFORE(sub { -my $C=shift; -if (my ($C) = ($C->before(sub { -my $C=shift; -$C->_PATTERN(qr/\G\S*+\>/) -}))) { ($C) } else { () } -}))) { -$C -} else { () } -}; +$C->_PATTERN(qr/\G[\x20\t\r]*+\=/) }))) { ($C) } else { () } })) -and ($C) = ($C->obs('$< variable', '$*UID'))) { -$C -} else { () } - -}); -} -; -## token special_variable:sym«\$>» { -sub special_variable__S_130DollarGt__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_130DollarGt', $retree) } -sub special_variable__S_130DollarGt { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE special_variable__S_130DollarGt"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "\$\>"; -$self->_MATCHIFYr($S, "special_variable__S_130DollarGt", do { -my $C = $C; -if (($C) = ($C->_EXACT("\$\>")) -and ($C) = ($C->obs('$> variable', '$*EUID'))) { +and ($C) = ($C->obs('$, variable', ".join() method"))) { $C } else { () } @@ -34799,7 +34920,7 @@ $C ## token special_variable:sym<$.> { sub special_variable__S_131DollarDot__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_131DollarDot', $retree) } sub special_variable__S_131DollarDot { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -34878,7 +34999,7 @@ $C ## token special_variable:sym<$?> { sub special_variable__S_132DollarQuestion__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_132DollarQuestion', $retree) } sub special_variable__S_132DollarQuestion { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -34957,7 +35078,7 @@ $C ## token desigilname { sub desigilname__PEEK { $_[0]->_AUTOLEXpeek('desigilname', $retree) } sub desigilname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35081,7 +35202,7 @@ last if $xact->[-2]; # committed? ## token variable { sub variable__PEEK { $_[0]->_AUTOLEXpeek('variable', $retree) } sub variable { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_META = '';my $sigil = '';my $twigil = '';my $name; @@ -35475,16 +35596,49 @@ if (($C) = ($C->_SUBSUMEr(['sigil'], sub { my $C = shift; $C->sigil })) -and ($C) = ($C->before(sub { +and ($C) = ($C->_BRACKETr(sub { my $C=shift; -if (my ($C) = ($C->before(sub { +local $::GOAL = "\)"; +my $goalpos = $C; +my $newlang = $C->unbalanced($::GOAL); +$C = bless($C, (ref($newlang) || $newlang)); +if (($C) = ($C->_EXACT("\(")) +and ($C) = (scalar(do { +}, $C)) +and ($C) = ($C->_SUBSUMEr(['semilist'], sub { +my $C = shift; +$C->semilist +})) +and ($C) = ($C->_BRACKETr(sub { my $C=shift; -$C->_EXACT("\(") -}))) { ($C) } else { () } +do { my $C = $C->cursor_xact('ALT ||'); +my $xact = $C->xact; +my @gather; +do { +push @gather, do { +if (my ($C) = ($C->_EXACT($::GOAL))) { ($C) } else { () } + +} +} +or $xact->[-2] or +do { +push @gather, do { +if (my ($C) = ($C->FAILGOAL($::GOAL, 'contextualizer', $goalpos))) { ($C) } else { () } + +} +}; +@gather; +} +}))) { +$C +} else { () } })) -and ($C) = ($C->_SUBSUMEr(['postcircumfix'], sub { +and ($C) = (scalar(do { +my $M = $C; +$::LEFTSIGIL ||= $M->{'sigil'}->Str }, $C)) +and ($C) = ($C->_SUBSUMEr(['O'], sub { my $C = shift; -$C->postcircumfix +$C->O(%term) }))) { $C->_OPTr(sub { my $C=shift; @@ -35504,30 +35658,10 @@ $C }, sub { my $C=shift; -if (($C) = ($C->_SUBSUMEr(['sigil'], sub { +$C->_SUBSUMEr(['sigil'], sub { my $C = shift; $C->sigil -})) -and ($C) = ($C->before(sub { -my $C=shift; -(($C) x !!do { -$::IN_DECL }) -}))) { -$C -} else { () } -}, -sub { -my $C=shift; -if (my ($C) = ($C->before(sub { -my $C=shift; -$C -}))) { -scalar(do { -if ($::QSIGIL) { -return ()} -else { -$C->sorry("Non-declarative sigil is missing its name")}}, $C) -} else { () } +}) } )[$try])->($C); last if @gather; @@ -35635,7 +35769,7 @@ $C->postcircumfix ## token defterm { # XXX this is probably too general sub defterm__PEEK { $_[0]->_AUTOLEXpeek('defterm', $retree) } sub defterm { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35721,7 +35855,7 @@ $C ## token deflongname { sub deflongname__PEEK { $_[0]->_AUTOLEXpeek('deflongname', $retree) } sub deflongname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35807,7 +35941,7 @@ $C ## token subshortname { sub subshortname__PEEK { $_[0]->_AUTOLEXpeek('subshortname', $retree) } sub subshortname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35886,7 +36020,7 @@ last if $xact->[-2]; # committed? ## token sublongname { sub sublongname__PEEK { $_[0]->_AUTOLEXpeek('sublongname', $retree) } sub sublongname { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35916,7 +36050,7 @@ $C->sigterm ## token value:quote { } sub value__S_133quote__PEEK { $_[0]->_AUTOLEXpeek('value__S_133quote', $retree) } sub value__S_133quote { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35935,7 +36069,7 @@ $C->quote ## token value:number { } sub value__S_134number__PEEK { $_[0]->_AUTOLEXpeek('value__S_134number', $retree) } sub value__S_134number { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35954,7 +36088,7 @@ $C->number ## token value:version { } sub value__S_135version__PEEK { $_[0]->_AUTOLEXpeek('value__S_135version', $retree) } sub value__S_135version { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -35973,7 +36107,7 @@ $C->version ## token typename { sub typename__PEEK { $_[0]->_AUTOLEXpeek('typename', $retree) } sub typename { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36148,7 +36282,7 @@ $C->typename ## token number { sub number__PEEK { $_[0]->_AUTOLEXpeek('number', $retree) } sub number { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36233,7 +36367,7 @@ last if $xact->[-2]; # committed? ## token numeric:rational { <[+\-]>?'/' } sub numeric__S_136rational__PEEK { $_[0]->_AUTOLEXpeek('numeric__S_136rational', $retree) } sub numeric__S_136rational { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36263,7 +36397,7 @@ $C->integer ## token numeric:complex { [<[+\-]>?]? <[+\-]>'\\'?'i' } sub numeric__S_137complex__PEEK { $_[0]->_AUTOLEXpeek('numeric__S_137complex', $retree) } sub numeric__S_137complex { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36302,7 +36436,7 @@ $C->_PATTERN(qr/\G\\?+i/) ## token numeric:number { <[+\-]>? } sub numeric__S_138number__PEEK { $_[0]->_AUTOLEXpeek('numeric__S_138number', $retree) } sub numeric__S_138number { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36326,7 +36460,7 @@ $C->number ## token sibble ($l, $lang2) { sub sibble__PEEK { $_[0]->_AUTOLEXpeek('sibble', $retree) } sub sibble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument l omitted' unless @_; @@ -36396,7 +36530,7 @@ if (my ($C) = ($C->_BRACKETr(sub { my $C=shift; if (($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G[\[\{\(\<]/) +$C->_PATTERN(qr/\G[[{(<]/) })) and ($C) = ($C->obs('brackets around replacement', 'assignment syntax'))) { $C @@ -36435,7 +36569,7 @@ if (my ($C) = ($C->before(sub { my $C=shift; (($C) x !!do { my $M = $C; -$M->{'infixish'}->Str eq '=' || $M->{'infixish'}->{'infix_postfix_meta_operator'} }) +$M->{'infixish'}->Str eq '=' || $M->{'infixish'}->{'infix_postfix_meta_operator'}->[0] }) }))) { ($C) } else { () } } @@ -36450,11 +36584,29 @@ if (my ($C) = ($C->panic("Malformed assignment operator"))) { ($C) } else { () } @gather; } })) -and ($C) = ($C->ws)) { -$C->_SUBSUMEr(['right','EXPR'], sub { +and ($C) = ($C->ws) +and ($C) = ($C->_BRACKETr(sub { +my $C=shift; +do { my $C = $C->cursor_xact('ALT ||'); +my $xact = $C->xact; +my @gather; +do { +push @gather, $C->_SUBSUMEr(['right','EXPR'], sub { my $C = shift; $C->EXPR(\%item_assignment) }) +} +or $xact->[-2] or +do { +push @gather, do { +if (my ($C) = ($C->panic("Assignment operator missing its expression"))) { ($C) } else { () } + +} +}; +@gather; +} +}))) { +$C } else { () } } @@ -36494,7 +36646,7 @@ $C ## token tribble ($l, $lang2 = $l) { sub tribble__PEEK { $_[0]->_AUTOLEXpeek('tribble', $retree) } sub tribble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument l omitted' unless @_; @@ -36602,7 +36754,7 @@ $C ## token quasiquibble ($l) { sub quasiquibble__PEEK { $_[0]->_AUTOLEXpeek('quasiquibble', $retree) } sub quasiquibble { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; die 'Required argument l omitted' unless @_; @@ -36710,7 +36862,7 @@ $C ## token quote:sym { sub quote__S_139SlashSlash__PEEK { $_[0]->_AUTOLEXpeek('quote__S_139SlashSlash', $retree) } sub quote__S_139SlashSlash { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36733,7 +36885,7 @@ $C ## token quote:sym { sub quote__S_140Slash_Slash__PEEK { $_[0]->_AUTOLEXpeek('quote__S_140Slash_Slash', $retree) } sub quote__S_140Slash_Slash { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -36780,7 +36932,7 @@ if (my ($C) = ($C->old_rx_mods)) { ($C) } else { () } ## token quote:qq { sub quote__S_141qq__PEEK { $_[0]->_AUTOLEXpeek('quote__S_141qq', $retree) } sub quote__S_141qq { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $qm; @@ -36885,7 +37037,7 @@ $C ## token quote:q { sub quote__S_142q__PEEK { $_[0]->_AUTOLEXpeek('quote__S_142q', $retree) } sub quote__S_142q { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $qm; @@ -36989,7 +37141,7 @@ $C ## token quote:Q { sub quote__S_143Q__PEEK { $_[0]->_AUTOLEXpeek('quote__S_143Q', $retree) } sub quote__S_143Q { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $qm; @@ -37093,7 +37245,7 @@ $C ## token quote_mod:w { } sub quote_mod__S_144w__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_144w', $retree) } sub quote_mod__S_144w { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37109,7 +37261,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_144w", $C->_EXACT("w")); ## token quote_mod:ww { } sub quote_mod__S_145ww__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_145ww', $retree) } sub quote_mod__S_145ww { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37125,7 +37277,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_145ww", $C->_EXACT("ww")); ## token quote_mod:p { } sub quote_mod__S_146p__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_146p', $retree) } sub quote_mod__S_146p { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37141,7 +37293,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_146p", $C->_EXACT("p")); ## token quote_mod:x { } sub quote_mod__S_147x__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_147x', $retree) } sub quote_mod__S_147x { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37157,7 +37309,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_147x", $C->_EXACT("x")); ## token quote_mod:to { } sub quote_mod__S_148to__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_148to', $retree) } sub quote_mod__S_148to { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37173,7 +37325,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_148to", $C->_EXACT("to")); ## token quote_mod:s { } sub quote_mod__S_149s__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_149s', $retree) } sub quote_mod__S_149s { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37189,7 +37341,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_149s", $C->_EXACT("s")); ## token quote_mod:a { } sub quote_mod__S_150a__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_150a', $retree) } sub quote_mod__S_150a { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37205,7 +37357,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_150a", $C->_EXACT("a")); ## token quote_mod:h { } sub quote_mod__S_151h__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_151h', $retree) } sub quote_mod__S_151h { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37221,7 +37373,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_151h", $C->_EXACT("h")); ## token quote_mod:f { } sub quote_mod__S_152f__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_152f', $retree) } sub quote_mod__S_152f { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37237,7 +37389,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_152f", $C->_EXACT("f")); ## token quote_mod:c { } sub quote_mod__S_153c__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_153c', $retree) } sub quote_mod__S_153c { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37253,7 +37405,7 @@ $self->_MATCHIFYr($S, "quote_mod__S_153c", $C->_EXACT("c")); ## token quote_mod:b { } sub quote_mod__S_154b__PEEK { $_[0]->_AUTOLEXpeek('quote_mod__S_154b', $retree) } sub quote_mod__S_154b { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37269,10 +37421,10 @@ $self->_MATCHIFYr($S, "quote_mod__S_154b", $C->_EXACT("b")); ## token quote:rx { sub quote__S_155rx__PEEK { $_[0]->_AUTOLEXpeek('quote__S_155rx', $retree) } sub quote__S_155rx { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_155rx"); @@ -37306,10 +37458,10 @@ $C ## token quote:m { sub quote__S_156m__PEEK { $_[0]->_AUTOLEXpeek('quote__S_156m', $retree) } sub quote__S_156m { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_156m"); @@ -37343,10 +37495,10 @@ $C ## token quote:ms { sub quote__S_157ms__PEEK { $_[0]->_AUTOLEXpeek('quote__S_157ms', $retree) } sub quote__S_157ms { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_157ms"); @@ -37380,10 +37532,10 @@ $C ## token quote:s { sub quote__S_158s__PEEK { $_[0]->_AUTOLEXpeek('quote__S_158s', $retree) } sub quote__S_158s { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_158s"); @@ -37417,10 +37569,10 @@ $C ## token quote:ss { sub quote__S_159ss__PEEK { $_[0]->_AUTOLEXpeek('quote__S_159ss', $retree) } sub quote__S_159ss { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_159ss"); @@ -37454,10 +37606,10 @@ $C ## token quote:tr { sub quote__S_160tr__PEEK { $_[0]->_AUTOLEXpeek('quote__S_160tr', $retree) } sub quote__S_160tr { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; - +local %::RX = %::RX; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE quote__S_160tr"); @@ -37491,7 +37643,7 @@ $C ## token old_rx_mods { sub old_rx_mods__PEEK { $_[0]->_AUTOLEXpeek('old_rx_mods', $retree) } sub old_rx_mods { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37544,7 +37696,7 @@ $C->obs('suffix regex modifiers','prefix adverbs'); ## token old_tr_mods { sub old_tr_mods__PEEK { $_[0]->_AUTOLEXpeek('old_tr_mods', $retree) } sub old_tr_mods { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37582,7 +37734,7 @@ $C->obs('suffix transliteration modifiers','prefix adverbs'); ## token quote:quasi { sub quote__S_161quasi__PEEK { $_[0]->_AUTOLEXpeek('quote__S_161quasi', $retree) } sub quote__S_161quasi { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37614,7 +37766,7 @@ $C->quasiquibble($C->cursor_fresh( $::LANG{'Quasi'} )) ## token capterm { sub capterm__PEEK { $_[0]->_AUTOLEXpeek('capterm', $retree) } sub capterm { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37714,7 +37866,7 @@ $C ## rule capture { sub capture__PEEK { $_[0]->_AUTOLEXpeek('capture', $retree) } sub capture { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::INVOCANT_OK = 1; @@ -37739,7 +37891,7 @@ $C ## token sigterm { sub sigterm__PEEK { $_[0]->_AUTOLEXpeek('sigterm', $retree) } sub sigterm { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37790,7 +37942,7 @@ $C ## rule param_sep {'' [','|':'|';'|';;'] } sub param_sep__PEEK { $_[0]->_AUTOLEXpeek('param_sep', $retree) } sub param_sep { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -37870,7 +38022,7 @@ $C ## token fakesignature() { sub fakesignature__PEEK { $_[0]->_AUTOLEXpeek('fakesignature', $retree) } sub fakesignature { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::CURLEX = $::CURLEX;local $::DECLARAND; @@ -37893,7 +38045,7 @@ $C->signature ## token signature ($lexsig = 0) { sub signature__PEEK { $_[0]->_AUTOLEXpeek('signature', $retree) } sub signature { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $lexsig = @_ ? shift() : 0; @@ -37903,10 +38055,9 @@ local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; my $C = $self->cursor_xact("RULE signature"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$C->{'longname'} = []; $C->{'param_sep'} = []; $C->{'parameter'} = []; -$C->{'type_constraint'} = []; +$C->{'returnparam'} = []; $self->_MATCHIFYr($S, "signature", do { my $C = $C; if (($C) = ($C->ws) @@ -38228,23 +38379,22 @@ do { my $C = $C->cursor_xact('ALT ||'); my $xact = $C->xact; my @gather; do { -push @gather, $C->_SUBSUMEr(['type_constraint'], sub { -my $C = shift; -$C->type_constraint -}) -} -or $xact->[-2] or -do { push @gather, do { my $C = $C; -if (($C) = ($C->_SUBSUMEr(['longname'], sub { +if (($C) = ($C->_REPSEPr( sub { +my $C=shift; +$C->_SUBSUMEr(['param_sep'], sub { my $C = shift; -$C->longname +$C->param_sep +}) +}, sub { +my $C=shift; +$C->_SUBSUMEr(['returnparam','parameter'], sub { +my $C = shift; +$C->parameter +}) })) -and ($C) = (do { -my $M = $C; -$C->panic("Typename " . $M->{'longname'}->[0]->Str . " must be predeclared") -})) { +and ($C) = ($C->ws)) { $C } else { () } @@ -38253,14 +38403,13 @@ $C or $xact->[-2] or do { push @gather, do { -if (my ($C) = ($C->panic("No type found after -->"))) { ($C) } else { () } +if (my ($C) = ($C->panic("No return type or value found after -->"))) { ($C) } else { () } } }; @gather; } -})) -and ($C) = ($C->ws)) { +}))) { $C } else { () } }))) { ($C) } else { () } @@ -38281,7 +38430,7 @@ delete $::CURLEX->{'!NEEDSIG'}; ## rule type_declarator:subset { sub type_declarator__S_162subset__PEEK { $_[0]->_AUTOLEXpeek('type_declarator__S_162subset', $retree) } sub type_declarator__S_162subset { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 'subset';local $::DECLARAND; @@ -38373,7 +38522,7 @@ $C ## token type_declarator:enum { sub type_declarator__S_163enum__PEEK { $_[0]->_AUTOLEXpeek('type_declarator__S_163enum', $retree) } sub type_declarator__S_163enum { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 'enum';local $::DECLARAND; @@ -38493,7 +38642,7 @@ $C->add_enum($M->{'name'}, $M->{'term'}->Str)}, $C) ## token type_declarator:constant { sub type_declarator__S_164constant__PEEK { $_[0]->_AUTOLEXpeek('type_declarator__S_164constant', $retree) } sub type_declarator__S_164constant { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = 'constant';local $::DECLARAND; @@ -38620,7 +38769,7 @@ $C ## token initializer:sym<=> { sub initializer__S_165Equal__PEEK { $_[0]->_AUTOLEXpeek('initializer__S_165Equal', $retree) } sub initializer__S_165Equal { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -38660,7 +38809,7 @@ if (my ($C) = ($C->panic("Malformed initializer"))) { ($C) } else { () } ## token initializer:sym<:=> { sub initializer__S_166ColonEqual__PEEK { $_[0]->_AUTOLEXpeek('initializer__S_166ColonEqual', $retree) } sub initializer__S_166ColonEqual { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -38700,7 +38849,7 @@ if (my ($C) = ($C->panic("Malformed binding"))) { ($C) } else { () } ## token initializer:sym<::=> { sub initializer__S_167ColonColonEqual__PEEK { $_[0]->_AUTOLEXpeek('initializer__S_167ColonColonEqual', $retree) } sub initializer__S_167ColonColonEqual { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -38740,7 +38889,7 @@ if (my ($C) = ($C->panic("Malformed binding"))) { ($C) } else { () } ## token initializer:sym<.=> { sub initializer__S_168DotEqual__PEEK { $_[0]->_AUTOLEXpeek('initializer__S_168DotEqual', $retree) } sub initializer__S_168DotEqual { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -38780,7 +38929,7 @@ if (my ($C) = ($C->panic("Malformed mutator method call"))) { ($C) } else { () } ## token type_constraint { sub type_constraint__PEEK { $_[0]->_AUTOLEXpeek('type_constraint', $retree) } sub type_constraint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = ''; @@ -38885,7 +39034,7 @@ $C ## rule post_constraint { sub post_constraint__PEEK { $_[0]->_AUTOLEXpeek('post_constraint', $retree) } sub post_constraint { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = ''; @@ -39044,7 +39193,7 @@ $C ## token named_param { sub named_param__PEEK { $_[0]->_AUTOLEXpeek('named_param', $retree) } sub named_param { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::GOAL = ')'; @@ -39159,9 +39308,40 @@ last if $xact->[-2]; # committed? } @gather; }; +})) +and ($C) = ($C->_OPTr(sub { +my $C=shift; +if (my ($C) = ($C->_BRACKETr(sub { +my $C=shift; +if (($C) = ($C->before(sub { +my $C=shift; +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[([]/) +}))) { ($C) } else { () } +})) +and ($C) = ($C->panic("Subsignature not allowed after named parameter; please insert whitespace"))) { +$C +} else { () } +}))) { ($C) } else { () } }))) { +$C->_OPTr(sub { +my $C=shift; +if (my ($C) = ($C->_BRACKETr(sub { +my $C=shift; +if (($C) = ($C->before(sub { +my $C=shift; +if (my ($C) = ($C->before(sub { +my $C=shift; +$C->_PATTERN(qr/\G[{<]/) +}))) { ($C) } else { () } +})) +and ($C) = ($C->panic("Cannot apply this shape"))) { $C } else { () } +}))) { ($C) } else { () } +}) +} else { () } }); } @@ -39169,7 +39349,7 @@ $C ## token named_param_term { sub named_param_term__PEEK { $_[0]->_AUTOLEXpeek('named_param_term', $retree) } sub named_param_term { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -39256,7 +39436,7 @@ $C ## token param_var($named = 0) { sub param_var__PEEK { $_[0]->_AUTOLEXpeek('param_var', $retree) } sub param_var { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $named = @_ ? shift() : 0; @@ -39448,7 +39628,7 @@ and ($C) = ($C->before(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G[\<\(\[\{]/) +$C->_PATTERN(qr/\G[<([{]/) }))) { ($C) } else { () } }))) { $C->_SUBSUMEr(['postcircumfix'], sub { @@ -39539,7 +39719,7 @@ last if $xact->[-2]; # committed? ## token parameter { sub parameter__PEEK { $_[0]->_AUTOLEXpeek('parameter', $retree) } sub parameter { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; my $kind;my $quant = '';local $::DECLARAND;local $::OFTYPE; @@ -40207,7 +40387,7 @@ if (($C) = ($C->_NOTBEFORE(sub { my $C=shift; if (my ($C) = ($C->before(sub { my $C=shift; -$C->_PATTERN(qr/\G[,;)\]\{\}\-]/) +$C->_PATTERN(qr/\G[,;)\]{\}\-]/) }))) { ($C) } else { () } })) and ($C) = ($C->sorry("Default expression must come last"))) { @@ -40282,7 +40462,7 @@ $::zone = 'var'} ## rule default_value { sub default_value__PEEK { $_[0]->_AUTOLEXpeek('default_value', $retree) } sub default_value { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; local $::IN_DECL = ''; @@ -40303,23 +40483,95 @@ and ($C) = ($C->ws)) { $C } else { () } +}); +} +; +## token statement_prefix:once { } +sub statement_prefix__S_169once__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_169once', $retree) } +sub statement_prefix__S_169once { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_prefix__S_169once"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "once"; +$self->_MATCHIFYr($S, "statement_prefix__S_169once", do { +if (my ($C) = ($C->_EXACT("once"))) { +$C->_SUBSUMEr(['blast'], sub { +my $C = shift; +$C->blast +}) +} else { () } + +}); +} +; +## token statement_prefix:eager { } +sub statement_prefix__S_170eager__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_170eager', $retree) } +sub statement_prefix__S_170eager { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_prefix__S_170eager"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "eager"; +$self->_MATCHIFYr($S, "statement_prefix__S_170eager", do { +if (my ($C) = ($C->_EXACT("eager"))) { +$C->_SUBSUMEr(['blast'], sub { +my $C = shift; +$C->blast +}) +} else { () } + +}); +} +; +## token statement_prefix:lazy { } +sub statement_prefix__S_171lazy__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_171lazy', $retree) } +sub statement_prefix__S_171lazy { +no warnings 'recursion', 'experimental'; +my $self = shift; + + +local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; + +my $C = $self->cursor_xact("RULE statement_prefix__S_171lazy"); +my $xact = $C->xact; +my $S = $C->{'_pos'}; +$C->{sym} = "lazy"; +$self->_MATCHIFYr($S, "statement_prefix__S_171lazy", do { +if (my ($C) = ($C->_EXACT("lazy"))) { +$C->_SUBSUMEr(['blast'], sub { +my $C = shift; +$C->blast +}) +} else { () } + }); } ; ## token statement_prefix:sink { } -sub statement_prefix__S_169sink__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_169sink', $retree) } -sub statement_prefix__S_169sink { -no warnings 'recursion'; +sub statement_prefix__S_172sink__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_172sink', $retree) } +sub statement_prefix__S_172sink { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_169sink"); +my $C = $self->cursor_xact("RULE statement_prefix__S_172sink"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "sink"; -$self->_MATCHIFYr($S, "statement_prefix__S_169sink", do { +$self->_MATCHIFYr($S, "statement_prefix__S_172sink", do { if (my ($C) = ($C->_EXACT("sink"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40331,19 +40583,19 @@ $C->blast } ; ## token statement_prefix:try { } -sub statement_prefix__S_170try__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_170try', $retree) } -sub statement_prefix__S_170try { -no warnings 'recursion'; +sub statement_prefix__S_173try__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_173try', $retree) } +sub statement_prefix__S_173try { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_170try"); +my $C = $self->cursor_xact("RULE statement_prefix__S_173try"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "try"; -$self->_MATCHIFYr($S, "statement_prefix__S_170try", do { +$self->_MATCHIFYr($S, "statement_prefix__S_173try", do { if (my ($C) = ($C->_EXACT("try"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40355,19 +40607,19 @@ $C->blast } ; ## token statement_prefix:quietly { } -sub statement_prefix__S_171quietly__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_171quietly', $retree) } -sub statement_prefix__S_171quietly { -no warnings 'recursion'; +sub statement_prefix__S_174quietly__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_174quietly', $retree) } +sub statement_prefix__S_174quietly { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_171quietly"); +my $C = $self->cursor_xact("RULE statement_prefix__S_174quietly"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "quietly"; -$self->_MATCHIFYr($S, "statement_prefix__S_171quietly", do { +$self->_MATCHIFYr($S, "statement_prefix__S_174quietly", do { if (my ($C) = ($C->_EXACT("quietly"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40379,19 +40631,19 @@ $C->blast } ; ## token statement_prefix:gather { } -sub statement_prefix__S_172gather__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_172gather', $retree) } -sub statement_prefix__S_172gather { -no warnings 'recursion'; +sub statement_prefix__S_175gather__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_175gather', $retree) } +sub statement_prefix__S_175gather { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_172gather"); +my $C = $self->cursor_xact("RULE statement_prefix__S_175gather"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "gather"; -$self->_MATCHIFYr($S, "statement_prefix__S_172gather", do { +$self->_MATCHIFYr($S, "statement_prefix__S_175gather", do { if (my ($C) = ($C->_EXACT("gather"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40403,19 +40655,19 @@ $C->blast } ; ## token statement_prefix:contend { } -sub statement_prefix__S_173contend__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_173contend', $retree) } -sub statement_prefix__S_173contend { -no warnings 'recursion'; +sub statement_prefix__S_176contend__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_176contend', $retree) } +sub statement_prefix__S_176contend { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_173contend"); +my $C = $self->cursor_xact("RULE statement_prefix__S_176contend"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "contend"; -$self->_MATCHIFYr($S, "statement_prefix__S_173contend", do { +$self->_MATCHIFYr($S, "statement_prefix__S_176contend", do { if (my ($C) = ($C->_EXACT("contend"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40426,21 +40678,21 @@ $C->blast }); } ; -## token statement_prefix:async { } -sub statement_prefix__S_174async__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_174async', $retree) } -sub statement_prefix__S_174async { -no warnings 'recursion'; +## token statement_prefix:start { } +sub statement_prefix__S_177start__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_177start', $retree) } +sub statement_prefix__S_177start { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_174async"); +my $C = $self->cursor_xact("RULE statement_prefix__S_177start"); my $xact = $C->xact; my $S = $C->{'_pos'}; -$C->{sym} = "async"; -$self->_MATCHIFYr($S, "statement_prefix__S_174async", do { -if (my ($C) = ($C->_EXACT("async"))) { +$C->{sym} = "start"; +$self->_MATCHIFYr($S, "statement_prefix__S_177start", do { +if (my ($C) = ($C->_EXACT("start"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; $C->blast @@ -40451,19 +40703,19 @@ $C->blast } ; ## token statement_prefix:maybe { } -sub statement_prefix__S_175maybe__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_175maybe', $retree) } -sub statement_prefix__S_175maybe { -no warnings 'recursion'; +sub statement_prefix__S_178maybe__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_178maybe', $retree) } +sub statement_prefix__S_178maybe { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_175maybe"); +my $C = $self->cursor_xact("RULE statement_prefix__S_178maybe"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "maybe"; -$self->_MATCHIFYr($S, "statement_prefix__S_175maybe", do { +$self->_MATCHIFYr($S, "statement_prefix__S_178maybe", do { if (my ($C) = ($C->_EXACT("maybe"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40471,47 +40723,23 @@ $C->blast }) } else { () } -}); -} -; -## token statement_prefix:lazy { } -sub statement_prefix__S_176lazy__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_176lazy', $retree) } -sub statement_prefix__S_176lazy { -no warnings 'recursion'; -my $self = shift; - - -local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; - -my $C = $self->cursor_xact("RULE statement_prefix__S_176lazy"); -my $xact = $C->xact; -my $S = $C->{'_pos'}; -$C->{sym} = "lazy"; -$self->_MATCHIFYr($S, "statement_prefix__S_176lazy", do { -if (my ($C) = ($C->_EXACT("lazy"))) { -$C->_SUBSUMEr(['blast'], sub { -my $C = shift; -$C->blast -}) -} else { () } - }); } ; ## token statement_prefix:do { } -sub statement_prefix__S_177do__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_177do', $retree) } -sub statement_prefix__S_177do { -no warnings 'recursion'; +sub statement_prefix__S_179do__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_179do', $retree) } +sub statement_prefix__S_179do { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_177do"); +my $C = $self->cursor_xact("RULE statement_prefix__S_179do"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "do"; -$self->_MATCHIFYr($S, "statement_prefix__S_177do", do { +$self->_MATCHIFYr($S, "statement_prefix__S_179do", do { if (my ($C) = ($C->_EXACT("do"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40523,19 +40751,19 @@ $C->blast } ; ## token statement_prefix:lift { -sub statement_prefix__S_178lift__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_178lift', $retree) } -sub statement_prefix__S_178lift { -no warnings 'recursion'; +sub statement_prefix__S_180lift__PEEK { $_[0]->_AUTOLEXpeek('statement_prefix__S_180lift', $retree) } +sub statement_prefix__S_180lift { +no warnings 'recursion', 'experimental'; my $self = shift; local $::QUASIMODO = 1; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE statement_prefix__S_178lift"); +my $C = $self->cursor_xact("RULE statement_prefix__S_180lift"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "lift"; -$self->_MATCHIFYr($S, "statement_prefix__S_178lift", do { +$self->_MATCHIFYr($S, "statement_prefix__S_180lift", do { if (my ($C) = ($C->_EXACT("lift"))) { $C->_SUBSUMEr(['blast'], sub { my $C = shift; @@ -40549,7 +40777,7 @@ $C->blast ## token blast { sub blast__PEEK { $_[0]->_AUTOLEXpeek('blast', $retree) } sub blast { -no warnings 'recursion'; +no warnings 'recursion', 'experimental'; my $self = shift; @@ -40676,19 +40904,19 @@ last if $xact->[-2]; # committed? } ; ## token term:new { -sub term__S_179new__PEEK { $_[0]->_AUTOLEXpeek('term__S_179new', $retree) } -sub term__S_179new { -no warnings 'recursion'; +sub term__S_181new__PEEK { $_[0]->_AUTOLEXpeek('term__S_181new', $retree) } +sub term__S_181new { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_179new"); +my $C = $self->cursor_xact("RULE term__S_181new"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "new"; -$self->_MATCHIFYr($S, "term__S_179new", do { +$self->_MATCHIFYr($S, "term__S_181new", do { my $C = $C; if (($C) = ($C->_PATTERN(qr/\Gnew[\x20\t\r]++/)) and ($C) = ($C->_SUBSUMEr(['longname'], sub { @@ -40711,19 +40939,19 @@ $C } ; ## token term:sym<::?IDENT> { -sub term__S_180ColonColonQuestionIDENT__PEEK { $_[0]->_AUTOLEXpeek('term__S_180ColonColonQuestionIDENT', $retree) } -sub term__S_180ColonColonQuestionIDENT { -no warnings 'recursion'; +sub term__S_182ColonColonQuestionIDENT__PEEK { $_[0]->_AUTOLEXpeek('term__S_182ColonColonQuestionIDENT', $retree) } +sub term__S_182ColonColonQuestionIDENT { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_180ColonColonQuestionIDENT"); +my $C = $self->cursor_xact("RULE term__S_182ColonColonQuestionIDENT"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "\:\:\?IDENT"; -$self->_MATCHIFYr($S, "term__S_180ColonColonQuestionIDENT", do { +$self->_MATCHIFYr($S, "term__S_182ColonColonQuestionIDENT", do { my $C = $C; if (($C) = ($C->_SUBSUMEr(['sym'], sub { my $C = shift; @@ -40748,19 +40976,19 @@ $C->O(%term) } ; ## token term:sym { -sub term__S_181undef__PEEK { $_[0]->_AUTOLEXpeek('term__S_181undef', $retree) } -sub term__S_181undef { -no warnings 'recursion'; +sub term__S_183undef__PEEK { $_[0]->_AUTOLEXpeek('term__S_183undef', $retree) } +sub term__S_183undef { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_181undef"); +my $C = $self->cursor_xact("RULE term__S_183undef"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "undef"; -$self->_MATCHIFYr($S, "term__S_181undef", do { +$self->_MATCHIFYr($S, "term__S_183undef", do { my $C = $C; if (($C) = ($C->_PATTERN(qr/\Gundef\b/)) and ($C) = (scalar(do { @@ -40831,7 +41059,7 @@ $C } else { () } }))) { ($C) } else { () } })) -and ($C) = ($C->obs('undef as a value', "something more specific:\n\tMu (the \"most undefined\" type object),\n\tan undefined type object such as Int,\n\t:!defined as a matcher,\n\tAny:U as a type constraint,\n\tNil as the absense of a value\n\tor fail() as a failure return\n\t "))) { +and ($C) = ($C->obs('undef as a value', "something more specific:\n\tan undefined type object such as Any or Int,\n\t:!defined as a matcher,\n\tAny:U as a type constraint,\n\tNil as the absense of an expected value\n\tor fail() as a failure return\n\t "))) { $C } else { () } @@ -40839,19 +41067,19 @@ $C } ; ## token term:sym -sub term__S_182proceed__PEEK { $_[0]->_AUTOLEXpeek('term__S_182proceed', $retree) } -sub term__S_182proceed { -no warnings 'recursion'; +sub term__S_184proceed__PEEK { $_[0]->_AUTOLEXpeek('term__S_184proceed', $retree) } +sub term__S_184proceed { +no warnings 'recursion', 'experimental'; my $self = shift; local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call; -my $C = $self->cursor_xact("RULE term__S_182proceed"); +my $C = $self->cursor_xact("RULE term__S_184proceed"); my $xact = $C->xact; my $S = $C->{'_pos'}; $C->{sym} = "proceed"; -$self->_MATCHIFYr($S, "term__S_182proceed", do { +$self->_MATCHIFYr($S, "term__S_184proceed", do { if (my ($C) = ($C->_PATTERN(qr/\Gproceed\b/))) { $C->_SUBSUMEr(['O'], sub { my $C = shift; @@ -40863,19 +41091,19 @@ $C->O(%term) } ; ## token term:sym