| line | true | false | branch | 
 
| 31 | 1100 | 12063 | if ("\n" eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 33 | 1100 | 0 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if "\r" eq substr($str, $MATCH->to, 1)
}) | 
 
| 34 | 0 | 1100 | if "\r" eq substr($str, $MATCH->to, 1) | 
 
| 40 | 12063 | 1100 | unless (do {
	if ("\n" eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
	my($last_pos) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if "\r" eq substr($str, $MATCH->to, 1)
}) {
	$$MATCH{'to'} = $last_pos;
};
1;
}
}) | 
 
| 42 | 0 | 12063 | if ("\r" eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 44 | 0 | 0 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if "\n" eq substr($str, $MATCH->to, 1)
}) | 
 
| 45 | 0 | 0 | if "\n" eq substr($str, $MATCH->to, 1) | 
 
| 64 | 323 | 12 | 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 {
	my($m2) = $grammar->is_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
} | 
 
| 71 | 12 | 323 | if ($m2) { } | 
 
| 104 | 981 | 8715 | if ($m2) { } | 
 
| 116 | 8715 | 981 | 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 {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
}) | 
 
| 122 | 8112 | 8715 | if ($m2) { } | 
 
| 130 | 0 | 8112 | if ($last_pos == $MATCH->to) { } | 
 
| 157 | 578 | 107 | if ($m2) { } | 
 
| 164 | 578 | 107 | if (do {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 170 | 1 | 578 | if ('::' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to) | 
 
| 172 | 1 | 0 | if ($m2) { } | 
 
| 182 | 0 | 1 | if ($last_pos == $MATCH->to) { } | 
 
| 208 | 879 | 2361 | if ($m2) { } | 
 
| 221 | 14 | 865 | if '::' eq substr($str, $MATCH->to, 2) | 
 
| 227 | 14 | 865 | if (do {
	my($m2) = $grammar->ident($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 {
	$$MATCH{'to'} = 2 + $MATCH->to if '::' eq substr($str, $MATCH->to, 2)
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
}) | 
 
| 235 | 16 | 0 | if ($m2) { } | 
 
| 242 | 16 | 0 | if ('::' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to and do {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 248 | 2 | 14 | if '::' eq substr($str, $MATCH->to, 2) | 
 
| 257 | 0 | 2 | if ($last_pos == $MATCH->to) { } | 
 
| 283 | 14 | 3226 | if ($m2) { } | 
 
| 291 | 14 | 0 | if do {
	my($m2) = $grammar->namespace_before_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'namespace_before_ident'} = $m2;
1;
}
else {
	0;
}
} and ('::' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to) | 
 
| 294 | 3226 | 14 | unless (do {
	do {
	$$MATCH{'capture'} = '' . $$MATCH{'namespace_before_ident'}
} or 1 if do {
	my($m2) = $grammar->namespace_before_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'namespace_before_ident'} = $m2;
1;
}
else {
	0;
}
} and ('::' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
}) | 
 
| 296 | 3226 | 0 | unless do {
	$$MATCH{'capture'} = ''
} | 
 
| 314 | 0 | 0 | if ($m2) { } | 
 
| 321 | 0 | 0 | if (do {
	my($m2) = $grammar->is_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('=end' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to)) | 
 
| 326 | 0 | 0 | if ($m2) { } | 
 
| 334 | 0 | 0 | if ($last_pos == $MATCH->to) { } | 
 
| 345 | 0 | 0 | unless (do {
	if (do {
	my($m2) = $grammar->is_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('=end' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to)) {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = $grammar->not_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1;
}
}) | 
 
| 352 | 0 | 0 | if ($m2) { } | 
 
| 360 | 0 | 0 | if ($last_pos == $MATCH->to) { } | 
 
| 370 | 0 | 0 | if ('' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = $grammar->not_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1
}) | 
 
| 372 | 0 | 0 | if ($m2) { } | 
 
| 399 | 12 | 12572 | if ('#' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 404 | 323 | 12 | if ($m2) { } | 
 
| 412 | 0 | 323 | if ($last_pos == $MATCH->to) { } | 
 
| 427 | 973 | 11599 | if ($m2) { } | 
 
| 434 | 973 | 11599 | if (do {
	my($m2) = $grammar->is_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 437 | 0 | 973 | if ('=begin' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to) | 
 
| 439 | 0 | 0 | if ($m2) { } | 
 
| 449 | 0 | 973 | if ('=for' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to) | 
 
| 451 | 0 | 0 | if ($m2) { } | 
 
| 459 | 973 | 0 | unless (do {
	if ('=begin' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to) {
	my($m2) = $grammar->pod_begin($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
} or do {
	$$MATCH{'to'} = $pos1;
if ('=for' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to) {
	my($m2) = $grammar->pod_begin($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}) | 
 
| 464 | 11599 | 973 | unless (do {
	if ('#' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = $grammar->not_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1;
}
} or do {
	$$MATCH{'to'} = $pos1;
if (do {
	my($m2) = $grammar->is_newline($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($pos1) = $MATCH->to;
unless (do {
	if ('=begin' eq substr($str, $MATCH->to, 6) and $$MATCH{'to'} = 6 + $MATCH->to) {
	my($m2) = $grammar->pod_begin($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
} or do {
	$$MATCH{'to'} = $pos1;
if ('=for' eq substr($str, $MATCH->to, 4) and $$MATCH{'to'} = 4 + $MATCH->to) {
	my($m2) = $grammar->pod_begin($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}) {
	$$MATCH{'to'} = $pos1;
1;
};
}
}) | 
 
| 468 | 6285 | 5314 | if ($m2) { } | 
 
| 478 | 0 | 7270 | if ($last_pos == $MATCH->to) { } | 
 
| 503 | 269 | 182 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 505 | 182 | 269 | if ($m2) { } | 
 
| 530 | 4 | 11 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 532 | 11 | 4 | if ($m2) { } | 
 
| 557 | 0 | 4 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 559 | 4 | 0 | if ($m2) { } | 
 
| 585 | 36 | 0 | if ($m2) { } | 
 
| 595 | 0 | 36 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 597 | 36 | 0 | if ($m2) { } | 
 
| 610 | 0 | 36 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 612 | 36 | 0 | if ($m2) { } | 
 
| 625 | 36 | 0 | if ($m2) { } | 
 
| 635 | 36 | 0 | unless (do {
	my($m2) = $grammar->ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 637 | 0 | 36 | if ($m2) { } | 
 
| 648 | 36 | 0 | if do {
	my($m2) = $grammar->full_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'full_ident'} = $m2;
1;
}
else {
	0;
}
} 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 ('{' 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->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} 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 ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 664 | 81 | 2785 | if 'my' eq substr($str, $MATCH->to, 2) | 
 
| 667 | 0 | 2785 | if 'state' eq substr($str, $MATCH->to, 5) | 
 
| 668 | 2785 | 0 | unless (do {
	$$MATCH{'to'} = 2 + $MATCH->to if 'my' eq substr($str, $MATCH->to, 2)
} or do {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 5 + $MATCH->to if 'state' eq substr($str, $MATCH->to, 5)
}) | 
 
| 670 | 2 | 2783 | if 'has' eq substr($str, $MATCH->to, 3) | 
 
| 686 | 0 | 0 | if ($m2) { } | 
 
| 694 | 0 | 0 | if do {
	my($m2) = $grammar->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 712 | 90 | 0 | if ($m2) { } | 
 
| 720 | 90 | 0 | if do {
	my($m2) = 'Perlito::Expression'->exp_parse($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.exp_parse'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 738 | 14 | 0 | if ($m2) { } | 
 
| 746 | 14 | 0 | if do {
	my($m2) = 'Perlito::Expression'->exp_parse($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.exp_parse'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 764 | 0 | 0 | if ($m2) { } | 
 
| 772 | 0 | 0 | if do {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'ident'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 775 | 0 | 0 | unless (do {
	do {
	$$MATCH{'capture'} = ${$$MATCH{'ident'};}
} or 1 if do {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'ident'} = $m2;
1;
}
else {
	0;
}
}
}) | 
 
| 777 | 0 | 0 | unless do {
	$$MATCH{'capture'} = 'postcircumfix:<( )>'
} | 
 
| 795 | 83 | 0 | unless (do {
	$$MATCH{'to'} = 2 + $MATCH->to if '::' eq substr($str, $MATCH->to, 2)
}) | 
 
| 796 | 0 | 83 | if '::' eq substr($str, $MATCH->to, 2) | 
 
| 803 | 0 | 83 | if ($m2) { } | 
 
| 811 | 0 | 83 | if do {
	my($last_pos) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 2 + $MATCH->to if '::' eq substr($str, $MATCH->to, 2)
}) {
	$$MATCH{'to'} = $last_pos;
};
1
} and do {
	my($m2) = $grammar->full_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'full_ident'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 814 | 83 | 0 | unless (do {
	do {
	$$MATCH{'capture'} = ${$$MATCH{'full_ident'};}
} or 1 if do {
	my($last_pos) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 2 + $MATCH->to if '::' eq substr($str, $MATCH->to, 2)
}) {
	$$MATCH{'to'} = $last_pos;
};
1
} and do {
	my($m2) = $grammar->full_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'full_ident'} = $m2;
1;
}
else {
	0;
}
}
}) | 
 
| 816 | 83 | 0 | unless do {
	$$MATCH{'capture'} = ''
} | 
 
| 832 | 476 | 5152 | if '$' eq substr($str, $MATCH->to, 1) | 
 
| 835 | 23 | 5129 | if '%' eq substr($str, $MATCH->to, 1) | 
 
| 838 | 50 | 5079 | if '@' eq substr($str, $MATCH->to, 1) | 
 
| 839 | 5079 | 50 | 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)
}) | 
 
| 841 | 16 | 5063 | if '&' eq substr($str, $MATCH->to, 1) | 
 
| 856 | 562 | 5 | unless (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)
}) {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '*' eq substr($str, $MATCH->to, 1);
}
}) | 
 
| 859 | 5 | 562 | if '.' eq substr($str, $MATCH->to, 1) | 
 
| 862 | 0 | 562 | if '!' eq substr($str, $MATCH->to, 1) | 
 
| 865 | 0 | 562 | if '^' eq substr($str, $MATCH->to, 1) | 
 
| 866 | 562 | 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)
}) | 
 
| 868 | 0 | 562 | if '*' eq substr($str, $MATCH->to, 1) | 
 
| 888 | 541 | 24 | if ($m2) { } | 
 
| 898 | 0 | 24 | if '/' eq substr($str, $MATCH->to, 1) | 
 
| 899 | 24 | 0 | unless (do {
	my($m2) = $grammar->full_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'full_ident'} = $m2;
1;
}
else {
	0;
}
} or do {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '/' eq substr($str, $MATCH->to, 1)
}) | 
 
| 903 | 0 | 24 | if ($m2) { } | 
 
| 927 | 565 | 4999 | if ($m2) { } | 
 
| 937 | 565 | 0 | if ($m2) { } | 
 
| 947 | 565 | 0 | if ($m2) { } | 
 
| 957 | 541 | 24 | if ($m2) { } | 
 
| 965 | 541 | 24 | if do {
	my($m2) = $grammar->var_sigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_sigil'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_twigil'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->optional_namespace_before_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'optional_namespace_before_ident'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->var_name($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_name'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 984 | 0 | 336 | if 'e' eq substr($str, $MATCH->to, 1) | 
 
| 985 | 336 | 0 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if 'e' eq substr($str, $MATCH->to, 1)
}) | 
 
| 987 | 0 | 336 | if 'E' eq substr($str, $MATCH->to, 1) | 
 
| 992 | 0 | 0 | if '+' eq substr($str, $MATCH->to, 1) | 
 
| 995 | 0 | 0 | if '-' eq substr($str, $MATCH->to, 1) | 
 
| 996 | 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)
}) | 
 
| 1000 | 0 | 0 | if (do {
	my($pos1) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if 'e' eq substr($str, $MATCH->to, 1)
}) {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if 'E' eq substr($str, $MATCH->to, 1);
}
} and 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)
}) {
	$$MATCH{'to'} = $pos1;
1;
}
}) | 
 
| 1006 | 0 | 0 | if ($m2) { } | 
 
| 1014 | 0 | 0 | if ($last_pos == $MATCH->to) { } | 
 
| 1048 | 0 | 0 | if ($m2) { } | 
 
| 1056 | 0 | 0 | if ($last_pos == $MATCH->to) { } | 
 
| 1067 | 0 | 0 | if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) | 
 
| 1069 | 0 | 0 | unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1071 | 0 | 0 | if ($m2) { } | 
 
| 1083 | 2337 | 0 | unless (do {
	if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) {
	my($last_pos) = $MATCH->to;
unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	$$MATCH{'to'} = $last_pos;
};
1;
}
}) | 
 
| 1091 | 352 | 2337 | if ($m2) { } | 
 
| 1099 | 0 | 352 | if ($last_pos == $MATCH->to) { } | 
 
| 1110 | 327 | 2010 | if (do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) | 
 
| 1114 | 0 | 327 | if ($m2) { } | 
 
| 1121 | 327 | 0 | unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1129 | 16 | 9 | if ($m2) { } | 
 
| 1137 | 0 | 16 | if ($last_pos == $MATCH->to) { } | 
 
| 1148 | 9 | 0 | if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) | 
 
| 1150 | 9 | 0 | unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1152 | 0 | 9 | if ($m2) { } | 
 
| 1167 | 9 | 2328 | if do {
	my($pos1) = $MATCH->to;
unless (do {
	if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) {
	my($last_pos) = $MATCH->to;
unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	$$MATCH{'to'} = $last_pos;
};
1;
}
}) {
	$$MATCH{'to'} = $pos1;
if (do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) {
	my($pos1) = $MATCH->to;
unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	$$MATCH{'to'} = $pos1;
if ('.' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
}) {
	my($last_pos) = $MATCH->to;
unless (do {
	my($m2) = $grammar->exponent($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	$$MATCH{'to'} = $last_pos;
};
1;
};
};
};
}
} | 
 
| 1183 | 0 | 0 | if '' ne substr($str, $MATCH->to, 1) | 
 
| 1203 | 275 | 274 | if q['] eq substr($str, $MATCH->to, 1) | 
 
| 1209 | 274 | 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 q['] eq substr($str, $MATCH->to, 1)
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
} and ('' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)) | 
 
| 1215 | 1681 | 274 | 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 {
	my($pos1) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if q['] 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
} | 
 
| 1223 | 274 | 1681 | if q['] eq substr($str, $MATCH->to, 1) | 
 
| 1224 | 1681 | 274 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if q['] eq substr($str, $MATCH->to, 1)
}) | 
 
| 1226 | 0 | 1681 | if '\\' eq substr($str, $MATCH->to, 1) | 
 
| 1236 | 0 | 1681 | if ($last_pos == $MATCH->to) { } | 
 
| 1262 | 0 | 0 | if ($m2) { } | 
 
| 1270 | 0 | 0 | if '\\' 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) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1277 | 0 | 0 | if ($m2) { } | 
 
| 1285 | 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->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1292 | 0 | 0 | if ($m2) { } | 
 
| 1300 | 0 | 0 | if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1307 | 274 | 275 | if ($m2) { } | 
 
| 1317 | 274 | 0 | if ($m2) { } | 
 
| 1325 | 274 | 0 | if do {
	my($m2) = $grammar->char_any_single_quote($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any_single_quote'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1328 | 275 | 274 | unless (do {
	do {
	$$MATCH{'capture'} = '\\' . $$MATCH{'single_quoted_unescape'}
} or 1 if '\\' 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) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = q['] . $$MATCH{'single_quoted_unescape'}
} 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->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = '\\' . $$MATCH{'single_quoted_unescape'}
} or 1 if '\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = $$MATCH{'char_any_single_quote'} . $$MATCH{'single_quoted_unescape'}
} or 1 if do {
	my($m2) = $grammar->char_any_single_quote($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any_single_quote'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
}
}) | 
 
| 1352 | 159 | 124 | if '"' eq substr($str, $MATCH->to, 1) | 
 
| 1355 | 0 | 124 | if '$' eq substr($str, $MATCH->to, 1) | 
 
| 1358 | 0 | 124 | if '@' eq substr($str, $MATCH->to, 1) | 
 
| 1361 | 0 | 124 | if '%' eq substr($str, $MATCH->to, 1) | 
 
| 1362 | 124 | 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)
}) | 
 
| 1364 | 0 | 124 | if '{' eq substr($str, $MATCH->to, 1) | 
 
| 1371 | 124 | 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 {
	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)
}) {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '{' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
} and ('' ne substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)) | 
 
| 1377 | 766 | 124 | 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 {
	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)
}) {
	$$MATCH{'to'} = $pos1;
$$MATCH{'to'} = 1 + $MATCH->to if '\\' eq substr($str, $MATCH->to, 1);
}
}
};
$$tmp{'bool'} = !$MATCH;
$MATCH = $tmp;
not !$MATCH
} | 
 
| 1385 | 117 | 773 | if '"' eq substr($str, $MATCH->to, 1) | 
 
| 1388 | 2 | 771 | if '$' eq substr($str, $MATCH->to, 1) | 
 
| 1391 | 0 | 771 | if '@' eq substr($str, $MATCH->to, 1) | 
 
| 1394 | 0 | 771 | if '%' eq substr($str, $MATCH->to, 1) | 
 
| 1397 | 3 | 768 | if '{' eq substr($str, $MATCH->to, 1) | 
 
| 1398 | 768 | 3 | 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)
}) | 
 
| 1400 | 2 | 766 | if '\\' eq substr($str, $MATCH->to, 1) | 
 
| 1410 | 0 | 766 | if ($last_pos == $MATCH->to) { } | 
 
| 1434 | 2 | 283 | if ('\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1437 | 0 | 2 | if ('c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1442 | 0 | 0 | if ($m2) { } | 
 
| 1450 | 0 | 0 | if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1453 | 0 | 0 | unless (do {
	do {
	$$MATCH{'capture'} = chr $$MATCH{'digits'}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) | 
 
| 1457 | 0 | 0 | if ($m2) { } | 
 
| 1465 | 0 | 0 | if do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1472 | 0 | 2 | if 'e' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to | 
 
| 1477 | 2 | 0 | if 'n' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to | 
 
| 1482 | 0 | 0 | if 't' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to | 
 
| 1485 | 0 | 0 | unless (do {
	if ('c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
	my($pos1) = $MATCH->to;
unless (do {
	do {
	$$MATCH{'capture'} = chr $$MATCH{'digits'}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = chr $$MATCH{'digits'}
} or 1 if do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
};
};
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\e"
} or 1 if 'e' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\n"
} or 1 if 'n' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\t"
} or 1 if 't' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
}) | 
 
| 1489 | 0 | 0 | if ($m2) { } | 
 
| 1497 | 0 | 0 | if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1502 | 283 | 2 | unless (do {
	if ('\\' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
	my($pos1) = $MATCH->to;
unless (do {
	if ('c' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) {
	my($pos1) = $MATCH->to;
unless (do {
	do {
	$$MATCH{'capture'} = chr $$MATCH{'digits'}
} or 1 if '[' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
} and (']' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = chr $$MATCH{'digits'}
} or 1 if do {
	my($m2) = $grammar->digits($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'digits'} = $m2;
1;
}
else {
	0;
}
};
};
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\e"
} or 1 if 'e' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\n"
} or 1 if 'n' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = "\t"
} or 1 if 't' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = '' . $$MATCH{'char_any'}
} or 1 if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
};
};
}
}) | 
 
| 1506 | 124 | 159 | if ($m2) { } | 
 
| 1514 | 124 | 159 | if do {
	my($m2) = $grammar->char_any_double_quote($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any_double_quote'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1536 | 2 | 288 | if '$' eq substr($str, $MATCH->to, 1) | 
 
| 1542 | 2 | 288 | 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
}) | 
 
| 1553 | 2 | 0 | if ($m2) { } | 
 
| 1560 | 2 | 0 | if ('$' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1562 | 2 | 0 | if ($m2) { } | 
 
| 1577 | 2 | 0 | if ($m2) { } | 
 
| 1585 | 2 | 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 {
	if ('$' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1588 | 0 | 2 | unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('$' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
}
}) | 
 
| 1592 | 0 | 0 | if ($m2) { } | 
 
| 1600 | 0 | 0 | if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1613 | 0 | 288 | if '@' eq substr($str, $MATCH->to, 1) | 
 
| 1619 | 0 | 288 | 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
}) | 
 
| 1630 | 0 | 0 | if ($m2) { } | 
 
| 1637 | 0 | 0 | if ('@' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1639 | 0 | 0 | if ($m2) { } | 
 
| 1654 | 0 | 0 | if ($m2) { } | 
 
| 1662 | 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 {
	if ('@' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('[]' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to) | 
 
| 1665 | 0 | 0 | unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('@' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('[]' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
}) | 
 
| 1669 | 0 | 0 | if ($m2) { } | 
 
| 1677 | 0 | 0 | if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1690 | 0 | 288 | if '%' eq substr($str, $MATCH->to, 1) | 
 
| 1696 | 0 | 288 | 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
}) | 
 
| 1707 | 0 | 0 | if ($m2) { } | 
 
| 1714 | 0 | 0 | if ('%' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) | 
 
| 1716 | 0 | 0 | if ($m2) { } | 
 
| 1731 | 0 | 0 | if ($m2) { } | 
 
| 1739 | 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 {
	if ('%' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('{}' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to) | 
 
| 1742 | 0 | 0 | unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('%' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('{}' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
}) | 
 
| 1746 | 0 | 0 | if ($m2) { } | 
 
| 1754 | 0 | 0 | if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1763 | 3 | 0 | if ($m2) { } | 
 
| 1771 | 3 | 0 | if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1774 | 285 | 3 | unless (do {
	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
}) {
	my($pos1) = $MATCH->to;
unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('$' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
}
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = 'Val::Buf'->new('buf', '' . $$MATCH{'char_any'})
} or 1 if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
};
};
}
} or do {
	$$MATCH{'to'} = $pos1;
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
}) {
	my($pos1) = $MATCH->to;
unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('@' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('[]' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = 'Val::Buf'->new('buf', '' . $$MATCH{'char_any'})
} or 1 if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
};
};
}
} or do {
	$$MATCH{'to'} = $pos1;
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
}) {
	my($pos1) = $MATCH->to;
unless (do {
	do {
	$$MATCH{'capture'} = $${$$MATCH{'Perlito::Expression.operator'};}[1]
} 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 {
	if ('%' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->var_twigil($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
}) {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
};
}
}
};
$$tmp{'bool'} = !!$MATCH;
$MATCH = $tmp;
not !$MATCH
} and do {
	my($m2) = 'Perlito::Expression'->operator($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.operator'} = $m2;
1;
}
else {
	0;
}
} and ('{}' eq substr($str, $MATCH->to, 2) and $$MATCH{'to'} = 2 + $MATCH->to)
}) {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = 'Val::Buf'->new('buf', '' . $$MATCH{'char_any'})
} or 1 if do {
	my($m2) = $grammar->char_any($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'char_any'} = $m2;
1;
}
else {
	0;
}
};
};
}
} or do {
	$$MATCH{'to'} = $pos1;
do {
	$$MATCH{'capture'} = 'Do'->new('block', 'Lit::Block'->new('stmts', ${$$MATCH{'exp_stmts'};}))
} or 1 if '{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) | 
 
| 1778 | 126 | 159 | if ($m2) { } | 
 
| 1786 | 126 | 159 | if do {
	my($m2) = $grammar->double_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'double_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 1807 | 131 | 159 | if ($m2) { } | 
 
| 1809 | 10 | 121 | if (exists $$MATCH{'double_quoted_buf'}) { } | 
 
| 1826 | 0 | 131 | if ($last_pos == $MATCH->to) { } | 
 
| 1836 | 159 | 0 | if '"' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = $grammar->double_quoted_buf($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'double_quoted_buf'}) {
	push @{$$MATCH{'double_quoted_buf'};}, $m2;
}
else {
	$$MATCH{'double_quoted_buf'} = do {
	my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1
} and ('"' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1838 | 38 | 121 | if (not $args) { } | 
 
| 1845 | 1851 | 159 | unless (do {
	do {
	my($args) = $$MATCH{'double_quoted_buf'};
if (not $args) {
	$$MATCH{'capture'} = 'Val::Buf'->new('buf', '');
}
else {
	$$MATCH{'capture'} = 'Apply'->new(('namespace', ''), ('code', 'list:<~>'), ('arguments', [map({$_->capture;} @{$$MATCH{'double_quoted_buf'};})]));
}
} or 1 if '"' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = $grammar->double_quoted_buf($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'double_quoted_buf'}) {
	push @{$$MATCH{'double_quoted_buf'};}, $m2;
}
else {
	$$MATCH{'double_quoted_buf'} = do {
	my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1
} and ('"' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) | 
 
| 1849 | 275 | 0 | if ($m2) { } | 
 
| 1857 | 275 | 0 | if q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to and do {
	my($m2) = $grammar->single_quoted_unescape($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'single_quoted_unescape'} = $m2;
1;
}
else {
	0;
}
} and (q['] eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 1878 | 0 | 0 | if ($m2) { } | 
 
| 1886 | 0 | 0 | if ($last_pos == $MATCH->to) { } | 
 
| 1916 | 343 | 2328 | if ($m2) { } | 
 
| 1924 | 0 | 343 | if ($last_pos == $MATCH->to) { } | 
 
| 1935 | 318 | 2010 | if do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
my($count) = 0;
while (do {
	my($m2) = $grammar->digit($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
$count = $count + 1;
};
$$MATCH{'to'} = $last_pos;
$count > 0
} | 
 
| 1956 | 705 | 270 | if ($m2) { } | 
 
| 1958 | 436 | 269 | if (exists $$MATCH{'Perlito::Expression.delimited_statement'}) { } | 
 
| 1975 | 0 | 705 | if ($last_pos == $MATCH->to) { } | 
 
| 1985 | 270 | 0 | if do {
	my($last_match_null) = 0;
my($last_pos) = $MATCH->to;
while (do {
	my($m2) = 'Perlito::Expression'->delimited_statement($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'Perlito::Expression.delimited_statement'}) {
	push @{$$MATCH{'Perlito::Expression.delimited_statement'};}, $m2;
}
else {
	$$MATCH{'Perlito::Expression.delimited_statement'} = do {
	my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
	0;
}
} and $last_match_null < 2) {
	if ($last_pos == $MATCH->to) {
	$last_match_null = $last_match_null + 1;
}
else {
	$last_match_null = 0;
};
$last_pos = $MATCH->to;
};
$$MATCH{'to'} = $last_pos;
1
} | 
 
| 2002 | 7 | 21 | unless (do {
	my($m2) = $grammar->ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
if (exists $$MATCH{'ident'}) {
	push @{$$MATCH{'ident'};}, $m2;
}
else {
	$$MATCH{'ident'} = do {
	my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
push @{$List_a;}, $m2;
$List_a
};
};
1;
}
else {
	0;
}
}) | 
 
| 2004 | 21 | 7 | if ($m2) { } | 
 
| 2006 | 0 | 21 | if (exists $$MATCH{'ident'}) { } | 
 
| 2041 | 15 | 9 | if ($m2) { } | 
 
| 2049 | 4 | 11 | if do {
	my($m2) = $grammar->var_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_ident'} = $m2;
1;
}
else {
	0;
}
} and (':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 2052 | 20 | 4 | unless (do {
	do {
	$$MATCH{'capture'} = ${$$MATCH{'var_ident'};}
} or 1 if do {
	my($m2) = $grammar->var_ident($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_ident'} = $m2;
1;
}
else {
	0;
}
} and (':' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) | 
 
| 2054 | 0 | 20 | unless do {
	$$MATCH{'capture'} = 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', 'self'))
} | 
 
| 2072 | 24 | 0 | if ($m2) { } | 
 
| 2082 | 24 | 0 | if ($m2) { } | 
 
| 2091 | 24 | 0 | if ($m2) { } | 
 
| 2099 | 24 | 0 | if do {
	my($m2) = $grammar->var_invocant($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'var_invocant'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = 'Perlito::Expression'->list_parse($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Expression.list_parse'} = $m2;
1;
}
else {
	0;
}
} | 
 
| 2120 | 24 | 0 | if ($m2) { } | 
 
| 2129 | 24 | 0 | if ($m2) { } | 
 
| 2138 | 24 | 0 | if ($m2) { } | 
 
| 2148 | 24 | 0 | if ($m2) { } | 
 
| 2155 | 24 | 0 | if do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->args_sig($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'args_sig'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) | 
 
| 2158 | 0 | 24 | unless (do {
	do {
	$$MATCH{'capture'} = ${$$MATCH{'args_sig'};}
} or 1 if do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('(' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->args_sig($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'args_sig'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and (')' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to)
}) | 
 
| 2160 | 0 | 0 | unless do {
	$$MATCH{'capture'} = 'Sig'->new(('invocant', 'Var'->new(('sigil', '$'), ('twigil', ''), ('name', 'self'))), ('positional', do {
	my $List_a = bless([], 'ARRAY');
my $List_v = bless([], 'ARRAY');
$List_a
}), ('named', do {
	my $Hash_a = bless({}, 'HASH');
$Hash_a
}))
} | 
 
| 2185 | 12 | 0 | if ($m2) { } | 
 
| 2195 | 12 | 0 | if ($m2) { } | 
 
| 2204 | 12 | 0 | if ($m2) { } | 
 
| 2214 | 12 | 0 | if ($m2) { } | 
 
| 2223 | 12 | 0 | if ($m2) { } | 
 
| 2232 | 12 | 0 | if ($m2) { } | 
 
| 2242 | 12 | 0 | if ($m2) { } | 
 
| 2252 | 12 | 0 | if '}' eq substr($str, $MATCH->to, 1) | 
 
| 2253 | 0 | 12 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1)
}) | 
 
| 2255 | 0 | 0 | unless do {
	die q[Syntax Error in method '.], ${$$MATCH{'name'};}, q[' near pos=], $MATCH->to
} | 
 
| 2259 | 12 | 0 | if do {
	my($m2) = $grammar->opt_name($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'opt_name'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->method_sig($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'method_sig'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($pos1) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1)
}) {
	$$MATCH{'to'} = $pos1;
1 unless do {
	die q[Syntax Error in method '.], ${$$MATCH{'name'};}, q[' near pos=], $MATCH->to
};
}
} | 
 
| 2277 | 12 | 0 | if ($m2) { } | 
 
| 2287 | 12 | 0 | if ($m2) { } | 
 
| 2296 | 12 | 0 | if ($m2) { } | 
 
| 2306 | 12 | 0 | if ($m2) { } | 
 
| 2315 | 12 | 0 | if ($m2) { } | 
 
| 2324 | 12 | 0 | if ($m2) { } | 
 
| 2334 | 12 | 0 | if ($m2) { } | 
 
| 2344 | 12 | 0 | if '}' eq substr($str, $MATCH->to, 1) | 
 
| 2345 | 0 | 12 | unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1)
}) | 
 
| 2347 | 0 | 0 | unless do {
	die q[Syntax Error in sub '], ${$$MATCH{'name'};}, q[']
} | 
 
| 2351 | 12 | 0 | if do {
	my($m2) = $grammar->opt_name($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'opt_name'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->method_sig($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'method_sig'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->exp_stmts($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'exp_stmts'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and do {
	my($pos1) = $MATCH->to;
unless (do {
	$$MATCH{'to'} = 1 + $MATCH->to if '}' eq substr($str, $MATCH->to, 1)
}) {
	$$MATCH{'to'} = $pos1;
1 unless do {
	die q[Syntax Error in sub '], ${$$MATCH{'name'};}, q[']
};
}
} | 
 
| 2369 | 4 | 0 | if ($m2) { } | 
 
| 2379 | 4 | 0 | if ($m2) { } | 
 
| 2388 | 4 | 0 | if ($m2) { } | 
 
| 2396 | 4 | 0 | if do {
	my($m2) = $grammar->opt_name($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'opt_name'} = $m2;
1;
}
else {
	0;
}
} and do {
	my($m2) = $grammar->opt_ws($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
1;
}
else {
	0;
}
} and ('{' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) and do {
	my($m2) = 'Perlito::Grammar::Regex'->rule($str, $MATCH->to);
if ($m2) {
	$$MATCH{'to'} = $m2->to;
$$MATCH{'Perlito::Grammar::Regex.rule'} = $m2;
1;
}
else {
	0;
}
} and ('}' eq substr($str, $MATCH->to, 1) and $$MATCH{'to'} = 1 + $MATCH->to) |