Branch Coverage

blib/lib/Perlito/Grammar/Regex.pm
Criterion Covered Total %
branch 98 364 26.9


line true false branch
30 8 0 if ($m2) { }
51 0 0 if ($m2) { }
58 0 0 unless (do { my($m2) = 'Perlito::Grammar'->full_ident($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
62 0 0 if ($m2) { }
84 0 0 if '' ne substr($str, $MATCH->to, 1)
103 0 18 if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
104 18 0 unless (do { '' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to })
106 9 9 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 q['] eq substr($str, $MATCH->to, 1) } }; $$tmp{'bool'} = !$MATCH; $MATCH = $tmp; not !$MATCH }
112 9 9 if q['] eq substr($str, $MATCH->to, 1)
121 0 9 if ($last_pos == $MATCH->to) { }
150 0 13 if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
153 0 0 if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
155 0 0 if ($m2) { }
165 0 0 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->string_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
167 0 0 if ($m2) { }
177 0 0 if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
179 0 0 if ($m2) { }
187 13 0 unless (do { '' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to } or do { $$MATCH{'to'} = $pos1; q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } } or do { $$MATCH{'to'} = $pos1; '}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->string_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } } or do { $$MATCH{'to'} = $pos1; '>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } })
189 11 2 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 }
195 2 11 if '>' eq substr($str, $MATCH->to, 1)
204 0 11 if ($last_pos == $MATCH->to) { }
234 0 0 if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
235 0 0 unless (do { '' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to })
237 0 0 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 }
243 0 0 if ']' eq substr($str, $MATCH->to, 1)
252 0 0 if ($last_pos == $MATCH->to) { }
277 0 0 if ($m2) { }
284 0 0 unless (do { my($m2) = $grammar->rule_ident($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
286 0 0 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->char_range($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
288 0 0 if ($m2) { }
315 0 0 if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
318 0 0 if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
320 0 0 if ($m2) { }
330 0 0 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->string_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
332 0 0 if ($m2) { }
340 0 0 unless (do { '' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to } or do { $$MATCH{'to'} = $pos1; q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } } or do { $$MATCH{'to'} = $pos1; '}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->string_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } })
342 0 0 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 }
348 0 0 if '}' eq substr($str, $MATCH->to, 1)
357 0 0 if ($last_pos == $MATCH->to) { }
383 0 0 if ($m2) { }
390 0 0 if do { my($m2) = $grammar->string_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
408 0 0 if ($m2) { }
416 0 0 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
427 0 0 if ($m2) { }
435 0 0 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
442 0 0 if ($m2) { }
450 0 0 if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
453 0 0 unless (do { do { $$MATCH{'capture'} = do { my $Hash_a = bless({}, 'HASH'); $$Hash_a{'capturing_group'} = ${$$MATCH{'rule'};}; $Hash_a } } or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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{'rule'};} } or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 1)) } or 1 if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) })
455 0 0 unless do { die 'invalid alias syntax' }
473 0 0 if ($m2) { }
481 0 0 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->rule_ident($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_ident'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
488 0 32 if ($m2) { }
498 0 0 if ($m2) { }
506 0 0 if do { my($m2) = 'Perlito::Grammar'->var_sigil($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.var_sigil'} = $m2; 1; } else { 0; } } and 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; } }
509 32 0 unless (do { do { $$MATCH{'capture'} = q[$/{'] . $$MATCH{'rule_ident'} . q['] . '}' } or 1 if '$<' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->rule_ident($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_ident'} = $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::Grammar.var_sigil'} . '/' . '[' . $$MATCH{'Perlito::Grammar.val_int'} . ']' } or 1 if do { my($m2) = 'Perlito::Grammar'->var_sigil($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.var_sigil'} = $m2; 1; } else { 0; } } and 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; } } })
513 0 32 if ($m2) { }
523 0 0 if ($m2) { }
533 0 0 if ($m2) { }
541 0 0 if do { my($m2) = 'Perlito::Grammar'->var_sigil($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.var_sigil'} = $m2; 1; } else { 0; } } and do { my($m2) = 'Perlito::Grammar'->var_twigil($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.var_twigil'} = $m2; 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; } }
559 0 0 if ($m2) { }
567 0 0 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
574 0 0 if ($m2) { }
582 0 0 if '<(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and (')>' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
589 0 0 if ($m2) { }
598 0 0 if ($m2) { }
606 0 0 if 'to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
613 0 0 if ($m2) { }
622 0 0 if ($m2) { }
630 0 0 if 'to, 7) and $$MATCH{'to'} = 7 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
637 0 0 if ($m2) { }
646 0 0 if ($m2) { }
654 0 0 if 'to, 8) and $$MATCH{'to'} = 8 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
661 0 0 if ($m2) { }
669 0 0 if 'to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
684 0 0 if ($m2) { }
692 0 0 if '<+' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->char_class($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'char_class'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
699 0 0 if ($m2) { }
707 0 0 if '<-' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->char_class($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'char_class'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
714 9 0 if ($m2) { }
722 9 0 if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'literal'} = $m2; 1; } else { 0; } } and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
729 0 0 if ($m2) { }
737 0 0 if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'literal'} = $m2; 1; } else { 0; } } and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
742 2 19 if ('<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
747 0 2 if ($m2) { }
755 0 0 if do { my($m2) = $grammar->variables($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'variables'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
762 0 0 if ($m2) { }
770 0 0 if '?' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
777 2 0 if ($m2) { }
785 2 0 if '.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
788 0 2 unless (do { do { $$MATCH{'capture'} = 'Rul::InterpolateVar'->new('var', ${$$MATCH{'variables'};}) } or 1 if do { my($m2) = $grammar->variables($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'variables'} = $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'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 0)) } or 1 if '?' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $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'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 0)) } or 1 if '.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) })
792 0 0 if ($m2) { }
800 0 0 if do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
809 0 0 if ($m2) { }
817 0 0 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->parsed_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'parsed_code'} = $m2; 1; } else { 0; } } and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
822 0 19 if ('\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
827 0 0 if ($m2) { }
835 0 0 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and ('[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $m2; 1; } else { 0; } } and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
842 0 0 if ($m2) { }
850 0 0 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $m2; 1; } else { 0; } }
853 0 0 unless (do { do { $$MATCH{'capture'} = 'Rul::Constant'->new('constant', chr $$MATCH{'Perlito::Grammar.digits'}) } or 1 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and ('[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $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'} = 'Rul::Constant'->new('constant', chr $$MATCH{'Perlito::Grammar.digits'}) } or 1 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $m2; 1; } else { 0; } } })
857 0 0 if ($m2) { }
865 0 0 if do { my($m2) = $grammar->any($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'any'} = $m2; 1; } else { 0; } }
872 0 19 if '.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
875 19 0 unless (do { do { $$MATCH{'capture'} = 'Rul::Capture'->new('rule_exp', ${$$MATCH{'rule'};}) } or 1 if '(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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'} = 'Rul::CaptureResult'->new('rule_exp', ${$$MATCH{'rule'};}) } or 1 if '<(' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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'} = 'Rul::After'->new('rule_exp', ${$$MATCH{'rule'};}) } or 1 if 'to, 6) and $$MATCH{'to'} = 6 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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'} = 'Rul::Before'->new('rule_exp', ${$$MATCH{'rule'};}) } or 1 if 'to, 7) and $$MATCH{'to'} = 7 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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'} = 'Rul::NotBefore'->new('rule_exp', ${$$MATCH{'rule'};}) } or 1 if 'to, 8) and $$MATCH{'to'} = 8 + $MATCH->to and do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $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 $Hash_a = bless({}, 'HASH'); $$Hash_a{'negate'} = do { my $Hash_a = bless({}, 'HASH'); $$Hash_a{'metasyntax'} = ${$$MATCH{'metasyntax_exp'};}; $Hash_a }; $Hash_a } } or 1 if 'to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $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'} = 'Rul::CharClass'->new('chars', '' . $$MATCH{'char_class'}) } or 1 if '<+' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->char_class($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'char_class'} = $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'} = 'Rul::NegateCharClass'->new('chars', '' . $$MATCH{'char_class'}) } or 1 if '<-' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = $grammar->char_class($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'char_class'} = $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'} = 'Rul::Constant'->new('constant', ${$$MATCH{'literal'};}) } or 1 if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'literal'} = $m2; 1; } else { 0; } } and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) } or do { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = 'Rul::Constant'->new('constant', ${$$MATCH{'literal'};}) } or 1 if '<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do { my($m2) = $grammar->literal($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'literal'} = $m2; 1; } else { 0; } } and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) } or do { $$MATCH{'to'} = $pos1; if ('<' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) { my($pos1) = $MATCH->to; unless (do { do { $$MATCH{'capture'} = 'Rul::InterpolateVar'->new('var', ${$$MATCH{'variables'};}) } or 1 if do { my($m2) = $grammar->variables($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'variables'} = $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'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 0)) } or 1 if '?' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $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'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 0)) } or 1 if '.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $m2; 1; } else { 0; } } and ('>' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) }) { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = 'Rul::Subrule'->new(('metasyntax', ${$$MATCH{'metasyntax_exp'};}), ('captures', 1)) } or 1 if do { my($m2) = $grammar->metasyntax_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'metasyntax_exp'} = $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'} = 'Rul::Block'->new('closure', ${$$MATCH{'parsed_code'};}) } or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->parsed_code($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'parsed_code'} = $m2; 1; } else { 0; } } and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) } or do { $$MATCH{'to'} = $pos1; if ('\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) { my($pos1) = $MATCH->to; unless (do { do { $$MATCH{'capture'} = 'Rul::Constant'->new('constant', chr $$MATCH{'Perlito::Grammar.digits'}) } or 1 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and ('[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $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'} = 'Rul::Constant'->new('constant', chr $$MATCH{'Perlito::Grammar.digits'}) } or 1 if 'c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = 'Perlito::Grammar'->digits($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'Perlito::Grammar.digits'} = $m2; 1; } else { 0; } } }) { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = 'Rul::SpecialChar'->new('char', ${$$MATCH{'any'};}) } or 1 if do { my($m2) = $grammar->any($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'any'} = $m2; 1; } else { 0; } }; } ; } } or do { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = 'Rul::Dot'->new } or 1 if '.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to })
879 4 0 if ($m2) { }
887 4 0 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->rule($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule'} = $m2; 1; } else { 0; } } and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
905 0 30 if ($m2) { }
913 0 30 if (do { my($m2) = $grammar->variables($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'variables'} = $m2; 1; } else { 0; } })
918 0 0 unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
920 0 0 if ($m2) { }
933 0 0 unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
935 0 0 if ($m2) { }
948 0 0 if ($m2) { }
956 0 0 if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $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) and do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 } and do { my($m2) = $grammar->named_capture_body($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'named_capture_body'} = $m2; 1; } else { 0; } }
959 0 0 unless (do { do { $$MATCH{'capture'} = 'Rul::NamedCapture'->new(('rule_exp', ${$$MATCH{'named_capture_body'};}), ('capture_ident', ${$$MATCH{'variables'};})) } or 1 if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $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) and do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 } and do { my($m2) = $grammar->named_capture_body($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'named_capture_body'} = $m2; 1; } else { 0; } } })
961 0 0 unless do { $$MATCH{'capture'} = ${$$MATCH{'variables'};} }
970 15 15 if ($m2) { }
978 15 15 if do { my($m2) = $grammar->rule_terms($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_terms'} = $m2; 1; } else { 0; } }
981 15 15 unless (do { if (do { my($m2) = $grammar->variables($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'variables'} = $m2; 1; } else { 0; } }) { my($pos1) = $MATCH->to; unless (do { do { $$MATCH{'capture'} = 'Rul::NamedCapture'->new(('rule_exp', ${$$MATCH{'named_capture_body'};}), ('capture_ident', ${$$MATCH{'variables'};})) } or 1 if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $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) and do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 } and do { my($m2) = $grammar->named_capture_body($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'named_capture_body'} = $m2; 1; } else { 0; } } }) { $$MATCH{'to'} = $pos1; 1 unless do { $$MATCH{'capture'} = ${$$MATCH{'variables'};} }; } ; } } or do { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = ${$$MATCH{'rule_terms'};} } or 1 if do { my($m2) = $grammar->rule_terms($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_terms'} = $m2; 1; } else { 0; } } })
989 4 11 if ']' eq substr($str, $MATCH->to, 1)
992 4 7 if '}' eq substr($str, $MATCH->to, 1)
995 0 7 if ')' eq substr($str, $MATCH->to, 1)
998 0 7 if '>' eq substr($str, $MATCH->to, 1)
1001 0 7 if ':' eq substr($str, $MATCH->to, 1)
1004 0 7 if '?' eq substr($str, $MATCH->to, 1)
1007 0 7 if '+' eq substr($str, $MATCH->to, 1)
1010 0 7 if '*' eq substr($str, $MATCH->to, 1)
1013 7 0 if '|' eq substr($str, $MATCH->to, 1)
1016 0 0 if '&' eq substr($str, $MATCH->to, 1)
1017 0 0 unless (do { $$MATCH{'to'} = 1 + $MATCH->to if ']' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if ')' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '>' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if ':' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '?' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '+' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '*' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '|' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '&' eq substr($str, $MATCH->to, 1) })
1019 0 0 if '/' eq substr($str, $MATCH->to, 1)
1027 0 0 if ($m2) { }
1035 0 0 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; unless (do { $$MATCH{'to'} = 1 + $MATCH->to if ']' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if ')' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '>' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if ':' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '?' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '+' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '*' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '|' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$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 } and do { my($m2) = $grammar->any($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'any'} = $m2; 1; } else { 0; } }
1053 0 0 if ($m2) { }
1060 0 0 if ('**' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
1065 0 0 if ($m2) { }
1073 0 0 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; } }
1076 0 0 unless (do { do { $$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.val_int'};} } 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; } } })
1080 0 0 if ($m2) { }
1088 0 0 if do { my($m2) = $grammar->rule_term($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_term'} = $m2; 1; } else { 0; } }
1093 15 0 unless (do { if ('**' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do { my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { my($pos1) = $MATCH->to; unless (do { do { $$MATCH{'capture'} = ${$$MATCH{'Perlito::Grammar.val_int'};} } 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; } } }) { $$MATCH{'to'} = $pos1; do { $$MATCH{'capture'} = ${$$MATCH{'rule_term'};} } or 1 if do { my($m2) = $grammar->rule_term($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_term'} = $m2; 1; } else { 0; } }; } ; } })
1098 0 15 if '?' eq substr($str, $MATCH->to, 1)
1101 0 15 if '*' eq substr($str, $MATCH->to, 1)
1102 15 0 unless (do { $$MATCH{'to'} = 1 + $MATCH->to if '?' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '*' eq substr($str, $MATCH->to, 1) })
1104 4 11 if '+' eq substr($str, $MATCH->to, 1)
1120 0 4 if '?' eq substr($str, $MATCH->to, 1)
1123 0 4 if '+' eq substr($str, $MATCH->to, 1)
1124 4 0 unless (do { $$MATCH{'to'} = 1 + $MATCH->to if '?' eq substr($str, $MATCH->to, 1) } or do { $$MATCH{'to'} = $pos1; $$MATCH{'to'} = 1 + $MATCH->to if '+' eq substr($str, $MATCH->to, 1) })
1142 30 0 if ($m2) { }
1151 15 15 if ($m2) { }
1161 15 0 if ($m2) { }
1168 15 0 if (do { my($m2) = 'Perlito::Grammar'->opt_ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } and do { my($m2) = $grammar->rule_term($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'rule_term'} = $m2; 1; } else { 0; } } and do { my($m2) = 'Perlito::Grammar'->opt_ws2($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
1173 4 11 if ($m2) { }
1183 4 0 if ($m2) { }
1193 4 0 if ($m2) { }
1200 4 0 if do { my($m2) = $grammar->quant_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'quant_exp'} = $m2; 1; } else { 0; } } and do { my($m2) = $grammar->greedy_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'greedy_exp'} = $m2; 1; } else { 0; } } and do { my($m2) = 'Perlito::Grammar'->opt_ws3($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }
1203 11 4 unless (do { do { $$MATCH{'capture'} = 'Rul::Quantifier'->new(('term', ${$$MATCH{'rule_term'};}), ('quant', ${$$MATCH{'quant_exp'};}), ('greedy', ${$$MATCH{'greedy_exp'};}), ('ws1', ${$$MATCH{'Perlito::Grammar.opt_ws'};}), ('ws2', ${$$MATCH{'Perlito::Grammar.opt_ws2'};}), ('ws3', ${$$MATCH{'Perlito::Grammar.opt_ws3'};})) } or 1 if do { my($m2) = $grammar->quant_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'quant_exp'} = $m2; 1; } else { 0; } } and do { my($m2) = $grammar->greedy_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'greedy_exp'} = $m2; 1; } else { 0; } } and do { my($m2) = 'Perlito::Grammar'->opt_ws3($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } } })
1205 0 11 unless do { $$MATCH{'capture'} = ${$$MATCH{'rule_term'};} }
1225 15 15 if ($m2) { }
1233 15 15 if (do { my($m2) = $grammar->quantifier($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'quantifier'} = $m2; 1; } else { 0; } })
1238 15 0 if ($m2) { }
1246 15 0 if do { my($m2) = $grammar->concat_list($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_list'} = $m2; 1; } else { 0; } }
1258 0 15 unless (do { do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'quantifier'};}; $List_v = ${$$MATCH{'concat_list'};}; foreach my $x (@{bless [0 .. scalar(@{$List_v;}) - 1], 'ARRAY';}) { push @{$List_a;}, $$List_v[$x]; } ; $List_a } } or 1 if do { my($m2) = $grammar->concat_list($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_list'} = $m2; 1; } else { 0; } } })
1260 0 0 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'quantifier'};}; $List_a } }
1270 15 15 unless (do { if (do { my($m2) = $grammar->quantifier($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'quantifier'} = $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;}, ${$$MATCH{'quantifier'};}; $List_v = ${$$MATCH{'concat_list'};}; foreach my $x (@{bless [0 .. scalar(@{$List_v;}) - 1], 'ARRAY';}) { push @{$List_a;}, $$List_v[$x]; } ; $List_a } } or 1 if do { my($m2) = $grammar->concat_list($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_list'} = $m2; 1; } else { 0; } } }) { $$MATCH{'to'} = $pos1; 1 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'quantifier'};}; $List_a } }; } ; } })
1272 15 0 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); $List_a } }
1294 15 0 if ($m2) { }
1302 15 0 if do { my($m2) = $grammar->concat_list($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_list'} = $m2; 1; } else { 0; } }
1320 15 0 if ($m2) { }
1328 15 0 if (do { my($m2) = $grammar->concat_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_exp'} = $m2; 1; } else { 0; } })
1333 7 0 if ($m2) { }
1341 7 0 if '|' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->or_list_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'or_list_exp'} = $m2; 1; } else { 0; } }
1353 8 7 unless (do { do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'concat_exp'};}; $List_v = ${$$MATCH{'or_list_exp'};}; foreach my $x (@{bless [0 .. scalar(@{$List_v;}) - 1], 'ARRAY';}) { push @{$List_a;}, $$List_v[$x]; } ; $List_a } } or 1 if '|' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->or_list_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'or_list_exp'} = $m2; 1; } else { 0; } } })
1355 0 8 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'concat_exp'};}; $List_a } }
1365 0 15 unless (do { if (do { my($m2) = $grammar->concat_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'concat_exp'} = $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;}, ${$$MATCH{'concat_exp'};}; $List_v = ${$$MATCH{'or_list_exp'};}; foreach my $x (@{bless [0 .. scalar(@{$List_v;}) - 1], 'ARRAY';}) { push @{$List_a;}, $$List_v[$x]; } ; $List_a } } or 1 if '|' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do { my($m2) = $grammar->or_list_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'or_list_exp'} = $m2; 1; } else { 0; } } }) { $$MATCH{'to'} = $pos1; 1 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); push @{$List_a;}, ${$$MATCH{'concat_exp'};}; $List_a } }; } ; } })
1367 0 0 unless do { $$MATCH{'capture'} = do { my $List_a = bless([], 'ARRAY'); my $List_v = bless([], 'ARRAY'); $List_a } }
1390 8 0 if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 }
1392 0 8 unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } })
1394 8 0 if ($m2) { }
1406 8 0 unless (do { '|' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 } })
1412 8 0 if ($m2) { }
1420 8 0 if do { my($pos1) = $MATCH->to; unless (do { '|' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to if do { my($last_pos) = $MATCH->to; unless (do { my($m2) = $grammar->ws($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; 1; } else { 0; } }) { $$MATCH{'to'} = $last_pos; } ; 1 } }) { $$MATCH{'to'} = $pos1; 1; } } and do { my($m2) = $grammar->or_list_exp($str, $MATCH->to); if ($m2) { $$MATCH{'to'} = $m2->to; $$MATCH{'or_list_exp'} = $m2; 1; } else { 0; } }