PBC  BYTECODE_compilers/pge/PGE.pir@5FIXUP_compilers/pge/PGE.pir64CONSTANT_compilers/pge/PGE.pir48T:BYTECODE_compilers/pge/PGE.pir_DBr5aim- - 0m. . m/ / m0 0m1$1`(n2 2TC C& C#"  !=2 =#  #"!5=&"!5=#"! 9#; 7#;";!==&=#;"A"?!="!HCG"!=G"  C"!N=#CC2CG"!=#!";! C#;";! C#U"U! C#A"AO [o b #O o\ jYfnw# hpf new# j]f0nw# hdf@new# hgf`new# ^lfpnmew# hafnew# hcfnew#"!t\Oox"!OoOoCyCz"!Q5/ `\m   Oom8 m) mMMm Q6/5] n#=y=z)9xxm  Oyy y"! O = y= zOo m0!91) )mx x= dOOO +# )    # 9#;   > ,(w3j  #Y7 3m .  a  M      y H+#y   N9# !    @l hr Pr 0 K   . 0/9 -p p !   I p kyy 9#;+ v y 9#; k} } 0!# } H+#y o} } }     y G # #y # HJ#y wwzm3)v  ^ $+# N9# 3 ){ #o 7# r  rQ}J % 9#;     # HJ#"74"O  #Oo"! H+#)7   N9#"! H+#)7  N9#"! ! ! ! !  ! @! ! ! ! ! ! H+#)i   N /) C2 #"7O"!"C2 ! H+#)   N9#"! #"mx x o A#x #=&=#C2"! #" m  o A#==#5 A#=&=#C2"! X4"! H +"!N H+# N9#"! H+#)3v N9#" # # 0 # . #  # & #  #  # ) # 1 # % # " # ," # / # ' #  # - # + # * #"!Dgr5nOE 1n H4# ?>A# <#6"o7 #  =# : #""!Og ]jW#Ag c#A c#AsQpt Hc#AkX(Y H#u@OZ PV6#F lIA# J nhA# ]NA# ]SA#QT ]bA# ]aA#QL ]qA# ]iA#QO ]UA# ]RA# _GA#Qf d[A# ]\A#"!|mM~Xyy"!HOOO= A# A# ! A# A# A#"!H"! # L#A) g c#A A#"!H #r H# rT<0$ L#A L#A J#   ""! A# # ]ZW#A# ]ZW#A 6# 6#"!H) H#"m H# H#"! #;" x# ]ZW#A ]ZW#Ak*0yIA A# K W#A0 A#  A#  A# A# 6# 6#"!HUU(Y(Y H#(Y""! 6#" ]ZW#A A# 6#"! ]ZW#A # #0yy A# 6#"!H"!   # m   c#A   m c#A   # U  -/5n H4# A# A# 6   A#/ A# "   A#"!H H# H#"! ]ZW#A ]ZW#A A# 6# 6#"!H"!. L#A(I4]$y&*%-+31'2 A# ]#A#" A# ?A#" ?5A# ?A# ]#A#" ?)A# ?A# ]#A#" 0A#"  A#" ! A#"  A#" , A#"!H L#AD9*7,=.@0D8B<?E E E E E"! L#A nJA# ]LA#ED FIA# FHA# ]KA# A#"! x# WQA#EDO R[A# ]UA# YTA# YPA#"\ VA#"\ YNA#"!H$(YO W#;"! aA#" `A#"!H"! fA#"!H"! L#A c#A lk m npA#"!H"! vuA#"!H H# H#"! ]ZW#A ]ZW#A}~ |A# 6# 6#"!H"! L#A c#A c#A A#  A#"  nA#"!H"! A#1 c#A c#A A#"!Oom1 1 1m  m7m m-mm  Dg (  - #A"  "Oo H#  B 7#; y#"!w }#|"!A)  3"A! +#)7 7gP  8 P7<v @    RNFUU 3 A#AO #;d 7Pv  75= bv J# N9#" y# y# y#"O / # # #U` Y&# Y# Y#  Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# $Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# )Y~&# Y# Y# Y# Y# Y#* Y# Y# %Y# Y# Y# Y# Y~'# Y~'# Y~'# Y~'#  Y# Y# Y# Y# Y~"# Y~,# Y# #  # # # Y# Y# Y# g~)# g~%# ~1# ~1# ~1# ~1# }g~# }g~# # ! #Oo',-.(/0#1 Oo2Om"!==#) Q) 3J <3v 3$0+# J# N9#" B7 3$0+#" 5y#"!==#)7 cgP76 8# 9#; L#A$)r <'mz,)& 3$0+# J# N9#" 3$+# J#  N9#" <y# 7#; ;y# :y#"! 3$+#) 7?+A7P@ 8>S N9#"! 3$+#)  K)ND 77OE!7DF  )K z 7Gv/7+w7L /7H  N9#" N9# I}g#w 9#;N 3$)+# N9# 3$+# N9#yy 3$+# N9#y N9#" My# Cy#"! 9#; 5y#"!==#)7W  3$+# N9#" 3$.+#3RR N9#" 3$.+#3 N9#" 3$.+#U-3RR N9#" Sy#"!U) 7  3"U! 3$/+#)Y4Z,[$ UX#U7&    UX#U 7> N9# I# 9#; 9# f 7R d7!7    7% N9#RR"!= 9#;)9   7 7c]QC7Pd4 8b ' 8# L#A 9#;  7w  x  3$+# N9# J# < UX#U 3$/+# N7# N9# N^c|QaM  [A 3$+# N9# ]]J# 3$)+# N9# S N 3$1+# N9# ,   3$)+# N9#  >7N:c6 N9# * _y#  `y#  ^y#"! 3$0+#)77 7  J# N9#" fy#"! 3$)+#)  N9# I}g# 9#;  N9# I}g#p 9#; N9# 3$/+# N9#  C#A 3$1+# N9#yyyy" iy# hy#"! 3$-+#)l3 I3n J#7k!UX3 J# N9#""! 3$++#7G  Hoq   S'3 J# N9#" py#"! 3$*+#Us(w3 A#A N9#"!=#Owuv=70"!H"!H"!H #r H#  ""!Hmu2 H# H#" #"!Hmu H#"!Hmumm 9R mz7Oo H#  H#"!Hmu=m9R "!H " u"!Hg H  H Oo  H# H#"!Hdtl  X 3$,+# 7#; N7# 9#; N9# H#" H#"x 7#; #"!Hn L#A    H#"!H H# H#"!Hi" L#A A#A J#"!AQ "A!H"!H L#A"""!m11Dg (  ) #"  "Oo H#  B"!w }#|"U` Y&# Y~# Y~#  Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~# Y~,# Y~"# &# &# Y# #  # # g~)# g~1# ! #Om"!=#Owv=70"! 3$0+#)7L #X(7 #P 8)$ 37P  3 J#  N9#"! 3$+#)GNDM F/7/7H-7D  N9#" #"! 3$,+#7 w N9#"! 3$+#]) 74  7 -}7Lc@7P 8  L  c A  N9# J#" #cR #"!Hf H# "!Hk H#"! +# )&[[   ,  NP#" "   = # d 5  # = #i[ o y   }   s  z | qu nh7_w  = # d 5  # = #$i[ o y  u} 4new,next4from8to:chars>StrDorigF!makeKastM_failcutQget_boolSTWX__onloadssctablewinit|newtokparse__onloadidentalphaupperlowerdigitxdigitspaceprintgraphblankcntrlpunctalnumwsws_corouwbbeforeafter FAILGOAL!fail!cclass!literal__onload3compileCroot_pirrgetargsgencapturereducepirreducepirreducepirreducepirpirreducepirreducepirreducepir6reduceCpirMpir_quant^reduce_pirbreduceepirgreducejpirqreducetpirxreduce{pirreducepirreducepircompile_perl6regexregextrimp6escapes__onload+parse_term6parse_term_backslash=parse_term_wsBparse_quantPparse_quant_errorQparse_dollarTparse_subnameXparse_subrule\parse_enumcharclasseparse_quoted_literalgparse_goaljparse_modifiermparse_closurerparse_actiontparse_erroryperl6expzperl6exp{perl6exp|perl6expperl6expperl6expperl6expperl6expperl6expperl6expperl6expperl6expperl6expPIR_closureperl6expperl6expcompile_p5regexp5regex__onloadparse_errorparse_litparse_quantparse_groupparse_enumclassp5analyzep5analyzenameT:pPBC  $ parrot1L1parrotL $JparrotsPGEs P6metaclasss$!MATCHsCapturep4PBC  s(0x0002)sMatchs PGE::MatchksattrsPGE/Dumper.pirs new_classs#$.target $.from $.pos &!corou $!astsparents P6object.pbcpHPBC  s+(0x0002,0x0011,0x0211,0x0011,0x0211,0x0011)p0PBC  s()kscompilers/pge/PGE/Match.pirssparrotpPBC     s::s CodeStrings$.targetp<PBC  "s(0x0002,0x0002,0x0222)s NameSpacespospHPBC  s+(0x0002,0x0000,0x0002,0x0002,0x0002,0x0000)sps$.possgrammarscs$.froms parrotclasssStringscontinuesHOWsnewpPBC   +++ + kk"k)k%k$s&!corousnextpPBC   3333 p<PBC  s(0x0002,0x0080,0x0100)sfrompPBC   7777 stopPBC   (9999 p4PBC  s(0x0000)scharspPBC   (L==== p4PBC  s(0x0011)p4PBC  s(0x0001)sStrpPBC   LyCCCC sorigpPBC   yEEEE s$!astp8PBC  s(0x0002,0x0002)s!makepPBC   JJJJ sastpPBC   LLLL p8PBC  s(0x0002,0x0000)s_failcutpPBC   PPPP sget_boolpPBC   RRR7R pPBC   9 p4PBC  s(0x0003)pPBC   ? pPBC   L sterm:sOPTables PGE::OPTables %!sctablesclose:pTPBC   s@(0x0011,0x0211,0x0010,0x0211,0x0010,0x0211,0x0010,0x0211,0x0010)kZspostcircumfix:s%!key %!klen &!wss circumfix:sprefix:sarityssyncatsinfix:pLPBC  s2(0x0011,0x0211,0x0010,0x0211,0x0010,0x0211,0x0010)pDPBC  s$(0x0011,0x0211,0x0010,0x0211,0x0010)sternary:s expectclosesexpectsHashspostfix:scompilers/pge/PGE/OPTable.pirs__onloadpPBC    rr r Zp8PBC  "s(0x0001,0x0222)ssctablepPBC   vvv Zks%!keys%!klensinitpPBC   {{{m{ Zstightersmatchs>s:pPPBC  s9(0x0002,0x0001,0x0211,0x0001,0x0211,0x0000,0x0211,0x0000)sloosersassocsnowssparsedswbsnamesequivs precclosesleftsResizablePMCArrays<s s precedencep<PBC  "s(0x0002,0x0001,0x0222)sskipkeysnewtoksarrayskeyclosekkpPBC   >  Zkkkkkkkk~kkkkk}kkkmkkslistsrightsstopp<PBC  s(0x0002,0x0211,0x0002)sactionsSubstopsrulenameswspDPBC  s$(0x0002,0x0000,0x0001,0x0002,0x0002)snulltermp@PBC  s(0x0002,0x0002,0x0211,0x0001)sendsTernary error at offset stypep<PBC  s(0x0002,0x0002,0x0011)s&!wss , found 's'p8PBC  s(0x0082,0x0100)sResizableIntegerArraysexprsKEYsreducesparsepPBC   >8  Zkkkkkkfknkekkkks PGE::Grammars%!cachep@PBC  s(0x0002,0x0011,0x0211,0x0011)scompilers/pge/PGE/Regex.pirpPBC   8O rrr s_p8PBC  "s(0x0002,0x0222)p<PBC  s(0x0002,0x0000,0x0001)sidentpPBC   O salphapPBC    p8PBC  s(0x0002,0x0010)supperpPBC    slowerpPBC    sdigitpPBC    sxdigitpPBC    sspacepPBC    sprintpPBC     sgraphpPBC     sblankpPBC    #  scntrlpPBC   # /  spunctpPBC   / ;  salnumpPBC   ; G  p<PBC  s(0x0002,0x0002,0x0002)pPBC   G  sws_coroupPBC    pPBC   ,  sPGE::Perl6Regexp@PBC  "s(0x0002,0x0081,0x0100,0x0222)sbeforepPBC   ,  s[s]$safterpPBC       sdbassubs, couldn't find final sUnable to parse k sFAILGOALpPBC   !  k s!failpPBC   ! 2  s!cclasspPBC   2 ]  p8PBC  s(0x0002,0x0001)s!literalpPBC   ]  sPGE::Exp::AnchorsPGE::Exp::QuantsPGE::Exp::CCShortcutsPGE::Exp::EnumCharListp@PBC  s(0x0002,0x0011,0x0211,0x0002)sPGE::Exp::GroupsPGE::ExpsExpsPGE::Exp::ConjsPGE::Exp::Newlines PGE::Exp::Cutk$sPGE::Exp::ConcatsPGE::Exp::ActionsPGE::Exp::ClosuresPGE::Exp::CGroupsPGE::Exp::ModifiersPGE::Exp::ScalarsPGE::Exp::SubrulesPGE::Exp::Literals PGE::Exp::Altscompilers/pge/PGE/Exp.pirpPBC   Z rrr $skeyspge::expspirsPIRstargets namespacep@PBC  s(0x0002,0x0001,0x0211,0x0011)sroot_pirs get_protos .namespace %0p<PBC  s(0x0002,0x0011,0x0002)semitscompilepPBC   Z BBBB $k8k9s.yields! .local int pos, rep, cutmark :unique_reg try_match: if cpos > lastpos goto fail_rule mfrom = cpos pos = cpos cutmark = 0 local_branch cstack, R if cutmark <= %0 goto fail_cut inc cpos if iscont goto try_match fail_rule: cutmark = %0 fail_cut: mob.'_failcut'(cutmark) %1 (mob) goto fail_cut succeed: mpos = pos %1 (mob) fail: local_return cstack spirflagss5 .sub %0 :method :nsentry %1 .param pmc adverbs :slurpy :named .local pmc mob .const 'Sub' corou = %2 $P0 = corou $P0 = clone $P0 mob = $P0(self, adverbs) .return (mob) .end .sub '' :subid(%2) .param pmc mob :unique_reg .param pmc adverbs :unique_reg .local string target :unique_reg .local pmc mfrom, mpos :unique_reg .local int cpos, iscont :unique_reg $P0 = get_hll_global ['PGE'], '$!MATCH' (mob, cpos, target, mfrom, mpos, iscont) = $P0.'new'(mob, adverbs :flat :named) $P0 = interpinfo %3 setattribute mob, '&!corou', $P0 .local int lastpos lastpos = length target if cpos > lastpos goto fail_rule s.returnssubidsgpadsratchets' .local pmc cstack :unique_regs captscopep@PBC  s(0x0002,0x0002,0x0001,0x0011)s captscope = mobs> cstack = root_new ['parrot';'ResizableIntegerArray']sustacks2 .local pmc captscope, captob :unique_regssucceedsuniques)s$!groupsRsC fail_match: cutmark = %0 goto fail_cut s .endp8PBC  s(0x0002,0x0011)p@PBC  s(0x0002,0x0011,0x0010,0x0001)s: ustack = root_new ['parrot';'ResizablePMCArray']s' .local pmc ustack :unique_regsescapep<PBC  s(0x0002,0x0011,0x0010)s fail_matchs_corous .sub %0 :method :nsentry %1 .param pmc adverbs :unique_reg :slurpy :named .local pmc mob .local string target :unique_reg .local pmc mfrom, mpos :unique_reg .local int cpos, iscont :unique_reg $P0 = get_hll_global ['PGE'], '$!MATCH' (mob, cpos, target, mfrom, mpos, iscont) = $P0.'new'(self, adverbs :flat :named) .local int lastpos lastpos = length target if cpos > lastpos goto fail_rule s8 gpad = root_new ['parrot';'ResizablePMCArray']s_regexs :subid(pHPBC  s+(0x0002,0x0011,0x0001,0x0001,0x0001,0x0010)p@PBC  s(0x0002,0x0011,0x0001,0x0001)s:subids% .local pmc gpad :unique_regpPBC   <<<< $kHkKkMsNsmaxsquants### s backtracksQp@PBC  "s(0x0002,0x0002,0x0002,0x0222)s (sSsLsminsms..sMsnsgetargspPBC   w $kkkxkkwkzkkk{kkvsdelete captscope[%0]s $I0 = defined captscope[%0] if $I0 goto %1_cgen $P0 = root_new ['parrot';'ResizablePMCArray'] captscope[%0] = $P0 local_branch cstack, %1_cgen delete captscope[%0] goto fail %1_cgen: p<PBC  s(0x0002,0x0011,0x0001)scaptscope[%0] = captobs iscapturescnames+$P2 = captscope[%0] $P2 = pop $P2s.$P2 = captscope[%0] push $P2, captobp@PBC  s(0x0002,0x0011,0x0001,0x0002)sisarrays gencapturepPBC   w $kkksLiteralk$pPBC    $s %L: # literal $I0 = pos + %0 if $I0 > lastpos goto fail $S0 = substr target, pos, %0 %I if $S0 != %1 goto fail pos += %0 goto %S pDPBC  "s$(0x0002,0x0011,0x0000,0x0001,0x0222)sIp<PBC  s(0x0002,0x0001,0x0001)s$S0 = downcase $S0s ignorecasep@PBC  s(0x0002,0x0002,0x0001,0x0001)pPBC   $6666 $kksConcatk$pPBC   $ $s %0: # concatpPBC   6666 $sQuantssepk$pPBC    $kpDPBC  s$(0x0002,0x0001,0x0001,0x0211,0x0002)s pir_quantpDPBC  "s$(0x0002,0x0011,0x0001,0x0001,0x0222)pDPBC  s$(0x0002,0x0002,0x0001,0x0001,0x0002)s  %L: # quant %Q greedy/none push gpad, 0 local_branch cstack, %0 $I0 = pop gpad %Cif cutmark != %c goto fail %Ccutmark = 0 goto fail %0: rep = gpad[-1] %Nif rep >= %n goto %L_1 inc rep gpad[-1] = rep push ustack, pos push ustack, rep local_branch cstack, %1 rep = pop ustack pos = pop ustack if cutmark != 0 goto fail dec rep %L_1: %Mif rep < %m goto fail $I0 = pop gpad push ustack, rep local_branch cstack, %S rep = pop ustack push gpad, rep if cutmark != 0 goto fail %Ccutmark = %c goto fail s %L: # quant 0..Inf none local_branch cstack, %0 if cutmark != %c goto fail cutmark = 0 goto fail %0: push ustack, pos local_branch cstack, %1 pos = pop ustack if cutmark != 0 goto fail local_branch cstack, %S if cutmark != 0 goto fail cutmark = %c goto fail s %L: # quant %Q eager push gpad, 0 local_branch cstack, %0 $I0 = pop gpad goto fail %0: rep = gpad[-1] %Mif rep < %m goto %L_1 $I0 = pop gpad push ustack, pos push ustack, rep local_branch cstack, %S rep = pop ustack pos = pop ustack push gpad, rep %L_1: %Nif rep >= %n goto fail inc rep gpad[-1] = rep goto %1 sCs %L: # quant 0..Inf greedy %0: push ustack, pos local_branch cstack, %1 pos = pop ustack if cutmark != 0 goto fail goto %S s_seppDPBC  s$(0x0002,0x0011,0x0001,0x0001,0x0001)s_repeats< %0: if rep == 1 goto %1 goto %2 pPBC   6666 $kscutmarksGroupk$sCutk$pPBC    $kpDPBC  s$(0x0002,0x0011,0x0001,0x0001,0x0000)s %0: # group %2 local_branch cstack, %1 if cutmark != %2 goto fail cutmark = 0 goto fail pPBC   6666 $s %L: # capture %0 captob = captscope.'new'(captscope, 'pos'=>pos) push gpad, captscope push gpad, captob %Xcaptscope = captob local_branch cstack, %E captob = pop gpad captscope = pop gpad %Cif cutmark != %c goto fail %Ccutmark = 0 goto fail %L_close: push ustack, captscope captob = pop gpad captscope = pop gpad $P1 = getattribute captob, '$.pos' $P1 = pos %1 push ustack, captob local_branch cstack, %S captob = pop ustack %2 push gpad, captscope push gpad, captob captscope = pop ustack goto fail sisscopesXs_closep<PBC  s(0x0001,0x0001,0x0001)sCGrouppPPBC  "s9(0x0002,0x0011,0x0001,0x0001,0x0001,0x0211,0x0001,0x0222)sEk$pPBC   6666 $kksSubrulek$pPBC    $s , 'dba'=>s iszerowidths9(0x0002,0x0011,0x0010,0x0001,0x0001,0x0001,0x0001,0x0001)pPPBC  sAs(0x0002,0x0011,0x0001,0x0222)p@PBC  "pHPBC  s+(0x0002,0x0011,0x0010,0x0001,0x0001,0x0001)sunlesss %1: pos = $P1 $P1 = getattribute captob, '&!corou' if null $P1 goto %2 push ustack, captob local_branch cstack, %2 captob = pop ustack if cutmark != 0 goto fail captob.'next'() $P1 = getattribute captob, '$.pos' if $P1 >= 0 goto %1 if $P1 <= %0 goto fail_match goto fail s captob = $P0(captob%3) $P1 = getattribute captob, '$.pos' if $P1 <= %0 goto fail_match %1 $P1 < 0 goto fail $P1 = pos $P1 = getattribute captob, '$.from' $P1 = pos goto %2 s$(0x0002,0x0011,0x0010,0x0001,0x0001)pDPBC  s+(0x0002,0x0011,0x0001,0x0001,0x0002,0x0222)pHPBC  "sifs %L: # grammar subrule %0::%1 captob = captscope.'new'(captscope, 'grammar'=>'%0') captob.'to'(pos) $P0 = get_hll_global %2, '%1' sargs_3s isnegatedsx %L: # subrule %0 captob = captscope $P0 = getattribute captob, '$.pos' $P0 = pos $I0 = can mob, '%0' if $I0 == 0 goto %L_1 $P0 = find_method mob, '%0' goto %L_2 %L_1: $P0 = find_name '%0' unless null $P0 goto %L_2 die "Unable to find regex '%0'" %L_2: s, ssubnames6 $P2 = adverbs['action'] captob = $P0(captob%5, 'action'=>$P2) $P1 = getattribute captob, '$.pos' if $P1 <= %0 goto fail_match if $P1 < 0 goto fail %2 %3 pos = $P1 local_branch cstack, %1 %4 goto fail pPBC   666 6 $kkkkksAltk$ pPBC    $ s %0: # alt %1, %2 push ustack, pos local_branch cstack, %1 pos = pop ustack if cutmark != 0 goto fail goto %2 pPBC   6666 $ sAnchork$pPBC     $p@PBC  s(0x0002,0x0011,0x0002,0x0001)s %0: # anchor null %1s$$s@ %0: # anchor word $I0 = 0 if pos == 0 goto %0_1 $I2 = pos - 1 $I0 = is_cclass %2, target, $I2 %0_1: $I1 = 0 if pos >= lastpos goto %0_2 $I1 = is_cclass %2, target, pos %0_2: if $I0 %3 $I1 goto %1 goto fail s goto %0s %0: # anchor fail %1s# if pos == lastpos goto %0s if pos == 0 goto %0s %0: # left word boundary if pos >= lastpos goto fail $I0 = is_cclass %2, target, pos if $I0 == 0 goto fail if pos == 0 goto %1 $I0 = pos - 1 $I0 = is_cclass %2, target, $I0 if $I0 goto fail goto %1 pDPBC  s$(0x0002,0x0011,0x0002,0x0002,0x0010)s %0: # anchor eol $I1 = is_cclass %2, target, pos if $I1 goto %1 if pos != lastpos goto fail if pos < 1 goto %1 $I0 = pos - 1 $I1 = is_cclass %2, target, $I0 if $I1 == 0 goto %1 goto fail pHPBC  s+(0x0002,0x0011,0x0002,0x0002,0x0010,0x0001)s goto fails$s>>s^^s==ss %0: # anchor eoss<<s»s %0: # right word boundary if pos == 0 goto fail $I0 = pos - 1 $I0 = is_cclass %2, target, $I0 if $I0 == 0 goto fail if pos >= lastpos goto %1 $I0 = is_cclass %2, target, pos if $I0 goto fail goto %1 s«p@PBC  s(0x0002,0x0002,0x0002,0x0002)s %0: # anchor bol if pos == 0 goto %1 if pos == lastpos goto fail $I0 = pos - 1 $I1 = is_cclass %2, target, $I0 if $I1 goto %1 goto fail s\bs\Bs!=s^s %0: # anchor bospPBC   6666 $s\Ss\ds\Ds CCShortcutk$:s\ws\Wsnegates\ns\Nscclasss\spPBC   ] $:k>kAp<PBC  s(0x0002,0x0011,0x0000)s if $I0 == %0 goto fails) $I0 = is_cclass %0, target, poss %0: # cclass %1s inc poss% if pos >= lastpos goto failpPBC   ]6666 $:sB %Mpos += %m %Mrep -= %m %L_2: if rep == 0 goto %S push ustack, pos push ustack, rep local_branch cstack, %S rep = pop ustack pos = pop ustack if cutmark != 0 goto fail inc pos dec rep goto %L_2 s_nots, pos += rep %L_2: if rep <= %m goto %S push ustack, pos push ustack, rep local_branch cstack, %S rep = pop ustack pos = pop ustack if cutmark != 0 goto fail dec pos dec rep goto %L_2 s %L: # cclass %0 %Qp@PBC  s(0x0002,0x0011,0x0001,0x0000)sh %Mif rep < %m goto fail %Nif rep <= %n goto %L_1 %Nrep = %n %L_1: s rep = lastpos - poss' pos += rep goto %0 p@PBC  "s(0x0002,0x0011,0x0002,0x0222)p<PBC  "s(0x0002,0x0011,0x0222)sQ $I0 = find%0_cclass %1, target, pos, lastpos rep = $I0 - pos p4PBC  s(0x0010)pPBC   H $:pPBC   Hx $sc %0: # cut %2 local_branch cstack, %1 cutmark = %2 goto fail sr %0: # cut rule or match local_branch cstack, %1 cutmark = %2 goto fail_cut pPBC   x6666 $sScalark$cpPBC    $csw %0: # scalar %2 $P0 = mob[%2] $I0 = does $P0, 'array' if $I0 == 0 goto %0_1 $P0 = $P0[-1] %0_1: $S1 = $P0 $I1 = length $S1 $I0 = pos + $I1 if $I0 > lastpos goto fail $S0 = substr target, pos, $I1 if $S0 != $S1 goto fail pos += $I1 goto %1 pPBC   6666 $cs EnumCharListk$hpPBC    $hsinc poss>=s### zero widthpLPBC  s2(0x0002,0x0011,0x0001,0x0001,0x0001,0x0001,0x0001)s %0: # enumcharlist %1 if pos >= lastpos goto fail $S0 = substr target, pos, 1 $I0 = index %1, $S0 if $I0 %2 0 goto fail %3 goto %4 pPBC   6666 $hsNewlinek$rpPBC    $rs %0: # newline $I0 = is_cclass %2, target, pos if $I0 == 0 goto fail $S0 = substr target, pos, 2 inc pos if $S0 != "\r\n" goto %1 inc pos goto %1 pDPBC  s$(0x0002,0x0011,0x0001,0x0001,0x0010)pPBC   06666 $rsConjk$ypPBC   0\ $ysR %0: # conj %2, %4 push gpad, pos push gpad, pos local_branch cstack, %2 $I0 = pop gpad $I0 = pop gpad goto fail %3: gpad[-1] = pos pos = gpad[-2] goto %4 %5: $I0 = gpad[-1] if $I0 != pos goto fail $I0 = pop gpad $I1 = pop gpad push ustack, $I1 push ustack, $I0 local_branch cstack, %1 $I0 = pop ustack $I1 = pop ustack push gpad, $I1 push gpad, $I0 goto fail s_chk0s_chk1pPPBC  s9(0x0002,0x0011,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001)pPBC   \6666 $ysClosurek$pPBC    $slangs[ mpos = pos $P0 = $P1(mob) %0 $P0 goto %1 goto fail s! mpos = pos ($P0 :optional, $I0 :opt_flag) = $P1(mob) if $I0 == 0 goto %0 mob.'!make'($P0) push ustack, pos local_branch cstack, succeed pos = pop ustack null $P0 mob.'!make'($P0) goto fail s %0: # closure $S1 = %2 $P0 = get_hll_global ['PGE';'Match'], '%!cache' $P1 = $P0[$S1] unless null $P1 goto %0_1 $P1 = compreg %1 $P1 = $P1($S1) $P0[$S1] = $P1 %0_1: pPBC   6666 $ksActionk$pPBC     $pHPBC  s+(0x0002,0x0011,0x0001,0x0001,0x0001,0x0001)s actionkeys %0: # actions $P1 = adverbs['action'] if null $P1 goto %1 $I1 = can $P1, %2 if $I1 == 0 goto %1 mpos = pos $P1.%2(mob%3) goto %1 s actionnamepPBC   h6666 $kks Perl6Regexkssp<PBC  s(0x0002,0x0000,0x0011)slexscopeswsperl6expsip<PBC  ""s(0x0002,0x0022,0x0222)swordsssigspacesregexsNull pattern illegals compilers/pge/PGE/Perl6Regex.pirscompile_perl6regexpPBC   hn kkkkkks$optablepHPBC  s+(0x0002,0x0002,0x0211,0x0001,0x0211,0x0001)s @!stopstackpPBC   n strimpPBC    s \0abefnrtxcos o c xs \ s-Invalid digit in \x[...], \o[...], or \c[...]s6Missing close bracket for \x[...], \o[...], or \c[...]s 0123456789abcdef0123456789ABCDEFsUnrecognized character name s\scharname_to_ords,s]s p6escapespPBC    sterm:::sterm:<.sterm:\Ns parse_quants parse_termsterm:#sterm:sterm::::sterm:svpHPBC  s+(0x0002,0x0011,0x0211,0x0011,0x0211,0x0002)sterm:«sterm:*sfs postfix:+sprefix:|s PIR_closuresparse_quoted_literalsterm:+sterm:\ws prefix:||sterm:\Wsterm:<pPPBC  s9(0x0002,0x0011,0x0211,0x0011,0x0211,0x0010,0x0211,0x0002)shsinfix::=sterm:{*}sterm:~s circumfix:( )s parse_closures4   ᠎              sterm:^sclose:}s postfix:?sterm:>sterm:^^sterm:?pXPBC   sG(0x0002,0x0011,0x0211,0x0011,0x0211,0x0011,0x0211,0x0010,0x0211,0x0011)sterm:<[sterm:<+s term:sinfix:=sterm:<<s PGE::Exp::WSpPPBC  s9(0x0002,0x0011,0x0211,0x0011,0x0211,0x0010,0x0211,0x0011)pPPBC  s9(0x0002,0x0011,0x0211,0x0011,0x0211,0x0011,0x0211,0x0011)pHPBC  s+(0x0002,0x0011,0x0211,0x0011,0x0211,0x0010)s …

sterm:sterm:<-s=s%esclists sterm:\nsparse_enumcharclasspPBC   1 rrr kkkkkkk7p@PBC  s(0x0002,0x0002,0x0211,0x0011)s#Quantifier follows nothing in regexpPBC   1 sxcop<PBC  s(0x0002,0x0211,0x0000)s(Alphanumeric metacharacters are reserveds(Cannot use comma in \\X[...] or \\O[...]s#Unable to parse \x, \c, or \o valuepPBC     s>]})s#s<[{(s pPBC   .! sError in closure quantifiers?s:!s!s{s}p<PBC  s(0x0002,0x0211,0x0011)s**s*sError in repetition controllers+s:?pPBC   .!"  pPBC   " # s"sMissing close '>' in scalarpPBC   ## p8PBC  s(0x0001,0x0000)s parse_subnamepPBC   #4$WWW s<.s' or ']>' in enumerated character classs(Error parsing enumerated character classs,Unescaped '-' in charlist (use '..' or '\-')s<+s s-s nrtfae0xcopPBC   l%'** * sNo closing ' in quoted literalpPBC   '( s"Unable to parse expression after ~sUnable to parse goal after ~pPBC   (( s(s1pPBC   (c) k4spPBC   . / $s p5analyzesp5regexsP5Regexkscompilers/pge/PGE/P5Regex.pirscompile_p5regexpPBC   // pPBC   // s parse_litpXPBC   sG(0x0002,0x0011,0x0211,0x0011,0x0211,0x0010,0x0211,0x0010,0x0211,0x0002)scircumfix:(?: )s postfix:{sterm:[s PGE::P5Regexsparse_enumclasspXPBC   sG(0x0002,0x0011,0x0211,0x0011,0x0211,0x0010,0x0211,0x0010,0x0211,0x0011)pPBC   /)1 rrr sp5regex parse error: pPBC   )1d1xxx snrteabs[](){}*?+\|^$.s sSearch pattern not terminatedsQuantifier follows nothingpPBC   d12 sError in quantified rangepPBC   22 s?:s parse_grouppPBC   22 s snrtfae0bs Unmatched [sInvalid [] range "pPBC   23 pPBC   34 $pPBC   4P4 $sGrammarkpDPBC  s$(0x0002,0x0211,0x0011,0x0211,0x0002)sUnable to find regex 'ident'pHPBC  s+(0x0002,0x0000,0x0001,0x0002,0x0002,0x0000)kks"compilers/pge/PGE/builtins_gen.pirpPBC   P45  kw8ABCDEFGGGHIKLMNOPQTVWXYZ\]^_`bcdefhijkopqrstuvwxz| #$%&'()**467899ACCCDDLNNNOOWYYYZZ%&&&)*,,,,----....////000011112222333344<ABCEFFFLMNOPPPPYZ[\_`abcdfhlmnoqstuvw{|}~  !'()*+./0125679:::;<=BCEFGGGHIIIJLOTUVWXYZ[]^^^_defhijklmnoprtuvwxy{|}        !"#$%&'(*+++,,,-/0123457778999:<=>?AEFGHJMNOPQRSWWWXYZ\]^_abbbcdddffijklmnooo'.///123457888::CJKKKMNOPQSTTTVV_aaajllluwww!!!##.56666779:;<=?@@@ACCCDEFGHIKK]efgggghhjklmnoprssstvwxyz{{{|}~ !!!"""###$$$%%%&&&'''((()))***+++,,,---.....:?@ABEHILMOOOPPPSSSTUVVYZZZ\^___`aaaccffpuxyz{{{|~~~        !"#$%&'()+,./111:;<=>?@ABBBCCCDFFFGGGHHHSSS[[[dddggghjklmnqqqsss}}}       ),,,-.0123444DHHHgkkk    #$%&'''()+,-.../044479;<=>@DEFGHHHIIIOUUUfghijkqqq~  ,,///::===HHHSSSTUVWXYZ[\]\__bbeehhlllvvvwwwxxxyz{|||}}}   +++333<<<===@ABCFGHILLLUUU]]]dddnnnwxxxyz{{{|}}}   #$%&'(*,-./02346789;<=>?@ABCEFGIJNOSTUVWXYZ^___`abbefghjkkopqrssstuuxxxyyyyyy     /000111457888:;;;=>>>@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJLLLMMMNNNOOOPPPQQQRRRSSSTTTVWWWYZZZ[[[\\\]]]_```aaabbbcccefffhiiikkklllmmmnnnpqqqrrrsssuvvvyyyzzz|}}}~~~    !"%&'()*+...///00011444555677788;;;;===>>>>@@@@@@INNNOSTUWYZ[\]_`abdddeeouvvvw{|}~  !"#$%&'(),,,---..11123456788899<<<=>?@@@AADEEEFGIJKLMNOPPPQQTTTTUU`ghiklmnopqstuu~  !"$%%%%&&&'''(*,-.1234569:;=>?@ACEEEFFFGGGHKMMMMNOOOPPPQQQRSWXYZ\]^```aaabbbcccdddefgjkooopppqrstxyzzz{{{|}~       !$$$%'()*+./0135679:;<===>???@@BBBBCCCKKKLMNOQRSTTTTUWWWXXX`abcdefghijklmnopppzzz        !"#$%()))*,,,56789:;@ACDEFGHIJLMOPQRSUVWWW`abccefghikkkuvz{||+0123555=>???GGGHIJKKMNNPQQ  !""%&'(*++/0122233333>?ABCDDDEGGRSUVVVXXXYYYZZZ[[[]]]^^^___```aaabbbdddeeeghhhiiiklllmmmnnnoooqqqrrrtttwxz{{{{"###$%&'()*+,./012456789;<=>?ABCEFGHJKLMNPQRTUVXY[[[\\\]]````bcdefghiiiiiiirtuvwwwxyz|||  """##$&'')+,/012345789;<<<=>?@ABCDEFIJLMNOQSTUVXYZ[\]^_bcdfghklmnopqstuwxxxyz{|}~qrw2: