line |
true |
false |
branch |
21
|
154 |
391 |
if (Main::isa($param_list, 'Apply') and $param_list->code eq 'list:<,>') { } |
28
|
346 |
0 |
if (defined $v) |
35
|
30 |
361 |
if ($param_list eq '*undef*') { } |
54
|
0 |
57 |
if (defined $o->sig) |
58
|
1 |
56 |
if (not defined $stmts or scalar @{$stmts;} == 0) |
65
|
26 |
30 |
if (scalar @{$stmts;} != 1) |
69
|
8 |
22 |
unless (Main::isa($stmt, 'Apply')) |
72
|
0 |
22 |
if ($stmt->code eq 'infix:<=>>') |
80
|
21 |
1 |
if ($stmt->code ne 'list:<,>') |
84
|
1 |
1 |
if (Main::isa($item, 'Apply') and $item->code eq 'infix:<=>>') |
93
|
1975 |
854 |
if (Main::isa($v, 'Array')) |
94
|
0 |
1975 |
if ($$v[1] eq 'methcall_no_params') |
98
|
24 |
1951 |
if ($$v[1] eq 'funcall_no_params') |
102
|
0 |
1951 |
if ($$v[1] eq 'methcall') |
103
|
0 |
0 |
if ($$v[3]{'end_block'}) |
110
|
294 |
1657 |
if ($$v[1] eq 'funcall') |
111
|
0 |
294 |
if ($$v[4]{'end_block'}) |
118
|
152 |
1505 |
if ($$v[1] eq '( )') |
123
|
12 |
1493 |
if ($$v[1] eq '[ ]') |
128
|
57 |
1436 |
if ($$v[1] eq 'block') |
133
|
0 |
1436 |
if ($$v[1] eq '.( )') |
137
|
0 |
1436 |
if ($$v[1] eq '.[ ]') |
141
|
0 |
1436 |
if ($$v[1] eq '.{ }') |
145
|
0 |
1436 |
if (Main::isa($$v[1], 'Array') and scalar @{$$v[1];} == 2) |
157
|
77 |
128 |
if ($$v[1] eq 'methcall_no_params') |
161
|
0 |
128 |
if ($$v[1] eq 'funcall_no_params') |
166
|
31 |
97 |
if ($$v[1] eq 'methcall') |
171
|
0 |
97 |
if ($$v[1] eq 'funcall') |
176
|
24 |
73 |
if ($$v[1] eq '( )') |
178
|
24 |
0 |
if (Main::isa($value, 'Apply') and not defined $value->arguments) |
182
|
0 |
0 |
if (Main::isa($value, 'Call') and not defined $value->arguments) |
189
|
37 |
36 |
if ($$v[1] eq '[ ]') |
193
|
29 |
7 |
if ($$v[1] eq 'block') |
197
|
7 |
0 |
if ($$v[1] eq '.( )') |
202
|
0 |
0 |
if ($$v[1] eq '.[ ]') |
206
|
0 |
0 |
if ($$v[1] eq '.{ }') |
343
|
0 |
0 |
if ($m2) { } |
351
|
0 |
0 |
if (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;
}
}) |
353
|
0 |
0 |
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;
};
}
}
}) |
356
|
0 |
0 |
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) |
358
|
0 |
0 |
if ($m2) { } |
360
|
0 |
0 |
if (exists $$MATCH{'Perlito::Grammar.ident'}) { } |
397
|
107 |
1 |
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '>>' eq substr($str, $MATCH->to, 2)
}) |
398
|
1 |
107 |
if '>>' eq substr($str, $MATCH->to, 2) |
418
|
7 |
0 |
if ($m2) { } |
426
|
7 |
0 |
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) |
440
|
0 |
0 |
if ($m2) { } |
448
|
0 |
0 |
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) |
462
|
0 |
0 |
if ($m2) { } |
470
|
0 |
0 |
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) |
484
|
176 |
0 |
if ($m2) { } |
492
|
176 |
0 |
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) |
506
|
49 |
0 |
if ($m2) { } |
514
|
49 |
0 |
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) |
529
|
0 |
5734 |
if '.<' eq substr($str, $MATCH->to, 2) |
530
|
5734 |
0 |
unless (do {
$$MATCH{'to'} = 2 + $MATCH->to if '.<' eq substr($str, $MATCH->to, 2)
}) |
532
|
5 |
5729 |
if '<' eq substr($str, $MATCH->to, 1) |
536
|
0 |
5 |
if ($m2) { } |
544
|
0 |
0 |
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) |
563
|
0 |
3 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
565
|
3 |
0 |
if ($m2) { } |
578
|
3 |
0 |
if ($m2) { } |
586
|
3 |
0 |
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;
}
} |
588
|
0 |
3 |
if ($block->sig) |
605
|
30 |
146 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
607
|
146 |
30 |
if ($m2) { } |
620
|
176 |
0 |
if ($m2) { } |
630
|
176 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
632
|
0 |
176 |
if ($m2) { } |
643
|
176 |
0 |
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) |
657
|
8 |
0 |
if ($m2) { } |
666
|
8 |
0 |
if ($m2) { } |
674
|
8 |
0 |
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;
}
} |
687
|
12 |
17 |
if ($m2) { } |
696
|
12 |
0 |
if ($m2) { } |
704
|
12 |
0 |
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;
}
} |
717
|
4 |
0 |
if ($m2) { } |
726
|
4 |
0 |
if ($m2) { } |
734
|
4 |
0 |
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;
}
} |
747
|
37 |
0 |
if ($m2) { } |
756
|
37 |
0 |
if ($m2) { } |
764
|
37 |
0 |
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;
}
} |
777
|
37 |
0 |
if ($m2) { } |
785
|
37 |
0 |
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) |
799
|
443 |
5014 |
if ($m2) { } |
807
|
443 |
5014 |
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;
}
} |
820
|
0 |
0 |
if ($m2) { } |
828
|
0 |
0 |
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) |
841
|
2078 |
2936 |
if ($m2) { } |
849
|
2078 |
2936 |
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;
}
} |
856
|
491 |
2445 |
if ($m2) { } |
870
|
491 |
0 |
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
} |
872
|
45 |
446 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
874
|
446 |
45 |
if ($m2) { } |
891
|
29 |
462 |
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
} |
911
|
0 |
1 |
if ($m2) { } |
918
|
1 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
920
|
0 |
1 |
if '(' eq substr($str, $MATCH->to, 1) |
927
|
1 |
0 |
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
} |
947
|
0 |
3 |
if ($m2) { } |
954
|
3 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
956
|
0 |
3 |
if '(' eq substr($str, $MATCH->to, 1) |
963
|
3 |
0 |
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
} |
983
|
0 |
0 |
if ($m2) { } |
990
|
0 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
992
|
0 |
0 |
if '(' eq substr($str, $MATCH->to, 1) |
999
|
0 |
0 |
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
} |
1019
|
0 |
0 |
if ($m2) { } |
1026
|
0 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->word($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
1028
|
0 |
0 |
if '(' eq substr($str, $MATCH->to, 1) |
1035
|
0 |
0 |
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
} |
1048
|
1 |
0 |
if ($m2) { } |
1057
|
1 |
0 |
if ($m2) { } |
1067
|
1 |
0 |
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;
};
}
}
}) |
1070
|
0 |
1 |
if ('-' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) |
1072
|
0 |
0 |
if ($m2) { } |
1074
|
0 |
0 |
if (exists $$MATCH{'Perlito::Grammar.ident'}) { } |
1098
|
1 |
0 |
if ($m2) { } |
1106
|
1 |
0 |
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;
}
} |
1120
|
0 |
2902 |
if 'package' eq substr($str, $MATCH->to, 7) |
1123
|
36 |
2866 |
if 'class' eq substr($str, $MATCH->to, 5) |
1126
|
0 |
2866 |
if 'grammar' eq substr($str, $MATCH->to, 7) |
1127
|
2866 |
0 |
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)
}) |
1129
|
0 |
2866 |
if 'role' eq substr($str, $MATCH->to, 4) |
1133
|
36 |
0 |
if ($m2) { } |
1142
|
36 |
0 |
if ($m2) { } |
1150
|
36 |
0 |
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;
}
} |
1163
|
83 |
2783 |
if ($m2) { } |
1173
|
83 |
0 |
if ($m2) { } |
1182
|
83 |
0 |
if ($m2) { } |
1192
|
83 |
0 |
if ($m2) { } |
1201
|
83 |
0 |
if ($m2) { } |
1209
|
83 |
0 |
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;
}
} |
1222
|
108 |
0 |
if ($m2) { } |
1232
|
108 |
0 |
if ($m2) { } |
1240
|
108 |
0 |
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;
}
}) |
1245
|
0 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
1247
|
0 |
0 |
if ($m2) { } |
1260
|
0 |
0 |
if ($m2) { } |
1268
|
0 |
0 |
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;
}
} |
1284
|
31 |
0 |
if ($m2) { } |
1292
|
31 |
0 |
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) |
1310
|
77 |
31 |
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)
}) |
1312
|
0 |
77 |
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
}
} |
1329
|
2675 |
0 |
if ($m2) { } |
1339
|
338 |
2337 |
if ($m2) { } |
1347
|
338 |
2337 |
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;
}
}) |
1352
|
294 |
44 |
if ($m2) { } |
1361
|
294 |
0 |
if ($m2) { } |
1369
|
294 |
0 |
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;
}
} |
1389
|
20 |
24 |
if '.' eq substr($str, $MATCH->to, 1) |
1395
|
20 |
24 |
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
} |
1398
|
8 |
12 |
if ($namespace) |
1409
|
24 |
20 |
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
}
}) |
1411
|
0 |
24 |
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
}
} |
1428
|
9 |
2328 |
if ($m2) { } |
1436
|
9 |
2328 |
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;
}
} |
1449
|
318 |
2010 |
if ($m2) { } |
1457
|
318 |
2010 |
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;
}
} |
1470
|
434 |
1576 |
if ($m2) { } |
1478
|
434 |
1576 |
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;
}
} |
1487
|
1576 |
434 |
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;}, '.( )';
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;
}
}
}) |
1491
|
1545 |
31 |
if ($m2) { } |
1498
|
1545 |
31 |
if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
} |
1520
|
0 |
256 |
if '#' eq substr($str, $MATCH->to, 1) |
1525
|
115 |
141 |
if ($m2) { } |
1533
|
141 |
115 |
unless (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;
}
}
}) |
1537
|
22 |
119 |
if ($m2) { } |
1544
|
22 |
119 |
if (do {
my($m2) = 'Perlito::Grammar'->space($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
1546
|
0 |
22 |
if ($m2) { } |
1569
|
0 |
0 |
if ($m2) { } |
1576
|
0 |
0 |
if do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
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 {
my($pos1) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 1 + $MATCH->to if ',' eq substr($str, $MATCH->to, 1)
}) {
$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if ':' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
} |
1584
|
0 |
0 |
if ',' eq substr($str, $MATCH->to, 1) |
1585
|
0 |
0 |
unless (do {
$$MATCH{'to'} = 1 + $MATCH->to if ',' eq substr($str, $MATCH->to, 1)
}) |
1587
|
0 |
0 |
if ':' eq substr($str, $MATCH->to, 1) |
1615
|
0 |
1125 |
if (scalar @{$lexer_stack;}) { } |
1617
|
0 |
0 |
if ($is_first_token and $$v[0] eq 'op' and not Perlito::Precedence::is_fixity_type('prefix', $$v[1])) |
1623
|
0 |
1125 |
unless ($m) |
1633
|
1 |
321 |
if ($is_first_token and $$v[0] eq 'op' and not Perlito::Precedence::is_fixity_type('prefix', $$v[1])) |
1636
|
806 |
319 |
if ($$v[0] ne 'end') |
1640
|
3 |
73 |
if ($$v[0] eq 'postfix_or_term' and $$v[1] eq 'block' and $last_token_was_space) |
1641
|
3 |
0 |
if ($self->has_newline_after($str, $last_pos)) { } |
1652
|
0 |
0 |
if ($self->has_no_comma_or_colon_after($str, $last_pos)) |
1689
|
11 |
311 |
if (scalar @{$res;} == 0) |
1699
|
3 |
308 |
if (scalar @{$res;} > 1) |
1704
|
0 |
311 |
if (scalar @{$res;} > 0) |
1725
|
0 |
1673 |
unless ($m) |
1729
|
1373 |
300 |
if ($$v[0] ne 'end') |
1737
|
20 |
280 |
unless (defined $res) |
1800
|
57 |
3166 |
if (scalar @{$lexer_stack;}) { } |
1805
|
31 |
3135 |
unless ($m) |
1815
|
2268 |
867 |
if ($$v[0] ne 'end') |
1819
|
43 |
2961 |
if ($$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')) |
1820
|
112 |
119 |
if ($self->has_newline_after($str, $last_pos)) |
1851
|
270 |
775 |
if (scalar @{$res;} == 0) |
1855
|
90 |
685 |
if (scalar @{$res;} > 1) |
1860
|
0 |
775 |
if (scalar @{$res;} > 0) |
1862
|
0 |
0 |
unless (Main::isa($block, 'Lit::Block')) |
1885
|
77 |
935 |
if ($m2) { } |
1893
|
77 |
935 |
if do {
my($m2) = 'Perlito::Grammar'->if($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.if'} = $m2;
1;
}
else {
0;
}
} |
1900
|
2 |
933 |
if ($m2) { } |
1908
|
2 |
933 |
if do {
my($m2) = 'Perlito::Grammar'->unless($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.unless'} = $m2;
1;
}
else {
0;
}
} |
1915
|
0 |
933 |
if ($m2) { } |
1923
|
0 |
933 |
if do {
my($m2) = 'Perlito::Grammar'->when($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.when'} = $m2;
1;
}
else {
0;
}
} |
1930
|
4 |
929 |
if ($m2) { } |
1938
|
4 |
929 |
if do {
my($m2) = 'Perlito::Grammar'->for($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.for'} = $m2;
1;
}
else {
0;
}
} |
1945
|
6 |
923 |
if ($m2) { } |
1953
|
6 |
923 |
if do {
my($m2) = 'Perlito::Grammar'->while($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.while'} = $m2;
1;
}
else {
0;
}
} |
1956
|
923 |
6 |
unless (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;
}
}
}) |
1960
|
0 |
923 |
if ($m2) { } |
1968
|
0 |
923 |
if do {
my($m2) = 'Perlito::Grammar'->loop($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar.loop'} = $m2;
1;
}
else {
0;
}
} |
1984
|
14 |
590 |
if 'if' eq substr($str, $MATCH->to, 2) |
1987
|
2 |
588 |
if 'unless' eq substr($str, $MATCH->to, 6) |
1990
|
0 |
588 |
if 'when' eq substr($str, $MATCH->to, 4) |
1993
|
1 |
587 |
if 'for' eq substr($str, $MATCH->to, 3) |
1996
|
1 |
586 |
if 'while' eq substr($str, $MATCH->to, 5) |
1997
|
586 |
1 |
unless (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)
}) |
1999
|
0 |
586 |
if 'loop' eq substr($str, $MATCH->to, 4) |
2015
|
944 |
31 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
2017
|
31 |
944 |
if ($m2) { } |
2028
|
975 |
0 |
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
}) |
2031
|
0 |
975 |
if (';' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) |
2033
|
0 |
0 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
2035
|
0 |
0 |
if ($m2) { } |
2047
|
975 |
0 |
unless (do {
if (';' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
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;
}
}) |
2051
|
705 |
270 |
if ($m2) { } |
2061
|
254 |
451 |
unless (do {
$$MATCH{'to'} = 1 + $MATCH->to if ';' eq substr($str, $MATCH->to, 1)
}) |
2062
|
451 |
254 |
if ';' eq substr($str, $MATCH->to, 1) |
2069
|
153 |
552 |
unless (do {
my($m2) = 'Perlito::Grammar'->ws($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
1;
}
else {
0;
}
}) |
2071
|
552 |
153 |
if ($m2) { } |
2082
|
705 |
0 |
if do {
my($m2) = $grammar->statement_parse($str, $MATCH->to);
if ($m2) {
$$MATCH{'to'} = $m2->to;
$$MATCH{'statement_parse'} = $m2;
1;
}
else {
0;
}
} and do {
my($last_pos) = $MATCH->to;
unless (do {
$$MATCH{'to'} = 1 + $MATCH->to if ';' eq substr($str, $MATCH->to, 1)
}) {
$$MATCH{'to'} = $last_pos;
};
1
} 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
} |
2104
|
89 |
923 |
if ($res) |
2108
|
270 |
653 |
unless ($res) |
2111
|
41 |
612 |
if (Main::isa($${$res;}{'exp'}, 'Lit::Block')) |
2114
|
0 |
653 |
if ($${$res;}{'end_block'}) |
2117
|
49 |
604 |
if ($${$res;}{'terminated'}) |
2122
|
586 |
18 |
unless ($modifier) |
2127
|
0 |
18 |
unless ($modifier_exp) |
2130
|
0 |
18 |
if ($${$modifier_exp;}{'end_block'}) |
2134
|
14 |
4 |
if ($modifier eq 'if') |
2146
|
2 |
2 |
if ($modifier eq 'unless') |
2158
|
1 |
1 |
if ($modifier eq 'while') |
2166
|
1 |
0 |
if ($modifier eq 'for') |