      .sub '__onload' :load :init
          .local pmc optable
          ## namespace TGE::Parser
          .local pmc p6meta
          p6meta = get_root_global ['parrot'], 'P6metaclass'
          $P0 = p6meta.'get_proto'('TGE::Parser')
          unless null $P0 goto onload_422
          p6meta.'new_class'('TGE::Parser', 'parent'=>'PGE::Grammar')
        onload_422:
          .return ()
      .end

## <TGE::Parser::start>
.namespace ["TGE";"Parser"]
      .sub "start" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R245: # anchor bos
          if pos == 0 goto R246
          goto fail
        R246:  # quant 0..Inf none
          local_branch cstack, R246_repeat
          if cutmark != 249 goto fail
          cutmark = 0
          goto fail
        R246_repeat:
          push ustack, pos
          local_branch cstack, R248
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R247
          if cutmark != 0 goto fail
          cutmark = 249
          goto fail
        R248: # grammar subrule TGE::Parser::statements
          captob = captscope.'new'(captscope, 'grammar'=>'TGE::Parser')
          captob.'to'(pos)
          $P0 = get_hll_global ["TGE";"Parser"], 'statements'
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          $I0 = defined captscope["TGE::Parser::statements"]
if $I0 goto R248_cgen
$P0 = root_new ['parrot';'ResizablePMCArray']
captscope["TGE::Parser::statements"] = $P0
local_branch cstack, R248_cgen
delete captscope["TGE::Parser::statements"]
goto fail
R248_cgen:

          $P2 = captscope["TGE::Parser::statements"]
push $P2, captob
          pos = $P1
          local_branch cstack, R248_3
          $P2 = captscope["TGE::Parser::statements"]
$P2 = pop $P2
          goto fail
        R248_3:
          pos = $P1
          $P1 = getattribute captob, '&!corou'
          if null $P1 goto R246_repeat
          push ustack, captob
          local_branch cstack, R246_repeat
          captob = pop ustack
          if cutmark != 0 goto fail
          captob.'next'()
          $P1 = getattribute captob, '$.pos'
          if $P1 >= 0 goto R248_3
          if $P1 <= -3 goto fail_match
          goto fail

        R247:  # group 244
          local_branch cstack, R250
          if cutmark != 244 goto fail
          cutmark = 0
          goto fail

        R250: # concat
        R251:  # alt R253, R254
          push ustack, pos
          local_branch cstack, R253
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R254

        R253: # anchor eos
          if pos == lastpos goto R252
          goto fail
        R254: # subrule syntax_error
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'syntax_error'
          if $I0 == 0 goto R254_1
          $P0 = find_method mob, 'syntax_error'
          goto R254_2
        R254_1:
          $P0 = find_name 'syntax_error'
          unless null $P0 goto R254_2
          die "Unable to find regex 'syntax_error'"
        R254_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["syntax_error"] = captob

          pos = $P1
          local_branch cstack, R252
          delete captscope["syntax_error"]

          goto fail
        R252: # cut 244
          local_branch cstack, succeed
          cutmark = 244
          goto fail

      .end

## <TGE::Parser::statements>
.namespace ["TGE";"Parser"]
      .sub "statements" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R:  # alt R255, R256
          push ustack, pos
          local_branch cstack, R255
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R256

        R255: # concat
        R257: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R257_1
          $P0 = find_method mob, 'ws'
          goto R257_2
        R257_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R257_2
          die "Unable to find regex 'ws'"
        R257_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R258
          
          goto fail
        R258: # subrule transrule
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'transrule'
          if $I0 == 0 goto R258_1
          $P0 = find_method mob, 'transrule'
          goto R258_2
        R258_1:
          $P0 = find_name 'transrule'
          unless null $P0 goto R258_2
          die "Unable to find regex 'transrule'"
        R258_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["transrule"] = captob

          pos = $P1
          local_branch cstack, R259
          delete captscope["transrule"]

          goto fail
        R259: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R259_1
          $P0 = find_method mob, 'ws'
          goto R259_2
        R259_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R259_2
          die "Unable to find regex 'ws'"
        R259_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
        R256: # concat
        R260: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R260_1
          $P0 = find_method mob, 'ws'
          goto R260_2
        R260_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R260_2
          die "Unable to find regex 'ws'"
        R260_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R261
          
          goto fail
        R261: # subrule grammardec
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'grammardec'
          if $I0 == 0 goto R261_1
          $P0 = find_method mob, 'grammardec'
          goto R261_2
        R261_1:
          $P0 = find_name 'grammardec'
          unless null $P0 goto R261_2
          die "Unable to find regex 'grammardec'"
        R261_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["grammardec"] = captob

          pos = $P1
          local_branch cstack, R262
          delete captscope["grammardec"]

          goto fail
        R262: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R262_1
          $P0 = find_method mob, 'ws'
          goto R262_2
        R262_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R262_2
          die "Unable to find regex 'ws'"
        R262_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::grammardec>
.namespace ["TGE";"Parser"]
      .sub "grammardec" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R263: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R263_1
          $P0 = find_method mob, 'ws'
          goto R263_2
        R263_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R263_2
          die "Unable to find regex 'ws'"
        R263_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R264
          
          goto fail
        R264: # literal
          $I0 = pos + 7
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 7
          
          if $S0 != "grammar" goto fail
          pos += 7
          goto R265

        R265: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R265_1
          $P0 = find_method mob, 'ws'
          goto R265_2
        R265_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R265_2
          die "Unable to find regex 'ws'"
        R265_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R266
          
          goto fail
        R266: # subrule type
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'type'
          if $I0 == 0 goto R266_1
          $P0 = find_method mob, 'type'
          goto R266_2
        R266_1:
          $P0 = find_name 'type'
          unless null $P0 goto R266_2
          die "Unable to find regex 'type'"
        R266_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["type"] = captob

          pos = $P1
          local_branch cstack, R267
          delete captscope["type"]

          goto fail
        R267: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R267_1
          $P0 = find_method mob, 'ws'
          goto R267_2
        R267_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R267_2
          die "Unable to find regex 'ws'"
        R267_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R268
          
          goto fail
        R268:  # quant 0..1 (3) greedy/none
          push gpad, 0
          local_branch cstack, R268_repeat
          $I0 = pop gpad
          if cutmark != 271 goto fail
          cutmark = 0
          goto fail
        R268_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R268_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R270
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R268_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R269
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          cutmark = 271
          goto fail

        R270: # subrule inherit
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'inherit'
          if $I0 == 0 goto R270_1
          $P0 = find_method mob, 'inherit'
          goto R270_2
        R270_1:
          $P0 = find_name 'inherit'
          unless null $P0 goto R270_2
          die "Unable to find regex 'inherit'"
        R270_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          $I0 = defined captscope["inherit"]
if $I0 goto R270_cgen
$P0 = root_new ['parrot';'ResizablePMCArray']
captscope["inherit"] = $P0
local_branch cstack, R270_cgen
delete captscope["inherit"]
goto fail
R270_cgen:

          $P2 = captscope["inherit"]
push $P2, captob
          pos = $P1
          local_branch cstack, R268_repeat
          $P2 = captscope["inherit"]
$P2 = pop $P2
          goto fail
        R269: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ";" goto fail
          pos += 1
          goto R272

        R272: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R272_1
          $P0 = find_method mob, 'ws'
          goto R272_2
        R272_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R272_2
          die "Unable to find regex 'ws'"
        R272_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::inherit>
.namespace ["TGE";"Parser"]
      .sub "inherit" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R273: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R273_1
          $P0 = find_method mob, 'ws'
          goto R273_2
        R273_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R273_2
          die "Unable to find regex 'ws'"
        R273_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R274
          
          goto fail
        R274: # literal
          $I0 = pos + 2
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 2
          
          if $S0 != "is" goto fail
          pos += 2
          goto R275

        R275: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R275_1
          $P0 = find_method mob, 'ws'
          goto R275_2
        R275_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R275_2
          die "Unable to find regex 'ws'"
        R275_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R276
          
          goto fail
        R276: # subrule type
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'type'
          if $I0 == 0 goto R276_1
          $P0 = find_method mob, 'type'
          goto R276_2
        R276_1:
          $P0 = find_name 'type'
          unless null $P0 goto R276_2
          die "Unable to find regex 'type'"
        R276_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["type"] = captob

          pos = $P1
          local_branch cstack, R277
          delete captscope["type"]

          goto fail
        R277: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R277_1
          $P0 = find_method mob, 'ws'
          goto R277_2
        R277_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R277_2
          die "Unable to find regex 'ws'"
        R277_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::transrule>
.namespace ["TGE";"Parser"]
      .sub "transrule" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R278: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R278_1
          $P0 = find_method mob, 'ws'
          goto R278_2
        R278_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R278_2
          die "Unable to find regex 'ws'"
        R278_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R279
          
          goto fail
        R279: # literal
          $I0 = pos + 9
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 9
          
          if $S0 != "transform" goto fail
          pos += 9
          goto R280

        R280: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R280_1
          $P0 = find_method mob, 'ws'
          goto R280_2
        R280_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R280_2
          die "Unable to find regex 'ws'"
        R280_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R281
          
          goto fail
        R281: # subrule name
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'name'
          if $I0 == 0 goto R281_1
          $P0 = find_method mob, 'name'
          goto R281_2
        R281_1:
          $P0 = find_name 'name'
          unless null $P0 goto R281_2
          die "Unable to find regex 'name'"
        R281_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["name"] = captob

          pos = $P1
          local_branch cstack, R282
          delete captscope["name"]

          goto fail
        R282: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R282_1
          $P0 = find_method mob, 'ws'
          goto R282_2
        R282_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R282_2
          die "Unable to find regex 'ws'"
        R282_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R283
          
          goto fail
        R283: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "(" goto fail
          pos += 1
          goto R284

        R284: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R284_1
          $P0 = find_method mob, 'ws'
          goto R284_2
        R284_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R284_2
          die "Unable to find regex 'ws'"
        R284_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R285
          
          goto fail
        R285: # subrule type
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'type'
          if $I0 == 0 goto R285_1
          $P0 = find_method mob, 'type'
          goto R285_2
        R285_1:
          $P0 = find_name 'type'
          unless null $P0 goto R285_2
          die "Unable to find regex 'type'"
        R285_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["type"] = captob

          pos = $P1
          local_branch cstack, R286
          delete captscope["type"]

          goto fail
        R286: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R286_1
          $P0 = find_method mob, 'ws'
          goto R286_2
        R286_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R286_2
          die "Unable to find regex 'ws'"
        R286_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R287
          
          goto fail
        R287: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ")" goto fail
          pos += 1
          goto R288

        R288: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R288_1
          $P0 = find_method mob, 'ws'
          goto R288_2
        R288_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R288_2
          die "Unable to find regex 'ws'"
        R288_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R289
          
          goto fail
        R289:  # quant 0..1 (3) greedy/none
          push gpad, 0
          local_branch cstack, R289_repeat
          $I0 = pop gpad
          if cutmark != 292 goto fail
          cutmark = 0
          goto fail
        R289_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R289_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R291
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R289_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R290
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          cutmark = 292
          goto fail

        R291: # subrule parent
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'parent'
          if $I0 == 0 goto R291_1
          $P0 = find_method mob, 'parent'
          goto R291_2
        R291_1:
          $P0 = find_name 'parent'
          unless null $P0 goto R291_2
          die "Unable to find regex 'parent'"
        R291_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          $I0 = defined captscope["parent"]
if $I0 goto R291_cgen
$P0 = root_new ['parrot';'ResizablePMCArray']
captscope["parent"] = $P0
local_branch cstack, R291_cgen
delete captscope["parent"]
goto fail
R291_cgen:

          $P2 = captscope["parent"]
push $P2, captob
          pos = $P1
          local_branch cstack, R289_repeat
          $P2 = captscope["parent"]
$P2 = pop $P2
          goto fail
        R290: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R290_1
          $P0 = find_method mob, 'ws'
          goto R290_2
        R290_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R290_2
          die "Unable to find regex 'ws'"
        R290_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R293
          
          goto fail
        R293:  # quant 0..1 (3) greedy/none
          push gpad, 0
          local_branch cstack, R293_repeat
          $I0 = pop gpad
          if cutmark != 296 goto fail
          cutmark = 0
          goto fail
        R293_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R293_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R295
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R293_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R294
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          cutmark = 296
          goto fail

        R295: # subrule language
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'language'
          if $I0 == 0 goto R295_1
          $P0 = find_method mob, 'language'
          goto R295_2
        R295_1:
          $P0 = find_name 'language'
          unless null $P0 goto R295_2
          die "Unable to find regex 'language'"
        R295_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          $I0 = defined captscope["language"]
if $I0 goto R295_cgen
$P0 = root_new ['parrot';'ResizablePMCArray']
captscope["language"] = $P0
local_branch cstack, R295_cgen
delete captscope["language"]
goto fail
R295_cgen:

          $P2 = captscope["language"]
push $P2, captob
          pos = $P1
          local_branch cstack, R293_repeat
          $P2 = captscope["language"]
$P2 = pop $P2
          goto fail
        R294: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R294_1
          $P0 = find_method mob, 'ws'
          goto R294_2
        R294_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R294_2
          die "Unable to find regex 'ws'"
        R294_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R297
          
          goto fail
        R297: # subrule action
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'action'
          if $I0 == 0 goto R297_1
          $P0 = find_method mob, 'action'
          goto R297_2
        R297_1:
          $P0 = find_name 'action'
          unless null $P0 goto R297_2
          die "Unable to find regex 'action'"
        R297_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          captscope["action"] = captob

          pos = $P1
          local_branch cstack, R298
          delete captscope["action"]

          goto fail
        R298: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R298_1
          $P0 = find_method mob, 'ws'
          goto R298_2
        R298_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R298_2
          die "Unable to find regex 'ws'"
        R298_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::parent>
.namespace ["TGE";"Parser"]
      .sub "parent" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R300: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R300_1
          $P0 = find_method mob, 'ws'
          goto R300_2
        R300_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R300_2
          die "Unable to find regex 'ws'"
        R300_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R301
          
          goto fail
        R301: # literal
          $I0 = pos + 8
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 8
          
          if $S0 != ":applyto" goto fail
          pos += 8
          goto R302

        R302: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R302_1
          $P0 = find_method mob, 'ws'
          goto R302_2
        R302_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R302_2
          die "Unable to find regex 'ws'"
        R302_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R303
          
          goto fail
        R303: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "(" goto fail
          pos += 1
          goto R304

        R304: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R304_1
          $P0 = find_method mob, 'ws'
          goto R304_2
        R304_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R304_2
          die "Unable to find regex 'ws'"
        R304_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R305
          
          goto fail
        R305: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "'" goto fail
          pos += 1
          goto R306

        R306: # capture
          
          captob = captscope.'new'(captscope, 'pos'=>pos)
          push gpad, captscope
          push gpad, captob
          captscope = captob
          local_branch cstack, R308
          captob = pop gpad
          captscope = pop gpad
          if cutmark != 299 goto fail
          cutmark = 0
          goto fail
        R306_close:
          push ustack, captscope
          captob = pop gpad
          captscope = pop gpad
          $P1 = getattribute captob, '$.pos'
          $P1 = pos
          captscope[0] = captob

          push ustack, captob
          local_branch cstack, R307
          captob = pop ustack
          delete captscope[0]

          push gpad, captscope
          push gpad, captob
          captscope = pop ustack
          goto fail

        R308: # concat
        R309:  # quant 0..Inf none
          local_branch cstack, R309_repeat
          if cutmark != 312 goto fail
          cutmark = 0
          goto fail
        R309_repeat:
          push ustack, pos
          local_branch cstack, R311
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R310
          if cutmark != 0 goto fail
          cutmark = 312
          goto fail
        R311: # concat
        R313: # enumcharlist "'"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index "'", $S0
          if $I0 >= 0 goto fail
          ###   zero width
          goto R314
        R314: # cclass .
          if pos >= lastpos goto fail
          inc pos
          goto R309_repeat
        R310: # cut 299
          local_branch cstack, R306_close
          cutmark = 299
          goto fail

        R307: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "'" goto fail
          pos += 1
          goto R315

        R315: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R315_1
          $P0 = find_method mob, 'ws'
          goto R315_2
        R315_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R315_2
          die "Unable to find regex 'ws'"
        R315_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R316
          
          goto fail
        R316: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ")" goto fail
          pos += 1
          goto R317

        R317: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R317_1
          $P0 = find_method mob, 'ws'
          goto R317_2
        R317_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R317_2
          die "Unable to find regex 'ws'"
        R317_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::language>
.namespace ["TGE";"Parser"]
      .sub "language" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # concat
        R319: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R319_1
          $P0 = find_method mob, 'ws'
          goto R319_2
        R319_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R319_2
          die "Unable to find regex 'ws'"
        R319_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R320
          
          goto fail
        R320: # literal
          $I0 = pos + 9
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 9
          
          if $S0 != ":language" goto fail
          pos += 9
          goto R321

        R321: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R321_1
          $P0 = find_method mob, 'ws'
          goto R321_2
        R321_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R321_2
          die "Unable to find regex 'ws'"
        R321_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R322
          
          goto fail
        R322: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "(" goto fail
          pos += 1
          goto R323

        R323: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R323_1
          $P0 = find_method mob, 'ws'
          goto R323_2
        R323_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R323_2
          die "Unable to find regex 'ws'"
        R323_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R324
          
          goto fail
        R324: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "'" goto fail
          pos += 1
          goto R325

        R325: # capture
          
          captob = captscope.'new'(captscope, 'pos'=>pos)
          push gpad, captscope
          push gpad, captob
          captscope = captob
          local_branch cstack, R327
          captob = pop gpad
          captscope = pop gpad
          if cutmark != 318 goto fail
          cutmark = 0
          goto fail
        R325_close:
          push ustack, captscope
          captob = pop gpad
          captscope = pop gpad
          $P1 = getattribute captob, '$.pos'
          $P1 = pos
          captscope[0] = captob

          push ustack, captob
          local_branch cstack, R326
          captob = pop ustack
          delete captscope[0]

          push gpad, captscope
          push gpad, captob
          captscope = pop ustack
          goto fail

        R327: # concat
        R328: # cclass \w 1..2147483647 (3)
          $I0 = find_not_cclass 8192, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R328_1
          ### rep = 2147483647
        R328_1:
          pos += rep
          goto R329
        R329: # cut 318
          local_branch cstack, R325_close
          cutmark = 318
          goto fail

        R326: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "'" goto fail
          pos += 1
          goto R330

        R330: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R330_1
          $P0 = find_method mob, 'ws'
          goto R330_2
        R330_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R330_2
          die "Unable to find regex 'ws'"
        R330_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R331
          
          goto fail
        R331: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ")" goto fail
          pos += 1
          goto R332

        R332: # subrule ws
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'ws'
          if $I0 == 0 goto R332_1
          $P0 = find_method mob, 'ws'
          goto R332_2
        R332_1:
          $P0 = find_name 'ws'
          unless null $P0 goto R332_2
          die "Unable to find regex 'ws'"
        R332_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, succeed
          
          goto fail
      .end

## <TGE::Parser::action>
.namespace ["TGE";"Parser"]
      .sub "action" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        R: # concat
        R334: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "{" goto fail
          pos += 1
          goto R335

        R335: # capture
          
          captob = captscope.'new'(captscope, 'pos'=>pos)
          push gpad, captscope
          push gpad, captob
          captscope = captob
          local_branch cstack, R337
          captob = pop gpad
          captscope = pop gpad
          if cutmark != 333 goto fail
          cutmark = 0
          goto fail
        R335_close:
          push ustack, captscope
          captob = pop gpad
          captscope = pop gpad
          $P1 = getattribute captob, '$.pos'
          $P1 = pos
          captscope[0] = captob

          push ustack, captob
          local_branch cstack, R336
          captob = pop ustack
          delete captscope[0]

          push gpad, captscope
          push gpad, captob
          captscope = pop ustack
          goto fail

        R337: # concat
        R338:  # quant 0..Inf none
          local_branch cstack, R338_repeat
          if cutmark != 341 goto fail
          cutmark = 0
          goto fail
        R338_repeat:
          push ustack, pos
          local_branch cstack, R340
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R339
          if cutmark != 0 goto fail
          cutmark = 341
          goto fail
        R340: # concat
        R342: # enumcharlist "}"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index "}", $S0
          if $I0 >= 0 goto fail
          ###   zero width
          goto R343
        R343: # cclass .
          if pos >= lastpos goto fail
          inc pos
          goto R338_repeat
        R339: # cut 333
          local_branch cstack, R335_close
          cutmark = 333
          goto fail

        R336: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "}" goto fail
          pos += 1
          goto succeed

      .end

## <TGE::Parser::type>
.namespace ["TGE";"Parser"]
      .sub "type" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        R: # concat
        R346:  # quant 0..1 (3) greedy/none
          push gpad, 0
          local_branch cstack, R346_repeat
          $I0 = pop gpad
          if cutmark != 349 goto fail
          cutmark = 0
          goto fail
        R346_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R346_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R348
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R346_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R347
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          cutmark = 349
          goto fail

        R348:  # group 345
          local_branch cstack, R350
          if cutmark != 345 goto fail
          cutmark = 0
          goto fail

        R350: # concat
        R351:  # alt R353, R354
          push ustack, pos
          local_branch cstack, R353
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R354

        R353: # literal
          $I0 = pos + 2
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 2
          
          if $S0 != "::" goto fail
          pos += 2
          goto R352

        R354: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ";" goto fail
          pos += 1
          goto R352

        R352: # cut 345
          local_branch cstack, R346_repeat
          cutmark = 345
          goto fail

        R347: # cclass \w 1..2147483647 (3)
          $I0 = find_not_cclass 8192, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R347_1
          ### rep = 2147483647
        R347_1:
          pos += rep
          goto R355
        R355:  # quant 0..Inf none
          local_branch cstack, R355_repeat
          if cutmark != 357 goto fail
          cutmark = 0
          goto fail
        R355_repeat:
          push ustack, pos
          local_branch cstack, R356
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, succeed
          if cutmark != 0 goto fail
          cutmark = 357
          goto fail
        R356: # concat
        R358:  # group 344
          local_branch cstack, R360
          if cutmark != 344 goto fail
          cutmark = 0
          goto fail

        R360: # concat
        R361:  # alt R363, R364
          push ustack, pos
          local_branch cstack, R363
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R364

        R363: # literal
          $I0 = pos + 2
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 2
          
          if $S0 != "::" goto fail
          pos += 2
          goto R362

        R364: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != ";" goto fail
          pos += 1
          goto R362

        R362: # cut 344
          local_branch cstack, R359
          cutmark = 344
          goto fail

        R359: # cclass \w 1..2147483647 (3)
          $I0 = find_not_cclass 8192, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R359_1
          ### rep = 2147483647
        R359_1:
          pos += rep
          goto R355_repeat
      .end

## <TGE::Parser::name>
.namespace ["TGE";"Parser"]
      .sub "name" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        R: # cclass \w 1..2147483647 (3)
          $I0 = find_not_cclass 8192, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R_1
          ### rep = 2147483647
        R_1:
          pos += rep
          goto succeed
      .end

## <TGE::Parser::ws>
.namespace ["TGE";"Parser"]
      .sub "ws" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R:  # quant 0..Inf none
          local_branch cstack, R_repeat
          if cutmark != 366 goto fail
          cutmark = 0
          goto fail
        R_repeat:
          push ustack, pos
          local_branch cstack, R365
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, succeed
          if cutmark != 0 goto fail
          cutmark = 366
          goto fail
        R365:  # alt R367, R368
          push ustack, pos
          local_branch cstack, R367
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R368

        R367:  # alt R369, R370
          push ustack, pos
          local_branch cstack, R369
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R370

        R369: # cclass \s 1..2147483647 (3)
          $I0 = find_not_cclass 32, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R369_1
          ### rep = 2147483647
        R369_1:
          pos += rep
          goto R_repeat
        R370: # concat
        R371: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "#" goto fail
          pos += 1
          goto R372

        R372: # cclass \N 0..2147483647 (3)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          ### if rep < 0 goto fail
          ### if rep <= 2147483647 goto R372_1
          ### rep = 2147483647
        R372_1:
          pos += rep
          goto R_repeat
        R368: # subrule pod_comment
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'pod_comment'
          if $I0 == 0 goto R368_1
          $P0 = find_method mob, 'pod_comment'
          goto R368_2
        R368_1:
          $P0 = find_name 'pod_comment'
          unless null $P0 goto R368_2
          die "Unable to find regex 'pod_comment'"
        R368_2:
          $P2 = adverbs['action']
          captob = $P0(captob, 'dba'=>"", 'action'=>$P2)
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          
          
          pos = $P1
          local_branch cstack, R_repeat
          
          goto fail
      .end

## <TGE::Parser::pod_comment>
.namespace ["TGE";"Parser"]
      .sub "pod_comment" :method :nsentry 
          .param pmc adverbs   :slurpy :named
          .local pmc mob
          .const 'Sub' corou = "pod_comment_corou"
          $P0 = corou
          $P0 = clone $P0
          mob = $P0(self, adverbs)
          .return (mob)
      .end
      .sub '' :subid("pod_comment_corou")
          .param pmc mob
          .param pmc adverbs
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $P0 = get_hll_global ['PGE'], '$!MATCH'
          (mob, cpos, target, mfrom, mpos, iscont) = $P0.'new'(mob, adverbs :flat :named)
          $P0 = interpinfo 22
          setattribute mob, '&!corou', $P0
          .local int lastpos
          lastpos = length target
          if cpos > lastpos goto fail_rule
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc ustack
          ustack = root_new ['parrot';'ResizablePMCArray']
          .local pmc gpad
          gpad = root_new ['parrot';'ResizablePMCArray']
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .yield (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .yield (mob)
        fail:
          local_return cstack
        R: # concat
        R373: # anchor bol
          if pos == 0 goto R374
          if pos == lastpos goto fail
          $I0 = pos - 1
          $I1 = is_cclass 4096, target, $I0
          if $I1 goto R374
          goto fail

        R374: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "=" goto fail
          pos += 1
          goto R375

        R375:  # alt R377, R378
          push ustack, pos
          local_branch cstack, R377
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R378

        R377:  # alt R379, R380
          push ustack, pos
          local_branch cstack, R379
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R380

        R379:  # alt R381, R382
          push ustack, pos
          local_branch cstack, R381
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R382

        R381: # concat
        R383: # literal
          $I0 = pos + 3
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 3
          
          if $S0 != "cut" goto fail
          pos += 3
          goto R384

        R384:  # quant 0..Inf none
          local_branch cstack, R384_repeat
          if cutmark != 386 goto fail
          cutmark = 0
          goto fail
        R384_repeat:
          push ustack, pos
          local_branch cstack, R385
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R376
          if cutmark != 0 goto fail
          cutmark = 386
          goto fail
        R385: # enumcharlist unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S0
          if $I0 < 0 goto fail
          inc pos
          goto R384_repeat
        R382: # concat
        R387: # literal
          $I0 = pos + 3
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 3
          
          if $S0 != "end" goto fail
          pos += 3
          goto R388

        R388:  # quant 0..1 (1) greedy/none
          push gpad, 0
          local_branch cstack, R388_repeat
          $I0 = pop gpad
          ### if cutmark != 0 goto fail
          ### cutmark = 0
          goto fail
        R388_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R388_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R389
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R388_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R376
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          ### cutmark = 0
          goto fail

        R389: # concat
        R390: # enumcharlist unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S0
          if $I0 < 0 goto fail
          inc pos
          goto R391
        R391: # cclass \N 0..2147483647 (1)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          ### if rep < 0 goto fail
          ### if rep <= 2147483647 goto R391_1
          ### rep = 2147483647
        R391_1:
          pos += rep
        R391_2:
          if rep <= 0 goto R388_repeat
          push ustack, pos
          push ustack, rep
          local_branch cstack, R388_repeat
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec pos
          dec rep
          goto R391_2
        R380: # concat
        R392: # literal
          $I0 = pos + 3
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 3
          
          if $S0 != "for" goto fail
          pos += 3
          goto R393

        R393: # concat
        R395: # enumcharlist unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S0
          if $I0 < 0 goto fail
          inc pos
          goto R396
        R396: # cclass \N 1..2147483647 (3)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R396_1
          ### rep = 2147483647
        R396_1:
          pos += rep
          goto R394
        R394: # newline
          $I0 = is_cclass 4096, target, pos
          if $I0 == 0 goto fail
          $S0 = substr target, pos, 2
          inc pos
          if $S0 != "\r\n" goto R397
          inc pos
          goto R397
        R397:  # quant 0..Inf none
          local_branch cstack, R397_repeat
          if cutmark != 399 goto fail
          cutmark = 0
          goto fail
        R397_repeat:
          push ustack, pos
          local_branch cstack, R398
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R376
          if cutmark != 0 goto fail
          cutmark = 399
          goto fail
        R398: # concat
        R400: # cclass \N 1..2147483647 (1)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          if rep < 1 goto fail
          ### if rep <= 2147483647 goto R400_1
          ### rep = 2147483647
        R400_1:
          pos += rep
        R400_2:
          if rep <= 1 goto R401
          push ustack, pos
          push ustack, rep
          local_branch cstack, R401
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec pos
          dec rep
          goto R400_2
        R401: # newline
          $I0 = is_cclass 4096, target, pos
          if $I0 == 0 goto fail
          $S0 = substr target, pos, 2
          inc pos
          if $S0 != "\r\n" goto R397_repeat
          inc pos
          goto R397_repeat
        R378: # concat
        R402: # cclass \w
          if pos >= lastpos goto fail
          $I0 = is_cclass 8192, target, pos
          if $I0 == 0 goto fail
          inc pos
          goto R403
        R403: # cclass \N 0..2147483647 (3)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          ### if rep < 0 goto fail
          ### if rep <= 2147483647 goto R403_1
          ### rep = 2147483647
        R403_1:
          pos += rep
          goto R404
        R404: # newline
          $I0 = is_cclass 4096, target, pos
          if $I0 == 0 goto fail
          $S0 = substr target, pos, 2
          inc pos
          if $S0 != "\r\n" goto R405
          inc pos
          goto R405
        R405: # cclass . 0..2147483647 (2)
          rep = lastpos - pos
          ### if rep < 0 goto fail
          ### if rep <= 2147483647 goto R405_1
          ### rep = 2147483647
        R405_1:
          ### pos += 0
          ### rep -= 0
        R405_2:
          if rep == 0 goto R406
          push ustack, pos
          push ustack, rep
          local_branch cstack, R406
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          inc pos
          dec rep
          goto R405_2
        R406: # newline
          $I0 = is_cclass 4096, target, pos
          if $I0 == 0 goto fail
          $S0 = substr target, pos, 2
          inc pos
          if $S0 != "\r\n" goto R407
          inc pos
          goto R407
        R407: # literal
          $I0 = pos + 1
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 1
          
          if $S0 != "=" goto fail
          pos += 1
          goto R408

        R408:  # alt R409, R410
          push ustack, pos
          local_branch cstack, R409
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R410

        R409: # concat
        R411: # literal
          $I0 = pos + 3
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 3
          
          if $S0 != "cut" goto fail
          pos += 3
          goto R412

        R412:  # quant 0..Inf none
          local_branch cstack, R412_repeat
          if cutmark != 414 goto fail
          cutmark = 0
          goto fail
        R412_repeat:
          push ustack, pos
          local_branch cstack, R413
          pos = pop ustack
          if cutmark != 0 goto fail
          local_branch cstack, R376
          if cutmark != 0 goto fail
          cutmark = 414
          goto fail
        R413: # enumcharlist unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S0
          if $I0 < 0 goto fail
          inc pos
          goto R412_repeat
        R410: # concat
        R415: # literal
          $I0 = pos + 3
          if $I0 > lastpos goto fail
          $S0 = substr target, pos, 3
          
          if $S0 != "end" goto fail
          pos += 3
          goto R416

        R416:  # quant 0..1 (1) greedy/none
          push gpad, 0
          local_branch cstack, R416_repeat
          $I0 = pop gpad
          ### if cutmark != 0 goto fail
          ### cutmark = 0
          goto fail
        R416_repeat:
          rep = gpad[-1]
          if rep >= 1 goto R416_1
          inc rep
          gpad[-1] = rep
          push ustack, pos
          push ustack, rep
          local_branch cstack, R417
          rep = pop ustack
          pos = pop ustack
          if cutmark != 0 goto fail
          dec rep
        R416_1:
          ### if rep < 0 goto fail
          $I0 = pop gpad
          push ustack, rep
          local_branch cstack, R376
          rep = pop ustack
          push gpad, rep
          if cutmark != 0 goto fail
          ### cutmark = 0
          goto fail

        R417: # concat
        R418: # enumcharlist unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000"
          if pos >= lastpos goto fail
          $S0 = substr target, pos, 1
          $I0 = index unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S0
          if $I0 < 0 goto fail
          inc pos
          goto R419
        R419: # cclass \N 0..2147483647 (3)
          $I0 = find_cclass 4096, target, pos, lastpos
          rep = $I0 - pos
          ### if rep < 0 goto fail
          ### if rep <= 2147483647 goto R419_1
          ### rep = 2147483647
        R419_1:
          pos += rep
          goto R416_repeat
        R376:  # alt R420, R421
          push ustack, pos
          local_branch cstack, R420
          pos = pop ustack
          if cutmark != 0 goto fail
          goto R421

        R420: # newline
          $I0 = is_cclass 4096, target, pos
          if $I0 == 0 goto fail
          $S0 = substr target, pos, 2
          inc pos
          if $S0 != "\r\n" goto succeed
          inc pos
          goto succeed
        R421: # anchor eos
          if pos == lastpos goto succeed
          goto fail
      .end

## <TGE::Parser::syntax_error>
.namespace ["TGE";"Parser"]
      .sub "syntax_error" :method :nsentry 
          .param pmc adverbs      :slurpy :named
          .local pmc mob
          .local string target
          .local pmc mfrom, mpos
          .local int cpos, iscont
          $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
          .local pmc cstack
          cstack = root_new ['parrot';'ResizableIntegerArray']
          .local pmc captscope, captob
          captscope = mob
          .local int pos, rep, cutmark
        try_match:
          if cpos > lastpos goto fail_rule
          mfrom = cpos
          pos = cpos
          cutmark = 0
          local_branch cstack, R
          if cutmark <= -2 goto fail_cut
          inc cpos
          if iscont goto try_match
        fail_rule:
          cutmark = -2
        fail_cut:
          mob.'_failcut'(cutmark)
          .return (mob)
          goto fail_cut
        succeed:
          mpos = pos
          .return (mob)
        fail:
          local_return cstack
        fail_match:
          cutmark = -3
          goto fail_cut
        R: # subrule die
          captob = captscope
          $P0 = getattribute captob, '$.pos'
          $P0 = pos
          $I0 = can mob, 'die'
          if $I0 == 0 goto R_1
          $P0 = find_method mob, 'die'
          goto R_2
        R_1:
          $P0 = find_name 'die'
          unless null $P0 goto R_2
          die "Unable to find regex 'die'"
        R_2:
          captob = $P0(captob, "Syntax error", 'dba'=>"")
          $P1 = getattribute captob, '$.pos'
          if $P1 <= -3 goto fail_match
          if $P1 < 0 goto fail
          $P1 = pos
          $P1 = getattribute captob, '$.from'
          $P1 = pos
          goto succeed
      .end
