Benchmark-Perl-Formance-Cargo

 view release on metacpan or  search on metacpan

share/P6STD/boot/STD.pmc  view on Meta::CPAN

use 5.010;
use utf8;
{ package STD;
use Moose ':all' => { -prefix => "moose_" };
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_...
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_007valu...
circumfix => [ qw/circumfix__S_052Fre_Nch__PEEK circumfix__S_053LtLt_GtGt__PEEK circumfix__S_054Lt_Gt__PEEK/ ],
comment => [ qw/comment__S_055SharpGraveParenDotDotDotThesis__PEEK comment__S_056SharpParenDotDotDotThesis__PEEK comment__S_057SharpEqualParenDotDotDotThesis__PEEK comment__S_058SharpEqual__PEEK comment__S_059Sharp__PEEK/ ],
escape => [ qw/escape__S_049none__PEEK/ ],
quote => [ qw/quote__S_050Single_Single__PEEK quote__S_051Double_Double__PEEK/ ],
sigil => [ qw/sigil__S_037Dollar__PEEK sigil__S_038At__PEEK sigil__S_039Percent__PEEK sigil__S_040Amp__PEEK/ ],
term => [ qw/term__S_063miscbad__PEEK/ ],
terminator => [ qw/terminator__S_060Thesis__PEEK terminator__S_061Ket__PEEK terminator__S_062Ly__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/ ],
};


no warnings 'qw', 'recursion';
my $retree;

$DB::deep = $DB::deep = 1000; # suppress used-once warning

use YAML::XS;

$SIG{__WARN__} = sub { die @_,"   statement started at line ", 'Cursor'->lineof($::LASTSTATE), "
" } if $::DEBUG;

$retree = YAML::XS::Load(Encode::encode_utf8(<<'RETREE_END'));
---
alnumint: !!perl/hash:RE_ast
  dba: alnumint
  dic: STD
  re: !!perl/hash:RE_bracket
    re: !!perl/hash:RE_sequence
      zyg:
      - !!perl/hash:RE_quantified_atom
        atom: !!perl/hash:RE_cclass
          i: 0
          text: '[ 0..9 a..z A..Z ]'
        quant:
        - +
      - !!perl/hash:RE_quantified_atom
        atom: !!perl/hash:RE_bracket
          re: !!perl/hash:RE_sequence
            zyg:
            - !!perl/hash:RE_string
              i: 0
              text: _
            - !!perl/hash:RE_quantified_atom
              atom: !!perl/hash:RE_cclass
                i: 0
                text: '[ 0..9 a..z A..Z ]'
              quant:
              - +
        quant:
        - '*'
apostrophe: !!perl/hash:RE_ast
  dba: apostrophe
  dic: STD
  re: !!perl/hash:RE_cclass
    i: 0
    text: '[ '' \- ]'
babble: !!perl/hash:RE_ast
  dba: babble
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      name: ws
      rest: ''
    - !!perl/hash:RE_quantified_atom
      atom: !!perl/hash:RE_bracket
        re: !!perl/hash:RE_sequence
          zyg:
          - !!perl/hash:RE_method
            name: quotepair
            rest: ''
          - !!perl/hash:RE_method
            name: ws
            rest: ''
          - !!perl/hash:RE_block {}
      quant:
      - '*'
    - !!perl/hash:RE_bindnamed
      atom: !!perl/hash:RE_block {}
backslash:*:
  dic: STD
begid: !!perl/hash:RE_ast
  dba: begid
  dic: STD
  re: !!perl/hash:RE_assertion
    assert: '?'
    re: !!perl/hash:RE_method_re
      name: before
      nobind: 1
      re: !!perl/hash:RE_meta
        min: 1
        text: \w
binint: !!perl/hash:RE_ast
  dba: binint
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_quantified_atom
      atom: !!perl/hash:RE_cclass
        i: 0
        text: '[ 0..1 ]'
      quant:
      - +
    - !!perl/hash:RE_quantified_atom
      atom: !!perl/hash:RE_bracket
        re: !!perl/hash:RE_sequence
          zyg:
          - !!perl/hash:RE_string
            i: 0
            text: _
          - !!perl/hash:RE_quantified_atom
            atom: !!perl/hash:RE_cclass
              i: 0
              text: '[ 0..1 ]'
            quant:
            - +
      quant:
      - '*'
binints: !!perl/hash:RE_ast
  dba: binints
  dic: STD
  re: !!perl/hash:RE_quantified_atom
    atom: !!perl/hash:RE_bracket
      re: !!perl/hash:RE_sequence
        zyg:
        - !!perl/hash:RE_method
          name: ws
          rest: ''
        - !!perl/hash:RE_method
          name: binint
          rest: ''
        - !!perl/hash:RE_method
          name: ws
          rest: ''
    quant:
    - +
category:*:
  dic: STD
category__S_000category: !!perl/hash:RE_ast
  dba: category
  dic: STD
  re: !!perl/hash:RE_method
    i: 0

share/P6STD/boot/STD.pmc  view on Meta::CPAN

  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_block {}
    - !!perl/hash:RE_assertion
      assert: '!'
      re: !!perl/hash:RE_block
        nobind: 1
    - !!perl/hash:RE_block {}
    - !!perl/hash:RE_assertion
      assert: '!'
      re: !!perl/hash:RE_noop
        nobind: 1
terminator:*:
  dic: STD
terminator__S_060Thesis: !!perl/hash:RE_ast
  dba: terminator
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      i: 0
      name: sym
      rest: ''
      sym: )
    - !!perl/hash:RE_method
      name: O
      rest: 1
terminator__S_061Ket: !!perl/hash:RE_ast
  dba: terminator
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_string
      i: 0
      text: ']'
    - !!perl/hash:RE_method
      name: O
      rest: 1
terminator__S_062Ly: !!perl/hash:RE_ast
  dba: terminator
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_string
      i: 0
      text: '}'
    - !!perl/hash:RE_method
      name: O
      rest: 1
trait_mod:*:
  dic: STD
twigil:*:
  dic: STD
twigil__S_041Dot: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: .
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_042Bang: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: '!'
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_043Caret: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: ^
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_044Colon: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: ':'
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_045Star: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: '*'
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_046Question: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: '?'
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_047Equal: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: =
    - !!perl/hash:RE_method
      name: begid
      rest: ''
twigil__S_048Tilde: !!perl/hash:RE_ast
  dba: twigil
  dic: STD
  re: !!perl/hash:RE_sequence
    zyg:
    - !!perl/hash:RE_method
      endsym: begid
      i: 0
      name: sym
      rest: ''
      sym: '~'
    - !!perl/hash:RE_method
      name: begid
      rest: ''
type_declarator:*:
  dic: STD
unitstopper: !!perl/hash:RE_ast
  dba: unitstopper
  dic: STD
  re: !!perl/hash:RE_meta
    text: $
unsp: !!perl/hash:RE_ast
  dba: unspace
  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

share/P6STD/boot/STD.pmc  view on Meta::CPAN

my @result = do {
my ($tag, $try);
my @try;
my $relex;
my $x;
if (my $fate = $C->{'_fate'}) {
if ($fate->[1] eq 'sigil') {
$C->deb("Fate passed to sigil: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT sigil';
}
else {
$x = 'ALTLTM sigil';
}
}
else {
$x = 'ALTLTM sigil';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};

my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'sigil:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;

if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try;       # next candidate fate
}

$C->deb("sigil trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2];  # committed?
}
$self->_MATCHIFYr($S, "sigil", @gather);
};
@result;
}
;
## token category:twigil { <sym> }
sub category__S_002twigil__PEEK { $_[0]->_AUTOLEXpeek('category__S_002twigil', $retree) }
sub category__S_002twigil {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE category__S_002twigil");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "twigil";
$self->_MATCHIFYr($S, "category__S_002twigil", $C->_EXACT("twigil"));
}
;
## token twigil is endsym<begid> {*}
sub twigil__PEEK { $_[0]->_AUTOLEXpeek('twigil:*',$retree); }
sub twigil {
my $self = shift;
my $subs;

local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact('RULE twigil');
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 'twigil') {
$C->deb("Fate passed to twigil: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT twigil';
}
else {
$x = 'ALTLTM twigil';
}
}
else {
$x = 'ALTLTM twigil';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};

my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'twigil:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;

if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try;       # next candidate fate
}

$C->deb("twigil trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2];  # committed?
}
$self->_MATCHIFYr($S, "twigil", @gather);
};
@result;
}
;
## token category:special_variable { <sym> }
sub category__S_003special_variable__PEEK { $_[0]->_AUTOLEXpeek('category__S_003special_variable', $retree) }
sub category__S_003special_variable {
no warnings 'recursion';
my $self = shift;

share/P6STD/boot/STD.pmc  view on Meta::CPAN

my @try;
my $relex;
my $x;
if (my $fate = $C->{'_fate'}) {
if ($fate->[1] eq 'terminator') {
$C->deb("Fate passed to terminator: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT terminator';
}
else {
$x = 'ALTLTM terminator';
}
}
else {
$x = 'ALTLTM terminator';
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};

my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD', 'terminator:*', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;

if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try;       # next candidate fate
}

$C->deb("terminator trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, $C->$try(@_);
last if @gather;
last if $xact->[-2];  # committed?
}
$self->_MATCHIFYr($S, "terminator", @gather);
};
@result;
}
;
## token unspacey { <.unsp>? }
sub unspacey__PEEK { $_[0]->_AUTOLEXpeek('unspacey', $retree) }
sub unspacey {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE unspacey");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "unspacey", $C->_OPTr(sub {
my $C=shift;
if (my ($C) = ($C->unsp)) { ($C) } else { () }
}));
}
;
## token begid { <?before \w> }
sub begid__PEEK { $_[0]->_AUTOLEXpeek('begid', $retree) }
sub begid {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE begid");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "begid", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G\w/)
}))) { ($C) } else { () }
}));
}
;
## token endid { <?before <-[ \- \' \w ]> > }
sub endid__PEEK { $_[0]->_AUTOLEXpeek('endid', $retree) }
sub endid {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE endid");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "endid", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G[^\-\'\w]/)
}))) { ($C) } else { () }
}));
}
;
## token spacey { <?before <[ \s \# ]> > }
sub spacey__PEEK { $_[0]->_AUTOLEXpeek('spacey', $retree) }
sub spacey {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE spacey");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "spacey", $C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
$C->_PATTERN(qr/\G[\s\#]/)
}))) { ($C) } else { () }
}));
}
;
## token keyspace { <!before '('> [ <?before <[ \s \# ]> > || <.panic: "Whitespace required after keywo
sub keyspace__PEEK { $_[0]->_AUTOLEXpeek('keyspace', $retree) }
sub keyspace {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE keyspace");

share/P6STD/boot/STD.pmc  view on Meta::CPAN

my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE sigil__S_038At");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\@";
$self->_MATCHIFYr($S, "sigil__S_038At", $C->_EXACT("\@"));
}
;
## token sigil:sym<%>  { <sym> }
sub sigil__S_039Percent__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_039Percent', $retree) }
sub sigil__S_039Percent {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE sigil__S_039Percent");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\%";
$self->_MATCHIFYr($S, "sigil__S_039Percent", $C->_EXACT("\%"));
}
;
## token sigil:sym<&>  { <sym> }
sub sigil__S_040Amp__PEEK { $_[0]->_AUTOLEXpeek('sigil__S_040Amp', $retree) }
sub sigil__S_040Amp {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE sigil__S_040Amp");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\&";
$self->_MATCHIFYr($S, "sigil__S_040Amp", $C->_EXACT("\&"));
}
;
## token twigil:sym<.> { <sym> }
sub twigil__S_041Dot__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_041Dot', $retree) }
sub twigil__S_041Dot {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_041Dot");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\.";
$self->_MATCHIFYr($S, "twigil__S_041Dot", do {
my $C = $C;
if (($C) = ($C->_EXACT("\."))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<!> { <sym> }
sub twigil__S_042Bang__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_042Bang', $retree) }
sub twigil__S_042Bang {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_042Bang");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\!";
$self->_MATCHIFYr($S, "twigil__S_042Bang", do {
my $C = $C;
if (($C) = ($C->_EXACT("\!"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<^> { <sym> }
sub twigil__S_043Caret__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_043Caret', $retree) }
sub twigil__S_043Caret {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_043Caret");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\^";
$self->_MATCHIFYr($S, "twigil__S_043Caret", do {
my $C = $C;
if (($C) = ($C->_EXACT("\^"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<:> { <sym> }
sub twigil__S_044Colon__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_044Colon', $retree) }
sub twigil__S_044Colon {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_044Colon");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\:";
$self->_MATCHIFYr($S, "twigil__S_044Colon", do {
my $C = $C;
if (($C) = ($C->_EXACT("\:"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<*> { <sym> }
sub twigil__S_045Star__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_045Star', $retree) }
sub twigil__S_045Star {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_045Star");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\*";
$self->_MATCHIFYr($S, "twigil__S_045Star", do {
my $C = $C;
if (($C) = ($C->_EXACT("\*"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<?> { <sym> }
sub twigil__S_046Question__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_046Question', $retree) }
sub twigil__S_046Question {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_046Question");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\?";
$self->_MATCHIFYr($S, "twigil__S_046Question", do {
my $C = $C;
if (($C) = ($C->_EXACT("\?"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<=> { <sym> }
sub twigil__S_047Equal__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_047Equal', $retree) }
sub twigil__S_047Equal {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_047Equal");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\=";
$self->_MATCHIFYr($S, "twigil__S_047Equal", do {
my $C = $C;
if (($C) = ($C->_EXACT("\="))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token twigil:sym<~> { <sym> }
sub twigil__S_048Tilde__PEEK { $_[0]->_AUTOLEXpeek('twigil__S_048Tilde', $retree) }
sub twigil__S_048Tilde {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE twigil__S_048Tilde");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\~";
$self->_MATCHIFYr($S, "twigil__S_048Tilde", do {
my $C = $C;
if (($C) = ($C->_EXACT("\~"))
and ($C) = ($C->begid)) {
$C
} else { () }

});
}
;
## token stopper { <!> }
sub stopper__PEEK { $_[0]->_AUTOLEXpeek('stopper', $retree) }
sub stopper {
no warnings 'recursion';
my $self = shift;


local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;

my $C = $self->cursor_xact("RULE stopper");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "stopper", $C->_NOTBEFORE(sub {
my $C=shift;
$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) {



( run in 0.629 second using v1.01-cache-2.11-cpan-5735350b133 )