line |
l |
!l&&r |
!l&&!r |
condition |
58
|
0 |
1 |
56 |
not defined $stmts or scalar @{$stmts;} == 0 |
1127
|
0 |
0 |
2902 |
do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} |
|
36 |
0 |
2866 |
do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
} |
1310
|
0 |
0 |
108 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
1409
|
294 |
0 |
44 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
my($namespace) = '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
my($name) = '' . $$MATCH{'Perlito::Grammar.ident'};
if ($namespace) {
$name = $namespace . '::' . $name;
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Proto'->new('name', $name);
$List_a
}
} or 1 if do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
$$MATCH{'to'} = 1 + $MATCH->to if '.' eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
1487
|
7 |
0 |
5959 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
0 |
0 |
5959 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
0 |
0 |
5959 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
176 |
0 |
5783 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
49 |
0 |
5734 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
0 |
0 |
5734 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} |
|
3 |
0 |
5731 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
176 |
0 |
5555 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} |
|
8 |
0 |
5547 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} |
|
12 |
0 |
5535 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} |
|
4 |
0 |
5531 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} |
|
37 |
0 |
5494 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} |
|
37 |
0 |
5457 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} |
|
443 |
0 |
5014 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} |
|
0 |
0 |
5014 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} |
|
2078 |
0 |
2936 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
|
29 |
0 |
2907 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
|
1 |
0 |
2906 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
|
3 |
0 |
2903 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
|
0 |
0 |
2903 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} |
|
0 |
0 |
2903 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} |
|
1 |
0 |
2902 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} |
|
36 |
0 |
2866 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} |
|
83 |
0 |
2783 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->hyper_op($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'hyper_op'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
};
};
}
} |
|
108 |
0 |
2675 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->hyper_op($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'hyper_op'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
if (do {
my($m2) = 'Perlito::Grammar'->optional_namespace_before_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.optional_namespace_before_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
my($namespace) = '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
my($name) = '' . $$MATCH{'Perlito::Grammar.ident'};
if ($namespace) {
$name = $namespace . '::' . $name;
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Proto'->new('name', $name);
$List_a
}
} or 1 if do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
$$MATCH{'to'} = 1 + $MATCH->to if '.' eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
$List_a
}
};
};
}
} |
|
338 |
0 |
2337 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->hyper_op($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'hyper_op'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
if (do {
my($m2) = 'Perlito::Grammar'->optional_namespace_before_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.optional_namespace_before_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
my($namespace) = '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
my($name) = '' . $$MATCH{'Perlito::Grammar.ident'};
if ($namespace) {
$name = $namespace . '::' . $name;
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Proto'->new('name', $name);
$List_a
}
} or 1 if do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
$$MATCH{'to'} = 1 + $MATCH->to if '.' eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_num'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_num($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_num'} = $m2;
1;
}
else {
0;
}
}
} |
|
9 |
0 |
2328 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->hyper_op($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'hyper_op'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
if (do {
my($m2) = 'Perlito::Grammar'->optional_namespace_before_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.optional_namespace_before_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
my($namespace) = '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
my($name) = '' . $$MATCH{'Perlito::Grammar.ident'};
if ($namespace) {
$name = $namespace . '::' . $name;
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Proto'->new('name', $name);
$List_a
}
} or 1 if do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
$$MATCH{'to'} = 1 + $MATCH->to if '.' eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_num'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_num($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_num'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_int'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_int($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_int'} = $m2;
1;
}
else {
0;
}
}
} |
|
318 |
0 |
2010 |
do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '.(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '.[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '.[' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'curly_parse'};};
$List_a
}
} or 1 if '.{' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->curly_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'curly_parse'} = $m2;
1;
}
else {
0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '( )';
push @{$List_a;}, ${$$MATCH{'paren_parse'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, '[ ]';
push @{$List_a;}, ${$$MATCH{'square_parse'};};
$List_a
}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->square_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'square_parse'} = $m2;
1;
}
else {
0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'Val::Buf'->new('buf', ${$$MATCH{'Perlito::Grammar.ident'};});
$List_a
};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1);
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($block) = $${$$MATCH{'list_parse'};}{'end_block'};
if ($block->sig) {
die 'Signature error in block';
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, $block->stmts;
push @{$List_a;}, $${$$MATCH{'list_parse'};}{'exp'};
$List_a
}
} or 1 if '->' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'block';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.exp_stmts'};};
$List_a
}
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = 'Perlito::Grammar'->exp_stmts($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.exp_stmts'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.method_def'};};
$List_a
}
} or 1 if 'method' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->method_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.method_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.sub_def'};};
$List_a
}
} or 1 if 'sub' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->sub_def($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.sub_def'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.token'};};
$List_a
}
} or 1 if 'token' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->token($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.token'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Do'->new('block', ${$$MATCH{'statement_parse'};});
$List_a
}
} or 1 if 'do' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, '?? !!';
push @{$List_a;}, ${$$MATCH{'ternary_parse'};};
$List_a
}
} or 1 if '??' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->ternary_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'ternary_parse'} = $m2;
1;
}
else {
0;
}
} and ('!!' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.var_ident'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Lookup'->new(('obj', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', '/'))), ('index_exp', 'Val::Buf'->new('buf', '' . $$MATCH{'capture_name'})));
$List_a
}
} or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
my($m2) = $grammar->capture_name($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'capture_name'} = $m2;
1;
}
else {
0;
}
} and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Precedence.op_parse'};}
} or 1 if do {
my($m2) = 'Perlito::Precedence'->op_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Precedence.op_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Buf'->new('buf', '' . $$MATCH{'Perlito::Grammar.ident'});
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
'=>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to if do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 1);
$List_a
}
} or 1 if 'True' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Val::Bit'->new('bit', 0);
$List_a
}
} or 1 if 'False' eq substr($str, $MATCH->to, 5) and $$MATCH{'to'} = 5 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'and';
$List_a
}
} or 1 if 'and' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'op';
push @{$List_a;}, 'not';
$List_a
}
} or 1 if 'not' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
my($pos1) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '(' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Use'->new('mod', ${$$MATCH{'Perlito::Grammar.full_ident'};});
$List_a
}
} or 1 if 'use' eq substr($str, $MATCH->to, 3) and $$MATCH{'to'} = 3 + $MATCH->to and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.full_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
my($pos1) = $MATCH->to;
do {
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Grammar.ident'}) {
push @{$$MATCH{'Perlito::Grammar.ident'};}, $m2;
}
else {
$$MATCH{'Perlito::Grammar.ident'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
0;
};
}
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.grammar'};};
$List_a
}
} or 1 if do {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 7 + $MATCH->to if 'package' eq substr($str, $MATCH->to, 7)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'class' eq substr($str, $MATCH->to, 5)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 7 + $MATCH->to if 'grammar' eq substr($str, $MATCH->to, 7)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'role' eq substr($str, $MATCH->to, 4);
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->grammar($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.grammar'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Decl'->new(('decl', ${$$MATCH{'Perlito::Grammar.declarator'};}), ('type', ${$$MATCH{'Perlito::Grammar.opt_type'};}), ('var', ${$$MATCH{'Perlito::Grammar.var_ident'};}));
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->declarator($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.declarator'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_type($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.opt_type'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->var_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.var_ident'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->hyper_op($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'hyper_op'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if ':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($last_pos) = $MATCH->to;
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) {
$$MATCH{'to'} = $last_pos;
};
1
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, do {
my $Hash_a = bless({}, 'HASH');
$$Hash_a{'end_block'} = undef();
$$Hash_a{'exp'} = ${$$MATCH{'paren_parse'};};
$$Hash_a{'terminated'} = 0;
$Hash_a
};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
} or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
my($m2) = $grammar->paren_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'paren_parse'} = $m2;
1;
}
else {
0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'methcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'hyper_op'};};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
if (do {
my($m2) = 'Perlito::Grammar'->optional_namespace_before_ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.optional_namespace_before_ident'} = $m2;
1;
}
else {
0;
}
} and do {
my($m2) = 'Perlito::Grammar'->ident($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.ident'} = $m2;
1;
}
else {
0;
}
}) {
my($pos1) = $MATCH->to;
unless (do {
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
push @{$List_a;}, ${$$MATCH{'list_parse'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} and do {
my($m2) = $grammar->list_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'list_parse'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
my($namespace) = '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
my($name) = '' . $$MATCH{'Perlito::Grammar.ident'};
if ($namespace) {
$name = $namespace . '::' . $name;
};
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, 'Proto'->new('name', $name);
$List_a
}
} or 1 if do {
my($tmp) = $MATCH;
$MATCH = 'Perlito::Match'->new(('str', $str), ('from', $tmp->to), ('to', $tmp->to), ('bool', 1));
$$MATCH{'bool'} = do {
my($pos1) = $MATCH->to;
do {
$$MATCH{'to'} = 1 + $MATCH->to if '.' eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}
}) {
$$MATCH{'to'} = $pos1;
1 unless do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'postfix_or_term';
push @{$List_a;}, 'funcall_no_params';
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.optional_namespace_before_ident'};
push @{$List_a;}, '' . $$MATCH{'Perlito::Grammar.ident'};
$List_a
}
};
};
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_num'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_num($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_num'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_int'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_int($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_int'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = do {
my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, 'term';
push @{$List_a;}, ${$$MATCH{'Perlito::Grammar.val_buf'};};
$List_a
}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->val_buf($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.val_buf'} = $m2;
1;
}
else {
0;
}
}
} |
1533
|
0 |
0 |
256 |
do {
$$MATCH{'to'} = 1 + $MATCH->to if '#' eq substr($str, $MATCH->to, 1)
} or do {
$$MATCH{'to'} = $pos1;
do {
my($m2) = 'Perlito::Grammar'->is_newline($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}
} |
1819
|
166 |
0 |
3026 |
$$v[0] eq 'postfix_or_term' and $$v[1] eq 'block' or $$v[0] eq 'term' and Main::isa($$v[1], 'Sub') |
|
10 |
0 |
3016 |
$$v[0] eq 'postfix_or_term' and $$v[1] eq 'block' or $$v[0] eq 'term' and Main::isa($$v[1], 'Sub') or $$v[0] eq 'term' and Main::isa($$v[1], 'Method') |
|
12 |
0 |
3004 |
$$v[0] eq 'postfix_or_term' and $$v[1] eq 'block' or $$v[0] eq 'term' and Main::isa($$v[1], 'Sub') or $$v[0] eq 'term' and Main::isa($$v[1], 'Method') or $$v[0] eq 'term' and Main::isa($$v[1], 'Do') |
|
7 |
0 |
2997 |
$$v[0] eq 'postfix_or_term' and $$v[1] eq 'block' or $$v[0] eq 'term' and Main::isa($$v[1], 'Sub') or $$v[0] eq 'term' and Main::isa($$v[1], 'Method') or $$v[0] eq 'term' and Main::isa($$v[1], 'Do') or $$v[0] eq 'term' and Main::isa($$v[1], 'CompUnit') |
1956
|
77 |
0 |
935 |
do {
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.if'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->if($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.if'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.unless'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->unless($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.unless'} = $m2;
1;
}
else {
0;
}
}
} |
|
2 |
0 |
933 |
do {
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.if'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->if($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.if'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.unless'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->unless($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.unless'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.when'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->when($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.when'} = $m2;
1;
}
else {
0;
}
}
} |
|
0 |
0 |
933 |
do {
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.if'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->if($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.if'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.unless'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->unless($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.unless'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.when'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->when($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.when'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.for'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->for($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.for'} = $m2;
1;
}
else {
0;
}
}
} |
|
4 |
0 |
929 |
do {
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.if'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->if($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.if'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.unless'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->unless($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.unless'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.when'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->when($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.when'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.for'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->for($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.for'} = $m2;
1;
}
else {
0;
}
}
} or do {
$$MATCH{'to'} = $pos1;
do {
$$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.while'};}
} or 1 if do {
my($m2) = 'Perlito::Grammar'->while($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.while'} = $m2;
1;
}
else {
0;
}
}
} |
1997
|
14 |
0 |
590 |
do {
$$MATCH{'to'} = 2 + $MATCH->to if 'if' eq substr($str, $MATCH->to, 2)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 6 + $MATCH->to if 'unless' eq substr($str, $MATCH->to, 6)
} |
|
2 |
0 |
588 |
do {
$$MATCH{'to'} = 2 + $MATCH->to if 'if' eq substr($str, $MATCH->to, 2)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 6 + $MATCH->to if 'unless' eq substr($str, $MATCH->to, 6)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'when' eq substr($str, $MATCH->to, 4)
} |
|
0 |
0 |
588 |
do {
$$MATCH{'to'} = 2 + $MATCH->to if 'if' eq substr($str, $MATCH->to, 2)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 6 + $MATCH->to if 'unless' eq substr($str, $MATCH->to, 6)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'when' eq substr($str, $MATCH->to, 4)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 3 + $MATCH->to if 'for' eq substr($str, $MATCH->to, 3)
} |
|
1 |
0 |
587 |
do {
$$MATCH{'to'} = 2 + $MATCH->to if 'if' eq substr($str, $MATCH->to, 2)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 6 + $MATCH->to if 'unless' eq substr($str, $MATCH->to, 6)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 4 + $MATCH->to if 'when' eq substr($str, $MATCH->to, 4)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 3 + $MATCH->to if 'for' eq substr($str, $MATCH->to, 3)
} or do {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'while' eq substr($str, $MATCH->to, 5)
} |