package Pugs::Grammar::Rule; use utf8; no strict 'refs'; use Pugs::Runtime::Match; use Pugs::Runtime::Regex; our %rule_terms; our %variables; *pod_begin = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I1858} = $pos or 1 ) && ( ( ( ( $pad{I1859} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1859} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1860} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1860} ) && 0 ) ) && do { while ( ( ( $pad{I1861} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1861} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1858} ) or 1 ) && ( ( ( $pad{I1862} = $pos or 1 ) && ( substr( $s, $pos++, 1 ) ne '' ) || ( ( $pos = $pad{I1862} ) && 0 ) ) && do { while ( ( ( $pad{I1863} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1863} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I1864} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_begin( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1864} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for pod_begin #->sub_signature #pod_begin, ); ; *pod_other = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I1865} = $pos or 1 ) && ( ( ( ( $pad{I1866} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1866} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'c' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'u' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1867} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 't' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1867} ) && 0 ) ) && do { while ( ( ( $pad{I1868} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1868} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1865} ) or 1 ) && ( ( ( $pad{I1869} = $pos or 1 ) && ( substr( $s, $pos++, 1 ) ne '' ) || ( ( $pos = $pad{I1869} ) && 0 ) ) && do { while ( ( ( $pad{I1870} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1870} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I1871} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1871} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for pod_other #->sub_signature #pod_other, ); ; *ws = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I1872} = $pos or 1 ) && ( ( $pad{I1873} = $pos or 1 ) && ( ( ( ( $pad{I1874} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '#' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1874} ) && 0 ) ) && do { while ( ( ( $pad{I1875} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1875} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1873} ) or 1 ) && ( ( ( $pad{I1876} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1876} ) && 0 ) ) && ( ( ( $pad{I1877} = $pos or 1 ) && ( ( ( $pad{I1878} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1878} ) && 0 ) ) && ( ( ( $pad{I1879} = $pos or 1 ) && ( ( $pad{I1880} = $pos or 1 ) && ( ( ( ( $pad{I1881} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'b' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1881} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'g' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1882} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1882} ) && 0 ) ) && ( ( $pad{I1883} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1883} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'E' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'N' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1884} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'D' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1884} ) && 0 ) ) && do { while ( ( ( $pad{I1885} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1885} ) && 0 ) )) {}; $bool = 1 } && do { while ( ( ( $pad{I1886} = $pos or 1 ) && ( substr( $s, $pos++, 1 ) ne '' ) || ( ( $pos = $pad{I1886} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1887} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'b' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1887} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'g' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1888} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1888} ) && 0 ) ) && ( ( $pad{I1889} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_begin( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1889} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1890} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'k' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1890} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'w' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1891} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1891} ) && 0 ) ) && ( ( $pad{I1892} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1892} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1893} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'p' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1893} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1894} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1894} ) && 0 ) ) && ( ( $pad{I1895} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1895} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1896} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'f' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1896} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1897} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'r' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1897} ) && 0 ) ) && ( ( $pad{I1898} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1898} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1899} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'h' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1899} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'a' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1900} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '1' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1900} ) && 0 ) ) && ( ( $pad{I1901} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1901} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I1879} ) && 0 ) ) || ( $bool = 1 ) ) ) || ( ( $pos = $pad{I1877} ) && 0 ) ) || ( $bool = 1 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1873} ) or 1 ) && ( ( $pad{I1902} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\s)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1902} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1872} ) && 0 ) ) && do { while ( ( ( $pad{I1872} = $pos or 1 ) && ( ( $pad{I1873} = $pos or 1 ) && ( ( ( ( $pad{I1874} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '#' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1874} ) && 0 ) ) && do { while ( ( ( $pad{I1875} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1875} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1873} ) or 1 ) && ( ( ( $pad{I1876} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:\n\r?|\r\n?))/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1876} ) && 0 ) ) && ( ( ( $pad{I1877} = $pos or 1 ) && ( ( ( $pad{I1878} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1878} ) && 0 ) ) && ( ( ( $pad{I1879} = $pos or 1 ) && ( ( $pad{I1880} = $pos or 1 ) && ( ( ( ( $pad{I1881} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'b' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1881} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'g' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1882} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1882} ) && 0 ) ) && ( ( $pad{I1883} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1883} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'E' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'N' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1884} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'D' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1884} ) && 0 ) ) && do { while ( ( ( $pad{I1885} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?!\n\r?|\r\n?).)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1885} ) && 0 ) )) {}; $bool = 1 } && do { while ( ( ( $pad{I1886} = $pos or 1 ) && ( substr( $s, $pos++, 1 ) ne '' ) || ( ( $pos = $pad{I1886} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1887} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'b' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1887} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'g' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1888} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'n' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1888} ) && 0 ) ) && ( ( $pad{I1889} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_begin( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1889} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1890} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'k' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1890} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'w' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'i' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1891} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1891} ) && 0 ) ) && ( ( $pad{I1892} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1892} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1893} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'p' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1893} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1894} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1894} ) && 0 ) ) && ( ( $pad{I1895} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1895} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1896} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'f' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1896} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1897} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'r' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1897} ) && 0 ) ) && ( ( $pad{I1898} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1898} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1880} ) or 1 ) && ( ( ( $pad{I1899} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'h' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1899} ) && 0 ) ) && ( ( substr( $s, $pos, 1 ) eq 'e' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'a' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( substr( $s, $pos, 1 ) eq 'd' ) ? ( $pos += 1 or 1 ) : 0 ) && ( ( $pad{I1900} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '1' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1900} ) && 0 ) ) && ( ( $pad{I1901} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->pod_other( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1901} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I1879} ) && 0 ) ) || ( $bool = 1 ) ) ) || ( ( $pos = $pad{I1877} ) && 0 ) ) || ( $bool = 1 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1873} ) or 1 ) && ( ( $pad{I1902} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\s)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1902} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1872} ) && 0 ) )) {}; $bool = 1 } ) ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for ws #->sub_signature #ws, ); ; *ident = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I1903} = $pos or 1 ) && ( ( $pad{I1904} = $pos or 1 ) && ( ( ( $pad{I1905} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1905} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1904} ) or 1 ) && ( ( $pad{I1906} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1906} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1904} ) or 1 ) && ( ( $pad{I1907} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq '::' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I1907} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1903} ) && 0 ) ) && do { while ( ( ( $pad{I1903} = $pos or 1 ) && ( ( $pad{I1904} = $pos or 1 ) && ( ( ( $pad{I1905} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1905} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1904} ) or 1 ) && ( ( $pad{I1906} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1906} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1904} ) or 1 ) && ( ( $pad{I1907} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq '::' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I1907} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1903} ) && 0 ) )) {}; $bool = 1 } ) ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for ident #->sub_signature #ident, ); ; *special_char = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I1908} = $pos or 1 ) && ( ( ( ( $pad{I1909} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I1910} = $pos or 1 ) && ( ( ( $pad{I1911} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'c' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1911} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1910} ) or 1 ) && ( ( $pad{I1912} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'C' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1912} ) && 0 ) ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1909} ) && 0 ) ) && ( ( $pad{I1913} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '[' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1913} ) && 0 ) ) && ( ( $pad{I1914} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I1915} = $pos or 1 ) && ( ( $pad{I1916} = $pos or 1 ) && ( do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'alnum'}}, $match; $pos = $match->to; 1 } else { 0 } } ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\s)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1917} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ';' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1917} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1918} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1918} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1919} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1919} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1920} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '-' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1920} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1915} ) && 0 ) ) && do { while ( ( ( $pad{I1915} = $pos or 1 ) && ( ( $pad{I1916} = $pos or 1 ) && ( do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'alnum'}}, $match; $pos = $match->to; 1 } else { 0 } } ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\s)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1917} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ';' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1917} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1918} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1918} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1919} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1919} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1916} ) or 1 ) && ( ( $pad{I1920} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '-' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1920} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1915} ) && 0 ) )) {}; $bool = 1 } ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 1 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1914} ) && 0 ) ) && ( ( $pad{I1921} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1921} ) && 0 ) ) && ( ( $pad{I1922} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_->[0] . $::_V6_MATCH_->[1]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1922} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1908} ) or 1 ) && ( ( ( $pad{I1923} = $pos or 1 ) && ( ( $pad{I1924} = $pos or 1 ) && ( ( ( $pad{I1925} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'x' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1925} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1924} ) or 1 ) && ( ( $pad{I1926} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'X' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1926} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1923} ) && 0 ) ) && ( ( ( $pad{I1927} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->xdigit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'xdigit'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1927} ) && 0 ) ) && do { while ( ( ( $pad{I1927} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->xdigit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'xdigit'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1927} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I1928} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1928} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1908} ) or 1 ) && ( ( ( $pad{I1929} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I1930} = $pos or 1 ) && ( ( ( $pad{I1931} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'x' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1931} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1930} ) or 1 ) && ( ( $pad{I1932} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'X' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1932} ) && 0 ) ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1929} ) && 0 ) ) && ( ( $pad{I1933} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '[' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1933} ) && 0 ) ) && ( ( $pad{I1934} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I1935} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->xdigit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'xdigit'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1935} ) && 0 ) ) && do { while ( ( ( $pad{I1935} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->xdigit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'xdigit'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1935} ) && 0 ) )) {}; $bool = 1 } ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 1 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1934} ) && 0 ) ) && ( ( $pad{I1936} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1936} ) && 0 ) ) && ( ( $pad{I1937} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_->[0] . $::_V6_MATCH_->[1]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1937} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1908} ) or 1 ) && ( ( ( $pad{I1938} = $pos or 1 ) && ( ( $pad{I1939} = $pos or 1 ) && ( ( ( $pad{I1940} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1940} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1939} ) or 1 ) && ( ( $pad{I1941} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'O' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1941} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1938} ) && 0 ) ) && ( ( ( $pad{I1942} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\d)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1942} ) && 0 ) ) && do { while ( ( ( $pad{I1942} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\d)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1942} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I1943} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1943} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1908} ) or 1 ) && ( ( ( $pad{I1944} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I1945} = $pos or 1 ) && ( ( ( $pad{I1946} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'o' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1946} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1945} ) or 1 ) && ( ( $pad{I1947} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq 'O' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1947} ) && 0 ) ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1944} ) && 0 ) ) && ( ( $pad{I1948} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '[' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1948} ) && 0 ) ) && ( ( $pad{I1949} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I1950} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\d)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1950} ) && 0 ) ) && do { while ( ( ( $pad{I1950} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^(\d)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1950} ) && 0 ) )) {}; $bool = 1 } ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 1 ] = Pugs::Runtime::Match->new( $hash ); $bool; } || ( ( $pos = $pad{I1949} ) && 0 ) ) && ( ( $pad{I1951} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1951} ) && 0 ) ) && ( ( $pad{I1952} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_->[0] . $::_V6_MATCH_->[1]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1952} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1908} ) or 1 ) && ( ( ( $pad{I1953} = $pos or 1 ) && ( substr( $s, $pos++, 1 ) ne '' ) || ( ( $pos = $pad{I1953} ) && 0 ) ) && ( ( $pad{I1954} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'special_char' => '\\' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I1954} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for special_char #->sub_signature #special_char, ); ; *literal = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless do { while ( ( ( $pad{I1955} = $pos or 1 ) && ( ( $pad{I1956} = $pos or 1 ) && ( ( ( ( $pad{I1957} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1957} ) && 0 ) ) && ( ( $pad{I1958} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1958} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1956} ) or 1 ) && ( ( $pad{I1959} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\']))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1959} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1955} ) && 0 ) )) {}; $bool = 1 }; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for literal #->sub_signature #literal, ); ; *double_quoted = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless do { while ( ( ( $pad{I1960} = $pos or 1 ) && ( ( $pad{I1961} = $pos or 1 ) && ( ( ( ( $pad{I1962} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1962} ) && 0 ) ) && ( ( $pad{I1963} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1963} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1961} ) or 1 ) && ( ( $pad{I1964} = $pos or 1 ) && do{ my $match = do { our $I1965; our $I1965_sizes; unless ( $I1965 ) { my $hash = \%Pugs::Grammar::Rule::variables; my %sizes = map { length($_) => 1 } keys %$hash; $I1965_sizes = [ sort { $b <=> $a } keys %sizes ]; $I1965 = $hash; } my $match = 0; my $key; for ( @$I1965_sizes ) { $key = ( $pos <= length( $s ) ? substr( $s, $pos, $_ ) : '' ); if ( exists $I1965->{$key} ) { #$named{KEY} = $key; #$::_V6_MATCH_ = $m; #print "m: ", Dumper( $::_V6_MATCH_->data ) # if ( $key eq 'until' ); $match = Pugs::Runtime::Regex::preprocess_hash( $I1965, $key )->( $s, $grammar, { p => ( $pos + $_ ), positionals => [ ], args => { KEY => $key } }, undef ); last if $match; } } if ( $match ) { $pos = $match->to; #print "match: $key at $pos = ", Dumper( $match->data ); $bool = 1; }; # else { $bool = 0 } $match; }; if ( $match ) { push @{$named{'Pugs::Grammar::Rule::variables'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1964} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1961} ) or 1 ) && ( ( $pad{I1966} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\"]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1966} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1960} ) && 0 ) )) {}; $bool = 1 }; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for double_quoted #->sub_signature #double_quoted, ); ; *metasyntax = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I1967} = $pos or 1 ) && ( ( $pad{I1968} = $pos or 1 ) && ( ( ( ( $pad{I1969} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1969} ) && 0 ) ) && ( ( $pad{I1970} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1970} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1971} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1971} ) && 0 ) ) && ( ( $pad{I1972} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1972} ) && 0 ) ) && ( ( $pad{I1973} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1973} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1974} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1974} ) && 0 ) ) && ( ( $pad{I1975} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->double_quoted( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1975} ) && 0 ) ) && ( ( $pad{I1976} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1976} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1977} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1977} ) && 0 ) ) && ( ( $pad{I1978} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1978} ) && 0 ) ) && ( ( $pad{I1979} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1979} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1980} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '<' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1980} ) && 0 ) ) && ( ( $pad{I1981} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->metasyntax( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1981} ) && 0 ) ) && ( ( $pad{I1982} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1982} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( $pad{I1983} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\>]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1983} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1967} ) && 0 ) ) && do { while ( ( ( $pad{I1967} = $pos or 1 ) && ( ( $pad{I1968} = $pos or 1 ) && ( ( ( ( $pad{I1969} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1969} ) && 0 ) ) && ( ( $pad{I1970} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1970} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1971} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1971} ) && 0 ) ) && ( ( $pad{I1972} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1972} ) && 0 ) ) && ( ( $pad{I1973} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1973} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1974} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1974} ) && 0 ) ) && ( ( $pad{I1975} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->double_quoted( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1975} ) && 0 ) ) && ( ( $pad{I1976} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1976} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1977} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1977} ) && 0 ) ) && ( ( $pad{I1978} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1978} ) && 0 ) ) && ( ( $pad{I1979} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1979} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( ( $pad{I1980} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '<' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1980} ) && 0 ) ) && ( ( $pad{I1981} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->metasyntax( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1981} ) && 0 ) ) && ( ( $pad{I1982} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1982} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1968} ) or 1 ) && ( ( $pad{I1983} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\>]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1983} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1967} ) && 0 ) )) {}; $bool = 1 } ) ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for metasyntax #->sub_signature #metasyntax, ); ; *char_range = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I1984} = $pos or 1 ) && ( ( $pad{I1985} = $pos or 1 ) && ( ( ( ( $pad{I1986} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1986} ) && 0 ) ) && ( ( $pad{I1987} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1987} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1985} ) or 1 ) && ( ( $pad{I1988} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\]]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1988} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1984} ) && 0 ) ) && do { while ( ( ( $pad{I1984} = $pos or 1 ) && ( ( $pad{I1985} = $pos or 1 ) && ( ( ( ( $pad{I1986} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1986} ) && 0 ) ) && ( ( $pad{I1987} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1987} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1985} ) or 1 ) && ( ( $pad{I1988} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\]]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I1988} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1984} ) && 0 ) )) {}; $bool = 1 } ) ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for char_range #->sub_signature #char_range, ); ; *char_class = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I1989} = $pos or 1 ) && ( ( ( ( $pad{I1990} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alpha( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1990} ) && 0 ) ) && do { while ( ( ( $pad{I1990} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alpha( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1990} ) && 0 ) )) {}; $bool = 1 } ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1989} ) or 1 ) && ( ( ( $pad{I1991} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '[' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1991} ) && 0 ) ) && ( ( $pad{I1992} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_range( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1992} ) && 0 ) ) && ( ( $pad{I1993} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1993} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for char_class #->sub_signature #char_class, ); ; *string_code = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I1994} = $pos or 1 ) && ( ( $pad{I1995} = $pos or 1 ) && ( ( ( ( $pad{I1996} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1996} ) && 0 ) ) && ( ( $pad{I1997} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1997} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I1998} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1998} ) && 0 ) ) && ( ( $pad{I1999} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1999} ) && 0 ) ) && ( ( $pad{I2000} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2000} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2001} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2001} ) && 0 ) ) && ( ( $pad{I2002} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->double_quoted( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2002} ) && 0 ) ) && ( ( $pad{I2003} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2003} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2004} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2004} ) && 0 ) ) && ( ( $pad{I2005} = $pos or 1 ) && ( ( $pad{I2006} = $pos or 1 ) && ( ( ( $pad{I2007} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2007} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2006} ) or 1 ) && ( ( $pad{I2008} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2008} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2005} ) && 0 ) ) && ( ( $pad{I2009} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2009} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2010} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2010} ) && 0 ) ) && ( ( $pad{I2011} = $pos or 1 ) && ( ( $pad{I2012} = $pos or 1 ) && ( ( ( $pad{I2013} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2013} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2012} ) or 1 ) && ( ( $pad{I2014} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2014} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2011} ) && 0 ) ) && ( ( $pad{I2015} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2015} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2016} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '<' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2016} ) && 0 ) ) && ( ( $pad{I2017} = $pos or 1 ) && ( ( $pad{I2018} = $pos or 1 ) && ( ( ( $pad{I2019} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2019} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2018} ) or 1 ) && ( ( $pad{I2020} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2020} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2017} ) && 0 ) ) && ( ( $pad{I2021} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2021} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2022} = $pos or 1 ) && ( ( $pad{I2023} = $pos or 1 ) && ( ( ( $pad{I2024} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2024} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2025} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2025} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2026} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2026} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2027} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '-' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2027} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2022} ) && 0 ) ) && ( ( $pad{I2028} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2028} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( $pad{I2029} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2029} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( $pad{I2030} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\}\)\>]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2030} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1994} ) && 0 ) ) && do { while ( ( ( $pad{I1994} = $pos or 1 ) && ( ( $pad{I1995} = $pos or 1 ) && ( ( ( ( $pad{I1996} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1996} ) && 0 ) ) && ( ( $pad{I1997} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I1997} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I1998} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I1998} ) && 0 ) ) && ( ( $pad{I1999} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I1999} ) && 0 ) ) && ( ( $pad{I2000} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2000} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2001} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2001} ) && 0 ) ) && ( ( $pad{I2002} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->double_quoted( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2002} ) && 0 ) ) && ( ( $pad{I2003} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '"' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2003} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2004} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2004} ) && 0 ) ) && ( ( $pad{I2005} = $pos or 1 ) && ( ( $pad{I2006} = $pos or 1 ) && ( ( ( $pad{I2007} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2007} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2006} ) or 1 ) && ( ( $pad{I2008} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2008} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2005} ) && 0 ) ) && ( ( $pad{I2009} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2009} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2010} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2010} ) && 0 ) ) && ( ( $pad{I2011} = $pos or 1 ) && ( ( $pad{I2012} = $pos or 1 ) && ( ( ( $pad{I2013} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2013} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2012} ) or 1 ) && ( ( $pad{I2014} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2014} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2011} ) && 0 ) ) && ( ( $pad{I2015} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2015} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2016} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '<' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2016} ) && 0 ) ) && ( ( $pad{I2017} = $pos or 1 ) && ( ( $pad{I2018} = $pos or 1 ) && ( ( ( $pad{I2019} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2019} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2018} ) or 1 ) && ( ( $pad{I2020} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2020} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2017} ) && 0 ) ) && ( ( $pad{I2021} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2021} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( ( $pad{I2022} = $pos or 1 ) && ( ( $pad{I2023} = $pos or 1 ) && ( ( ( $pad{I2024} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2024} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2025} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2025} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2026} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '=' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2026} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2023} ) or 1 ) && ( ( $pad{I2027} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '-' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2027} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2022} ) && 0 ) ) && ( ( $pad{I2028} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2028} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( $pad{I2029} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2029} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I1995} ) or 1 ) && ( ( $pad{I2030} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\}\)\>]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2030} ) && 0 ) ) ) ) || ( ( $pos = $pad{I1994} ) && 0 ) )) {}; $bool = 1 } ) ; } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for string_code #->sub_signature #string_code, ); ; *parsed_code = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2031} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->string_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2031} ) && 0 ) ) && ( ( $pad{I2032} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return('{' . $::_V6_MATCH_ . '}'); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2032} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for parsed_code #->sub_signature #parsed_code, ); ; *named_capture_body = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2033} = $pos or 1 ) && ( ( ( ( $pad{I2034} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2034} ) && 0 ) ) && ( ( $pad{I2035} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2035} ) && 0 ) ) && ( ( $pad{I2036} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2036} ) && 0 ) ) && ( ( $pad{I2037} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'capturing_group' => ${ $::_V6_MATCH_->{'rule'}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2037} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2033} ) or 1 ) && ( ( ( $pad{I2038} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '[' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2038} ) && 0 ) ) && ( ( $pad{I2039} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2039} ) && 0 ) ) && ( ( $pad{I2040} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2040} ) && 0 ) ) && ( ( $pad{I2041} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'rule'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2041} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2033} ) or 1 ) && ( ( ( $pad{I2042} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '<' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2042} ) && 0 ) ) && ( ( $pad{I2043} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parse_metasyntax( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parse_metasyntax'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2043} ) && 0 ) ) && ( ( $pad{I2044} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'parse_metasyntax'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2044} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2033} ) or 1 ) && ( ( ( $pad{I2045} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2045} ) && 0 ) ) && ( ( $pad{I2046} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2046} ) && 0 ) ) && ( ( $pad{I2047} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2047} ) && 0 ) ) && ( ( $pad{I2048} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'metasyntax' => {'metasyntax' => "" . ${$::_V6_MATCH_}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2048} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2033} ) or 1 ) && ( ( $pad{I2049} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; sub { die("invalid alias syntax"); } ->(); $::_V6_SUCCEED; } || ( ( $pos = $pad{I2049} ) && 0 ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for named_capture_body #->sub_signature #named_capture_body, ); ; *parse_metasyntax = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2050} = $pos or 1 ) && do{ my $from = $pos; my $bool = ( ( $pad{I2051} = $pos or 1 ) && ( ( ( $pad{I2052} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '!' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2052} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2051} ) or 1 ) && ( ( $pad{I2053} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '?' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2053} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2051} ) or 1 ) && ( ( $pad{I2054} = $pos or 1 ) && 1 # null constant || ( ( $pos = $pad{I2054} ) && 0 ) ) ) ); my $match = Pugs::Runtime::Match->new( { str => \$s, from => \$from, match => [], named => {}, bool => \1, to => \(0+$pos), capture => undef } ); $named{'modifier'} = $match; $bool } || ( ( $pos = $pad{I2050} ) && 0 ) ) && ( ( $pad{I2055} = $pos or 1 ) && ( ( $pad{I2056} = $pos or 1 ) && ( ( ( ( $pad{I2057} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2057} ) && 0 ) ) && ( ( $pad{I2058} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parsed_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parsed_code'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2058} ) && 0 ) ) && ( ( $pad{I2059} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq '}>' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I2059} ) && 0 ) ) && ( ( $pad{I2060} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'closure' => {'closure' => ${ $::_V6_MATCH_->{'parsed_code'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2060} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2056} ) or 1 ) && ( ( ( $pad{I2061} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2061} ) && 0 ) ) && ( ( ( $pad{I2062} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2063} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[+-]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2063} ) && 0 ) ) && ( ( $pad{I2064} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2064} ) && 0 ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; if ( $bool ) { push @{ $match[ 0 ] }, Pugs::Runtime::Match->new( $hash ); } $bool; } || ( ( $pos = $pad{I2062} ) && 0 ) ) && do { while ( ( ( $pad{I2062} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2063} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[+-]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2063} ) && 0 ) ) && ( ( $pad{I2064} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2064} ) && 0 ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; if ( $bool ) { push @{ $match[ 0 ] }, Pugs::Runtime::Match->new( $hash ); } $bool; } || ( ( $pos = $pad{I2062} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2065} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2065} ) && 0 ) ) && ( ( $pad{I2066} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { if(${ $::_V6_MATCH_->{'modifier'}} eq '!') { return({'negate' => {'char_class' => ['+' . $::_V6_MATCH_->{'char_class'}, @{($::_V6_MATCH_->[0])}]}}); } ; return({'char_class' => ['+' . $::_V6_MATCH_->{'char_class'}, @{($::_V6_MATCH_->[0])}]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2066} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2056} ) or 1 ) && ( ( ( $pad{I2067} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ident( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'ident'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2067} ) && 0 ) ) && ( ( $pad{I2068} = $pos or 1 ) && ( ( $pad{I2069} = $pos or 1 ) && ( ( ( ( $pad{I2070} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2070} ) && 0 ) ) && ( ( $pad{I2071} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2071} ) && 0 ) ) && ( ( $pad{I2072} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2072} ) && 0 ) ) && ( ( $pad{I2073} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { if((${ $::_V6_MATCH_->{'ident'}} eq 'before' || ${ $::_V6_MATCH_->{'ident'}} eq 'after')) { return({${ $::_V6_MATCH_->{'ident'}} => {'rule' => ${ $::_V6_MATCH_->{'rule'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ; return({'metasyntax' => {'metasyntax' => ${ $::_V6_MATCH_->{'ident'}}, 'rule' => ${ $::_V6_MATCH_->{'rule'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2073} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2069} ) or 1 ) && ( ( ( $pad{I2074} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2074} ) && 0 ) ) && ( ( ( $pad{I2075} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2075} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2076} = $pos or 1 ) && do{ my $from = $pos; my $bool = do { while ( ( ( $pad{I2077} = $pos or 1 ) && ( ( $pad{I2078} = $pos or 1 ) && ( ( ( ( $pad{I2079} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '\\' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2079} ) && 0 ) ) && ( ( $pad{I2080} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'special_char'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2080} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2078} ) or 1 ) && ( ( $pad{I2081} = $pos or 1 ) && do{ my $match = do { our $I2082; our $I2082_sizes; unless ( $I2082 ) { my $hash = \%Pugs::Grammar::Rule::variables; my %sizes = map { length($_) => 1 } keys %$hash; $I2082_sizes = [ sort { $b <=> $a } keys %sizes ]; $I2082 = $hash; } my $match = 0; my $key; for ( @$I2082_sizes ) { $key = ( $pos <= length( $s ) ? substr( $s, $pos, $_ ) : '' ); if ( exists $I2082->{$key} ) { #$named{KEY} = $key; #$::_V6_MATCH_ = $m; #print "m: ", Dumper( $::_V6_MATCH_->data ) # if ( $key eq 'until' ); $match = Pugs::Runtime::Regex::preprocess_hash( $I2082, $key )->( $s, $grammar, { p => ( $pos + $_ ), positionals => [ ], args => { KEY => $key } }, undef ); last if $match; } } if ( $match ) { $pos = $match->to; #print "match: $key at $pos = ", Dumper( $match->data ); $bool = 1; }; # else { $bool = 0 } $match; }; if ( $match ) { push @{$named{'Pugs::Grammar::Rule::variables'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2081} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2078} ) or 1 ) && ( ( $pad{I2083} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\>]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2083} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2077} ) && 0 ) )) {}; $bool = 1 }; my $match = Pugs::Runtime::Match->new( { str => \$s, from => \$from, match => [], named => {}, bool => \1, to => \(0+$pos), capture => undef } ); $named{'str'} = $match; $bool } || ( ( $pos = $pad{I2076} ) && 0 ) ) && ( ( $pad{I2084} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2084} ) && 0 ) ) && ( ( $pad{I2085} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { if((${ $::_V6_MATCH_->{'ident'}} eq 'before' || ${ $::_V6_MATCH_->{'ident'}} eq 'after')) { return({${ $::_V6_MATCH_->{'ident'}} => {'rule' => {'metasyntax' => {'metasyntax' => '\'' . ${ $::_V6_MATCH_->{'str'}} . '\''}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ; return({'metasyntax' => {'metasyntax' => ${ $::_V6_MATCH_->{'ident'}}, 'string' => ${ $::_V6_MATCH_->{'str'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2085} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2069} ) or 1 ) && ( ( ( $pad{I2086} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '(' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2086} ) && 0 ) ) && ( ( $pad{I2087} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parsed_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parsed_code'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2087} ) && 0 ) ) && ( ( $pad{I2088} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2088} ) && 0 ) ) && ( ( $pad{I2089} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2089} ) && 0 ) ) && ( ( $pad{I2090} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'call' => {'method' => ${ $::_V6_MATCH_->{'ident'}}, 'params' => ${ $::_V6_MATCH_->{'parsed_code'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2090} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2068} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2056} ) or 1 ) && ( ( ( $pad{I2091} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->metasyntax( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'metasyntax'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2091} ) && 0 ) ) && ( ( $pad{I2092} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2092} ) && 0 ) ) && ( ( $pad{I2093} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'metasyntax' => {'metasyntax' => "" . ${ $::_V6_MATCH_->{'metasyntax'}}, 'modifier' => ${ $::_V6_MATCH_->{'modifier'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2093} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2055} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for parse_metasyntax #->sub_signature #parse_metasyntax, ); ; %variables = ('$<' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2094} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ident( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'ident'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2094} ) && 0 ) ) && ( ( $pad{I2095} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2095} ) && 0 ) ) && ( ( $pad{I2096} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'match_variable' => '$' . $::_V6_MATCH_->{'ident'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2096} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '$' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2097} = $pos or 1 ) && ( ( ( ( ( $pad{I2098} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2098} ) && 0 ) ) && do { while ( ( ( $pad{I2098} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2098} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2099} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'match_variable' => '$' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2099} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2097} ) or 1 ) && ( ( ( ( $pad{I2100} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '^' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2100} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2101} = $pos or 1 ) && ( ( $pad{I2102} = $pos or 1 ) && ( ( ( $pad{I2103} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2103} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2102} ) or 1 ) && ( ( $pad{I2104} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2104} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2102} ) or 1 ) && ( ( ( $pad{I2105} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2105} ) && 0 ) ) && ( ( $pad{I2106} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2106} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2101} ) && 0 ) ) && do { while ( ( ( $pad{I2101} = $pos or 1 ) && ( ( $pad{I2102} = $pos or 1 ) && ( ( ( $pad{I2103} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2103} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2102} ) or 1 ) && ( ( $pad{I2104} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2104} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2102} ) or 1 ) && ( ( ( $pad{I2105} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2105} ) && 0 ) ) && ( ( $pad{I2106} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2106} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2101} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2107} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'variable' => '$' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2107} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '@' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2108} = $pos or 1 ) && ( ( ( ( ( $pad{I2109} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2109} ) && 0 ) ) && do { while ( ( ( $pad{I2109} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2109} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2110} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'match_variable' => '@' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2110} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2108} ) or 1 ) && ( ( ( ( $pad{I2111} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '^' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2111} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2112} = $pos or 1 ) && ( ( $pad{I2113} = $pos or 1 ) && ( ( ( $pad{I2114} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2114} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2113} ) or 1 ) && ( ( $pad{I2115} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2115} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2113} ) or 1 ) && ( ( ( $pad{I2116} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2116} ) && 0 ) ) && ( ( $pad{I2117} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2117} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2112} ) && 0 ) ) && do { while ( ( ( $pad{I2112} = $pos or 1 ) && ( ( $pad{I2113} = $pos or 1 ) && ( ( ( $pad{I2114} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2114} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2113} ) or 1 ) && ( ( $pad{I2115} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2115} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2113} ) or 1 ) && ( ( ( $pad{I2116} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2116} ) && 0 ) ) && ( ( $pad{I2117} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2117} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2112} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2118} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'variable' => '@' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2118} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '%' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2119} = $pos or 1 ) && ( ( ( ( ( $pad{I2120} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2120} ) && 0 ) ) && do { while ( ( ( $pad{I2120} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->digit( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2120} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2121} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'match_variable' => '%' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2121} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2119} ) or 1 ) && ( ( ( ( $pad{I2122} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '^' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2122} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2123} = $pos or 1 ) && ( ( $pad{I2124} = $pos or 1 ) && ( ( ( $pad{I2125} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2125} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2124} ) or 1 ) && ( ( $pad{I2126} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2126} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2124} ) or 1 ) && ( ( ( $pad{I2127} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2127} ) && 0 ) ) && ( ( $pad{I2128} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2128} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2123} ) && 0 ) ) && do { while ( ( ( $pad{I2123} = $pos or 1 ) && ( ( $pad{I2124} = $pos or 1 ) && ( ( ( $pad{I2125} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->alnum( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2125} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2124} ) or 1 ) && ( ( $pad{I2126} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '_' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2126} ) && 0 ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2124} ) or 1 ) && ( ( ( $pad{I2127} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2127} ) && 0 ) ) && ( ( $pad{I2128} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ':' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2128} ) && 0 ) ) ) ) ) || ( ( $pos = $pad{I2123} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2129} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'variable' => '%' . $::_V6_MATCH_}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2129} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ); %rule_terms = ('{*}' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2130} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'metasyntax' => {'metasyntax' => 'null'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2130} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '\'' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2131} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->literal( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2131} ) && 0 ) ) && ( ( $pad{I2132} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq chr(39) ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2132} ) && 0 ) ) && ( ( $pad{I2133} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'metasyntax' => {'metasyntax' => '\'' . ${$::_V6_MATCH_}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2133} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '(' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2134} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2134} ) && 0 ) ) && ( ( $pad{I2135} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ')' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2135} ) && 0 ) ) && ( ( $pad{I2136} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'capturing_group' => ${ $::_V6_MATCH_->{'rule'}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2136} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<(' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2137} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2137} ) && 0 ) ) && ( ( $pad{I2138} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq ')>' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I2138} ) && 0 ) ) && ( ( $pad{I2139} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'capture_as_result' => ${ $::_V6_MATCH_->{'rule'}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2139} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<+' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2140} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2140} ) && 0 ) ) && do { while ( ( ( $pad{I2141} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2142} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[+-]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2142} ) && 0 ) ) && ( ( $pad{I2143} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2143} ) && 0 ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; if ( $bool ) { push @{ $match[ 0 ] }, Pugs::Runtime::Match->new( $hash ); } $bool; } || ( ( $pos = $pad{I2141} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2144} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2144} ) && 0 ) ) && ( ( $pad{I2145} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'char_class' => ['+' . $::_V6_MATCH_->{'char_class'}, @{($::_V6_MATCH_->[0])}]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2145} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<-' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2146} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2146} ) && 0 ) ) && do { while ( ( ( $pad{I2147} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2148} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[+-]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2148} ) && 0 ) ) && ( ( $pad{I2149} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2149} ) && 0 ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; if ( $bool ) { push @{ $match[ 0 ] }, Pugs::Runtime::Match->new( $hash ); } $bool; } || ( ( $pos = $pad{I2147} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2150} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2150} ) && 0 ) ) && ( ( $pad{I2151} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'char_class' => ['-' . $::_V6_MATCH_->{'char_class'}, @{($::_V6_MATCH_->[0])}]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2151} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<[' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2152} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_range( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_range'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2152} ) && 0 ) ) && ( ( $pad{I2153} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2153} ) && 0 ) ) && do { while ( ( ( $pad{I2154} = $pos or 1 ) && do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2155} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[+-]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2155} ) && 0 ) ) && ( ( $pad{I2156} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->char_class( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'char_class'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2156} ) && 0 ) ) ); { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; if ( $bool ) { push @{ $match[ 0 ] }, Pugs::Runtime::Match->new( $hash ); } $bool; } || ( ( $pos = $pad{I2154} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2157} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '>' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2157} ) && 0 ) ) && ( ( $pad{I2158} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'char_class' => ['+[' . $::_V6_MATCH_->{'char_range'} . ']', @{($::_V6_MATCH_->[0])}]}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2158} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2159} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parse_metasyntax( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parse_metasyntax'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2159} ) && 0 ) ) && ( ( $pad{I2160} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'parse_metasyntax'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2160} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '{' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2161} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parsed_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parsed_code'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2161} ) && 0 ) ) && ( ( $pad{I2162} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2162} ) && 0 ) ) && ( ( $pad{I2163} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'closure' => {'closure' => ${ $::_V6_MATCH_->{'parsed_code'}}, 'modifier' => 'plain'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2163} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '\\' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2164} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->special_char( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'special_char'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2164} ) && 0 ) ) && ( ( $pad{I2165} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'special_char'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2165} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '.' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2166} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'dot' => 1}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2166} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '[' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2167} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2167} ) && 0 ) ) && ( ( $pad{I2168} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq ']' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2168} ) && 0 ) ) && ( ( $pad{I2169} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'rule'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2169} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':::' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2170} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => ':::'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2170} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':?' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2171} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => ':?'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2171} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':+' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2172} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => ':+'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2172} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '::' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2173} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '::'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2173} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2174} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => ':'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2174} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '$$' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2175} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '$$'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2175} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '$' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2176} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '$'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2176} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '^^' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2177} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '^^'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2177} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '^' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2178} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '^'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2178} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '>>' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2179} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '>>'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2179} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '»' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2180} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '>>'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2180} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '<<' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2181} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '<<'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2181} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , '«' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2182} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'colon' => '<<'}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2182} ) && 0 ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':i' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2183} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2183} ) && 0 ) ) && ( ( $pad{I2184} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2184} ) && 0 ) ) && ( ( $pad{I2185} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => {'modifier' => 'ignorecase', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2185} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':ignorecase' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2186} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2186} ) && 0 ) ) && ( ( $pad{I2187} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2187} ) && 0 ) ) && ( ( $pad{I2188} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => {'modifier' => 'ignorecase', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2188} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':s' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2189} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2189} ) && 0 ) ) && ( ( $pad{I2190} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2190} ) && 0 ) ) && ( ( $pad{I2191} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'sigspace', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2191} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':sigspace' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2192} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2192} ) && 0 ) ) && ( ( $pad{I2193} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2193} ) && 0 ) ) && ( ( $pad{I2194} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'sigspace', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2194} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':P5' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2195} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2195} ) && 0 ) ) && ( ( $pad{I2196} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2196} ) && 0 ) ) && ( ( $pad{I2197} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'Perl5', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2197} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':Perl5' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2198} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2198} ) && 0 ) ) && ( ( $pad{I2199} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2199} ) && 0 ) ) && ( ( $pad{I2200} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'Perl5', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2200} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':bytes' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2201} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2201} ) && 0 ) ) && ( ( $pad{I2202} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2202} ) && 0 ) ) && ( ( $pad{I2203} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'bytes', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2203} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':codes' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2204} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2204} ) && 0 ) ) && ( ( $pad{I2205} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2205} ) && 0 ) ) && ( ( $pad{I2206} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'codes', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2206} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':graphs' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2207} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2207} ) && 0 ) ) && ( ( $pad{I2208} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2208} ) && 0 ) ) && ( ( $pad{I2209} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'graphs', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2209} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } , ':langs' => do { my $rule; $rule = sub { my $s = $_[0] || ''; my $grammar = $_[1] || __PACKAGE__; $_[3] = $_[2]; $_[2] = undef; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2210} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2210} ) && 0 ) ) && ( ( $pad{I2211} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->rule( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'rule'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2211} ) && 0 ) ) && ( ( $pad{I2212} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'modifier' => 'langs', 'rule'=>${ $::_V6_MATCH_->{ qw(rule) }}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2212} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ); *term = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2213} = $pos or 1 ) && ( ( ( ( $pad{I2214} = $pos or 1 ) && do{ my $match = do { our $I2215; our $I2215_sizes; unless ( $I2215 ) { my $hash = \%Pugs::Grammar::Rule::variables; my %sizes = map { length($_) => 1 } keys %$hash; $I2215_sizes = [ sort { $b <=> $a } keys %sizes ]; $I2215 = $hash; } my $match = 0; my $key; for ( @$I2215_sizes ) { $key = ( $pos <= length( $s ) ? substr( $s, $pos, $_ ) : '' ); if ( exists $I2215->{$key} ) { #$named{KEY} = $key; #$::_V6_MATCH_ = $m; #print "m: ", Dumper( $::_V6_MATCH_->data ) # if ( $key eq 'until' ); $match = Pugs::Runtime::Regex::preprocess_hash( $I2215, $key )->( $s, $grammar, { p => ( $pos + $_ ), positionals => [ ], args => { KEY => $key } }, undef ); last if $match; } } if ( $match ) { $pos = $match->to; #print "match: $key at $pos = ", Dumper( $match->data ); $bool = 1; }; # else { $bool = 0 } $match; }; if ( $match ) { $named{'Pugs::Grammar::Rule::variables'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2214} ) && 0 ) ) && ( ( $pad{I2216} = $pos or 1 ) && ( ( $pad{I2217} = $pos or 1 ) && ( ( ( ( ( $pad{I2218} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2218} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2219} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq ':=' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I2219} ) && 0 ) ) && ( ( ( $pad{I2220} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2220} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2221} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->named_capture_body( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'named_capture_body'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2221} ) && 0 ) ) && ( ( $pad{I2222} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'named_capture' => {'rule' => ${ $::_V6_MATCH_->{'named_capture_body'}}, 'ident' => ${ $::_V6_MATCH_->{'Pugs::Grammar::Rule::variables'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2222} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2217} ) or 1 ) && ( ( $pad{I2223} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'Pugs::Grammar::Rule::variables'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2223} ) && 0 ) ) ) ) || ( ( $pos = $pad{I2216} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2213} ) or 1 ) && ( ( ( $pad{I2224} = $pos or 1 ) && do{ my $match = do { our $I2225; our $I2225_sizes; unless ( $I2225 ) { my $hash = \%Pugs::Grammar::Rule::rule_terms; my %sizes = map { length($_) => 1 } keys %$hash; $I2225_sizes = [ sort { $b <=> $a } keys %sizes ]; $I2225 = $hash; } my $match = 0; my $key; for ( @$I2225_sizes ) { $key = ( $pos <= length( $s ) ? substr( $s, $pos, $_ ) : '' ); if ( exists $I2225->{$key} ) { #$named{KEY} = $key; #$::_V6_MATCH_ = $m; #print "m: ", Dumper( $::_V6_MATCH_->data ) # if ( $key eq 'until' ); $match = Pugs::Runtime::Regex::preprocess_hash( $I2225, $key )->( $s, $grammar, { p => ( $pos + $_ ), positionals => [ ], args => { KEY => $key } }, undef ); last if $match; } } if ( $match ) { $pos = $match->to; #print "match: $key at $pos = ", Dumper( $match->data ); $bool = 1; }; # else { $bool = 0 } $match; }; if ( $match ) { $named{'Pugs::Grammar::Rule::rule_terms'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2224} ) && 0 ) ) && ( ( $pad{I2226} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return(${ $::_V6_MATCH_->{'Pugs::Grammar::Rule::rule_terms'}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2226} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2213} ) or 1 ) && ( ( ( $pad{I2227} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?![\]\}\)\>\:\?\+\*\|\&]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2227} ) && 0 ) ) && ( ( $pad{I2228} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'constant' => ${$::_V6_MATCH_}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2228} ) && 0 ) ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for term #->sub_signature #term, ); ; *quant = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( $pad{I2229} = $pos or 1 ) && ( ( ( ( $pad{I2230} = $pos or 1 ) && ( ( substr( $s, $pos, 2 ) eq '**' ) ? ( $pos += 2 or 1 ) : 0 ) || ( ( $pos = $pad{I2230} ) && 0 ) ) && ( ( ( $pad{I2231} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2231} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2232} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '{' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2232} ) && 0 ) ) && ( ( $pad{I2233} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->parsed_code( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'parsed_code'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2233} ) && 0 ) ) && ( ( $pad{I2234} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '}' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2234} ) && 0 ) ) && ( ( $pad{I2235} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { return({'closure' => ${ $::_V6_MATCH_->{'parsed_code'}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2235} ) && 0 ) ) ) ) || ( ( ( $bool = 1 ) && ( $pos = $pad{I2229} ) or 1 ) && ( ( ( $pad{I2236} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[\?\*\+]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2236} ) && 0 ) ) || ( $bool = 1 ) ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for quant #->sub_signature #quant, ); ; *quantifier = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( $pad{I2237} = $pos or 1 ) && do{ my $match = Pugs::Runtime::Match->new( do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2238} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2238} ) && 0 ) ) || ( $bool = 1 ) ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; }; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } } ); if ( $match ) { $named{'ws1'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2237} ) && 0 ) ) && ( ( $pad{I2239} = $pos or 1 ) && do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I2240} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[\}\]\)]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2240} ) && 0 ) ); $bool; }; } ? 0 : 1; $bool; }; } || ( ( $pos = $pad{I2239} ) && 0 ) ) && ( ( $pad{I2241} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->term( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'term'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2241} ) && 0 ) ) && ( ( $pad{I2242} = $pos or 1 ) && do{ my $match = Pugs::Runtime::Match->new( do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2243} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2243} ) && 0 ) ) || ( $bool = 1 ) ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; }; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } } ); if ( $match ) { $named{'ws2'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2242} ) && 0 ) ) && ( ( $pad{I2244} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->quant( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { $named{'quant'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2244} ) && 0 ) ) && ( ( $pad{I2245} = $pos or 1 ) && do{ my $match = Pugs::Runtime::Match->new( do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2246} = $pos or 1 ) && ( ( substr( $s, $pos ) =~ m/^((?:(?=[\?\+]))\X)/ ) ? ( $pos += length( $1 ) or 1 ) : 0 ) || ( ( $pos = $pad{I2246} ) && 0 ) ) || ( $bool = 1 ) ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; }; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } } ); if ( $match ) { $named{'greedy'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2245} ) && 0 ) ) && ( ( $pad{I2247} = $pos or 1 ) && do{ my $match = Pugs::Runtime::Match->new( do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless do{ my $hash = do { my $bool = 1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( ( $pad{I2248} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2248} ) && 0 ) ) || ( $bool = 1 ) ) ; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } }; my $bool = ${$hash->{'bool'}}; $match[ 0 ] = Pugs::Runtime::Match->new( $hash ); $bool; }; { str => \$s, from => \$from, match => \@match, named => \%named, bool => \$bool, to => \(0+$pos), capture => undef } } ); if ( $match ) { $named{'ws3'} = $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2247} ) && 0 ) ) && ( ( $pad{I2249} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { if((${ $::_V6_MATCH_->{'quant'}} eq '' && (${ $::_V6_MATCH_->{'greedy'}} eq '' && (${ $::_V6_MATCH_->{'ws1'}} eq '' && (${ $::_V6_MATCH_->{'ws2'}} eq '' && ${ $::_V6_MATCH_->{'ws3'}} eq ''))))) { return(${ $::_V6_MATCH_->{'term'}}); } ; return({'quant' => {'term' => ${ $::_V6_MATCH_->{'term'}}, 'quant' => ${ $::_V6_MATCH_->{'quant'}}, 'greedy' => ${ $::_V6_MATCH_->{'greedy'}}, 'ws1' => ${ $::_V6_MATCH_->{'ws1'}}, 'ws2' => ${ $::_V6_MATCH_->{'ws2'}}, 'ws3' => ${ $::_V6_MATCH_->{'ws3'}}}}); } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2249} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for quantifier #->sub_signature #quantifier, ); ; *concat = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( ( $pad{I2250} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->quantifier( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'quantifier'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2250} ) && 0 ) ) && do { while ( ( ( $pad{I2250} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->quantifier( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'quantifier'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2250} ) && 0 ) )) {}; $bool = 1 } ) && ( ( $pad{I2251} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { my @a = map { $_->() } @{ $::_V6_MATCH_->{'quantifier'} }; return { concat => \@a ,} if scalar @a > 1; return $a[0];; # use v6 ; } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2251} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for concat #->sub_signature #concat, ); ; *conjunctive1 = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( ( $pad{I2252} = $pos or 1 ) && ( ( ( ( $pad{I2253} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2253} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2254} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2254} ) && 0 ) ) && ( ( $pad{I2255} = $pos or 1 ) && do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I2256} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2256} ) && 0 ) ); $bool; }; } ? 0 : 1; $bool; }; } || ( ( $pos = $pad{I2255} ) && 0 ) ) ) || ( ( $pos = $pad{I2252} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2257} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->concat( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'concat'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2257} ) && 0 ) ) ) && do { while ( ( ( $pad{I2258} = $pos or 1 ) && ( ( ( $pad{I2259} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2259} ) && 0 ) ) && ( ( $pad{I2260} = $pos or 1 ) && do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I2261} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2261} ) && 0 ) ); $bool; }; } ? 0 : 1; $bool; }; } || ( ( $pos = $pad{I2260} ) && 0 ) ) && ( ( $pad{I2262} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->concat( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'concat'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2262} ) && 0 ) ) ) || ( ( $pos = $pad{I2258} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2263} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { my @a = map { $$_ } @{ $::_V6_MATCH_->{'concat'} }; return { conjunctive1 => \@a ,} if scalar @a > 1; return $a[0];; # use v6 ; } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2263} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for conjunctive1 #->sub_signature #conjunctive1, ); ; *disjunctive1 = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( ( $pad{I2264} = $pos or 1 ) && ( ( ( ( $pad{I2265} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2265} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2266} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2266} ) && 0 ) ) && ( ( $pad{I2267} = $pos or 1 ) && do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I2268} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2268} ) && 0 ) ); $bool; }; } ? 0 : 1; $bool; }; } || ( ( $pos = $pad{I2267} ) && 0 ) ) ) || ( ( $pos = $pad{I2264} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2269} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->conjunctive1( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'conjunctive1'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2269} ) && 0 ) ) ) && do { while ( ( ( $pad{I2270} = $pos or 1 ) && ( ( ( $pad{I2271} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2271} ) && 0 ) ) && ( ( $pad{I2272} = $pos or 1 ) && do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = do{ my $pos1 = $pos; do { my $pos = $pos1; my $from = $pos; my @match; my %named; $bool = 0 unless ( ( $pad{I2273} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2273} ) && 0 ) ); $bool; }; } ? 0 : 1; $bool; }; } || ( ( $pos = $pad{I2272} ) && 0 ) ) && ( ( $pad{I2274} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->conjunctive1( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'conjunctive1'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2274} ) && 0 ) ) ) || ( ( $pos = $pad{I2270} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2275} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { my @a = map { $$_ } @{ $::_V6_MATCH_->{'conjunctive1'} }; return { alt1 => \@a ,} if scalar @a > 1; return $a[0];; # use v6 ; } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2275} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for disjunctive1 #->sub_signature #disjunctive1, ); ; *conjunctive = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( ( $pad{I2276} = $pos or 1 ) && ( ( ( ( $pad{I2277} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2277} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2278} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2278} ) && 0 ) ) && ( ( $pad{I2279} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2279} ) && 0 ) ) ) || ( ( $pos = $pad{I2276} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2280} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->disjunctive1( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'disjunctive1'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2280} ) && 0 ) ) ) && do { while ( ( ( $pad{I2281} = $pos or 1 ) && ( ( ( $pad{I2282} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2282} ) && 0 ) ) && ( ( $pad{I2283} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '&' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2283} ) && 0 ) ) && ( ( $pad{I2284} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->disjunctive1( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'disjunctive1'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2284} ) && 0 ) ) ) || ( ( $pos = $pad{I2281} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2285} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { my @a = map { $$_ } @{ $::_V6_MATCH_->{'disjunctive1'} }; return { conjunctive => \@a ,} if scalar @a > 1; return $a[0];; # use v6 ; } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2285} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for conjunctive #->sub_signature #conjunctive, ); ; *rule = do { my $rule; $rule = sub { $_[3] = $_[2]; eval{ $_[2] = undef }; my $grammar = $_[0]; my $s = $_[1]; no warnings 'substr', 'uninitialized', 'syntax'; my %pad; my $m; for my $pos ( defined $_[3]{p} && ! $_[3]{continue} ? $_[3]{p} : ( ( $_[3]{p} || 0 ) .. length( $s ) ) ) { my %index; my @match; my %named; my $bool = 1; $named{KEY} = $_[3]{KEY} if exists $_[3]{KEY}; $m = Pugs::Runtime::Match->new( { str => \$s, from => \(0+$pos), to => \($pos), bool => \$bool, match => \@match, named => \%named, capture => undef, } ); { my $prior = $::_V6_PRIOR_; local $::_V6_PRIOR_ = $prior; $bool = 0 unless ( ( ( ( $pad{I2286} = $pos or 1 ) && ( ( ( ( $pad{I2287} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->ws( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; my $bool = (!$match != 1); $pos = $match->to if $bool; $match; } || ( ( $pos = $pad{I2287} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( $pad{I2288} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2288} ) && 0 ) ) && ( ( $pad{I2289} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2289} ) && 0 ) ) ) || ( ( $pos = $pad{I2286} ) && 0 ) ) || ( $bool = 1 ) ) && ( ( ( $pad{I2290} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->conjunctive( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'conjunctive'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2290} ) && 0 ) ) ) && do { while ( ( ( $pad{I2291} = $pos or 1 ) && ( ( ( $pad{I2292} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2292} ) && 0 ) ) && ( ( $pad{I2293} = $pos or 1 ) && ( ( substr( $s, $pos, 1 ) eq '|' ) ? ( $pos += 1 or 1 ) : 0 ) || ( ( $pos = $pad{I2293} ) && 0 ) ) && ( ( $pad{I2294} = $pos or 1 ) && do { my $prior = $::_V6_PRIOR_; my $match = $grammar->conjunctive( $s, { p => $pos, positionals => [ ], args => {}, }, undef ); $::_V6_PRIOR_ = $prior; if ( $match ) { push @{$named{'conjunctive'}}, $match; $pos = $match->to; 1 } else { 0 } } || ( ( $pos = $pad{I2294} ) && 0 ) ) ) || ( ( $pos = $pad{I2291} ) && 0 ) )) {}; $bool = 1 } && ( ( $pad{I2295} = $pos or 1 ) && do { $::_V6_MATCH_ = $m; local $::_V6_SUCCEED = 1; $m->data->{capture} = \( sub { my @a = map { $$_ } @{ $::_V6_MATCH_->{'conjunctive'} }; return { alt => \@a ,} if scalar @a > 1; return $a[0];; # use v6 ; } ->() ); $bool = $::_V6_SUCCEED; $::_V6_MATCH_ = $m if $bool; return $m if $bool; } || ( ( $pos = $pad{I2295} ) && 0 ) ) ); } if ( $bool ) { my $prior = $::_V6_PRIOR_; $::_V6_PRIOR_ = sub { local $main::_V6_PRIOR_ = $prior; $rule->(@_); }; last; } } # /for $::_V6_MATCH_ = $m; return $m; } } ;## Signature for rule #->sub_signature #rule, ); ; ; 1;