[svn:parrot] r46621 - in branches/ops_pct: . compilers/pct compilers/pct/src/PAST compilers/pct/src/POST config/auto/va_ptr config/gen/makefiles docs docs/book/draft docs/book/pct docs/pdds editor examples/tools ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot lib/Parrot/Docs/Section lib/Parrot/IO lib/Parrot/OpTrans runtime/parrot/library runtime/parrot/library/HTTP src src/dynoplibs src/gc src/interp src/nci src/ops src/pmc src/string src/string/charset t/codingstd t/compilers/pge/p5regex t/compilers/pge/perl6regex t/library t/op t/pmc tools/dev

bacek at svn.parrot.org bacek at svn.parrot.org
Sat May 15 01:32:24 UTC 2010


Author: bacek
Date: Sat May 15 01:32:20 2010
New Revision: 46621
URL: https://trac.parrot.org/parrot/changeset/46621

Log:
Merge branch 'master' into ops_pct_local

Conflicts:
	MANIFEST
	MANIFEST.generated
	config/gen/makefiles/root.in

Added:
   branches/ops_pct/ext/nqp-rx/src/stage0/nqp-setting.pm
   branches/ops_pct/lib/Parrot/Docs/Section/PCT_Tutorial.pm
   branches/ops_pct/runtime/parrot/library/HTTP/Message.pir
   branches/ops_pct/runtime/parrot/library/LWP.pir
   branches/ops_pct/runtime/parrot/library/URI.pir
   branches/ops_pct/t/library/lwp.t
   branches/ops_pct/t/library/uri.t
Modified:
   branches/ops_pct/DEPRECATED.pod
   branches/ops_pct/MANIFEST
   branches/ops_pct/MANIFEST.generated
   branches/ops_pct/compilers/pct/README.pod
   branches/ops_pct/compilers/pct/src/PAST/Compiler.pir
   branches/ops_pct/compilers/pct/src/PAST/Node.pir
   branches/ops_pct/compilers/pct/src/POST/Compiler.pir
   branches/ops_pct/compilers/pct/src/POST/Node.pir
   branches/ops_pct/config/auto/va_ptr/test_c.in
   branches/ops_pct/config/gen/makefiles/root.in
   branches/ops_pct/docs/book/draft/ch08_dynops.pod
   branches/ops_pct/docs/book/pct/ch02_getting_started.pod
   branches/ops_pct/docs/book/pct/ch03_compiler_tools.pod
   branches/ops_pct/docs/book/pct/ch05_nqp.pod
   branches/ops_pct/docs/parrotbyte.pod
   branches/ops_pct/docs/pdds/pdd26_ast.pod
   branches/ops_pct/editor/pasm.el
   branches/ops_pct/examples/tools/pbc_checker.cpp
   branches/ops_pct/ext/nqp-rx/Defines.mak
   branches/ops_pct/ext/nqp-rx/Rules.mak
   branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir
   branches/ops_pct/ext/nqp-rx/src/stage0/NQP-s0.pir
   branches/ops_pct/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   branches/ops_pct/ext/nqp-rx/src/stage0/Regex-s0.pir
   branches/ops_pct/include/parrot/nci.h
   branches/ops_pct/lib/Parrot/Docs/Section/Parrot.pm
   branches/ops_pct/lib/Parrot/IO/File.pm
   branches/ops_pct/lib/Parrot/OpTrans/C.pm
   branches/ops_pct/src/dynext.c
   branches/ops_pct/src/dynoplibs/Rules.in
   branches/ops_pct/src/gc/api.c
   branches/ops_pct/src/interp/inter_misc.c
   branches/ops_pct/src/nci/api.c
   branches/ops_pct/src/ops/experimental.ops
   branches/ops_pct/src/parrot_debugger.c
   branches/ops_pct/src/pmc/env.pmc
   branches/ops_pct/src/pmc/imageio.pmc
   branches/ops_pct/src/pmc/nci.pmc
   branches/ops_pct/src/pmc/scheduler.pmc
   branches/ops_pct/src/pmc/stringbuilder.pmc
   branches/ops_pct/src/pmc/sub.pmc
   branches/ops_pct/src/string/api.c
   branches/ops_pct/src/string/charset/ascii.c
   branches/ops_pct/src/string/charset/iso-8859-1.c
   branches/ops_pct/src/string/charset/unicode.c
   branches/ops_pct/t/codingstd/pod_todo.t
   branches/ops_pct/t/compilers/pge/p5regex/p5rx.t
   branches/ops_pct/t/compilers/pge/perl6regex/01-regex.t
   branches/ops_pct/t/op/string.t
   branches/ops_pct/t/op/stringu.t
   branches/ops_pct/t/pmc/stringbuilder.t
   branches/ops_pct/tools/dev/checkdepend.pl
   branches/ops_pct/tools/dev/parrot_coverage.pl

Modified: branches/ops_pct/DEPRECATED.pod
==============================================================================
--- branches/ops_pct/DEPRECATED.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/DEPRECATED.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -51,6 +51,10 @@
 
 L<https://trac.parrot.org/parrot/ticket/1599>
 
+=item CodeString [eligible in 2.7]
+
+L<http://trac.parrot.org/parrot/ticket/1633>
+
 =item multiple dispatch within core PMCs [eligible in 1.1]
 
 L<https://trac.parrot.org/parrot/ticket/452>
@@ -218,6 +222,12 @@
 
 L<https://trac.parrot.org/parrot/ticket/1540>
 
+=item find_codepoint [experimental]
+
+Intended to replace the CodeString charname_to_ord method.
+
+L<https://trac.parrot.org/parrot/ticket/1629>
+
 =back
 
 =head1 Bytecode
@@ -406,10 +416,20 @@
 A way to provide an equivalent of -L and -I parrot command line options
 to language that doesn't support it.
 
-=item Archive::Tar [experimental]
+=item Protoobject [eligible in 2.7]
+
+Use P6Object instead.
+
+L<http://trac.parrot.org/parrot/ticket/1337>
+
+=item Archive::Tar & Archive::Zip [experimental]
 
 L<https://trac.parrot.org/parrot/ticket/1598>
 
+=item LWP, HTTP::Message & URI [experimental]
+
+L<http://trac.parrot.org/parrot/ticket/1637>
+
 =item JSON and Config;JSON [eligible in 1.5]
 
 L<https://trac.parrot.org/parrot/ticket/508>

Modified: branches/ops_pct/MANIFEST
==============================================================================
--- branches/ops_pct/MANIFEST	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/MANIFEST	Sat May 15 01:32:20 2010	(r46621)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Thu May 13 00:43:31 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Fri May 14 15:26:02 2010 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -1041,6 +1041,7 @@
 lib/Parrot/Docs/Section/Info.pm                             [devel]lib
 lib/Parrot/Docs/Section/Libs.pm                             [devel]lib
 lib/Parrot/Docs/Section/Ops.pm                              [devel]lib
+lib/Parrot/Docs/Section/PCT_Tutorial.pm                     [devel]lib
 lib/Parrot/Docs/Section/PDDs.pm                             [devel]lib
 lib/Parrot/Docs/Section/PMCs.pm                             [devel]lib
 lib/Parrot/Docs/Section/Parrot.pm                           [devel]lib
@@ -1156,8 +1157,10 @@
 runtime/parrot/library/Digest/MD5.pir                       [library]
 runtime/parrot/library/Getopt/Obj.pir                       [library]
 runtime/parrot/library/HTTP/Daemon.pir                      [library]
+runtime/parrot/library/HTTP/Message.pir                     [library]
 runtime/parrot/library/Iter.pir                             [library]
 runtime/parrot/library/JSON.pir                             [library]
+runtime/parrot/library/LWP.pir                              [library]
 runtime/parrot/library/MIME/Base64.pir                      [library]
 runtime/parrot/library/Math/Rand.pir                        [library]
 runtime/parrot/library/NCI/Utils.pir                        [library]
@@ -1218,6 +1221,7 @@
 runtime/parrot/library/Test/Builder/Tester.pir              [library]
 runtime/parrot/library/Test/Class.pir                       [library]
 runtime/parrot/library/Test/More.pir                        [library]
+runtime/parrot/library/URI.pir                              [library]
 runtime/parrot/library/YAML/Dumper.pir                      [library]
 runtime/parrot/library/YAML/Dumper/Base.pir                 [library]
 runtime/parrot/library/YAML/Dumper/Default.pir              [library]
@@ -1681,6 +1685,7 @@
 t/library/getopt_obj.t                                      [test]
 t/library/hllmacros.t                                       [test]
 t/library/iter.t                                            [test]
+t/library/lwp.t                                             [test]
 t/library/md5.t                                             [test]
 t/library/mime_base64.t                                     [test]
 t/library/osutils.t                                         [test]
@@ -1700,6 +1705,7 @@
 t/library/test_builder_tester.t                             [test]
 t/library/test_class.t                                      [test]
 t/library/test_more.t                                       [test]
+t/library/uri.t                                             [test]
 t/library/uuid.t                                            [test]
 t/library/yaml_dumper.t                                     [test]
 t/manifest/01-basic.t                                       [test]

Modified: branches/ops_pct/MANIFEST.generated
==============================================================================
--- branches/ops_pct/MANIFEST.generated	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/MANIFEST.generated	Sat May 15 01:32:20 2010	(r46621)
@@ -235,9 +235,11 @@
 runtime/parrot/library/Getopt/Obj.pbc            [main]
 runtime/parrot/library/HLL.pbc                   [main]
 runtime/parrot/library/HTTP/Daemon.pbc           [main]
+runtime/parrot/library/HTTP/Message.pbc          [main]
 runtime/parrot/library/Iter.pbc                  [main]
 runtime/parrot/library/JSON.pbc                  [main]
-runtime/parrot/library/libpcre.pbc               [main]
+runtime/parrot/library/LWP.pbc                   [main]
+runtime/parrot/library/MIME/Base64.pbc           [main]
 runtime/parrot/library/Math/Rand.pbc             [main]
 runtime/parrot/library/MIME/Base64.pbc           [main]
 runtime/parrot/library/NCI/call_toolkit_init.pbc [main]
@@ -293,11 +295,23 @@
 runtime/parrot/library/Test/Builder/TestPlan.pbc [main]
 runtime/parrot/library/Test/Class.pbc            [main]
 runtime/parrot/library/Test/More.pbc             [main]
-runtime/parrot/library/TGE.pbc                   [tge]
-runtime/parrot/library/uuid.pbc                  [main]
+runtime/parrot/library/URI.pbc                   [main]
+runtime/parrot/library/YAML/Dumper.pbc           [main]
 runtime/parrot/library/YAML/Dumper/Base.pmc      [main]
 runtime/parrot/library/YAML/Dumper/Default.pmc   [main]
-runtime/parrot/library/YAML/Dumper.pbc           [main]
+runtime/parrot/library/config.pbc                [main]
+runtime/parrot/library/config.pir                [main]
+runtime/parrot/library/distutils.pbc             [main]
+runtime/parrot/library/dumper.pbc                [main]
+runtime/parrot/library/libpcre.pbc               [main]
+runtime/parrot/library/ncurses.pbc               [main]
+runtime/parrot/library/nqp-rx.pbc                [nqp]
+runtime/parrot/library/nqp-setting.pbc           [nqp]
+runtime/parrot/library/osutils.pbc               [main]
+runtime/parrot/library/parrotlib.pbc             [main]
+runtime/parrot/library/pcore.pbc                 [main]
+runtime/parrot/library/pcre.pbc                  [main]
+runtime/parrot/library/uuid.pbc                  [main]
 src/call_list.txt                                [devel]src
 src/glut_callbacks.c                             []
 src/install_config.obj                           [main]lib

Modified: branches/ops_pct/compilers/pct/README.pod
==============================================================================
--- branches/ops_pct/compilers/pct/README.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/compilers/pct/README.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -3,11 +3,6 @@
 =head1 Parrot Compiler Toolkit (PCT)
 
 This is an implementation of an abstract tree representation
-and compiler for Parrot.  This version is a redesign based
-on PAST-pm.  Only simple nodes are available, but it will
-expand rapidly.
-
-PCT is used for example by F<compilers/nqp>, F<languages/abc>, F<languages/perl6>
-and F<languages/pipp>.
+and compiler for Parrot. 
 
 =cut

Modified: branches/ops_pct/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/PAST/Compiler.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/compilers/pct/src/PAST/Compiler.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -74,8 +74,9 @@
     piropsig['elements']   = 'IP'
     piropsig['exit']       = 'vi'
     piropsig['fdiv']       = 'PP+'
-    piropsig['find_name']  = 'Ps'
+    piropsig['find_codepoint']   = 'Is'
     piropsig['find_dynamic_lex'] = 'Ps'
+    piropsig['find_name']  = 'Ps'
     piropsig['getprop']    = 'P~P'
     piropsig['index']      = 'Issi'
     piropsig['isa']        = 'IP~'
@@ -94,23 +95,24 @@
     piropsig['not']        = 'PP'
     piropsig['ord']        = 'Isi'
     piropsig['pop']        = 'PP'
+    piropsig['pow']        = 'NN+'
+    piropsig['print']      = 'v*'
+    piropsig['printerr']   = 'v*'
     piropsig['push']       = '0P*'
     piropsig['repeat']     = 'Ssi'
+    piropsig['replace']    = 'Ssiis'
+    piropsig['say']        = 'v*'
+    piropsig['set']        = 'PP'
+    piropsig['setprop']    = '0P~P'
+    piropsig['setattribute'] = '0P~P'
     piropsig['shift']      = 'PP'
     piropsig['shl']        = 'PP+'
     piropsig['shr']        = 'PP+'
+    piropsig['sleep']      = 'v+'
     piropsig['splice']     = 'PPii'
     piropsig['split']      = 'Pss'
     piropsig['sub']        = 'PP+'
     piropsig['substr']     = 'Ssii'
-    piropsig['replace']    = 'Ssiis'
-    piropsig['pow']        = 'NN+'
-    piropsig['print']      = 'v*'
-    piropsig['say']        = 'v*'
-    piropsig['set']        = 'PP'
-    piropsig['setprop']    = '0P~P'
-    piropsig['setattribute'] = '0P~P'
-    piropsig['sleep']      = 'v+'
     piropsig['trace']      = 'vi'
     piropsig['unshift']    = '0P*'
     piropsig['upcase']     = 'Ss'
@@ -174,9 +176,6 @@
     controltypes['REDO'] = $P0
     set_global '%!controltypes', controltypes
 
-    $P0 = new 'CodeString'
-    set_global '%!codestring', $P0
-
     $P0 = box 11
     set_global '$!serno', $P0
 
@@ -220,9 +219,19 @@
 
 .sub 'escape' :method
     .param string str
-    $P0 = get_global '%!codestring'
-    str = $P0.'escape'(str)
-    .return (str)
+    .local string estr
+    estr = escape str
+    $I0 = index estr, "\\x"
+    if $I0 >= 0 goto unicode_prefix
+    $I0 = index estr, "\\u"
+    if $I0 >= 0 goto unicode_prefix
+    estr = concat '"', estr
+    goto done
+  unicode_prefix:
+    estr = concat 'unicode:"', estr
+  done:
+    estr = concat estr, '"'
+    .return (estr)
 .end
 
 =item unique([STR fmt])
@@ -831,9 +840,9 @@
     concat blockref, $S0
     goto have_blockref
   block_ns:
-    $P0 = get_global '%!codestring'
+    $P0 = get_hll_global ['POST'], 'Compiler'
     blockref = concat 'get_hll_global ', blockreg
-    $S0 = $P0.'key'(ns)
+    $S0 = $P0.'key_pir'(ns)
     concat blockref, ', '
     concat blockref, $S0
     $S0 = self.'escape'(name)
@@ -988,9 +997,18 @@
     bpost = $P0.'new'( bpost, 'node'=>node, 'result'=>blockreg)
     bpost.'push_pirop'( blockref, 'result'=>blockreg )
     unless islexical goto block_done
+    $I0 = node.'closure'()
+    if $I0 goto block_closure
     bpost.'push_pirop'('capture_lex', blockreg)
     goto block_done
 
+  block_closure:
+    ##  return a reference to a clone of the block with captured outer context
+    result = self.'uniquereg'('P')
+    bpost.'push_pirop'('newclosure', result, blockreg)
+    bpost.'result'(result)
+    goto block_done
+
   block_immediate:
     .local pmc arglist
     arglist = options['arglist']
@@ -2168,8 +2186,8 @@
     .tailcall $P0.'new'(name, bindpost, 'pirop'=>'set_hll_global', 'result'=>bindpost)
 
   package_ns:
-    $P1 = new 'CodeString'
-    ns = $P1.'key'(ns)
+    $P1 = get_hll_global ['POST'], 'Compiler'
+    ns = $P1.'key_pir'(ns)
     if bindpost goto package_ns_bind
     fetchop = $P0.'new'(ops, ns, name, 'pirop'=>'get_hll_global')
     storeop = $P0.'new'(ns, name, ops, 'pirop'=>'set_hll_global')

Modified: branches/ops_pct/compilers/pct/src/PAST/Node.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/PAST/Node.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/compilers/pct/src/PAST/Node.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -498,6 +498,21 @@
 .end
 
 
+=item closure([value])
+
+Get/set the closure flag for the block to C<value>.  If set,
+any block reference returned by the node is to a clone of the
+block that has captured the current lexical context.
+
+=cut
+
+.sub 'closure' :method
+    .param pmc value           :optional
+    .param int has_value       :opt_flag
+    .tailcall self.'attr'('closure', value, has_value)
+.end
+
+
 =item control([value])
 
 Get/set the control exception handler for this block to C<value>.

Modified: branches/ops_pct/compilers/pct/src/POST/Compiler.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/POST/Compiler.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/compilers/pct/src/POST/Compiler.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -33,6 +33,54 @@
 .end
 
 
+=item C<escape(string str)>
+
+Returns an escaped value of C<str> suitable for including in PIR.
+If the string contains any non-ASCII characters, then it's
+prefixed with 'unicode:'.  (This method just delegates to
+PAST::Compiler.escape, which does the same thing.)
+
+=cut
+
+.sub 'escape' :method
+    .param string str
+    $P0 = get_hll_global ['PAST'], 'Compiler'
+    .tailcall $P0.'escape'(str)
+.end
+
+=item C<key_pir( string name1 [, string name2, ...] )>
+
+Constructs a PIR key using the strings passed as arguments.
+For example, C<key('Foo', 'Bar')> returns C<["Foo";"Bar"]>.
+
+=cut
+
+.sub 'key_pir' :method
+    .param pmc args            :slurpy
+    .local string out, sep
+    out = '['
+    sep = ''
+  args_loop:
+    unless args goto args_done
+    $P0 = shift args
+    if null $P0 goto args_loop
+    $I0 = does $P0, 'array'
+    if $I0 goto args_array
+  args_string:
+    $S0 = self.'escape'($P0)
+    concat out, sep
+    concat out, $S0
+    sep = ';'
+    goto args_loop
+  args_array:
+    splice args, $P0, 0, 0
+    goto args_loop
+  args_done:
+    concat out, ']'
+    .return (out)
+.end
+
+
 .sub 'to_pir' :method
     .param pmc post
     .param pmc adverbs         :slurpy :named
@@ -41,7 +89,7 @@
     newself = new ['POST';'Compiler']
 
     .local pmc innerpir, line
-    innerpir = new 'CodeString'
+    innerpir = new 'StringBuilder'
     .lex '$CODE', innerpir
     line = box 0
     .lex '$LINE', line
@@ -140,36 +188,37 @@
     if pirop == 'inline' goto pirop_inline
 
   pirop_opcode:
-    fmt = "    %n %,"
+    fmt = "    %n %,\n"
     name = pirop
     goto pirop_emit
 
   pirop_call:
-    fmt = "    %r%n(%,)"
+    fmt = "    %r%n(%,)\n"
     name = shift arglist
     goto pirop_emit
 
   pirop_callmethod:
-    fmt = "    %r%i.%n(%,)"
+    fmt = "    %r%i.%n(%,)\n"
     name = shift arglist
     invocant = shift arglist
     goto pirop_emit
 
   pirop_return:
-    fmt = "    .return (%,)"
+    fmt = "    .return (%,)\n"
     goto pirop_emit
 
   pirop_yield:
-    fmt = "    .yield (%,)"
+    fmt = "    .yield (%,)\n"
     goto pirop_emit
 
   pirop_tailcall:
     name = shift arglist
-    fmt = '    .tailcall %n(%,)'
+    fmt = "    .tailcall %n(%,)\n"
     goto pirop_emit
 
   pirop_inline:
     fmt = node.'inline'()
+    concat fmt, "\n"
     result = node.'result'()
     goto pirop_emit
 
@@ -179,10 +228,10 @@
     subline = find_caller_lex '$SUBLINE'
     line    = find_caller_lex '$LINE'
     if subline == line goto done_line
-    subpir.'emit'('.annotate "line", %0', line)
+    subpir.'append_format'(".annotate 'line', %0\n", line)
     assign subline, line
   done_line:
-    subpir.'emit'(fmt, arglist :flat, 'r'=>result, 'n'=>name, 'i'=>invocant, 't'=>result)
+    subpir.'append_format'(fmt, arglist :flat, 'r'=>result, 'n'=>name, 'i'=>invocant, 't'=>result)
 .end
 
 
@@ -197,7 +246,7 @@
     .local pmc subpir, value
     value = node.'result'()
     subpir = find_caller_lex '$SUBPIR'
-    subpir.'emit'('  %0:', value)
+    subpir.'append_format'("  %0:\n", value)
 .end
 
 
@@ -213,11 +262,11 @@
     .param pmc node
 
     .local pmc subpir, subline, innerpir
-    subpir = new 'CodeString'
+    subpir = new 'StringBuilder'
     .lex '$SUBPIR', subpir
     subline = box -1
     .lex '$SUBLINE', subline
-    innerpir = new 'CodeString'
+    innerpir = new 'StringBuilder'
     .lex '$CODE', innerpir
 
     .local string name, pirflags
@@ -248,7 +297,7 @@
     if null outerpost goto pirflags_done
     unless outerpost goto pirflags_done
     outername = outerpost.'subid'()
-    $S0 = subpir.'escape'(outername)
+    $S0 = self.'escape'(outername)
     pirflags = concat pirflags, ' :outer('
     concat pirflags, $S0
     concat pirflags, ')'
@@ -270,7 +319,7 @@
     ns = $P0
   have_ns:
     set_global '$?NAMESPACE', ns
-    nskey = subpir.'key'(ns)
+    nskey = self.'key_pir'(ns)
 
   subpir_start:
     $P0 = node['loadinit']
@@ -291,12 +340,12 @@
 
   subpir_post:
     unless hll goto subpir_ns
-    $P0 = subpir.'escape'(hll)
-    subpir.'emit'("\n.HLL %0", $P0)
+    $P0 = self.'escape'(hll)
+    subpir.'append_format'("\n.HLL %0\n", $P0)
   subpir_ns:
-    subpir.'emit'("\n.namespace %0", nskey)
-    $S0 = subpir.'escape'(name)
-    subpir.'emit'(".sub %0 %1", $S0, pirflags)
+    subpir.'append_format'("\n.namespace %0\n", nskey)
+    $S0 = self.'escape'(name)
+    subpir.'append_format'(".sub %0 %1\n", $S0, pirflags)
     .local pmc paramlist
     paramlist = node['paramlist']
     if null paramlist goto paramlist_done
@@ -311,7 +360,7 @@
   paramlist_done:
 
     self.'pir_children'(node)
-    subpir.'emit'(".end\n\n")
+    subpir.'append_format'(".end\n\n")
 
   subpir_done:
     .local pmc outerpir

Modified: branches/ops_pct/compilers/pct/src/POST/Node.pir
==============================================================================
--- branches/ops_pct/compilers/pct/src/POST/Node.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/compilers/pct/src/POST/Node.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -25,13 +25,13 @@
     p6meta.'new_class'('POST::Sub', 'parent'=>base)
 
     $P0 = new 'ResizableStringArray'
-    $P0[0] = "    .param pmc %0"
-    $P0[1] = "    .param pmc %0 :optional\n    .param int has_%0 :opt_flag"
-    $P0[2] = "    .param pmc %0 :slurpy"
-    $P0[4] = "    .param pmc %0 :named(%1)"
-    $P0[5] = "    .param pmc %0 :optional :named(%1)\n    .param int has_%0 :opt_flag"
-    $P0[6] = "    .param pmc %0 :slurpy :named"
-    $P0[8] = "    .param pmc %0 :call_sig"
+    $P0[0] = "    .param pmc %0\n"
+    $P0[1] = "    .param pmc %0 :optional\n    .param int has_%0 :opt_flag\n"
+    $P0[2] = "    .param pmc %0 :slurpy\n"
+    $P0[4] = "    .param pmc %0 :named(%1)\n"
+    $P0[5] = "    .param pmc %0 :optional :named(%1)\n    .param int has_%0 :opt_flag\n"
+    $P0[6] = "    .param pmc %0 :slurpy :named\n"
+    $P0[8] = "    .param pmc %0 :call_sig\n"
     set_hll_global ['POST';'Sub'], '%!paramfmt', $P0
     .return ()
 .end
@@ -116,13 +116,14 @@
 
 =item escape(str)
 
-Return C<str> as a PIR constant string.
+Return C<str> as a PIR constant string.  (Deprecated in favor of
+C<POST::Compiler.escape>.)
 
 =cut
 
 .sub 'escape' :method
     .param string str
-    $P0 = new 'CodeString'
+    $P0 = get_hll_global ['PAST'], 'Compiler'
     str = $P0.'escape'(str)
     .return (str)
 .end
@@ -271,15 +272,15 @@
     .local pmc code
     code = paramlist[paramseq]
     unless null code goto have_code
-    code = new 'CodeString'
+    code = new 'StringBuilder'
     paramlist[paramseq] = code
   have_code:
 
     .local pmc paramfmt
     paramfmt = get_hll_global ['POST';'Sub'], '%!paramfmt'
     $S0 = paramfmt[paramseq]
-    named = code.'escape'(named)
-    code.'emit'($S0, pname, named)
+    named = self.'escape'(named)
+    code.'append_format'($S0, pname, named)
 
     .return ()
 .end

Modified: branches/ops_pct/config/auto/va_ptr/test_c.in
==============================================================================
--- branches/ops_pct/config/auto/va_ptr/test_c.in	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/config/auto/va_ptr/test_c.in	Sat May 15 01:32:20 2010	(r46621)
@@ -43,6 +43,15 @@
     test2(&a);
 }
 
+/*
+ * Visual C++ dies with an Internal Compiler Error when compiling the
+ * following function using -O2.  Don't know why, but maybe because of this:
+ * https://connect.microsoft.com/VisualStudio/feedback/details/457892/internal-compiler-error
+ * Disable optimizations for this function using a pragma.
+ */
+#if defined _MSC_VER
+#  pragma optimize("t", off)
+#endif
 static void
 test0(int n, ...)
 {
@@ -51,6 +60,9 @@
     test1(ap);
     va_end(ap);
 }
+#if defined _MSC_VER
+#  pragma optimize("", on)
+#endif
 
 int
 main(int argc, char *argv[])

Modified: branches/ops_pct/config/gen/makefiles/root.in
==============================================================================
--- branches/ops_pct/config/gen/makefiles/root.in	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/config/gen/makefiles/root.in	Sat May 15 01:32:20 2010	(r46621)
@@ -267,8 +267,10 @@
     $(LIBRARY_DIR)/dumper.pbc \
     $(LIBRARY_DIR)/yaml_dumper.pbc \
     $(LIBRARY_DIR)/Getopt/Obj.pbc \
+    $(LIBRARY_DIR)/HTTP/Message.pbc \
     $(LIBRARY_DIR)/Iter.pbc \
     $(LIBRARY_DIR)/JSON.pbc \
+    $(LIBRARY_DIR)/LWP.pbc \
     $(LIBRARY_DIR)/Math/Rand.pbc \
     $(LIBRARY_DIR)/MIME/Base64.pbc \
     $(LIBRARY_DIR)/NCI/Utils.pbc \
@@ -318,6 +320,7 @@
     $(LIBRARY_DIR)/Test/More.pbc \
     $(LIBRARY_DIR)/Tcl/Glob.pbc \
     $(LIBRARY_DIR)/TclLibrary.pbc \
+    $(LIBRARY_DIR)/URI.pbc \
     $(LIBRARY_DIR)/uuid.pbc \
     $(LIBRARY_DIR)/YAML/Dumper/Base.pbc \
     $(LIBRARY_DIR)/YAML/Dumper/Default.pbc \
@@ -1532,11 +1535,14 @@
 # core_ops depends upon config.h so that it gets updated along with
 # updates to config.h's version numbers
 src/ops/core_ops$(O) : src/ops/core_ops.c \
-    include/pmc/pmc_callcontext.h \
+    $(PARROT_H_HEADERS) \
+    include/parrot/dynext.h \
+    include/parrot/embed.h \
+    include/parrot/oplib/core_ops.h \
+    include/parrot/runcore_api.h \
     include/pmc/pmc_continuation.h \
     include/pmc/pmc_parrotlibrary.h \
-    src/io/io_private.h $(INC_DIR)/dynext.h $(INC_DIR)/embed.h \
-    $(INC_DIR)/runcore_api.h
+    src/io/io_private.h
 
 @TEMP_gc_c@
 

Modified: branches/ops_pct/docs/book/draft/ch08_dynops.pod
==============================================================================
--- branches/ops_pct/docs/book/draft/ch08_dynops.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/book/draft/ch08_dynops.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -156,11 +156,11 @@
 =item * inout
 
 The parameter is an input and an output. It should be initialized before
-calling the op, and it's value will change after the op executes.
+calling the op, and its value will change after the op executes.
 
 =item * invar
 
-The parameter is a reference type like a String or PMC, and it's internals
+The parameter is a reference type like a String or PMC, and its internals
 might change in the call.
 
 =back

Modified: branches/ops_pct/docs/book/pct/ch02_getting_started.pod
==============================================================================
--- branches/ops_pct/docs/book/pct/ch02_getting_started.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/book/pct/ch02_getting_started.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -24,25 +24,25 @@
 If you have these dependencies installed, build the core virtual machine and
 compiler toolkit and run the standard test suite with the commands:
 
-  $ B<perl Configure.pl>
-  $ B<make>
-  $ B<make test>
+  $ perl Configure.pl
+  $ make
+  $ make test
 
-By default, Parrot installs to directories F<bin/>, C<lib/>, et cetera under
+By default, Parrot installs to directories F<bin/>, F<lib/>, et cetera under
 the prefix F</usr/local>.  If you have privileges to write to these
 directories, install Parrot with:
 
-  $ B<make install>
+  $ make install
 
 To install Parrot beneath a different prefix, use the C<--prefix> option to
 C<Configure.pl>:
 
-    $ B<perl Configure.pl --prefix=/home/me/parrot>
+  $ perl Configure.pl --prefix=/home/me/parrot
 
 If you intend to I<develop> -- not just I<use> -- a language on Parrot, install
 the Parrot developer tools as well:
 
-  $ B<make install-dev>
+  $ make install-dev
 
 =head2 Running Parrot
 
@@ -59,7 +59,7 @@
 
 Now run this file with:
 
-  $ B<parrot news.pasm>
+  $ parrot news.pasm
 
 which will print:
 
@@ -70,11 +70,11 @@
 Next, try out one of Parrot's high-level languages. Create a test file
 called F<more_news.nqp>:
 
-  say "No parrots were involved in an accident on the M1 today..."
+  say( "No parrots were involved in an accident on the M1 today..." );
 
 Then run it as:
 
-  $ nqp more_news.nqp
+  $ parrot-nqp more_news.nqp
 
 which will print:
 

Modified: branches/ops_pct/docs/book/pct/ch03_compiler_tools.pod
==============================================================================
--- branches/ops_pct/docs/book/pct/ch03_compiler_tools.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/book/pct/ch03_compiler_tools.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -29,7 +29,7 @@
 The Parrot Virtual Machine was originally conceived of as the engine for
 executing the new Perl 6 language, when specifications for that were first
 starting to be drafted. However, as time went on it was decided that Parrot
-would benefit from having a clean abstraction layer between it's internals
+would benefit from having a clean abstraction layer between its internals
 and the Perl 6 language syntax. This clean abstraction layer brought with it
 the side effect that Parrot could be used to host a wide variety of dynamic
 languages, not just Perl 6. And beyond just hosting them, it could
@@ -81,7 +81,7 @@
 Parrot has a robust system for interfacing with external native code
 libraries, such as those commonly written in C, C++, Fortran and other
 compiled languages. Where previously every interpreter would need to
-maintain it's own bindings and interfaces to libraries, Parrot enables
+maintain its own bindings and interfaces to libraries, Parrot enables
 developers to write library bindings once and use them seamlessly from
 any language executing on Parrot. Want to use Tcl's Tk libraries, along with
 Python's image manipulation libraries in a program you are writing in Perl?
@@ -218,8 +218,8 @@
 
 From the Parrot directory, invoke C<mk_language_shell.pl> like:
 
-  $ B<cd languages/>
-  $ B<perl ../tools/dev/mk_language_shell.pl <project name>>
+  $ cd languages/
+  $ perl ../tools/dev/mk_language_shell.pl <project name>
 
 =head3 Parsing Fundamentals
 

Modified: branches/ops_pct/docs/book/pct/ch05_nqp.pod
==============================================================================
--- branches/ops_pct/docs/book/pct/ch05_nqp.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/book/pct/ch05_nqp.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -43,9 +43,11 @@
 interchangeably contain given a string value, an integer value, or an object
 reference. Simple NQP assignments are:
 
- $scalar := "This is a string"
- $x      := 123
- $pi     := 3.1415      # rounding
+  my $scalar;  my $x;  my $pi;
+  # assignments are:
+  $scalar := "This is a string";
+  $x      := 123;
+  $pi     := 3.1415;      # rounding
 
 X<bind operator>
 X<operators; binding>
@@ -75,7 +77,7 @@
 
 It's also possible to assign a list in I<scalar context>:
 
- $array_but_a_scalar := (1, 2, 3, 4)
+  $array_but_a_scalar := (1, 2, 3, 4);
 
 Or you could write a new function in PIR to create a new array from a variadic
 argument list:
@@ -139,7 +141,7 @@
 
 X<match object>
 X<$/>
-The match object C<$/> it's a data structure that's all business: it's both a
+The match object C<$/> is a data structure that's all business: it's both a
 hash and an array. Because it's a special variable used pervasively in PCT, it
 has a special shortcut syntax:
 

Modified: branches/ops_pct/docs/parrotbyte.pod
==============================================================================
--- branches/ops_pct/docs/parrotbyte.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/parrotbyte.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -188,7 +188,7 @@
 
 A source to bytecode position mapping simply states that the bytecode that
 starts from the specified offset up until the offset in the next mapping, or
-if there is none up until the end of the bytecode, has it's source in
+if there is none up until the end of the bytecode, has its source in
 location X.
 
 A mapping always starts with the offset in the bytecode, followed by the

Modified: branches/ops_pct/docs/pdds/pdd26_ast.pod
==============================================================================
--- branches/ops_pct/docs/pdds/pdd26_ast.pod	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/docs/pdds/pdd26_ast.pod	Sat May 15 01:32:20 2010	(r46621)
@@ -481,13 +481,20 @@
 =item blocktype([type])
 
 Get/set the type of the block to C<type>.  The currently
-understood values are 'declaration' and 'immediate'.  'Declaration'
-indicates that a block is simply being defined at this point, the
-result of the node is a reference to the block.  A C<blocktype>
-of 'immediate' indicates a block that is to be immediately
+understood values are 'declaration', 'immediate',  and 'method'.  
+'Declaration' indicates that a block is simply being defined at 
+this point, the result of the node is a reference to the block.  
+A C<blocktype> of 'immediate' indicates a block that is to be immediately
 executed when it is evaluated in the AST, and the result of the
 last operation is used as the return value for the block.
 
+=item closure([value])
+
+Get/set the closure flag for the block to C<value>.  If the closure
+flag on a (non-immediate) block is true, then the node returns a 
+reference to a clone of the block that has captured the current
+lexical context.
+
 =item namespace([value])
 
 Get/set the namespace for this particular block (and any nested

Modified: branches/ops_pct/editor/pasm.el
==============================================================================
--- branches/ops_pct/editor/pasm.el	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/editor/pasm.el	Sat May 15 01:32:20 2010	(r46621)
@@ -12,7 +12,7 @@
 ;;;;
 ;;;; 1) highlighting for labels, comments and ops which modify program
 ;;;; flow (if, bsr, jsr, etc.). I have intentionally kept the
-;;;; highlighting to a minimum (highlighitng loses it's point when you
+;;;; highlighting to a minimum (highlighitng loses its point when you
 ;;;; highlight _everything_), however if someone wants i'll add in
 ;;;; different highlighting levels ala cperl-mode.
 ;;;;

Modified: branches/ops_pct/examples/tools/pbc_checker.cpp
==============================================================================
--- branches/ops_pct/examples/tools/pbc_checker.cpp	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/examples/tools/pbc_checker.cpp	Sat May 15 01:32:20 2010	(r46621)
@@ -554,6 +554,9 @@
                 cout << " Sub: " << sub;
                 }
                 break;
+            case 0x00:
+                cout << " None";
+                break;
             default:
                 throw runtime_error("Invalid fixup");
         }
@@ -617,10 +620,10 @@
 
     for (opcode n= 0; n < size; ++n) {
         opcode code = read_opcode(pbcfile);
-	if ((n % 8) == 0)
-	    cout << '\n' << setfill('0') << setw (7) << n << ':';
-	else
-	    cout << ' ';
+        if ((n % 8) == 0)
+            cout << '\n' << setfill('0') << setw (7) << n << ':';
+        else
+            cout << ' ';
         cout << setfill('0') << setw(opcode_size * 2) << code;
     }
     cout << dec << '\n';
@@ -732,7 +735,7 @@
     }
     else {
         flags = read_opcode(pbcfile);
-	charset = read_opcode(pbcfile);
+        charset = read_opcode(pbcfile);
     }
 
     cout << "Flags: 0x" << hex << setw(6) << flags << dec;
@@ -767,7 +770,7 @@
     }
     cout << '\n';
 
-    for (unsigned int i= length; i % opcode_size; ++i) {
+    for (unsigned int i= full; i % opcode_size; ++i) {
         pbcfile.ignore(1);
     }
 }

Modified: branches/ops_pct/ext/nqp-rx/Defines.mak
==============================================================================
--- branches/ops_pct/ext/nqp-rx/Defines.mak	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/Defines.mak	Sat May 15 01:32:20 2010	(r46621)
@@ -3,7 +3,7 @@
     $(LIBRARY_DIR)/HLL.pbc \
     $(LIBRARY_DIR)/P6Regex.pbc \
     $(LIBRARY_DIR)/nqp-rx.pbc \
+    $(LIBRARY_DIR)/nqp-setting.pbc \
     $(LIBRARY_DIR)/P6object.pbc \
     $(LIBRARY_DIR)/PCT/HLLCompiler.pbc \
-    $(LIBRARY_DIR)/PCT/PAST.pbc \
-	$(LIBRARY_DIR)/nqp-settings.pbc
+    $(LIBRARY_DIR)/PCT/PAST.pbc

Modified: branches/ops_pct/ext/nqp-rx/Rules.mak
==============================================================================
--- branches/ops_pct/ext/nqp-rx/Rules.mak	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/Rules.mak	Sat May 15 01:32:20 2010	(r46621)
@@ -1,16 +1,23 @@
 ## XXX does not cover .includes of core .pasm files
 
-$(LIBRARY_DIR)/Regex.pbc: ext/nqp-rx/src/stage0/Regex-s0.pir $(PARROT)
-	$(PARROT) -o $@ ext/nqp-rx/src/stage0/Regex-s0.pir
+NQP_STAGE0_DIR = ext/nqp-rx/src/stage0
 
-$(LIBRARY_DIR)/HLL.pbc: ext/nqp-rx/src/stage0/HLL-s0.pir $(PARROT)
-	$(PARROT) -o $@ ext/nqp-rx/src/stage0/HLL-s0.pir
+$(LIBRARY_DIR)/Regex.pbc: $(NQP_STAGE0_DIR)/Regex-s0.pir $(PARROT)
+	$(PARROT) -o $@ $(NQP_STAGE0_DIR)/Regex-s0.pir
 
-$(LIBRARY_DIR)/P6Regex.pbc: ext/nqp-rx/src/stage0/P6Regex-s0.pir $(PARROT)
-	$(PARROT) -o $@ ext/nqp-rx/src/stage0/P6Regex-s0.pir
+$(LIBRARY_DIR)/HLL.pbc: $(NQP_STAGE0_DIR)/HLL-s0.pir $(PARROT)
+	$(PARROT) -o $@ $(NQP_STAGE0_DIR)/HLL-s0.pir
 
-$(LIBRARY_DIR)/nqp-rx.pbc: ext/nqp-rx/src/stage0/NQP-s0.pir $(PARROT)
-	$(PARROT) -o $@ ext/nqp-rx/src/stage0/NQP-s0.pir
+$(LIBRARY_DIR)/P6Regex.pbc: $(NQP_STAGE0_DIR)/P6Regex-s0.pir $(PARROT)
+	$(PARROT) -o $@ $(NQP_STAGE0_DIR)/P6Regex-s0.pir
+
+$(LIBRARY_DIR)/nqp-rx.pbc: $(NQP_STAGE0_DIR)/NQP-s0.pir $(PARROT)
+	$(PARROT) -o $@ $(NQP_STAGE0_DIR)/NQP-s0.pir
+
+## eventually nqp should be able to generate .pbc files directly
+$(LIBRARY_DIR)/nqp-setting.pbc: $(NQP_STAGE0_DIR)/nqp-setting.pm $(LIBRARY_DIR)/nqp-rx.pbc $(NQPRX_LIB_PBCS)
+	$(PARROT) $(LIBRARY_DIR)/nqp-rx.pbc --target=pir -o $(NQP_STAGE0_DIR)/nqp-setting.pir $(NQP_STAGE0_DIR)/nqp-setting.pm
+	$(PARROT) -o $@ $(NQP_STAGE0_DIR)/nqp-setting.pir
 
 ext/nqp-rx/src/gen/settings.pir: ext/nqp-rx/src/gen/settings.pm parrot-nqp.pbc
 	$(PARROT) parrot-nqp.pbc --target=pir -o $@ ext/nqp-rx/src/gen/settings.pm
@@ -27,3 +34,6 @@
 
 $(INSTALLABLENQP) : $(NQPRX_LIB_PBCS) src/install_config$(O) $(PBC_TO_EXE) parrot-nqp.pbc
 	$(PBC_TO_EXE) parrot-nqp.pbc --install
+
+
+

Modified: branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/HLL-s0.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -854,23 +854,23 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816829.8573")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866363.67123")
+.annotate 'line', 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
-.annotate "line", 5
+.annotate 'line', 5
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
     $P339 = $P14()
-.annotate "line", 1
+.annotate 'line', 1
     .return ($P339)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post103") :outer("10_1272816829.8573")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816829.8573" 
+.sub "" :load :init :subid("post103") :outer("10_1273866363.67123")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866363.67123" 
     .local pmc block
     set block, $P12
     $P340 = get_root_global ["parrot"], "P6metaclass"
@@ -879,93 +879,93 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1272816829.8573") :outer("10_1272816829.8573")
-.annotate "line", 5
-    .const 'Sub' $P329 = "101_1272816829.8573" 
+.sub "_block13"  :subid("11_1273866363.67123") :outer("10_1273866363.67123")
+.annotate 'line', 5
+    .const 'Sub' $P329 = "101_1273866363.67123" 
     capture_lex $P329
-    .const 'Sub' $P322 = "99_1272816829.8573" 
+    .const 'Sub' $P322 = "99_1273866363.67123" 
     capture_lex $P322
-    .const 'Sub' $P309 = "96_1272816829.8573" 
+    .const 'Sub' $P309 = "96_1273866363.67123" 
     capture_lex $P309
-    .const 'Sub' $P277 = "91_1272816829.8573" 
+    .const 'Sub' $P277 = "91_1273866363.67123" 
     capture_lex $P277
-    .const 'Sub' $P271 = "89_1272816829.8573" 
+    .const 'Sub' $P271 = "89_1273866363.67123" 
     capture_lex $P271
-    .const 'Sub' $P266 = "87_1272816829.8573" 
+    .const 'Sub' $P266 = "87_1273866363.67123" 
     capture_lex $P266
-    .const 'Sub' $P260 = "85_1272816829.8573" 
+    .const 'Sub' $P260 = "85_1273866363.67123" 
     capture_lex $P260
-    .const 'Sub' $P254 = "83_1272816829.8573" 
+    .const 'Sub' $P254 = "83_1273866363.67123" 
     capture_lex $P254
-    .const 'Sub' $P249 = "81_1272816829.8573" 
+    .const 'Sub' $P249 = "81_1273866363.67123" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1272816829.8573" 
+    .const 'Sub' $P244 = "79_1273866363.67123" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1272816829.8573" 
+    .const 'Sub' $P239 = "77_1273866363.67123" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1272816829.8573" 
+    .const 'Sub' $P234 = "75_1273866363.67123" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1272816829.8573" 
+    .const 'Sub' $P229 = "73_1273866363.67123" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1272816829.8573" 
+    .const 'Sub' $P224 = "71_1273866363.67123" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1272816829.8573" 
+    .const 'Sub' $P219 = "69_1273866363.67123" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1272816829.8573" 
+    .const 'Sub' $P208 = "65_1273866363.67123" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1272816829.8573" 
+    .const 'Sub' $P195 = "63_1273866363.67123" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1272816829.8573" 
+    .const 'Sub' $P183 = "61_1273866363.67123" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1272816829.8573" 
+    .const 'Sub' $P176 = "59_1273866363.67123" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1272816829.8573" 
+    .const 'Sub' $P167 = "57_1273866363.67123" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1272816829.8573" 
+    .const 'Sub' $P160 = "55_1273866363.67123" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1272816829.8573" 
+    .const 'Sub' $P151 = "53_1273866363.67123" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1272816829.8573" 
+    .const 'Sub' $P144 = "51_1273866363.67123" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1272816829.8573" 
+    .const 'Sub' $P135 = "49_1273866363.67123" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1272816829.8573" 
+    .const 'Sub' $P128 = "47_1273866363.67123" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1272816829.8573" 
+    .const 'Sub' $P121 = "45_1273866363.67123" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1272816829.8573" 
+    .const 'Sub' $P111 = "43_1273866363.67123" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1272816829.8573" 
+    .const 'Sub' $P103 = "41_1273866363.67123" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1272816829.8573" 
+    .const 'Sub' $P93 = "40_1273866363.67123" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1272816829.8573" 
+    .const 'Sub' $P87 = "38_1273866363.67123" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1272816829.8573" 
+    .const 'Sub' $P82 = "36_1273866363.67123" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1272816829.8573" 
+    .const 'Sub' $P74 = "34_1273866363.67123" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1272816829.8573" 
+    .const 'Sub' $P68 = "32_1273866363.67123" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1272816829.8573" 
+    .const 'Sub' $P62 = "30_1273866363.67123" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1272816829.8573" 
+    .const 'Sub' $P56 = "28_1273866363.67123" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1272816829.8573" 
+    .const 'Sub' $P23 = "14_1273866363.67123" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1272816829.8573" 
+    .const 'Sub' $P15 = "12_1273866363.67123" 
     capture_lex $P15
-.annotate "line", 33
-    .const 'Sub' $P329 = "101_1272816829.8573" 
+.annotate 'line', 33
+    .const 'Sub' $P329 = "101_1273866363.67123" 
     capture_lex $P329
-.annotate "line", 5
+.annotate 'line', 5
     .return ($P329)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "ws"  :subid("12_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
     .local int rx16_off
@@ -1048,8 +1048,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__ws"  :subid("13_1273866363.67123") :method
+.annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
     .return ($P18)
@@ -1057,8 +1057,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "termish"  :subid("14_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx24_tgt
     .local int rx24_pos
     .local int rx24_off
@@ -1067,7 +1067,7 @@
     .local pmc rx24_cur
     (rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
     rx24_cur."!cursor_debug"("START ", "termish")
-    rx24_cur."!cursor_caparray"("postfixish", "prefixish")
+    rx24_cur."!cursor_caparray"("prefixish", "postfixish")
     .lex unicode:"$\x{a2}", rx24_cur
     .local pmc match
     .lex "$/", match
@@ -1089,7 +1089,7 @@
     set_addr $I10, rxscan27_loop
     rx24_cur."!mark_push"(0, rx24_pos, $I10)
   rxscan27_done:
-.annotate "line", 8
+.annotate 'line', 8
   # rx rxquantr28 ** 0..*
     set_addr $I29, rxquantr28_done
     rx24_cur."!mark_push"(0, rx24_pos, $I29)
@@ -1105,7 +1105,7 @@
     rx24_cur."!mark_push"(rx24_rep, rx24_pos, $I29)
     goto rxquantr28_loop
   rxquantr28_done:
-.annotate "line", 9
+.annotate 'line', 9
   # rx subrule "term" subtype=capture negate=
     rx24_cur."!cursor_pos"(rx24_pos)
     $P10 = rx24_cur."term"()
@@ -1113,7 +1113,7 @@
     rx24_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("term")
     rx24_pos = $P10."pos"()
-.annotate "line", 10
+.annotate 'line', 10
   # rx rxquantr30 ** 0..*
     set_addr $I31, rxquantr30_done
     rx24_cur."!mark_push"(0, rx24_pos, $I31)
@@ -1129,13 +1129,13 @@
     rx24_cur."!mark_push"(rx24_rep, rx24_pos, $I31)
     goto rxquantr30_loop
   rxquantr30_done:
-.annotate "line", 7
+.annotate 'line', 7
   # rx pass
     rx24_cur."!cursor_pass"(rx24_pos, "termish")
     rx24_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx24_pos)
     .return (rx24_cur)
   rx24_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx24_rep, rx24_pos, $I10, $P10) = rx24_cur."!mark_fail"(0)
     lt rx24_pos, -1, rx24_done
     eq rx24_pos, -1, rx24_fail
@@ -1149,8 +1149,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__termish"  :subid("15_1273866363.67123") :method
+.annotate 'line', 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
     .return ($P26)
@@ -1158,104 +1158,104 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1272816829.8573") :method
-.annotate "line", 13
+.sub "term"  :subid("16_1273866363.67123") :method
+.annotate 'line', 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1272816829.8573") :method
-.annotate "line", 13
+.sub "!PREFIX__term"  :subid("17_1273866363.67123") :method
+.annotate 'line', 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1272816829.8573") :method
-.annotate "line", 14
+.sub "infix"  :subid("18_1273866363.67123") :method
+.annotate 'line', 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1272816829.8573") :method
-.annotate "line", 14
+.sub "!PREFIX__infix"  :subid("19_1273866363.67123") :method
+.annotate 'line', 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1272816829.8573") :method
-.annotate "line", 15
+.sub "prefix"  :subid("20_1273866363.67123") :method
+.annotate 'line', 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1272816829.8573") :method
-.annotate "line", 15
+.sub "!PREFIX__prefix"  :subid("21_1273866363.67123") :method
+.annotate 'line', 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1272816829.8573") :method
-.annotate "line", 16
+.sub "postfix"  :subid("22_1273866363.67123") :method
+.annotate 'line', 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1272816829.8573") :method
-.annotate "line", 16
+.sub "!PREFIX__postfix"  :subid("23_1273866363.67123") :method
+.annotate 'line', 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1272816829.8573") :method
-.annotate "line", 17
+.sub "circumfix"  :subid("24_1273866363.67123") :method
+.annotate 'line', 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1272816829.8573") :method
-.annotate "line", 17
+.sub "!PREFIX__circumfix"  :subid("25_1273866363.67123") :method
+.annotate 'line', 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1272816829.8573") :method
-.annotate "line", 18
+.sub "postcircumfix"  :subid("26_1273866363.67123") :method
+.annotate 'line', 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1272816829.8573") :method
-.annotate "line", 18
+.sub "!PREFIX__postcircumfix"  :subid("27_1273866363.67123") :method
+.annotate 'line', 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "term:sym<circumfix>"  :subid("28_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx57_tgt
     .local int rx57_pos
     .local int rx57_off
@@ -1285,7 +1285,7 @@
     set_addr $I10, rxscan61_loop
     rx57_cur."!mark_push"(0, rx57_pos, $I10)
   rxscan61_done:
-.annotate "line", 20
+.annotate 'line', 20
   # rx subrule "circumfix" subtype=capture negate=
     rx57_cur."!cursor_pos"(rx57_pos)
     $P10 = rx57_cur."circumfix"()
@@ -1298,7 +1298,7 @@
     rx57_cur."!cursor_debug"("PASS  ", "term:sym<circumfix>", " at pos=", rx57_pos)
     .return (rx57_cur)
   rx57_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx57_rep, rx57_pos, $I10, $P10) = rx57_cur."!mark_fail"(0)
     lt rx57_pos, -1, rx57_done
     eq rx57_pos, -1, rx57_fail
@@ -1312,8 +1312,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1273866363.67123") :method
+.annotate 'line', 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
     push $P60, $P59
@@ -1322,8 +1322,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "infixish"  :subid("30_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx63_tgt
     .local int rx63_pos
     .local int rx63_off
@@ -1353,7 +1353,7 @@
     set_addr $I10, rxscan67_loop
     rx63_cur."!mark_push"(0, rx63_pos, $I10)
   rxscan67_done:
-.annotate "line", 22
+.annotate 'line', 22
   # rx subrule "infix" subtype=capture negate=
     rx63_cur."!cursor_pos"(rx63_pos)
     $P10 = rx63_cur."infix"()
@@ -1366,7 +1366,7 @@
     rx63_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx63_pos)
     .return (rx63_cur)
   rx63_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx63_rep, rx63_pos, $I10, $P10) = rx63_cur."!mark_fail"(0)
     lt rx63_pos, -1, rx63_done
     eq rx63_pos, -1, rx63_fail
@@ -1380,8 +1380,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__infixish"  :subid("31_1273866363.67123") :method
+.annotate 'line', 5
     $P65 = self."!PREFIX__!subrule"("OPER=infix", "")
     new $P66, "ResizablePMCArray"
     push $P66, $P65
@@ -1390,8 +1390,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "prefixish"  :subid("32_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx69_tgt
     .local int rx69_pos
     .local int rx69_off
@@ -1421,7 +1421,7 @@
     set_addr $I10, rxscan73_loop
     rx69_cur."!mark_push"(0, rx69_pos, $I10)
   rxscan73_done:
-.annotate "line", 23
+.annotate 'line', 23
   # rx subrule "prefix" subtype=capture negate=
     rx69_cur."!cursor_pos"(rx69_pos)
     $P10 = rx69_cur."prefix"()
@@ -1439,7 +1439,7 @@
     rx69_cur."!cursor_debug"("PASS  ", "prefixish", " at pos=", rx69_pos)
     .return (rx69_cur)
   rx69_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx69_rep, rx69_pos, $I10, $P10) = rx69_cur."!mark_fail"(0)
     lt rx69_pos, -1, rx69_done
     eq rx69_pos, -1, rx69_fail
@@ -1453,8 +1453,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__prefixish"  :subid("33_1273866363.67123") :method
+.annotate 'line', 5
     $P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
     new $P72, "ResizablePMCArray"
     push $P72, $P71
@@ -1463,8 +1463,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "postfixish"  :subid("34_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx75_tgt
     .local int rx75_pos
     .local int rx75_off
@@ -1495,10 +1495,10 @@
     rx75_cur."!mark_push"(0, rx75_pos, $I10)
   rxscan80_done:
   alt81_0:
-.annotate "line", 24
+.annotate 'line', 24
     set_addr $I10, alt81_1
     rx75_cur."!mark_push"(0, rx75_pos, $I10)
-.annotate "line", 25
+.annotate 'line', 25
   # rx subrule "postfix" subtype=capture negate=
     rx75_cur."!cursor_pos"(rx75_pos)
     $P10 = rx75_cur."postfix"()
@@ -1508,7 +1508,7 @@
     rx75_pos = $P10."pos"()
     goto alt81_end
   alt81_1:
-.annotate "line", 26
+.annotate 'line', 26
   # rx subrule "postcircumfix" subtype=capture negate=
     rx75_cur."!cursor_pos"(rx75_pos)
     $P10 = rx75_cur."postcircumfix"()
@@ -1517,13 +1517,13 @@
     $P10."!cursor_names"("OPER=postcircumfix")
     rx75_pos = $P10."pos"()
   alt81_end:
-.annotate "line", 24
+.annotate 'line', 24
   # rx pass
     rx75_cur."!cursor_pass"(rx75_pos, "postfixish")
     rx75_cur."!cursor_debug"("PASS  ", "postfixish", " at pos=", rx75_pos)
     .return (rx75_cur)
   rx75_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx75_rep, rx75_pos, $I10, $P10) = rx75_cur."!mark_fail"(0)
     lt rx75_pos, -1, rx75_done
     eq rx75_pos, -1, rx75_fail
@@ -1537,8 +1537,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__postfixish"  :subid("35_1273866363.67123") :method
+.annotate 'line', 5
     $P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
     new $P79, "ResizablePMCArray"
@@ -1549,8 +1549,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "nullterm"  :subid("36_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx83_tgt
     .local int rx83_pos
     .local int rx83_off
@@ -1580,13 +1580,13 @@
     set_addr $I10, rxscan86_loop
     rx83_cur."!mark_push"(0, rx83_pos, $I10)
   rxscan86_done:
-.annotate "line", 29
+.annotate 'line', 29
   # rx pass
     rx83_cur."!cursor_pass"(rx83_pos, "nullterm")
     rx83_cur."!cursor_debug"("PASS  ", "nullterm", " at pos=", rx83_pos)
     .return (rx83_cur)
   rx83_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
     lt rx83_pos, -1, rx83_done
     eq rx83_pos, -1, rx83_fail
@@ -1600,8 +1600,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__nullterm"  :subid("37_1273866363.67123") :method
+.annotate 'line', 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
     .return ($P85)
@@ -1609,8 +1609,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 5
+.sub "nullterm_alt"  :subid("38_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 5
     .local string rx88_tgt
     .local int rx88_pos
     .local int rx88_off
@@ -1640,7 +1640,7 @@
     set_addr $I10, rxscan92_loop
     rx88_cur."!mark_push"(0, rx88_pos, $I10)
   rxscan92_done:
-.annotate "line", 30
+.annotate 'line', 30
   # rx subrule "nullterm" subtype=capture negate=
     rx88_cur."!cursor_pos"(rx88_pos)
     $P10 = rx88_cur."nullterm"()
@@ -1653,7 +1653,7 @@
     rx88_cur."!cursor_debug"("PASS  ", "nullterm_alt", " at pos=", rx88_pos)
     .return (rx88_cur)
   rx88_fail:
-.annotate "line", 5
+.annotate 'line', 5
     (rx88_rep, rx88_pos, $I10, $P10) = rx88_cur."!mark_fail"(0)
     lt rx88_pos, -1, rx88_done
     eq rx88_pos, -1, rx88_fail
@@ -1667,8 +1667,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1272816829.8573") :method
-.annotate "line", 5
+.sub "!PREFIX__nullterm_alt"  :subid("39_1273866363.67123") :method
+.annotate 'line', 5
     $P90 = self."!PREFIX__!subrule"("term", "")
     new $P91, "ResizablePMCArray"
     push $P91, $P90
@@ -1677,8 +1677,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "nulltermish"  :subid("40_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
     $P95."handle_types"(57)
@@ -1704,8 +1704,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_delimited"  :subid("41_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx104_tgt
     .local int rx104_pos
     .local int rx104_off
@@ -1736,7 +1736,7 @@
     set_addr $I10, rxscan108_loop
     rx104_cur."!mark_push"(0, rx104_pos, $I10)
   rxscan108_done:
-.annotate "line", 37
+.annotate 'line', 37
   # rx subrule "starter" subtype=capture negate=
     rx104_cur."!cursor_pos"(rx104_pos)
     $P10 = rx104_cur."starter"()
@@ -1766,13 +1766,13 @@
     rx104_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("stopper")
     rx104_pos = $P10."pos"()
-.annotate "line", 36
+.annotate 'line', 36
   # rx pass
     rx104_cur."!cursor_pass"(rx104_pos, "quote_delimited")
     rx104_cur."!cursor_debug"("PASS  ", "quote_delimited", " at pos=", rx104_pos)
     .return (rx104_cur)
   rx104_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx104_rep, rx104_pos, $I10, $P10) = rx104_cur."!mark_fail"(0)
     lt rx104_pos, -1, rx104_done
     eq rx104_pos, -1, rx104_fail
@@ -1786,8 +1786,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_delimited"  :subid("42_1273866363.67123") :method
+.annotate 'line', 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
     push $P107, $P106
@@ -1796,8 +1796,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_atom"  :subid("43_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx112_tgt
     .local int rx112_pos
     .local int rx112_off
@@ -1827,16 +1827,16 @@
     set_addr $I10, rxscan115_loop
     rx112_cur."!mark_push"(0, rx112_pos, $I10)
   rxscan115_done:
-.annotate "line", 41
+.annotate 'line', 41
   # rx subrule "stopper" subtype=zerowidth negate=1
     rx112_cur."!cursor_pos"(rx112_pos)
     $P10 = rx112_cur."stopper"()
     if $P10, rx112_fail
   alt116_0:
-.annotate "line", 42
+.annotate 'line', 42
     set_addr $I10, alt116_1
     rx112_cur."!mark_push"(0, rx112_pos, $I10)
-.annotate "line", 43
+.annotate 'line', 43
   # rx subrule "quote_escape" subtype=capture negate=
     rx112_cur."!cursor_pos"(rx112_pos)
     $P10 = rx112_cur."quote_escape"()
@@ -1846,7 +1846,7 @@
     rx112_pos = $P10."pos"()
     goto alt116_end
   alt116_1:
-.annotate "line", 44
+.annotate 'line', 44
   # rx rxquantr117 ** 1..*
     set_addr $I120, rxquantr117_done
     rx112_cur."!mark_push"(0, -1, $I120)
@@ -1867,13 +1867,13 @@
     goto rxquantr117_loop
   rxquantr117_done:
   alt116_end:
-.annotate "line", 40
+.annotate 'line', 40
   # rx pass
     rx112_cur."!cursor_pass"(rx112_pos, "quote_atom")
     rx112_cur."!cursor_debug"("PASS  ", "quote_atom", " at pos=", rx112_pos)
     .return (rx112_cur)
   rx112_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx112_rep, rx112_pos, $I10, $P10) = rx112_cur."!mark_fail"(0)
     lt rx112_pos, -1, rx112_done
     eq rx112_pos, -1, rx112_fail
@@ -1887,8 +1887,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_atom"  :subid("44_1273866363.67123") :method
+.annotate 'line', 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
     .return ($P114)
@@ -1896,8 +1896,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "decint"  :subid("45_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx122_tgt
     .local int rx122_pos
     .local int rx122_off
@@ -1927,7 +1927,7 @@
     set_addr $I10, rxscan125_loop
     rx122_cur."!mark_push"(0, rx122_pos, $I10)
   rxscan125_done:
-.annotate "line", 48
+.annotate 'line', 48
   # rx rxquantr126 ** 1..*
     set_addr $I127, rxquantr126_done
     rx122_cur."!mark_push"(0, -1, $I127)
@@ -1954,7 +1954,7 @@
     rx122_cur."!cursor_debug"("PASS  ", "decint", " at pos=", rx122_pos)
     .return (rx122_cur)
   rx122_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx122_rep, rx122_pos, $I10, $P10) = rx122_cur."!mark_fail"(0)
     lt rx122_pos, -1, rx122_done
     eq rx122_pos, -1, rx122_fail
@@ -1968,8 +1968,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__decint"  :subid("46_1273866363.67123") :method
+.annotate 'line', 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
     .return ($P124)
@@ -1977,8 +1977,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "decints"  :subid("47_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx129_tgt
     .local int rx129_pos
     .local int rx129_off
@@ -2009,7 +2009,7 @@
     set_addr $I10, rxscan132_loop
     rx129_cur."!mark_push"(0, rx129_pos, $I10)
   rxscan132_done:
-.annotate "line", 49
+.annotate 'line', 49
   # rx rxquantr133 ** 1..*
     set_addr $I134, rxquantr133_done
     rx129_cur."!mark_push"(0, -1, $I134)
@@ -2047,7 +2047,7 @@
     rx129_cur."!cursor_debug"("PASS  ", "decints", " at pos=", rx129_pos)
     .return (rx129_cur)
   rx129_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx129_rep, rx129_pos, $I10, $P10) = rx129_cur."!mark_fail"(0)
     lt rx129_pos, -1, rx129_done
     eq rx129_pos, -1, rx129_fail
@@ -2061,8 +2061,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__decints"  :subid("48_1273866363.67123") :method
+.annotate 'line', 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
     .return ($P131)
@@ -2070,8 +2070,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "hexint"  :subid("49_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx136_tgt
     .local int rx136_pos
     .local int rx136_off
@@ -2101,7 +2101,7 @@
     set_addr $I10, rxscan139_loop
     rx136_cur."!mark_push"(0, rx136_pos, $I10)
   rxscan139_done:
-.annotate "line", 51
+.annotate 'line', 51
   # rx rxquantr140 ** 1..*
     set_addr $I143, rxquantr140_done
     rx136_cur."!mark_push"(0, -1, $I143)
@@ -2137,7 +2137,7 @@
     rx136_cur."!cursor_debug"("PASS  ", "hexint", " at pos=", rx136_pos)
     .return (rx136_cur)
   rx136_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx136_rep, rx136_pos, $I10, $P10) = rx136_cur."!mark_fail"(0)
     lt rx136_pos, -1, rx136_done
     eq rx136_pos, -1, rx136_fail
@@ -2151,8 +2151,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__hexint"  :subid("50_1273866363.67123") :method
+.annotate 'line', 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
     .return ($P138)
@@ -2160,8 +2160,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "hexints"  :subid("51_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
     .local int rx145_off
@@ -2192,7 +2192,7 @@
     set_addr $I10, rxscan148_loop
     rx145_cur."!mark_push"(0, rx145_pos, $I10)
   rxscan148_done:
-.annotate "line", 52
+.annotate 'line', 52
   # rx rxquantr149 ** 1..*
     set_addr $I150, rxquantr149_done
     rx145_cur."!mark_push"(0, -1, $I150)
@@ -2230,7 +2230,7 @@
     rx145_cur."!cursor_debug"("PASS  ", "hexints", " at pos=", rx145_pos)
     .return (rx145_cur)
   rx145_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx145_rep, rx145_pos, $I10, $P10) = rx145_cur."!mark_fail"(0)
     lt rx145_pos, -1, rx145_done
     eq rx145_pos, -1, rx145_fail
@@ -2244,8 +2244,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__hexints"  :subid("52_1273866363.67123") :method
+.annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
     .return ($P147)
@@ -2253,8 +2253,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "octint"  :subid("53_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
     .local int rx152_off
@@ -2284,7 +2284,7 @@
     set_addr $I10, rxscan155_loop
     rx152_cur."!mark_push"(0, rx152_pos, $I10)
   rxscan155_done:
-.annotate "line", 54
+.annotate 'line', 54
   # rx rxquantr156 ** 1..*
     set_addr $I159, rxquantr156_done
     rx152_cur."!mark_push"(0, -1, $I159)
@@ -2320,7 +2320,7 @@
     rx152_cur."!cursor_debug"("PASS  ", "octint", " at pos=", rx152_pos)
     .return (rx152_cur)
   rx152_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx152_rep, rx152_pos, $I10, $P10) = rx152_cur."!mark_fail"(0)
     lt rx152_pos, -1, rx152_done
     eq rx152_pos, -1, rx152_fail
@@ -2334,8 +2334,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__octint"  :subid("54_1273866363.67123") :method
+.annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
     .return ($P154)
@@ -2343,8 +2343,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "octints"  :subid("55_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx161_tgt
     .local int rx161_pos
     .local int rx161_off
@@ -2375,7 +2375,7 @@
     set_addr $I10, rxscan164_loop
     rx161_cur."!mark_push"(0, rx161_pos, $I10)
   rxscan164_done:
-.annotate "line", 55
+.annotate 'line', 55
   # rx rxquantr165 ** 1..*
     set_addr $I166, rxquantr165_done
     rx161_cur."!mark_push"(0, -1, $I166)
@@ -2413,7 +2413,7 @@
     rx161_cur."!cursor_debug"("PASS  ", "octints", " at pos=", rx161_pos)
     .return (rx161_cur)
   rx161_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx161_rep, rx161_pos, $I10, $P10) = rx161_cur."!mark_fail"(0)
     lt rx161_pos, -1, rx161_done
     eq rx161_pos, -1, rx161_fail
@@ -2427,8 +2427,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__octints"  :subid("56_1273866363.67123") :method
+.annotate 'line', 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
     .return ($P163)
@@ -2436,8 +2436,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "binint"  :subid("57_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx168_tgt
     .local int rx168_pos
     .local int rx168_off
@@ -2467,7 +2467,7 @@
     set_addr $I10, rxscan171_loop
     rx168_cur."!mark_push"(0, rx168_pos, $I10)
   rxscan171_done:
-.annotate "line", 57
+.annotate 'line', 57
   # rx rxquantr172 ** 1..*
     set_addr $I175, rxquantr172_done
     rx168_cur."!mark_push"(0, -1, $I175)
@@ -2503,7 +2503,7 @@
     rx168_cur."!cursor_debug"("PASS  ", "binint", " at pos=", rx168_pos)
     .return (rx168_cur)
   rx168_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx168_rep, rx168_pos, $I10, $P10) = rx168_cur."!mark_fail"(0)
     lt rx168_pos, -1, rx168_done
     eq rx168_pos, -1, rx168_fail
@@ -2517,8 +2517,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__binint"  :subid("58_1273866363.67123") :method
+.annotate 'line', 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
     .return ($P170)
@@ -2526,8 +2526,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "binints"  :subid("59_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx177_tgt
     .local int rx177_pos
     .local int rx177_off
@@ -2558,7 +2558,7 @@
     set_addr $I10, rxscan180_loop
     rx177_cur."!mark_push"(0, rx177_pos, $I10)
   rxscan180_done:
-.annotate "line", 58
+.annotate 'line', 58
   # rx rxquantr181 ** 1..*
     set_addr $I182, rxquantr181_done
     rx177_cur."!mark_push"(0, -1, $I182)
@@ -2596,7 +2596,7 @@
     rx177_cur."!cursor_debug"("PASS  ", "binints", " at pos=", rx177_pos)
     .return (rx177_cur)
   rx177_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx177_rep, rx177_pos, $I10, $P10) = rx177_cur."!mark_fail"(0)
     lt rx177_pos, -1, rx177_done
     eq rx177_pos, -1, rx177_fail
@@ -2610,8 +2610,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__binints"  :subid("60_1273866363.67123") :method
+.annotate 'line', 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
     .return ($P179)
@@ -2619,8 +2619,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "integer"  :subid("61_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx184_tgt
     .local int rx184_pos
     .local int rx184_off
@@ -2651,10 +2651,10 @@
     rx184_cur."!mark_push"(0, rx184_pos, $I10)
   rxscan192_done:
   alt193_0:
-.annotate "line", 61
+.annotate 'line', 61
     set_addr $I10, alt193_1
     rx184_cur."!mark_push"(0, rx184_pos, $I10)
-.annotate "line", 62
+.annotate 'line', 62
   # rx literal  "0"
     add $I11, rx184_pos, 1
     gt $I11, rx184_eos, rx184_fail
@@ -2683,7 +2683,7 @@
   alt194_1:
     set_addr $I10, alt194_2
     rx184_cur."!mark_push"(0, rx184_pos, $I10)
-.annotate "line", 63
+.annotate 'line', 63
   # rx literal  "o"
     add $I11, rx184_pos, 1
     gt $I11, rx184_eos, rx184_fail
@@ -2702,7 +2702,7 @@
   alt194_2:
     set_addr $I10, alt194_3
     rx184_cur."!mark_push"(0, rx184_pos, $I10)
-.annotate "line", 64
+.annotate 'line', 64
   # rx literal  "x"
     add $I11, rx184_pos, 1
     gt $I11, rx184_eos, rx184_fail
@@ -2719,7 +2719,7 @@
     rx184_pos = $P10."pos"()
     goto alt194_end
   alt194_3:
-.annotate "line", 65
+.annotate 'line', 65
   # rx literal  "d"
     add $I11, rx184_pos, 1
     gt $I11, rx184_eos, rx184_fail
@@ -2735,10 +2735,10 @@
     $P10."!cursor_names"("VALUE=decint")
     rx184_pos = $P10."pos"()
   alt194_end:
-.annotate "line", 62
+.annotate 'line', 62
     goto alt193_end
   alt193_1:
-.annotate "line", 67
+.annotate 'line', 67
   # rx subrule "decint" subtype=capture negate=
     rx184_cur."!cursor_pos"(rx184_pos)
     $P10 = rx184_cur."decint"()
@@ -2747,13 +2747,13 @@
     $P10."!cursor_names"("VALUE=decint")
     rx184_pos = $P10."pos"()
   alt193_end:
-.annotate "line", 60
+.annotate 'line', 60
   # rx pass
     rx184_cur."!cursor_pass"(rx184_pos, "integer")
     rx184_cur."!cursor_debug"("PASS  ", "integer", " at pos=", rx184_pos)
     .return (rx184_cur)
   rx184_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx184_rep, rx184_pos, $I10, $P10) = rx184_cur."!mark_fail"(0)
     lt rx184_pos, -1, rx184_done
     eq rx184_pos, -1, rx184_fail
@@ -2767,8 +2767,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__integer"  :subid("62_1273866363.67123") :method
+.annotate 'line', 33
     $P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
     $P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
     $P188 = self."!PREFIX__!subrule"("VALUE=hexint", "0x")
@@ -2785,8 +2785,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "dec_number"  :subid("63_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
     .local int rx196_off
@@ -2818,10 +2818,10 @@
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
   rxscan199_done:
   alt200_0:
-.annotate "line", 71
+.annotate 'line', 71
     set_addr $I10, alt200_1
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
-.annotate "line", 72
+.annotate 'line', 72
   # rx subcapture "coeff"
     set_addr $I10, rxcap_201_fail
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
@@ -2866,7 +2866,7 @@
   alt200_1:
     set_addr $I10, alt200_2
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
-.annotate "line", 73
+.annotate 'line', 73
   # rx subcapture "coeff"
     set_addr $I10, rxcap_204_fail
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
@@ -2915,7 +2915,7 @@
   rxquantr205_done:
     goto alt200_end
   alt200_2:
-.annotate "line", 74
+.annotate 'line', 74
   # rx subcapture "coeff"
     set_addr $I10, rxcap_207_fail
     rx196_cur."!mark_push"(0, rx196_pos, $I10)
@@ -2944,13 +2944,13 @@
     $P10."!cursor_names"("escale")
     rx196_pos = $P10."pos"()
   alt200_end:
-.annotate "line", 71
+.annotate 'line', 71
   # rx pass
     rx196_cur."!cursor_pass"(rx196_pos, "dec_number")
     rx196_cur."!cursor_debug"("PASS  ", "dec_number", " at pos=", rx196_pos)
     .return (rx196_cur)
   rx196_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx196_rep, rx196_pos, $I10, $P10) = rx196_cur."!mark_fail"(0)
     lt rx196_pos, -1, rx196_done
     eq rx196_pos, -1, rx196_fail
@@ -2964,8 +2964,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__dec_number"  :subid("64_1273866363.67123") :method
+.annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
     push $P198, ""
@@ -2975,8 +2975,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "escale"  :subid("65_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx209_tgt
     .local int rx209_pos
     .local int rx209_off
@@ -3006,7 +3006,7 @@
     set_addr $I10, rxscan212_loop
     rx209_cur."!mark_push"(0, rx209_pos, $I10)
   rxscan212_done:
-.annotate "line", 77
+.annotate 'line', 77
   # rx enumcharlist negate=0 
     ge rx209_pos, rx209_eos, rx209_fail
     sub $I10, rx209_pos, rx209_off
@@ -3038,7 +3038,7 @@
     rx209_cur."!cursor_debug"("PASS  ", "escale", " at pos=", rx209_pos)
     .return (rx209_cur)
   rx209_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
     lt rx209_pos, -1, rx209_done
     eq rx209_pos, -1, rx209_fail
@@ -3052,8 +3052,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__escale"  :subid("66_1273866363.67123") :method
+.annotate 'line', 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
     push $P211, "E"
@@ -3062,24 +3062,24 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1272816829.8573") :method
-.annotate "line", 79
+.sub "quote_escape"  :subid("67_1273866363.67123") :method
+.annotate 'line', 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1272816829.8573") :method
-.annotate "line", 79
+.sub "!PREFIX__quote_escape"  :subid("68_1273866363.67123") :method
+.annotate 'line', 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<backslash>"  :subid("69_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx220_tgt
     .local int rx220_pos
     .local int rx220_off
@@ -3109,7 +3109,7 @@
     set_addr $I10, rxscan223_loop
     rx220_cur."!mark_push"(0, rx220_pos, $I10)
   rxscan223_done:
-.annotate "line", 80
+.annotate 'line', 80
   # rx literal  "\\\\"
     add $I11, rx220_pos, 2
     gt $I11, rx220_eos, rx220_fail
@@ -3126,7 +3126,7 @@
     rx220_cur."!cursor_debug"("PASS  ", "quote_escape:sym<backslash>", " at pos=", rx220_pos)
     .return (rx220_cur)
   rx220_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx220_rep, rx220_pos, $I10, $P10) = rx220_cur."!mark_fail"(0)
     lt rx220_pos, -1, rx220_done
     eq rx220_pos, -1, rx220_fail
@@ -3140,8 +3140,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1273866363.67123") :method
+.annotate 'line', 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
     .return ($P222)
@@ -3149,8 +3149,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<stopper>"  :subid("71_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx225_tgt
     .local int rx225_pos
     .local int rx225_off
@@ -3180,7 +3180,7 @@
     set_addr $I10, rxscan228_loop
     rx225_cur."!mark_push"(0, rx225_pos, $I10)
   rxscan228_done:
-.annotate "line", 81
+.annotate 'line', 81
   # rx literal  "\\"
     add $I11, rx225_pos, 1
     gt $I11, rx225_eos, rx225_fail
@@ -3204,7 +3204,7 @@
     rx225_cur."!cursor_debug"("PASS  ", "quote_escape:sym<stopper>", " at pos=", rx225_pos)
     .return (rx225_cur)
   rx225_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx225_rep, rx225_pos, $I10, $P10) = rx225_cur."!mark_fail"(0)
     lt rx225_pos, -1, rx225_done
     eq rx225_pos, -1, rx225_fail
@@ -3218,8 +3218,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1273866363.67123") :method
+.annotate 'line', 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
     .return ($P227)
@@ -3227,8 +3227,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<bs>"  :subid("73_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx230_tgt
     .local int rx230_pos
     .local int rx230_off
@@ -3258,7 +3258,7 @@
     set_addr $I10, rxscan233_loop
     rx230_cur."!mark_push"(0, rx230_pos, $I10)
   rxscan233_done:
-.annotate "line", 83
+.annotate 'line', 83
   # rx literal  "\\b"
     add $I11, rx230_pos, 2
     gt $I11, rx230_eos, rx230_fail
@@ -3275,7 +3275,7 @@
     rx230_cur."!cursor_debug"("PASS  ", "quote_escape:sym<bs>", " at pos=", rx230_pos)
     .return (rx230_cur)
   rx230_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx230_rep, rx230_pos, $I10, $P10) = rx230_cur."!mark_fail"(0)
     lt rx230_pos, -1, rx230_done
     eq rx230_pos, -1, rx230_fail
@@ -3289,8 +3289,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1273866363.67123") :method
+.annotate 'line', 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
     .return ($P232)
@@ -3298,8 +3298,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<nl>"  :subid("75_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx235_tgt
     .local int rx235_pos
     .local int rx235_off
@@ -3329,7 +3329,7 @@
     set_addr $I10, rxscan238_loop
     rx235_cur."!mark_push"(0, rx235_pos, $I10)
   rxscan238_done:
-.annotate "line", 84
+.annotate 'line', 84
   # rx literal  "\\n"
     add $I11, rx235_pos, 2
     gt $I11, rx235_eos, rx235_fail
@@ -3346,7 +3346,7 @@
     rx235_cur."!cursor_debug"("PASS  ", "quote_escape:sym<nl>", " at pos=", rx235_pos)
     .return (rx235_cur)
   rx235_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx235_rep, rx235_pos, $I10, $P10) = rx235_cur."!mark_fail"(0)
     lt rx235_pos, -1, rx235_done
     eq rx235_pos, -1, rx235_fail
@@ -3360,8 +3360,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1273866363.67123") :method
+.annotate 'line', 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
     .return ($P237)
@@ -3369,8 +3369,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<cr>"  :subid("77_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx240_tgt
     .local int rx240_pos
     .local int rx240_off
@@ -3400,7 +3400,7 @@
     set_addr $I10, rxscan243_loop
     rx240_cur."!mark_push"(0, rx240_pos, $I10)
   rxscan243_done:
-.annotate "line", 85
+.annotate 'line', 85
   # rx literal  "\\r"
     add $I11, rx240_pos, 2
     gt $I11, rx240_eos, rx240_fail
@@ -3417,7 +3417,7 @@
     rx240_cur."!cursor_debug"("PASS  ", "quote_escape:sym<cr>", " at pos=", rx240_pos)
     .return (rx240_cur)
   rx240_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx240_rep, rx240_pos, $I10, $P10) = rx240_cur."!mark_fail"(0)
     lt rx240_pos, -1, rx240_done
     eq rx240_pos, -1, rx240_fail
@@ -3431,8 +3431,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1273866363.67123") :method
+.annotate 'line', 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
     .return ($P242)
@@ -3440,8 +3440,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<tab>"  :subid("79_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx245_tgt
     .local int rx245_pos
     .local int rx245_off
@@ -3471,7 +3471,7 @@
     set_addr $I10, rxscan248_loop
     rx245_cur."!mark_push"(0, rx245_pos, $I10)
   rxscan248_done:
-.annotate "line", 86
+.annotate 'line', 86
   # rx literal  "\\t"
     add $I11, rx245_pos, 2
     gt $I11, rx245_eos, rx245_fail
@@ -3488,7 +3488,7 @@
     rx245_cur."!cursor_debug"("PASS  ", "quote_escape:sym<tab>", " at pos=", rx245_pos)
     .return (rx245_cur)
   rx245_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx245_rep, rx245_pos, $I10, $P10) = rx245_cur."!mark_fail"(0)
     lt rx245_pos, -1, rx245_done
     eq rx245_pos, -1, rx245_fail
@@ -3502,8 +3502,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1273866363.67123") :method
+.annotate 'line', 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
     .return ($P247)
@@ -3511,8 +3511,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<ff>"  :subid("81_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx250_tgt
     .local int rx250_pos
     .local int rx250_off
@@ -3542,7 +3542,7 @@
     set_addr $I10, rxscan253_loop
     rx250_cur."!mark_push"(0, rx250_pos, $I10)
   rxscan253_done:
-.annotate "line", 87
+.annotate 'line', 87
   # rx literal  "\\f"
     add $I11, rx250_pos, 2
     gt $I11, rx250_eos, rx250_fail
@@ -3559,7 +3559,7 @@
     rx250_cur."!cursor_debug"("PASS  ", "quote_escape:sym<ff>", " at pos=", rx250_pos)
     .return (rx250_cur)
   rx250_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx250_rep, rx250_pos, $I10, $P10) = rx250_cur."!mark_fail"(0)
     lt rx250_pos, -1, rx250_done
     eq rx250_pos, -1, rx250_fail
@@ -3573,8 +3573,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1273866363.67123") :method
+.annotate 'line', 33
     new $P252, "ResizablePMCArray"
     push $P252, "\\f"
     .return ($P252)
@@ -3582,8 +3582,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("83_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<hex>"  :subid("83_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx255_tgt
     .local int rx255_pos
     .local int rx255_off
@@ -3613,7 +3613,7 @@
     set_addr $I10, rxscan258_loop
     rx255_cur."!mark_push"(0, rx255_pos, $I10)
   rxscan258_done:
-.annotate "line", 89
+.annotate 'line', 89
   # rx literal  unicode:"\\x"
     add $I11, rx255_pos, 2
     gt $I11, rx255_eos, rx255_fail
@@ -3626,7 +3626,7 @@
     $P10 = rx255_cur."quotemod_check"("b")
     unless $P10, rx255_fail
   alt259_0:
-.annotate "line", 90
+.annotate 'line', 90
     set_addr $I10, alt259_1
     rx255_cur."!mark_push"(0, rx255_pos, $I10)
   # rx subrule "hexint" subtype=capture negate=
@@ -3660,13 +3660,13 @@
     ne $S10, "]", rx255_fail
     add rx255_pos, 1
   alt259_end:
-.annotate "line", 88
+.annotate 'line', 88
   # rx pass
     rx255_cur."!cursor_pass"(rx255_pos, "quote_escape:sym<hex>")
     rx255_cur."!cursor_debug"("PASS  ", "quote_escape:sym<hex>", " at pos=", rx255_pos)
     .return (rx255_cur)
   rx255_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
     lt rx255_pos, -1, rx255_done
     eq rx255_pos, -1, rx255_fail
@@ -3680,8 +3680,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1273866363.67123") :method
+.annotate 'line', 33
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\\x"
     .return ($P257)
@@ -3689,8 +3689,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("85_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<oct>"  :subid("85_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx261_tgt
     .local int rx261_pos
     .local int rx261_off
@@ -3720,7 +3720,7 @@
     set_addr $I10, rxscan264_loop
     rx261_cur."!mark_push"(0, rx261_pos, $I10)
   rxscan264_done:
-.annotate "line", 93
+.annotate 'line', 93
   # rx literal  "\\o"
     add $I11, rx261_pos, 2
     gt $I11, rx261_eos, rx261_fail
@@ -3733,7 +3733,7 @@
     $P10 = rx261_cur."quotemod_check"("b")
     unless $P10, rx261_fail
   alt265_0:
-.annotate "line", 94
+.annotate 'line', 94
     set_addr $I10, alt265_1
     rx261_cur."!mark_push"(0, rx261_pos, $I10)
   # rx subrule "octint" subtype=capture negate=
@@ -3767,13 +3767,13 @@
     ne $S10, "]", rx261_fail
     add rx261_pos, 1
   alt265_end:
-.annotate "line", 92
+.annotate 'line', 92
   # rx pass
     rx261_cur."!cursor_pass"(rx261_pos, "quote_escape:sym<oct>")
     rx261_cur."!cursor_debug"("PASS  ", "quote_escape:sym<oct>", " at pos=", rx261_pos)
     .return (rx261_cur)
   rx261_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx261_rep, rx261_pos, $I10, $P10) = rx261_cur."!mark_fail"(0)
     lt rx261_pos, -1, rx261_done
     eq rx261_pos, -1, rx261_fail
@@ -3787,8 +3787,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1273866363.67123") :method
+.annotate 'line', 33
     new $P263, "ResizablePMCArray"
     push $P263, "\\o"
     .return ($P263)
@@ -3796,8 +3796,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("87_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<chr>"  :subid("87_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx267_tgt
     .local int rx267_pos
     .local int rx267_off
@@ -3827,7 +3827,7 @@
     set_addr $I10, rxscan270_loop
     rx267_cur."!mark_push"(0, rx267_pos, $I10)
   rxscan270_done:
-.annotate "line", 96
+.annotate 'line', 96
   # rx literal  "\\c"
     add $I11, rx267_pos, 2
     gt $I11, rx267_eos, rx267_fail
@@ -3851,7 +3851,7 @@
     rx267_cur."!cursor_debug"("PASS  ", "quote_escape:sym<chr>", " at pos=", rx267_pos)
     .return (rx267_cur)
   rx267_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx267_rep, rx267_pos, $I10, $P10) = rx267_cur."!mark_fail"(0)
     lt rx267_pos, -1, rx267_done
     eq rx267_pos, -1, rx267_fail
@@ -3865,8 +3865,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1273866363.67123") :method
+.annotate 'line', 33
     new $P269, "ResizablePMCArray"
     push $P269, "\\c"
     .return ($P269)
@@ -3874,8 +3874,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("89_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "quote_escape:sym<0>"  :subid("89_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx272_tgt
     .local int rx272_pos
     .local int rx272_off
@@ -3905,7 +3905,7 @@
     set_addr $I10, rxscan275_loop
     rx272_cur."!mark_push"(0, rx272_pos, $I10)
   rxscan275_done:
-.annotate "line", 97
+.annotate 'line', 97
   # rx literal  "\\"
     add $I11, rx272_pos, 1
     gt $I11, rx272_eos, rx272_fail
@@ -3943,7 +3943,7 @@
     rx272_cur."!cursor_debug"("PASS  ", "quote_escape:sym<0>", " at pos=", rx272_pos)
     .return (rx272_cur)
   rx272_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
     lt rx272_pos, -1, rx272_done
     eq rx272_pos, -1, rx272_fail
@@ -3957,8 +3957,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1273866363.67123") :method
+.annotate 'line', 33
     new $P274, "ResizablePMCArray"
     push $P274, "\\0"
     .return ($P274)
@@ -3966,13 +3966,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("91_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
-    .const 'Sub' $P297 = "95_1272816829.8573" 
+.sub "quote_escape:sym<misc>"  :subid("91_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
+    .const 'Sub' $P297 = "95_1273866363.67123" 
     capture_lex $P297
-    .const 'Sub' $P290 = "94_1272816829.8573" 
+    .const 'Sub' $P290 = "94_1273866363.67123" 
     capture_lex $P290
-    .const 'Sub' $P285 = "93_1272816829.8573" 
+    .const 'Sub' $P285 = "93_1273866363.67123" 
     capture_lex $P285
     .local string rx278_tgt
     .local int rx278_pos
@@ -4003,13 +4003,13 @@
     set_addr $I10, rxscan281_loop
     rx278_cur."!mark_push"(0, rx278_pos, $I10)
   rxscan281_done:
-.annotate "line", 98
+.annotate 'line', 98
     rx278_cur."!cursor_pos"(rx278_pos)
     find_lex $P282, unicode:"$\x{a2}"
     $P283 = $P282."MATCH"()
     store_lex "$/", $P283
-.annotate "line", 99
-    .const 'Sub' $P285 = "93_1272816829.8573" 
+.annotate 'line', 99
+    .const 'Sub' $P285 = "93_1273866363.67123" 
     capture_lex $P285
     $P286 = $P285()
   # rx literal  "\\"
@@ -4020,22 +4020,22 @@
     ne $S10, "\\", rx278_fail
     add rx278_pos, 1
   alt287_0:
-.annotate "line", 100
+.annotate 'line', 100
     set_addr $I10, alt287_1
     rx278_cur."!mark_push"(0, rx278_pos, $I10)
-.annotate "line", 101
+.annotate 'line', 101
   # rx subrule "quotemod_check" subtype=zerowidth negate=
     rx278_cur."!cursor_pos"(rx278_pos)
     $P10 = rx278_cur."quotemod_check"("b")
     unless $P10, rx278_fail
   alt288_0:
-.annotate "line", 102
+.annotate 'line', 102
     set_addr $I10, alt288_1
     rx278_cur."!mark_push"(0, rx278_pos, $I10)
-.annotate "line", 103
+.annotate 'line', 103
   # rx subrule $P290 subtype=capture negate=
     rx278_cur."!cursor_pos"(rx278_pos)
-    .const 'Sub' $P290 = "94_1272816829.8573" 
+    .const 'Sub' $P290 = "94_1273866363.67123" 
     capture_lex $P290
     $P10 = rx278_cur.$P290()
     unless $P10, rx278_fail
@@ -4044,7 +4044,7 @@
     rx278_pos = $P10."pos"()
     goto alt288_end
   alt288_1:
-.annotate "line", 104
+.annotate 'line', 104
   # rx subcapture "x"
     set_addr $I10, rxcap_293_fail
     rx278_cur."!mark_push"(0, rx278_pos, $I10)
@@ -4069,14 +4069,14 @@
     find_lex $P294, unicode:"$\x{a2}"
     $P295 = $P294."MATCH"()
     store_lex "$/", $P295
-    .const 'Sub' $P297 = "95_1272816829.8573" 
+    .const 'Sub' $P297 = "95_1273866363.67123" 
     capture_lex $P297
     $P307 = $P297()
   alt288_end:
-.annotate "line", 101
+.annotate 'line', 101
     goto alt287_end
   alt287_1:
-.annotate "line", 106
+.annotate 'line', 106
   # rx subcapture "textq"
     set_addr $I10, rxcap_308_fail
     rx278_cur."!mark_push"(0, rx278_pos, $I10)
@@ -4095,13 +4095,13 @@
     goto rx278_fail
   rxcap_308_done:
   alt287_end:
-.annotate "line", 98
+.annotate 'line', 98
   # rx pass
     rx278_cur."!cursor_pass"(rx278_pos, "quote_escape:sym<misc>")
     rx278_cur."!cursor_debug"("PASS  ", "quote_escape:sym<misc>", " at pos=", rx278_pos)
     .return (rx278_cur)
   rx278_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx278_rep, rx278_pos, $I10, $P10) = rx278_cur."!mark_fail"(0)
     lt rx278_pos, -1, rx278_done
     eq rx278_pos, -1, rx278_fail
@@ -4115,8 +4115,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1273866363.67123") :method
+.annotate 'line', 33
     new $P280, "ResizablePMCArray"
     push $P280, ""
     .return ($P280)
@@ -4124,15 +4124,15 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block284"  :anon :subid("93_1272816829.8573") :outer("91_1272816829.8573")
-.annotate "line", 99
+.sub "_block284"  :anon :subid("93_1273866363.67123") :outer("91_1273866363.67123")
+.annotate 'line', 99
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block289"  :anon :subid("94_1272816829.8573") :method :outer("91_1272816829.8573")
-.annotate "line", 103
+.sub "_block289"  :anon :subid("94_1273866363.67123") :method :outer("91_1273866363.67123")
+.annotate 'line', 103
     .local string rx291_tgt
     .local int rx291_pos
     .local int rx291_off
@@ -4186,8 +4186,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block296"  :anon :subid("95_1272816829.8573") :outer("91_1272816829.8573")
-.annotate "line", 104
+.sub "_block296"  :anon :subid("95_1273866363.67123") :outer("91_1273866363.67123")
+.annotate 'line', 104
     find_lex $P298, "$/"
     $P299 = $P298."CURSOR"()
     new $P300, "String"
@@ -4209,9 +4209,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("96_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
-    .const 'Sub' $P319 = "98_1272816829.8573" 
+.sub "charname"  :subid("96_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
+    .const 'Sub' $P319 = "98_1273866363.67123" 
     capture_lex $P319
     .local string rx310_tgt
     .local int rx310_pos
@@ -4243,10 +4243,10 @@
     rx310_cur."!mark_push"(0, rx310_pos, $I10)
   rxscan314_done:
   alt315_0:
-.annotate "line", 110
+.annotate 'line', 110
     set_addr $I10, alt315_1
     rx310_cur."!mark_push"(0, rx310_pos, $I10)
-.annotate "line", 111
+.annotate 'line', 111
   # rx subrule "integer" subtype=capture negate=
     rx310_cur."!cursor_pos"(rx310_pos)
     $P10 = rx310_cur."integer"()
@@ -4256,7 +4256,7 @@
     rx310_pos = $P10."pos"()
     goto alt315_end
   alt315_1:
-.annotate "line", 112
+.annotate 'line', 112
   # rx enumcharlist negate=0 
     ge rx310_pos, rx310_eos, rx310_fail
     sub $I10, rx310_pos, rx310_off
@@ -4286,21 +4286,21 @@
     index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)", $S10
     lt $I11, 0, rx310_fail
     inc rx310_pos
-.annotate "line", 113
+.annotate 'line', 113
   # rx subrule "before" subtype=zerowidth negate=
     rx310_cur."!cursor_pos"(rx310_pos)
-    .const 'Sub' $P319 = "98_1272816829.8573" 
+    .const 'Sub' $P319 = "98_1273866363.67123" 
     capture_lex $P319
     $P10 = rx310_cur."before"($P319)
     unless $P10, rx310_fail
   alt315_end:
-.annotate "line", 110
+.annotate 'line', 110
   # rx pass
     rx310_cur."!cursor_pass"(rx310_pos, "charname")
     rx310_cur."!cursor_debug"("PASS  ", "charname", " at pos=", rx310_pos)
     .return (rx310_cur)
   rx310_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
     lt rx310_pos, -1, rx310_done
     eq rx310_pos, -1, rx310_fail
@@ -4314,8 +4314,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("97_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__charname"  :subid("97_1273866363.67123") :method
+.annotate 'line', 33
     $P312 = self."!PREFIX__!subrule"("integer", "")
     new $P313, "ResizablePMCArray"
     push $P313, "Z"
@@ -4376,8 +4376,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block318"  :anon :subid("98_1272816829.8573") :method :outer("96_1272816829.8573")
-.annotate "line", 113
+.sub "_block318"  :anon :subid("98_1273866363.67123") :method :outer("96_1273866363.67123")
+.annotate 'line', 113
     .local string rx320_tgt
     .local int rx320_pos
     .local int rx320_off
@@ -4436,8 +4436,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("99_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "charnames"  :subid("99_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx323_tgt
     .local int rx323_pos
     .local int rx323_off
@@ -4468,7 +4468,7 @@
     set_addr $I10, rxscan326_loop
     rx323_cur."!mark_push"(0, rx323_pos, $I10)
   rxscan326_done:
-.annotate "line", 115
+.annotate 'line', 115
   # rx rxquantr327 ** 1..*
     set_addr $I328, rxquantr327_done
     rx323_cur."!mark_push"(0, -1, $I328)
@@ -4506,7 +4506,7 @@
     rx323_cur."!cursor_debug"("PASS  ", "charnames", " at pos=", rx323_pos)
     .return (rx323_cur)
   rx323_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
     lt rx323_pos, -1, rx323_done
     eq rx323_pos, -1, rx323_fail
@@ -4520,8 +4520,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("100_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__charnames"  :subid("100_1273866363.67123") :method
+.annotate 'line', 33
     new $P325, "ResizablePMCArray"
     push $P325, ""
     .return ($P325)
@@ -4529,8 +4529,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("101_1272816829.8573") :method :outer("11_1272816829.8573")
-.annotate "line", 33
+.sub "charspec"  :subid("101_1273866363.67123") :method :outer("11_1273866363.67123")
+.annotate 'line', 33
     .local string rx330_tgt
     .local int rx330_pos
     .local int rx330_off
@@ -4561,10 +4561,10 @@
     rx330_cur."!mark_push"(0, rx330_pos, $I10)
   rxscan335_done:
   alt336_0:
-.annotate "line", 117
+.annotate 'line', 117
     set_addr $I10, alt336_1
     rx330_cur."!mark_push"(0, rx330_pos, $I10)
-.annotate "line", 118
+.annotate 'line', 118
   # rx literal  "["
     add $I11, rx330_pos, 1
     gt $I11, rx330_eos, rx330_fail
@@ -4590,7 +4590,7 @@
   alt336_1:
     set_addr $I10, alt336_2
     rx330_cur."!mark_push"(0, rx330_pos, $I10)
-.annotate "line", 119
+.annotate 'line', 119
   # rx charclass_q d r 1..-1
     sub $I10, rx330_pos, rx330_off
     find_not_cclass $I11, 8, rx330_tgt, $I10, rx330_eos
@@ -4622,7 +4622,7 @@
   alt336_2:
     set_addr $I10, alt336_3
     rx330_cur."!mark_push"(0, rx330_pos, $I10)
-.annotate "line", 120
+.annotate 'line', 120
   # rx enumcharlist negate=0 
     ge rx330_pos, rx330_eos, rx330_fail
     sub $I10, rx330_pos, rx330_off
@@ -4632,20 +4632,20 @@
     inc rx330_pos
     goto alt336_end
   alt336_3:
-.annotate "line", 121
+.annotate 'line', 121
   # rx subrule "panic" subtype=method negate=
     rx330_cur."!cursor_pos"(rx330_pos)
     $P10 = rx330_cur."panic"("Unrecognized \\c character")
     unless $P10, rx330_fail
     rx330_pos = $P10."pos"()
   alt336_end:
-.annotate "line", 116
+.annotate 'line', 116
   # rx pass
     rx330_cur."!cursor_pass"(rx330_pos, "charspec")
     rx330_cur."!cursor_debug"("PASS  ", "charspec", " at pos=", rx330_pos)
     .return (rx330_cur)
   rx330_fail:
-.annotate "line", 33
+.annotate 'line', 33
     (rx330_rep, rx330_pos, $I10, $P10) = rx330_cur."!mark_fail"(0)
     lt rx330_pos, -1, rx330_done
     eq rx330_pos, -1, rx330_fail
@@ -4659,8 +4659,8 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("102_1272816829.8573") :method
-.annotate "line", 33
+.sub "!PREFIX__charspec"  :subid("102_1273866363.67123") :method
+.annotate 'line', 33
     $P332 = self."!PREFIX__!subrule"("", "")
     $P333 = self."!PREFIX__!subrule"("charnames", "[")
     new $P334, "ResizablePMCArray"
@@ -4701,23 +4701,23 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816831.39278")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866365.68387")
+.annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
-.annotate "line", 3
+.annotate 'line', 3
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
     $P571 = $P14()
-.annotate "line", 1
+.annotate 'line', 1
     .return ($P571)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post49") :outer("10_1272816831.39278")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816831.39278" 
+.sub "" :load :init :subid("post49") :outer("10_1273866365.68387")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866365.68387" 
     .local pmc block
     set block, $P12
     $P572 = get_root_global ["parrot"], "P6metaclass"
@@ -4726,90 +4726,90 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1272816831.39278") :outer("10_1272816831.39278")
-.annotate "line", 3
-    .const 'Sub' $P554 = "48_1272816831.39278" 
-    capture_lex $P554
-    .const 'Sub' $P529 = "46_1272816831.39278" 
-    capture_lex $P529
-    .const 'Sub' $P498 = "45_1272816831.39278" 
+.sub "_block13"  :subid("11_1273866365.68387") :outer("10_1273866365.68387")
+.annotate 'line', 3
+    .const 'Sub' $P553 = "48_1273866365.68387" 
+    capture_lex $P553
+    .const 'Sub' $P528 = "46_1273866365.68387" 
+    capture_lex $P528
+    .const 'Sub' $P498 = "45_1273866365.68387" 
     capture_lex $P498
-    .const 'Sub' $P479 = "44_1272816831.39278" 
+    .const 'Sub' $P479 = "44_1273866365.68387" 
     capture_lex $P479
-    .const 'Sub' $P472 = "43_1272816831.39278" 
+    .const 'Sub' $P472 = "43_1273866365.68387" 
     capture_lex $P472
-    .const 'Sub' $P462 = "42_1272816831.39278" 
+    .const 'Sub' $P462 = "42_1273866365.68387" 
     capture_lex $P462
-    .const 'Sub' $P445 = "41_1272816831.39278" 
+    .const 'Sub' $P445 = "41_1273866365.68387" 
     capture_lex $P445
-    .const 'Sub' $P428 = "40_1272816831.39278" 
+    .const 'Sub' $P428 = "40_1273866365.68387" 
     capture_lex $P428
-    .const 'Sub' $P421 = "39_1272816831.39278" 
+    .const 'Sub' $P421 = "39_1273866365.68387" 
     capture_lex $P421
-    .const 'Sub' $P414 = "38_1272816831.39278" 
+    .const 'Sub' $P414 = "38_1273866365.68387" 
     capture_lex $P414
-    .const 'Sub' $P407 = "37_1272816831.39278" 
+    .const 'Sub' $P407 = "37_1273866365.68387" 
     capture_lex $P407
-    .const 'Sub' $P400 = "36_1272816831.39278" 
+    .const 'Sub' $P400 = "36_1273866365.68387" 
     capture_lex $P400
-    .const 'Sub' $P393 = "35_1272816831.39278" 
+    .const 'Sub' $P393 = "35_1273866365.68387" 
     capture_lex $P393
-    .const 'Sub' $P383 = "34_1272816831.39278" 
+    .const 'Sub' $P383 = "34_1273866365.68387" 
     capture_lex $P383
-    .const 'Sub' $P376 = "33_1272816831.39278" 
+    .const 'Sub' $P376 = "33_1273866365.68387" 
     capture_lex $P376
-    .const 'Sub' $P360 = "32_1272816831.39278" 
+    .const 'Sub' $P360 = "32_1273866365.68387" 
     capture_lex $P360
-    .const 'Sub' $P285 = "30_1272816831.39278" 
+    .const 'Sub' $P285 = "30_1273866365.68387" 
     capture_lex $P285
-    .const 'Sub' $P222 = "27_1272816831.39278" 
+    .const 'Sub' $P222 = "27_1273866365.68387" 
     capture_lex $P222
-    .const 'Sub' $P213 = "26_1272816831.39278" 
+    .const 'Sub' $P213 = "26_1273866365.68387" 
     capture_lex $P213
-    .const 'Sub' $P204 = "25_1272816831.39278" 
+    .const 'Sub' $P204 = "25_1273866365.68387" 
     capture_lex $P204
-    .const 'Sub' $P195 = "24_1272816831.39278" 
+    .const 'Sub' $P195 = "24_1273866365.68387" 
     capture_lex $P195
-    .const 'Sub' $P186 = "23_1272816831.39278" 
+    .const 'Sub' $P186 = "23_1273866365.68387" 
     capture_lex $P186
-    .const 'Sub' $P177 = "22_1272816831.39278" 
+    .const 'Sub' $P177 = "22_1273866365.68387" 
     capture_lex $P177
-    .const 'Sub' $P167 = "21_1272816831.39278" 
+    .const 'Sub' $P167 = "21_1273866365.68387" 
     capture_lex $P167
-    .const 'Sub' $P157 = "20_1272816831.39278" 
+    .const 'Sub' $P157 = "20_1273866365.68387" 
     capture_lex $P157
-    .const 'Sub' $P149 = "19_1272816831.39278" 
+    .const 'Sub' $P149 = "19_1273866365.68387" 
     capture_lex $P149
-    .const 'Sub' $P139 = "18_1272816831.39278" 
+    .const 'Sub' $P139 = "18_1273866365.68387" 
     capture_lex $P139
-    .const 'Sub' $P129 = "17_1272816831.39278" 
+    .const 'Sub' $P129 = "17_1273866365.68387" 
     capture_lex $P129
-    .const 'Sub' $P28 = "14_1272816831.39278" 
+    .const 'Sub' $P28 = "14_1273866365.68387" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1272816831.39278" 
+    .const 'Sub' $P22 = "13_1273866365.68387" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1272816831.39278" 
+    .const 'Sub' $P15 = "12_1273866365.68387" 
     capture_lex $P15
-.annotate "line", 197
-    .const 'Sub' $P554 = "48_1272816831.39278" 
-    capture_lex $P554
-.annotate "line", 3
-    .return ($P554)
+.annotate 'line', 197
+    .const 'Sub' $P553 = "48_1273866365.68387" 
+    newclosure $P570, $P553
+.annotate 'line', 3
+    .return ($P570)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1272816831.39278") :outer("11_1272816831.39278")
+.sub "string_to_int"  :subid("12_1273866365.68387") :outer("11_1273866365.68387")
     .param pmc param_18
     .param pmc param_19
-.annotate "line", 3
+.annotate 'line', 3
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
     $P17."handle_types"(57)
     push_eh $P17
     .lex "$src", param_18
     .lex "$base", param_19
-.annotate "line", 4
+.annotate 'line', 4
 
         .local pmc src
         .local string src_s
@@ -4841,7 +4841,7 @@
       str_done:
         $P20 = box result
     
-.annotate "line", 3
+.annotate 'line', 3
     .return ($P20)
   control_16:
     .local pmc exception 
@@ -4852,15 +4852,15 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1272816831.39278") :outer("11_1272816831.39278")
+.sub "ints_to_string"  :subid("13_1273866365.68387") :outer("11_1273866365.68387")
     .param pmc param_25
-.annotate "line", 37
+.annotate 'line', 37
     new $P24, 'ExceptionHandler'
     set_addr $P24, control_23
     $P24."handle_types"(57)
     push_eh $P24
     .lex "$ints", param_25
-.annotate "line", 38
+.annotate 'line', 38
 
         .local string result
         result = ''
@@ -4882,7 +4882,7 @@
       ints_done:
         $P26 = box result
     
-.annotate "line", 37
+.annotate 'line', 37
     .return ($P26)
   control_23:
     .local pmc exception 
@@ -4893,14 +4893,14 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("14_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "EXPR"  :subid("14_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_31
     .param pmc param_32 :optional
     .param int has_param_32 :opt_flag
-.annotate "line", 62
-    .const 'Sub' $P111 = "16_1272816831.39278" 
+.annotate 'line', 62
+    .const 'Sub' $P111 = "16_1273866365.68387" 
     capture_lex $P111
-    .const 'Sub' $P78 = "15_1272816831.39278" 
+    .const 'Sub' $P78 = "15_1273866365.68387" 
     capture_lex $P78
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -4913,10 +4913,10 @@
     set param_32, $P33
   optparam_50:
     .lex "$key", param_32
-.annotate "line", 64
+.annotate 'line', 64
     new $P34, "Undef"
     .lex "$past", $P34
-.annotate "line", 63
+.annotate 'line', 63
     find_lex $P36, "$key"
     if $P36, unless_35_end
     new $P37, "Exception"
@@ -4926,7 +4926,7 @@
     setattribute $P37, 'payload', $P38
     throw $P37
   unless_35_end:
-.annotate "line", 64
+.annotate 'line', 64
     find_lex $P40, "$/"
     $P41 = $P40."ast"()
     set $P39, $P41
@@ -4944,15 +4944,15 @@
     set $P39, $P46
   default_42:
     store_lex "$past", $P39
-.annotate "line", 65
+.annotate 'line', 65
     find_lex $P48, "$past"
     if $P48, unless_47_end
-.annotate "line", 66
+.annotate 'line', 66
     get_hll_global $P49, ["PAST"], "Op"
     find_lex $P50, "$/"
     $P51 = $P49."new"($P50 :named("node"))
     store_lex "$past", $P51
-.annotate "line", 67
+.annotate 'line', 67
     find_lex $P53, "$/"
     unless_null $P53, vivify_53
     $P53 = root_new ['parrot';'Hash']
@@ -4970,7 +4970,7 @@
     new $P56, "Undef"
   vivify_56:
     if $P56, if_52
-.annotate "line", 68
+.annotate 'line', 68
     find_lex $P64, "$/"
     unless_null $P64, vivify_57
     $P64 = root_new ['parrot';'Hash']
@@ -5010,7 +5010,7 @@
   if_63_end:
     goto if_52_end
   if_52:
-.annotate "line", 67
+.annotate 'line', 67
     find_lex $P57, "$past"
     find_lex $P58, "$/"
     unless_null $P58, vivify_65
@@ -5031,21 +5031,21 @@
     set $S62, $P61
     $P57."pasttype"($S62)
   if_52_end:
-.annotate "line", 69
+.annotate 'line', 69
     find_lex $P75, "$past"
     $P76 = $P75."name"()
     if $P76, unless_74_end
-    .const 'Sub' $P78 = "15_1272816831.39278" 
+    .const 'Sub' $P78 = "15_1273866365.68387" 
     capture_lex $P78
     $P78()
   unless_74_end:
   unless_47_end:
-.annotate "line", 80
+.annotate 'line', 80
     find_lex $P98, "$key"
     set $S99, $P98
     iseq $I100, $S99, "POSTFIX"
     if $I100, if_97
-.annotate "line", 82
+.annotate 'line', 82
     find_lex $P106, "$/"
     $P107 = $P106."list"()
     defined $I108, $P107
@@ -5059,7 +5059,7 @@
     unless $P105, loop122_done
     shift $P109, $P105
   loop122_redo:
-    .const 'Sub' $P111 = "16_1272816831.39278" 
+    .const 'Sub' $P111 = "16_1273866365.68387" 
     capture_lex $P111
     $P111($P109)
   loop122_next:
@@ -5073,10 +5073,10 @@
   loop122_done:
     pop_eh 
   for_undef_72:
-.annotate "line", 81
+.annotate 'line', 81
     goto if_97_end
   if_97:
-.annotate "line", 80
+.annotate 'line', 80
     find_lex $P101, "$past"
     find_lex $P102, "$/"
     unless_null $P102, vivify_73
@@ -5089,11 +5089,11 @@
     $P104 = $P103."ast"()
     $P101."unshift"($P104)
   if_97_end:
-.annotate "line", 84
+.annotate 'line', 84
     find_lex $P125, "$/"
     find_lex $P126, "$past"
     $P127 = $P125."!make"($P126)
-.annotate "line", 62
+.annotate 'line', 62
     .return ($P127)
   control_29:
     .local pmc exception 
@@ -5104,11 +5104,11 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block77"  :anon :subid("15_1272816831.39278") :outer("14_1272816831.39278")
-.annotate "line", 71
+.sub "_block77"  :anon :subid("15_1273866365.68387") :outer("14_1273866365.68387")
+.annotate 'line', 71
     new $P79, "Undef"
     .lex "$name", $P79
-.annotate "line", 70
+.annotate 'line', 70
     find_lex $P81, "$key"
     set $S82, $P81
     iseq $I83, $S82, "LIST"
@@ -5117,7 +5117,7 @@
     assign $P84, "infix"
     store_lex "$key", $P84
   if_80_end:
-.annotate "line", 71
+.annotate 'line', 71
 
                 $P0 = find_lex '$key'
                 $S0 = $P0
@@ -5125,7 +5125,7 @@
                 $P85 = box $S0
             
     concat $P86, $P85, ":<"
-.annotate "line", 76
+.annotate 'line', 76
     find_lex $P87, "$/"
     unless_null $P87, vivify_69
     $P87 = root_new ['parrot';'Hash']
@@ -5141,22 +5141,22 @@
     concat $P90, $P86, $P89
     concat $P91, $P90, ">"
     store_lex "$name", $P91
-.annotate "line", 77
+.annotate 'line', 77
     find_lex $P92, "$past"
     new $P93, "String"
     assign $P93, "&"
     find_lex $P94, "$name"
     concat $P95, $P93, $P94
     $P96 = $P92."name"($P95)
-.annotate "line", 69
+.annotate 'line', 69
     .return ($P96)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block110"  :anon :subid("16_1272816831.39278") :outer("14_1272816831.39278")
+.sub "_block110"  :anon :subid("16_1273866365.68387") :outer("14_1273866365.68387")
     .param pmc param_112
-.annotate "line", 82
+.annotate 'line', 82
     .lex "$_", param_112
     find_lex $P115, "$_"
     $P116 = $P115."ast"()
@@ -5177,9 +5177,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("17_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "term:sym<circumfix>"  :subid("17_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_132
-.annotate "line", 87
+.annotate 'line', 87
     new $P131, 'ExceptionHandler'
     set_addr $P131, control_130
     $P131."handle_types"(57)
@@ -5207,9 +5207,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("18_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "termish"  :subid("18_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_142
-.annotate "line", 89
+.annotate 'line', 89
     new $P141, 'ExceptionHandler'
     set_addr $P141, control_140
     $P141."handle_types"(57)
@@ -5237,9 +5237,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("19_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "nullterm"  :subid("19_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_152
-.annotate "line", 90
+.annotate 'line', 90
     new $P151, 'ExceptionHandler'
     set_addr $P151, control_150
     $P151."handle_types"(57)
@@ -5259,9 +5259,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("20_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "nullterm_alt"  :subid("20_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_160
-.annotate "line", 91
+.annotate 'line', 91
     new $P159, 'ExceptionHandler'
     set_addr $P159, control_158
     $P159."handle_types"(57)
@@ -5289,9 +5289,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("21_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "integer"  :subid("21_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_170
-.annotate "line", 93
+.annotate 'line', 93
     new $P169, 'ExceptionHandler'
     set_addr $P169, control_168
     $P169."handle_types"(57)
@@ -5319,9 +5319,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("22_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "dec_number"  :subid("22_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_180
-.annotate "line", 95
+.annotate 'line', 95
     new $P179, 'ExceptionHandler'
     set_addr $P179, control_178
     $P179."handle_types"(57)
@@ -5342,9 +5342,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "decint"  :subid("23_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "decint"  :subid("23_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_189
-.annotate "line", 97
+.annotate 'line', 97
     new $P188, 'ExceptionHandler'
     set_addr $P188, control_187
     $P188."handle_types"(57)
@@ -5365,9 +5365,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("24_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "hexint"  :subid("24_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_198
-.annotate "line", 98
+.annotate 'line', 98
     new $P197, 'ExceptionHandler'
     set_addr $P197, control_196
     $P197."handle_types"(57)
@@ -5388,9 +5388,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "octint"  :subid("25_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "octint"  :subid("25_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_207
-.annotate "line", 99
+.annotate 'line', 99
     new $P206, 'ExceptionHandler'
     set_addr $P206, control_205
     $P206."handle_types"(57)
@@ -5411,9 +5411,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("26_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "binint"  :subid("26_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_216
-.annotate "line", 100
+.annotate 'line', 100
     new $P215, 'ExceptionHandler'
     set_addr $P215, control_214
     $P215."handle_types"(57)
@@ -5434,10 +5434,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("27_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_EXPR"  :subid("27_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_225
-.annotate "line", 102
-    .const 'Sub' $P241 = "28_1272816831.39278" 
+.annotate 'line', 102
+    .const 'Sub' $P241 = "28_1273866365.68387" 
     capture_lex $P241
     new $P224, 'ExceptionHandler'
     set_addr $P224, control_223
@@ -5445,7 +5445,7 @@
     push_eh $P224
     .lex "self", self
     .lex "$/", param_225
-.annotate "line", 103
+.annotate 'line', 103
     new $P226, "Undef"
     .lex "$past", $P226
     find_lex $P227, "$/"
@@ -5458,46 +5458,46 @@
   vivify_84:
     $P229 = $P228."ast"()
     store_lex "$past", $P229
-.annotate "line", 104
+.annotate 'line', 104
     find_lex $P231, "$/"
     $P232 = $P231."CURSOR"()
     $P233 = $P232."quotemod_check"("w")
     unless $P233, if_230_end
-.annotate "line", 105
+.annotate 'line', 105
     get_hll_global $P235, ["PAST"], "Node"
     find_lex $P236, "$past"
     $P237 = $P235."ACCEPTS"($P236)
     if $P237, if_234
-.annotate "line", 108
-    .const 'Sub' $P241 = "28_1272816831.39278" 
+.annotate 'line', 108
+    .const 'Sub' $P241 = "28_1273866365.68387" 
     capture_lex $P241
     $P241()
     goto if_234_end
   if_234:
-.annotate "line", 106
+.annotate 'line', 106
     find_lex $P238, "$/"
     $P239 = $P238."CURSOR"()
     $P239."panic"("Can't form :w list from non-constant strings (yet)")
   if_234_end:
   if_230_end:
-.annotate "line", 119
+.annotate 'line', 119
     get_hll_global $P273, ["PAST"], "Node"
     find_lex $P274, "$past"
     $P275 = $P273."ACCEPTS"($P274)
     isfalse $I276, $P275
     unless $I276, if_272_end
-.annotate "line", 120
+.annotate 'line', 120
     get_hll_global $P277, ["PAST"], "Val"
     find_lex $P278, "$past"
     set $S279, $P278
     $P280 = $P277."new"($S279 :named("value"))
     store_lex "$past", $P280
   if_272_end:
-.annotate "line", 122
+.annotate 'line', 122
     find_lex $P281, "$/"
     find_lex $P282, "$past"
     $P283 = $P281."!make"($P282)
-.annotate "line", 102
+.annotate 'line', 102
     .return ($P283)
   control_223:
     .local pmc exception 
@@ -5508,11 +5508,11 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block240"  :anon :subid("28_1272816831.39278") :outer("27_1272816831.39278")
-.annotate "line", 108
-    .const 'Sub' $P260 = "29_1272816831.39278" 
+.sub "_block240"  :anon :subid("28_1273866365.68387") :outer("27_1273866365.68387")
+.annotate 'line', 108
+    .const 'Sub' $P260 = "29_1273866365.68387" 
     capture_lex $P260
-.annotate "line", 109
+.annotate 'line', 109
     $P242 = root_new ['parrot';'ResizablePMCArray']
     .lex "@words", $P242
     get_hll_global $P243, ["HLL";"Grammar"], "split_words"
@@ -5520,12 +5520,12 @@
     find_lex $P245, "$past"
     $P246 = $P243($P244, $P245)
     store_lex "@words", $P246
-.annotate "line", 110
+.annotate 'line', 110
     find_lex $P249, "@words"
     set $N250, $P249
     isgt $I251, $N250, 1.0
     if $I251, if_248
-.annotate "line", 115
+.annotate 'line', 115
     find_lex $P268, "@words"
     unless_null $P268, vivify_85
     $P268 = root_new ['parrot';'ResizablePMCArray']
@@ -5538,17 +5538,17 @@
     new $P271, 'String'
     set $P271, $S270
     store_lex "$past", $P271
-.annotate "line", 114
+.annotate 'line', 114
     set $P247, $P271
-.annotate "line", 110
+.annotate 'line', 110
     goto if_248_end
   if_248:
-.annotate "line", 111
+.annotate 'line', 111
     get_hll_global $P252, ["PAST"], "Op"
     find_lex $P253, "$/"
     $P254 = $P252."new"("list" :named("pasttype"), $P253 :named("node"))
     store_lex "$past", $P254
-.annotate "line", 112
+.annotate 'line', 112
     find_lex $P256, "@words"
     defined $I257, $P256
     unless $I257, for_undef_87
@@ -5561,7 +5561,7 @@
     unless $P255, loop265_done
     shift $P258, $P255
   loop265_redo:
-    .const 'Sub' $P260 = "29_1272816831.39278" 
+    .const 'Sub' $P260 = "29_1273866365.68387" 
     capture_lex $P260
     $P260($P258)
   loop265_next:
@@ -5575,18 +5575,18 @@
   loop265_done:
     pop_eh 
   for_undef_87:
-.annotate "line", 110
+.annotate 'line', 110
     set $P247, $P255
   if_248_end:
-.annotate "line", 108
+.annotate 'line', 108
     .return ($P247)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block259"  :anon :subid("29_1272816831.39278") :outer("28_1272816831.39278")
+.sub "_block259"  :anon :subid("29_1273866365.68387") :outer("28_1273866365.68387")
     .param pmc param_261
-.annotate "line", 112
+.annotate 'line', 112
     .lex "$_", param_261
     find_lex $P262, "$past"
     find_lex $P263, "$_"
@@ -5596,10 +5596,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("30_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_delimited"  :subid("30_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_288
-.annotate "line", 125
-    .const 'Sub' $P300 = "31_1272816831.39278" 
+.annotate 'line', 125
+    .const 'Sub' $P300 = "31_1273866365.68387" 
     capture_lex $P300
     new $P287, 'ExceptionHandler'
     set_addr $P287, control_286
@@ -5607,22 +5607,22 @@
     push_eh $P287
     .lex "self", self
     .lex "$/", param_288
-.annotate "line", 126
+.annotate 'line', 126
     $P289 = root_new ['parrot';'ResizablePMCArray']
     .lex "@parts", $P289
-.annotate "line", 127
+.annotate 'line', 127
     new $P290, "Undef"
     .lex "$lastlit", $P290
-.annotate "line", 143
+.annotate 'line', 143
     new $P291, "Undef"
     .lex "$past", $P291
-.annotate "line", 125
+.annotate 'line', 125
     find_lex $P292, "@parts"
-.annotate "line", 127
+.annotate 'line', 127
     new $P293, "String"
     assign $P293, ""
     store_lex "$lastlit", $P293
-.annotate "line", 128
+.annotate 'line', 128
     find_lex $P295, "$/"
     unless_null $P295, vivify_88
     $P295 = root_new ['parrot';'Hash']
@@ -5642,7 +5642,7 @@
     unless $P294, loop332_done
     shift $P298, $P294
   loop332_redo:
-    .const 'Sub' $P300 = "31_1272816831.39278" 
+    .const 'Sub' $P300 = "31_1273866365.68387" 
     capture_lex $P300
     $P300($P298)
   loop332_next:
@@ -5656,7 +5656,7 @@
   loop332_done:
     pop_eh 
   for_undef_90:
-.annotate "line", 142
+.annotate 'line', 142
     find_lex $P336, "$lastlit"
     set $S337, $P336
     isgt $I338, $S337, ""
@@ -5665,7 +5665,7 @@
     find_lex $P340, "$lastlit"
     $P339."push"($P340)
   if_335_end:
-.annotate "line", 143
+.annotate 'line', 143
     find_lex $P343, "@parts"
     if $P343, if_342
     new $P346, "String"
@@ -5678,7 +5678,7 @@
     set $P341, $P345
   if_342_end:
     store_lex "$past", $P341
-.annotate "line", 144
+.annotate 'line', 144
     new $P354, 'ExceptionHandler'
     set_addr $P354, loop353_handler
     $P354."handle_types"(64, 66, 65)
@@ -5687,7 +5687,7 @@
     find_lex $P347, "@parts"
     unless $P347, loop353_done
   loop353_redo:
-.annotate "line", 145
+.annotate 'line', 145
     get_hll_global $P348, ["PAST"], "Op"
     find_lex $P349, "$past"
     find_lex $P350, "@parts"
@@ -5695,7 +5695,7 @@
     $P352 = $P348."new"($P349, $P351, "concat" :named("pirop"))
     store_lex "$past", $P352
   loop353_next:
-.annotate "line", 144
+.annotate 'line', 144
     goto loop353_test
   loop353_handler:
     .local pmc exception 
@@ -5705,11 +5705,11 @@
     eq $P355, 66, loop353_redo
   loop353_done:
     pop_eh 
-.annotate "line", 147
+.annotate 'line', 147
     find_lex $P356, "$/"
     find_lex $P357, "$past"
     $P358 = $P356."!make"($P357)
-.annotate "line", 125
+.annotate 'line', 125
     .return ($P358)
   control_286:
     .local pmc exception 
@@ -5720,27 +5720,27 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block299"  :anon :subid("31_1272816831.39278") :outer("30_1272816831.39278")
+.sub "_block299"  :anon :subid("31_1273866365.68387") :outer("30_1273866365.68387")
     .param pmc param_302
-.annotate "line", 129
+.annotate 'line', 129
     new $P301, "Undef"
     .lex "$ast", $P301
     .lex "$_", param_302
     find_lex $P303, "$_"
     $P304 = $P303."ast"()
     store_lex "$ast", $P304
-.annotate "line", 130
+.annotate 'line', 130
     get_hll_global $P307, ["PAST"], "Node"
     find_lex $P308, "$ast"
     $P309 = $P307."ACCEPTS"($P308)
     isfalse $I310, $P309
     if $I310, if_306
-.annotate "line", 133
+.annotate 'line', 133
     find_lex $P316, "$ast"
     get_hll_global $P317, ["PAST"], "Val"
     $P318 = $P316."isa"($P317)
     if $P318, if_315
-.annotate "line", 137
+.annotate 'line', 137
     find_lex $P324, "$lastlit"
     set $S325, $P324
     isgt $I326, $S325, ""
@@ -5749,56 +5749,56 @@
     find_lex $P328, "$lastlit"
     $P327."push"($P328)
   if_323_end:
-.annotate "line", 138
+.annotate 'line', 138
     find_lex $P329, "@parts"
     find_lex $P330, "$ast"
     $P329."push"($P330)
-.annotate "line", 139
+.annotate 'line', 139
     new $P331, "String"
     assign $P331, ""
     store_lex "$lastlit", $P331
-.annotate "line", 136
+.annotate 'line', 136
     set $P314, $P331
-.annotate "line", 133
+.annotate 'line', 133
     goto if_315_end
   if_315:
-.annotate "line", 134
+.annotate 'line', 134
     find_lex $P319, "$lastlit"
     find_lex $P320, "$ast"
     $S321 = $P320."value"()
     concat $P322, $P319, $S321
     store_lex "$lastlit", $P322
-.annotate "line", 133
+.annotate 'line', 133
     set $P314, $P322
   if_315_end:
     set $P305, $P314
-.annotate "line", 130
+.annotate 'line', 130
     goto if_306_end
   if_306:
-.annotate "line", 131
+.annotate 'line', 131
     find_lex $P311, "$lastlit"
     find_lex $P312, "$ast"
     concat $P313, $P311, $P312
     store_lex "$lastlit", $P313
-.annotate "line", 130
+.annotate 'line', 130
     set $P305, $P313
   if_306_end:
-.annotate "line", 128
+.annotate 'line', 128
     .return ($P305)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("32_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_atom"  :subid("32_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_363
-.annotate "line", 150
+.annotate 'line', 150
     new $P362, 'ExceptionHandler'
     set_addr $P362, control_361
     $P362."handle_types"(57)
     push_eh $P362
     .lex "self", self
     .lex "$/", param_363
-.annotate "line", 151
+.annotate 'line', 151
     find_lex $P364, "$/"
     find_lex $P367, "$/"
     unless_null $P367, vivify_91
@@ -5827,7 +5827,7 @@
     set $P365, $P371
   if_366_end:
     $P374 = $P364."!make"($P365)
-.annotate "line", 150
+.annotate 'line', 150
     .return ($P374)
   control_361:
     .local pmc exception 
@@ -5838,9 +5838,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("33_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<backslash>"  :subid("33_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_379
-.annotate "line", 154
+.annotate 'line', 154
     new $P378, 'ExceptionHandler'
     set_addr $P378, control_377
     $P378."handle_types"(57)
@@ -5859,9 +5859,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("34_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<stopper>"  :subid("34_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_386
-.annotate "line", 155
+.annotate 'line', 155
     new $P385, 'ExceptionHandler'
     set_addr $P385, control_384
     $P385."handle_types"(57)
@@ -5889,9 +5889,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("35_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<bs>"  :subid("35_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_396
-.annotate "line", 157
+.annotate 'line', 157
     new $P395, 'ExceptionHandler'
     set_addr $P395, control_394
     $P395."handle_types"(57)
@@ -5910,9 +5910,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("36_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<nl>"  :subid("36_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_403
-.annotate "line", 158
+.annotate 'line', 158
     new $P402, 'ExceptionHandler'
     set_addr $P402, control_401
     $P402."handle_types"(57)
@@ -5931,9 +5931,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("37_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<cr>"  :subid("37_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_410
-.annotate "line", 159
+.annotate 'line', 159
     new $P409, 'ExceptionHandler'
     set_addr $P409, control_408
     $P409."handle_types"(57)
@@ -5952,9 +5952,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("38_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<tab>"  :subid("38_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_417
-.annotate "line", 160
+.annotate 'line', 160
     new $P416, 'ExceptionHandler'
     set_addr $P416, control_415
     $P416."handle_types"(57)
@@ -5973,9 +5973,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>"  :subid("39_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<ff>"  :subid("39_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_424
-.annotate "line", 161
+.annotate 'line', 161
     new $P423, 'ExceptionHandler'
     set_addr $P423, control_422
     $P423."handle_types"(57)
@@ -5994,16 +5994,16 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("40_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<hex>"  :subid("40_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_431
-.annotate "line", 163
+.annotate 'line', 163
     new $P430, 'ExceptionHandler'
     set_addr $P430, control_429
     $P430."handle_types"(57)
     push_eh $P430
     .lex "self", self
     .lex "$/", param_431
-.annotate "line", 164
+.annotate 'line', 164
     find_lex $P432, "$/"
     find_lex $P435, "$/"
     unless_null $P435, vivify_97
@@ -6041,7 +6041,7 @@
   if_434_end:
     $P442 = "ints_to_string"($P433)
     $P443 = $P432."!make"($P442)
-.annotate "line", 163
+.annotate 'line', 163
     .return ($P443)
   control_429:
     .local pmc exception 
@@ -6052,16 +6052,16 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("41_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<oct>"  :subid("41_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_448
-.annotate "line", 167
+.annotate 'line', 167
     new $P447, 'ExceptionHandler'
     set_addr $P447, control_446
     $P447."handle_types"(57)
     push_eh $P447
     .lex "self", self
     .lex "$/", param_448
-.annotate "line", 168
+.annotate 'line', 168
     find_lex $P449, "$/"
     find_lex $P452, "$/"
     unless_null $P452, vivify_104
@@ -6099,7 +6099,7 @@
   if_451_end:
     $P459 = "ints_to_string"($P450)
     $P460 = $P449."!make"($P459)
-.annotate "line", 167
+.annotate 'line', 167
     .return ($P460)
   control_446:
     .local pmc exception 
@@ -6110,16 +6110,16 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>"  :subid("42_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<chr>"  :subid("42_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_465
-.annotate "line", 171
+.annotate 'line', 171
     new $P464, 'ExceptionHandler'
     set_addr $P464, control_463
     $P464."handle_types"(57)
     push_eh $P464
     .lex "self", self
     .lex "$/", param_465
-.annotate "line", 172
+.annotate 'line', 172
     find_lex $P466, "$/"
     find_lex $P467, "$/"
     unless_null $P467, vivify_111
@@ -6131,7 +6131,7 @@
   vivify_112:
     $P469 = $P468."ast"()
     $P470 = $P466."!make"($P469)
-.annotate "line", 171
+.annotate 'line', 171
     .return ($P470)
   control_463:
     .local pmc exception 
@@ -6142,19 +6142,19 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>"  :subid("43_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<0>"  :subid("43_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_475
-.annotate "line", 175
+.annotate 'line', 175
     new $P474, 'ExceptionHandler'
     set_addr $P474, control_473
     $P474."handle_types"(57)
     push_eh $P474
     .lex "self", self
     .lex "$/", param_475
-.annotate "line", 176
+.annotate 'line', 176
     find_lex $P476, "$/"
     $P477 = $P476."!make"(unicode:"\x{0}")
-.annotate "line", 175
+.annotate 'line', 175
     .return ($P477)
   control_473:
     .local pmc exception 
@@ -6165,16 +6165,16 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>"  :subid("44_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "quote_escape:sym<misc>"  :subid("44_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_482
-.annotate "line", 179
+.annotate 'line', 179
     new $P481, 'ExceptionHandler'
     set_addr $P481, control_480
     $P481."handle_types"(57)
     push_eh $P481
     .lex "self", self
     .lex "$/", param_482
-.annotate "line", 180
+.annotate 'line', 180
     find_lex $P483, "$/"
     find_lex $P486, "$/"
     unless_null $P486, vivify_113
@@ -6212,7 +6212,7 @@
     set $P484, $P492
   if_485_end:
     $P496 = $P483."!make"($P484)
-.annotate "line", 179
+.annotate 'line', 179
     .return ($P496)
   control_480:
     .local pmc exception 
@@ -6223,19 +6223,19 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charname"  :subid("45_1272816831.39278") :method :outer("11_1272816831.39278")
+.sub "charname"  :subid("45_1273866365.68387") :method :outer("11_1273866365.68387")
     .param pmc param_501
-.annotate "line", 183
+.annotate 'line', 183
     new $P500, 'ExceptionHandler'
     set_addr $P500, control_499
     $P500."handle_types"(57)
     push_eh $P500
     .lex "self", self
     .lex "$/", param_501
-.annotate "line", 184
+.annotate 'line', 184
     new $P502, "Undef"
     .lex "$codepoint", $P502
-.annotate "line", 185
+.annotate 'line', 185
     find_lex $P505, "$/"
     unless_null $P505, vivify_119
     $P505 = root_new ['parrot';'Hash']
@@ -6245,13 +6245,13 @@
     new $P506, "Undef"
   vivify_120:
     if $P506, if_504
-.annotate "line", 186
- $P510 = new ['CodeString'] 
-    find_lex $P511, "$/"
-    set $S512, $P511
-    $P513 = $P510."charname_to_ord"($S512)
-    set $P503, $P513
-.annotate "line", 185
+.annotate 'line', 186
+    find_lex $P510, "$/"
+    set $S511, $P510
+    find_codepoint $I512, $S511
+    new $P503, 'Integer'
+    set $P503, $I512
+.annotate 'line', 185
     goto if_504_end
   if_504:
     find_lex $P507, "$/"
@@ -6266,251 +6266,251 @@
     set $P503, $P509
   if_504_end:
     store_lex "$codepoint", $P503
-.annotate "line", 187
-    find_lex $P515, "$codepoint"
-    set $N516, $P515
-    islt $I517, $N516, 0.0
-    unless $I517, if_514_end
-    find_lex $P518, "$/"
-    $P519 = $P518."CURSOR"()
-    new $P520, 'String'
-    set $P520, "Unrecognized character name "
-    find_lex $P521, "$/"
-    concat $P522, $P520, $P521
-    $P519."panic"($P522)
-  if_514_end:
-.annotate "line", 188
-    find_lex $P523, "$/"
-    find_lex $P524, "$codepoint"
-    set $I525, $P524
-    chr $S526, $I525
-    $P527 = $P523."!make"($S526)
-.annotate "line", 183
-    .return ($P527)
+.annotate 'line', 187
+    find_lex $P514, "$codepoint"
+    set $N515, $P514
+    islt $I516, $N515, 0.0
+    unless $I516, if_513_end
+    find_lex $P517, "$/"
+    $P518 = $P517."CURSOR"()
+    new $P519, 'String'
+    set $P519, "Unrecognized character name "
+    find_lex $P520, "$/"
+    concat $P521, $P519, $P520
+    $P518."panic"($P521)
+  if_513_end:
+.annotate 'line', 188
+    find_lex $P522, "$/"
+    find_lex $P523, "$codepoint"
+    set $I524, $P523
+    chr $S525, $I524
+    $P526 = $P522."!make"($S525)
+.annotate 'line', 183
+    .return ($P526)
   control_499:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P528, exception, "payload"
-    .return ($P528)
+    getattribute $P527, exception, "payload"
+    .return ($P527)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "charnames"  :subid("46_1272816831.39278") :method :outer("11_1272816831.39278")
-    .param pmc param_532
-.annotate "line", 191
-    .const 'Sub' $P541 = "47_1272816831.39278" 
-    capture_lex $P541
-    new $P531, 'ExceptionHandler'
-    set_addr $P531, control_530
-    $P531."handle_types"(57)
-    push_eh $P531
+.sub "charnames"  :subid("46_1273866365.68387") :method :outer("11_1273866365.68387")
+    .param pmc param_531
+.annotate 'line', 191
+    .const 'Sub' $P540 = "47_1273866365.68387" 
+    capture_lex $P540
+    new $P530, 'ExceptionHandler'
+    set_addr $P530, control_529
+    $P530."handle_types"(57)
+    push_eh $P530
     .lex "self", self
-    .lex "$/", param_532
-.annotate "line", 192
-    new $P533, "Undef"
-    .lex "$str", $P533
-    new $P534, "String"
-    assign $P534, ""
-    store_lex "$str", $P534
-.annotate "line", 193
-    find_lex $P536, "$/"
-    unless_null $P536, vivify_123
-    $P536 = root_new ['parrot';'Hash']
+    .lex "$/", param_531
+.annotate 'line', 192
+    new $P532, "Undef"
+    .lex "$str", $P532
+    new $P533, "String"
+    assign $P533, ""
+    store_lex "$str", $P533
+.annotate 'line', 193
+    find_lex $P535, "$/"
+    unless_null $P535, vivify_123
+    $P535 = root_new ['parrot';'Hash']
   vivify_123:
-    set $P537, $P536["charname"]
-    unless_null $P537, vivify_124
-    new $P537, "Undef"
+    set $P536, $P535["charname"]
+    unless_null $P536, vivify_124
+    new $P536, "Undef"
   vivify_124:
-    defined $I538, $P537
-    unless $I538, for_undef_125
-    iter $P535, $P537
-    new $P548, 'ExceptionHandler'
-    set_addr $P548, loop547_handler
-    $P548."handle_types"(64, 66, 65)
-    push_eh $P548
-  loop547_test:
-    unless $P535, loop547_done
-    shift $P539, $P535
-  loop547_redo:
-    .const 'Sub' $P541 = "47_1272816831.39278" 
-    capture_lex $P541
-    $P541($P539)
-  loop547_next:
-    goto loop547_test
-  loop547_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P549, exception, 'type'
-    eq $P549, 64, loop547_next
-    eq $P549, 66, loop547_redo
-  loop547_done:
+    defined $I537, $P536
+    unless $I537, for_undef_125
+    iter $P534, $P536
+    new $P547, 'ExceptionHandler'
+    set_addr $P547, loop546_handler
+    $P547."handle_types"(64, 66, 65)
+    push_eh $P547
+  loop546_test:
+    unless $P534, loop546_done
+    shift $P538, $P534
+  loop546_redo:
+    .const 'Sub' $P540 = "47_1273866365.68387" 
+    capture_lex $P540
+    $P540($P538)
+  loop546_next:
+    goto loop546_test
+  loop546_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P548, exception, 'type'
+    eq $P548, 64, loop546_next
+    eq $P548, 66, loop546_redo
+  loop546_done:
     pop_eh 
   for_undef_125:
-.annotate "line", 194
-    find_lex $P550, "$/"
-    find_lex $P551, "$str"
-    $P552 = $P550."!make"($P551)
-.annotate "line", 191
-    .return ($P552)
-  control_530:
+.annotate 'line', 194
+    find_lex $P549, "$/"
+    find_lex $P550, "$str"
+    $P551 = $P549."!make"($P550)
+.annotate 'line', 191
+    .return ($P551)
+  control_529:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P553, exception, "payload"
-    .return ($P553)
+    getattribute $P552, exception, "payload"
+    .return ($P552)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block540"  :anon :subid("47_1272816831.39278") :outer("46_1272816831.39278")
-    .param pmc param_542
-.annotate "line", 193
-    .lex "$_", param_542
-    find_lex $P543, "$str"
-    find_lex $P544, "$_"
-    $S545 = $P544."ast"()
-    concat $P546, $P543, $S545
-    store_lex "$str", $P546
-    .return ($P546)
+.sub "_block539"  :anon :subid("47_1273866365.68387") :outer("46_1273866365.68387")
+    .param pmc param_541
+.annotate 'line', 193
+    .lex "$_", param_541
+    find_lex $P542, "$str"
+    find_lex $P543, "$_"
+    $S544 = $P543."ast"()
+    concat $P545, $P542, $S544
+    store_lex "$str", $P545
+    .return ($P545)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "charspec"  :subid("48_1272816831.39278") :method :outer("11_1272816831.39278")
-    .param pmc param_557
-.annotate "line", 197
-    new $P556, 'ExceptionHandler'
-    set_addr $P556, control_555
-    $P556."handle_types"(57)
-    push_eh $P556
+.sub "charspec"  :subid("48_1273866365.68387") :method :outer("11_1273866365.68387")
+    .param pmc param_556
+.annotate 'line', 197
+    new $P555, 'ExceptionHandler'
+    set_addr $P555, control_554
+    $P555."handle_types"(57)
+    push_eh $P555
     .lex "self", self
-    .lex "$/", param_557
-.annotate "line", 198
-    find_lex $P558, "$/"
-    find_lex $P561, "$/"
-    unless_null $P561, vivify_126
-    $P561 = root_new ['parrot';'Hash']
+    .lex "$/", param_556
+.annotate 'line', 198
+    find_lex $P557, "$/"
+    find_lex $P560, "$/"
+    unless_null $P560, vivify_126
+    $P560 = root_new ['parrot';'Hash']
   vivify_126:
-    set $P562, $P561["charnames"]
-    unless_null $P562, vivify_127
-    new $P562, "Undef"
+    set $P561, $P560["charnames"]
+    unless_null $P561, vivify_127
+    new $P561, "Undef"
   vivify_127:
-    if $P562, if_560
-    find_lex $P566, "$/"
-    $I567 = "string_to_int"($P566, 10)
-    chr $S568, $I567
-    new $P559, 'String'
-    set $P559, $S568
-    goto if_560_end
-  if_560:
-    find_lex $P563, "$/"
-    unless_null $P563, vivify_128
-    $P563 = root_new ['parrot';'Hash']
+    if $P561, if_559
+    find_lex $P565, "$/"
+    $I566 = "string_to_int"($P565, 10)
+    chr $S567, $I566
+    new $P558, 'String'
+    set $P558, $S567
+    goto if_559_end
+  if_559:
+    find_lex $P562, "$/"
+    unless_null $P562, vivify_128
+    $P562 = root_new ['parrot';'Hash']
   vivify_128:
-    set $P564, $P563["charnames"]
-    unless_null $P564, vivify_129
-    new $P564, "Undef"
+    set $P563, $P562["charnames"]
+    unless_null $P563, vivify_129
+    new $P563, "Undef"
   vivify_129:
-    $P565 = $P564."ast"()
-    set $P559, $P565
-  if_560_end:
-    $P569 = $P558."!make"($P559)
-.annotate "line", 197
-    .return ($P569)
-  control_555:
+    $P564 = $P563."ast"()
+    set $P558, $P564
+  if_559_end:
+    $P568 = $P557."!make"($P558)
+.annotate 'line', 197
+    .return ($P568)
+  control_554:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P570, exception, "payload"
-    .return ($P570)
+    getattribute $P569, exception, "payload"
+    .return ($P569)
 .end
 
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816832.1082")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866366.60326")
+.annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
-.annotate "line", 6
+.annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
-    $P283 = $P14()
-.annotate "line", 1
-    .return ($P283)
+    $P285 = $P14()
+.annotate 'line', 1
+    .return ($P285)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post25") :outer("10_1272816832.1082")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816832.1082" 
+.sub "" :load :init :subid("post25") :outer("10_1273866366.60326")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866366.60326" 
     .local pmc block
     set block, $P12
-.annotate "line", 2
+.annotate 'line', 2
     load_bytecode "PCT/HLLCompiler.pbc"
-.annotate "line", 1
-    $P284 = get_root_global ["parrot"], "P6metaclass"
-    new $P285, "ResizablePMCArray"
-    push $P285, "$!language"
-    $P284."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P285 :named("attr"))
+.annotate 'line', 1
+    $P286 = get_root_global ["parrot"], "P6metaclass"
+    new $P287, "ResizablePMCArray"
+    push $P287, "$!language"
+    $P286."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P287 :named("attr"))
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1272816832.1082") :outer("10_1272816832.1082")
-.annotate "line", 6
-    .const 'Sub' $P187 = "20_1272816832.1082" 
-    capture_lex $P187
-    .const 'Sub' $P152 = "18_1272816832.1082" 
-    capture_lex $P152
-    .const 'Sub' $P137 = "17_1272816832.1082" 
-    capture_lex $P137
-    .const 'Sub' $P121 = "16_1272816832.1082" 
-    capture_lex $P121
-    .const 'Sub' $P32 = "13_1272816832.1082" 
-    capture_lex $P32
-    .const 'Sub' $P15 = "12_1272816832.1082" 
-    capture_lex $P15
-.annotate "line", 14
-    .const 'Sub' $P15 = "12_1272816832.1082" 
+.sub "_block13"  :subid("11_1273866366.60326") :outer("10_1273866366.60326")
+.annotate 'line', 6
+    .const 'Sub' $P188 = "20_1273866366.60326" 
+    capture_lex $P188
+    .const 'Sub' $P153 = "18_1273866366.60326" 
+    capture_lex $P153
+    .const 'Sub' $P138 = "17_1273866366.60326" 
+    capture_lex $P138
+    .const 'Sub' $P122 = "16_1273866366.60326" 
+    capture_lex $P122
+    .const 'Sub' $P33 = "13_1273866366.60326" 
+    capture_lex $P33
+    .const 'Sub' $P15 = "12_1273866366.60326" 
     capture_lex $P15
-    .lex "value_type", $P15
-.annotate "line", 10
-    find_lex $P31, "value_type"
-.annotate "line", 69
-    .const 'Sub' $P187 = "20_1272816832.1082" 
-    capture_lex $P187
-.annotate "line", 6
-    .return ($P187)
+.annotate 'line', 14
+    .const 'Sub' $P15 = "12_1273866366.60326" 
+    newclosure $P31, $P15
+    .lex "value_type", $P31
+.annotate 'line', 10
+    find_lex $P32, "value_type"
+.annotate 'line', 69
+    .const 'Sub' $P188 = "20_1273866366.60326" 
+    newclosure $P283, $P188
+.annotate 'line', 6
+    .return ($P283)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post26") :outer("11_1272816832.1082")
-.annotate "line", 6
+.sub "" :load :init :subid("post26") :outer("11_1273866366.60326")
+.annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 11
-    get_hll_global $P282, ["HLL"], "Compiler"
-    $P282."language"("parrot")
+.annotate 'line', 11
+    get_hll_global $P284, ["HLL"], "Compiler"
+    $P284."language"("parrot")
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "value_type"  :subid("12_1272816832.1082") :outer("11_1272816832.1082")
+.sub "value_type"  :subid("12_1273866366.60326") :outer("11_1273866366.60326")
     .param pmc param_18
-.annotate "line", 14
+.annotate 'line', 14
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
     $P17."handle_types"(57)
     push_eh $P17
     .lex "$value", param_18
-.annotate "line", 15
+.annotate 'line', 15
     find_lex $P21, "$value"
     isa $I22, $P21, "NameSpace"
     if $I22, if_20
-.annotate "line", 17
+.annotate 'line', 17
     find_lex $P26, "$value"
     isa $I27, $P26, "Sub"
     if $I27, if_25
@@ -6524,14 +6524,14 @@
     set $P24, $P28
   if_25_end:
     set $P19, $P24
-.annotate "line", 15
+.annotate 'line', 15
     goto if_20_end
   if_20:
     new $P23, "String"
     assign $P23, "namespace"
     set $P19, $P23
   if_20_end:
-.annotate "line", 14
+.annotate 'line', 14
     .return ($P19)
   control_16:
     .local pmc exception 
@@ -6542,677 +6542,677 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_exports"  :subid("13_1272816832.1082") :method :outer("11_1272816832.1082")
-    .param pmc param_35
-    .param pmc param_38 :slurpy
-    .param pmc param_36 :optional :named("tagset")
-    .param int has_param_36 :opt_flag
-.annotate "line", 20
-    .const 'Sub' $P104 = "15_1272816832.1082" 
-    capture_lex $P104
-    .const 'Sub' $P83 = "14_1272816832.1082" 
-    capture_lex $P83
-    new $P34, 'ExceptionHandler'
-    set_addr $P34, control_33
-    $P34."handle_types"(57)
-    push_eh $P34
+.sub "get_exports"  :subid("13_1273866366.60326") :method :outer("11_1273866366.60326")
+    .param pmc param_36
+    .param pmc param_39 :slurpy
+    .param pmc param_37 :optional :named("tagset")
+    .param int has_param_37 :opt_flag
+.annotate 'line', 20
+    .const 'Sub' $P105 = "15_1273866366.60326" 
+    capture_lex $P105
+    .const 'Sub' $P84 = "14_1273866366.60326" 
+    capture_lex $P84
+    new $P35, 'ExceptionHandler'
+    set_addr $P35, control_34
+    $P35."handle_types"(57)
+    push_eh $P35
     .lex "self", self
-    .lex "$module", param_35
-    if has_param_36, optparam_27
-    new $P37, "Undef"
-    set param_36, $P37
+    .lex "$module", param_36
+    if has_param_37, optparam_27
+    new $P38, "Undef"
+    set param_37, $P38
   optparam_27:
-    .lex "$tagset", param_36
-    .lex "@symbols", param_38
-.annotate "line", 27
-    $P39 = root_new ['parrot';'Hash']
-    .lex "%exports", $P39
-.annotate "line", 28
+    .lex "$tagset", param_37
+    .lex "@symbols", param_39
+.annotate 'line', 27
     $P40 = root_new ['parrot';'Hash']
-    .lex "%source", $P40
-.annotate "line", 22
-    find_lex $P42, "$module"
-    does $I43, $P42, "hash"
-    new $P44, 'Integer'
-    set $P44, $I43
-    isfalse $I45, $P44
-    unless $I45, if_41_end
-.annotate "line", 23
-    find_lex $P46, "self"
-    find_lex $P47, "$module"
-    $P48 = $P46."get_module"($P47)
-    store_lex "$module", $P48
-  if_41_end:
-.annotate "line", 26
-    find_lex $P50, "$tagset"
-    set $P49, $P50
-    defined $I52, $P49
-    if $I52, default_51
-    find_lex $P55, "@symbols"
-    if $P55, if_54
+    .lex "%exports", $P40
+.annotate 'line', 28
+    $P41 = root_new ['parrot';'Hash']
+    .lex "%source", $P41
+.annotate 'line', 22
+    find_lex $P43, "$module"
+    does $I44, $P43, "hash"
+    new $P45, 'Integer'
+    set $P45, $I44
+    isfalse $I46, $P45
+    unless $I46, if_42_end
+.annotate 'line', 23
+    find_lex $P47, "self"
+    find_lex $P48, "$module"
+    $P49 = $P47."get_module"($P48)
+    store_lex "$module", $P49
+  if_42_end:
+.annotate 'line', 26
+    find_lex $P51, "$tagset"
+    set $P50, $P51
+    defined $I53, $P50
+    if $I53, default_52
+    find_lex $P56, "@symbols"
+    if $P56, if_55
+    new $P58, "String"
+    assign $P58, "DEFAULT"
+    set $P54, $P58
+    goto if_55_end
+  if_55:
     new $P57, "String"
-    assign $P57, "DEFAULT"
-    set $P53, $P57
-    goto if_54_end
-  if_54:
-    new $P56, "String"
-    assign $P56, "ALL"
-    set $P53, $P56
-  if_54_end:
-    set $P49, $P53
-  default_51:
-    store_lex "$tagset", $P49
-    find_lex $P58, "%exports"
-.annotate "line", 28
-    find_lex $P59, "$tagset"
-    set $S60, $P59
-    find_lex $P61, "$module"
-    unless_null $P61, vivify_28
-    $P61 = root_new ['parrot';'Hash']
-  vivify_28:
-    set $P62, $P61["EXPORT"]
-    unless_null $P62, vivify_29
+    assign $P57, "ALL"
+    set $P54, $P57
+  if_55_end:
+    set $P50, $P54
+  default_52:
+    store_lex "$tagset", $P50
+    find_lex $P59, "%exports"
+.annotate 'line', 28
+    find_lex $P60, "$tagset"
+    set $S61, $P60
+    find_lex $P62, "$module"
+    unless_null $P62, vivify_28
     $P62 = root_new ['parrot';'Hash']
+  vivify_28:
+    set $P63, $P62["EXPORT"]
+    unless_null $P63, vivify_29
+    $P63 = root_new ['parrot';'Hash']
   vivify_29:
-    set $P63, $P62[$S60]
-    unless_null $P63, vivify_30
-    new $P63, "Undef"
+    set $P64, $P63[$S61]
+    unless_null $P64, vivify_30
+    new $P64, "Undef"
   vivify_30:
-    store_lex "%source", $P63
-.annotate "line", 29
-    find_lex $P65, "%source"
-    defined $I66, $P65
-    new $P67, 'Integer'
-    set $P67, $I66
-    isfalse $I68, $P67
-    unless $I68, if_64_end
-.annotate "line", 30
-    find_lex $P71, "$tagset"
-    set $S72, $P71
-    iseq $I73, $S72, "ALL"
-    if $I73, if_70
-    $P75 = root_new ['parrot';'Hash']
-    set $P69, $P75
-    goto if_70_end
-  if_70:
-    find_lex $P74, "$module"
-    set $P69, $P74
-  if_70_end:
-    store_lex "%source", $P69
-  if_64_end:
-.annotate "line", 32
-    find_lex $P77, "@symbols"
-    if $P77, if_76
-.annotate "line", 39
-    find_lex $P100, "%source"
-    defined $I101, $P100
-    unless $I101, for_undef_31
-    iter $P99, $P100
-    new $P117, 'ExceptionHandler'
-    set_addr $P117, loop116_handler
-    $P117."handle_types"(64, 66, 65)
-    push_eh $P117
-  loop116_test:
-    unless $P99, loop116_done
-    shift $P102, $P99
-  loop116_redo:
-    .const 'Sub' $P104 = "15_1272816832.1082" 
-    capture_lex $P104
-    $P104($P102)
-  loop116_next:
-    goto loop116_test
-  loop116_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P118, exception, 'type'
-    eq $P118, 64, loop116_next
-    eq $P118, 66, loop116_redo
-  loop116_done:
+    store_lex "%source", $P64
+.annotate 'line', 29
+    find_lex $P66, "%source"
+    defined $I67, $P66
+    new $P68, 'Integer'
+    set $P68, $I67
+    isfalse $I69, $P68
+    unless $I69, if_65_end
+.annotate 'line', 30
+    find_lex $P72, "$tagset"
+    set $S73, $P72
+    iseq $I74, $S73, "ALL"
+    if $I74, if_71
+    $P76 = root_new ['parrot';'Hash']
+    set $P70, $P76
+    goto if_71_end
+  if_71:
+    find_lex $P75, "$module"
+    set $P70, $P75
+  if_71_end:
+    store_lex "%source", $P70
+  if_65_end:
+.annotate 'line', 32
+    find_lex $P78, "@symbols"
+    if $P78, if_77
+.annotate 'line', 39
+    find_lex $P101, "%source"
+    defined $I102, $P101
+    unless $I102, for_undef_31
+    iter $P100, $P101
+    new $P118, 'ExceptionHandler'
+    set_addr $P118, loop117_handler
+    $P118."handle_types"(64, 66, 65)
+    push_eh $P118
+  loop117_test:
+    unless $P100, loop117_done
+    shift $P103, $P100
+  loop117_redo:
+    .const 'Sub' $P105 = "15_1273866366.60326" 
+    capture_lex $P105
+    $P105($P103)
+  loop117_next:
+    goto loop117_test
+  loop117_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P119, exception, 'type'
+    eq $P119, 64, loop117_next
+    eq $P119, 66, loop117_redo
+  loop117_done:
     pop_eh 
   for_undef_31:
-.annotate "line", 38
-    goto if_76_end
-  if_76:
-.annotate "line", 33
-    find_lex $P79, "@symbols"
-    defined $I80, $P79
-    unless $I80, for_undef_34
-    iter $P78, $P79
-    new $P97, 'ExceptionHandler'
-    set_addr $P97, loop96_handler
-    $P97."handle_types"(64, 66, 65)
-    push_eh $P97
-  loop96_test:
-    unless $P78, loop96_done
-    shift $P81, $P78
-  loop96_redo:
-    .const 'Sub' $P83 = "14_1272816832.1082" 
-    capture_lex $P83
-    $P83($P81)
-  loop96_next:
-    goto loop96_test
-  loop96_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P98, exception, 'type'
-    eq $P98, 64, loop96_next
-    eq $P98, 66, loop96_redo
-  loop96_done:
+.annotate 'line', 38
+    goto if_77_end
+  if_77:
+.annotate 'line', 33
+    find_lex $P80, "@symbols"
+    defined $I81, $P80
+    unless $I81, for_undef_34
+    iter $P79, $P80
+    new $P98, 'ExceptionHandler'
+    set_addr $P98, loop97_handler
+    $P98."handle_types"(64, 66, 65)
+    push_eh $P98
+  loop97_test:
+    unless $P79, loop97_done
+    shift $P82, $P79
+  loop97_redo:
+    .const 'Sub' $P84 = "14_1273866366.60326" 
+    capture_lex $P84
+    $P84($P82)
+  loop97_next:
+    goto loop97_test
+  loop97_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P99, exception, 'type'
+    eq $P99, 64, loop97_next
+    eq $P99, 66, loop97_redo
+  loop97_done:
     pop_eh 
   for_undef_34:
-  if_76_end:
-.annotate "line", 32
-    find_lex $P119, "%exports"
-.annotate "line", 20
-    .return ($P119)
-  control_33:
+  if_77_end:
+.annotate 'line', 32
+    find_lex $P120, "%exports"
+.annotate 'line', 20
+    .return ($P120)
+  control_34:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P120, exception, "payload"
-    .return ($P120)
+    getattribute $P121, exception, "payload"
+    .return ($P121)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block103"  :anon :subid("15_1272816832.1082") :outer("13_1272816832.1082")
-    .param pmc param_106
-.annotate "line", 40
-    new $P105, "Undef"
-    .lex "$value", $P105
-    .lex "$_", param_106
-    find_lex $P107, "$_"
-    $P108 = $P107."value"()
-    store_lex "$value", $P108
-.annotate "line", 41
-    find_lex $P109, "$value"
-    find_lex $P110, "$_"
-    $P111 = $P110."key"()
-    find_lex $P112, "$value"
-    $P113 = "value_type"($P112)
-    find_lex $P114, "%exports"
-    unless_null $P114, vivify_32
-    $P114 = root_new ['parrot';'Hash']
-    store_lex "%exports", $P114
-  vivify_32:
-    set $P115, $P114[$P113]
-    unless_null $P115, vivify_33
+.sub "_block104"  :anon :subid("15_1273866366.60326") :outer("13_1273866366.60326")
+    .param pmc param_107
+.annotate 'line', 40
+    new $P106, "Undef"
+    .lex "$value", $P106
+    .lex "$_", param_107
+    find_lex $P108, "$_"
+    $P109 = $P108."value"()
+    store_lex "$value", $P109
+.annotate 'line', 41
+    find_lex $P110, "$value"
+    find_lex $P111, "$_"
+    $P112 = $P111."key"()
+    find_lex $P113, "$value"
+    $P114 = "value_type"($P113)
+    find_lex $P115, "%exports"
+    unless_null $P115, vivify_32
     $P115 = root_new ['parrot';'Hash']
-    set $P114[$P113], $P115
+    store_lex "%exports", $P115
+  vivify_32:
+    set $P116, $P115[$P114]
+    unless_null $P116, vivify_33
+    $P116 = root_new ['parrot';'Hash']
+    set $P115[$P114], $P116
   vivify_33:
-    set $P115[$P111], $P109
-.annotate "line", 39
-    .return ($P109)
+    set $P116[$P112], $P110
+.annotate 'line', 39
+    .return ($P110)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block82"  :anon :subid("14_1272816832.1082") :outer("13_1272816832.1082")
-    .param pmc param_85
-.annotate "line", 34
-    new $P84, "Undef"
-    .lex "$value", $P84
-    .lex "$_", param_85
-    find_lex $P86, "$_"
-    set $S87, $P86
-    find_lex $P88, "%source"
-    unless_null $P88, vivify_35
-    $P88 = root_new ['parrot';'Hash']
+.sub "_block83"  :anon :subid("14_1273866366.60326") :outer("13_1273866366.60326")
+    .param pmc param_86
+.annotate 'line', 34
+    new $P85, "Undef"
+    .lex "$value", $P85
+    .lex "$_", param_86
+    find_lex $P87, "$_"
+    set $S88, $P87
+    find_lex $P89, "%source"
+    unless_null $P89, vivify_35
+    $P89 = root_new ['parrot';'Hash']
   vivify_35:
-    set $P89, $P88[$S87]
-    unless_null $P89, vivify_36
-    new $P89, "Undef"
+    set $P90, $P89[$S88]
+    unless_null $P90, vivify_36
+    new $P90, "Undef"
   vivify_36:
-    store_lex "$value", $P89
-.annotate "line", 35
-    find_lex $P90, "$value"
-    find_lex $P91, "$_"
-    find_lex $P92, "$value"
-    $P93 = "value_type"($P92)
-    find_lex $P94, "%exports"
-    unless_null $P94, vivify_37
-    $P94 = root_new ['parrot';'Hash']
-    store_lex "%exports", $P94
-  vivify_37:
-    set $P95, $P94[$P93]
-    unless_null $P95, vivify_38
+    store_lex "$value", $P90
+.annotate 'line', 35
+    find_lex $P91, "$value"
+    find_lex $P92, "$_"
+    find_lex $P93, "$value"
+    $P94 = "value_type"($P93)
+    find_lex $P95, "%exports"
+    unless_null $P95, vivify_37
     $P95 = root_new ['parrot';'Hash']
-    set $P94[$P93], $P95
+    store_lex "%exports", $P95
+  vivify_37:
+    set $P96, $P95[$P94]
+    unless_null $P96, vivify_38
+    $P96 = root_new ['parrot';'Hash']
+    set $P95[$P94], $P96
   vivify_38:
-    set $P95[$P91], $P90
-.annotate "line", 33
-    .return ($P90)
+    set $P96[$P92], $P91
+.annotate 'line', 33
+    .return ($P91)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_module"  :subid("16_1272816832.1082") :method :outer("11_1272816832.1082")
-    .param pmc param_124
-.annotate "line", 47
-    new $P123, 'ExceptionHandler'
-    set_addr $P123, control_122
-    $P123."handle_types"(57)
-    push_eh $P123
+.sub "get_module"  :subid("16_1273866366.60326") :method :outer("11_1273866366.60326")
+    .param pmc param_125
+.annotate 'line', 47
+    new $P124, 'ExceptionHandler'
+    set_addr $P124, control_123
+    $P124."handle_types"(57)
+    push_eh $P124
     .lex "self", self
-    .lex "$name", param_124
-.annotate "line", 48
-    $P125 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@name", $P125
-    find_lex $P126, "self"
-    find_lex $P127, "$name"
-    $P128 = $P126."parse_name"($P127)
-    store_lex "@name", $P128
-.annotate "line", 49
-    find_lex $P129, "@name"
-    find_lex $P130, "self"
-    getattribute $P131, $P130, "$!language"
-    unless_null $P131, vivify_39
-    new $P131, "Undef"
+    .lex "$name", param_125
+.annotate 'line', 48
+    $P126 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@name", $P126
+    find_lex $P127, "self"
+    find_lex $P128, "$name"
+    $P129 = $P127."parse_name"($P128)
+    store_lex "@name", $P129
+.annotate 'line', 49
+    find_lex $P130, "@name"
+    find_lex $P131, "self"
+    getattribute $P132, $P131, "$!language"
+    unless_null $P132, vivify_39
+    new $P132, "Undef"
   vivify_39:
-    set $S132, $P131
-    downcase $S133, $S132
-    $P129."unshift"($S133)
-.annotate "line", 50
-    find_lex $P134, "@name"
-    get_root_namespace $P135, $P134
-.annotate "line", 47
-    .return ($P135)
-  control_122:
+    set $S133, $P132
+    downcase $S134, $S133
+    $P130."unshift"($S134)
+.annotate 'line', 50
+    find_lex $P135, "@name"
+    get_root_namespace $P136, $P135
+.annotate 'line', 47
+    .return ($P136)
+  control_123:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P136, exception, "payload"
-    .return ($P136)
+    getattribute $P137, exception, "payload"
+    .return ($P137)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "language"  :subid("17_1272816832.1082") :method :outer("11_1272816832.1082")
-    .param pmc param_140 :optional
-    .param int has_param_140 :opt_flag
-.annotate "line", 53
-    new $P139, 'ExceptionHandler'
-    set_addr $P139, control_138
-    $P139."handle_types"(57)
-    push_eh $P139
+.sub "language"  :subid("17_1273866366.60326") :method :outer("11_1273866366.60326")
+    .param pmc param_141 :optional
+    .param int has_param_141 :opt_flag
+.annotate 'line', 53
+    new $P140, 'ExceptionHandler'
+    set_addr $P140, control_139
+    $P140."handle_types"(57)
+    push_eh $P140
     .lex "self", self
-    if has_param_140, optparam_40
-    new $P141, "Undef"
-    set param_140, $P141
+    if has_param_141, optparam_40
+    new $P142, "Undef"
+    set param_141, $P142
   optparam_40:
-    .lex "$name", param_140
-.annotate "line", 54
-    find_lex $P143, "$name"
-    unless $P143, if_142_end
-.annotate "line", 55
+    .lex "$name", param_141
+.annotate 'line', 54
     find_lex $P144, "$name"
-    find_lex $P145, "self"
-    setattribute $P145, "$!language", $P144
-.annotate "line", 56
-    find_lex $P146, "$name"
-    set $S147, $P146
-    find_lex $P148, "self"
-    compreg $S147, $P148
-  if_142_end:
-.annotate "line", 54
+    unless $P144, if_143_end
+.annotate 'line', 55
+    find_lex $P145, "$name"
+    find_lex $P146, "self"
+    setattribute $P146, "$!language", $P145
+.annotate 'line', 56
+    find_lex $P147, "$name"
+    set $S148, $P147
     find_lex $P149, "self"
-    getattribute $P150, $P149, "$!language"
-    unless_null $P150, vivify_41
-    new $P150, "Undef"
+    compreg $S148, $P149
+  if_143_end:
+.annotate 'line', 54
+    find_lex $P150, "self"
+    getattribute $P151, $P150, "$!language"
+    unless_null $P151, vivify_41
+    new $P151, "Undef"
   vivify_41:
-.annotate "line", 53
-    .return ($P150)
-  control_138:
+.annotate 'line', 53
+    .return ($P151)
+  control_139:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P151, exception, "payload"
-    .return ($P151)
+    getattribute $P152, exception, "payload"
+    .return ($P152)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "load_module"  :subid("18_1272816832.1082") :method :outer("11_1272816832.1082")
-    .param pmc param_155
-.annotate "line", 61
-    .const 'Sub' $P165 = "19_1272816832.1082" 
-    capture_lex $P165
-    new $P154, 'ExceptionHandler'
-    set_addr $P154, control_153
-    $P154."handle_types"(57)
-    push_eh $P154
+.sub "load_module"  :subid("18_1273866366.60326") :method :outer("11_1273866366.60326")
+    .param pmc param_156
+.annotate 'line', 61
+    .const 'Sub' $P166 = "19_1273866366.60326" 
+    capture_lex $P166
+    new $P155, 'ExceptionHandler'
+    set_addr $P155, control_154
+    $P155."handle_types"(57)
+    push_eh $P155
     .lex "self", self
-    .lex "$name", param_155
-.annotate "line", 62
-    new $P156, "Undef"
-    .lex "$base", $P156
-.annotate "line", 63
+    .lex "$name", param_156
+.annotate 'line', 62
     new $P157, "Undef"
-    .lex "$loaded", $P157
-.annotate "line", 62
-    find_lex $P158, "self"
-    find_lex $P159, "$name"
-    $P160 = $P158."parse_name"($P159)
-    join $S161, "/", $P160
-    new $P162, 'String'
-    set $P162, $S161
-    store_lex "$base", $P162
-.annotate "line", 63
-    new $P163, "Integer"
-    assign $P163, 0
-    store_lex "$loaded", $P163
-.annotate "line", 64
-    .const 'Sub' $P165 = "19_1272816832.1082" 
-    capture_lex $P165
-    $P165()
-.annotate "line", 65
-    find_lex $P178, "$loaded"
-    if $P178, unless_177_end
-    find_lex $P179, "$base"
-    concat $P180, $P179, ".pir"
-    set $S181, $P180
-    load_bytecode $S181
-    new $P182, "Integer"
-    assign $P182, 1
-    store_lex "$loaded", $P182
-  unless_177_end:
-.annotate "line", 66
-    find_lex $P183, "self"
-    find_lex $P184, "$name"
-    $P185 = $P183."get_module"($P184)
-.annotate "line", 61
-    .return ($P185)
-  control_153:
+    .lex "$base", $P157
+.annotate 'line', 63
+    new $P158, "Undef"
+    .lex "$loaded", $P158
+.annotate 'line', 62
+    find_lex $P159, "self"
+    find_lex $P160, "$name"
+    $P161 = $P159."parse_name"($P160)
+    join $S162, "/", $P161
+    new $P163, 'String'
+    set $P163, $S162
+    store_lex "$base", $P163
+.annotate 'line', 63
+    new $P164, "Integer"
+    assign $P164, 0
+    store_lex "$loaded", $P164
+.annotate 'line', 64
+    .const 'Sub' $P166 = "19_1273866366.60326" 
+    capture_lex $P166
+    $P166()
+.annotate 'line', 65
+    find_lex $P179, "$loaded"
+    if $P179, unless_178_end
+    find_lex $P180, "$base"
+    concat $P181, $P180, ".pir"
+    set $S182, $P181
+    load_bytecode $S182
+    new $P183, "Integer"
+    assign $P183, 1
+    store_lex "$loaded", $P183
+  unless_178_end:
+.annotate 'line', 66
+    find_lex $P184, "self"
+    find_lex $P185, "$name"
+    $P186 = $P184."get_module"($P185)
+.annotate 'line', 61
+    .return ($P186)
+  control_154:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P186, exception, "payload"
-    .return ($P186)
+    getattribute $P187, exception, "payload"
+    .return ($P187)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block164"  :anon :subid("19_1272816832.1082") :outer("18_1272816832.1082")
-.annotate "line", 64
-    new $P172, 'ExceptionHandler'
-    set_addr $P172, control_171
-    $P172."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
-    push_eh $P172
-    find_lex $P166, "$base"
-    concat $P167, $P166, ".pbc"
-    set $S168, $P167
-    load_bytecode $S168
-    new $P169, "Integer"
-    assign $P169, 1
-    store_lex "$loaded", $P169
+.sub "_block165"  :anon :subid("19_1273866366.60326") :outer("18_1273866366.60326")
+.annotate 'line', 64
+    new $P173, 'ExceptionHandler'
+    set_addr $P173, control_172
+    $P173."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
+    push_eh $P173
+    find_lex $P167, "$base"
+    concat $P168, $P167, ".pbc"
+    set $S169, $P168
+    load_bytecode $S169
+    new $P170, "Integer"
+    assign $P170, 1
+    store_lex "$loaded", $P170
     pop_eh 
-    goto skip_handler_170
-  control_171:
+    goto skip_handler_171
+  control_172:
     .local pmc exception 
     .get_results (exception) 
-    new $P175, 'Integer'
-    set $P175, 1
-    set exception["handled"], $P175
-    set $I176, exception["handled"]
-    ne $I176, 1, nothandled_174
-  handled_173:
+    new $P176, 'Integer'
+    set $P176, 1
+    set exception["handled"], $P176
+    set $I177, exception["handled"]
+    ne $I177, 1, nothandled_175
+  handled_174:
     .return (exception)
-  nothandled_174:
+  nothandled_175:
     rethrow exception
-  skip_handler_170:
-    .return ($P169)
+  skip_handler_171:
+    .return ($P170)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "import"  :subid("20_1272816832.1082") :method :outer("11_1272816832.1082")
-    .param pmc param_190
+.sub "import"  :subid("20_1273866366.60326") :method :outer("11_1273866366.60326")
     .param pmc param_191
-.annotate "line", 69
-    .const 'Sub' $P197 = "21_1272816832.1082" 
-    capture_lex $P197
-    new $P189, 'ExceptionHandler'
-    set_addr $P189, control_188
-    $P189."handle_types"(57)
-    push_eh $P189
+    .param pmc param_192
+.annotate 'line', 69
+    .const 'Sub' $P198 = "21_1273866366.60326" 
+    capture_lex $P198
+    new $P190, 'ExceptionHandler'
+    set_addr $P190, control_189
+    $P190."handle_types"(57)
+    push_eh $P190
     .lex "self", self
-    .lex "$target", param_190
-    .lex "%exports", param_191
-.annotate "line", 70
-    find_lex $P193, "%exports"
-    defined $I194, $P193
-    unless $I194, for_undef_42
-    iter $P192, $P193
-    new $P279, 'ExceptionHandler'
-    set_addr $P279, loop278_handler
-    $P279."handle_types"(64, 66, 65)
-    push_eh $P279
-  loop278_test:
-    unless $P192, loop278_done
-    shift $P195, $P192
-  loop278_redo:
-    .const 'Sub' $P197 = "21_1272816832.1082" 
-    capture_lex $P197
-    $P197($P195)
-  loop278_next:
-    goto loop278_test
-  loop278_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P280, exception, 'type'
-    eq $P280, 64, loop278_next
-    eq $P280, 66, loop278_redo
-  loop278_done:
+    .lex "$target", param_191
+    .lex "%exports", param_192
+.annotate 'line', 70
+    find_lex $P194, "%exports"
+    defined $I195, $P194
+    unless $I195, for_undef_42
+    iter $P193, $P194
+    new $P280, 'ExceptionHandler'
+    set_addr $P280, loop279_handler
+    $P280."handle_types"(64, 66, 65)
+    push_eh $P280
+  loop279_test:
+    unless $P193, loop279_done
+    shift $P196, $P193
+  loop279_redo:
+    .const 'Sub' $P198 = "21_1273866366.60326" 
+    capture_lex $P198
+    $P198($P196)
+  loop279_next:
+    goto loop279_test
+  loop279_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P281, exception, 'type'
+    eq $P281, 64, loop279_next
+    eq $P281, 66, loop279_redo
+  loop279_done:
     pop_eh 
   for_undef_42:
-.annotate "line", 69
-    .return ($P192)
-  control_188:
+.annotate 'line', 69
+    .return ($P193)
+  control_189:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P281, exception, "payload"
-    .return ($P281)
+    getattribute $P282, exception, "payload"
+    .return ($P282)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block196"  :anon :subid("21_1272816832.1082") :outer("20_1272816832.1082")
-    .param pmc param_200
-.annotate "line", 70
-    .const 'Sub' $P267 = "24_1272816832.1082" 
-    capture_lex $P267
-    .const 'Sub' $P247 = "23_1272816832.1082" 
-    capture_lex $P247
-    .const 'Sub' $P218 = "22_1272816832.1082" 
-    capture_lex $P218
-.annotate "line", 71
-    new $P198, "Undef"
-    .lex "$type", $P198
-.annotate "line", 72
-    $P199 = root_new ['parrot';'Hash']
-    .lex "%items", $P199
-    .lex "$_", param_200
-.annotate "line", 71
-    find_lex $P201, "$_"
-    $P202 = $P201."key"()
-    store_lex "$type", $P202
-.annotate "line", 72
-    find_lex $P203, "$_"
-    $P204 = $P203."value"()
-    store_lex "%items", $P204
-.annotate "line", 73
-    find_lex $P207, "self"
-    new $P208, 'String'
-    set $P208, "import_"
-    find_lex $P209, "$type"
-    concat $P210, $P208, $P209
-    set $S211, $P210
-    can $I212, $P207, $S211
-    if $I212, if_206
-.annotate "line", 76
-    find_lex $P236, "$target"
-    new $P237, 'String'
-    set $P237, "add_"
-    find_lex $P238, "$type"
-    concat $P239, $P237, $P238
-    set $S240, $P239
-    can $I241, $P236, $S240
-    if $I241, if_235
-.annotate "line", 80
-    find_lex $P263, "%items"
-    defined $I264, $P263
-    unless $I264, for_undef_43
-    iter $P262, $P263
-    new $P276, 'ExceptionHandler'
-    set_addr $P276, loop275_handler
-    $P276."handle_types"(64, 66, 65)
-    push_eh $P276
-  loop275_test:
-    unless $P262, loop275_done
-    shift $P265, $P262
-  loop275_redo:
-    .const 'Sub' $P267 = "24_1272816832.1082" 
-    capture_lex $P267
-    $P267($P265)
-  loop275_next:
-    goto loop275_test
-  loop275_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P277, exception, 'type'
-    eq $P277, 64, loop275_next
-    eq $P277, 66, loop275_redo
-  loop275_done:
+.sub "_block197"  :anon :subid("21_1273866366.60326") :outer("20_1273866366.60326")
+    .param pmc param_201
+.annotate 'line', 70
+    .const 'Sub' $P268 = "24_1273866366.60326" 
+    capture_lex $P268
+    .const 'Sub' $P248 = "23_1273866366.60326" 
+    capture_lex $P248
+    .const 'Sub' $P219 = "22_1273866366.60326" 
+    capture_lex $P219
+.annotate 'line', 71
+    new $P199, "Undef"
+    .lex "$type", $P199
+.annotate 'line', 72
+    $P200 = root_new ['parrot';'Hash']
+    .lex "%items", $P200
+    .lex "$_", param_201
+.annotate 'line', 71
+    find_lex $P202, "$_"
+    $P203 = $P202."key"()
+    store_lex "$type", $P203
+.annotate 'line', 72
+    find_lex $P204, "$_"
+    $P205 = $P204."value"()
+    store_lex "%items", $P205
+.annotate 'line', 73
+    find_lex $P208, "self"
+    new $P209, 'String'
+    set $P209, "import_"
+    find_lex $P210, "$type"
+    concat $P211, $P209, $P210
+    set $S212, $P211
+    can $I213, $P208, $S212
+    if $I213, if_207
+.annotate 'line', 76
+    find_lex $P237, "$target"
+    new $P238, 'String'
+    set $P238, "add_"
+    find_lex $P239, "$type"
+    concat $P240, $P238, $P239
+    set $S241, $P240
+    can $I242, $P237, $S241
+    if $I242, if_236
+.annotate 'line', 80
+    find_lex $P264, "%items"
+    defined $I265, $P264
+    unless $I265, for_undef_43
+    iter $P263, $P264
+    new $P277, 'ExceptionHandler'
+    set_addr $P277, loop276_handler
+    $P277."handle_types"(64, 66, 65)
+    push_eh $P277
+  loop276_test:
+    unless $P263, loop276_done
+    shift $P266, $P263
+  loop276_redo:
+    .const 'Sub' $P268 = "24_1273866366.60326" 
+    capture_lex $P268
+    $P268($P266)
+  loop276_next:
+    goto loop276_test
+  loop276_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P278, exception, 'type'
+    eq $P278, 64, loop276_next
+    eq $P278, 66, loop276_redo
+  loop276_done:
     pop_eh 
   for_undef_43:
-.annotate "line", 79
-    set $P234, $P262
-.annotate "line", 76
-    goto if_235_end
-  if_235:
-.annotate "line", 77
-    find_lex $P243, "%items"
-    defined $I244, $P243
-    unless $I244, for_undef_45
-    iter $P242, $P243
-    new $P260, 'ExceptionHandler'
-    set_addr $P260, loop259_handler
-    $P260."handle_types"(64, 66, 65)
-    push_eh $P260
-  loop259_test:
-    unless $P242, loop259_done
-    shift $P245, $P242
-  loop259_redo:
-    .const 'Sub' $P247 = "23_1272816832.1082" 
-    capture_lex $P247
-    $P247($P245)
-  loop259_next:
-    goto loop259_test
-  loop259_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P261, exception, 'type'
-    eq $P261, 64, loop259_next
-    eq $P261, 66, loop259_redo
-  loop259_done:
+.annotate 'line', 79
+    set $P235, $P263
+.annotate 'line', 76
+    goto if_236_end
+  if_236:
+.annotate 'line', 77
+    find_lex $P244, "%items"
+    defined $I245, $P244
+    unless $I245, for_undef_45
+    iter $P243, $P244
+    new $P261, 'ExceptionHandler'
+    set_addr $P261, loop260_handler
+    $P261."handle_types"(64, 66, 65)
+    push_eh $P261
+  loop260_test:
+    unless $P243, loop260_done
+    shift $P246, $P243
+  loop260_redo:
+    .const 'Sub' $P248 = "23_1273866366.60326" 
+    capture_lex $P248
+    $P248($P246)
+  loop260_next:
+    goto loop260_test
+  loop260_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P262, exception, 'type'
+    eq $P262, 64, loop260_next
+    eq $P262, 66, loop260_redo
+  loop260_done:
     pop_eh 
   for_undef_45:
-.annotate "line", 76
-    set $P234, $P242
-  if_235_end:
-    set $P205, $P234
-.annotate "line", 73
-    goto if_206_end
-  if_206:
-.annotate "line", 74
-    find_lex $P214, "%items"
-    defined $I215, $P214
-    unless $I215, for_undef_46
-    iter $P213, $P214
-    new $P232, 'ExceptionHandler'
-    set_addr $P232, loop231_handler
-    $P232."handle_types"(64, 66, 65)
-    push_eh $P232
-  loop231_test:
-    unless $P213, loop231_done
-    shift $P216, $P213
-  loop231_redo:
-    .const 'Sub' $P218 = "22_1272816832.1082" 
-    capture_lex $P218
-    $P218($P216)
-  loop231_next:
-    goto loop231_test
-  loop231_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P233, exception, 'type'
-    eq $P233, 64, loop231_next
-    eq $P233, 66, loop231_redo
-  loop231_done:
+.annotate 'line', 76
+    set $P235, $P243
+  if_236_end:
+    set $P206, $P235
+.annotate 'line', 73
+    goto if_207_end
+  if_207:
+.annotate 'line', 74
+    find_lex $P215, "%items"
+    defined $I216, $P215
+    unless $I216, for_undef_46
+    iter $P214, $P215
+    new $P233, 'ExceptionHandler'
+    set_addr $P233, loop232_handler
+    $P233."handle_types"(64, 66, 65)
+    push_eh $P233
+  loop232_test:
+    unless $P214, loop232_done
+    shift $P217, $P214
+  loop232_redo:
+    .const 'Sub' $P219 = "22_1273866366.60326" 
+    capture_lex $P219
+    $P219($P217)
+  loop232_next:
+    goto loop232_test
+  loop232_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P234, exception, 'type'
+    eq $P234, 64, loop232_next
+    eq $P234, 66, loop232_redo
+  loop232_done:
     pop_eh 
   for_undef_46:
-.annotate "line", 73
-    set $P205, $P213
-  if_206_end:
-.annotate "line", 70
-    .return ($P205)
+.annotate 'line', 73
+    set $P206, $P214
+  if_207_end:
+.annotate 'line', 70
+    .return ($P206)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block266"  :anon :subid("24_1272816832.1082") :outer("21_1272816832.1082")
-    .param pmc param_268
-.annotate "line", 80
-    .lex "$_", param_268
-    find_lex $P269, "$_"
-    $P270 = $P269."value"()
-    find_lex $P271, "$_"
-    $P272 = $P271."key"()
-    set $S273, $P272
-    find_lex $P274, "$target"
-    unless_null $P274, vivify_44
-    $P274 = root_new ['parrot';'Hash']
-    store_lex "$target", $P274
+.sub "_block267"  :anon :subid("24_1273866366.60326") :outer("21_1273866366.60326")
+    .param pmc param_269
+.annotate 'line', 80
+    .lex "$_", param_269
+    find_lex $P270, "$_"
+    $P271 = $P270."value"()
+    find_lex $P272, "$_"
+    $P273 = $P272."key"()
+    set $S274, $P273
+    find_lex $P275, "$target"
+    unless_null $P275, vivify_44
+    $P275 = root_new ['parrot';'Hash']
+    store_lex "$target", $P275
   vivify_44:
-    set $P274[$S273], $P270
-    .return ($P270)
+    set $P275[$S274], $P271
+    .return ($P271)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block246"  :anon :subid("23_1272816832.1082") :outer("21_1272816832.1082")
-    .param pmc param_248
-.annotate "line", 77
-    .lex "$_", param_248
-    find_lex $P249, "$target"
-    find_lex $P250, "$_"
-    $P251 = $P250."key"()
-    find_lex $P252, "$_"
-    $P253 = $P252."value"()
-    new $P254, 'String'
-    set $P254, "add_"
-    find_lex $P255, "$type"
-    concat $P256, $P254, $P255
-    set $S257, $P256
-    $P258 = $P249.$S257($P251, $P253)
-    .return ($P258)
+.sub "_block247"  :anon :subid("23_1273866366.60326") :outer("21_1273866366.60326")
+    .param pmc param_249
+.annotate 'line', 77
+    .lex "$_", param_249
+    find_lex $P250, "$target"
+    find_lex $P251, "$_"
+    $P252 = $P251."key"()
+    find_lex $P253, "$_"
+    $P254 = $P253."value"()
+    new $P255, 'String'
+    set $P255, "add_"
+    find_lex $P256, "$type"
+    concat $P257, $P255, $P256
+    set $S258, $P257
+    $P259 = $P250.$S258($P252, $P254)
+    .return ($P259)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block217"  :anon :subid("22_1272816832.1082") :outer("21_1272816832.1082")
-    .param pmc param_219
-.annotate "line", 74
-    .lex "$_", param_219
-    find_lex $P220, "self"
-    find_lex $P221, "$target"
-    find_lex $P222, "$_"
-    $P223 = $P222."key"()
-    find_lex $P224, "$_"
-    $P225 = $P224."value"()
-    new $P226, 'String'
-    set $P226, "import_"
-    find_lex $P227, "$type"
-    concat $P228, $P226, $P227
-    set $S229, $P228
-    $P230 = $P220.$S229($P221, $P223, $P225)
-    .return ($P230)
+.sub "_block218"  :anon :subid("22_1273866366.60326") :outer("21_1273866366.60326")
+    .param pmc param_220
+.annotate 'line', 74
+    .lex "$_", param_220
+    find_lex $P221, "self"
+    find_lex $P222, "$target"
+    find_lex $P223, "$_"
+    $P224 = $P223."key"()
+    find_lex $P225, "$_"
+    $P226 = $P225."value"()
+    new $P227, 'String'
+    set $P227, "import_"
+    find_lex $P228, "$type"
+    concat $P229, $P227, $P228
+    set $S230, $P229
+    $P231 = $P221.$S230($P222, $P224, $P226)
+    .return ($P231)
 .end
 
 

Modified: branches/ops_pct/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/ops_pct/ext/nqp-rx/src/stage0/NQP-s0.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/NQP-s0.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -15,461 +15,467 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816833.94956")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866379.28103")
+.annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-.annotate "line", 4
+.annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1304 = $P14()
-.annotate "line", 1
-    .return ($P1304)
+    $P1330 = $P14()
+.annotate 'line', 1
+    .return ($P1330)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post333") :outer("10_1272816833.94956")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816833.94956" 
+.sub "" :load :init :subid("post339") :outer("10_1273866379.28103")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866379.28103" 
     .local pmc block
     set block, $P12
-    $P1305 = get_root_global ["parrot"], "P6metaclass"
-    $P1305."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1331 = get_root_global ["parrot"], "P6metaclass"
+    $P1331."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1272816833.94956") :outer("10_1272816833.94956")
-.annotate "line", 4
-    get_hll_global $P1248, ["NQP";"Regex"], "_block1247" 
+.sub "_block13"  :subid("11_1273866379.28103") :outer("10_1273866379.28103")
+.annotate 'line', 4
+    get_hll_global $P1274, ["NQP";"Regex"], "_block1273" 
+    capture_lex $P1274
+    .const 'Sub' $P1260 = "325_1273866379.28103" 
+    capture_lex $P1260
+    .const 'Sub' $P1254 = "323_1273866379.28103" 
+    capture_lex $P1254
+    .const 'Sub' $P1248 = "321_1273866379.28103" 
     capture_lex $P1248
-    .const 'Sub' $P1234 = "319_1272816833.94956" 
-    capture_lex $P1234
-    .const 'Sub' $P1228 = "317_1272816833.94956" 
-    capture_lex $P1228
-    .const 'Sub' $P1222 = "315_1272816833.94956" 
-    capture_lex $P1222
-    .const 'Sub' $P1215 = "313_1272816833.94956" 
-    capture_lex $P1215
-    .const 'Sub' $P1208 = "311_1272816833.94956" 
-    capture_lex $P1208
-    .const 'Sub' $P1201 = "309_1272816833.94956" 
-    capture_lex $P1201
-    .const 'Sub' $P1194 = "307_1272816833.94956" 
-    capture_lex $P1194
-    .const 'Sub' $P1188 = "305_1272816833.94956" 
-    capture_lex $P1188
-    .const 'Sub' $P1181 = "303_1272816833.94956" 
-    capture_lex $P1181
-    .const 'Sub' $P1174 = "301_1272816833.94956" 
-    capture_lex $P1174
-    .const 'Sub' $P1167 = "299_1272816833.94956" 
-    capture_lex $P1167
-    .const 'Sub' $P1160 = "297_1272816833.94956" 
-    capture_lex $P1160
-    .const 'Sub' $P1153 = "295_1272816833.94956" 
-    capture_lex $P1153
-    .const 'Sub' $P1146 = "293_1272816833.94956" 
-    capture_lex $P1146
-    .const 'Sub' $P1139 = "291_1272816833.94956" 
-    capture_lex $P1139
-    .const 'Sub' $P1132 = "289_1272816833.94956" 
-    capture_lex $P1132
-    .const 'Sub' $P1125 = "287_1272816833.94956" 
-    capture_lex $P1125
-    .const 'Sub' $P1118 = "285_1272816833.94956" 
-    capture_lex $P1118
-    .const 'Sub' $P1111 = "283_1272816833.94956" 
-    capture_lex $P1111
-    .const 'Sub' $P1104 = "281_1272816833.94956" 
-    capture_lex $P1104
-    .const 'Sub' $P1097 = "279_1272816833.94956" 
-    capture_lex $P1097
-    .const 'Sub' $P1090 = "277_1272816833.94956" 
-    capture_lex $P1090
-    .const 'Sub' $P1083 = "275_1272816833.94956" 
-    capture_lex $P1083
-    .const 'Sub' $P1076 = "273_1272816833.94956" 
-    capture_lex $P1076
-    .const 'Sub' $P1069 = "271_1272816833.94956" 
-    capture_lex $P1069
-    .const 'Sub' $P1062 = "269_1272816833.94956" 
-    capture_lex $P1062
-    .const 'Sub' $P1055 = "267_1272816833.94956" 
-    capture_lex $P1055
-    .const 'Sub' $P1048 = "265_1272816833.94956" 
-    capture_lex $P1048
-    .const 'Sub' $P1041 = "263_1272816833.94956" 
-    capture_lex $P1041
-    .const 'Sub' $P1034 = "261_1272816833.94956" 
-    capture_lex $P1034
-    .const 'Sub' $P1027 = "259_1272816833.94956" 
-    capture_lex $P1027
-    .const 'Sub' $P1020 = "257_1272816833.94956" 
-    capture_lex $P1020
-    .const 'Sub' $P1013 = "255_1272816833.94956" 
-    capture_lex $P1013
-    .const 'Sub' $P1006 = "253_1272816833.94956" 
-    capture_lex $P1006
-    .const 'Sub' $P1000 = "251_1272816833.94956" 
-    capture_lex $P1000
-    .const 'Sub' $P993 = "249_1272816833.94956" 
-    capture_lex $P993
-    .const 'Sub' $P986 = "247_1272816833.94956" 
-    capture_lex $P986
-    .const 'Sub' $P979 = "245_1272816833.94956" 
-    capture_lex $P979
-    .const 'Sub' $P972 = "243_1272816833.94956" 
-    capture_lex $P972
-    .const 'Sub' $P965 = "241_1272816833.94956" 
-    capture_lex $P965
-    .const 'Sub' $P958 = "239_1272816833.94956" 
-    capture_lex $P958
-    .const 'Sub' $P951 = "237_1272816833.94956" 
-    capture_lex $P951
-    .const 'Sub' $P945 = "235_1272816833.94956" 
-    capture_lex $P945
-    .const 'Sub' $P939 = "233_1272816833.94956" 
-    capture_lex $P939
-    .const 'Sub' $P934 = "231_1272816833.94956" 
-    capture_lex $P934
-    .const 'Sub' $P928 = "229_1272816833.94956" 
-    capture_lex $P928
-    .const 'Sub' $P922 = "227_1272816833.94956" 
-    capture_lex $P922
-    .const 'Sub' $P917 = "225_1272816833.94956" 
-    capture_lex $P917
-    .const 'Sub' $P912 = "223_1272816833.94956" 
-    capture_lex $P912
-    .const 'Sub' $P905 = "221_1272816833.94956" 
+    .const 'Sub' $P1242 = "319_1273866379.28103" 
+    capture_lex $P1242
+    .const 'Sub' $P1236 = "317_1273866379.28103" 
+    capture_lex $P1236
+    .const 'Sub' $P1230 = "315_1273866379.28103" 
+    capture_lex $P1230
+    .const 'Sub' $P1223 = "313_1273866379.28103" 
+    capture_lex $P1223
+    .const 'Sub' $P1216 = "311_1273866379.28103" 
+    capture_lex $P1216
+    .const 'Sub' $P1209 = "309_1273866379.28103" 
+    capture_lex $P1209
+    .const 'Sub' $P1202 = "307_1273866379.28103" 
+    capture_lex $P1202
+    .const 'Sub' $P1196 = "305_1273866379.28103" 
+    capture_lex $P1196
+    .const 'Sub' $P1189 = "303_1273866379.28103" 
+    capture_lex $P1189
+    .const 'Sub' $P1182 = "301_1273866379.28103" 
+    capture_lex $P1182
+    .const 'Sub' $P1175 = "299_1273866379.28103" 
+    capture_lex $P1175
+    .const 'Sub' $P1168 = "297_1273866379.28103" 
+    capture_lex $P1168
+    .const 'Sub' $P1161 = "295_1273866379.28103" 
+    capture_lex $P1161
+    .const 'Sub' $P1154 = "293_1273866379.28103" 
+    capture_lex $P1154
+    .const 'Sub' $P1147 = "291_1273866379.28103" 
+    capture_lex $P1147
+    .const 'Sub' $P1140 = "289_1273866379.28103" 
+    capture_lex $P1140
+    .const 'Sub' $P1133 = "287_1273866379.28103" 
+    capture_lex $P1133
+    .const 'Sub' $P1126 = "285_1273866379.28103" 
+    capture_lex $P1126
+    .const 'Sub' $P1119 = "283_1273866379.28103" 
+    capture_lex $P1119
+    .const 'Sub' $P1112 = "281_1273866379.28103" 
+    capture_lex $P1112
+    .const 'Sub' $P1105 = "279_1273866379.28103" 
+    capture_lex $P1105
+    .const 'Sub' $P1098 = "277_1273866379.28103" 
+    capture_lex $P1098
+    .const 'Sub' $P1091 = "275_1273866379.28103" 
+    capture_lex $P1091
+    .const 'Sub' $P1084 = "273_1273866379.28103" 
+    capture_lex $P1084
+    .const 'Sub' $P1077 = "271_1273866379.28103" 
+    capture_lex $P1077
+    .const 'Sub' $P1070 = "269_1273866379.28103" 
+    capture_lex $P1070
+    .const 'Sub' $P1063 = "267_1273866379.28103" 
+    capture_lex $P1063
+    .const 'Sub' $P1056 = "265_1273866379.28103" 
+    capture_lex $P1056
+    .const 'Sub' $P1049 = "263_1273866379.28103" 
+    capture_lex $P1049
+    .const 'Sub' $P1042 = "261_1273866379.28103" 
+    capture_lex $P1042
+    .const 'Sub' $P1035 = "259_1273866379.28103" 
+    capture_lex $P1035
+    .const 'Sub' $P1028 = "257_1273866379.28103" 
+    capture_lex $P1028
+    .const 'Sub' $P1021 = "255_1273866379.28103" 
+    capture_lex $P1021
+    .const 'Sub' $P1014 = "253_1273866379.28103" 
+    capture_lex $P1014
+    .const 'Sub' $P1008 = "251_1273866379.28103" 
+    capture_lex $P1008
+    .const 'Sub' $P1001 = "249_1273866379.28103" 
+    capture_lex $P1001
+    .const 'Sub' $P994 = "247_1273866379.28103" 
+    capture_lex $P994
+    .const 'Sub' $P987 = "245_1273866379.28103" 
+    capture_lex $P987
+    .const 'Sub' $P980 = "243_1273866379.28103" 
+    capture_lex $P980
+    .const 'Sub' $P973 = "241_1273866379.28103" 
+    capture_lex $P973
+    .const 'Sub' $P966 = "239_1273866379.28103" 
+    capture_lex $P966
+    .const 'Sub' $P959 = "237_1273866379.28103" 
+    capture_lex $P959
+    .const 'Sub' $P953 = "235_1273866379.28103" 
+    capture_lex $P953
+    .const 'Sub' $P947 = "233_1273866379.28103" 
+    capture_lex $P947
+    .const 'Sub' $P942 = "231_1273866379.28103" 
+    capture_lex $P942
+    .const 'Sub' $P936 = "229_1273866379.28103" 
+    capture_lex $P936
+    .const 'Sub' $P930 = "227_1273866379.28103" 
+    capture_lex $P930
+    .const 'Sub' $P925 = "225_1273866379.28103" 
+    capture_lex $P925
+    .const 'Sub' $P920 = "223_1273866379.28103" 
+    capture_lex $P920
+    .const 'Sub' $P913 = "221_1273866379.28103" 
+    capture_lex $P913
+    .const 'Sub' $P905 = "219_1273866379.28103" 
     capture_lex $P905
-    .const 'Sub' $P897 = "219_1272816833.94956" 
-    capture_lex $P897
-    .const 'Sub' $P892 = "217_1272816833.94956" 
-    capture_lex $P892
-    .const 'Sub' $P887 = "215_1272816833.94956" 
-    capture_lex $P887
-    .const 'Sub' $P882 = "213_1272816833.94956" 
+    .const 'Sub' $P900 = "217_1273866379.28103" 
+    capture_lex $P900
+    .const 'Sub' $P895 = "215_1273866379.28103" 
+    capture_lex $P895
+    .const 'Sub' $P890 = "213_1273866379.28103" 
+    capture_lex $P890
+    .const 'Sub' $P882 = "211_1273866379.28103" 
     capture_lex $P882
-    .const 'Sub' $P874 = "211_1272816833.94956" 
+    .const 'Sub' $P874 = "209_1273866379.28103" 
     capture_lex $P874
-    .const 'Sub' $P866 = "209_1272816833.94956" 
-    capture_lex $P866
-    .const 'Sub' $P861 = "207_1272816833.94956" 
-    capture_lex $P861
-    .const 'Sub' $P856 = "205_1272816833.94956" 
-    capture_lex $P856
-    .const 'Sub' $P851 = "203_1272816833.94956" 
-    capture_lex $P851
-    .const 'Sub' $P845 = "201_1272816833.94956" 
-    capture_lex $P845
-    .const 'Sub' $P839 = "199_1272816833.94956" 
-    capture_lex $P839
-    .const 'Sub' $P833 = "197_1272816833.94956" 
-    capture_lex $P833
-    .const 'Sub' $P827 = "195_1272816833.94956" 
-    capture_lex $P827
-    .const 'Sub' $P821 = "193_1272816833.94956" 
-    capture_lex $P821
-    .const 'Sub' $P816 = "191_1272816833.94956" 
-    capture_lex $P816
-    .const 'Sub' $P811 = "189_1272816833.94956" 
-    capture_lex $P811
-    .const 'Sub' $P798 = "185_1272816833.94956" 
+    .const 'Sub' $P869 = "207_1273866379.28103" 
+    capture_lex $P869
+    .const 'Sub' $P864 = "205_1273866379.28103" 
+    capture_lex $P864
+    .const 'Sub' $P859 = "203_1273866379.28103" 
+    capture_lex $P859
+    .const 'Sub' $P853 = "201_1273866379.28103" 
+    capture_lex $P853
+    .const 'Sub' $P847 = "199_1273866379.28103" 
+    capture_lex $P847
+    .const 'Sub' $P841 = "197_1273866379.28103" 
+    capture_lex $P841
+    .const 'Sub' $P835 = "195_1273866379.28103" 
+    capture_lex $P835
+    .const 'Sub' $P829 = "193_1273866379.28103" 
+    capture_lex $P829
+    .const 'Sub' $P824 = "191_1273866379.28103" 
+    capture_lex $P824
+    .const 'Sub' $P819 = "189_1273866379.28103" 
+    capture_lex $P819
+    .const 'Sub' $P806 = "185_1273866379.28103" 
+    capture_lex $P806
+    .const 'Sub' $P798 = "183_1273866379.28103" 
     capture_lex $P798
-    .const 'Sub' $P790 = "183_1272816833.94956" 
-    capture_lex $P790
-    .const 'Sub' $P784 = "181_1272816833.94956" 
-    capture_lex $P784
-    .const 'Sub' $P777 = "179_1272816833.94956" 
-    capture_lex $P777
-    .const 'Sub' $P771 = "177_1272816833.94956" 
+    .const 'Sub' $P792 = "181_1273866379.28103" 
+    capture_lex $P792
+    .const 'Sub' $P785 = "179_1273866379.28103" 
+    capture_lex $P785
+    .const 'Sub' $P779 = "177_1273866379.28103" 
+    capture_lex $P779
+    .const 'Sub' $P771 = "175_1273866379.28103" 
     capture_lex $P771
-    .const 'Sub' $P763 = "175_1272816833.94956" 
+    .const 'Sub' $P763 = "173_1273866379.28103" 
     capture_lex $P763
-    .const 'Sub' $P755 = "173_1272816833.94956" 
-    capture_lex $P755
-    .const 'Sub' $P749 = "171_1272816833.94956" 
-    capture_lex $P749
-    .const 'Sub' $P743 = "169_1272816833.94956" 
-    capture_lex $P743
-    .const 'Sub' $P728 = "165_1272816833.94956" 
-    capture_lex $P728
-    .const 'Sub' $P691 = "163_1272816833.94956" 
+    .const 'Sub' $P757 = "171_1273866379.28103" 
+    capture_lex $P757
+    .const 'Sub' $P751 = "169_1273866379.28103" 
+    capture_lex $P751
+    .const 'Sub' $P736 = "165_1273866379.28103" 
+    capture_lex $P736
+    .const 'Sub' $P699 = "163_1273866379.28103" 
+    capture_lex $P699
+    .const 'Sub' $P691 = "161_1273866379.28103" 
     capture_lex $P691
-    .const 'Sub' $P683 = "161_1272816833.94956" 
-    capture_lex $P683
-    .const 'Sub' $P677 = "159_1272816833.94956" 
-    capture_lex $P677
-    .const 'Sub' $P667 = "157_1272816833.94956" 
-    capture_lex $P667
-    .const 'Sub' $P652 = "155_1272816833.94956" 
-    capture_lex $P652
-    .const 'Sub' $P643 = "153_1272816833.94956" 
-    capture_lex $P643
-    .const 'Sub' $P624 = "151_1272816833.94956" 
-    capture_lex $P624
-    .const 'Sub' $P600 = "149_1272816833.94956" 
-    capture_lex $P600
-    .const 'Sub' $P593 = "147_1272816833.94956" 
-    capture_lex $P593
-    .const 'Sub' $P586 = "145_1272816833.94956" 
-    capture_lex $P586
-    .const 'Sub' $P576 = "141_1272816833.94956" 
-    capture_lex $P576
-    .const 'Sub' $P565 = "139_1272816833.94956" 
-    capture_lex $P565
-    .const 'Sub' $P558 = "137_1272816833.94956" 
-    capture_lex $P558
-    .const 'Sub' $P551 = "135_1272816833.94956" 
-    capture_lex $P551
-    .const 'Sub' $P544 = "133_1272816833.94956" 
-    capture_lex $P544
-    .const 'Sub' $P517 = "129_1272816833.94956" 
-    capture_lex $P517
-    .const 'Sub' $P508 = "127_1272816833.94956" 
-    capture_lex $P508
-    .const 'Sub' $P501 = "125_1272816833.94956" 
-    capture_lex $P501
-    .const 'Sub' $P492 = "121_1272816833.94956" 
-    capture_lex $P492
-    .const 'Sub' $P487 = "119_1272816833.94956" 
-    capture_lex $P487
-    .const 'Sub' $P475 = "117_1272816833.94956" 
-    capture_lex $P475
-    .const 'Sub' $P463 = "115_1272816833.94956" 
+    .const 'Sub' $P685 = "159_1273866379.28103" 
+    capture_lex $P685
+    .const 'Sub' $P675 = "157_1273866379.28103" 
+    capture_lex $P675
+    .const 'Sub' $P660 = "155_1273866379.28103" 
+    capture_lex $P660
+    .const 'Sub' $P651 = "153_1273866379.28103" 
+    capture_lex $P651
+    .const 'Sub' $P632 = "151_1273866379.28103" 
+    capture_lex $P632
+    .const 'Sub' $P608 = "149_1273866379.28103" 
+    capture_lex $P608
+    .const 'Sub' $P601 = "147_1273866379.28103" 
+    capture_lex $P601
+    .const 'Sub' $P594 = "145_1273866379.28103" 
+    capture_lex $P594
+    .const 'Sub' $P584 = "141_1273866379.28103" 
+    capture_lex $P584
+    .const 'Sub' $P573 = "139_1273866379.28103" 
+    capture_lex $P573
+    .const 'Sub' $P566 = "137_1273866379.28103" 
+    capture_lex $P566
+    .const 'Sub' $P559 = "135_1273866379.28103" 
+    capture_lex $P559
+    .const 'Sub' $P552 = "133_1273866379.28103" 
+    capture_lex $P552
+    .const 'Sub' $P525 = "129_1273866379.28103" 
+    capture_lex $P525
+    .const 'Sub' $P516 = "127_1273866379.28103" 
+    capture_lex $P516
+    .const 'Sub' $P509 = "125_1273866379.28103" 
+    capture_lex $P509
+    .const 'Sub' $P500 = "121_1273866379.28103" 
+    capture_lex $P500
+    .const 'Sub' $P495 = "119_1273866379.28103" 
+    capture_lex $P495
+    .const 'Sub' $P483 = "117_1273866379.28103" 
+    capture_lex $P483
+    .const 'Sub' $P471 = "115_1273866379.28103" 
+    capture_lex $P471
+    .const 'Sub' $P463 = "113_1273866379.28103" 
     capture_lex $P463
-    .const 'Sub' $P455 = "113_1272816833.94956" 
-    capture_lex $P455
-    .const 'Sub' $P450 = "111_1272816833.94956" 
-    capture_lex $P450
-    .const 'Sub' $P444 = "109_1272816833.94956" 
-    capture_lex $P444
-    .const 'Sub' $P438 = "107_1272816833.94956" 
-    capture_lex $P438
-    .const 'Sub' $P432 = "105_1272816833.94956" 
-    capture_lex $P432
-    .const 'Sub' $P426 = "103_1272816833.94956" 
-    capture_lex $P426
-    .const 'Sub' $P420 = "101_1272816833.94956" 
-    capture_lex $P420
-    .const 'Sub' $P414 = "99_1272816833.94956" 
-    capture_lex $P414
-    .const 'Sub' $P408 = "97_1272816833.94956" 
-    capture_lex $P408
-    .const 'Sub' $P402 = "95_1272816833.94956" 
+    .const 'Sub' $P458 = "111_1273866379.28103" 
+    capture_lex $P458
+    .const 'Sub' $P452 = "109_1273866379.28103" 
+    capture_lex $P452
+    .const 'Sub' $P446 = "107_1273866379.28103" 
+    capture_lex $P446
+    .const 'Sub' $P440 = "105_1273866379.28103" 
+    capture_lex $P440
+    .const 'Sub' $P434 = "103_1273866379.28103" 
+    capture_lex $P434
+    .const 'Sub' $P428 = "101_1273866379.28103" 
+    capture_lex $P428
+    .const 'Sub' $P422 = "99_1273866379.28103" 
+    capture_lex $P422
+    .const 'Sub' $P416 = "97_1273866379.28103" 
+    capture_lex $P416
+    .const 'Sub' $P410 = "95_1273866379.28103" 
+    capture_lex $P410
+    .const 'Sub' $P402 = "93_1273866379.28103" 
     capture_lex $P402
-    .const 'Sub' $P394 = "93_1272816833.94956" 
+    .const 'Sub' $P394 = "91_1273866379.28103" 
     capture_lex $P394
-    .const 'Sub' $P386 = "91_1272816833.94956" 
-    capture_lex $P386
-    .const 'Sub' $P374 = "87_1272816833.94956" 
+    .const 'Sub' $P382 = "87_1273866379.28103" 
+    capture_lex $P382
+    .const 'Sub' $P374 = "85_1273866379.28103" 
     capture_lex $P374
-    .const 'Sub' $P366 = "85_1272816833.94956" 
-    capture_lex $P366
-    .const 'Sub' $P356 = "81_1272816833.94956" 
-    capture_lex $P356
-    .const 'Sub' $P349 = "79_1272816833.94956" 
-    capture_lex $P349
-    .const 'Sub' $P342 = "77_1272816833.94956" 
-    capture_lex $P342
-    .const 'Sub' $P330 = "73_1272816833.94956" 
+    .const 'Sub' $P364 = "81_1273866379.28103" 
+    capture_lex $P364
+    .const 'Sub' $P357 = "79_1273866379.28103" 
+    capture_lex $P357
+    .const 'Sub' $P350 = "77_1273866379.28103" 
+    capture_lex $P350
+    .const 'Sub' $P338 = "73_1273866379.28103" 
+    capture_lex $P338
+    .const 'Sub' $P330 = "71_1273866379.28103" 
     capture_lex $P330
-    .const 'Sub' $P322 = "71_1272816833.94956" 
+    .const 'Sub' $P322 = "69_1273866379.28103" 
     capture_lex $P322
-    .const 'Sub' $P314 = "69_1272816833.94956" 
-    capture_lex $P314
-    .const 'Sub' $P294 = "67_1272816833.94956" 
-    capture_lex $P294
-    .const 'Sub' $P285 = "65_1272816833.94956" 
-    capture_lex $P285
-    .const 'Sub' $P267 = "62_1272816833.94956" 
-    capture_lex $P267
-    .const 'Sub' $P247 = "60_1272816833.94956" 
-    capture_lex $P247
-    .const 'Sub' $P238 = "56_1272816833.94956" 
-    capture_lex $P238
-    .const 'Sub' $P233 = "54_1272816833.94956" 
-    capture_lex $P233
-    .const 'Sub' $P224 = "50_1272816833.94956" 
-    capture_lex $P224
-    .const 'Sub' $P219 = "48_1272816833.94956" 
+    .const 'Sub' $P302 = "67_1273866379.28103" 
+    capture_lex $P302
+    .const 'Sub' $P293 = "65_1273866379.28103" 
+    capture_lex $P293
+    .const 'Sub' $P275 = "62_1273866379.28103" 
+    capture_lex $P275
+    .const 'Sub' $P255 = "60_1273866379.28103" 
+    capture_lex $P255
+    .const 'Sub' $P246 = "56_1273866379.28103" 
+    capture_lex $P246
+    .const 'Sub' $P241 = "54_1273866379.28103" 
+    capture_lex $P241
+    .const 'Sub' $P232 = "50_1273866379.28103" 
+    capture_lex $P232
+    .const 'Sub' $P227 = "48_1273866379.28103" 
+    capture_lex $P227
+    .const 'Sub' $P219 = "46_1273866379.28103" 
     capture_lex $P219
-    .const 'Sub' $P211 = "46_1272816833.94956" 
-    capture_lex $P211
-    .const 'Sub' $P204 = "44_1272816833.94956" 
-    capture_lex $P204
-    .const 'Sub' $P198 = "42_1272816833.94956" 
+    .const 'Sub' $P212 = "44_1273866379.28103" 
+    capture_lex $P212
+    .const 'Sub' $P206 = "42_1273866379.28103" 
+    capture_lex $P206
+    .const 'Sub' $P198 = "40_1273866379.28103" 
     capture_lex $P198
-    .const 'Sub' $P190 = "40_1272816833.94956" 
-    capture_lex $P190
-    .const 'Sub' $P184 = "38_1272816833.94956" 
-    capture_lex $P184
-    .const 'Sub' $P178 = "36_1272816833.94956" 
-    capture_lex $P178
-    .const 'Sub' $P162 = "33_1272816833.94956" 
-    capture_lex $P162
-    .const 'Sub' $P149 = "31_1272816833.94956" 
-    capture_lex $P149
-    .const 'Sub' $P142 = "29_1272816833.94956" 
-    capture_lex $P142
-    .const 'Sub' $P96 = "26_1272816833.94956" 
-    capture_lex $P96
-    .const 'Sub' $P78 = "23_1272816833.94956" 
-    capture_lex $P78
-    .const 'Sub' $P68 = "21_1272816833.94956" 
+    .const 'Sub' $P192 = "38_1273866379.28103" 
+    capture_lex $P192
+    .const 'Sub' $P186 = "36_1273866379.28103" 
+    capture_lex $P186
+    .const 'Sub' $P170 = "33_1273866379.28103" 
+    capture_lex $P170
+    .const 'Sub' $P157 = "31_1273866379.28103" 
+    capture_lex $P157
+    .const 'Sub' $P150 = "29_1273866379.28103" 
+    capture_lex $P150
+    .const 'Sub' $P100 = "26_1273866379.28103" 
+    capture_lex $P100
+    .const 'Sub' $P82 = "23_1273866379.28103" 
+    capture_lex $P82
+    .const 'Sub' $P68 = "21_1273866379.28103" 
     capture_lex $P68
-    .const 'Sub' $P54 = "19_1272816833.94956" 
+    .const 'Sub' $P54 = "19_1273866379.28103" 
     capture_lex $P54
-    .const 'Sub' $P46 = "17_1272816833.94956" 
+    .const 'Sub' $P46 = "17_1273866379.28103" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1272816833.94956" 
+    .const 'Sub' $P39 = "15_1273866379.28103" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1272816833.94956" 
+    .const 'Sub' $P33 = "13_1273866379.28103" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1272816833.94956" 
+    .const 'Sub' $P15 = "12_1273866379.28103" 
     capture_lex $P15
-.annotate "line", 536
-    get_hll_global $P1248, ["NQP";"Regex"], "_block1247" 
-    capture_lex $P1248
-    $P1287 = $P1248()
-.annotate "line", 4
-    .return ($P1287)
+.annotate 'line', 540
+    get_hll_global $P1274, ["NQP";"Regex"], "_block1273" 
+    capture_lex $P1274
+    $P1313 = $P1274()
+.annotate 'line', 4
+    .return ($P1313)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post334") :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "" :load :init :subid("post340") :outer("11_1273866379.28103")
+.annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 423
-    get_hll_global $P1288, ["NQP"], "Grammar"
-    $P1288."O"(":prec<y=>, :assoc<unary>", "%methodop")
-.annotate "line", 424
-    get_hll_global $P1289, ["NQP"], "Grammar"
-    $P1289."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
-.annotate "line", 425
-    get_hll_global $P1290, ["NQP"], "Grammar"
-    $P1290."O"(":prec<w=>, :assoc<left>", "%exponentiation")
-.annotate "line", 426
-    get_hll_global $P1291, ["NQP"], "Grammar"
-    $P1291."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
-.annotate "line", 427
-    get_hll_global $P1292, ["NQP"], "Grammar"
-    $P1292."O"(":prec<u=>, :assoc<left>", "%multiplicative")
-.annotate "line", 428
-    get_hll_global $P1293, ["NQP"], "Grammar"
-    $P1293."O"(":prec<t=>, :assoc<left>", "%additive")
-.annotate "line", 429
-    get_hll_global $P1294, ["NQP"], "Grammar"
-    $P1294."O"(":prec<r=>, :assoc<left>", "%concatenation")
-.annotate "line", 430
-    get_hll_global $P1295, ["NQP"], "Grammar"
-    $P1295."O"(":prec<m=>, :assoc<left>", "%relational")
-.annotate "line", 431
-    get_hll_global $P1296, ["NQP"], "Grammar"
-    $P1296."O"(":prec<l=>, :assoc<left>", "%tight_and")
-.annotate "line", 432
-    get_hll_global $P1297, ["NQP"], "Grammar"
-    $P1297."O"(":prec<k=>, :assoc<left>", "%tight_or")
-.annotate "line", 433
-    get_hll_global $P1298, ["NQP"], "Grammar"
-    $P1298."O"(":prec<j=>, :assoc<right>", "%conditional")
-.annotate "line", 434
-    get_hll_global $P1299, ["NQP"], "Grammar"
-    $P1299."O"(":prec<i=>, :assoc<right>", "%assignment")
-.annotate "line", 435
-    get_hll_global $P1300, ["NQP"], "Grammar"
-    $P1300."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
-.annotate "line", 436
-    get_hll_global $P1301, ["NQP"], "Grammar"
-    $P1301."O"(":prec<f=>, :assoc<list>", "%list_infix")
-.annotate "line", 437
-    get_hll_global $P1302, ["NQP"], "Grammar"
-    $P1302."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate "line", 422
-    $P1303 = get_root_global ["parrot"], "P6metaclass"
-    $P1303."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+.annotate 'line', 424
+    get_hll_global $P1314, ["NQP"], "Grammar"
+    $P1314."O"(":prec<y=>, :assoc<unary>", "%methodop")
+.annotate 'line', 425
+    get_hll_global $P1315, ["NQP"], "Grammar"
+    $P1315."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+.annotate 'line', 426
+    get_hll_global $P1316, ["NQP"], "Grammar"
+    $P1316."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+.annotate 'line', 427
+    get_hll_global $P1317, ["NQP"], "Grammar"
+    $P1317."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+.annotate 'line', 428
+    get_hll_global $P1318, ["NQP"], "Grammar"
+    $P1318."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+.annotate 'line', 429
+    get_hll_global $P1319, ["NQP"], "Grammar"
+    $P1319."O"(":prec<t=>, :assoc<left>", "%additive")
+.annotate 'line', 430
+    get_hll_global $P1320, ["NQP"], "Grammar"
+    $P1320."O"(":prec<r=>, :assoc<left>", "%concatenation")
+.annotate 'line', 431
+    get_hll_global $P1321, ["NQP"], "Grammar"
+    $P1321."O"(":prec<m=>, :assoc<left>", "%relational")
+.annotate 'line', 432
+    get_hll_global $P1322, ["NQP"], "Grammar"
+    $P1322."O"(":prec<l=>, :assoc<left>", "%tight_and")
+.annotate 'line', 433
+    get_hll_global $P1323, ["NQP"], "Grammar"
+    $P1323."O"(":prec<k=>, :assoc<left>", "%tight_or")
+.annotate 'line', 434
+    get_hll_global $P1324, ["NQP"], "Grammar"
+    $P1324."O"(":prec<j=>, :assoc<right>", "%conditional")
+.annotate 'line', 435
+    get_hll_global $P1325, ["NQP"], "Grammar"
+    $P1325."O"(":prec<i=>, :assoc<right>", "%assignment")
+.annotate 'line', 436
+    get_hll_global $P1326, ["NQP"], "Grammar"
+    $P1326."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+.annotate 'line', 437
+    get_hll_global $P1327, ["NQP"], "Grammar"
+    $P1327."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate 'line', 438
+    get_hll_global $P1328, ["NQP"], "Grammar"
+    $P1328."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate 'line', 423
+    $P1329 = get_root_global ["parrot"], "P6metaclass"
+    $P1329."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "TOP"  :subid("12_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
     $P17."handle_types"(57)
     push_eh $P17
     .lex "self", self
-.annotate "line", 5
+.annotate 'line', 5
     $P18 = root_new ['parrot';'Hash']
     .lex "%*LANG", $P18
-.annotate "line", 10
+.annotate 'line', 10
     new $P19, "Undef"
     .lex "$*SCOPE", $P19
-.annotate "line", 4
+.annotate 'line', 4
     find_lex $P20, "%*LANG"
-    unless_null $P20, vivify_335
+    unless_null $P20, vivify_341
     get_hll_global $P20, "%LANG"
-    unless_null $P20, vivify_336
+    unless_null $P20, vivify_342
     die "Contextual %*LANG not found"
-  vivify_336:
-  vivify_335:
-.annotate "line", 6
+  vivify_342:
+  vivify_341:
+.annotate 'line', 6
     get_hll_global $P21, ["NQP"], "Regex"
     find_lex $P22, "%*LANG"
-    unless_null $P22, vivify_337
+    unless_null $P22, vivify_343
     get_hll_global $P22, "%LANG"
-    unless_null $P22, vivify_338
+    unless_null $P22, vivify_344
     die "Contextual %*LANG not found"
-  vivify_338:
+  vivify_344:
     store_lex "%*LANG", $P22
-  vivify_337:
+  vivify_343:
     set $P22["Regex"], $P21
-.annotate "line", 7
+.annotate 'line', 7
     get_hll_global $P23, ["NQP"], "RegexActions"
     find_lex $P24, "%*LANG"
-    unless_null $P24, vivify_339
+    unless_null $P24, vivify_345
     get_hll_global $P24, "%LANG"
-    unless_null $P24, vivify_340
+    unless_null $P24, vivify_346
     die "Contextual %*LANG not found"
-  vivify_340:
+  vivify_346:
     store_lex "%*LANG", $P24
-  vivify_339:
+  vivify_345:
     set $P24["Regex-actions"], $P23
-.annotate "line", 8
+.annotate 'line', 8
     get_hll_global $P25, ["NQP"], "Grammar"
     find_lex $P26, "%*LANG"
-    unless_null $P26, vivify_341
+    unless_null $P26, vivify_347
     get_hll_global $P26, "%LANG"
-    unless_null $P26, vivify_342
+    unless_null $P26, vivify_348
     die "Contextual %*LANG not found"
-  vivify_342:
+  vivify_348:
     store_lex "%*LANG", $P26
-  vivify_341:
+  vivify_347:
     set $P26["MAIN"], $P25
-.annotate "line", 9
+.annotate 'line', 9
     get_hll_global $P27, ["NQP"], "Actions"
     find_lex $P28, "%*LANG"
-    unless_null $P28, vivify_343
+    unless_null $P28, vivify_349
     get_hll_global $P28, "%LANG"
-    unless_null $P28, vivify_344
+    unless_null $P28, vivify_350
     die "Contextual %*LANG not found"
-  vivify_344:
+  vivify_350:
     store_lex "%*LANG", $P28
-  vivify_343:
+  vivify_349:
     set $P28["MAIN-actions"], $P27
-.annotate "line", 10
+.annotate 'line', 10
     new $P29, "String"
     assign $P29, ""
     store_lex "$*SCOPE", $P29
-.annotate "line", 11
+.annotate 'line', 11
     find_lex $P30, "self"
     $P31 = $P30."comp_unit"()
-.annotate "line", 4
+.annotate 'line', 4
     .return ($P31)
   control_16:
     .local pmc exception 
@@ -480,8 +486,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "identifier"  :subid("13_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx34_tgt
     .local int rx34_pos
     .local int rx34_off
@@ -511,7 +517,7 @@
     set_addr $I10, rxscan38_loop
     rx34_cur."!mark_push"(0, rx34_pos, $I10)
   rxscan38_done:
-.annotate "line", 16
+.annotate 'line', 16
   # rx subrule "ident" subtype=capture negate=
     rx34_cur."!cursor_pos"(rx34_pos)
     $P10 = rx34_cur."ident"()
@@ -524,7 +530,7 @@
     rx34_cur."!cursor_debug"("PASS  ", "identifier", " at pos=", rx34_pos)
     .return (rx34_cur)
   rx34_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx34_rep, rx34_pos, $I10, $P10) = rx34_cur."!mark_fail"(0)
     lt rx34_pos, -1, rx34_done
     eq rx34_pos, -1, rx34_fail
@@ -538,8 +544,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__identifier"  :subid("14_1273866379.28103") :method
+.annotate 'line', 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
     push $P37, $P36
@@ -548,8 +554,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "name"  :subid("15_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx40_tgt
     .local int rx40_pos
     .local int rx40_off
@@ -580,7 +586,7 @@
     set_addr $I10, rxscan43_loop
     rx40_cur."!mark_push"(0, rx40_pos, $I10)
   rxscan43_done:
-.annotate "line", 18
+.annotate 'line', 18
   # rx rxquantr44 ** 1..*
     set_addr $I45, rxquantr44_done
     rx40_cur."!mark_push"(0, -1, $I45)
@@ -608,7 +614,7 @@
     rx40_cur."!cursor_debug"("PASS  ", "name", " at pos=", rx40_pos)
     .return (rx40_cur)
   rx40_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx40_rep, rx40_pos, $I10, $P10) = rx40_cur."!mark_fail"(0)
     lt rx40_pos, -1, rx40_done
     eq rx40_pos, -1, rx40_fail
@@ -622,8 +628,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__name"  :subid("16_1273866379.28103") :method
+.annotate 'line', 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
     .return ($P42)
@@ -631,8 +637,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "deflongname"  :subid("17_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx47_tgt
     .local int rx47_pos
     .local int rx47_off
@@ -663,7 +669,7 @@
     set_addr $I10, rxscan51_loop
     rx47_cur."!mark_push"(0, rx47_pos, $I10)
   rxscan51_done:
-.annotate "line", 21
+.annotate 'line', 21
   # rx subrule "identifier" subtype=capture negate=
     rx47_cur."!cursor_pos"(rx47_pos)
     $P10 = rx47_cur."identifier"()
@@ -684,13 +690,13 @@
     rx47_pos = $P10."pos"()
     (rx47_rep) = rx47_cur."!mark_commit"($I53)
   rxquantr52_done:
-.annotate "line", 20
+.annotate 'line', 20
   # rx pass
     rx47_cur."!cursor_pass"(rx47_pos, "deflongname")
     rx47_cur."!cursor_debug"("PASS  ", "deflongname", " at pos=", rx47_pos)
     .return (rx47_cur)
   rx47_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx47_rep, rx47_pos, $I10, $P10) = rx47_cur."!mark_fail"(0)
     lt rx47_pos, -1, rx47_done
     eq rx47_pos, -1, rx47_fail
@@ -704,8 +710,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__deflongname"  :subid("18_1273866379.28103") :method
+.annotate 'line', 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
     push $P50, $P49
@@ -714,8 +720,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "ENDSTMT"  :subid("19_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx55_tgt
     .local int rx55_pos
     .local int rx55_off
@@ -745,16 +751,16 @@
     set_addr $I10, rxscan58_loop
     rx55_cur."!mark_push"(0, rx55_pos, $I10)
   rxscan58_done:
-.annotate "line", 28
+.annotate 'line', 28
   # rx rxquantr59 ** 0..1
     set_addr $I67, rxquantr59_done
     rx55_cur."!mark_push"(0, rx55_pos, $I67)
   rxquantr59_loop:
   alt60_0:
-.annotate "line", 25
+.annotate 'line', 25
     set_addr $I10, alt60_1
     rx55_cur."!mark_push"(0, rx55_pos, $I10)
-.annotate "line", 26
+.annotate 'line', 26
   # rx rxquantr61 ** 0..*
     set_addr $I62, rxquantr61_done
     rx55_cur."!mark_push"(0, rx55_pos, $I62)
@@ -791,7 +797,7 @@
     unless $P10, rx55_fail
     goto alt60_end
   alt60_1:
-.annotate "line", 27
+.annotate 'line', 27
   # rx rxquantr64 ** 0..1
     set_addr $I65, rxquantr64_done
     rx55_cur."!mark_push"(0, rx55_pos, $I65)
@@ -823,16 +829,16 @@
     $P10 = rx55_cur."MARKER"("endstmt")
     unless $P10, rx55_fail
   alt60_end:
-.annotate "line", 28
+.annotate 'line', 28
     (rx55_rep) = rx55_cur."!mark_commit"($I67)
   rxquantr59_done:
-.annotate "line", 24
+.annotate 'line', 24
   # rx pass
     rx55_cur."!cursor_pass"(rx55_pos, "ENDSTMT")
     rx55_cur."!cursor_debug"("PASS  ", "ENDSTMT", " at pos=", rx55_pos)
     .return (rx55_cur)
   rx55_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx55_rep, rx55_pos, $I10, $P10) = rx55_cur."!mark_fail"(0)
     lt rx55_pos, -1, rx55_done
     eq rx55_pos, -1, rx55_fail
@@ -846,8 +852,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__ENDSTMT"  :subid("20_1273866379.28103") :method
+.annotate 'line', 4
     new $P57, "ResizablePMCArray"
     push $P57, ""
     .return ($P57)
@@ -855,8 +861,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "ws"  :subid("21_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx69_tgt
     .local int rx69_pos
     .local int rx69_off
@@ -887,41 +893,50 @@
     rx69_cur."!mark_push"(0, rx69_pos, $I10)
   rxscan72_done:
   alt73_0:
-.annotate "line", 31
+.annotate 'line', 31
     set_addr $I10, alt73_1
     rx69_cur."!mark_push"(0, rx69_pos, $I10)
-.annotate "line", 32
+.annotate 'line', 32
   # rx subrule "MARKED" subtype=zerowidth negate=
     rx69_cur."!cursor_pos"(rx69_pos)
     $P10 = rx69_cur."MARKED"("ws")
     unless $P10, rx69_fail
     goto alt73_end
   alt73_1:
-.annotate "line", 33
+.annotate 'line', 33
   # rx subrule "ww" subtype=zerowidth negate=1
     rx69_cur."!cursor_pos"(rx69_pos)
     $P10 = rx69_cur."ww"()
     if $P10, rx69_fail
-.annotate "line", 37
+.annotate 'line', 38
   # rx rxquantr74 ** 0..*
-    set_addr $I77, rxquantr74_done
-    rx69_cur."!mark_push"(0, rx69_pos, $I77)
+    set_addr $I81, rxquantr74_done
+    rx69_cur."!mark_push"(0, rx69_pos, $I81)
   rxquantr74_loop:
   alt75_0:
-.annotate "line", 34
+.annotate 'line', 34
     set_addr $I10, alt75_1
     rx69_cur."!mark_push"(0, rx69_pos, $I10)
-  # rx charclass_q s r 1..-1
+  # rx rxquantr76 ** 1..*
+    set_addr $I77, rxquantr76_done
+    rx69_cur."!mark_push"(0, -1, $I77)
+  rxquantr76_loop:
+  # rx enumcharlist negate=0 
+    ge rx69_pos, rx69_eos, rx69_fail
     sub $I10, rx69_pos, rx69_off
-    find_not_cclass $I11, 32, rx69_tgt, $I10, rx69_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx69_fail
-    add rx69_pos, rx69_off, $I11
+    substr $S10, rx69_tgt, $I10, 1
+    index $I11, unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", $S10
+    lt $I11, 0, rx69_fail
+    inc rx69_pos
+    (rx69_rep) = rx69_cur."!mark_commit"($I77)
+    rx69_cur."!mark_push"(rx69_rep, rx69_pos, $I77)
+    goto rxquantr76_loop
+  rxquantr76_done:
     goto alt75_end
   alt75_1:
     set_addr $I10, alt75_2
     rx69_cur."!mark_push"(0, rx69_pos, $I10)
-.annotate "line", 35
+.annotate 'line', 35
   # rx literal  "#"
     add $I11, rx69_pos, 1
     gt $I11, rx69_eos, rx69_fail
@@ -935,39 +950,59 @@
     add rx69_pos, rx69_off, $I11
     goto alt75_end
   alt75_2:
-.annotate "line", 36
+    set_addr $I10, alt75_3
+    rx69_cur."!mark_push"(0, rx69_pos, $I10)
+.annotate 'line', 36
   # rxanchor bol
-    eq rx69_pos, 0, rxanchor76_done
+    eq rx69_pos, 0, rxanchor78_done
     ge rx69_pos, rx69_eos, rx69_fail
     sub $I10, rx69_pos, rx69_off
     dec $I10
     is_cclass $I11, 4096, rx69_tgt, $I10
     unless $I11, rx69_fail
-  rxanchor76_done:
+  rxanchor78_done:
   # rx subrule "pod_comment" subtype=method negate=
     rx69_cur."!cursor_pos"(rx69_pos)
     $P10 = rx69_cur."pod_comment"()
     unless $P10, rx69_fail
     rx69_pos = $P10."pos"()
+    goto alt75_end
+  alt75_3:
+.annotate 'line', 37
+  # rx rxquantr79 ** 1..*
+    set_addr $I80, rxquantr79_done
+    rx69_cur."!mark_push"(0, -1, $I80)
+  rxquantr79_loop:
+  # rx enumcharlist negate=0 
+    ge rx69_pos, rx69_eos, rx69_fail
+    sub $I10, rx69_pos, rx69_off
+    substr $S10, rx69_tgt, $I10, 1
+    index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
+    lt $I11, 0, rx69_fail
+    inc rx69_pos
+    (rx69_rep) = rx69_cur."!mark_commit"($I80)
+    rx69_cur."!mark_push"(rx69_rep, rx69_pos, $I80)
+    goto rxquantr79_loop
+  rxquantr79_done:
   alt75_end:
-.annotate "line", 37
-    (rx69_rep) = rx69_cur."!mark_commit"($I77)
-    rx69_cur."!mark_push"(rx69_rep, rx69_pos, $I77)
+.annotate 'line', 38
+    (rx69_rep) = rx69_cur."!mark_commit"($I81)
+    rx69_cur."!mark_push"(rx69_rep, rx69_pos, $I81)
     goto rxquantr74_loop
   rxquantr74_done:
-.annotate "line", 38
+.annotate 'line', 39
   # rx subrule "MARKER" subtype=zerowidth negate=
     rx69_cur."!cursor_pos"(rx69_pos)
     $P10 = rx69_cur."MARKER"("ws")
     unless $P10, rx69_fail
   alt73_end:
-.annotate "line", 31
+.annotate 'line', 31
   # rx pass
     rx69_cur."!cursor_pass"(rx69_pos, "ws")
     rx69_cur."!cursor_debug"("PASS  ", "ws", " at pos=", rx69_pos)
     .return (rx69_cur)
   rx69_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx69_rep, rx69_pos, $I10, $P10) = rx69_cur."!mark_fail"(0)
     lt rx69_pos, -1, rx69_done
     eq rx69_pos, -1, rx69_fail
@@ -981,8 +1016,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__ws"  :subid("22_1273866379.28103") :method
+.annotate 'line', 4
     new $P71, "ResizablePMCArray"
     push $P71, ""
     push $P71, ""
@@ -991,1607 +1026,1505 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .const 'Sub' $P86 = "25_1272816833.94956" 
-    capture_lex $P86
-    .local string rx79_tgt
-    .local int rx79_pos
-    .local int rx79_off
-    .local int rx79_eos
-    .local int rx79_rep
-    .local pmc rx79_cur
-    (rx79_cur, rx79_pos, rx79_tgt) = self."!cursor_start"()
-    rx79_cur."!cursor_debug"("START ", "unv")
-    .lex unicode:"$\x{a2}", rx79_cur
-    .local pmc match
-    .lex "$/", match
-    length rx79_eos, rx79_tgt
-    set rx79_off, 0
-    lt rx79_pos, 2, rx79_start
-    sub rx79_off, rx79_pos, 1
-    substr rx79_tgt, rx79_tgt, rx79_off
-  rx79_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan82_done
-    goto rxscan82_scan
-  rxscan82_loop:
-    ($P10) = rx79_cur."from"()
-    inc $P10
-    set rx79_pos, $P10
-    ge rx79_pos, rx79_eos, rxscan82_done
-  rxscan82_scan:
-    set_addr $I10, rxscan82_loop
-    rx79_cur."!mark_push"(0, rx79_pos, $I10)
-  rxscan82_done:
-  alt83_0:
-.annotate "line", 43
-    set_addr $I10, alt83_1
-    rx79_cur."!mark_push"(0, rx79_pos, $I10)
-.annotate "line", 44
+.sub "unv"  :subid("23_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .const 'Sub' $P90 = "25_1273866379.28103" 
+    capture_lex $P90
+    .local string rx83_tgt
+    .local int rx83_pos
+    .local int rx83_off
+    .local int rx83_eos
+    .local int rx83_rep
+    .local pmc rx83_cur
+    (rx83_cur, rx83_pos, rx83_tgt) = self."!cursor_start"()
+    rx83_cur."!cursor_debug"("START ", "unv")
+    .lex unicode:"$\x{a2}", rx83_cur
+    .local pmc match
+    .lex "$/", match
+    length rx83_eos, rx83_tgt
+    set rx83_off, 0
+    lt rx83_pos, 2, rx83_start
+    sub rx83_off, rx83_pos, 1
+    substr rx83_tgt, rx83_tgt, rx83_off
+  rx83_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan86_done
+    goto rxscan86_scan
+  rxscan86_loop:
+    ($P10) = rx83_cur."from"()
+    inc $P10
+    set rx83_pos, $P10
+    ge rx83_pos, rx83_eos, rxscan86_done
+  rxscan86_scan:
+    set_addr $I10, rxscan86_loop
+    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+  rxscan86_done:
+  alt87_0:
+.annotate 'line', 44
+    set_addr $I10, alt87_1
+    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+.annotate 'line', 45
   # rxanchor bol
-    eq rx79_pos, 0, rxanchor84_done
-    ge rx79_pos, rx79_eos, rx79_fail
-    sub $I10, rx79_pos, rx79_off
+    eq rx83_pos, 0, rxanchor88_done
+    ge rx83_pos, rx83_eos, rx83_fail
+    sub $I10, rx83_pos, rx83_off
     dec $I10
-    is_cclass $I11, 4096, rx79_tgt, $I10
-    unless $I11, rx79_fail
-  rxanchor84_done:
+    is_cclass $I11, 4096, rx83_tgt, $I10
+    unless $I11, rx83_fail
+  rxanchor88_done:
   # rx subrule "before" subtype=zerowidth negate=
-    rx79_cur."!cursor_pos"(rx79_pos)
-    .const 'Sub' $P86 = "25_1272816833.94956" 
-    capture_lex $P86
-    $P10 = rx79_cur."before"($P86)
-    unless $P10, rx79_fail
+    rx83_cur."!cursor_pos"(rx83_pos)
+    .const 'Sub' $P90 = "25_1273866379.28103" 
+    capture_lex $P90
+    $P10 = rx83_cur."before"($P90)
+    unless $P10, rx83_fail
   # rx subrule "pod_comment" subtype=method negate=
-    rx79_cur."!cursor_pos"(rx79_pos)
-    $P10 = rx79_cur."pod_comment"()
-    unless $P10, rx79_fail
-    rx79_pos = $P10."pos"()
-    goto alt83_end
-  alt83_1:
-    set_addr $I10, alt83_2
-    rx79_cur."!mark_push"(0, rx79_pos, $I10)
-.annotate "line", 45
-  # rx rxquantr92 ** 0..*
-    set_addr $I93, rxquantr92_done
-    rx79_cur."!mark_push"(0, rx79_pos, $I93)
-  rxquantr92_loop:
+    rx83_cur."!cursor_pos"(rx83_pos)
+    $P10 = rx83_cur."pod_comment"()
+    unless $P10, rx83_fail
+    rx83_pos = $P10."pos"()
+    goto alt87_end
+  alt87_1:
+    set_addr $I10, alt87_2
+    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+.annotate 'line', 46
+  # rx rxquantr96 ** 0..*
+    set_addr $I97, rxquantr96_done
+    rx83_cur."!mark_push"(0, rx83_pos, $I97)
+  rxquantr96_loop:
   # rx enumcharlist negate=0 
-    ge rx79_pos, rx79_eos, rx79_fail
-    sub $I10, rx79_pos, rx79_off
-    substr $S10, rx79_tgt, $I10, 1
+    ge rx83_pos, rx83_eos, rx83_fail
+    sub $I10, rx83_pos, rx83_off
+    substr $S10, rx83_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx79_fail
-    inc rx79_pos
-    (rx79_rep) = rx79_cur."!mark_commit"($I93)
-    rx79_cur."!mark_push"(rx79_rep, rx79_pos, $I93)
-    goto rxquantr92_loop
-  rxquantr92_done:
+    lt $I11, 0, rx83_fail
+    inc rx83_pos
+    (rx83_rep) = rx83_cur."!mark_commit"($I97)
+    rx83_cur."!mark_push"(rx83_rep, rx83_pos, $I97)
+    goto rxquantr96_loop
+  rxquantr96_done:
   # rx literal  "#"
-    add $I11, rx79_pos, 1
-    gt $I11, rx79_eos, rx79_fail
-    sub $I11, rx79_pos, rx79_off
-    substr $S10, rx79_tgt, $I11, 1
-    ne $S10, "#", rx79_fail
-    add rx79_pos, 1
+    add $I11, rx83_pos, 1
+    gt $I11, rx83_eos, rx83_fail
+    sub $I11, rx83_pos, rx83_off
+    substr $S10, rx83_tgt, $I11, 1
+    ne $S10, "#", rx83_fail
+    add rx83_pos, 1
   # rx charclass_q N r 0..-1
-    sub $I10, rx79_pos, rx79_off
-    find_cclass $I11, 4096, rx79_tgt, $I10, rx79_eos
-    add rx79_pos, rx79_off, $I11
-    goto alt83_end
-  alt83_2:
-.annotate "line", 46
-  # rx rxquantr94 ** 1..*
-    set_addr $I95, rxquantr94_done
-    rx79_cur."!mark_push"(0, -1, $I95)
-  rxquantr94_loop:
+    sub $I10, rx83_pos, rx83_off
+    find_cclass $I11, 4096, rx83_tgt, $I10, rx83_eos
+    add rx83_pos, rx83_off, $I11
+    goto alt87_end
+  alt87_2:
+.annotate 'line', 47
+  # rx rxquantr98 ** 1..*
+    set_addr $I99, rxquantr98_done
+    rx83_cur."!mark_push"(0, -1, $I99)
+  rxquantr98_loop:
   # rx enumcharlist negate=0 
-    ge rx79_pos, rx79_eos, rx79_fail
-    sub $I10, rx79_pos, rx79_off
-    substr $S10, rx79_tgt, $I10, 1
+    ge rx83_pos, rx83_eos, rx83_fail
+    sub $I10, rx83_pos, rx83_off
+    substr $S10, rx83_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx79_fail
-    inc rx79_pos
-    (rx79_rep) = rx79_cur."!mark_commit"($I95)
-    rx79_cur."!mark_push"(rx79_rep, rx79_pos, $I95)
-    goto rxquantr94_loop
-  rxquantr94_done:
-  alt83_end:
-.annotate "line", 41
-  # rx pass
-    rx79_cur."!cursor_pass"(rx79_pos, "unv")
-    rx79_cur."!cursor_debug"("PASS  ", "unv", " at pos=", rx79_pos)
-    .return (rx79_cur)
-  rx79_fail:
-.annotate "line", 4
-    (rx79_rep, rx79_pos, $I10, $P10) = rx79_cur."!mark_fail"(0)
-    lt rx79_pos, -1, rx79_done
-    eq rx79_pos, -1, rx79_fail
-    jump $I10
-  rx79_done:
-    rx79_cur."!cursor_fail"()
-    rx79_cur."!cursor_debug"("FAIL  ", "unv")
-    .return (rx79_cur)
+    lt $I11, 0, rx83_fail
+    inc rx83_pos
+    (rx83_rep) = rx83_cur."!mark_commit"($I99)
+    rx83_cur."!mark_push"(rx83_rep, rx83_pos, $I99)
+    goto rxquantr98_loop
+  rxquantr98_done:
+  alt87_end:
+.annotate 'line', 42
+  # rx pass
+    rx83_cur."!cursor_pass"(rx83_pos, "unv")
+    rx83_cur."!cursor_debug"("PASS  ", "unv", " at pos=", rx83_pos)
+    .return (rx83_cur)
+  rx83_fail:
+.annotate 'line', 4
+    (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
+    lt rx83_pos, -1, rx83_done
+    eq rx83_pos, -1, rx83_fail
+    jump $I10
+  rx83_done:
+    rx83_cur."!cursor_fail"()
+    rx83_cur."!cursor_debug"("FAIL  ", "unv")
+    .return (rx83_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1272816833.94956") :method
-.annotate "line", 4
-    new $P81, "ResizablePMCArray"
-    push $P81, ""
-    push $P81, ""
-    push $P81, ""
-    .return ($P81)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "_block85"  :anon :subid("25_1272816833.94956") :method :outer("23_1272816833.94956")
-.annotate "line", 44
-    .local string rx87_tgt
-    .local int rx87_pos
-    .local int rx87_off
-    .local int rx87_eos
-    .local int rx87_rep
-    .local pmc rx87_cur
-    (rx87_cur, rx87_pos, rx87_tgt) = self."!cursor_start"()
-    rx87_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx87_cur
-    .local pmc match
-    .lex "$/", match
-    length rx87_eos, rx87_tgt
-    set rx87_off, 0
-    lt rx87_pos, 2, rx87_start
-    sub rx87_off, rx87_pos, 1
-    substr rx87_tgt, rx87_tgt, rx87_off
-  rx87_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan88_done
-    goto rxscan88_scan
-  rxscan88_loop:
-    ($P10) = rx87_cur."from"()
-    inc $P10
-    set rx87_pos, $P10
-    ge rx87_pos, rx87_eos, rxscan88_done
-  rxscan88_scan:
-    set_addr $I10, rxscan88_loop
-    rx87_cur."!mark_push"(0, rx87_pos, $I10)
-  rxscan88_done:
-  # rx rxquantr89 ** 0..*
-    set_addr $I90, rxquantr89_done
-    rx87_cur."!mark_push"(0, rx87_pos, $I90)
-  rxquantr89_loop:
+.sub "!PREFIX__unv"  :subid("24_1273866379.28103") :method
+.annotate 'line', 4
+    new $P85, "ResizablePMCArray"
+    push $P85, ""
+    push $P85, ""
+    push $P85, ""
+    .return ($P85)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "_block89"  :anon :subid("25_1273866379.28103") :method :outer("23_1273866379.28103")
+.annotate 'line', 45
+    .local string rx91_tgt
+    .local int rx91_pos
+    .local int rx91_off
+    .local int rx91_eos
+    .local int rx91_rep
+    .local pmc rx91_cur
+    (rx91_cur, rx91_pos, rx91_tgt) = self."!cursor_start"()
+    rx91_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx91_cur
+    .local pmc match
+    .lex "$/", match
+    length rx91_eos, rx91_tgt
+    set rx91_off, 0
+    lt rx91_pos, 2, rx91_start
+    sub rx91_off, rx91_pos, 1
+    substr rx91_tgt, rx91_tgt, rx91_off
+  rx91_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan92_done
+    goto rxscan92_scan
+  rxscan92_loop:
+    ($P10) = rx91_cur."from"()
+    inc $P10
+    set rx91_pos, $P10
+    ge rx91_pos, rx91_eos, rxscan92_done
+  rxscan92_scan:
+    set_addr $I10, rxscan92_loop
+    rx91_cur."!mark_push"(0, rx91_pos, $I10)
+  rxscan92_done:
+  # rx rxquantr93 ** 0..*
+    set_addr $I94, rxquantr93_done
+    rx91_cur."!mark_push"(0, rx91_pos, $I94)
+  rxquantr93_loop:
   # rx enumcharlist negate=0 
-    ge rx87_pos, rx87_eos, rx87_fail
-    sub $I10, rx87_pos, rx87_off
-    substr $S10, rx87_tgt, $I10, 1
+    ge rx91_pos, rx91_eos, rx91_fail
+    sub $I10, rx91_pos, rx91_off
+    substr $S10, rx91_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx87_fail
-    inc rx87_pos
-    (rx87_rep) = rx87_cur."!mark_commit"($I90)
-    rx87_cur."!mark_push"(rx87_rep, rx87_pos, $I90)
-    goto rxquantr89_loop
-  rxquantr89_done:
+    lt $I11, 0, rx91_fail
+    inc rx91_pos
+    (rx91_rep) = rx91_cur."!mark_commit"($I94)
+    rx91_cur."!mark_push"(rx91_rep, rx91_pos, $I94)
+    goto rxquantr93_loop
+  rxquantr93_done:
   # rx literal  "="
-    add $I11, rx87_pos, 1
-    gt $I11, rx87_eos, rx87_fail
-    sub $I11, rx87_pos, rx87_off
-    substr $S10, rx87_tgt, $I11, 1
-    ne $S10, "=", rx87_fail
-    add rx87_pos, 1
-  alt91_0:
-    set_addr $I10, alt91_1
-    rx87_cur."!mark_push"(0, rx87_pos, $I10)
+    add $I11, rx91_pos, 1
+    gt $I11, rx91_eos, rx91_fail
+    sub $I11, rx91_pos, rx91_off
+    substr $S10, rx91_tgt, $I11, 1
+    ne $S10, "=", rx91_fail
+    add rx91_pos, 1
+  alt95_0:
+    set_addr $I10, alt95_1
+    rx91_cur."!mark_push"(0, rx91_pos, $I10)
   # rx charclass w
-    ge rx87_pos, rx87_eos, rx87_fail
-    sub $I10, rx87_pos, rx87_off
-    is_cclass $I11, 8192, rx87_tgt, $I10
-    unless $I11, rx87_fail
-    inc rx87_pos
-    goto alt91_end
-  alt91_1:
+    ge rx91_pos, rx91_eos, rx91_fail
+    sub $I10, rx91_pos, rx91_off
+    is_cclass $I11, 8192, rx91_tgt, $I10
+    unless $I11, rx91_fail
+    inc rx91_pos
+    goto alt95_end
+  alt95_1:
   # rx literal  "\\"
-    add $I11, rx87_pos, 1
-    gt $I11, rx87_eos, rx87_fail
-    sub $I11, rx87_pos, rx87_off
-    substr $S10, rx87_tgt, $I11, 1
-    ne $S10, "\\", rx87_fail
-    add rx87_pos, 1
-  alt91_end:
-  # rx pass
-    rx87_cur."!cursor_pass"(rx87_pos, "")
-    rx87_cur."!cursor_debug"("PASS  ", "", " at pos=", rx87_pos)
-    .return (rx87_cur)
-  rx87_fail:
-    (rx87_rep, rx87_pos, $I10, $P10) = rx87_cur."!mark_fail"(0)
-    lt rx87_pos, -1, rx87_done
-    eq rx87_pos, -1, rx87_fail
-    jump $I10
-  rx87_done:
-    rx87_cur."!cursor_fail"()
-    rx87_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx87_cur)
+    add $I11, rx91_pos, 1
+    gt $I11, rx91_eos, rx91_fail
+    sub $I11, rx91_pos, rx91_off
+    substr $S10, rx91_tgt, $I11, 1
+    ne $S10, "\\", rx91_fail
+    add rx91_pos, 1
+  alt95_end:
+  # rx pass
+    rx91_cur."!cursor_pass"(rx91_pos, "")
+    rx91_cur."!cursor_debug"("PASS  ", "", " at pos=", rx91_pos)
+    .return (rx91_cur)
+  rx91_fail:
+    (rx91_rep, rx91_pos, $I10, $P10) = rx91_cur."!mark_fail"(0)
+    lt rx91_pos, -1, rx91_done
+    eq rx91_pos, -1, rx91_fail
+    jump $I10
+  rx91_done:
+    rx91_cur."!cursor_fail"()
+    rx91_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx91_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .const 'Sub' $P133 = "28_1272816833.94956" 
-    capture_lex $P133
-    .local string rx97_tgt
-    .local int rx97_pos
-    .local int rx97_off
-    .local int rx97_eos
-    .local int rx97_rep
-    .local pmc rx97_cur
-    (rx97_cur, rx97_pos, rx97_tgt) = self."!cursor_start"()
-    rx97_cur."!cursor_debug"("START ", "pod_comment")
-    .lex unicode:"$\x{a2}", rx97_cur
-    .local pmc match
-    .lex "$/", match
-    length rx97_eos, rx97_tgt
-    set rx97_off, 0
-    lt rx97_pos, 2, rx97_start
-    sub rx97_off, rx97_pos, 1
-    substr rx97_tgt, rx97_tgt, rx97_off
-  rx97_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan100_done
-    goto rxscan100_scan
-  rxscan100_loop:
-    ($P10) = rx97_cur."from"()
-    inc $P10
-    set rx97_pos, $P10
-    ge rx97_pos, rx97_eos, rxscan100_done
-  rxscan100_scan:
-    set_addr $I10, rxscan100_loop
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-  rxscan100_done:
-.annotate "line", 51
+.sub "pod_comment"  :subid("26_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .const 'Sub' $P141 = "28_1273866379.28103" 
+    capture_lex $P141
+    .local string rx101_tgt
+    .local int rx101_pos
+    .local int rx101_off
+    .local int rx101_eos
+    .local int rx101_rep
+    .local pmc rx101_cur
+    (rx101_cur, rx101_pos, rx101_tgt) = self."!cursor_start"()
+    rx101_cur."!cursor_debug"("START ", "pod_comment")
+    .lex unicode:"$\x{a2}", rx101_cur
+    .local pmc match
+    .lex "$/", match
+    length rx101_eos, rx101_tgt
+    set rx101_off, 0
+    lt rx101_pos, 2, rx101_start
+    sub rx101_off, rx101_pos, 1
+    substr rx101_tgt, rx101_tgt, rx101_off
+  rx101_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan104_done
+    goto rxscan104_scan
+  rxscan104_loop:
+    ($P10) = rx101_cur."from"()
+    inc $P10
+    set rx101_pos, $P10
+    ge rx101_pos, rx101_eos, rxscan104_done
+  rxscan104_scan:
+    set_addr $I10, rxscan104_loop
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+  rxscan104_done:
+.annotate 'line', 52
   # rxanchor bol
-    eq rx97_pos, 0, rxanchor101_done
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
+    eq rx101_pos, 0, rxanchor105_done
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
     dec $I10
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    unless $I11, rx97_fail
-  rxanchor101_done:
-  # rx rxquantr102 ** 0..*
-    set_addr $I103, rxquantr102_done
-    rx97_cur."!mark_push"(0, rx97_pos, $I103)
-  rxquantr102_loop:
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    unless $I11, rx101_fail
+  rxanchor105_done:
+  # rx rxquantr106 ** 0..*
+    set_addr $I107, rxquantr106_done
+    rx101_cur."!mark_push"(0, rx101_pos, $I107)
+  rxquantr106_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I103)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I103)
-    goto rxquantr102_loop
-  rxquantr102_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I107)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I107)
+    goto rxquantr106_loop
+  rxquantr106_done:
   # rx literal  "="
-    add $I11, rx97_pos, 1
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 1
-    ne $S10, "=", rx97_fail
-    add rx97_pos, 1
-  alt104_0:
-.annotate "line", 52
-    set_addr $I10, alt104_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 53
+    add $I11, rx101_pos, 1
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 1
+    ne $S10, "=", rx101_fail
+    add rx101_pos, 1
+  alt108_0:
+.annotate 'line', 53
+    set_addr $I10, alt108_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 54
   # rx literal  "begin"
-    add $I11, rx97_pos, 5
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 5
-    ne $S10, "begin", rx97_fail
-    add rx97_pos, 5
-  # rx rxquantr105 ** 1..*
-    set_addr $I106, rxquantr105_done
-    rx97_cur."!mark_push"(0, -1, $I106)
-  rxquantr105_loop:
+    add $I11, rx101_pos, 5
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 5
+    ne $S10, "begin", rx101_fail
+    add rx101_pos, 5
+  # rx rxquantr109 ** 1..*
+    set_addr $I110, rxquantr109_done
+    rx101_cur."!mark_push"(0, -1, $I110)
+  rxquantr109_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I106)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I106)
-    goto rxquantr105_loop
-  rxquantr105_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I110)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I110)
+    goto rxquantr109_loop
+  rxquantr109_done:
   # rx literal  "END"
-    add $I11, rx97_pos, 3
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 3
-    ne $S10, "END", rx97_fail
-    add rx97_pos, 3
+    add $I11, rx101_pos, 3
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 3
+    ne $S10, "END", rx101_fail
+    add rx101_pos, 3
   # rxanchor rwb
-    le rx97_pos, 0, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    if $I11, rx97_fail
+    le rx101_pos, 0, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    if $I11, rx101_fail
     dec $I10
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    unless $I11, rx97_fail
-  alt107_0:
-.annotate "line", 54
-    set_addr $I10, alt107_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-  # rx rxquantf108 ** 0..*
-    set_addr $I10, rxquantf108_loop
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-    goto rxquantf108_done
-  rxquantf108_loop:
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    unless $I11, rx101_fail
+  alt111_0:
+.annotate 'line', 55
+    set_addr $I10, alt111_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+  # rx rxquantf112 ** 0..*
+    set_addr $I10, rxquantf112_loop
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+    goto rxquantf112_done
+  rxquantf112_loop:
   # rx charclass .
-    ge rx97_pos, rx97_eos, rx97_fail
-    inc rx97_pos
-    set_addr $I10, rxquantf108_loop
-    rx97_cur."!mark_push"($I109, rx97_pos, $I10)
-  rxquantf108_done:
+    ge rx101_pos, rx101_eos, rx101_fail
+    inc rx101_pos
+    set_addr $I10, rxquantf112_loop
+    rx101_cur."!mark_push"($I113, rx101_pos, $I10)
+  rxquantf112_done:
   # rx charclass nl
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    unless $I11, rx97_fail
-    substr $S10, rx97_tgt, $I10, 2
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    unless $I11, rx101_fail
+    substr $S10, rx101_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx97_pos, $I11
-    inc rx97_pos
+    add rx101_pos, $I11
+    inc rx101_pos
+  # rx rxquantr114 ** 0..*
+    set_addr $I115, rxquantr114_done
+    rx101_cur."!mark_push"(0, rx101_pos, $I115)
+  rxquantr114_loop:
+  # rx enumcharlist negate=0 
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
+    index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I115)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I115)
+    goto rxquantr114_loop
+  rxquantr114_done:
   # rx literal  "=end"
-    add $I11, rx97_pos, 4
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 4
-    ne $S10, "=end", rx97_fail
-    add rx97_pos, 4
-  # rx rxquantr110 ** 1..*
-    set_addr $I111, rxquantr110_done
-    rx97_cur."!mark_push"(0, -1, $I111)
-  rxquantr110_loop:
+    add $I11, rx101_pos, 4
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 4
+    ne $S10, "=end", rx101_fail
+    add rx101_pos, 4
+  # rx rxquantr116 ** 1..*
+    set_addr $I117, rxquantr116_done
+    rx101_cur."!mark_push"(0, -1, $I117)
+  rxquantr116_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I111)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I111)
-    goto rxquantr110_loop
-  rxquantr110_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I117)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I117)
+    goto rxquantr116_loop
+  rxquantr116_done:
   # rx literal  "END"
-    add $I11, rx97_pos, 3
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 3
-    ne $S10, "END", rx97_fail
-    add rx97_pos, 3
+    add $I11, rx101_pos, 3
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 3
+    ne $S10, "END", rx101_fail
+    add rx101_pos, 3
   # rxanchor rwb
-    le rx97_pos, 0, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    if $I11, rx97_fail
+    le rx101_pos, 0, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    if $I11, rx101_fail
     dec $I10
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    unless $I11, rx97_fail
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    unless $I11, rx101_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx97_pos, rx97_off
-    find_cclass $I11, 4096, rx97_tgt, $I10, rx97_eos
-    add rx97_pos, rx97_off, $I11
-    goto alt107_end
-  alt107_1:
+    sub $I10, rx101_pos, rx101_off
+    find_cclass $I11, 4096, rx101_tgt, $I10, rx101_eos
+    add rx101_pos, rx101_off, $I11
+    goto alt111_end
+  alt111_1:
   # rx charclass_q . r 0..-1
-    sub $I10, rx97_pos, rx97_off
-    find_not_cclass $I11, 65535, rx97_tgt, $I10, rx97_eos
-    add rx97_pos, rx97_off, $I11
-  alt107_end:
-.annotate "line", 53
-    goto alt104_end
-  alt104_1:
-    set_addr $I10, alt104_2
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 55
+    sub $I10, rx101_pos, rx101_off
+    find_not_cclass $I11, 65535, rx101_tgt, $I10, rx101_eos
+    add rx101_pos, rx101_off, $I11
+  alt111_end:
+.annotate 'line', 54
+    goto alt108_end
+  alt108_1:
+    set_addr $I10, alt108_2
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 56
   # rx literal  "begin"
-    add $I11, rx97_pos, 5
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 5
-    ne $S10, "begin", rx97_fail
-    add rx97_pos, 5
-  # rx rxquantr112 ** 1..*
-    set_addr $I113, rxquantr112_done
-    rx97_cur."!mark_push"(0, -1, $I113)
-  rxquantr112_loop:
+    add $I11, rx101_pos, 5
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 5
+    ne $S10, "begin", rx101_fail
+    add rx101_pos, 5
+  # rx rxquantr118 ** 1..*
+    set_addr $I119, rxquantr118_done
+    rx101_cur."!mark_push"(0, -1, $I119)
+  rxquantr118_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I113)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I113)
-    goto rxquantr112_loop
-  rxquantr112_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I119)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I119)
+    goto rxquantr118_loop
+  rxquantr118_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."identifier"()
-    unless $P10, rx97_fail
-    rx97_cur."!mark_push"(0, -1, 0, $P10)
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."identifier"()
+    unless $P10, rx101_fail
+    rx101_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx97_pos = $P10."pos"()
-  alt114_0:
-.annotate "line", 56
-    set_addr $I10, alt114_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 57
-  # rx rxquantf115 ** 0..*
-    set_addr $I10, rxquantf115_loop
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-    goto rxquantf115_done
-  rxquantf115_loop:
+    rx101_pos = $P10."pos"()
+  alt120_0:
+.annotate 'line', 57
+    set_addr $I10, alt120_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 58
+  # rx rxquantf121 ** 0..*
+    set_addr $I10, rxquantf121_loop
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+    goto rxquantf121_done
+  rxquantf121_loop:
   # rx charclass .
-    ge rx97_pos, rx97_eos, rx97_fail
-    inc rx97_pos
-    set_addr $I10, rxquantf115_loop
-    rx97_cur."!mark_push"($I116, rx97_pos, $I10)
-  rxquantf115_done:
+    ge rx101_pos, rx101_eos, rx101_fail
+    inc rx101_pos
+    set_addr $I10, rxquantf121_loop
+    rx101_cur."!mark_push"($I122, rx101_pos, $I10)
+  rxquantf121_done:
   # rx charclass nl
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    unless $I11, rx97_fail
-    substr $S10, rx97_tgt, $I10, 2
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    unless $I11, rx101_fail
+    substr $S10, rx101_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx97_pos, $I11
-    inc rx97_pos
+    add rx101_pos, $I11
+    inc rx101_pos
+  # rx rxquantr123 ** 0..*
+    set_addr $I124, rxquantr123_done
+    rx101_cur."!mark_push"(0, rx101_pos, $I124)
+  rxquantr123_loop:
+  # rx enumcharlist negate=0 
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
+    index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I124)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I124)
+    goto rxquantr123_loop
+  rxquantr123_done:
   # rx literal  "=end"
-    add $I11, rx97_pos, 4
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 4
-    ne $S10, "=end", rx97_fail
-    add rx97_pos, 4
-  # rx rxquantr117 ** 1..*
-    set_addr $I118, rxquantr117_done
-    rx97_cur."!mark_push"(0, -1, $I118)
-  rxquantr117_loop:
+    add $I11, rx101_pos, 4
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 4
+    ne $S10, "=end", rx101_fail
+    add rx101_pos, 4
+  # rx rxquantr125 ** 1..*
+    set_addr $I126, rxquantr125_done
+    rx101_cur."!mark_push"(0, -1, $I126)
+  rxquantr125_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I118)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I118)
-    goto rxquantr117_loop
-  rxquantr117_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I126)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I126)
+    goto rxquantr125_loop
+  rxquantr125_done:
   # rx subrule "!BACKREF" subtype=method negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."!BACKREF"("identifier")
-    unless $P10, rx97_fail
-    rx97_pos = $P10."pos"()
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."!BACKREF"("identifier")
+    unless $P10, rx101_fail
+    rx101_pos = $P10."pos"()
   # rxanchor rwb
-    le rx97_pos, 0, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    if $I11, rx97_fail
+    le rx101_pos, 0, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    if $I11, rx101_fail
     dec $I10
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    unless $I11, rx97_fail
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    unless $I11, rx101_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx97_pos, rx97_off
-    find_cclass $I11, 4096, rx97_tgt, $I10, rx97_eos
-    add rx97_pos, rx97_off, $I11
-    goto alt114_end
-  alt114_1:
-.annotate "line", 58
+    sub $I10, rx101_pos, rx101_off
+    find_cclass $I11, 4096, rx101_tgt, $I10, rx101_eos
+    add rx101_pos, rx101_off, $I11
+    goto alt120_end
+  alt120_1:
+.annotate 'line', 59
   # rx subrule "panic" subtype=method negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."panic"("=begin without matching =end")
-    unless $P10, rx97_fail
-    rx97_pos = $P10."pos"()
-  alt114_end:
-.annotate "line", 55
-    goto alt104_end
-  alt104_2:
-    set_addr $I10, alt104_3
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 60
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."panic"("=begin without matching =end")
+    unless $P10, rx101_fail
+    rx101_pos = $P10."pos"()
+  alt120_end:
+.annotate 'line', 56
+    goto alt108_end
+  alt108_2:
+    set_addr $I10, alt108_3
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 61
   # rx literal  "begin"
-    add $I11, rx97_pos, 5
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 5
-    ne $S10, "begin", rx97_fail
-    add rx97_pos, 5
+    add $I11, rx101_pos, 5
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 5
+    ne $S10, "begin", rx101_fail
+    add rx101_pos, 5
   # rxanchor rwb
-    le rx97_pos, 0, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    if $I11, rx97_fail
+    le rx101_pos, 0, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    if $I11, rx101_fail
     dec $I10
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    unless $I11, rx97_fail
-  # rx rxquantr120 ** 0..*
-    set_addr $I121, rxquantr120_done
-    rx97_cur."!mark_push"(0, rx97_pos, $I121)
-  rxquantr120_loop:
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    unless $I11, rx101_fail
+  # rx rxquantr128 ** 0..*
+    set_addr $I129, rxquantr128_done
+    rx101_cur."!mark_push"(0, rx101_pos, $I129)
+  rxquantr128_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I121)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I121)
-    goto rxquantr120_loop
-  rxquantr120_done:
-  alt122_0:
-.annotate "line", 61
-    set_addr $I10, alt122_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I129)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I129)
+    goto rxquantr128_loop
+  rxquantr128_done:
+  alt130_0:
+.annotate 'line', 62
+    set_addr $I10, alt130_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
   # rxanchor eol
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    if $I11, rxanchor123_done
-    ne rx97_pos, rx97_eos, rx97_fail
-    eq rx97_pos, 0, rxanchor123_done
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    if $I11, rxanchor131_done
+    ne rx101_pos, rx101_eos, rx101_fail
+    eq rx101_pos, 0, rxanchor131_done
     dec $I10
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    if $I11, rx97_fail
-  rxanchor123_done:
-    goto alt122_end
-  alt122_1:
-    set_addr $I10, alt122_2
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    if $I11, rx101_fail
+  rxanchor131_done:
+    goto alt130_end
+  alt130_1:
+    set_addr $I10, alt130_2
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
   # rx literal  "#"
-    add $I11, rx97_pos, 1
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 1
-    ne $S10, "#", rx97_fail
-    add rx97_pos, 1
-    goto alt122_end
-  alt122_2:
+    add $I11, rx101_pos, 1
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 1
+    ne $S10, "#", rx101_fail
+    add rx101_pos, 1
+    goto alt130_end
+  alt130_2:
   # rx subrule "panic" subtype=method negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."panic"("Unrecognized token after =begin")
-    unless $P10, rx97_fail
-    rx97_pos = $P10."pos"()
-  alt122_end:
-  alt124_0:
-.annotate "line", 62
-    set_addr $I10, alt124_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 63
-  # rx rxquantf125 ** 0..*
-    set_addr $I10, rxquantf125_loop
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-    goto rxquantf125_done
-  rxquantf125_loop:
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."panic"("Unrecognized token after =begin")
+    unless $P10, rx101_fail
+    rx101_pos = $P10."pos"()
+  alt130_end:
+  alt132_0:
+.annotate 'line', 63
+    set_addr $I10, alt132_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 64
+  # rx rxquantf133 ** 0..*
+    set_addr $I10, rxquantf133_loop
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+    goto rxquantf133_done
+  rxquantf133_loop:
   # rx charclass .
-    ge rx97_pos, rx97_eos, rx97_fail
-    inc rx97_pos
-    set_addr $I10, rxquantf125_loop
-    rx97_cur."!mark_push"($I126, rx97_pos, $I10)
-  rxquantf125_done:
+    ge rx101_pos, rx101_eos, rx101_fail
+    inc rx101_pos
+    set_addr $I10, rxquantf133_loop
+    rx101_cur."!mark_push"($I134, rx101_pos, $I10)
+  rxquantf133_done:
   # rx charclass nl
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    unless $I11, rx97_fail
-    substr $S10, rx97_tgt, $I10, 2
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    unless $I11, rx101_fail
+    substr $S10, rx101_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx97_pos, $I11
-    inc rx97_pos
-  # rx rxquantr127 ** 0..*
-    set_addr $I128, rxquantr127_done
-    rx97_cur."!mark_push"(0, rx97_pos, $I128)
-  rxquantr127_loop:
+    add rx101_pos, $I11
+    inc rx101_pos
+  # rx rxquantr135 ** 0..*
+    set_addr $I136, rxquantr135_done
+    rx101_cur."!mark_push"(0, rx101_pos, $I136)
+  rxquantr135_loop:
   # rx enumcharlist negate=0 
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I10, 1
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx97_fail
-    inc rx97_pos
-    (rx97_rep) = rx97_cur."!mark_commit"($I128)
-    rx97_cur."!mark_push"(rx97_rep, rx97_pos, $I128)
-    goto rxquantr127_loop
-  rxquantr127_done:
+    lt $I11, 0, rx101_fail
+    inc rx101_pos
+    (rx101_rep) = rx101_cur."!mark_commit"($I136)
+    rx101_cur."!mark_push"(rx101_rep, rx101_pos, $I136)
+    goto rxquantr135_loop
+  rxquantr135_done:
   # rx literal  "=end"
-    add $I11, rx97_pos, 4
-    gt $I11, rx97_eos, rx97_fail
-    sub $I11, rx97_pos, rx97_off
-    substr $S10, rx97_tgt, $I11, 4
-    ne $S10, "=end", rx97_fail
-    add rx97_pos, 4
+    add $I11, rx101_pos, 4
+    gt $I11, rx101_eos, rx101_fail
+    sub $I11, rx101_pos, rx101_off
+    substr $S10, rx101_tgt, $I11, 4
+    ne $S10, "=end", rx101_fail
+    add rx101_pos, 4
   # rxanchor rwb
-    le rx97_pos, 0, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    if $I11, rx97_fail
+    le rx101_pos, 0, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    if $I11, rx101_fail
     dec $I10
-    is_cclass $I11, 8192, rx97_tgt, $I10
-    unless $I11, rx97_fail
+    is_cclass $I11, 8192, rx101_tgt, $I10
+    unless $I11, rx101_fail
   # rx charclass_q N r 0..-1
-    sub $I10, rx97_pos, rx97_off
-    find_cclass $I11, 4096, rx97_tgt, $I10, rx97_eos
-    add rx97_pos, rx97_off, $I11
-    goto alt124_end
-  alt124_1:
-.annotate "line", 64
+    sub $I10, rx101_pos, rx101_off
+    find_cclass $I11, 4096, rx101_tgt, $I10, rx101_eos
+    add rx101_pos, rx101_off, $I11
+    goto alt132_end
+  alt132_1:
+.annotate 'line', 65
   # rx subrule "panic" subtype=method negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."panic"("=begin without matching =end")
-    unless $P10, rx97_fail
-    rx97_pos = $P10."pos"()
-  alt124_end:
-.annotate "line", 60
-    goto alt104_end
-  alt104_3:
-    set_addr $I10, alt104_4
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-.annotate "line", 66
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."panic"("=begin without matching =end")
+    unless $P10, rx101_fail
+    rx101_pos = $P10."pos"()
+  alt132_end:
+.annotate 'line', 61
+    goto alt108_end
+  alt108_3:
+    set_addr $I10, alt108_4
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+.annotate 'line', 67
   # rx subrule "identifier" subtype=capture negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."identifier"()
-    unless $P10, rx97_fail
-    rx97_cur."!mark_push"(0, -1, 0, $P10)
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."identifier"()
+    unless $P10, rx101_fail
+    rx101_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx97_pos = $P10."pos"()
-.annotate "line", 67
-  # rx rxquantf129 ** 0..*
-    set_addr $I10, rxquantf129_loop
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
-    goto rxquantf129_done
-  rxquantf129_loop:
+    rx101_pos = $P10."pos"()
+.annotate 'line', 68
+  # rx rxquantf137 ** 0..*
+    set_addr $I10, rxquantf137_loop
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
+    goto rxquantf137_done
+  rxquantf137_loop:
   # rx charclass .
-    ge rx97_pos, rx97_eos, rx97_fail
-    inc rx97_pos
-    set_addr $I10, rxquantf129_loop
-    rx97_cur."!mark_push"($I130, rx97_pos, $I10)
-  rxquantf129_done:
+    ge rx101_pos, rx101_eos, rx101_fail
+    inc rx101_pos
+    set_addr $I10, rxquantf137_loop
+    rx101_cur."!mark_push"($I138, rx101_pos, $I10)
+  rxquantf137_done:
   # rxanchor bol
-    eq rx97_pos, 0, rxanchor131_done
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
+    eq rx101_pos, 0, rxanchor139_done
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
     dec $I10
-    is_cclass $I11, 4096, rx97_tgt, $I10
-    unless $I11, rx97_fail
-  rxanchor131_done:
+    is_cclass $I11, 4096, rx101_tgt, $I10
+    unless $I11, rx101_fail
+  rxanchor139_done:
   # rx subrule "before" subtype=zerowidth negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    .const 'Sub' $P133 = "28_1272816833.94956" 
-    capture_lex $P133
-    $P10 = rx97_cur."before"($P133)
-    unless $P10, rx97_fail
-.annotate "line", 66
-    goto alt104_end
-  alt104_4:
-  alt141_0:
-.annotate "line", 73
-    set_addr $I10, alt141_1
-    rx97_cur."!mark_push"(0, rx97_pos, $I10)
+    rx101_cur."!cursor_pos"(rx101_pos)
+    .const 'Sub' $P141 = "28_1273866379.28103" 
+    capture_lex $P141
+    $P10 = rx101_cur."before"($P141)
+    unless $P10, rx101_fail
+.annotate 'line', 67
+    goto alt108_end
+  alt108_4:
+  alt149_0:
+.annotate 'line', 74
+    set_addr $I10, alt149_1
+    rx101_cur."!mark_push"(0, rx101_pos, $I10)
   # rx charclass s
-    ge rx97_pos, rx97_eos, rx97_fail
-    sub $I10, rx97_pos, rx97_off
-    is_cclass $I11, 32, rx97_tgt, $I10
-    unless $I11, rx97_fail
-    inc rx97_pos
-    goto alt141_end
-  alt141_1:
+    ge rx101_pos, rx101_eos, rx101_fail
+    sub $I10, rx101_pos, rx101_off
+    is_cclass $I11, 32, rx101_tgt, $I10
+    unless $I11, rx101_fail
+    inc rx101_pos
+    goto alt149_end
+  alt149_1:
   # rx subrule "panic" subtype=method negate=
-    rx97_cur."!cursor_pos"(rx97_pos)
-    $P10 = rx97_cur."panic"("Illegal pod directive")
-    unless $P10, rx97_fail
-    rx97_pos = $P10."pos"()
-  alt141_end:
-.annotate "line", 74
+    rx101_cur."!cursor_pos"(rx101_pos)
+    $P10 = rx101_cur."panic"("Illegal pod directive")
+    unless $P10, rx101_fail
+    rx101_pos = $P10."pos"()
+  alt149_end:
+.annotate 'line', 75
   # rx charclass_q N r 0..-1
-    sub $I10, rx97_pos, rx97_off
-    find_cclass $I11, 4096, rx97_tgt, $I10, rx97_eos
-    add rx97_pos, rx97_off, $I11
-  alt104_end:
-.annotate "line", 50
-  # rx pass
-    rx97_cur."!cursor_pass"(rx97_pos, "pod_comment")
-    rx97_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx97_pos)
-    .return (rx97_cur)
-  rx97_fail:
-.annotate "line", 4
-    (rx97_rep, rx97_pos, $I10, $P10) = rx97_cur."!mark_fail"(0)
-    lt rx97_pos, -1, rx97_done
-    eq rx97_pos, -1, rx97_fail
-    jump $I10
-  rx97_done:
-    rx97_cur."!cursor_fail"()
-    rx97_cur."!cursor_debug"("FAIL  ", "pod_comment")
-    .return (rx97_cur)
+    sub $I10, rx101_pos, rx101_off
+    find_cclass $I11, 4096, rx101_tgt, $I10, rx101_eos
+    add rx101_pos, rx101_off, $I11
+  alt108_end:
+.annotate 'line', 51
+  # rx pass
+    rx101_cur."!cursor_pass"(rx101_pos, "pod_comment")
+    rx101_cur."!cursor_debug"("PASS  ", "pod_comment", " at pos=", rx101_pos)
+    .return (rx101_cur)
+  rx101_fail:
+.annotate 'line', 4
+    (rx101_rep, rx101_pos, $I10, $P10) = rx101_cur."!mark_fail"(0)
+    lt rx101_pos, -1, rx101_done
+    eq rx101_pos, -1, rx101_fail
+    jump $I10
+  rx101_done:
+    rx101_cur."!cursor_fail"()
+    rx101_cur."!cursor_debug"("FAIL  ", "pod_comment")
+    .return (rx101_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1272816833.94956") :method
-.annotate "line", 4
-    new $P99, "ResizablePMCArray"
-    push $P99, ""
-    .return ($P99)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "_block132"  :anon :subid("28_1272816833.94956") :method :outer("26_1272816833.94956")
-.annotate "line", 67
-    .local string rx134_tgt
-    .local int rx134_pos
-    .local int rx134_off
-    .local int rx134_eos
-    .local int rx134_rep
-    .local pmc rx134_cur
-    (rx134_cur, rx134_pos, rx134_tgt) = self."!cursor_start"()
-    rx134_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx134_cur
-    .local pmc match
-    .lex "$/", match
-    length rx134_eos, rx134_tgt
-    set rx134_off, 0
-    lt rx134_pos, 2, rx134_start
-    sub rx134_off, rx134_pos, 1
-    substr rx134_tgt, rx134_tgt, rx134_off
-  rx134_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan135_done
-    goto rxscan135_scan
-  rxscan135_loop:
-    ($P10) = rx134_cur."from"()
-    inc $P10
-    set rx134_pos, $P10
-    ge rx134_pos, rx134_eos, rxscan135_done
-  rxscan135_scan:
-    set_addr $I10, rxscan135_loop
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
-  rxscan135_done:
-  # rx rxquantr136 ** 0..*
-    set_addr $I137, rxquantr136_done
-    rx134_cur."!mark_push"(0, rx134_pos, $I137)
-  rxquantr136_loop:
+.sub "!PREFIX__pod_comment"  :subid("27_1273866379.28103") :method
+.annotate 'line', 4
+    new $P103, "ResizablePMCArray"
+    push $P103, ""
+    .return ($P103)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "_block140"  :anon :subid("28_1273866379.28103") :method :outer("26_1273866379.28103")
+.annotate 'line', 68
+    .local string rx142_tgt
+    .local int rx142_pos
+    .local int rx142_off
+    .local int rx142_eos
+    .local int rx142_rep
+    .local pmc rx142_cur
+    (rx142_cur, rx142_pos, rx142_tgt) = self."!cursor_start"()
+    rx142_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx142_cur
+    .local pmc match
+    .lex "$/", match
+    length rx142_eos, rx142_tgt
+    set rx142_off, 0
+    lt rx142_pos, 2, rx142_start
+    sub rx142_off, rx142_pos, 1
+    substr rx142_tgt, rx142_tgt, rx142_off
+  rx142_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan143_done
+    goto rxscan143_scan
+  rxscan143_loop:
+    ($P10) = rx142_cur."from"()
+    inc $P10
+    set rx142_pos, $P10
+    ge rx142_pos, rx142_eos, rxscan143_done
+  rxscan143_scan:
+    set_addr $I10, rxscan143_loop
+    rx142_cur."!mark_push"(0, rx142_pos, $I10)
+  rxscan143_done:
+  # rx rxquantr144 ** 0..*
+    set_addr $I145, rxquantr144_done
+    rx142_cur."!mark_push"(0, rx142_pos, $I145)
+  rxquantr144_loop:
   # rx enumcharlist negate=0 
-    ge rx134_pos, rx134_eos, rx134_fail
-    sub $I10, rx134_pos, rx134_off
-    substr $S10, rx134_tgt, $I10, 1
+    ge rx142_pos, rx142_eos, rx142_fail
+    sub $I10, rx142_pos, rx142_off
+    substr $S10, rx142_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx134_fail
-    inc rx134_pos
-    (rx134_rep) = rx134_cur."!mark_commit"($I137)
-    rx134_cur."!mark_push"(rx134_rep, rx134_pos, $I137)
-    goto rxquantr136_loop
-  rxquantr136_done:
-  alt138_0:
-    set_addr $I10, alt138_1
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
-.annotate "line", 68
+    lt $I11, 0, rx142_fail
+    inc rx142_pos
+    (rx142_rep) = rx142_cur."!mark_commit"($I145)
+    rx142_cur."!mark_push"(rx142_rep, rx142_pos, $I145)
+    goto rxquantr144_loop
+  rxquantr144_done:
+  alt146_0:
+    set_addr $I10, alt146_1
+    rx142_cur."!mark_push"(0, rx142_pos, $I10)
+.annotate 'line', 69
   # rx literal  "="
-    add $I11, rx134_pos, 1
-    gt $I11, rx134_eos, rx134_fail
-    sub $I11, rx134_pos, rx134_off
-    substr $S10, rx134_tgt, $I11, 1
-    ne $S10, "=", rx134_fail
-    add rx134_pos, 1
-.annotate "line", 70
-  # rx rxquantr139 ** 0..1
-    set_addr $I140, rxquantr139_done
-    rx134_cur."!mark_push"(0, rx134_pos, $I140)
-  rxquantr139_loop:
-.annotate "line", 69
+    add $I11, rx142_pos, 1
+    gt $I11, rx142_eos, rx142_fail
+    sub $I11, rx142_pos, rx142_off
+    substr $S10, rx142_tgt, $I11, 1
+    ne $S10, "=", rx142_fail
+    add rx142_pos, 1
+.annotate 'line', 71
+  # rx rxquantr147 ** 0..1
+    set_addr $I148, rxquantr147_done
+    rx142_cur."!mark_push"(0, rx142_pos, $I148)
+  rxquantr147_loop:
+.annotate 'line', 70
   # rx literal  "cut"
-    add $I11, rx134_pos, 3
-    gt $I11, rx134_eos, rx134_fail
-    sub $I11, rx134_pos, rx134_off
-    substr $S10, rx134_tgt, $I11, 3
-    ne $S10, "cut", rx134_fail
-    add rx134_pos, 3
+    add $I11, rx142_pos, 3
+    gt $I11, rx142_eos, rx142_fail
+    sub $I11, rx142_pos, rx142_off
+    substr $S10, rx142_tgt, $I11, 3
+    ne $S10, "cut", rx142_fail
+    add rx142_pos, 3
   # rxanchor rwb
-    le rx134_pos, 0, rx134_fail
-    sub $I10, rx134_pos, rx134_off
-    is_cclass $I11, 8192, rx134_tgt, $I10
-    if $I11, rx134_fail
+    le rx142_pos, 0, rx142_fail
+    sub $I10, rx142_pos, rx142_off
+    is_cclass $I11, 8192, rx142_tgt, $I10
+    if $I11, rx142_fail
     dec $I10
-    is_cclass $I11, 8192, rx134_tgt, $I10
-    unless $I11, rx134_fail
-.annotate "line", 70
+    is_cclass $I11, 8192, rx142_tgt, $I10
+    unless $I11, rx142_fail
+.annotate 'line', 71
   # rx subrule "panic" subtype=method negate=
-    rx134_cur."!cursor_pos"(rx134_pos)
-    $P10 = rx134_cur."panic"("Obsolete pod format, please use =begin/=end instead")
-    unless $P10, rx134_fail
-    rx134_pos = $P10."pos"()
-    (rx134_rep) = rx134_cur."!mark_commit"($I140)
-  rxquantr139_done:
-.annotate "line", 67
-    goto alt138_end
-  alt138_1:
-.annotate "line", 71
+    rx142_cur."!cursor_pos"(rx142_pos)
+    $P10 = rx142_cur."panic"("Obsolete pod format, please use =begin/=end instead")
+    unless $P10, rx142_fail
+    rx142_pos = $P10."pos"()
+    (rx142_rep) = rx142_cur."!mark_commit"($I148)
+  rxquantr147_done:
+.annotate 'line', 68
+    goto alt146_end
+  alt146_1:
+.annotate 'line', 72
   # rx charclass nl
-    ge rx134_pos, rx134_eos, rx134_fail
-    sub $I10, rx134_pos, rx134_off
-    is_cclass $I11, 4096, rx134_tgt, $I10
-    unless $I11, rx134_fail
-    substr $S10, rx134_tgt, $I10, 2
+    ge rx142_pos, rx142_eos, rx142_fail
+    sub $I10, rx142_pos, rx142_off
+    is_cclass $I11, 4096, rx142_tgt, $I10
+    unless $I11, rx142_fail
+    substr $S10, rx142_tgt, $I10, 2
     iseq $I11, $S10, "\r\n"
-    add rx134_pos, $I11
-    inc rx134_pos
-  alt138_end:
-.annotate "line", 67
-  # rx pass
-    rx134_cur."!cursor_pass"(rx134_pos, "")
-    rx134_cur."!cursor_debug"("PASS  ", "", " at pos=", rx134_pos)
-    .return (rx134_cur)
-  rx134_fail:
-    (rx134_rep, rx134_pos, $I10, $P10) = rx134_cur."!mark_fail"(0)
-    lt rx134_pos, -1, rx134_done
-    eq rx134_pos, -1, rx134_fail
-    jump $I10
-  rx134_done:
-    rx134_cur."!cursor_fail"()
-    rx134_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx134_cur)
+    add rx142_pos, $I11
+    inc rx142_pos
+  alt146_end:
+.annotate 'line', 68
+  # rx pass
+    rx142_cur."!cursor_pass"(rx142_pos, "")
+    rx142_cur."!cursor_debug"("PASS  ", "", " at pos=", rx142_pos)
+    .return (rx142_cur)
+  rx142_fail:
+    (rx142_rep, rx142_pos, $I10, $P10) = rx142_cur."!mark_fail"(0)
+    lt rx142_pos, -1, rx142_done
+    eq rx142_pos, -1, rx142_fail
+    jump $I10
+  rx142_done:
+    rx142_cur."!cursor_fail"()
+    rx142_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx142_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx143_tgt
-    .local int rx143_pos
-    .local int rx143_off
-    .local int rx143_eos
-    .local int rx143_rep
-    .local pmc rx143_cur
-    (rx143_cur, rx143_pos, rx143_tgt) = self."!cursor_start"()
-    rx143_cur."!cursor_debug"("START ", "comp_unit")
-    .lex unicode:"$\x{a2}", rx143_cur
-    .local pmc match
-    .lex "$/", match
-    length rx143_eos, rx143_tgt
-    set rx143_off, 0
-    lt rx143_pos, 2, rx143_start
-    sub rx143_off, rx143_pos, 1
-    substr rx143_tgt, rx143_tgt, rx143_off
-  rx143_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan147_done
-    goto rxscan147_scan
-  rxscan147_loop:
-    ($P10) = rx143_cur."from"()
-    inc $P10
-    set rx143_pos, $P10
-    ge rx143_pos, rx143_eos, rxscan147_done
-  rxscan147_scan:
-    set_addr $I10, rxscan147_loop
-    rx143_cur."!mark_push"(0, rx143_pos, $I10)
-  rxscan147_done:
-.annotate "line", 82
+.sub "comp_unit"  :subid("29_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx151_tgt
+    .local int rx151_pos
+    .local int rx151_off
+    .local int rx151_eos
+    .local int rx151_rep
+    .local pmc rx151_cur
+    (rx151_cur, rx151_pos, rx151_tgt) = self."!cursor_start"()
+    rx151_cur."!cursor_debug"("START ", "comp_unit")
+    .lex unicode:"$\x{a2}", rx151_cur
+    .local pmc match
+    .lex "$/", match
+    length rx151_eos, rx151_tgt
+    set rx151_off, 0
+    lt rx151_pos, 2, rx151_start
+    sub rx151_off, rx151_pos, 1
+    substr rx151_tgt, rx151_tgt, rx151_off
+  rx151_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan155_done
+    goto rxscan155_scan
+  rxscan155_loop:
+    ($P10) = rx151_cur."from"()
+    inc $P10
+    set rx151_pos, $P10
+    ge rx151_pos, rx151_eos, rxscan155_done
+  rxscan155_scan:
+    set_addr $I10, rxscan155_loop
+    rx151_cur."!mark_push"(0, rx151_pos, $I10)
+  rxscan155_done:
+.annotate 'line', 83
   # rx subrule "newpad" subtype=method negate=
-    rx143_cur."!cursor_pos"(rx143_pos)
-    $P10 = rx143_cur."newpad"()
-    unless $P10, rx143_fail
-    rx143_pos = $P10."pos"()
-.annotate "line", 83
+    rx151_cur."!cursor_pos"(rx151_pos)
+    $P10 = rx151_cur."newpad"()
+    unless $P10, rx151_fail
+    rx151_pos = $P10."pos"()
+.annotate 'line', 84
   # rx subrule "statementlist" subtype=capture negate=
-    rx143_cur."!cursor_pos"(rx143_pos)
-    $P10 = rx143_cur."statementlist"()
-    unless $P10, rx143_fail
-    rx143_cur."!mark_push"(0, -1, 0, $P10)
+    rx151_cur."!cursor_pos"(rx151_pos)
+    $P10 = rx151_cur."statementlist"()
+    unless $P10, rx151_fail
+    rx151_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx143_pos = $P10."pos"()
-  alt148_0:
-.annotate "line", 84
-    set_addr $I10, alt148_1
-    rx143_cur."!mark_push"(0, rx143_pos, $I10)
+    rx151_pos = $P10."pos"()
+  alt156_0:
+.annotate 'line', 85
+    set_addr $I10, alt156_1
+    rx151_cur."!mark_push"(0, rx151_pos, $I10)
   # rxanchor eos
-    ne rx143_pos, rx143_eos, rx143_fail
-    goto alt148_end
-  alt148_1:
+    ne rx151_pos, rx151_eos, rx151_fail
+    goto alt156_end
+  alt156_1:
   # rx subrule "panic" subtype=method negate=
-    rx143_cur."!cursor_pos"(rx143_pos)
-    $P10 = rx143_cur."panic"("Confused")
-    unless $P10, rx143_fail
-    rx143_pos = $P10."pos"()
-  alt148_end:
-.annotate "line", 81
-  # rx pass
-    rx143_cur."!cursor_pass"(rx143_pos, "comp_unit")
-    rx143_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx143_pos)
-    .return (rx143_cur)
-  rx143_fail:
-.annotate "line", 4
-    (rx143_rep, rx143_pos, $I10, $P10) = rx143_cur."!mark_fail"(0)
-    lt rx143_pos, -1, rx143_done
-    eq rx143_pos, -1, rx143_fail
-    jump $I10
-  rx143_done:
-    rx143_cur."!cursor_fail"()
-    rx143_cur."!cursor_debug"("FAIL  ", "comp_unit")
-    .return (rx143_cur)
+    rx151_cur."!cursor_pos"(rx151_pos)
+    $P10 = rx151_cur."panic"("Confused")
+    unless $P10, rx151_fail
+    rx151_pos = $P10."pos"()
+  alt156_end:
+.annotate 'line', 82
+  # rx pass
+    rx151_cur."!cursor_pass"(rx151_pos, "comp_unit")
+    rx151_cur."!cursor_debug"("PASS  ", "comp_unit", " at pos=", rx151_pos)
+    .return (rx151_cur)
+  rx151_fail:
+.annotate 'line', 4
+    (rx151_rep, rx151_pos, $I10, $P10) = rx151_cur."!mark_fail"(0)
+    lt rx151_pos, -1, rx151_done
+    eq rx151_pos, -1, rx151_fail
+    jump $I10
+  rx151_done:
+    rx151_cur."!cursor_fail"()
+    rx151_cur."!cursor_debug"("FAIL  ", "comp_unit")
+    .return (rx151_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1272816833.94956") :method
-.annotate "line", 4
-    $P145 = self."!PREFIX__!subrule"("", "")
-    new $P146, "ResizablePMCArray"
-    push $P146, $P145
-    .return ($P146)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx150_tgt
-    .local int rx150_pos
-    .local int rx150_off
-    .local int rx150_eos
-    .local int rx150_rep
-    .local pmc rx150_cur
-    (rx150_cur, rx150_pos, rx150_tgt) = self."!cursor_start"()
-    rx150_cur."!cursor_debug"("START ", "statementlist")
-    rx150_cur."!cursor_caparray"("statement")
-    .lex unicode:"$\x{a2}", rx150_cur
-    .local pmc match
-    .lex "$/", match
-    length rx150_eos, rx150_tgt
-    set rx150_off, 0
-    lt rx150_pos, 2, rx150_start
-    sub rx150_off, rx150_pos, 1
-    substr rx150_tgt, rx150_tgt, rx150_off
-  rx150_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan153_done
-    goto rxscan153_scan
-  rxscan153_loop:
-    ($P10) = rx150_cur."from"()
-    inc $P10
-    set rx150_pos, $P10
-    ge rx150_pos, rx150_eos, rxscan153_done
-  rxscan153_scan:
-    set_addr $I10, rxscan153_loop
-    rx150_cur."!mark_push"(0, rx150_pos, $I10)
-  rxscan153_done:
-  alt154_0:
-.annotate "line", 87
-    set_addr $I10, alt154_1
-    rx150_cur."!mark_push"(0, rx150_pos, $I10)
-.annotate "line", 88
-  # rx subrule "ws" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."ws"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
+.sub "!PREFIX__comp_unit"  :subid("30_1273866379.28103") :method
+.annotate 'line', 4
+    $P153 = self."!PREFIX__!subrule"("", "")
+    new $P154, "ResizablePMCArray"
+    push $P154, $P153
+    .return ($P154)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statementlist"  :subid("31_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx158_tgt
+    .local int rx158_pos
+    .local int rx158_off
+    .local int rx158_eos
+    .local int rx158_rep
+    .local pmc rx158_cur
+    (rx158_cur, rx158_pos, rx158_tgt) = self."!cursor_start"()
+    rx158_cur."!cursor_debug"("START ", "statementlist")
+    rx158_cur."!cursor_caparray"("statement")
+    .lex unicode:"$\x{a2}", rx158_cur
+    .local pmc match
+    .lex "$/", match
+    length rx158_eos, rx158_tgt
+    set rx158_off, 0
+    lt rx158_pos, 2, rx158_start
+    sub rx158_off, rx158_pos, 1
+    substr rx158_tgt, rx158_tgt, rx158_off
+  rx158_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan161_done
+    goto rxscan161_scan
+  rxscan161_loop:
+    ($P10) = rx158_cur."from"()
+    inc $P10
+    set rx158_pos, $P10
+    ge rx158_pos, rx158_eos, rxscan161_done
+  rxscan161_scan:
+    set_addr $I10, rxscan161_loop
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
+  rxscan161_done:
+  alt162_0:
+.annotate 'line', 88
+    set_addr $I10, alt162_1
+    rx158_cur."!mark_push"(0, rx158_pos, $I10)
+.annotate 'line', 89
+  # rx subrule "ws" subtype=method negate=
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."ws"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
   # rxanchor eos
-    ne rx150_pos, rx150_eos, rx150_fail
+    ne rx158_pos, rx158_eos, rx158_fail
   # rx subrule "ws" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."ws"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
-    goto alt154_end
-  alt154_1:
-.annotate "line", 89
-  # rx subrule "ws" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."ws"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
-  # rx rxquantr158 ** 0..*
-    set_addr $I160, rxquantr158_done
-    rx150_cur."!mark_push"(0, rx150_pos, $I160)
-  rxquantr158_loop:
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."ws"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+    goto alt162_end
+  alt162_1:
+.annotate 'line', 90
+  # rx subrule "ws" subtype=method negate=
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."ws"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+  # rx rxquantr166 ** 0..*
+    set_addr $I168, rxquantr166_done
+    rx158_cur."!mark_push"(0, rx158_pos, $I168)
+  rxquantr166_loop:
   # rx subrule "statement" subtype=capture negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."statement"()
-    unless $P10, rx150_fail
-    rx150_cur."!mark_push"(0, -1, 0, $P10)
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."statement"()
+    unless $P10, rx158_fail
+    rx158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx150_pos = $P10."pos"()
+    rx158_pos = $P10."pos"()
   # rx subrule "eat_terminator" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."eat_terminator"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."ws"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
-    (rx150_rep) = rx150_cur."!mark_commit"($I160)
-    rx150_cur."!mark_push"(rx150_rep, rx150_pos, $I160)
-    goto rxquantr158_loop
-  rxquantr158_done:
-  # rx subrule "ws" subtype=method negate=
-    rx150_cur."!cursor_pos"(rx150_pos)
-    $P10 = rx150_cur."ws"()
-    unless $P10, rx150_fail
-    rx150_pos = $P10."pos"()
-  alt154_end:
-.annotate "line", 87
-  # rx pass
-    rx150_cur."!cursor_pass"(rx150_pos, "statementlist")
-    rx150_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx150_pos)
-    .return (rx150_cur)
-  rx150_fail:
-.annotate "line", 4
-    (rx150_rep, rx150_pos, $I10, $P10) = rx150_cur."!mark_fail"(0)
-    lt rx150_pos, -1, rx150_done
-    eq rx150_pos, -1, rx150_fail
-    jump $I10
-  rx150_done:
-    rx150_cur."!cursor_fail"()
-    rx150_cur."!cursor_debug"("FAIL  ", "statementlist")
-    .return (rx150_cur)
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."eat_terminator"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."ws"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+    (rx158_rep) = rx158_cur."!mark_commit"($I168)
+    rx158_cur."!mark_push"(rx158_rep, rx158_pos, $I168)
+    goto rxquantr166_loop
+  rxquantr166_done:
+  # rx subrule "ws" subtype=method negate=
+    rx158_cur."!cursor_pos"(rx158_pos)
+    $P10 = rx158_cur."ws"()
+    unless $P10, rx158_fail
+    rx158_pos = $P10."pos"()
+  alt162_end:
+.annotate 'line', 88
+  # rx pass
+    rx158_cur."!cursor_pass"(rx158_pos, "statementlist")
+    rx158_cur."!cursor_debug"("PASS  ", "statementlist", " at pos=", rx158_pos)
+    .return (rx158_cur)
+  rx158_fail:
+.annotate 'line', 4
+    (rx158_rep, rx158_pos, $I10, $P10) = rx158_cur."!mark_fail"(0)
+    lt rx158_pos, -1, rx158_done
+    eq rx158_pos, -1, rx158_fail
+    jump $I10
+  rx158_done:
+    rx158_cur."!cursor_fail"()
+    rx158_cur."!cursor_debug"("FAIL  ", "statementlist")
+    .return (rx158_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1272816833.94956") :method
-.annotate "line", 4
-    new $P152, "ResizablePMCArray"
-    push $P152, ""
-    push $P152, ""
-    .return ($P152)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .const 'Sub' $P168 = "35_1272816833.94956" 
-    capture_lex $P168
-    .local string rx163_tgt
-    .local int rx163_pos
-    .local int rx163_off
-    .local int rx163_eos
-    .local int rx163_rep
-    .local pmc rx163_cur
-    (rx163_cur, rx163_pos, rx163_tgt) = self."!cursor_start"()
-    rx163_cur."!cursor_debug"("START ", "statement")
-    rx163_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
-    .lex unicode:"$\x{a2}", rx163_cur
-    .local pmc match
-    .lex "$/", match
-    length rx163_eos, rx163_tgt
-    set rx163_off, 0
-    lt rx163_pos, 2, rx163_start
-    sub rx163_off, rx163_pos, 1
-    substr rx163_tgt, rx163_tgt, rx163_off
-  rx163_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan166_done
-    goto rxscan166_scan
-  rxscan166_loop:
-    ($P10) = rx163_cur."from"()
-    inc $P10
-    set rx163_pos, $P10
-    ge rx163_pos, rx163_eos, rxscan166_done
-  rxscan166_scan:
-    set_addr $I10, rxscan166_loop
-    rx163_cur."!mark_push"(0, rx163_pos, $I10)
-  rxscan166_done:
-.annotate "line", 93
+.sub "!PREFIX__statementlist"  :subid("32_1273866379.28103") :method
+.annotate 'line', 4
+    new $P160, "ResizablePMCArray"
+    push $P160, ""
+    push $P160, ""
+    .return ($P160)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement"  :subid("33_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .const 'Sub' $P176 = "35_1273866379.28103" 
+    capture_lex $P176
+    .local string rx171_tgt
+    .local int rx171_pos
+    .local int rx171_off
+    .local int rx171_eos
+    .local int rx171_rep
+    .local pmc rx171_cur
+    (rx171_cur, rx171_pos, rx171_tgt) = self."!cursor_start"()
+    rx171_cur."!cursor_debug"("START ", "statement")
+    rx171_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+    .lex unicode:"$\x{a2}", rx171_cur
+    .local pmc match
+    .lex "$/", match
+    length rx171_eos, rx171_tgt
+    set rx171_off, 0
+    lt rx171_pos, 2, rx171_start
+    sub rx171_off, rx171_pos, 1
+    substr rx171_tgt, rx171_tgt, rx171_off
+  rx171_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan174_done
+    goto rxscan174_scan
+  rxscan174_loop:
+    ($P10) = rx171_cur."from"()
+    inc $P10
+    set rx171_pos, $P10
+    ge rx171_pos, rx171_eos, rxscan174_done
+  rxscan174_scan:
+    set_addr $I10, rxscan174_loop
+    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+  rxscan174_done:
+.annotate 'line', 94
   # rx subrule "before" subtype=zerowidth negate=1
-    rx163_cur."!cursor_pos"(rx163_pos)
-    .const 'Sub' $P168 = "35_1272816833.94956" 
-    capture_lex $P168
-    $P10 = rx163_cur."before"($P168)
-    if $P10, rx163_fail
-  alt172_0:
-.annotate "line", 94
-    set_addr $I10, alt172_1
-    rx163_cur."!mark_push"(0, rx163_pos, $I10)
-.annotate "line", 95
+    rx171_cur."!cursor_pos"(rx171_pos)
+    .const 'Sub' $P176 = "35_1273866379.28103" 
+    capture_lex $P176
+    $P10 = rx171_cur."before"($P176)
+    if $P10, rx171_fail
+  alt180_0:
+.annotate 'line', 95
+    set_addr $I10, alt180_1
+    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 96
   # rx subrule "statement_control" subtype=capture negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."statement_control"()
-    unless $P10, rx163_fail
-    rx163_cur."!mark_push"(0, -1, 0, $P10)
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."statement_control"()
+    unless $P10, rx171_fail
+    rx171_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_control")
-    rx163_pos = $P10."pos"()
-    goto alt172_end
-  alt172_1:
-.annotate "line", 96
+    rx171_pos = $P10."pos"()
+    goto alt180_end
+  alt180_1:
+.annotate 'line', 97
   # rx subrule "EXPR" subtype=capture negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."EXPR"()
-    unless $P10, rx163_fail
-    rx163_cur."!mark_push"(0, -1, 0, $P10)
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."EXPR"()
+    unless $P10, rx171_fail
+    rx171_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx163_pos = $P10."pos"()
+    rx171_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."ws"()
-    unless $P10, rx163_fail
-    rx163_pos = $P10."pos"()
-.annotate "line", 101
-  # rx rxquantr173 ** 0..1
-    set_addr $I177, rxquantr173_done
-    rx163_cur."!mark_push"(0, rx163_pos, $I177)
-  rxquantr173_loop:
-  alt174_0:
-.annotate "line", 97
-    set_addr $I10, alt174_1
-    rx163_cur."!mark_push"(0, rx163_pos, $I10)
-.annotate "line", 98
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."ws"()
+    unless $P10, rx171_fail
+    rx171_pos = $P10."pos"()
+.annotate 'line', 102
+  # rx rxquantr181 ** 0..1
+    set_addr $I185, rxquantr181_done
+    rx171_cur."!mark_push"(0, rx171_pos, $I185)
+  rxquantr181_loop:
+  alt182_0:
+.annotate 'line', 98
+    set_addr $I10, alt182_1
+    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 99
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."MARKED"("endstmt")
-    unless $P10, rx163_fail
-    goto alt174_end
-  alt174_1:
-    set_addr $I10, alt174_2
-    rx163_cur."!mark_push"(0, rx163_pos, $I10)
-.annotate "line", 99
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."MARKED"("endstmt")
+    unless $P10, rx171_fail
+    goto alt182_end
+  alt182_1:
+    set_addr $I10, alt182_2
+    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 100
   # rx subrule "statement_mod_cond" subtype=capture negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."statement_mod_cond"()
-    unless $P10, rx163_fail
-    rx163_cur."!mark_push"(0, -1, 0, $P10)
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."statement_mod_cond"()
+    unless $P10, rx171_fail
+    rx171_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_cond")
-    rx163_pos = $P10."pos"()
-  # rx rxquantr175 ** 0..1
-    set_addr $I176, rxquantr175_done
-    rx163_cur."!mark_push"(0, rx163_pos, $I176)
-  rxquantr175_loop:
+    rx171_pos = $P10."pos"()
+  # rx rxquantr183 ** 0..1
+    set_addr $I184, rxquantr183_done
+    rx171_cur."!mark_push"(0, rx171_pos, $I184)
+  rxquantr183_loop:
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."statement_mod_loop"()
-    unless $P10, rx163_fail
-    rx163_cur."!mark_push"(0, -1, 0, $P10)
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."statement_mod_loop"()
+    unless $P10, rx171_fail
+    rx171_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx163_pos = $P10."pos"()
-    (rx163_rep) = rx163_cur."!mark_commit"($I176)
-  rxquantr175_done:
-    goto alt174_end
-  alt174_2:
-.annotate "line", 100
+    rx171_pos = $P10."pos"()
+    (rx171_rep) = rx171_cur."!mark_commit"($I184)
+  rxquantr183_done:
+    goto alt182_end
+  alt182_2:
+.annotate 'line', 101
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx163_cur."!cursor_pos"(rx163_pos)
-    $P10 = rx163_cur."statement_mod_loop"()
-    unless $P10, rx163_fail
-    rx163_cur."!mark_push"(0, -1, 0, $P10)
+    rx171_cur."!cursor_pos"(rx171_pos)
+    $P10 = rx171_cur."statement_mod_loop"()
+    unless $P10, rx171_fail
+    rx171_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx163_pos = $P10."pos"()
-  alt174_end:
-.annotate "line", 101
-    (rx163_rep) = rx163_cur."!mark_commit"($I177)
-  rxquantr173_done:
-  alt172_end:
-.annotate "line", 92
-  # rx pass
-    rx163_cur."!cursor_pass"(rx163_pos, "statement")
-    rx163_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx163_pos)
-    .return (rx163_cur)
-  rx163_fail:
-.annotate "line", 4
-    (rx163_rep, rx163_pos, $I10, $P10) = rx163_cur."!mark_fail"(0)
-    lt rx163_pos, -1, rx163_done
-    eq rx163_pos, -1, rx163_fail
-    jump $I10
-  rx163_done:
-    rx163_cur."!cursor_fail"()
-    rx163_cur."!cursor_debug"("FAIL  ", "statement")
-    .return (rx163_cur)
+    rx171_pos = $P10."pos"()
+  alt182_end:
+.annotate 'line', 102
+    (rx171_rep) = rx171_cur."!mark_commit"($I185)
+  rxquantr181_done:
+  alt180_end:
+.annotate 'line', 93
+  # rx pass
+    rx171_cur."!cursor_pass"(rx171_pos, "statement")
+    rx171_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx171_pos)
+    .return (rx171_cur)
+  rx171_fail:
+.annotate 'line', 4
+    (rx171_rep, rx171_pos, $I10, $P10) = rx171_cur."!mark_fail"(0)
+    lt rx171_pos, -1, rx171_done
+    eq rx171_pos, -1, rx171_fail
+    jump $I10
+  rx171_done:
+    rx171_cur."!cursor_fail"()
+    rx171_cur."!cursor_debug"("FAIL  ", "statement")
+    .return (rx171_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1272816833.94956") :method
-.annotate "line", 4
-    new $P165, "ResizablePMCArray"
-    push $P165, ""
-    .return ($P165)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "_block167"  :anon :subid("35_1272816833.94956") :method :outer("33_1272816833.94956")
-.annotate "line", 93
-    .local string rx169_tgt
-    .local int rx169_pos
-    .local int rx169_off
-    .local int rx169_eos
-    .local int rx169_rep
-    .local pmc rx169_cur
-    (rx169_cur, rx169_pos, rx169_tgt) = self."!cursor_start"()
-    rx169_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx169_cur
-    .local pmc match
-    .lex "$/", match
-    length rx169_eos, rx169_tgt
-    set rx169_off, 0
-    lt rx169_pos, 2, rx169_start
-    sub rx169_off, rx169_pos, 1
-    substr rx169_tgt, rx169_tgt, rx169_off
-  rx169_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan170_done
-    goto rxscan170_scan
-  rxscan170_loop:
-    ($P10) = rx169_cur."from"()
-    inc $P10
-    set rx169_pos, $P10
-    ge rx169_pos, rx169_eos, rxscan170_done
-  rxscan170_scan:
-    set_addr $I10, rxscan170_loop
-    rx169_cur."!mark_push"(0, rx169_pos, $I10)
-  rxscan170_done:
-  alt171_0:
-    set_addr $I10, alt171_1
-    rx169_cur."!mark_push"(0, rx169_pos, $I10)
+.sub "!PREFIX__statement"  :subid("34_1273866379.28103") :method
+.annotate 'line', 4
+    new $P173, "ResizablePMCArray"
+    push $P173, ""
+    .return ($P173)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "_block175"  :anon :subid("35_1273866379.28103") :method :outer("33_1273866379.28103")
+.annotate 'line', 94
+    .local string rx177_tgt
+    .local int rx177_pos
+    .local int rx177_off
+    .local int rx177_eos
+    .local int rx177_rep
+    .local pmc rx177_cur
+    (rx177_cur, rx177_pos, rx177_tgt) = self."!cursor_start"()
+    rx177_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx177_cur
+    .local pmc match
+    .lex "$/", match
+    length rx177_eos, rx177_tgt
+    set rx177_off, 0
+    lt rx177_pos, 2, rx177_start
+    sub rx177_off, rx177_pos, 1
+    substr rx177_tgt, rx177_tgt, rx177_off
+  rx177_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan178_done
+    goto rxscan178_scan
+  rxscan178_loop:
+    ($P10) = rx177_cur."from"()
+    inc $P10
+    set rx177_pos, $P10
+    ge rx177_pos, rx177_eos, rxscan178_done
+  rxscan178_scan:
+    set_addr $I10, rxscan178_loop
+    rx177_cur."!mark_push"(0, rx177_pos, $I10)
+  rxscan178_done:
+  alt179_0:
+    set_addr $I10, alt179_1
+    rx177_cur."!mark_push"(0, rx177_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx169_pos, rx169_eos, rx169_fail
-    sub $I10, rx169_pos, rx169_off
-    substr $S10, rx169_tgt, $I10, 1
+    ge rx177_pos, rx177_eos, rx177_fail
+    sub $I10, rx177_pos, rx177_off
+    substr $S10, rx177_tgt, $I10, 1
     index $I11, "])}", $S10
-    lt $I11, 0, rx169_fail
-    inc rx169_pos
-    goto alt171_end
-  alt171_1:
+    lt $I11, 0, rx177_fail
+    inc rx177_pos
+    goto alt179_end
+  alt179_1:
   # rxanchor eos
-    ne rx169_pos, rx169_eos, rx169_fail
-  alt171_end:
+    ne rx177_pos, rx177_eos, rx177_fail
+  alt179_end:
   # rx pass
-    rx169_cur."!cursor_pass"(rx169_pos, "")
-    rx169_cur."!cursor_debug"("PASS  ", "", " at pos=", rx169_pos)
-    .return (rx169_cur)
-  rx169_fail:
-    (rx169_rep, rx169_pos, $I10, $P10) = rx169_cur."!mark_fail"(0)
-    lt rx169_pos, -1, rx169_done
-    eq rx169_pos, -1, rx169_fail
-    jump $I10
-  rx169_done:
-    rx169_cur."!cursor_fail"()
-    rx169_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx169_cur)
+    rx177_cur."!cursor_pass"(rx177_pos, "")
+    rx177_cur."!cursor_debug"("PASS  ", "", " at pos=", rx177_pos)
+    .return (rx177_cur)
+  rx177_fail:
+    (rx177_rep, rx177_pos, $I10, $P10) = rx177_cur."!mark_fail"(0)
+    lt rx177_pos, -1, rx177_done
+    eq rx177_pos, -1, rx177_fail
+    jump $I10
+  rx177_done:
+    rx177_cur."!cursor_fail"()
+    rx177_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx177_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx179_tgt
-    .local int rx179_pos
-    .local int rx179_off
-    .local int rx179_eos
-    .local int rx179_rep
-    .local pmc rx179_cur
-    (rx179_cur, rx179_pos, rx179_tgt) = self."!cursor_start"()
-    rx179_cur."!cursor_debug"("START ", "eat_terminator")
-    .lex unicode:"$\x{a2}", rx179_cur
-    .local pmc match
-    .lex "$/", match
-    length rx179_eos, rx179_tgt
-    set rx179_off, 0
-    lt rx179_pos, 2, rx179_start
-    sub rx179_off, rx179_pos, 1
-    substr rx179_tgt, rx179_tgt, rx179_off
-  rx179_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan182_done
-    goto rxscan182_scan
-  rxscan182_loop:
-    ($P10) = rx179_cur."from"()
-    inc $P10
-    set rx179_pos, $P10
-    ge rx179_pos, rx179_eos, rxscan182_done
-  rxscan182_scan:
-    set_addr $I10, rxscan182_loop
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
-  rxscan182_done:
-  alt183_0:
-.annotate "line", 105
-    set_addr $I10, alt183_1
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
-.annotate "line", 106
+.sub "eat_terminator"  :subid("36_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx187_tgt
+    .local int rx187_pos
+    .local int rx187_off
+    .local int rx187_eos
+    .local int rx187_rep
+    .local pmc rx187_cur
+    (rx187_cur, rx187_pos, rx187_tgt) = self."!cursor_start"()
+    rx187_cur."!cursor_debug"("START ", "eat_terminator")
+    .lex unicode:"$\x{a2}", rx187_cur
+    .local pmc match
+    .lex "$/", match
+    length rx187_eos, rx187_tgt
+    set rx187_off, 0
+    lt rx187_pos, 2, rx187_start
+    sub rx187_off, rx187_pos, 1
+    substr rx187_tgt, rx187_tgt, rx187_off
+  rx187_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan190_done
+    goto rxscan190_scan
+  rxscan190_loop:
+    ($P10) = rx187_cur."from"()
+    inc $P10
+    set rx187_pos, $P10
+    ge rx187_pos, rx187_eos, rxscan190_done
+  rxscan190_scan:
+    set_addr $I10, rxscan190_loop
+    rx187_cur."!mark_push"(0, rx187_pos, $I10)
+  rxscan190_done:
+  alt191_0:
+.annotate 'line', 106
+    set_addr $I10, alt191_1
+    rx187_cur."!mark_push"(0, rx187_pos, $I10)
+.annotate 'line', 107
   # rx literal  ";"
-    add $I11, rx179_pos, 1
-    gt $I11, rx179_eos, rx179_fail
-    sub $I11, rx179_pos, rx179_off
-    substr $S10, rx179_tgt, $I11, 1
-    ne $S10, ";", rx179_fail
-    add rx179_pos, 1
-    goto alt183_end
-  alt183_1:
-    set_addr $I10, alt183_2
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
-.annotate "line", 107
+    add $I11, rx187_pos, 1
+    gt $I11, rx187_eos, rx187_fail
+    sub $I11, rx187_pos, rx187_off
+    substr $S10, rx187_tgt, $I11, 1
+    ne $S10, ";", rx187_fail
+    add rx187_pos, 1
+    goto alt191_end
+  alt191_1:
+    set_addr $I10, alt191_2
+    rx187_cur."!mark_push"(0, rx187_pos, $I10)
+.annotate 'line', 108
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx179_cur."!cursor_pos"(rx179_pos)
-    $P10 = rx179_cur."MARKED"("endstmt")
-    unless $P10, rx179_fail
-    goto alt183_end
-  alt183_2:
-    set_addr $I10, alt183_3
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
-.annotate "line", 108
+    rx187_cur."!cursor_pos"(rx187_pos)
+    $P10 = rx187_cur."MARKED"("endstmt")
+    unless $P10, rx187_fail
+    goto alt191_end
+  alt191_2:
+    set_addr $I10, alt191_3
+    rx187_cur."!mark_push"(0, rx187_pos, $I10)
+.annotate 'line', 109
   # rx subrule "terminator" subtype=zerowidth negate=
-    rx179_cur."!cursor_pos"(rx179_pos)
-    $P10 = rx179_cur."terminator"()
-    unless $P10, rx179_fail
-    goto alt183_end
-  alt183_3:
-.annotate "line", 109
+    rx187_cur."!cursor_pos"(rx187_pos)
+    $P10 = rx187_cur."terminator"()
+    unless $P10, rx187_fail
+    goto alt191_end
+  alt191_3:
+.annotate 'line', 110
   # rxanchor eos
-    ne rx179_pos, rx179_eos, rx179_fail
-  alt183_end:
-.annotate "line", 105
-  # rx pass
-    rx179_cur."!cursor_pass"(rx179_pos, "eat_terminator")
-    rx179_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx179_pos)
-    .return (rx179_cur)
-  rx179_fail:
-.annotate "line", 4
-    (rx179_rep, rx179_pos, $I10, $P10) = rx179_cur."!mark_fail"(0)
-    lt rx179_pos, -1, rx179_done
-    eq rx179_pos, -1, rx179_fail
-    jump $I10
-  rx179_done:
-    rx179_cur."!cursor_fail"()
-    rx179_cur."!cursor_debug"("FAIL  ", "eat_terminator")
-    .return (rx179_cur)
+    ne rx187_pos, rx187_eos, rx187_fail
+  alt191_end:
+.annotate 'line', 106
+  # rx pass
+    rx187_cur."!cursor_pass"(rx187_pos, "eat_terminator")
+    rx187_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx187_pos)
+    .return (rx187_cur)
+  rx187_fail:
+.annotate 'line', 4
+    (rx187_rep, rx187_pos, $I10, $P10) = rx187_cur."!mark_fail"(0)
+    lt rx187_pos, -1, rx187_done
+    eq rx187_pos, -1, rx187_fail
+    jump $I10
+  rx187_done:
+    rx187_cur."!cursor_fail"()
+    rx187_cur."!cursor_debug"("FAIL  ", "eat_terminator")
+    .return (rx187_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1272816833.94956") :method
-.annotate "line", 4
-    new $P181, "ResizablePMCArray"
-    push $P181, ""
-    push $P181, ""
-    push $P181, ""
-    push $P181, ";"
-    .return ($P181)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx185_tgt
-    .local int rx185_pos
-    .local int rx185_off
-    .local int rx185_eos
-    .local int rx185_rep
-    .local pmc rx185_cur
-    (rx185_cur, rx185_pos, rx185_tgt) = self."!cursor_start"()
-    rx185_cur."!cursor_debug"("START ", "xblock")
-    .lex unicode:"$\x{a2}", rx185_cur
-    .local pmc match
-    .lex "$/", match
-    length rx185_eos, rx185_tgt
-    set rx185_off, 0
-    lt rx185_pos, 2, rx185_start
-    sub rx185_off, rx185_pos, 1
-    substr rx185_tgt, rx185_tgt, rx185_off
-  rx185_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan189_done
-    goto rxscan189_scan
-  rxscan189_loop:
-    ($P10) = rx185_cur."from"()
-    inc $P10
-    set rx185_pos, $P10
-    ge rx185_pos, rx185_eos, rxscan189_done
-  rxscan189_scan:
-    set_addr $I10, rxscan189_loop
-    rx185_cur."!mark_push"(0, rx185_pos, $I10)
-  rxscan189_done:
-.annotate "line", 113
+.sub "!PREFIX__eat_terminator"  :subid("37_1273866379.28103") :method
+.annotate 'line', 4
+    new $P189, "ResizablePMCArray"
+    push $P189, ""
+    push $P189, ""
+    push $P189, ""
+    push $P189, ";"
+    .return ($P189)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "xblock"  :subid("38_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx193_tgt
+    .local int rx193_pos
+    .local int rx193_off
+    .local int rx193_eos
+    .local int rx193_rep
+    .local pmc rx193_cur
+    (rx193_cur, rx193_pos, rx193_tgt) = self."!cursor_start"()
+    rx193_cur."!cursor_debug"("START ", "xblock")
+    .lex unicode:"$\x{a2}", rx193_cur
+    .local pmc match
+    .lex "$/", match
+    length rx193_eos, rx193_tgt
+    set rx193_off, 0
+    lt rx193_pos, 2, rx193_start
+    sub rx193_off, rx193_pos, 1
+    substr rx193_tgt, rx193_tgt, rx193_off
+  rx193_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan197_done
+    goto rxscan197_scan
+  rxscan197_loop:
+    ($P10) = rx193_cur."from"()
+    inc $P10
+    set rx193_pos, $P10
+    ge rx193_pos, rx193_eos, rxscan197_done
+  rxscan197_scan:
+    set_addr $I10, rxscan197_loop
+    rx193_cur."!mark_push"(0, rx193_pos, $I10)
+  rxscan197_done:
+.annotate 'line', 114
   # rx subrule "EXPR" subtype=capture negate=
-    rx185_cur."!cursor_pos"(rx185_pos)
-    $P10 = rx185_cur."EXPR"()
-    unless $P10, rx185_fail
-    rx185_cur."!mark_push"(0, -1, 0, $P10)
+    rx193_cur."!cursor_pos"(rx193_pos)
+    $P10 = rx193_cur."EXPR"()
+    unless $P10, rx193_fail
+    rx193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx185_pos = $P10."pos"()
+    rx193_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx185_cur."!cursor_pos"(rx185_pos)
-    $P10 = rx185_cur."ws"()
-    unless $P10, rx185_fail
-    rx185_pos = $P10."pos"()
+    rx193_cur."!cursor_pos"(rx193_pos)
+    $P10 = rx193_cur."ws"()
+    unless $P10, rx193_fail
+    rx193_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx185_cur."!cursor_pos"(rx185_pos)
-    $P10 = rx185_cur."pblock"()
-    unless $P10, rx185_fail
-    rx185_cur."!mark_push"(0, -1, 0, $P10)
+    rx193_cur."!cursor_pos"(rx193_pos)
+    $P10 = rx193_cur."pblock"()
+    unless $P10, rx193_fail
+    rx193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx185_pos = $P10."pos"()
-.annotate "line", 112
+    rx193_pos = $P10."pos"()
+.annotate 'line', 113
   # rx pass
-    rx185_cur."!cursor_pass"(rx185_pos, "xblock")
-    rx185_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx185_pos)
-    .return (rx185_cur)
-  rx185_fail:
-.annotate "line", 4
-    (rx185_rep, rx185_pos, $I10, $P10) = rx185_cur."!mark_fail"(0)
-    lt rx185_pos, -1, rx185_done
-    eq rx185_pos, -1, rx185_fail
-    jump $I10
-  rx185_done:
-    rx185_cur."!cursor_fail"()
-    rx185_cur."!cursor_debug"("FAIL  ", "xblock")
-    .return (rx185_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1272816833.94956") :method
-.annotate "line", 4
-    $P187 = self."!PREFIX__!subrule"("EXPR", "")
-    new $P188, "ResizablePMCArray"
-    push $P188, $P187
-    .return ($P188)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx191_tgt
-    .local int rx191_pos
-    .local int rx191_off
-    .local int rx191_eos
-    .local int rx191_rep
-    .local pmc rx191_cur
-    (rx191_cur, rx191_pos, rx191_tgt) = self."!cursor_start"()
-    rx191_cur."!cursor_debug"("START ", "pblock")
-    .lex unicode:"$\x{a2}", rx191_cur
-    .local pmc match
-    .lex "$/", match
-    length rx191_eos, rx191_tgt
-    set rx191_off, 0
-    lt rx191_pos, 2, rx191_start
-    sub rx191_off, rx191_pos, 1
-    substr rx191_tgt, rx191_tgt, rx191_off
-  rx191_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan196_done
-    goto rxscan196_scan
-  rxscan196_loop:
-    ($P10) = rx191_cur."from"()
-    inc $P10
-    set rx191_pos, $P10
-    ge rx191_pos, rx191_eos, rxscan196_done
-  rxscan196_scan:
-    set_addr $I10, rxscan196_loop
-    rx191_cur."!mark_push"(0, rx191_pos, $I10)
-  rxscan196_done:
-  alt197_0:
-.annotate "line", 116
-    set_addr $I10, alt197_1
-    rx191_cur."!mark_push"(0, rx191_pos, $I10)
-.annotate "line", 117
-  # rx subrule "lambda" subtype=method negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."lambda"()
-    unless $P10, rx191_fail
-    rx191_pos = $P10."pos"()
-.annotate "line", 118
-  # rx subrule "newpad" subtype=method negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."newpad"()
-    unless $P10, rx191_fail
-    rx191_pos = $P10."pos"()
-.annotate "line", 119
-  # rx subrule "signature" subtype=capture negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."signature"()
-    unless $P10, rx191_fail
-    rx191_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("signature")
-    rx191_pos = $P10."pos"()
-.annotate "line", 120
-  # rx subrule "blockoid" subtype=capture negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."blockoid"()
-    unless $P10, rx191_fail
-    rx191_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blockoid")
-    rx191_pos = $P10."pos"()
-.annotate "line", 117
-    goto alt197_end
-  alt197_1:
-    set_addr $I10, alt197_2
-    rx191_cur."!mark_push"(0, rx191_pos, $I10)
-.annotate "line", 121
-  # rx enumcharlist negate=0 zerowidth
-    ge rx191_pos, rx191_eos, rx191_fail
-    sub $I10, rx191_pos, rx191_off
-    substr $S10, rx191_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx191_fail
-.annotate "line", 122
-  # rx subrule "newpad" subtype=method negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."newpad"()
-    unless $P10, rx191_fail
-    rx191_pos = $P10."pos"()
-.annotate "line", 123
-  # rx subrule "blockoid" subtype=capture negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."blockoid"()
-    unless $P10, rx191_fail
-    rx191_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("blockoid")
-    rx191_pos = $P10."pos"()
-.annotate "line", 121
-    goto alt197_end
-  alt197_2:
-.annotate "line", 124
-  # rx subrule "panic" subtype=method negate=
-    rx191_cur."!cursor_pos"(rx191_pos)
-    $P10 = rx191_cur."panic"("Missing block")
-    unless $P10, rx191_fail
-    rx191_pos = $P10."pos"()
-  alt197_end:
-.annotate "line", 116
-  # rx pass
-    rx191_cur."!cursor_pass"(rx191_pos, "pblock")
-    rx191_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx191_pos)
-    .return (rx191_cur)
-  rx191_fail:
-.annotate "line", 4
-    (rx191_rep, rx191_pos, $I10, $P10) = rx191_cur."!mark_fail"(0)
-    lt rx191_pos, -1, rx191_done
-    eq rx191_pos, -1, rx191_fail
+    rx193_cur."!cursor_pass"(rx193_pos, "xblock")
+    rx193_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx193_pos)
+    .return (rx193_cur)
+  rx193_fail:
+.annotate 'line', 4
+    (rx193_rep, rx193_pos, $I10, $P10) = rx193_cur."!mark_fail"(0)
+    lt rx193_pos, -1, rx193_done
+    eq rx193_pos, -1, rx193_fail
     jump $I10
-  rx191_done:
-    rx191_cur."!cursor_fail"()
-    rx191_cur."!cursor_debug"("FAIL  ", "pblock")
-    .return (rx191_cur)
+  rx193_done:
+    rx193_cur."!cursor_fail"()
+    rx193_cur."!cursor_debug"("FAIL  ", "xblock")
+    .return (rx193_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1272816833.94956") :method
-.annotate "line", 4
-    $P193 = self."!PREFIX__!subrule"("", "")
-    $P194 = self."!PREFIX__!subrule"("", "")
-    new $P195, "ResizablePMCArray"
-    push $P195, $P193
-    push $P195, "{"
-    push $P195, $P194
-    .return ($P195)
+.sub "!PREFIX__xblock"  :subid("39_1273866379.28103") :method
+.annotate 'line', 4
+    $P195 = self."!PREFIX__!subrule"("EXPR", "")
+    new $P196, "ResizablePMCArray"
+    push $P196, $P195
+    .return ($P196)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "pblock"  :subid("40_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx199_tgt
     .local int rx199_pos
     .local int rx199_off
@@ -2599,7 +2532,7 @@
     .local int rx199_rep
     .local pmc rx199_cur
     (rx199_cur, rx199_pos, rx199_tgt) = self."!cursor_start"()
-    rx199_cur."!cursor_debug"("START ", "lambda")
+    rx199_cur."!cursor_debug"("START ", "pblock")
     .lex unicode:"$\x{a2}", rx199_cur
     .local pmc match
     .lex "$/", match
@@ -2610,268 +2543,295 @@
     substr rx199_tgt, rx199_tgt, rx199_off
   rx199_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan202_done
-    goto rxscan202_scan
-  rxscan202_loop:
+    ne $I10, -1, rxscan204_done
+    goto rxscan204_scan
+  rxscan204_loop:
     ($P10) = rx199_cur."from"()
     inc $P10
     set rx199_pos, $P10
-    ge rx199_pos, rx199_eos, rxscan202_done
-  rxscan202_scan:
-    set_addr $I10, rxscan202_loop
+    ge rx199_pos, rx199_eos, rxscan204_done
+  rxscan204_scan:
+    set_addr $I10, rxscan204_loop
     rx199_cur."!mark_push"(0, rx199_pos, $I10)
-  rxscan202_done:
-  alt203_0:
-.annotate "line", 127
-    set_addr $I10, alt203_1
+  rxscan204_done:
+  alt205_0:
+.annotate 'line', 117
+    set_addr $I10, alt205_1
     rx199_cur."!mark_push"(0, rx199_pos, $I10)
-  # rx literal  "->"
-    add $I11, rx199_pos, 2
-    gt $I11, rx199_eos, rx199_fail
-    sub $I11, rx199_pos, rx199_off
-    substr $S10, rx199_tgt, $I11, 2
-    ne $S10, "->", rx199_fail
-    add rx199_pos, 2
-    goto alt203_end
-  alt203_1:
-  # rx literal  "<->"
-    add $I11, rx199_pos, 3
-    gt $I11, rx199_eos, rx199_fail
-    sub $I11, rx199_pos, rx199_off
-    substr $S10, rx199_tgt, $I11, 3
-    ne $S10, "<->", rx199_fail
-    add rx199_pos, 3
-  alt203_end:
+.annotate 'line', 118
+  # rx subrule "lambda" subtype=method negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."lambda"()
+    unless $P10, rx199_fail
+    rx199_pos = $P10."pos"()
+.annotate 'line', 119
+  # rx subrule "newpad" subtype=method negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."newpad"()
+    unless $P10, rx199_fail
+    rx199_pos = $P10."pos"()
+.annotate 'line', 120
+  # rx subrule "signature" subtype=capture negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."signature"()
+    unless $P10, rx199_fail
+    rx199_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("signature")
+    rx199_pos = $P10."pos"()
+.annotate 'line', 121
+  # rx subrule "blockoid" subtype=capture negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."blockoid"()
+    unless $P10, rx199_fail
+    rx199_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blockoid")
+    rx199_pos = $P10."pos"()
+.annotate 'line', 118
+    goto alt205_end
+  alt205_1:
+    set_addr $I10, alt205_2
+    rx199_cur."!mark_push"(0, rx199_pos, $I10)
+.annotate 'line', 122
+  # rx enumcharlist negate=0 zerowidth
+    ge rx199_pos, rx199_eos, rx199_fail
+    sub $I10, rx199_pos, rx199_off
+    substr $S10, rx199_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx199_fail
+.annotate 'line', 123
+  # rx subrule "newpad" subtype=method negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."newpad"()
+    unless $P10, rx199_fail
+    rx199_pos = $P10."pos"()
+.annotate 'line', 124
+  # rx subrule "blockoid" subtype=capture negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."blockoid"()
+    unless $P10, rx199_fail
+    rx199_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("blockoid")
+    rx199_pos = $P10."pos"()
+.annotate 'line', 122
+    goto alt205_end
+  alt205_2:
+.annotate 'line', 125
+  # rx subrule "panic" subtype=method negate=
+    rx199_cur."!cursor_pos"(rx199_pos)
+    $P10 = rx199_cur."panic"("Missing block")
+    unless $P10, rx199_fail
+    rx199_pos = $P10."pos"()
+  alt205_end:
+.annotate 'line', 117
   # rx pass
-    rx199_cur."!cursor_pass"(rx199_pos, "lambda")
-    rx199_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx199_pos)
+    rx199_cur."!cursor_pass"(rx199_pos, "pblock")
+    rx199_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx199_pos)
     .return (rx199_cur)
   rx199_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx199_rep, rx199_pos, $I10, $P10) = rx199_cur."!mark_fail"(0)
     lt rx199_pos, -1, rx199_done
     eq rx199_pos, -1, rx199_fail
     jump $I10
   rx199_done:
     rx199_cur."!cursor_fail"()
-    rx199_cur."!cursor_debug"("FAIL  ", "lambda")
+    rx199_cur."!cursor_debug"("FAIL  ", "pblock")
     .return (rx199_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1272816833.94956") :method
-.annotate "line", 4
-    new $P201, "ResizablePMCArray"
-    push $P201, "<->"
-    push $P201, "->"
-    .return ($P201)
+.sub "!PREFIX__pblock"  :subid("41_1273866379.28103") :method
+.annotate 'line', 4
+    $P201 = self."!PREFIX__!subrule"("", "")
+    $P202 = self."!PREFIX__!subrule"("", "")
+    new $P203, "ResizablePMCArray"
+    push $P203, $P201
+    push $P203, "{"
+    push $P203, $P202
+    .return ($P203)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "lambda"  :subid("42_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx207_tgt
+    .local int rx207_pos
+    .local int rx207_off
+    .local int rx207_eos
+    .local int rx207_rep
+    .local pmc rx207_cur
+    (rx207_cur, rx207_pos, rx207_tgt) = self."!cursor_start"()
+    rx207_cur."!cursor_debug"("START ", "lambda")
+    .lex unicode:"$\x{a2}", rx207_cur
+    .local pmc match
+    .lex "$/", match
+    length rx207_eos, rx207_tgt
+    set rx207_off, 0
+    lt rx207_pos, 2, rx207_start
+    sub rx207_off, rx207_pos, 1
+    substr rx207_tgt, rx207_tgt, rx207_off
+  rx207_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan210_done
+    goto rxscan210_scan
+  rxscan210_loop:
+    ($P10) = rx207_cur."from"()
+    inc $P10
+    set rx207_pos, $P10
+    ge rx207_pos, rx207_eos, rxscan210_done
+  rxscan210_scan:
+    set_addr $I10, rxscan210_loop
+    rx207_cur."!mark_push"(0, rx207_pos, $I10)
+  rxscan210_done:
+  alt211_0:
+.annotate 'line', 128
+    set_addr $I10, alt211_1
+    rx207_cur."!mark_push"(0, rx207_pos, $I10)
+  # rx literal  "->"
+    add $I11, rx207_pos, 2
+    gt $I11, rx207_eos, rx207_fail
+    sub $I11, rx207_pos, rx207_off
+    substr $S10, rx207_tgt, $I11, 2
+    ne $S10, "->", rx207_fail
+    add rx207_pos, 2
+    goto alt211_end
+  alt211_1:
+  # rx literal  "<->"
+    add $I11, rx207_pos, 3
+    gt $I11, rx207_eos, rx207_fail
+    sub $I11, rx207_pos, rx207_off
+    substr $S10, rx207_tgt, $I11, 3
+    ne $S10, "<->", rx207_fail
+    add rx207_pos, 3
+  alt211_end:
+  # rx pass
+    rx207_cur."!cursor_pass"(rx207_pos, "lambda")
+    rx207_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx207_pos)
+    .return (rx207_cur)
+  rx207_fail:
+.annotate 'line', 4
+    (rx207_rep, rx207_pos, $I10, $P10) = rx207_cur."!mark_fail"(0)
+    lt rx207_pos, -1, rx207_done
+    eq rx207_pos, -1, rx207_fail
+    jump $I10
+  rx207_done:
+    rx207_cur."!cursor_fail"()
+    rx207_cur."!cursor_debug"("FAIL  ", "lambda")
+    .return (rx207_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx205_tgt
-    .local int rx205_pos
-    .local int rx205_off
-    .local int rx205_eos
-    .local int rx205_rep
-    .local pmc rx205_cur
-    (rx205_cur, rx205_pos, rx205_tgt) = self."!cursor_start"()
-    rx205_cur."!cursor_debug"("START ", "block")
-    .lex unicode:"$\x{a2}", rx205_cur
-    .local pmc match
-    .lex "$/", match
-    length rx205_eos, rx205_tgt
-    set rx205_off, 0
-    lt rx205_pos, 2, rx205_start
-    sub rx205_off, rx205_pos, 1
-    substr rx205_tgt, rx205_tgt, rx205_off
-  rx205_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan209_done
-    goto rxscan209_scan
-  rxscan209_loop:
-    ($P10) = rx205_cur."from"()
-    inc $P10
-    set rx205_pos, $P10
-    ge rx205_pos, rx205_eos, rxscan209_done
-  rxscan209_scan:
-    set_addr $I10, rxscan209_loop
-    rx205_cur."!mark_push"(0, rx205_pos, $I10)
-  rxscan209_done:
-  alt210_0:
-.annotate "line", 130
-    set_addr $I10, alt210_1
-    rx205_cur."!mark_push"(0, rx205_pos, $I10)
+.sub "!PREFIX__lambda"  :subid("43_1273866379.28103") :method
+.annotate 'line', 4
+    new $P209, "ResizablePMCArray"
+    push $P209, "<->"
+    push $P209, "->"
+    .return ($P209)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "block"  :subid("44_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx213_tgt
+    .local int rx213_pos
+    .local int rx213_off
+    .local int rx213_eos
+    .local int rx213_rep
+    .local pmc rx213_cur
+    (rx213_cur, rx213_pos, rx213_tgt) = self."!cursor_start"()
+    rx213_cur."!cursor_debug"("START ", "block")
+    .lex unicode:"$\x{a2}", rx213_cur
+    .local pmc match
+    .lex "$/", match
+    length rx213_eos, rx213_tgt
+    set rx213_off, 0
+    lt rx213_pos, 2, rx213_start
+    sub rx213_off, rx213_pos, 1
+    substr rx213_tgt, rx213_tgt, rx213_off
+  rx213_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan217_done
+    goto rxscan217_scan
+  rxscan217_loop:
+    ($P10) = rx213_cur."from"()
+    inc $P10
+    set rx213_pos, $P10
+    ge rx213_pos, rx213_eos, rxscan217_done
+  rxscan217_scan:
+    set_addr $I10, rxscan217_loop
+    rx213_cur."!mark_push"(0, rx213_pos, $I10)
+  rxscan217_done:
+  alt218_0:
+.annotate 'line', 131
+    set_addr $I10, alt218_1
+    rx213_cur."!mark_push"(0, rx213_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx205_pos, rx205_eos, rx205_fail
-    sub $I10, rx205_pos, rx205_off
-    substr $S10, rx205_tgt, $I10, 1
+    ge rx213_pos, rx213_eos, rx213_fail
+    sub $I10, rx213_pos, rx213_off
+    substr $S10, rx213_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx205_fail
-    goto alt210_end
-  alt210_1:
+    lt $I11, 0, rx213_fail
+    goto alt218_end
+  alt218_1:
   # rx subrule "panic" subtype=method negate=
-    rx205_cur."!cursor_pos"(rx205_pos)
-    $P10 = rx205_cur."panic"("Missing block")
-    unless $P10, rx205_fail
-    rx205_pos = $P10."pos"()
-  alt210_end:
-.annotate "line", 131
+    rx213_cur."!cursor_pos"(rx213_pos)
+    $P10 = rx213_cur."panic"("Missing block")
+    unless $P10, rx213_fail
+    rx213_pos = $P10."pos"()
+  alt218_end:
+.annotate 'line', 132
   # rx subrule "newpad" subtype=method negate=
-    rx205_cur."!cursor_pos"(rx205_pos)
-    $P10 = rx205_cur."newpad"()
-    unless $P10, rx205_fail
-    rx205_pos = $P10."pos"()
-.annotate "line", 132
+    rx213_cur."!cursor_pos"(rx213_pos)
+    $P10 = rx213_cur."newpad"()
+    unless $P10, rx213_fail
+    rx213_pos = $P10."pos"()
+.annotate 'line', 133
   # rx subrule "blockoid" subtype=capture negate=
-    rx205_cur."!cursor_pos"(rx205_pos)
-    $P10 = rx205_cur."blockoid"()
-    unless $P10, rx205_fail
-    rx205_cur."!mark_push"(0, -1, 0, $P10)
+    rx213_cur."!cursor_pos"(rx213_pos)
+    $P10 = rx213_cur."blockoid"()
+    unless $P10, rx213_fail
+    rx213_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx205_pos = $P10."pos"()
-.annotate "line", 129
-  # rx pass
-    rx205_cur."!cursor_pass"(rx205_pos, "block")
-    rx205_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx205_pos)
-    .return (rx205_cur)
-  rx205_fail:
-.annotate "line", 4
-    (rx205_rep, rx205_pos, $I10, $P10) = rx205_cur."!mark_fail"(0)
-    lt rx205_pos, -1, rx205_done
-    eq rx205_pos, -1, rx205_fail
-    jump $I10
-  rx205_done:
-    rx205_cur."!cursor_fail"()
-    rx205_cur."!cursor_debug"("FAIL  ", "block")
-    .return (rx205_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1272816833.94956") :method
-.annotate "line", 4
-    $P207 = self."!PREFIX__!subrule"("", "")
-    new $P208, "ResizablePMCArray"
-    push $P208, $P207
-    push $P208, "{"
-    .return ($P208)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx212_tgt
-    .local int rx212_pos
-    .local int rx212_off
-    .local int rx212_eos
-    .local int rx212_rep
-    .local pmc rx212_cur
-    (rx212_cur, rx212_pos, rx212_tgt) = self."!cursor_start"()
-    rx212_cur."!cursor_debug"("START ", "blockoid")
-    .lex unicode:"$\x{a2}", rx212_cur
-    .local pmc match
-    .lex "$/", match
-    length rx212_eos, rx212_tgt
-    set rx212_off, 0
-    lt rx212_pos, 2, rx212_start
-    sub rx212_off, rx212_pos, 1
-    substr rx212_tgt, rx212_tgt, rx212_off
-  rx212_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan216_done
-    goto rxscan216_scan
-  rxscan216_loop:
-    ($P10) = rx212_cur."from"()
-    inc $P10
-    set rx212_pos, $P10
-    ge rx212_pos, rx212_eos, rxscan216_done
-  rxscan216_scan:
-    set_addr $I10, rxscan216_loop
-    rx212_cur."!mark_push"(0, rx212_pos, $I10)
-  rxscan216_done:
-.annotate "line", 136
-  # rx subrule "finishpad" subtype=method negate=
-    rx212_cur."!cursor_pos"(rx212_pos)
-    $P10 = rx212_cur."finishpad"()
-    unless $P10, rx212_fail
-    rx212_pos = $P10."pos"()
-.annotate "line", 137
-  # rx literal  "{"
-    add $I11, rx212_pos, 1
-    gt $I11, rx212_eos, rx212_fail
-    sub $I11, rx212_pos, rx212_off
-    substr $S10, rx212_tgt, $I11, 1
-    ne $S10, "{", rx212_fail
-    add rx212_pos, 1
-  # rx subrule "statementlist" subtype=capture negate=
-    rx212_cur."!cursor_pos"(rx212_pos)
-    $P10 = rx212_cur."statementlist"()
-    unless $P10, rx212_fail
-    rx212_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statementlist")
-    rx212_pos = $P10."pos"()
-  alt217_0:
-    set_addr $I10, alt217_1
-    rx212_cur."!mark_push"(0, rx212_pos, $I10)
-  # rx literal  "}"
-    add $I11, rx212_pos, 1
-    gt $I11, rx212_eos, rx212_fail
-    sub $I11, rx212_pos, rx212_off
-    substr $S10, rx212_tgt, $I11, 1
-    ne $S10, "}", rx212_fail
-    add rx212_pos, 1
-    goto alt217_end
-  alt217_1:
-  # rx subrule "FAILGOAL" subtype=method negate=
-    rx212_cur."!cursor_pos"(rx212_pos)
-    $P10 = rx212_cur."FAILGOAL"("'}'")
-    unless $P10, rx212_fail
-    rx212_pos = $P10."pos"()
-  alt217_end:
-.annotate "line", 138
-  # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx212_cur."!cursor_pos"(rx212_pos)
-    $P10 = rx212_cur."ENDSTMT"()
-    unless $P10, rx212_fail
-.annotate "line", 135
+    rx213_pos = $P10."pos"()
+.annotate 'line', 130
   # rx pass
-    rx212_cur."!cursor_pass"(rx212_pos, "blockoid")
-    rx212_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx212_pos)
-    .return (rx212_cur)
-  rx212_fail:
-.annotate "line", 4
-    (rx212_rep, rx212_pos, $I10, $P10) = rx212_cur."!mark_fail"(0)
-    lt rx212_pos, -1, rx212_done
-    eq rx212_pos, -1, rx212_fail
+    rx213_cur."!cursor_pass"(rx213_pos, "block")
+    rx213_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx213_pos)
+    .return (rx213_cur)
+  rx213_fail:
+.annotate 'line', 4
+    (rx213_rep, rx213_pos, $I10, $P10) = rx213_cur."!mark_fail"(0)
+    lt rx213_pos, -1, rx213_done
+    eq rx213_pos, -1, rx213_fail
     jump $I10
-  rx212_done:
-    rx212_cur."!cursor_fail"()
-    rx212_cur."!cursor_debug"("FAIL  ", "blockoid")
-    .return (rx212_cur)
+  rx213_done:
+    rx213_cur."!cursor_fail"()
+    rx213_cur."!cursor_debug"("FAIL  ", "block")
+    .return (rx213_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1272816833.94956") :method
-.annotate "line", 4
-    $P214 = self."!PREFIX__!subrule"("", "")
-    new $P215, "ResizablePMCArray"
-    push $P215, $P214
-    .return ($P215)
+.sub "!PREFIX__block"  :subid("45_1273866379.28103") :method
+.annotate 'line', 4
+    $P215 = self."!PREFIX__!subrule"("", "")
+    new $P216, "ResizablePMCArray"
+    push $P216, $P215
+    push $P216, "{"
+    .return ($P216)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "blockoid"  :subid("46_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx220_tgt
     .local int rx220_pos
     .local int rx220_off
@@ -2879,7 +2839,7 @@
     .local int rx220_rep
     .local pmc rx220_cur
     (rx220_cur, rx220_pos, rx220_tgt) = self."!cursor_start"()
-    rx220_cur."!cursor_debug"("START ", "newpad")
+    rx220_cur."!cursor_debug"("START ", "blockoid")
     .lex unicode:"$\x{a2}", rx220_cur
     .local pmc match
     .lex "$/", match
@@ -2890,1152 +2850,1151 @@
     substr rx220_tgt, rx220_tgt, rx220_off
   rx220_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan223_done
-    goto rxscan223_scan
-  rxscan223_loop:
+    ne $I10, -1, rxscan224_done
+    goto rxscan224_scan
+  rxscan224_loop:
     ($P10) = rx220_cur."from"()
     inc $P10
     set rx220_pos, $P10
-    ge rx220_pos, rx220_eos, rxscan223_done
-  rxscan223_scan:
-    set_addr $I10, rxscan223_loop
+    ge rx220_pos, rx220_eos, rxscan224_done
+  rxscan224_scan:
+    set_addr $I10, rxscan224_loop
+    rx220_cur."!mark_push"(0, rx220_pos, $I10)
+  rxscan224_done:
+.annotate 'line', 137
+  # rx subrule "finishpad" subtype=method negate=
+    rx220_cur."!cursor_pos"(rx220_pos)
+    $P10 = rx220_cur."finishpad"()
+    unless $P10, rx220_fail
+    rx220_pos = $P10."pos"()
+.annotate 'line', 138
+  # rx literal  "{"
+    add $I11, rx220_pos, 1
+    gt $I11, rx220_eos, rx220_fail
+    sub $I11, rx220_pos, rx220_off
+    substr $S10, rx220_tgt, $I11, 1
+    ne $S10, "{", rx220_fail
+    add rx220_pos, 1
+  # rx subrule "statementlist" subtype=capture negate=
+    rx220_cur."!cursor_pos"(rx220_pos)
+    $P10 = rx220_cur."statementlist"()
+    unless $P10, rx220_fail
+    rx220_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statementlist")
+    rx220_pos = $P10."pos"()
+  alt225_0:
+    set_addr $I10, alt225_1
     rx220_cur."!mark_push"(0, rx220_pos, $I10)
-  rxscan223_done:
-.annotate "line", 141
+  # rx literal  "}"
+    add $I11, rx220_pos, 1
+    gt $I11, rx220_eos, rx220_fail
+    sub $I11, rx220_pos, rx220_off
+    substr $S10, rx220_tgt, $I11, 1
+    ne $S10, "}", rx220_fail
+    add rx220_pos, 1
+    goto alt225_end
+  alt225_1:
+  # rx subrule "FAILGOAL" subtype=method negate=
+    rx220_cur."!cursor_pos"(rx220_pos)
+    $P10 = rx220_cur."FAILGOAL"("'}'")
+    unless $P10, rx220_fail
+    rx220_pos = $P10."pos"()
+  alt225_end:
+.annotate 'line', 139
+  # rx subrule "ENDSTMT" subtype=zerowidth negate=
+    rx220_cur."!cursor_pos"(rx220_pos)
+    $P10 = rx220_cur."ENDSTMT"()
+    unless $P10, rx220_fail
+.annotate 'line', 136
   # rx pass
-    rx220_cur."!cursor_pass"(rx220_pos, "newpad")
-    rx220_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx220_pos)
+    rx220_cur."!cursor_pass"(rx220_pos, "blockoid")
+    rx220_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx220_pos)
     .return (rx220_cur)
   rx220_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx220_rep, rx220_pos, $I10, $P10) = rx220_cur."!mark_fail"(0)
     lt rx220_pos, -1, rx220_done
     eq rx220_pos, -1, rx220_fail
     jump $I10
   rx220_done:
     rx220_cur."!cursor_fail"()
-    rx220_cur."!cursor_debug"("FAIL  ", "newpad")
+    rx220_cur."!cursor_debug"("FAIL  ", "blockoid")
     .return (rx220_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1272816833.94956") :method
-.annotate "line", 4
-    new $P222, "ResizablePMCArray"
-    push $P222, ""
-    .return ($P222)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("50_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx225_tgt
-    .local int rx225_pos
-    .local int rx225_off
-    .local int rx225_eos
-    .local int rx225_rep
-    .local pmc rx225_cur
-    (rx225_cur, rx225_pos, rx225_tgt) = self."!cursor_start"()
-    rx225_cur."!cursor_debug"("START ", "finishpad")
-    .lex unicode:"$\x{a2}", rx225_cur
-    .local pmc match
-    .lex "$/", match
-    length rx225_eos, rx225_tgt
-    set rx225_off, 0
-    lt rx225_pos, 2, rx225_start
-    sub rx225_off, rx225_pos, 1
-    substr rx225_tgt, rx225_tgt, rx225_off
-  rx225_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan228_done
-    goto rxscan228_scan
-  rxscan228_loop:
-    ($P10) = rx225_cur."from"()
-    inc $P10
-    set rx225_pos, $P10
-    ge rx225_pos, rx225_eos, rxscan228_done
-  rxscan228_scan:
-    set_addr $I10, rxscan228_loop
-    rx225_cur."!mark_push"(0, rx225_pos, $I10)
-  rxscan228_done:
-.annotate "line", 142
-  # rx pass
-    rx225_cur."!cursor_pass"(rx225_pos, "finishpad")
-    rx225_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx225_pos)
-    .return (rx225_cur)
-  rx225_fail:
-.annotate "line", 4
-    (rx225_rep, rx225_pos, $I10, $P10) = rx225_cur."!mark_fail"(0)
-    lt rx225_pos, -1, rx225_done
-    eq rx225_pos, -1, rx225_fail
-    jump $I10
-  rx225_done:
-    rx225_cur."!cursor_fail"()
-    rx225_cur."!cursor_debug"("FAIL  ", "finishpad")
-    .return (rx225_cur)
+.sub "!PREFIX__blockoid"  :subid("47_1273866379.28103") :method
+.annotate 'line', 4
+    $P222 = self."!PREFIX__!subrule"("", "")
+    new $P223, "ResizablePMCArray"
+    push $P223, $P222
+    .return ($P223)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "newpad"  :subid("48_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx228_tgt
+    .local int rx228_pos
+    .local int rx228_off
+    .local int rx228_eos
+    .local int rx228_rep
+    .local pmc rx228_cur
+    (rx228_cur, rx228_pos, rx228_tgt) = self."!cursor_start"()
+    rx228_cur."!cursor_debug"("START ", "newpad")
+    .lex unicode:"$\x{a2}", rx228_cur
+    .local pmc match
+    .lex "$/", match
+    length rx228_eos, rx228_tgt
+    set rx228_off, 0
+    lt rx228_pos, 2, rx228_start
+    sub rx228_off, rx228_pos, 1
+    substr rx228_tgt, rx228_tgt, rx228_off
+  rx228_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan231_done
+    goto rxscan231_scan
+  rxscan231_loop:
+    ($P10) = rx228_cur."from"()
+    inc $P10
+    set rx228_pos, $P10
+    ge rx228_pos, rx228_eos, rxscan231_done
+  rxscan231_scan:
+    set_addr $I10, rxscan231_loop
+    rx228_cur."!mark_push"(0, rx228_pos, $I10)
+  rxscan231_done:
+.annotate 'line', 142
+  # rx pass
+    rx228_cur."!cursor_pass"(rx228_pos, "newpad")
+    rx228_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx228_pos)
+    .return (rx228_cur)
+  rx228_fail:
+.annotate 'line', 4
+    (rx228_rep, rx228_pos, $I10, $P10) = rx228_cur."!mark_fail"(0)
+    lt rx228_pos, -1, rx228_done
+    eq rx228_pos, -1, rx228_fail
+    jump $I10
+  rx228_done:
+    rx228_cur."!cursor_fail"()
+    rx228_cur."!cursor_debug"("FAIL  ", "newpad")
+    .return (rx228_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("51_1272816833.94956") :method
-.annotate "line", 4
-    new $P227, "ResizablePMCArray"
-    push $P227, ""
-    .return ($P227)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("52_1272816833.94956") :method
-.annotate "line", 144
-    $P230 = self."!protoregex"("terminator")
+.sub "!PREFIX__newpad"  :subid("49_1273866379.28103") :method
+.annotate 'line', 4
+    new $P230, "ResizablePMCArray"
+    push $P230, ""
     .return ($P230)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("53_1272816833.94956") :method
-.annotate "line", 144
-    $P232 = self."!PREFIX__!protoregex"("terminator")
-    .return ($P232)
+.sub "finishpad"  :subid("50_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx233_tgt
+    .local int rx233_pos
+    .local int rx233_off
+    .local int rx233_eos
+    .local int rx233_rep
+    .local pmc rx233_cur
+    (rx233_cur, rx233_pos, rx233_tgt) = self."!cursor_start"()
+    rx233_cur."!cursor_debug"("START ", "finishpad")
+    .lex unicode:"$\x{a2}", rx233_cur
+    .local pmc match
+    .lex "$/", match
+    length rx233_eos, rx233_tgt
+    set rx233_off, 0
+    lt rx233_pos, 2, rx233_start
+    sub rx233_off, rx233_pos, 1
+    substr rx233_tgt, rx233_tgt, rx233_off
+  rx233_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan236_done
+    goto rxscan236_scan
+  rxscan236_loop:
+    ($P10) = rx233_cur."from"()
+    inc $P10
+    set rx233_pos, $P10
+    ge rx233_pos, rx233_eos, rxscan236_done
+  rxscan236_scan:
+    set_addr $I10, rxscan236_loop
+    rx233_cur."!mark_push"(0, rx233_pos, $I10)
+  rxscan236_done:
+.annotate 'line', 143
+  # rx pass
+    rx233_cur."!cursor_pass"(rx233_pos, "finishpad")
+    rx233_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx233_pos)
+    .return (rx233_cur)
+  rx233_fail:
+.annotate 'line', 4
+    (rx233_rep, rx233_pos, $I10, $P10) = rx233_cur."!mark_fail"(0)
+    lt rx233_pos, -1, rx233_done
+    eq rx233_pos, -1, rx233_fail
+    jump $I10
+  rx233_done:
+    rx233_cur."!cursor_fail"()
+    rx233_cur."!cursor_debug"("FAIL  ", "finishpad")
+    .return (rx233_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("54_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx234_tgt
-    .local int rx234_pos
-    .local int rx234_off
-    .local int rx234_eos
-    .local int rx234_rep
-    .local pmc rx234_cur
-    (rx234_cur, rx234_pos, rx234_tgt) = self."!cursor_start"()
-    rx234_cur."!cursor_debug"("START ", "terminator:sym<;>")
-    .lex unicode:"$\x{a2}", rx234_cur
-    .local pmc match
-    .lex "$/", match
-    length rx234_eos, rx234_tgt
-    set rx234_off, 0
-    lt rx234_pos, 2, rx234_start
-    sub rx234_off, rx234_pos, 1
-    substr rx234_tgt, rx234_tgt, rx234_off
-  rx234_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan237_done
-    goto rxscan237_scan
-  rxscan237_loop:
-    ($P10) = rx234_cur."from"()
-    inc $P10
-    set rx234_pos, $P10
-    ge rx234_pos, rx234_eos, rxscan237_done
-  rxscan237_scan:
-    set_addr $I10, rxscan237_loop
-    rx234_cur."!mark_push"(0, rx234_pos, $I10)
-  rxscan237_done:
-.annotate "line", 146
+.sub "!PREFIX__finishpad"  :subid("51_1273866379.28103") :method
+.annotate 'line', 4
+    new $P235, "ResizablePMCArray"
+    push $P235, ""
+    .return ($P235)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "terminator"  :subid("52_1273866379.28103") :method
+.annotate 'line', 145
+    $P238 = self."!protoregex"("terminator")
+    .return ($P238)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__terminator"  :subid("53_1273866379.28103") :method
+.annotate 'line', 145
+    $P240 = self."!PREFIX__!protoregex"("terminator")
+    .return ($P240)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "terminator:sym<;>"  :subid("54_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx242_tgt
+    .local int rx242_pos
+    .local int rx242_off
+    .local int rx242_eos
+    .local int rx242_rep
+    .local pmc rx242_cur
+    (rx242_cur, rx242_pos, rx242_tgt) = self."!cursor_start"()
+    rx242_cur."!cursor_debug"("START ", "terminator:sym<;>")
+    .lex unicode:"$\x{a2}", rx242_cur
+    .local pmc match
+    .lex "$/", match
+    length rx242_eos, rx242_tgt
+    set rx242_off, 0
+    lt rx242_pos, 2, rx242_start
+    sub rx242_off, rx242_pos, 1
+    substr rx242_tgt, rx242_tgt, rx242_off
+  rx242_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan245_done
+    goto rxscan245_scan
+  rxscan245_loop:
+    ($P10) = rx242_cur."from"()
+    inc $P10
+    set rx242_pos, $P10
+    ge rx242_pos, rx242_eos, rxscan245_done
+  rxscan245_scan:
+    set_addr $I10, rxscan245_loop
+    rx242_cur."!mark_push"(0, rx242_pos, $I10)
+  rxscan245_done:
+.annotate 'line', 147
   # rx enumcharlist negate=0 zerowidth
-    ge rx234_pos, rx234_eos, rx234_fail
-    sub $I10, rx234_pos, rx234_off
-    substr $S10, rx234_tgt, $I10, 1
+    ge rx242_pos, rx242_eos, rx242_fail
+    sub $I10, rx242_pos, rx242_off
+    substr $S10, rx242_tgt, $I10, 1
     index $I11, ";", $S10
-    lt $I11, 0, rx234_fail
+    lt $I11, 0, rx242_fail
   # rx pass
-    rx234_cur."!cursor_pass"(rx234_pos, "terminator:sym<;>")
-    rx234_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx234_pos)
-    .return (rx234_cur)
-  rx234_fail:
-.annotate "line", 4
-    (rx234_rep, rx234_pos, $I10, $P10) = rx234_cur."!mark_fail"(0)
-    lt rx234_pos, -1, rx234_done
-    eq rx234_pos, -1, rx234_fail
-    jump $I10
-  rx234_done:
-    rx234_cur."!cursor_fail"()
-    rx234_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
-    .return (rx234_cur)
+    rx242_cur."!cursor_pass"(rx242_pos, "terminator:sym<;>")
+    rx242_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx242_pos)
+    .return (rx242_cur)
+  rx242_fail:
+.annotate 'line', 4
+    (rx242_rep, rx242_pos, $I10, $P10) = rx242_cur."!mark_fail"(0)
+    lt rx242_pos, -1, rx242_done
+    eq rx242_pos, -1, rx242_fail
+    jump $I10
+  rx242_done:
+    rx242_cur."!cursor_fail"()
+    rx242_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
+    .return (rx242_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("55_1272816833.94956") :method
-.annotate "line", 4
-    new $P236, "ResizablePMCArray"
-    push $P236, ";"
-    .return ($P236)
+.sub "!PREFIX__terminator:sym<;>"  :subid("55_1273866379.28103") :method
+.annotate 'line', 4
+    new $P244, "ResizablePMCArray"
+    push $P244, ";"
+    .return ($P244)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("56_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx239_tgt
-    .local int rx239_pos
-    .local int rx239_off
-    .local int rx239_eos
-    .local int rx239_rep
-    .local pmc rx239_cur
-    (rx239_cur, rx239_pos, rx239_tgt) = self."!cursor_start"()
-    rx239_cur."!cursor_debug"("START ", "terminator:sym<}>")
-    .lex unicode:"$\x{a2}", rx239_cur
-    .local pmc match
-    .lex "$/", match
-    length rx239_eos, rx239_tgt
-    set rx239_off, 0
-    lt rx239_pos, 2, rx239_start
-    sub rx239_off, rx239_pos, 1
-    substr rx239_tgt, rx239_tgt, rx239_off
-  rx239_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan242_done
-    goto rxscan242_scan
-  rxscan242_loop:
-    ($P10) = rx239_cur."from"()
-    inc $P10
-    set rx239_pos, $P10
-    ge rx239_pos, rx239_eos, rxscan242_done
-  rxscan242_scan:
-    set_addr $I10, rxscan242_loop
-    rx239_cur."!mark_push"(0, rx239_pos, $I10)
-  rxscan242_done:
-.annotate "line", 147
+.sub "terminator:sym<}>"  :subid("56_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx247_tgt
+    .local int rx247_pos
+    .local int rx247_off
+    .local int rx247_eos
+    .local int rx247_rep
+    .local pmc rx247_cur
+    (rx247_cur, rx247_pos, rx247_tgt) = self."!cursor_start"()
+    rx247_cur."!cursor_debug"("START ", "terminator:sym<}>")
+    .lex unicode:"$\x{a2}", rx247_cur
+    .local pmc match
+    .lex "$/", match
+    length rx247_eos, rx247_tgt
+    set rx247_off, 0
+    lt rx247_pos, 2, rx247_start
+    sub rx247_off, rx247_pos, 1
+    substr rx247_tgt, rx247_tgt, rx247_off
+  rx247_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan250_done
+    goto rxscan250_scan
+  rxscan250_loop:
+    ($P10) = rx247_cur."from"()
+    inc $P10
+    set rx247_pos, $P10
+    ge rx247_pos, rx247_eos, rxscan250_done
+  rxscan250_scan:
+    set_addr $I10, rxscan250_loop
+    rx247_cur."!mark_push"(0, rx247_pos, $I10)
+  rxscan250_done:
+.annotate 'line', 148
   # rx enumcharlist negate=0 zerowidth
-    ge rx239_pos, rx239_eos, rx239_fail
-    sub $I10, rx239_pos, rx239_off
-    substr $S10, rx239_tgt, $I10, 1
+    ge rx247_pos, rx247_eos, rx247_fail
+    sub $I10, rx247_pos, rx247_off
+    substr $S10, rx247_tgt, $I10, 1
     index $I11, "}", $S10
-    lt $I11, 0, rx239_fail
+    lt $I11, 0, rx247_fail
   # rx pass
-    rx239_cur."!cursor_pass"(rx239_pos, "terminator:sym<}>")
-    rx239_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx239_pos)
-    .return (rx239_cur)
-  rx239_fail:
-.annotate "line", 4
-    (rx239_rep, rx239_pos, $I10, $P10) = rx239_cur."!mark_fail"(0)
-    lt rx239_pos, -1, rx239_done
-    eq rx239_pos, -1, rx239_fail
+    rx247_cur."!cursor_pass"(rx247_pos, "terminator:sym<}>")
+    rx247_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx247_pos)
+    .return (rx247_cur)
+  rx247_fail:
+.annotate 'line', 4
+    (rx247_rep, rx247_pos, $I10, $P10) = rx247_cur."!mark_fail"(0)
+    lt rx247_pos, -1, rx247_done
+    eq rx247_pos, -1, rx247_fail
     jump $I10
-  rx239_done:
-    rx239_cur."!cursor_fail"()
-    rx239_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
-    .return (rx239_cur)
+  rx247_done:
+    rx247_cur."!cursor_fail"()
+    rx247_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    .return (rx247_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("57_1272816833.94956") :method
-.annotate "line", 4
-    new $P241, "ResizablePMCArray"
-    push $P241, "}"
-    .return ($P241)
+.sub "!PREFIX__terminator:sym<}>"  :subid("57_1273866379.28103") :method
+.annotate 'line', 4
+    new $P249, "ResizablePMCArray"
+    push $P249, "}"
+    .return ($P249)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("58_1272816833.94956") :method
-.annotate "line", 151
-    $P244 = self."!protoregex"("statement_control")
-    .return ($P244)
+.sub "statement_control"  :subid("58_1273866379.28103") :method
+.annotate 'line', 152
+    $P252 = self."!protoregex"("statement_control")
+    .return ($P252)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("59_1272816833.94956") :method
-.annotate "line", 151
-    $P246 = self."!PREFIX__!protoregex"("statement_control")
-    .return ($P246)
+.sub "!PREFIX__statement_control"  :subid("59_1273866379.28103") :method
+.annotate 'line', 152
+    $P254 = self."!PREFIX__!protoregex"("statement_control")
+    .return ($P254)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("60_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx248_tgt
-    .local int rx248_pos
-    .local int rx248_off
-    .local int rx248_eos
-    .local int rx248_rep
-    .local pmc rx248_cur
-    (rx248_cur, rx248_pos, rx248_tgt) = self."!cursor_start"()
-    rx248_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx248_cur."!cursor_caparray"("xblock", "else")
-    .lex unicode:"$\x{a2}", rx248_cur
-    .local pmc match
-    .lex "$/", match
-    length rx248_eos, rx248_tgt
-    set rx248_off, 0
-    lt rx248_pos, 2, rx248_start
-    sub rx248_off, rx248_pos, 1
-    substr rx248_tgt, rx248_tgt, rx248_off
-  rx248_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan251_done
-    goto rxscan251_scan
-  rxscan251_loop:
-    ($P10) = rx248_cur."from"()
-    inc $P10
-    set rx248_pos, $P10
-    ge rx248_pos, rx248_eos, rxscan251_done
-  rxscan251_scan:
-    set_addr $I10, rxscan251_loop
-    rx248_cur."!mark_push"(0, rx248_pos, $I10)
-  rxscan251_done:
-.annotate "line", 154
+.sub "statement_control:sym<if>"  :subid("60_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx256_tgt
+    .local int rx256_pos
+    .local int rx256_off
+    .local int rx256_eos
+    .local int rx256_rep
+    .local pmc rx256_cur
+    (rx256_cur, rx256_pos, rx256_tgt) = self."!cursor_start"()
+    rx256_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+    rx256_cur."!cursor_caparray"("else", "xblock")
+    .lex unicode:"$\x{a2}", rx256_cur
+    .local pmc match
+    .lex "$/", match
+    length rx256_eos, rx256_tgt
+    set rx256_off, 0
+    lt rx256_pos, 2, rx256_start
+    sub rx256_off, rx256_pos, 1
+    substr rx256_tgt, rx256_tgt, rx256_off
+  rx256_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan259_done
+    goto rxscan259_scan
+  rxscan259_loop:
+    ($P10) = rx256_cur."from"()
+    inc $P10
+    set rx256_pos, $P10
+    ge rx256_pos, rx256_eos, rxscan259_done
+  rxscan259_scan:
+    set_addr $I10, rxscan259_loop
+    rx256_cur."!mark_push"(0, rx256_pos, $I10)
+  rxscan259_done:
+.annotate 'line', 155
   # rx subcapture "sym"
-    set_addr $I10, rxcap_252_fail
-    rx248_cur."!mark_push"(0, rx248_pos, $I10)
+    set_addr $I10, rxcap_260_fail
+    rx256_cur."!mark_push"(0, rx256_pos, $I10)
   # rx literal  "if"
-    add $I11, rx248_pos, 2
-    gt $I11, rx248_eos, rx248_fail
-    sub $I11, rx248_pos, rx248_off
-    substr $S10, rx248_tgt, $I11, 2
-    ne $S10, "if", rx248_fail
-    add rx248_pos, 2
-    set_addr $I10, rxcap_252_fail
-    ($I12, $I11) = rx248_cur."!mark_peek"($I10)
-    rx248_cur."!cursor_pos"($I11)
-    ($P10) = rx248_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx248_pos, "")
-    rx248_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx256_pos, 2
+    gt $I11, rx256_eos, rx256_fail
+    sub $I11, rx256_pos, rx256_off
+    substr $S10, rx256_tgt, $I11, 2
+    ne $S10, "if", rx256_fail
+    add rx256_pos, 2
+    set_addr $I10, rxcap_260_fail
+    ($I12, $I11) = rx256_cur."!mark_peek"($I10)
+    rx256_cur."!cursor_pos"($I11)
+    ($P10) = rx256_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx256_pos, "")
+    rx256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_252_done
-  rxcap_252_fail:
-    goto rx248_fail
-  rxcap_252_done:
+    goto rxcap_260_done
+  rxcap_260_fail:
+    goto rx256_fail
+  rxcap_260_done:
   # rx charclass s
-    ge rx248_pos, rx248_eos, rx248_fail
-    sub $I10, rx248_pos, rx248_off
-    is_cclass $I11, 32, rx248_tgt, $I10
-    unless $I11, rx248_fail
-    inc rx248_pos
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-.annotate "line", 155
+    ge rx256_pos, rx256_eos, rx256_fail
+    sub $I10, rx256_pos, rx256_off
+    is_cclass $I11, 32, rx256_tgt, $I10
+    unless $I11, rx256_fail
+    inc rx256_pos
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+.annotate 'line', 156
   # rx subrule "xblock" subtype=capture negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."xblock"()
-    unless $P10, rx248_fail
-    rx248_cur."!mark_push"(0, -1, 0, $P10)
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."xblock"()
+    unless $P10, rx256_fail
+    rx256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx248_pos = $P10."pos"()
+    rx256_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-.annotate "line", 156
-  # rx rxquantr255 ** 0..*
-    set_addr $I259, rxquantr255_done
-    rx248_cur."!mark_push"(0, rx248_pos, $I259)
-  rxquantr255_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+.annotate 'line', 157
+  # rx rxquantr263 ** 0..*
+    set_addr $I267, rxquantr263_done
+    rx256_cur."!mark_push"(0, rx256_pos, $I267)
+  rxquantr263_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
   # rx literal  "elsif"
-    add $I11, rx248_pos, 5
-    gt $I11, rx248_eos, rx248_fail
-    sub $I11, rx248_pos, rx248_off
-    substr $S10, rx248_tgt, $I11, 5
-    ne $S10, "elsif", rx248_fail
-    add rx248_pos, 5
+    add $I11, rx256_pos, 5
+    gt $I11, rx256_eos, rx256_fail
+    sub $I11, rx256_pos, rx256_off
+    substr $S10, rx256_tgt, $I11, 5
+    ne $S10, "elsif", rx256_fail
+    add rx256_pos, 5
   # rx charclass s
-    ge rx248_pos, rx248_eos, rx248_fail
-    sub $I10, rx248_pos, rx248_off
-    is_cclass $I11, 32, rx248_tgt, $I10
-    unless $I11, rx248_fail
-    inc rx248_pos
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
+    ge rx256_pos, rx256_eos, rx256_fail
+    sub $I10, rx256_pos, rx256_off
+    is_cclass $I11, 32, rx256_tgt, $I10
+    unless $I11, rx256_fail
+    inc rx256_pos
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."xblock"()
-    unless $P10, rx248_fail
-    rx248_cur."!mark_push"(0, -1, 0, $P10)
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."xblock"()
+    unless $P10, rx256_fail
+    rx256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx248_pos = $P10."pos"()
+    rx256_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-    (rx248_rep) = rx248_cur."!mark_commit"($I259)
-    rx248_cur."!mark_push"(rx248_rep, rx248_pos, $I259)
-    goto rxquantr255_loop
-  rxquantr255_done:
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-.annotate "line", 157
-  # rx rxquantr261 ** 0..1
-    set_addr $I265, rxquantr261_done
-    rx248_cur."!mark_push"(0, rx248_pos, $I265)
-  rxquantr261_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+    (rx256_rep) = rx256_cur."!mark_commit"($I267)
+    rx256_cur."!mark_push"(rx256_rep, rx256_pos, $I267)
+    goto rxquantr263_loop
+  rxquantr263_done:
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+.annotate 'line', 158
+  # rx rxquantr269 ** 0..1
+    set_addr $I273, rxquantr269_done
+    rx256_cur."!mark_push"(0, rx256_pos, $I273)
+  rxquantr269_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
   # rx literal  "else"
-    add $I11, rx248_pos, 4
-    gt $I11, rx248_eos, rx248_fail
-    sub $I11, rx248_pos, rx248_off
-    substr $S10, rx248_tgt, $I11, 4
-    ne $S10, "else", rx248_fail
-    add rx248_pos, 4
+    add $I11, rx256_pos, 4
+    gt $I11, rx256_eos, rx256_fail
+    sub $I11, rx256_pos, rx256_off
+    substr $S10, rx256_tgt, $I11, 4
+    ne $S10, "else", rx256_fail
+    add rx256_pos, 4
   # rx charclass s
-    ge rx248_pos, rx248_eos, rx248_fail
-    sub $I10, rx248_pos, rx248_off
-    is_cclass $I11, 32, rx248_tgt, $I10
-    unless $I11, rx248_fail
-    inc rx248_pos
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
+    ge rx256_pos, rx256_eos, rx256_fail
+    sub $I10, rx256_pos, rx256_off
+    is_cclass $I11, 32, rx256_tgt, $I10
+    unless $I11, rx256_fail
+    inc rx256_pos
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."pblock"()
-    unless $P10, rx248_fail
-    rx248_cur."!mark_push"(0, -1, 0, $P10)
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."pblock"()
+    unless $P10, rx256_fail
+    rx256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("else")
-    rx248_pos = $P10."pos"()
+    rx256_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-    (rx248_rep) = rx248_cur."!mark_commit"($I265)
-  rxquantr261_done:
-  # rx subrule "ws" subtype=method negate=
-    rx248_cur."!cursor_pos"(rx248_pos)
-    $P10 = rx248_cur."ws"()
-    unless $P10, rx248_fail
-    rx248_pos = $P10."pos"()
-.annotate "line", 153
-  # rx pass
-    rx248_cur."!cursor_pass"(rx248_pos, "statement_control:sym<if>")
-    rx248_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx248_pos)
-    .return (rx248_cur)
-  rx248_fail:
-.annotate "line", 4
-    (rx248_rep, rx248_pos, $I10, $P10) = rx248_cur."!mark_fail"(0)
-    lt rx248_pos, -1, rx248_done
-    eq rx248_pos, -1, rx248_fail
-    jump $I10
-  rx248_done:
-    rx248_cur."!cursor_fail"()
-    rx248_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
-    .return (rx248_cur)
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+    (rx256_rep) = rx256_cur."!mark_commit"($I273)
+  rxquantr269_done:
+  # rx subrule "ws" subtype=method negate=
+    rx256_cur."!cursor_pos"(rx256_pos)
+    $P10 = rx256_cur."ws"()
+    unless $P10, rx256_fail
+    rx256_pos = $P10."pos"()
+.annotate 'line', 154
+  # rx pass
+    rx256_cur."!cursor_pass"(rx256_pos, "statement_control:sym<if>")
+    rx256_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx256_pos)
+    .return (rx256_cur)
+  rx256_fail:
+.annotate 'line', 4
+    (rx256_rep, rx256_pos, $I10, $P10) = rx256_cur."!mark_fail"(0)
+    lt rx256_pos, -1, rx256_done
+    eq rx256_pos, -1, rx256_fail
+    jump $I10
+  rx256_done:
+    rx256_cur."!cursor_fail"()
+    rx256_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
+    .return (rx256_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1272816833.94956") :method
-.annotate "line", 4
-    new $P250, "ResizablePMCArray"
-    push $P250, "if"
-    .return ($P250)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("62_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .const 'Sub' $P278 = "64_1272816833.94956" 
-    capture_lex $P278
-    .local string rx268_tgt
-    .local int rx268_pos
-    .local int rx268_off
-    .local int rx268_eos
-    .local int rx268_rep
-    .local pmc rx268_cur
-    (rx268_cur, rx268_pos, rx268_tgt) = self."!cursor_start"()
-    rx268_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
-    .lex unicode:"$\x{a2}", rx268_cur
-    .local pmc match
-    .lex "$/", match
-    length rx268_eos, rx268_tgt
-    set rx268_off, 0
-    lt rx268_pos, 2, rx268_start
-    sub rx268_off, rx268_pos, 1
-    substr rx268_tgt, rx268_tgt, rx268_off
-  rx268_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan271_done
-    goto rxscan271_scan
-  rxscan271_loop:
-    ($P10) = rx268_cur."from"()
-    inc $P10
-    set rx268_pos, $P10
-    ge rx268_pos, rx268_eos, rxscan271_done
-  rxscan271_scan:
-    set_addr $I10, rxscan271_loop
-    rx268_cur."!mark_push"(0, rx268_pos, $I10)
-  rxscan271_done:
-.annotate "line", 161
+.sub "!PREFIX__statement_control:sym<if>"  :subid("61_1273866379.28103") :method
+.annotate 'line', 4
+    new $P258, "ResizablePMCArray"
+    push $P258, "if"
+    .return ($P258)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement_control:sym<unless>"  :subid("62_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .const 'Sub' $P286 = "64_1273866379.28103" 
+    capture_lex $P286
+    .local string rx276_tgt
+    .local int rx276_pos
+    .local int rx276_off
+    .local int rx276_eos
+    .local int rx276_rep
+    .local pmc rx276_cur
+    (rx276_cur, rx276_pos, rx276_tgt) = self."!cursor_start"()
+    rx276_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
+    .lex unicode:"$\x{a2}", rx276_cur
+    .local pmc match
+    .lex "$/", match
+    length rx276_eos, rx276_tgt
+    set rx276_off, 0
+    lt rx276_pos, 2, rx276_start
+    sub rx276_off, rx276_pos, 1
+    substr rx276_tgt, rx276_tgt, rx276_off
+  rx276_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan279_done
+    goto rxscan279_scan
+  rxscan279_loop:
+    ($P10) = rx276_cur."from"()
+    inc $P10
+    set rx276_pos, $P10
+    ge rx276_pos, rx276_eos, rxscan279_done
+  rxscan279_scan:
+    set_addr $I10, rxscan279_loop
+    rx276_cur."!mark_push"(0, rx276_pos, $I10)
+  rxscan279_done:
+.annotate 'line', 162
   # rx subcapture "sym"
-    set_addr $I10, rxcap_272_fail
-    rx268_cur."!mark_push"(0, rx268_pos, $I10)
+    set_addr $I10, rxcap_280_fail
+    rx276_cur."!mark_push"(0, rx276_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx268_pos, 6
-    gt $I11, rx268_eos, rx268_fail
-    sub $I11, rx268_pos, rx268_off
-    substr $S10, rx268_tgt, $I11, 6
-    ne $S10, "unless", rx268_fail
-    add rx268_pos, 6
-    set_addr $I10, rxcap_272_fail
-    ($I12, $I11) = rx268_cur."!mark_peek"($I10)
-    rx268_cur."!cursor_pos"($I11)
-    ($P10) = rx268_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx268_pos, "")
-    rx268_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx276_pos, 6
+    gt $I11, rx276_eos, rx276_fail
+    sub $I11, rx276_pos, rx276_off
+    substr $S10, rx276_tgt, $I11, 6
+    ne $S10, "unless", rx276_fail
+    add rx276_pos, 6
+    set_addr $I10, rxcap_280_fail
+    ($I12, $I11) = rx276_cur."!mark_peek"($I10)
+    rx276_cur."!cursor_pos"($I11)
+    ($P10) = rx276_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx276_pos, "")
+    rx276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_272_done
-  rxcap_272_fail:
-    goto rx268_fail
-  rxcap_272_done:
+    goto rxcap_280_done
+  rxcap_280_fail:
+    goto rx276_fail
+  rxcap_280_done:
   # rx charclass s
-    ge rx268_pos, rx268_eos, rx268_fail
-    sub $I10, rx268_pos, rx268_off
-    is_cclass $I11, 32, rx268_tgt, $I10
-    unless $I11, rx268_fail
-    inc rx268_pos
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-.annotate "line", 162
+    ge rx276_pos, rx276_eos, rx276_fail
+    sub $I10, rx276_pos, rx276_off
+    is_cclass $I11, 32, rx276_tgt, $I10
+    unless $I11, rx276_fail
+    inc rx276_pos
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+.annotate 'line', 163
   # rx subrule "xblock" subtype=capture negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."xblock"()
-    unless $P10, rx268_fail
-    rx268_cur."!mark_push"(0, -1, 0, $P10)
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."xblock"()
+    unless $P10, rx276_fail
+    rx276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx268_pos = $P10."pos"()
+    rx276_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-  alt275_0:
-.annotate "line", 163
-    set_addr $I10, alt275_1
-    rx268_cur."!mark_push"(0, rx268_pos, $I10)
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+  alt283_0:
+.annotate 'line', 164
+    set_addr $I10, alt283_1
+    rx276_cur."!mark_push"(0, rx276_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
-    rx268_cur."!cursor_pos"(rx268_pos)
-    .const 'Sub' $P278 = "64_1272816833.94956" 
-    capture_lex $P278
-    $P10 = rx268_cur."before"($P278)
-    if $P10, rx268_fail
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-    goto alt275_end
-  alt275_1:
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
+    rx276_cur."!cursor_pos"(rx276_pos)
+    .const 'Sub' $P286 = "64_1273866379.28103" 
+    capture_lex $P286
+    $P10 = rx276_cur."before"($P286)
+    if $P10, rx276_fail
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+    goto alt283_end
+  alt283_1:
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-  alt275_end:
-  # rx subrule "ws" subtype=method negate=
-    rx268_cur."!cursor_pos"(rx268_pos)
-    $P10 = rx268_cur."ws"()
-    unless $P10, rx268_fail
-    rx268_pos = $P10."pos"()
-.annotate "line", 160
-  # rx pass
-    rx268_cur."!cursor_pass"(rx268_pos, "statement_control:sym<unless>")
-    rx268_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx268_pos)
-    .return (rx268_cur)
-  rx268_fail:
-.annotate "line", 4
-    (rx268_rep, rx268_pos, $I10, $P10) = rx268_cur."!mark_fail"(0)
-    lt rx268_pos, -1, rx268_done
-    eq rx268_pos, -1, rx268_fail
-    jump $I10
-  rx268_done:
-    rx268_cur."!cursor_fail"()
-    rx268_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
-    .return (rx268_cur)
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+  alt283_end:
+  # rx subrule "ws" subtype=method negate=
+    rx276_cur."!cursor_pos"(rx276_pos)
+    $P10 = rx276_cur."ws"()
+    unless $P10, rx276_fail
+    rx276_pos = $P10."pos"()
+.annotate 'line', 161
+  # rx pass
+    rx276_cur."!cursor_pass"(rx276_pos, "statement_control:sym<unless>")
+    rx276_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx276_pos)
+    .return (rx276_cur)
+  rx276_fail:
+.annotate 'line', 4
+    (rx276_rep, rx276_pos, $I10, $P10) = rx276_cur."!mark_fail"(0)
+    lt rx276_pos, -1, rx276_done
+    eq rx276_pos, -1, rx276_fail
+    jump $I10
+  rx276_done:
+    rx276_cur."!cursor_fail"()
+    rx276_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
+    .return (rx276_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1272816833.94956") :method
-.annotate "line", 4
-    new $P270, "ResizablePMCArray"
-    push $P270, "unless"
-    .return ($P270)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "_block277"  :anon :subid("64_1272816833.94956") :method :outer("62_1272816833.94956")
-.annotate "line", 163
-    .local string rx279_tgt
-    .local int rx279_pos
-    .local int rx279_off
-    .local int rx279_eos
-    .local int rx279_rep
-    .local pmc rx279_cur
-    (rx279_cur, rx279_pos, rx279_tgt) = self."!cursor_start"()
-    rx279_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx279_cur
-    .local pmc match
-    .lex "$/", match
-    length rx279_eos, rx279_tgt
-    set rx279_off, 0
-    lt rx279_pos, 2, rx279_start
-    sub rx279_off, rx279_pos, 1
-    substr rx279_tgt, rx279_tgt, rx279_off
-  rx279_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan280_done
-    goto rxscan280_scan
-  rxscan280_loop:
-    ($P10) = rx279_cur."from"()
-    inc $P10
-    set rx279_pos, $P10
-    ge rx279_pos, rx279_eos, rxscan280_done
-  rxscan280_scan:
-    set_addr $I10, rxscan280_loop
-    rx279_cur."!mark_push"(0, rx279_pos, $I10)
-  rxscan280_done:
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("63_1273866379.28103") :method
+.annotate 'line', 4
+    new $P278, "ResizablePMCArray"
+    push $P278, "unless"
+    .return ($P278)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "_block285"  :anon :subid("64_1273866379.28103") :method :outer("62_1273866379.28103")
+.annotate 'line', 164
+    .local string rx287_tgt
+    .local int rx287_pos
+    .local int rx287_off
+    .local int rx287_eos
+    .local int rx287_rep
+    .local pmc rx287_cur
+    (rx287_cur, rx287_pos, rx287_tgt) = self."!cursor_start"()
+    rx287_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx287_cur
+    .local pmc match
+    .lex "$/", match
+    length rx287_eos, rx287_tgt
+    set rx287_off, 0
+    lt rx287_pos, 2, rx287_start
+    sub rx287_off, rx287_pos, 1
+    substr rx287_tgt, rx287_tgt, rx287_off
+  rx287_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan288_done
+    goto rxscan288_scan
+  rxscan288_loop:
+    ($P10) = rx287_cur."from"()
+    inc $P10
+    set rx287_pos, $P10
+    ge rx287_pos, rx287_eos, rxscan288_done
+  rxscan288_scan:
+    set_addr $I10, rxscan288_loop
+    rx287_cur."!mark_push"(0, rx287_pos, $I10)
+  rxscan288_done:
   # rx literal  "else"
-    add $I11, rx279_pos, 4
-    gt $I11, rx279_eos, rx279_fail
-    sub $I11, rx279_pos, rx279_off
-    substr $S10, rx279_tgt, $I11, 4
-    ne $S10, "else", rx279_fail
-    add rx279_pos, 4
-  # rx pass
-    rx279_cur."!cursor_pass"(rx279_pos, "")
-    rx279_cur."!cursor_debug"("PASS  ", "", " at pos=", rx279_pos)
-    .return (rx279_cur)
-  rx279_fail:
-    (rx279_rep, rx279_pos, $I10, $P10) = rx279_cur."!mark_fail"(0)
-    lt rx279_pos, -1, rx279_done
-    eq rx279_pos, -1, rx279_fail
-    jump $I10
-  rx279_done:
-    rx279_cur."!cursor_fail"()
-    rx279_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx279_cur)
+    add $I11, rx287_pos, 4
+    gt $I11, rx287_eos, rx287_fail
+    sub $I11, rx287_pos, rx287_off
+    substr $S10, rx287_tgt, $I11, 4
+    ne $S10, "else", rx287_fail
+    add rx287_pos, 4
+  # rx pass
+    rx287_cur."!cursor_pass"(rx287_pos, "")
+    rx287_cur."!cursor_debug"("PASS  ", "", " at pos=", rx287_pos)
+    .return (rx287_cur)
+  rx287_fail:
+    (rx287_rep, rx287_pos, $I10, $P10) = rx287_cur."!mark_fail"(0)
+    lt rx287_pos, -1, rx287_done
+    eq rx287_pos, -1, rx287_fail
+    jump $I10
+  rx287_done:
+    rx287_cur."!cursor_fail"()
+    rx287_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx287_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("65_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx286_tgt
-    .local int rx286_pos
-    .local int rx286_off
-    .local int rx286_eos
-    .local int rx286_rep
-    .local pmc rx286_cur
-    (rx286_cur, rx286_pos, rx286_tgt) = self."!cursor_start"()
-    rx286_cur."!cursor_debug"("START ", "statement_control:sym<while>")
-    .lex unicode:"$\x{a2}", rx286_cur
-    .local pmc match
-    .lex "$/", match
-    length rx286_eos, rx286_tgt
-    set rx286_off, 0
-    lt rx286_pos, 2, rx286_start
-    sub rx286_off, rx286_pos, 1
-    substr rx286_tgt, rx286_tgt, rx286_off
-  rx286_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan289_done
-    goto rxscan289_scan
-  rxscan289_loop:
-    ($P10) = rx286_cur."from"()
-    inc $P10
-    set rx286_pos, $P10
-    ge rx286_pos, rx286_eos, rxscan289_done
-  rxscan289_scan:
-    set_addr $I10, rxscan289_loop
-    rx286_cur."!mark_push"(0, rx286_pos, $I10)
-  rxscan289_done:
-.annotate "line", 167
+.sub "statement_control:sym<while>"  :subid("65_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx294_tgt
+    .local int rx294_pos
+    .local int rx294_off
+    .local int rx294_eos
+    .local int rx294_rep
+    .local pmc rx294_cur
+    (rx294_cur, rx294_pos, rx294_tgt) = self."!cursor_start"()
+    rx294_cur."!cursor_debug"("START ", "statement_control:sym<while>")
+    .lex unicode:"$\x{a2}", rx294_cur
+    .local pmc match
+    .lex "$/", match
+    length rx294_eos, rx294_tgt
+    set rx294_off, 0
+    lt rx294_pos, 2, rx294_start
+    sub rx294_off, rx294_pos, 1
+    substr rx294_tgt, rx294_tgt, rx294_off
+  rx294_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan297_done
+    goto rxscan297_scan
+  rxscan297_loop:
+    ($P10) = rx294_cur."from"()
+    inc $P10
+    set rx294_pos, $P10
+    ge rx294_pos, rx294_eos, rxscan297_done
+  rxscan297_scan:
+    set_addr $I10, rxscan297_loop
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  rxscan297_done:
+.annotate 'line', 168
   # rx subcapture "sym"
-    set_addr $I10, rxcap_291_fail
-    rx286_cur."!mark_push"(0, rx286_pos, $I10)
-  alt290_0:
-    set_addr $I10, alt290_1
-    rx286_cur."!mark_push"(0, rx286_pos, $I10)
+    set_addr $I10, rxcap_299_fail
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
+  alt298_0:
+    set_addr $I10, alt298_1
+    rx294_cur."!mark_push"(0, rx294_pos, $I10)
   # rx literal  "while"
-    add $I11, rx286_pos, 5
-    gt $I11, rx286_eos, rx286_fail
-    sub $I11, rx286_pos, rx286_off
-    substr $S10, rx286_tgt, $I11, 5
-    ne $S10, "while", rx286_fail
-    add rx286_pos, 5
-    goto alt290_end
-  alt290_1:
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "while", rx294_fail
+    add rx294_pos, 5
+    goto alt298_end
+  alt298_1:
   # rx literal  "until"
-    add $I11, rx286_pos, 5
-    gt $I11, rx286_eos, rx286_fail
-    sub $I11, rx286_pos, rx286_off
-    substr $S10, rx286_tgt, $I11, 5
-    ne $S10, "until", rx286_fail
-    add rx286_pos, 5
-  alt290_end:
-    set_addr $I10, rxcap_291_fail
-    ($I12, $I11) = rx286_cur."!mark_peek"($I10)
-    rx286_cur."!cursor_pos"($I11)
-    ($P10) = rx286_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx286_pos, "")
-    rx286_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx294_pos, 5
+    gt $I11, rx294_eos, rx294_fail
+    sub $I11, rx294_pos, rx294_off
+    substr $S10, rx294_tgt, $I11, 5
+    ne $S10, "until", rx294_fail
+    add rx294_pos, 5
+  alt298_end:
+    set_addr $I10, rxcap_299_fail
+    ($I12, $I11) = rx294_cur."!mark_peek"($I10)
+    rx294_cur."!cursor_pos"($I11)
+    ($P10) = rx294_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx294_pos, "")
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_291_done
-  rxcap_291_fail:
-    goto rx286_fail
-  rxcap_291_done:
+    goto rxcap_299_done
+  rxcap_299_fail:
+    goto rx294_fail
+  rxcap_299_done:
   # rx charclass s
-    ge rx286_pos, rx286_eos, rx286_fail
-    sub $I10, rx286_pos, rx286_off
-    is_cclass $I11, 32, rx286_tgt, $I10
-    unless $I11, rx286_fail
-    inc rx286_pos
-  # rx subrule "ws" subtype=method negate=
-    rx286_cur."!cursor_pos"(rx286_pos)
-    $P10 = rx286_cur."ws"()
-    unless $P10, rx286_fail
-    rx286_pos = $P10."pos"()
-.annotate "line", 168
+    ge rx294_pos, rx294_eos, rx294_fail
+    sub $I10, rx294_pos, rx294_off
+    is_cclass $I11, 32, rx294_tgt, $I10
+    unless $I11, rx294_fail
+    inc rx294_pos
+  # rx subrule "ws" subtype=method negate=
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
+.annotate 'line', 169
   # rx subrule "xblock" subtype=capture negate=
-    rx286_cur."!cursor_pos"(rx286_pos)
-    $P10 = rx286_cur."xblock"()
-    unless $P10, rx286_fail
-    rx286_cur."!mark_push"(0, -1, 0, $P10)
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."xblock"()
+    unless $P10, rx294_fail
+    rx294_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx286_pos = $P10."pos"()
+    rx294_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx286_cur."!cursor_pos"(rx286_pos)
-    $P10 = rx286_cur."ws"()
-    unless $P10, rx286_fail
-    rx286_pos = $P10."pos"()
-.annotate "line", 166
-  # rx pass
-    rx286_cur."!cursor_pass"(rx286_pos, "statement_control:sym<while>")
-    rx286_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx286_pos)
-    .return (rx286_cur)
-  rx286_fail:
-.annotate "line", 4
-    (rx286_rep, rx286_pos, $I10, $P10) = rx286_cur."!mark_fail"(0)
-    lt rx286_pos, -1, rx286_done
-    eq rx286_pos, -1, rx286_fail
-    jump $I10
-  rx286_done:
-    rx286_cur."!cursor_fail"()
-    rx286_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
-    .return (rx286_cur)
+    rx294_cur."!cursor_pos"(rx294_pos)
+    $P10 = rx294_cur."ws"()
+    unless $P10, rx294_fail
+    rx294_pos = $P10."pos"()
+.annotate 'line', 167
+  # rx pass
+    rx294_cur."!cursor_pass"(rx294_pos, "statement_control:sym<while>")
+    rx294_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx294_pos)
+    .return (rx294_cur)
+  rx294_fail:
+.annotate 'line', 4
+    (rx294_rep, rx294_pos, $I10, $P10) = rx294_cur."!mark_fail"(0)
+    lt rx294_pos, -1, rx294_done
+    eq rx294_pos, -1, rx294_fail
+    jump $I10
+  rx294_done:
+    rx294_cur."!cursor_fail"()
+    rx294_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
+    .return (rx294_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1272816833.94956") :method
-.annotate "line", 4
-    new $P288, "ResizablePMCArray"
-    push $P288, "until"
-    push $P288, "while"
-    .return ($P288)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("67_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx295_tgt
-    .local int rx295_pos
-    .local int rx295_off
-    .local int rx295_eos
-    .local int rx295_rep
-    .local pmc rx295_cur
-    (rx295_cur, rx295_pos, rx295_tgt) = self."!cursor_start"()
-    rx295_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
-    .lex unicode:"$\x{a2}", rx295_cur
-    .local pmc match
-    .lex "$/", match
-    length rx295_eos, rx295_tgt
-    set rx295_off, 0
-    lt rx295_pos, 2, rx295_start
-    sub rx295_off, rx295_pos, 1
-    substr rx295_tgt, rx295_tgt, rx295_off
-  rx295_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan298_done
-    goto rxscan298_scan
-  rxscan298_loop:
-    ($P10) = rx295_cur."from"()
-    inc $P10
-    set rx295_pos, $P10
-    ge rx295_pos, rx295_eos, rxscan298_done
-  rxscan298_scan:
-    set_addr $I10, rxscan298_loop
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
-  rxscan298_done:
-.annotate "line", 172
+.sub "!PREFIX__statement_control:sym<while>"  :subid("66_1273866379.28103") :method
+.annotate 'line', 4
+    new $P296, "ResizablePMCArray"
+    push $P296, "until"
+    push $P296, "while"
+    .return ($P296)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement_control:sym<repeat>"  :subid("67_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx303_tgt
+    .local int rx303_pos
+    .local int rx303_off
+    .local int rx303_eos
+    .local int rx303_rep
+    .local pmc rx303_cur
+    (rx303_cur, rx303_pos, rx303_tgt) = self."!cursor_start"()
+    rx303_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
+    .lex unicode:"$\x{a2}", rx303_cur
+    .local pmc match
+    .lex "$/", match
+    length rx303_eos, rx303_tgt
+    set rx303_off, 0
+    lt rx303_pos, 2, rx303_start
+    sub rx303_off, rx303_pos, 1
+    substr rx303_tgt, rx303_tgt, rx303_off
+  rx303_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan306_done
+    goto rxscan306_scan
+  rxscan306_loop:
+    ($P10) = rx303_cur."from"()
+    inc $P10
+    set rx303_pos, $P10
+    ge rx303_pos, rx303_eos, rxscan306_done
+  rxscan306_scan:
+    set_addr $I10, rxscan306_loop
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  rxscan306_done:
+.annotate 'line', 173
   # rx subcapture "sym"
-    set_addr $I10, rxcap_299_fail
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
+    set_addr $I10, rxcap_307_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "repeat"
-    add $I11, rx295_pos, 6
-    gt $I11, rx295_eos, rx295_fail
-    sub $I11, rx295_pos, rx295_off
-    substr $S10, rx295_tgt, $I11, 6
-    ne $S10, "repeat", rx295_fail
-    add rx295_pos, 6
-    set_addr $I10, rxcap_299_fail
-    ($I12, $I11) = rx295_cur."!mark_peek"($I10)
-    rx295_cur."!cursor_pos"($I11)
-    ($P10) = rx295_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx295_pos, "")
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 6
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 6
+    ne $S10, "repeat", rx303_fail
+    add rx303_pos, 6
+    set_addr $I10, rxcap_307_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_299_done
-  rxcap_299_fail:
-    goto rx295_fail
-  rxcap_299_done:
+    goto rxcap_307_done
+  rxcap_307_fail:
+    goto rx303_fail
+  rxcap_307_done:
   # rx charclass s
-    ge rx295_pos, rx295_eos, rx295_fail
-    sub $I10, rx295_pos, rx295_off
-    is_cclass $I11, 32, rx295_tgt, $I10
-    unless $I11, rx295_fail
-    inc rx295_pos
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
-  alt301_0:
-.annotate "line", 173
-    set_addr $I10, alt301_1
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
-.annotate "line", 174
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_0:
+.annotate 'line', 174
+    set_addr $I10, alt309_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+.annotate 'line', 175
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_304_fail
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
-  alt303_0:
-    set_addr $I10, alt303_1
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
+    set_addr $I10, rxcap_312_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt311_0:
+    set_addr $I10, alt311_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx295_pos, 5
-    gt $I11, rx295_eos, rx295_fail
-    sub $I11, rx295_pos, rx295_off
-    substr $S10, rx295_tgt, $I11, 5
-    ne $S10, "while", rx295_fail
-    add rx295_pos, 5
-    goto alt303_end
-  alt303_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt311_end
+  alt311_1:
   # rx literal  "until"
-    add $I11, rx295_pos, 5
-    gt $I11, rx295_eos, rx295_fail
-    sub $I11, rx295_pos, rx295_off
-    substr $S10, rx295_tgt, $I11, 5
-    ne $S10, "until", rx295_fail
-    add rx295_pos, 5
-  alt303_end:
-    set_addr $I10, rxcap_304_fail
-    ($I12, $I11) = rx295_cur."!mark_peek"($I10)
-    rx295_cur."!cursor_pos"($I11)
-    ($P10) = rx295_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx295_pos, "")
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt311_end:
+    set_addr $I10, rxcap_312_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_304_done
-  rxcap_304_fail:
-    goto rx295_fail
-  rxcap_304_done:
+    goto rxcap_312_done
+  rxcap_312_fail:
+    goto rx303_fail
+  rxcap_312_done:
   # rx charclass s
-    ge rx295_pos, rx295_eos, rx295_fail
-    sub $I10, rx295_pos, rx295_off
-    is_cclass $I11, 32, rx295_tgt, $I10
-    unless $I11, rx295_fail
-    inc rx295_pos
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."xblock"()
-    unless $P10, rx295_fail
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."xblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx295_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+    goto alt309_end
+  alt309_1:
+.annotate 'line', 176
   # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
-    goto alt301_end
-  alt301_1:
-.annotate "line", 175
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."pblock"()
-    unless $P10, rx295_fail
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."pblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx295_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_310_fail
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
-  alt309_0:
-    set_addr $I10, alt309_1
-    rx295_cur."!mark_push"(0, rx295_pos, $I10)
+    set_addr $I10, rxcap_318_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt317_0:
+    set_addr $I10, alt317_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx295_pos, 5
-    gt $I11, rx295_eos, rx295_fail
-    sub $I11, rx295_pos, rx295_off
-    substr $S10, rx295_tgt, $I11, 5
-    ne $S10, "while", rx295_fail
-    add rx295_pos, 5
-    goto alt309_end
-  alt309_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt317_end
+  alt317_1:
   # rx literal  "until"
-    add $I11, rx295_pos, 5
-    gt $I11, rx295_eos, rx295_fail
-    sub $I11, rx295_pos, rx295_off
-    substr $S10, rx295_tgt, $I11, 5
-    ne $S10, "until", rx295_fail
-    add rx295_pos, 5
-  alt309_end:
-    set_addr $I10, rxcap_310_fail
-    ($I12, $I11) = rx295_cur."!mark_peek"($I10)
-    rx295_cur."!cursor_pos"($I11)
-    ($P10) = rx295_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx295_pos, "")
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt317_end:
+    set_addr $I10, rxcap_318_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_310_done
-  rxcap_310_fail:
-    goto rx295_fail
-  rxcap_310_done:
+    goto rxcap_318_done
+  rxcap_318_fail:
+    goto rx303_fail
+  rxcap_318_done:
   # rx charclass s
-    ge rx295_pos, rx295_eos, rx295_fail
-    sub $I10, rx295_pos, rx295_off
-    is_cclass $I11, 32, rx295_tgt, $I10
-    unless $I11, rx295_fail
-    inc rx295_pos
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."EXPR"()
-    unless $P10, rx295_fail
-    rx295_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."EXPR"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx295_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
-  alt301_end:
-.annotate "line", 176
-  # rx subrule "ws" subtype=method negate=
-    rx295_cur."!cursor_pos"(rx295_pos)
-    $P10 = rx295_cur."ws"()
-    unless $P10, rx295_fail
-    rx295_pos = $P10."pos"()
-.annotate "line", 171
-  # rx pass
-    rx295_cur."!cursor_pass"(rx295_pos, "statement_control:sym<repeat>")
-    rx295_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx295_pos)
-    .return (rx295_cur)
-  rx295_fail:
-.annotate "line", 4
-    (rx295_rep, rx295_pos, $I10, $P10) = rx295_cur."!mark_fail"(0)
-    lt rx295_pos, -1, rx295_done
-    eq rx295_pos, -1, rx295_fail
-    jump $I10
-  rx295_done:
-    rx295_cur."!cursor_fail"()
-    rx295_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
-    .return (rx295_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1272816833.94956") :method
-.annotate "line", 4
-    new $P297, "ResizablePMCArray"
-    push $P297, "repeat"
-    .return ($P297)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("69_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx315_tgt
-    .local int rx315_pos
-    .local int rx315_off
-    .local int rx315_eos
-    .local int rx315_rep
-    .local pmc rx315_cur
-    (rx315_cur, rx315_pos, rx315_tgt) = self."!cursor_start"()
-    rx315_cur."!cursor_debug"("START ", "statement_control:sym<for>")
-    .lex unicode:"$\x{a2}", rx315_cur
-    .local pmc match
-    .lex "$/", match
-    length rx315_eos, rx315_tgt
-    set rx315_off, 0
-    lt rx315_pos, 2, rx315_start
-    sub rx315_off, rx315_pos, 1
-    substr rx315_tgt, rx315_tgt, rx315_off
-  rx315_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan318_done
-    goto rxscan318_scan
-  rxscan318_loop:
-    ($P10) = rx315_cur."from"()
-    inc $P10
-    set rx315_pos, $P10
-    ge rx315_pos, rx315_eos, rxscan318_done
-  rxscan318_scan:
-    set_addr $I10, rxscan318_loop
-    rx315_cur."!mark_push"(0, rx315_pos, $I10)
-  rxscan318_done:
-.annotate "line", 180
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_319_fail
-    rx315_cur."!mark_push"(0, rx315_pos, $I10)
-  # rx literal  "for"
-    add $I11, rx315_pos, 3
-    gt $I11, rx315_eos, rx315_fail
-    sub $I11, rx315_pos, rx315_off
-    substr $S10, rx315_tgt, $I11, 3
-    ne $S10, "for", rx315_fail
-    add rx315_pos, 3
-    set_addr $I10, rxcap_319_fail
-    ($I12, $I11) = rx315_cur."!mark_peek"($I10)
-    rx315_cur."!cursor_pos"($I11)
-    ($P10) = rx315_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx315_pos, "")
-    rx315_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_319_done
-  rxcap_319_fail:
-    goto rx315_fail
-  rxcap_319_done:
-  # rx charclass s
-    ge rx315_pos, rx315_eos, rx315_fail
-    sub $I10, rx315_pos, rx315_off
-    is_cclass $I11, 32, rx315_tgt, $I10
-    unless $I11, rx315_fail
-    inc rx315_pos
-  # rx subrule "ws" subtype=method negate=
-    rx315_cur."!cursor_pos"(rx315_pos)
-    $P10 = rx315_cur."ws"()
-    unless $P10, rx315_fail
-    rx315_pos = $P10."pos"()
-.annotate "line", 181
-  # rx subrule "xblock" subtype=capture negate=
-    rx315_cur."!cursor_pos"(rx315_pos)
-    $P10 = rx315_cur."xblock"()
-    unless $P10, rx315_fail
-    rx315_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("xblock")
-    rx315_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+  alt309_end:
+.annotate 'line', 177
   # rx subrule "ws" subtype=method negate=
-    rx315_cur."!cursor_pos"(rx315_pos)
-    $P10 = rx315_cur."ws"()
-    unless $P10, rx315_fail
-    rx315_pos = $P10."pos"()
-.annotate "line", 179
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
+.annotate 'line', 172
   # rx pass
-    rx315_cur."!cursor_pass"(rx315_pos, "statement_control:sym<for>")
-    rx315_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx315_pos)
-    .return (rx315_cur)
-  rx315_fail:
-.annotate "line", 4
-    (rx315_rep, rx315_pos, $I10, $P10) = rx315_cur."!mark_fail"(0)
-    lt rx315_pos, -1, rx315_done
-    eq rx315_pos, -1, rx315_fail
+    rx303_cur."!cursor_pass"(rx303_pos, "statement_control:sym<repeat>")
+    rx303_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx303_pos)
+    .return (rx303_cur)
+  rx303_fail:
+.annotate 'line', 4
+    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
+    lt rx303_pos, -1, rx303_done
+    eq rx303_pos, -1, rx303_fail
     jump $I10
-  rx315_done:
-    rx315_cur."!cursor_fail"()
-    rx315_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
-    .return (rx315_cur)
+  rx303_done:
+    rx303_cur."!cursor_fail"()
+    rx303_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
+    .return (rx303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1272816833.94956") :method
-.annotate "line", 4
-    new $P317, "ResizablePMCArray"
-    push $P317, "for"
-    .return ($P317)
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("68_1273866379.28103") :method
+.annotate 'line', 4
+    new $P305, "ResizablePMCArray"
+    push $P305, "repeat"
+    .return ($P305)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("71_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "statement_control:sym<for>"  :subid("69_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx323_tgt
     .local int rx323_pos
     .local int rx323_off
@@ -4043,7 +4002,7 @@
     .local int rx323_rep
     .local pmc rx323_cur
     (rx323_cur, rx323_pos, rx323_tgt) = self."!cursor_start"()
-    rx323_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
+    rx323_cur."!cursor_debug"("START ", "statement_control:sym<for>")
     .lex unicode:"$\x{a2}", rx323_cur
     .local pmc match
     .lex "$/", match
@@ -4065,17 +4024,17 @@
     set_addr $I10, rxscan326_loop
     rx323_cur."!mark_push"(0, rx323_pos, $I10)
   rxscan326_done:
-.annotate "line", 185
+.annotate 'line', 181
   # rx subcapture "sym"
     set_addr $I10, rxcap_327_fail
     rx323_cur."!mark_push"(0, rx323_pos, $I10)
-  # rx literal  "CATCH"
-    add $I11, rx323_pos, 5
+  # rx literal  "for"
+    add $I11, rx323_pos, 3
     gt $I11, rx323_eos, rx323_fail
     sub $I11, rx323_pos, rx323_off
-    substr $S10, rx323_tgt, $I11, 5
-    ne $S10, "CATCH", rx323_fail
-    add rx323_pos, 5
+    substr $S10, rx323_tgt, $I11, 3
+    ne $S10, "for", rx323_fail
+    add rx323_pos, 3
     set_addr $I10, rxcap_327_fail
     ($I12, $I11) = rx323_cur."!mark_peek"($I10)
     rx323_cur."!cursor_pos"($I11)
@@ -4098,50 +4057,50 @@
     $P10 = rx323_cur."ws"()
     unless $P10, rx323_fail
     rx323_pos = $P10."pos"()
-.annotate "line", 186
-  # rx subrule "block" subtype=capture negate=
+.annotate 'line', 182
+  # rx subrule "xblock" subtype=capture negate=
     rx323_cur."!cursor_pos"(rx323_pos)
-    $P10 = rx323_cur."block"()
+    $P10 = rx323_cur."xblock"()
     unless $P10, rx323_fail
     rx323_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("block")
+    $P10."!cursor_names"("xblock")
     rx323_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
     rx323_cur."!cursor_pos"(rx323_pos)
     $P10 = rx323_cur."ws"()
     unless $P10, rx323_fail
     rx323_pos = $P10."pos"()
-.annotate "line", 184
+.annotate 'line', 180
   # rx pass
-    rx323_cur."!cursor_pass"(rx323_pos, "statement_control:sym<CATCH>")
-    rx323_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx323_pos)
+    rx323_cur."!cursor_pass"(rx323_pos, "statement_control:sym<for>")
+    rx323_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx323_pos)
     .return (rx323_cur)
   rx323_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
     lt rx323_pos, -1, rx323_done
     eq rx323_pos, -1, rx323_fail
     jump $I10
   rx323_done:
     rx323_cur."!cursor_fail"()
-    rx323_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
+    rx323_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
     .return (rx323_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__statement_control:sym<for>"  :subid("70_1273866379.28103") :method
+.annotate 'line', 4
     new $P325, "ResizablePMCArray"
-    push $P325, "CATCH"
+    push $P325, "for"
     .return ($P325)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("73_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "statement_control:sym<CATCH>"  :subid("71_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx331_tgt
     .local int rx331_pos
     .local int rx331_off
@@ -4149,7 +4108,7 @@
     .local int rx331_rep
     .local pmc rx331_cur
     (rx331_cur, rx331_pos, rx331_tgt) = self."!cursor_start"()
-    rx331_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    rx331_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
     .lex unicode:"$\x{a2}", rx331_cur
     .local pmc match
     .lex "$/", match
@@ -4171,17 +4130,17 @@
     set_addr $I10, rxscan334_loop
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
   rxscan334_done:
-.annotate "line", 190
+.annotate 'line', 186
   # rx subcapture "sym"
     set_addr $I10, rxcap_335_fail
     rx331_cur."!mark_push"(0, rx331_pos, $I10)
-  # rx literal  "CONTROL"
-    add $I11, rx331_pos, 7
+  # rx literal  "CATCH"
+    add $I11, rx331_pos, 5
     gt $I11, rx331_eos, rx331_fail
     sub $I11, rx331_pos, rx331_off
-    substr $S10, rx331_tgt, $I11, 7
-    ne $S10, "CONTROL", rx331_fail
-    add rx331_pos, 7
+    substr $S10, rx331_tgt, $I11, 5
+    ne $S10, "CATCH", rx331_fail
+    add rx331_pos, 5
     set_addr $I10, rxcap_335_fail
     ($I12, $I11) = rx331_cur."!mark_peek"($I10)
     rx331_cur."!cursor_pos"($I11)
@@ -4204,7 +4163,7 @@
     $P10 = rx331_cur."ws"()
     unless $P10, rx331_fail
     rx331_pos = $P10."pos"()
-.annotate "line", 191
+.annotate 'line', 187
   # rx subrule "block" subtype=capture negate=
     rx331_cur."!cursor_pos"(rx331_pos)
     $P10 = rx331_cur."block"()
@@ -4217,445 +4176,453 @@
     $P10 = rx331_cur."ws"()
     unless $P10, rx331_fail
     rx331_pos = $P10."pos"()
-.annotate "line", 189
+.annotate 'line', 185
   # rx pass
-    rx331_cur."!cursor_pass"(rx331_pos, "statement_control:sym<CONTROL>")
-    rx331_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx331_pos)
+    rx331_cur."!cursor_pass"(rx331_pos, "statement_control:sym<CATCH>")
+    rx331_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx331_pos)
     .return (rx331_cur)
   rx331_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx331_rep, rx331_pos, $I10, $P10) = rx331_cur."!mark_fail"(0)
     lt rx331_pos, -1, rx331_done
     eq rx331_pos, -1, rx331_fail
     jump $I10
   rx331_done:
     rx331_cur."!cursor_fail"()
-    rx331_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    rx331_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
     .return (rx331_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("72_1273866379.28103") :method
+.annotate 'line', 4
     new $P333, "ResizablePMCArray"
-    push $P333, "CONTROL"
+    push $P333, "CATCH"
     .return ($P333)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("75_1272816833.94956") :method
-.annotate "line", 194
-    $P339 = self."!protoregex"("statement_prefix")
-    .return ($P339)
+.sub "statement_control:sym<CONTROL>"  :subid("73_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx339_tgt
+    .local int rx339_pos
+    .local int rx339_off
+    .local int rx339_eos
+    .local int rx339_rep
+    .local pmc rx339_cur
+    (rx339_cur, rx339_pos, rx339_tgt) = self."!cursor_start"()
+    rx339_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    .lex unicode:"$\x{a2}", rx339_cur
+    .local pmc match
+    .lex "$/", match
+    length rx339_eos, rx339_tgt
+    set rx339_off, 0
+    lt rx339_pos, 2, rx339_start
+    sub rx339_off, rx339_pos, 1
+    substr rx339_tgt, rx339_tgt, rx339_off
+  rx339_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan342_done
+    goto rxscan342_scan
+  rxscan342_loop:
+    ($P10) = rx339_cur."from"()
+    inc $P10
+    set rx339_pos, $P10
+    ge rx339_pos, rx339_eos, rxscan342_done
+  rxscan342_scan:
+    set_addr $I10, rxscan342_loop
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
+  rxscan342_done:
+.annotate 'line', 191
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_343_fail
+    rx339_cur."!mark_push"(0, rx339_pos, $I10)
+  # rx literal  "CONTROL"
+    add $I11, rx339_pos, 7
+    gt $I11, rx339_eos, rx339_fail
+    sub $I11, rx339_pos, rx339_off
+    substr $S10, rx339_tgt, $I11, 7
+    ne $S10, "CONTROL", rx339_fail
+    add rx339_pos, 7
+    set_addr $I10, rxcap_343_fail
+    ($I12, $I11) = rx339_cur."!mark_peek"($I10)
+    rx339_cur."!cursor_pos"($I11)
+    ($P10) = rx339_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx339_pos, "")
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_343_done
+  rxcap_343_fail:
+    goto rx339_fail
+  rxcap_343_done:
+  # rx charclass s
+    ge rx339_pos, rx339_eos, rx339_fail
+    sub $I10, rx339_pos, rx339_off
+    is_cclass $I11, 32, rx339_tgt, $I10
+    unless $I11, rx339_fail
+    inc rx339_pos
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
+.annotate 'line', 192
+  # rx subrule "block" subtype=capture negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."block"()
+    unless $P10, rx339_fail
+    rx339_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("block")
+    rx339_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx339_cur."!cursor_pos"(rx339_pos)
+    $P10 = rx339_cur."ws"()
+    unless $P10, rx339_fail
+    rx339_pos = $P10."pos"()
+.annotate 'line', 190
+  # rx pass
+    rx339_cur."!cursor_pass"(rx339_pos, "statement_control:sym<CONTROL>")
+    rx339_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx339_pos)
+    .return (rx339_cur)
+  rx339_fail:
+.annotate 'line', 4
+    (rx339_rep, rx339_pos, $I10, $P10) = rx339_cur."!mark_fail"(0)
+    lt rx339_pos, -1, rx339_done
+    eq rx339_pos, -1, rx339_fail
+    jump $I10
+  rx339_done:
+    rx339_cur."!cursor_fail"()
+    rx339_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    .return (rx339_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("76_1272816833.94956") :method
-.annotate "line", 194
-    $P341 = self."!PREFIX__!protoregex"("statement_prefix")
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("74_1273866379.28103") :method
+.annotate 'line', 4
+    new $P341, "ResizablePMCArray"
+    push $P341, "CONTROL"
     .return ($P341)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("77_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx343_tgt
-    .local int rx343_pos
-    .local int rx343_off
-    .local int rx343_eos
-    .local int rx343_rep
-    .local pmc rx343_cur
-    (rx343_cur, rx343_pos, rx343_tgt) = self."!cursor_start"()
-    rx343_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
-    .lex unicode:"$\x{a2}", rx343_cur
-    .local pmc match
-    .lex "$/", match
-    length rx343_eos, rx343_tgt
-    set rx343_off, 0
-    lt rx343_pos, 2, rx343_start
-    sub rx343_off, rx343_pos, 1
-    substr rx343_tgt, rx343_tgt, rx343_off
-  rx343_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan347_done
-    goto rxscan347_scan
-  rxscan347_loop:
-    ($P10) = rx343_cur."from"()
-    inc $P10
-    set rx343_pos, $P10
-    ge rx343_pos, rx343_eos, rxscan347_done
-  rxscan347_scan:
-    set_addr $I10, rxscan347_loop
-    rx343_cur."!mark_push"(0, rx343_pos, $I10)
-  rxscan347_done:
-.annotate "line", 195
+.sub "statement_prefix"  :subid("75_1273866379.28103") :method
+.annotate 'line', 195
+    $P347 = self."!protoregex"("statement_prefix")
+    .return ($P347)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__statement_prefix"  :subid("76_1273866379.28103") :method
+.annotate 'line', 195
+    $P349 = self."!PREFIX__!protoregex"("statement_prefix")
+    .return ($P349)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement_prefix:sym<INIT>"  :subid("77_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx351_tgt
+    .local int rx351_pos
+    .local int rx351_off
+    .local int rx351_eos
+    .local int rx351_rep
+    .local pmc rx351_cur
+    (rx351_cur, rx351_pos, rx351_tgt) = self."!cursor_start"()
+    rx351_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    .lex unicode:"$\x{a2}", rx351_cur
+    .local pmc match
+    .lex "$/", match
+    length rx351_eos, rx351_tgt
+    set rx351_off, 0
+    lt rx351_pos, 2, rx351_start
+    sub rx351_off, rx351_pos, 1
+    substr rx351_tgt, rx351_tgt, rx351_off
+  rx351_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan355_done
+    goto rxscan355_scan
+  rxscan355_loop:
+    ($P10) = rx351_cur."from"()
+    inc $P10
+    set rx351_pos, $P10
+    ge rx351_pos, rx351_eos, rxscan355_done
+  rxscan355_scan:
+    set_addr $I10, rxscan355_loop
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
+  rxscan355_done:
+.annotate 'line', 196
   # rx subcapture "sym"
-    set_addr $I10, rxcap_348_fail
-    rx343_cur."!mark_push"(0, rx343_pos, $I10)
+    set_addr $I10, rxcap_356_fail
+    rx351_cur."!mark_push"(0, rx351_pos, $I10)
   # rx literal  "INIT"
-    add $I11, rx343_pos, 4
-    gt $I11, rx343_eos, rx343_fail
-    sub $I11, rx343_pos, rx343_off
-    substr $S10, rx343_tgt, $I11, 4
-    ne $S10, "INIT", rx343_fail
-    add rx343_pos, 4
-    set_addr $I10, rxcap_348_fail
-    ($I12, $I11) = rx343_cur."!mark_peek"($I10)
-    rx343_cur."!cursor_pos"($I11)
-    ($P10) = rx343_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx343_pos, "")
-    rx343_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx351_pos, 4
+    gt $I11, rx351_eos, rx351_fail
+    sub $I11, rx351_pos, rx351_off
+    substr $S10, rx351_tgt, $I11, 4
+    ne $S10, "INIT", rx351_fail
+    add rx351_pos, 4
+    set_addr $I10, rxcap_356_fail
+    ($I12, $I11) = rx351_cur."!mark_peek"($I10)
+    rx351_cur."!cursor_pos"($I11)
+    ($P10) = rx351_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx351_pos, "")
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_348_done
-  rxcap_348_fail:
-    goto rx343_fail
-  rxcap_348_done:
+    goto rxcap_356_done
+  rxcap_356_fail:
+    goto rx351_fail
+  rxcap_356_done:
   # rx subrule "blorst" subtype=capture negate=
-    rx343_cur."!cursor_pos"(rx343_pos)
-    $P10 = rx343_cur."blorst"()
-    unless $P10, rx343_fail
-    rx343_cur."!mark_push"(0, -1, 0, $P10)
+    rx351_cur."!cursor_pos"(rx351_pos)
+    $P10 = rx351_cur."blorst"()
+    unless $P10, rx351_fail
+    rx351_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx343_pos = $P10."pos"()
+    rx351_pos = $P10."pos"()
   # rx pass
-    rx343_cur."!cursor_pass"(rx343_pos, "statement_prefix:sym<INIT>")
-    rx343_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx343_pos)
-    .return (rx343_cur)
-  rx343_fail:
-.annotate "line", 4
-    (rx343_rep, rx343_pos, $I10, $P10) = rx343_cur."!mark_fail"(0)
-    lt rx343_pos, -1, rx343_done
-    eq rx343_pos, -1, rx343_fail
-    jump $I10
-  rx343_done:
-    rx343_cur."!cursor_fail"()
-    rx343_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
-    .return (rx343_cur)
+    rx351_cur."!cursor_pass"(rx351_pos, "statement_prefix:sym<INIT>")
+    rx351_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx351_pos)
+    .return (rx351_cur)
+  rx351_fail:
+.annotate 'line', 4
+    (rx351_rep, rx351_pos, $I10, $P10) = rx351_cur."!mark_fail"(0)
+    lt rx351_pos, -1, rx351_done
+    eq rx351_pos, -1, rx351_fail
+    jump $I10
+  rx351_done:
+    rx351_cur."!cursor_fail"()
+    rx351_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    .return (rx351_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1272816833.94956") :method
-.annotate "line", 4
-    $P345 = self."!PREFIX__!subrule"("blorst", "INIT")
-    new $P346, "ResizablePMCArray"
-    push $P346, $P345
-    .return ($P346)
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("78_1273866379.28103") :method
+.annotate 'line', 4
+    $P353 = self."!PREFIX__!subrule"("blorst", "INIT")
+    new $P354, "ResizablePMCArray"
+    push $P354, $P353
+    .return ($P354)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("79_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx350_tgt
-    .local int rx350_pos
-    .local int rx350_off
-    .local int rx350_eos
-    .local int rx350_rep
-    .local pmc rx350_cur
-    (rx350_cur, rx350_pos, rx350_tgt) = self."!cursor_start"()
-    rx350_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
-    .lex unicode:"$\x{a2}", rx350_cur
-    .local pmc match
-    .lex "$/", match
-    length rx350_eos, rx350_tgt
-    set rx350_off, 0
-    lt rx350_pos, 2, rx350_start
-    sub rx350_off, rx350_pos, 1
-    substr rx350_tgt, rx350_tgt, rx350_off
-  rx350_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan354_done
-    goto rxscan354_scan
-  rxscan354_loop:
-    ($P10) = rx350_cur."from"()
-    inc $P10
-    set rx350_pos, $P10
-    ge rx350_pos, rx350_eos, rxscan354_done
-  rxscan354_scan:
-    set_addr $I10, rxscan354_loop
-    rx350_cur."!mark_push"(0, rx350_pos, $I10)
-  rxscan354_done:
-.annotate "line", 198
+.sub "statement_prefix:sym<try>"  :subid("79_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx358_tgt
+    .local int rx358_pos
+    .local int rx358_off
+    .local int rx358_eos
+    .local int rx358_rep
+    .local pmc rx358_cur
+    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
+    rx358_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
+    .lex unicode:"$\x{a2}", rx358_cur
+    .local pmc match
+    .lex "$/", match
+    length rx358_eos, rx358_tgt
+    set rx358_off, 0
+    lt rx358_pos, 2, rx358_start
+    sub rx358_off, rx358_pos, 1
+    substr rx358_tgt, rx358_tgt, rx358_off
+  rx358_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan362_done
+    goto rxscan362_scan
+  rxscan362_loop:
+    ($P10) = rx358_cur."from"()
+    inc $P10
+    set rx358_pos, $P10
+    ge rx358_pos, rx358_eos, rxscan362_done
+  rxscan362_scan:
+    set_addr $I10, rxscan362_loop
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+  rxscan362_done:
+.annotate 'line', 199
   # rx subcapture "sym"
-    set_addr $I10, rxcap_355_fail
-    rx350_cur."!mark_push"(0, rx350_pos, $I10)
+    set_addr $I10, rxcap_363_fail
+    rx358_cur."!mark_push"(0, rx358_pos, $I10)
   # rx literal  "try"
-    add $I11, rx350_pos, 3
-    gt $I11, rx350_eos, rx350_fail
-    sub $I11, rx350_pos, rx350_off
-    substr $S10, rx350_tgt, $I11, 3
-    ne $S10, "try", rx350_fail
-    add rx350_pos, 3
-    set_addr $I10, rxcap_355_fail
-    ($I12, $I11) = rx350_cur."!mark_peek"($I10)
-    rx350_cur."!cursor_pos"($I11)
-    ($P10) = rx350_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx350_pos, "")
-    rx350_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx358_pos, 3
+    gt $I11, rx358_eos, rx358_fail
+    sub $I11, rx358_pos, rx358_off
+    substr $S10, rx358_tgt, $I11, 3
+    ne $S10, "try", rx358_fail
+    add rx358_pos, 3
+    set_addr $I10, rxcap_363_fail
+    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
+    rx358_cur."!cursor_pos"($I11)
+    ($P10) = rx358_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx358_pos, "")
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_355_done
-  rxcap_355_fail:
-    goto rx350_fail
-  rxcap_355_done:
-.annotate "line", 199
+    goto rxcap_363_done
+  rxcap_363_fail:
+    goto rx358_fail
+  rxcap_363_done:
+.annotate 'line', 200
   # rx subrule "blorst" subtype=capture negate=
-    rx350_cur."!cursor_pos"(rx350_pos)
-    $P10 = rx350_cur."blorst"()
-    unless $P10, rx350_fail
-    rx350_cur."!mark_push"(0, -1, 0, $P10)
+    rx358_cur."!cursor_pos"(rx358_pos)
+    $P10 = rx358_cur."blorst"()
+    unless $P10, rx358_fail
+    rx358_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx350_pos = $P10."pos"()
-.annotate "line", 197
+    rx358_pos = $P10."pos"()
+.annotate 'line', 198
   # rx pass
-    rx350_cur."!cursor_pass"(rx350_pos, "statement_prefix:sym<try>")
-    rx350_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx350_pos)
-    .return (rx350_cur)
-  rx350_fail:
-.annotate "line", 4
-    (rx350_rep, rx350_pos, $I10, $P10) = rx350_cur."!mark_fail"(0)
-    lt rx350_pos, -1, rx350_done
-    eq rx350_pos, -1, rx350_fail
-    jump $I10
-  rx350_done:
-    rx350_cur."!cursor_fail"()
-    rx350_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
-    .return (rx350_cur)
+    rx358_cur."!cursor_pass"(rx358_pos, "statement_prefix:sym<try>")
+    rx358_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx358_pos)
+    .return (rx358_cur)
+  rx358_fail:
+.annotate 'line', 4
+    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
+    lt rx358_pos, -1, rx358_done
+    eq rx358_pos, -1, rx358_fail
+    jump $I10
+  rx358_done:
+    rx358_cur."!cursor_fail"()
+    rx358_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
+    .return (rx358_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1272816833.94956") :method
-.annotate "line", 4
-    $P352 = self."!PREFIX__!subrule"("blorst", "try")
-    new $P353, "ResizablePMCArray"
-    push $P353, $P352
-    .return ($P353)
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("80_1273866379.28103") :method
+.annotate 'line', 4
+    $P360 = self."!PREFIX__!subrule"("blorst", "try")
+    new $P361, "ResizablePMCArray"
+    push $P361, $P360
+    .return ($P361)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("81_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx357_tgt
-    .local int rx357_pos
-    .local int rx357_off
-    .local int rx357_eos
-    .local int rx357_rep
-    .local pmc rx357_cur
-    (rx357_cur, rx357_pos, rx357_tgt) = self."!cursor_start"()
-    rx357_cur."!cursor_debug"("START ", "blorst")
-    .lex unicode:"$\x{a2}", rx357_cur
-    .local pmc match
-    .lex "$/", match
-    length rx357_eos, rx357_tgt
-    set rx357_off, 0
-    lt rx357_pos, 2, rx357_start
-    sub rx357_off, rx357_pos, 1
-    substr rx357_tgt, rx357_tgt, rx357_off
-  rx357_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan360_done
-    goto rxscan360_scan
-  rxscan360_loop:
-    ($P10) = rx357_cur."from"()
-    inc $P10
-    set rx357_pos, $P10
-    ge rx357_pos, rx357_eos, rxscan360_done
-  rxscan360_scan:
-    set_addr $I10, rxscan360_loop
-    rx357_cur."!mark_push"(0, rx357_pos, $I10)
-  rxscan360_done:
-.annotate "line", 203
+.sub "blorst"  :subid("81_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx365_tgt
+    .local int rx365_pos
+    .local int rx365_off
+    .local int rx365_eos
+    .local int rx365_rep
+    .local pmc rx365_cur
+    (rx365_cur, rx365_pos, rx365_tgt) = self."!cursor_start"()
+    rx365_cur."!cursor_debug"("START ", "blorst")
+    .lex unicode:"$\x{a2}", rx365_cur
+    .local pmc match
+    .lex "$/", match
+    length rx365_eos, rx365_tgt
+    set rx365_off, 0
+    lt rx365_pos, 2, rx365_start
+    sub rx365_off, rx365_pos, 1
+    substr rx365_tgt, rx365_tgt, rx365_off
+  rx365_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan368_done
+    goto rxscan368_scan
+  rxscan368_loop:
+    ($P10) = rx365_cur."from"()
+    inc $P10
+    set rx365_pos, $P10
+    ge rx365_pos, rx365_eos, rxscan368_done
+  rxscan368_scan:
+    set_addr $I10, rxscan368_loop
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  rxscan368_done:
+.annotate 'line', 204
   # rx charclass s
-    ge rx357_pos, rx357_eos, rx357_fail
-    sub $I10, rx357_pos, rx357_off
-    is_cclass $I11, 32, rx357_tgt, $I10
-    unless $I11, rx357_fail
-    inc rx357_pos
-  # rx subrule "ws" subtype=method negate=
-    rx357_cur."!cursor_pos"(rx357_pos)
-    $P10 = rx357_cur."ws"()
-    unless $P10, rx357_fail
-    rx357_pos = $P10."pos"()
-  alt361_0:
-    set_addr $I10, alt361_1
-    rx357_cur."!mark_push"(0, rx357_pos, $I10)
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    is_cclass $I11, 32, rx365_tgt, $I10
+    unless $I11, rx365_fail
+    inc rx365_pos
+  # rx subrule "ws" subtype=method negate=
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."ws"()
+    unless $P10, rx365_fail
+    rx365_pos = $P10."pos"()
+  alt369_0:
+    set_addr $I10, alt369_1
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx357_pos, rx357_eos, rx357_fail
-    sub $I10, rx357_pos, rx357_off
-    substr $S10, rx357_tgt, $I10, 1
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    substr $S10, rx365_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx357_fail
+    lt $I11, 0, rx365_fail
   # rx subrule "block" subtype=capture negate=
-    rx357_cur."!cursor_pos"(rx357_pos)
-    $P10 = rx357_cur."block"()
-    unless $P10, rx357_fail
-    rx357_cur."!mark_push"(0, -1, 0, $P10)
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."block"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx357_pos = $P10."pos"()
-    goto alt361_end
-  alt361_1:
+    rx365_pos = $P10."pos"()
+    goto alt369_end
+  alt369_1:
   # rx subrule "statement" subtype=capture negate=
-    rx357_cur."!cursor_pos"(rx357_pos)
-    $P10 = rx357_cur."statement"()
-    unless $P10, rx357_fail
-    rx357_cur."!mark_push"(0, -1, 0, $P10)
+    rx365_cur."!cursor_pos"(rx365_pos)
+    $P10 = rx365_cur."statement"()
+    unless $P10, rx365_fail
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx357_pos = $P10."pos"()
-  alt361_end:
-.annotate "line", 202
+    rx365_pos = $P10."pos"()
+  alt369_end:
+.annotate 'line', 203
   # rx pass
-    rx357_cur."!cursor_pass"(rx357_pos, "blorst")
-    rx357_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx357_pos)
-    .return (rx357_cur)
-  rx357_fail:
-.annotate "line", 4
-    (rx357_rep, rx357_pos, $I10, $P10) = rx357_cur."!mark_fail"(0)
-    lt rx357_pos, -1, rx357_done
-    eq rx357_pos, -1, rx357_fail
+    rx365_cur."!cursor_pass"(rx365_pos, "blorst")
+    rx365_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx365_pos)
+    .return (rx365_cur)
+  rx365_fail:
+.annotate 'line', 4
+    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
+    lt rx365_pos, -1, rx365_done
+    eq rx365_pos, -1, rx365_fail
     jump $I10
-  rx357_done:
-    rx357_cur."!cursor_fail"()
-    rx357_cur."!cursor_debug"("FAIL  ", "blorst")
-    .return (rx357_cur)
+  rx365_done:
+    rx365_cur."!cursor_fail"()
+    rx365_cur."!cursor_debug"("FAIL  ", "blorst")
+    .return (rx365_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("82_1272816833.94956") :method
-.annotate "line", 4
-    new $P359, "ResizablePMCArray"
-    push $P359, ""
-    .return ($P359)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("83_1272816833.94956") :method
-.annotate "line", 208
-    $P363 = self."!protoregex"("statement_mod_cond")
-    .return ($P363)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("84_1272816833.94956") :method
-.annotate "line", 208
-    $P365 = self."!PREFIX__!protoregex"("statement_mod_cond")
-    .return ($P365)
+.sub "!PREFIX__blorst"  :subid("82_1273866379.28103") :method
+.annotate 'line', 4
+    new $P367, "ResizablePMCArray"
+    push $P367, ""
+    .return ($P367)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("85_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx367_tgt
-    .local int rx367_pos
-    .local int rx367_off
-    .local int rx367_eos
-    .local int rx367_rep
-    .local pmc rx367_cur
-    (rx367_cur, rx367_pos, rx367_tgt) = self."!cursor_start"()
-    rx367_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
-    .lex unicode:"$\x{a2}", rx367_cur
-    .local pmc match
-    .lex "$/", match
-    length rx367_eos, rx367_tgt
-    set rx367_off, 0
-    lt rx367_pos, 2, rx367_start
-    sub rx367_off, rx367_pos, 1
-    substr rx367_tgt, rx367_tgt, rx367_off
-  rx367_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan370_done
-    goto rxscan370_scan
-  rxscan370_loop:
-    ($P10) = rx367_cur."from"()
-    inc $P10
-    set rx367_pos, $P10
-    ge rx367_pos, rx367_eos, rxscan370_done
-  rxscan370_scan:
-    set_addr $I10, rxscan370_loop
-    rx367_cur."!mark_push"(0, rx367_pos, $I10)
-  rxscan370_done:
-.annotate "line", 210
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_371_fail
-    rx367_cur."!mark_push"(0, rx367_pos, $I10)
-  # rx literal  "if"
-    add $I11, rx367_pos, 2
-    gt $I11, rx367_eos, rx367_fail
-    sub $I11, rx367_pos, rx367_off
-    substr $S10, rx367_tgt, $I11, 2
-    ne $S10, "if", rx367_fail
-    add rx367_pos, 2
-    set_addr $I10, rxcap_371_fail
-    ($I12, $I11) = rx367_cur."!mark_peek"($I10)
-    rx367_cur."!cursor_pos"($I11)
-    ($P10) = rx367_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx367_pos, "")
-    rx367_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_371_done
-  rxcap_371_fail:
-    goto rx367_fail
-  rxcap_371_done:
-  # rx subrule "ws" subtype=method negate=
-    rx367_cur."!cursor_pos"(rx367_pos)
-    $P10 = rx367_cur."ws"()
-    unless $P10, rx367_fail
-    rx367_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx367_cur."!cursor_pos"(rx367_pos)
-    $P10 = rx367_cur."EXPR"()
-    unless $P10, rx367_fail
-    rx367_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx367_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx367_cur."!cursor_pos"(rx367_pos)
-    $P10 = rx367_cur."ws"()
-    unless $P10, rx367_fail
-    rx367_pos = $P10."pos"()
-  # rx pass
-    rx367_cur."!cursor_pass"(rx367_pos, "statement_mod_cond:sym<if>")
-    rx367_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx367_pos)
-    .return (rx367_cur)
-  rx367_fail:
-.annotate "line", 4
-    (rx367_rep, rx367_pos, $I10, $P10) = rx367_cur."!mark_fail"(0)
-    lt rx367_pos, -1, rx367_done
-    eq rx367_pos, -1, rx367_fail
-    jump $I10
-  rx367_done:
-    rx367_cur."!cursor_fail"()
-    rx367_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
-    .return (rx367_cur)
-    .return ()
+.sub "statement_mod_cond"  :subid("83_1273866379.28103") :method
+.annotate 'line', 209
+    $P371 = self."!protoregex"("statement_mod_cond")
+    .return ($P371)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1272816833.94956") :method
-.annotate "line", 4
-    new $P369, "ResizablePMCArray"
-    push $P369, "if"
-    .return ($P369)
+.sub "!PREFIX__statement_mod_cond"  :subid("84_1273866379.28103") :method
+.annotate 'line', 209
+    $P373 = self."!PREFIX__!protoregex"("statement_mod_cond")
+    .return ($P373)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("87_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "statement_mod_cond:sym<if>"  :subid("85_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx375_tgt
     .local int rx375_pos
     .local int rx375_off
@@ -4663,7 +4630,7 @@
     .local int rx375_rep
     .local pmc rx375_cur
     (rx375_cur, rx375_pos, rx375_tgt) = self."!cursor_start"()
-    rx375_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
+    rx375_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
     .lex unicode:"$\x{a2}", rx375_cur
     .local pmc match
     .lex "$/", match
@@ -4685,17 +4652,17 @@
     set_addr $I10, rxscan378_loop
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
   rxscan378_done:
-.annotate "line", 211
+.annotate 'line', 211
   # rx subcapture "sym"
     set_addr $I10, rxcap_379_fail
     rx375_cur."!mark_push"(0, rx375_pos, $I10)
-  # rx literal  "unless"
-    add $I11, rx375_pos, 6
+  # rx literal  "if"
+    add $I11, rx375_pos, 2
     gt $I11, rx375_eos, rx375_fail
     sub $I11, rx375_pos, rx375_off
-    substr $S10, rx375_tgt, $I11, 6
-    ne $S10, "unless", rx375_fail
-    add rx375_pos, 6
+    substr $S10, rx375_tgt, $I11, 2
+    ne $S10, "if", rx375_fail
+    add rx375_pos, 2
     set_addr $I10, rxcap_379_fail
     ($I12, $I11) = rx375_cur."!mark_peek"($I10)
     rx375_cur."!cursor_pos"($I11)
@@ -4725,149 +4692,149 @@
     unless $P10, rx375_fail
     rx375_pos = $P10."pos"()
   # rx pass
-    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_cond:sym<unless>")
-    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx375_pos)
+    rx375_cur."!cursor_pass"(rx375_pos, "statement_mod_cond:sym<if>")
+    rx375_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx375_pos)
     .return (rx375_cur)
   rx375_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx375_rep, rx375_pos, $I10, $P10) = rx375_cur."!mark_fail"(0)
     lt rx375_pos, -1, rx375_done
     eq rx375_pos, -1, rx375_fail
     jump $I10
   rx375_done:
     rx375_cur."!cursor_fail"()
-    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
+    rx375_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
     .return (rx375_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("86_1273866379.28103") :method
+.annotate 'line', 4
     new $P377, "ResizablePMCArray"
-    push $P377, "unless"
+    push $P377, "if"
     .return ($P377)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("89_1272816833.94956") :method
-.annotate "line", 213
-    $P383 = self."!protoregex"("statement_mod_loop")
-    .return ($P383)
+.sub "statement_mod_cond:sym<unless>"  :subid("87_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx383_tgt
+    .local int rx383_pos
+    .local int rx383_off
+    .local int rx383_eos
+    .local int rx383_rep
+    .local pmc rx383_cur
+    (rx383_cur, rx383_pos, rx383_tgt) = self."!cursor_start"()
+    rx383_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
+    .lex unicode:"$\x{a2}", rx383_cur
+    .local pmc match
+    .lex "$/", match
+    length rx383_eos, rx383_tgt
+    set rx383_off, 0
+    lt rx383_pos, 2, rx383_start
+    sub rx383_off, rx383_pos, 1
+    substr rx383_tgt, rx383_tgt, rx383_off
+  rx383_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan386_done
+    goto rxscan386_scan
+  rxscan386_loop:
+    ($P10) = rx383_cur."from"()
+    inc $P10
+    set rx383_pos, $P10
+    ge rx383_pos, rx383_eos, rxscan386_done
+  rxscan386_scan:
+    set_addr $I10, rxscan386_loop
+    rx383_cur."!mark_push"(0, rx383_pos, $I10)
+  rxscan386_done:
+.annotate 'line', 212
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_387_fail
+    rx383_cur."!mark_push"(0, rx383_pos, $I10)
+  # rx literal  "unless"
+    add $I11, rx383_pos, 6
+    gt $I11, rx383_eos, rx383_fail
+    sub $I11, rx383_pos, rx383_off
+    substr $S10, rx383_tgt, $I11, 6
+    ne $S10, "unless", rx383_fail
+    add rx383_pos, 6
+    set_addr $I10, rxcap_387_fail
+    ($I12, $I11) = rx383_cur."!mark_peek"($I10)
+    rx383_cur."!cursor_pos"($I11)
+    ($P10) = rx383_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx383_pos, "")
+    rx383_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_387_done
+  rxcap_387_fail:
+    goto rx383_fail
+  rxcap_387_done:
+  # rx subrule "ws" subtype=method negate=
+    rx383_cur."!cursor_pos"(rx383_pos)
+    $P10 = rx383_cur."ws"()
+    unless $P10, rx383_fail
+    rx383_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx383_cur."!cursor_pos"(rx383_pos)
+    $P10 = rx383_cur."EXPR"()
+    unless $P10, rx383_fail
+    rx383_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("cond")
+    rx383_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx383_cur."!cursor_pos"(rx383_pos)
+    $P10 = rx383_cur."ws"()
+    unless $P10, rx383_fail
+    rx383_pos = $P10."pos"()
+  # rx pass
+    rx383_cur."!cursor_pass"(rx383_pos, "statement_mod_cond:sym<unless>")
+    rx383_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx383_pos)
+    .return (rx383_cur)
+  rx383_fail:
+.annotate 'line', 4
+    (rx383_rep, rx383_pos, $I10, $P10) = rx383_cur."!mark_fail"(0)
+    lt rx383_pos, -1, rx383_done
+    eq rx383_pos, -1, rx383_fail
+    jump $I10
+  rx383_done:
+    rx383_cur."!cursor_fail"()
+    rx383_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
+    .return (rx383_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("90_1272816833.94956") :method
-.annotate "line", 213
-    $P385 = self."!PREFIX__!protoregex"("statement_mod_loop")
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("88_1273866379.28103") :method
+.annotate 'line', 4
+    new $P385, "ResizablePMCArray"
+    push $P385, "unless"
     .return ($P385)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("91_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx387_tgt
-    .local int rx387_pos
-    .local int rx387_off
-    .local int rx387_eos
-    .local int rx387_rep
-    .local pmc rx387_cur
-    (rx387_cur, rx387_pos, rx387_tgt) = self."!cursor_start"()
-    rx387_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
-    .lex unicode:"$\x{a2}", rx387_cur
-    .local pmc match
-    .lex "$/", match
-    length rx387_eos, rx387_tgt
-    set rx387_off, 0
-    lt rx387_pos, 2, rx387_start
-    sub rx387_off, rx387_pos, 1
-    substr rx387_tgt, rx387_tgt, rx387_off
-  rx387_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan390_done
-    goto rxscan390_scan
-  rxscan390_loop:
-    ($P10) = rx387_cur."from"()
-    inc $P10
-    set rx387_pos, $P10
-    ge rx387_pos, rx387_eos, rxscan390_done
-  rxscan390_scan:
-    set_addr $I10, rxscan390_loop
-    rx387_cur."!mark_push"(0, rx387_pos, $I10)
-  rxscan390_done:
-.annotate "line", 215
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_391_fail
-    rx387_cur."!mark_push"(0, rx387_pos, $I10)
-  # rx literal  "while"
-    add $I11, rx387_pos, 5
-    gt $I11, rx387_eos, rx387_fail
-    sub $I11, rx387_pos, rx387_off
-    substr $S10, rx387_tgt, $I11, 5
-    ne $S10, "while", rx387_fail
-    add rx387_pos, 5
-    set_addr $I10, rxcap_391_fail
-    ($I12, $I11) = rx387_cur."!mark_peek"($I10)
-    rx387_cur."!cursor_pos"($I11)
-    ($P10) = rx387_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx387_pos, "")
-    rx387_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_391_done
-  rxcap_391_fail:
-    goto rx387_fail
-  rxcap_391_done:
-  # rx subrule "ws" subtype=method negate=
-    rx387_cur."!cursor_pos"(rx387_pos)
-    $P10 = rx387_cur."ws"()
-    unless $P10, rx387_fail
-    rx387_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx387_cur."!cursor_pos"(rx387_pos)
-    $P10 = rx387_cur."EXPR"()
-    unless $P10, rx387_fail
-    rx387_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("cond")
-    rx387_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx387_cur."!cursor_pos"(rx387_pos)
-    $P10 = rx387_cur."ws"()
-    unless $P10, rx387_fail
-    rx387_pos = $P10."pos"()
-  # rx pass
-    rx387_cur."!cursor_pass"(rx387_pos, "statement_mod_loop:sym<while>")
-    rx387_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx387_pos)
-    .return (rx387_cur)
-  rx387_fail:
-.annotate "line", 4
-    (rx387_rep, rx387_pos, $I10, $P10) = rx387_cur."!mark_fail"(0)
-    lt rx387_pos, -1, rx387_done
-    eq rx387_pos, -1, rx387_fail
-    jump $I10
-  rx387_done:
-    rx387_cur."!cursor_fail"()
-    rx387_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
-    .return (rx387_cur)
-    .return ()
+.sub "statement_mod_loop"  :subid("89_1273866379.28103") :method
+.annotate 'line', 214
+    $P391 = self."!protoregex"("statement_mod_loop")
+    .return ($P391)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1272816833.94956") :method
-.annotate "line", 4
-    new $P389, "ResizablePMCArray"
-    push $P389, "while"
-    .return ($P389)
+.sub "!PREFIX__statement_mod_loop"  :subid("90_1273866379.28103") :method
+.annotate 'line', 214
+    $P393 = self."!PREFIX__!protoregex"("statement_mod_loop")
+    .return ($P393)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("93_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "statement_mod_loop:sym<while>"  :subid("91_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx395_tgt
     .local int rx395_pos
     .local int rx395_off
@@ -4875,7 +4842,7 @@
     .local int rx395_rep
     .local pmc rx395_cur
     (rx395_cur, rx395_pos, rx395_tgt) = self."!cursor_start"()
-    rx395_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
+    rx395_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
     .lex unicode:"$\x{a2}", rx395_cur
     .local pmc match
     .lex "$/", match
@@ -4897,16 +4864,16 @@
     set_addr $I10, rxscan398_loop
     rx395_cur."!mark_push"(0, rx395_pos, $I10)
   rxscan398_done:
-.annotate "line", 216
+.annotate 'line', 216
   # rx subcapture "sym"
     set_addr $I10, rxcap_399_fail
     rx395_cur."!mark_push"(0, rx395_pos, $I10)
-  # rx literal  "until"
+  # rx literal  "while"
     add $I11, rx395_pos, 5
     gt $I11, rx395_eos, rx395_fail
     sub $I11, rx395_pos, rx395_off
     substr $S10, rx395_tgt, $I11, 5
-    ne $S10, "until", rx395_fail
+    ne $S10, "while", rx395_fail
     add rx395_pos, 5
     set_addr $I10, rxcap_399_fail
     ($I12, $I11) = rx395_cur."!mark_peek"($I10)
@@ -4937,35 +4904,35 @@
     unless $P10, rx395_fail
     rx395_pos = $P10."pos"()
   # rx pass
-    rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_loop:sym<until>")
-    rx395_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx395_pos)
+    rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_loop:sym<while>")
+    rx395_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx395_pos)
     .return (rx395_cur)
   rx395_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx395_rep, rx395_pos, $I10, $P10) = rx395_cur."!mark_fail"(0)
     lt rx395_pos, -1, rx395_done
     eq rx395_pos, -1, rx395_fail
     jump $I10
   rx395_done:
     rx395_cur."!cursor_fail"()
-    rx395_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
+    rx395_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
     .return (rx395_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1272816833.94956") :method
-.annotate "line", 4
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("92_1273866379.28103") :method
+.annotate 'line', 4
     new $P397, "ResizablePMCArray"
-    push $P397, "until"
+    push $P397, "while"
     .return ($P397)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("95_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "statement_mod_loop:sym<until>"  :subid("93_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx403_tgt
     .local int rx403_pos
     .local int rx403_off
@@ -4973,7 +4940,7 @@
     .local int rx403_rep
     .local pmc rx403_cur
     (rx403_cur, rx403_pos, rx403_tgt) = self."!cursor_start"()
-    rx403_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+    rx403_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
     .lex unicode:"$\x{a2}", rx403_cur
     .local pmc match
     .lex "$/", match
@@ -4984,706 +4951,701 @@
     substr rx403_tgt, rx403_tgt, rx403_off
   rx403_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan407_done
-    goto rxscan407_scan
-  rxscan407_loop:
+    ne $I10, -1, rxscan406_done
+    goto rxscan406_scan
+  rxscan406_loop:
     ($P10) = rx403_cur."from"()
     inc $P10
     set rx403_pos, $P10
-    ge rx403_pos, rx403_eos, rxscan407_done
-  rxscan407_scan:
-    set_addr $I10, rxscan407_loop
+    ge rx403_pos, rx403_eos, rxscan406_done
+  rxscan406_scan:
+    set_addr $I10, rxscan406_loop
     rx403_cur."!mark_push"(0, rx403_pos, $I10)
-  rxscan407_done:
-.annotate "line", 220
-  # rx subrule "fatarrow" subtype=capture negate=
-    rx403_cur."!cursor_pos"(rx403_pos)
-    $P10 = rx403_cur."fatarrow"()
-    unless $P10, rx403_fail
+  rxscan406_done:
+.annotate 'line', 217
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_407_fail
+    rx403_cur."!mark_push"(0, rx403_pos, $I10)
+  # rx literal  "until"
+    add $I11, rx403_pos, 5
+    gt $I11, rx403_eos, rx403_fail
+    sub $I11, rx403_pos, rx403_off
+    substr $S10, rx403_tgt, $I11, 5
+    ne $S10, "until", rx403_fail
+    add rx403_pos, 5
+    set_addr $I10, rxcap_407_fail
+    ($I12, $I11) = rx403_cur."!mark_peek"($I10)
+    rx403_cur."!cursor_pos"($I11)
+    ($P10) = rx403_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx403_pos, "")
     rx403_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("fatarrow")
+    $P10."!cursor_names"("sym")
+    goto rxcap_407_done
+  rxcap_407_fail:
+    goto rx403_fail
+  rxcap_407_done:
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
+    rx403_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."EXPR"()
+    unless $P10, rx403_fail
+    rx403_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("cond")
+    rx403_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx403_cur."!cursor_pos"(rx403_pos)
+    $P10 = rx403_cur."ws"()
+    unless $P10, rx403_fail
     rx403_pos = $P10."pos"()
   # rx pass
-    rx403_cur."!cursor_pass"(rx403_pos, "term:sym<fatarrow>")
-    rx403_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx403_pos)
+    rx403_cur."!cursor_pass"(rx403_pos, "statement_mod_loop:sym<until>")
+    rx403_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx403_pos)
     .return (rx403_cur)
   rx403_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx403_rep, rx403_pos, $I10, $P10) = rx403_cur."!mark_fail"(0)
     lt rx403_pos, -1, rx403_done
     eq rx403_pos, -1, rx403_fail
     jump $I10
   rx403_done:
     rx403_cur."!cursor_fail"()
-    rx403_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
+    rx403_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
     .return (rx403_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("96_1272816833.94956") :method
-.annotate "line", 4
-    $P405 = self."!PREFIX__!subrule"("fatarrow", "")
-    new $P406, "ResizablePMCArray"
-    push $P406, $P405
-    .return ($P406)
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("94_1273866379.28103") :method
+.annotate 'line', 4
+    new $P405, "ResizablePMCArray"
+    push $P405, "until"
+    .return ($P405)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<fatarrow>"  :subid("95_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx411_tgt
+    .local int rx411_pos
+    .local int rx411_off
+    .local int rx411_eos
+    .local int rx411_rep
+    .local pmc rx411_cur
+    (rx411_cur, rx411_pos, rx411_tgt) = self."!cursor_start"()
+    rx411_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+    .lex unicode:"$\x{a2}", rx411_cur
+    .local pmc match
+    .lex "$/", match
+    length rx411_eos, rx411_tgt
+    set rx411_off, 0
+    lt rx411_pos, 2, rx411_start
+    sub rx411_off, rx411_pos, 1
+    substr rx411_tgt, rx411_tgt, rx411_off
+  rx411_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan415_done
+    goto rxscan415_scan
+  rxscan415_loop:
+    ($P10) = rx411_cur."from"()
+    inc $P10
+    set rx411_pos, $P10
+    ge rx411_pos, rx411_eos, rxscan415_done
+  rxscan415_scan:
+    set_addr $I10, rxscan415_loop
+    rx411_cur."!mark_push"(0, rx411_pos, $I10)
+  rxscan415_done:
+.annotate 'line', 221
+  # rx subrule "fatarrow" subtype=capture negate=
+    rx411_cur."!cursor_pos"(rx411_pos)
+    $P10 = rx411_cur."fatarrow"()
+    unless $P10, rx411_fail
+    rx411_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("fatarrow")
+    rx411_pos = $P10."pos"()
+  # rx pass
+    rx411_cur."!cursor_pass"(rx411_pos, "term:sym<fatarrow>")
+    rx411_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx411_pos)
+    .return (rx411_cur)
+  rx411_fail:
+.annotate 'line', 4
+    (rx411_rep, rx411_pos, $I10, $P10) = rx411_cur."!mark_fail"(0)
+    lt rx411_pos, -1, rx411_done
+    eq rx411_pos, -1, rx411_fail
+    jump $I10
+  rx411_done:
+    rx411_cur."!cursor_fail"()
+    rx411_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
+    .return (rx411_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("96_1273866379.28103") :method
+.annotate 'line', 4
+    $P413 = self."!PREFIX__!subrule"("fatarrow", "")
+    new $P414, "ResizablePMCArray"
+    push $P414, $P413
+    .return ($P414)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("97_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx409_tgt
-    .local int rx409_pos
-    .local int rx409_off
-    .local int rx409_eos
-    .local int rx409_rep
-    .local pmc rx409_cur
-    (rx409_cur, rx409_pos, rx409_tgt) = self."!cursor_start"()
-    rx409_cur."!cursor_debug"("START ", "term:sym<colonpair>")
-    .lex unicode:"$\x{a2}", rx409_cur
-    .local pmc match
-    .lex "$/", match
-    length rx409_eos, rx409_tgt
-    set rx409_off, 0
-    lt rx409_pos, 2, rx409_start
-    sub rx409_off, rx409_pos, 1
-    substr rx409_tgt, rx409_tgt, rx409_off
-  rx409_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan413_done
-    goto rxscan413_scan
-  rxscan413_loop:
-    ($P10) = rx409_cur."from"()
-    inc $P10
-    set rx409_pos, $P10
-    ge rx409_pos, rx409_eos, rxscan413_done
-  rxscan413_scan:
-    set_addr $I10, rxscan413_loop
-    rx409_cur."!mark_push"(0, rx409_pos, $I10)
-  rxscan413_done:
-.annotate "line", 221
+.sub "term:sym<colonpair>"  :subid("97_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx417_tgt
+    .local int rx417_pos
+    .local int rx417_off
+    .local int rx417_eos
+    .local int rx417_rep
+    .local pmc rx417_cur
+    (rx417_cur, rx417_pos, rx417_tgt) = self."!cursor_start"()
+    rx417_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    .lex unicode:"$\x{a2}", rx417_cur
+    .local pmc match
+    .lex "$/", match
+    length rx417_eos, rx417_tgt
+    set rx417_off, 0
+    lt rx417_pos, 2, rx417_start
+    sub rx417_off, rx417_pos, 1
+    substr rx417_tgt, rx417_tgt, rx417_off
+  rx417_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan421_done
+    goto rxscan421_scan
+  rxscan421_loop:
+    ($P10) = rx417_cur."from"()
+    inc $P10
+    set rx417_pos, $P10
+    ge rx417_pos, rx417_eos, rxscan421_done
+  rxscan421_scan:
+    set_addr $I10, rxscan421_loop
+    rx417_cur."!mark_push"(0, rx417_pos, $I10)
+  rxscan421_done:
+.annotate 'line', 222
   # rx subrule "colonpair" subtype=capture negate=
-    rx409_cur."!cursor_pos"(rx409_pos)
-    $P10 = rx409_cur."colonpair"()
-    unless $P10, rx409_fail
-    rx409_cur."!mark_push"(0, -1, 0, $P10)
+    rx417_cur."!cursor_pos"(rx417_pos)
+    $P10 = rx417_cur."colonpair"()
+    unless $P10, rx417_fail
+    rx417_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("colonpair")
-    rx409_pos = $P10."pos"()
+    rx417_pos = $P10."pos"()
   # rx pass
-    rx409_cur."!cursor_pass"(rx409_pos, "term:sym<colonpair>")
-    rx409_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx409_pos)
-    .return (rx409_cur)
-  rx409_fail:
-.annotate "line", 4
-    (rx409_rep, rx409_pos, $I10, $P10) = rx409_cur."!mark_fail"(0)
-    lt rx409_pos, -1, rx409_done
-    eq rx409_pos, -1, rx409_fail
-    jump $I10
-  rx409_done:
-    rx409_cur."!cursor_fail"()
-    rx409_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
-    .return (rx409_cur)
+    rx417_cur."!cursor_pass"(rx417_pos, "term:sym<colonpair>")
+    rx417_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx417_pos)
+    .return (rx417_cur)
+  rx417_fail:
+.annotate 'line', 4
+    (rx417_rep, rx417_pos, $I10, $P10) = rx417_cur."!mark_fail"(0)
+    lt rx417_pos, -1, rx417_done
+    eq rx417_pos, -1, rx417_fail
+    jump $I10
+  rx417_done:
+    rx417_cur."!cursor_fail"()
+    rx417_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    .return (rx417_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("98_1272816833.94956") :method
-.annotate "line", 4
-    $P411 = self."!PREFIX__!subrule"("colonpair", "")
-    new $P412, "ResizablePMCArray"
-    push $P412, $P411
-    .return ($P412)
+.sub "!PREFIX__term:sym<colonpair>"  :subid("98_1273866379.28103") :method
+.annotate 'line', 4
+    $P419 = self."!PREFIX__!subrule"("colonpair", "")
+    new $P420, "ResizablePMCArray"
+    push $P420, $P419
+    .return ($P420)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("99_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx415_tgt
-    .local int rx415_pos
-    .local int rx415_off
-    .local int rx415_eos
-    .local int rx415_rep
-    .local pmc rx415_cur
-    (rx415_cur, rx415_pos, rx415_tgt) = self."!cursor_start"()
-    rx415_cur."!cursor_debug"("START ", "term:sym<variable>")
-    .lex unicode:"$\x{a2}", rx415_cur
-    .local pmc match
-    .lex "$/", match
-    length rx415_eos, rx415_tgt
-    set rx415_off, 0
-    lt rx415_pos, 2, rx415_start
-    sub rx415_off, rx415_pos, 1
-    substr rx415_tgt, rx415_tgt, rx415_off
-  rx415_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan419_done
-    goto rxscan419_scan
-  rxscan419_loop:
-    ($P10) = rx415_cur."from"()
-    inc $P10
-    set rx415_pos, $P10
-    ge rx415_pos, rx415_eos, rxscan419_done
-  rxscan419_scan:
-    set_addr $I10, rxscan419_loop
-    rx415_cur."!mark_push"(0, rx415_pos, $I10)
-  rxscan419_done:
-.annotate "line", 222
+.sub "term:sym<variable>"  :subid("99_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx423_tgt
+    .local int rx423_pos
+    .local int rx423_off
+    .local int rx423_eos
+    .local int rx423_rep
+    .local pmc rx423_cur
+    (rx423_cur, rx423_pos, rx423_tgt) = self."!cursor_start"()
+    rx423_cur."!cursor_debug"("START ", "term:sym<variable>")
+    .lex unicode:"$\x{a2}", rx423_cur
+    .local pmc match
+    .lex "$/", match
+    length rx423_eos, rx423_tgt
+    set rx423_off, 0
+    lt rx423_pos, 2, rx423_start
+    sub rx423_off, rx423_pos, 1
+    substr rx423_tgt, rx423_tgt, rx423_off
+  rx423_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan427_done
+    goto rxscan427_scan
+  rxscan427_loop:
+    ($P10) = rx423_cur."from"()
+    inc $P10
+    set rx423_pos, $P10
+    ge rx423_pos, rx423_eos, rxscan427_done
+  rxscan427_scan:
+    set_addr $I10, rxscan427_loop
+    rx423_cur."!mark_push"(0, rx423_pos, $I10)
+  rxscan427_done:
+.annotate 'line', 223
   # rx subrule "variable" subtype=capture negate=
-    rx415_cur."!cursor_pos"(rx415_pos)
-    $P10 = rx415_cur."variable"()
-    unless $P10, rx415_fail
-    rx415_cur."!mark_push"(0, -1, 0, $P10)
+    rx423_cur."!cursor_pos"(rx423_pos)
+    $P10 = rx423_cur."variable"()
+    unless $P10, rx423_fail
+    rx423_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx415_pos = $P10."pos"()
+    rx423_pos = $P10."pos"()
   # rx pass
-    rx415_cur."!cursor_pass"(rx415_pos, "term:sym<variable>")
-    rx415_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx415_pos)
-    .return (rx415_cur)
-  rx415_fail:
-.annotate "line", 4
-    (rx415_rep, rx415_pos, $I10, $P10) = rx415_cur."!mark_fail"(0)
-    lt rx415_pos, -1, rx415_done
-    eq rx415_pos, -1, rx415_fail
-    jump $I10
-  rx415_done:
-    rx415_cur."!cursor_fail"()
-    rx415_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
-    .return (rx415_cur)
+    rx423_cur."!cursor_pass"(rx423_pos, "term:sym<variable>")
+    rx423_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx423_pos)
+    .return (rx423_cur)
+  rx423_fail:
+.annotate 'line', 4
+    (rx423_rep, rx423_pos, $I10, $P10) = rx423_cur."!mark_fail"(0)
+    lt rx423_pos, -1, rx423_done
+    eq rx423_pos, -1, rx423_fail
+    jump $I10
+  rx423_done:
+    rx423_cur."!cursor_fail"()
+    rx423_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    .return (rx423_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("100_1272816833.94956") :method
-.annotate "line", 4
-    $P417 = self."!PREFIX__!subrule"("variable", "")
-    new $P418, "ResizablePMCArray"
-    push $P418, $P417
-    .return ($P418)
+.sub "!PREFIX__term:sym<variable>"  :subid("100_1273866379.28103") :method
+.annotate 'line', 4
+    $P425 = self."!PREFIX__!subrule"("variable", "")
+    new $P426, "ResizablePMCArray"
+    push $P426, $P425
+    .return ($P426)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("101_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx421_tgt
-    .local int rx421_pos
-    .local int rx421_off
-    .local int rx421_eos
-    .local int rx421_rep
-    .local pmc rx421_cur
-    (rx421_cur, rx421_pos, rx421_tgt) = self."!cursor_start"()
-    rx421_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
-    .lex unicode:"$\x{a2}", rx421_cur
-    .local pmc match
-    .lex "$/", match
-    length rx421_eos, rx421_tgt
-    set rx421_off, 0
-    lt rx421_pos, 2, rx421_start
-    sub rx421_off, rx421_pos, 1
-    substr rx421_tgt, rx421_tgt, rx421_off
-  rx421_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan425_done
-    goto rxscan425_scan
-  rxscan425_loop:
-    ($P10) = rx421_cur."from"()
-    inc $P10
-    set rx421_pos, $P10
-    ge rx421_pos, rx421_eos, rxscan425_done
-  rxscan425_scan:
-    set_addr $I10, rxscan425_loop
-    rx421_cur."!mark_push"(0, rx421_pos, $I10)
-  rxscan425_done:
-.annotate "line", 223
+.sub "term:sym<package_declarator>"  :subid("101_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx429_tgt
+    .local int rx429_pos
+    .local int rx429_off
+    .local int rx429_eos
+    .local int rx429_rep
+    .local pmc rx429_cur
+    (rx429_cur, rx429_pos, rx429_tgt) = self."!cursor_start"()
+    rx429_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    .lex unicode:"$\x{a2}", rx429_cur
+    .local pmc match
+    .lex "$/", match
+    length rx429_eos, rx429_tgt
+    set rx429_off, 0
+    lt rx429_pos, 2, rx429_start
+    sub rx429_off, rx429_pos, 1
+    substr rx429_tgt, rx429_tgt, rx429_off
+  rx429_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan433_done
+    goto rxscan433_scan
+  rxscan433_loop:
+    ($P10) = rx429_cur."from"()
+    inc $P10
+    set rx429_pos, $P10
+    ge rx429_pos, rx429_eos, rxscan433_done
+  rxscan433_scan:
+    set_addr $I10, rxscan433_loop
+    rx429_cur."!mark_push"(0, rx429_pos, $I10)
+  rxscan433_done:
+.annotate 'line', 224
   # rx subrule "package_declarator" subtype=capture negate=
-    rx421_cur."!cursor_pos"(rx421_pos)
-    $P10 = rx421_cur."package_declarator"()
-    unless $P10, rx421_fail
-    rx421_cur."!mark_push"(0, -1, 0, $P10)
+    rx429_cur."!cursor_pos"(rx429_pos)
+    $P10 = rx429_cur."package_declarator"()
+    unless $P10, rx429_fail
+    rx429_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_declarator")
-    rx421_pos = $P10."pos"()
+    rx429_pos = $P10."pos"()
   # rx pass
-    rx421_cur."!cursor_pass"(rx421_pos, "term:sym<package_declarator>")
-    rx421_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx421_pos)
-    .return (rx421_cur)
-  rx421_fail:
-.annotate "line", 4
-    (rx421_rep, rx421_pos, $I10, $P10) = rx421_cur."!mark_fail"(0)
-    lt rx421_pos, -1, rx421_done
-    eq rx421_pos, -1, rx421_fail
-    jump $I10
-  rx421_done:
-    rx421_cur."!cursor_fail"()
-    rx421_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
-    .return (rx421_cur)
+    rx429_cur."!cursor_pass"(rx429_pos, "term:sym<package_declarator>")
+    rx429_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx429_pos)
+    .return (rx429_cur)
+  rx429_fail:
+.annotate 'line', 4
+    (rx429_rep, rx429_pos, $I10, $P10) = rx429_cur."!mark_fail"(0)
+    lt rx429_pos, -1, rx429_done
+    eq rx429_pos, -1, rx429_fail
+    jump $I10
+  rx429_done:
+    rx429_cur."!cursor_fail"()
+    rx429_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    .return (rx429_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("102_1272816833.94956") :method
-.annotate "line", 4
-    $P423 = self."!PREFIX__!subrule"("package_declarator", "")
-    new $P424, "ResizablePMCArray"
-    push $P424, $P423
-    .return ($P424)
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("102_1273866379.28103") :method
+.annotate 'line', 4
+    $P431 = self."!PREFIX__!subrule"("package_declarator", "")
+    new $P432, "ResizablePMCArray"
+    push $P432, $P431
+    .return ($P432)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("103_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx427_tgt
-    .local int rx427_pos
-    .local int rx427_off
-    .local int rx427_eos
-    .local int rx427_rep
-    .local pmc rx427_cur
-    (rx427_cur, rx427_pos, rx427_tgt) = self."!cursor_start"()
-    rx427_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
-    .lex unicode:"$\x{a2}", rx427_cur
-    .local pmc match
-    .lex "$/", match
-    length rx427_eos, rx427_tgt
-    set rx427_off, 0
-    lt rx427_pos, 2, rx427_start
-    sub rx427_off, rx427_pos, 1
-    substr rx427_tgt, rx427_tgt, rx427_off
-  rx427_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan431_done
-    goto rxscan431_scan
-  rxscan431_loop:
-    ($P10) = rx427_cur."from"()
-    inc $P10
-    set rx427_pos, $P10
-    ge rx427_pos, rx427_eos, rxscan431_done
-  rxscan431_scan:
-    set_addr $I10, rxscan431_loop
-    rx427_cur."!mark_push"(0, rx427_pos, $I10)
-  rxscan431_done:
-.annotate "line", 224
+.sub "term:sym<scope_declarator>"  :subid("103_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx435_tgt
+    .local int rx435_pos
+    .local int rx435_off
+    .local int rx435_eos
+    .local int rx435_rep
+    .local pmc rx435_cur
+    (rx435_cur, rx435_pos, rx435_tgt) = self."!cursor_start"()
+    rx435_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    .lex unicode:"$\x{a2}", rx435_cur
+    .local pmc match
+    .lex "$/", match
+    length rx435_eos, rx435_tgt
+    set rx435_off, 0
+    lt rx435_pos, 2, rx435_start
+    sub rx435_off, rx435_pos, 1
+    substr rx435_tgt, rx435_tgt, rx435_off
+  rx435_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan439_done
+    goto rxscan439_scan
+  rxscan439_loop:
+    ($P10) = rx435_cur."from"()
+    inc $P10
+    set rx435_pos, $P10
+    ge rx435_pos, rx435_eos, rxscan439_done
+  rxscan439_scan:
+    set_addr $I10, rxscan439_loop
+    rx435_cur."!mark_push"(0, rx435_pos, $I10)
+  rxscan439_done:
+.annotate 'line', 225
   # rx subrule "scope_declarator" subtype=capture negate=
-    rx427_cur."!cursor_pos"(rx427_pos)
-    $P10 = rx427_cur."scope_declarator"()
-    unless $P10, rx427_fail
-    rx427_cur."!mark_push"(0, -1, 0, $P10)
+    rx435_cur."!cursor_pos"(rx435_pos)
+    $P10 = rx435_cur."scope_declarator"()
+    unless $P10, rx435_fail
+    rx435_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scope_declarator")
-    rx427_pos = $P10."pos"()
+    rx435_pos = $P10."pos"()
   # rx pass
-    rx427_cur."!cursor_pass"(rx427_pos, "term:sym<scope_declarator>")
-    rx427_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx427_pos)
-    .return (rx427_cur)
-  rx427_fail:
-.annotate "line", 4
-    (rx427_rep, rx427_pos, $I10, $P10) = rx427_cur."!mark_fail"(0)
-    lt rx427_pos, -1, rx427_done
-    eq rx427_pos, -1, rx427_fail
-    jump $I10
-  rx427_done:
-    rx427_cur."!cursor_fail"()
-    rx427_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
-    .return (rx427_cur)
+    rx435_cur."!cursor_pass"(rx435_pos, "term:sym<scope_declarator>")
+    rx435_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx435_pos)
+    .return (rx435_cur)
+  rx435_fail:
+.annotate 'line', 4
+    (rx435_rep, rx435_pos, $I10, $P10) = rx435_cur."!mark_fail"(0)
+    lt rx435_pos, -1, rx435_done
+    eq rx435_pos, -1, rx435_fail
+    jump $I10
+  rx435_done:
+    rx435_cur."!cursor_fail"()
+    rx435_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    .return (rx435_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("104_1272816833.94956") :method
-.annotate "line", 4
-    $P429 = self."!PREFIX__!subrule"("scope_declarator", "")
-    new $P430, "ResizablePMCArray"
-    push $P430, $P429
-    .return ($P430)
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("104_1273866379.28103") :method
+.annotate 'line', 4
+    $P437 = self."!PREFIX__!subrule"("scope_declarator", "")
+    new $P438, "ResizablePMCArray"
+    push $P438, $P437
+    .return ($P438)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("105_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx433_tgt
-    .local int rx433_pos
-    .local int rx433_off
-    .local int rx433_eos
-    .local int rx433_rep
-    .local pmc rx433_cur
-    (rx433_cur, rx433_pos, rx433_tgt) = self."!cursor_start"()
-    rx433_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
-    .lex unicode:"$\x{a2}", rx433_cur
-    .local pmc match
-    .lex "$/", match
-    length rx433_eos, rx433_tgt
-    set rx433_off, 0
-    lt rx433_pos, 2, rx433_start
-    sub rx433_off, rx433_pos, 1
-    substr rx433_tgt, rx433_tgt, rx433_off
-  rx433_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan437_done
-    goto rxscan437_scan
-  rxscan437_loop:
-    ($P10) = rx433_cur."from"()
-    inc $P10
-    set rx433_pos, $P10
-    ge rx433_pos, rx433_eos, rxscan437_done
-  rxscan437_scan:
-    set_addr $I10, rxscan437_loop
-    rx433_cur."!mark_push"(0, rx433_pos, $I10)
-  rxscan437_done:
-.annotate "line", 225
+.sub "term:sym<routine_declarator>"  :subid("105_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx441_tgt
+    .local int rx441_pos
+    .local int rx441_off
+    .local int rx441_eos
+    .local int rx441_rep
+    .local pmc rx441_cur
+    (rx441_cur, rx441_pos, rx441_tgt) = self."!cursor_start"()
+    rx441_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    .lex unicode:"$\x{a2}", rx441_cur
+    .local pmc match
+    .lex "$/", match
+    length rx441_eos, rx441_tgt
+    set rx441_off, 0
+    lt rx441_pos, 2, rx441_start
+    sub rx441_off, rx441_pos, 1
+    substr rx441_tgt, rx441_tgt, rx441_off
+  rx441_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan445_done
+    goto rxscan445_scan
+  rxscan445_loop:
+    ($P10) = rx441_cur."from"()
+    inc $P10
+    set rx441_pos, $P10
+    ge rx441_pos, rx441_eos, rxscan445_done
+  rxscan445_scan:
+    set_addr $I10, rxscan445_loop
+    rx441_cur."!mark_push"(0, rx441_pos, $I10)
+  rxscan445_done:
+.annotate 'line', 226
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx433_cur."!cursor_pos"(rx433_pos)
-    $P10 = rx433_cur."routine_declarator"()
-    unless $P10, rx433_fail
-    rx433_cur."!mark_push"(0, -1, 0, $P10)
+    rx441_cur."!cursor_pos"(rx441_pos)
+    $P10 = rx441_cur."routine_declarator"()
+    unless $P10, rx441_fail
+    rx441_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx433_pos = $P10."pos"()
+    rx441_pos = $P10."pos"()
   # rx pass
-    rx433_cur."!cursor_pass"(rx433_pos, "term:sym<routine_declarator>")
-    rx433_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx433_pos)
-    .return (rx433_cur)
-  rx433_fail:
-.annotate "line", 4
-    (rx433_rep, rx433_pos, $I10, $P10) = rx433_cur."!mark_fail"(0)
-    lt rx433_pos, -1, rx433_done
-    eq rx433_pos, -1, rx433_fail
-    jump $I10
-  rx433_done:
-    rx433_cur."!cursor_fail"()
-    rx433_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
-    .return (rx433_cur)
+    rx441_cur."!cursor_pass"(rx441_pos, "term:sym<routine_declarator>")
+    rx441_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx441_pos)
+    .return (rx441_cur)
+  rx441_fail:
+.annotate 'line', 4
+    (rx441_rep, rx441_pos, $I10, $P10) = rx441_cur."!mark_fail"(0)
+    lt rx441_pos, -1, rx441_done
+    eq rx441_pos, -1, rx441_fail
+    jump $I10
+  rx441_done:
+    rx441_cur."!cursor_fail"()
+    rx441_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    .return (rx441_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("106_1272816833.94956") :method
-.annotate "line", 4
-    $P435 = self."!PREFIX__!subrule"("routine_declarator", "")
-    new $P436, "ResizablePMCArray"
-    push $P436, $P435
-    .return ($P436)
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("106_1273866379.28103") :method
+.annotate 'line', 4
+    $P443 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P444, "ResizablePMCArray"
+    push $P444, $P443
+    .return ($P444)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("107_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx439_tgt
-    .local int rx439_pos
-    .local int rx439_off
-    .local int rx439_eos
-    .local int rx439_rep
-    .local pmc rx439_cur
-    (rx439_cur, rx439_pos, rx439_tgt) = self."!cursor_start"()
-    rx439_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx439_cur
-    .local pmc match
-    .lex "$/", match
-    length rx439_eos, rx439_tgt
-    set rx439_off, 0
-    lt rx439_pos, 2, rx439_start
-    sub rx439_off, rx439_pos, 1
-    substr rx439_tgt, rx439_tgt, rx439_off
-  rx439_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan443_done
-    goto rxscan443_scan
-  rxscan443_loop:
-    ($P10) = rx439_cur."from"()
-    inc $P10
-    set rx439_pos, $P10
-    ge rx439_pos, rx439_eos, rxscan443_done
-  rxscan443_scan:
-    set_addr $I10, rxscan443_loop
-    rx439_cur."!mark_push"(0, rx439_pos, $I10)
-  rxscan443_done:
-.annotate "line", 226
+.sub "term:sym<regex_declarator>"  :subid("107_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx447_tgt
+    .local int rx447_pos
+    .local int rx447_off
+    .local int rx447_eos
+    .local int rx447_rep
+    .local pmc rx447_cur
+    (rx447_cur, rx447_pos, rx447_tgt) = self."!cursor_start"()
+    rx447_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    .lex unicode:"$\x{a2}", rx447_cur
+    .local pmc match
+    .lex "$/", match
+    length rx447_eos, rx447_tgt
+    set rx447_off, 0
+    lt rx447_pos, 2, rx447_start
+    sub rx447_off, rx447_pos, 1
+    substr rx447_tgt, rx447_tgt, rx447_off
+  rx447_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx447_cur."from"()
+    inc $P10
+    set rx447_pos, $P10
+    ge rx447_pos, rx447_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+  rxscan451_done:
+.annotate 'line', 227
   # rx subrule "regex_declarator" subtype=capture negate=
-    rx439_cur."!cursor_pos"(rx439_pos)
-    $P10 = rx439_cur."regex_declarator"()
-    unless $P10, rx439_fail
-    rx439_cur."!mark_push"(0, -1, 0, $P10)
+    rx447_cur."!cursor_pos"(rx447_pos)
+    $P10 = rx447_cur."regex_declarator"()
+    unless $P10, rx447_fail
+    rx447_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("regex_declarator")
-    rx439_pos = $P10."pos"()
+    rx447_pos = $P10."pos"()
   # rx pass
-    rx439_cur."!cursor_pass"(rx439_pos, "term:sym<regex_declarator>")
-    rx439_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx439_pos)
-    .return (rx439_cur)
-  rx439_fail:
-.annotate "line", 4
-    (rx439_rep, rx439_pos, $I10, $P10) = rx439_cur."!mark_fail"(0)
-    lt rx439_pos, -1, rx439_done
-    eq rx439_pos, -1, rx439_fail
-    jump $I10
-  rx439_done:
-    rx439_cur."!cursor_fail"()
-    rx439_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
-    .return (rx439_cur)
+    rx447_cur."!cursor_pass"(rx447_pos, "term:sym<regex_declarator>")
+    rx447_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx447_pos)
+    .return (rx447_cur)
+  rx447_fail:
+.annotate 'line', 4
+    (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
+    lt rx447_pos, -1, rx447_done
+    eq rx447_pos, -1, rx447_fail
+    jump $I10
+  rx447_done:
+    rx447_cur."!cursor_fail"()
+    rx447_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    .return (rx447_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("108_1272816833.94956") :method
-.annotate "line", 4
-    $P441 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P442, "ResizablePMCArray"
-    push $P442, $P441
-    .return ($P442)
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("108_1273866379.28103") :method
+.annotate 'line', 4
+    $P449 = self."!PREFIX__!subrule"("regex_declarator", "")
+    new $P450, "ResizablePMCArray"
+    push $P450, $P449
+    .return ($P450)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("109_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx445_tgt
-    .local int rx445_pos
-    .local int rx445_off
-    .local int rx445_eos
-    .local int rx445_rep
-    .local pmc rx445_cur
-    (rx445_cur, rx445_pos, rx445_tgt) = self."!cursor_start"()
-    rx445_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
-    .lex unicode:"$\x{a2}", rx445_cur
-    .local pmc match
-    .lex "$/", match
-    length rx445_eos, rx445_tgt
-    set rx445_off, 0
-    lt rx445_pos, 2, rx445_start
-    sub rx445_off, rx445_pos, 1
-    substr rx445_tgt, rx445_tgt, rx445_off
-  rx445_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan449_done
-    goto rxscan449_scan
-  rxscan449_loop:
-    ($P10) = rx445_cur."from"()
-    inc $P10
-    set rx445_pos, $P10
-    ge rx445_pos, rx445_eos, rxscan449_done
-  rxscan449_scan:
-    set_addr $I10, rxscan449_loop
-    rx445_cur."!mark_push"(0, rx445_pos, $I10)
-  rxscan449_done:
-.annotate "line", 227
+.sub "term:sym<statement_prefix>"  :subid("109_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx453_tgt
+    .local int rx453_pos
+    .local int rx453_off
+    .local int rx453_eos
+    .local int rx453_rep
+    .local pmc rx453_cur
+    (rx453_cur, rx453_pos, rx453_tgt) = self."!cursor_start"()
+    rx453_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    .lex unicode:"$\x{a2}", rx453_cur
+    .local pmc match
+    .lex "$/", match
+    length rx453_eos, rx453_tgt
+    set rx453_off, 0
+    lt rx453_pos, 2, rx453_start
+    sub rx453_off, rx453_pos, 1
+    substr rx453_tgt, rx453_tgt, rx453_off
+  rx453_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan457_done
+    goto rxscan457_scan
+  rxscan457_loop:
+    ($P10) = rx453_cur."from"()
+    inc $P10
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan457_done
+  rxscan457_scan:
+    set_addr $I10, rxscan457_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan457_done:
+.annotate 'line', 228
   # rx subrule "statement_prefix" subtype=capture negate=
-    rx445_cur."!cursor_pos"(rx445_pos)
-    $P10 = rx445_cur."statement_prefix"()
-    unless $P10, rx445_fail
-    rx445_cur."!mark_push"(0, -1, 0, $P10)
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."statement_prefix"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_prefix")
-    rx445_pos = $P10."pos"()
+    rx453_pos = $P10."pos"()
   # rx pass
-    rx445_cur."!cursor_pass"(rx445_pos, "term:sym<statement_prefix>")
-    rx445_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx445_pos)
-    .return (rx445_cur)
-  rx445_fail:
-.annotate "line", 4
-    (rx445_rep, rx445_pos, $I10, $P10) = rx445_cur."!mark_fail"(0)
-    lt rx445_pos, -1, rx445_done
-    eq rx445_pos, -1, rx445_fail
-    jump $I10
-  rx445_done:
-    rx445_cur."!cursor_fail"()
-    rx445_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
-    .return (rx445_cur)
+    rx453_cur."!cursor_pass"(rx453_pos, "term:sym<statement_prefix>")
+    rx453_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx453_pos)
+    .return (rx453_cur)
+  rx453_fail:
+.annotate 'line', 4
+    (rx453_rep, rx453_pos, $I10, $P10) = rx453_cur."!mark_fail"(0)
+    lt rx453_pos, -1, rx453_done
+    eq rx453_pos, -1, rx453_fail
+    jump $I10
+  rx453_done:
+    rx453_cur."!cursor_fail"()
+    rx453_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    .return (rx453_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("110_1272816833.94956") :method
-.annotate "line", 4
-    $P447 = self."!PREFIX__!subrule"("statement_prefix", "")
-    new $P448, "ResizablePMCArray"
-    push $P448, $P447
-    .return ($P448)
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("110_1273866379.28103") :method
+.annotate 'line', 4
+    $P455 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P456, "ResizablePMCArray"
+    push $P456, $P455
+    .return ($P456)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("111_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx451_tgt
-    .local int rx451_pos
-    .local int rx451_off
-    .local int rx451_eos
-    .local int rx451_rep
-    .local pmc rx451_cur
-    (rx451_cur, rx451_pos, rx451_tgt) = self."!cursor_start"()
-    rx451_cur."!cursor_debug"("START ", "term:sym<lambda>")
-    .lex unicode:"$\x{a2}", rx451_cur
-    .local pmc match
-    .lex "$/", match
-    length rx451_eos, rx451_tgt
-    set rx451_off, 0
-    lt rx451_pos, 2, rx451_start
-    sub rx451_off, rx451_pos, 1
-    substr rx451_tgt, rx451_tgt, rx451_off
-  rx451_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan454_done
-    goto rxscan454_scan
-  rxscan454_loop:
-    ($P10) = rx451_cur."from"()
-    inc $P10
-    set rx451_pos, $P10
-    ge rx451_pos, rx451_eos, rxscan454_done
-  rxscan454_scan:
-    set_addr $I10, rxscan454_loop
-    rx451_cur."!mark_push"(0, rx451_pos, $I10)
-  rxscan454_done:
-.annotate "line", 228
+.sub "term:sym<lambda>"  :subid("111_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx459_tgt
+    .local int rx459_pos
+    .local int rx459_off
+    .local int rx459_eos
+    .local int rx459_rep
+    .local pmc rx459_cur
+    (rx459_cur, rx459_pos, rx459_tgt) = self."!cursor_start"()
+    rx459_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx459_cur
+    .local pmc match
+    .lex "$/", match
+    length rx459_eos, rx459_tgt
+    set rx459_off, 0
+    lt rx459_pos, 2, rx459_start
+    sub rx459_off, rx459_pos, 1
+    substr rx459_tgt, rx459_tgt, rx459_off
+  rx459_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan462_done
+    goto rxscan462_scan
+  rxscan462_loop:
+    ($P10) = rx459_cur."from"()
+    inc $P10
+    set rx459_pos, $P10
+    ge rx459_pos, rx459_eos, rxscan462_done
+  rxscan462_scan:
+    set_addr $I10, rxscan462_loop
+    rx459_cur."!mark_push"(0, rx459_pos, $I10)
+  rxscan462_done:
+.annotate 'line', 229
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx451_cur."!cursor_pos"(rx451_pos)
-    $P10 = rx451_cur."lambda"()
-    unless $P10, rx451_fail
+    rx459_cur."!cursor_pos"(rx459_pos)
+    $P10 = rx459_cur."lambda"()
+    unless $P10, rx459_fail
   # rx subrule "pblock" subtype=capture negate=
-    rx451_cur."!cursor_pos"(rx451_pos)
-    $P10 = rx451_cur."pblock"()
-    unless $P10, rx451_fail
-    rx451_cur."!mark_push"(0, -1, 0, $P10)
+    rx459_cur."!cursor_pos"(rx459_pos)
+    $P10 = rx459_cur."pblock"()
+    unless $P10, rx459_fail
+    rx459_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx451_pos = $P10."pos"()
-  # rx pass
-    rx451_cur."!cursor_pass"(rx451_pos, "term:sym<lambda>")
-    rx451_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx451_pos)
-    .return (rx451_cur)
-  rx451_fail:
-.annotate "line", 4
-    (rx451_rep, rx451_pos, $I10, $P10) = rx451_cur."!mark_fail"(0)
-    lt rx451_pos, -1, rx451_done
-    eq rx451_pos, -1, rx451_fail
-    jump $I10
-  rx451_done:
-    rx451_cur."!cursor_fail"()
-    rx451_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
-    .return (rx451_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("112_1272816833.94956") :method
-.annotate "line", 4
-    new $P453, "ResizablePMCArray"
-    push $P453, ""
-    .return ($P453)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("113_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx456_tgt
-    .local int rx456_pos
-    .local int rx456_off
-    .local int rx456_eos
-    .local int rx456_rep
-    .local pmc rx456_cur
-    (rx456_cur, rx456_pos, rx456_tgt) = self."!cursor_start"()
-    rx456_cur."!cursor_debug"("START ", "fatarrow")
-    .lex unicode:"$\x{a2}", rx456_cur
-    .local pmc match
-    .lex "$/", match
-    length rx456_eos, rx456_tgt
-    set rx456_off, 0
-    lt rx456_pos, 2, rx456_start
-    sub rx456_off, rx456_pos, 1
-    substr rx456_tgt, rx456_tgt, rx456_off
-  rx456_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan460_done
-    goto rxscan460_scan
-  rxscan460_loop:
-    ($P10) = rx456_cur."from"()
-    inc $P10
-    set rx456_pos, $P10
-    ge rx456_pos, rx456_eos, rxscan460_done
-  rxscan460_scan:
-    set_addr $I10, rxscan460_loop
-    rx456_cur."!mark_push"(0, rx456_pos, $I10)
-  rxscan460_done:
-.annotate "line", 231
-  # rx subrule "identifier" subtype=capture negate=
-    rx456_cur."!cursor_pos"(rx456_pos)
-    $P10 = rx456_cur."identifier"()
-    unless $P10, rx456_fail
-    rx456_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("key")
-    rx456_pos = $P10."pos"()
-  # rx rxquantr461 ** 0..*
-    set_addr $I462, rxquantr461_done
-    rx456_cur."!mark_push"(0, rx456_pos, $I462)
-  rxquantr461_loop:
-  # rx enumcharlist negate=0 
-    ge rx456_pos, rx456_eos, rx456_fail
-    sub $I10, rx456_pos, rx456_off
-    substr $S10, rx456_tgt, $I10, 1
-    index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx456_fail
-    inc rx456_pos
-    (rx456_rep) = rx456_cur."!mark_commit"($I462)
-    rx456_cur."!mark_push"(rx456_rep, rx456_pos, $I462)
-    goto rxquantr461_loop
-  rxquantr461_done:
-  # rx literal  "=>"
-    add $I11, rx456_pos, 2
-    gt $I11, rx456_eos, rx456_fail
-    sub $I11, rx456_pos, rx456_off
-    substr $S10, rx456_tgt, $I11, 2
-    ne $S10, "=>", rx456_fail
-    add rx456_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx456_cur."!cursor_pos"(rx456_pos)
-    $P10 = rx456_cur."ws"()
-    unless $P10, rx456_fail
-    rx456_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx456_cur."!cursor_pos"(rx456_pos)
-    $P10 = rx456_cur."EXPR"("i=")
-    unless $P10, rx456_fail
-    rx456_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("val")
-    rx456_pos = $P10."pos"()
-.annotate "line", 230
+    rx459_pos = $P10."pos"()
   # rx pass
-    rx456_cur."!cursor_pass"(rx456_pos, "fatarrow")
-    rx456_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx456_pos)
-    .return (rx456_cur)
-  rx456_fail:
-.annotate "line", 4
-    (rx456_rep, rx456_pos, $I10, $P10) = rx456_cur."!mark_fail"(0)
-    lt rx456_pos, -1, rx456_done
-    eq rx456_pos, -1, rx456_fail
+    rx459_cur."!cursor_pass"(rx459_pos, "term:sym<lambda>")
+    rx459_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx459_pos)
+    .return (rx459_cur)
+  rx459_fail:
+.annotate 'line', 4
+    (rx459_rep, rx459_pos, $I10, $P10) = rx459_cur."!mark_fail"(0)
+    lt rx459_pos, -1, rx459_done
+    eq rx459_pos, -1, rx459_fail
     jump $I10
-  rx456_done:
-    rx456_cur."!cursor_fail"()
-    rx456_cur."!cursor_debug"("FAIL  ", "fatarrow")
-    .return (rx456_cur)
+  rx459_done:
+    rx459_cur."!cursor_fail"()
+    rx459_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx459_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("114_1272816833.94956") :method
-.annotate "line", 4
-    $P458 = self."!PREFIX__!subrule"("key", "")
-    new $P459, "ResizablePMCArray"
-    push $P459, $P458
-    .return ($P459)
+.sub "!PREFIX__term:sym<lambda>"  :subid("112_1273866379.28103") :method
+.annotate 'line', 4
+    new $P461, "ResizablePMCArray"
+    push $P461, ""
+    .return ($P461)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("115_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "fatarrow"  :subid("113_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx464_tgt
     .local int rx464_pos
     .local int rx464_off
@@ -5691,8 +5653,7 @@
     .local int rx464_rep
     .local pmc rx464_cur
     (rx464_cur, rx464_pos, rx464_tgt) = self."!cursor_start"()
-    rx464_cur."!cursor_debug"("START ", "colonpair")
-    rx464_cur."!cursor_caparray"("circumfix")
+    rx464_cur."!cursor_debug"("START ", "fatarrow")
     .lex unicode:"$\x{a2}", rx464_cur
     .local pmc match
     .lex "$/", match
@@ -5703,1147 +5664,1159 @@
     substr rx464_tgt, rx464_tgt, rx464_off
   rx464_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan470_done
-    goto rxscan470_scan
-  rxscan470_loop:
+    ne $I10, -1, rxscan468_done
+    goto rxscan468_scan
+  rxscan468_loop:
     ($P10) = rx464_cur."from"()
     inc $P10
     set rx464_pos, $P10
-    ge rx464_pos, rx464_eos, rxscan470_done
-  rxscan470_scan:
-    set_addr $I10, rxscan470_loop
-    rx464_cur."!mark_push"(0, rx464_pos, $I10)
-  rxscan470_done:
-.annotate "line", 235
-  # rx literal  ":"
-    add $I11, rx464_pos, 1
-    gt $I11, rx464_eos, rx464_fail
-    sub $I11, rx464_pos, rx464_off
-    substr $S10, rx464_tgt, $I11, 1
-    ne $S10, ":", rx464_fail
-    add rx464_pos, 1
-  alt471_0:
-.annotate "line", 236
-    set_addr $I10, alt471_1
+    ge rx464_pos, rx464_eos, rxscan468_done
+  rxscan468_scan:
+    set_addr $I10, rxscan468_loop
     rx464_cur."!mark_push"(0, rx464_pos, $I10)
-.annotate "line", 237
-  # rx subcapture "not"
-    set_addr $I10, rxcap_472_fail
-    rx464_cur."!mark_push"(0, rx464_pos, $I10)
-  # rx literal  "!"
-    add $I11, rx464_pos, 1
-    gt $I11, rx464_eos, rx464_fail
-    sub $I11, rx464_pos, rx464_off
-    substr $S10, rx464_tgt, $I11, 1
-    ne $S10, "!", rx464_fail
-    add rx464_pos, 1
-    set_addr $I10, rxcap_472_fail
-    ($I12, $I11) = rx464_cur."!mark_peek"($I10)
-    rx464_cur."!cursor_pos"($I11)
-    ($P10) = rx464_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx464_pos, "")
-    rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("not")
-    goto rxcap_472_done
-  rxcap_472_fail:
-    goto rx464_fail
-  rxcap_472_done:
-  # rx subrule "identifier" subtype=capture negate=
-    rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."identifier"()
-    unless $P10, rx464_fail
-    rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("identifier")
-    rx464_pos = $P10."pos"()
-    goto alt471_end
-  alt471_1:
-    set_addr $I10, alt471_2
-    rx464_cur."!mark_push"(0, rx464_pos, $I10)
-.annotate "line", 238
+  rxscan468_done:
+.annotate 'line', 232
   # rx subrule "identifier" subtype=capture negate=
     rx464_cur."!cursor_pos"(rx464_pos)
     $P10 = rx464_cur."identifier"()
     unless $P10, rx464_fail
     rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("identifier")
+    $P10."!cursor_names"("key")
     rx464_pos = $P10."pos"()
-  # rx rxquantr473 ** 0..1
-    set_addr $I474, rxquantr473_done
-    rx464_cur."!mark_push"(0, rx464_pos, $I474)
-  rxquantr473_loop:
-  # rx subrule "circumfix" subtype=capture negate=
+  # rx rxquantr469 ** 0..*
+    set_addr $I470, rxquantr469_done
+    rx464_cur."!mark_push"(0, rx464_pos, $I470)
+  rxquantr469_loop:
+  # rx enumcharlist negate=0 
+    ge rx464_pos, rx464_eos, rx464_fail
+    sub $I10, rx464_pos, rx464_off
+    substr $S10, rx464_tgt, $I10, 1
+    index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
+    lt $I11, 0, rx464_fail
+    inc rx464_pos
+    (rx464_rep) = rx464_cur."!mark_commit"($I470)
+    rx464_cur."!mark_push"(rx464_rep, rx464_pos, $I470)
+    goto rxquantr469_loop
+  rxquantr469_done:
+  # rx literal  "=>"
+    add $I11, rx464_pos, 2
+    gt $I11, rx464_eos, rx464_fail
+    sub $I11, rx464_pos, rx464_off
+    substr $S10, rx464_tgt, $I11, 2
+    ne $S10, "=>", rx464_fail
+    add rx464_pos, 2
+  # rx subrule "ws" subtype=method negate=
     rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."circumfix"()
+    $P10 = rx464_cur."ws"()
     unless $P10, rx464_fail
-    rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("circumfix")
     rx464_pos = $P10."pos"()
-    (rx464_rep) = rx464_cur."!mark_commit"($I474)
-  rxquantr473_done:
-    goto alt471_end
-  alt471_2:
-.annotate "line", 239
-  # rx subrule "circumfix" subtype=capture negate=
+  # rx subrule "EXPR" subtype=capture negate=
     rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."circumfix"()
+    $P10 = rx464_cur."EXPR"("i=")
     unless $P10, rx464_fail
     rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("circumfix")
+    $P10."!cursor_names"("val")
     rx464_pos = $P10."pos"()
-  alt471_end:
-.annotate "line", 234
+.annotate 'line', 231
   # rx pass
-    rx464_cur."!cursor_pass"(rx464_pos, "colonpair")
-    rx464_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx464_pos)
+    rx464_cur."!cursor_pass"(rx464_pos, "fatarrow")
+    rx464_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx464_pos)
     .return (rx464_cur)
   rx464_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx464_rep, rx464_pos, $I10, $P10) = rx464_cur."!mark_fail"(0)
     lt rx464_pos, -1, rx464_done
     eq rx464_pos, -1, rx464_fail
     jump $I10
   rx464_done:
     rx464_cur."!cursor_fail"()
-    rx464_cur."!cursor_debug"("FAIL  ", "colonpair")
+    rx464_cur."!cursor_debug"("FAIL  ", "fatarrow")
     .return (rx464_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("116_1272816833.94956") :method
-.annotate "line", 4
-    $P466 = self."!PREFIX__!subrule"("circumfix", ":")
-    $P467 = self."!PREFIX__!subrule"("identifier", ":")
-    $P468 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P469, "ResizablePMCArray"
-    push $P469, $P466
-    push $P469, $P467
-    push $P469, $P468
-    .return ($P469)
+.sub "!PREFIX__fatarrow"  :subid("114_1273866379.28103") :method
+.annotate 'line', 4
+    $P466 = self."!PREFIX__!subrule"("key", "")
+    new $P467, "ResizablePMCArray"
+    push $P467, $P466
+    .return ($P467)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "colonpair"  :subid("115_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx472_tgt
+    .local int rx472_pos
+    .local int rx472_off
+    .local int rx472_eos
+    .local int rx472_rep
+    .local pmc rx472_cur
+    (rx472_cur, rx472_pos, rx472_tgt) = self."!cursor_start"()
+    rx472_cur."!cursor_debug"("START ", "colonpair")
+    rx472_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx472_cur
+    .local pmc match
+    .lex "$/", match
+    length rx472_eos, rx472_tgt
+    set rx472_off, 0
+    lt rx472_pos, 2, rx472_start
+    sub rx472_off, rx472_pos, 1
+    substr rx472_tgt, rx472_tgt, rx472_off
+  rx472_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan478_done
+    goto rxscan478_scan
+  rxscan478_loop:
+    ($P10) = rx472_cur."from"()
+    inc $P10
+    set rx472_pos, $P10
+    ge rx472_pos, rx472_eos, rxscan478_done
+  rxscan478_scan:
+    set_addr $I10, rxscan478_loop
+    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+  rxscan478_done:
+.annotate 'line', 236
+  # rx literal  ":"
+    add $I11, rx472_pos, 1
+    gt $I11, rx472_eos, rx472_fail
+    sub $I11, rx472_pos, rx472_off
+    substr $S10, rx472_tgt, $I11, 1
+    ne $S10, ":", rx472_fail
+    add rx472_pos, 1
+  alt479_0:
+.annotate 'line', 237
+    set_addr $I10, alt479_1
+    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+.annotate 'line', 238
+  # rx subcapture "not"
+    set_addr $I10, rxcap_480_fail
+    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+  # rx literal  "!"
+    add $I11, rx472_pos, 1
+    gt $I11, rx472_eos, rx472_fail
+    sub $I11, rx472_pos, rx472_off
+    substr $S10, rx472_tgt, $I11, 1
+    ne $S10, "!", rx472_fail
+    add rx472_pos, 1
+    set_addr $I10, rxcap_480_fail
+    ($I12, $I11) = rx472_cur."!mark_peek"($I10)
+    rx472_cur."!cursor_pos"($I11)
+    ($P10) = rx472_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx472_pos, "")
+    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("not")
+    goto rxcap_480_done
+  rxcap_480_fail:
+    goto rx472_fail
+  rxcap_480_done:
+  # rx subrule "identifier" subtype=capture negate=
+    rx472_cur."!cursor_pos"(rx472_pos)
+    $P10 = rx472_cur."identifier"()
+    unless $P10, rx472_fail
+    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("identifier")
+    rx472_pos = $P10."pos"()
+    goto alt479_end
+  alt479_1:
+    set_addr $I10, alt479_2
+    rx472_cur."!mark_push"(0, rx472_pos, $I10)
+.annotate 'line', 239
+  # rx subrule "identifier" subtype=capture negate=
+    rx472_cur."!cursor_pos"(rx472_pos)
+    $P10 = rx472_cur."identifier"()
+    unless $P10, rx472_fail
+    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("identifier")
+    rx472_pos = $P10."pos"()
+  # rx rxquantr481 ** 0..1
+    set_addr $I482, rxquantr481_done
+    rx472_cur."!mark_push"(0, rx472_pos, $I482)
+  rxquantr481_loop:
+  # rx subrule "circumfix" subtype=capture negate=
+    rx472_cur."!cursor_pos"(rx472_pos)
+    $P10 = rx472_cur."circumfix"()
+    unless $P10, rx472_fail
+    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("circumfix")
+    rx472_pos = $P10."pos"()
+    (rx472_rep) = rx472_cur."!mark_commit"($I482)
+  rxquantr481_done:
+    goto alt479_end
+  alt479_2:
+.annotate 'line', 240
+  # rx subrule "circumfix" subtype=capture negate=
+    rx472_cur."!cursor_pos"(rx472_pos)
+    $P10 = rx472_cur."circumfix"()
+    unless $P10, rx472_fail
+    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("circumfix")
+    rx472_pos = $P10."pos"()
+  alt479_end:
+.annotate 'line', 235
+  # rx pass
+    rx472_cur."!cursor_pass"(rx472_pos, "colonpair")
+    rx472_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx472_pos)
+    .return (rx472_cur)
+  rx472_fail:
+.annotate 'line', 4
+    (rx472_rep, rx472_pos, $I10, $P10) = rx472_cur."!mark_fail"(0)
+    lt rx472_pos, -1, rx472_done
+    eq rx472_pos, -1, rx472_fail
+    jump $I10
+  rx472_done:
+    rx472_cur."!cursor_fail"()
+    rx472_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx472_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("117_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx476_tgt
-    .local int rx476_pos
-    .local int rx476_off
-    .local int rx476_eos
-    .local int rx476_rep
-    .local pmc rx476_cur
-    (rx476_cur, rx476_pos, rx476_tgt) = self."!cursor_start"()
-    rx476_cur."!cursor_debug"("START ", "variable")
-    rx476_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx476_cur
-    .local pmc match
-    .lex "$/", match
-    length rx476_eos, rx476_tgt
-    set rx476_off, 0
-    lt rx476_pos, 2, rx476_start
-    sub rx476_off, rx476_pos, 1
-    substr rx476_tgt, rx476_tgt, rx476_off
-  rx476_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan481_done
-    goto rxscan481_scan
-  rxscan481_loop:
-    ($P10) = rx476_cur."from"()
-    inc $P10
-    set rx476_pos, $P10
-    ge rx476_pos, rx476_eos, rxscan481_done
-  rxscan481_scan:
-    set_addr $I10, rxscan481_loop
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
-  rxscan481_done:
-  alt482_0:
-.annotate "line", 243
-    set_addr $I10, alt482_1
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
-.annotate "line", 244
+.sub "!PREFIX__colonpair"  :subid("116_1273866379.28103") :method
+.annotate 'line', 4
+    $P474 = self."!PREFIX__!subrule"("circumfix", ":")
+    $P475 = self."!PREFIX__!subrule"("identifier", ":")
+    $P476 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P477, "ResizablePMCArray"
+    push $P477, $P474
+    push $P477, $P475
+    push $P477, $P476
+    .return ($P477)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "variable"  :subid("117_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx484_tgt
+    .local int rx484_pos
+    .local int rx484_off
+    .local int rx484_eos
+    .local int rx484_rep
+    .local pmc rx484_cur
+    (rx484_cur, rx484_pos, rx484_tgt) = self."!cursor_start"()
+    rx484_cur."!cursor_debug"("START ", "variable")
+    rx484_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx484_cur
+    .local pmc match
+    .lex "$/", match
+    length rx484_eos, rx484_tgt
+    set rx484_off, 0
+    lt rx484_pos, 2, rx484_start
+    sub rx484_off, rx484_pos, 1
+    substr rx484_tgt, rx484_tgt, rx484_off
+  rx484_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan489_done
+    goto rxscan489_scan
+  rxscan489_loop:
+    ($P10) = rx484_cur."from"()
+    inc $P10
+    set rx484_pos, $P10
+    ge rx484_pos, rx484_eos, rxscan489_done
+  rxscan489_scan:
+    set_addr $I10, rxscan489_loop
+    rx484_cur."!mark_push"(0, rx484_pos, $I10)
+  rxscan489_done:
+  alt490_0:
+.annotate 'line', 244
+    set_addr $I10, alt490_1
+    rx484_cur."!mark_push"(0, rx484_pos, $I10)
+.annotate 'line', 245
   # rx subrule "sigil" subtype=capture negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."sigil"()
-    unless $P10, rx476_fail
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    rx484_cur."!cursor_pos"(rx484_pos)
+    $P10 = rx484_cur."sigil"()
+    unless $P10, rx484_fail
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx476_pos = $P10."pos"()
-  # rx rxquantr483 ** 0..1
-    set_addr $I484, rxquantr483_done
-    rx476_cur."!mark_push"(0, rx476_pos, $I484)
-  rxquantr483_loop:
+    rx484_pos = $P10."pos"()
+  # rx rxquantr491 ** 0..1
+    set_addr $I492, rxquantr491_done
+    rx484_cur."!mark_push"(0, rx484_pos, $I492)
+  rxquantr491_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."twigil"()
-    unless $P10, rx476_fail
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    rx484_cur."!cursor_pos"(rx484_pos)
+    $P10 = rx484_cur."twigil"()
+    unless $P10, rx484_fail
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx476_pos = $P10."pos"()
-    (rx476_rep) = rx476_cur."!mark_commit"($I484)
-  rxquantr483_done:
+    rx484_pos = $P10."pos"()
+    (rx484_rep) = rx484_cur."!mark_commit"($I492)
+  rxquantr491_done:
   # rx subrule "name" subtype=capture negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."name"()
-    unless $P10, rx476_fail
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    rx484_cur."!cursor_pos"(rx484_pos)
+    $P10 = rx484_cur."name"()
+    unless $P10, rx484_fail
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx476_pos = $P10."pos"()
-    goto alt482_end
-  alt482_1:
-    set_addr $I10, alt482_2
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
-.annotate "line", 245
+    rx484_pos = $P10."pos"()
+    goto alt490_end
+  alt490_1:
+    set_addr $I10, alt490_2
+    rx484_cur."!mark_push"(0, rx484_pos, $I10)
+.annotate 'line', 246
   # rx subrule "sigil" subtype=capture negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."sigil"()
-    unless $P10, rx476_fail
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    rx484_cur."!cursor_pos"(rx484_pos)
+    $P10 = rx484_cur."sigil"()
+    unless $P10, rx484_fail
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx476_pos = $P10."pos"()
+    rx484_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx476_pos, rx476_eos, rx476_fail
-    sub $I10, rx476_pos, rx476_off
-    substr $S10, rx476_tgt, $I10, 1
+    ge rx484_pos, rx484_eos, rx484_fail
+    sub $I10, rx484_pos, rx484_off
+    substr $S10, rx484_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx476_fail
+    lt $I11, 0, rx484_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."postcircumfix"()
-    unless $P10, rx476_fail
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    rx484_cur."!cursor_pos"(rx484_pos)
+    $P10 = rx484_cur."postcircumfix"()
+    unless $P10, rx484_fail
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx476_pos = $P10."pos"()
-    goto alt482_end
-  alt482_2:
-.annotate "line", 246
+    rx484_pos = $P10."pos"()
+    goto alt490_end
+  alt490_2:
+.annotate 'line', 247
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_485_fail
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
+    set_addr $I10, rxcap_493_fail
+    rx484_cur."!mark_push"(0, rx484_pos, $I10)
   # rx literal  "$"
-    add $I11, rx476_pos, 1
-    gt $I11, rx476_eos, rx476_fail
-    sub $I11, rx476_pos, rx476_off
-    substr $S10, rx476_tgt, $I11, 1
-    ne $S10, "$", rx476_fail
-    add rx476_pos, 1
-    set_addr $I10, rxcap_485_fail
-    ($I12, $I11) = rx476_cur."!mark_peek"($I10)
-    rx476_cur."!cursor_pos"($I11)
-    ($P10) = rx476_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx476_pos, "")
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx484_pos, 1
+    gt $I11, rx484_eos, rx484_fail
+    sub $I11, rx484_pos, rx484_off
+    substr $S10, rx484_tgt, $I11, 1
+    ne $S10, "$", rx484_fail
+    add rx484_pos, 1
+    set_addr $I10, rxcap_493_fail
+    ($I12, $I11) = rx484_cur."!mark_peek"($I10)
+    rx484_cur."!cursor_pos"($I11)
+    ($P10) = rx484_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx484_pos, "")
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_485_done
-  rxcap_485_fail:
-    goto rx476_fail
-  rxcap_485_done:
+    goto rxcap_493_done
+  rxcap_493_fail:
+    goto rx484_fail
+  rxcap_493_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_486_fail
-    rx476_cur."!mark_push"(0, rx476_pos, $I10)
+    set_addr $I10, rxcap_494_fail
+    rx484_cur."!mark_push"(0, rx484_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx476_pos, rx476_eos, rx476_fail
-    sub $I10, rx476_pos, rx476_off
-    substr $S10, rx476_tgt, $I10, 1
+    ge rx484_pos, rx484_eos, rx484_fail
+    sub $I10, rx484_pos, rx484_off
+    substr $S10, rx484_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx476_fail
-    inc rx476_pos
-    set_addr $I10, rxcap_486_fail
-    ($I12, $I11) = rx476_cur."!mark_peek"($I10)
-    rx476_cur."!cursor_pos"($I11)
-    ($P10) = rx476_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx476_pos, "")
-    rx476_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx484_fail
+    inc rx484_pos
+    set_addr $I10, rxcap_494_fail
+    ($I12, $I11) = rx484_cur."!mark_peek"($I10)
+    rx484_cur."!cursor_pos"($I11)
+    ($P10) = rx484_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx484_pos, "")
+    rx484_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_486_done
-  rxcap_486_fail:
-    goto rx476_fail
-  rxcap_486_done:
-  alt482_end:
-.annotate "line", 243
-  # rx pass
-    rx476_cur."!cursor_pass"(rx476_pos, "variable")
-    rx476_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx476_pos)
-    .return (rx476_cur)
-  rx476_fail:
-.annotate "line", 4
-    (rx476_rep, rx476_pos, $I10, $P10) = rx476_cur."!mark_fail"(0)
-    lt rx476_pos, -1, rx476_done
-    eq rx476_pos, -1, rx476_fail
-    jump $I10
-  rx476_done:
-    rx476_cur."!cursor_fail"()
-    rx476_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx476_cur)
+    goto rxcap_494_done
+  rxcap_494_fail:
+    goto rx484_fail
+  rxcap_494_done:
+  alt490_end:
+.annotate 'line', 244
+  # rx pass
+    rx484_cur."!cursor_pass"(rx484_pos, "variable")
+    rx484_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx484_pos)
+    .return (rx484_cur)
+  rx484_fail:
+.annotate 'line', 4
+    (rx484_rep, rx484_pos, $I10, $P10) = rx484_cur."!mark_fail"(0)
+    lt rx484_pos, -1, rx484_done
+    eq rx484_pos, -1, rx484_fail
+    jump $I10
+  rx484_done:
+    rx484_cur."!cursor_fail"()
+    rx484_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx484_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("118_1272816833.94956") :method
-.annotate "line", 4
-    $P478 = self."!PREFIX__!subrule"("sigil", "")
-    $P479 = self."!PREFIX__!subrule"("sigil", "")
-    new $P480, "ResizablePMCArray"
-    push $P480, "$!"
-    push $P480, "$_"
-    push $P480, "$/"
-    push $P480, $P478
-    push $P480, $P479
-    .return ($P480)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("119_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx488_tgt
-    .local int rx488_pos
-    .local int rx488_off
-    .local int rx488_eos
-    .local int rx488_rep
-    .local pmc rx488_cur
-    (rx488_cur, rx488_pos, rx488_tgt) = self."!cursor_start"()
-    rx488_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx488_cur
-    .local pmc match
-    .lex "$/", match
-    length rx488_eos, rx488_tgt
-    set rx488_off, 0
-    lt rx488_pos, 2, rx488_start
-    sub rx488_off, rx488_pos, 1
-    substr rx488_tgt, rx488_tgt, rx488_off
-  rx488_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan491_done
-    goto rxscan491_scan
-  rxscan491_loop:
-    ($P10) = rx488_cur."from"()
-    inc $P10
-    set rx488_pos, $P10
-    ge rx488_pos, rx488_eos, rxscan491_done
-  rxscan491_scan:
-    set_addr $I10, rxscan491_loop
-    rx488_cur."!mark_push"(0, rx488_pos, $I10)
-  rxscan491_done:
-.annotate "line", 249
+.sub "!PREFIX__variable"  :subid("118_1273866379.28103") :method
+.annotate 'line', 4
+    $P486 = self."!PREFIX__!subrule"("sigil", "")
+    $P487 = self."!PREFIX__!subrule"("sigil", "")
+    new $P488, "ResizablePMCArray"
+    push $P488, "$!"
+    push $P488, "$_"
+    push $P488, "$/"
+    push $P488, $P486
+    push $P488, $P487
+    .return ($P488)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "sigil"  :subid("119_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx496_tgt
+    .local int rx496_pos
+    .local int rx496_off
+    .local int rx496_eos
+    .local int rx496_rep
+    .local pmc rx496_cur
+    (rx496_cur, rx496_pos, rx496_tgt) = self."!cursor_start"()
+    rx496_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx496_cur
+    .local pmc match
+    .lex "$/", match
+    length rx496_eos, rx496_tgt
+    set rx496_off, 0
+    lt rx496_pos, 2, rx496_start
+    sub rx496_off, rx496_pos, 1
+    substr rx496_tgt, rx496_tgt, rx496_off
+  rx496_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan499_done
+    goto rxscan499_scan
+  rxscan499_loop:
+    ($P10) = rx496_cur."from"()
+    inc $P10
+    set rx496_pos, $P10
+    ge rx496_pos, rx496_eos, rxscan499_done
+  rxscan499_scan:
+    set_addr $I10, rxscan499_loop
+    rx496_cur."!mark_push"(0, rx496_pos, $I10)
+  rxscan499_done:
+.annotate 'line', 250
   # rx enumcharlist negate=0 
-    ge rx488_pos, rx488_eos, rx488_fail
-    sub $I10, rx488_pos, rx488_off
-    substr $S10, rx488_tgt, $I10, 1
+    ge rx496_pos, rx496_eos, rx496_fail
+    sub $I10, rx496_pos, rx496_off
+    substr $S10, rx496_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx488_fail
-    inc rx488_pos
+    lt $I11, 0, rx496_fail
+    inc rx496_pos
   # rx pass
-    rx488_cur."!cursor_pass"(rx488_pos, "sigil")
-    rx488_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx488_pos)
-    .return (rx488_cur)
-  rx488_fail:
-.annotate "line", 4
-    (rx488_rep, rx488_pos, $I10, $P10) = rx488_cur."!mark_fail"(0)
-    lt rx488_pos, -1, rx488_done
-    eq rx488_pos, -1, rx488_fail
-    jump $I10
-  rx488_done:
-    rx488_cur."!cursor_fail"()
-    rx488_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx488_cur)
+    rx496_cur."!cursor_pass"(rx496_pos, "sigil")
+    rx496_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx496_pos)
+    .return (rx496_cur)
+  rx496_fail:
+.annotate 'line', 4
+    (rx496_rep, rx496_pos, $I10, $P10) = rx496_cur."!mark_fail"(0)
+    lt rx496_pos, -1, rx496_done
+    eq rx496_pos, -1, rx496_fail
+    jump $I10
+  rx496_done:
+    rx496_cur."!cursor_fail"()
+    rx496_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx496_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("120_1272816833.94956") :method
-.annotate "line", 4
-    new $P490, "ResizablePMCArray"
-    push $P490, "&"
-    push $P490, "%"
-    push $P490, "@"
-    push $P490, "$"
-    .return ($P490)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("121_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx493_tgt
-    .local int rx493_pos
-    .local int rx493_off
-    .local int rx493_eos
-    .local int rx493_rep
-    .local pmc rx493_cur
-    (rx493_cur, rx493_pos, rx493_tgt) = self."!cursor_start"()
-    rx493_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx493_cur
-    .local pmc match
-    .lex "$/", match
-    length rx493_eos, rx493_tgt
-    set rx493_off, 0
-    lt rx493_pos, 2, rx493_start
-    sub rx493_off, rx493_pos, 1
-    substr rx493_tgt, rx493_tgt, rx493_off
-  rx493_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan496_done
-    goto rxscan496_scan
-  rxscan496_loop:
-    ($P10) = rx493_cur."from"()
-    inc $P10
-    set rx493_pos, $P10
-    ge rx493_pos, rx493_eos, rxscan496_done
-  rxscan496_scan:
-    set_addr $I10, rxscan496_loop
-    rx493_cur."!mark_push"(0, rx493_pos, $I10)
-  rxscan496_done:
-.annotate "line", 251
+.sub "!PREFIX__sigil"  :subid("120_1273866379.28103") :method
+.annotate 'line', 4
+    new $P498, "ResizablePMCArray"
+    push $P498, "&"
+    push $P498, "%"
+    push $P498, "@"
+    push $P498, "$"
+    .return ($P498)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "twigil"  :subid("121_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx501_tgt
+    .local int rx501_pos
+    .local int rx501_off
+    .local int rx501_eos
+    .local int rx501_rep
+    .local pmc rx501_cur
+    (rx501_cur, rx501_pos, rx501_tgt) = self."!cursor_start"()
+    rx501_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx501_cur
+    .local pmc match
+    .lex "$/", match
+    length rx501_eos, rx501_tgt
+    set rx501_off, 0
+    lt rx501_pos, 2, rx501_start
+    sub rx501_off, rx501_pos, 1
+    substr rx501_tgt, rx501_tgt, rx501_off
+  rx501_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan504_done
+    goto rxscan504_scan
+  rxscan504_loop:
+    ($P10) = rx501_cur."from"()
+    inc $P10
+    set rx501_pos, $P10
+    ge rx501_pos, rx501_eos, rxscan504_done
+  rxscan504_scan:
+    set_addr $I10, rxscan504_loop
+    rx501_cur."!mark_push"(0, rx501_pos, $I10)
+  rxscan504_done:
+.annotate 'line', 252
   # rx enumcharlist negate=0 
-    ge rx493_pos, rx493_eos, rx493_fail
-    sub $I10, rx493_pos, rx493_off
-    substr $S10, rx493_tgt, $I10, 1
+    ge rx501_pos, rx501_eos, rx501_fail
+    sub $I10, rx501_pos, rx501_off
+    substr $S10, rx501_tgt, $I10, 1
     index $I11, "*!?", $S10
-    lt $I11, 0, rx493_fail
-    inc rx493_pos
+    lt $I11, 0, rx501_fail
+    inc rx501_pos
   # rx pass
-    rx493_cur."!cursor_pass"(rx493_pos, "twigil")
-    rx493_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx493_pos)
-    .return (rx493_cur)
-  rx493_fail:
-.annotate "line", 4
-    (rx493_rep, rx493_pos, $I10, $P10) = rx493_cur."!mark_fail"(0)
-    lt rx493_pos, -1, rx493_done
-    eq rx493_pos, -1, rx493_fail
+    rx501_cur."!cursor_pass"(rx501_pos, "twigil")
+    rx501_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx501_pos)
+    .return (rx501_cur)
+  rx501_fail:
+.annotate 'line', 4
+    (rx501_rep, rx501_pos, $I10, $P10) = rx501_cur."!mark_fail"(0)
+    lt rx501_pos, -1, rx501_done
+    eq rx501_pos, -1, rx501_fail
     jump $I10
-  rx493_done:
-    rx493_cur."!cursor_fail"()
-    rx493_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx493_cur)
+  rx501_done:
+    rx501_cur."!cursor_fail"()
+    rx501_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx501_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("122_1272816833.94956") :method
-.annotate "line", 4
-    new $P495, "ResizablePMCArray"
-    push $P495, "?"
-    push $P495, "!"
-    push $P495, "*"
-    .return ($P495)
+.sub "!PREFIX__twigil"  :subid("122_1273866379.28103") :method
+.annotate 'line', 4
+    new $P503, "ResizablePMCArray"
+    push $P503, "?"
+    push $P503, "!"
+    push $P503, "*"
+    .return ($P503)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("123_1272816833.94956") :method
-.annotate "line", 253
-    $P498 = self."!protoregex"("package_declarator")
-    .return ($P498)
+.sub "package_declarator"  :subid("123_1273866379.28103") :method
+.annotate 'line', 254
+    $P506 = self."!protoregex"("package_declarator")
+    .return ($P506)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("124_1272816833.94956") :method
-.annotate "line", 253
-    $P500 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P500)
+.sub "!PREFIX__package_declarator"  :subid("124_1273866379.28103") :method
+.annotate 'line', 254
+    $P508 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P508)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("125_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx502_tgt
-    .local int rx502_pos
-    .local int rx502_off
-    .local int rx502_eos
-    .local int rx502_rep
-    .local pmc rx502_cur
-    (rx502_cur, rx502_pos, rx502_tgt) = self."!cursor_start"()
-    rx502_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx502_cur
-    .local pmc match
-    .lex "$/", match
-    length rx502_eos, rx502_tgt
-    set rx502_off, 0
-    lt rx502_pos, 2, rx502_start
-    sub rx502_off, rx502_pos, 1
-    substr rx502_tgt, rx502_tgt, rx502_off
-  rx502_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan506_done
-    goto rxscan506_scan
-  rxscan506_loop:
-    ($P10) = rx502_cur."from"()
-    inc $P10
-    set rx502_pos, $P10
-    ge rx502_pos, rx502_eos, rxscan506_done
-  rxscan506_scan:
-    set_addr $I10, rxscan506_loop
-    rx502_cur."!mark_push"(0, rx502_pos, $I10)
-  rxscan506_done:
-.annotate "line", 254
+.sub "package_declarator:sym<module>"  :subid("125_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx510_tgt
+    .local int rx510_pos
+    .local int rx510_off
+    .local int rx510_eos
+    .local int rx510_rep
+    .local pmc rx510_cur
+    (rx510_cur, rx510_pos, rx510_tgt) = self."!cursor_start"()
+    rx510_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx510_cur
+    .local pmc match
+    .lex "$/", match
+    length rx510_eos, rx510_tgt
+    set rx510_off, 0
+    lt rx510_pos, 2, rx510_start
+    sub rx510_off, rx510_pos, 1
+    substr rx510_tgt, rx510_tgt, rx510_off
+  rx510_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan514_done
+    goto rxscan514_scan
+  rxscan514_loop:
+    ($P10) = rx510_cur."from"()
+    inc $P10
+    set rx510_pos, $P10
+    ge rx510_pos, rx510_eos, rxscan514_done
+  rxscan514_scan:
+    set_addr $I10, rxscan514_loop
+    rx510_cur."!mark_push"(0, rx510_pos, $I10)
+  rxscan514_done:
+.annotate 'line', 255
   # rx subcapture "sym"
-    set_addr $I10, rxcap_507_fail
-    rx502_cur."!mark_push"(0, rx502_pos, $I10)
+    set_addr $I10, rxcap_515_fail
+    rx510_cur."!mark_push"(0, rx510_pos, $I10)
   # rx literal  "module"
-    add $I11, rx502_pos, 6
-    gt $I11, rx502_eos, rx502_fail
-    sub $I11, rx502_pos, rx502_off
-    substr $S10, rx502_tgt, $I11, 6
-    ne $S10, "module", rx502_fail
-    add rx502_pos, 6
-    set_addr $I10, rxcap_507_fail
-    ($I12, $I11) = rx502_cur."!mark_peek"($I10)
-    rx502_cur."!cursor_pos"($I11)
-    ($P10) = rx502_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx502_pos, "")
-    rx502_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx510_pos, 6
+    gt $I11, rx510_eos, rx510_fail
+    sub $I11, rx510_pos, rx510_off
+    substr $S10, rx510_tgt, $I11, 6
+    ne $S10, "module", rx510_fail
+    add rx510_pos, 6
+    set_addr $I10, rxcap_515_fail
+    ($I12, $I11) = rx510_cur."!mark_peek"($I10)
+    rx510_cur."!cursor_pos"($I11)
+    ($P10) = rx510_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx510_pos, "")
+    rx510_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_507_done
-  rxcap_507_fail:
-    goto rx502_fail
-  rxcap_507_done:
+    goto rxcap_515_done
+  rxcap_515_fail:
+    goto rx510_fail
+  rxcap_515_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx502_cur."!cursor_pos"(rx502_pos)
-    $P10 = rx502_cur."package_def"()
-    unless $P10, rx502_fail
-    rx502_cur."!mark_push"(0, -1, 0, $P10)
+    rx510_cur."!cursor_pos"(rx510_pos)
+    $P10 = rx510_cur."package_def"()
+    unless $P10, rx510_fail
+    rx510_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx502_pos = $P10."pos"()
+    rx510_pos = $P10."pos"()
   # rx pass
-    rx502_cur."!cursor_pass"(rx502_pos, "package_declarator:sym<module>")
-    rx502_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx502_pos)
-    .return (rx502_cur)
-  rx502_fail:
-.annotate "line", 4
-    (rx502_rep, rx502_pos, $I10, $P10) = rx502_cur."!mark_fail"(0)
-    lt rx502_pos, -1, rx502_done
-    eq rx502_pos, -1, rx502_fail
+    rx510_cur."!cursor_pass"(rx510_pos, "package_declarator:sym<module>")
+    rx510_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx510_pos)
+    .return (rx510_cur)
+  rx510_fail:
+.annotate 'line', 4
+    (rx510_rep, rx510_pos, $I10, $P10) = rx510_cur."!mark_fail"(0)
+    lt rx510_pos, -1, rx510_done
+    eq rx510_pos, -1, rx510_fail
     jump $I10
-  rx502_done:
-    rx502_cur."!cursor_fail"()
-    rx502_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx502_cur)
+  rx510_done:
+    rx510_cur."!cursor_fail"()
+    rx510_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx510_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("126_1272816833.94956") :method
-.annotate "line", 4
-    $P504 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P505, "ResizablePMCArray"
-    push $P505, $P504
-    .return ($P505)
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("126_1273866379.28103") :method
+.annotate 'line', 4
+    $P512 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P513, "ResizablePMCArray"
+    push $P513, $P512
+    .return ($P513)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("127_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx509_tgt
-    .local int rx509_pos
-    .local int rx509_off
-    .local int rx509_eos
-    .local int rx509_rep
-    .local pmc rx509_cur
-    (rx509_cur, rx509_pos, rx509_tgt) = self."!cursor_start"()
-    rx509_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx509_cur
-    .local pmc match
-    .lex "$/", match
-    length rx509_eos, rx509_tgt
-    set rx509_off, 0
-    lt rx509_pos, 2, rx509_start
-    sub rx509_off, rx509_pos, 1
-    substr rx509_tgt, rx509_tgt, rx509_off
-  rx509_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan514_done
-    goto rxscan514_scan
-  rxscan514_loop:
-    ($P10) = rx509_cur."from"()
-    inc $P10
-    set rx509_pos, $P10
-    ge rx509_pos, rx509_eos, rxscan514_done
-  rxscan514_scan:
-    set_addr $I10, rxscan514_loop
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
-  rxscan514_done:
-.annotate "line", 255
+.sub "package_declarator:sym<class>"  :subid("127_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx517_tgt
+    .local int rx517_pos
+    .local int rx517_off
+    .local int rx517_eos
+    .local int rx517_rep
+    .local pmc rx517_cur
+    (rx517_cur, rx517_pos, rx517_tgt) = self."!cursor_start"()
+    rx517_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
+    .lex unicode:"$\x{a2}", rx517_cur
+    .local pmc match
+    .lex "$/", match
+    length rx517_eos, rx517_tgt
+    set rx517_off, 0
+    lt rx517_pos, 2, rx517_start
+    sub rx517_off, rx517_pos, 1
+    substr rx517_tgt, rx517_tgt, rx517_off
+  rx517_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan522_done
+    goto rxscan522_scan
+  rxscan522_loop:
+    ($P10) = rx517_cur."from"()
+    inc $P10
+    set rx517_pos, $P10
+    ge rx517_pos, rx517_eos, rxscan522_done
+  rxscan522_scan:
+    set_addr $I10, rxscan522_loop
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
+  rxscan522_done:
+.annotate 'line', 256
   # rx subcapture "sym"
-    set_addr $I10, rxcap_516_fail
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
-  alt515_0:
-    set_addr $I10, alt515_1
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
+    set_addr $I10, rxcap_524_fail
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
+  alt523_0:
+    set_addr $I10, alt523_1
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
   # rx literal  "class"
-    add $I11, rx509_pos, 5
-    gt $I11, rx509_eos, rx509_fail
-    sub $I11, rx509_pos, rx509_off
-    substr $S10, rx509_tgt, $I11, 5
-    ne $S10, "class", rx509_fail
-    add rx509_pos, 5
-    goto alt515_end
-  alt515_1:
+    add $I11, rx517_pos, 5
+    gt $I11, rx517_eos, rx517_fail
+    sub $I11, rx517_pos, rx517_off
+    substr $S10, rx517_tgt, $I11, 5
+    ne $S10, "class", rx517_fail
+    add rx517_pos, 5
+    goto alt523_end
+  alt523_1:
   # rx literal  "grammar"
-    add $I11, rx509_pos, 7
-    gt $I11, rx509_eos, rx509_fail
-    sub $I11, rx509_pos, rx509_off
-    substr $S10, rx509_tgt, $I11, 7
-    ne $S10, "grammar", rx509_fail
-    add rx509_pos, 7
-  alt515_end:
-    set_addr $I10, rxcap_516_fail
-    ($I12, $I11) = rx509_cur."!mark_peek"($I10)
-    rx509_cur."!cursor_pos"($I11)
-    ($P10) = rx509_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx509_pos, "")
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx517_pos, 7
+    gt $I11, rx517_eos, rx517_fail
+    sub $I11, rx517_pos, rx517_off
+    substr $S10, rx517_tgt, $I11, 7
+    ne $S10, "grammar", rx517_fail
+    add rx517_pos, 7
+  alt523_end:
+    set_addr $I10, rxcap_524_fail
+    ($I12, $I11) = rx517_cur."!mark_peek"($I10)
+    rx517_cur."!cursor_pos"($I11)
+    ($P10) = rx517_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx517_pos, "")
+    rx517_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_516_done
-  rxcap_516_fail:
-    goto rx509_fail
-  rxcap_516_done:
+    goto rxcap_524_done
+  rxcap_524_fail:
+    goto rx517_fail
+  rxcap_524_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."package_def"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx517_cur."!cursor_pos"(rx517_pos)
+    $P10 = rx517_cur."package_def"()
+    unless $P10, rx517_fail
+    rx517_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx509_pos = $P10."pos"()
+    rx517_pos = $P10."pos"()
   # rx pass
-    rx509_cur."!cursor_pass"(rx509_pos, "package_declarator:sym<class>")
-    rx509_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx509_pos)
-    .return (rx509_cur)
-  rx509_fail:
-.annotate "line", 4
-    (rx509_rep, rx509_pos, $I10, $P10) = rx509_cur."!mark_fail"(0)
-    lt rx509_pos, -1, rx509_done
-    eq rx509_pos, -1, rx509_fail
-    jump $I10
-  rx509_done:
-    rx509_cur."!cursor_fail"()
-    rx509_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx509_cur)
+    rx517_cur."!cursor_pass"(rx517_pos, "package_declarator:sym<class>")
+    rx517_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx517_pos)
+    .return (rx517_cur)
+  rx517_fail:
+.annotate 'line', 4
+    (rx517_rep, rx517_pos, $I10, $P10) = rx517_cur."!mark_fail"(0)
+    lt rx517_pos, -1, rx517_done
+    eq rx517_pos, -1, rx517_fail
+    jump $I10
+  rx517_done:
+    rx517_cur."!cursor_fail"()
+    rx517_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx517_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("128_1272816833.94956") :method
-.annotate "line", 4
-    $P511 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P512 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P513, "ResizablePMCArray"
-    push $P513, $P511
-    push $P513, $P512
-    .return ($P513)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("129_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx518_tgt
-    .local int rx518_pos
-    .local int rx518_off
-    .local int rx518_eos
-    .local int rx518_rep
-    .local pmc rx518_cur
-    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
-    rx518_cur."!cursor_debug"("START ", "package_def")
-    rx518_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx518_cur
-    .local pmc match
-    .lex "$/", match
-    length rx518_eos, rx518_tgt
-    set rx518_off, 0
-    lt rx518_pos, 2, rx518_start
-    sub rx518_off, rx518_pos, 1
-    substr rx518_tgt, rx518_tgt, rx518_off
-  rx518_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan521_done
-    goto rxscan521_scan
-  rxscan521_loop:
-    ($P10) = rx518_cur."from"()
-    inc $P10
-    set rx518_pos, $P10
-    ge rx518_pos, rx518_eos, rxscan521_done
-  rxscan521_scan:
-    set_addr $I10, rxscan521_loop
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-  rxscan521_done:
-.annotate "line", 257
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-.annotate "line", 258
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("128_1273866379.28103") :method
+.annotate 'line', 4
+    $P519 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P520 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P521, "ResizablePMCArray"
+    push $P521, $P519
+    push $P521, $P520
+    .return ($P521)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "package_def"  :subid("129_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx526_tgt
+    .local int rx526_pos
+    .local int rx526_off
+    .local int rx526_eos
+    .local int rx526_rep
+    .local pmc rx526_cur
+    (rx526_cur, rx526_pos, rx526_tgt) = self."!cursor_start"()
+    rx526_cur."!cursor_debug"("START ", "package_def")
+    rx526_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx526_cur
+    .local pmc match
+    .lex "$/", match
+    length rx526_eos, rx526_tgt
+    set rx526_off, 0
+    lt rx526_pos, 2, rx526_start
+    sub rx526_off, rx526_pos, 1
+    substr rx526_tgt, rx526_tgt, rx526_off
+  rx526_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan529_done
+    goto rxscan529_scan
+  rxscan529_loop:
+    ($P10) = rx526_cur."from"()
+    inc $P10
+    set rx526_pos, $P10
+    ge rx526_pos, rx526_eos, rxscan529_done
+  rxscan529_scan:
+    set_addr $I10, rxscan529_loop
+    rx526_cur."!mark_push"(0, rx526_pos, $I10)
+  rxscan529_done:
+.annotate 'line', 258
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+.annotate 'line', 259
   # rx subrule "name" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."name"()
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."name"()
+    unless $P10, rx526_fail
+    rx526_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx518_pos = $P10."pos"()
+    rx526_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-.annotate "line", 259
-  # rx rxquantr524 ** 0..1
-    set_addr $I528, rxquantr524_done
-    rx518_cur."!mark_push"(0, rx518_pos, $I528)
-  rxquantr524_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+.annotate 'line', 260
+  # rx rxquantr532 ** 0..1
+    set_addr $I536, rxquantr532_done
+    rx526_cur."!mark_push"(0, rx526_pos, $I536)
+  rxquantr532_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx518_pos, 2
-    gt $I11, rx518_eos, rx518_fail
-    sub $I11, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I11, 2
-    ne $S10, "is", rx518_fail
-    add rx518_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    add $I11, rx526_pos, 2
+    gt $I11, rx526_eos, rx526_fail
+    sub $I11, rx526_pos, rx526_off
+    substr $S10, rx526_tgt, $I11, 2
+    ne $S10, "is", rx526_fail
+    add rx526_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."name"()
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."name"()
+    unless $P10, rx526_fail
+    rx526_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx518_pos = $P10."pos"()
+    rx526_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-    (rx518_rep) = rx518_cur."!mark_commit"($I528)
-  rxquantr524_done:
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-  alt530_0:
-.annotate "line", 260
-    set_addr $I10, alt530_1
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-.annotate "line", 261
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+    (rx526_rep) = rx526_cur."!mark_commit"($I536)
+  rxquantr532_done:
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+  alt538_0:
+.annotate 'line', 261
+    set_addr $I10, alt538_1
+    rx526_cur."!mark_push"(0, rx526_pos, $I10)
+.annotate 'line', 262
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx518_pos, 1
-    gt $I11, rx518_eos, rx518_fail
-    sub $I11, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I11, 1
-    ne $S10, ";", rx518_fail
-    add rx518_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    add $I11, rx526_pos, 1
+    gt $I11, rx526_eos, rx526_fail
+    sub $I11, rx526_pos, rx526_off
+    substr $S10, rx526_tgt, $I11, 1
+    ne $S10, ";", rx526_fail
+    add rx526_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."comp_unit"()
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."comp_unit"()
+    unless $P10, rx526_fail
+    rx526_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx518_pos = $P10."pos"()
+    rx526_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-    goto alt530_end
-  alt530_1:
-    set_addr $I10, alt530_2
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-.annotate "line", 262
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+    goto alt538_end
+  alt538_1:
+    set_addr $I10, alt538_2
+    rx526_cur."!mark_push"(0, rx526_pos, $I10)
+.annotate 'line', 263
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx518_pos, rx518_eos, rx518_fail
-    sub $I10, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I10, 1
+    ge rx526_pos, rx526_eos, rx526_fail
+    sub $I10, rx526_pos, rx526_off
+    substr $S10, rx526_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx518_fail
+    lt $I11, 0, rx526_fail
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."block"()
-    unless $P10, rx518_fail
-    rx518_cur."!mark_push"(0, -1, 0, $P10)
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."block"()
+    unless $P10, rx526_fail
+    rx526_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx518_pos = $P10."pos"()
+    rx526_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-    goto alt530_end
-  alt530_2:
-.annotate "line", 263
-  # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+    goto alt538_end
+  alt538_2:
+.annotate 'line', 264
+  # rx subrule "ws" subtype=method negate=
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."panic"("Malformed package declaration")
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."panic"("Malformed package declaration")
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-  alt530_end:
-.annotate "line", 264
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+  alt538_end:
+.annotate 'line', 265
   # rx subrule "ws" subtype=method negate=
-    rx518_cur."!cursor_pos"(rx518_pos)
-    $P10 = rx518_cur."ws"()
-    unless $P10, rx518_fail
-    rx518_pos = $P10."pos"()
-.annotate "line", 257
+    rx526_cur."!cursor_pos"(rx526_pos)
+    $P10 = rx526_cur."ws"()
+    unless $P10, rx526_fail
+    rx526_pos = $P10."pos"()
+.annotate 'line', 258
   # rx pass
-    rx518_cur."!cursor_pass"(rx518_pos, "package_def")
-    rx518_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx518_pos)
-    .return (rx518_cur)
-  rx518_fail:
-.annotate "line", 4
-    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
-    lt rx518_pos, -1, rx518_done
-    eq rx518_pos, -1, rx518_fail
+    rx526_cur."!cursor_pass"(rx526_pos, "package_def")
+    rx526_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx526_pos)
+    .return (rx526_cur)
+  rx526_fail:
+.annotate 'line', 4
+    (rx526_rep, rx526_pos, $I10, $P10) = rx526_cur."!mark_fail"(0)
+    lt rx526_pos, -1, rx526_done
+    eq rx526_pos, -1, rx526_fail
     jump $I10
-  rx518_done:
-    rx518_cur."!cursor_fail"()
-    rx518_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx518_cur)
+  rx526_done:
+    rx526_cur."!cursor_fail"()
+    rx526_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx526_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("130_1272816833.94956") :method
-.annotate "line", 4
-    new $P520, "ResizablePMCArray"
-    push $P520, ""
-    .return ($P520)
+.sub "!PREFIX__package_def"  :subid("130_1273866379.28103") :method
+.annotate 'line', 4
+    new $P528, "ResizablePMCArray"
+    push $P528, ""
+    .return ($P528)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("131_1272816833.94956") :method
-.annotate "line", 267
-    $P541 = self."!protoregex"("scope_declarator")
-    .return ($P541)
+.sub "scope_declarator"  :subid("131_1273866379.28103") :method
+.annotate 'line', 268
+    $P549 = self."!protoregex"("scope_declarator")
+    .return ($P549)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("132_1272816833.94956") :method
-.annotate "line", 267
-    $P543 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P543)
+.sub "!PREFIX__scope_declarator"  :subid("132_1273866379.28103") :method
+.annotate 'line', 268
+    $P551 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P551)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("133_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx545_tgt
-    .local int rx545_pos
-    .local int rx545_off
-    .local int rx545_eos
-    .local int rx545_rep
-    .local pmc rx545_cur
-    (rx545_cur, rx545_pos, rx545_tgt) = self."!cursor_start"()
-    rx545_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx545_cur
+.sub "scope_declarator:sym<my>"  :subid("133_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx553_tgt
+    .local int rx553_pos
+    .local int rx553_off
+    .local int rx553_eos
+    .local int rx553_rep
+    .local pmc rx553_cur
+    (rx553_cur, rx553_pos, rx553_tgt) = self."!cursor_start"()
+    rx553_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+    .lex unicode:"$\x{a2}", rx553_cur
     .local pmc match
     .lex "$/", match
-    length rx545_eos, rx545_tgt
-    set rx545_off, 0
-    lt rx545_pos, 2, rx545_start
-    sub rx545_off, rx545_pos, 1
-    substr rx545_tgt, rx545_tgt, rx545_off
-  rx545_start:
+    length rx553_eos, rx553_tgt
+    set rx553_off, 0
+    lt rx553_pos, 2, rx553_start
+    sub rx553_off, rx553_pos, 1
+    substr rx553_tgt, rx553_tgt, rx553_off
+  rx553_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan549_done
-    goto rxscan549_scan
-  rxscan549_loop:
-    ($P10) = rx545_cur."from"()
+    ne $I10, -1, rxscan557_done
+    goto rxscan557_scan
+  rxscan557_loop:
+    ($P10) = rx553_cur."from"()
     inc $P10
-    set rx545_pos, $P10
-    ge rx545_pos, rx545_eos, rxscan549_done
-  rxscan549_scan:
-    set_addr $I10, rxscan549_loop
-    rx545_cur."!mark_push"(0, rx545_pos, $I10)
-  rxscan549_done:
-.annotate "line", 268
+    set rx553_pos, $P10
+    ge rx553_pos, rx553_eos, rxscan557_done
+  rxscan557_scan:
+    set_addr $I10, rxscan557_loop
+    rx553_cur."!mark_push"(0, rx553_pos, $I10)
+  rxscan557_done:
+.annotate 'line', 269
   # rx subcapture "sym"
-    set_addr $I10, rxcap_550_fail
-    rx545_cur."!mark_push"(0, rx545_pos, $I10)
+    set_addr $I10, rxcap_558_fail
+    rx553_cur."!mark_push"(0, rx553_pos, $I10)
   # rx literal  "my"
-    add $I11, rx545_pos, 2
-    gt $I11, rx545_eos, rx545_fail
-    sub $I11, rx545_pos, rx545_off
-    substr $S10, rx545_tgt, $I11, 2
-    ne $S10, "my", rx545_fail
-    add rx545_pos, 2
-    set_addr $I10, rxcap_550_fail
-    ($I12, $I11) = rx545_cur."!mark_peek"($I10)
-    rx545_cur."!cursor_pos"($I11)
-    ($P10) = rx545_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx545_pos, "")
-    rx545_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx553_pos, 2
+    gt $I11, rx553_eos, rx553_fail
+    sub $I11, rx553_pos, rx553_off
+    substr $S10, rx553_tgt, $I11, 2
+    ne $S10, "my", rx553_fail
+    add rx553_pos, 2
+    set_addr $I10, rxcap_558_fail
+    ($I12, $I11) = rx553_cur."!mark_peek"($I10)
+    rx553_cur."!cursor_pos"($I11)
+    ($P10) = rx553_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx553_pos, "")
+    rx553_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_550_done
-  rxcap_550_fail:
-    goto rx545_fail
-  rxcap_550_done:
+    goto rxcap_558_done
+  rxcap_558_fail:
+    goto rx553_fail
+  rxcap_558_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx545_cur."!cursor_pos"(rx545_pos)
-    $P10 = rx545_cur."scoped"("my")
-    unless $P10, rx545_fail
-    rx545_cur."!mark_push"(0, -1, 0, $P10)
+    rx553_cur."!cursor_pos"(rx553_pos)
+    $P10 = rx553_cur."scoped"("my")
+    unless $P10, rx553_fail
+    rx553_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx545_pos = $P10."pos"()
+    rx553_pos = $P10."pos"()
   # rx pass
-    rx545_cur."!cursor_pass"(rx545_pos, "scope_declarator:sym<my>")
-    rx545_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx545_pos)
-    .return (rx545_cur)
-  rx545_fail:
-.annotate "line", 4
-    (rx545_rep, rx545_pos, $I10, $P10) = rx545_cur."!mark_fail"(0)
-    lt rx545_pos, -1, rx545_done
-    eq rx545_pos, -1, rx545_fail
-    jump $I10
-  rx545_done:
-    rx545_cur."!cursor_fail"()
-    rx545_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx545_cur)
+    rx553_cur."!cursor_pass"(rx553_pos, "scope_declarator:sym<my>")
+    rx553_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx553_pos)
+    .return (rx553_cur)
+  rx553_fail:
+.annotate 'line', 4
+    (rx553_rep, rx553_pos, $I10, $P10) = rx553_cur."!mark_fail"(0)
+    lt rx553_pos, -1, rx553_done
+    eq rx553_pos, -1, rx553_fail
+    jump $I10
+  rx553_done:
+    rx553_cur."!cursor_fail"()
+    rx553_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
+    .return (rx553_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("134_1272816833.94956") :method
-.annotate "line", 4
-    $P547 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P548, "ResizablePMCArray"
-    push $P548, $P547
-    .return ($P548)
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("134_1273866379.28103") :method
+.annotate 'line', 4
+    $P555 = self."!PREFIX__!subrule"("scoped", "my")
+    new $P556, "ResizablePMCArray"
+    push $P556, $P555
+    .return ($P556)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("135_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx552_tgt
-    .local int rx552_pos
-    .local int rx552_off
-    .local int rx552_eos
-    .local int rx552_rep
-    .local pmc rx552_cur
-    (rx552_cur, rx552_pos, rx552_tgt) = self."!cursor_start"()
-    rx552_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
-    .lex unicode:"$\x{a2}", rx552_cur
-    .local pmc match
-    .lex "$/", match
-    length rx552_eos, rx552_tgt
-    set rx552_off, 0
-    lt rx552_pos, 2, rx552_start
-    sub rx552_off, rx552_pos, 1
-    substr rx552_tgt, rx552_tgt, rx552_off
-  rx552_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan556_done
-    goto rxscan556_scan
-  rxscan556_loop:
-    ($P10) = rx552_cur."from"()
-    inc $P10
-    set rx552_pos, $P10
-    ge rx552_pos, rx552_eos, rxscan556_done
-  rxscan556_scan:
-    set_addr $I10, rxscan556_loop
-    rx552_cur."!mark_push"(0, rx552_pos, $I10)
-  rxscan556_done:
-.annotate "line", 269
+.sub "scope_declarator:sym<our>"  :subid("135_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx560_tgt
+    .local int rx560_pos
+    .local int rx560_off
+    .local int rx560_eos
+    .local int rx560_rep
+    .local pmc rx560_cur
+    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
+    rx560_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx560_cur
+    .local pmc match
+    .lex "$/", match
+    length rx560_eos, rx560_tgt
+    set rx560_off, 0
+    lt rx560_pos, 2, rx560_start
+    sub rx560_off, rx560_pos, 1
+    substr rx560_tgt, rx560_tgt, rx560_off
+  rx560_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan564_done
+    goto rxscan564_scan
+  rxscan564_loop:
+    ($P10) = rx560_cur."from"()
+    inc $P10
+    set rx560_pos, $P10
+    ge rx560_pos, rx560_eos, rxscan564_done
+  rxscan564_scan:
+    set_addr $I10, rxscan564_loop
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+  rxscan564_done:
+.annotate 'line', 270
   # rx subcapture "sym"
-    set_addr $I10, rxcap_557_fail
-    rx552_cur."!mark_push"(0, rx552_pos, $I10)
+    set_addr $I10, rxcap_565_fail
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
   # rx literal  "our"
-    add $I11, rx552_pos, 3
-    gt $I11, rx552_eos, rx552_fail
-    sub $I11, rx552_pos, rx552_off
-    substr $S10, rx552_tgt, $I11, 3
-    ne $S10, "our", rx552_fail
-    add rx552_pos, 3
-    set_addr $I10, rxcap_557_fail
-    ($I12, $I11) = rx552_cur."!mark_peek"($I10)
-    rx552_cur."!cursor_pos"($I11)
-    ($P10) = rx552_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx552_pos, "")
-    rx552_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_557_done
-  rxcap_557_fail:
-    goto rx552_fail
-  rxcap_557_done:
-  # rx subrule "scoped" subtype=capture negate=
-    rx552_cur."!cursor_pos"(rx552_pos)
-    $P10 = rx552_cur."scoped"("our")
-    unless $P10, rx552_fail
-    rx552_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scoped")
-    rx552_pos = $P10."pos"()
-  # rx pass
-    rx552_cur."!cursor_pass"(rx552_pos, "scope_declarator:sym<our>")
-    rx552_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx552_pos)
-    .return (rx552_cur)
-  rx552_fail:
-.annotate "line", 4
-    (rx552_rep, rx552_pos, $I10, $P10) = rx552_cur."!mark_fail"(0)
-    lt rx552_pos, -1, rx552_done
-    eq rx552_pos, -1, rx552_fail
-    jump $I10
-  rx552_done:
-    rx552_cur."!cursor_fail"()
-    rx552_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx552_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("136_1272816833.94956") :method
-.annotate "line", 4
-    $P554 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P555, "ResizablePMCArray"
-    push $P555, $P554
-    .return ($P555)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("137_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx559_tgt
-    .local int rx559_pos
-    .local int rx559_off
-    .local int rx559_eos
-    .local int rx559_rep
-    .local pmc rx559_cur
-    (rx559_cur, rx559_pos, rx559_tgt) = self."!cursor_start"()
-    rx559_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
-    .lex unicode:"$\x{a2}", rx559_cur
-    .local pmc match
-    .lex "$/", match
-    length rx559_eos, rx559_tgt
-    set rx559_off, 0
-    lt rx559_pos, 2, rx559_start
-    sub rx559_off, rx559_pos, 1
-    substr rx559_tgt, rx559_tgt, rx559_off
-  rx559_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan563_done
-    goto rxscan563_scan
-  rxscan563_loop:
-    ($P10) = rx559_cur."from"()
-    inc $P10
-    set rx559_pos, $P10
-    ge rx559_pos, rx559_eos, rxscan563_done
-  rxscan563_scan:
-    set_addr $I10, rxscan563_loop
-    rx559_cur."!mark_push"(0, rx559_pos, $I10)
-  rxscan563_done:
-.annotate "line", 270
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_564_fail
-    rx559_cur."!mark_push"(0, rx559_pos, $I10)
-  # rx literal  "has"
-    add $I11, rx559_pos, 3
-    gt $I11, rx559_eos, rx559_fail
-    sub $I11, rx559_pos, rx559_off
-    substr $S10, rx559_tgt, $I11, 3
-    ne $S10, "has", rx559_fail
-    add rx559_pos, 3
-    set_addr $I10, rxcap_564_fail
-    ($I12, $I11) = rx559_cur."!mark_peek"($I10)
-    rx559_cur."!cursor_pos"($I11)
-    ($P10) = rx559_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx559_pos, "")
-    rx559_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx560_pos, 3
+    gt $I11, rx560_eos, rx560_fail
+    sub $I11, rx560_pos, rx560_off
+    substr $S10, rx560_tgt, $I11, 3
+    ne $S10, "our", rx560_fail
+    add rx560_pos, 3
+    set_addr $I10, rxcap_565_fail
+    ($I12, $I11) = rx560_cur."!mark_peek"($I10)
+    rx560_cur."!cursor_pos"($I11)
+    ($P10) = rx560_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx560_pos, "")
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_564_done
-  rxcap_564_fail:
-    goto rx559_fail
-  rxcap_564_done:
+    goto rxcap_565_done
+  rxcap_565_fail:
+    goto rx560_fail
+  rxcap_565_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx559_cur."!cursor_pos"(rx559_pos)
-    $P10 = rx559_cur."scoped"("has")
-    unless $P10, rx559_fail
-    rx559_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."scoped"("our")
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx559_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx pass
-    rx559_cur."!cursor_pass"(rx559_pos, "scope_declarator:sym<has>")
-    rx559_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx559_pos)
-    .return (rx559_cur)
-  rx559_fail:
-.annotate "line", 4
-    (rx559_rep, rx559_pos, $I10, $P10) = rx559_cur."!mark_fail"(0)
-    lt rx559_pos, -1, rx559_done
-    eq rx559_pos, -1, rx559_fail
+    rx560_cur."!cursor_pass"(rx560_pos, "scope_declarator:sym<our>")
+    rx560_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx560_pos)
+    .return (rx560_cur)
+  rx560_fail:
+.annotate 'line', 4
+    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
+    lt rx560_pos, -1, rx560_done
+    eq rx560_pos, -1, rx560_fail
     jump $I10
-  rx559_done:
-    rx559_cur."!cursor_fail"()
-    rx559_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
-    .return (rx559_cur)
+  rx560_done:
+    rx560_cur."!cursor_fail"()
+    rx560_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx560_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("138_1272816833.94956") :method
-.annotate "line", 4
-    $P561 = self."!PREFIX__!subrule"("scoped", "has")
-    new $P562, "ResizablePMCArray"
-    push $P562, $P561
-    .return ($P562)
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("136_1273866379.28103") :method
+.annotate 'line', 4
+    $P562 = self."!PREFIX__!subrule"("scoped", "our")
+    new $P563, "ResizablePMCArray"
+    push $P563, $P562
+    .return ($P563)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("139_1272816833.94956") :method :outer("11_1272816833.94956")
-    .param pmc param_566
-.annotate "line", 272
-    .lex "$*SCOPE", param_566
-.annotate "line", 4
+.sub "scope_declarator:sym<has>"  :subid("137_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx567_tgt
     .local int rx567_pos
     .local int rx567_off
@@ -6851,7 +6824,7 @@
     .local int rx567_rep
     .local pmc rx567_cur
     (rx567_cur, rx567_pos, rx567_tgt) = self."!cursor_start"()
-    rx567_cur."!cursor_debug"("START ", "scoped")
+    rx567_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
     .lex unicode:"$\x{a2}", rx567_cur
     .local pmc match
     .lex "$/", match
@@ -6862,1306 +6835,1309 @@
     substr rx567_tgt, rx567_tgt, rx567_off
   rx567_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan570_done
-    goto rxscan570_scan
-  rxscan570_loop:
+    ne $I10, -1, rxscan571_done
+    goto rxscan571_scan
+  rxscan571_loop:
     ($P10) = rx567_cur."from"()
     inc $P10
     set rx567_pos, $P10
-    ge rx567_pos, rx567_eos, rxscan570_done
-  rxscan570_scan:
-    set_addr $I10, rxscan570_loop
+    ge rx567_pos, rx567_eos, rxscan571_done
+  rxscan571_scan:
+    set_addr $I10, rxscan571_loop
     rx567_cur."!mark_push"(0, rx567_pos, $I10)
-  rxscan570_done:
-  alt571_0:
-.annotate "line", 272
-    set_addr $I10, alt571_1
+  rxscan571_done:
+.annotate 'line', 271
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_572_fail
     rx567_cur."!mark_push"(0, rx567_pos, $I10)
-.annotate "line", 273
-  # rx subrule "ws" subtype=method negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."ws"()
-    unless $P10, rx567_fail
-    rx567_pos = $P10."pos"()
-  # rx subrule "variable_declarator" subtype=capture negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."variable_declarator"()
-    unless $P10, rx567_fail
+  # rx literal  "has"
+    add $I11, rx567_pos, 3
+    gt $I11, rx567_eos, rx567_fail
+    sub $I11, rx567_pos, rx567_off
+    substr $S10, rx567_tgt, $I11, 3
+    ne $S10, "has", rx567_fail
+    add rx567_pos, 3
+    set_addr $I10, rxcap_572_fail
+    ($I12, $I11) = rx567_cur."!mark_peek"($I10)
+    rx567_cur."!cursor_pos"($I11)
+    ($P10) = rx567_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx567_pos, "")
     rx567_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable_declarator")
-    rx567_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."ws"()
-    unless $P10, rx567_fail
-    rx567_pos = $P10."pos"()
-    goto alt571_end
-  alt571_1:
-.annotate "line", 274
-  # rx subrule "ws" subtype=method negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."ws"()
-    unless $P10, rx567_fail
-    rx567_pos = $P10."pos"()
-  # rx subrule "routine_declarator" subtype=capture negate=
+    $P10."!cursor_names"("sym")
+    goto rxcap_572_done
+  rxcap_572_fail:
+    goto rx567_fail
+  rxcap_572_done:
+  # rx subrule "scoped" subtype=capture negate=
     rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."routine_declarator"()
+    $P10 = rx567_cur."scoped"("has")
     unless $P10, rx567_fail
     rx567_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
-    rx567_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx567_cur."!cursor_pos"(rx567_pos)
-    $P10 = rx567_cur."ws"()
-    unless $P10, rx567_fail
+    $P10."!cursor_names"("scoped")
     rx567_pos = $P10."pos"()
-  alt571_end:
-.annotate "line", 272
   # rx pass
-    rx567_cur."!cursor_pass"(rx567_pos, "scoped")
-    rx567_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx567_pos)
+    rx567_cur."!cursor_pass"(rx567_pos, "scope_declarator:sym<has>")
+    rx567_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx567_pos)
     .return (rx567_cur)
   rx567_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx567_rep, rx567_pos, $I10, $P10) = rx567_cur."!mark_fail"(0)
     lt rx567_pos, -1, rx567_done
     eq rx567_pos, -1, rx567_fail
     jump $I10
   rx567_done:
     rx567_cur."!cursor_fail"()
-    rx567_cur."!cursor_debug"("FAIL  ", "scoped")
+    rx567_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
     .return (rx567_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("140_1272816833.94956") :method
-.annotate "line", 4
-    new $P569, "ResizablePMCArray"
-    push $P569, ""
-    push $P569, ""
-    .return ($P569)
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("138_1273866379.28103") :method
+.annotate 'line', 4
+    $P569 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P570, "ResizablePMCArray"
+    push $P570, $P569
+    .return ($P570)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "scoped"  :subid("139_1273866379.28103") :method :outer("11_1273866379.28103")
+    .param pmc param_574
+.annotate 'line', 273
+    .lex "$*SCOPE", param_574
+.annotate 'line', 4
+    .local string rx575_tgt
+    .local int rx575_pos
+    .local int rx575_off
+    .local int rx575_eos
+    .local int rx575_rep
+    .local pmc rx575_cur
+    (rx575_cur, rx575_pos, rx575_tgt) = self."!cursor_start"()
+    rx575_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx575_cur
+    .local pmc match
+    .lex "$/", match
+    length rx575_eos, rx575_tgt
+    set rx575_off, 0
+    lt rx575_pos, 2, rx575_start
+    sub rx575_off, rx575_pos, 1
+    substr rx575_tgt, rx575_tgt, rx575_off
+  rx575_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan578_done
+    goto rxscan578_scan
+  rxscan578_loop:
+    ($P10) = rx575_cur."from"()
+    inc $P10
+    set rx575_pos, $P10
+    ge rx575_pos, rx575_eos, rxscan578_done
+  rxscan578_scan:
+    set_addr $I10, rxscan578_loop
+    rx575_cur."!mark_push"(0, rx575_pos, $I10)
+  rxscan578_done:
+  alt579_0:
+.annotate 'line', 273
+    set_addr $I10, alt579_1
+    rx575_cur."!mark_push"(0, rx575_pos, $I10)
+.annotate 'line', 274
+  # rx subrule "ws" subtype=method negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."ws"()
+    unless $P10, rx575_fail
+    rx575_pos = $P10."pos"()
+  # rx subrule "variable_declarator" subtype=capture negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."variable_declarator"()
+    unless $P10, rx575_fail
+    rx575_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("variable_declarator")
+    rx575_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."ws"()
+    unless $P10, rx575_fail
+    rx575_pos = $P10."pos"()
+    goto alt579_end
+  alt579_1:
+.annotate 'line', 275
+  # rx subrule "ws" subtype=method negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."ws"()
+    unless $P10, rx575_fail
+    rx575_pos = $P10."pos"()
+  # rx subrule "routine_declarator" subtype=capture negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."routine_declarator"()
+    unless $P10, rx575_fail
+    rx575_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("routine_declarator")
+    rx575_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx575_cur."!cursor_pos"(rx575_pos)
+    $P10 = rx575_cur."ws"()
+    unless $P10, rx575_fail
+    rx575_pos = $P10."pos"()
+  alt579_end:
+.annotate 'line', 273
+  # rx pass
+    rx575_cur."!cursor_pass"(rx575_pos, "scoped")
+    rx575_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx575_pos)
+    .return (rx575_cur)
+  rx575_fail:
+.annotate 'line', 4
+    (rx575_rep, rx575_pos, $I10, $P10) = rx575_cur."!mark_fail"(0)
+    lt rx575_pos, -1, rx575_done
+    eq rx575_pos, -1, rx575_fail
+    jump $I10
+  rx575_done:
+    rx575_cur."!cursor_fail"()
+    rx575_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx575_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("141_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx577_tgt
-    .local int rx577_pos
-    .local int rx577_off
-    .local int rx577_eos
-    .local int rx577_rep
-    .local pmc rx577_cur
-    (rx577_cur, rx577_pos, rx577_tgt) = self."!cursor_start"()
-    rx577_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx577_cur
-    .local pmc match
-    .lex "$/", match
-    length rx577_eos, rx577_tgt
-    set rx577_off, 0
-    lt rx577_pos, 2, rx577_start
-    sub rx577_off, rx577_pos, 1
-    substr rx577_tgt, rx577_tgt, rx577_off
-  rx577_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan581_done
-    goto rxscan581_scan
-  rxscan581_loop:
-    ($P10) = rx577_cur."from"()
-    inc $P10
-    set rx577_pos, $P10
-    ge rx577_pos, rx577_eos, rxscan581_done
-  rxscan581_scan:
-    set_addr $I10, rxscan581_loop
-    rx577_cur."!mark_push"(0, rx577_pos, $I10)
-  rxscan581_done:
-.annotate "line", 277
+.sub "!PREFIX__scoped"  :subid("140_1273866379.28103") :method
+.annotate 'line', 4
+    new $P577, "ResizablePMCArray"
+    push $P577, ""
+    push $P577, ""
+    .return ($P577)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "variable_declarator"  :subid("141_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx585_tgt
+    .local int rx585_pos
+    .local int rx585_off
+    .local int rx585_eos
+    .local int rx585_rep
+    .local pmc rx585_cur
+    (rx585_cur, rx585_pos, rx585_tgt) = self."!cursor_start"()
+    rx585_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx585_cur
+    .local pmc match
+    .lex "$/", match
+    length rx585_eos, rx585_tgt
+    set rx585_off, 0
+    lt rx585_pos, 2, rx585_start
+    sub rx585_off, rx585_pos, 1
+    substr rx585_tgt, rx585_tgt, rx585_off
+  rx585_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan589_done
+    goto rxscan589_scan
+  rxscan589_loop:
+    ($P10) = rx585_cur."from"()
+    inc $P10
+    set rx585_pos, $P10
+    ge rx585_pos, rx585_eos, rxscan589_done
+  rxscan589_scan:
+    set_addr $I10, rxscan589_loop
+    rx585_cur."!mark_push"(0, rx585_pos, $I10)
+  rxscan589_done:
+.annotate 'line', 278
   # rx subrule "variable" subtype=capture negate=
-    rx577_cur."!cursor_pos"(rx577_pos)
-    $P10 = rx577_cur."variable"()
-    unless $P10, rx577_fail
-    rx577_cur."!mark_push"(0, -1, 0, $P10)
+    rx585_cur."!cursor_pos"(rx585_pos)
+    $P10 = rx585_cur."variable"()
+    unless $P10, rx585_fail
+    rx585_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx577_pos = $P10."pos"()
+    rx585_pos = $P10."pos"()
   # rx pass
-    rx577_cur."!cursor_pass"(rx577_pos, "variable_declarator")
-    rx577_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx577_pos)
-    .return (rx577_cur)
-  rx577_fail:
-.annotate "line", 4
-    (rx577_rep, rx577_pos, $I10, $P10) = rx577_cur."!mark_fail"(0)
-    lt rx577_pos, -1, rx577_done
-    eq rx577_pos, -1, rx577_fail
+    rx585_cur."!cursor_pass"(rx585_pos, "variable_declarator")
+    rx585_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx585_pos)
+    .return (rx585_cur)
+  rx585_fail:
+.annotate 'line', 4
+    (rx585_rep, rx585_pos, $I10, $P10) = rx585_cur."!mark_fail"(0)
+    lt rx585_pos, -1, rx585_done
+    eq rx585_pos, -1, rx585_fail
     jump $I10
-  rx577_done:
-    rx577_cur."!cursor_fail"()
-    rx577_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx577_cur)
+  rx585_done:
+    rx585_cur."!cursor_fail"()
+    rx585_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx585_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("142_1272816833.94956") :method
-.annotate "line", 4
-    $P579 = self."!PREFIX__!subrule"("variable", "")
-    new $P580, "ResizablePMCArray"
-    push $P580, $P579
-    .return ($P580)
+.sub "!PREFIX__variable_declarator"  :subid("142_1273866379.28103") :method
+.annotate 'line', 4
+    $P587 = self."!PREFIX__!subrule"("variable", "")
+    new $P588, "ResizablePMCArray"
+    push $P588, $P587
+    .return ($P588)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("143_1272816833.94956") :method
-.annotate "line", 279
-    $P583 = self."!protoregex"("routine_declarator")
-    .return ($P583)
+.sub "routine_declarator"  :subid("143_1273866379.28103") :method
+.annotate 'line', 280
+    $P591 = self."!protoregex"("routine_declarator")
+    .return ($P591)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("144_1272816833.94956") :method
-.annotate "line", 279
-    $P585 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P585)
+.sub "!PREFIX__routine_declarator"  :subid("144_1273866379.28103") :method
+.annotate 'line', 280
+    $P593 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P593)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("145_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx587_tgt
-    .local int rx587_pos
-    .local int rx587_off
-    .local int rx587_eos
-    .local int rx587_rep
-    .local pmc rx587_cur
-    (rx587_cur, rx587_pos, rx587_tgt) = self."!cursor_start"()
-    rx587_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx587_cur
-    .local pmc match
-    .lex "$/", match
-    length rx587_eos, rx587_tgt
-    set rx587_off, 0
-    lt rx587_pos, 2, rx587_start
-    sub rx587_off, rx587_pos, 1
-    substr rx587_tgt, rx587_tgt, rx587_off
-  rx587_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan591_done
-    goto rxscan591_scan
-  rxscan591_loop:
-    ($P10) = rx587_cur."from"()
-    inc $P10
-    set rx587_pos, $P10
-    ge rx587_pos, rx587_eos, rxscan591_done
-  rxscan591_scan:
-    set_addr $I10, rxscan591_loop
-    rx587_cur."!mark_push"(0, rx587_pos, $I10)
-  rxscan591_done:
-.annotate "line", 280
+.sub "routine_declarator:sym<sub>"  :subid("145_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx595_tgt
+    .local int rx595_pos
+    .local int rx595_off
+    .local int rx595_eos
+    .local int rx595_rep
+    .local pmc rx595_cur
+    (rx595_cur, rx595_pos, rx595_tgt) = self."!cursor_start"()
+    rx595_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx595_cur
+    .local pmc match
+    .lex "$/", match
+    length rx595_eos, rx595_tgt
+    set rx595_off, 0
+    lt rx595_pos, 2, rx595_start
+    sub rx595_off, rx595_pos, 1
+    substr rx595_tgt, rx595_tgt, rx595_off
+  rx595_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan599_done
+    goto rxscan599_scan
+  rxscan599_loop:
+    ($P10) = rx595_cur."from"()
+    inc $P10
+    set rx595_pos, $P10
+    ge rx595_pos, rx595_eos, rxscan599_done
+  rxscan599_scan:
+    set_addr $I10, rxscan599_loop
+    rx595_cur."!mark_push"(0, rx595_pos, $I10)
+  rxscan599_done:
+.annotate 'line', 281
   # rx subcapture "sym"
-    set_addr $I10, rxcap_592_fail
-    rx587_cur."!mark_push"(0, rx587_pos, $I10)
+    set_addr $I10, rxcap_600_fail
+    rx595_cur."!mark_push"(0, rx595_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx587_pos, 3
-    gt $I11, rx587_eos, rx587_fail
-    sub $I11, rx587_pos, rx587_off
-    substr $S10, rx587_tgt, $I11, 3
-    ne $S10, "sub", rx587_fail
-    add rx587_pos, 3
-    set_addr $I10, rxcap_592_fail
-    ($I12, $I11) = rx587_cur."!mark_peek"($I10)
-    rx587_cur."!cursor_pos"($I11)
-    ($P10) = rx587_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx587_pos, "")
-    rx587_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx595_pos, 3
+    gt $I11, rx595_eos, rx595_fail
+    sub $I11, rx595_pos, rx595_off
+    substr $S10, rx595_tgt, $I11, 3
+    ne $S10, "sub", rx595_fail
+    add rx595_pos, 3
+    set_addr $I10, rxcap_600_fail
+    ($I12, $I11) = rx595_cur."!mark_peek"($I10)
+    rx595_cur."!cursor_pos"($I11)
+    ($P10) = rx595_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx595_pos, "")
+    rx595_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_592_done
-  rxcap_592_fail:
-    goto rx587_fail
-  rxcap_592_done:
+    goto rxcap_600_done
+  rxcap_600_fail:
+    goto rx595_fail
+  rxcap_600_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx587_cur."!cursor_pos"(rx587_pos)
-    $P10 = rx587_cur."routine_def"()
-    unless $P10, rx587_fail
-    rx587_cur."!mark_push"(0, -1, 0, $P10)
+    rx595_cur."!cursor_pos"(rx595_pos)
+    $P10 = rx595_cur."routine_def"()
+    unless $P10, rx595_fail
+    rx595_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx587_pos = $P10."pos"()
+    rx595_pos = $P10."pos"()
   # rx pass
-    rx587_cur."!cursor_pass"(rx587_pos, "routine_declarator:sym<sub>")
-    rx587_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx587_pos)
-    .return (rx587_cur)
-  rx587_fail:
-.annotate "line", 4
-    (rx587_rep, rx587_pos, $I10, $P10) = rx587_cur."!mark_fail"(0)
-    lt rx587_pos, -1, rx587_done
-    eq rx587_pos, -1, rx587_fail
-    jump $I10
-  rx587_done:
-    rx587_cur."!cursor_fail"()
-    rx587_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx587_cur)
+    rx595_cur."!cursor_pass"(rx595_pos, "routine_declarator:sym<sub>")
+    rx595_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx595_pos)
+    .return (rx595_cur)
+  rx595_fail:
+.annotate 'line', 4
+    (rx595_rep, rx595_pos, $I10, $P10) = rx595_cur."!mark_fail"(0)
+    lt rx595_pos, -1, rx595_done
+    eq rx595_pos, -1, rx595_fail
+    jump $I10
+  rx595_done:
+    rx595_cur."!cursor_fail"()
+    rx595_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx595_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("146_1272816833.94956") :method
-.annotate "line", 4
-    $P589 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P590, "ResizablePMCArray"
-    push $P590, $P589
-    .return ($P590)
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("146_1273866379.28103") :method
+.annotate 'line', 4
+    $P597 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P598, "ResizablePMCArray"
+    push $P598, $P597
+    .return ($P598)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("147_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx594_tgt
-    .local int rx594_pos
-    .local int rx594_off
-    .local int rx594_eos
-    .local int rx594_rep
-    .local pmc rx594_cur
-    (rx594_cur, rx594_pos, rx594_tgt) = self."!cursor_start"()
-    rx594_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx594_cur
-    .local pmc match
-    .lex "$/", match
-    length rx594_eos, rx594_tgt
-    set rx594_off, 0
-    lt rx594_pos, 2, rx594_start
-    sub rx594_off, rx594_pos, 1
-    substr rx594_tgt, rx594_tgt, rx594_off
-  rx594_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan598_done
-    goto rxscan598_scan
-  rxscan598_loop:
-    ($P10) = rx594_cur."from"()
-    inc $P10
-    set rx594_pos, $P10
-    ge rx594_pos, rx594_eos, rxscan598_done
-  rxscan598_scan:
-    set_addr $I10, rxscan598_loop
-    rx594_cur."!mark_push"(0, rx594_pos, $I10)
-  rxscan598_done:
-.annotate "line", 281
+.sub "routine_declarator:sym<method>"  :subid("147_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx602_tgt
+    .local int rx602_pos
+    .local int rx602_off
+    .local int rx602_eos
+    .local int rx602_rep
+    .local pmc rx602_cur
+    (rx602_cur, rx602_pos, rx602_tgt) = self."!cursor_start"()
+    rx602_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx602_cur
+    .local pmc match
+    .lex "$/", match
+    length rx602_eos, rx602_tgt
+    set rx602_off, 0
+    lt rx602_pos, 2, rx602_start
+    sub rx602_off, rx602_pos, 1
+    substr rx602_tgt, rx602_tgt, rx602_off
+  rx602_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan606_done
+    goto rxscan606_scan
+  rxscan606_loop:
+    ($P10) = rx602_cur."from"()
+    inc $P10
+    set rx602_pos, $P10
+    ge rx602_pos, rx602_eos, rxscan606_done
+  rxscan606_scan:
+    set_addr $I10, rxscan606_loop
+    rx602_cur."!mark_push"(0, rx602_pos, $I10)
+  rxscan606_done:
+.annotate 'line', 282
   # rx subcapture "sym"
-    set_addr $I10, rxcap_599_fail
-    rx594_cur."!mark_push"(0, rx594_pos, $I10)
+    set_addr $I10, rxcap_607_fail
+    rx602_cur."!mark_push"(0, rx602_pos, $I10)
   # rx literal  "method"
-    add $I11, rx594_pos, 6
-    gt $I11, rx594_eos, rx594_fail
-    sub $I11, rx594_pos, rx594_off
-    substr $S10, rx594_tgt, $I11, 6
-    ne $S10, "method", rx594_fail
-    add rx594_pos, 6
-    set_addr $I10, rxcap_599_fail
-    ($I12, $I11) = rx594_cur."!mark_peek"($I10)
-    rx594_cur."!cursor_pos"($I11)
-    ($P10) = rx594_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx594_pos, "")
-    rx594_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx602_pos, 6
+    gt $I11, rx602_eos, rx602_fail
+    sub $I11, rx602_pos, rx602_off
+    substr $S10, rx602_tgt, $I11, 6
+    ne $S10, "method", rx602_fail
+    add rx602_pos, 6
+    set_addr $I10, rxcap_607_fail
+    ($I12, $I11) = rx602_cur."!mark_peek"($I10)
+    rx602_cur."!cursor_pos"($I11)
+    ($P10) = rx602_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx602_pos, "")
+    rx602_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_599_done
-  rxcap_599_fail:
-    goto rx594_fail
-  rxcap_599_done:
+    goto rxcap_607_done
+  rxcap_607_fail:
+    goto rx602_fail
+  rxcap_607_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx594_cur."!cursor_pos"(rx594_pos)
-    $P10 = rx594_cur."method_def"()
-    unless $P10, rx594_fail
-    rx594_cur."!mark_push"(0, -1, 0, $P10)
+    rx602_cur."!cursor_pos"(rx602_pos)
+    $P10 = rx602_cur."method_def"()
+    unless $P10, rx602_fail
+    rx602_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx594_pos = $P10."pos"()
+    rx602_pos = $P10."pos"()
   # rx pass
-    rx594_cur."!cursor_pass"(rx594_pos, "routine_declarator:sym<method>")
-    rx594_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx594_pos)
-    .return (rx594_cur)
-  rx594_fail:
-.annotate "line", 4
-    (rx594_rep, rx594_pos, $I10, $P10) = rx594_cur."!mark_fail"(0)
-    lt rx594_pos, -1, rx594_done
-    eq rx594_pos, -1, rx594_fail
-    jump $I10
-  rx594_done:
-    rx594_cur."!cursor_fail"()
-    rx594_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx594_cur)
+    rx602_cur."!cursor_pass"(rx602_pos, "routine_declarator:sym<method>")
+    rx602_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx602_pos)
+    .return (rx602_cur)
+  rx602_fail:
+.annotate 'line', 4
+    (rx602_rep, rx602_pos, $I10, $P10) = rx602_cur."!mark_fail"(0)
+    lt rx602_pos, -1, rx602_done
+    eq rx602_pos, -1, rx602_fail
+    jump $I10
+  rx602_done:
+    rx602_cur."!cursor_fail"()
+    rx602_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx602_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("148_1272816833.94956") :method
-.annotate "line", 4
-    $P596 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P597, "ResizablePMCArray"
-    push $P597, $P596
-    .return ($P597)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("149_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx601_tgt
-    .local int rx601_pos
-    .local int rx601_off
-    .local int rx601_eos
-    .local int rx601_rep
-    .local pmc rx601_cur
-    (rx601_cur, rx601_pos, rx601_tgt) = self."!cursor_start"()
-    rx601_cur."!cursor_debug"("START ", "routine_def")
-    rx601_cur."!cursor_caparray"("sigil", "deflongname")
-    .lex unicode:"$\x{a2}", rx601_cur
-    .local pmc match
-    .lex "$/", match
-    length rx601_eos, rx601_tgt
-    set rx601_off, 0
-    lt rx601_pos, 2, rx601_start
-    sub rx601_off, rx601_pos, 1
-    substr rx601_tgt, rx601_tgt, rx601_off
-  rx601_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan604_done
-    goto rxscan604_scan
-  rxscan604_loop:
-    ($P10) = rx601_cur."from"()
-    inc $P10
-    set rx601_pos, $P10
-    ge rx601_pos, rx601_eos, rxscan604_done
-  rxscan604_scan:
-    set_addr $I10, rxscan604_loop
-    rx601_cur."!mark_push"(0, rx601_pos, $I10)
-  rxscan604_done:
-.annotate "line", 283
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-.annotate "line", 284
-  # rx rxquantr606 ** 0..1
-    set_addr $I612, rxquantr606_done
-    rx601_cur."!mark_push"(0, rx601_pos, $I612)
-  rxquantr606_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("148_1273866379.28103") :method
+.annotate 'line', 4
+    $P604 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P605, "ResizablePMCArray"
+    push $P605, $P604
+    .return ($P605)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "routine_def"  :subid("149_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx609_tgt
+    .local int rx609_pos
+    .local int rx609_off
+    .local int rx609_eos
+    .local int rx609_rep
+    .local pmc rx609_cur
+    (rx609_cur, rx609_pos, rx609_tgt) = self."!cursor_start"()
+    rx609_cur."!cursor_debug"("START ", "routine_def")
+    rx609_cur."!cursor_caparray"("sigil", "deflongname")
+    .lex unicode:"$\x{a2}", rx609_cur
+    .local pmc match
+    .lex "$/", match
+    length rx609_eos, rx609_tgt
+    set rx609_off, 0
+    lt rx609_pos, 2, rx609_start
+    sub rx609_off, rx609_pos, 1
+    substr rx609_tgt, rx609_tgt, rx609_off
+  rx609_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan612_done
+    goto rxscan612_scan
+  rxscan612_loop:
+    ($P10) = rx609_cur."from"()
+    inc $P10
+    set rx609_pos, $P10
+    ge rx609_pos, rx609_eos, rxscan612_done
+  rxscan612_scan:
+    set_addr $I10, rxscan612_loop
+    rx609_cur."!mark_push"(0, rx609_pos, $I10)
+  rxscan612_done:
+.annotate 'line', 284
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+.annotate 'line', 285
+  # rx rxquantr614 ** 0..1
+    set_addr $I620, rxquantr614_done
+    rx609_cur."!mark_push"(0, rx609_pos, $I620)
+  rxquantr614_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_610_fail
-    rx601_cur."!mark_push"(0, rx601_pos, $I10)
-  # rx rxquantr608 ** 0..1
-    set_addr $I609, rxquantr608_done
-    rx601_cur."!mark_push"(0, rx601_pos, $I609)
-  rxquantr608_loop:
+    set_addr $I10, rxcap_618_fail
+    rx609_cur."!mark_push"(0, rx609_pos, $I10)
+  # rx rxquantr616 ** 0..1
+    set_addr $I617, rxquantr616_done
+    rx609_cur."!mark_push"(0, rx609_pos, $I617)
+  rxquantr616_loop:
   # rx literal  "&"
-    add $I11, rx601_pos, 1
-    gt $I11, rx601_eos, rx601_fail
-    sub $I11, rx601_pos, rx601_off
-    substr $S10, rx601_tgt, $I11, 1
-    ne $S10, "&", rx601_fail
-    add rx601_pos, 1
-    (rx601_rep) = rx601_cur."!mark_commit"($I609)
-  rxquantr608_done:
-    set_addr $I10, rxcap_610_fail
-    ($I12, $I11) = rx601_cur."!mark_peek"($I10)
-    rx601_cur."!cursor_pos"($I11)
-    ($P10) = rx601_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx601_pos, "")
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx609_pos, 1
+    gt $I11, rx609_eos, rx609_fail
+    sub $I11, rx609_pos, rx609_off
+    substr $S10, rx609_tgt, $I11, 1
+    ne $S10, "&", rx609_fail
+    add rx609_pos, 1
+    (rx609_rep) = rx609_cur."!mark_commit"($I617)
+  rxquantr616_done:
+    set_addr $I10, rxcap_618_fail
+    ($I12, $I11) = rx609_cur."!mark_peek"($I10)
+    rx609_cur."!cursor_pos"($I11)
+    ($P10) = rx609_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx609_pos, "")
+    rx609_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_610_done
-  rxcap_610_fail:
-    goto rx601_fail
-  rxcap_610_done:
+    goto rxcap_618_done
+  rxcap_618_fail:
+    goto rx609_fail
+  rxcap_618_done:
   # rx subrule "deflongname" subtype=capture negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."deflongname"()
-    unless $P10, rx601_fail
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."deflongname"()
+    unless $P10, rx609_fail
+    rx609_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx601_pos = $P10."pos"()
+    rx609_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-    (rx601_rep) = rx601_cur."!mark_commit"($I612)
-  rxquantr606_done:
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-.annotate "line", 285
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+    (rx609_rep) = rx609_cur."!mark_commit"($I620)
+  rxquantr614_done:
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+.annotate 'line', 286
   # rx subrule "newpad" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."newpad"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-  alt615_0:
-.annotate "line", 286
-    set_addr $I10, alt615_1
-    rx601_cur."!mark_push"(0, rx601_pos, $I10)
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."newpad"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+  alt623_0:
+.annotate 'line', 287
+    set_addr $I10, alt623_1
+    rx609_cur."!mark_push"(0, rx609_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx601_pos, 1
-    gt $I11, rx601_eos, rx601_fail
-    sub $I11, rx601_pos, rx601_off
-    substr $S10, rx601_tgt, $I11, 1
-    ne $S10, "(", rx601_fail
-    add rx601_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    add $I11, rx609_pos, 1
+    gt $I11, rx609_eos, rx609_fail
+    sub $I11, rx609_pos, rx609_off
+    substr $S10, rx609_tgt, $I11, 1
+    ne $S10, "(", rx609_fail
+    add rx609_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."signature"()
-    unless $P10, rx601_fail
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."signature"()
+    unless $P10, rx609_fail
+    rx609_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx601_pos = $P10."pos"()
+    rx609_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx601_pos, 1
-    gt $I11, rx601_eos, rx601_fail
-    sub $I11, rx601_pos, rx601_off
-    substr $S10, rx601_tgt, $I11, 1
-    ne $S10, ")", rx601_fail
-    add rx601_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-    goto alt615_end
-  alt615_1:
-.annotate "line", 287
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    add $I11, rx609_pos, 1
+    gt $I11, rx609_eos, rx609_fail
+    sub $I11, rx609_pos, rx609_off
+    substr $S10, rx609_tgt, $I11, 1
+    ne $S10, ")", rx609_fail
+    add rx609_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+    goto alt623_end
+  alt623_1:
+.annotate 'line', 288
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-  alt615_end:
-  # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-.annotate "line", 288
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+  alt623_end:
+  # rx subrule "ws" subtype=method negate=
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+.annotate 'line', 289
   # rx subrule "blockoid" subtype=capture negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."blockoid"()
-    unless $P10, rx601_fail
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."blockoid"()
+    unless $P10, rx609_fail
+    rx609_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx601_pos = $P10."pos"()
+    rx609_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-.annotate "line", 283
-  # rx pass
-    rx601_cur."!cursor_pass"(rx601_pos, "routine_def")
-    rx601_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx601_pos)
-    .return (rx601_cur)
-  rx601_fail:
-.annotate "line", 4
-    (rx601_rep, rx601_pos, $I10, $P10) = rx601_cur."!mark_fail"(0)
-    lt rx601_pos, -1, rx601_done
-    eq rx601_pos, -1, rx601_fail
-    jump $I10
-  rx601_done:
-    rx601_cur."!cursor_fail"()
-    rx601_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx601_cur)
+    rx609_cur."!cursor_pos"(rx609_pos)
+    $P10 = rx609_cur."ws"()
+    unless $P10, rx609_fail
+    rx609_pos = $P10."pos"()
+.annotate 'line', 284
+  # rx pass
+    rx609_cur."!cursor_pass"(rx609_pos, "routine_def")
+    rx609_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx609_pos)
+    .return (rx609_cur)
+  rx609_fail:
+.annotate 'line', 4
+    (rx609_rep, rx609_pos, $I10, $P10) = rx609_cur."!mark_fail"(0)
+    lt rx609_pos, -1, rx609_done
+    eq rx609_pos, -1, rx609_fail
+    jump $I10
+  rx609_done:
+    rx609_cur."!cursor_fail"()
+    rx609_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx609_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("150_1272816833.94956") :method
-.annotate "line", 4
-    new $P603, "ResizablePMCArray"
-    push $P603, ""
-    .return ($P603)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("151_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx625_tgt
-    .local int rx625_pos
-    .local int rx625_off
-    .local int rx625_eos
-    .local int rx625_rep
-    .local pmc rx625_cur
-    (rx625_cur, rx625_pos, rx625_tgt) = self."!cursor_start"()
-    rx625_cur."!cursor_debug"("START ", "method_def")
-    rx625_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx625_cur
-    .local pmc match
-    .lex "$/", match
-    length rx625_eos, rx625_tgt
-    set rx625_off, 0
-    lt rx625_pos, 2, rx625_start
-    sub rx625_off, rx625_pos, 1
-    substr rx625_tgt, rx625_tgt, rx625_off
-  rx625_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan628_done
-    goto rxscan628_scan
-  rxscan628_loop:
-    ($P10) = rx625_cur."from"()
-    inc $P10
-    set rx625_pos, $P10
-    ge rx625_pos, rx625_eos, rxscan628_done
-  rxscan628_scan:
-    set_addr $I10, rxscan628_loop
-    rx625_cur."!mark_push"(0, rx625_pos, $I10)
-  rxscan628_done:
-.annotate "line", 291
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-.annotate "line", 292
-  # rx rxquantr630 ** 0..1
-    set_addr $I631, rxquantr630_done
-    rx625_cur."!mark_push"(0, rx625_pos, $I631)
-  rxquantr630_loop:
+.sub "!PREFIX__routine_def"  :subid("150_1273866379.28103") :method
+.annotate 'line', 4
+    new $P611, "ResizablePMCArray"
+    push $P611, ""
+    .return ($P611)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "method_def"  :subid("151_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx633_tgt
+    .local int rx633_pos
+    .local int rx633_off
+    .local int rx633_eos
+    .local int rx633_rep
+    .local pmc rx633_cur
+    (rx633_cur, rx633_pos, rx633_tgt) = self."!cursor_start"()
+    rx633_cur."!cursor_debug"("START ", "method_def")
+    rx633_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx633_cur
+    .local pmc match
+    .lex "$/", match
+    length rx633_eos, rx633_tgt
+    set rx633_off, 0
+    lt rx633_pos, 2, rx633_start
+    sub rx633_off, rx633_pos, 1
+    substr rx633_tgt, rx633_tgt, rx633_off
+  rx633_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan636_done
+    goto rxscan636_scan
+  rxscan636_loop:
+    ($P10) = rx633_cur."from"()
+    inc $P10
+    set rx633_pos, $P10
+    ge rx633_pos, rx633_eos, rxscan636_done
+  rxscan636_scan:
+    set_addr $I10, rxscan636_loop
+    rx633_cur."!mark_push"(0, rx633_pos, $I10)
+  rxscan636_done:
+.annotate 'line', 292
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+.annotate 'line', 293
+  # rx rxquantr638 ** 0..1
+    set_addr $I639, rxquantr638_done
+    rx633_cur."!mark_push"(0, rx633_pos, $I639)
+  rxquantr638_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."deflongname"()
-    unless $P10, rx625_fail
-    rx625_cur."!mark_push"(0, -1, 0, $P10)
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."deflongname"()
+    unless $P10, rx633_fail
+    rx633_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx625_pos = $P10."pos"()
-    (rx625_rep) = rx625_cur."!mark_commit"($I631)
-  rxquantr630_done:
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-.annotate "line", 293
+    rx633_pos = $P10."pos"()
+    (rx633_rep) = rx633_cur."!mark_commit"($I639)
+  rxquantr638_done:
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+.annotate 'line', 294
   # rx subrule "newpad" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."newpad"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-  alt634_0:
-.annotate "line", 294
-    set_addr $I10, alt634_1
-    rx625_cur."!mark_push"(0, rx625_pos, $I10)
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."newpad"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+  alt642_0:
+.annotate 'line', 295
+    set_addr $I10, alt642_1
+    rx633_cur."!mark_push"(0, rx633_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx625_pos, 1
-    gt $I11, rx625_eos, rx625_fail
-    sub $I11, rx625_pos, rx625_off
-    substr $S10, rx625_tgt, $I11, 1
-    ne $S10, "(", rx625_fail
-    add rx625_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
+    add $I11, rx633_pos, 1
+    gt $I11, rx633_eos, rx633_fail
+    sub $I11, rx633_pos, rx633_off
+    substr $S10, rx633_tgt, $I11, 1
+    ne $S10, "(", rx633_fail
+    add rx633_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."signature"()
-    unless $P10, rx625_fail
-    rx625_cur."!mark_push"(0, -1, 0, $P10)
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."signature"()
+    unless $P10, rx633_fail
+    rx633_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx625_pos = $P10."pos"()
+    rx633_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx625_pos, 1
-    gt $I11, rx625_eos, rx625_fail
-    sub $I11, rx625_pos, rx625_off
-    substr $S10, rx625_tgt, $I11, 1
-    ne $S10, ")", rx625_fail
-    add rx625_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-    goto alt634_end
-  alt634_1:
-.annotate "line", 295
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
+    add $I11, rx633_pos, 1
+    gt $I11, rx633_eos, rx633_fail
+    sub $I11, rx633_pos, rx633_off
+    substr $S10, rx633_tgt, $I11, 1
+    ne $S10, ")", rx633_fail
+    add rx633_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+    goto alt642_end
+  alt642_1:
+.annotate 'line', 296
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-  alt634_end:
-  # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-.annotate "line", 296
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+  alt642_end:
+  # rx subrule "ws" subtype=method negate=
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+.annotate 'line', 297
   # rx subrule "blockoid" subtype=capture negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."blockoid"()
-    unless $P10, rx625_fail
-    rx625_cur."!mark_push"(0, -1, 0, $P10)
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."blockoid"()
+    unless $P10, rx633_fail
+    rx633_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx625_pos = $P10."pos"()
+    rx633_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx625_cur."!cursor_pos"(rx625_pos)
-    $P10 = rx625_cur."ws"()
-    unless $P10, rx625_fail
-    rx625_pos = $P10."pos"()
-.annotate "line", 291
-  # rx pass
-    rx625_cur."!cursor_pass"(rx625_pos, "method_def")
-    rx625_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx625_pos)
-    .return (rx625_cur)
-  rx625_fail:
-.annotate "line", 4
-    (rx625_rep, rx625_pos, $I10, $P10) = rx625_cur."!mark_fail"(0)
-    lt rx625_pos, -1, rx625_done
-    eq rx625_pos, -1, rx625_fail
-    jump $I10
-  rx625_done:
-    rx625_cur."!cursor_fail"()
-    rx625_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx625_cur)
+    rx633_cur."!cursor_pos"(rx633_pos)
+    $P10 = rx633_cur."ws"()
+    unless $P10, rx633_fail
+    rx633_pos = $P10."pos"()
+.annotate 'line', 292
+  # rx pass
+    rx633_cur."!cursor_pass"(rx633_pos, "method_def")
+    rx633_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx633_pos)
+    .return (rx633_cur)
+  rx633_fail:
+.annotate 'line', 4
+    (rx633_rep, rx633_pos, $I10, $P10) = rx633_cur."!mark_fail"(0)
+    lt rx633_pos, -1, rx633_done
+    eq rx633_pos, -1, rx633_fail
+    jump $I10
+  rx633_done:
+    rx633_cur."!cursor_fail"()
+    rx633_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx633_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("152_1272816833.94956") :method
-.annotate "line", 4
-    new $P627, "ResizablePMCArray"
-    push $P627, ""
-    .return ($P627)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("153_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx644_tgt
-    .local int rx644_pos
-    .local int rx644_off
-    .local int rx644_eos
-    .local int rx644_rep
-    .local pmc rx644_cur
-    (rx644_cur, rx644_pos, rx644_tgt) = self."!cursor_start"()
-    rx644_cur."!cursor_debug"("START ", "signature")
-    rx644_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx644_cur
-    .local pmc match
-    .lex "$/", match
-    length rx644_eos, rx644_tgt
-    set rx644_off, 0
-    lt rx644_pos, 2, rx644_start
-    sub rx644_off, rx644_pos, 1
-    substr rx644_tgt, rx644_tgt, rx644_off
-  rx644_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan647_done
-    goto rxscan647_scan
-  rxscan647_loop:
-    ($P10) = rx644_cur."from"()
-    inc $P10
-    set rx644_pos, $P10
-    ge rx644_pos, rx644_eos, rxscan647_done
-  rxscan647_scan:
-    set_addr $I10, rxscan647_loop
-    rx644_cur."!mark_push"(0, rx644_pos, $I10)
-  rxscan647_done:
-.annotate "line", 299
-  # rx rxquantr648 ** 0..1
-    set_addr $I651, rxquantr648_done
-    rx644_cur."!mark_push"(0, rx644_pos, $I651)
-  rxquantr648_loop:
-  # rx rxquantr649 ** 1..*
-    set_addr $I650, rxquantr649_done
-    rx644_cur."!mark_push"(0, -1, $I650)
-  rxquantr649_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx644_cur."!cursor_pos"(rx644_pos)
-    $P10 = rx644_cur."ws"()
-    unless $P10, rx644_fail
-    rx644_pos = $P10."pos"()
+.sub "!PREFIX__method_def"  :subid("152_1273866379.28103") :method
+.annotate 'line', 4
+    new $P635, "ResizablePMCArray"
+    push $P635, ""
+    .return ($P635)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "signature"  :subid("153_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx652_tgt
+    .local int rx652_pos
+    .local int rx652_off
+    .local int rx652_eos
+    .local int rx652_rep
+    .local pmc rx652_cur
+    (rx652_cur, rx652_pos, rx652_tgt) = self."!cursor_start"()
+    rx652_cur."!cursor_debug"("START ", "signature")
+    rx652_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx652_cur
+    .local pmc match
+    .lex "$/", match
+    length rx652_eos, rx652_tgt
+    set rx652_off, 0
+    lt rx652_pos, 2, rx652_start
+    sub rx652_off, rx652_pos, 1
+    substr rx652_tgt, rx652_tgt, rx652_off
+  rx652_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan655_done
+    goto rxscan655_scan
+  rxscan655_loop:
+    ($P10) = rx652_cur."from"()
+    inc $P10
+    set rx652_pos, $P10
+    ge rx652_pos, rx652_eos, rxscan655_done
+  rxscan655_scan:
+    set_addr $I10, rxscan655_loop
+    rx652_cur."!mark_push"(0, rx652_pos, $I10)
+  rxscan655_done:
+.annotate 'line', 300
+  # rx rxquantr656 ** 0..1
+    set_addr $I659, rxquantr656_done
+    rx652_cur."!mark_push"(0, rx652_pos, $I659)
+  rxquantr656_loop:
+  # rx rxquantr657 ** 1..*
+    set_addr $I658, rxquantr657_done
+    rx652_cur."!mark_push"(0, -1, $I658)
+  rxquantr657_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx652_cur."!cursor_pos"(rx652_pos)
+    $P10 = rx652_cur."ws"()
+    unless $P10, rx652_fail
+    rx652_pos = $P10."pos"()
   # rx subrule "parameter" subtype=capture negate=
-    rx644_cur."!cursor_pos"(rx644_pos)
-    $P10 = rx644_cur."parameter"()
-    unless $P10, rx644_fail
-    rx644_cur."!mark_push"(0, -1, 0, $P10)
+    rx652_cur."!cursor_pos"(rx652_pos)
+    $P10 = rx652_cur."parameter"()
+    unless $P10, rx652_fail
+    rx652_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parameter")
-    rx644_pos = $P10."pos"()
+    rx652_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx644_cur."!cursor_pos"(rx644_pos)
-    $P10 = rx644_cur."ws"()
-    unless $P10, rx644_fail
-    rx644_pos = $P10."pos"()
-    (rx644_rep) = rx644_cur."!mark_commit"($I650)
-    rx644_cur."!mark_push"(rx644_rep, rx644_pos, $I650)
+    rx652_cur."!cursor_pos"(rx652_pos)
+    $P10 = rx652_cur."ws"()
+    unless $P10, rx652_fail
+    rx652_pos = $P10."pos"()
+    (rx652_rep) = rx652_cur."!mark_commit"($I658)
+    rx652_cur."!mark_push"(rx652_rep, rx652_pos, $I658)
   # rx literal  ","
-    add $I11, rx644_pos, 1
-    gt $I11, rx644_eos, rx644_fail
-    sub $I11, rx644_pos, rx644_off
-    substr $S10, rx644_tgt, $I11, 1
-    ne $S10, ",", rx644_fail
-    add rx644_pos, 1
-    goto rxquantr649_loop
-  rxquantr649_done:
-    (rx644_rep) = rx644_cur."!mark_commit"($I651)
-  rxquantr648_done:
-  # rx pass
-    rx644_cur."!cursor_pass"(rx644_pos, "signature")
-    rx644_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx644_pos)
-    .return (rx644_cur)
-  rx644_fail:
-.annotate "line", 4
-    (rx644_rep, rx644_pos, $I10, $P10) = rx644_cur."!mark_fail"(0)
-    lt rx644_pos, -1, rx644_done
-    eq rx644_pos, -1, rx644_fail
-    jump $I10
-  rx644_done:
-    rx644_cur."!cursor_fail"()
-    rx644_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx644_cur)
+    add $I11, rx652_pos, 1
+    gt $I11, rx652_eos, rx652_fail
+    sub $I11, rx652_pos, rx652_off
+    substr $S10, rx652_tgt, $I11, 1
+    ne $S10, ",", rx652_fail
+    add rx652_pos, 1
+    goto rxquantr657_loop
+  rxquantr657_done:
+    (rx652_rep) = rx652_cur."!mark_commit"($I659)
+  rxquantr656_done:
+  # rx pass
+    rx652_cur."!cursor_pass"(rx652_pos, "signature")
+    rx652_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx652_pos)
+    .return (rx652_cur)
+  rx652_fail:
+.annotate 'line', 4
+    (rx652_rep, rx652_pos, $I10, $P10) = rx652_cur."!mark_fail"(0)
+    lt rx652_pos, -1, rx652_done
+    eq rx652_pos, -1, rx652_fail
+    jump $I10
+  rx652_done:
+    rx652_cur."!cursor_fail"()
+    rx652_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx652_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("154_1272816833.94956") :method
-.annotate "line", 4
-    new $P646, "ResizablePMCArray"
-    push $P646, ""
-    .return ($P646)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("155_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx653_tgt
-    .local int rx653_pos
-    .local int rx653_off
-    .local int rx653_eos
-    .local int rx653_rep
-    .local pmc rx653_cur
-    (rx653_cur, rx653_pos, rx653_tgt) = self."!cursor_start"()
-    rx653_cur."!cursor_debug"("START ", "parameter")
-    rx653_cur."!cursor_caparray"("default_value")
-    .lex unicode:"$\x{a2}", rx653_cur
-    .local pmc match
-    .lex "$/", match
-    length rx653_eos, rx653_tgt
-    set rx653_off, 0
-    lt rx653_pos, 2, rx653_start
-    sub rx653_off, rx653_pos, 1
-    substr rx653_tgt, rx653_tgt, rx653_off
-  rx653_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan659_done
-    goto rxscan659_scan
-  rxscan659_loop:
-    ($P10) = rx653_cur."from"()
-    inc $P10
-    set rx653_pos, $P10
-    ge rx653_pos, rx653_eos, rxscan659_done
-  rxscan659_scan:
-    set_addr $I10, rxscan659_loop
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
-  rxscan659_done:
-  alt660_0:
-.annotate "line", 302
-    set_addr $I10, alt660_1
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
-.annotate "line", 303
+.sub "!PREFIX__signature"  :subid("154_1273866379.28103") :method
+.annotate 'line', 4
+    new $P654, "ResizablePMCArray"
+    push $P654, ""
+    .return ($P654)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "parameter"  :subid("155_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx661_tgt
+    .local int rx661_pos
+    .local int rx661_off
+    .local int rx661_eos
+    .local int rx661_rep
+    .local pmc rx661_cur
+    (rx661_cur, rx661_pos, rx661_tgt) = self."!cursor_start"()
+    rx661_cur."!cursor_debug"("START ", "parameter")
+    rx661_cur."!cursor_caparray"("default_value")
+    .lex unicode:"$\x{a2}", rx661_cur
+    .local pmc match
+    .lex "$/", match
+    length rx661_eos, rx661_tgt
+    set rx661_off, 0
+    lt rx661_pos, 2, rx661_start
+    sub rx661_off, rx661_pos, 1
+    substr rx661_tgt, rx661_tgt, rx661_off
+  rx661_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan667_done
+    goto rxscan667_scan
+  rxscan667_loop:
+    ($P10) = rx661_cur."from"()
+    inc $P10
+    set rx661_pos, $P10
+    ge rx661_pos, rx661_eos, rxscan667_done
+  rxscan667_scan:
+    set_addr $I10, rxscan667_loop
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
+  rxscan667_done:
+  alt668_0:
+.annotate 'line', 303
+    set_addr $I10, alt668_1
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
+.annotate 'line', 304
   # rx subcapture "quant"
-    set_addr $I10, rxcap_661_fail
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
+    set_addr $I10, rxcap_669_fail
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
   # rx literal  "*"
-    add $I11, rx653_pos, 1
-    gt $I11, rx653_eos, rx653_fail
-    sub $I11, rx653_pos, rx653_off
-    substr $S10, rx653_tgt, $I11, 1
-    ne $S10, "*", rx653_fail
-    add rx653_pos, 1
-    set_addr $I10, rxcap_661_fail
-    ($I12, $I11) = rx653_cur."!mark_peek"($I10)
-    rx653_cur."!cursor_pos"($I11)
-    ($P10) = rx653_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx653_pos, "")
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx661_pos, 1
+    gt $I11, rx661_eos, rx661_fail
+    sub $I11, rx661_pos, rx661_off
+    substr $S10, rx661_tgt, $I11, 1
+    ne $S10, "*", rx661_fail
+    add rx661_pos, 1
+    set_addr $I10, rxcap_669_fail
+    ($I12, $I11) = rx661_cur."!mark_peek"($I10)
+    rx661_cur."!cursor_pos"($I11)
+    ($P10) = rx661_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx661_pos, "")
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_661_done
-  rxcap_661_fail:
-    goto rx653_fail
-  rxcap_661_done:
+    goto rxcap_669_done
+  rxcap_669_fail:
+    goto rx661_fail
+  rxcap_669_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx653_cur."!cursor_pos"(rx653_pos)
-    $P10 = rx653_cur."param_var"()
-    unless $P10, rx653_fail
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    rx661_cur."!cursor_pos"(rx661_pos)
+    $P10 = rx661_cur."param_var"()
+    unless $P10, rx661_fail
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx653_pos = $P10."pos"()
-    goto alt660_end
-  alt660_1:
-  alt662_0:
-.annotate "line", 304
-    set_addr $I10, alt662_1
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
+    rx661_pos = $P10."pos"()
+    goto alt668_end
+  alt668_1:
+  alt670_0:
+.annotate 'line', 305
+    set_addr $I10, alt670_1
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx653_cur."!cursor_pos"(rx653_pos)
-    $P10 = rx653_cur."param_var"()
-    unless $P10, rx653_fail
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    rx661_cur."!cursor_pos"(rx661_pos)
+    $P10 = rx661_cur."param_var"()
+    unless $P10, rx661_fail
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx653_pos = $P10."pos"()
-    goto alt662_end
-  alt662_1:
+    rx661_pos = $P10."pos"()
+    goto alt670_end
+  alt670_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx653_cur."!cursor_pos"(rx653_pos)
-    $P10 = rx653_cur."named_param"()
-    unless $P10, rx653_fail
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    rx661_cur."!cursor_pos"(rx661_pos)
+    $P10 = rx661_cur."named_param"()
+    unless $P10, rx661_fail
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx653_pos = $P10."pos"()
-  alt662_end:
+    rx661_pos = $P10."pos"()
+  alt670_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_664_fail
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
-  alt663_0:
-    set_addr $I10, alt663_1
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
+    set_addr $I10, rxcap_672_fail
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
+  alt671_0:
+    set_addr $I10, alt671_1
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
   # rx literal  "?"
-    add $I11, rx653_pos, 1
-    gt $I11, rx653_eos, rx653_fail
-    sub $I11, rx653_pos, rx653_off
-    substr $S10, rx653_tgt, $I11, 1
-    ne $S10, "?", rx653_fail
-    add rx653_pos, 1
-    goto alt663_end
-  alt663_1:
-    set_addr $I10, alt663_2
-    rx653_cur."!mark_push"(0, rx653_pos, $I10)
+    add $I11, rx661_pos, 1
+    gt $I11, rx661_eos, rx661_fail
+    sub $I11, rx661_pos, rx661_off
+    substr $S10, rx661_tgt, $I11, 1
+    ne $S10, "?", rx661_fail
+    add rx661_pos, 1
+    goto alt671_end
+  alt671_1:
+    set_addr $I10, alt671_2
+    rx661_cur."!mark_push"(0, rx661_pos, $I10)
   # rx literal  "!"
-    add $I11, rx653_pos, 1
-    gt $I11, rx653_eos, rx653_fail
-    sub $I11, rx653_pos, rx653_off
-    substr $S10, rx653_tgt, $I11, 1
-    ne $S10, "!", rx653_fail
-    add rx653_pos, 1
-    goto alt663_end
-  alt663_2:
-  alt663_end:
-    set_addr $I10, rxcap_664_fail
-    ($I12, $I11) = rx653_cur."!mark_peek"($I10)
-    rx653_cur."!cursor_pos"($I11)
-    ($P10) = rx653_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx653_pos, "")
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx661_pos, 1
+    gt $I11, rx661_eos, rx661_fail
+    sub $I11, rx661_pos, rx661_off
+    substr $S10, rx661_tgt, $I11, 1
+    ne $S10, "!", rx661_fail
+    add rx661_pos, 1
+    goto alt671_end
+  alt671_2:
+  alt671_end:
+    set_addr $I10, rxcap_672_fail
+    ($I12, $I11) = rx661_cur."!mark_peek"($I10)
+    rx661_cur."!cursor_pos"($I11)
+    ($P10) = rx661_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx661_pos, "")
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_664_done
-  rxcap_664_fail:
-    goto rx653_fail
-  rxcap_664_done:
-  alt660_end:
-.annotate "line", 306
-  # rx rxquantr665 ** 0..1
-    set_addr $I666, rxquantr665_done
-    rx653_cur."!mark_push"(0, rx653_pos, $I666)
-  rxquantr665_loop:
+    goto rxcap_672_done
+  rxcap_672_fail:
+    goto rx661_fail
+  rxcap_672_done:
+  alt668_end:
+.annotate 'line', 307
+  # rx rxquantr673 ** 0..1
+    set_addr $I674, rxquantr673_done
+    rx661_cur."!mark_push"(0, rx661_pos, $I674)
+  rxquantr673_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx653_cur."!cursor_pos"(rx653_pos)
-    $P10 = rx653_cur."default_value"()
-    unless $P10, rx653_fail
-    rx653_cur."!mark_push"(0, -1, 0, $P10)
+    rx661_cur."!cursor_pos"(rx661_pos)
+    $P10 = rx661_cur."default_value"()
+    unless $P10, rx661_fail
+    rx661_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx653_pos = $P10."pos"()
-    (rx653_rep) = rx653_cur."!mark_commit"($I666)
-  rxquantr665_done:
-.annotate "line", 301
-  # rx pass
-    rx653_cur."!cursor_pass"(rx653_pos, "parameter")
-    rx653_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx653_pos)
-    .return (rx653_cur)
-  rx653_fail:
-.annotate "line", 4
-    (rx653_rep, rx653_pos, $I10, $P10) = rx653_cur."!mark_fail"(0)
-    lt rx653_pos, -1, rx653_done
-    eq rx653_pos, -1, rx653_fail
-    jump $I10
-  rx653_done:
-    rx653_cur."!cursor_fail"()
-    rx653_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx653_cur)
+    rx661_pos = $P10."pos"()
+    (rx661_rep) = rx661_cur."!mark_commit"($I674)
+  rxquantr673_done:
+.annotate 'line', 302
+  # rx pass
+    rx661_cur."!cursor_pass"(rx661_pos, "parameter")
+    rx661_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx661_pos)
+    .return (rx661_cur)
+  rx661_fail:
+.annotate 'line', 4
+    (rx661_rep, rx661_pos, $I10, $P10) = rx661_cur."!mark_fail"(0)
+    lt rx661_pos, -1, rx661_done
+    eq rx661_pos, -1, rx661_fail
+    jump $I10
+  rx661_done:
+    rx661_cur."!cursor_fail"()
+    rx661_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx661_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("156_1272816833.94956") :method
-.annotate "line", 4
-    $P655 = self."!PREFIX__!subrule"("named_param", "")
-    $P656 = self."!PREFIX__!subrule"("param_var", "")
-    $P657 = self."!PREFIX__!subrule"("param_var", "*")
-    new $P658, "ResizablePMCArray"
-    push $P658, $P655
-    push $P658, $P656
-    push $P658, $P657
-    .return ($P658)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("157_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx668_tgt
-    .local int rx668_pos
-    .local int rx668_off
-    .local int rx668_eos
-    .local int rx668_rep
-    .local pmc rx668_cur
-    (rx668_cur, rx668_pos, rx668_tgt) = self."!cursor_start"()
-    rx668_cur."!cursor_debug"("START ", "param_var")
-    rx668_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx668_cur
-    .local pmc match
-    .lex "$/", match
-    length rx668_eos, rx668_tgt
-    set rx668_off, 0
-    lt rx668_pos, 2, rx668_start
-    sub rx668_off, rx668_pos, 1
-    substr rx668_tgt, rx668_tgt, rx668_off
-  rx668_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan672_done
-    goto rxscan672_scan
-  rxscan672_loop:
-    ($P10) = rx668_cur."from"()
-    inc $P10
-    set rx668_pos, $P10
-    ge rx668_pos, rx668_eos, rxscan672_done
-  rxscan672_scan:
-    set_addr $I10, rxscan672_loop
-    rx668_cur."!mark_push"(0, rx668_pos, $I10)
-  rxscan672_done:
-.annotate "line", 310
+.sub "!PREFIX__parameter"  :subid("156_1273866379.28103") :method
+.annotate 'line', 4
+    $P663 = self."!PREFIX__!subrule"("named_param", "")
+    $P664 = self."!PREFIX__!subrule"("param_var", "")
+    $P665 = self."!PREFIX__!subrule"("param_var", "*")
+    new $P666, "ResizablePMCArray"
+    push $P666, $P663
+    push $P666, $P664
+    push $P666, $P665
+    .return ($P666)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "param_var"  :subid("157_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx676_tgt
+    .local int rx676_pos
+    .local int rx676_off
+    .local int rx676_eos
+    .local int rx676_rep
+    .local pmc rx676_cur
+    (rx676_cur, rx676_pos, rx676_tgt) = self."!cursor_start"()
+    rx676_cur."!cursor_debug"("START ", "param_var")
+    rx676_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx676_cur
+    .local pmc match
+    .lex "$/", match
+    length rx676_eos, rx676_tgt
+    set rx676_off, 0
+    lt rx676_pos, 2, rx676_start
+    sub rx676_off, rx676_pos, 1
+    substr rx676_tgt, rx676_tgt, rx676_off
+  rx676_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan680_done
+    goto rxscan680_scan
+  rxscan680_loop:
+    ($P10) = rx676_cur."from"()
+    inc $P10
+    set rx676_pos, $P10
+    ge rx676_pos, rx676_eos, rxscan680_done
+  rxscan680_scan:
+    set_addr $I10, rxscan680_loop
+    rx676_cur."!mark_push"(0, rx676_pos, $I10)
+  rxscan680_done:
+.annotate 'line', 311
   # rx subrule "sigil" subtype=capture negate=
-    rx668_cur."!cursor_pos"(rx668_pos)
-    $P10 = rx668_cur."sigil"()
-    unless $P10, rx668_fail
-    rx668_cur."!mark_push"(0, -1, 0, $P10)
+    rx676_cur."!cursor_pos"(rx676_pos)
+    $P10 = rx676_cur."sigil"()
+    unless $P10, rx676_fail
+    rx676_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx668_pos = $P10."pos"()
-  # rx rxquantr673 ** 0..1
-    set_addr $I674, rxquantr673_done
-    rx668_cur."!mark_push"(0, rx668_pos, $I674)
-  rxquantr673_loop:
+    rx676_pos = $P10."pos"()
+  # rx rxquantr681 ** 0..1
+    set_addr $I682, rxquantr681_done
+    rx676_cur."!mark_push"(0, rx676_pos, $I682)
+  rxquantr681_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx668_cur."!cursor_pos"(rx668_pos)
-    $P10 = rx668_cur."twigil"()
-    unless $P10, rx668_fail
-    rx668_cur."!mark_push"(0, -1, 0, $P10)
+    rx676_cur."!cursor_pos"(rx676_pos)
+    $P10 = rx676_cur."twigil"()
+    unless $P10, rx676_fail
+    rx676_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx668_pos = $P10."pos"()
-    (rx668_rep) = rx668_cur."!mark_commit"($I674)
-  rxquantr673_done:
-  alt675_0:
-.annotate "line", 311
-    set_addr $I10, alt675_1
-    rx668_cur."!mark_push"(0, rx668_pos, $I10)
+    rx676_pos = $P10."pos"()
+    (rx676_rep) = rx676_cur."!mark_commit"($I682)
+  rxquantr681_done:
+  alt683_0:
+.annotate 'line', 312
+    set_addr $I10, alt683_1
+    rx676_cur."!mark_push"(0, rx676_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx668_cur."!cursor_pos"(rx668_pos)
-    $P10 = rx668_cur."ident"()
-    unless $P10, rx668_fail
-    rx668_cur."!mark_push"(0, -1, 0, $P10)
+    rx676_cur."!cursor_pos"(rx676_pos)
+    $P10 = rx676_cur."ident"()
+    unless $P10, rx676_fail
+    rx676_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx668_pos = $P10."pos"()
-    goto alt675_end
-  alt675_1:
+    rx676_pos = $P10."pos"()
+    goto alt683_end
+  alt683_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_676_fail
-    rx668_cur."!mark_push"(0, rx668_pos, $I10)
+    set_addr $I10, rxcap_684_fail
+    rx676_cur."!mark_push"(0, rx676_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx668_pos, rx668_eos, rx668_fail
-    sub $I10, rx668_pos, rx668_off
-    substr $S10, rx668_tgt, $I10, 1
+    ge rx676_pos, rx676_eos, rx676_fail
+    sub $I10, rx676_pos, rx676_off
+    substr $S10, rx676_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx668_fail
-    inc rx668_pos
-    set_addr $I10, rxcap_676_fail
-    ($I12, $I11) = rx668_cur."!mark_peek"($I10)
-    rx668_cur."!cursor_pos"($I11)
-    ($P10) = rx668_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx668_pos, "")
-    rx668_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx676_fail
+    inc rx676_pos
+    set_addr $I10, rxcap_684_fail
+    ($I12, $I11) = rx676_cur."!mark_peek"($I10)
+    rx676_cur."!cursor_pos"($I11)
+    ($P10) = rx676_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx676_pos, "")
+    rx676_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_676_done
-  rxcap_676_fail:
-    goto rx668_fail
-  rxcap_676_done:
-  alt675_end:
-.annotate "line", 309
-  # rx pass
-    rx668_cur."!cursor_pass"(rx668_pos, "param_var")
-    rx668_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx668_pos)
-    .return (rx668_cur)
-  rx668_fail:
-.annotate "line", 4
-    (rx668_rep, rx668_pos, $I10, $P10) = rx668_cur."!mark_fail"(0)
-    lt rx668_pos, -1, rx668_done
-    eq rx668_pos, -1, rx668_fail
-    jump $I10
-  rx668_done:
-    rx668_cur."!cursor_fail"()
-    rx668_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx668_cur)
+    goto rxcap_684_done
+  rxcap_684_fail:
+    goto rx676_fail
+  rxcap_684_done:
+  alt683_end:
+.annotate 'line', 310
+  # rx pass
+    rx676_cur."!cursor_pass"(rx676_pos, "param_var")
+    rx676_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx676_pos)
+    .return (rx676_cur)
+  rx676_fail:
+.annotate 'line', 4
+    (rx676_rep, rx676_pos, $I10, $P10) = rx676_cur."!mark_fail"(0)
+    lt rx676_pos, -1, rx676_done
+    eq rx676_pos, -1, rx676_fail
+    jump $I10
+  rx676_done:
+    rx676_cur."!cursor_fail"()
+    rx676_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx676_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("158_1272816833.94956") :method
-.annotate "line", 4
-    $P670 = self."!PREFIX__!subrule"("sigil", "")
-    new $P671, "ResizablePMCArray"
-    push $P671, $P670
-    .return ($P671)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("159_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx678_tgt
-    .local int rx678_pos
-    .local int rx678_off
-    .local int rx678_eos
-    .local int rx678_rep
-    .local pmc rx678_cur
-    (rx678_cur, rx678_pos, rx678_tgt) = self."!cursor_start"()
-    rx678_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx678_cur
-    .local pmc match
-    .lex "$/", match
-    length rx678_eos, rx678_tgt
-    set rx678_off, 0
-    lt rx678_pos, 2, rx678_start
-    sub rx678_off, rx678_pos, 1
-    substr rx678_tgt, rx678_tgt, rx678_off
-  rx678_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan682_done
-    goto rxscan682_scan
-  rxscan682_loop:
-    ($P10) = rx678_cur."from"()
-    inc $P10
-    set rx678_pos, $P10
-    ge rx678_pos, rx678_eos, rxscan682_done
-  rxscan682_scan:
-    set_addr $I10, rxscan682_loop
-    rx678_cur."!mark_push"(0, rx678_pos, $I10)
-  rxscan682_done:
-.annotate "line", 315
+.sub "!PREFIX__param_var"  :subid("158_1273866379.28103") :method
+.annotate 'line', 4
+    $P678 = self."!PREFIX__!subrule"("sigil", "")
+    new $P679, "ResizablePMCArray"
+    push $P679, $P678
+    .return ($P679)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "named_param"  :subid("159_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx686_tgt
+    .local int rx686_pos
+    .local int rx686_off
+    .local int rx686_eos
+    .local int rx686_rep
+    .local pmc rx686_cur
+    (rx686_cur, rx686_pos, rx686_tgt) = self."!cursor_start"()
+    rx686_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx686_cur
+    .local pmc match
+    .lex "$/", match
+    length rx686_eos, rx686_tgt
+    set rx686_off, 0
+    lt rx686_pos, 2, rx686_start
+    sub rx686_off, rx686_pos, 1
+    substr rx686_tgt, rx686_tgt, rx686_off
+  rx686_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan690_done
+    goto rxscan690_scan
+  rxscan690_loop:
+    ($P10) = rx686_cur."from"()
+    inc $P10
+    set rx686_pos, $P10
+    ge rx686_pos, rx686_eos, rxscan690_done
+  rxscan690_scan:
+    set_addr $I10, rxscan690_loop
+    rx686_cur."!mark_push"(0, rx686_pos, $I10)
+  rxscan690_done:
+.annotate 'line', 316
   # rx literal  ":"
-    add $I11, rx678_pos, 1
-    gt $I11, rx678_eos, rx678_fail
-    sub $I11, rx678_pos, rx678_off
-    substr $S10, rx678_tgt, $I11, 1
-    ne $S10, ":", rx678_fail
-    add rx678_pos, 1
+    add $I11, rx686_pos, 1
+    gt $I11, rx686_eos, rx686_fail
+    sub $I11, rx686_pos, rx686_off
+    substr $S10, rx686_tgt, $I11, 1
+    ne $S10, ":", rx686_fail
+    add rx686_pos, 1
   # rx subrule "param_var" subtype=capture negate=
-    rx678_cur."!cursor_pos"(rx678_pos)
-    $P10 = rx678_cur."param_var"()
-    unless $P10, rx678_fail
-    rx678_cur."!mark_push"(0, -1, 0, $P10)
+    rx686_cur."!cursor_pos"(rx686_pos)
+    $P10 = rx686_cur."param_var"()
+    unless $P10, rx686_fail
+    rx686_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx678_pos = $P10."pos"()
-.annotate "line", 314
-  # rx pass
-    rx678_cur."!cursor_pass"(rx678_pos, "named_param")
-    rx678_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx678_pos)
-    .return (rx678_cur)
-  rx678_fail:
-.annotate "line", 4
-    (rx678_rep, rx678_pos, $I10, $P10) = rx678_cur."!mark_fail"(0)
-    lt rx678_pos, -1, rx678_done
-    eq rx678_pos, -1, rx678_fail
-    jump $I10
-  rx678_done:
-    rx678_cur."!cursor_fail"()
-    rx678_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx678_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("160_1272816833.94956") :method
-.annotate "line", 4
-    $P680 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P681, "ResizablePMCArray"
-    push $P681, $P680
-    .return ($P681)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("161_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx684_tgt
-    .local int rx684_pos
-    .local int rx684_off
-    .local int rx684_eos
-    .local int rx684_rep
-    .local pmc rx684_cur
-    (rx684_cur, rx684_pos, rx684_tgt) = self."!cursor_start"()
-    rx684_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx684_cur
-    .local pmc match
-    .lex "$/", match
-    length rx684_eos, rx684_tgt
-    set rx684_off, 0
-    lt rx684_pos, 2, rx684_start
-    sub rx684_off, rx684_pos, 1
-    substr rx684_tgt, rx684_tgt, rx684_off
-  rx684_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan687_done
-    goto rxscan687_scan
-  rxscan687_loop:
-    ($P10) = rx684_cur."from"()
-    inc $P10
-    set rx684_pos, $P10
-    ge rx684_pos, rx684_eos, rxscan687_done
-  rxscan687_scan:
-    set_addr $I10, rxscan687_loop
-    rx684_cur."!mark_push"(0, rx684_pos, $I10)
-  rxscan687_done:
-.annotate "line", 318
-  # rx subrule "ws" subtype=method negate=
-    rx684_cur."!cursor_pos"(rx684_pos)
-    $P10 = rx684_cur."ws"()
-    unless $P10, rx684_fail
-    rx684_pos = $P10."pos"()
-  # rx literal  "="
-    add $I11, rx684_pos, 1
-    gt $I11, rx684_eos, rx684_fail
-    sub $I11, rx684_pos, rx684_off
-    substr $S10, rx684_tgt, $I11, 1
-    ne $S10, "=", rx684_fail
-    add rx684_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx684_cur."!cursor_pos"(rx684_pos)
-    $P10 = rx684_cur."ws"()
-    unless $P10, rx684_fail
-    rx684_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx684_cur."!cursor_pos"(rx684_pos)
-    $P10 = rx684_cur."EXPR"("i=")
-    unless $P10, rx684_fail
-    rx684_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx684_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx684_cur."!cursor_pos"(rx684_pos)
-    $P10 = rx684_cur."ws"()
-    unless $P10, rx684_fail
-    rx684_pos = $P10."pos"()
+    rx686_pos = $P10."pos"()
+.annotate 'line', 315
   # rx pass
-    rx684_cur."!cursor_pass"(rx684_pos, "default_value")
-    rx684_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx684_pos)
-    .return (rx684_cur)
-  rx684_fail:
-.annotate "line", 4
-    (rx684_rep, rx684_pos, $I10, $P10) = rx684_cur."!mark_fail"(0)
-    lt rx684_pos, -1, rx684_done
-    eq rx684_pos, -1, rx684_fail
+    rx686_cur."!cursor_pass"(rx686_pos, "named_param")
+    rx686_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx686_pos)
+    .return (rx686_cur)
+  rx686_fail:
+.annotate 'line', 4
+    (rx686_rep, rx686_pos, $I10, $P10) = rx686_cur."!mark_fail"(0)
+    lt rx686_pos, -1, rx686_done
+    eq rx686_pos, -1, rx686_fail
     jump $I10
-  rx684_done:
-    rx684_cur."!cursor_fail"()
-    rx684_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx684_cur)
+  rx686_done:
+    rx686_cur."!cursor_fail"()
+    rx686_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx686_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("162_1272816833.94956") :method
-.annotate "line", 4
-    new $P686, "ResizablePMCArray"
-    push $P686, ""
-    .return ($P686)
+.sub "!PREFIX__named_param"  :subid("160_1273866379.28103") :method
+.annotate 'line', 4
+    $P688 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P689, "ResizablePMCArray"
+    push $P689, $P688
+    .return ($P689)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("163_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "default_value"  :subid("161_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx692_tgt
     .local int rx692_pos
     .local int rx692_off
@@ -8169,8 +8145,7 @@
     .local int rx692_rep
     .local pmc rx692_cur
     (rx692_cur, rx692_pos, rx692_tgt) = self."!cursor_start"()
-    rx692_cur."!cursor_debug"("START ", "regex_declarator")
-    rx692_cur."!cursor_caparray"("signature")
+    rx692_cur."!cursor_debug"("START ", "default_value")
     .lex unicode:"$\x{a2}", rx692_cur
     .local pmc match
     .lex "$/", match
@@ -8192,824 +8167,831 @@
     set_addr $I10, rxscan695_loop
     rx692_cur."!mark_push"(0, rx692_pos, $I10)
   rxscan695_done:
-.annotate "line", 320
+.annotate 'line', 319
   # rx subrule "ws" subtype=method negate=
     rx692_cur."!cursor_pos"(rx692_pos)
     $P10 = rx692_cur."ws"()
     unless $P10, rx692_fail
     rx692_pos = $P10."pos"()
-  alt697_0:
-.annotate "line", 321
-    set_addr $I10, alt697_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-.annotate "line", 322
+  # rx literal  "="
+    add $I11, rx692_pos, 1
+    gt $I11, rx692_eos, rx692_fail
+    sub $I11, rx692_pos, rx692_off
+    substr $S10, rx692_tgt, $I11, 1
+    ne $S10, "=", rx692_fail
+    add rx692_pos, 1
   # rx subrule "ws" subtype=method negate=
     rx692_cur."!cursor_pos"(rx692_pos)
     $P10 = rx692_cur."ws"()
     unless $P10, rx692_fail
     rx692_pos = $P10."pos"()
-  # rx subcapture "proto"
-    set_addr $I10, rxcap_699_fail
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  # rx literal  "proto"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "proto", rx692_fail
-    add rx692_pos, 5
-    set_addr $I10, rxcap_699_fail
-    ($I12, $I11) = rx692_cur."!mark_peek"($I10)
-    rx692_cur."!cursor_pos"($I11)
-    ($P10) = rx692_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx692_pos, "")
+  # rx subrule "EXPR" subtype=capture negate=
+    rx692_cur."!cursor_pos"(rx692_pos)
+    $P10 = rx692_cur."EXPR"("i=")
+    unless $P10, rx692_fail
     rx692_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("proto")
-    goto rxcap_699_done
-  rxcap_699_fail:
-    goto rx692_fail
-  rxcap_699_done:
+    $P10."!cursor_names"("EXPR")
+    rx692_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
     rx692_cur."!cursor_pos"(rx692_pos)
     $P10 = rx692_cur."ws"()
     unless $P10, rx692_fail
     rx692_pos = $P10."pos"()
-  alt701_0:
-    set_addr $I10, alt701_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  # rx literal  "regex"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "regex", rx692_fail
-    add rx692_pos, 5
-    goto alt701_end
-  alt701_1:
-    set_addr $I10, alt701_2
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  # rx literal  "token"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "token", rx692_fail
-    add rx692_pos, 5
-    goto alt701_end
-  alt701_2:
-  # rx literal  "rule"
-    add $I11, rx692_pos, 4
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 4
-    ne $S10, "rule", rx692_fail
-    add rx692_pos, 4
-  alt701_end:
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 323
+  # rx pass
+    rx692_cur."!cursor_pass"(rx692_pos, "default_value")
+    rx692_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx692_pos)
+    .return (rx692_cur)
+  rx692_fail:
+.annotate 'line', 4
+    (rx692_rep, rx692_pos, $I10, $P10) = rx692_cur."!mark_fail"(0)
+    lt rx692_pos, -1, rx692_done
+    eq rx692_pos, -1, rx692_fail
+    jump $I10
+  rx692_done:
+    rx692_cur."!cursor_fail"()
+    rx692_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx692_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__default_value"  :subid("162_1273866379.28103") :method
+.annotate 'line', 4
+    new $P694, "ResizablePMCArray"
+    push $P694, ""
+    .return ($P694)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "regex_declarator"  :subid("163_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx700_tgt
+    .local int rx700_pos
+    .local int rx700_off
+    .local int rx700_eos
+    .local int rx700_rep
+    .local pmc rx700_cur
+    (rx700_cur, rx700_pos, rx700_tgt) = self."!cursor_start"()
+    rx700_cur."!cursor_debug"("START ", "regex_declarator")
+    rx700_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx700_cur
+    .local pmc match
+    .lex "$/", match
+    length rx700_eos, rx700_tgt
+    set rx700_off, 0
+    lt rx700_pos, 2, rx700_start
+    sub rx700_off, rx700_pos, 1
+    substr rx700_tgt, rx700_tgt, rx700_off
+  rx700_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan703_done
+    goto rxscan703_scan
+  rxscan703_loop:
+    ($P10) = rx700_cur."from"()
+    inc $P10
+    set rx700_pos, $P10
+    ge rx700_pos, rx700_eos, rxscan703_done
+  rxscan703_scan:
+    set_addr $I10, rxscan703_loop
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+  rxscan703_done:
+.annotate 'line', 321
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  alt705_0:
+.annotate 'line', 322
+    set_addr $I10, alt705_1
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+.annotate 'line', 323
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  # rx subcapture "proto"
+    set_addr $I10, rxcap_707_fail
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+  # rx literal  "proto"
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "proto", rx700_fail
+    add rx700_pos, 5
+    set_addr $I10, rxcap_707_fail
+    ($I12, $I11) = rx700_cur."!mark_peek"($I10)
+    rx700_cur."!cursor_pos"($I11)
+    ($P10) = rx700_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx700_pos, "")
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("proto")
+    goto rxcap_707_done
+  rxcap_707_fail:
+    goto rx700_fail
+  rxcap_707_done:
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  alt709_0:
+    set_addr $I10, alt709_1
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+  # rx literal  "regex"
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "regex", rx700_fail
+    add rx700_pos, 5
+    goto alt709_end
+  alt709_1:
+    set_addr $I10, alt709_2
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+  # rx literal  "token"
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "token", rx700_fail
+    add rx700_pos, 5
+    goto alt709_end
+  alt709_2:
+  # rx literal  "rule"
+    add $I11, rx700_pos, 4
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 4
+    ne $S10, "rule", rx700_fail
+    add rx700_pos, 4
+  alt709_end:
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 324
   # rx subrule "deflongname" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."deflongname"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."deflongname"()
+    unless $P10, rx700_fail
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx692_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  alt704_0:
-.annotate "line", 324
-    set_addr $I10, alt704_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-.annotate "line", 325
+    rx700_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  alt712_0:
+.annotate 'line', 325
+    set_addr $I10, alt712_1
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+.annotate 'line', 326
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx literal  "{"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, "{", rx692_fail
-    add rx692_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, "{", rx700_fail
+    add rx700_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "<...>", rx692_fail
-    add rx692_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "<...>", rx700_fail
+    add rx700_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, "}", rx692_fail
-    add rx692_pos, 1
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, "}", rx700_fail
+    add rx700_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ENDSTMT"()
-    unless $P10, rx692_fail
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-    goto alt704_end
-  alt704_1:
-.annotate "line", 326
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ENDSTMT"()
+    unless $P10, rx700_fail
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+    goto alt712_end
+  alt712_1:
+.annotate 'line', 327
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."panic"("Proto regex body must be <...>")
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  alt704_end:
-.annotate "line", 327
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 322
-    goto alt697_end
-  alt697_1:
-.annotate "line", 328
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."panic"("Proto regex body must be <...>")
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  alt712_end:
+.annotate 'line', 328
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 323
+    goto alt705_end
+  alt705_1:
+.annotate 'line', 329
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_714_fail
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
-  alt713_0:
-    set_addr $I10, alt713_1
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    set_addr $I10, rxcap_722_fail
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
+  alt721_0:
+    set_addr $I10, alt721_1
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "regex", rx692_fail
-    add rx692_pos, 5
-    goto alt713_end
-  alt713_1:
-    set_addr $I10, alt713_2
-    rx692_cur."!mark_push"(0, rx692_pos, $I10)
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "regex", rx700_fail
+    add rx700_pos, 5
+    goto alt721_end
+  alt721_1:
+    set_addr $I10, alt721_2
+    rx700_cur."!mark_push"(0, rx700_pos, $I10)
   # rx literal  "token"
-    add $I11, rx692_pos, 5
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 5
-    ne $S10, "token", rx692_fail
-    add rx692_pos, 5
-    goto alt713_end
-  alt713_2:
+    add $I11, rx700_pos, 5
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 5
+    ne $S10, "token", rx700_fail
+    add rx700_pos, 5
+    goto alt721_end
+  alt721_2:
   # rx literal  "rule"
-    add $I11, rx692_pos, 4
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 4
-    ne $S10, "rule", rx692_fail
-    add rx692_pos, 4
-  alt713_end:
-    set_addr $I10, rxcap_714_fail
-    ($I12, $I11) = rx692_cur."!mark_peek"($I10)
-    rx692_cur."!cursor_pos"($I11)
-    ($P10) = rx692_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx692_pos, "")
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx700_pos, 4
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 4
+    ne $S10, "rule", rx700_fail
+    add rx700_pos, 4
+  alt721_end:
+    set_addr $I10, rxcap_722_fail
+    ($I12, $I11) = rx700_cur."!mark_peek"($I10)
+    rx700_cur."!cursor_pos"($I11)
+    ($P10) = rx700_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx700_pos, "")
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_714_done
-  rxcap_714_fail:
-    goto rx692_fail
-  rxcap_714_done:
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 329
+    goto rxcap_722_done
+  rxcap_722_fail:
+    goto rx700_fail
+  rxcap_722_done:
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 330
   # rx subrule "deflongname" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."deflongname"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."deflongname"()
+    unless $P10, rx700_fail
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx692_pos = $P10."pos"()
+    rx700_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 330
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 331
   # rx subrule "newpad" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."newpad"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 331
-  # rx rxquantr718 ** 0..1
-    set_addr $I723, rxquantr718_done
-    rx692_cur."!mark_push"(0, rx692_pos, $I723)
-  rxquantr718_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."newpad"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 332
+  # rx rxquantr726 ** 0..1
+    set_addr $I731, rxquantr726_done
+    rx700_cur."!mark_push"(0, rx700_pos, $I731)
+  rxquantr726_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, "(", rx692_fail
-    add rx692_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, "(", rx700_fail
+    add rx700_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."signature"()
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."signature"()
+    unless $P10, rx700_fail
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx692_pos = $P10."pos"()
+    rx700_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, ")", rx692_fail
-    add rx692_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-    (rx692_rep) = rx692_cur."!mark_commit"($I723)
-  rxquantr718_done:
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 332
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, ")", rx700_fail
+    add rx700_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+    (rx700_rep) = rx700_cur."!mark_commit"($I731)
+  rxquantr726_done:
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 333
   # rx reduce name="regex_declarator" key="open"
-    rx692_cur."!cursor_pos"(rx692_pos)
-    rx692_cur."!reduce"("regex_declarator", "open")
+    rx700_cur."!cursor_pos"(rx700_pos)
+    rx700_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 333
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 334
   # rx literal  "{"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, "{", rx692_fail
-    add rx692_pos, 1
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, "{", rx700_fail
+    add rx700_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx692_fail
-    rx692_cur."!mark_push"(0, -1, 0, $P10)
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx700_fail
+    rx700_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx692_pos = $P10."pos"()
+    rx700_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx692_pos, 1
-    gt $I11, rx692_eos, rx692_fail
-    sub $I11, rx692_pos, rx692_off
-    substr $S10, rx692_tgt, $I11, 1
-    ne $S10, "}", rx692_fail
-    add rx692_pos, 1
+    add $I11, rx700_pos, 1
+    gt $I11, rx700_eos, rx700_fail
+    sub $I11, rx700_pos, rx700_off
+    substr $S10, rx700_tgt, $I11, 1
+    ne $S10, "}", rx700_fail
+    add rx700_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ENDSTMT"()
-    unless $P10, rx692_fail
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-  alt697_end:
-.annotate "line", 334
-  # rx subrule "ws" subtype=method negate=
-    rx692_cur."!cursor_pos"(rx692_pos)
-    $P10 = rx692_cur."ws"()
-    unless $P10, rx692_fail
-    rx692_pos = $P10."pos"()
-.annotate "line", 320
-  # rx pass
-    rx692_cur."!cursor_pass"(rx692_pos, "regex_declarator")
-    rx692_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx692_pos)
-    .return (rx692_cur)
-  rx692_fail:
-.annotate "line", 4
-    (rx692_rep, rx692_pos, $I10, $P10) = rx692_cur."!mark_fail"(0)
-    lt rx692_pos, -1, rx692_done
-    eq rx692_pos, -1, rx692_fail
-    jump $I10
-  rx692_done:
-    rx692_cur."!cursor_fail"()
-    rx692_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx692_cur)
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ENDSTMT"()
+    unless $P10, rx700_fail
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+  alt705_end:
+.annotate 'line', 335
+  # rx subrule "ws" subtype=method negate=
+    rx700_cur."!cursor_pos"(rx700_pos)
+    $P10 = rx700_cur."ws"()
+    unless $P10, rx700_fail
+    rx700_pos = $P10."pos"()
+.annotate 'line', 321
+  # rx pass
+    rx700_cur."!cursor_pass"(rx700_pos, "regex_declarator")
+    rx700_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx700_pos)
+    .return (rx700_cur)
+  rx700_fail:
+.annotate 'line', 4
+    (rx700_rep, rx700_pos, $I10, $P10) = rx700_cur."!mark_fail"(0)
+    lt rx700_pos, -1, rx700_done
+    eq rx700_pos, -1, rx700_fail
+    jump $I10
+  rx700_done:
+    rx700_cur."!cursor_fail"()
+    rx700_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx700_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("164_1272816833.94956") :method
-.annotate "line", 4
-    new $P694, "ResizablePMCArray"
-    push $P694, ""
-    .return ($P694)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("165_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx729_tgt
-    .local int rx729_pos
-    .local int rx729_off
-    .local int rx729_eos
-    .local int rx729_rep
-    .local pmc rx729_cur
-    (rx729_cur, rx729_pos, rx729_tgt) = self."!cursor_start"()
-    rx729_cur."!cursor_debug"("START ", "dotty")
-    rx729_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx729_cur
-    .local pmc match
-    .lex "$/", match
-    length rx729_eos, rx729_tgt
-    set rx729_off, 0
-    lt rx729_pos, 2, rx729_start
-    sub rx729_off, rx729_pos, 1
-    substr rx729_tgt, rx729_tgt, rx729_off
-  rx729_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan733_done
-    goto rxscan733_scan
-  rxscan733_loop:
-    ($P10) = rx729_cur."from"()
-    inc $P10
-    set rx729_pos, $P10
-    ge rx729_pos, rx729_eos, rxscan733_done
-  rxscan733_scan:
-    set_addr $I10, rxscan733_loop
-    rx729_cur."!mark_push"(0, rx729_pos, $I10)
-  rxscan733_done:
-.annotate "line", 338
+.sub "!PREFIX__regex_declarator"  :subid("164_1273866379.28103") :method
+.annotate 'line', 4
+    new $P702, "ResizablePMCArray"
+    push $P702, ""
+    .return ($P702)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "dotty"  :subid("165_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx737_tgt
+    .local int rx737_pos
+    .local int rx737_off
+    .local int rx737_eos
+    .local int rx737_rep
+    .local pmc rx737_cur
+    (rx737_cur, rx737_pos, rx737_tgt) = self."!cursor_start"()
+    rx737_cur."!cursor_debug"("START ", "dotty")
+    rx737_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx737_cur
+    .local pmc match
+    .lex "$/", match
+    length rx737_eos, rx737_tgt
+    set rx737_off, 0
+    lt rx737_pos, 2, rx737_start
+    sub rx737_off, rx737_pos, 1
+    substr rx737_tgt, rx737_tgt, rx737_off
+  rx737_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan741_done
+    goto rxscan741_scan
+  rxscan741_loop:
+    ($P10) = rx737_cur."from"()
+    inc $P10
+    set rx737_pos, $P10
+    ge rx737_pos, rx737_eos, rxscan741_done
+  rxscan741_scan:
+    set_addr $I10, rxscan741_loop
+    rx737_cur."!mark_push"(0, rx737_pos, $I10)
+  rxscan741_done:
+.annotate 'line', 339
   # rx literal  "."
-    add $I11, rx729_pos, 1
-    gt $I11, rx729_eos, rx729_fail
-    sub $I11, rx729_pos, rx729_off
-    substr $S10, rx729_tgt, $I11, 1
-    ne $S10, ".", rx729_fail
-    add rx729_pos, 1
-  alt734_0:
-.annotate "line", 339
-    set_addr $I10, alt734_1
-    rx729_cur."!mark_push"(0, rx729_pos, $I10)
+    add $I11, rx737_pos, 1
+    gt $I11, rx737_eos, rx737_fail
+    sub $I11, rx737_pos, rx737_off
+    substr $S10, rx737_tgt, $I11, 1
+    ne $S10, ".", rx737_fail
+    add rx737_pos, 1
+  alt742_0:
+.annotate 'line', 340
+    set_addr $I10, alt742_1
+    rx737_cur."!mark_push"(0, rx737_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx729_cur."!cursor_pos"(rx729_pos)
-    $P10 = rx729_cur."identifier"()
-    unless $P10, rx729_fail
-    rx729_cur."!mark_push"(0, -1, 0, $P10)
+    rx737_cur."!cursor_pos"(rx737_pos)
+    $P10 = rx737_cur."identifier"()
+    unless $P10, rx737_fail
+    rx737_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx729_pos = $P10."pos"()
-    goto alt734_end
-  alt734_1:
-.annotate "line", 340
+    rx737_pos = $P10."pos"()
+    goto alt742_end
+  alt742_1:
+.annotate 'line', 341
   # rx enumcharlist negate=0 zerowidth
-    ge rx729_pos, rx729_eos, rx729_fail
-    sub $I10, rx729_pos, rx729_off
-    substr $S10, rx729_tgt, $I10, 1
+    ge rx737_pos, rx737_eos, rx737_fail
+    sub $I10, rx737_pos, rx737_off
+    substr $S10, rx737_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx729_fail
+    lt $I11, 0, rx737_fail
   # rx subrule "quote" subtype=capture negate=
-    rx729_cur."!cursor_pos"(rx729_pos)
-    $P10 = rx729_cur."quote"()
-    unless $P10, rx729_fail
-    rx729_cur."!mark_push"(0, -1, 0, $P10)
+    rx737_cur."!cursor_pos"(rx737_pos)
+    $P10 = rx737_cur."quote"()
+    unless $P10, rx737_fail
+    rx737_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx729_pos = $P10."pos"()
-  alt735_0:
-.annotate "line", 341
-    set_addr $I10, alt735_1
-    rx729_cur."!mark_push"(0, rx729_pos, $I10)
+    rx737_pos = $P10."pos"()
+  alt743_0:
+.annotate 'line', 342
+    set_addr $I10, alt743_1
+    rx737_cur."!mark_push"(0, rx737_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx729_pos, rx729_eos, rx729_fail
-    sub $I10, rx729_pos, rx729_off
-    substr $S10, rx729_tgt, $I10, 1
+    ge rx737_pos, rx737_eos, rx737_fail
+    sub $I10, rx737_pos, rx737_off
+    substr $S10, rx737_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx729_fail
-    goto alt735_end
-  alt735_1:
+    lt $I11, 0, rx737_fail
+    goto alt743_end
+  alt743_1:
   # rx subrule "panic" subtype=method negate=
-    rx729_cur."!cursor_pos"(rx729_pos)
-    $P10 = rx729_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx729_fail
-    rx729_pos = $P10."pos"()
-  alt735_end:
-  alt734_end:
-.annotate "line", 347
-  # rx rxquantr736 ** 0..1
-    set_addr $I738, rxquantr736_done
-    rx729_cur."!mark_push"(0, rx729_pos, $I738)
-  rxquantr736_loop:
-  alt737_0:
-.annotate "line", 344
-    set_addr $I10, alt737_1
-    rx729_cur."!mark_push"(0, rx729_pos, $I10)
-.annotate "line", 345
+    rx737_cur."!cursor_pos"(rx737_pos)
+    $P10 = rx737_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx737_fail
+    rx737_pos = $P10."pos"()
+  alt743_end:
+  alt742_end:
+.annotate 'line', 348
+  # rx rxquantr744 ** 0..1
+    set_addr $I746, rxquantr744_done
+    rx737_cur."!mark_push"(0, rx737_pos, $I746)
+  rxquantr744_loop:
+  alt745_0:
+.annotate 'line', 345
+    set_addr $I10, alt745_1
+    rx737_cur."!mark_push"(0, rx737_pos, $I10)
+.annotate 'line', 346
   # rx enumcharlist negate=0 zerowidth
-    ge rx729_pos, rx729_eos, rx729_fail
-    sub $I10, rx729_pos, rx729_off
-    substr $S10, rx729_tgt, $I10, 1
+    ge rx737_pos, rx737_eos, rx737_fail
+    sub $I10, rx737_pos, rx737_off
+    substr $S10, rx737_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx729_fail
+    lt $I11, 0, rx737_fail
   # rx subrule "args" subtype=capture negate=
-    rx729_cur."!cursor_pos"(rx729_pos)
-    $P10 = rx729_cur."args"()
-    unless $P10, rx729_fail
-    rx729_cur."!mark_push"(0, -1, 0, $P10)
+    rx737_cur."!cursor_pos"(rx737_pos)
+    $P10 = rx737_cur."args"()
+    unless $P10, rx737_fail
+    rx737_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx729_pos = $P10."pos"()
-    goto alt737_end
-  alt737_1:
-.annotate "line", 346
+    rx737_pos = $P10."pos"()
+    goto alt745_end
+  alt745_1:
+.annotate 'line', 347
   # rx literal  ":"
-    add $I11, rx729_pos, 1
-    gt $I11, rx729_eos, rx729_fail
-    sub $I11, rx729_pos, rx729_off
-    substr $S10, rx729_tgt, $I11, 1
-    ne $S10, ":", rx729_fail
-    add rx729_pos, 1
+    add $I11, rx737_pos, 1
+    gt $I11, rx737_eos, rx737_fail
+    sub $I11, rx737_pos, rx737_off
+    substr $S10, rx737_tgt, $I11, 1
+    ne $S10, ":", rx737_fail
+    add rx737_pos, 1
   # rx charclass s
-    ge rx729_pos, rx729_eos, rx729_fail
-    sub $I10, rx729_pos, rx729_off
-    is_cclass $I11, 32, rx729_tgt, $I10
-    unless $I11, rx729_fail
-    inc rx729_pos
+    ge rx737_pos, rx737_eos, rx737_fail
+    sub $I10, rx737_pos, rx737_off
+    is_cclass $I11, 32, rx737_tgt, $I10
+    unless $I11, rx737_fail
+    inc rx737_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx729_cur."!cursor_pos"(rx729_pos)
-    $P10 = rx729_cur."arglist"()
-    unless $P10, rx729_fail
-    rx729_cur."!mark_push"(0, -1, 0, $P10)
+    rx737_cur."!cursor_pos"(rx737_pos)
+    $P10 = rx737_cur."arglist"()
+    unless $P10, rx737_fail
+    rx737_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx729_pos = $P10."pos"()
-  alt737_end:
-.annotate "line", 347
-    (rx729_rep) = rx729_cur."!mark_commit"($I738)
-  rxquantr736_done:
-.annotate "line", 337
-  # rx pass
-    rx729_cur."!cursor_pass"(rx729_pos, "dotty")
-    rx729_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx729_pos)
-    .return (rx729_cur)
-  rx729_fail:
-.annotate "line", 4
-    (rx729_rep, rx729_pos, $I10, $P10) = rx729_cur."!mark_fail"(0)
-    lt rx729_pos, -1, rx729_done
-    eq rx729_pos, -1, rx729_fail
-    jump $I10
-  rx729_done:
-    rx729_cur."!cursor_fail"()
-    rx729_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx729_cur)
+    rx737_pos = $P10."pos"()
+  alt745_end:
+.annotate 'line', 348
+    (rx737_rep) = rx737_cur."!mark_commit"($I746)
+  rxquantr744_done:
+.annotate 'line', 338
+  # rx pass
+    rx737_cur."!cursor_pass"(rx737_pos, "dotty")
+    rx737_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx737_pos)
+    .return (rx737_cur)
+  rx737_fail:
+.annotate 'line', 4
+    (rx737_rep, rx737_pos, $I10, $P10) = rx737_cur."!mark_fail"(0)
+    lt rx737_pos, -1, rx737_done
+    eq rx737_pos, -1, rx737_fail
+    jump $I10
+  rx737_done:
+    rx737_cur."!cursor_fail"()
+    rx737_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx737_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("166_1272816833.94956") :method
-.annotate "line", 4
-    $P731 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P732, "ResizablePMCArray"
-    push $P732, "'"
-    push $P732, "\""
-    push $P732, $P731
-    .return ($P732)
+.sub "!PREFIX__dotty"  :subid("166_1273866379.28103") :method
+.annotate 'line', 4
+    $P739 = self."!PREFIX__!subrule"("longname=identifier", ".")
+    new $P740, "ResizablePMCArray"
+    push $P740, "'"
+    push $P740, "\""
+    push $P740, $P739
+    .return ($P740)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("167_1272816833.94956") :method
-.annotate "line", 351
-    $P740 = self."!protoregex"("term")
-    .return ($P740)
+.sub "term"  :subid("167_1273866379.28103") :method
+.annotate 'line', 352
+    $P748 = self."!protoregex"("term")
+    .return ($P748)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("168_1272816833.94956") :method
-.annotate "line", 351
-    $P742 = self."!PREFIX__!protoregex"("term")
-    .return ($P742)
+.sub "!PREFIX__term"  :subid("168_1273866379.28103") :method
+.annotate 'line', 352
+    $P750 = self."!PREFIX__!protoregex"("term")
+    .return ($P750)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("169_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx744_tgt
-    .local int rx744_pos
-    .local int rx744_off
-    .local int rx744_eos
-    .local int rx744_rep
-    .local pmc rx744_cur
-    (rx744_cur, rx744_pos, rx744_tgt) = self."!cursor_start"()
-    rx744_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx744_cur
-    .local pmc match
-    .lex "$/", match
-    length rx744_eos, rx744_tgt
-    set rx744_off, 0
-    lt rx744_pos, 2, rx744_start
-    sub rx744_off, rx744_pos, 1
-    substr rx744_tgt, rx744_tgt, rx744_off
-  rx744_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan747_done
-    goto rxscan747_scan
-  rxscan747_loop:
-    ($P10) = rx744_cur."from"()
-    inc $P10
-    set rx744_pos, $P10
-    ge rx744_pos, rx744_eos, rxscan747_done
-  rxscan747_scan:
-    set_addr $I10, rxscan747_loop
-    rx744_cur."!mark_push"(0, rx744_pos, $I10)
-  rxscan747_done:
-.annotate "line", 353
+.sub "term:sym<self>"  :subid("169_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx752_tgt
+    .local int rx752_pos
+    .local int rx752_off
+    .local int rx752_eos
+    .local int rx752_rep
+    .local pmc rx752_cur
+    (rx752_cur, rx752_pos, rx752_tgt) = self."!cursor_start"()
+    rx752_cur."!cursor_debug"("START ", "term:sym<self>")
+    .lex unicode:"$\x{a2}", rx752_cur
+    .local pmc match
+    .lex "$/", match
+    length rx752_eos, rx752_tgt
+    set rx752_off, 0
+    lt rx752_pos, 2, rx752_start
+    sub rx752_off, rx752_pos, 1
+    substr rx752_tgt, rx752_tgt, rx752_off
+  rx752_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan755_done
+    goto rxscan755_scan
+  rxscan755_loop:
+    ($P10) = rx752_cur."from"()
+    inc $P10
+    set rx752_pos, $P10
+    ge rx752_pos, rx752_eos, rxscan755_done
+  rxscan755_scan:
+    set_addr $I10, rxscan755_loop
+    rx752_cur."!mark_push"(0, rx752_pos, $I10)
+  rxscan755_done:
+.annotate 'line', 354
   # rx subcapture "sym"
-    set_addr $I10, rxcap_748_fail
-    rx744_cur."!mark_push"(0, rx744_pos, $I10)
+    set_addr $I10, rxcap_756_fail
+    rx752_cur."!mark_push"(0, rx752_pos, $I10)
   # rx literal  "self"
-    add $I11, rx744_pos, 4
-    gt $I11, rx744_eos, rx744_fail
-    sub $I11, rx744_pos, rx744_off
-    substr $S10, rx744_tgt, $I11, 4
-    ne $S10, "self", rx744_fail
-    add rx744_pos, 4
-    set_addr $I10, rxcap_748_fail
-    ($I12, $I11) = rx744_cur."!mark_peek"($I10)
-    rx744_cur."!cursor_pos"($I11)
-    ($P10) = rx744_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx744_pos, "")
-    rx744_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx752_pos, 4
+    gt $I11, rx752_eos, rx752_fail
+    sub $I11, rx752_pos, rx752_off
+    substr $S10, rx752_tgt, $I11, 4
+    ne $S10, "self", rx752_fail
+    add rx752_pos, 4
+    set_addr $I10, rxcap_756_fail
+    ($I12, $I11) = rx752_cur."!mark_peek"($I10)
+    rx752_cur."!cursor_pos"($I11)
+    ($P10) = rx752_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx752_pos, "")
+    rx752_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_748_done
-  rxcap_748_fail:
-    goto rx744_fail
-  rxcap_748_done:
+    goto rxcap_756_done
+  rxcap_756_fail:
+    goto rx752_fail
+  rxcap_756_done:
   # rxanchor rwb
-    le rx744_pos, 0, rx744_fail
-    sub $I10, rx744_pos, rx744_off
-    is_cclass $I11, 8192, rx744_tgt, $I10
-    if $I11, rx744_fail
+    le rx752_pos, 0, rx752_fail
+    sub $I10, rx752_pos, rx752_off
+    is_cclass $I11, 8192, rx752_tgt, $I10
+    if $I11, rx752_fail
     dec $I10
-    is_cclass $I11, 8192, rx744_tgt, $I10
-    unless $I11, rx744_fail
+    is_cclass $I11, 8192, rx752_tgt, $I10
+    unless $I11, rx752_fail
   # rx pass
-    rx744_cur."!cursor_pass"(rx744_pos, "term:sym<self>")
-    rx744_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx744_pos)
-    .return (rx744_cur)
-  rx744_fail:
-.annotate "line", 4
-    (rx744_rep, rx744_pos, $I10, $P10) = rx744_cur."!mark_fail"(0)
-    lt rx744_pos, -1, rx744_done
-    eq rx744_pos, -1, rx744_fail
-    jump $I10
-  rx744_done:
-    rx744_cur."!cursor_fail"()
-    rx744_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx744_cur)
+    rx752_cur."!cursor_pass"(rx752_pos, "term:sym<self>")
+    rx752_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx752_pos)
+    .return (rx752_cur)
+  rx752_fail:
+.annotate 'line', 4
+    (rx752_rep, rx752_pos, $I10, $P10) = rx752_cur."!mark_fail"(0)
+    lt rx752_pos, -1, rx752_done
+    eq rx752_pos, -1, rx752_fail
+    jump $I10
+  rx752_done:
+    rx752_cur."!cursor_fail"()
+    rx752_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
+    .return (rx752_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("170_1272816833.94956") :method
-.annotate "line", 4
-    new $P746, "ResizablePMCArray"
-    push $P746, "self"
-    .return ($P746)
+.sub "!PREFIX__term:sym<self>"  :subid("170_1273866379.28103") :method
+.annotate 'line', 4
+    new $P754, "ResizablePMCArray"
+    push $P754, "self"
+    .return ($P754)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("171_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx750_tgt
-    .local int rx750_pos
-    .local int rx750_off
-    .local int rx750_eos
-    .local int rx750_rep
-    .local pmc rx750_cur
-    (rx750_cur, rx750_pos, rx750_tgt) = self."!cursor_start"()
-    rx750_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx750_cur
-    .local pmc match
-    .lex "$/", match
-    length rx750_eos, rx750_tgt
-    set rx750_off, 0
-    lt rx750_pos, 2, rx750_start
-    sub rx750_off, rx750_pos, 1
-    substr rx750_tgt, rx750_tgt, rx750_off
-  rx750_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan754_done
-    goto rxscan754_scan
-  rxscan754_loop:
-    ($P10) = rx750_cur."from"()
-    inc $P10
-    set rx750_pos, $P10
-    ge rx750_pos, rx750_eos, rxscan754_done
-  rxscan754_scan:
-    set_addr $I10, rxscan754_loop
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
-  rxscan754_done:
-.annotate "line", 356
+.sub "term:sym<identifier>"  :subid("171_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx758_tgt
+    .local int rx758_pos
+    .local int rx758_off
+    .local int rx758_eos
+    .local int rx758_rep
+    .local pmc rx758_cur
+    (rx758_cur, rx758_pos, rx758_tgt) = self."!cursor_start"()
+    rx758_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx758_cur
+    .local pmc match
+    .lex "$/", match
+    length rx758_eos, rx758_tgt
+    set rx758_off, 0
+    lt rx758_pos, 2, rx758_start
+    sub rx758_off, rx758_pos, 1
+    substr rx758_tgt, rx758_tgt, rx758_off
+  rx758_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan762_done
+    goto rxscan762_scan
+  rxscan762_loop:
+    ($P10) = rx758_cur."from"()
+    inc $P10
+    set rx758_pos, $P10
+    ge rx758_pos, rx758_eos, rxscan762_done
+  rxscan762_scan:
+    set_addr $I10, rxscan762_loop
+    rx758_cur."!mark_push"(0, rx758_pos, $I10)
+  rxscan762_done:
+.annotate 'line', 357
   # rx subrule "identifier" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."identifier"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."identifier"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx750_pos = $P10."pos"()
+    rx758_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx750_pos, rx750_eos, rx750_fail
-    sub $I10, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I10, 1
+    ge rx758_pos, rx758_eos, rx758_fail
+    sub $I10, rx758_pos, rx758_off
+    substr $S10, rx758_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx750_fail
-  # rx subrule "args" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."args"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("args")
-    rx750_pos = $P10."pos"()
-.annotate "line", 355
-  # rx pass
-    rx750_cur."!cursor_pass"(rx750_pos, "term:sym<identifier>")
-    rx750_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx750_pos)
-    .return (rx750_cur)
-  rx750_fail:
-.annotate "line", 4
-    (rx750_rep, rx750_pos, $I10, $P10) = rx750_cur."!mark_fail"(0)
-    lt rx750_pos, -1, rx750_done
-    eq rx750_pos, -1, rx750_fail
-    jump $I10
-  rx750_done:
-    rx750_cur."!cursor_fail"()
-    rx750_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx750_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("172_1272816833.94956") :method
-.annotate "line", 4
-    $P752 = self."!PREFIX__!subrule"("identifier", "")
-    new $P753, "ResizablePMCArray"
-    push $P753, $P752
-    .return ($P753)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("173_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx756_tgt
-    .local int rx756_pos
-    .local int rx756_off
-    .local int rx756_eos
-    .local int rx756_rep
-    .local pmc rx756_cur
-    (rx756_cur, rx756_pos, rx756_tgt) = self."!cursor_start"()
-    rx756_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx756_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx756_cur
-    .local pmc match
-    .lex "$/", match
-    length rx756_eos, rx756_tgt
-    set rx756_off, 0
-    lt rx756_pos, 2, rx756_start
-    sub rx756_off, rx756_pos, 1
-    substr rx756_tgt, rx756_tgt, rx756_off
-  rx756_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan760_done
-    goto rxscan760_scan
-  rxscan760_loop:
-    ($P10) = rx756_cur."from"()
-    inc $P10
-    set rx756_pos, $P10
-    ge rx756_pos, rx756_eos, rxscan760_done
-  rxscan760_scan:
-    set_addr $I10, rxscan760_loop
-    rx756_cur."!mark_push"(0, rx756_pos, $I10)
-  rxscan760_done:
-.annotate "line", 360
-  # rx subrule "name" subtype=capture negate=
-    rx756_cur."!cursor_pos"(rx756_pos)
-    $P10 = rx756_cur."name"()
-    unless $P10, rx756_fail
-    rx756_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    rx756_pos = $P10."pos"()
-  # rx rxquantr761 ** 0..1
-    set_addr $I762, rxquantr761_done
-    rx756_cur."!mark_push"(0, rx756_pos, $I762)
-  rxquantr761_loop:
+    lt $I11, 0, rx758_fail
   # rx subrule "args" subtype=capture negate=
-    rx756_cur."!cursor_pos"(rx756_pos)
-    $P10 = rx756_cur."args"()
-    unless $P10, rx756_fail
-    rx756_cur."!mark_push"(0, -1, 0, $P10)
+    rx758_cur."!cursor_pos"(rx758_pos)
+    $P10 = rx758_cur."args"()
+    unless $P10, rx758_fail
+    rx758_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx756_pos = $P10."pos"()
-    (rx756_rep) = rx756_cur."!mark_commit"($I762)
-  rxquantr761_done:
-.annotate "line", 359
+    rx758_pos = $P10."pos"()
+.annotate 'line', 356
   # rx pass
-    rx756_cur."!cursor_pass"(rx756_pos, "term:sym<name>")
-    rx756_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx756_pos)
-    .return (rx756_cur)
-  rx756_fail:
-.annotate "line", 4
-    (rx756_rep, rx756_pos, $I10, $P10) = rx756_cur."!mark_fail"(0)
-    lt rx756_pos, -1, rx756_done
-    eq rx756_pos, -1, rx756_fail
+    rx758_cur."!cursor_pass"(rx758_pos, "term:sym<identifier>")
+    rx758_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx758_pos)
+    .return (rx758_cur)
+  rx758_fail:
+.annotate 'line', 4
+    (rx758_rep, rx758_pos, $I10, $P10) = rx758_cur."!mark_fail"(0)
+    lt rx758_pos, -1, rx758_done
+    eq rx758_pos, -1, rx758_fail
     jump $I10
-  rx756_done:
-    rx756_cur."!cursor_fail"()
-    rx756_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx756_cur)
+  rx758_done:
+    rx758_cur."!cursor_fail"()
+    rx758_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx758_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("174_1272816833.94956") :method
-.annotate "line", 4
-    $P758 = self."!PREFIX__!subrule"("name", "")
-    new $P759, "ResizablePMCArray"
-    push $P759, $P758
-    .return ($P759)
+.sub "!PREFIX__term:sym<identifier>"  :subid("172_1273866379.28103") :method
+.annotate 'line', 4
+    $P760 = self."!PREFIX__!subrule"("identifier", "")
+    new $P761, "ResizablePMCArray"
+    push $P761, $P760
+    .return ($P761)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("175_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "term:sym<name>"  :subid("173_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx764_tgt
     .local int rx764_pos
     .local int rx764_off
@@ -9017,7 +8999,7 @@
     .local int rx764_rep
     .local pmc rx764_cur
     (rx764_cur, rx764_pos, rx764_tgt) = self."!cursor_start"()
-    rx764_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx764_cur."!cursor_debug"("START ", "term:sym<name>")
     rx764_cur."!cursor_caparray"("args")
     .lex unicode:"$\x{a2}", rx764_cur
     .local pmc match
@@ -9029,45 +9011,25 @@
     substr rx764_tgt, rx764_tgt, rx764_off
   rx764_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan767_done
-    goto rxscan767_scan
-  rxscan767_loop:
+    ne $I10, -1, rxscan768_done
+    goto rxscan768_scan
+  rxscan768_loop:
     ($P10) = rx764_cur."from"()
     inc $P10
     set rx764_pos, $P10
-    ge rx764_pos, rx764_eos, rxscan767_done
-  rxscan767_scan:
-    set_addr $I10, rxscan767_loop
+    ge rx764_pos, rx764_eos, rxscan768_done
+  rxscan768_scan:
+    set_addr $I10, rxscan768_loop
     rx764_cur."!mark_push"(0, rx764_pos, $I10)
-  rxscan767_done:
-.annotate "line", 364
-  # rx literal  "pir::"
-    add $I11, rx764_pos, 5
-    gt $I11, rx764_eos, rx764_fail
-    sub $I11, rx764_pos, rx764_off
-    substr $S10, rx764_tgt, $I11, 5
-    ne $S10, "pir::", rx764_fail
-    add rx764_pos, 5
-  # rx subcapture "op"
-    set_addr $I10, rxcap_768_fail
-    rx764_cur."!mark_push"(0, rx764_pos, $I10)
-  # rx charclass_q w r 1..-1
-    sub $I10, rx764_pos, rx764_off
-    find_not_cclass $I11, 8192, rx764_tgt, $I10, rx764_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx764_fail
-    add rx764_pos, rx764_off, $I11
-    set_addr $I10, rxcap_768_fail
-    ($I12, $I11) = rx764_cur."!mark_peek"($I10)
-    rx764_cur."!cursor_pos"($I11)
-    ($P10) = rx764_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx764_pos, "")
+  rxscan768_done:
+.annotate 'line', 361
+  # rx subrule "name" subtype=capture negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."name"()
+    unless $P10, rx764_fail
     rx764_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("op")
-    goto rxcap_768_done
-  rxcap_768_fail:
-    goto rx764_fail
-  rxcap_768_done:
+    $P10."!cursor_names"("name")
+    rx764_pos = $P10."pos"()
   # rx rxquantr769 ** 0..1
     set_addr $I770, rxquantr769_done
     rx764_cur."!mark_push"(0, rx764_pos, $I770)
@@ -9081,37 +9043,38 @@
     rx764_pos = $P10."pos"()
     (rx764_rep) = rx764_cur."!mark_commit"($I770)
   rxquantr769_done:
-.annotate "line", 363
+.annotate 'line', 360
   # rx pass
-    rx764_cur."!cursor_pass"(rx764_pos, "term:sym<pir::op>")
-    rx764_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx764_pos)
+    rx764_cur."!cursor_pass"(rx764_pos, "term:sym<name>")
+    rx764_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx764_pos)
     .return (rx764_cur)
   rx764_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx764_rep, rx764_pos, $I10, $P10) = rx764_cur."!mark_fail"(0)
     lt rx764_pos, -1, rx764_done
     eq rx764_pos, -1, rx764_fail
     jump $I10
   rx764_done:
     rx764_cur."!cursor_fail"()
-    rx764_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    rx764_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
     .return (rx764_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("176_1272816833.94956") :method
-.annotate "line", 4
-    new $P766, "ResizablePMCArray"
-    push $P766, "pir::"
-    .return ($P766)
+.sub "!PREFIX__term:sym<name>"  :subid("174_1273866379.28103") :method
+.annotate 'line', 4
+    $P766 = self."!PREFIX__!subrule"("name", "")
+    new $P767, "ResizablePMCArray"
+    push $P767, $P766
+    .return ($P767)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("177_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "term:sym<pir::op>"  :subid("175_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx772_tgt
     .local int rx772_pos
     .local int rx772_off
@@ -9119,7 +9082,8 @@
     .local int rx772_rep
     .local pmc rx772_cur
     (rx772_cur, rx772_pos, rx772_tgt) = self."!cursor_start"()
-    rx772_cur."!cursor_debug"("START ", "args")
+    rx772_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx772_cur."!cursor_caparray"("args")
     .lex unicode:"$\x{a2}", rx772_cur
     .local pmc match
     .lex "$/", match
@@ -9130,306 +9094,321 @@
     substr rx772_tgt, rx772_tgt, rx772_off
   rx772_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan776_done
-    goto rxscan776_scan
-  rxscan776_loop:
+    ne $I10, -1, rxscan775_done
+    goto rxscan775_scan
+  rxscan775_loop:
     ($P10) = rx772_cur."from"()
     inc $P10
     set rx772_pos, $P10
-    ge rx772_pos, rx772_eos, rxscan776_done
-  rxscan776_scan:
-    set_addr $I10, rxscan776_loop
+    ge rx772_pos, rx772_eos, rxscan775_done
+  rxscan775_scan:
+    set_addr $I10, rxscan775_loop
     rx772_cur."!mark_push"(0, rx772_pos, $I10)
-  rxscan776_done:
-.annotate "line", 368
-  # rx literal  "("
-    add $I11, rx772_pos, 1
+  rxscan775_done:
+.annotate 'line', 365
+  # rx literal  "pir::"
+    add $I11, rx772_pos, 5
     gt $I11, rx772_eos, rx772_fail
     sub $I11, rx772_pos, rx772_off
-    substr $S10, rx772_tgt, $I11, 1
-    ne $S10, "(", rx772_fail
-    add rx772_pos, 1
-  # rx subrule "arglist" subtype=capture negate=
+    substr $S10, rx772_tgt, $I11, 5
+    ne $S10, "pir::", rx772_fail
+    add rx772_pos, 5
+  # rx subcapture "op"
+    set_addr $I10, rxcap_776_fail
+    rx772_cur."!mark_push"(0, rx772_pos, $I10)
+  # rx charclass_q w r 1..-1
+    sub $I10, rx772_pos, rx772_off
+    find_not_cclass $I11, 8192, rx772_tgt, $I10, rx772_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx772_fail
+    add rx772_pos, rx772_off, $I11
+    set_addr $I10, rxcap_776_fail
+    ($I12, $I11) = rx772_cur."!mark_peek"($I10)
+    rx772_cur."!cursor_pos"($I11)
+    ($P10) = rx772_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx772_pos, "")
+    rx772_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("op")
+    goto rxcap_776_done
+  rxcap_776_fail:
+    goto rx772_fail
+  rxcap_776_done:
+  # rx rxquantr777 ** 0..1
+    set_addr $I778, rxquantr777_done
+    rx772_cur."!mark_push"(0, rx772_pos, $I778)
+  rxquantr777_loop:
+  # rx subrule "args" subtype=capture negate=
     rx772_cur."!cursor_pos"(rx772_pos)
-    $P10 = rx772_cur."arglist"()
+    $P10 = rx772_cur."args"()
     unless $P10, rx772_fail
     rx772_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("arglist")
+    $P10."!cursor_names"("args")
     rx772_pos = $P10."pos"()
-  # rx literal  ")"
-    add $I11, rx772_pos, 1
-    gt $I11, rx772_eos, rx772_fail
-    sub $I11, rx772_pos, rx772_off
-    substr $S10, rx772_tgt, $I11, 1
-    ne $S10, ")", rx772_fail
-    add rx772_pos, 1
+    (rx772_rep) = rx772_cur."!mark_commit"($I778)
+  rxquantr777_done:
+.annotate 'line', 364
   # rx pass
-    rx772_cur."!cursor_pass"(rx772_pos, "args")
-    rx772_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx772_pos)
+    rx772_cur."!cursor_pass"(rx772_pos, "term:sym<pir::op>")
+    rx772_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx772_pos)
     .return (rx772_cur)
   rx772_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx772_rep, rx772_pos, $I10, $P10) = rx772_cur."!mark_fail"(0)
     lt rx772_pos, -1, rx772_done
     eq rx772_pos, -1, rx772_fail
     jump $I10
   rx772_done:
     rx772_cur."!cursor_fail"()
-    rx772_cur."!cursor_debug"("FAIL  ", "args")
+    rx772_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
     .return (rx772_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("178_1272816833.94956") :method
-.annotate "line", 4
-    $P774 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P775, "ResizablePMCArray"
-    push $P775, $P774
-    .return ($P775)
+.sub "!PREFIX__term:sym<pir::op>"  :subid("176_1273866379.28103") :method
+.annotate 'line', 4
+    new $P774, "ResizablePMCArray"
+    push $P774, "pir::"
+    .return ($P774)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("179_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx778_tgt
-    .local int rx778_pos
-    .local int rx778_off
-    .local int rx778_eos
-    .local int rx778_rep
-    .local pmc rx778_cur
-    (rx778_cur, rx778_pos, rx778_tgt) = self."!cursor_start"()
-    rx778_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx778_cur
-    .local pmc match
-    .lex "$/", match
-    length rx778_eos, rx778_tgt
-    set rx778_off, 0
-    lt rx778_pos, 2, rx778_start
-    sub rx778_off, rx778_pos, 1
-    substr rx778_tgt, rx778_tgt, rx778_off
-  rx778_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan782_done
-    goto rxscan782_scan
-  rxscan782_loop:
-    ($P10) = rx778_cur."from"()
-    inc $P10
-    set rx778_pos, $P10
-    ge rx778_pos, rx778_eos, rxscan782_done
-  rxscan782_scan:
-    set_addr $I10, rxscan782_loop
-    rx778_cur."!mark_push"(0, rx778_pos, $I10)
-  rxscan782_done:
-.annotate "line", 372
-  # rx subrule "ws" subtype=method negate=
-    rx778_cur."!cursor_pos"(rx778_pos)
-    $P10 = rx778_cur."ws"()
-    unless $P10, rx778_fail
-    rx778_pos = $P10."pos"()
-  alt783_0:
-.annotate "line", 373
-    set_addr $I10, alt783_1
-    rx778_cur."!mark_push"(0, rx778_pos, $I10)
-.annotate "line", 374
-  # rx subrule "EXPR" subtype=capture negate=
-    rx778_cur."!cursor_pos"(rx778_pos)
-    $P10 = rx778_cur."EXPR"("f=")
-    unless $P10, rx778_fail
-    rx778_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx778_pos = $P10."pos"()
-    goto alt783_end
-  alt783_1:
-  alt783_end:
-.annotate "line", 371
-  # rx pass
-    rx778_cur."!cursor_pass"(rx778_pos, "arglist")
-    rx778_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx778_pos)
-    .return (rx778_cur)
-  rx778_fail:
-.annotate "line", 4
-    (rx778_rep, rx778_pos, $I10, $P10) = rx778_cur."!mark_fail"(0)
-    lt rx778_pos, -1, rx778_done
-    eq rx778_pos, -1, rx778_fail
-    jump $I10
-  rx778_done:
-    rx778_cur."!cursor_fail"()
-    rx778_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx778_cur)
+.sub "args"  :subid("177_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx780_tgt
+    .local int rx780_pos
+    .local int rx780_off
+    .local int rx780_eos
+    .local int rx780_rep
+    .local pmc rx780_cur
+    (rx780_cur, rx780_pos, rx780_tgt) = self."!cursor_start"()
+    rx780_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx780_cur
+    .local pmc match
+    .lex "$/", match
+    length rx780_eos, rx780_tgt
+    set rx780_off, 0
+    lt rx780_pos, 2, rx780_start
+    sub rx780_off, rx780_pos, 1
+    substr rx780_tgt, rx780_tgt, rx780_off
+  rx780_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan784_done
+    goto rxscan784_scan
+  rxscan784_loop:
+    ($P10) = rx780_cur."from"()
+    inc $P10
+    set rx780_pos, $P10
+    ge rx780_pos, rx780_eos, rxscan784_done
+  rxscan784_scan:
+    set_addr $I10, rxscan784_loop
+    rx780_cur."!mark_push"(0, rx780_pos, $I10)
+  rxscan784_done:
+.annotate 'line', 369
+  # rx literal  "("
+    add $I11, rx780_pos, 1
+    gt $I11, rx780_eos, rx780_fail
+    sub $I11, rx780_pos, rx780_off
+    substr $S10, rx780_tgt, $I11, 1
+    ne $S10, "(", rx780_fail
+    add rx780_pos, 1
+  # rx subrule "arglist" subtype=capture negate=
+    rx780_cur."!cursor_pos"(rx780_pos)
+    $P10 = rx780_cur."arglist"()
+    unless $P10, rx780_fail
+    rx780_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("arglist")
+    rx780_pos = $P10."pos"()
+  # rx literal  ")"
+    add $I11, rx780_pos, 1
+    gt $I11, rx780_eos, rx780_fail
+    sub $I11, rx780_pos, rx780_off
+    substr $S10, rx780_tgt, $I11, 1
+    ne $S10, ")", rx780_fail
+    add rx780_pos, 1
+  # rx pass
+    rx780_cur."!cursor_pass"(rx780_pos, "args")
+    rx780_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx780_pos)
+    .return (rx780_cur)
+  rx780_fail:
+.annotate 'line', 4
+    (rx780_rep, rx780_pos, $I10, $P10) = rx780_cur."!mark_fail"(0)
+    lt rx780_pos, -1, rx780_done
+    eq rx780_pos, -1, rx780_fail
+    jump $I10
+  rx780_done:
+    rx780_cur."!cursor_fail"()
+    rx780_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx780_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("180_1272816833.94956") :method
-.annotate "line", 4
-    $P780 = self."!PREFIX__!subrule"("", "")
-    new $P781, "ResizablePMCArray"
-    push $P781, $P780
-    .return ($P781)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("181_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx785_tgt
-    .local int rx785_pos
-    .local int rx785_off
-    .local int rx785_eos
-    .local int rx785_rep
-    .local pmc rx785_cur
-    (rx785_cur, rx785_pos, rx785_tgt) = self."!cursor_start"()
-    rx785_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx785_cur
-    .local pmc match
-    .lex "$/", match
-    length rx785_eos, rx785_tgt
-    set rx785_off, 0
-    lt rx785_pos, 2, rx785_start
-    sub rx785_off, rx785_pos, 1
-    substr rx785_tgt, rx785_tgt, rx785_off
-  rx785_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan789_done
-    goto rxscan789_scan
-  rxscan789_loop:
-    ($P10) = rx785_cur."from"()
-    inc $P10
-    set rx785_pos, $P10
-    ge rx785_pos, rx785_eos, rxscan789_done
-  rxscan789_scan:
-    set_addr $I10, rxscan789_loop
-    rx785_cur."!mark_push"(0, rx785_pos, $I10)
-  rxscan789_done:
-.annotate "line", 380
-  # rx subrule "value" subtype=capture negate=
-    rx785_cur."!cursor_pos"(rx785_pos)
-    $P10 = rx785_cur."value"()
-    unless $P10, rx785_fail
-    rx785_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("value")
-    rx785_pos = $P10."pos"()
-  # rx pass
-    rx785_cur."!cursor_pass"(rx785_pos, "term:sym<value>")
-    rx785_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx785_pos)
-    .return (rx785_cur)
-  rx785_fail:
-.annotate "line", 4
-    (rx785_rep, rx785_pos, $I10, $P10) = rx785_cur."!mark_fail"(0)
-    lt rx785_pos, -1, rx785_done
-    eq rx785_pos, -1, rx785_fail
-    jump $I10
-  rx785_done:
-    rx785_cur."!cursor_fail"()
-    rx785_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx785_cur)
+.sub "!PREFIX__args"  :subid("178_1273866379.28103") :method
+.annotate 'line', 4
+    $P782 = self."!PREFIX__!subrule"("arglist", "(")
+    new $P783, "ResizablePMCArray"
+    push $P783, $P782
+    .return ($P783)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "arglist"  :subid("179_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx786_tgt
+    .local int rx786_pos
+    .local int rx786_off
+    .local int rx786_eos
+    .local int rx786_rep
+    .local pmc rx786_cur
+    (rx786_cur, rx786_pos, rx786_tgt) = self."!cursor_start"()
+    rx786_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx786_cur
+    .local pmc match
+    .lex "$/", match
+    length rx786_eos, rx786_tgt
+    set rx786_off, 0
+    lt rx786_pos, 2, rx786_start
+    sub rx786_off, rx786_pos, 1
+    substr rx786_tgt, rx786_tgt, rx786_off
+  rx786_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan790_done
+    goto rxscan790_scan
+  rxscan790_loop:
+    ($P10) = rx786_cur."from"()
+    inc $P10
+    set rx786_pos, $P10
+    ge rx786_pos, rx786_eos, rxscan790_done
+  rxscan790_scan:
+    set_addr $I10, rxscan790_loop
+    rx786_cur."!mark_push"(0, rx786_pos, $I10)
+  rxscan790_done:
+.annotate 'line', 373
+  # rx subrule "ws" subtype=method negate=
+    rx786_cur."!cursor_pos"(rx786_pos)
+    $P10 = rx786_cur."ws"()
+    unless $P10, rx786_fail
+    rx786_pos = $P10."pos"()
+  alt791_0:
+.annotate 'line', 374
+    set_addr $I10, alt791_1
+    rx786_cur."!mark_push"(0, rx786_pos, $I10)
+.annotate 'line', 375
+  # rx subrule "EXPR" subtype=capture negate=
+    rx786_cur."!cursor_pos"(rx786_pos)
+    $P10 = rx786_cur."EXPR"("f=")
+    unless $P10, rx786_fail
+    rx786_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("EXPR")
+    rx786_pos = $P10."pos"()
+    goto alt791_end
+  alt791_1:
+  alt791_end:
+.annotate 'line', 372
+  # rx pass
+    rx786_cur."!cursor_pass"(rx786_pos, "arglist")
+    rx786_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx786_pos)
+    .return (rx786_cur)
+  rx786_fail:
+.annotate 'line', 4
+    (rx786_rep, rx786_pos, $I10, $P10) = rx786_cur."!mark_fail"(0)
+    lt rx786_pos, -1, rx786_done
+    eq rx786_pos, -1, rx786_fail
+    jump $I10
+  rx786_done:
+    rx786_cur."!cursor_fail"()
+    rx786_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx786_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("182_1272816833.94956") :method
-.annotate "line", 4
-    $P787 = self."!PREFIX__!subrule"("value", "")
-    new $P788, "ResizablePMCArray"
-    push $P788, $P787
-    .return ($P788)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "value"  :subid("183_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx791_tgt
-    .local int rx791_pos
-    .local int rx791_off
-    .local int rx791_eos
-    .local int rx791_rep
-    .local pmc rx791_cur
-    (rx791_cur, rx791_pos, rx791_tgt) = self."!cursor_start"()
-    rx791_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx791_cur
-    .local pmc match
-    .lex "$/", match
-    length rx791_eos, rx791_tgt
-    set rx791_off, 0
-    lt rx791_pos, 2, rx791_start
-    sub rx791_off, rx791_pos, 1
-    substr rx791_tgt, rx791_tgt, rx791_off
-  rx791_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan796_done
-    goto rxscan796_scan
-  rxscan796_loop:
-    ($P10) = rx791_cur."from"()
-    inc $P10
-    set rx791_pos, $P10
-    ge rx791_pos, rx791_eos, rxscan796_done
-  rxscan796_scan:
-    set_addr $I10, rxscan796_loop
-    rx791_cur."!mark_push"(0, rx791_pos, $I10)
-  rxscan796_done:
-  alt797_0:
-.annotate "line", 382
-    set_addr $I10, alt797_1
-    rx791_cur."!mark_push"(0, rx791_pos, $I10)
-.annotate "line", 383
-  # rx subrule "quote" subtype=capture negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."quote"()
-    unless $P10, rx791_fail
-    rx791_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote")
-    rx791_pos = $P10."pos"()
-    goto alt797_end
-  alt797_1:
-.annotate "line", 384
-  # rx subrule "number" subtype=capture negate=
-    rx791_cur."!cursor_pos"(rx791_pos)
-    $P10 = rx791_cur."number"()
-    unless $P10, rx791_fail
-    rx791_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("number")
-    rx791_pos = $P10."pos"()
-  alt797_end:
-.annotate "line", 382
+.sub "!PREFIX__arglist"  :subid("180_1273866379.28103") :method
+.annotate 'line', 4
+    $P788 = self."!PREFIX__!subrule"("", "")
+    new $P789, "ResizablePMCArray"
+    push $P789, $P788
+    .return ($P789)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<value>"  :subid("181_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx793_tgt
+    .local int rx793_pos
+    .local int rx793_off
+    .local int rx793_eos
+    .local int rx793_rep
+    .local pmc rx793_cur
+    (rx793_cur, rx793_pos, rx793_tgt) = self."!cursor_start"()
+    rx793_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx793_cur
+    .local pmc match
+    .lex "$/", match
+    length rx793_eos, rx793_tgt
+    set rx793_off, 0
+    lt rx793_pos, 2, rx793_start
+    sub rx793_off, rx793_pos, 1
+    substr rx793_tgt, rx793_tgt, rx793_off
+  rx793_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan797_done
+    goto rxscan797_scan
+  rxscan797_loop:
+    ($P10) = rx793_cur."from"()
+    inc $P10
+    set rx793_pos, $P10
+    ge rx793_pos, rx793_eos, rxscan797_done
+  rxscan797_scan:
+    set_addr $I10, rxscan797_loop
+    rx793_cur."!mark_push"(0, rx793_pos, $I10)
+  rxscan797_done:
+.annotate 'line', 381
+  # rx subrule "value" subtype=capture negate=
+    rx793_cur."!cursor_pos"(rx793_pos)
+    $P10 = rx793_cur."value"()
+    unless $P10, rx793_fail
+    rx793_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("value")
+    rx793_pos = $P10."pos"()
   # rx pass
-    rx791_cur."!cursor_pass"(rx791_pos, "value")
-    rx791_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx791_pos)
-    .return (rx791_cur)
-  rx791_fail:
-.annotate "line", 4
-    (rx791_rep, rx791_pos, $I10, $P10) = rx791_cur."!mark_fail"(0)
-    lt rx791_pos, -1, rx791_done
-    eq rx791_pos, -1, rx791_fail
+    rx793_cur."!cursor_pass"(rx793_pos, "term:sym<value>")
+    rx793_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx793_pos)
+    .return (rx793_cur)
+  rx793_fail:
+.annotate 'line', 4
+    (rx793_rep, rx793_pos, $I10, $P10) = rx793_cur."!mark_fail"(0)
+    lt rx793_pos, -1, rx793_done
+    eq rx793_pos, -1, rx793_fail
     jump $I10
-  rx791_done:
-    rx791_cur."!cursor_fail"()
-    rx791_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx791_cur)
+  rx793_done:
+    rx793_cur."!cursor_fail"()
+    rx793_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx793_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("184_1272816833.94956") :method
-.annotate "line", 4
-    $P793 = self."!PREFIX__!subrule"("number", "")
-    $P794 = self."!PREFIX__!subrule"("quote", "")
-    new $P795, "ResizablePMCArray"
-    push $P795, $P793
-    push $P795, $P794
-    .return ($P795)
+.sub "!PREFIX__term:sym<value>"  :subid("182_1273866379.28103") :method
+.annotate 'line', 4
+    $P795 = self."!PREFIX__!subrule"("value", "")
+    new $P796, "ResizablePMCArray"
+    push $P796, $P795
+    .return ($P796)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("185_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "value"  :subid("183_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx799_tgt
     .local int rx799_pos
     .local int rx799_off
@@ -9437,7 +9416,7 @@
     .local int rx799_rep
     .local pmc rx799_cur
     (rx799_cur, rx799_pos, rx799_tgt) = self."!cursor_start"()
-    rx799_cur."!cursor_debug"("START ", "number")
+    rx799_cur."!cursor_debug"("START ", "value")
     .lex unicode:"$\x{a2}", rx799_cur
     .local pmc match
     .lex "$/", match
@@ -9448,1035 +9427,1027 @@
     substr rx799_tgt, rx799_tgt, rx799_off
   rx799_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan802_done
-    goto rxscan802_scan
-  rxscan802_loop:
+    ne $I10, -1, rxscan804_done
+    goto rxscan804_scan
+  rxscan804_loop:
     ($P10) = rx799_cur."from"()
     inc $P10
     set rx799_pos, $P10
-    ge rx799_pos, rx799_eos, rxscan802_done
-  rxscan802_scan:
-    set_addr $I10, rxscan802_loop
+    ge rx799_pos, rx799_eos, rxscan804_done
+  rxscan804_scan:
+    set_addr $I10, rxscan804_loop
     rx799_cur."!mark_push"(0, rx799_pos, $I10)
-  rxscan802_done:
-.annotate "line", 388
-  # rx subcapture "sign"
-    set_addr $I10, rxcap_805_fail
+  rxscan804_done:
+  alt805_0:
+.annotate 'line', 383
+    set_addr $I10, alt805_1
     rx799_cur."!mark_push"(0, rx799_pos, $I10)
-  # rx rxquantr803 ** 0..1
-    set_addr $I804, rxquantr803_done
-    rx799_cur."!mark_push"(0, rx799_pos, $I804)
-  rxquantr803_loop:
-  # rx enumcharlist negate=0 
-    ge rx799_pos, rx799_eos, rx799_fail
-    sub $I10, rx799_pos, rx799_off
-    substr $S10, rx799_tgt, $I10, 1
-    index $I11, "+-", $S10
-    lt $I11, 0, rx799_fail
-    inc rx799_pos
-    (rx799_rep) = rx799_cur."!mark_commit"($I804)
-  rxquantr803_done:
-    set_addr $I10, rxcap_805_fail
-    ($I12, $I11) = rx799_cur."!mark_peek"($I10)
-    rx799_cur."!cursor_pos"($I11)
-    ($P10) = rx799_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx799_pos, "")
-    rx799_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sign")
-    goto rxcap_805_done
-  rxcap_805_fail:
-    goto rx799_fail
-  rxcap_805_done:
-  alt806_0:
-.annotate "line", 389
-    set_addr $I10, alt806_1
-    rx799_cur."!mark_push"(0, rx799_pos, $I10)
-  # rx subrule "dec_number" subtype=capture negate=
+.annotate 'line', 384
+  # rx subrule "quote" subtype=capture negate=
     rx799_cur."!cursor_pos"(rx799_pos)
-    $P10 = rx799_cur."dec_number"()
+    $P10 = rx799_cur."quote"()
     unless $P10, rx799_fail
     rx799_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("dec_number")
+    $P10."!cursor_names"("quote")
     rx799_pos = $P10."pos"()
-    goto alt806_end
-  alt806_1:
-  # rx subrule "integer" subtype=capture negate=
+    goto alt805_end
+  alt805_1:
+.annotate 'line', 385
+  # rx subrule "number" subtype=capture negate=
     rx799_cur."!cursor_pos"(rx799_pos)
-    $P10 = rx799_cur."integer"()
+    $P10 = rx799_cur."number"()
     unless $P10, rx799_fail
     rx799_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("integer")
+    $P10."!cursor_names"("number")
     rx799_pos = $P10."pos"()
-  alt806_end:
-.annotate "line", 387
+  alt805_end:
+.annotate 'line', 383
   # rx pass
-    rx799_cur."!cursor_pass"(rx799_pos, "number")
-    rx799_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx799_pos)
+    rx799_cur."!cursor_pass"(rx799_pos, "value")
+    rx799_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx799_pos)
     .return (rx799_cur)
   rx799_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx799_rep, rx799_pos, $I10, $P10) = rx799_cur."!mark_fail"(0)
     lt rx799_pos, -1, rx799_done
     eq rx799_pos, -1, rx799_fail
     jump $I10
   rx799_done:
     rx799_cur."!cursor_fail"()
-    rx799_cur."!cursor_debug"("FAIL  ", "number")
+    rx799_cur."!cursor_debug"("FAIL  ", "value")
     .return (rx799_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("186_1272816833.94956") :method
-.annotate "line", 4
-    new $P801, "ResizablePMCArray"
-    push $P801, ""
-    .return ($P801)
+.sub "!PREFIX__value"  :subid("184_1273866379.28103") :method
+.annotate 'line', 4
+    $P801 = self."!PREFIX__!subrule"("number", "")
+    $P802 = self."!PREFIX__!subrule"("quote", "")
+    new $P803, "ResizablePMCArray"
+    push $P803, $P801
+    push $P803, $P802
+    .return ($P803)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "number"  :subid("185_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx807_tgt
+    .local int rx807_pos
+    .local int rx807_off
+    .local int rx807_eos
+    .local int rx807_rep
+    .local pmc rx807_cur
+    (rx807_cur, rx807_pos, rx807_tgt) = self."!cursor_start"()
+    rx807_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx807_cur
+    .local pmc match
+    .lex "$/", match
+    length rx807_eos, rx807_tgt
+    set rx807_off, 0
+    lt rx807_pos, 2, rx807_start
+    sub rx807_off, rx807_pos, 1
+    substr rx807_tgt, rx807_tgt, rx807_off
+  rx807_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan810_done
+    goto rxscan810_scan
+  rxscan810_loop:
+    ($P10) = rx807_cur."from"()
+    inc $P10
+    set rx807_pos, $P10
+    ge rx807_pos, rx807_eos, rxscan810_done
+  rxscan810_scan:
+    set_addr $I10, rxscan810_loop
+    rx807_cur."!mark_push"(0, rx807_pos, $I10)
+  rxscan810_done:
+.annotate 'line', 389
+  # rx subcapture "sign"
+    set_addr $I10, rxcap_813_fail
+    rx807_cur."!mark_push"(0, rx807_pos, $I10)
+  # rx rxquantr811 ** 0..1
+    set_addr $I812, rxquantr811_done
+    rx807_cur."!mark_push"(0, rx807_pos, $I812)
+  rxquantr811_loop:
+  # rx enumcharlist negate=0 
+    ge rx807_pos, rx807_eos, rx807_fail
+    sub $I10, rx807_pos, rx807_off
+    substr $S10, rx807_tgt, $I10, 1
+    index $I11, "+-", $S10
+    lt $I11, 0, rx807_fail
+    inc rx807_pos
+    (rx807_rep) = rx807_cur."!mark_commit"($I812)
+  rxquantr811_done:
+    set_addr $I10, rxcap_813_fail
+    ($I12, $I11) = rx807_cur."!mark_peek"($I10)
+    rx807_cur."!cursor_pos"($I11)
+    ($P10) = rx807_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx807_pos, "")
+    rx807_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sign")
+    goto rxcap_813_done
+  rxcap_813_fail:
+    goto rx807_fail
+  rxcap_813_done:
+  alt814_0:
+.annotate 'line', 390
+    set_addr $I10, alt814_1
+    rx807_cur."!mark_push"(0, rx807_pos, $I10)
+  # rx subrule "dec_number" subtype=capture negate=
+    rx807_cur."!cursor_pos"(rx807_pos)
+    $P10 = rx807_cur."dec_number"()
+    unless $P10, rx807_fail
+    rx807_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("dec_number")
+    rx807_pos = $P10."pos"()
+    goto alt814_end
+  alt814_1:
+  # rx subrule "integer" subtype=capture negate=
+    rx807_cur."!cursor_pos"(rx807_pos)
+    $P10 = rx807_cur."integer"()
+    unless $P10, rx807_fail
+    rx807_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("integer")
+    rx807_pos = $P10."pos"()
+  alt814_end:
+.annotate 'line', 388
+  # rx pass
+    rx807_cur."!cursor_pass"(rx807_pos, "number")
+    rx807_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx807_pos)
+    .return (rx807_cur)
+  rx807_fail:
+.annotate 'line', 4
+    (rx807_rep, rx807_pos, $I10, $P10) = rx807_cur."!mark_fail"(0)
+    lt rx807_pos, -1, rx807_done
+    eq rx807_pos, -1, rx807_fail
+    jump $I10
+  rx807_done:
+    rx807_cur."!cursor_fail"()
+    rx807_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx807_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__number"  :subid("186_1273866379.28103") :method
+.annotate 'line', 4
+    new $P809, "ResizablePMCArray"
+    push $P809, ""
+    .return ($P809)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("187_1272816833.94956") :method
-.annotate "line", 392
-    $P808 = self."!protoregex"("quote")
-    .return ($P808)
+.sub "quote"  :subid("187_1273866379.28103") :method
+.annotate 'line', 393
+    $P816 = self."!protoregex"("quote")
+    .return ($P816)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("188_1272816833.94956") :method
-.annotate "line", 392
-    $P810 = self."!PREFIX__!protoregex"("quote")
-    .return ($P810)
+.sub "!PREFIX__quote"  :subid("188_1273866379.28103") :method
+.annotate 'line', 393
+    $P818 = self."!PREFIX__!protoregex"("quote")
+    .return ($P818)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("189_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx812_tgt
-    .local int rx812_pos
-    .local int rx812_off
-    .local int rx812_eos
-    .local int rx812_rep
-    .local pmc rx812_cur
-    (rx812_cur, rx812_pos, rx812_tgt) = self."!cursor_start"()
-    rx812_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx812_cur
+.sub "quote:sym<apos>"  :subid("189_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx820_tgt
+    .local int rx820_pos
+    .local int rx820_off
+    .local int rx820_eos
+    .local int rx820_rep
+    .local pmc rx820_cur
+    (rx820_cur, rx820_pos, rx820_tgt) = self."!cursor_start"()
+    rx820_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx820_cur
     .local pmc match
     .lex "$/", match
-    length rx812_eos, rx812_tgt
-    set rx812_off, 0
-    lt rx812_pos, 2, rx812_start
-    sub rx812_off, rx812_pos, 1
-    substr rx812_tgt, rx812_tgt, rx812_off
-  rx812_start:
+    length rx820_eos, rx820_tgt
+    set rx820_off, 0
+    lt rx820_pos, 2, rx820_start
+    sub rx820_off, rx820_pos, 1
+    substr rx820_tgt, rx820_tgt, rx820_off
+  rx820_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan815_done
-    goto rxscan815_scan
-  rxscan815_loop:
-    ($P10) = rx812_cur."from"()
+    ne $I10, -1, rxscan823_done
+    goto rxscan823_scan
+  rxscan823_loop:
+    ($P10) = rx820_cur."from"()
     inc $P10
-    set rx812_pos, $P10
-    ge rx812_pos, rx812_eos, rxscan815_done
-  rxscan815_scan:
-    set_addr $I10, rxscan815_loop
-    rx812_cur."!mark_push"(0, rx812_pos, $I10)
-  rxscan815_done:
-.annotate "line", 393
+    set rx820_pos, $P10
+    ge rx820_pos, rx820_eos, rxscan823_done
+  rxscan823_scan:
+    set_addr $I10, rxscan823_loop
+    rx820_cur."!mark_push"(0, rx820_pos, $I10)
+  rxscan823_done:
+.annotate 'line', 394
   # rx enumcharlist negate=0 zerowidth
-    ge rx812_pos, rx812_eos, rx812_fail
-    sub $I10, rx812_pos, rx812_off
-    substr $S10, rx812_tgt, $I10, 1
+    ge rx820_pos, rx820_eos, rx820_fail
+    sub $I10, rx820_pos, rx820_off
+    substr $S10, rx820_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx812_fail
+    lt $I11, 0, rx820_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx812_cur."!cursor_pos"(rx812_pos)
-    $P10 = rx812_cur."quote_EXPR"(":q")
-    unless $P10, rx812_fail
-    rx812_cur."!mark_push"(0, -1, 0, $P10)
+    rx820_cur."!cursor_pos"(rx820_pos)
+    $P10 = rx820_cur."quote_EXPR"(":q")
+    unless $P10, rx820_fail
+    rx820_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx812_pos = $P10."pos"()
+    rx820_pos = $P10."pos"()
   # rx pass
-    rx812_cur."!cursor_pass"(rx812_pos, "quote:sym<apos>")
-    rx812_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx812_pos)
-    .return (rx812_cur)
-  rx812_fail:
-.annotate "line", 4
-    (rx812_rep, rx812_pos, $I10, $P10) = rx812_cur."!mark_fail"(0)
-    lt rx812_pos, -1, rx812_done
-    eq rx812_pos, -1, rx812_fail
-    jump $I10
-  rx812_done:
-    rx812_cur."!cursor_fail"()
-    rx812_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx812_cur)
+    rx820_cur."!cursor_pass"(rx820_pos, "quote:sym<apos>")
+    rx820_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx820_pos)
+    .return (rx820_cur)
+  rx820_fail:
+.annotate 'line', 4
+    (rx820_rep, rx820_pos, $I10, $P10) = rx820_cur."!mark_fail"(0)
+    lt rx820_pos, -1, rx820_done
+    eq rx820_pos, -1, rx820_fail
+    jump $I10
+  rx820_done:
+    rx820_cur."!cursor_fail"()
+    rx820_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx820_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("190_1272816833.94956") :method
-.annotate "line", 4
-    new $P814, "ResizablePMCArray"
-    push $P814, "'"
-    .return ($P814)
+.sub "!PREFIX__quote:sym<apos>"  :subid("190_1273866379.28103") :method
+.annotate 'line', 4
+    new $P822, "ResizablePMCArray"
+    push $P822, "'"
+    .return ($P822)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("191_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx817_tgt
-    .local int rx817_pos
-    .local int rx817_off
-    .local int rx817_eos
-    .local int rx817_rep
-    .local pmc rx817_cur
-    (rx817_cur, rx817_pos, rx817_tgt) = self."!cursor_start"()
-    rx817_cur."!cursor_debug"("START ", "quote:sym<dblq>")
-    .lex unicode:"$\x{a2}", rx817_cur
-    .local pmc match
-    .lex "$/", match
-    length rx817_eos, rx817_tgt
-    set rx817_off, 0
-    lt rx817_pos, 2, rx817_start
-    sub rx817_off, rx817_pos, 1
-    substr rx817_tgt, rx817_tgt, rx817_off
-  rx817_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan820_done
-    goto rxscan820_scan
-  rxscan820_loop:
-    ($P10) = rx817_cur."from"()
-    inc $P10
-    set rx817_pos, $P10
-    ge rx817_pos, rx817_eos, rxscan820_done
-  rxscan820_scan:
-    set_addr $I10, rxscan820_loop
-    rx817_cur."!mark_push"(0, rx817_pos, $I10)
-  rxscan820_done:
-.annotate "line", 394
+.sub "quote:sym<dblq>"  :subid("191_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx825_tgt
+    .local int rx825_pos
+    .local int rx825_off
+    .local int rx825_eos
+    .local int rx825_rep
+    .local pmc rx825_cur
+    (rx825_cur, rx825_pos, rx825_tgt) = self."!cursor_start"()
+    rx825_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx825_cur
+    .local pmc match
+    .lex "$/", match
+    length rx825_eos, rx825_tgt
+    set rx825_off, 0
+    lt rx825_pos, 2, rx825_start
+    sub rx825_off, rx825_pos, 1
+    substr rx825_tgt, rx825_tgt, rx825_off
+  rx825_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan828_done
+    goto rxscan828_scan
+  rxscan828_loop:
+    ($P10) = rx825_cur."from"()
+    inc $P10
+    set rx825_pos, $P10
+    ge rx825_pos, rx825_eos, rxscan828_done
+  rxscan828_scan:
+    set_addr $I10, rxscan828_loop
+    rx825_cur."!mark_push"(0, rx825_pos, $I10)
+  rxscan828_done:
+.annotate 'line', 395
   # rx enumcharlist negate=0 zerowidth
-    ge rx817_pos, rx817_eos, rx817_fail
-    sub $I10, rx817_pos, rx817_off
-    substr $S10, rx817_tgt, $I10, 1
+    ge rx825_pos, rx825_eos, rx825_fail
+    sub $I10, rx825_pos, rx825_off
+    substr $S10, rx825_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx817_fail
+    lt $I11, 0, rx825_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx817_cur."!cursor_pos"(rx817_pos)
-    $P10 = rx817_cur."quote_EXPR"(":qq")
-    unless $P10, rx817_fail
-    rx817_cur."!mark_push"(0, -1, 0, $P10)
+    rx825_cur."!cursor_pos"(rx825_pos)
+    $P10 = rx825_cur."quote_EXPR"(":qq")
+    unless $P10, rx825_fail
+    rx825_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx817_pos = $P10."pos"()
+    rx825_pos = $P10."pos"()
   # rx pass
-    rx817_cur."!cursor_pass"(rx817_pos, "quote:sym<dblq>")
-    rx817_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx817_pos)
-    .return (rx817_cur)
-  rx817_fail:
-.annotate "line", 4
-    (rx817_rep, rx817_pos, $I10, $P10) = rx817_cur."!mark_fail"(0)
-    lt rx817_pos, -1, rx817_done
-    eq rx817_pos, -1, rx817_fail
-    jump $I10
-  rx817_done:
-    rx817_cur."!cursor_fail"()
-    rx817_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx817_cur)
+    rx825_cur."!cursor_pass"(rx825_pos, "quote:sym<dblq>")
+    rx825_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx825_pos)
+    .return (rx825_cur)
+  rx825_fail:
+.annotate 'line', 4
+    (rx825_rep, rx825_pos, $I10, $P10) = rx825_cur."!mark_fail"(0)
+    lt rx825_pos, -1, rx825_done
+    eq rx825_pos, -1, rx825_fail
+    jump $I10
+  rx825_done:
+    rx825_cur."!cursor_fail"()
+    rx825_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx825_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("192_1272816833.94956") :method
-.annotate "line", 4
-    new $P819, "ResizablePMCArray"
-    push $P819, "\""
-    .return ($P819)
+.sub "!PREFIX__quote:sym<dblq>"  :subid("192_1273866379.28103") :method
+.annotate 'line', 4
+    new $P827, "ResizablePMCArray"
+    push $P827, "\""
+    .return ($P827)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("193_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx822_tgt
-    .local int rx822_pos
-    .local int rx822_off
-    .local int rx822_eos
-    .local int rx822_rep
-    .local pmc rx822_cur
-    (rx822_cur, rx822_pos, rx822_tgt) = self."!cursor_start"()
-    rx822_cur."!cursor_debug"("START ", "quote:sym<q>")
-    .lex unicode:"$\x{a2}", rx822_cur
-    .local pmc match
-    .lex "$/", match
-    length rx822_eos, rx822_tgt
-    set rx822_off, 0
-    lt rx822_pos, 2, rx822_start
-    sub rx822_off, rx822_pos, 1
-    substr rx822_tgt, rx822_tgt, rx822_off
-  rx822_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan826_done
-    goto rxscan826_scan
-  rxscan826_loop:
-    ($P10) = rx822_cur."from"()
-    inc $P10
-    set rx822_pos, $P10
-    ge rx822_pos, rx822_eos, rxscan826_done
-  rxscan826_scan:
-    set_addr $I10, rxscan826_loop
-    rx822_cur."!mark_push"(0, rx822_pos, $I10)
-  rxscan826_done:
-.annotate "line", 395
+.sub "quote:sym<q>"  :subid("193_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx830_tgt
+    .local int rx830_pos
+    .local int rx830_off
+    .local int rx830_eos
+    .local int rx830_rep
+    .local pmc rx830_cur
+    (rx830_cur, rx830_pos, rx830_tgt) = self."!cursor_start"()
+    rx830_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx830_cur
+    .local pmc match
+    .lex "$/", match
+    length rx830_eos, rx830_tgt
+    set rx830_off, 0
+    lt rx830_pos, 2, rx830_start
+    sub rx830_off, rx830_pos, 1
+    substr rx830_tgt, rx830_tgt, rx830_off
+  rx830_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan834_done
+    goto rxscan834_scan
+  rxscan834_loop:
+    ($P10) = rx830_cur."from"()
+    inc $P10
+    set rx830_pos, $P10
+    ge rx830_pos, rx830_eos, rxscan834_done
+  rxscan834_scan:
+    set_addr $I10, rxscan834_loop
+    rx830_cur."!mark_push"(0, rx830_pos, $I10)
+  rxscan834_done:
+.annotate 'line', 396
   # rx literal  "q"
-    add $I11, rx822_pos, 1
-    gt $I11, rx822_eos, rx822_fail
-    sub $I11, rx822_pos, rx822_off
-    substr $S10, rx822_tgt, $I11, 1
-    ne $S10, "q", rx822_fail
-    add rx822_pos, 1
+    add $I11, rx830_pos, 1
+    gt $I11, rx830_eos, rx830_fail
+    sub $I11, rx830_pos, rx830_off
+    substr $S10, rx830_tgt, $I11, 1
+    ne $S10, "q", rx830_fail
+    add rx830_pos, 1
   # rxanchor rwb
-    le rx822_pos, 0, rx822_fail
-    sub $I10, rx822_pos, rx822_off
-    is_cclass $I11, 8192, rx822_tgt, $I10
-    if $I11, rx822_fail
+    le rx830_pos, 0, rx830_fail
+    sub $I10, rx830_pos, rx830_off
+    is_cclass $I11, 8192, rx830_tgt, $I10
+    if $I11, rx830_fail
     dec $I10
-    is_cclass $I11, 8192, rx822_tgt, $I10
-    unless $I11, rx822_fail
+    is_cclass $I11, 8192, rx830_tgt, $I10
+    unless $I11, rx830_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx822_pos, rx822_eos, rx822_fail
-    sub $I10, rx822_pos, rx822_off
-    substr $S10, rx822_tgt, $I10, 1
+    ge rx830_pos, rx830_eos, rx830_fail
+    sub $I10, rx830_pos, rx830_off
+    substr $S10, rx830_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx822_fail
+    ge $I11, 0, rx830_fail
   # rx subrule "ws" subtype=method negate=
-    rx822_cur."!cursor_pos"(rx822_pos)
-    $P10 = rx822_cur."ws"()
-    unless $P10, rx822_fail
-    rx822_pos = $P10."pos"()
+    rx830_cur."!cursor_pos"(rx830_pos)
+    $P10 = rx830_cur."ws"()
+    unless $P10, rx830_fail
+    rx830_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx822_cur."!cursor_pos"(rx822_pos)
-    $P10 = rx822_cur."quote_EXPR"(":q")
-    unless $P10, rx822_fail
-    rx822_cur."!mark_push"(0, -1, 0, $P10)
+    rx830_cur."!cursor_pos"(rx830_pos)
+    $P10 = rx830_cur."quote_EXPR"(":q")
+    unless $P10, rx830_fail
+    rx830_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx822_pos = $P10."pos"()
+    rx830_pos = $P10."pos"()
   # rx pass
-    rx822_cur."!cursor_pass"(rx822_pos, "quote:sym<q>")
-    rx822_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx822_pos)
-    .return (rx822_cur)
-  rx822_fail:
-.annotate "line", 4
-    (rx822_rep, rx822_pos, $I10, $P10) = rx822_cur."!mark_fail"(0)
-    lt rx822_pos, -1, rx822_done
-    eq rx822_pos, -1, rx822_fail
-    jump $I10
-  rx822_done:
-    rx822_cur."!cursor_fail"()
-    rx822_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx822_cur)
+    rx830_cur."!cursor_pass"(rx830_pos, "quote:sym<q>")
+    rx830_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx830_pos)
+    .return (rx830_cur)
+  rx830_fail:
+.annotate 'line', 4
+    (rx830_rep, rx830_pos, $I10, $P10) = rx830_cur."!mark_fail"(0)
+    lt rx830_pos, -1, rx830_done
+    eq rx830_pos, -1, rx830_fail
+    jump $I10
+  rx830_done:
+    rx830_cur."!cursor_fail"()
+    rx830_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx830_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("194_1272816833.94956") :method
-.annotate "line", 4
-    $P824 = self."!PREFIX__!subrule"("", "q")
-    new $P825, "ResizablePMCArray"
-    push $P825, $P824
-    .return ($P825)
+.sub "!PREFIX__quote:sym<q>"  :subid("194_1273866379.28103") :method
+.annotate 'line', 4
+    $P832 = self."!PREFIX__!subrule"("", "q")
+    new $P833, "ResizablePMCArray"
+    push $P833, $P832
+    .return ($P833)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("195_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx828_tgt
-    .local int rx828_pos
-    .local int rx828_off
-    .local int rx828_eos
-    .local int rx828_rep
-    .local pmc rx828_cur
-    (rx828_cur, rx828_pos, rx828_tgt) = self."!cursor_start"()
-    rx828_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx828_cur
-    .local pmc match
-    .lex "$/", match
-    length rx828_eos, rx828_tgt
-    set rx828_off, 0
-    lt rx828_pos, 2, rx828_start
-    sub rx828_off, rx828_pos, 1
-    substr rx828_tgt, rx828_tgt, rx828_off
-  rx828_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan832_done
-    goto rxscan832_scan
-  rxscan832_loop:
-    ($P10) = rx828_cur."from"()
-    inc $P10
-    set rx828_pos, $P10
-    ge rx828_pos, rx828_eos, rxscan832_done
-  rxscan832_scan:
-    set_addr $I10, rxscan832_loop
-    rx828_cur."!mark_push"(0, rx828_pos, $I10)
-  rxscan832_done:
-.annotate "line", 396
+.sub "quote:sym<qq>"  :subid("195_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx836_tgt
+    .local int rx836_pos
+    .local int rx836_off
+    .local int rx836_eos
+    .local int rx836_rep
+    .local pmc rx836_cur
+    (rx836_cur, rx836_pos, rx836_tgt) = self."!cursor_start"()
+    rx836_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx836_cur
+    .local pmc match
+    .lex "$/", match
+    length rx836_eos, rx836_tgt
+    set rx836_off, 0
+    lt rx836_pos, 2, rx836_start
+    sub rx836_off, rx836_pos, 1
+    substr rx836_tgt, rx836_tgt, rx836_off
+  rx836_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan840_done
+    goto rxscan840_scan
+  rxscan840_loop:
+    ($P10) = rx836_cur."from"()
+    inc $P10
+    set rx836_pos, $P10
+    ge rx836_pos, rx836_eos, rxscan840_done
+  rxscan840_scan:
+    set_addr $I10, rxscan840_loop
+    rx836_cur."!mark_push"(0, rx836_pos, $I10)
+  rxscan840_done:
+.annotate 'line', 397
   # rx literal  "qq"
-    add $I11, rx828_pos, 2
-    gt $I11, rx828_eos, rx828_fail
-    sub $I11, rx828_pos, rx828_off
-    substr $S10, rx828_tgt, $I11, 2
-    ne $S10, "qq", rx828_fail
-    add rx828_pos, 2
+    add $I11, rx836_pos, 2
+    gt $I11, rx836_eos, rx836_fail
+    sub $I11, rx836_pos, rx836_off
+    substr $S10, rx836_tgt, $I11, 2
+    ne $S10, "qq", rx836_fail
+    add rx836_pos, 2
   # rxanchor rwb
-    le rx828_pos, 0, rx828_fail
-    sub $I10, rx828_pos, rx828_off
-    is_cclass $I11, 8192, rx828_tgt, $I10
-    if $I11, rx828_fail
+    le rx836_pos, 0, rx836_fail
+    sub $I10, rx836_pos, rx836_off
+    is_cclass $I11, 8192, rx836_tgt, $I10
+    if $I11, rx836_fail
     dec $I10
-    is_cclass $I11, 8192, rx828_tgt, $I10
-    unless $I11, rx828_fail
+    is_cclass $I11, 8192, rx836_tgt, $I10
+    unless $I11, rx836_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx828_pos, rx828_eos, rx828_fail
-    sub $I10, rx828_pos, rx828_off
-    substr $S10, rx828_tgt, $I10, 1
+    ge rx836_pos, rx836_eos, rx836_fail
+    sub $I10, rx836_pos, rx836_off
+    substr $S10, rx836_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx828_fail
+    ge $I11, 0, rx836_fail
   # rx subrule "ws" subtype=method negate=
-    rx828_cur."!cursor_pos"(rx828_pos)
-    $P10 = rx828_cur."ws"()
-    unless $P10, rx828_fail
-    rx828_pos = $P10."pos"()
+    rx836_cur."!cursor_pos"(rx836_pos)
+    $P10 = rx836_cur."ws"()
+    unless $P10, rx836_fail
+    rx836_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx828_cur."!cursor_pos"(rx828_pos)
-    $P10 = rx828_cur."quote_EXPR"(":qq")
-    unless $P10, rx828_fail
-    rx828_cur."!mark_push"(0, -1, 0, $P10)
+    rx836_cur."!cursor_pos"(rx836_pos)
+    $P10 = rx836_cur."quote_EXPR"(":qq")
+    unless $P10, rx836_fail
+    rx836_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx828_pos = $P10."pos"()
+    rx836_pos = $P10."pos"()
   # rx pass
-    rx828_cur."!cursor_pass"(rx828_pos, "quote:sym<qq>")
-    rx828_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx828_pos)
-    .return (rx828_cur)
-  rx828_fail:
-.annotate "line", 4
-    (rx828_rep, rx828_pos, $I10, $P10) = rx828_cur."!mark_fail"(0)
-    lt rx828_pos, -1, rx828_done
-    eq rx828_pos, -1, rx828_fail
-    jump $I10
-  rx828_done:
-    rx828_cur."!cursor_fail"()
-    rx828_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx828_cur)
+    rx836_cur."!cursor_pass"(rx836_pos, "quote:sym<qq>")
+    rx836_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx836_pos)
+    .return (rx836_cur)
+  rx836_fail:
+.annotate 'line', 4
+    (rx836_rep, rx836_pos, $I10, $P10) = rx836_cur."!mark_fail"(0)
+    lt rx836_pos, -1, rx836_done
+    eq rx836_pos, -1, rx836_fail
+    jump $I10
+  rx836_done:
+    rx836_cur."!cursor_fail"()
+    rx836_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx836_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("196_1272816833.94956") :method
-.annotate "line", 4
-    $P830 = self."!PREFIX__!subrule"("", "qq")
-    new $P831, "ResizablePMCArray"
-    push $P831, $P830
-    .return ($P831)
+.sub "!PREFIX__quote:sym<qq>"  :subid("196_1273866379.28103") :method
+.annotate 'line', 4
+    $P838 = self."!PREFIX__!subrule"("", "qq")
+    new $P839, "ResizablePMCArray"
+    push $P839, $P838
+    .return ($P839)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("197_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx834_tgt
-    .local int rx834_pos
-    .local int rx834_off
-    .local int rx834_eos
-    .local int rx834_rep
-    .local pmc rx834_cur
-    (rx834_cur, rx834_pos, rx834_tgt) = self."!cursor_start"()
-    rx834_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx834_cur
-    .local pmc match
-    .lex "$/", match
-    length rx834_eos, rx834_tgt
-    set rx834_off, 0
-    lt rx834_pos, 2, rx834_start
-    sub rx834_off, rx834_pos, 1
-    substr rx834_tgt, rx834_tgt, rx834_off
-  rx834_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan838_done
-    goto rxscan838_scan
-  rxscan838_loop:
-    ($P10) = rx834_cur."from"()
-    inc $P10
-    set rx834_pos, $P10
-    ge rx834_pos, rx834_eos, rxscan838_done
-  rxscan838_scan:
-    set_addr $I10, rxscan838_loop
-    rx834_cur."!mark_push"(0, rx834_pos, $I10)
-  rxscan838_done:
-.annotate "line", 397
+.sub "quote:sym<Q>"  :subid("197_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx842_tgt
+    .local int rx842_pos
+    .local int rx842_off
+    .local int rx842_eos
+    .local int rx842_rep
+    .local pmc rx842_cur
+    (rx842_cur, rx842_pos, rx842_tgt) = self."!cursor_start"()
+    rx842_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx842_cur
+    .local pmc match
+    .lex "$/", match
+    length rx842_eos, rx842_tgt
+    set rx842_off, 0
+    lt rx842_pos, 2, rx842_start
+    sub rx842_off, rx842_pos, 1
+    substr rx842_tgt, rx842_tgt, rx842_off
+  rx842_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan846_done
+    goto rxscan846_scan
+  rxscan846_loop:
+    ($P10) = rx842_cur."from"()
+    inc $P10
+    set rx842_pos, $P10
+    ge rx842_pos, rx842_eos, rxscan846_done
+  rxscan846_scan:
+    set_addr $I10, rxscan846_loop
+    rx842_cur."!mark_push"(0, rx842_pos, $I10)
+  rxscan846_done:
+.annotate 'line', 398
   # rx literal  "Q"
-    add $I11, rx834_pos, 1
-    gt $I11, rx834_eos, rx834_fail
-    sub $I11, rx834_pos, rx834_off
-    substr $S10, rx834_tgt, $I11, 1
-    ne $S10, "Q", rx834_fail
-    add rx834_pos, 1
+    add $I11, rx842_pos, 1
+    gt $I11, rx842_eos, rx842_fail
+    sub $I11, rx842_pos, rx842_off
+    substr $S10, rx842_tgt, $I11, 1
+    ne $S10, "Q", rx842_fail
+    add rx842_pos, 1
   # rxanchor rwb
-    le rx834_pos, 0, rx834_fail
-    sub $I10, rx834_pos, rx834_off
-    is_cclass $I11, 8192, rx834_tgt, $I10
-    if $I11, rx834_fail
+    le rx842_pos, 0, rx842_fail
+    sub $I10, rx842_pos, rx842_off
+    is_cclass $I11, 8192, rx842_tgt, $I10
+    if $I11, rx842_fail
     dec $I10
-    is_cclass $I11, 8192, rx834_tgt, $I10
-    unless $I11, rx834_fail
+    is_cclass $I11, 8192, rx842_tgt, $I10
+    unless $I11, rx842_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx834_pos, rx834_eos, rx834_fail
-    sub $I10, rx834_pos, rx834_off
-    substr $S10, rx834_tgt, $I10, 1
+    ge rx842_pos, rx842_eos, rx842_fail
+    sub $I10, rx842_pos, rx842_off
+    substr $S10, rx842_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx834_fail
+    ge $I11, 0, rx842_fail
   # rx subrule "ws" subtype=method negate=
-    rx834_cur."!cursor_pos"(rx834_pos)
-    $P10 = rx834_cur."ws"()
-    unless $P10, rx834_fail
-    rx834_pos = $P10."pos"()
+    rx842_cur."!cursor_pos"(rx842_pos)
+    $P10 = rx842_cur."ws"()
+    unless $P10, rx842_fail
+    rx842_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx834_cur."!cursor_pos"(rx834_pos)
-    $P10 = rx834_cur."quote_EXPR"()
-    unless $P10, rx834_fail
-    rx834_cur."!mark_push"(0, -1, 0, $P10)
+    rx842_cur."!cursor_pos"(rx842_pos)
+    $P10 = rx842_cur."quote_EXPR"()
+    unless $P10, rx842_fail
+    rx842_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx834_pos = $P10."pos"()
+    rx842_pos = $P10."pos"()
   # rx pass
-    rx834_cur."!cursor_pass"(rx834_pos, "quote:sym<Q>")
-    rx834_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx834_pos)
-    .return (rx834_cur)
-  rx834_fail:
-.annotate "line", 4
-    (rx834_rep, rx834_pos, $I10, $P10) = rx834_cur."!mark_fail"(0)
-    lt rx834_pos, -1, rx834_done
-    eq rx834_pos, -1, rx834_fail
-    jump $I10
-  rx834_done:
-    rx834_cur."!cursor_fail"()
-    rx834_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx834_cur)
+    rx842_cur."!cursor_pass"(rx842_pos, "quote:sym<Q>")
+    rx842_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx842_pos)
+    .return (rx842_cur)
+  rx842_fail:
+.annotate 'line', 4
+    (rx842_rep, rx842_pos, $I10, $P10) = rx842_cur."!mark_fail"(0)
+    lt rx842_pos, -1, rx842_done
+    eq rx842_pos, -1, rx842_fail
+    jump $I10
+  rx842_done:
+    rx842_cur."!cursor_fail"()
+    rx842_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx842_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("198_1272816833.94956") :method
-.annotate "line", 4
-    $P836 = self."!PREFIX__!subrule"("", "Q")
-    new $P837, "ResizablePMCArray"
-    push $P837, $P836
-    .return ($P837)
+.sub "!PREFIX__quote:sym<Q>"  :subid("198_1273866379.28103") :method
+.annotate 'line', 4
+    $P844 = self."!PREFIX__!subrule"("", "Q")
+    new $P845, "ResizablePMCArray"
+    push $P845, $P844
+    .return ($P845)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("199_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx840_tgt
-    .local int rx840_pos
-    .local int rx840_off
-    .local int rx840_eos
-    .local int rx840_rep
-    .local pmc rx840_cur
-    (rx840_cur, rx840_pos, rx840_tgt) = self."!cursor_start"()
-    rx840_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx840_cur
-    .local pmc match
-    .lex "$/", match
-    length rx840_eos, rx840_tgt
-    set rx840_off, 0
-    lt rx840_pos, 2, rx840_start
-    sub rx840_off, rx840_pos, 1
-    substr rx840_tgt, rx840_tgt, rx840_off
-  rx840_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan844_done
-    goto rxscan844_scan
-  rxscan844_loop:
-    ($P10) = rx840_cur."from"()
-    inc $P10
-    set rx840_pos, $P10
-    ge rx840_pos, rx840_eos, rxscan844_done
-  rxscan844_scan:
-    set_addr $I10, rxscan844_loop
-    rx840_cur."!mark_push"(0, rx840_pos, $I10)
-  rxscan844_done:
-.annotate "line", 398
+.sub "quote:sym<Q:PIR>"  :subid("199_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx848_tgt
+    .local int rx848_pos
+    .local int rx848_off
+    .local int rx848_eos
+    .local int rx848_rep
+    .local pmc rx848_cur
+    (rx848_cur, rx848_pos, rx848_tgt) = self."!cursor_start"()
+    rx848_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx848_cur
+    .local pmc match
+    .lex "$/", match
+    length rx848_eos, rx848_tgt
+    set rx848_off, 0
+    lt rx848_pos, 2, rx848_start
+    sub rx848_off, rx848_pos, 1
+    substr rx848_tgt, rx848_tgt, rx848_off
+  rx848_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan852_done
+    goto rxscan852_scan
+  rxscan852_loop:
+    ($P10) = rx848_cur."from"()
+    inc $P10
+    set rx848_pos, $P10
+    ge rx848_pos, rx848_eos, rxscan852_done
+  rxscan852_scan:
+    set_addr $I10, rxscan852_loop
+    rx848_cur."!mark_push"(0, rx848_pos, $I10)
+  rxscan852_done:
+.annotate 'line', 399
   # rx literal  "Q:PIR"
-    add $I11, rx840_pos, 5
-    gt $I11, rx840_eos, rx840_fail
-    sub $I11, rx840_pos, rx840_off
-    substr $S10, rx840_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx840_fail
-    add rx840_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."ws"()
-    unless $P10, rx840_fail
-    rx840_pos = $P10."pos"()
+    add $I11, rx848_pos, 5
+    gt $I11, rx848_eos, rx848_fail
+    sub $I11, rx848_pos, rx848_off
+    substr $S10, rx848_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx848_fail
+    add rx848_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx848_cur."!cursor_pos"(rx848_pos)
+    $P10 = rx848_cur."ws"()
+    unless $P10, rx848_fail
+    rx848_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx840_cur."!cursor_pos"(rx840_pos)
-    $P10 = rx840_cur."quote_EXPR"()
-    unless $P10, rx840_fail
-    rx840_cur."!mark_push"(0, -1, 0, $P10)
+    rx848_cur."!cursor_pos"(rx848_pos)
+    $P10 = rx848_cur."quote_EXPR"()
+    unless $P10, rx848_fail
+    rx848_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx840_pos = $P10."pos"()
+    rx848_pos = $P10."pos"()
   # rx pass
-    rx840_cur."!cursor_pass"(rx840_pos, "quote:sym<Q:PIR>")
-    rx840_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx840_pos)
-    .return (rx840_cur)
-  rx840_fail:
-.annotate "line", 4
-    (rx840_rep, rx840_pos, $I10, $P10) = rx840_cur."!mark_fail"(0)
-    lt rx840_pos, -1, rx840_done
-    eq rx840_pos, -1, rx840_fail
-    jump $I10
-  rx840_done:
-    rx840_cur."!cursor_fail"()
-    rx840_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx840_cur)
+    rx848_cur."!cursor_pass"(rx848_pos, "quote:sym<Q:PIR>")
+    rx848_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx848_pos)
+    .return (rx848_cur)
+  rx848_fail:
+.annotate 'line', 4
+    (rx848_rep, rx848_pos, $I10, $P10) = rx848_cur."!mark_fail"(0)
+    lt rx848_pos, -1, rx848_done
+    eq rx848_pos, -1, rx848_fail
+    jump $I10
+  rx848_done:
+    rx848_cur."!cursor_fail"()
+    rx848_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx848_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("200_1272816833.94956") :method
-.annotate "line", 4
-    $P842 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P843, "ResizablePMCArray"
-    push $P843, $P842
-    .return ($P843)
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("200_1273866379.28103") :method
+.annotate 'line', 4
+    $P850 = self."!PREFIX__!subrule"("", "Q:PIR")
+    new $P851, "ResizablePMCArray"
+    push $P851, $P850
+    .return ($P851)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("201_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx846_tgt
-    .local int rx846_pos
-    .local int rx846_off
-    .local int rx846_eos
-    .local int rx846_rep
-    .local pmc rx846_cur
-    (rx846_cur, rx846_pos, rx846_tgt) = self."!cursor_start"()
-    rx846_cur."!cursor_debug"("START ", "quote:sym</ />")
-    .lex unicode:"$\x{a2}", rx846_cur
-    .local pmc match
-    .lex "$/", match
-    length rx846_eos, rx846_tgt
-    set rx846_off, 0
-    lt rx846_pos, 2, rx846_start
-    sub rx846_off, rx846_pos, 1
-    substr rx846_tgt, rx846_tgt, rx846_off
-  rx846_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan850_done
-    goto rxscan850_scan
-  rxscan850_loop:
-    ($P10) = rx846_cur."from"()
-    inc $P10
-    set rx846_pos, $P10
-    ge rx846_pos, rx846_eos, rxscan850_done
-  rxscan850_scan:
-    set_addr $I10, rxscan850_loop
-    rx846_cur."!mark_push"(0, rx846_pos, $I10)
-  rxscan850_done:
-.annotate "line", 400
+.sub "quote:sym</ />"  :subid("201_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx854_tgt
+    .local int rx854_pos
+    .local int rx854_off
+    .local int rx854_eos
+    .local int rx854_rep
+    .local pmc rx854_cur
+    (rx854_cur, rx854_pos, rx854_tgt) = self."!cursor_start"()
+    rx854_cur."!cursor_debug"("START ", "quote:sym</ />")
+    .lex unicode:"$\x{a2}", rx854_cur
+    .local pmc match
+    .lex "$/", match
+    length rx854_eos, rx854_tgt
+    set rx854_off, 0
+    lt rx854_pos, 2, rx854_start
+    sub rx854_off, rx854_pos, 1
+    substr rx854_tgt, rx854_tgt, rx854_off
+  rx854_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan858_done
+    goto rxscan858_scan
+  rxscan858_loop:
+    ($P10) = rx854_cur."from"()
+    inc $P10
+    set rx854_pos, $P10
+    ge rx854_pos, rx854_eos, rxscan858_done
+  rxscan858_scan:
+    set_addr $I10, rxscan858_loop
+    rx854_cur."!mark_push"(0, rx854_pos, $I10)
+  rxscan858_done:
+.annotate 'line', 401
   # rx literal  "/"
-    add $I11, rx846_pos, 1
-    gt $I11, rx846_eos, rx846_fail
-    sub $I11, rx846_pos, rx846_off
-    substr $S10, rx846_tgt, $I11, 1
-    ne $S10, "/", rx846_fail
-    add rx846_pos, 1
-.annotate "line", 401
+    add $I11, rx854_pos, 1
+    gt $I11, rx854_eos, rx854_fail
+    sub $I11, rx854_pos, rx854_off
+    substr $S10, rx854_tgt, $I11, 1
+    ne $S10, "/", rx854_fail
+    add rx854_pos, 1
+.annotate 'line', 402
   # rx subrule "newpad" subtype=method negate=
-    rx846_cur."!cursor_pos"(rx846_pos)
-    $P10 = rx846_cur."newpad"()
-    unless $P10, rx846_fail
-    rx846_pos = $P10."pos"()
-.annotate "line", 402
+    rx854_cur."!cursor_pos"(rx854_pos)
+    $P10 = rx854_cur."newpad"()
+    unless $P10, rx854_fail
+    rx854_pos = $P10."pos"()
+.annotate 'line', 403
   # rx reduce name="quote:sym</ />" key="open"
-    rx846_cur."!cursor_pos"(rx846_pos)
-    rx846_cur."!reduce"("quote:sym</ />", "open")
-.annotate "line", 403
+    rx854_cur."!cursor_pos"(rx854_pos)
+    rx854_cur."!reduce"("quote:sym</ />", "open")
+.annotate 'line', 404
   # rx subrule "LANG" subtype=capture negate=
-    rx846_cur."!cursor_pos"(rx846_pos)
-    $P10 = rx846_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx846_fail
-    rx846_cur."!mark_push"(0, -1, 0, $P10)
+    rx854_cur."!cursor_pos"(rx854_pos)
+    $P10 = rx854_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx854_fail
+    rx854_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx846_pos = $P10."pos"()
-.annotate "line", 404
+    rx854_pos = $P10."pos"()
+.annotate 'line', 405
   # rx literal  "/"
-    add $I11, rx846_pos, 1
-    gt $I11, rx846_eos, rx846_fail
-    sub $I11, rx846_pos, rx846_off
-    substr $S10, rx846_tgt, $I11, 1
-    ne $S10, "/", rx846_fail
-    add rx846_pos, 1
-.annotate "line", 399
-  # rx pass
-    rx846_cur."!cursor_pass"(rx846_pos, "quote:sym</ />")
-    rx846_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx846_pos)
-    .return (rx846_cur)
-  rx846_fail:
-.annotate "line", 4
-    (rx846_rep, rx846_pos, $I10, $P10) = rx846_cur."!mark_fail"(0)
-    lt rx846_pos, -1, rx846_done
-    eq rx846_pos, -1, rx846_fail
-    jump $I10
-  rx846_done:
-    rx846_cur."!cursor_fail"()
-    rx846_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
-    .return (rx846_cur)
+    add $I11, rx854_pos, 1
+    gt $I11, rx854_eos, rx854_fail
+    sub $I11, rx854_pos, rx854_off
+    substr $S10, rx854_tgt, $I11, 1
+    ne $S10, "/", rx854_fail
+    add rx854_pos, 1
+.annotate 'line', 400
+  # rx pass
+    rx854_cur."!cursor_pass"(rx854_pos, "quote:sym</ />")
+    rx854_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx854_pos)
+    .return (rx854_cur)
+  rx854_fail:
+.annotate 'line', 4
+    (rx854_rep, rx854_pos, $I10, $P10) = rx854_cur."!mark_fail"(0)
+    lt rx854_pos, -1, rx854_done
+    eq rx854_pos, -1, rx854_fail
+    jump $I10
+  rx854_done:
+    rx854_cur."!cursor_fail"()
+    rx854_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
+    .return (rx854_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("202_1272816833.94956") :method
-.annotate "line", 4
-    $P848 = self."!PREFIX__!subrule"("", "/")
-    new $P849, "ResizablePMCArray"
-    push $P849, $P848
-    .return ($P849)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("203_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx852_tgt
-    .local int rx852_pos
-    .local int rx852_off
-    .local int rx852_eos
-    .local int rx852_rep
-    .local pmc rx852_cur
-    (rx852_cur, rx852_pos, rx852_tgt) = self."!cursor_start"()
-    rx852_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx852_cur
-    .local pmc match
-    .lex "$/", match
-    length rx852_eos, rx852_tgt
-    set rx852_off, 0
-    lt rx852_pos, 2, rx852_start
-    sub rx852_off, rx852_pos, 1
-    substr rx852_tgt, rx852_tgt, rx852_off
-  rx852_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan855_done
-    goto rxscan855_scan
-  rxscan855_loop:
-    ($P10) = rx852_cur."from"()
-    inc $P10
-    set rx852_pos, $P10
-    ge rx852_pos, rx852_eos, rxscan855_done
-  rxscan855_scan:
-    set_addr $I10, rxscan855_loop
-    rx852_cur."!mark_push"(0, rx852_pos, $I10)
-  rxscan855_done:
-.annotate "line", 407
+.sub "!PREFIX__quote:sym</ />"  :subid("202_1273866379.28103") :method
+.annotate 'line', 4
+    $P856 = self."!PREFIX__!subrule"("", "/")
+    new $P857, "ResizablePMCArray"
+    push $P857, $P856
+    .return ($P857)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "quote_escape:sym<$>"  :subid("203_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx860_tgt
+    .local int rx860_pos
+    .local int rx860_off
+    .local int rx860_eos
+    .local int rx860_rep
+    .local pmc rx860_cur
+    (rx860_cur, rx860_pos, rx860_tgt) = self."!cursor_start"()
+    rx860_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx860_cur
+    .local pmc match
+    .lex "$/", match
+    length rx860_eos, rx860_tgt
+    set rx860_off, 0
+    lt rx860_pos, 2, rx860_start
+    sub rx860_off, rx860_pos, 1
+    substr rx860_tgt, rx860_tgt, rx860_off
+  rx860_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan863_done
+    goto rxscan863_scan
+  rxscan863_loop:
+    ($P10) = rx860_cur."from"()
+    inc $P10
+    set rx860_pos, $P10
+    ge rx860_pos, rx860_eos, rxscan863_done
+  rxscan863_scan:
+    set_addr $I10, rxscan863_loop
+    rx860_cur."!mark_push"(0, rx860_pos, $I10)
+  rxscan863_done:
+.annotate 'line', 408
   # rx enumcharlist negate=0 zerowidth
-    ge rx852_pos, rx852_eos, rx852_fail
-    sub $I10, rx852_pos, rx852_off
-    substr $S10, rx852_tgt, $I10, 1
+    ge rx860_pos, rx860_eos, rx860_fail
+    sub $I10, rx860_pos, rx860_off
+    substr $S10, rx860_tgt, $I10, 1
     index $I11, "$", $S10
-    lt $I11, 0, rx852_fail
+    lt $I11, 0, rx860_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx852_cur."!cursor_pos"(rx852_pos)
-    $P10 = rx852_cur."quotemod_check"("s")
-    unless $P10, rx852_fail
+    rx860_cur."!cursor_pos"(rx860_pos)
+    $P10 = rx860_cur."quotemod_check"("s")
+    unless $P10, rx860_fail
   # rx subrule "variable" subtype=capture negate=
-    rx852_cur."!cursor_pos"(rx852_pos)
-    $P10 = rx852_cur."variable"()
-    unless $P10, rx852_fail
-    rx852_cur."!mark_push"(0, -1, 0, $P10)
+    rx860_cur."!cursor_pos"(rx860_pos)
+    $P10 = rx860_cur."variable"()
+    unless $P10, rx860_fail
+    rx860_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx852_pos = $P10."pos"()
+    rx860_pos = $P10."pos"()
   # rx pass
-    rx852_cur."!cursor_pass"(rx852_pos, "quote_escape:sym<$>")
-    rx852_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx852_pos)
-    .return (rx852_cur)
-  rx852_fail:
-.annotate "line", 4
-    (rx852_rep, rx852_pos, $I10, $P10) = rx852_cur."!mark_fail"(0)
-    lt rx852_pos, -1, rx852_done
-    eq rx852_pos, -1, rx852_fail
-    jump $I10
-  rx852_done:
-    rx852_cur."!cursor_fail"()
-    rx852_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx852_cur)
+    rx860_cur."!cursor_pass"(rx860_pos, "quote_escape:sym<$>")
+    rx860_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx860_pos)
+    .return (rx860_cur)
+  rx860_fail:
+.annotate 'line', 4
+    (rx860_rep, rx860_pos, $I10, $P10) = rx860_cur."!mark_fail"(0)
+    lt rx860_pos, -1, rx860_done
+    eq rx860_pos, -1, rx860_fail
+    jump $I10
+  rx860_done:
+    rx860_cur."!cursor_fail"()
+    rx860_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx860_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("204_1272816833.94956") :method
-.annotate "line", 4
-    new $P854, "ResizablePMCArray"
-    push $P854, "$"
-    .return ($P854)
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("204_1273866379.28103") :method
+.annotate 'line', 4
+    new $P862, "ResizablePMCArray"
+    push $P862, "$"
+    .return ($P862)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("205_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx857_tgt
-    .local int rx857_pos
-    .local int rx857_off
-    .local int rx857_eos
-    .local int rx857_rep
-    .local pmc rx857_cur
-    (rx857_cur, rx857_pos, rx857_tgt) = self."!cursor_start"()
-    rx857_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx857_cur
-    .local pmc match
-    .lex "$/", match
-    length rx857_eos, rx857_tgt
-    set rx857_off, 0
-    lt rx857_pos, 2, rx857_start
-    sub rx857_off, rx857_pos, 1
-    substr rx857_tgt, rx857_tgt, rx857_off
-  rx857_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan860_done
-    goto rxscan860_scan
-  rxscan860_loop:
-    ($P10) = rx857_cur."from"()
-    inc $P10
-    set rx857_pos, $P10
-    ge rx857_pos, rx857_eos, rxscan860_done
-  rxscan860_scan:
-    set_addr $I10, rxscan860_loop
-    rx857_cur."!mark_push"(0, rx857_pos, $I10)
-  rxscan860_done:
-.annotate "line", 408
+.sub "quote_escape:sym<{ }>"  :subid("205_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx865_tgt
+    .local int rx865_pos
+    .local int rx865_off
+    .local int rx865_eos
+    .local int rx865_rep
+    .local pmc rx865_cur
+    (rx865_cur, rx865_pos, rx865_tgt) = self."!cursor_start"()
+    rx865_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx865_cur
+    .local pmc match
+    .lex "$/", match
+    length rx865_eos, rx865_tgt
+    set rx865_off, 0
+    lt rx865_pos, 2, rx865_start
+    sub rx865_off, rx865_pos, 1
+    substr rx865_tgt, rx865_tgt, rx865_off
+  rx865_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan868_done
+    goto rxscan868_scan
+  rxscan868_loop:
+    ($P10) = rx865_cur."from"()
+    inc $P10
+    set rx865_pos, $P10
+    ge rx865_pos, rx865_eos, rxscan868_done
+  rxscan868_scan:
+    set_addr $I10, rxscan868_loop
+    rx865_cur."!mark_push"(0, rx865_pos, $I10)
+  rxscan868_done:
+.annotate 'line', 409
   # rx enumcharlist negate=0 zerowidth
-    ge rx857_pos, rx857_eos, rx857_fail
-    sub $I10, rx857_pos, rx857_off
-    substr $S10, rx857_tgt, $I10, 1
+    ge rx865_pos, rx865_eos, rx865_fail
+    sub $I10, rx865_pos, rx865_off
+    substr $S10, rx865_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx857_fail
+    lt $I11, 0, rx865_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx857_cur."!cursor_pos"(rx857_pos)
-    $P10 = rx857_cur."quotemod_check"("c")
-    unless $P10, rx857_fail
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."quotemod_check"("c")
+    unless $P10, rx865_fail
   # rx subrule "block" subtype=capture negate=
-    rx857_cur."!cursor_pos"(rx857_pos)
-    $P10 = rx857_cur."block"()
-    unless $P10, rx857_fail
-    rx857_cur."!mark_push"(0, -1, 0, $P10)
+    rx865_cur."!cursor_pos"(rx865_pos)
+    $P10 = rx865_cur."block"()
+    unless $P10, rx865_fail
+    rx865_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx857_pos = $P10."pos"()
+    rx865_pos = $P10."pos"()
   # rx pass
-    rx857_cur."!cursor_pass"(rx857_pos, "quote_escape:sym<{ }>")
-    rx857_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx857_pos)
-    .return (rx857_cur)
-  rx857_fail:
-.annotate "line", 4
-    (rx857_rep, rx857_pos, $I10, $P10) = rx857_cur."!mark_fail"(0)
-    lt rx857_pos, -1, rx857_done
-    eq rx857_pos, -1, rx857_fail
-    jump $I10
-  rx857_done:
-    rx857_cur."!cursor_fail"()
-    rx857_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx857_cur)
+    rx865_cur."!cursor_pass"(rx865_pos, "quote_escape:sym<{ }>")
+    rx865_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx865_pos)
+    .return (rx865_cur)
+  rx865_fail:
+.annotate 'line', 4
+    (rx865_rep, rx865_pos, $I10, $P10) = rx865_cur."!mark_fail"(0)
+    lt rx865_pos, -1, rx865_done
+    eq rx865_pos, -1, rx865_fail
+    jump $I10
+  rx865_done:
+    rx865_cur."!cursor_fail"()
+    rx865_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx865_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("206_1272816833.94956") :method
-.annotate "line", 4
-    new $P859, "ResizablePMCArray"
-    push $P859, "{"
-    .return ($P859)
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("206_1273866379.28103") :method
+.annotate 'line', 4
+    new $P867, "ResizablePMCArray"
+    push $P867, "{"
+    .return ($P867)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("207_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx862_tgt
-    .local int rx862_pos
-    .local int rx862_off
-    .local int rx862_eos
-    .local int rx862_rep
-    .local pmc rx862_cur
-    (rx862_cur, rx862_pos, rx862_tgt) = self."!cursor_start"()
-    rx862_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
-    .lex unicode:"$\x{a2}", rx862_cur
-    .local pmc match
-    .lex "$/", match
-    length rx862_eos, rx862_tgt
-    set rx862_off, 0
-    lt rx862_pos, 2, rx862_start
-    sub rx862_off, rx862_pos, 1
-    substr rx862_tgt, rx862_tgt, rx862_off
-  rx862_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan865_done
-    goto rxscan865_scan
-  rxscan865_loop:
-    ($P10) = rx862_cur."from"()
-    inc $P10
-    set rx862_pos, $P10
-    ge rx862_pos, rx862_eos, rxscan865_done
-  rxscan865_scan:
-    set_addr $I10, rxscan865_loop
-    rx862_cur."!mark_push"(0, rx862_pos, $I10)
-  rxscan865_done:
-.annotate "line", 409
+.sub "quote_escape:sym<esc>"  :subid("207_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx870_tgt
+    .local int rx870_pos
+    .local int rx870_off
+    .local int rx870_eos
+    .local int rx870_rep
+    .local pmc rx870_cur
+    (rx870_cur, rx870_pos, rx870_tgt) = self."!cursor_start"()
+    rx870_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
+    .lex unicode:"$\x{a2}", rx870_cur
+    .local pmc match
+    .lex "$/", match
+    length rx870_eos, rx870_tgt
+    set rx870_off, 0
+    lt rx870_pos, 2, rx870_start
+    sub rx870_off, rx870_pos, 1
+    substr rx870_tgt, rx870_tgt, rx870_off
+  rx870_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan873_done
+    goto rxscan873_scan
+  rxscan873_loop:
+    ($P10) = rx870_cur."from"()
+    inc $P10
+    set rx870_pos, $P10
+    ge rx870_pos, rx870_eos, rxscan873_done
+  rxscan873_scan:
+    set_addr $I10, rxscan873_loop
+    rx870_cur."!mark_push"(0, rx870_pos, $I10)
+  rxscan873_done:
+.annotate 'line', 410
   # rx literal  "\\e"
-    add $I11, rx862_pos, 2
-    gt $I11, rx862_eos, rx862_fail
-    sub $I11, rx862_pos, rx862_off
-    substr $S10, rx862_tgt, $I11, 2
-    ne $S10, "\\e", rx862_fail
-    add rx862_pos, 2
+    add $I11, rx870_pos, 2
+    gt $I11, rx870_eos, rx870_fail
+    sub $I11, rx870_pos, rx870_off
+    substr $S10, rx870_tgt, $I11, 2
+    ne $S10, "\\e", rx870_fail
+    add rx870_pos, 2
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx862_cur."!cursor_pos"(rx862_pos)
-    $P10 = rx862_cur."quotemod_check"("b")
-    unless $P10, rx862_fail
-  # rx pass
-    rx862_cur."!cursor_pass"(rx862_pos, "quote_escape:sym<esc>")
-    rx862_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx862_pos)
-    .return (rx862_cur)
-  rx862_fail:
-.annotate "line", 4
-    (rx862_rep, rx862_pos, $I10, $P10) = rx862_cur."!mark_fail"(0)
-    lt rx862_pos, -1, rx862_done
-    eq rx862_pos, -1, rx862_fail
-    jump $I10
-  rx862_done:
-    rx862_cur."!cursor_fail"()
-    rx862_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
-    .return (rx862_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("208_1272816833.94956") :method
-.annotate "line", 4
-    new $P864, "ResizablePMCArray"
-    push $P864, "\\e"
-    .return ($P864)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("209_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx867_tgt
-    .local int rx867_pos
-    .local int rx867_off
-    .local int rx867_eos
-    .local int rx867_rep
-    .local pmc rx867_cur
-    (rx867_cur, rx867_pos, rx867_tgt) = self."!cursor_start"()
-    rx867_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx867_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx867_cur
-    .local pmc match
-    .lex "$/", match
-    length rx867_eos, rx867_tgt
-    set rx867_off, 0
-    lt rx867_pos, 2, rx867_start
-    sub rx867_off, rx867_pos, 1
-    substr rx867_tgt, rx867_tgt, rx867_off
-  rx867_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan871_done
-    goto rxscan871_scan
-  rxscan871_loop:
-    ($P10) = rx867_cur."from"()
-    inc $P10
-    set rx867_pos, $P10
-    ge rx867_pos, rx867_eos, rxscan871_done
-  rxscan871_scan:
-    set_addr $I10, rxscan871_loop
-    rx867_cur."!mark_push"(0, rx867_pos, $I10)
-  rxscan871_done:
-.annotate "line", 411
-  # rx literal  "("
-    add $I11, rx867_pos, 1
-    gt $I11, rx867_eos, rx867_fail
-    sub $I11, rx867_pos, rx867_off
-    substr $S10, rx867_tgt, $I11, 1
-    ne $S10, "(", rx867_fail
-    add rx867_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx867_cur."!cursor_pos"(rx867_pos)
-    $P10 = rx867_cur."ws"()
-    unless $P10, rx867_fail
-    rx867_pos = $P10."pos"()
-  # rx rxquantr872 ** 0..1
-    set_addr $I873, rxquantr872_done
-    rx867_cur."!mark_push"(0, rx867_pos, $I873)
-  rxquantr872_loop:
-  # rx subrule "EXPR" subtype=capture negate=
-    rx867_cur."!cursor_pos"(rx867_pos)
-    $P10 = rx867_cur."EXPR"()
-    unless $P10, rx867_fail
-    rx867_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx867_pos = $P10."pos"()
-    (rx867_rep) = rx867_cur."!mark_commit"($I873)
-  rxquantr872_done:
-  # rx literal  ")"
-    add $I11, rx867_pos, 1
-    gt $I11, rx867_eos, rx867_fail
-    sub $I11, rx867_pos, rx867_off
-    substr $S10, rx867_tgt, $I11, 1
-    ne $S10, ")", rx867_fail
-    add rx867_pos, 1
+    rx870_cur."!cursor_pos"(rx870_pos)
+    $P10 = rx870_cur."quotemod_check"("b")
+    unless $P10, rx870_fail
   # rx pass
-    rx867_cur."!cursor_pass"(rx867_pos, "circumfix:sym<( )>")
-    rx867_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx867_pos)
-    .return (rx867_cur)
-  rx867_fail:
-.annotate "line", 4
-    (rx867_rep, rx867_pos, $I10, $P10) = rx867_cur."!mark_fail"(0)
-    lt rx867_pos, -1, rx867_done
-    eq rx867_pos, -1, rx867_fail
+    rx870_cur."!cursor_pass"(rx870_pos, "quote_escape:sym<esc>")
+    rx870_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx870_pos)
+    .return (rx870_cur)
+  rx870_fail:
+.annotate 'line', 4
+    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
+    lt rx870_pos, -1, rx870_done
+    eq rx870_pos, -1, rx870_fail
     jump $I10
-  rx867_done:
-    rx867_cur."!cursor_fail"()
-    rx867_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx867_cur)
+  rx870_done:
+    rx870_cur."!cursor_fail"()
+    rx870_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
+    .return (rx870_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("210_1272816833.94956") :method
-.annotate "line", 4
-    $P869 = self."!PREFIX__!subrule"("", "(")
-    new $P870, "ResizablePMCArray"
-    push $P870, $P869
-    .return ($P870)
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("208_1273866379.28103") :method
+.annotate 'line', 4
+    new $P872, "ResizablePMCArray"
+    push $P872, "\\e"
+    .return ($P872)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("211_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "circumfix:sym<( )>"  :subid("209_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx875_tgt
     .local int rx875_pos
     .local int rx875_off
@@ -10484,7 +10455,7 @@
     .local int rx875_rep
     .local pmc rx875_cur
     (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
-    rx875_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx875_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
     rx875_cur."!cursor_caparray"("EXPR")
     .lex unicode:"$\x{a2}", rx875_cur
     .local pmc match
@@ -10507,13 +10478,13 @@
     set_addr $I10, rxscan879_loop
     rx875_cur."!mark_push"(0, rx875_pos, $I10)
   rxscan879_done:
-.annotate "line", 412
-  # rx literal  "["
+.annotate 'line', 412
+  # rx literal  "("
     add $I11, rx875_pos, 1
     gt $I11, rx875_eos, rx875_fail
     sub $I11, rx875_pos, rx875_off
     substr $S10, rx875_tgt, $I11, 1
-    ne $S10, "[", rx875_fail
+    ne $S10, "(", rx875_fail
     add rx875_pos, 1
   # rx subrule "ws" subtype=method negate=
     rx875_cur."!cursor_pos"(rx875_pos)
@@ -10533,35 +10504,35 @@
     rx875_pos = $P10."pos"()
     (rx875_rep) = rx875_cur."!mark_commit"($I881)
   rxquantr880_done:
-  # rx literal  "]"
+  # rx literal  ")"
     add $I11, rx875_pos, 1
     gt $I11, rx875_eos, rx875_fail
     sub $I11, rx875_pos, rx875_off
     substr $S10, rx875_tgt, $I11, 1
-    ne $S10, "]", rx875_fail
+    ne $S10, ")", rx875_fail
     add rx875_pos, 1
   # rx pass
-    rx875_cur."!cursor_pass"(rx875_pos, "circumfix:sym<[ ]>")
-    rx875_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx875_pos)
+    rx875_cur."!cursor_pass"(rx875_pos, "circumfix:sym<( )>")
+    rx875_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx875_pos)
     .return (rx875_cur)
   rx875_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
     lt rx875_pos, -1, rx875_done
     eq rx875_pos, -1, rx875_fail
     jump $I10
   rx875_done:
     rx875_cur."!cursor_fail"()
-    rx875_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    rx875_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
     .return (rx875_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("212_1272816833.94956") :method
-.annotate "line", 4
-    $P877 = self."!PREFIX__!subrule"("", "[")
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("210_1273866379.28103") :method
+.annotate 'line', 4
+    $P877 = self."!PREFIX__!subrule"("", "(")
     new $P878, "ResizablePMCArray"
     push $P878, $P877
     .return ($P878)
@@ -10569,8 +10540,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("213_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "circumfix:sym<[ ]>"  :subid("211_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx883_tgt
     .local int rx883_pos
     .local int rx883_off
@@ -10578,7 +10549,8 @@
     .local int rx883_rep
     .local pmc rx883_cur
     (rx883_cur, rx883_pos, rx883_tgt) = self."!cursor_start"()
-    rx883_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    rx883_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx883_cur."!cursor_caparray"("EXPR")
     .lex unicode:"$\x{a2}", rx883_cur
     .local pmc match
     .lex "$/", match
@@ -10589,307 +10561,300 @@
     substr rx883_tgt, rx883_tgt, rx883_off
   rx883_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan886_done
-    goto rxscan886_scan
-  rxscan886_loop:
+    ne $I10, -1, rxscan887_done
+    goto rxscan887_scan
+  rxscan887_loop:
     ($P10) = rx883_cur."from"()
     inc $P10
     set rx883_pos, $P10
-    ge rx883_pos, rx883_eos, rxscan886_done
-  rxscan886_scan:
-    set_addr $I10, rxscan886_loop
+    ge rx883_pos, rx883_eos, rxscan887_done
+  rxscan887_scan:
+    set_addr $I10, rxscan887_loop
     rx883_cur."!mark_push"(0, rx883_pos, $I10)
-  rxscan886_done:
-.annotate "line", 413
-  # rx enumcharlist negate=0 zerowidth
-    ge rx883_pos, rx883_eos, rx883_fail
-    sub $I10, rx883_pos, rx883_off
-    substr $S10, rx883_tgt, $I10, 1
-    index $I11, "<", $S10
-    lt $I11, 0, rx883_fail
-  # rx subrule "quote_EXPR" subtype=capture negate=
+  rxscan887_done:
+.annotate 'line', 413
+  # rx literal  "["
+    add $I11, rx883_pos, 1
+    gt $I11, rx883_eos, rx883_fail
+    sub $I11, rx883_pos, rx883_off
+    substr $S10, rx883_tgt, $I11, 1
+    ne $S10, "[", rx883_fail
+    add rx883_pos, 1
+  # rx subrule "ws" subtype=method negate=
     rx883_cur."!cursor_pos"(rx883_pos)
-    $P10 = rx883_cur."quote_EXPR"(":q", ":w")
+    $P10 = rx883_cur."ws"()
+    unless $P10, rx883_fail
+    rx883_pos = $P10."pos"()
+  # rx rxquantr888 ** 0..1
+    set_addr $I889, rxquantr888_done
+    rx883_cur."!mark_push"(0, rx883_pos, $I889)
+  rxquantr888_loop:
+  # rx subrule "EXPR" subtype=capture negate=
+    rx883_cur."!cursor_pos"(rx883_pos)
+    $P10 = rx883_cur."EXPR"()
     unless $P10, rx883_fail
     rx883_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quote_EXPR")
+    $P10."!cursor_names"("EXPR")
     rx883_pos = $P10."pos"()
+    (rx883_rep) = rx883_cur."!mark_commit"($I889)
+  rxquantr888_done:
+  # rx literal  "]"
+    add $I11, rx883_pos, 1
+    gt $I11, rx883_eos, rx883_fail
+    sub $I11, rx883_pos, rx883_off
+    substr $S10, rx883_tgt, $I11, 1
+    ne $S10, "]", rx883_fail
+    add rx883_pos, 1
   # rx pass
-    rx883_cur."!cursor_pass"(rx883_pos, "circumfix:sym<ang>")
-    rx883_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx883_pos)
+    rx883_cur."!cursor_pass"(rx883_pos, "circumfix:sym<[ ]>")
+    rx883_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx883_pos)
     .return (rx883_cur)
   rx883_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx883_rep, rx883_pos, $I10, $P10) = rx883_cur."!mark_fail"(0)
     lt rx883_pos, -1, rx883_done
     eq rx883_pos, -1, rx883_fail
     jump $I10
   rx883_done:
     rx883_cur."!cursor_fail"()
-    rx883_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    rx883_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
     .return (rx883_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("214_1272816833.94956") :method
-.annotate "line", 4
-    new $P885, "ResizablePMCArray"
-    push $P885, "<"
-    .return ($P885)
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("212_1273866379.28103") :method
+.annotate 'line', 4
+    $P885 = self."!PREFIX__!subrule"("", "[")
+    new $P886, "ResizablePMCArray"
+    push $P886, $P885
+    .return ($P886)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("215_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx888_tgt
-    .local int rx888_pos
-    .local int rx888_off
-    .local int rx888_eos
-    .local int rx888_rep
-    .local pmc rx888_cur
-    (rx888_cur, rx888_pos, rx888_tgt) = self."!cursor_start"()
-    rx888_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .lex unicode:"$\x{a2}", rx888_cur
-    .local pmc match
-    .lex "$/", match
-    length rx888_eos, rx888_tgt
-    set rx888_off, 0
-    lt rx888_pos, 2, rx888_start
-    sub rx888_off, rx888_pos, 1
-    substr rx888_tgt, rx888_tgt, rx888_off
-  rx888_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan891_done
-    goto rxscan891_scan
-  rxscan891_loop:
-    ($P10) = rx888_cur."from"()
-    inc $P10
-    set rx888_pos, $P10
-    ge rx888_pos, rx888_eos, rxscan891_done
-  rxscan891_scan:
-    set_addr $I10, rxscan891_loop
-    rx888_cur."!mark_push"(0, rx888_pos, $I10)
-  rxscan891_done:
-.annotate "line", 414
+.sub "circumfix:sym<ang>"  :subid("213_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx891_tgt
+    .local int rx891_pos
+    .local int rx891_off
+    .local int rx891_eos
+    .local int rx891_rep
+    .local pmc rx891_cur
+    (rx891_cur, rx891_pos, rx891_tgt) = self."!cursor_start"()
+    rx891_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx891_cur
+    .local pmc match
+    .lex "$/", match
+    length rx891_eos, rx891_tgt
+    set rx891_off, 0
+    lt rx891_pos, 2, rx891_start
+    sub rx891_off, rx891_pos, 1
+    substr rx891_tgt, rx891_tgt, rx891_off
+  rx891_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan894_done
+    goto rxscan894_scan
+  rxscan894_loop:
+    ($P10) = rx891_cur."from"()
+    inc $P10
+    set rx891_pos, $P10
+    ge rx891_pos, rx891_eos, rxscan894_done
+  rxscan894_scan:
+    set_addr $I10, rxscan894_loop
+    rx891_cur."!mark_push"(0, rx891_pos, $I10)
+  rxscan894_done:
+.annotate 'line', 414
   # rx enumcharlist negate=0 zerowidth
-    ge rx888_pos, rx888_eos, rx888_fail
-    sub $I10, rx888_pos, rx888_off
-    substr $S10, rx888_tgt, $I10, 1
-    index $I11, unicode:"\x{ab}", $S10
-    lt $I11, 0, rx888_fail
+    ge rx891_pos, rx891_eos, rx891_fail
+    sub $I10, rx891_pos, rx891_off
+    substr $S10, rx891_tgt, $I10, 1
+    index $I11, "<", $S10
+    lt $I11, 0, rx891_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx888_cur."!cursor_pos"(rx888_pos)
-    $P10 = rx888_cur."quote_EXPR"(":qq", ":w")
-    unless $P10, rx888_fail
-    rx888_cur."!mark_push"(0, -1, 0, $P10)
+    rx891_cur."!cursor_pos"(rx891_pos)
+    $P10 = rx891_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx891_fail
+    rx891_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx888_pos = $P10."pos"()
+    rx891_pos = $P10."pos"()
   # rx pass
-    rx888_cur."!cursor_pass"(rx888_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    rx888_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx888_pos)
-    .return (rx888_cur)
-  rx888_fail:
-.annotate "line", 4
-    (rx888_rep, rx888_pos, $I10, $P10) = rx888_cur."!mark_fail"(0)
-    lt rx888_pos, -1, rx888_done
-    eq rx888_pos, -1, rx888_fail
-    jump $I10
-  rx888_done:
-    rx888_cur."!cursor_fail"()
-    rx888_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .return (rx888_cur)
+    rx891_cur."!cursor_pass"(rx891_pos, "circumfix:sym<ang>")
+    rx891_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx891_pos)
+    .return (rx891_cur)
+  rx891_fail:
+.annotate 'line', 4
+    (rx891_rep, rx891_pos, $I10, $P10) = rx891_cur."!mark_fail"(0)
+    lt rx891_pos, -1, rx891_done
+    eq rx891_pos, -1, rx891_fail
+    jump $I10
+  rx891_done:
+    rx891_cur."!cursor_fail"()
+    rx891_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx891_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("216_1272816833.94956") :method
-.annotate "line", 4
-    new $P890, "ResizablePMCArray"
-    push $P890, unicode:"\x{ab}"
-    .return ($P890)
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("214_1273866379.28103") :method
+.annotate 'line', 4
+    new $P893, "ResizablePMCArray"
+    push $P893, "<"
+    .return ($P893)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("217_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx893_tgt
-    .local int rx893_pos
-    .local int rx893_off
-    .local int rx893_eos
-    .local int rx893_rep
-    .local pmc rx893_cur
-    (rx893_cur, rx893_pos, rx893_tgt) = self."!cursor_start"()
-    rx893_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx893_cur
-    .local pmc match
-    .lex "$/", match
-    length rx893_eos, rx893_tgt
-    set rx893_off, 0
-    lt rx893_pos, 2, rx893_start
-    sub rx893_off, rx893_pos, 1
-    substr rx893_tgt, rx893_tgt, rx893_off
-  rx893_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan896_done
-    goto rxscan896_scan
-  rxscan896_loop:
-    ($P10) = rx893_cur."from"()
-    inc $P10
-    set rx893_pos, $P10
-    ge rx893_pos, rx893_eos, rxscan896_done
-  rxscan896_scan:
-    set_addr $I10, rxscan896_loop
-    rx893_cur."!mark_push"(0, rx893_pos, $I10)
-  rxscan896_done:
-.annotate "line", 415
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("215_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx896_tgt
+    .local int rx896_pos
+    .local int rx896_off
+    .local int rx896_eos
+    .local int rx896_rep
+    .local pmc rx896_cur
+    (rx896_cur, rx896_pos, rx896_tgt) = self."!cursor_start"()
+    rx896_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .lex unicode:"$\x{a2}", rx896_cur
+    .local pmc match
+    .lex "$/", match
+    length rx896_eos, rx896_tgt
+    set rx896_off, 0
+    lt rx896_pos, 2, rx896_start
+    sub rx896_off, rx896_pos, 1
+    substr rx896_tgt, rx896_tgt, rx896_off
+  rx896_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan899_done
+    goto rxscan899_scan
+  rxscan899_loop:
+    ($P10) = rx896_cur."from"()
+    inc $P10
+    set rx896_pos, $P10
+    ge rx896_pos, rx896_eos, rxscan899_done
+  rxscan899_scan:
+    set_addr $I10, rxscan899_loop
+    rx896_cur."!mark_push"(0, rx896_pos, $I10)
+  rxscan899_done:
+.annotate 'line', 415
   # rx enumcharlist negate=0 zerowidth
-    ge rx893_pos, rx893_eos, rx893_fail
-    sub $I10, rx893_pos, rx893_off
-    substr $S10, rx893_tgt, $I10, 1
-    index $I11, "{", $S10
-    lt $I11, 0, rx893_fail
-  # rx subrule "pblock" subtype=capture negate=
-    rx893_cur."!cursor_pos"(rx893_pos)
-    $P10 = rx893_cur."pblock"()
-    unless $P10, rx893_fail
-    rx893_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
-    rx893_pos = $P10."pos"()
+    ge rx896_pos, rx896_eos, rx896_fail
+    sub $I10, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I10, 1
+    index $I11, unicode:"\x{ab}", $S10
+    lt $I11, 0, rx896_fail
+  # rx subrule "quote_EXPR" subtype=capture negate=
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."quote_EXPR"(":qq", ":w")
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quote_EXPR")
+    rx896_pos = $P10."pos"()
   # rx pass
-    rx893_cur."!cursor_pass"(rx893_pos, "circumfix:sym<{ }>")
-    rx893_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx893_pos)
-    .return (rx893_cur)
-  rx893_fail:
-.annotate "line", 4
-    (rx893_rep, rx893_pos, $I10, $P10) = rx893_cur."!mark_fail"(0)
-    lt rx893_pos, -1, rx893_done
-    eq rx893_pos, -1, rx893_fail
-    jump $I10
-  rx893_done:
-    rx893_cur."!cursor_fail"()
-    rx893_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx893_cur)
+    rx896_cur."!cursor_pass"(rx896_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx896_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx896_pos)
+    .return (rx896_cur)
+  rx896_fail:
+.annotate 'line', 4
+    (rx896_rep, rx896_pos, $I10, $P10) = rx896_cur."!mark_fail"(0)
+    lt rx896_pos, -1, rx896_done
+    eq rx896_pos, -1, rx896_fail
+    jump $I10
+  rx896_done:
+    rx896_cur."!cursor_fail"()
+    rx896_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .return (rx896_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("218_1272816833.94956") :method
-.annotate "line", 4
-    new $P895, "ResizablePMCArray"
-    push $P895, "{"
-    .return ($P895)
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("216_1273866379.28103") :method
+.annotate 'line', 4
+    new $P898, "ResizablePMCArray"
+    push $P898, unicode:"\x{ab}"
+    .return ($P898)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("219_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
-    .local string rx898_tgt
-    .local int rx898_pos
-    .local int rx898_off
-    .local int rx898_eos
-    .local int rx898_rep
-    .local pmc rx898_cur
-    (rx898_cur, rx898_pos, rx898_tgt) = self."!cursor_start"()
-    rx898_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx898_cur
-    .local pmc match
-    .lex "$/", match
-    length rx898_eos, rx898_tgt
-    set rx898_off, 0
-    lt rx898_pos, 2, rx898_start
-    sub rx898_off, rx898_pos, 1
-    substr rx898_tgt, rx898_tgt, rx898_off
-  rx898_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan902_done
-    goto rxscan902_scan
-  rxscan902_loop:
-    ($P10) = rx898_cur."from"()
-    inc $P10
-    set rx898_pos, $P10
-    ge rx898_pos, rx898_eos, rxscan902_done
-  rxscan902_scan:
-    set_addr $I10, rxscan902_loop
-    rx898_cur."!mark_push"(0, rx898_pos, $I10)
-  rxscan902_done:
-.annotate "line", 416
-  # rx subrule "sigil" subtype=capture negate=
-    rx898_cur."!cursor_pos"(rx898_pos)
-    $P10 = rx898_cur."sigil"()
-    unless $P10, rx898_fail
-    rx898_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    rx898_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx898_pos, 1
-    gt $I11, rx898_eos, rx898_fail
-    sub $I11, rx898_pos, rx898_off
-    substr $S10, rx898_tgt, $I11, 1
-    ne $S10, "(", rx898_fail
-    add rx898_pos, 1
-  # rx subrule "semilist" subtype=capture negate=
-    rx898_cur."!cursor_pos"(rx898_pos)
-    $P10 = rx898_cur."semilist"()
-    unless $P10, rx898_fail
-    rx898_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("semilist")
-    rx898_pos = $P10."pos"()
-  alt903_0:
-    set_addr $I10, alt903_1
-    rx898_cur."!mark_push"(0, rx898_pos, $I10)
-  # rx literal  ")"
-    add $I11, rx898_pos, 1
-    gt $I11, rx898_eos, rx898_fail
-    sub $I11, rx898_pos, rx898_off
-    substr $S10, rx898_tgt, $I11, 1
-    ne $S10, ")", rx898_fail
-    add rx898_pos, 1
-    goto alt903_end
-  alt903_1:
-  # rx subrule "FAILGOAL" subtype=method negate=
-    rx898_cur."!cursor_pos"(rx898_pos)
-    $P10 = rx898_cur."FAILGOAL"("')'")
-    unless $P10, rx898_fail
-    rx898_pos = $P10."pos"()
-  alt903_end:
+.sub "circumfix:sym<{ }>"  :subid("217_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx901_tgt
+    .local int rx901_pos
+    .local int rx901_off
+    .local int rx901_eos
+    .local int rx901_rep
+    .local pmc rx901_cur
+    (rx901_cur, rx901_pos, rx901_tgt) = self."!cursor_start"()
+    rx901_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx901_cur
+    .local pmc match
+    .lex "$/", match
+    length rx901_eos, rx901_tgt
+    set rx901_off, 0
+    lt rx901_pos, 2, rx901_start
+    sub rx901_off, rx901_pos, 1
+    substr rx901_tgt, rx901_tgt, rx901_off
+  rx901_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan904_done
+    goto rxscan904_scan
+  rxscan904_loop:
+    ($P10) = rx901_cur."from"()
+    inc $P10
+    set rx901_pos, $P10
+    ge rx901_pos, rx901_eos, rxscan904_done
+  rxscan904_scan:
+    set_addr $I10, rxscan904_loop
+    rx901_cur."!mark_push"(0, rx901_pos, $I10)
+  rxscan904_done:
+.annotate 'line', 416
+  # rx enumcharlist negate=0 zerowidth
+    ge rx901_pos, rx901_eos, rx901_fail
+    sub $I10, rx901_pos, rx901_off
+    substr $S10, rx901_tgt, $I10, 1
+    index $I11, "{", $S10
+    lt $I11, 0, rx901_fail
+  # rx subrule "pblock" subtype=capture negate=
+    rx901_cur."!cursor_pos"(rx901_pos)
+    $P10 = rx901_cur."pblock"()
+    unless $P10, rx901_fail
+    rx901_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("pblock")
+    rx901_pos = $P10."pos"()
   # rx pass
-    rx898_cur."!cursor_pass"(rx898_pos, "circumfix:sym<sigil>")
-    rx898_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx898_pos)
-    .return (rx898_cur)
-  rx898_fail:
-.annotate "line", 4
-    (rx898_rep, rx898_pos, $I10, $P10) = rx898_cur."!mark_fail"(0)
-    lt rx898_pos, -1, rx898_done
-    eq rx898_pos, -1, rx898_fail
+    rx901_cur."!cursor_pass"(rx901_pos, "circumfix:sym<{ }>")
+    rx901_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx901_pos)
+    .return (rx901_cur)
+  rx901_fail:
+.annotate 'line', 4
+    (rx901_rep, rx901_pos, $I10, $P10) = rx901_cur."!mark_fail"(0)
+    lt rx901_pos, -1, rx901_done
+    eq rx901_pos, -1, rx901_fail
     jump $I10
-  rx898_done:
-    rx898_cur."!cursor_fail"()
-    rx898_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx898_cur)
+  rx901_done:
+    rx901_cur."!cursor_fail"()
+    rx901_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
+    .return (rx901_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("220_1272816833.94956") :method
-.annotate "line", 4
-    $P900 = self."!PREFIX__!subrule"("sigil", "")
-    new $P901, "ResizablePMCArray"
-    push $P901, $P900
-    .return ($P901)
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("218_1273866379.28103") :method
+.annotate 'line', 4
+    new $P903, "ResizablePMCArray"
+    push $P903, "{"
+    .return ($P903)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("221_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 4
+.sub "circumfix:sym<sigil>"  :subid("219_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
     .local string rx906_tgt
     .local int rx906_pos
     .local int rx906_off
@@ -10897,7 +10862,7 @@
     .local int rx906_rep
     .local pmc rx906_cur
     (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"()
-    rx906_cur."!cursor_debug"("START ", "semilist")
+    rx906_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
     .lex unicode:"$\x{a2}", rx906_cur
     .local pmc match
     .lex "$/", match
@@ -10908,5322 +10873,5679 @@
     substr rx906_tgt, rx906_tgt, rx906_off
   rx906_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan909_done
-    goto rxscan909_scan
-  rxscan909_loop:
+    ne $I10, -1, rxscan910_done
+    goto rxscan910_scan
+  rxscan910_loop:
     ($P10) = rx906_cur."from"()
     inc $P10
     set rx906_pos, $P10
-    ge rx906_pos, rx906_eos, rxscan909_done
-  rxscan909_scan:
-    set_addr $I10, rxscan909_loop
+    ge rx906_pos, rx906_eos, rxscan910_done
+  rxscan910_scan:
+    set_addr $I10, rxscan910_loop
     rx906_cur."!mark_push"(0, rx906_pos, $I10)
-  rxscan909_done:
-.annotate "line", 418
-  # rx subrule "ws" subtype=method negate=
+  rxscan910_done:
+.annotate 'line', 417
+  # rx subrule "sigil" subtype=capture negate=
     rx906_cur."!cursor_pos"(rx906_pos)
-    $P10 = rx906_cur."ws"()
+    $P10 = rx906_cur."sigil"()
     unless $P10, rx906_fail
+    rx906_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
     rx906_pos = $P10."pos"()
-  # rx subrule "statement" subtype=capture negate=
+  # rx literal  "("
+    add $I11, rx906_pos, 1
+    gt $I11, rx906_eos, rx906_fail
+    sub $I11, rx906_pos, rx906_off
+    substr $S10, rx906_tgt, $I11, 1
+    ne $S10, "(", rx906_fail
+    add rx906_pos, 1
+  # rx subrule "semilist" subtype=capture negate=
     rx906_cur."!cursor_pos"(rx906_pos)
-    $P10 = rx906_cur."statement"()
+    $P10 = rx906_cur."semilist"()
     unless $P10, rx906_fail
     rx906_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement")
+    $P10."!cursor_names"("semilist")
     rx906_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
+  alt911_0:
+    set_addr $I10, alt911_1
+    rx906_cur."!mark_push"(0, rx906_pos, $I10)
+  # rx literal  ")"
+    add $I11, rx906_pos, 1
+    gt $I11, rx906_eos, rx906_fail
+    sub $I11, rx906_pos, rx906_off
+    substr $S10, rx906_tgt, $I11, 1
+    ne $S10, ")", rx906_fail
+    add rx906_pos, 1
+    goto alt911_end
+  alt911_1:
+  # rx subrule "FAILGOAL" subtype=method negate=
     rx906_cur."!cursor_pos"(rx906_pos)
-    $P10 = rx906_cur."ws"()
+    $P10 = rx906_cur."FAILGOAL"("')'")
     unless $P10, rx906_fail
     rx906_pos = $P10."pos"()
+  alt911_end:
   # rx pass
-    rx906_cur."!cursor_pass"(rx906_pos, "semilist")
-    rx906_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx906_pos)
+    rx906_cur."!cursor_pass"(rx906_pos, "circumfix:sym<sigil>")
+    rx906_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx906_pos)
     .return (rx906_cur)
   rx906_fail:
-.annotate "line", 4
+.annotate 'line', 4
     (rx906_rep, rx906_pos, $I10, $P10) = rx906_cur."!mark_fail"(0)
     lt rx906_pos, -1, rx906_done
     eq rx906_pos, -1, rx906_fail
     jump $I10
   rx906_done:
     rx906_cur."!cursor_fail"()
-    rx906_cur."!cursor_debug"("FAIL  ", "semilist")
+    rx906_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
     .return (rx906_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("222_1272816833.94956") :method
-.annotate "line", 4
-    new $P908, "ResizablePMCArray"
-    push $P908, ""
-    .return ($P908)
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("220_1273866379.28103") :method
+.annotate 'line', 4
+    $P908 = self."!PREFIX__!subrule"("sigil", "")
+    new $P909, "ResizablePMCArray"
+    push $P909, $P908
+    .return ($P909)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "semilist"  :subid("221_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 4
+    .local string rx914_tgt
+    .local int rx914_pos
+    .local int rx914_off
+    .local int rx914_eos
+    .local int rx914_rep
+    .local pmc rx914_cur
+    (rx914_cur, rx914_pos, rx914_tgt) = self."!cursor_start"()
+    rx914_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx914_cur
+    .local pmc match
+    .lex "$/", match
+    length rx914_eos, rx914_tgt
+    set rx914_off, 0
+    lt rx914_pos, 2, rx914_start
+    sub rx914_off, rx914_pos, 1
+    substr rx914_tgt, rx914_tgt, rx914_off
+  rx914_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan917_done
+    goto rxscan917_scan
+  rxscan917_loop:
+    ($P10) = rx914_cur."from"()
+    inc $P10
+    set rx914_pos, $P10
+    ge rx914_pos, rx914_eos, rxscan917_done
+  rxscan917_scan:
+    set_addr $I10, rxscan917_loop
+    rx914_cur."!mark_push"(0, rx914_pos, $I10)
+  rxscan917_done:
+.annotate 'line', 419
+  # rx subrule "ws" subtype=method negate=
+    rx914_cur."!cursor_pos"(rx914_pos)
+    $P10 = rx914_cur."ws"()
+    unless $P10, rx914_fail
+    rx914_pos = $P10."pos"()
+  # rx subrule "statement" subtype=capture negate=
+    rx914_cur."!cursor_pos"(rx914_pos)
+    $P10 = rx914_cur."statement"()
+    unless $P10, rx914_fail
+    rx914_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("statement")
+    rx914_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx914_cur."!cursor_pos"(rx914_pos)
+    $P10 = rx914_cur."ws"()
+    unless $P10, rx914_fail
+    rx914_pos = $P10."pos"()
+  # rx pass
+    rx914_cur."!cursor_pass"(rx914_pos, "semilist")
+    rx914_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx914_pos)
+    .return (rx914_cur)
+  rx914_fail:
+.annotate 'line', 4
+    (rx914_rep, rx914_pos, $I10, $P10) = rx914_cur."!mark_fail"(0)
+    lt rx914_pos, -1, rx914_done
+    eq rx914_pos, -1, rx914_fail
+    jump $I10
+  rx914_done:
+    rx914_cur."!cursor_fail"()
+    rx914_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx914_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("223_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx913_tgt
-    .local int rx913_pos
-    .local int rx913_off
-    .local int rx913_eos
-    .local int rx913_rep
-    .local pmc rx913_cur
-    (rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
-    rx913_cur."!cursor_debug"("START ", "infixish")
-    .lex unicode:"$\x{a2}", rx913_cur
-    .local pmc match
-    .lex "$/", match
-    length rx913_eos, rx913_tgt
-    set rx913_off, 0
-    lt rx913_pos, 2, rx913_start
-    sub rx913_off, rx913_pos, 1
-    substr rx913_tgt, rx913_tgt, rx913_off
-  rx913_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan916_done
-    goto rxscan916_scan
-  rxscan916_loop:
-    ($P10) = rx913_cur."from"()
-    inc $P10
-    set rx913_pos, $P10
-    ge rx913_pos, rx913_eos, rxscan916_done
-  rxscan916_scan:
-    set_addr $I10, rxscan916_loop
-    rx913_cur."!mark_push"(0, rx913_pos, $I10)
-  rxscan916_done:
-.annotate "line", 441
+.sub "!PREFIX__semilist"  :subid("222_1273866379.28103") :method
+.annotate 'line', 4
+    new $P916, "ResizablePMCArray"
+    push $P916, ""
+    .return ($P916)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "infixish"  :subid("223_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx921_tgt
+    .local int rx921_pos
+    .local int rx921_off
+    .local int rx921_eos
+    .local int rx921_rep
+    .local pmc rx921_cur
+    (rx921_cur, rx921_pos, rx921_tgt) = self."!cursor_start"()
+    rx921_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx921_cur
+    .local pmc match
+    .lex "$/", match
+    length rx921_eos, rx921_tgt
+    set rx921_off, 0
+    lt rx921_pos, 2, rx921_start
+    sub rx921_off, rx921_pos, 1
+    substr rx921_tgt, rx921_tgt, rx921_off
+  rx921_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan924_done
+    goto rxscan924_scan
+  rxscan924_loop:
+    ($P10) = rx921_cur."from"()
+    inc $P10
+    set rx921_pos, $P10
+    ge rx921_pos, rx921_eos, rxscan924_done
+  rxscan924_scan:
+    set_addr $I10, rxscan924_loop
+    rx921_cur."!mark_push"(0, rx921_pos, $I10)
+  rxscan924_done:
+.annotate 'line', 442
   # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."infixstopper"()
-    if $P10, rx913_fail
+    rx921_cur."!cursor_pos"(rx921_pos)
+    $P10 = rx921_cur."infixstopper"()
+    if $P10, rx921_fail
   # rx subrule "infix" subtype=capture negate=
-    rx913_cur."!cursor_pos"(rx913_pos)
-    $P10 = rx913_cur."infix"()
-    unless $P10, rx913_fail
-    rx913_cur."!mark_push"(0, -1, 0, $P10)
+    rx921_cur."!cursor_pos"(rx921_pos)
+    $P10 = rx921_cur."infix"()
+    unless $P10, rx921_fail
+    rx921_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("OPER=infix")
-    rx913_pos = $P10."pos"()
+    rx921_pos = $P10."pos"()
   # rx pass
-    rx913_cur."!cursor_pass"(rx913_pos, "infixish")
-    rx913_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx913_pos)
-    .return (rx913_cur)
-  rx913_fail:
-.annotate "line", 422
-    (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
-    lt rx913_pos, -1, rx913_done
-    eq rx913_pos, -1, rx913_fail
-    jump $I10
-  rx913_done:
-    rx913_cur."!cursor_fail"()
-    rx913_cur."!cursor_debug"("FAIL  ", "infixish")
-    .return (rx913_cur)
+    rx921_cur."!cursor_pass"(rx921_pos, "infixish")
+    rx921_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx921_pos)
+    .return (rx921_cur)
+  rx921_fail:
+.annotate 'line', 423
+    (rx921_rep, rx921_pos, $I10, $P10) = rx921_cur."!mark_fail"(0)
+    lt rx921_pos, -1, rx921_done
+    eq rx921_pos, -1, rx921_fail
+    jump $I10
+  rx921_done:
+    rx921_cur."!cursor_fail"()
+    rx921_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx921_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("224_1272816833.94956") :method
-.annotate "line", 422
-    new $P915, "ResizablePMCArray"
-    push $P915, ""
-    .return ($P915)
+.sub "!PREFIX__infixish"  :subid("224_1273866379.28103") :method
+.annotate 'line', 423
+    new $P923, "ResizablePMCArray"
+    push $P923, ""
+    .return ($P923)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("225_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx918_tgt
-    .local int rx918_pos
-    .local int rx918_off
-    .local int rx918_eos
-    .local int rx918_rep
-    .local pmc rx918_cur
-    (rx918_cur, rx918_pos, rx918_tgt) = self."!cursor_start"()
-    rx918_cur."!cursor_debug"("START ", "infixstopper")
-    .lex unicode:"$\x{a2}", rx918_cur
-    .local pmc match
-    .lex "$/", match
-    length rx918_eos, rx918_tgt
-    set rx918_off, 0
-    lt rx918_pos, 2, rx918_start
-    sub rx918_off, rx918_pos, 1
-    substr rx918_tgt, rx918_tgt, rx918_off
-  rx918_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan921_done
-    goto rxscan921_scan
-  rxscan921_loop:
-    ($P10) = rx918_cur."from"()
-    inc $P10
-    set rx918_pos, $P10
-    ge rx918_pos, rx918_eos, rxscan921_done
-  rxscan921_scan:
-    set_addr $I10, rxscan921_loop
-    rx918_cur."!mark_push"(0, rx918_pos, $I10)
-  rxscan921_done:
-.annotate "line", 442
+.sub "infixstopper"  :subid("225_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx926_tgt
+    .local int rx926_pos
+    .local int rx926_off
+    .local int rx926_eos
+    .local int rx926_rep
+    .local pmc rx926_cur
+    (rx926_cur, rx926_pos, rx926_tgt) = self."!cursor_start"()
+    rx926_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx926_cur
+    .local pmc match
+    .lex "$/", match
+    length rx926_eos, rx926_tgt
+    set rx926_off, 0
+    lt rx926_pos, 2, rx926_start
+    sub rx926_off, rx926_pos, 1
+    substr rx926_tgt, rx926_tgt, rx926_off
+  rx926_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan929_done
+    goto rxscan929_scan
+  rxscan929_loop:
+    ($P10) = rx926_cur."from"()
+    inc $P10
+    set rx926_pos, $P10
+    ge rx926_pos, rx926_eos, rxscan929_done
+  rxscan929_scan:
+    set_addr $I10, rxscan929_loop
+    rx926_cur."!mark_push"(0, rx926_pos, $I10)
+  rxscan929_done:
+.annotate 'line', 443
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx918_cur."!cursor_pos"(rx918_pos)
-    $P10 = rx918_cur."lambda"()
-    unless $P10, rx918_fail
-  # rx pass
-    rx918_cur."!cursor_pass"(rx918_pos, "infixstopper")
-    rx918_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx918_pos)
-    .return (rx918_cur)
-  rx918_fail:
-.annotate "line", 422
-    (rx918_rep, rx918_pos, $I10, $P10) = rx918_cur."!mark_fail"(0)
-    lt rx918_pos, -1, rx918_done
-    eq rx918_pos, -1, rx918_fail
-    jump $I10
-  rx918_done:
-    rx918_cur."!cursor_fail"()
-    rx918_cur."!cursor_debug"("FAIL  ", "infixstopper")
-    .return (rx918_cur)
+    rx926_cur."!cursor_pos"(rx926_pos)
+    $P10 = rx926_cur."lambda"()
+    unless $P10, rx926_fail
+  # rx pass
+    rx926_cur."!cursor_pass"(rx926_pos, "infixstopper")
+    rx926_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx926_pos)
+    .return (rx926_cur)
+  rx926_fail:
+.annotate 'line', 423
+    (rx926_rep, rx926_pos, $I10, $P10) = rx926_cur."!mark_fail"(0)
+    lt rx926_pos, -1, rx926_done
+    eq rx926_pos, -1, rx926_fail
+    jump $I10
+  rx926_done:
+    rx926_cur."!cursor_fail"()
+    rx926_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx926_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("226_1272816833.94956") :method
-.annotate "line", 422
-    new $P920, "ResizablePMCArray"
-    push $P920, ""
-    .return ($P920)
+.sub "!PREFIX__infixstopper"  :subid("226_1273866379.28103") :method
+.annotate 'line', 423
+    new $P928, "ResizablePMCArray"
+    push $P928, ""
+    .return ($P928)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("227_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx923_tgt
-    .local int rx923_pos
-    .local int rx923_off
-    .local int rx923_eos
-    .local int rx923_rep
-    .local pmc rx923_cur
-    (rx923_cur, rx923_pos, rx923_tgt) = self."!cursor_start"()
-    rx923_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx923_cur
-    .local pmc match
-    .lex "$/", match
-    length rx923_eos, rx923_tgt
-    set rx923_off, 0
-    lt rx923_pos, 2, rx923_start
-    sub rx923_off, rx923_pos, 1
-    substr rx923_tgt, rx923_tgt, rx923_off
-  rx923_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan927_done
-    goto rxscan927_scan
-  rxscan927_loop:
-    ($P10) = rx923_cur."from"()
-    inc $P10
-    set rx923_pos, $P10
-    ge rx923_pos, rx923_eos, rxscan927_done
-  rxscan927_scan:
-    set_addr $I10, rxscan927_loop
-    rx923_cur."!mark_push"(0, rx923_pos, $I10)
-  rxscan927_done:
-.annotate "line", 445
+.sub "postcircumfix:sym<[ ]>"  :subid("227_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx931_tgt
+    .local int rx931_pos
+    .local int rx931_off
+    .local int rx931_eos
+    .local int rx931_rep
+    .local pmc rx931_cur
+    (rx931_cur, rx931_pos, rx931_tgt) = self."!cursor_start"()
+    rx931_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx931_cur
+    .local pmc match
+    .lex "$/", match
+    length rx931_eos, rx931_tgt
+    set rx931_off, 0
+    lt rx931_pos, 2, rx931_start
+    sub rx931_off, rx931_pos, 1
+    substr rx931_tgt, rx931_tgt, rx931_off
+  rx931_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan935_done
+    goto rxscan935_scan
+  rxscan935_loop:
+    ($P10) = rx931_cur."from"()
+    inc $P10
+    set rx931_pos, $P10
+    ge rx931_pos, rx931_eos, rxscan935_done
+  rxscan935_scan:
+    set_addr $I10, rxscan935_loop
+    rx931_cur."!mark_push"(0, rx931_pos, $I10)
+  rxscan935_done:
+.annotate 'line', 446
   # rx literal  "["
-    add $I11, rx923_pos, 1
-    gt $I11, rx923_eos, rx923_fail
-    sub $I11, rx923_pos, rx923_off
-    substr $S10, rx923_tgt, $I11, 1
-    ne $S10, "[", rx923_fail
-    add rx923_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx923_cur."!cursor_pos"(rx923_pos)
-    $P10 = rx923_cur."ws"()
-    unless $P10, rx923_fail
-    rx923_pos = $P10."pos"()
+    add $I11, rx931_pos, 1
+    gt $I11, rx931_eos, rx931_fail
+    sub $I11, rx931_pos, rx931_off
+    substr $S10, rx931_tgt, $I11, 1
+    ne $S10, "[", rx931_fail
+    add rx931_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx931_cur."!cursor_pos"(rx931_pos)
+    $P10 = rx931_cur."ws"()
+    unless $P10, rx931_fail
+    rx931_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx923_cur."!cursor_pos"(rx923_pos)
-    $P10 = rx923_cur."EXPR"()
-    unless $P10, rx923_fail
-    rx923_cur."!mark_push"(0, -1, 0, $P10)
+    rx931_cur."!cursor_pos"(rx931_pos)
+    $P10 = rx931_cur."EXPR"()
+    unless $P10, rx931_fail
+    rx931_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx923_pos = $P10."pos"()
+    rx931_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx923_pos, 1
-    gt $I11, rx923_eos, rx923_fail
-    sub $I11, rx923_pos, rx923_off
-    substr $S10, rx923_tgt, $I11, 1
-    ne $S10, "]", rx923_fail
-    add rx923_pos, 1
-.annotate "line", 446
+    add $I11, rx931_pos, 1
+    gt $I11, rx931_eos, rx931_fail
+    sub $I11, rx931_pos, rx931_off
+    substr $S10, rx931_tgt, $I11, 1
+    ne $S10, "]", rx931_fail
+    add rx931_pos, 1
+.annotate 'line', 447
   # rx subrule "O" subtype=capture negate=
-    rx923_cur."!cursor_pos"(rx923_pos)
-    $P10 = rx923_cur."O"("%methodop")
-    unless $P10, rx923_fail
-    rx923_cur."!mark_push"(0, -1, 0, $P10)
+    rx931_cur."!cursor_pos"(rx931_pos)
+    $P10 = rx931_cur."O"("%methodop")
+    unless $P10, rx931_fail
+    rx931_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx923_pos = $P10."pos"()
-.annotate "line", 444
+    rx931_pos = $P10."pos"()
+.annotate 'line', 445
   # rx pass
-    rx923_cur."!cursor_pass"(rx923_pos, "postcircumfix:sym<[ ]>")
-    rx923_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx923_pos)
-    .return (rx923_cur)
-  rx923_fail:
-.annotate "line", 422
-    (rx923_rep, rx923_pos, $I10, $P10) = rx923_cur."!mark_fail"(0)
-    lt rx923_pos, -1, rx923_done
-    eq rx923_pos, -1, rx923_fail
-    jump $I10
-  rx923_done:
-    rx923_cur."!cursor_fail"()
-    rx923_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx923_cur)
+    rx931_cur."!cursor_pass"(rx931_pos, "postcircumfix:sym<[ ]>")
+    rx931_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx931_pos)
+    .return (rx931_cur)
+  rx931_fail:
+.annotate 'line', 423
+    (rx931_rep, rx931_pos, $I10, $P10) = rx931_cur."!mark_fail"(0)
+    lt rx931_pos, -1, rx931_done
+    eq rx931_pos, -1, rx931_fail
+    jump $I10
+  rx931_done:
+    rx931_cur."!cursor_fail"()
+    rx931_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx931_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("228_1272816833.94956") :method
-.annotate "line", 422
-    $P925 = self."!PREFIX__!subrule"("", "[")
-    new $P926, "ResizablePMCArray"
-    push $P926, $P925
-    .return ($P926)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("228_1273866379.28103") :method
+.annotate 'line', 423
+    $P933 = self."!PREFIX__!subrule"("", "[")
+    new $P934, "ResizablePMCArray"
+    push $P934, $P933
+    .return ($P934)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("229_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx929_tgt
-    .local int rx929_pos
-    .local int rx929_off
-    .local int rx929_eos
-    .local int rx929_rep
-    .local pmc rx929_cur
-    (rx929_cur, rx929_pos, rx929_tgt) = self."!cursor_start"()
-    rx929_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx929_cur
-    .local pmc match
-    .lex "$/", match
-    length rx929_eos, rx929_tgt
-    set rx929_off, 0
-    lt rx929_pos, 2, rx929_start
-    sub rx929_off, rx929_pos, 1
-    substr rx929_tgt, rx929_tgt, rx929_off
-  rx929_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan933_done
-    goto rxscan933_scan
-  rxscan933_loop:
-    ($P10) = rx929_cur."from"()
-    inc $P10
-    set rx929_pos, $P10
-    ge rx929_pos, rx929_eos, rxscan933_done
-  rxscan933_scan:
-    set_addr $I10, rxscan933_loop
-    rx929_cur."!mark_push"(0, rx929_pos, $I10)
-  rxscan933_done:
-.annotate "line", 450
+.sub "postcircumfix:sym<{ }>"  :subid("229_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx937_tgt
+    .local int rx937_pos
+    .local int rx937_off
+    .local int rx937_eos
+    .local int rx937_rep
+    .local pmc rx937_cur
+    (rx937_cur, rx937_pos, rx937_tgt) = self."!cursor_start"()
+    rx937_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx937_cur
+    .local pmc match
+    .lex "$/", match
+    length rx937_eos, rx937_tgt
+    set rx937_off, 0
+    lt rx937_pos, 2, rx937_start
+    sub rx937_off, rx937_pos, 1
+    substr rx937_tgt, rx937_tgt, rx937_off
+  rx937_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan941_done
+    goto rxscan941_scan
+  rxscan941_loop:
+    ($P10) = rx937_cur."from"()
+    inc $P10
+    set rx937_pos, $P10
+    ge rx937_pos, rx937_eos, rxscan941_done
+  rxscan941_scan:
+    set_addr $I10, rxscan941_loop
+    rx937_cur."!mark_push"(0, rx937_pos, $I10)
+  rxscan941_done:
+.annotate 'line', 451
   # rx literal  "{"
-    add $I11, rx929_pos, 1
-    gt $I11, rx929_eos, rx929_fail
-    sub $I11, rx929_pos, rx929_off
-    substr $S10, rx929_tgt, $I11, 1
-    ne $S10, "{", rx929_fail
-    add rx929_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx929_cur."!cursor_pos"(rx929_pos)
-    $P10 = rx929_cur."ws"()
-    unless $P10, rx929_fail
-    rx929_pos = $P10."pos"()
+    add $I11, rx937_pos, 1
+    gt $I11, rx937_eos, rx937_fail
+    sub $I11, rx937_pos, rx937_off
+    substr $S10, rx937_tgt, $I11, 1
+    ne $S10, "{", rx937_fail
+    add rx937_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx937_cur."!cursor_pos"(rx937_pos)
+    $P10 = rx937_cur."ws"()
+    unless $P10, rx937_fail
+    rx937_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx929_cur."!cursor_pos"(rx929_pos)
-    $P10 = rx929_cur."EXPR"()
-    unless $P10, rx929_fail
-    rx929_cur."!mark_push"(0, -1, 0, $P10)
+    rx937_cur."!cursor_pos"(rx937_pos)
+    $P10 = rx937_cur."EXPR"()
+    unless $P10, rx937_fail
+    rx937_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx929_pos = $P10."pos"()
+    rx937_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx929_pos, 1
-    gt $I11, rx929_eos, rx929_fail
-    sub $I11, rx929_pos, rx929_off
-    substr $S10, rx929_tgt, $I11, 1
-    ne $S10, "}", rx929_fail
-    add rx929_pos, 1
-.annotate "line", 451
+    add $I11, rx937_pos, 1
+    gt $I11, rx937_eos, rx937_fail
+    sub $I11, rx937_pos, rx937_off
+    substr $S10, rx937_tgt, $I11, 1
+    ne $S10, "}", rx937_fail
+    add rx937_pos, 1
+.annotate 'line', 452
   # rx subrule "O" subtype=capture negate=
-    rx929_cur."!cursor_pos"(rx929_pos)
-    $P10 = rx929_cur."O"("%methodop")
-    unless $P10, rx929_fail
-    rx929_cur."!mark_push"(0, -1, 0, $P10)
+    rx937_cur."!cursor_pos"(rx937_pos)
+    $P10 = rx937_cur."O"("%methodop")
+    unless $P10, rx937_fail
+    rx937_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx929_pos = $P10."pos"()
-.annotate "line", 449
+    rx937_pos = $P10."pos"()
+.annotate 'line', 450
   # rx pass
-    rx929_cur."!cursor_pass"(rx929_pos, "postcircumfix:sym<{ }>")
-    rx929_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx929_pos)
-    .return (rx929_cur)
-  rx929_fail:
-.annotate "line", 422
-    (rx929_rep, rx929_pos, $I10, $P10) = rx929_cur."!mark_fail"(0)
-    lt rx929_pos, -1, rx929_done
-    eq rx929_pos, -1, rx929_fail
-    jump $I10
-  rx929_done:
-    rx929_cur."!cursor_fail"()
-    rx929_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx929_cur)
+    rx937_cur."!cursor_pass"(rx937_pos, "postcircumfix:sym<{ }>")
+    rx937_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx937_pos)
+    .return (rx937_cur)
+  rx937_fail:
+.annotate 'line', 423
+    (rx937_rep, rx937_pos, $I10, $P10) = rx937_cur."!mark_fail"(0)
+    lt rx937_pos, -1, rx937_done
+    eq rx937_pos, -1, rx937_fail
+    jump $I10
+  rx937_done:
+    rx937_cur."!cursor_fail"()
+    rx937_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx937_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("230_1272816833.94956") :method
-.annotate "line", 422
-    $P931 = self."!PREFIX__!subrule"("", "{")
-    new $P932, "ResizablePMCArray"
-    push $P932, $P931
-    .return ($P932)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("230_1273866379.28103") :method
+.annotate 'line', 423
+    $P939 = self."!PREFIX__!subrule"("", "{")
+    new $P940, "ResizablePMCArray"
+    push $P940, $P939
+    .return ($P940)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("231_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx935_tgt
-    .local int rx935_pos
-    .local int rx935_off
-    .local int rx935_eos
-    .local int rx935_rep
-    .local pmc rx935_cur
-    (rx935_cur, rx935_pos, rx935_tgt) = self."!cursor_start"()
-    rx935_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx935_cur
-    .local pmc match
-    .lex "$/", match
-    length rx935_eos, rx935_tgt
-    set rx935_off, 0
-    lt rx935_pos, 2, rx935_start
-    sub rx935_off, rx935_pos, 1
-    substr rx935_tgt, rx935_tgt, rx935_off
-  rx935_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan938_done
-    goto rxscan938_scan
-  rxscan938_loop:
-    ($P10) = rx935_cur."from"()
-    inc $P10
-    set rx935_pos, $P10
-    ge rx935_pos, rx935_eos, rxscan938_done
-  rxscan938_scan:
-    set_addr $I10, rxscan938_loop
-    rx935_cur."!mark_push"(0, rx935_pos, $I10)
-  rxscan938_done:
-.annotate "line", 455
+.sub "postcircumfix:sym<ang>"  :subid("231_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx943_tgt
+    .local int rx943_pos
+    .local int rx943_off
+    .local int rx943_eos
+    .local int rx943_rep
+    .local pmc rx943_cur
+    (rx943_cur, rx943_pos, rx943_tgt) = self."!cursor_start"()
+    rx943_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx943_cur
+    .local pmc match
+    .lex "$/", match
+    length rx943_eos, rx943_tgt
+    set rx943_off, 0
+    lt rx943_pos, 2, rx943_start
+    sub rx943_off, rx943_pos, 1
+    substr rx943_tgt, rx943_tgt, rx943_off
+  rx943_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan946_done
+    goto rxscan946_scan
+  rxscan946_loop:
+    ($P10) = rx943_cur."from"()
+    inc $P10
+    set rx943_pos, $P10
+    ge rx943_pos, rx943_eos, rxscan946_done
+  rxscan946_scan:
+    set_addr $I10, rxscan946_loop
+    rx943_cur."!mark_push"(0, rx943_pos, $I10)
+  rxscan946_done:
+.annotate 'line', 456
   # rx enumcharlist negate=0 zerowidth
-    ge rx935_pos, rx935_eos, rx935_fail
-    sub $I10, rx935_pos, rx935_off
-    substr $S10, rx935_tgt, $I10, 1
+    ge rx943_pos, rx943_eos, rx943_fail
+    sub $I10, rx943_pos, rx943_off
+    substr $S10, rx943_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx935_fail
+    lt $I11, 0, rx943_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx935_cur."!cursor_pos"(rx935_pos)
-    $P10 = rx935_cur."quote_EXPR"(":q")
-    unless $P10, rx935_fail
-    rx935_cur."!mark_push"(0, -1, 0, $P10)
+    rx943_cur."!cursor_pos"(rx943_pos)
+    $P10 = rx943_cur."quote_EXPR"(":q")
+    unless $P10, rx943_fail
+    rx943_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx935_pos = $P10."pos"()
-.annotate "line", 456
+    rx943_pos = $P10."pos"()
+.annotate 'line', 457
   # rx subrule "O" subtype=capture negate=
-    rx935_cur."!cursor_pos"(rx935_pos)
-    $P10 = rx935_cur."O"("%methodop")
-    unless $P10, rx935_fail
-    rx935_cur."!mark_push"(0, -1, 0, $P10)
+    rx943_cur."!cursor_pos"(rx943_pos)
+    $P10 = rx943_cur."O"("%methodop")
+    unless $P10, rx943_fail
+    rx943_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx935_pos = $P10."pos"()
-.annotate "line", 454
+    rx943_pos = $P10."pos"()
+.annotate 'line', 455
   # rx pass
-    rx935_cur."!cursor_pass"(rx935_pos, "postcircumfix:sym<ang>")
-    rx935_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx935_pos)
-    .return (rx935_cur)
-  rx935_fail:
-.annotate "line", 422
-    (rx935_rep, rx935_pos, $I10, $P10) = rx935_cur."!mark_fail"(0)
-    lt rx935_pos, -1, rx935_done
-    eq rx935_pos, -1, rx935_fail
-    jump $I10
-  rx935_done:
-    rx935_cur."!cursor_fail"()
-    rx935_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx935_cur)
+    rx943_cur."!cursor_pass"(rx943_pos, "postcircumfix:sym<ang>")
+    rx943_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx943_pos)
+    .return (rx943_cur)
+  rx943_fail:
+.annotate 'line', 423
+    (rx943_rep, rx943_pos, $I10, $P10) = rx943_cur."!mark_fail"(0)
+    lt rx943_pos, -1, rx943_done
+    eq rx943_pos, -1, rx943_fail
+    jump $I10
+  rx943_done:
+    rx943_cur."!cursor_fail"()
+    rx943_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx943_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("232_1272816833.94956") :method
-.annotate "line", 422
-    new $P937, "ResizablePMCArray"
-    push $P937, "<"
-    .return ($P937)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("232_1273866379.28103") :method
+.annotate 'line', 423
+    new $P945, "ResizablePMCArray"
+    push $P945, "<"
+    .return ($P945)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("233_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx940_tgt
-    .local int rx940_pos
-    .local int rx940_off
-    .local int rx940_eos
-    .local int rx940_rep
-    .local pmc rx940_cur
-    (rx940_cur, rx940_pos, rx940_tgt) = self."!cursor_start"()
-    rx940_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
-    .lex unicode:"$\x{a2}", rx940_cur
-    .local pmc match
-    .lex "$/", match
-    length rx940_eos, rx940_tgt
-    set rx940_off, 0
-    lt rx940_pos, 2, rx940_start
-    sub rx940_off, rx940_pos, 1
-    substr rx940_tgt, rx940_tgt, rx940_off
-  rx940_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan944_done
-    goto rxscan944_scan
-  rxscan944_loop:
-    ($P10) = rx940_cur."from"()
-    inc $P10
-    set rx940_pos, $P10
-    ge rx940_pos, rx940_eos, rxscan944_done
-  rxscan944_scan:
-    set_addr $I10, rxscan944_loop
-    rx940_cur."!mark_push"(0, rx940_pos, $I10)
-  rxscan944_done:
-.annotate "line", 460
+.sub "postcircumfix:sym<( )>"  :subid("233_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx948_tgt
+    .local int rx948_pos
+    .local int rx948_off
+    .local int rx948_eos
+    .local int rx948_rep
+    .local pmc rx948_cur
+    (rx948_cur, rx948_pos, rx948_tgt) = self."!cursor_start"()
+    rx948_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    .lex unicode:"$\x{a2}", rx948_cur
+    .local pmc match
+    .lex "$/", match
+    length rx948_eos, rx948_tgt
+    set rx948_off, 0
+    lt rx948_pos, 2, rx948_start
+    sub rx948_off, rx948_pos, 1
+    substr rx948_tgt, rx948_tgt, rx948_off
+  rx948_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan952_done
+    goto rxscan952_scan
+  rxscan952_loop:
+    ($P10) = rx948_cur."from"()
+    inc $P10
+    set rx948_pos, $P10
+    ge rx948_pos, rx948_eos, rxscan952_done
+  rxscan952_scan:
+    set_addr $I10, rxscan952_loop
+    rx948_cur."!mark_push"(0, rx948_pos, $I10)
+  rxscan952_done:
+.annotate 'line', 461
   # rx literal  "("
-    add $I11, rx940_pos, 1
-    gt $I11, rx940_eos, rx940_fail
-    sub $I11, rx940_pos, rx940_off
-    substr $S10, rx940_tgt, $I11, 1
-    ne $S10, "(", rx940_fail
-    add rx940_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx940_cur."!cursor_pos"(rx940_pos)
-    $P10 = rx940_cur."ws"()
-    unless $P10, rx940_fail
-    rx940_pos = $P10."pos"()
+    add $I11, rx948_pos, 1
+    gt $I11, rx948_eos, rx948_fail
+    sub $I11, rx948_pos, rx948_off
+    substr $S10, rx948_tgt, $I11, 1
+    ne $S10, "(", rx948_fail
+    add rx948_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx948_cur."!cursor_pos"(rx948_pos)
+    $P10 = rx948_cur."ws"()
+    unless $P10, rx948_fail
+    rx948_pos = $P10."pos"()
   # rx subrule "arglist" subtype=capture negate=
-    rx940_cur."!cursor_pos"(rx940_pos)
-    $P10 = rx940_cur."arglist"()
-    unless $P10, rx940_fail
-    rx940_cur."!mark_push"(0, -1, 0, $P10)
+    rx948_cur."!cursor_pos"(rx948_pos)
+    $P10 = rx948_cur."arglist"()
+    unless $P10, rx948_fail
+    rx948_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx940_pos = $P10."pos"()
+    rx948_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx940_pos, 1
-    gt $I11, rx940_eos, rx940_fail
-    sub $I11, rx940_pos, rx940_off
-    substr $S10, rx940_tgt, $I11, 1
-    ne $S10, ")", rx940_fail
-    add rx940_pos, 1
-.annotate "line", 461
+    add $I11, rx948_pos, 1
+    gt $I11, rx948_eos, rx948_fail
+    sub $I11, rx948_pos, rx948_off
+    substr $S10, rx948_tgt, $I11, 1
+    ne $S10, ")", rx948_fail
+    add rx948_pos, 1
+.annotate 'line', 462
   # rx subrule "O" subtype=capture negate=
-    rx940_cur."!cursor_pos"(rx940_pos)
-    $P10 = rx940_cur."O"("%methodop")
-    unless $P10, rx940_fail
-    rx940_cur."!mark_push"(0, -1, 0, $P10)
+    rx948_cur."!cursor_pos"(rx948_pos)
+    $P10 = rx948_cur."O"("%methodop")
+    unless $P10, rx948_fail
+    rx948_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx940_pos = $P10."pos"()
-.annotate "line", 459
+    rx948_pos = $P10."pos"()
+.annotate 'line', 460
   # rx pass
-    rx940_cur."!cursor_pass"(rx940_pos, "postcircumfix:sym<( )>")
-    rx940_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx940_pos)
-    .return (rx940_cur)
-  rx940_fail:
-.annotate "line", 422
-    (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0)
-    lt rx940_pos, -1, rx940_done
-    eq rx940_pos, -1, rx940_fail
-    jump $I10
-  rx940_done:
-    rx940_cur."!cursor_fail"()
-    rx940_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx940_cur)
+    rx948_cur."!cursor_pass"(rx948_pos, "postcircumfix:sym<( )>")
+    rx948_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx948_pos)
+    .return (rx948_cur)
+  rx948_fail:
+.annotate 'line', 423
+    (rx948_rep, rx948_pos, $I10, $P10) = rx948_cur."!mark_fail"(0)
+    lt rx948_pos, -1, rx948_done
+    eq rx948_pos, -1, rx948_fail
+    jump $I10
+  rx948_done:
+    rx948_cur."!cursor_fail"()
+    rx948_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx948_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("234_1272816833.94956") :method
-.annotate "line", 422
-    $P942 = self."!PREFIX__!subrule"("", "(")
-    new $P943, "ResizablePMCArray"
-    push $P943, $P942
-    .return ($P943)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("234_1273866379.28103") :method
+.annotate 'line', 423
+    $P950 = self."!PREFIX__!subrule"("", "(")
+    new $P951, "ResizablePMCArray"
+    push $P951, $P950
+    .return ($P951)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("235_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx946_tgt
-    .local int rx946_pos
-    .local int rx946_off
-    .local int rx946_eos
-    .local int rx946_rep
-    .local pmc rx946_cur
-    (rx946_cur, rx946_pos, rx946_tgt) = self."!cursor_start"()
-    rx946_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx946_cur
-    .local pmc match
-    .lex "$/", match
-    length rx946_eos, rx946_tgt
-    set rx946_off, 0
-    lt rx946_pos, 2, rx946_start
-    sub rx946_off, rx946_pos, 1
-    substr rx946_tgt, rx946_tgt, rx946_off
-  rx946_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan950_done
-    goto rxscan950_scan
-  rxscan950_loop:
-    ($P10) = rx946_cur."from"()
-    inc $P10
-    set rx946_pos, $P10
-    ge rx946_pos, rx946_eos, rxscan950_done
-  rxscan950_scan:
-    set_addr $I10, rxscan950_loop
-    rx946_cur."!mark_push"(0, rx946_pos, $I10)
-  rxscan950_done:
-.annotate "line", 464
+.sub "postfix:sym<.>"  :subid("235_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx954_tgt
+    .local int rx954_pos
+    .local int rx954_off
+    .local int rx954_eos
+    .local int rx954_rep
+    .local pmc rx954_cur
+    (rx954_cur, rx954_pos, rx954_tgt) = self."!cursor_start"()
+    rx954_cur."!cursor_debug"("START ", "postfix:sym<.>")
+    .lex unicode:"$\x{a2}", rx954_cur
+    .local pmc match
+    .lex "$/", match
+    length rx954_eos, rx954_tgt
+    set rx954_off, 0
+    lt rx954_pos, 2, rx954_start
+    sub rx954_off, rx954_pos, 1
+    substr rx954_tgt, rx954_tgt, rx954_off
+  rx954_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan958_done
+    goto rxscan958_scan
+  rxscan958_loop:
+    ($P10) = rx954_cur."from"()
+    inc $P10
+    set rx954_pos, $P10
+    ge rx954_pos, rx954_eos, rxscan958_done
+  rxscan958_scan:
+    set_addr $I10, rxscan958_loop
+    rx954_cur."!mark_push"(0, rx954_pos, $I10)
+  rxscan958_done:
+.annotate 'line', 465
   # rx subrule "dotty" subtype=capture negate=
-    rx946_cur."!cursor_pos"(rx946_pos)
-    $P10 = rx946_cur."dotty"()
-    unless $P10, rx946_fail
-    rx946_cur."!mark_push"(0, -1, 0, $P10)
+    rx954_cur."!cursor_pos"(rx954_pos)
+    $P10 = rx954_cur."dotty"()
+    unless $P10, rx954_fail
+    rx954_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dotty")
-    rx946_pos = $P10."pos"()
+    rx954_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
-    rx946_cur."!cursor_pos"(rx946_pos)
-    $P10 = rx946_cur."O"("%methodop")
-    unless $P10, rx946_fail
-    rx946_cur."!mark_push"(0, -1, 0, $P10)
+    rx954_cur."!cursor_pos"(rx954_pos)
+    $P10 = rx954_cur."O"("%methodop")
+    unless $P10, rx954_fail
+    rx954_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx946_pos = $P10."pos"()
+    rx954_pos = $P10."pos"()
   # rx pass
-    rx946_cur."!cursor_pass"(rx946_pos, "postfix:sym<.>")
-    rx946_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx946_pos)
-    .return (rx946_cur)
-  rx946_fail:
-.annotate "line", 422
-    (rx946_rep, rx946_pos, $I10, $P10) = rx946_cur."!mark_fail"(0)
-    lt rx946_pos, -1, rx946_done
-    eq rx946_pos, -1, rx946_fail
-    jump $I10
-  rx946_done:
-    rx946_cur."!cursor_fail"()
-    rx946_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx946_cur)
+    rx954_cur."!cursor_pass"(rx954_pos, "postfix:sym<.>")
+    rx954_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx954_pos)
+    .return (rx954_cur)
+  rx954_fail:
+.annotate 'line', 423
+    (rx954_rep, rx954_pos, $I10, $P10) = rx954_cur."!mark_fail"(0)
+    lt rx954_pos, -1, rx954_done
+    eq rx954_pos, -1, rx954_fail
+    jump $I10
+  rx954_done:
+    rx954_cur."!cursor_fail"()
+    rx954_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
+    .return (rx954_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("236_1272816833.94956") :method
-.annotate "line", 422
-    $P948 = self."!PREFIX__!subrule"("dotty", "")
-    new $P949, "ResizablePMCArray"
-    push $P949, $P948
-    .return ($P949)
+.sub "!PREFIX__postfix:sym<.>"  :subid("236_1273866379.28103") :method
+.annotate 'line', 423
+    $P956 = self."!PREFIX__!subrule"("dotty", "")
+    new $P957, "ResizablePMCArray"
+    push $P957, $P956
+    .return ($P957)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("237_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx952_tgt
-    .local int rx952_pos
-    .local int rx952_off
-    .local int rx952_eos
-    .local int rx952_rep
-    .local pmc rx952_cur
-    (rx952_cur, rx952_pos, rx952_tgt) = self."!cursor_start"()
-    rx952_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx952_cur
-    .local pmc match
-    .lex "$/", match
-    length rx952_eos, rx952_tgt
-    set rx952_off, 0
-    lt rx952_pos, 2, rx952_start
-    sub rx952_off, rx952_pos, 1
-    substr rx952_tgt, rx952_tgt, rx952_off
-  rx952_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan956_done
-    goto rxscan956_scan
-  rxscan956_loop:
-    ($P10) = rx952_cur."from"()
-    inc $P10
-    set rx952_pos, $P10
-    ge rx952_pos, rx952_eos, rxscan956_done
-  rxscan956_scan:
-    set_addr $I10, rxscan956_loop
-    rx952_cur."!mark_push"(0, rx952_pos, $I10)
-  rxscan956_done:
-.annotate "line", 466
+.sub "prefix:sym<++>"  :subid("237_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx960_tgt
+    .local int rx960_pos
+    .local int rx960_off
+    .local int rx960_eos
+    .local int rx960_rep
+    .local pmc rx960_cur
+    (rx960_cur, rx960_pos, rx960_tgt) = self."!cursor_start"()
+    rx960_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx960_cur
+    .local pmc match
+    .lex "$/", match
+    length rx960_eos, rx960_tgt
+    set rx960_off, 0
+    lt rx960_pos, 2, rx960_start
+    sub rx960_off, rx960_pos, 1
+    substr rx960_tgt, rx960_tgt, rx960_off
+  rx960_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan964_done
+    goto rxscan964_scan
+  rxscan964_loop:
+    ($P10) = rx960_cur."from"()
+    inc $P10
+    set rx960_pos, $P10
+    ge rx960_pos, rx960_eos, rxscan964_done
+  rxscan964_scan:
+    set_addr $I10, rxscan964_loop
+    rx960_cur."!mark_push"(0, rx960_pos, $I10)
+  rxscan964_done:
+.annotate 'line', 467
   # rx subcapture "sym"
-    set_addr $I10, rxcap_957_fail
-    rx952_cur."!mark_push"(0, rx952_pos, $I10)
+    set_addr $I10, rxcap_965_fail
+    rx960_cur."!mark_push"(0, rx960_pos, $I10)
   # rx literal  "++"
-    add $I11, rx952_pos, 2
-    gt $I11, rx952_eos, rx952_fail
-    sub $I11, rx952_pos, rx952_off
-    substr $S10, rx952_tgt, $I11, 2
-    ne $S10, "++", rx952_fail
-    add rx952_pos, 2
-    set_addr $I10, rxcap_957_fail
-    ($I12, $I11) = rx952_cur."!mark_peek"($I10)
-    rx952_cur."!cursor_pos"($I11)
-    ($P10) = rx952_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx952_pos, "")
-    rx952_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx960_pos, 2
+    gt $I11, rx960_eos, rx960_fail
+    sub $I11, rx960_pos, rx960_off
+    substr $S10, rx960_tgt, $I11, 2
+    ne $S10, "++", rx960_fail
+    add rx960_pos, 2
+    set_addr $I10, rxcap_965_fail
+    ($I12, $I11) = rx960_cur."!mark_peek"($I10)
+    rx960_cur."!cursor_pos"($I11)
+    ($P10) = rx960_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx960_pos, "")
+    rx960_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_957_done
-  rxcap_957_fail:
-    goto rx952_fail
-  rxcap_957_done:
+    goto rxcap_965_done
+  rxcap_965_fail:
+    goto rx960_fail
+  rxcap_965_done:
   # rx subrule "O" subtype=capture negate=
-    rx952_cur."!cursor_pos"(rx952_pos)
-    $P10 = rx952_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx952_fail
-    rx952_cur."!mark_push"(0, -1, 0, $P10)
+    rx960_cur."!cursor_pos"(rx960_pos)
+    $P10 = rx960_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx960_fail
+    rx960_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx952_pos = $P10."pos"()
+    rx960_pos = $P10."pos"()
   # rx pass
-    rx952_cur."!cursor_pass"(rx952_pos, "prefix:sym<++>")
-    rx952_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx952_pos)
-    .return (rx952_cur)
-  rx952_fail:
-.annotate "line", 422
-    (rx952_rep, rx952_pos, $I10, $P10) = rx952_cur."!mark_fail"(0)
-    lt rx952_pos, -1, rx952_done
-    eq rx952_pos, -1, rx952_fail
-    jump $I10
-  rx952_done:
-    rx952_cur."!cursor_fail"()
-    rx952_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx952_cur)
+    rx960_cur."!cursor_pass"(rx960_pos, "prefix:sym<++>")
+    rx960_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx960_pos)
+    .return (rx960_cur)
+  rx960_fail:
+.annotate 'line', 423
+    (rx960_rep, rx960_pos, $I10, $P10) = rx960_cur."!mark_fail"(0)
+    lt rx960_pos, -1, rx960_done
+    eq rx960_pos, -1, rx960_fail
+    jump $I10
+  rx960_done:
+    rx960_cur."!cursor_fail"()
+    rx960_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx960_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("238_1272816833.94956") :method
-.annotate "line", 422
-    $P954 = self."!PREFIX__!subrule"("O", "++")
-    new $P955, "ResizablePMCArray"
-    push $P955, $P954
-    .return ($P955)
+.sub "!PREFIX__prefix:sym<++>"  :subid("238_1273866379.28103") :method
+.annotate 'line', 423
+    $P962 = self."!PREFIX__!subrule"("O", "++")
+    new $P963, "ResizablePMCArray"
+    push $P963, $P962
+    .return ($P963)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("239_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx959_tgt
-    .local int rx959_pos
-    .local int rx959_off
-    .local int rx959_eos
-    .local int rx959_rep
-    .local pmc rx959_cur
-    (rx959_cur, rx959_pos, rx959_tgt) = self."!cursor_start"()
-    rx959_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx959_cur
-    .local pmc match
-    .lex "$/", match
-    length rx959_eos, rx959_tgt
-    set rx959_off, 0
-    lt rx959_pos, 2, rx959_start
-    sub rx959_off, rx959_pos, 1
-    substr rx959_tgt, rx959_tgt, rx959_off
-  rx959_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan963_done
-    goto rxscan963_scan
-  rxscan963_loop:
-    ($P10) = rx959_cur."from"()
-    inc $P10
-    set rx959_pos, $P10
-    ge rx959_pos, rx959_eos, rxscan963_done
-  rxscan963_scan:
-    set_addr $I10, rxscan963_loop
-    rx959_cur."!mark_push"(0, rx959_pos, $I10)
-  rxscan963_done:
-.annotate "line", 467
+.sub "prefix:sym<-->"  :subid("239_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx967_tgt
+    .local int rx967_pos
+    .local int rx967_off
+    .local int rx967_eos
+    .local int rx967_rep
+    .local pmc rx967_cur
+    (rx967_cur, rx967_pos, rx967_tgt) = self."!cursor_start"()
+    rx967_cur."!cursor_debug"("START ", "prefix:sym<-->")
+    .lex unicode:"$\x{a2}", rx967_cur
+    .local pmc match
+    .lex "$/", match
+    length rx967_eos, rx967_tgt
+    set rx967_off, 0
+    lt rx967_pos, 2, rx967_start
+    sub rx967_off, rx967_pos, 1
+    substr rx967_tgt, rx967_tgt, rx967_off
+  rx967_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan971_done
+    goto rxscan971_scan
+  rxscan971_loop:
+    ($P10) = rx967_cur."from"()
+    inc $P10
+    set rx967_pos, $P10
+    ge rx967_pos, rx967_eos, rxscan971_done
+  rxscan971_scan:
+    set_addr $I10, rxscan971_loop
+    rx967_cur."!mark_push"(0, rx967_pos, $I10)
+  rxscan971_done:
+.annotate 'line', 468
   # rx subcapture "sym"
-    set_addr $I10, rxcap_964_fail
-    rx959_cur."!mark_push"(0, rx959_pos, $I10)
+    set_addr $I10, rxcap_972_fail
+    rx967_cur."!mark_push"(0, rx967_pos, $I10)
   # rx literal  "--"
-    add $I11, rx959_pos, 2
-    gt $I11, rx959_eos, rx959_fail
-    sub $I11, rx959_pos, rx959_off
-    substr $S10, rx959_tgt, $I11, 2
-    ne $S10, "--", rx959_fail
-    add rx959_pos, 2
-    set_addr $I10, rxcap_964_fail
-    ($I12, $I11) = rx959_cur."!mark_peek"($I10)
-    rx959_cur."!cursor_pos"($I11)
-    ($P10) = rx959_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx959_pos, "")
-    rx959_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx967_pos, 2
+    gt $I11, rx967_eos, rx967_fail
+    sub $I11, rx967_pos, rx967_off
+    substr $S10, rx967_tgt, $I11, 2
+    ne $S10, "--", rx967_fail
+    add rx967_pos, 2
+    set_addr $I10, rxcap_972_fail
+    ($I12, $I11) = rx967_cur."!mark_peek"($I10)
+    rx967_cur."!cursor_pos"($I11)
+    ($P10) = rx967_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx967_pos, "")
+    rx967_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_964_done
-  rxcap_964_fail:
-    goto rx959_fail
-  rxcap_964_done:
+    goto rxcap_972_done
+  rxcap_972_fail:
+    goto rx967_fail
+  rxcap_972_done:
   # rx subrule "O" subtype=capture negate=
-    rx959_cur."!cursor_pos"(rx959_pos)
-    $P10 = rx959_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx959_fail
-    rx959_cur."!mark_push"(0, -1, 0, $P10)
+    rx967_cur."!cursor_pos"(rx967_pos)
+    $P10 = rx967_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx967_fail
+    rx967_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx959_pos = $P10."pos"()
+    rx967_pos = $P10."pos"()
   # rx pass
-    rx959_cur."!cursor_pass"(rx959_pos, "prefix:sym<-->")
-    rx959_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx959_pos)
-    .return (rx959_cur)
-  rx959_fail:
-.annotate "line", 422
-    (rx959_rep, rx959_pos, $I10, $P10) = rx959_cur."!mark_fail"(0)
-    lt rx959_pos, -1, rx959_done
-    eq rx959_pos, -1, rx959_fail
-    jump $I10
-  rx959_done:
-    rx959_cur."!cursor_fail"()
-    rx959_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx959_cur)
+    rx967_cur."!cursor_pass"(rx967_pos, "prefix:sym<-->")
+    rx967_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx967_pos)
+    .return (rx967_cur)
+  rx967_fail:
+.annotate 'line', 423
+    (rx967_rep, rx967_pos, $I10, $P10) = rx967_cur."!mark_fail"(0)
+    lt rx967_pos, -1, rx967_done
+    eq rx967_pos, -1, rx967_fail
+    jump $I10
+  rx967_done:
+    rx967_cur."!cursor_fail"()
+    rx967_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx967_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("240_1272816833.94956") :method
-.annotate "line", 422
-    $P961 = self."!PREFIX__!subrule"("O", "--")
-    new $P962, "ResizablePMCArray"
-    push $P962, $P961
-    .return ($P962)
+.sub "!PREFIX__prefix:sym<-->"  :subid("240_1273866379.28103") :method
+.annotate 'line', 423
+    $P969 = self."!PREFIX__!subrule"("O", "--")
+    new $P970, "ResizablePMCArray"
+    push $P970, $P969
+    .return ($P970)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("241_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx966_tgt
-    .local int rx966_pos
-    .local int rx966_off
-    .local int rx966_eos
-    .local int rx966_rep
-    .local pmc rx966_cur
-    (rx966_cur, rx966_pos, rx966_tgt) = self."!cursor_start"()
-    rx966_cur."!cursor_debug"("START ", "postfix:sym<++>")
-    .lex unicode:"$\x{a2}", rx966_cur
-    .local pmc match
-    .lex "$/", match
-    length rx966_eos, rx966_tgt
-    set rx966_off, 0
-    lt rx966_pos, 2, rx966_start
-    sub rx966_off, rx966_pos, 1
-    substr rx966_tgt, rx966_tgt, rx966_off
-  rx966_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan970_done
-    goto rxscan970_scan
-  rxscan970_loop:
-    ($P10) = rx966_cur."from"()
-    inc $P10
-    set rx966_pos, $P10
-    ge rx966_pos, rx966_eos, rxscan970_done
-  rxscan970_scan:
-    set_addr $I10, rxscan970_loop
-    rx966_cur."!mark_push"(0, rx966_pos, $I10)
-  rxscan970_done:
-.annotate "line", 470
+.sub "postfix:sym<++>"  :subid("241_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx974_tgt
+    .local int rx974_pos
+    .local int rx974_off
+    .local int rx974_eos
+    .local int rx974_rep
+    .local pmc rx974_cur
+    (rx974_cur, rx974_pos, rx974_tgt) = self."!cursor_start"()
+    rx974_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    .lex unicode:"$\x{a2}", rx974_cur
+    .local pmc match
+    .lex "$/", match
+    length rx974_eos, rx974_tgt
+    set rx974_off, 0
+    lt rx974_pos, 2, rx974_start
+    sub rx974_off, rx974_pos, 1
+    substr rx974_tgt, rx974_tgt, rx974_off
+  rx974_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan978_done
+    goto rxscan978_scan
+  rxscan978_loop:
+    ($P10) = rx974_cur."from"()
+    inc $P10
+    set rx974_pos, $P10
+    ge rx974_pos, rx974_eos, rxscan978_done
+  rxscan978_scan:
+    set_addr $I10, rxscan978_loop
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
+  rxscan978_done:
+.annotate 'line', 471
   # rx subcapture "sym"
-    set_addr $I10, rxcap_971_fail
-    rx966_cur."!mark_push"(0, rx966_pos, $I10)
+    set_addr $I10, rxcap_979_fail
+    rx974_cur."!mark_push"(0, rx974_pos, $I10)
   # rx literal  "++"
-    add $I11, rx966_pos, 2
-    gt $I11, rx966_eos, rx966_fail
-    sub $I11, rx966_pos, rx966_off
-    substr $S10, rx966_tgt, $I11, 2
-    ne $S10, "++", rx966_fail
-    add rx966_pos, 2
-    set_addr $I10, rxcap_971_fail
-    ($I12, $I11) = rx966_cur."!mark_peek"($I10)
-    rx966_cur."!cursor_pos"($I11)
-    ($P10) = rx966_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx966_pos, "")
-    rx966_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx974_pos, 2
+    gt $I11, rx974_eos, rx974_fail
+    sub $I11, rx974_pos, rx974_off
+    substr $S10, rx974_tgt, $I11, 2
+    ne $S10, "++", rx974_fail
+    add rx974_pos, 2
+    set_addr $I10, rxcap_979_fail
+    ($I12, $I11) = rx974_cur."!mark_peek"($I10)
+    rx974_cur."!cursor_pos"($I11)
+    ($P10) = rx974_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx974_pos, "")
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_971_done
-  rxcap_971_fail:
-    goto rx966_fail
-  rxcap_971_done:
+    goto rxcap_979_done
+  rxcap_979_fail:
+    goto rx974_fail
+  rxcap_979_done:
   # rx subrule "O" subtype=capture negate=
-    rx966_cur."!cursor_pos"(rx966_pos)
-    $P10 = rx966_cur."O"("%autoincrement")
-    unless $P10, rx966_fail
-    rx966_cur."!mark_push"(0, -1, 0, $P10)
+    rx974_cur."!cursor_pos"(rx974_pos)
+    $P10 = rx974_cur."O"("%autoincrement")
+    unless $P10, rx974_fail
+    rx974_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx966_pos = $P10."pos"()
+    rx974_pos = $P10."pos"()
   # rx pass
-    rx966_cur."!cursor_pass"(rx966_pos, "postfix:sym<++>")
-    rx966_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx966_pos)
-    .return (rx966_cur)
-  rx966_fail:
-.annotate "line", 422
-    (rx966_rep, rx966_pos, $I10, $P10) = rx966_cur."!mark_fail"(0)
-    lt rx966_pos, -1, rx966_done
-    eq rx966_pos, -1, rx966_fail
-    jump $I10
-  rx966_done:
-    rx966_cur."!cursor_fail"()
-    rx966_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
-    .return (rx966_cur)
+    rx974_cur."!cursor_pass"(rx974_pos, "postfix:sym<++>")
+    rx974_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx974_pos)
+    .return (rx974_cur)
+  rx974_fail:
+.annotate 'line', 423
+    (rx974_rep, rx974_pos, $I10, $P10) = rx974_cur."!mark_fail"(0)
+    lt rx974_pos, -1, rx974_done
+    eq rx974_pos, -1, rx974_fail
+    jump $I10
+  rx974_done:
+    rx974_cur."!cursor_fail"()
+    rx974_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx974_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("242_1272816833.94956") :method
-.annotate "line", 422
-    $P968 = self."!PREFIX__!subrule"("O", "++")
-    new $P969, "ResizablePMCArray"
-    push $P969, $P968
-    .return ($P969)
+.sub "!PREFIX__postfix:sym<++>"  :subid("242_1273866379.28103") :method
+.annotate 'line', 423
+    $P976 = self."!PREFIX__!subrule"("O", "++")
+    new $P977, "ResizablePMCArray"
+    push $P977, $P976
+    .return ($P977)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("243_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx973_tgt
-    .local int rx973_pos
-    .local int rx973_off
-    .local int rx973_eos
-    .local int rx973_rep
-    .local pmc rx973_cur
-    (rx973_cur, rx973_pos, rx973_tgt) = self."!cursor_start"()
-    rx973_cur."!cursor_debug"("START ", "postfix:sym<-->")
-    .lex unicode:"$\x{a2}", rx973_cur
-    .local pmc match
-    .lex "$/", match
-    length rx973_eos, rx973_tgt
-    set rx973_off, 0
-    lt rx973_pos, 2, rx973_start
-    sub rx973_off, rx973_pos, 1
-    substr rx973_tgt, rx973_tgt, rx973_off
-  rx973_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan977_done
-    goto rxscan977_scan
-  rxscan977_loop:
-    ($P10) = rx973_cur."from"()
-    inc $P10
-    set rx973_pos, $P10
-    ge rx973_pos, rx973_eos, rxscan977_done
-  rxscan977_scan:
-    set_addr $I10, rxscan977_loop
-    rx973_cur."!mark_push"(0, rx973_pos, $I10)
-  rxscan977_done:
-.annotate "line", 471
+.sub "postfix:sym<-->"  :subid("243_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx981_tgt
+    .local int rx981_pos
+    .local int rx981_off
+    .local int rx981_eos
+    .local int rx981_rep
+    .local pmc rx981_cur
+    (rx981_cur, rx981_pos, rx981_tgt) = self."!cursor_start"()
+    rx981_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    .lex unicode:"$\x{a2}", rx981_cur
+    .local pmc match
+    .lex "$/", match
+    length rx981_eos, rx981_tgt
+    set rx981_off, 0
+    lt rx981_pos, 2, rx981_start
+    sub rx981_off, rx981_pos, 1
+    substr rx981_tgt, rx981_tgt, rx981_off
+  rx981_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan985_done
+    goto rxscan985_scan
+  rxscan985_loop:
+    ($P10) = rx981_cur."from"()
+    inc $P10
+    set rx981_pos, $P10
+    ge rx981_pos, rx981_eos, rxscan985_done
+  rxscan985_scan:
+    set_addr $I10, rxscan985_loop
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
+  rxscan985_done:
+.annotate 'line', 472
   # rx subcapture "sym"
-    set_addr $I10, rxcap_978_fail
-    rx973_cur."!mark_push"(0, rx973_pos, $I10)
+    set_addr $I10, rxcap_986_fail
+    rx981_cur."!mark_push"(0, rx981_pos, $I10)
   # rx literal  "--"
-    add $I11, rx973_pos, 2
-    gt $I11, rx973_eos, rx973_fail
-    sub $I11, rx973_pos, rx973_off
-    substr $S10, rx973_tgt, $I11, 2
-    ne $S10, "--", rx973_fail
-    add rx973_pos, 2
-    set_addr $I10, rxcap_978_fail
-    ($I12, $I11) = rx973_cur."!mark_peek"($I10)
-    rx973_cur."!cursor_pos"($I11)
-    ($P10) = rx973_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx973_pos, "")
-    rx973_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx981_pos, 2
+    gt $I11, rx981_eos, rx981_fail
+    sub $I11, rx981_pos, rx981_off
+    substr $S10, rx981_tgt, $I11, 2
+    ne $S10, "--", rx981_fail
+    add rx981_pos, 2
+    set_addr $I10, rxcap_986_fail
+    ($I12, $I11) = rx981_cur."!mark_peek"($I10)
+    rx981_cur."!cursor_pos"($I11)
+    ($P10) = rx981_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx981_pos, "")
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_978_done
-  rxcap_978_fail:
-    goto rx973_fail
-  rxcap_978_done:
+    goto rxcap_986_done
+  rxcap_986_fail:
+    goto rx981_fail
+  rxcap_986_done:
   # rx subrule "O" subtype=capture negate=
-    rx973_cur."!cursor_pos"(rx973_pos)
-    $P10 = rx973_cur."O"("%autoincrement")
-    unless $P10, rx973_fail
-    rx973_cur."!mark_push"(0, -1, 0, $P10)
+    rx981_cur."!cursor_pos"(rx981_pos)
+    $P10 = rx981_cur."O"("%autoincrement")
+    unless $P10, rx981_fail
+    rx981_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx973_pos = $P10."pos"()
+    rx981_pos = $P10."pos"()
   # rx pass
-    rx973_cur."!cursor_pass"(rx973_pos, "postfix:sym<-->")
-    rx973_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx973_pos)
-    .return (rx973_cur)
-  rx973_fail:
-.annotate "line", 422
-    (rx973_rep, rx973_pos, $I10, $P10) = rx973_cur."!mark_fail"(0)
-    lt rx973_pos, -1, rx973_done
-    eq rx973_pos, -1, rx973_fail
-    jump $I10
-  rx973_done:
-    rx973_cur."!cursor_fail"()
-    rx973_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx973_cur)
+    rx981_cur."!cursor_pass"(rx981_pos, "postfix:sym<-->")
+    rx981_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx981_pos)
+    .return (rx981_cur)
+  rx981_fail:
+.annotate 'line', 423
+    (rx981_rep, rx981_pos, $I10, $P10) = rx981_cur."!mark_fail"(0)
+    lt rx981_pos, -1, rx981_done
+    eq rx981_pos, -1, rx981_fail
+    jump $I10
+  rx981_done:
+    rx981_cur."!cursor_fail"()
+    rx981_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx981_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("244_1272816833.94956") :method
-.annotate "line", 422
-    $P975 = self."!PREFIX__!subrule"("O", "--")
-    new $P976, "ResizablePMCArray"
-    push $P976, $P975
-    .return ($P976)
+.sub "!PREFIX__postfix:sym<-->"  :subid("244_1273866379.28103") :method
+.annotate 'line', 423
+    $P983 = self."!PREFIX__!subrule"("O", "--")
+    new $P984, "ResizablePMCArray"
+    push $P984, $P983
+    .return ($P984)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("245_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx980_tgt
-    .local int rx980_pos
-    .local int rx980_off
-    .local int rx980_eos
-    .local int rx980_rep
-    .local pmc rx980_cur
-    (rx980_cur, rx980_pos, rx980_tgt) = self."!cursor_start"()
-    rx980_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx980_cur
-    .local pmc match
-    .lex "$/", match
-    length rx980_eos, rx980_tgt
-    set rx980_off, 0
-    lt rx980_pos, 2, rx980_start
-    sub rx980_off, rx980_pos, 1
-    substr rx980_tgt, rx980_tgt, rx980_off
-  rx980_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan984_done
-    goto rxscan984_scan
-  rxscan984_loop:
-    ($P10) = rx980_cur."from"()
-    inc $P10
-    set rx980_pos, $P10
-    ge rx980_pos, rx980_eos, rxscan984_done
-  rxscan984_scan:
-    set_addr $I10, rxscan984_loop
-    rx980_cur."!mark_push"(0, rx980_pos, $I10)
-  rxscan984_done:
-.annotate "line", 473
+.sub "infix:sym<**>"  :subid("245_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx988_tgt
+    .local int rx988_pos
+    .local int rx988_off
+    .local int rx988_eos
+    .local int rx988_rep
+    .local pmc rx988_cur
+    (rx988_cur, rx988_pos, rx988_tgt) = self."!cursor_start"()
+    rx988_cur."!cursor_debug"("START ", "infix:sym<**>")
+    .lex unicode:"$\x{a2}", rx988_cur
+    .local pmc match
+    .lex "$/", match
+    length rx988_eos, rx988_tgt
+    set rx988_off, 0
+    lt rx988_pos, 2, rx988_start
+    sub rx988_off, rx988_pos, 1
+    substr rx988_tgt, rx988_tgt, rx988_off
+  rx988_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan992_done
+    goto rxscan992_scan
+  rxscan992_loop:
+    ($P10) = rx988_cur."from"()
+    inc $P10
+    set rx988_pos, $P10
+    ge rx988_pos, rx988_eos, rxscan992_done
+  rxscan992_scan:
+    set_addr $I10, rxscan992_loop
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
+  rxscan992_done:
+.annotate 'line', 474
   # rx subcapture "sym"
-    set_addr $I10, rxcap_985_fail
-    rx980_cur."!mark_push"(0, rx980_pos, $I10)
+    set_addr $I10, rxcap_993_fail
+    rx988_cur."!mark_push"(0, rx988_pos, $I10)
   # rx literal  "**"
-    add $I11, rx980_pos, 2
-    gt $I11, rx980_eos, rx980_fail
-    sub $I11, rx980_pos, rx980_off
-    substr $S10, rx980_tgt, $I11, 2
-    ne $S10, "**", rx980_fail
-    add rx980_pos, 2
-    set_addr $I10, rxcap_985_fail
-    ($I12, $I11) = rx980_cur."!mark_peek"($I10)
-    rx980_cur."!cursor_pos"($I11)
-    ($P10) = rx980_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx980_pos, "")
-    rx980_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx988_pos, 2
+    gt $I11, rx988_eos, rx988_fail
+    sub $I11, rx988_pos, rx988_off
+    substr $S10, rx988_tgt, $I11, 2
+    ne $S10, "**", rx988_fail
+    add rx988_pos, 2
+    set_addr $I10, rxcap_993_fail
+    ($I12, $I11) = rx988_cur."!mark_peek"($I10)
+    rx988_cur."!cursor_pos"($I11)
+    ($P10) = rx988_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx988_pos, "")
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_985_done
-  rxcap_985_fail:
-    goto rx980_fail
-  rxcap_985_done:
+    goto rxcap_993_done
+  rxcap_993_fail:
+    goto rx988_fail
+  rxcap_993_done:
   # rx subrule "O" subtype=capture negate=
-    rx980_cur."!cursor_pos"(rx980_pos)
-    $P10 = rx980_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx980_fail
-    rx980_cur."!mark_push"(0, -1, 0, $P10)
+    rx988_cur."!cursor_pos"(rx988_pos)
+    $P10 = rx988_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx988_fail
+    rx988_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx980_pos = $P10."pos"()
+    rx988_pos = $P10."pos"()
   # rx pass
-    rx980_cur."!cursor_pass"(rx980_pos, "infix:sym<**>")
-    rx980_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx980_pos)
-    .return (rx980_cur)
-  rx980_fail:
-.annotate "line", 422
-    (rx980_rep, rx980_pos, $I10, $P10) = rx980_cur."!mark_fail"(0)
-    lt rx980_pos, -1, rx980_done
-    eq rx980_pos, -1, rx980_fail
-    jump $I10
-  rx980_done:
-    rx980_cur."!cursor_fail"()
-    rx980_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx980_cur)
+    rx988_cur."!cursor_pass"(rx988_pos, "infix:sym<**>")
+    rx988_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx988_pos)
+    .return (rx988_cur)
+  rx988_fail:
+.annotate 'line', 423
+    (rx988_rep, rx988_pos, $I10, $P10) = rx988_cur."!mark_fail"(0)
+    lt rx988_pos, -1, rx988_done
+    eq rx988_pos, -1, rx988_fail
+    jump $I10
+  rx988_done:
+    rx988_cur."!cursor_fail"()
+    rx988_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    .return (rx988_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("246_1272816833.94956") :method
-.annotate "line", 422
-    $P982 = self."!PREFIX__!subrule"("O", "**")
-    new $P983, "ResizablePMCArray"
-    push $P983, $P982
-    .return ($P983)
+.sub "!PREFIX__infix:sym<**>"  :subid("246_1273866379.28103") :method
+.annotate 'line', 423
+    $P990 = self."!PREFIX__!subrule"("O", "**")
+    new $P991, "ResizablePMCArray"
+    push $P991, $P990
+    .return ($P991)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("247_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx987_tgt
-    .local int rx987_pos
-    .local int rx987_off
-    .local int rx987_eos
-    .local int rx987_rep
-    .local pmc rx987_cur
-    (rx987_cur, rx987_pos, rx987_tgt) = self."!cursor_start"()
-    rx987_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx987_cur
-    .local pmc match
-    .lex "$/", match
-    length rx987_eos, rx987_tgt
-    set rx987_off, 0
-    lt rx987_pos, 2, rx987_start
-    sub rx987_off, rx987_pos, 1
-    substr rx987_tgt, rx987_tgt, rx987_off
-  rx987_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan991_done
-    goto rxscan991_scan
-  rxscan991_loop:
-    ($P10) = rx987_cur."from"()
-    inc $P10
-    set rx987_pos, $P10
-    ge rx987_pos, rx987_eos, rxscan991_done
-  rxscan991_scan:
-    set_addr $I10, rxscan991_loop
-    rx987_cur."!mark_push"(0, rx987_pos, $I10)
-  rxscan991_done:
-.annotate "line", 475
+.sub "prefix:sym<+>"  :subid("247_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx995_tgt
+    .local int rx995_pos
+    .local int rx995_off
+    .local int rx995_eos
+    .local int rx995_rep
+    .local pmc rx995_cur
+    (rx995_cur, rx995_pos, rx995_tgt) = self."!cursor_start"()
+    rx995_cur."!cursor_debug"("START ", "prefix:sym<+>")
+    .lex unicode:"$\x{a2}", rx995_cur
+    .local pmc match
+    .lex "$/", match
+    length rx995_eos, rx995_tgt
+    set rx995_off, 0
+    lt rx995_pos, 2, rx995_start
+    sub rx995_off, rx995_pos, 1
+    substr rx995_tgt, rx995_tgt, rx995_off
+  rx995_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan999_done
+    goto rxscan999_scan
+  rxscan999_loop:
+    ($P10) = rx995_cur."from"()
+    inc $P10
+    set rx995_pos, $P10
+    ge rx995_pos, rx995_eos, rxscan999_done
+  rxscan999_scan:
+    set_addr $I10, rxscan999_loop
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
+  rxscan999_done:
+.annotate 'line', 476
   # rx subcapture "sym"
-    set_addr $I10, rxcap_992_fail
-    rx987_cur."!mark_push"(0, rx987_pos, $I10)
+    set_addr $I10, rxcap_1000_fail
+    rx995_cur."!mark_push"(0, rx995_pos, $I10)
   # rx literal  "+"
-    add $I11, rx987_pos, 1
-    gt $I11, rx987_eos, rx987_fail
-    sub $I11, rx987_pos, rx987_off
-    substr $S10, rx987_tgt, $I11, 1
-    ne $S10, "+", rx987_fail
-    add rx987_pos, 1
-    set_addr $I10, rxcap_992_fail
-    ($I12, $I11) = rx987_cur."!mark_peek"($I10)
-    rx987_cur."!cursor_pos"($I11)
-    ($P10) = rx987_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx987_pos, "")
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx995_pos, 1
+    gt $I11, rx995_eos, rx995_fail
+    sub $I11, rx995_pos, rx995_off
+    substr $S10, rx995_tgt, $I11, 1
+    ne $S10, "+", rx995_fail
+    add rx995_pos, 1
+    set_addr $I10, rxcap_1000_fail
+    ($I12, $I11) = rx995_cur."!mark_peek"($I10)
+    rx995_cur."!cursor_pos"($I11)
+    ($P10) = rx995_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx995_pos, "")
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_992_done
-  rxcap_992_fail:
-    goto rx987_fail
-  rxcap_992_done:
+    goto rxcap_1000_done
+  rxcap_1000_fail:
+    goto rx995_fail
+  rxcap_1000_done:
   # rx subrule "O" subtype=capture negate=
-    rx987_cur."!cursor_pos"(rx987_pos)
-    $P10 = rx987_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx987_fail
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    rx995_cur."!cursor_pos"(rx995_pos)
+    $P10 = rx995_cur."O"("%symbolic_unary, :pirop<set N*>")
+    unless $P10, rx995_fail
+    rx995_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx987_pos = $P10."pos"()
+    rx995_pos = $P10."pos"()
   # rx pass
-    rx987_cur."!cursor_pass"(rx987_pos, "prefix:sym<+>")
-    rx987_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx987_pos)
-    .return (rx987_cur)
-  rx987_fail:
-.annotate "line", 422
-    (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0)
-    lt rx987_pos, -1, rx987_done
-    eq rx987_pos, -1, rx987_fail
-    jump $I10
-  rx987_done:
-    rx987_cur."!cursor_fail"()
-    rx987_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx987_cur)
+    rx995_cur."!cursor_pass"(rx995_pos, "prefix:sym<+>")
+    rx995_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx995_pos)
+    .return (rx995_cur)
+  rx995_fail:
+.annotate 'line', 423
+    (rx995_rep, rx995_pos, $I10, $P10) = rx995_cur."!mark_fail"(0)
+    lt rx995_pos, -1, rx995_done
+    eq rx995_pos, -1, rx995_fail
+    jump $I10
+  rx995_done:
+    rx995_cur."!cursor_fail"()
+    rx995_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
+    .return (rx995_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("248_1272816833.94956") :method
-.annotate "line", 422
-    $P989 = self."!PREFIX__!subrule"("O", "+")
-    new $P990, "ResizablePMCArray"
-    push $P990, $P989
-    .return ($P990)
+.sub "!PREFIX__prefix:sym<+>"  :subid("248_1273866379.28103") :method
+.annotate 'line', 423
+    $P997 = self."!PREFIX__!subrule"("O", "+")
+    new $P998, "ResizablePMCArray"
+    push $P998, $P997
+    .return ($P998)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("249_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx994_tgt
-    .local int rx994_pos
-    .local int rx994_off
-    .local int rx994_eos
-    .local int rx994_rep
-    .local pmc rx994_cur
-    (rx994_cur, rx994_pos, rx994_tgt) = self."!cursor_start"()
-    rx994_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx994_cur
-    .local pmc match
-    .lex "$/", match
-    length rx994_eos, rx994_tgt
-    set rx994_off, 0
-    lt rx994_pos, 2, rx994_start
-    sub rx994_off, rx994_pos, 1
-    substr rx994_tgt, rx994_tgt, rx994_off
-  rx994_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan998_done
-    goto rxscan998_scan
-  rxscan998_loop:
-    ($P10) = rx994_cur."from"()
-    inc $P10
-    set rx994_pos, $P10
-    ge rx994_pos, rx994_eos, rxscan998_done
-  rxscan998_scan:
-    set_addr $I10, rxscan998_loop
-    rx994_cur."!mark_push"(0, rx994_pos, $I10)
-  rxscan998_done:
-.annotate "line", 476
+.sub "prefix:sym<~>"  :subid("249_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1002_tgt
+    .local int rx1002_pos
+    .local int rx1002_off
+    .local int rx1002_eos
+    .local int rx1002_rep
+    .local pmc rx1002_cur
+    (rx1002_cur, rx1002_pos, rx1002_tgt) = self."!cursor_start"()
+    rx1002_cur."!cursor_debug"("START ", "prefix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1002_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1002_eos, rx1002_tgt
+    set rx1002_off, 0
+    lt rx1002_pos, 2, rx1002_start
+    sub rx1002_off, rx1002_pos, 1
+    substr rx1002_tgt, rx1002_tgt, rx1002_off
+  rx1002_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1006_done
+    goto rxscan1006_scan
+  rxscan1006_loop:
+    ($P10) = rx1002_cur."from"()
+    inc $P10
+    set rx1002_pos, $P10
+    ge rx1002_pos, rx1002_eos, rxscan1006_done
+  rxscan1006_scan:
+    set_addr $I10, rxscan1006_loop
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+  rxscan1006_done:
+.annotate 'line', 477
   # rx subcapture "sym"
-    set_addr $I10, rxcap_999_fail
-    rx994_cur."!mark_push"(0, rx994_pos, $I10)
+    set_addr $I10, rxcap_1007_fail
+    rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
   # rx literal  "~"
-    add $I11, rx994_pos, 1
-    gt $I11, rx994_eos, rx994_fail
-    sub $I11, rx994_pos, rx994_off
-    substr $S10, rx994_tgt, $I11, 1
-    ne $S10, "~", rx994_fail
-    add rx994_pos, 1
-    set_addr $I10, rxcap_999_fail
-    ($I12, $I11) = rx994_cur."!mark_peek"($I10)
-    rx994_cur."!cursor_pos"($I11)
-    ($P10) = rx994_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx994_pos, "")
-    rx994_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1002_pos, 1
+    gt $I11, rx1002_eos, rx1002_fail
+    sub $I11, rx1002_pos, rx1002_off
+    substr $S10, rx1002_tgt, $I11, 1
+    ne $S10, "~", rx1002_fail
+    add rx1002_pos, 1
+    set_addr $I10, rxcap_1007_fail
+    ($I12, $I11) = rx1002_cur."!mark_peek"($I10)
+    rx1002_cur."!cursor_pos"($I11)
+    ($P10) = rx1002_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1002_pos, "")
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_999_done
-  rxcap_999_fail:
-    goto rx994_fail
-  rxcap_999_done:
+    goto rxcap_1007_done
+  rxcap_1007_fail:
+    goto rx1002_fail
+  rxcap_1007_done:
   # rx subrule "O" subtype=capture negate=
-    rx994_cur."!cursor_pos"(rx994_pos)
-    $P10 = rx994_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx994_fail
-    rx994_cur."!mark_push"(0, -1, 0, $P10)
+    rx1002_cur."!cursor_pos"(rx1002_pos)
+    $P10 = rx1002_cur."O"("%symbolic_unary, :pirop<set S*>")
+    unless $P10, rx1002_fail
+    rx1002_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx994_pos = $P10."pos"()
+    rx1002_pos = $P10."pos"()
   # rx pass
-    rx994_cur."!cursor_pass"(rx994_pos, "prefix:sym<~>")
-    rx994_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx994_pos)
-    .return (rx994_cur)
-  rx994_fail:
-.annotate "line", 422
-    (rx994_rep, rx994_pos, $I10, $P10) = rx994_cur."!mark_fail"(0)
-    lt rx994_pos, -1, rx994_done
-    eq rx994_pos, -1, rx994_fail
+    rx1002_cur."!cursor_pass"(rx1002_pos, "prefix:sym<~>")
+    rx1002_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1002_pos)
+    .return (rx1002_cur)
+  rx1002_fail:
+.annotate 'line', 423
+    (rx1002_rep, rx1002_pos, $I10, $P10) = rx1002_cur."!mark_fail"(0)
+    lt rx1002_pos, -1, rx1002_done
+    eq rx1002_pos, -1, rx1002_fail
     jump $I10
-  rx994_done:
-    rx994_cur."!cursor_fail"()
-    rx994_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx994_cur)
+  rx1002_done:
+    rx1002_cur."!cursor_fail"()
+    rx1002_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    .return (rx1002_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("250_1272816833.94956") :method
-.annotate "line", 422
-    $P996 = self."!PREFIX__!subrule"("O", "~")
-    new $P997, "ResizablePMCArray"
-    push $P997, $P996
-    .return ($P997)
+.sub "!PREFIX__prefix:sym<~>"  :subid("250_1273866379.28103") :method
+.annotate 'line', 423
+    $P1004 = self."!PREFIX__!subrule"("O", "~")
+    new $P1005, "ResizablePMCArray"
+    push $P1005, $P1004
+    .return ($P1005)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("251_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1001_tgt
-    .local int rx1001_pos
-    .local int rx1001_off
-    .local int rx1001_eos
-    .local int rx1001_rep
-    .local pmc rx1001_cur
-    (rx1001_cur, rx1001_pos, rx1001_tgt) = self."!cursor_start"()
-    rx1001_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx1001_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1001_eos, rx1001_tgt
-    set rx1001_off, 0
-    lt rx1001_pos, 2, rx1001_start
-    sub rx1001_off, rx1001_pos, 1
-    substr rx1001_tgt, rx1001_tgt, rx1001_off
-  rx1001_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1004_done
-    goto rxscan1004_scan
-  rxscan1004_loop:
-    ($P10) = rx1001_cur."from"()
-    inc $P10
-    set rx1001_pos, $P10
-    ge rx1001_pos, rx1001_eos, rxscan1004_done
-  rxscan1004_scan:
-    set_addr $I10, rxscan1004_loop
-    rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
-  rxscan1004_done:
-.annotate "line", 477
+.sub "prefix:sym<->"  :subid("251_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1009_tgt
+    .local int rx1009_pos
+    .local int rx1009_off
+    .local int rx1009_eos
+    .local int rx1009_rep
+    .local pmc rx1009_cur
+    (rx1009_cur, rx1009_pos, rx1009_tgt) = self."!cursor_start"()
+    rx1009_cur."!cursor_debug"("START ", "prefix:sym<->")
+    .lex unicode:"$\x{a2}", rx1009_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1009_eos, rx1009_tgt
+    set rx1009_off, 0
+    lt rx1009_pos, 2, rx1009_start
+    sub rx1009_off, rx1009_pos, 1
+    substr rx1009_tgt, rx1009_tgt, rx1009_off
+  rx1009_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1012_done
+    goto rxscan1012_scan
+  rxscan1012_loop:
+    ($P10) = rx1009_cur."from"()
+    inc $P10
+    set rx1009_pos, $P10
+    ge rx1009_pos, rx1009_eos, rxscan1012_done
+  rxscan1012_scan:
+    set_addr $I10, rxscan1012_loop
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  rxscan1012_done:
+.annotate 'line', 478
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1005_fail
-    rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
+    set_addr $I10, rxcap_1013_fail
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1001_pos, 1
-    gt $I11, rx1001_eos, rx1001_fail
-    sub $I11, rx1001_pos, rx1001_off
-    substr $S10, rx1001_tgt, $I11, 1
-    ne $S10, "-", rx1001_fail
-    add rx1001_pos, 1
-    set_addr $I10, rxcap_1005_fail
-    ($I12, $I11) = rx1001_cur."!mark_peek"($I10)
-    rx1001_cur."!cursor_pos"($I11)
-    ($P10) = rx1001_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1001_pos, "")
-    rx1001_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1009_pos, 1
+    gt $I11, rx1009_eos, rx1009_fail
+    sub $I11, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I11, 1
+    ne $S10, "-", rx1009_fail
+    add rx1009_pos, 1
+    set_addr $I10, rxcap_1013_fail
+    ($I12, $I11) = rx1009_cur."!mark_peek"($I10)
+    rx1009_cur."!cursor_pos"($I11)
+    ($P10) = rx1009_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1009_pos, "")
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1005_done
-  rxcap_1005_fail:
-    goto rx1001_fail
-  rxcap_1005_done:
+    goto rxcap_1013_done
+  rxcap_1013_fail:
+    goto rx1009_fail
+  rxcap_1013_done:
   # rx enumcharlist negate=1 zerowidth
-    ge rx1001_pos, rx1001_eos, rx1001_fail
-    sub $I10, rx1001_pos, rx1001_off
-    substr $S10, rx1001_tgt, $I10, 1
+    ge rx1009_pos, rx1009_eos, rx1009_fail
+    sub $I10, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx1001_fail
+    ge $I11, 0, rx1009_fail
   # rx subrule "number" subtype=zerowidth negate=1
-    rx1001_cur."!cursor_pos"(rx1001_pos)
-    $P10 = rx1001_cur."number"()
-    if $P10, rx1001_fail
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."number"()
+    if $P10, rx1009_fail
   # rx subrule "O" subtype=capture negate=
-    rx1001_cur."!cursor_pos"(rx1001_pos)
-    $P10 = rx1001_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx1001_fail
-    rx1001_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."O"("%symbolic_unary, :pirop<neg>")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1001_pos = $P10."pos"()
+    rx1009_pos = $P10."pos"()
   # rx pass
-    rx1001_cur."!cursor_pass"(rx1001_pos, "prefix:sym<->")
-    rx1001_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1001_pos)
-    .return (rx1001_cur)
-  rx1001_fail:
-.annotate "line", 422
-    (rx1001_rep, rx1001_pos, $I10, $P10) = rx1001_cur."!mark_fail"(0)
-    lt rx1001_pos, -1, rx1001_done
-    eq rx1001_pos, -1, rx1001_fail
-    jump $I10
-  rx1001_done:
-    rx1001_cur."!cursor_fail"()
-    rx1001_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx1001_cur)
+    rx1009_cur."!cursor_pass"(rx1009_pos, "prefix:sym<->")
+    rx1009_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1009_pos)
+    .return (rx1009_cur)
+  rx1009_fail:
+.annotate 'line', 423
+    (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0)
+    lt rx1009_pos, -1, rx1009_done
+    eq rx1009_pos, -1, rx1009_fail
+    jump $I10
+  rx1009_done:
+    rx1009_cur."!cursor_fail"()
+    rx1009_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    .return (rx1009_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("252_1272816833.94956") :method
-.annotate "line", 422
-    new $P1003, "ResizablePMCArray"
-    push $P1003, "-"
-    .return ($P1003)
+.sub "!PREFIX__prefix:sym<->"  :subid("252_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1011, "ResizablePMCArray"
+    push $P1011, "-"
+    .return ($P1011)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("253_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1007_tgt
-    .local int rx1007_pos
-    .local int rx1007_off
-    .local int rx1007_eos
-    .local int rx1007_rep
-    .local pmc rx1007_cur
-    (rx1007_cur, rx1007_pos, rx1007_tgt) = self."!cursor_start"()
-    rx1007_cur."!cursor_debug"("START ", "prefix:sym<?>")
-    .lex unicode:"$\x{a2}", rx1007_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1007_eos, rx1007_tgt
-    set rx1007_off, 0
-    lt rx1007_pos, 2, rx1007_start
-    sub rx1007_off, rx1007_pos, 1
-    substr rx1007_tgt, rx1007_tgt, rx1007_off
-  rx1007_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1011_done
-    goto rxscan1011_scan
-  rxscan1011_loop:
-    ($P10) = rx1007_cur."from"()
-    inc $P10
-    set rx1007_pos, $P10
-    ge rx1007_pos, rx1007_eos, rxscan1011_done
-  rxscan1011_scan:
-    set_addr $I10, rxscan1011_loop
-    rx1007_cur."!mark_push"(0, rx1007_pos, $I10)
-  rxscan1011_done:
-.annotate "line", 478
+.sub "prefix:sym<?>"  :subid("253_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1015_tgt
+    .local int rx1015_pos
+    .local int rx1015_off
+    .local int rx1015_eos
+    .local int rx1015_rep
+    .local pmc rx1015_cur
+    (rx1015_cur, rx1015_pos, rx1015_tgt) = self."!cursor_start"()
+    rx1015_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx1015_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1015_eos, rx1015_tgt
+    set rx1015_off, 0
+    lt rx1015_pos, 2, rx1015_start
+    sub rx1015_off, rx1015_pos, 1
+    substr rx1015_tgt, rx1015_tgt, rx1015_off
+  rx1015_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1019_done
+    goto rxscan1019_scan
+  rxscan1019_loop:
+    ($P10) = rx1015_cur."from"()
+    inc $P10
+    set rx1015_pos, $P10
+    ge rx1015_pos, rx1015_eos, rxscan1019_done
+  rxscan1019_scan:
+    set_addr $I10, rxscan1019_loop
+    rx1015_cur."!mark_push"(0, rx1015_pos, $I10)
+  rxscan1019_done:
+.annotate 'line', 479
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1012_fail
-    rx1007_cur."!mark_push"(0, rx1007_pos, $I10)
+    set_addr $I10, rxcap_1020_fail
+    rx1015_cur."!mark_push"(0, rx1015_pos, $I10)
   # rx literal  "?"
-    add $I11, rx1007_pos, 1
-    gt $I11, rx1007_eos, rx1007_fail
-    sub $I11, rx1007_pos, rx1007_off
-    substr $S10, rx1007_tgt, $I11, 1
-    ne $S10, "?", rx1007_fail
-    add rx1007_pos, 1
-    set_addr $I10, rxcap_1012_fail
-    ($I12, $I11) = rx1007_cur."!mark_peek"($I10)
-    rx1007_cur."!cursor_pos"($I11)
-    ($P10) = rx1007_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1007_pos, "")
-    rx1007_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1015_pos, 1
+    gt $I11, rx1015_eos, rx1015_fail
+    sub $I11, rx1015_pos, rx1015_off
+    substr $S10, rx1015_tgt, $I11, 1
+    ne $S10, "?", rx1015_fail
+    add rx1015_pos, 1
+    set_addr $I10, rxcap_1020_fail
+    ($I12, $I11) = rx1015_cur."!mark_peek"($I10)
+    rx1015_cur."!cursor_pos"($I11)
+    ($P10) = rx1015_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1015_pos, "")
+    rx1015_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1012_done
-  rxcap_1012_fail:
-    goto rx1007_fail
-  rxcap_1012_done:
+    goto rxcap_1020_done
+  rxcap_1020_fail:
+    goto rx1015_fail
+  rxcap_1020_done:
   # rx subrule "O" subtype=capture negate=
-    rx1007_cur."!cursor_pos"(rx1007_pos)
-    $P10 = rx1007_cur."O"("%symbolic_unary, :pirop<istrue>")
-    unless $P10, rx1007_fail
-    rx1007_cur."!mark_push"(0, -1, 0, $P10)
+    rx1015_cur."!cursor_pos"(rx1015_pos)
+    $P10 = rx1015_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx1015_fail
+    rx1015_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1007_pos = $P10."pos"()
+    rx1015_pos = $P10."pos"()
   # rx pass
-    rx1007_cur."!cursor_pass"(rx1007_pos, "prefix:sym<?>")
-    rx1007_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1007_pos)
-    .return (rx1007_cur)
-  rx1007_fail:
-.annotate "line", 422
-    (rx1007_rep, rx1007_pos, $I10, $P10) = rx1007_cur."!mark_fail"(0)
-    lt rx1007_pos, -1, rx1007_done
-    eq rx1007_pos, -1, rx1007_fail
-    jump $I10
-  rx1007_done:
-    rx1007_cur."!cursor_fail"()
-    rx1007_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
-    .return (rx1007_cur)
+    rx1015_cur."!cursor_pass"(rx1015_pos, "prefix:sym<?>")
+    rx1015_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1015_pos)
+    .return (rx1015_cur)
+  rx1015_fail:
+.annotate 'line', 423
+    (rx1015_rep, rx1015_pos, $I10, $P10) = rx1015_cur."!mark_fail"(0)
+    lt rx1015_pos, -1, rx1015_done
+    eq rx1015_pos, -1, rx1015_fail
+    jump $I10
+  rx1015_done:
+    rx1015_cur."!cursor_fail"()
+    rx1015_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx1015_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("254_1272816833.94956") :method
-.annotate "line", 422
-    $P1009 = self."!PREFIX__!subrule"("O", "?")
-    new $P1010, "ResizablePMCArray"
-    push $P1010, $P1009
-    .return ($P1010)
+.sub "!PREFIX__prefix:sym<?>"  :subid("254_1273866379.28103") :method
+.annotate 'line', 423
+    $P1017 = self."!PREFIX__!subrule"("O", "?")
+    new $P1018, "ResizablePMCArray"
+    push $P1018, $P1017
+    .return ($P1018)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("255_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1014_tgt
-    .local int rx1014_pos
-    .local int rx1014_off
-    .local int rx1014_eos
-    .local int rx1014_rep
-    .local pmc rx1014_cur
-    (rx1014_cur, rx1014_pos, rx1014_tgt) = self."!cursor_start"()
-    rx1014_cur."!cursor_debug"("START ", "prefix:sym<!>")
-    .lex unicode:"$\x{a2}", rx1014_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1014_eos, rx1014_tgt
-    set rx1014_off, 0
-    lt rx1014_pos, 2, rx1014_start
-    sub rx1014_off, rx1014_pos, 1
-    substr rx1014_tgt, rx1014_tgt, rx1014_off
-  rx1014_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1018_done
-    goto rxscan1018_scan
-  rxscan1018_loop:
-    ($P10) = rx1014_cur."from"()
-    inc $P10
-    set rx1014_pos, $P10
-    ge rx1014_pos, rx1014_eos, rxscan1018_done
-  rxscan1018_scan:
-    set_addr $I10, rxscan1018_loop
-    rx1014_cur."!mark_push"(0, rx1014_pos, $I10)
-  rxscan1018_done:
-.annotate "line", 479
+.sub "prefix:sym<!>"  :subid("255_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1022_tgt
+    .local int rx1022_pos
+    .local int rx1022_off
+    .local int rx1022_eos
+    .local int rx1022_rep
+    .local pmc rx1022_cur
+    (rx1022_cur, rx1022_pos, rx1022_tgt) = self."!cursor_start"()
+    rx1022_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx1022_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1022_eos, rx1022_tgt
+    set rx1022_off, 0
+    lt rx1022_pos, 2, rx1022_start
+    sub rx1022_off, rx1022_pos, 1
+    substr rx1022_tgt, rx1022_tgt, rx1022_off
+  rx1022_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1026_done
+    goto rxscan1026_scan
+  rxscan1026_loop:
+    ($P10) = rx1022_cur."from"()
+    inc $P10
+    set rx1022_pos, $P10
+    ge rx1022_pos, rx1022_eos, rxscan1026_done
+  rxscan1026_scan:
+    set_addr $I10, rxscan1026_loop
+    rx1022_cur."!mark_push"(0, rx1022_pos, $I10)
+  rxscan1026_done:
+.annotate 'line', 480
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1019_fail
-    rx1014_cur."!mark_push"(0, rx1014_pos, $I10)
+    set_addr $I10, rxcap_1027_fail
+    rx1022_cur."!mark_push"(0, rx1022_pos, $I10)
   # rx literal  "!"
-    add $I11, rx1014_pos, 1
-    gt $I11, rx1014_eos, rx1014_fail
-    sub $I11, rx1014_pos, rx1014_off
-    substr $S10, rx1014_tgt, $I11, 1
-    ne $S10, "!", rx1014_fail
-    add rx1014_pos, 1
-    set_addr $I10, rxcap_1019_fail
-    ($I12, $I11) = rx1014_cur."!mark_peek"($I10)
-    rx1014_cur."!cursor_pos"($I11)
-    ($P10) = rx1014_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1014_pos, "")
-    rx1014_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1022_pos, 1
+    gt $I11, rx1022_eos, rx1022_fail
+    sub $I11, rx1022_pos, rx1022_off
+    substr $S10, rx1022_tgt, $I11, 1
+    ne $S10, "!", rx1022_fail
+    add rx1022_pos, 1
+    set_addr $I10, rxcap_1027_fail
+    ($I12, $I11) = rx1022_cur."!mark_peek"($I10)
+    rx1022_cur."!cursor_pos"($I11)
+    ($P10) = rx1022_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1022_pos, "")
+    rx1022_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1019_done
-  rxcap_1019_fail:
-    goto rx1014_fail
-  rxcap_1019_done:
+    goto rxcap_1027_done
+  rxcap_1027_fail:
+    goto rx1022_fail
+  rxcap_1027_done:
   # rx subrule "O" subtype=capture negate=
-    rx1014_cur."!cursor_pos"(rx1014_pos)
-    $P10 = rx1014_cur."O"("%symbolic_unary, :pirop<isfalse>")
-    unless $P10, rx1014_fail
-    rx1014_cur."!mark_push"(0, -1, 0, $P10)
+    rx1022_cur."!cursor_pos"(rx1022_pos)
+    $P10 = rx1022_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx1022_fail
+    rx1022_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1014_pos = $P10."pos"()
+    rx1022_pos = $P10."pos"()
   # rx pass
-    rx1014_cur."!cursor_pass"(rx1014_pos, "prefix:sym<!>")
-    rx1014_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1014_pos)
-    .return (rx1014_cur)
-  rx1014_fail:
-.annotate "line", 422
-    (rx1014_rep, rx1014_pos, $I10, $P10) = rx1014_cur."!mark_fail"(0)
-    lt rx1014_pos, -1, rx1014_done
-    eq rx1014_pos, -1, rx1014_fail
-    jump $I10
-  rx1014_done:
-    rx1014_cur."!cursor_fail"()
-    rx1014_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
-    .return (rx1014_cur)
+    rx1022_cur."!cursor_pass"(rx1022_pos, "prefix:sym<!>")
+    rx1022_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1022_pos)
+    .return (rx1022_cur)
+  rx1022_fail:
+.annotate 'line', 423
+    (rx1022_rep, rx1022_pos, $I10, $P10) = rx1022_cur."!mark_fail"(0)
+    lt rx1022_pos, -1, rx1022_done
+    eq rx1022_pos, -1, rx1022_fail
+    jump $I10
+  rx1022_done:
+    rx1022_cur."!cursor_fail"()
+    rx1022_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx1022_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("256_1272816833.94956") :method
-.annotate "line", 422
-    $P1016 = self."!PREFIX__!subrule"("O", "!")
-    new $P1017, "ResizablePMCArray"
-    push $P1017, $P1016
-    .return ($P1017)
+.sub "!PREFIX__prefix:sym<!>"  :subid("256_1273866379.28103") :method
+.annotate 'line', 423
+    $P1024 = self."!PREFIX__!subrule"("O", "!")
+    new $P1025, "ResizablePMCArray"
+    push $P1025, $P1024
+    .return ($P1025)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("257_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1021_tgt
-    .local int rx1021_pos
-    .local int rx1021_off
-    .local int rx1021_eos
-    .local int rx1021_rep
-    .local pmc rx1021_cur
-    (rx1021_cur, rx1021_pos, rx1021_tgt) = self."!cursor_start"()
-    rx1021_cur."!cursor_debug"("START ", "prefix:sym<|>")
-    .lex unicode:"$\x{a2}", rx1021_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1021_eos, rx1021_tgt
-    set rx1021_off, 0
-    lt rx1021_pos, 2, rx1021_start
-    sub rx1021_off, rx1021_pos, 1
-    substr rx1021_tgt, rx1021_tgt, rx1021_off
-  rx1021_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1025_done
-    goto rxscan1025_scan
-  rxscan1025_loop:
-    ($P10) = rx1021_cur."from"()
-    inc $P10
-    set rx1021_pos, $P10
-    ge rx1021_pos, rx1021_eos, rxscan1025_done
-  rxscan1025_scan:
-    set_addr $I10, rxscan1025_loop
-    rx1021_cur."!mark_push"(0, rx1021_pos, $I10)
-  rxscan1025_done:
-.annotate "line", 480
+.sub "prefix:sym<|>"  :subid("257_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1029_tgt
+    .local int rx1029_pos
+    .local int rx1029_off
+    .local int rx1029_eos
+    .local int rx1029_rep
+    .local pmc rx1029_cur
+    (rx1029_cur, rx1029_pos, rx1029_tgt) = self."!cursor_start"()
+    rx1029_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx1029_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1029_eos, rx1029_tgt
+    set rx1029_off, 0
+    lt rx1029_pos, 2, rx1029_start
+    sub rx1029_off, rx1029_pos, 1
+    substr rx1029_tgt, rx1029_tgt, rx1029_off
+  rx1029_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1033_done
+    goto rxscan1033_scan
+  rxscan1033_loop:
+    ($P10) = rx1029_cur."from"()
+    inc $P10
+    set rx1029_pos, $P10
+    ge rx1029_pos, rx1029_eos, rxscan1033_done
+  rxscan1033_scan:
+    set_addr $I10, rxscan1033_loop
+    rx1029_cur."!mark_push"(0, rx1029_pos, $I10)
+  rxscan1033_done:
+.annotate 'line', 481
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1026_fail
-    rx1021_cur."!mark_push"(0, rx1021_pos, $I10)
+    set_addr $I10, rxcap_1034_fail
+    rx1029_cur."!mark_push"(0, rx1029_pos, $I10)
   # rx literal  "|"
-    add $I11, rx1021_pos, 1
-    gt $I11, rx1021_eos, rx1021_fail
-    sub $I11, rx1021_pos, rx1021_off
-    substr $S10, rx1021_tgt, $I11, 1
-    ne $S10, "|", rx1021_fail
-    add rx1021_pos, 1
-    set_addr $I10, rxcap_1026_fail
-    ($I12, $I11) = rx1021_cur."!mark_peek"($I10)
-    rx1021_cur."!cursor_pos"($I11)
-    ($P10) = rx1021_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1021_pos, "")
-    rx1021_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1029_pos, 1
+    gt $I11, rx1029_eos, rx1029_fail
+    sub $I11, rx1029_pos, rx1029_off
+    substr $S10, rx1029_tgt, $I11, 1
+    ne $S10, "|", rx1029_fail
+    add rx1029_pos, 1
+    set_addr $I10, rxcap_1034_fail
+    ($I12, $I11) = rx1029_cur."!mark_peek"($I10)
+    rx1029_cur."!cursor_pos"($I11)
+    ($P10) = rx1029_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1029_pos, "")
+    rx1029_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1026_done
-  rxcap_1026_fail:
-    goto rx1021_fail
-  rxcap_1026_done:
+    goto rxcap_1034_done
+  rxcap_1034_fail:
+    goto rx1029_fail
+  rxcap_1034_done:
   # rx subrule "O" subtype=capture negate=
-    rx1021_cur."!cursor_pos"(rx1021_pos)
-    $P10 = rx1021_cur."O"("%symbolic_unary")
-    unless $P10, rx1021_fail
-    rx1021_cur."!mark_push"(0, -1, 0, $P10)
+    rx1029_cur."!cursor_pos"(rx1029_pos)
+    $P10 = rx1029_cur."O"("%symbolic_unary")
+    unless $P10, rx1029_fail
+    rx1029_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1021_pos = $P10."pos"()
+    rx1029_pos = $P10."pos"()
   # rx pass
-    rx1021_cur."!cursor_pass"(rx1021_pos, "prefix:sym<|>")
-    rx1021_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1021_pos)
-    .return (rx1021_cur)
-  rx1021_fail:
-.annotate "line", 422
-    (rx1021_rep, rx1021_pos, $I10, $P10) = rx1021_cur."!mark_fail"(0)
-    lt rx1021_pos, -1, rx1021_done
-    eq rx1021_pos, -1, rx1021_fail
-    jump $I10
-  rx1021_done:
-    rx1021_cur."!cursor_fail"()
-    rx1021_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
-    .return (rx1021_cur)
+    rx1029_cur."!cursor_pass"(rx1029_pos, "prefix:sym<|>")
+    rx1029_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1029_pos)
+    .return (rx1029_cur)
+  rx1029_fail:
+.annotate 'line', 423
+    (rx1029_rep, rx1029_pos, $I10, $P10) = rx1029_cur."!mark_fail"(0)
+    lt rx1029_pos, -1, rx1029_done
+    eq rx1029_pos, -1, rx1029_fail
+    jump $I10
+  rx1029_done:
+    rx1029_cur."!cursor_fail"()
+    rx1029_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx1029_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("258_1272816833.94956") :method
-.annotate "line", 422
-    $P1023 = self."!PREFIX__!subrule"("O", "|")
-    new $P1024, "ResizablePMCArray"
-    push $P1024, $P1023
-    .return ($P1024)
+.sub "!PREFIX__prefix:sym<|>"  :subid("258_1273866379.28103") :method
+.annotate 'line', 423
+    $P1031 = self."!PREFIX__!subrule"("O", "|")
+    new $P1032, "ResizablePMCArray"
+    push $P1032, $P1031
+    .return ($P1032)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("259_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1028_tgt
-    .local int rx1028_pos
-    .local int rx1028_off
-    .local int rx1028_eos
-    .local int rx1028_rep
-    .local pmc rx1028_cur
-    (rx1028_cur, rx1028_pos, rx1028_tgt) = self."!cursor_start"()
-    rx1028_cur."!cursor_debug"("START ", "infix:sym<*>")
-    .lex unicode:"$\x{a2}", rx1028_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1028_eos, rx1028_tgt
-    set rx1028_off, 0
-    lt rx1028_pos, 2, rx1028_start
-    sub rx1028_off, rx1028_pos, 1
-    substr rx1028_tgt, rx1028_tgt, rx1028_off
-  rx1028_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1032_done
-    goto rxscan1032_scan
-  rxscan1032_loop:
-    ($P10) = rx1028_cur."from"()
-    inc $P10
-    set rx1028_pos, $P10
-    ge rx1028_pos, rx1028_eos, rxscan1032_done
-  rxscan1032_scan:
-    set_addr $I10, rxscan1032_loop
-    rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
-  rxscan1032_done:
-.annotate "line", 482
+.sub "infix:sym<*>"  :subid("259_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1036_tgt
+    .local int rx1036_pos
+    .local int rx1036_off
+    .local int rx1036_eos
+    .local int rx1036_rep
+    .local pmc rx1036_cur
+    (rx1036_cur, rx1036_pos, rx1036_tgt) = self."!cursor_start"()
+    rx1036_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx1036_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1036_eos, rx1036_tgt
+    set rx1036_off, 0
+    lt rx1036_pos, 2, rx1036_start
+    sub rx1036_off, rx1036_pos, 1
+    substr rx1036_tgt, rx1036_tgt, rx1036_off
+  rx1036_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1040_done
+    goto rxscan1040_scan
+  rxscan1040_loop:
+    ($P10) = rx1036_cur."from"()
+    inc $P10
+    set rx1036_pos, $P10
+    ge rx1036_pos, rx1036_eos, rxscan1040_done
+  rxscan1040_scan:
+    set_addr $I10, rxscan1040_loop
+    rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
+  rxscan1040_done:
+.annotate 'line', 483
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1033_fail
-    rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
+    set_addr $I10, rxcap_1041_fail
+    rx1036_cur."!mark_push"(0, rx1036_pos, $I10)
   # rx literal  "*"
-    add $I11, rx1028_pos, 1
-    gt $I11, rx1028_eos, rx1028_fail
-    sub $I11, rx1028_pos, rx1028_off
-    substr $S10, rx1028_tgt, $I11, 1
-    ne $S10, "*", rx1028_fail
-    add rx1028_pos, 1
-    set_addr $I10, rxcap_1033_fail
-    ($I12, $I11) = rx1028_cur."!mark_peek"($I10)
-    rx1028_cur."!cursor_pos"($I11)
-    ($P10) = rx1028_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1028_pos, "")
-    rx1028_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1036_pos, 1
+    gt $I11, rx1036_eos, rx1036_fail
+    sub $I11, rx1036_pos, rx1036_off
+    substr $S10, rx1036_tgt, $I11, 1
+    ne $S10, "*", rx1036_fail
+    add rx1036_pos, 1
+    set_addr $I10, rxcap_1041_fail
+    ($I12, $I11) = rx1036_cur."!mark_peek"($I10)
+    rx1036_cur."!cursor_pos"($I11)
+    ($P10) = rx1036_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1036_pos, "")
+    rx1036_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1033_done
-  rxcap_1033_fail:
-    goto rx1028_fail
-  rxcap_1033_done:
+    goto rxcap_1041_done
+  rxcap_1041_fail:
+    goto rx1036_fail
+  rxcap_1041_done:
   # rx subrule "O" subtype=capture negate=
-    rx1028_cur."!cursor_pos"(rx1028_pos)
-    $P10 = rx1028_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx1028_fail
-    rx1028_cur."!mark_push"(0, -1, 0, $P10)
+    rx1036_cur."!cursor_pos"(rx1036_pos)
+    $P10 = rx1036_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx1036_fail
+    rx1036_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1028_pos = $P10."pos"()
+    rx1036_pos = $P10."pos"()
   # rx pass
-    rx1028_cur."!cursor_pass"(rx1028_pos, "infix:sym<*>")
-    rx1028_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1028_pos)
-    .return (rx1028_cur)
-  rx1028_fail:
-.annotate "line", 422
-    (rx1028_rep, rx1028_pos, $I10, $P10) = rx1028_cur."!mark_fail"(0)
-    lt rx1028_pos, -1, rx1028_done
-    eq rx1028_pos, -1, rx1028_fail
-    jump $I10
-  rx1028_done:
-    rx1028_cur."!cursor_fail"()
-    rx1028_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx1028_cur)
+    rx1036_cur."!cursor_pass"(rx1036_pos, "infix:sym<*>")
+    rx1036_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1036_pos)
+    .return (rx1036_cur)
+  rx1036_fail:
+.annotate 'line', 423
+    (rx1036_rep, rx1036_pos, $I10, $P10) = rx1036_cur."!mark_fail"(0)
+    lt rx1036_pos, -1, rx1036_done
+    eq rx1036_pos, -1, rx1036_fail
+    jump $I10
+  rx1036_done:
+    rx1036_cur."!cursor_fail"()
+    rx1036_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx1036_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("260_1272816833.94956") :method
-.annotate "line", 422
-    $P1030 = self."!PREFIX__!subrule"("O", "*")
-    new $P1031, "ResizablePMCArray"
-    push $P1031, $P1030
-    .return ($P1031)
+.sub "!PREFIX__infix:sym<*>"  :subid("260_1273866379.28103") :method
+.annotate 'line', 423
+    $P1038 = self."!PREFIX__!subrule"("O", "*")
+    new $P1039, "ResizablePMCArray"
+    push $P1039, $P1038
+    .return ($P1039)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("261_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1035_tgt
-    .local int rx1035_pos
-    .local int rx1035_off
-    .local int rx1035_eos
-    .local int rx1035_rep
-    .local pmc rx1035_cur
-    (rx1035_cur, rx1035_pos, rx1035_tgt) = self."!cursor_start"()
-    rx1035_cur."!cursor_debug"("START ", "infix:sym</>")
-    .lex unicode:"$\x{a2}", rx1035_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1035_eos, rx1035_tgt
-    set rx1035_off, 0
-    lt rx1035_pos, 2, rx1035_start
-    sub rx1035_off, rx1035_pos, 1
-    substr rx1035_tgt, rx1035_tgt, rx1035_off
-  rx1035_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1039_done
-    goto rxscan1039_scan
-  rxscan1039_loop:
-    ($P10) = rx1035_cur."from"()
-    inc $P10
-    set rx1035_pos, $P10
-    ge rx1035_pos, rx1035_eos, rxscan1039_done
-  rxscan1039_scan:
-    set_addr $I10, rxscan1039_loop
-    rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
-  rxscan1039_done:
-.annotate "line", 483
+.sub "infix:sym</>"  :subid("261_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1043_tgt
+    .local int rx1043_pos
+    .local int rx1043_off
+    .local int rx1043_eos
+    .local int rx1043_rep
+    .local pmc rx1043_cur
+    (rx1043_cur, rx1043_pos, rx1043_tgt) = self."!cursor_start"()
+    rx1043_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1043_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1043_eos, rx1043_tgt
+    set rx1043_off, 0
+    lt rx1043_pos, 2, rx1043_start
+    sub rx1043_off, rx1043_pos, 1
+    substr rx1043_tgt, rx1043_tgt, rx1043_off
+  rx1043_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1047_done
+    goto rxscan1047_scan
+  rxscan1047_loop:
+    ($P10) = rx1043_cur."from"()
+    inc $P10
+    set rx1043_pos, $P10
+    ge rx1043_pos, rx1043_eos, rxscan1047_done
+  rxscan1047_scan:
+    set_addr $I10, rxscan1047_loop
+    rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
+  rxscan1047_done:
+.annotate 'line', 484
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1040_fail
-    rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
+    set_addr $I10, rxcap_1048_fail
+    rx1043_cur."!mark_push"(0, rx1043_pos, $I10)
   # rx literal  "/"
-    add $I11, rx1035_pos, 1
-    gt $I11, rx1035_eos, rx1035_fail
-    sub $I11, rx1035_pos, rx1035_off
-    substr $S10, rx1035_tgt, $I11, 1
-    ne $S10, "/", rx1035_fail
-    add rx1035_pos, 1
-    set_addr $I10, rxcap_1040_fail
-    ($I12, $I11) = rx1035_cur."!mark_peek"($I10)
-    rx1035_cur."!cursor_pos"($I11)
-    ($P10) = rx1035_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1035_pos, "")
-    rx1035_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1043_pos, 1
+    gt $I11, rx1043_eos, rx1043_fail
+    sub $I11, rx1043_pos, rx1043_off
+    substr $S10, rx1043_tgt, $I11, 1
+    ne $S10, "/", rx1043_fail
+    add rx1043_pos, 1
+    set_addr $I10, rxcap_1048_fail
+    ($I12, $I11) = rx1043_cur."!mark_peek"($I10)
+    rx1043_cur."!cursor_pos"($I11)
+    ($P10) = rx1043_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1043_pos, "")
+    rx1043_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1040_done
-  rxcap_1040_fail:
-    goto rx1035_fail
-  rxcap_1040_done:
+    goto rxcap_1048_done
+  rxcap_1048_fail:
+    goto rx1043_fail
+  rxcap_1048_done:
   # rx subrule "O" subtype=capture negate=
-    rx1035_cur."!cursor_pos"(rx1035_pos)
-    $P10 = rx1035_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx1035_fail
-    rx1035_cur."!mark_push"(0, -1, 0, $P10)
+    rx1043_cur."!cursor_pos"(rx1043_pos)
+    $P10 = rx1043_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1043_fail
+    rx1043_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1035_pos = $P10."pos"()
+    rx1043_pos = $P10."pos"()
   # rx pass
-    rx1035_cur."!cursor_pass"(rx1035_pos, "infix:sym</>")
-    rx1035_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1035_pos)
-    .return (rx1035_cur)
-  rx1035_fail:
-.annotate "line", 422
-    (rx1035_rep, rx1035_pos, $I10, $P10) = rx1035_cur."!mark_fail"(0)
-    lt rx1035_pos, -1, rx1035_done
-    eq rx1035_pos, -1, rx1035_fail
-    jump $I10
-  rx1035_done:
-    rx1035_cur."!cursor_fail"()
-    rx1035_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx1035_cur)
+    rx1043_cur."!cursor_pass"(rx1043_pos, "infix:sym</>")
+    rx1043_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1043_pos)
+    .return (rx1043_cur)
+  rx1043_fail:
+.annotate 'line', 423
+    (rx1043_rep, rx1043_pos, $I10, $P10) = rx1043_cur."!mark_fail"(0)
+    lt rx1043_pos, -1, rx1043_done
+    eq rx1043_pos, -1, rx1043_fail
+    jump $I10
+  rx1043_done:
+    rx1043_cur."!cursor_fail"()
+    rx1043_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1043_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("262_1272816833.94956") :method
-.annotate "line", 422
-    $P1037 = self."!PREFIX__!subrule"("O", "/")
-    new $P1038, "ResizablePMCArray"
-    push $P1038, $P1037
-    .return ($P1038)
+.sub "!PREFIX__infix:sym</>"  :subid("262_1273866379.28103") :method
+.annotate 'line', 423
+    $P1045 = self."!PREFIX__!subrule"("O", "/")
+    new $P1046, "ResizablePMCArray"
+    push $P1046, $P1045
+    .return ($P1046)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("263_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1042_tgt
-    .local int rx1042_pos
-    .local int rx1042_off
-    .local int rx1042_eos
-    .local int rx1042_rep
-    .local pmc rx1042_cur
-    (rx1042_cur, rx1042_pos, rx1042_tgt) = self."!cursor_start"()
-    rx1042_cur."!cursor_debug"("START ", "infix:sym<%>")
-    .lex unicode:"$\x{a2}", rx1042_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1042_eos, rx1042_tgt
-    set rx1042_off, 0
-    lt rx1042_pos, 2, rx1042_start
-    sub rx1042_off, rx1042_pos, 1
-    substr rx1042_tgt, rx1042_tgt, rx1042_off
-  rx1042_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1046_done
-    goto rxscan1046_scan
-  rxscan1046_loop:
-    ($P10) = rx1042_cur."from"()
-    inc $P10
-    set rx1042_pos, $P10
-    ge rx1042_pos, rx1042_eos, rxscan1046_done
-  rxscan1046_scan:
-    set_addr $I10, rxscan1046_loop
-    rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
-  rxscan1046_done:
-.annotate "line", 484
+.sub "infix:sym<%>"  :subid("263_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1050_tgt
+    .local int rx1050_pos
+    .local int rx1050_off
+    .local int rx1050_eos
+    .local int rx1050_rep
+    .local pmc rx1050_cur
+    (rx1050_cur, rx1050_pos, rx1050_tgt) = self."!cursor_start"()
+    rx1050_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1050_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1050_eos, rx1050_tgt
+    set rx1050_off, 0
+    lt rx1050_pos, 2, rx1050_start
+    sub rx1050_off, rx1050_pos, 1
+    substr rx1050_tgt, rx1050_tgt, rx1050_off
+  rx1050_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1054_done
+    goto rxscan1054_scan
+  rxscan1054_loop:
+    ($P10) = rx1050_cur."from"()
+    inc $P10
+    set rx1050_pos, $P10
+    ge rx1050_pos, rx1050_eos, rxscan1054_done
+  rxscan1054_scan:
+    set_addr $I10, rxscan1054_loop
+    rx1050_cur."!mark_push"(0, rx1050_pos, $I10)
+  rxscan1054_done:
+.annotate 'line', 485
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1047_fail
-    rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
+    set_addr $I10, rxcap_1055_fail
+    rx1050_cur."!mark_push"(0, rx1050_pos, $I10)
   # rx literal  "%"
-    add $I11, rx1042_pos, 1
-    gt $I11, rx1042_eos, rx1042_fail
-    sub $I11, rx1042_pos, rx1042_off
-    substr $S10, rx1042_tgt, $I11, 1
-    ne $S10, "%", rx1042_fail
-    add rx1042_pos, 1
-    set_addr $I10, rxcap_1047_fail
-    ($I12, $I11) = rx1042_cur."!mark_peek"($I10)
-    rx1042_cur."!cursor_pos"($I11)
-    ($P10) = rx1042_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1042_pos, "")
-    rx1042_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1050_pos, 1
+    gt $I11, rx1050_eos, rx1050_fail
+    sub $I11, rx1050_pos, rx1050_off
+    substr $S10, rx1050_tgt, $I11, 1
+    ne $S10, "%", rx1050_fail
+    add rx1050_pos, 1
+    set_addr $I10, rxcap_1055_fail
+    ($I12, $I11) = rx1050_cur."!mark_peek"($I10)
+    rx1050_cur."!cursor_pos"($I11)
+    ($P10) = rx1050_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1050_pos, "")
+    rx1050_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1047_done
-  rxcap_1047_fail:
-    goto rx1042_fail
-  rxcap_1047_done:
+    goto rxcap_1055_done
+  rxcap_1055_fail:
+    goto rx1050_fail
+  rxcap_1055_done:
   # rx subrule "O" subtype=capture negate=
-    rx1042_cur."!cursor_pos"(rx1042_pos)
-    $P10 = rx1042_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx1042_fail
-    rx1042_cur."!mark_push"(0, -1, 0, $P10)
+    rx1050_cur."!cursor_pos"(rx1050_pos)
+    $P10 = rx1050_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1050_fail
+    rx1050_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1042_pos = $P10."pos"()
+    rx1050_pos = $P10."pos"()
   # rx pass
-    rx1042_cur."!cursor_pass"(rx1042_pos, "infix:sym<%>")
-    rx1042_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1042_pos)
-    .return (rx1042_cur)
-  rx1042_fail:
-.annotate "line", 422
-    (rx1042_rep, rx1042_pos, $I10, $P10) = rx1042_cur."!mark_fail"(0)
-    lt rx1042_pos, -1, rx1042_done
-    eq rx1042_pos, -1, rx1042_fail
-    jump $I10
-  rx1042_done:
-    rx1042_cur."!cursor_fail"()
-    rx1042_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx1042_cur)
+    rx1050_cur."!cursor_pass"(rx1050_pos, "infix:sym<%>")
+    rx1050_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1050_pos)
+    .return (rx1050_cur)
+  rx1050_fail:
+.annotate 'line', 423
+    (rx1050_rep, rx1050_pos, $I10, $P10) = rx1050_cur."!mark_fail"(0)
+    lt rx1050_pos, -1, rx1050_done
+    eq rx1050_pos, -1, rx1050_fail
+    jump $I10
+  rx1050_done:
+    rx1050_cur."!cursor_fail"()
+    rx1050_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1050_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("264_1272816833.94956") :method
-.annotate "line", 422
-    $P1044 = self."!PREFIX__!subrule"("O", "%")
-    new $P1045, "ResizablePMCArray"
-    push $P1045, $P1044
-    .return ($P1045)
+.sub "!PREFIX__infix:sym<%>"  :subid("264_1273866379.28103") :method
+.annotate 'line', 423
+    $P1052 = self."!PREFIX__!subrule"("O", "%")
+    new $P1053, "ResizablePMCArray"
+    push $P1053, $P1052
+    .return ($P1053)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("265_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1049_tgt
-    .local int rx1049_pos
-    .local int rx1049_off
-    .local int rx1049_eos
-    .local int rx1049_rep
-    .local pmc rx1049_cur
-    (rx1049_cur, rx1049_pos, rx1049_tgt) = self."!cursor_start"()
-    rx1049_cur."!cursor_debug"("START ", "infix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1049_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1049_eos, rx1049_tgt
-    set rx1049_off, 0
-    lt rx1049_pos, 2, rx1049_start
-    sub rx1049_off, rx1049_pos, 1
-    substr rx1049_tgt, rx1049_tgt, rx1049_off
-  rx1049_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1053_done
-    goto rxscan1053_scan
-  rxscan1053_loop:
-    ($P10) = rx1049_cur."from"()
-    inc $P10
-    set rx1049_pos, $P10
-    ge rx1049_pos, rx1049_eos, rxscan1053_done
-  rxscan1053_scan:
-    set_addr $I10, rxscan1053_loop
-    rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
-  rxscan1053_done:
-.annotate "line", 486
+.sub "infix:sym<+>"  :subid("265_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1057_tgt
+    .local int rx1057_pos
+    .local int rx1057_off
+    .local int rx1057_eos
+    .local int rx1057_rep
+    .local pmc rx1057_cur
+    (rx1057_cur, rx1057_pos, rx1057_tgt) = self."!cursor_start"()
+    rx1057_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1057_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1057_eos, rx1057_tgt
+    set rx1057_off, 0
+    lt rx1057_pos, 2, rx1057_start
+    sub rx1057_off, rx1057_pos, 1
+    substr rx1057_tgt, rx1057_tgt, rx1057_off
+  rx1057_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1061_done
+    goto rxscan1061_scan
+  rxscan1061_loop:
+    ($P10) = rx1057_cur."from"()
+    inc $P10
+    set rx1057_pos, $P10
+    ge rx1057_pos, rx1057_eos, rxscan1061_done
+  rxscan1061_scan:
+    set_addr $I10, rxscan1061_loop
+    rx1057_cur."!mark_push"(0, rx1057_pos, $I10)
+  rxscan1061_done:
+.annotate 'line', 487
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1054_fail
-    rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
+    set_addr $I10, rxcap_1062_fail
+    rx1057_cur."!mark_push"(0, rx1057_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1049_pos, 1
-    gt $I11, rx1049_eos, rx1049_fail
-    sub $I11, rx1049_pos, rx1049_off
-    substr $S10, rx1049_tgt, $I11, 1
-    ne $S10, "+", rx1049_fail
-    add rx1049_pos, 1
-    set_addr $I10, rxcap_1054_fail
-    ($I12, $I11) = rx1049_cur."!mark_peek"($I10)
-    rx1049_cur."!cursor_pos"($I11)
-    ($P10) = rx1049_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1049_pos, "")
-    rx1049_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1057_pos, 1
+    gt $I11, rx1057_eos, rx1057_fail
+    sub $I11, rx1057_pos, rx1057_off
+    substr $S10, rx1057_tgt, $I11, 1
+    ne $S10, "+", rx1057_fail
+    add rx1057_pos, 1
+    set_addr $I10, rxcap_1062_fail
+    ($I12, $I11) = rx1057_cur."!mark_peek"($I10)
+    rx1057_cur."!cursor_pos"($I11)
+    ($P10) = rx1057_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1057_pos, "")
+    rx1057_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1054_done
-  rxcap_1054_fail:
-    goto rx1049_fail
-  rxcap_1054_done:
+    goto rxcap_1062_done
+  rxcap_1062_fail:
+    goto rx1057_fail
+  rxcap_1062_done:
   # rx subrule "O" subtype=capture negate=
-    rx1049_cur."!cursor_pos"(rx1049_pos)
-    $P10 = rx1049_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx1049_fail
-    rx1049_cur."!mark_push"(0, -1, 0, $P10)
+    rx1057_cur."!cursor_pos"(rx1057_pos)
+    $P10 = rx1057_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1057_fail
+    rx1057_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1049_pos = $P10."pos"()
+    rx1057_pos = $P10."pos"()
   # rx pass
-    rx1049_cur."!cursor_pass"(rx1049_pos, "infix:sym<+>")
-    rx1049_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1049_pos)
-    .return (rx1049_cur)
-  rx1049_fail:
-.annotate "line", 422
-    (rx1049_rep, rx1049_pos, $I10, $P10) = rx1049_cur."!mark_fail"(0)
-    lt rx1049_pos, -1, rx1049_done
-    eq rx1049_pos, -1, rx1049_fail
-    jump $I10
-  rx1049_done:
-    rx1049_cur."!cursor_fail"()
-    rx1049_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx1049_cur)
+    rx1057_cur."!cursor_pass"(rx1057_pos, "infix:sym<+>")
+    rx1057_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1057_pos)
+    .return (rx1057_cur)
+  rx1057_fail:
+.annotate 'line', 423
+    (rx1057_rep, rx1057_pos, $I10, $P10) = rx1057_cur."!mark_fail"(0)
+    lt rx1057_pos, -1, rx1057_done
+    eq rx1057_pos, -1, rx1057_fail
+    jump $I10
+  rx1057_done:
+    rx1057_cur."!cursor_fail"()
+    rx1057_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1057_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("266_1272816833.94956") :method
-.annotate "line", 422
-    $P1051 = self."!PREFIX__!subrule"("O", "+")
-    new $P1052, "ResizablePMCArray"
-    push $P1052, $P1051
-    .return ($P1052)
+.sub "!PREFIX__infix:sym<+>"  :subid("266_1273866379.28103") :method
+.annotate 'line', 423
+    $P1059 = self."!PREFIX__!subrule"("O", "+")
+    new $P1060, "ResizablePMCArray"
+    push $P1060, $P1059
+    .return ($P1060)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("267_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1056_tgt
-    .local int rx1056_pos
-    .local int rx1056_off
-    .local int rx1056_eos
-    .local int rx1056_rep
-    .local pmc rx1056_cur
-    (rx1056_cur, rx1056_pos, rx1056_tgt) = self."!cursor_start"()
-    rx1056_cur."!cursor_debug"("START ", "infix:sym<->")
-    .lex unicode:"$\x{a2}", rx1056_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1056_eos, rx1056_tgt
-    set rx1056_off, 0
-    lt rx1056_pos, 2, rx1056_start
-    sub rx1056_off, rx1056_pos, 1
-    substr rx1056_tgt, rx1056_tgt, rx1056_off
-  rx1056_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1060_done
-    goto rxscan1060_scan
-  rxscan1060_loop:
-    ($P10) = rx1056_cur."from"()
-    inc $P10
-    set rx1056_pos, $P10
-    ge rx1056_pos, rx1056_eos, rxscan1060_done
-  rxscan1060_scan:
-    set_addr $I10, rxscan1060_loop
-    rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
-  rxscan1060_done:
-.annotate "line", 487
+.sub "infix:sym<->"  :subid("267_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1064_tgt
+    .local int rx1064_pos
+    .local int rx1064_off
+    .local int rx1064_eos
+    .local int rx1064_rep
+    .local pmc rx1064_cur
+    (rx1064_cur, rx1064_pos, rx1064_tgt) = self."!cursor_start"()
+    rx1064_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1064_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1064_eos, rx1064_tgt
+    set rx1064_off, 0
+    lt rx1064_pos, 2, rx1064_start
+    sub rx1064_off, rx1064_pos, 1
+    substr rx1064_tgt, rx1064_tgt, rx1064_off
+  rx1064_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1068_done
+    goto rxscan1068_scan
+  rxscan1068_loop:
+    ($P10) = rx1064_cur."from"()
+    inc $P10
+    set rx1064_pos, $P10
+    ge rx1064_pos, rx1064_eos, rxscan1068_done
+  rxscan1068_scan:
+    set_addr $I10, rxscan1068_loop
+    rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
+  rxscan1068_done:
+.annotate 'line', 488
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1061_fail
-    rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
+    set_addr $I10, rxcap_1069_fail
+    rx1064_cur."!mark_push"(0, rx1064_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1056_pos, 1
-    gt $I11, rx1056_eos, rx1056_fail
-    sub $I11, rx1056_pos, rx1056_off
-    substr $S10, rx1056_tgt, $I11, 1
-    ne $S10, "-", rx1056_fail
-    add rx1056_pos, 1
-    set_addr $I10, rxcap_1061_fail
-    ($I12, $I11) = rx1056_cur."!mark_peek"($I10)
-    rx1056_cur."!cursor_pos"($I11)
-    ($P10) = rx1056_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1056_pos, "")
-    rx1056_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1064_pos, 1
+    gt $I11, rx1064_eos, rx1064_fail
+    sub $I11, rx1064_pos, rx1064_off
+    substr $S10, rx1064_tgt, $I11, 1
+    ne $S10, "-", rx1064_fail
+    add rx1064_pos, 1
+    set_addr $I10, rxcap_1069_fail
+    ($I12, $I11) = rx1064_cur."!mark_peek"($I10)
+    rx1064_cur."!cursor_pos"($I11)
+    ($P10) = rx1064_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1064_pos, "")
+    rx1064_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1061_done
-  rxcap_1061_fail:
-    goto rx1056_fail
-  rxcap_1061_done:
+    goto rxcap_1069_done
+  rxcap_1069_fail:
+    goto rx1064_fail
+  rxcap_1069_done:
   # rx subrule "O" subtype=capture negate=
-    rx1056_cur."!cursor_pos"(rx1056_pos)
-    $P10 = rx1056_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1056_fail
-    rx1056_cur."!mark_push"(0, -1, 0, $P10)
+    rx1064_cur."!cursor_pos"(rx1064_pos)
+    $P10 = rx1064_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1064_fail
+    rx1064_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1056_pos = $P10."pos"()
+    rx1064_pos = $P10."pos"()
   # rx pass
-    rx1056_cur."!cursor_pass"(rx1056_pos, "infix:sym<->")
-    rx1056_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1056_pos)
-    .return (rx1056_cur)
-  rx1056_fail:
-.annotate "line", 422
-    (rx1056_rep, rx1056_pos, $I10, $P10) = rx1056_cur."!mark_fail"(0)
-    lt rx1056_pos, -1, rx1056_done
-    eq rx1056_pos, -1, rx1056_fail
-    jump $I10
-  rx1056_done:
-    rx1056_cur."!cursor_fail"()
-    rx1056_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1056_cur)
+    rx1064_cur."!cursor_pass"(rx1064_pos, "infix:sym<->")
+    rx1064_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1064_pos)
+    .return (rx1064_cur)
+  rx1064_fail:
+.annotate 'line', 423
+    (rx1064_rep, rx1064_pos, $I10, $P10) = rx1064_cur."!mark_fail"(0)
+    lt rx1064_pos, -1, rx1064_done
+    eq rx1064_pos, -1, rx1064_fail
+    jump $I10
+  rx1064_done:
+    rx1064_cur."!cursor_fail"()
+    rx1064_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1064_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("268_1272816833.94956") :method
-.annotate "line", 422
-    $P1058 = self."!PREFIX__!subrule"("O", "-")
-    new $P1059, "ResizablePMCArray"
-    push $P1059, $P1058
-    .return ($P1059)
+.sub "!PREFIX__infix:sym<->"  :subid("268_1273866379.28103") :method
+.annotate 'line', 423
+    $P1066 = self."!PREFIX__!subrule"("O", "-")
+    new $P1067, "ResizablePMCArray"
+    push $P1067, $P1066
+    .return ($P1067)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("269_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1063_tgt
-    .local int rx1063_pos
-    .local int rx1063_off
-    .local int rx1063_eos
-    .local int rx1063_rep
-    .local pmc rx1063_cur
-    (rx1063_cur, rx1063_pos, rx1063_tgt) = self."!cursor_start"()
-    rx1063_cur."!cursor_debug"("START ", "infix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1063_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1063_eos, rx1063_tgt
-    set rx1063_off, 0
-    lt rx1063_pos, 2, rx1063_start
-    sub rx1063_off, rx1063_pos, 1
-    substr rx1063_tgt, rx1063_tgt, rx1063_off
-  rx1063_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1067_done
-    goto rxscan1067_scan
-  rxscan1067_loop:
-    ($P10) = rx1063_cur."from"()
-    inc $P10
-    set rx1063_pos, $P10
-    ge rx1063_pos, rx1063_eos, rxscan1067_done
-  rxscan1067_scan:
-    set_addr $I10, rxscan1067_loop
-    rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
-  rxscan1067_done:
-.annotate "line", 489
+.sub "infix:sym<~>"  :subid("269_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1071_tgt
+    .local int rx1071_pos
+    .local int rx1071_off
+    .local int rx1071_eos
+    .local int rx1071_rep
+    .local pmc rx1071_cur
+    (rx1071_cur, rx1071_pos, rx1071_tgt) = self."!cursor_start"()
+    rx1071_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1071_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1071_eos, rx1071_tgt
+    set rx1071_off, 0
+    lt rx1071_pos, 2, rx1071_start
+    sub rx1071_off, rx1071_pos, 1
+    substr rx1071_tgt, rx1071_tgt, rx1071_off
+  rx1071_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1075_done
+    goto rxscan1075_scan
+  rxscan1075_loop:
+    ($P10) = rx1071_cur."from"()
+    inc $P10
+    set rx1071_pos, $P10
+    ge rx1071_pos, rx1071_eos, rxscan1075_done
+  rxscan1075_scan:
+    set_addr $I10, rxscan1075_loop
+    rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
+  rxscan1075_done:
+.annotate 'line', 490
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1068_fail
-    rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
+    set_addr $I10, rxcap_1076_fail
+    rx1071_cur."!mark_push"(0, rx1071_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1063_pos, 1
-    gt $I11, rx1063_eos, rx1063_fail
-    sub $I11, rx1063_pos, rx1063_off
-    substr $S10, rx1063_tgt, $I11, 1
-    ne $S10, "~", rx1063_fail
-    add rx1063_pos, 1
-    set_addr $I10, rxcap_1068_fail
-    ($I12, $I11) = rx1063_cur."!mark_peek"($I10)
-    rx1063_cur."!cursor_pos"($I11)
-    ($P10) = rx1063_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1063_pos, "")
-    rx1063_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1071_pos, 1
+    gt $I11, rx1071_eos, rx1071_fail
+    sub $I11, rx1071_pos, rx1071_off
+    substr $S10, rx1071_tgt, $I11, 1
+    ne $S10, "~", rx1071_fail
+    add rx1071_pos, 1
+    set_addr $I10, rxcap_1076_fail
+    ($I12, $I11) = rx1071_cur."!mark_peek"($I10)
+    rx1071_cur."!cursor_pos"($I11)
+    ($P10) = rx1071_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1071_pos, "")
+    rx1071_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1068_done
-  rxcap_1068_fail:
-    goto rx1063_fail
-  rxcap_1068_done:
+    goto rxcap_1076_done
+  rxcap_1076_fail:
+    goto rx1071_fail
+  rxcap_1076_done:
   # rx subrule "O" subtype=capture negate=
-    rx1063_cur."!cursor_pos"(rx1063_pos)
-    $P10 = rx1063_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1063_fail
-    rx1063_cur."!mark_push"(0, -1, 0, $P10)
+    rx1071_cur."!cursor_pos"(rx1071_pos)
+    $P10 = rx1071_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1071_fail
+    rx1071_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1063_pos = $P10."pos"()
+    rx1071_pos = $P10."pos"()
   # rx pass
-    rx1063_cur."!cursor_pass"(rx1063_pos, "infix:sym<~>")
-    rx1063_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1063_pos)
-    .return (rx1063_cur)
-  rx1063_fail:
-.annotate "line", 422
-    (rx1063_rep, rx1063_pos, $I10, $P10) = rx1063_cur."!mark_fail"(0)
-    lt rx1063_pos, -1, rx1063_done
-    eq rx1063_pos, -1, rx1063_fail
-    jump $I10
-  rx1063_done:
-    rx1063_cur."!cursor_fail"()
-    rx1063_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1063_cur)
+    rx1071_cur."!cursor_pass"(rx1071_pos, "infix:sym<~>")
+    rx1071_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1071_pos)
+    .return (rx1071_cur)
+  rx1071_fail:
+.annotate 'line', 423
+    (rx1071_rep, rx1071_pos, $I10, $P10) = rx1071_cur."!mark_fail"(0)
+    lt rx1071_pos, -1, rx1071_done
+    eq rx1071_pos, -1, rx1071_fail
+    jump $I10
+  rx1071_done:
+    rx1071_cur."!cursor_fail"()
+    rx1071_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1071_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("270_1272816833.94956") :method
-.annotate "line", 422
-    $P1065 = self."!PREFIX__!subrule"("O", "~")
-    new $P1066, "ResizablePMCArray"
-    push $P1066, $P1065
-    .return ($P1066)
+.sub "!PREFIX__infix:sym<~>"  :subid("270_1273866379.28103") :method
+.annotate 'line', 423
+    $P1073 = self."!PREFIX__!subrule"("O", "~")
+    new $P1074, "ResizablePMCArray"
+    push $P1074, $P1073
+    .return ($P1074)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("271_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1070_tgt
-    .local int rx1070_pos
-    .local int rx1070_off
-    .local int rx1070_eos
-    .local int rx1070_rep
-    .local pmc rx1070_cur
-    (rx1070_cur, rx1070_pos, rx1070_tgt) = self."!cursor_start"()
-    rx1070_cur."!cursor_debug"("START ", "infix:sym<==>")
-    .lex unicode:"$\x{a2}", rx1070_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1070_eos, rx1070_tgt
-    set rx1070_off, 0
-    lt rx1070_pos, 2, rx1070_start
-    sub rx1070_off, rx1070_pos, 1
-    substr rx1070_tgt, rx1070_tgt, rx1070_off
-  rx1070_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1074_done
-    goto rxscan1074_scan
-  rxscan1074_loop:
-    ($P10) = rx1070_cur."from"()
-    inc $P10
-    set rx1070_pos, $P10
-    ge rx1070_pos, rx1070_eos, rxscan1074_done
-  rxscan1074_scan:
-    set_addr $I10, rxscan1074_loop
-    rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
-  rxscan1074_done:
-.annotate "line", 491
+.sub "infix:sym<==>"  :subid("271_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1078_tgt
+    .local int rx1078_pos
+    .local int rx1078_off
+    .local int rx1078_eos
+    .local int rx1078_rep
+    .local pmc rx1078_cur
+    (rx1078_cur, rx1078_pos, rx1078_tgt) = self."!cursor_start"()
+    rx1078_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1078_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1078_eos, rx1078_tgt
+    set rx1078_off, 0
+    lt rx1078_pos, 2, rx1078_start
+    sub rx1078_off, rx1078_pos, 1
+    substr rx1078_tgt, rx1078_tgt, rx1078_off
+  rx1078_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1082_done
+    goto rxscan1082_scan
+  rxscan1082_loop:
+    ($P10) = rx1078_cur."from"()
+    inc $P10
+    set rx1078_pos, $P10
+    ge rx1078_pos, rx1078_eos, rxscan1082_done
+  rxscan1082_scan:
+    set_addr $I10, rxscan1082_loop
+    rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
+  rxscan1082_done:
+.annotate 'line', 492
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1075_fail
-    rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
+    set_addr $I10, rxcap_1083_fail
+    rx1078_cur."!mark_push"(0, rx1078_pos, $I10)
   # rx literal  "=="
-    add $I11, rx1070_pos, 2
-    gt $I11, rx1070_eos, rx1070_fail
-    sub $I11, rx1070_pos, rx1070_off
-    substr $S10, rx1070_tgt, $I11, 2
-    ne $S10, "==", rx1070_fail
-    add rx1070_pos, 2
-    set_addr $I10, rxcap_1075_fail
-    ($I12, $I11) = rx1070_cur."!mark_peek"($I10)
-    rx1070_cur."!cursor_pos"($I11)
-    ($P10) = rx1070_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1070_pos, "")
-    rx1070_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1078_pos, 2
+    gt $I11, rx1078_eos, rx1078_fail
+    sub $I11, rx1078_pos, rx1078_off
+    substr $S10, rx1078_tgt, $I11, 2
+    ne $S10, "==", rx1078_fail
+    add rx1078_pos, 2
+    set_addr $I10, rxcap_1083_fail
+    ($I12, $I11) = rx1078_cur."!mark_peek"($I10)
+    rx1078_cur."!cursor_pos"($I11)
+    ($P10) = rx1078_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1078_pos, "")
+    rx1078_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1075_done
-  rxcap_1075_fail:
-    goto rx1070_fail
-  rxcap_1075_done:
+    goto rxcap_1083_done
+  rxcap_1083_fail:
+    goto rx1078_fail
+  rxcap_1083_done:
   # rx subrule "O" subtype=capture negate=
-    rx1070_cur."!cursor_pos"(rx1070_pos)
-    $P10 = rx1070_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1070_fail
-    rx1070_cur."!mark_push"(0, -1, 0, $P10)
+    rx1078_cur."!cursor_pos"(rx1078_pos)
+    $P10 = rx1078_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1078_fail
+    rx1078_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1070_pos = $P10."pos"()
+    rx1078_pos = $P10."pos"()
   # rx pass
-    rx1070_cur."!cursor_pass"(rx1070_pos, "infix:sym<==>")
-    rx1070_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1070_pos)
-    .return (rx1070_cur)
-  rx1070_fail:
-.annotate "line", 422
-    (rx1070_rep, rx1070_pos, $I10, $P10) = rx1070_cur."!mark_fail"(0)
-    lt rx1070_pos, -1, rx1070_done
-    eq rx1070_pos, -1, rx1070_fail
-    jump $I10
-  rx1070_done:
-    rx1070_cur."!cursor_fail"()
-    rx1070_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1070_cur)
+    rx1078_cur."!cursor_pass"(rx1078_pos, "infix:sym<==>")
+    rx1078_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1078_pos)
+    .return (rx1078_cur)
+  rx1078_fail:
+.annotate 'line', 423
+    (rx1078_rep, rx1078_pos, $I10, $P10) = rx1078_cur."!mark_fail"(0)
+    lt rx1078_pos, -1, rx1078_done
+    eq rx1078_pos, -1, rx1078_fail
+    jump $I10
+  rx1078_done:
+    rx1078_cur."!cursor_fail"()
+    rx1078_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1078_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("272_1272816833.94956") :method
-.annotate "line", 422
-    $P1072 = self."!PREFIX__!subrule"("O", "==")
-    new $P1073, "ResizablePMCArray"
-    push $P1073, $P1072
-    .return ($P1073)
+.sub "!PREFIX__infix:sym<==>"  :subid("272_1273866379.28103") :method
+.annotate 'line', 423
+    $P1080 = self."!PREFIX__!subrule"("O", "==")
+    new $P1081, "ResizablePMCArray"
+    push $P1081, $P1080
+    .return ($P1081)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("273_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1077_tgt
-    .local int rx1077_pos
-    .local int rx1077_off
-    .local int rx1077_eos
-    .local int rx1077_rep
-    .local pmc rx1077_cur
-    (rx1077_cur, rx1077_pos, rx1077_tgt) = self."!cursor_start"()
-    rx1077_cur."!cursor_debug"("START ", "infix:sym<!=>")
-    .lex unicode:"$\x{a2}", rx1077_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1077_eos, rx1077_tgt
-    set rx1077_off, 0
-    lt rx1077_pos, 2, rx1077_start
-    sub rx1077_off, rx1077_pos, 1
-    substr rx1077_tgt, rx1077_tgt, rx1077_off
-  rx1077_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1081_done
-    goto rxscan1081_scan
-  rxscan1081_loop:
-    ($P10) = rx1077_cur."from"()
-    inc $P10
-    set rx1077_pos, $P10
-    ge rx1077_pos, rx1077_eos, rxscan1081_done
-  rxscan1081_scan:
-    set_addr $I10, rxscan1081_loop
-    rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
-  rxscan1081_done:
-.annotate "line", 492
+.sub "infix:sym<!=>"  :subid("273_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1085_tgt
+    .local int rx1085_pos
+    .local int rx1085_off
+    .local int rx1085_eos
+    .local int rx1085_rep
+    .local pmc rx1085_cur
+    (rx1085_cur, rx1085_pos, rx1085_tgt) = self."!cursor_start"()
+    rx1085_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1085_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1085_eos, rx1085_tgt
+    set rx1085_off, 0
+    lt rx1085_pos, 2, rx1085_start
+    sub rx1085_off, rx1085_pos, 1
+    substr rx1085_tgt, rx1085_tgt, rx1085_off
+  rx1085_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1089_done
+    goto rxscan1089_scan
+  rxscan1089_loop:
+    ($P10) = rx1085_cur."from"()
+    inc $P10
+    set rx1085_pos, $P10
+    ge rx1085_pos, rx1085_eos, rxscan1089_done
+  rxscan1089_scan:
+    set_addr $I10, rxscan1089_loop
+    rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
+  rxscan1089_done:
+.annotate 'line', 493
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1082_fail
-    rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
+    set_addr $I10, rxcap_1090_fail
+    rx1085_cur."!mark_push"(0, rx1085_pos, $I10)
   # rx literal  "!="
-    add $I11, rx1077_pos, 2
-    gt $I11, rx1077_eos, rx1077_fail
-    sub $I11, rx1077_pos, rx1077_off
-    substr $S10, rx1077_tgt, $I11, 2
-    ne $S10, "!=", rx1077_fail
-    add rx1077_pos, 2
-    set_addr $I10, rxcap_1082_fail
-    ($I12, $I11) = rx1077_cur."!mark_peek"($I10)
-    rx1077_cur."!cursor_pos"($I11)
-    ($P10) = rx1077_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1077_pos, "")
-    rx1077_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1085_pos, 2
+    gt $I11, rx1085_eos, rx1085_fail
+    sub $I11, rx1085_pos, rx1085_off
+    substr $S10, rx1085_tgt, $I11, 2
+    ne $S10, "!=", rx1085_fail
+    add rx1085_pos, 2
+    set_addr $I10, rxcap_1090_fail
+    ($I12, $I11) = rx1085_cur."!mark_peek"($I10)
+    rx1085_cur."!cursor_pos"($I11)
+    ($P10) = rx1085_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1085_pos, "")
+    rx1085_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1082_done
-  rxcap_1082_fail:
-    goto rx1077_fail
-  rxcap_1082_done:
+    goto rxcap_1090_done
+  rxcap_1090_fail:
+    goto rx1085_fail
+  rxcap_1090_done:
   # rx subrule "O" subtype=capture negate=
-    rx1077_cur."!cursor_pos"(rx1077_pos)
-    $P10 = rx1077_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1077_fail
-    rx1077_cur."!mark_push"(0, -1, 0, $P10)
+    rx1085_cur."!cursor_pos"(rx1085_pos)
+    $P10 = rx1085_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1085_fail
+    rx1085_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1077_pos = $P10."pos"()
+    rx1085_pos = $P10."pos"()
   # rx pass
-    rx1077_cur."!cursor_pass"(rx1077_pos, "infix:sym<!=>")
-    rx1077_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1077_pos)
-    .return (rx1077_cur)
-  rx1077_fail:
-.annotate "line", 422
-    (rx1077_rep, rx1077_pos, $I10, $P10) = rx1077_cur."!mark_fail"(0)
-    lt rx1077_pos, -1, rx1077_done
-    eq rx1077_pos, -1, rx1077_fail
-    jump $I10
-  rx1077_done:
-    rx1077_cur."!cursor_fail"()
-    rx1077_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1077_cur)
+    rx1085_cur."!cursor_pass"(rx1085_pos, "infix:sym<!=>")
+    rx1085_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1085_pos)
+    .return (rx1085_cur)
+  rx1085_fail:
+.annotate 'line', 423
+    (rx1085_rep, rx1085_pos, $I10, $P10) = rx1085_cur."!mark_fail"(0)
+    lt rx1085_pos, -1, rx1085_done
+    eq rx1085_pos, -1, rx1085_fail
+    jump $I10
+  rx1085_done:
+    rx1085_cur."!cursor_fail"()
+    rx1085_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1085_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("274_1272816833.94956") :method
-.annotate "line", 422
-    $P1079 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1080, "ResizablePMCArray"
-    push $P1080, $P1079
-    .return ($P1080)
+.sub "!PREFIX__infix:sym<!=>"  :subid("274_1273866379.28103") :method
+.annotate 'line', 423
+    $P1087 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1088, "ResizablePMCArray"
+    push $P1088, $P1087
+    .return ($P1088)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("275_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1084_tgt
-    .local int rx1084_pos
-    .local int rx1084_off
-    .local int rx1084_eos
-    .local int rx1084_rep
-    .local pmc rx1084_cur
-    (rx1084_cur, rx1084_pos, rx1084_tgt) = self."!cursor_start"()
-    rx1084_cur."!cursor_debug"("START ", "infix:sym<<=>")
-    .lex unicode:"$\x{a2}", rx1084_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1084_eos, rx1084_tgt
-    set rx1084_off, 0
-    lt rx1084_pos, 2, rx1084_start
-    sub rx1084_off, rx1084_pos, 1
-    substr rx1084_tgt, rx1084_tgt, rx1084_off
-  rx1084_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1088_done
-    goto rxscan1088_scan
-  rxscan1088_loop:
-    ($P10) = rx1084_cur."from"()
-    inc $P10
-    set rx1084_pos, $P10
-    ge rx1084_pos, rx1084_eos, rxscan1088_done
-  rxscan1088_scan:
-    set_addr $I10, rxscan1088_loop
-    rx1084_cur."!mark_push"(0, rx1084_pos, $I10)
-  rxscan1088_done:
-.annotate "line", 493
+.sub "infix:sym<<=>"  :subid("275_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1092_tgt
+    .local int rx1092_pos
+    .local int rx1092_off
+    .local int rx1092_eos
+    .local int rx1092_rep
+    .local pmc rx1092_cur
+    (rx1092_cur, rx1092_pos, rx1092_tgt) = self."!cursor_start"()
+    rx1092_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1092_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1092_eos, rx1092_tgt
+    set rx1092_off, 0
+    lt rx1092_pos, 2, rx1092_start
+    sub rx1092_off, rx1092_pos, 1
+    substr rx1092_tgt, rx1092_tgt, rx1092_off
+  rx1092_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1096_done
+    goto rxscan1096_scan
+  rxscan1096_loop:
+    ($P10) = rx1092_cur."from"()
+    inc $P10
+    set rx1092_pos, $P10
+    ge rx1092_pos, rx1092_eos, rxscan1096_done
+  rxscan1096_scan:
+    set_addr $I10, rxscan1096_loop
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
+  rxscan1096_done:
+.annotate 'line', 494
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1089_fail
-    rx1084_cur."!mark_push"(0, rx1084_pos, $I10)
+    set_addr $I10, rxcap_1097_fail
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
   # rx literal  "<="
-    add $I11, rx1084_pos, 2
-    gt $I11, rx1084_eos, rx1084_fail
-    sub $I11, rx1084_pos, rx1084_off
-    substr $S10, rx1084_tgt, $I11, 2
-    ne $S10, "<=", rx1084_fail
-    add rx1084_pos, 2
-    set_addr $I10, rxcap_1089_fail
-    ($I12, $I11) = rx1084_cur."!mark_peek"($I10)
-    rx1084_cur."!cursor_pos"($I11)
-    ($P10) = rx1084_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1084_pos, "")
-    rx1084_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1092_pos, 2
+    gt $I11, rx1092_eos, rx1092_fail
+    sub $I11, rx1092_pos, rx1092_off
+    substr $S10, rx1092_tgt, $I11, 2
+    ne $S10, "<=", rx1092_fail
+    add rx1092_pos, 2
+    set_addr $I10, rxcap_1097_fail
+    ($I12, $I11) = rx1092_cur."!mark_peek"($I10)
+    rx1092_cur."!cursor_pos"($I11)
+    ($P10) = rx1092_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1092_pos, "")
+    rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1089_done
-  rxcap_1089_fail:
-    goto rx1084_fail
-  rxcap_1089_done:
+    goto rxcap_1097_done
+  rxcap_1097_fail:
+    goto rx1092_fail
+  rxcap_1097_done:
   # rx subrule "O" subtype=capture negate=
-    rx1084_cur."!cursor_pos"(rx1084_pos)
-    $P10 = rx1084_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1084_fail
-    rx1084_cur."!mark_push"(0, -1, 0, $P10)
+    rx1092_cur."!cursor_pos"(rx1092_pos)
+    $P10 = rx1092_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1092_fail
+    rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1084_pos = $P10."pos"()
+    rx1092_pos = $P10."pos"()
   # rx pass
-    rx1084_cur."!cursor_pass"(rx1084_pos, "infix:sym<<=>")
-    rx1084_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1084_pos)
-    .return (rx1084_cur)
-  rx1084_fail:
-.annotate "line", 422
-    (rx1084_rep, rx1084_pos, $I10, $P10) = rx1084_cur."!mark_fail"(0)
-    lt rx1084_pos, -1, rx1084_done
-    eq rx1084_pos, -1, rx1084_fail
-    jump $I10
-  rx1084_done:
-    rx1084_cur."!cursor_fail"()
-    rx1084_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1084_cur)
+    rx1092_cur."!cursor_pass"(rx1092_pos, "infix:sym<<=>")
+    rx1092_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1092_pos)
+    .return (rx1092_cur)
+  rx1092_fail:
+.annotate 'line', 423
+    (rx1092_rep, rx1092_pos, $I10, $P10) = rx1092_cur."!mark_fail"(0)
+    lt rx1092_pos, -1, rx1092_done
+    eq rx1092_pos, -1, rx1092_fail
+    jump $I10
+  rx1092_done:
+    rx1092_cur."!cursor_fail"()
+    rx1092_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1092_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("276_1272816833.94956") :method
-.annotate "line", 422
-    $P1086 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1087, "ResizablePMCArray"
-    push $P1087, $P1086
-    .return ($P1087)
+.sub "!PREFIX__infix:sym<<=>"  :subid("276_1273866379.28103") :method
+.annotate 'line', 423
+    $P1094 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1095, "ResizablePMCArray"
+    push $P1095, $P1094
+    .return ($P1095)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("277_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1091_tgt
-    .local int rx1091_pos
-    .local int rx1091_off
-    .local int rx1091_eos
-    .local int rx1091_rep
-    .local pmc rx1091_cur
-    (rx1091_cur, rx1091_pos, rx1091_tgt) = self."!cursor_start"()
-    rx1091_cur."!cursor_debug"("START ", "infix:sym<>=>")
-    .lex unicode:"$\x{a2}", rx1091_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1091_eos, rx1091_tgt
-    set rx1091_off, 0
-    lt rx1091_pos, 2, rx1091_start
-    sub rx1091_off, rx1091_pos, 1
-    substr rx1091_tgt, rx1091_tgt, rx1091_off
-  rx1091_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1095_done
-    goto rxscan1095_scan
-  rxscan1095_loop:
-    ($P10) = rx1091_cur."from"()
-    inc $P10
-    set rx1091_pos, $P10
-    ge rx1091_pos, rx1091_eos, rxscan1095_done
-  rxscan1095_scan:
-    set_addr $I10, rxscan1095_loop
-    rx1091_cur."!mark_push"(0, rx1091_pos, $I10)
-  rxscan1095_done:
-.annotate "line", 494
+.sub "infix:sym<>=>"  :subid("277_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1099_tgt
+    .local int rx1099_pos
+    .local int rx1099_off
+    .local int rx1099_eos
+    .local int rx1099_rep
+    .local pmc rx1099_cur
+    (rx1099_cur, rx1099_pos, rx1099_tgt) = self."!cursor_start"()
+    rx1099_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1099_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1099_eos, rx1099_tgt
+    set rx1099_off, 0
+    lt rx1099_pos, 2, rx1099_start
+    sub rx1099_off, rx1099_pos, 1
+    substr rx1099_tgt, rx1099_tgt, rx1099_off
+  rx1099_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1103_done
+    goto rxscan1103_scan
+  rxscan1103_loop:
+    ($P10) = rx1099_cur."from"()
+    inc $P10
+    set rx1099_pos, $P10
+    ge rx1099_pos, rx1099_eos, rxscan1103_done
+  rxscan1103_scan:
+    set_addr $I10, rxscan1103_loop
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
+  rxscan1103_done:
+.annotate 'line', 495
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1096_fail
-    rx1091_cur."!mark_push"(0, rx1091_pos, $I10)
+    set_addr $I10, rxcap_1104_fail
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
   # rx literal  ">="
-    add $I11, rx1091_pos, 2
-    gt $I11, rx1091_eos, rx1091_fail
-    sub $I11, rx1091_pos, rx1091_off
-    substr $S10, rx1091_tgt, $I11, 2
-    ne $S10, ">=", rx1091_fail
-    add rx1091_pos, 2
-    set_addr $I10, rxcap_1096_fail
-    ($I12, $I11) = rx1091_cur."!mark_peek"($I10)
-    rx1091_cur."!cursor_pos"($I11)
-    ($P10) = rx1091_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1091_pos, "")
-    rx1091_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1099_pos, 2
+    gt $I11, rx1099_eos, rx1099_fail
+    sub $I11, rx1099_pos, rx1099_off
+    substr $S10, rx1099_tgt, $I11, 2
+    ne $S10, ">=", rx1099_fail
+    add rx1099_pos, 2
+    set_addr $I10, rxcap_1104_fail
+    ($I12, $I11) = rx1099_cur."!mark_peek"($I10)
+    rx1099_cur."!cursor_pos"($I11)
+    ($P10) = rx1099_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1099_pos, "")
+    rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1096_done
-  rxcap_1096_fail:
-    goto rx1091_fail
-  rxcap_1096_done:
+    goto rxcap_1104_done
+  rxcap_1104_fail:
+    goto rx1099_fail
+  rxcap_1104_done:
   # rx subrule "O" subtype=capture negate=
-    rx1091_cur."!cursor_pos"(rx1091_pos)
-    $P10 = rx1091_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1091_fail
-    rx1091_cur."!mark_push"(0, -1, 0, $P10)
+    rx1099_cur."!cursor_pos"(rx1099_pos)
+    $P10 = rx1099_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1099_fail
+    rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1091_pos = $P10."pos"()
+    rx1099_pos = $P10."pos"()
   # rx pass
-    rx1091_cur."!cursor_pass"(rx1091_pos, "infix:sym<>=>")
-    rx1091_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1091_pos)
-    .return (rx1091_cur)
-  rx1091_fail:
-.annotate "line", 422
-    (rx1091_rep, rx1091_pos, $I10, $P10) = rx1091_cur."!mark_fail"(0)
-    lt rx1091_pos, -1, rx1091_done
-    eq rx1091_pos, -1, rx1091_fail
-    jump $I10
-  rx1091_done:
-    rx1091_cur."!cursor_fail"()
-    rx1091_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1091_cur)
+    rx1099_cur."!cursor_pass"(rx1099_pos, "infix:sym<>=>")
+    rx1099_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1099_pos)
+    .return (rx1099_cur)
+  rx1099_fail:
+.annotate 'line', 423
+    (rx1099_rep, rx1099_pos, $I10, $P10) = rx1099_cur."!mark_fail"(0)
+    lt rx1099_pos, -1, rx1099_done
+    eq rx1099_pos, -1, rx1099_fail
+    jump $I10
+  rx1099_done:
+    rx1099_cur."!cursor_fail"()
+    rx1099_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1099_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("278_1272816833.94956") :method
-.annotate "line", 422
-    $P1093 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1094, "ResizablePMCArray"
-    push $P1094, $P1093
-    .return ($P1094)
+.sub "!PREFIX__infix:sym<>=>"  :subid("278_1273866379.28103") :method
+.annotate 'line', 423
+    $P1101 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1102, "ResizablePMCArray"
+    push $P1102, $P1101
+    .return ($P1102)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("279_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1098_tgt
-    .local int rx1098_pos
-    .local int rx1098_off
-    .local int rx1098_eos
-    .local int rx1098_rep
-    .local pmc rx1098_cur
-    (rx1098_cur, rx1098_pos, rx1098_tgt) = self."!cursor_start"()
-    rx1098_cur."!cursor_debug"("START ", "infix:sym<<>")
-    .lex unicode:"$\x{a2}", rx1098_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1098_eos, rx1098_tgt
-    set rx1098_off, 0
-    lt rx1098_pos, 2, rx1098_start
-    sub rx1098_off, rx1098_pos, 1
-    substr rx1098_tgt, rx1098_tgt, rx1098_off
-  rx1098_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1102_done
-    goto rxscan1102_scan
-  rxscan1102_loop:
-    ($P10) = rx1098_cur."from"()
-    inc $P10
-    set rx1098_pos, $P10
-    ge rx1098_pos, rx1098_eos, rxscan1102_done
-  rxscan1102_scan:
-    set_addr $I10, rxscan1102_loop
-    rx1098_cur."!mark_push"(0, rx1098_pos, $I10)
-  rxscan1102_done:
-.annotate "line", 495
+.sub "infix:sym<<>"  :subid("279_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1106_tgt
+    .local int rx1106_pos
+    .local int rx1106_off
+    .local int rx1106_eos
+    .local int rx1106_rep
+    .local pmc rx1106_cur
+    (rx1106_cur, rx1106_pos, rx1106_tgt) = self."!cursor_start"()
+    rx1106_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1106_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1106_eos, rx1106_tgt
+    set rx1106_off, 0
+    lt rx1106_pos, 2, rx1106_start
+    sub rx1106_off, rx1106_pos, 1
+    substr rx1106_tgt, rx1106_tgt, rx1106_off
+  rx1106_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1110_done
+    goto rxscan1110_scan
+  rxscan1110_loop:
+    ($P10) = rx1106_cur."from"()
+    inc $P10
+    set rx1106_pos, $P10
+    ge rx1106_pos, rx1106_eos, rxscan1110_done
+  rxscan1110_scan:
+    set_addr $I10, rxscan1110_loop
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
+  rxscan1110_done:
+.annotate 'line', 496
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1103_fail
-    rx1098_cur."!mark_push"(0, rx1098_pos, $I10)
+    set_addr $I10, rxcap_1111_fail
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
   # rx literal  "<"
-    add $I11, rx1098_pos, 1
-    gt $I11, rx1098_eos, rx1098_fail
-    sub $I11, rx1098_pos, rx1098_off
-    substr $S10, rx1098_tgt, $I11, 1
-    ne $S10, "<", rx1098_fail
-    add rx1098_pos, 1
-    set_addr $I10, rxcap_1103_fail
-    ($I12, $I11) = rx1098_cur."!mark_peek"($I10)
-    rx1098_cur."!cursor_pos"($I11)
-    ($P10) = rx1098_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1098_pos, "")
-    rx1098_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1106_pos, 1
+    gt $I11, rx1106_eos, rx1106_fail
+    sub $I11, rx1106_pos, rx1106_off
+    substr $S10, rx1106_tgt, $I11, 1
+    ne $S10, "<", rx1106_fail
+    add rx1106_pos, 1
+    set_addr $I10, rxcap_1111_fail
+    ($I12, $I11) = rx1106_cur."!mark_peek"($I10)
+    rx1106_cur."!cursor_pos"($I11)
+    ($P10) = rx1106_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1106_pos, "")
+    rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1103_done
-  rxcap_1103_fail:
-    goto rx1098_fail
-  rxcap_1103_done:
+    goto rxcap_1111_done
+  rxcap_1111_fail:
+    goto rx1106_fail
+  rxcap_1111_done:
   # rx subrule "O" subtype=capture negate=
-    rx1098_cur."!cursor_pos"(rx1098_pos)
-    $P10 = rx1098_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1098_fail
-    rx1098_cur."!mark_push"(0, -1, 0, $P10)
+    rx1106_cur."!cursor_pos"(rx1106_pos)
+    $P10 = rx1106_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1106_fail
+    rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1098_pos = $P10."pos"()
+    rx1106_pos = $P10."pos"()
   # rx pass
-    rx1098_cur."!cursor_pass"(rx1098_pos, "infix:sym<<>")
-    rx1098_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1098_pos)
-    .return (rx1098_cur)
-  rx1098_fail:
-.annotate "line", 422
-    (rx1098_rep, rx1098_pos, $I10, $P10) = rx1098_cur."!mark_fail"(0)
-    lt rx1098_pos, -1, rx1098_done
-    eq rx1098_pos, -1, rx1098_fail
-    jump $I10
-  rx1098_done:
-    rx1098_cur."!cursor_fail"()
-    rx1098_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1098_cur)
+    rx1106_cur."!cursor_pass"(rx1106_pos, "infix:sym<<>")
+    rx1106_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1106_pos)
+    .return (rx1106_cur)
+  rx1106_fail:
+.annotate 'line', 423
+    (rx1106_rep, rx1106_pos, $I10, $P10) = rx1106_cur."!mark_fail"(0)
+    lt rx1106_pos, -1, rx1106_done
+    eq rx1106_pos, -1, rx1106_fail
+    jump $I10
+  rx1106_done:
+    rx1106_cur."!cursor_fail"()
+    rx1106_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1106_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("280_1272816833.94956") :method
-.annotate "line", 422
-    $P1100 = self."!PREFIX__!subrule"("O", "<")
-    new $P1101, "ResizablePMCArray"
-    push $P1101, $P1100
-    .return ($P1101)
+.sub "!PREFIX__infix:sym<<>"  :subid("280_1273866379.28103") :method
+.annotate 'line', 423
+    $P1108 = self."!PREFIX__!subrule"("O", "<")
+    new $P1109, "ResizablePMCArray"
+    push $P1109, $P1108
+    .return ($P1109)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("281_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1105_tgt
-    .local int rx1105_pos
-    .local int rx1105_off
-    .local int rx1105_eos
-    .local int rx1105_rep
-    .local pmc rx1105_cur
-    (rx1105_cur, rx1105_pos, rx1105_tgt) = self."!cursor_start"()
-    rx1105_cur."!cursor_debug"("START ", "infix:sym<>>")
-    .lex unicode:"$\x{a2}", rx1105_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1105_eos, rx1105_tgt
-    set rx1105_off, 0
-    lt rx1105_pos, 2, rx1105_start
-    sub rx1105_off, rx1105_pos, 1
-    substr rx1105_tgt, rx1105_tgt, rx1105_off
-  rx1105_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1109_done
-    goto rxscan1109_scan
-  rxscan1109_loop:
-    ($P10) = rx1105_cur."from"()
-    inc $P10
-    set rx1105_pos, $P10
-    ge rx1105_pos, rx1105_eos, rxscan1109_done
-  rxscan1109_scan:
-    set_addr $I10, rxscan1109_loop
-    rx1105_cur."!mark_push"(0, rx1105_pos, $I10)
-  rxscan1109_done:
-.annotate "line", 496
+.sub "infix:sym<>>"  :subid("281_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1113_tgt
+    .local int rx1113_pos
+    .local int rx1113_off
+    .local int rx1113_eos
+    .local int rx1113_rep
+    .local pmc rx1113_cur
+    (rx1113_cur, rx1113_pos, rx1113_tgt) = self."!cursor_start"()
+    rx1113_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1113_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1113_eos, rx1113_tgt
+    set rx1113_off, 0
+    lt rx1113_pos, 2, rx1113_start
+    sub rx1113_off, rx1113_pos, 1
+    substr rx1113_tgt, rx1113_tgt, rx1113_off
+  rx1113_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1117_done
+    goto rxscan1117_scan
+  rxscan1117_loop:
+    ($P10) = rx1113_cur."from"()
+    inc $P10
+    set rx1113_pos, $P10
+    ge rx1113_pos, rx1113_eos, rxscan1117_done
+  rxscan1117_scan:
+    set_addr $I10, rxscan1117_loop
+    rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
+  rxscan1117_done:
+.annotate 'line', 497
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1110_fail
-    rx1105_cur."!mark_push"(0, rx1105_pos, $I10)
+    set_addr $I10, rxcap_1118_fail
+    rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
   # rx literal  ">"
-    add $I11, rx1105_pos, 1
-    gt $I11, rx1105_eos, rx1105_fail
-    sub $I11, rx1105_pos, rx1105_off
-    substr $S10, rx1105_tgt, $I11, 1
-    ne $S10, ">", rx1105_fail
-    add rx1105_pos, 1
-    set_addr $I10, rxcap_1110_fail
-    ($I12, $I11) = rx1105_cur."!mark_peek"($I10)
-    rx1105_cur."!cursor_pos"($I11)
-    ($P10) = rx1105_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1105_pos, "")
-    rx1105_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1113_pos, 1
+    gt $I11, rx1113_eos, rx1113_fail
+    sub $I11, rx1113_pos, rx1113_off
+    substr $S10, rx1113_tgt, $I11, 1
+    ne $S10, ">", rx1113_fail
+    add rx1113_pos, 1
+    set_addr $I10, rxcap_1118_fail
+    ($I12, $I11) = rx1113_cur."!mark_peek"($I10)
+    rx1113_cur."!cursor_pos"($I11)
+    ($P10) = rx1113_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1113_pos, "")
+    rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1110_done
-  rxcap_1110_fail:
-    goto rx1105_fail
-  rxcap_1110_done:
+    goto rxcap_1118_done
+  rxcap_1118_fail:
+    goto rx1113_fail
+  rxcap_1118_done:
   # rx subrule "O" subtype=capture negate=
-    rx1105_cur."!cursor_pos"(rx1105_pos)
-    $P10 = rx1105_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1105_fail
-    rx1105_cur."!mark_push"(0, -1, 0, $P10)
+    rx1113_cur."!cursor_pos"(rx1113_pos)
+    $P10 = rx1113_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1113_fail
+    rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1105_pos = $P10."pos"()
+    rx1113_pos = $P10."pos"()
   # rx pass
-    rx1105_cur."!cursor_pass"(rx1105_pos, "infix:sym<>>")
-    rx1105_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1105_pos)
-    .return (rx1105_cur)
-  rx1105_fail:
-.annotate "line", 422
-    (rx1105_rep, rx1105_pos, $I10, $P10) = rx1105_cur."!mark_fail"(0)
-    lt rx1105_pos, -1, rx1105_done
-    eq rx1105_pos, -1, rx1105_fail
-    jump $I10
-  rx1105_done:
-    rx1105_cur."!cursor_fail"()
-    rx1105_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1105_cur)
+    rx1113_cur."!cursor_pass"(rx1113_pos, "infix:sym<>>")
+    rx1113_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1113_pos)
+    .return (rx1113_cur)
+  rx1113_fail:
+.annotate 'line', 423
+    (rx1113_rep, rx1113_pos, $I10, $P10) = rx1113_cur."!mark_fail"(0)
+    lt rx1113_pos, -1, rx1113_done
+    eq rx1113_pos, -1, rx1113_fail
+    jump $I10
+  rx1113_done:
+    rx1113_cur."!cursor_fail"()
+    rx1113_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1113_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("282_1272816833.94956") :method
-.annotate "line", 422
-    $P1107 = self."!PREFIX__!subrule"("O", ">")
-    new $P1108, "ResizablePMCArray"
-    push $P1108, $P1107
-    .return ($P1108)
+.sub "!PREFIX__infix:sym<>>"  :subid("282_1273866379.28103") :method
+.annotate 'line', 423
+    $P1115 = self."!PREFIX__!subrule"("O", ">")
+    new $P1116, "ResizablePMCArray"
+    push $P1116, $P1115
+    .return ($P1116)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("283_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1112_tgt
-    .local int rx1112_pos
-    .local int rx1112_off
-    .local int rx1112_eos
-    .local int rx1112_rep
-    .local pmc rx1112_cur
-    (rx1112_cur, rx1112_pos, rx1112_tgt) = self."!cursor_start"()
-    rx1112_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1112_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1112_eos, rx1112_tgt
-    set rx1112_off, 0
-    lt rx1112_pos, 2, rx1112_start
-    sub rx1112_off, rx1112_pos, 1
-    substr rx1112_tgt, rx1112_tgt, rx1112_off
-  rx1112_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1116_done
-    goto rxscan1116_scan
-  rxscan1116_loop:
-    ($P10) = rx1112_cur."from"()
-    inc $P10
-    set rx1112_pos, $P10
-    ge rx1112_pos, rx1112_eos, rxscan1116_done
-  rxscan1116_scan:
-    set_addr $I10, rxscan1116_loop
-    rx1112_cur."!mark_push"(0, rx1112_pos, $I10)
-  rxscan1116_done:
-.annotate "line", 497
+.sub "infix:sym<eq>"  :subid("283_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1120_tgt
+    .local int rx1120_pos
+    .local int rx1120_off
+    .local int rx1120_eos
+    .local int rx1120_rep
+    .local pmc rx1120_cur
+    (rx1120_cur, rx1120_pos, rx1120_tgt) = self."!cursor_start"()
+    rx1120_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1120_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1120_eos, rx1120_tgt
+    set rx1120_off, 0
+    lt rx1120_pos, 2, rx1120_start
+    sub rx1120_off, rx1120_pos, 1
+    substr rx1120_tgt, rx1120_tgt, rx1120_off
+  rx1120_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1124_done
+    goto rxscan1124_scan
+  rxscan1124_loop:
+    ($P10) = rx1120_cur."from"()
+    inc $P10
+    set rx1120_pos, $P10
+    ge rx1120_pos, rx1120_eos, rxscan1124_done
+  rxscan1124_scan:
+    set_addr $I10, rxscan1124_loop
+    rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
+  rxscan1124_done:
+.annotate 'line', 498
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1117_fail
-    rx1112_cur."!mark_push"(0, rx1112_pos, $I10)
+    set_addr $I10, rxcap_1125_fail
+    rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
   # rx literal  "eq"
-    add $I11, rx1112_pos, 2
-    gt $I11, rx1112_eos, rx1112_fail
-    sub $I11, rx1112_pos, rx1112_off
-    substr $S10, rx1112_tgt, $I11, 2
-    ne $S10, "eq", rx1112_fail
-    add rx1112_pos, 2
-    set_addr $I10, rxcap_1117_fail
-    ($I12, $I11) = rx1112_cur."!mark_peek"($I10)
-    rx1112_cur."!cursor_pos"($I11)
-    ($P10) = rx1112_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1112_pos, "")
-    rx1112_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1120_pos, 2
+    gt $I11, rx1120_eos, rx1120_fail
+    sub $I11, rx1120_pos, rx1120_off
+    substr $S10, rx1120_tgt, $I11, 2
+    ne $S10, "eq", rx1120_fail
+    add rx1120_pos, 2
+    set_addr $I10, rxcap_1125_fail
+    ($I12, $I11) = rx1120_cur."!mark_peek"($I10)
+    rx1120_cur."!cursor_pos"($I11)
+    ($P10) = rx1120_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1120_pos, "")
+    rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1117_done
-  rxcap_1117_fail:
-    goto rx1112_fail
-  rxcap_1117_done:
+    goto rxcap_1125_done
+  rxcap_1125_fail:
+    goto rx1120_fail
+  rxcap_1125_done:
   # rx subrule "O" subtype=capture negate=
-    rx1112_cur."!cursor_pos"(rx1112_pos)
-    $P10 = rx1112_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1112_fail
-    rx1112_cur."!mark_push"(0, -1, 0, $P10)
+    rx1120_cur."!cursor_pos"(rx1120_pos)
+    $P10 = rx1120_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1120_fail
+    rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1112_pos = $P10."pos"()
+    rx1120_pos = $P10."pos"()
   # rx pass
-    rx1112_cur."!cursor_pass"(rx1112_pos, "infix:sym<eq>")
-    rx1112_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1112_pos)
-    .return (rx1112_cur)
-  rx1112_fail:
-.annotate "line", 422
-    (rx1112_rep, rx1112_pos, $I10, $P10) = rx1112_cur."!mark_fail"(0)
-    lt rx1112_pos, -1, rx1112_done
-    eq rx1112_pos, -1, rx1112_fail
-    jump $I10
-  rx1112_done:
-    rx1112_cur."!cursor_fail"()
-    rx1112_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1112_cur)
+    rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym<eq>")
+    rx1120_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1120_pos)
+    .return (rx1120_cur)
+  rx1120_fail:
+.annotate 'line', 423
+    (rx1120_rep, rx1120_pos, $I10, $P10) = rx1120_cur."!mark_fail"(0)
+    lt rx1120_pos, -1, rx1120_done
+    eq rx1120_pos, -1, rx1120_fail
+    jump $I10
+  rx1120_done:
+    rx1120_cur."!cursor_fail"()
+    rx1120_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1120_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("284_1272816833.94956") :method
-.annotate "line", 422
-    $P1114 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1115, "ResizablePMCArray"
-    push $P1115, $P1114
-    .return ($P1115)
+.sub "!PREFIX__infix:sym<eq>"  :subid("284_1273866379.28103") :method
+.annotate 'line', 423
+    $P1122 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1123, "ResizablePMCArray"
+    push $P1123, $P1122
+    .return ($P1123)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("285_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1119_tgt
-    .local int rx1119_pos
-    .local int rx1119_off
-    .local int rx1119_eos
-    .local int rx1119_rep
-    .local pmc rx1119_cur
-    (rx1119_cur, rx1119_pos, rx1119_tgt) = self."!cursor_start"()
-    rx1119_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1119_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1119_eos, rx1119_tgt
-    set rx1119_off, 0
-    lt rx1119_pos, 2, rx1119_start
-    sub rx1119_off, rx1119_pos, 1
-    substr rx1119_tgt, rx1119_tgt, rx1119_off
-  rx1119_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1123_done
-    goto rxscan1123_scan
-  rxscan1123_loop:
-    ($P10) = rx1119_cur."from"()
-    inc $P10
-    set rx1119_pos, $P10
-    ge rx1119_pos, rx1119_eos, rxscan1123_done
-  rxscan1123_scan:
-    set_addr $I10, rxscan1123_loop
-    rx1119_cur."!mark_push"(0, rx1119_pos, $I10)
-  rxscan1123_done:
-.annotate "line", 498
+.sub "infix:sym<ne>"  :subid("285_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1127_tgt
+    .local int rx1127_pos
+    .local int rx1127_off
+    .local int rx1127_eos
+    .local int rx1127_rep
+    .local pmc rx1127_cur
+    (rx1127_cur, rx1127_pos, rx1127_tgt) = self."!cursor_start"()
+    rx1127_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1127_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1127_eos, rx1127_tgt
+    set rx1127_off, 0
+    lt rx1127_pos, 2, rx1127_start
+    sub rx1127_off, rx1127_pos, 1
+    substr rx1127_tgt, rx1127_tgt, rx1127_off
+  rx1127_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1131_done
+    goto rxscan1131_scan
+  rxscan1131_loop:
+    ($P10) = rx1127_cur."from"()
+    inc $P10
+    set rx1127_pos, $P10
+    ge rx1127_pos, rx1127_eos, rxscan1131_done
+  rxscan1131_scan:
+    set_addr $I10, rxscan1131_loop
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
+  rxscan1131_done:
+.annotate 'line', 499
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1124_fail
-    rx1119_cur."!mark_push"(0, rx1119_pos, $I10)
+    set_addr $I10, rxcap_1132_fail
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
   # rx literal  "ne"
-    add $I11, rx1119_pos, 2
-    gt $I11, rx1119_eos, rx1119_fail
-    sub $I11, rx1119_pos, rx1119_off
-    substr $S10, rx1119_tgt, $I11, 2
-    ne $S10, "ne", rx1119_fail
-    add rx1119_pos, 2
-    set_addr $I10, rxcap_1124_fail
-    ($I12, $I11) = rx1119_cur."!mark_peek"($I10)
-    rx1119_cur."!cursor_pos"($I11)
-    ($P10) = rx1119_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1119_pos, "")
-    rx1119_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1127_pos, 2
+    gt $I11, rx1127_eos, rx1127_fail
+    sub $I11, rx1127_pos, rx1127_off
+    substr $S10, rx1127_tgt, $I11, 2
+    ne $S10, "ne", rx1127_fail
+    add rx1127_pos, 2
+    set_addr $I10, rxcap_1132_fail
+    ($I12, $I11) = rx1127_cur."!mark_peek"($I10)
+    rx1127_cur."!cursor_pos"($I11)
+    ($P10) = rx1127_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1127_pos, "")
+    rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1124_done
-  rxcap_1124_fail:
-    goto rx1119_fail
-  rxcap_1124_done:
+    goto rxcap_1132_done
+  rxcap_1132_fail:
+    goto rx1127_fail
+  rxcap_1132_done:
   # rx subrule "O" subtype=capture negate=
-    rx1119_cur."!cursor_pos"(rx1119_pos)
-    $P10 = rx1119_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1119_fail
-    rx1119_cur."!mark_push"(0, -1, 0, $P10)
+    rx1127_cur."!cursor_pos"(rx1127_pos)
+    $P10 = rx1127_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1127_fail
+    rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1119_pos = $P10."pos"()
+    rx1127_pos = $P10."pos"()
   # rx pass
-    rx1119_cur."!cursor_pass"(rx1119_pos, "infix:sym<ne>")
-    rx1119_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1119_pos)
-    .return (rx1119_cur)
-  rx1119_fail:
-.annotate "line", 422
-    (rx1119_rep, rx1119_pos, $I10, $P10) = rx1119_cur."!mark_fail"(0)
-    lt rx1119_pos, -1, rx1119_done
-    eq rx1119_pos, -1, rx1119_fail
-    jump $I10
-  rx1119_done:
-    rx1119_cur."!cursor_fail"()
-    rx1119_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1119_cur)
+    rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<ne>")
+    rx1127_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1127_pos)
+    .return (rx1127_cur)
+  rx1127_fail:
+.annotate 'line', 423
+    (rx1127_rep, rx1127_pos, $I10, $P10) = rx1127_cur."!mark_fail"(0)
+    lt rx1127_pos, -1, rx1127_done
+    eq rx1127_pos, -1, rx1127_fail
+    jump $I10
+  rx1127_done:
+    rx1127_cur."!cursor_fail"()
+    rx1127_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1127_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("286_1272816833.94956") :method
-.annotate "line", 422
-    $P1121 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1122, "ResizablePMCArray"
-    push $P1122, $P1121
-    .return ($P1122)
+.sub "!PREFIX__infix:sym<ne>"  :subid("286_1273866379.28103") :method
+.annotate 'line', 423
+    $P1129 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1130, "ResizablePMCArray"
+    push $P1130, $P1129
+    .return ($P1130)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("287_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1126_tgt
-    .local int rx1126_pos
-    .local int rx1126_off
-    .local int rx1126_eos
-    .local int rx1126_rep
-    .local pmc rx1126_cur
-    (rx1126_cur, rx1126_pos, rx1126_tgt) = self."!cursor_start"()
-    rx1126_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1126_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1126_eos, rx1126_tgt
-    set rx1126_off, 0
-    lt rx1126_pos, 2, rx1126_start
-    sub rx1126_off, rx1126_pos, 1
-    substr rx1126_tgt, rx1126_tgt, rx1126_off
-  rx1126_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1130_done
-    goto rxscan1130_scan
-  rxscan1130_loop:
-    ($P10) = rx1126_cur."from"()
-    inc $P10
-    set rx1126_pos, $P10
-    ge rx1126_pos, rx1126_eos, rxscan1130_done
-  rxscan1130_scan:
-    set_addr $I10, rxscan1130_loop
-    rx1126_cur."!mark_push"(0, rx1126_pos, $I10)
-  rxscan1130_done:
-.annotate "line", 499
+.sub "infix:sym<le>"  :subid("287_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1134_tgt
+    .local int rx1134_pos
+    .local int rx1134_off
+    .local int rx1134_eos
+    .local int rx1134_rep
+    .local pmc rx1134_cur
+    (rx1134_cur, rx1134_pos, rx1134_tgt) = self."!cursor_start"()
+    rx1134_cur."!cursor_debug"("START ", "infix:sym<le>")
+    .lex unicode:"$\x{a2}", rx1134_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1134_eos, rx1134_tgt
+    set rx1134_off, 0
+    lt rx1134_pos, 2, rx1134_start
+    sub rx1134_off, rx1134_pos, 1
+    substr rx1134_tgt, rx1134_tgt, rx1134_off
+  rx1134_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1138_done
+    goto rxscan1138_scan
+  rxscan1138_loop:
+    ($P10) = rx1134_cur."from"()
+    inc $P10
+    set rx1134_pos, $P10
+    ge rx1134_pos, rx1134_eos, rxscan1138_done
+  rxscan1138_scan:
+    set_addr $I10, rxscan1138_loop
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
+  rxscan1138_done:
+.annotate 'line', 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1131_fail
-    rx1126_cur."!mark_push"(0, rx1126_pos, $I10)
+    set_addr $I10, rxcap_1139_fail
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
   # rx literal  "le"
-    add $I11, rx1126_pos, 2
-    gt $I11, rx1126_eos, rx1126_fail
-    sub $I11, rx1126_pos, rx1126_off
-    substr $S10, rx1126_tgt, $I11, 2
-    ne $S10, "le", rx1126_fail
-    add rx1126_pos, 2
-    set_addr $I10, rxcap_1131_fail
-    ($I12, $I11) = rx1126_cur."!mark_peek"($I10)
-    rx1126_cur."!cursor_pos"($I11)
-    ($P10) = rx1126_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1126_pos, "")
-    rx1126_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1134_pos, 2
+    gt $I11, rx1134_eos, rx1134_fail
+    sub $I11, rx1134_pos, rx1134_off
+    substr $S10, rx1134_tgt, $I11, 2
+    ne $S10, "le", rx1134_fail
+    add rx1134_pos, 2
+    set_addr $I10, rxcap_1139_fail
+    ($I12, $I11) = rx1134_cur."!mark_peek"($I10)
+    rx1134_cur."!cursor_pos"($I11)
+    ($P10) = rx1134_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1134_pos, "")
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1131_done
-  rxcap_1131_fail:
-    goto rx1126_fail
-  rxcap_1131_done:
+    goto rxcap_1139_done
+  rxcap_1139_fail:
+    goto rx1134_fail
+  rxcap_1139_done:
   # rx subrule "O" subtype=capture negate=
-    rx1126_cur."!cursor_pos"(rx1126_pos)
-    $P10 = rx1126_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1126_fail
-    rx1126_cur."!mark_push"(0, -1, 0, $P10)
+    rx1134_cur."!cursor_pos"(rx1134_pos)
+    $P10 = rx1134_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1134_fail
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1126_pos = $P10."pos"()
+    rx1134_pos = $P10."pos"()
   # rx pass
-    rx1126_cur."!cursor_pass"(rx1126_pos, "infix:sym<le>")
-    rx1126_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1126_pos)
-    .return (rx1126_cur)
-  rx1126_fail:
-.annotate "line", 422
-    (rx1126_rep, rx1126_pos, $I10, $P10) = rx1126_cur."!mark_fail"(0)
-    lt rx1126_pos, -1, rx1126_done
-    eq rx1126_pos, -1, rx1126_fail
-    jump $I10
-  rx1126_done:
-    rx1126_cur."!cursor_fail"()
-    rx1126_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1126_cur)
+    rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<le>")
+    rx1134_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1134_pos)
+    .return (rx1134_cur)
+  rx1134_fail:
+.annotate 'line', 423
+    (rx1134_rep, rx1134_pos, $I10, $P10) = rx1134_cur."!mark_fail"(0)
+    lt rx1134_pos, -1, rx1134_done
+    eq rx1134_pos, -1, rx1134_fail
+    jump $I10
+  rx1134_done:
+    rx1134_cur."!cursor_fail"()
+    rx1134_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1134_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("288_1272816833.94956") :method
-.annotate "line", 422
-    $P1128 = self."!PREFIX__!subrule"("O", "le")
-    new $P1129, "ResizablePMCArray"
-    push $P1129, $P1128
-    .return ($P1129)
+.sub "!PREFIX__infix:sym<le>"  :subid("288_1273866379.28103") :method
+.annotate 'line', 423
+    $P1136 = self."!PREFIX__!subrule"("O", "le")
+    new $P1137, "ResizablePMCArray"
+    push $P1137, $P1136
+    .return ($P1137)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("289_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1133_tgt
-    .local int rx1133_pos
-    .local int rx1133_off
-    .local int rx1133_eos
-    .local int rx1133_rep
-    .local pmc rx1133_cur
-    (rx1133_cur, rx1133_pos, rx1133_tgt) = self."!cursor_start"()
-    rx1133_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1133_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1133_eos, rx1133_tgt
-    set rx1133_off, 0
-    lt rx1133_pos, 2, rx1133_start
-    sub rx1133_off, rx1133_pos, 1
-    substr rx1133_tgt, rx1133_tgt, rx1133_off
-  rx1133_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1137_done
-    goto rxscan1137_scan
-  rxscan1137_loop:
-    ($P10) = rx1133_cur."from"()
-    inc $P10
-    set rx1133_pos, $P10
-    ge rx1133_pos, rx1133_eos, rxscan1137_done
-  rxscan1137_scan:
-    set_addr $I10, rxscan1137_loop
-    rx1133_cur."!mark_push"(0, rx1133_pos, $I10)
-  rxscan1137_done:
-.annotate "line", 500
+.sub "infix:sym<ge>"  :subid("289_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1141_tgt
+    .local int rx1141_pos
+    .local int rx1141_off
+    .local int rx1141_eos
+    .local int rx1141_rep
+    .local pmc rx1141_cur
+    (rx1141_cur, rx1141_pos, rx1141_tgt) = self."!cursor_start"()
+    rx1141_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    .lex unicode:"$\x{a2}", rx1141_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1141_eos, rx1141_tgt
+    set rx1141_off, 0
+    lt rx1141_pos, 2, rx1141_start
+    sub rx1141_off, rx1141_pos, 1
+    substr rx1141_tgt, rx1141_tgt, rx1141_off
+  rx1141_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1145_done
+    goto rxscan1145_scan
+  rxscan1145_loop:
+    ($P10) = rx1141_cur."from"()
+    inc $P10
+    set rx1141_pos, $P10
+    ge rx1141_pos, rx1141_eos, rxscan1145_done
+  rxscan1145_scan:
+    set_addr $I10, rxscan1145_loop
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
+  rxscan1145_done:
+.annotate 'line', 501
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1138_fail
-    rx1133_cur."!mark_push"(0, rx1133_pos, $I10)
+    set_addr $I10, rxcap_1146_fail
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
   # rx literal  "ge"
-    add $I11, rx1133_pos, 2
-    gt $I11, rx1133_eos, rx1133_fail
-    sub $I11, rx1133_pos, rx1133_off
-    substr $S10, rx1133_tgt, $I11, 2
-    ne $S10, "ge", rx1133_fail
-    add rx1133_pos, 2
-    set_addr $I10, rxcap_1138_fail
-    ($I12, $I11) = rx1133_cur."!mark_peek"($I10)
-    rx1133_cur."!cursor_pos"($I11)
-    ($P10) = rx1133_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1133_pos, "")
-    rx1133_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1141_pos, 2
+    gt $I11, rx1141_eos, rx1141_fail
+    sub $I11, rx1141_pos, rx1141_off
+    substr $S10, rx1141_tgt, $I11, 2
+    ne $S10, "ge", rx1141_fail
+    add rx1141_pos, 2
+    set_addr $I10, rxcap_1146_fail
+    ($I12, $I11) = rx1141_cur."!mark_peek"($I10)
+    rx1141_cur."!cursor_pos"($I11)
+    ($P10) = rx1141_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1141_pos, "")
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1138_done
-  rxcap_1138_fail:
-    goto rx1133_fail
-  rxcap_1138_done:
+    goto rxcap_1146_done
+  rxcap_1146_fail:
+    goto rx1141_fail
+  rxcap_1146_done:
   # rx subrule "O" subtype=capture negate=
-    rx1133_cur."!cursor_pos"(rx1133_pos)
-    $P10 = rx1133_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1133_fail
-    rx1133_cur."!mark_push"(0, -1, 0, $P10)
+    rx1141_cur."!cursor_pos"(rx1141_pos)
+    $P10 = rx1141_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1141_fail
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1133_pos = $P10."pos"()
+    rx1141_pos = $P10."pos"()
   # rx pass
-    rx1133_cur."!cursor_pass"(rx1133_pos, "infix:sym<ge>")
-    rx1133_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1133_pos)
-    .return (rx1133_cur)
-  rx1133_fail:
-.annotate "line", 422
-    (rx1133_rep, rx1133_pos, $I10, $P10) = rx1133_cur."!mark_fail"(0)
-    lt rx1133_pos, -1, rx1133_done
-    eq rx1133_pos, -1, rx1133_fail
-    jump $I10
-  rx1133_done:
-    rx1133_cur."!cursor_fail"()
-    rx1133_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1133_cur)
+    rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<ge>")
+    rx1141_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1141_pos)
+    .return (rx1141_cur)
+  rx1141_fail:
+.annotate 'line', 423
+    (rx1141_rep, rx1141_pos, $I10, $P10) = rx1141_cur."!mark_fail"(0)
+    lt rx1141_pos, -1, rx1141_done
+    eq rx1141_pos, -1, rx1141_fail
+    jump $I10
+  rx1141_done:
+    rx1141_cur."!cursor_fail"()
+    rx1141_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("290_1272816833.94956") :method
-.annotate "line", 422
-    $P1135 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1136, "ResizablePMCArray"
-    push $P1136, $P1135
-    .return ($P1136)
+.sub "!PREFIX__infix:sym<ge>"  :subid("290_1273866379.28103") :method
+.annotate 'line', 423
+    $P1143 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1144, "ResizablePMCArray"
+    push $P1144, $P1143
+    .return ($P1144)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("291_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1140_tgt
-    .local int rx1140_pos
-    .local int rx1140_off
-    .local int rx1140_eos
-    .local int rx1140_rep
-    .local pmc rx1140_cur
-    (rx1140_cur, rx1140_pos, rx1140_tgt) = self."!cursor_start"()
-    rx1140_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1140_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1140_eos, rx1140_tgt
-    set rx1140_off, 0
-    lt rx1140_pos, 2, rx1140_start
-    sub rx1140_off, rx1140_pos, 1
-    substr rx1140_tgt, rx1140_tgt, rx1140_off
-  rx1140_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1144_done
-    goto rxscan1144_scan
-  rxscan1144_loop:
-    ($P10) = rx1140_cur."from"()
-    inc $P10
-    set rx1140_pos, $P10
-    ge rx1140_pos, rx1140_eos, rxscan1144_done
-  rxscan1144_scan:
-    set_addr $I10, rxscan1144_loop
-    rx1140_cur."!mark_push"(0, rx1140_pos, $I10)
-  rxscan1144_done:
-.annotate "line", 501
+.sub "infix:sym<lt>"  :subid("291_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1148_tgt
+    .local int rx1148_pos
+    .local int rx1148_off
+    .local int rx1148_eos
+    .local int rx1148_rep
+    .local pmc rx1148_cur
+    (rx1148_cur, rx1148_pos, rx1148_tgt) = self."!cursor_start"()
+    rx1148_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1148_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1148_eos, rx1148_tgt
+    set rx1148_off, 0
+    lt rx1148_pos, 2, rx1148_start
+    sub rx1148_off, rx1148_pos, 1
+    substr rx1148_tgt, rx1148_tgt, rx1148_off
+  rx1148_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1152_done
+    goto rxscan1152_scan
+  rxscan1152_loop:
+    ($P10) = rx1148_cur."from"()
+    inc $P10
+    set rx1148_pos, $P10
+    ge rx1148_pos, rx1148_eos, rxscan1152_done
+  rxscan1152_scan:
+    set_addr $I10, rxscan1152_loop
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
+  rxscan1152_done:
+.annotate 'line', 502
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1145_fail
-    rx1140_cur."!mark_push"(0, rx1140_pos, $I10)
+    set_addr $I10, rxcap_1153_fail
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
   # rx literal  "lt"
-    add $I11, rx1140_pos, 2
-    gt $I11, rx1140_eos, rx1140_fail
-    sub $I11, rx1140_pos, rx1140_off
-    substr $S10, rx1140_tgt, $I11, 2
-    ne $S10, "lt", rx1140_fail
-    add rx1140_pos, 2
-    set_addr $I10, rxcap_1145_fail
-    ($I12, $I11) = rx1140_cur."!mark_peek"($I10)
-    rx1140_cur."!cursor_pos"($I11)
-    ($P10) = rx1140_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1140_pos, "")
-    rx1140_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1148_pos, 2
+    gt $I11, rx1148_eos, rx1148_fail
+    sub $I11, rx1148_pos, rx1148_off
+    substr $S10, rx1148_tgt, $I11, 2
+    ne $S10, "lt", rx1148_fail
+    add rx1148_pos, 2
+    set_addr $I10, rxcap_1153_fail
+    ($I12, $I11) = rx1148_cur."!mark_peek"($I10)
+    rx1148_cur."!cursor_pos"($I11)
+    ($P10) = rx1148_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1148_pos, "")
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1145_done
-  rxcap_1145_fail:
-    goto rx1140_fail
-  rxcap_1145_done:
+    goto rxcap_1153_done
+  rxcap_1153_fail:
+    goto rx1148_fail
+  rxcap_1153_done:
   # rx subrule "O" subtype=capture negate=
-    rx1140_cur."!cursor_pos"(rx1140_pos)
-    $P10 = rx1140_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1140_fail
-    rx1140_cur."!mark_push"(0, -1, 0, $P10)
+    rx1148_cur."!cursor_pos"(rx1148_pos)
+    $P10 = rx1148_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1148_fail
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1140_pos = $P10."pos"()
+    rx1148_pos = $P10."pos"()
   # rx pass
-    rx1140_cur."!cursor_pass"(rx1140_pos, "infix:sym<lt>")
-    rx1140_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1140_pos)
-    .return (rx1140_cur)
-  rx1140_fail:
-.annotate "line", 422
-    (rx1140_rep, rx1140_pos, $I10, $P10) = rx1140_cur."!mark_fail"(0)
-    lt rx1140_pos, -1, rx1140_done
-    eq rx1140_pos, -1, rx1140_fail
-    jump $I10
-  rx1140_done:
-    rx1140_cur."!cursor_fail"()
-    rx1140_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1140_cur)
+    rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<lt>")
+    rx1148_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1148_pos)
+    .return (rx1148_cur)
+  rx1148_fail:
+.annotate 'line', 423
+    (rx1148_rep, rx1148_pos, $I10, $P10) = rx1148_cur."!mark_fail"(0)
+    lt rx1148_pos, -1, rx1148_done
+    eq rx1148_pos, -1, rx1148_fail
+    jump $I10
+  rx1148_done:
+    rx1148_cur."!cursor_fail"()
+    rx1148_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    .return (rx1148_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("292_1272816833.94956") :method
-.annotate "line", 422
-    $P1142 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1143, "ResizablePMCArray"
-    push $P1143, $P1142
-    .return ($P1143)
+.sub "!PREFIX__infix:sym<lt>"  :subid("292_1273866379.28103") :method
+.annotate 'line', 423
+    $P1150 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1151, "ResizablePMCArray"
+    push $P1151, $P1150
+    .return ($P1151)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("293_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1147_tgt
-    .local int rx1147_pos
-    .local int rx1147_off
-    .local int rx1147_eos
-    .local int rx1147_rep
-    .local pmc rx1147_cur
-    (rx1147_cur, rx1147_pos, rx1147_tgt) = self."!cursor_start"()
-    rx1147_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1147_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1147_eos, rx1147_tgt
-    set rx1147_off, 0
-    lt rx1147_pos, 2, rx1147_start
-    sub rx1147_off, rx1147_pos, 1
-    substr rx1147_tgt, rx1147_tgt, rx1147_off
-  rx1147_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1151_done
-    goto rxscan1151_scan
-  rxscan1151_loop:
-    ($P10) = rx1147_cur."from"()
-    inc $P10
-    set rx1147_pos, $P10
-    ge rx1147_pos, rx1147_eos, rxscan1151_done
-  rxscan1151_scan:
-    set_addr $I10, rxscan1151_loop
-    rx1147_cur."!mark_push"(0, rx1147_pos, $I10)
-  rxscan1151_done:
-.annotate "line", 502
+.sub "infix:sym<gt>"  :subid("293_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1155_tgt
+    .local int rx1155_pos
+    .local int rx1155_off
+    .local int rx1155_eos
+    .local int rx1155_rep
+    .local pmc rx1155_cur
+    (rx1155_cur, rx1155_pos, rx1155_tgt) = self."!cursor_start"()
+    rx1155_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    .lex unicode:"$\x{a2}", rx1155_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1155_eos, rx1155_tgt
+    set rx1155_off, 0
+    lt rx1155_pos, 2, rx1155_start
+    sub rx1155_off, rx1155_pos, 1
+    substr rx1155_tgt, rx1155_tgt, rx1155_off
+  rx1155_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1159_done
+    goto rxscan1159_scan
+  rxscan1159_loop:
+    ($P10) = rx1155_cur."from"()
+    inc $P10
+    set rx1155_pos, $P10
+    ge rx1155_pos, rx1155_eos, rxscan1159_done
+  rxscan1159_scan:
+    set_addr $I10, rxscan1159_loop
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
+  rxscan1159_done:
+.annotate 'line', 503
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1152_fail
-    rx1147_cur."!mark_push"(0, rx1147_pos, $I10)
+    set_addr $I10, rxcap_1160_fail
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
   # rx literal  "gt"
-    add $I11, rx1147_pos, 2
-    gt $I11, rx1147_eos, rx1147_fail
-    sub $I11, rx1147_pos, rx1147_off
-    substr $S10, rx1147_tgt, $I11, 2
-    ne $S10, "gt", rx1147_fail
-    add rx1147_pos, 2
-    set_addr $I10, rxcap_1152_fail
-    ($I12, $I11) = rx1147_cur."!mark_peek"($I10)
-    rx1147_cur."!cursor_pos"($I11)
-    ($P10) = rx1147_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1147_pos, "")
-    rx1147_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1155_pos, 2
+    gt $I11, rx1155_eos, rx1155_fail
+    sub $I11, rx1155_pos, rx1155_off
+    substr $S10, rx1155_tgt, $I11, 2
+    ne $S10, "gt", rx1155_fail
+    add rx1155_pos, 2
+    set_addr $I10, rxcap_1160_fail
+    ($I12, $I11) = rx1155_cur."!mark_peek"($I10)
+    rx1155_cur."!cursor_pos"($I11)
+    ($P10) = rx1155_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1155_pos, "")
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1152_done
-  rxcap_1152_fail:
-    goto rx1147_fail
-  rxcap_1152_done:
+    goto rxcap_1160_done
+  rxcap_1160_fail:
+    goto rx1155_fail
+  rxcap_1160_done:
   # rx subrule "O" subtype=capture negate=
-    rx1147_cur."!cursor_pos"(rx1147_pos)
-    $P10 = rx1147_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1147_fail
-    rx1147_cur."!mark_push"(0, -1, 0, $P10)
+    rx1155_cur."!cursor_pos"(rx1155_pos)
+    $P10 = rx1155_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1155_fail
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1147_pos = $P10."pos"()
+    rx1155_pos = $P10."pos"()
   # rx pass
-    rx1147_cur."!cursor_pass"(rx1147_pos, "infix:sym<gt>")
-    rx1147_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1147_pos)
-    .return (rx1147_cur)
-  rx1147_fail:
-.annotate "line", 422
-    (rx1147_rep, rx1147_pos, $I10, $P10) = rx1147_cur."!mark_fail"(0)
-    lt rx1147_pos, -1, rx1147_done
-    eq rx1147_pos, -1, rx1147_fail
-    jump $I10
-  rx1147_done:
-    rx1147_cur."!cursor_fail"()
-    rx1147_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1147_cur)
+    rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<gt>")
+    rx1155_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1155_pos)
+    .return (rx1155_cur)
+  rx1155_fail:
+.annotate 'line', 423
+    (rx1155_rep, rx1155_pos, $I10, $P10) = rx1155_cur."!mark_fail"(0)
+    lt rx1155_pos, -1, rx1155_done
+    eq rx1155_pos, -1, rx1155_fail
+    jump $I10
+  rx1155_done:
+    rx1155_cur."!cursor_fail"()
+    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    .return (rx1155_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("294_1272816833.94956") :method
-.annotate "line", 422
-    $P1149 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1150, "ResizablePMCArray"
-    push $P1150, $P1149
-    .return ($P1150)
+.sub "!PREFIX__infix:sym<gt>"  :subid("294_1273866379.28103") :method
+.annotate 'line', 423
+    $P1157 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1158, "ResizablePMCArray"
+    push $P1158, $P1157
+    .return ($P1158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("295_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1154_tgt
-    .local int rx1154_pos
-    .local int rx1154_off
-    .local int rx1154_eos
-    .local int rx1154_rep
-    .local pmc rx1154_cur
-    (rx1154_cur, rx1154_pos, rx1154_tgt) = self."!cursor_start"()
-    rx1154_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1154_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1154_eos, rx1154_tgt
-    set rx1154_off, 0
-    lt rx1154_pos, 2, rx1154_start
-    sub rx1154_off, rx1154_pos, 1
-    substr rx1154_tgt, rx1154_tgt, rx1154_off
-  rx1154_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1158_done
-    goto rxscan1158_scan
-  rxscan1158_loop:
-    ($P10) = rx1154_cur."from"()
-    inc $P10
-    set rx1154_pos, $P10
-    ge rx1154_pos, rx1154_eos, rxscan1158_done
-  rxscan1158_scan:
-    set_addr $I10, rxscan1158_loop
-    rx1154_cur."!mark_push"(0, rx1154_pos, $I10)
-  rxscan1158_done:
-.annotate "line", 503
+.sub "infix:sym<=:=>"  :subid("295_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1162_tgt
+    .local int rx1162_pos
+    .local int rx1162_off
+    .local int rx1162_eos
+    .local int rx1162_rep
+    .local pmc rx1162_cur
+    (rx1162_cur, rx1162_pos, rx1162_tgt) = self."!cursor_start"()
+    rx1162_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1162_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1162_eos, rx1162_tgt
+    set rx1162_off, 0
+    lt rx1162_pos, 2, rx1162_start
+    sub rx1162_off, rx1162_pos, 1
+    substr rx1162_tgt, rx1162_tgt, rx1162_off
+  rx1162_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1166_done
+    goto rxscan1166_scan
+  rxscan1166_loop:
+    ($P10) = rx1162_cur."from"()
+    inc $P10
+    set rx1162_pos, $P10
+    ge rx1162_pos, rx1162_eos, rxscan1166_done
+  rxscan1166_scan:
+    set_addr $I10, rxscan1166_loop
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
+  rxscan1166_done:
+.annotate 'line', 504
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1159_fail
-    rx1154_cur."!mark_push"(0, rx1154_pos, $I10)
+    set_addr $I10, rxcap_1167_fail
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
   # rx literal  "=:="
-    add $I11, rx1154_pos, 3
-    gt $I11, rx1154_eos, rx1154_fail
-    sub $I11, rx1154_pos, rx1154_off
-    substr $S10, rx1154_tgt, $I11, 3
-    ne $S10, "=:=", rx1154_fail
-    add rx1154_pos, 3
-    set_addr $I10, rxcap_1159_fail
-    ($I12, $I11) = rx1154_cur."!mark_peek"($I10)
-    rx1154_cur."!cursor_pos"($I11)
-    ($P10) = rx1154_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1154_pos, "")
-    rx1154_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1162_pos, 3
+    gt $I11, rx1162_eos, rx1162_fail
+    sub $I11, rx1162_pos, rx1162_off
+    substr $S10, rx1162_tgt, $I11, 3
+    ne $S10, "=:=", rx1162_fail
+    add rx1162_pos, 3
+    set_addr $I10, rxcap_1167_fail
+    ($I12, $I11) = rx1162_cur."!mark_peek"($I10)
+    rx1162_cur."!cursor_pos"($I11)
+    ($P10) = rx1162_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1162_pos, "")
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1159_done
-  rxcap_1159_fail:
-    goto rx1154_fail
-  rxcap_1159_done:
+    goto rxcap_1167_done
+  rxcap_1167_fail:
+    goto rx1162_fail
+  rxcap_1167_done:
   # rx subrule "O" subtype=capture negate=
-    rx1154_cur."!cursor_pos"(rx1154_pos)
-    $P10 = rx1154_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1154_fail
-    rx1154_cur."!mark_push"(0, -1, 0, $P10)
+    rx1162_cur."!cursor_pos"(rx1162_pos)
+    $P10 = rx1162_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1162_fail
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1154_pos = $P10."pos"()
+    rx1162_pos = $P10."pos"()
   # rx pass
-    rx1154_cur."!cursor_pass"(rx1154_pos, "infix:sym<=:=>")
-    rx1154_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1154_pos)
-    .return (rx1154_cur)
-  rx1154_fail:
-.annotate "line", 422
-    (rx1154_rep, rx1154_pos, $I10, $P10) = rx1154_cur."!mark_fail"(0)
-    lt rx1154_pos, -1, rx1154_done
-    eq rx1154_pos, -1, rx1154_fail
-    jump $I10
-  rx1154_done:
-    rx1154_cur."!cursor_fail"()
-    rx1154_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1154_cur)
+    rx1162_cur."!cursor_pass"(rx1162_pos, "infix:sym<=:=>")
+    rx1162_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1162_pos)
+    .return (rx1162_cur)
+  rx1162_fail:
+.annotate 'line', 423
+    (rx1162_rep, rx1162_pos, $I10, $P10) = rx1162_cur."!mark_fail"(0)
+    lt rx1162_pos, -1, rx1162_done
+    eq rx1162_pos, -1, rx1162_fail
+    jump $I10
+  rx1162_done:
+    rx1162_cur."!cursor_fail"()
+    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    .return (rx1162_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("296_1272816833.94956") :method
-.annotate "line", 422
-    $P1156 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1157, "ResizablePMCArray"
-    push $P1157, $P1156
-    .return ($P1157)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("296_1273866379.28103") :method
+.annotate 'line', 423
+    $P1164 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1165, "ResizablePMCArray"
+    push $P1165, $P1164
+    .return ($P1165)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("297_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1161_tgt
-    .local int rx1161_pos
-    .local int rx1161_off
-    .local int rx1161_eos
-    .local int rx1161_rep
-    .local pmc rx1161_cur
-    (rx1161_cur, rx1161_pos, rx1161_tgt) = self."!cursor_start"()
-    rx1161_cur."!cursor_debug"("START ", "infix:sym<~~>")
-    .lex unicode:"$\x{a2}", rx1161_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1161_eos, rx1161_tgt
-    set rx1161_off, 0
-    lt rx1161_pos, 2, rx1161_start
-    sub rx1161_off, rx1161_pos, 1
-    substr rx1161_tgt, rx1161_tgt, rx1161_off
-  rx1161_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1165_done
-    goto rxscan1165_scan
-  rxscan1165_loop:
-    ($P10) = rx1161_cur."from"()
-    inc $P10
-    set rx1161_pos, $P10
-    ge rx1161_pos, rx1161_eos, rxscan1165_done
-  rxscan1165_scan:
-    set_addr $I10, rxscan1165_loop
-    rx1161_cur."!mark_push"(0, rx1161_pos, $I10)
-  rxscan1165_done:
-.annotate "line", 504
+.sub "infix:sym<~~>"  :subid("297_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1169_tgt
+    .local int rx1169_pos
+    .local int rx1169_off
+    .local int rx1169_eos
+    .local int rx1169_rep
+    .local pmc rx1169_cur
+    (rx1169_cur, rx1169_pos, rx1169_tgt) = self."!cursor_start"()
+    rx1169_cur."!cursor_debug"("START ", "infix:sym<~~>")
+    .lex unicode:"$\x{a2}", rx1169_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1169_eos, rx1169_tgt
+    set rx1169_off, 0
+    lt rx1169_pos, 2, rx1169_start
+    sub rx1169_off, rx1169_pos, 1
+    substr rx1169_tgt, rx1169_tgt, rx1169_off
+  rx1169_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1173_done
+    goto rxscan1173_scan
+  rxscan1173_loop:
+    ($P10) = rx1169_cur."from"()
+    inc $P10
+    set rx1169_pos, $P10
+    ge rx1169_pos, rx1169_eos, rxscan1173_done
+  rxscan1173_scan:
+    set_addr $I10, rxscan1173_loop
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  rxscan1173_done:
+.annotate 'line', 505
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1166_fail
-    rx1161_cur."!mark_push"(0, rx1161_pos, $I10)
+    set_addr $I10, rxcap_1174_fail
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
   # rx literal  "~~"
-    add $I11, rx1161_pos, 2
-    gt $I11, rx1161_eos, rx1161_fail
-    sub $I11, rx1161_pos, rx1161_off
-    substr $S10, rx1161_tgt, $I11, 2
-    ne $S10, "~~", rx1161_fail
-    add rx1161_pos, 2
-    set_addr $I10, rxcap_1166_fail
-    ($I12, $I11) = rx1161_cur."!mark_peek"($I10)
-    rx1161_cur."!cursor_pos"($I11)
-    ($P10) = rx1161_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1161_pos, "")
-    rx1161_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1169_pos, 2
+    gt $I11, rx1169_eos, rx1169_fail
+    sub $I11, rx1169_pos, rx1169_off
+    substr $S10, rx1169_tgt, $I11, 2
+    ne $S10, "~~", rx1169_fail
+    add rx1169_pos, 2
+    set_addr $I10, rxcap_1174_fail
+    ($I12, $I11) = rx1169_cur."!mark_peek"($I10)
+    rx1169_cur."!cursor_pos"($I11)
+    ($P10) = rx1169_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1169_pos, "")
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1166_done
-  rxcap_1166_fail:
-    goto rx1161_fail
-  rxcap_1166_done:
+    goto rxcap_1174_done
+  rxcap_1174_fail:
+    goto rx1169_fail
+  rxcap_1174_done:
   # rx subrule "O" subtype=capture negate=
-    rx1161_cur."!cursor_pos"(rx1161_pos)
-    $P10 = rx1161_cur."O"("%relational, :reducecheck<smartmatch>")
-    unless $P10, rx1161_fail
-    rx1161_cur."!mark_push"(0, -1, 0, $P10)
+    rx1169_cur."!cursor_pos"(rx1169_pos)
+    $P10 = rx1169_cur."O"("%relational, :reducecheck<smartmatch>")
+    unless $P10, rx1169_fail
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1161_pos = $P10."pos"()
+    rx1169_pos = $P10."pos"()
   # rx pass
-    rx1161_cur."!cursor_pass"(rx1161_pos, "infix:sym<~~>")
-    rx1161_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1161_pos)
-    .return (rx1161_cur)
-  rx1161_fail:
-.annotate "line", 422
-    (rx1161_rep, rx1161_pos, $I10, $P10) = rx1161_cur."!mark_fail"(0)
-    lt rx1161_pos, -1, rx1161_done
-    eq rx1161_pos, -1, rx1161_fail
-    jump $I10
-  rx1161_done:
-    rx1161_cur."!cursor_fail"()
-    rx1161_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
-    .return (rx1161_cur)
+    rx1169_cur."!cursor_pass"(rx1169_pos, "infix:sym<~~>")
+    rx1169_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1169_pos)
+    .return (rx1169_cur)
+  rx1169_fail:
+.annotate 'line', 423
+    (rx1169_rep, rx1169_pos, $I10, $P10) = rx1169_cur."!mark_fail"(0)
+    lt rx1169_pos, -1, rx1169_done
+    eq rx1169_pos, -1, rx1169_fail
+    jump $I10
+  rx1169_done:
+    rx1169_cur."!cursor_fail"()
+    rx1169_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
+    .return (rx1169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("298_1272816833.94956") :method
-.annotate "line", 422
-    $P1163 = self."!PREFIX__!subrule"("O", "~~")
-    new $P1164, "ResizablePMCArray"
-    push $P1164, $P1163
-    .return ($P1164)
+.sub "!PREFIX__infix:sym<~~>"  :subid("298_1273866379.28103") :method
+.annotate 'line', 423
+    $P1171 = self."!PREFIX__!subrule"("O", "~~")
+    new $P1172, "ResizablePMCArray"
+    push $P1172, $P1171
+    .return ($P1172)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("299_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1168_tgt
-    .local int rx1168_pos
-    .local int rx1168_off
-    .local int rx1168_eos
-    .local int rx1168_rep
-    .local pmc rx1168_cur
-    (rx1168_cur, rx1168_pos, rx1168_tgt) = self."!cursor_start"()
-    rx1168_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1168_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1168_eos, rx1168_tgt
-    set rx1168_off, 0
-    lt rx1168_pos, 2, rx1168_start
-    sub rx1168_off, rx1168_pos, 1
-    substr rx1168_tgt, rx1168_tgt, rx1168_off
-  rx1168_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1172_done
-    goto rxscan1172_scan
-  rxscan1172_loop:
-    ($P10) = rx1168_cur."from"()
-    inc $P10
-    set rx1168_pos, $P10
-    ge rx1168_pos, rx1168_eos, rxscan1172_done
-  rxscan1172_scan:
-    set_addr $I10, rxscan1172_loop
-    rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
-  rxscan1172_done:
-.annotate "line", 506
+.sub "infix:sym<&&>"  :subid("299_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1176_tgt
+    .local int rx1176_pos
+    .local int rx1176_off
+    .local int rx1176_eos
+    .local int rx1176_rep
+    .local pmc rx1176_cur
+    (rx1176_cur, rx1176_pos, rx1176_tgt) = self."!cursor_start"()
+    rx1176_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    .lex unicode:"$\x{a2}", rx1176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1176_eos, rx1176_tgt
+    set rx1176_off, 0
+    lt rx1176_pos, 2, rx1176_start
+    sub rx1176_off, rx1176_pos, 1
+    substr rx1176_tgt, rx1176_tgt, rx1176_off
+  rx1176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1180_done
+    goto rxscan1180_scan
+  rxscan1180_loop:
+    ($P10) = rx1176_cur."from"()
+    inc $P10
+    set rx1176_pos, $P10
+    ge rx1176_pos, rx1176_eos, rxscan1180_done
+  rxscan1180_scan:
+    set_addr $I10, rxscan1180_loop
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  rxscan1180_done:
+.annotate 'line', 507
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1173_fail
-    rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
+    set_addr $I10, rxcap_1181_fail
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx1168_pos, 2
-    gt $I11, rx1168_eos, rx1168_fail
-    sub $I11, rx1168_pos, rx1168_off
-    substr $S10, rx1168_tgt, $I11, 2
-    ne $S10, "&&", rx1168_fail
-    add rx1168_pos, 2
-    set_addr $I10, rxcap_1173_fail
-    ($I12, $I11) = rx1168_cur."!mark_peek"($I10)
-    rx1168_cur."!cursor_pos"($I11)
-    ($P10) = rx1168_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1168_pos, "")
-    rx1168_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1176_pos, 2
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 2
+    ne $S10, "&&", rx1176_fail
+    add rx1176_pos, 2
+    set_addr $I10, rxcap_1181_fail
+    ($I12, $I11) = rx1176_cur."!mark_peek"($I10)
+    rx1176_cur."!cursor_pos"($I11)
+    ($P10) = rx1176_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1176_pos, "")
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1173_done
-  rxcap_1173_fail:
-    goto rx1168_fail
-  rxcap_1173_done:
+    goto rxcap_1181_done
+  rxcap_1181_fail:
+    goto rx1176_fail
+  rxcap_1181_done:
   # rx subrule "O" subtype=capture negate=
-    rx1168_cur."!cursor_pos"(rx1168_pos)
-    $P10 = rx1168_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1168_fail
-    rx1168_cur."!mark_push"(0, -1, 0, $P10)
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1168_pos = $P10."pos"()
+    rx1176_pos = $P10."pos"()
   # rx pass
-    rx1168_cur."!cursor_pass"(rx1168_pos, "infix:sym<&&>")
-    rx1168_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1168_pos)
-    .return (rx1168_cur)
-  rx1168_fail:
-.annotate "line", 422
-    (rx1168_rep, rx1168_pos, $I10, $P10) = rx1168_cur."!mark_fail"(0)
-    lt rx1168_pos, -1, rx1168_done
-    eq rx1168_pos, -1, rx1168_fail
-    jump $I10
-  rx1168_done:
-    rx1168_cur."!cursor_fail"()
-    rx1168_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1168_cur)
+    rx1176_cur."!cursor_pass"(rx1176_pos, "infix:sym<&&>")
+    rx1176_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1176_pos)
+    .return (rx1176_cur)
+  rx1176_fail:
+.annotate 'line', 423
+    (rx1176_rep, rx1176_pos, $I10, $P10) = rx1176_cur."!mark_fail"(0)
+    lt rx1176_pos, -1, rx1176_done
+    eq rx1176_pos, -1, rx1176_fail
+    jump $I10
+  rx1176_done:
+    rx1176_cur."!cursor_fail"()
+    rx1176_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    .return (rx1176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("300_1272816833.94956") :method
-.annotate "line", 422
-    $P1170 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1171, "ResizablePMCArray"
-    push $P1171, $P1170
-    .return ($P1171)
+.sub "!PREFIX__infix:sym<&&>"  :subid("300_1273866379.28103") :method
+.annotate 'line', 423
+    $P1178 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1179, "ResizablePMCArray"
+    push $P1179, $P1178
+    .return ($P1179)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("301_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1175_tgt
-    .local int rx1175_pos
-    .local int rx1175_off
-    .local int rx1175_eos
-    .local int rx1175_rep
-    .local pmc rx1175_cur
-    (rx1175_cur, rx1175_pos, rx1175_tgt) = self."!cursor_start"()
-    rx1175_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1175_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1175_eos, rx1175_tgt
-    set rx1175_off, 0
-    lt rx1175_pos, 2, rx1175_start
-    sub rx1175_off, rx1175_pos, 1
-    substr rx1175_tgt, rx1175_tgt, rx1175_off
-  rx1175_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1179_done
-    goto rxscan1179_scan
-  rxscan1179_loop:
-    ($P10) = rx1175_cur."from"()
-    inc $P10
-    set rx1175_pos, $P10
-    ge rx1175_pos, rx1175_eos, rxscan1179_done
-  rxscan1179_scan:
-    set_addr $I10, rxscan1179_loop
-    rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
-  rxscan1179_done:
-.annotate "line", 508
+.sub "infix:sym<||>"  :subid("301_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1183_tgt
+    .local int rx1183_pos
+    .local int rx1183_off
+    .local int rx1183_eos
+    .local int rx1183_rep
+    .local pmc rx1183_cur
+    (rx1183_cur, rx1183_pos, rx1183_tgt) = self."!cursor_start"()
+    rx1183_cur."!cursor_debug"("START ", "infix:sym<||>")
+    .lex unicode:"$\x{a2}", rx1183_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1183_eos, rx1183_tgt
+    set rx1183_off, 0
+    lt rx1183_pos, 2, rx1183_start
+    sub rx1183_off, rx1183_pos, 1
+    substr rx1183_tgt, rx1183_tgt, rx1183_off
+  rx1183_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1187_done
+    goto rxscan1187_scan
+  rxscan1187_loop:
+    ($P10) = rx1183_cur."from"()
+    inc $P10
+    set rx1183_pos, $P10
+    ge rx1183_pos, rx1183_eos, rxscan1187_done
+  rxscan1187_scan:
+    set_addr $I10, rxscan1187_loop
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
+  rxscan1187_done:
+.annotate 'line', 509
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1180_fail
-    rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
+    set_addr $I10, rxcap_1188_fail
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
   # rx literal  "||"
-    add $I11, rx1175_pos, 2
-    gt $I11, rx1175_eos, rx1175_fail
-    sub $I11, rx1175_pos, rx1175_off
-    substr $S10, rx1175_tgt, $I11, 2
-    ne $S10, "||", rx1175_fail
-    add rx1175_pos, 2
-    set_addr $I10, rxcap_1180_fail
-    ($I12, $I11) = rx1175_cur."!mark_peek"($I10)
-    rx1175_cur."!cursor_pos"($I11)
-    ($P10) = rx1175_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1175_pos, "")
-    rx1175_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1183_pos, 2
+    gt $I11, rx1183_eos, rx1183_fail
+    sub $I11, rx1183_pos, rx1183_off
+    substr $S10, rx1183_tgt, $I11, 2
+    ne $S10, "||", rx1183_fail
+    add rx1183_pos, 2
+    set_addr $I10, rxcap_1188_fail
+    ($I12, $I11) = rx1183_cur."!mark_peek"($I10)
+    rx1183_cur."!cursor_pos"($I11)
+    ($P10) = rx1183_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1183_pos, "")
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1180_done
-  rxcap_1180_fail:
-    goto rx1175_fail
-  rxcap_1180_done:
+    goto rxcap_1188_done
+  rxcap_1188_fail:
+    goto rx1183_fail
+  rxcap_1188_done:
   # rx subrule "O" subtype=capture negate=
-    rx1175_cur."!cursor_pos"(rx1175_pos)
-    $P10 = rx1175_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1175_fail
-    rx1175_cur."!mark_push"(0, -1, 0, $P10)
+    rx1183_cur."!cursor_pos"(rx1183_pos)
+    $P10 = rx1183_cur."O"("%tight_or, :pasttype<unless>")
+    unless $P10, rx1183_fail
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1175_pos = $P10."pos"()
+    rx1183_pos = $P10."pos"()
   # rx pass
-    rx1175_cur."!cursor_pass"(rx1175_pos, "infix:sym<||>")
-    rx1175_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1175_pos)
-    .return (rx1175_cur)
-  rx1175_fail:
-.annotate "line", 422
-    (rx1175_rep, rx1175_pos, $I10, $P10) = rx1175_cur."!mark_fail"(0)
-    lt rx1175_pos, -1, rx1175_done
-    eq rx1175_pos, -1, rx1175_fail
-    jump $I10
-  rx1175_done:
-    rx1175_cur."!cursor_fail"()
-    rx1175_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1175_cur)
+    rx1183_cur."!cursor_pass"(rx1183_pos, "infix:sym<||>")
+    rx1183_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1183_pos)
+    .return (rx1183_cur)
+  rx1183_fail:
+.annotate 'line', 423
+    (rx1183_rep, rx1183_pos, $I10, $P10) = rx1183_cur."!mark_fail"(0)
+    lt rx1183_pos, -1, rx1183_done
+    eq rx1183_pos, -1, rx1183_fail
+    jump $I10
+  rx1183_done:
+    rx1183_cur."!cursor_fail"()
+    rx1183_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
+    .return (rx1183_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("302_1272816833.94956") :method
-.annotate "line", 422
-    $P1177 = self."!PREFIX__!subrule"("O", "||")
-    new $P1178, "ResizablePMCArray"
-    push $P1178, $P1177
-    .return ($P1178)
+.sub "!PREFIX__infix:sym<||>"  :subid("302_1273866379.28103") :method
+.annotate 'line', 423
+    $P1185 = self."!PREFIX__!subrule"("O", "||")
+    new $P1186, "ResizablePMCArray"
+    push $P1186, $P1185
+    .return ($P1186)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("303_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1182_tgt
-    .local int rx1182_pos
-    .local int rx1182_off
-    .local int rx1182_eos
-    .local int rx1182_rep
-    .local pmc rx1182_cur
-    (rx1182_cur, rx1182_pos, rx1182_tgt) = self."!cursor_start"()
-    rx1182_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1182_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1182_eos, rx1182_tgt
-    set rx1182_off, 0
-    lt rx1182_pos, 2, rx1182_start
-    sub rx1182_off, rx1182_pos, 1
-    substr rx1182_tgt, rx1182_tgt, rx1182_off
-  rx1182_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1186_done
-    goto rxscan1186_scan
-  rxscan1186_loop:
-    ($P10) = rx1182_cur."from"()
-    inc $P10
-    set rx1182_pos, $P10
-    ge rx1182_pos, rx1182_eos, rxscan1186_done
-  rxscan1186_scan:
-    set_addr $I10, rxscan1186_loop
-    rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
-  rxscan1186_done:
-.annotate "line", 509
+.sub "infix:sym<//>"  :subid("303_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1190_tgt
+    .local int rx1190_pos
+    .local int rx1190_off
+    .local int rx1190_eos
+    .local int rx1190_rep
+    .local pmc rx1190_cur
+    (rx1190_cur, rx1190_pos, rx1190_tgt) = self."!cursor_start"()
+    rx1190_cur."!cursor_debug"("START ", "infix:sym<//>")
+    .lex unicode:"$\x{a2}", rx1190_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1190_eos, rx1190_tgt
+    set rx1190_off, 0
+    lt rx1190_pos, 2, rx1190_start
+    sub rx1190_off, rx1190_pos, 1
+    substr rx1190_tgt, rx1190_tgt, rx1190_off
+  rx1190_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1194_done
+    goto rxscan1194_scan
+  rxscan1194_loop:
+    ($P10) = rx1190_cur."from"()
+    inc $P10
+    set rx1190_pos, $P10
+    ge rx1190_pos, rx1190_eos, rxscan1194_done
+  rxscan1194_scan:
+    set_addr $I10, rxscan1194_loop
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
+  rxscan1194_done:
+.annotate 'line', 510
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1187_fail
-    rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
+    set_addr $I10, rxcap_1195_fail
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
   # rx literal  "//"
-    add $I11, rx1182_pos, 2
-    gt $I11, rx1182_eos, rx1182_fail
-    sub $I11, rx1182_pos, rx1182_off
-    substr $S10, rx1182_tgt, $I11, 2
-    ne $S10, "//", rx1182_fail
-    add rx1182_pos, 2
-    set_addr $I10, rxcap_1187_fail
-    ($I12, $I11) = rx1182_cur."!mark_peek"($I10)
-    rx1182_cur."!cursor_pos"($I11)
-    ($P10) = rx1182_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1182_pos, "")
-    rx1182_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1190_pos, 2
+    gt $I11, rx1190_eos, rx1190_fail
+    sub $I11, rx1190_pos, rx1190_off
+    substr $S10, rx1190_tgt, $I11, 2
+    ne $S10, "//", rx1190_fail
+    add rx1190_pos, 2
+    set_addr $I10, rxcap_1195_fail
+    ($I12, $I11) = rx1190_cur."!mark_peek"($I10)
+    rx1190_cur."!cursor_pos"($I11)
+    ($P10) = rx1190_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1190_pos, "")
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1187_done
-  rxcap_1187_fail:
-    goto rx1182_fail
-  rxcap_1187_done:
+    goto rxcap_1195_done
+  rxcap_1195_fail:
+    goto rx1190_fail
+  rxcap_1195_done:
   # rx subrule "O" subtype=capture negate=
-    rx1182_cur."!cursor_pos"(rx1182_pos)
-    $P10 = rx1182_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1182_fail
-    rx1182_cur."!mark_push"(0, -1, 0, $P10)
+    rx1190_cur."!cursor_pos"(rx1190_pos)
+    $P10 = rx1190_cur."O"("%tight_or, :pasttype<def_or>")
+    unless $P10, rx1190_fail
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1182_pos = $P10."pos"()
+    rx1190_pos = $P10."pos"()
   # rx pass
-    rx1182_cur."!cursor_pass"(rx1182_pos, "infix:sym<//>")
-    rx1182_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1182_pos)
-    .return (rx1182_cur)
-  rx1182_fail:
-.annotate "line", 422
-    (rx1182_rep, rx1182_pos, $I10, $P10) = rx1182_cur."!mark_fail"(0)
-    lt rx1182_pos, -1, rx1182_done
-    eq rx1182_pos, -1, rx1182_fail
-    jump $I10
-  rx1182_done:
-    rx1182_cur."!cursor_fail"()
-    rx1182_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1182_cur)
+    rx1190_cur."!cursor_pass"(rx1190_pos, "infix:sym<//>")
+    rx1190_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1190_pos)
+    .return (rx1190_cur)
+  rx1190_fail:
+.annotate 'line', 423
+    (rx1190_rep, rx1190_pos, $I10, $P10) = rx1190_cur."!mark_fail"(0)
+    lt rx1190_pos, -1, rx1190_done
+    eq rx1190_pos, -1, rx1190_fail
+    jump $I10
+  rx1190_done:
+    rx1190_cur."!cursor_fail"()
+    rx1190_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    .return (rx1190_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("304_1272816833.94956") :method
-.annotate "line", 422
-    $P1184 = self."!PREFIX__!subrule"("O", "//")
-    new $P1185, "ResizablePMCArray"
-    push $P1185, $P1184
-    .return ($P1185)
+.sub "!PREFIX__infix:sym<//>"  :subid("304_1273866379.28103") :method
+.annotate 'line', 423
+    $P1192 = self."!PREFIX__!subrule"("O", "//")
+    new $P1193, "ResizablePMCArray"
+    push $P1193, $P1192
+    .return ($P1193)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("305_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1189_tgt
-    .local int rx1189_pos
-    .local int rx1189_off
-    .local int rx1189_eos
-    .local int rx1189_rep
-    .local pmc rx1189_cur
-    (rx1189_cur, rx1189_pos, rx1189_tgt) = self."!cursor_start"()
-    rx1189_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1189_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1189_eos, rx1189_tgt
-    set rx1189_off, 0
-    lt rx1189_pos, 2, rx1189_start
-    sub rx1189_off, rx1189_pos, 1
-    substr rx1189_tgt, rx1189_tgt, rx1189_off
-  rx1189_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1193_done
-    goto rxscan1193_scan
-  rxscan1193_loop:
-    ($P10) = rx1189_cur."from"()
-    inc $P10
-    set rx1189_pos, $P10
-    ge rx1189_pos, rx1189_eos, rxscan1193_done
-  rxscan1193_scan:
-    set_addr $I10, rxscan1193_loop
-    rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
-  rxscan1193_done:
-.annotate "line", 512
+.sub "infix:sym<?? !!>"  :subid("305_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1197_tgt
+    .local int rx1197_pos
+    .local int rx1197_off
+    .local int rx1197_eos
+    .local int rx1197_rep
+    .local pmc rx1197_cur
+    (rx1197_cur, rx1197_pos, rx1197_tgt) = self."!cursor_start"()
+    rx1197_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    .lex unicode:"$\x{a2}", rx1197_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1197_eos, rx1197_tgt
+    set rx1197_off, 0
+    lt rx1197_pos, 2, rx1197_start
+    sub rx1197_off, rx1197_pos, 1
+    substr rx1197_tgt, rx1197_tgt, rx1197_off
+  rx1197_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1201_done
+    goto rxscan1201_scan
+  rxscan1201_loop:
+    ($P10) = rx1197_cur."from"()
+    inc $P10
+    set rx1197_pos, $P10
+    ge rx1197_pos, rx1197_eos, rxscan1201_done
+  rxscan1201_scan:
+    set_addr $I10, rxscan1201_loop
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+  rxscan1201_done:
+.annotate 'line', 513
   # rx literal  "??"
-    add $I11, rx1189_pos, 2
-    gt $I11, rx1189_eos, rx1189_fail
-    sub $I11, rx1189_pos, rx1189_off
-    substr $S10, rx1189_tgt, $I11, 2
-    ne $S10, "??", rx1189_fail
-    add rx1189_pos, 2
-.annotate "line", 513
-  # rx subrule "ws" subtype=method negate=
-    rx1189_cur."!cursor_pos"(rx1189_pos)
-    $P10 = rx1189_cur."ws"()
-    unless $P10, rx1189_fail
-    rx1189_pos = $P10."pos"()
-.annotate "line", 514
+    add $I11, rx1197_pos, 2
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 2
+    ne $S10, "??", rx1197_fail
+    add rx1197_pos, 2
+.annotate 'line', 514
+  # rx subrule "ws" subtype=method negate=
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."ws"()
+    unless $P10, rx1197_fail
+    rx1197_pos = $P10."pos"()
+.annotate 'line', 515
   # rx subrule "EXPR" subtype=capture negate=
-    rx1189_cur."!cursor_pos"(rx1189_pos)
-    $P10 = rx1189_cur."EXPR"("i=")
-    unless $P10, rx1189_fail
-    rx1189_cur."!mark_push"(0, -1, 0, $P10)
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."EXPR"("i=")
+    unless $P10, rx1197_fail
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx1189_pos = $P10."pos"()
-.annotate "line", 515
+    rx1197_pos = $P10."pos"()
+.annotate 'line', 516
   # rx literal  "!!"
-    add $I11, rx1189_pos, 2
-    gt $I11, rx1189_eos, rx1189_fail
-    sub $I11, rx1189_pos, rx1189_off
-    substr $S10, rx1189_tgt, $I11, 2
-    ne $S10, "!!", rx1189_fail
-    add rx1189_pos, 2
-.annotate "line", 516
+    add $I11, rx1197_pos, 2
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 2
+    ne $S10, "!!", rx1197_fail
+    add rx1197_pos, 2
+.annotate 'line', 517
   # rx subrule "O" subtype=capture negate=
-    rx1189_cur."!cursor_pos"(rx1189_pos)
-    $P10 = rx1189_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1189_fail
-    rx1189_cur."!mark_push"(0, -1, 0, $P10)
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    unless $P10, rx1197_fail
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1189_pos = $P10."pos"()
-.annotate "line", 511
+    rx1197_pos = $P10."pos"()
+.annotate 'line', 512
   # rx pass
-    rx1189_cur."!cursor_pass"(rx1189_pos, "infix:sym<?? !!>")
-    rx1189_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1189_pos)
-    .return (rx1189_cur)
-  rx1189_fail:
-.annotate "line", 422
-    (rx1189_rep, rx1189_pos, $I10, $P10) = rx1189_cur."!mark_fail"(0)
-    lt rx1189_pos, -1, rx1189_done
-    eq rx1189_pos, -1, rx1189_fail
-    jump $I10
-  rx1189_done:
-    rx1189_cur."!cursor_fail"()
-    rx1189_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1189_cur)
+    rx1197_cur."!cursor_pass"(rx1197_pos, "infix:sym<?? !!>")
+    rx1197_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1197_pos)
+    .return (rx1197_cur)
+  rx1197_fail:
+.annotate 'line', 423
+    (rx1197_rep, rx1197_pos, $I10, $P10) = rx1197_cur."!mark_fail"(0)
+    lt rx1197_pos, -1, rx1197_done
+    eq rx1197_pos, -1, rx1197_fail
+    jump $I10
+  rx1197_done:
+    rx1197_cur."!cursor_fail"()
+    rx1197_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    .return (rx1197_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("306_1272816833.94956") :method
-.annotate "line", 422
-    $P1191 = self."!PREFIX__!subrule"("", "??")
-    new $P1192, "ResizablePMCArray"
-    push $P1192, $P1191
-    .return ($P1192)
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("306_1273866379.28103") :method
+.annotate 'line', 423
+    $P1199 = self."!PREFIX__!subrule"("", "??")
+    new $P1200, "ResizablePMCArray"
+    push $P1200, $P1199
+    .return ($P1200)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("307_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1195_tgt
-    .local int rx1195_pos
-    .local int rx1195_off
-    .local int rx1195_eos
-    .local int rx1195_rep
-    .local pmc rx1195_cur
-    (rx1195_cur, rx1195_pos, rx1195_tgt) = self."!cursor_start"()
-    rx1195_cur."!cursor_debug"("START ", "infix:sym<=>")
-    .lex unicode:"$\x{a2}", rx1195_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1195_eos, rx1195_tgt
-    set rx1195_off, 0
-    lt rx1195_pos, 2, rx1195_start
-    sub rx1195_off, rx1195_pos, 1
-    substr rx1195_tgt, rx1195_tgt, rx1195_off
-  rx1195_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1199_done
-    goto rxscan1199_scan
-  rxscan1199_loop:
-    ($P10) = rx1195_cur."from"()
-    inc $P10
-    set rx1195_pos, $P10
-    ge rx1195_pos, rx1195_eos, rxscan1199_done
-  rxscan1199_scan:
-    set_addr $I10, rxscan1199_loop
-    rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
-  rxscan1199_done:
-.annotate "line", 520
+.sub "infix:sym<=>"  :subid("307_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1203_tgt
+    .local int rx1203_pos
+    .local int rx1203_off
+    .local int rx1203_eos
+    .local int rx1203_rep
+    .local pmc rx1203_cur
+    (rx1203_cur, rx1203_pos, rx1203_tgt) = self."!cursor_start"()
+    rx1203_cur."!cursor_debug"("START ", "infix:sym<=>")
+    .lex unicode:"$\x{a2}", rx1203_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1203_eos, rx1203_tgt
+    set rx1203_off, 0
+    lt rx1203_pos, 2, rx1203_start
+    sub rx1203_off, rx1203_pos, 1
+    substr rx1203_tgt, rx1203_tgt, rx1203_off
+  rx1203_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1207_done
+    goto rxscan1207_scan
+  rxscan1207_loop:
+    ($P10) = rx1203_cur."from"()
+    inc $P10
+    set rx1203_pos, $P10
+    ge rx1203_pos, rx1203_eos, rxscan1207_done
+  rxscan1207_scan:
+    set_addr $I10, rxscan1207_loop
+    rx1203_cur."!mark_push"(0, rx1203_pos, $I10)
+  rxscan1207_done:
+.annotate 'line', 521
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1200_fail
-    rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
+    set_addr $I10, rxcap_1208_fail
+    rx1203_cur."!mark_push"(0, rx1203_pos, $I10)
   # rx literal  "="
-    add $I11, rx1195_pos, 1
-    gt $I11, rx1195_eos, rx1195_fail
-    sub $I11, rx1195_pos, rx1195_off
-    substr $S10, rx1195_tgt, $I11, 1
-    ne $S10, "=", rx1195_fail
-    add rx1195_pos, 1
-    set_addr $I10, rxcap_1200_fail
-    ($I12, $I11) = rx1195_cur."!mark_peek"($I10)
-    rx1195_cur."!cursor_pos"($I11)
-    ($P10) = rx1195_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1195_pos, "")
-    rx1195_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1203_pos, 1
+    gt $I11, rx1203_eos, rx1203_fail
+    sub $I11, rx1203_pos, rx1203_off
+    substr $S10, rx1203_tgt, $I11, 1
+    ne $S10, "=", rx1203_fail
+    add rx1203_pos, 1
+    set_addr $I10, rxcap_1208_fail
+    ($I12, $I11) = rx1203_cur."!mark_peek"($I10)
+    rx1203_cur."!cursor_pos"($I11)
+    ($P10) = rx1203_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1203_pos, "")
+    rx1203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1200_done
-  rxcap_1200_fail:
-    goto rx1195_fail
-  rxcap_1200_done:
+    goto rxcap_1208_done
+  rxcap_1208_fail:
+    goto rx1203_fail
+  rxcap_1208_done:
   # rx subrule "panic" subtype=method negate=
-    rx1195_cur."!cursor_pos"(rx1195_pos)
-    $P10 = rx1195_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
-    unless $P10, rx1195_fail
-    rx1195_pos = $P10."pos"()
-.annotate "line", 519
-  # rx pass
-    rx1195_cur."!cursor_pass"(rx1195_pos, "infix:sym<=>")
-    rx1195_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1195_pos)
-    .return (rx1195_cur)
-  rx1195_fail:
-.annotate "line", 422
-    (rx1195_rep, rx1195_pos, $I10, $P10) = rx1195_cur."!mark_fail"(0)
-    lt rx1195_pos, -1, rx1195_done
-    eq rx1195_pos, -1, rx1195_fail
-    jump $I10
-  rx1195_done:
-    rx1195_cur."!cursor_fail"()
-    rx1195_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
-    .return (rx1195_cur)
+    rx1203_cur."!cursor_pos"(rx1203_pos)
+    $P10 = rx1203_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    unless $P10, rx1203_fail
+    rx1203_pos = $P10."pos"()
+.annotate 'line', 520
+  # rx pass
+    rx1203_cur."!cursor_pass"(rx1203_pos, "infix:sym<=>")
+    rx1203_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1203_pos)
+    .return (rx1203_cur)
+  rx1203_fail:
+.annotate 'line', 423
+    (rx1203_rep, rx1203_pos, $I10, $P10) = rx1203_cur."!mark_fail"(0)
+    lt rx1203_pos, -1, rx1203_done
+    eq rx1203_pos, -1, rx1203_fail
+    jump $I10
+  rx1203_done:
+    rx1203_cur."!cursor_fail"()
+    rx1203_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    .return (rx1203_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("308_1272816833.94956") :method
-.annotate "line", 422
-    $P1197 = self."!PREFIX__!subrule"("", "=")
-    new $P1198, "ResizablePMCArray"
-    push $P1198, $P1197
-    .return ($P1198)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("309_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1202_tgt
-    .local int rx1202_pos
-    .local int rx1202_off
-    .local int rx1202_eos
-    .local int rx1202_rep
-    .local pmc rx1202_cur
-    (rx1202_cur, rx1202_pos, rx1202_tgt) = self."!cursor_start"()
-    rx1202_cur."!cursor_debug"("START ", "infix:sym<:=>")
-    .lex unicode:"$\x{a2}", rx1202_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1202_eos, rx1202_tgt
-    set rx1202_off, 0
-    lt rx1202_pos, 2, rx1202_start
-    sub rx1202_off, rx1202_pos, 1
-    substr rx1202_tgt, rx1202_tgt, rx1202_off
-  rx1202_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1206_done
-    goto rxscan1206_scan
-  rxscan1206_loop:
-    ($P10) = rx1202_cur."from"()
-    inc $P10
-    set rx1202_pos, $P10
-    ge rx1202_pos, rx1202_eos, rxscan1206_done
-  rxscan1206_scan:
-    set_addr $I10, rxscan1206_loop
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
-  rxscan1206_done:
-.annotate "line", 522
+.sub "!PREFIX__infix:sym<=>"  :subid("308_1273866379.28103") :method
+.annotate 'line', 423
+    $P1205 = self."!PREFIX__!subrule"("", "=")
+    new $P1206, "ResizablePMCArray"
+    push $P1206, $P1205
+    .return ($P1206)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "infix:sym<:=>"  :subid("309_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1210_tgt
+    .local int rx1210_pos
+    .local int rx1210_off
+    .local int rx1210_eos
+    .local int rx1210_rep
+    .local pmc rx1210_cur
+    (rx1210_cur, rx1210_pos, rx1210_tgt) = self."!cursor_start"()
+    rx1210_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    .lex unicode:"$\x{a2}", rx1210_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1210_eos, rx1210_tgt
+    set rx1210_off, 0
+    lt rx1210_pos, 2, rx1210_start
+    sub rx1210_off, rx1210_pos, 1
+    substr rx1210_tgt, rx1210_tgt, rx1210_off
+  rx1210_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1214_done
+    goto rxscan1214_scan
+  rxscan1214_loop:
+    ($P10) = rx1210_cur."from"()
+    inc $P10
+    set rx1210_pos, $P10
+    ge rx1210_pos, rx1210_eos, rxscan1214_done
+  rxscan1214_scan:
+    set_addr $I10, rxscan1214_loop
+    rx1210_cur."!mark_push"(0, rx1210_pos, $I10)
+  rxscan1214_done:
+.annotate 'line', 523
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1207_fail
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
+    set_addr $I10, rxcap_1215_fail
+    rx1210_cur."!mark_push"(0, rx1210_pos, $I10)
   # rx literal  ":="
-    add $I11, rx1202_pos, 2
-    gt $I11, rx1202_eos, rx1202_fail
-    sub $I11, rx1202_pos, rx1202_off
-    substr $S10, rx1202_tgt, $I11, 2
-    ne $S10, ":=", rx1202_fail
-    add rx1202_pos, 2
-    set_addr $I10, rxcap_1207_fail
-    ($I12, $I11) = rx1202_cur."!mark_peek"($I10)
-    rx1202_cur."!cursor_pos"($I11)
-    ($P10) = rx1202_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1202_pos, "")
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1210_pos, 2
+    gt $I11, rx1210_eos, rx1210_fail
+    sub $I11, rx1210_pos, rx1210_off
+    substr $S10, rx1210_tgt, $I11, 2
+    ne $S10, ":=", rx1210_fail
+    add rx1210_pos, 2
+    set_addr $I10, rxcap_1215_fail
+    ($I12, $I11) = rx1210_cur."!mark_peek"($I10)
+    rx1210_cur."!cursor_pos"($I11)
+    ($P10) = rx1210_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1210_pos, "")
+    rx1210_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1207_done
-  rxcap_1207_fail:
-    goto rx1202_fail
-  rxcap_1207_done:
+    goto rxcap_1215_done
+  rxcap_1215_fail:
+    goto rx1210_fail
+  rxcap_1215_done:
   # rx subrule "O" subtype=capture negate=
-    rx1202_cur."!cursor_pos"(rx1202_pos)
-    $P10 = rx1202_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1202_fail
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    rx1210_cur."!cursor_pos"(rx1210_pos)
+    $P10 = rx1210_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1210_fail
+    rx1210_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1202_pos = $P10."pos"()
+    rx1210_pos = $P10."pos"()
   # rx pass
-    rx1202_cur."!cursor_pass"(rx1202_pos, "infix:sym<:=>")
-    rx1202_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1202_pos)
-    .return (rx1202_cur)
-  rx1202_fail:
-.annotate "line", 422
-    (rx1202_rep, rx1202_pos, $I10, $P10) = rx1202_cur."!mark_fail"(0)
-    lt rx1202_pos, -1, rx1202_done
-    eq rx1202_pos, -1, rx1202_fail
-    jump $I10
-  rx1202_done:
-    rx1202_cur."!cursor_fail"()
-    rx1202_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
-    .return (rx1202_cur)
+    rx1210_cur."!cursor_pass"(rx1210_pos, "infix:sym<:=>")
+    rx1210_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1210_pos)
+    .return (rx1210_cur)
+  rx1210_fail:
+.annotate 'line', 423
+    (rx1210_rep, rx1210_pos, $I10, $P10) = rx1210_cur."!mark_fail"(0)
+    lt rx1210_pos, -1, rx1210_done
+    eq rx1210_pos, -1, rx1210_fail
+    jump $I10
+  rx1210_done:
+    rx1210_cur."!cursor_fail"()
+    rx1210_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    .return (rx1210_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("310_1272816833.94956") :method
-.annotate "line", 422
-    $P1204 = self."!PREFIX__!subrule"("O", ":=")
-    new $P1205, "ResizablePMCArray"
-    push $P1205, $P1204
-    .return ($P1205)
+.sub "!PREFIX__infix:sym<:=>"  :subid("310_1273866379.28103") :method
+.annotate 'line', 423
+    $P1212 = self."!PREFIX__!subrule"("O", ":=")
+    new $P1213, "ResizablePMCArray"
+    push $P1213, $P1212
+    .return ($P1213)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("311_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1209_tgt
-    .local int rx1209_pos
-    .local int rx1209_off
-    .local int rx1209_eos
-    .local int rx1209_rep
-    .local pmc rx1209_cur
-    (rx1209_cur, rx1209_pos, rx1209_tgt) = self."!cursor_start"()
-    rx1209_cur."!cursor_debug"("START ", "infix:sym<::=>")
-    .lex unicode:"$\x{a2}", rx1209_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1209_eos, rx1209_tgt
-    set rx1209_off, 0
-    lt rx1209_pos, 2, rx1209_start
-    sub rx1209_off, rx1209_pos, 1
-    substr rx1209_tgt, rx1209_tgt, rx1209_off
-  rx1209_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1213_done
-    goto rxscan1213_scan
-  rxscan1213_loop:
-    ($P10) = rx1209_cur."from"()
-    inc $P10
-    set rx1209_pos, $P10
-    ge rx1209_pos, rx1209_eos, rxscan1213_done
-  rxscan1213_scan:
-    set_addr $I10, rxscan1213_loop
-    rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
-  rxscan1213_done:
-.annotate "line", 523
+.sub "infix:sym<::=>"  :subid("311_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1217_tgt
+    .local int rx1217_pos
+    .local int rx1217_off
+    .local int rx1217_eos
+    .local int rx1217_rep
+    .local pmc rx1217_cur
+    (rx1217_cur, rx1217_pos, rx1217_tgt) = self."!cursor_start"()
+    rx1217_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    .lex unicode:"$\x{a2}", rx1217_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1217_eos, rx1217_tgt
+    set rx1217_off, 0
+    lt rx1217_pos, 2, rx1217_start
+    sub rx1217_off, rx1217_pos, 1
+    substr rx1217_tgt, rx1217_tgt, rx1217_off
+  rx1217_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1221_done
+    goto rxscan1221_scan
+  rxscan1221_loop:
+    ($P10) = rx1217_cur."from"()
+    inc $P10
+    set rx1217_pos, $P10
+    ge rx1217_pos, rx1217_eos, rxscan1221_done
+  rxscan1221_scan:
+    set_addr $I10, rxscan1221_loop
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
+  rxscan1221_done:
+.annotate 'line', 524
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1214_fail
-    rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
+    set_addr $I10, rxcap_1222_fail
+    rx1217_cur."!mark_push"(0, rx1217_pos, $I10)
   # rx literal  "::="
-    add $I11, rx1209_pos, 3
-    gt $I11, rx1209_eos, rx1209_fail
-    sub $I11, rx1209_pos, rx1209_off
-    substr $S10, rx1209_tgt, $I11, 3
-    ne $S10, "::=", rx1209_fail
-    add rx1209_pos, 3
-    set_addr $I10, rxcap_1214_fail
-    ($I12, $I11) = rx1209_cur."!mark_peek"($I10)
-    rx1209_cur."!cursor_pos"($I11)
-    ($P10) = rx1209_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1209_pos, "")
-    rx1209_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1217_pos, 3
+    gt $I11, rx1217_eos, rx1217_fail
+    sub $I11, rx1217_pos, rx1217_off
+    substr $S10, rx1217_tgt, $I11, 3
+    ne $S10, "::=", rx1217_fail
+    add rx1217_pos, 3
+    set_addr $I10, rxcap_1222_fail
+    ($I12, $I11) = rx1217_cur."!mark_peek"($I10)
+    rx1217_cur."!cursor_pos"($I11)
+    ($P10) = rx1217_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1217_pos, "")
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1214_done
-  rxcap_1214_fail:
-    goto rx1209_fail
-  rxcap_1214_done:
+    goto rxcap_1222_done
+  rxcap_1222_fail:
+    goto rx1217_fail
+  rxcap_1222_done:
   # rx subrule "O" subtype=capture negate=
-    rx1209_cur."!cursor_pos"(rx1209_pos)
-    $P10 = rx1209_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1209_fail
-    rx1209_cur."!mark_push"(0, -1, 0, $P10)
+    rx1217_cur."!cursor_pos"(rx1217_pos)
+    $P10 = rx1217_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1217_fail
+    rx1217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1209_pos = $P10."pos"()
+    rx1217_pos = $P10."pos"()
   # rx pass
-    rx1209_cur."!cursor_pass"(rx1209_pos, "infix:sym<::=>")
-    rx1209_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1209_pos)
-    .return (rx1209_cur)
-  rx1209_fail:
-.annotate "line", 422
-    (rx1209_rep, rx1209_pos, $I10, $P10) = rx1209_cur."!mark_fail"(0)
-    lt rx1209_pos, -1, rx1209_done
-    eq rx1209_pos, -1, rx1209_fail
-    jump $I10
-  rx1209_done:
-    rx1209_cur."!cursor_fail"()
-    rx1209_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
-    .return (rx1209_cur)
+    rx1217_cur."!cursor_pass"(rx1217_pos, "infix:sym<::=>")
+    rx1217_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1217_pos)
+    .return (rx1217_cur)
+  rx1217_fail:
+.annotate 'line', 423
+    (rx1217_rep, rx1217_pos, $I10, $P10) = rx1217_cur."!mark_fail"(0)
+    lt rx1217_pos, -1, rx1217_done
+    eq rx1217_pos, -1, rx1217_fail
+    jump $I10
+  rx1217_done:
+    rx1217_cur."!cursor_fail"()
+    rx1217_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    .return (rx1217_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("312_1272816833.94956") :method
-.annotate "line", 422
-    $P1211 = self."!PREFIX__!subrule"("O", "::=")
-    new $P1212, "ResizablePMCArray"
-    push $P1212, $P1211
-    .return ($P1212)
+.sub "!PREFIX__infix:sym<::=>"  :subid("312_1273866379.28103") :method
+.annotate 'line', 423
+    $P1219 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1220, "ResizablePMCArray"
+    push $P1220, $P1219
+    .return ($P1220)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("313_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1216_tgt
-    .local int rx1216_pos
-    .local int rx1216_off
-    .local int rx1216_eos
-    .local int rx1216_rep
-    .local pmc rx1216_cur
-    (rx1216_cur, rx1216_pos, rx1216_tgt) = self."!cursor_start"()
-    rx1216_cur."!cursor_debug"("START ", "infix:sym<,>")
-    .lex unicode:"$\x{a2}", rx1216_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1216_eos, rx1216_tgt
-    set rx1216_off, 0
-    lt rx1216_pos, 2, rx1216_start
-    sub rx1216_off, rx1216_pos, 1
-    substr rx1216_tgt, rx1216_tgt, rx1216_off
-  rx1216_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1220_done
-    goto rxscan1220_scan
-  rxscan1220_loop:
-    ($P10) = rx1216_cur."from"()
-    inc $P10
-    set rx1216_pos, $P10
-    ge rx1216_pos, rx1216_eos, rxscan1220_done
-  rxscan1220_scan:
-    set_addr $I10, rxscan1220_loop
-    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
-  rxscan1220_done:
-.annotate "line", 525
+.sub "infix:sym<,>"  :subid("313_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1224_tgt
+    .local int rx1224_pos
+    .local int rx1224_off
+    .local int rx1224_eos
+    .local int rx1224_rep
+    .local pmc rx1224_cur
+    (rx1224_cur, rx1224_pos, rx1224_tgt) = self."!cursor_start"()
+    rx1224_cur."!cursor_debug"("START ", "infix:sym<,>")
+    .lex unicode:"$\x{a2}", rx1224_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1224_eos, rx1224_tgt
+    set rx1224_off, 0
+    lt rx1224_pos, 2, rx1224_start
+    sub rx1224_off, rx1224_pos, 1
+    substr rx1224_tgt, rx1224_tgt, rx1224_off
+  rx1224_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1228_done
+    goto rxscan1228_scan
+  rxscan1228_loop:
+    ($P10) = rx1224_cur."from"()
+    inc $P10
+    set rx1224_pos, $P10
+    ge rx1224_pos, rx1224_eos, rxscan1228_done
+  rxscan1228_scan:
+    set_addr $I10, rxscan1228_loop
+    rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
+  rxscan1228_done:
+.annotate 'line', 526
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1221_fail
-    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
+    set_addr $I10, rxcap_1229_fail
+    rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
   # rx literal  ","
-    add $I11, rx1216_pos, 1
-    gt $I11, rx1216_eos, rx1216_fail
-    sub $I11, rx1216_pos, rx1216_off
-    substr $S10, rx1216_tgt, $I11, 1
-    ne $S10, ",", rx1216_fail
-    add rx1216_pos, 1
-    set_addr $I10, rxcap_1221_fail
-    ($I12, $I11) = rx1216_cur."!mark_peek"($I10)
-    rx1216_cur."!cursor_pos"($I11)
-    ($P10) = rx1216_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1216_pos, "")
-    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1224_pos, 1
+    gt $I11, rx1224_eos, rx1224_fail
+    sub $I11, rx1224_pos, rx1224_off
+    substr $S10, rx1224_tgt, $I11, 1
+    ne $S10, ",", rx1224_fail
+    add rx1224_pos, 1
+    set_addr $I10, rxcap_1229_fail
+    ($I12, $I11) = rx1224_cur."!mark_peek"($I10)
+    rx1224_cur."!cursor_pos"($I11)
+    ($P10) = rx1224_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1224_pos, "")
+    rx1224_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1221_done
-  rxcap_1221_fail:
-    goto rx1216_fail
-  rxcap_1221_done:
+    goto rxcap_1229_done
+  rxcap_1229_fail:
+    goto rx1224_fail
+  rxcap_1229_done:
   # rx subrule "O" subtype=capture negate=
-    rx1216_cur."!cursor_pos"(rx1216_pos)
-    $P10 = rx1216_cur."O"("%comma, :pasttype<list>")
-    unless $P10, rx1216_fail
-    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    rx1224_cur."!cursor_pos"(rx1224_pos)
+    $P10 = rx1224_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1224_fail
+    rx1224_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1216_pos = $P10."pos"()
+    rx1224_pos = $P10."pos"()
   # rx pass
-    rx1216_cur."!cursor_pass"(rx1216_pos, "infix:sym<,>")
-    rx1216_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1216_pos)
-    .return (rx1216_cur)
-  rx1216_fail:
-.annotate "line", 422
-    (rx1216_rep, rx1216_pos, $I10, $P10) = rx1216_cur."!mark_fail"(0)
-    lt rx1216_pos, -1, rx1216_done
-    eq rx1216_pos, -1, rx1216_fail
-    jump $I10
-  rx1216_done:
-    rx1216_cur."!cursor_fail"()
-    rx1216_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
-    .return (rx1216_cur)
+    rx1224_cur."!cursor_pass"(rx1224_pos, "infix:sym<,>")
+    rx1224_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1224_pos)
+    .return (rx1224_cur)
+  rx1224_fail:
+.annotate 'line', 423
+    (rx1224_rep, rx1224_pos, $I10, $P10) = rx1224_cur."!mark_fail"(0)
+    lt rx1224_pos, -1, rx1224_done
+    eq rx1224_pos, -1, rx1224_fail
+    jump $I10
+  rx1224_done:
+    rx1224_cur."!cursor_fail"()
+    rx1224_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1224_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("314_1272816833.94956") :method
-.annotate "line", 422
-    $P1218 = self."!PREFIX__!subrule"("O", ",")
-    new $P1219, "ResizablePMCArray"
-    push $P1219, $P1218
-    .return ($P1219)
+.sub "!PREFIX__infix:sym<,>"  :subid("314_1273866379.28103") :method
+.annotate 'line', 423
+    $P1226 = self."!PREFIX__!subrule"("O", ",")
+    new $P1227, "ResizablePMCArray"
+    push $P1227, $P1226
+    .return ($P1227)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("315_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1223_tgt
-    .local int rx1223_pos
-    .local int rx1223_off
-    .local int rx1223_eos
-    .local int rx1223_rep
-    .local pmc rx1223_cur
-    (rx1223_cur, rx1223_pos, rx1223_tgt) = self."!cursor_start"()
-    rx1223_cur."!cursor_debug"("START ", "prefix:sym<return>")
-    .lex unicode:"$\x{a2}", rx1223_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1223_eos, rx1223_tgt
-    set rx1223_off, 0
-    lt rx1223_pos, 2, rx1223_start
-    sub rx1223_off, rx1223_pos, 1
-    substr rx1223_tgt, rx1223_tgt, rx1223_off
-  rx1223_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1226_done
-    goto rxscan1226_scan
-  rxscan1226_loop:
-    ($P10) = rx1223_cur."from"()
-    inc $P10
-    set rx1223_pos, $P10
-    ge rx1223_pos, rx1223_eos, rxscan1226_done
-  rxscan1226_scan:
-    set_addr $I10, rxscan1226_loop
-    rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
-  rxscan1226_done:
-.annotate "line", 527
+.sub "prefix:sym<return>"  :subid("315_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1231_tgt
+    .local int rx1231_pos
+    .local int rx1231_off
+    .local int rx1231_eos
+    .local int rx1231_rep
+    .local pmc rx1231_cur
+    (rx1231_cur, rx1231_pos, rx1231_tgt) = self."!cursor_start"()
+    rx1231_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    .lex unicode:"$\x{a2}", rx1231_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1231_eos, rx1231_tgt
+    set rx1231_off, 0
+    lt rx1231_pos, 2, rx1231_start
+    sub rx1231_off, rx1231_pos, 1
+    substr rx1231_tgt, rx1231_tgt, rx1231_off
+  rx1231_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1234_done
+    goto rxscan1234_scan
+  rxscan1234_loop:
+    ($P10) = rx1231_cur."from"()
+    inc $P10
+    set rx1231_pos, $P10
+    ge rx1231_pos, rx1231_eos, rxscan1234_done
+  rxscan1234_scan:
+    set_addr $I10, rxscan1234_loop
+    rx1231_cur."!mark_push"(0, rx1231_pos, $I10)
+  rxscan1234_done:
+.annotate 'line', 528
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1227_fail
-    rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
+    set_addr $I10, rxcap_1235_fail
+    rx1231_cur."!mark_push"(0, rx1231_pos, $I10)
   # rx literal  "return"
-    add $I11, rx1223_pos, 6
-    gt $I11, rx1223_eos, rx1223_fail
-    sub $I11, rx1223_pos, rx1223_off
-    substr $S10, rx1223_tgt, $I11, 6
-    ne $S10, "return", rx1223_fail
-    add rx1223_pos, 6
-    set_addr $I10, rxcap_1227_fail
-    ($I12, $I11) = rx1223_cur."!mark_peek"($I10)
-    rx1223_cur."!cursor_pos"($I11)
-    ($P10) = rx1223_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1223_pos, "")
-    rx1223_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1231_pos, 6
+    gt $I11, rx1231_eos, rx1231_fail
+    sub $I11, rx1231_pos, rx1231_off
+    substr $S10, rx1231_tgt, $I11, 6
+    ne $S10, "return", rx1231_fail
+    add rx1231_pos, 6
+    set_addr $I10, rxcap_1235_fail
+    ($I12, $I11) = rx1231_cur."!mark_peek"($I10)
+    rx1231_cur."!cursor_pos"($I11)
+    ($P10) = rx1231_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1231_pos, "")
+    rx1231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1227_done
-  rxcap_1227_fail:
-    goto rx1223_fail
-  rxcap_1227_done:
+    goto rxcap_1235_done
+  rxcap_1235_fail:
+    goto rx1231_fail
+  rxcap_1235_done:
   # rx charclass s
-    ge rx1223_pos, rx1223_eos, rx1223_fail
-    sub $I10, rx1223_pos, rx1223_off
-    is_cclass $I11, 32, rx1223_tgt, $I10
-    unless $I11, rx1223_fail
-    inc rx1223_pos
+    ge rx1231_pos, rx1231_eos, rx1231_fail
+    sub $I10, rx1231_pos, rx1231_off
+    is_cclass $I11, 32, rx1231_tgt, $I10
+    unless $I11, rx1231_fail
+    inc rx1231_pos
   # rx subrule "O" subtype=capture negate=
-    rx1223_cur."!cursor_pos"(rx1223_pos)
-    $P10 = rx1223_cur."O"("%list_prefix, :pasttype<return>")
-    unless $P10, rx1223_fail
-    rx1223_cur."!mark_push"(0, -1, 0, $P10)
+    rx1231_cur."!cursor_pos"(rx1231_pos)
+    $P10 = rx1231_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1231_fail
+    rx1231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1223_pos = $P10."pos"()
+    rx1231_pos = $P10."pos"()
   # rx pass
-    rx1223_cur."!cursor_pass"(rx1223_pos, "prefix:sym<return>")
-    rx1223_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1223_pos)
-    .return (rx1223_cur)
-  rx1223_fail:
-.annotate "line", 422
-    (rx1223_rep, rx1223_pos, $I10, $P10) = rx1223_cur."!mark_fail"(0)
-    lt rx1223_pos, -1, rx1223_done
-    eq rx1223_pos, -1, rx1223_fail
-    jump $I10
-  rx1223_done:
-    rx1223_cur."!cursor_fail"()
-    rx1223_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
-    .return (rx1223_cur)
+    rx1231_cur."!cursor_pass"(rx1231_pos, "prefix:sym<return>")
+    rx1231_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1231_pos)
+    .return (rx1231_cur)
+  rx1231_fail:
+.annotate 'line', 423
+    (rx1231_rep, rx1231_pos, $I10, $P10) = rx1231_cur."!mark_fail"(0)
+    lt rx1231_pos, -1, rx1231_done
+    eq rx1231_pos, -1, rx1231_fail
+    jump $I10
+  rx1231_done:
+    rx1231_cur."!cursor_fail"()
+    rx1231_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    .return (rx1231_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("316_1272816833.94956") :method
-.annotate "line", 422
-    new $P1225, "ResizablePMCArray"
-    push $P1225, "return"
-    .return ($P1225)
+.sub "!PREFIX__prefix:sym<return>"  :subid("316_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1233, "ResizablePMCArray"
+    push $P1233, "return"
+    .return ($P1233)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("317_1272816833.94956") :method :outer("11_1272816833.94956")
-.annotate "line", 422
-    .local string rx1229_tgt
-    .local int rx1229_pos
-    .local int rx1229_off
-    .local int rx1229_eos
-    .local int rx1229_rep
-    .local pmc rx1229_cur
-    (rx1229_cur, rx1229_pos, rx1229_tgt) = self."!cursor_start"()
-    rx1229_cur."!cursor_debug"("START ", "prefix:sym<make>")
-    .lex unicode:"$\x{a2}", rx1229_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1229_eos, rx1229_tgt
-    set rx1229_off, 0
-    lt rx1229_pos, 2, rx1229_start
-    sub rx1229_off, rx1229_pos, 1
-    substr rx1229_tgt, rx1229_tgt, rx1229_off
-  rx1229_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1232_done
-    goto rxscan1232_scan
-  rxscan1232_loop:
-    ($P10) = rx1229_cur."from"()
-    inc $P10
-    set rx1229_pos, $P10
-    ge rx1229_pos, rx1229_eos, rxscan1232_done
-  rxscan1232_scan:
-    set_addr $I10, rxscan1232_loop
-    rx1229_cur."!mark_push"(0, rx1229_pos, $I10)
-  rxscan1232_done:
-.annotate "line", 528
+.sub "prefix:sym<make>"  :subid("317_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1237_tgt
+    .local int rx1237_pos
+    .local int rx1237_off
+    .local int rx1237_eos
+    .local int rx1237_rep
+    .local pmc rx1237_cur
+    (rx1237_cur, rx1237_pos, rx1237_tgt) = self."!cursor_start"()
+    rx1237_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1237_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1237_eos, rx1237_tgt
+    set rx1237_off, 0
+    lt rx1237_pos, 2, rx1237_start
+    sub rx1237_off, rx1237_pos, 1
+    substr rx1237_tgt, rx1237_tgt, rx1237_off
+  rx1237_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1240_done
+    goto rxscan1240_scan
+  rxscan1240_loop:
+    ($P10) = rx1237_cur."from"()
+    inc $P10
+    set rx1237_pos, $P10
+    ge rx1237_pos, rx1237_eos, rxscan1240_done
+  rxscan1240_scan:
+    set_addr $I10, rxscan1240_loop
+    rx1237_cur."!mark_push"(0, rx1237_pos, $I10)
+  rxscan1240_done:
+.annotate 'line', 529
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1233_fail
-    rx1229_cur."!mark_push"(0, rx1229_pos, $I10)
+    set_addr $I10, rxcap_1241_fail
+    rx1237_cur."!mark_push"(0, rx1237_pos, $I10)
   # rx literal  "make"
-    add $I11, rx1229_pos, 4
-    gt $I11, rx1229_eos, rx1229_fail
-    sub $I11, rx1229_pos, rx1229_off
-    substr $S10, rx1229_tgt, $I11, 4
-    ne $S10, "make", rx1229_fail
-    add rx1229_pos, 4
-    set_addr $I10, rxcap_1233_fail
-    ($I12, $I11) = rx1229_cur."!mark_peek"($I10)
-    rx1229_cur."!cursor_pos"($I11)
-    ($P10) = rx1229_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1229_pos, "")
-    rx1229_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1237_pos, 4
+    gt $I11, rx1237_eos, rx1237_fail
+    sub $I11, rx1237_pos, rx1237_off
+    substr $S10, rx1237_tgt, $I11, 4
+    ne $S10, "make", rx1237_fail
+    add rx1237_pos, 4
+    set_addr $I10, rxcap_1241_fail
+    ($I12, $I11) = rx1237_cur."!mark_peek"($I10)
+    rx1237_cur."!cursor_pos"($I11)
+    ($P10) = rx1237_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1237_pos, "")
+    rx1237_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1233_done
-  rxcap_1233_fail:
-    goto rx1229_fail
-  rxcap_1233_done:
+    goto rxcap_1241_done
+  rxcap_1241_fail:
+    goto rx1237_fail
+  rxcap_1241_done:
   # rx charclass s
-    ge rx1229_pos, rx1229_eos, rx1229_fail
-    sub $I10, rx1229_pos, rx1229_off
-    is_cclass $I11, 32, rx1229_tgt, $I10
-    unless $I11, rx1229_fail
-    inc rx1229_pos
+    ge rx1237_pos, rx1237_eos, rx1237_fail
+    sub $I10, rx1237_pos, rx1237_off
+    is_cclass $I11, 32, rx1237_tgt, $I10
+    unless $I11, rx1237_fail
+    inc rx1237_pos
   # rx subrule "O" subtype=capture negate=
-    rx1229_cur."!cursor_pos"(rx1229_pos)
-    $P10 = rx1229_cur."O"("%list_prefix")
-    unless $P10, rx1229_fail
-    rx1229_cur."!mark_push"(0, -1, 0, $P10)
+    rx1237_cur."!cursor_pos"(rx1237_pos)
+    $P10 = rx1237_cur."O"("%list_prefix")
+    unless $P10, rx1237_fail
+    rx1237_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1229_pos = $P10."pos"()
+    rx1237_pos = $P10."pos"()
+  # rx pass
+    rx1237_cur."!cursor_pass"(rx1237_pos, "prefix:sym<make>")
+    rx1237_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1237_pos)
+    .return (rx1237_cur)
+  rx1237_fail:
+.annotate 'line', 423
+    (rx1237_rep, rx1237_pos, $I10, $P10) = rx1237_cur."!mark_fail"(0)
+    lt rx1237_pos, -1, rx1237_done
+    eq rx1237_pos, -1, rx1237_fail
+    jump $I10
+  rx1237_done:
+    rx1237_cur."!cursor_fail"()
+    rx1237_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    .return (rx1237_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<make>"  :subid("318_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1239, "ResizablePMCArray"
+    push $P1239, "make"
+    .return ($P1239)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<last>"  :subid("319_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1243_tgt
+    .local int rx1243_pos
+    .local int rx1243_off
+    .local int rx1243_eos
+    .local int rx1243_rep
+    .local pmc rx1243_cur
+    (rx1243_cur, rx1243_pos, rx1243_tgt) = self."!cursor_start"()
+    rx1243_cur."!cursor_debug"("START ", "term:sym<last>")
+    .lex unicode:"$\x{a2}", rx1243_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1243_eos, rx1243_tgt
+    set rx1243_off, 0
+    lt rx1243_pos, 2, rx1243_start
+    sub rx1243_off, rx1243_pos, 1
+    substr rx1243_tgt, rx1243_tgt, rx1243_off
+  rx1243_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1246_done
+    goto rxscan1246_scan
+  rxscan1246_loop:
+    ($P10) = rx1243_cur."from"()
+    inc $P10
+    set rx1243_pos, $P10
+    ge rx1243_pos, rx1243_eos, rxscan1246_done
+  rxscan1246_scan:
+    set_addr $I10, rxscan1246_loop
+    rx1243_cur."!mark_push"(0, rx1243_pos, $I10)
+  rxscan1246_done:
+.annotate 'line', 530
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1247_fail
+    rx1243_cur."!mark_push"(0, rx1243_pos, $I10)
+  # rx literal  "last"
+    add $I11, rx1243_pos, 4
+    gt $I11, rx1243_eos, rx1243_fail
+    sub $I11, rx1243_pos, rx1243_off
+    substr $S10, rx1243_tgt, $I11, 4
+    ne $S10, "last", rx1243_fail
+    add rx1243_pos, 4
+    set_addr $I10, rxcap_1247_fail
+    ($I12, $I11) = rx1243_cur."!mark_peek"($I10)
+    rx1243_cur."!cursor_pos"($I11)
+    ($P10) = rx1243_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1243_pos, "")
+    rx1243_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1247_done
+  rxcap_1247_fail:
+    goto rx1243_fail
+  rxcap_1247_done:
+  # rx pass
+    rx1243_cur."!cursor_pass"(rx1243_pos, "term:sym<last>")
+    rx1243_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1243_pos)
+    .return (rx1243_cur)
+  rx1243_fail:
+.annotate 'line', 423
+    (rx1243_rep, rx1243_pos, $I10, $P10) = rx1243_cur."!mark_fail"(0)
+    lt rx1243_pos, -1, rx1243_done
+    eq rx1243_pos, -1, rx1243_fail
+    jump $I10
+  rx1243_done:
+    rx1243_cur."!cursor_fail"()
+    rx1243_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
+    .return (rx1243_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<last>"  :subid("320_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1245, "ResizablePMCArray"
+    push $P1245, "last"
+    .return ($P1245)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<next>"  :subid("321_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1249_tgt
+    .local int rx1249_pos
+    .local int rx1249_off
+    .local int rx1249_eos
+    .local int rx1249_rep
+    .local pmc rx1249_cur
+    (rx1249_cur, rx1249_pos, rx1249_tgt) = self."!cursor_start"()
+    rx1249_cur."!cursor_debug"("START ", "term:sym<next>")
+    .lex unicode:"$\x{a2}", rx1249_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1249_eos, rx1249_tgt
+    set rx1249_off, 0
+    lt rx1249_pos, 2, rx1249_start
+    sub rx1249_off, rx1249_pos, 1
+    substr rx1249_tgt, rx1249_tgt, rx1249_off
+  rx1249_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1252_done
+    goto rxscan1252_scan
+  rxscan1252_loop:
+    ($P10) = rx1249_cur."from"()
+    inc $P10
+    set rx1249_pos, $P10
+    ge rx1249_pos, rx1249_eos, rxscan1252_done
+  rxscan1252_scan:
+    set_addr $I10, rxscan1252_loop
+    rx1249_cur."!mark_push"(0, rx1249_pos, $I10)
+  rxscan1252_done:
+.annotate 'line', 531
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1253_fail
+    rx1249_cur."!mark_push"(0, rx1249_pos, $I10)
+  # rx literal  "next"
+    add $I11, rx1249_pos, 4
+    gt $I11, rx1249_eos, rx1249_fail
+    sub $I11, rx1249_pos, rx1249_off
+    substr $S10, rx1249_tgt, $I11, 4
+    ne $S10, "next", rx1249_fail
+    add rx1249_pos, 4
+    set_addr $I10, rxcap_1253_fail
+    ($I12, $I11) = rx1249_cur."!mark_peek"($I10)
+    rx1249_cur."!cursor_pos"($I11)
+    ($P10) = rx1249_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1249_pos, "")
+    rx1249_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1253_done
+  rxcap_1253_fail:
+    goto rx1249_fail
+  rxcap_1253_done:
+  # rx pass
+    rx1249_cur."!cursor_pass"(rx1249_pos, "term:sym<next>")
+    rx1249_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1249_pos)
+    .return (rx1249_cur)
+  rx1249_fail:
+.annotate 'line', 423
+    (rx1249_rep, rx1249_pos, $I10, $P10) = rx1249_cur."!mark_fail"(0)
+    lt rx1249_pos, -1, rx1249_done
+    eq rx1249_pos, -1, rx1249_fail
+    jump $I10
+  rx1249_done:
+    rx1249_cur."!cursor_fail"()
+    rx1249_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
+    .return (rx1249_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<next>"  :subid("322_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1251, "ResizablePMCArray"
+    push $P1251, "next"
+    .return ($P1251)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<redo>"  :subid("323_1273866379.28103") :method :outer("11_1273866379.28103")
+.annotate 'line', 423
+    .local string rx1255_tgt
+    .local int rx1255_pos
+    .local int rx1255_off
+    .local int rx1255_eos
+    .local int rx1255_rep
+    .local pmc rx1255_cur
+    (rx1255_cur, rx1255_pos, rx1255_tgt) = self."!cursor_start"()
+    rx1255_cur."!cursor_debug"("START ", "term:sym<redo>")
+    .lex unicode:"$\x{a2}", rx1255_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1255_eos, rx1255_tgt
+    set rx1255_off, 0
+    lt rx1255_pos, 2, rx1255_start
+    sub rx1255_off, rx1255_pos, 1
+    substr rx1255_tgt, rx1255_tgt, rx1255_off
+  rx1255_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1258_done
+    goto rxscan1258_scan
+  rxscan1258_loop:
+    ($P10) = rx1255_cur."from"()
+    inc $P10
+    set rx1255_pos, $P10
+    ge rx1255_pos, rx1255_eos, rxscan1258_done
+  rxscan1258_scan:
+    set_addr $I10, rxscan1258_loop
+    rx1255_cur."!mark_push"(0, rx1255_pos, $I10)
+  rxscan1258_done:
+.annotate 'line', 532
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1259_fail
+    rx1255_cur."!mark_push"(0, rx1255_pos, $I10)
+  # rx literal  "redo"
+    add $I11, rx1255_pos, 4
+    gt $I11, rx1255_eos, rx1255_fail
+    sub $I11, rx1255_pos, rx1255_off
+    substr $S10, rx1255_tgt, $I11, 4
+    ne $S10, "redo", rx1255_fail
+    add rx1255_pos, 4
+    set_addr $I10, rxcap_1259_fail
+    ($I12, $I11) = rx1255_cur."!mark_peek"($I10)
+    rx1255_cur."!cursor_pos"($I11)
+    ($P10) = rx1255_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1255_pos, "")
+    rx1255_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1259_done
+  rxcap_1259_fail:
+    goto rx1255_fail
+  rxcap_1259_done:
   # rx pass
-    rx1229_cur."!cursor_pass"(rx1229_pos, "prefix:sym<make>")
-    rx1229_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1229_pos)
-    .return (rx1229_cur)
-  rx1229_fail:
-.annotate "line", 422
-    (rx1229_rep, rx1229_pos, $I10, $P10) = rx1229_cur."!mark_fail"(0)
-    lt rx1229_pos, -1, rx1229_done
-    eq rx1229_pos, -1, rx1229_fail
+    rx1255_cur."!cursor_pass"(rx1255_pos, "term:sym<redo>")
+    rx1255_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1255_pos)
+    .return (rx1255_cur)
+  rx1255_fail:
+.annotate 'line', 423
+    (rx1255_rep, rx1255_pos, $I10, $P10) = rx1255_cur."!mark_fail"(0)
+    lt rx1255_pos, -1, rx1255_done
+    eq rx1255_pos, -1, rx1255_fail
     jump $I10
-  rx1229_done:
-    rx1229_cur."!cursor_fail"()
-    rx1229_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
-    .return (rx1229_cur)
+  rx1255_done:
+    rx1255_cur."!cursor_fail"()
+    rx1255_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
+    .return (rx1255_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("318_1272816833.94956") :method
-.annotate "line", 422
-    new $P1231, "ResizablePMCArray"
-    push $P1231, "make"
-    .return ($P1231)
+.sub "!PREFIX__term:sym<redo>"  :subid("324_1273866379.28103") :method
+.annotate 'line', 423
+    new $P1257, "ResizablePMCArray"
+    push $P1257, "redo"
+    .return ($P1257)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("319_1272816833.94956") :method :outer("11_1272816833.94956")
-    .param pmc param_1237
-.annotate "line", 530
-    new $P1236, 'ExceptionHandler'
-    set_addr $P1236, control_1235
-    $P1236."handle_types"(57)
-    push_eh $P1236
+.sub "smartmatch"  :subid("325_1273866379.28103") :method :outer("11_1273866379.28103")
+    .param pmc param_1263
+.annotate 'line', 534
+    new $P1262, 'ExceptionHandler'
+    set_addr $P1262, control_1261
+    $P1262."handle_types"(57)
+    push_eh $P1262
     .lex "self", self
-    .lex "$/", param_1237
-.annotate "line", 532
-    new $P1238, "Undef"
-    .lex "$t", $P1238
-    find_lex $P1239, "$/"
-    unless_null $P1239, vivify_345
-    $P1239 = root_new ['parrot';'ResizablePMCArray']
-  vivify_345:
-    set $P1240, $P1239[0]
-    unless_null $P1240, vivify_346
-    new $P1240, "Undef"
-  vivify_346:
-    store_lex "$t", $P1240
-    find_lex $P1241, "$/"
-    unless_null $P1241, vivify_347
-    $P1241 = root_new ['parrot';'ResizablePMCArray']
-  vivify_347:
-    set $P1242, $P1241[1]
-    unless_null $P1242, vivify_348
-    new $P1242, "Undef"
-  vivify_348:
-    find_lex $P1243, "$/"
-    unless_null $P1243, vivify_349
-    $P1243 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1243
-  vivify_349:
-    set $P1243[0], $P1242
-    find_lex $P1244, "$t"
-    find_lex $P1245, "$/"
-    unless_null $P1245, vivify_350
-    $P1245 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1245
-  vivify_350:
-    set $P1245[1], $P1244
-.annotate "line", 530
-    .return ($P1244)
-  control_1235:
+    .lex "$/", param_1263
+.annotate 'line', 536
+    new $P1264, "Undef"
+    .lex "$t", $P1264
+    find_lex $P1265, "$/"
+    unless_null $P1265, vivify_351
+    $P1265 = root_new ['parrot';'ResizablePMCArray']
+  vivify_351:
+    set $P1266, $P1265[0]
+    unless_null $P1266, vivify_352
+    new $P1266, "Undef"
+  vivify_352:
+    store_lex "$t", $P1266
+    find_lex $P1267, "$/"
+    unless_null $P1267, vivify_353
+    $P1267 = root_new ['parrot';'ResizablePMCArray']
+  vivify_353:
+    set $P1268, $P1267[1]
+    unless_null $P1268, vivify_354
+    new $P1268, "Undef"
+  vivify_354:
+    find_lex $P1269, "$/"
+    unless_null $P1269, vivify_355
+    $P1269 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1269
+  vivify_355:
+    set $P1269[0], $P1268
+    find_lex $P1270, "$t"
+    find_lex $P1271, "$/"
+    unless_null $P1271, vivify_356
+    $P1271 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1271
+  vivify_356:
+    set $P1271[1], $P1270
+.annotate 'line', 534
+    .return ($P1270)
+  control_1261:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1246, exception, "payload"
-    .return ($P1246)
+    getattribute $P1272, exception, "payload"
+    .return ($P1272)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1247"  :subid("320_1272816833.94956") :outer("11_1272816833.94956")
-.annotate "line", 536
-    .const 'Sub' $P1281 = "331_1272816833.94956" 
-    capture_lex $P1281
-    .const 'Sub' $P1268 = "328_1272816833.94956" 
-    capture_lex $P1268
-    .const 'Sub' $P1263 = "326_1272816833.94956" 
-    capture_lex $P1263
-    .const 'Sub' $P1258 = "324_1272816833.94956" 
-    capture_lex $P1258
-    .const 'Sub' $P1249 = "321_1272816833.94956" 
-    capture_lex $P1249
-    .const 'Sub' $P1281 = "331_1272816833.94956" 
-    capture_lex $P1281
-    .return ($P1281)
+.sub "_block1273"  :subid("326_1273866379.28103") :outer("11_1273866379.28103")
+.annotate 'line', 540
+    .const 'Sub' $P1307 = "337_1273866379.28103" 
+    capture_lex $P1307
+    .const 'Sub' $P1294 = "334_1273866379.28103" 
+    capture_lex $P1294
+    .const 'Sub' $P1289 = "332_1273866379.28103" 
+    capture_lex $P1289
+    .const 'Sub' $P1284 = "330_1273866379.28103" 
+    capture_lex $P1284
+    .const 'Sub' $P1275 = "327_1273866379.28103" 
+    capture_lex $P1275
+    .const 'Sub' $P1307 = "337_1273866379.28103" 
+    capture_lex $P1307
+    .return ($P1307)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("321_1272816833.94956") :method :outer("320_1272816833.94956")
-.annotate "line", 536
-    .const 'Sub' $P1255 = "323_1272816833.94956" 
-    capture_lex $P1255
-    .local string rx1250_tgt
-    .local int rx1250_pos
-    .local int rx1250_off
-    .local int rx1250_eos
-    .local int rx1250_rep
-    .local pmc rx1250_cur
-    (rx1250_cur, rx1250_pos, rx1250_tgt) = self."!cursor_start"()
-    rx1250_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1250_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1250_eos, rx1250_tgt
-    set rx1250_off, 0
-    lt rx1250_pos, 2, rx1250_start
-    sub rx1250_off, rx1250_pos, 1
-    substr rx1250_tgt, rx1250_tgt, rx1250_off
-  rx1250_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1253_done
-    goto rxscan1253_scan
-  rxscan1253_loop:
-    ($P10) = rx1250_cur."from"()
-    inc $P10
-    set rx1250_pos, $P10
-    ge rx1250_pos, rx1250_eos, rxscan1253_done
-  rxscan1253_scan:
-    set_addr $I10, rxscan1253_loop
-    rx1250_cur."!mark_push"(0, rx1250_pos, $I10)
-  rxscan1253_done:
-.annotate "line", 538
+.sub "metachar:sym<:my>"  :subid("327_1273866379.28103") :method :outer("326_1273866379.28103")
+.annotate 'line', 540
+    .const 'Sub' $P1281 = "329_1273866379.28103" 
+    capture_lex $P1281
+    .local string rx1276_tgt
+    .local int rx1276_pos
+    .local int rx1276_off
+    .local int rx1276_eos
+    .local int rx1276_rep
+    .local pmc rx1276_cur
+    (rx1276_cur, rx1276_pos, rx1276_tgt) = self."!cursor_start"()
+    rx1276_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+    .lex unicode:"$\x{a2}", rx1276_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1276_eos, rx1276_tgt
+    set rx1276_off, 0
+    lt rx1276_pos, 2, rx1276_start
+    sub rx1276_off, rx1276_pos, 1
+    substr rx1276_tgt, rx1276_tgt, rx1276_off
+  rx1276_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1279_done
+    goto rxscan1279_scan
+  rxscan1279_loop:
+    ($P10) = rx1276_cur."from"()
+    inc $P10
+    set rx1276_pos, $P10
+    ge rx1276_pos, rx1276_eos, rxscan1279_done
+  rxscan1279_scan:
+    set_addr $I10, rxscan1279_loop
+    rx1276_cur."!mark_push"(0, rx1276_pos, $I10)
+  rxscan1279_done:
+.annotate 'line', 542
   # rx literal  ":"
-    add $I11, rx1250_pos, 1
-    gt $I11, rx1250_eos, rx1250_fail
-    sub $I11, rx1250_pos, rx1250_off
-    substr $S10, rx1250_tgt, $I11, 1
-    ne $S10, ":", rx1250_fail
-    add rx1250_pos, 1
+    add $I11, rx1276_pos, 1
+    gt $I11, rx1276_eos, rx1276_fail
+    sub $I11, rx1276_pos, rx1276_off
+    substr $S10, rx1276_tgt, $I11, 1
+    ne $S10, ":", rx1276_fail
+    add rx1276_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
-    rx1250_cur."!cursor_pos"(rx1250_pos)
-    .const 'Sub' $P1255 = "323_1272816833.94956" 
-    capture_lex $P1255
-    $P10 = rx1250_cur."before"($P1255)
-    unless $P10, rx1250_fail
+    rx1276_cur."!cursor_pos"(rx1276_pos)
+    .const 'Sub' $P1281 = "329_1273866379.28103" 
+    capture_lex $P1281
+    $P10 = rx1276_cur."before"($P1281)
+    unless $P10, rx1276_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1250_cur."!cursor_pos"(rx1250_pos)
-    $P10 = rx1250_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1250_fail
-    rx1250_cur."!mark_push"(0, -1, 0, $P10)
+    rx1276_cur."!cursor_pos"(rx1276_pos)
+    $P10 = rx1276_cur."LANG"("MAIN", "statement")
+    unless $P10, rx1276_fail
+    rx1276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx1250_pos = $P10."pos"()
+    rx1276_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx1250_cur."!cursor_pos"(rx1250_pos)
-    $P10 = rx1250_cur."ws"()
-    unless $P10, rx1250_fail
-    rx1250_pos = $P10."pos"()
+    rx1276_cur."!cursor_pos"(rx1276_pos)
+    $P10 = rx1276_cur."ws"()
+    unless $P10, rx1276_fail
+    rx1276_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx1250_pos, 1
-    gt $I11, rx1250_eos, rx1250_fail
-    sub $I11, rx1250_pos, rx1250_off
-    substr $S10, rx1250_tgt, $I11, 1
-    ne $S10, ";", rx1250_fail
-    add rx1250_pos, 1
-.annotate "line", 537
-  # rx pass
-    rx1250_cur."!cursor_pass"(rx1250_pos, "metachar:sym<:my>")
-    rx1250_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1250_pos)
-    .return (rx1250_cur)
-  rx1250_fail:
-.annotate "line", 536
-    (rx1250_rep, rx1250_pos, $I10, $P10) = rx1250_cur."!mark_fail"(0)
-    lt rx1250_pos, -1, rx1250_done
-    eq rx1250_pos, -1, rx1250_fail
-    jump $I10
-  rx1250_done:
-    rx1250_cur."!cursor_fail"()
-    rx1250_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1250_cur)
+    add $I11, rx1276_pos, 1
+    gt $I11, rx1276_eos, rx1276_fail
+    sub $I11, rx1276_pos, rx1276_off
+    substr $S10, rx1276_tgt, $I11, 1
+    ne $S10, ";", rx1276_fail
+    add rx1276_pos, 1
+.annotate 'line', 541
+  # rx pass
+    rx1276_cur."!cursor_pass"(rx1276_pos, "metachar:sym<:my>")
+    rx1276_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1276_pos)
+    .return (rx1276_cur)
+  rx1276_fail:
+.annotate 'line', 540
+    (rx1276_rep, rx1276_pos, $I10, $P10) = rx1276_cur."!mark_fail"(0)
+    lt rx1276_pos, -1, rx1276_done
+    eq rx1276_pos, -1, rx1276_fail
+    jump $I10
+  rx1276_done:
+    rx1276_cur."!cursor_fail"()
+    rx1276_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
+    .return (rx1276_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("322_1272816833.94956") :method
-.annotate "line", 536
-    new $P1252, "ResizablePMCArray"
-    push $P1252, ":"
-    .return ($P1252)
+.sub "!PREFIX__metachar:sym<:my>"  :subid("328_1273866379.28103") :method
+.annotate 'line', 540
+    new $P1278, "ResizablePMCArray"
+    push $P1278, ":"
+    .return ($P1278)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1254"  :anon :subid("323_1272816833.94956") :method :outer("321_1272816833.94956")
-.annotate "line", 538
-    .local string rx1256_tgt
-    .local int rx1256_pos
-    .local int rx1256_off
-    .local int rx1256_eos
-    .local int rx1256_rep
-    .local pmc rx1256_cur
-    (rx1256_cur, rx1256_pos, rx1256_tgt) = self."!cursor_start"()
-    rx1256_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1256_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1256_eos, rx1256_tgt
-    set rx1256_off, 0
-    lt rx1256_pos, 2, rx1256_start
-    sub rx1256_off, rx1256_pos, 1
-    substr rx1256_tgt, rx1256_tgt, rx1256_off
-  rx1256_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1257_done
-    goto rxscan1257_scan
-  rxscan1257_loop:
-    ($P10) = rx1256_cur."from"()
-    inc $P10
-    set rx1256_pos, $P10
-    ge rx1256_pos, rx1256_eos, rxscan1257_done
-  rxscan1257_scan:
-    set_addr $I10, rxscan1257_loop
-    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
-  rxscan1257_done:
+.sub "_block1280"  :anon :subid("329_1273866379.28103") :method :outer("327_1273866379.28103")
+.annotate 'line', 542
+    .local string rx1282_tgt
+    .local int rx1282_pos
+    .local int rx1282_off
+    .local int rx1282_eos
+    .local int rx1282_rep
+    .local pmc rx1282_cur
+    (rx1282_cur, rx1282_pos, rx1282_tgt) = self."!cursor_start"()
+    rx1282_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1282_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1282_eos, rx1282_tgt
+    set rx1282_off, 0
+    lt rx1282_pos, 2, rx1282_start
+    sub rx1282_off, rx1282_pos, 1
+    substr rx1282_tgt, rx1282_tgt, rx1282_off
+  rx1282_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1283_done
+    goto rxscan1283_scan
+  rxscan1283_loop:
+    ($P10) = rx1282_cur."from"()
+    inc $P10
+    set rx1282_pos, $P10
+    ge rx1282_pos, rx1282_eos, rxscan1283_done
+  rxscan1283_scan:
+    set_addr $I10, rxscan1283_loop
+    rx1282_cur."!mark_push"(0, rx1282_pos, $I10)
+  rxscan1283_done:
   # rx literal  "my"
-    add $I11, rx1256_pos, 2
-    gt $I11, rx1256_eos, rx1256_fail
-    sub $I11, rx1256_pos, rx1256_off
-    substr $S10, rx1256_tgt, $I11, 2
-    ne $S10, "my", rx1256_fail
-    add rx1256_pos, 2
-  # rx pass
-    rx1256_cur."!cursor_pass"(rx1256_pos, "")
-    rx1256_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1256_pos)
-    .return (rx1256_cur)
-  rx1256_fail:
-    (rx1256_rep, rx1256_pos, $I10, $P10) = rx1256_cur."!mark_fail"(0)
-    lt rx1256_pos, -1, rx1256_done
-    eq rx1256_pos, -1, rx1256_fail
-    jump $I10
-  rx1256_done:
-    rx1256_cur."!cursor_fail"()
-    rx1256_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1256_cur)
+    add $I11, rx1282_pos, 2
+    gt $I11, rx1282_eos, rx1282_fail
+    sub $I11, rx1282_pos, rx1282_off
+    substr $S10, rx1282_tgt, $I11, 2
+    ne $S10, "my", rx1282_fail
+    add rx1282_pos, 2
+  # rx pass
+    rx1282_cur."!cursor_pass"(rx1282_pos, "")
+    rx1282_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1282_pos)
+    .return (rx1282_cur)
+  rx1282_fail:
+    (rx1282_rep, rx1282_pos, $I10, $P10) = rx1282_cur."!mark_fail"(0)
+    lt rx1282_pos, -1, rx1282_done
+    eq rx1282_pos, -1, rx1282_fail
+    jump $I10
+  rx1282_done:
+    rx1282_cur."!cursor_fail"()
+    rx1282_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1282_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("324_1272816833.94956") :method :outer("320_1272816833.94956")
-.annotate "line", 536
-    .local string rx1259_tgt
-    .local int rx1259_pos
-    .local int rx1259_off
-    .local int rx1259_eos
-    .local int rx1259_rep
-    .local pmc rx1259_cur
-    (rx1259_cur, rx1259_pos, rx1259_tgt) = self."!cursor_start"()
-    rx1259_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1259_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1259_eos, rx1259_tgt
-    set rx1259_off, 0
-    lt rx1259_pos, 2, rx1259_start
-    sub rx1259_off, rx1259_pos, 1
-    substr rx1259_tgt, rx1259_tgt, rx1259_off
-  rx1259_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1262_done
-    goto rxscan1262_scan
-  rxscan1262_loop:
-    ($P10) = rx1259_cur."from"()
-    inc $P10
-    set rx1259_pos, $P10
-    ge rx1259_pos, rx1259_eos, rxscan1262_done
-  rxscan1262_scan:
-    set_addr $I10, rxscan1262_loop
-    rx1259_cur."!mark_push"(0, rx1259_pos, $I10)
-  rxscan1262_done:
-.annotate "line", 542
+.sub "metachar:sym<{ }>"  :subid("330_1273866379.28103") :method :outer("326_1273866379.28103")
+.annotate 'line', 540
+    .local string rx1285_tgt
+    .local int rx1285_pos
+    .local int rx1285_off
+    .local int rx1285_eos
+    .local int rx1285_rep
+    .local pmc rx1285_cur
+    (rx1285_cur, rx1285_pos, rx1285_tgt) = self."!cursor_start"()
+    rx1285_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1285_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1285_eos, rx1285_tgt
+    set rx1285_off, 0
+    lt rx1285_pos, 2, rx1285_start
+    sub rx1285_off, rx1285_pos, 1
+    substr rx1285_tgt, rx1285_tgt, rx1285_off
+  rx1285_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1288_done
+    goto rxscan1288_scan
+  rxscan1288_loop:
+    ($P10) = rx1285_cur."from"()
+    inc $P10
+    set rx1285_pos, $P10
+    ge rx1285_pos, rx1285_eos, rxscan1288_done
+  rxscan1288_scan:
+    set_addr $I10, rxscan1288_loop
+    rx1285_cur."!mark_push"(0, rx1285_pos, $I10)
+  rxscan1288_done:
+.annotate 'line', 546
   # rx enumcharlist negate=0 zerowidth
-    ge rx1259_pos, rx1259_eos, rx1259_fail
-    sub $I10, rx1259_pos, rx1259_off
-    substr $S10, rx1259_tgt, $I10, 1
+    ge rx1285_pos, rx1285_eos, rx1285_fail
+    sub $I10, rx1285_pos, rx1285_off
+    substr $S10, rx1285_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1259_fail
+    lt $I11, 0, rx1285_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1259_cur."!cursor_pos"(rx1259_pos)
-    $P10 = rx1259_cur."codeblock"()
-    unless $P10, rx1259_fail
-    rx1259_cur."!mark_push"(0, -1, 0, $P10)
+    rx1285_cur."!cursor_pos"(rx1285_pos)
+    $P10 = rx1285_cur."codeblock"()
+    unless $P10, rx1285_fail
+    rx1285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1259_pos = $P10."pos"()
-.annotate "line", 541
+    rx1285_pos = $P10."pos"()
+.annotate 'line', 545
   # rx pass
-    rx1259_cur."!cursor_pass"(rx1259_pos, "metachar:sym<{ }>")
-    rx1259_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1259_pos)
-    .return (rx1259_cur)
-  rx1259_fail:
-.annotate "line", 536
-    (rx1259_rep, rx1259_pos, $I10, $P10) = rx1259_cur."!mark_fail"(0)
-    lt rx1259_pos, -1, rx1259_done
-    eq rx1259_pos, -1, rx1259_fail
-    jump $I10
-  rx1259_done:
-    rx1259_cur."!cursor_fail"()
-    rx1259_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1259_cur)
+    rx1285_cur."!cursor_pass"(rx1285_pos, "metachar:sym<{ }>")
+    rx1285_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1285_pos)
+    .return (rx1285_cur)
+  rx1285_fail:
+.annotate 'line', 540
+    (rx1285_rep, rx1285_pos, $I10, $P10) = rx1285_cur."!mark_fail"(0)
+    lt rx1285_pos, -1, rx1285_done
+    eq rx1285_pos, -1, rx1285_fail
+    jump $I10
+  rx1285_done:
+    rx1285_cur."!cursor_fail"()
+    rx1285_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
+    .return (rx1285_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("325_1272816833.94956") :method
-.annotate "line", 536
-    new $P1261, "ResizablePMCArray"
-    push $P1261, "{"
-    .return ($P1261)
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("331_1273866379.28103") :method
+.annotate 'line', 540
+    new $P1287, "ResizablePMCArray"
+    push $P1287, "{"
+    .return ($P1287)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("326_1272816833.94956") :method :outer("320_1272816833.94956")
-.annotate "line", 536
-    .local string rx1264_tgt
-    .local int rx1264_pos
-    .local int rx1264_off
-    .local int rx1264_eos
-    .local int rx1264_rep
-    .local pmc rx1264_cur
-    (rx1264_cur, rx1264_pos, rx1264_tgt) = self."!cursor_start"()
-    rx1264_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1264_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1264_eos, rx1264_tgt
-    set rx1264_off, 0
-    lt rx1264_pos, 2, rx1264_start
-    sub rx1264_off, rx1264_pos, 1
-    substr rx1264_tgt, rx1264_tgt, rx1264_off
-  rx1264_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1267_done
-    goto rxscan1267_scan
-  rxscan1267_loop:
-    ($P10) = rx1264_cur."from"()
-    inc $P10
-    set rx1264_pos, $P10
-    ge rx1264_pos, rx1264_eos, rxscan1267_done
-  rxscan1267_scan:
-    set_addr $I10, rxscan1267_loop
-    rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
-  rxscan1267_done:
-.annotate "line", 546
+.sub "assertion:sym<{ }>"  :subid("332_1273866379.28103") :method :outer("326_1273866379.28103")
+.annotate 'line', 540
+    .local string rx1290_tgt
+    .local int rx1290_pos
+    .local int rx1290_off
+    .local int rx1290_eos
+    .local int rx1290_rep
+    .local pmc rx1290_cur
+    (rx1290_cur, rx1290_pos, rx1290_tgt) = self."!cursor_start"()
+    rx1290_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1290_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1290_eos, rx1290_tgt
+    set rx1290_off, 0
+    lt rx1290_pos, 2, rx1290_start
+    sub rx1290_off, rx1290_pos, 1
+    substr rx1290_tgt, rx1290_tgt, rx1290_off
+  rx1290_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1293_done
+    goto rxscan1293_scan
+  rxscan1293_loop:
+    ($P10) = rx1290_cur."from"()
+    inc $P10
+    set rx1290_pos, $P10
+    ge rx1290_pos, rx1290_eos, rxscan1293_done
+  rxscan1293_scan:
+    set_addr $I10, rxscan1293_loop
+    rx1290_cur."!mark_push"(0, rx1290_pos, $I10)
+  rxscan1293_done:
+.annotate 'line', 550
   # rx enumcharlist negate=0 zerowidth
-    ge rx1264_pos, rx1264_eos, rx1264_fail
-    sub $I10, rx1264_pos, rx1264_off
-    substr $S10, rx1264_tgt, $I10, 1
+    ge rx1290_pos, rx1290_eos, rx1290_fail
+    sub $I10, rx1290_pos, rx1290_off
+    substr $S10, rx1290_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1264_fail
+    lt $I11, 0, rx1290_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1264_cur."!cursor_pos"(rx1264_pos)
-    $P10 = rx1264_cur."codeblock"()
-    unless $P10, rx1264_fail
-    rx1264_cur."!mark_push"(0, -1, 0, $P10)
+    rx1290_cur."!cursor_pos"(rx1290_pos)
+    $P10 = rx1290_cur."codeblock"()
+    unless $P10, rx1290_fail
+    rx1290_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1264_pos = $P10."pos"()
-.annotate "line", 545
+    rx1290_pos = $P10."pos"()
+.annotate 'line', 549
   # rx pass
-    rx1264_cur."!cursor_pass"(rx1264_pos, "assertion:sym<{ }>")
-    rx1264_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1264_pos)
-    .return (rx1264_cur)
-  rx1264_fail:
-.annotate "line", 536
-    (rx1264_rep, rx1264_pos, $I10, $P10) = rx1264_cur."!mark_fail"(0)
-    lt rx1264_pos, -1, rx1264_done
-    eq rx1264_pos, -1, rx1264_fail
-    jump $I10
-  rx1264_done:
-    rx1264_cur."!cursor_fail"()
-    rx1264_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
-    .return (rx1264_cur)
+    rx1290_cur."!cursor_pass"(rx1290_pos, "assertion:sym<{ }>")
+    rx1290_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1290_pos)
+    .return (rx1290_cur)
+  rx1290_fail:
+.annotate 'line', 540
+    (rx1290_rep, rx1290_pos, $I10, $P10) = rx1290_cur."!mark_fail"(0)
+    lt rx1290_pos, -1, rx1290_done
+    eq rx1290_pos, -1, rx1290_fail
+    jump $I10
+  rx1290_done:
+    rx1290_cur."!cursor_fail"()
+    rx1290_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
+    .return (rx1290_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("327_1272816833.94956") :method
-.annotate "line", 536
-    new $P1266, "ResizablePMCArray"
-    push $P1266, "{"
-    .return ($P1266)
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("333_1273866379.28103") :method
+.annotate 'line', 540
+    new $P1292, "ResizablePMCArray"
+    push $P1292, "{"
+    .return ($P1292)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("328_1272816833.94956") :method :outer("320_1272816833.94956")
-.annotate "line", 536
-    .const 'Sub' $P1277 = "330_1272816833.94956" 
-    capture_lex $P1277
-    .local string rx1269_tgt
-    .local int rx1269_pos
-    .local int rx1269_off
-    .local int rx1269_eos
-    .local int rx1269_rep
-    .local pmc rx1269_cur
-    (rx1269_cur, rx1269_pos, rx1269_tgt) = self."!cursor_start"()
-    rx1269_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx1269_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
-    .lex unicode:"$\x{a2}", rx1269_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1269_eos, rx1269_tgt
-    set rx1269_off, 0
-    lt rx1269_pos, 2, rx1269_start
-    sub rx1269_off, rx1269_pos, 1
-    substr rx1269_tgt, rx1269_tgt, rx1269_off
-  rx1269_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1272_done
-    goto rxscan1272_scan
-  rxscan1272_loop:
-    ($P10) = rx1269_cur."from"()
-    inc $P10
-    set rx1269_pos, $P10
-    ge rx1269_pos, rx1269_eos, rxscan1272_done
-  rxscan1272_scan:
-    set_addr $I10, rxscan1272_loop
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
-  rxscan1272_done:
-.annotate "line", 550
+.sub "assertion:sym<name>"  :subid("334_1273866379.28103") :method :outer("326_1273866379.28103")
+.annotate 'line', 540
+    .const 'Sub' $P1303 = "336_1273866379.28103" 
+    capture_lex $P1303
+    .local string rx1295_tgt
+    .local int rx1295_pos
+    .local int rx1295_off
+    .local int rx1295_eos
+    .local int rx1295_rep
+    .local pmc rx1295_cur
+    (rx1295_cur, rx1295_pos, rx1295_tgt) = self."!cursor_start"()
+    rx1295_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx1295_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    .lex unicode:"$\x{a2}", rx1295_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1295_eos, rx1295_tgt
+    set rx1295_off, 0
+    lt rx1295_pos, 2, rx1295_start
+    sub rx1295_off, rx1295_pos, 1
+    substr rx1295_tgt, rx1295_tgt, rx1295_off
+  rx1295_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1298_done
+    goto rxscan1298_scan
+  rxscan1298_loop:
+    ($P10) = rx1295_cur."from"()
+    inc $P10
+    set rx1295_pos, $P10
+    ge rx1295_pos, rx1295_eos, rxscan1298_done
+  rxscan1298_scan:
+    set_addr $I10, rxscan1298_loop
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+  rxscan1298_done:
+.annotate 'line', 554
   # rx subcapture "longname"
-    set_addr $I10, rxcap_1273_fail
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+    set_addr $I10, rxcap_1299_fail
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx1269_pos, rx1269_off
-    find_not_cclass $I11, 8192, rx1269_tgt, $I10, rx1269_eos
+    sub $I10, rx1295_pos, rx1295_off
+    find_not_cclass $I11, 8192, rx1295_tgt, $I10, rx1295_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx1269_fail
-    add rx1269_pos, rx1269_off, $I11
-    set_addr $I10, rxcap_1273_fail
-    ($I12, $I11) = rx1269_cur."!mark_peek"($I10)
-    rx1269_cur."!cursor_pos"($I11)
-    ($P10) = rx1269_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1269_pos, "")
-    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx1295_fail
+    add rx1295_pos, rx1295_off, $I11
+    set_addr $I10, rxcap_1299_fail
+    ($I12, $I11) = rx1295_cur."!mark_peek"($I10)
+    rx1295_cur."!cursor_pos"($I11)
+    ($P10) = rx1295_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1295_pos, "")
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_1273_done
-  rxcap_1273_fail:
-    goto rx1269_fail
-  rxcap_1273_done:
-.annotate "line", 557
-  # rx rxquantr1274 ** 0..1
-    set_addr $I1280, rxquantr1274_done
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I1280)
-  rxquantr1274_loop:
-  alt1275_0:
-.annotate "line", 551
-    set_addr $I10, alt1275_1
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
-.annotate "line", 552
+    goto rxcap_1299_done
+  rxcap_1299_fail:
+    goto rx1295_fail
+  rxcap_1299_done:
+.annotate 'line', 561
+  # rx rxquantr1300 ** 0..1
+    set_addr $I1306, rxquantr1300_done
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I1306)
+  rxquantr1300_loop:
+  alt1301_0:
+.annotate 'line', 555
+    set_addr $I10, alt1301_1
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+.annotate 'line', 556
   # rx subrule "before" subtype=zerowidth negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    .const 'Sub' $P1277 = "330_1272816833.94956" 
-    capture_lex $P1277
-    $P10 = rx1269_cur."before"($P1277)
-    unless $P10, rx1269_fail
-    goto alt1275_end
-  alt1275_1:
-    set_addr $I10, alt1275_2
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
-.annotate "line", 553
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    .const 'Sub' $P1303 = "336_1273866379.28103" 
+    capture_lex $P1303
+    $P10 = rx1295_cur."before"($P1303)
+    unless $P10, rx1295_fail
+    goto alt1301_end
+  alt1301_1:
+    set_addr $I10, alt1301_2
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+.annotate 'line', 557
   # rx literal  "="
-    add $I11, rx1269_pos, 1
-    gt $I11, rx1269_eos, rx1269_fail
-    sub $I11, rx1269_pos, rx1269_off
-    substr $S10, rx1269_tgt, $I11, 1
-    ne $S10, "=", rx1269_fail
-    add rx1269_pos, 1
+    add $I11, rx1295_pos, 1
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 1
+    ne $S10, "=", rx1295_fail
+    add rx1295_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    $P10 = rx1269_cur."assertion"()
-    unless $P10, rx1269_fail
-    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."assertion"()
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx1269_pos = $P10."pos"()
-    goto alt1275_end
-  alt1275_2:
-    set_addr $I10, alt1275_3
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
-.annotate "line", 554
+    rx1295_pos = $P10."pos"()
+    goto alt1301_end
+  alt1301_2:
+    set_addr $I10, alt1301_3
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+.annotate 'line', 558
   # rx literal  ":"
-    add $I11, rx1269_pos, 1
-    gt $I11, rx1269_eos, rx1269_fail
-    sub $I11, rx1269_pos, rx1269_off
-    substr $S10, rx1269_tgt, $I11, 1
-    ne $S10, ":", rx1269_fail
-    add rx1269_pos, 1
+    add $I11, rx1295_pos, 1
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 1
+    ne $S10, ":", rx1295_fail
+    add rx1295_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    $P10 = rx1269_cur."arglist"()
-    unless $P10, rx1269_fail
-    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."arglist"()
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1269_pos = $P10."pos"()
-    goto alt1275_end
-  alt1275_3:
-    set_addr $I10, alt1275_4
-    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
-.annotate "line", 555
+    rx1295_pos = $P10."pos"()
+    goto alt1301_end
+  alt1301_3:
+    set_addr $I10, alt1301_4
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+.annotate 'line', 559
   # rx literal  "("
-    add $I11, rx1269_pos, 1
-    gt $I11, rx1269_eos, rx1269_fail
-    sub $I11, rx1269_pos, rx1269_off
-    substr $S10, rx1269_tgt, $I11, 1
-    ne $S10, "(", rx1269_fail
-    add rx1269_pos, 1
+    add $I11, rx1295_pos, 1
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 1
+    ne $S10, "(", rx1295_fail
+    add rx1295_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    $P10 = rx1269_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1269_fail
-    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1269_pos = $P10."pos"()
+    rx1295_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1269_pos, 1
-    gt $I11, rx1269_eos, rx1269_fail
-    sub $I11, rx1269_pos, rx1269_off
-    substr $S10, rx1269_tgt, $I11, 1
-    ne $S10, ")", rx1269_fail
-    add rx1269_pos, 1
-    goto alt1275_end
-  alt1275_4:
-.annotate "line", 556
+    add $I11, rx1295_pos, 1
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 1
+    ne $S10, ")", rx1295_fail
+    add rx1295_pos, 1
+    goto alt1301_end
+  alt1301_4:
+.annotate 'line', 560
   # rx subrule "normspace" subtype=method negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    $P10 = rx1269_cur."normspace"()
-    unless $P10, rx1269_fail
-    rx1269_pos = $P10."pos"()
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."normspace"()
+    unless $P10, rx1295_fail
+    rx1295_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx1269_cur."!cursor_pos"(rx1269_pos)
-    $P10 = rx1269_cur."nibbler"()
-    unless $P10, rx1269_fail
-    rx1269_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."nibbler"()
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx1269_pos = $P10."pos"()
-  alt1275_end:
-.annotate "line", 557
-    (rx1269_rep) = rx1269_cur."!mark_commit"($I1280)
-  rxquantr1274_done:
-.annotate "line", 549
-  # rx pass
-    rx1269_cur."!cursor_pass"(rx1269_pos, "assertion:sym<name>")
-    rx1269_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1269_pos)
-    .return (rx1269_cur)
-  rx1269_fail:
-.annotate "line", 536
-    (rx1269_rep, rx1269_pos, $I10, $P10) = rx1269_cur."!mark_fail"(0)
-    lt rx1269_pos, -1, rx1269_done
-    eq rx1269_pos, -1, rx1269_fail
-    jump $I10
-  rx1269_done:
-    rx1269_cur."!cursor_fail"()
-    rx1269_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx1269_cur)
+    rx1295_pos = $P10."pos"()
+  alt1301_end:
+.annotate 'line', 561
+    (rx1295_rep) = rx1295_cur."!mark_commit"($I1306)
+  rxquantr1300_done:
+.annotate 'line', 553
+  # rx pass
+    rx1295_cur."!cursor_pass"(rx1295_pos, "assertion:sym<name>")
+    rx1295_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1295_pos)
+    .return (rx1295_cur)
+  rx1295_fail:
+.annotate 'line', 540
+    (rx1295_rep, rx1295_pos, $I10, $P10) = rx1295_cur."!mark_fail"(0)
+    lt rx1295_pos, -1, rx1295_done
+    eq rx1295_pos, -1, rx1295_fail
+    jump $I10
+  rx1295_done:
+    rx1295_cur."!cursor_fail"()
+    rx1295_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx1295_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("329_1272816833.94956") :method
-.annotate "line", 536
-    new $P1271, "ResizablePMCArray"
-    push $P1271, ""
-    .return ($P1271)
+.sub "!PREFIX__assertion:sym<name>"  :subid("335_1273866379.28103") :method
+.annotate 'line', 540
+    new $P1297, "ResizablePMCArray"
+    push $P1297, ""
+    .return ($P1297)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1276"  :anon :subid("330_1272816833.94956") :method :outer("328_1272816833.94956")
-.annotate "line", 552
-    .local string rx1278_tgt
-    .local int rx1278_pos
-    .local int rx1278_off
-    .local int rx1278_eos
-    .local int rx1278_rep
-    .local pmc rx1278_cur
-    (rx1278_cur, rx1278_pos, rx1278_tgt) = self."!cursor_start"()
-    rx1278_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1278_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1278_eos, rx1278_tgt
-    set rx1278_off, 0
-    lt rx1278_pos, 2, rx1278_start
-    sub rx1278_off, rx1278_pos, 1
-    substr rx1278_tgt, rx1278_tgt, rx1278_off
-  rx1278_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1279_done
-    goto rxscan1279_scan
-  rxscan1279_loop:
-    ($P10) = rx1278_cur."from"()
-    inc $P10
-    set rx1278_pos, $P10
-    ge rx1278_pos, rx1278_eos, rxscan1279_done
-  rxscan1279_scan:
-    set_addr $I10, rxscan1279_loop
-    rx1278_cur."!mark_push"(0, rx1278_pos, $I10)
-  rxscan1279_done:
+.sub "_block1302"  :anon :subid("336_1273866379.28103") :method :outer("334_1273866379.28103")
+.annotate 'line', 556
+    .local string rx1304_tgt
+    .local int rx1304_pos
+    .local int rx1304_off
+    .local int rx1304_eos
+    .local int rx1304_rep
+    .local pmc rx1304_cur
+    (rx1304_cur, rx1304_pos, rx1304_tgt) = self."!cursor_start"()
+    rx1304_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1304_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1304_eos, rx1304_tgt
+    set rx1304_off, 0
+    lt rx1304_pos, 2, rx1304_start
+    sub rx1304_off, rx1304_pos, 1
+    substr rx1304_tgt, rx1304_tgt, rx1304_off
+  rx1304_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1305_done
+    goto rxscan1305_scan
+  rxscan1305_loop:
+    ($P10) = rx1304_cur."from"()
+    inc $P10
+    set rx1304_pos, $P10
+    ge rx1304_pos, rx1304_eos, rxscan1305_done
+  rxscan1305_scan:
+    set_addr $I10, rxscan1305_loop
+    rx1304_cur."!mark_push"(0, rx1304_pos, $I10)
+  rxscan1305_done:
   # rx literal  ">"
-    add $I11, rx1278_pos, 1
-    gt $I11, rx1278_eos, rx1278_fail
-    sub $I11, rx1278_pos, rx1278_off
-    substr $S10, rx1278_tgt, $I11, 1
-    ne $S10, ">", rx1278_fail
-    add rx1278_pos, 1
-  # rx pass
-    rx1278_cur."!cursor_pass"(rx1278_pos, "")
-    rx1278_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1278_pos)
-    .return (rx1278_cur)
-  rx1278_fail:
-    (rx1278_rep, rx1278_pos, $I10, $P10) = rx1278_cur."!mark_fail"(0)
-    lt rx1278_pos, -1, rx1278_done
-    eq rx1278_pos, -1, rx1278_fail
-    jump $I10
-  rx1278_done:
-    rx1278_cur."!cursor_fail"()
-    rx1278_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1278_cur)
+    add $I11, rx1304_pos, 1
+    gt $I11, rx1304_eos, rx1304_fail
+    sub $I11, rx1304_pos, rx1304_off
+    substr $S10, rx1304_tgt, $I11, 1
+    ne $S10, ">", rx1304_fail
+    add rx1304_pos, 1
+  # rx pass
+    rx1304_cur."!cursor_pass"(rx1304_pos, "")
+    rx1304_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1304_pos)
+    .return (rx1304_cur)
+  rx1304_fail:
+    (rx1304_rep, rx1304_pos, $I10, $P10) = rx1304_cur."!mark_fail"(0)
+    lt rx1304_pos, -1, rx1304_done
+    eq rx1304_pos, -1, rx1304_fail
+    jump $I10
+  rx1304_done:
+    rx1304_cur."!cursor_fail"()
+    rx1304_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1304_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("331_1272816833.94956") :method :outer("320_1272816833.94956")
-.annotate "line", 536
-    .local string rx1282_tgt
-    .local int rx1282_pos
-    .local int rx1282_off
-    .local int rx1282_eos
-    .local int rx1282_rep
-    .local pmc rx1282_cur
-    (rx1282_cur, rx1282_pos, rx1282_tgt) = self."!cursor_start"()
-    rx1282_cur."!cursor_debug"("START ", "codeblock")
-    .lex unicode:"$\x{a2}", rx1282_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1282_eos, rx1282_tgt
-    set rx1282_off, 0
-    lt rx1282_pos, 2, rx1282_start
-    sub rx1282_off, rx1282_pos, 1
-    substr rx1282_tgt, rx1282_tgt, rx1282_off
-  rx1282_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1286_done
-    goto rxscan1286_scan
-  rxscan1286_loop:
-    ($P10) = rx1282_cur."from"()
-    inc $P10
-    set rx1282_pos, $P10
-    ge rx1282_pos, rx1282_eos, rxscan1286_done
-  rxscan1286_scan:
-    set_addr $I10, rxscan1286_loop
-    rx1282_cur."!mark_push"(0, rx1282_pos, $I10)
-  rxscan1286_done:
-.annotate "line", 562
+.sub "codeblock"  :subid("337_1273866379.28103") :method :outer("326_1273866379.28103")
+.annotate 'line', 540
+    .local string rx1308_tgt
+    .local int rx1308_pos
+    .local int rx1308_off
+    .local int rx1308_eos
+    .local int rx1308_rep
+    .local pmc rx1308_cur
+    (rx1308_cur, rx1308_pos, rx1308_tgt) = self."!cursor_start"()
+    rx1308_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1308_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1308_eos, rx1308_tgt
+    set rx1308_off, 0
+    lt rx1308_pos, 2, rx1308_start
+    sub rx1308_off, rx1308_pos, 1
+    substr rx1308_tgt, rx1308_tgt, rx1308_off
+  rx1308_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1312_done
+    goto rxscan1312_scan
+  rxscan1312_loop:
+    ($P10) = rx1308_cur."from"()
+    inc $P10
+    set rx1308_pos, $P10
+    ge rx1308_pos, rx1308_eos, rxscan1312_done
+  rxscan1312_scan:
+    set_addr $I10, rxscan1312_loop
+    rx1308_cur."!mark_push"(0, rx1308_pos, $I10)
+  rxscan1312_done:
+.annotate 'line', 566
   # rx subrule "LANG" subtype=capture negate=
-    rx1282_cur."!cursor_pos"(rx1282_pos)
-    $P10 = rx1282_cur."LANG"("MAIN", "pblock")
-    unless $P10, rx1282_fail
-    rx1282_cur."!mark_push"(0, -1, 0, $P10)
+    rx1308_cur."!cursor_pos"(rx1308_pos)
+    $P10 = rx1308_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1308_fail
+    rx1308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx1282_pos = $P10."pos"()
-.annotate "line", 561
+    rx1308_pos = $P10."pos"()
+.annotate 'line', 565
   # rx pass
-    rx1282_cur."!cursor_pass"(rx1282_pos, "codeblock")
-    rx1282_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1282_pos)
-    .return (rx1282_cur)
-  rx1282_fail:
-.annotate "line", 536
-    (rx1282_rep, rx1282_pos, $I10, $P10) = rx1282_cur."!mark_fail"(0)
-    lt rx1282_pos, -1, rx1282_done
-    eq rx1282_pos, -1, rx1282_fail
-    jump $I10
-  rx1282_done:
-    rx1282_cur."!cursor_fail"()
-    rx1282_cur."!cursor_debug"("FAIL  ", "codeblock")
-    .return (rx1282_cur)
+    rx1308_cur."!cursor_pass"(rx1308_pos, "codeblock")
+    rx1308_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1308_pos)
+    .return (rx1308_cur)
+  rx1308_fail:
+.annotate 'line', 540
+    (rx1308_rep, rx1308_pos, $I10, $P10) = rx1308_cur."!mark_fail"(0)
+    lt rx1308_pos, -1, rx1308_done
+    eq rx1308_pos, -1, rx1308_fail
+    jump $I10
+  rx1308_done:
+    rx1308_cur."!cursor_fail"()
+    rx1308_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1308_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("332_1272816833.94956") :method
-.annotate "line", 536
-    $P1284 = self."!PREFIX__!subrule"("block", "")
-    new $P1285, "ResizablePMCArray"
-    push $P1285, $P1284
-    .return ($P1285)
+.sub "!PREFIX__codeblock"  :subid("338_1273866379.28103") :method
+.annotate 'line', 540
+    $P1310 = self."!PREFIX__!subrule"("block", "")
+    new $P1311, "ResizablePMCArray"
+    push $P1311, $P1310
+    .return ($P1311)
 .end
 
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816841.80681")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866388.36922")
+.annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-.annotate "line", 3
+.annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-    $P2175 = $P14()
-.annotate "line", 1
-    .return ($P2175)
+    $P2238 = $P14()
+.annotate 'line', 1
+    .return ($P2238)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post127") :outer("10_1272816841.80681")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816841.80681" 
+.sub "" :load :init :subid("post131") :outer("10_1273866388.36922")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866388.36922" 
     .local pmc block
     set block, $P12
-    $P2176 = get_root_global ["parrot"], "P6metaclass"
-    $P2176."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2239 = get_root_global ["parrot"], "P6metaclass"
+    $P2239."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1272816841.80681") :outer("10_1272816841.80681")
-.annotate "line", 3
-    .const 'Sub' $P2171 = "126_1272816841.80681" 
-    capture_lex $P2171
-    get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106" 
-    capture_lex $P2107
-    .const 'Sub' $P2096 = "120_1272816841.80681" 
-    capture_lex $P2096
-    .const 'Sub' $P2084 = "119_1272816841.80681" 
-    capture_lex $P2084
-    .const 'Sub' $P2074 = "118_1272816841.80681" 
-    capture_lex $P2074
-    .const 'Sub' $P2064 = "117_1272816841.80681" 
-    capture_lex $P2064
-    .const 'Sub' $P2054 = "116_1272816841.80681" 
-    capture_lex $P2054
-    .const 'Sub' $P2047 = "115_1272816841.80681" 
-    capture_lex $P2047
-    .const 'Sub' $P2033 = "114_1272816841.80681" 
-    capture_lex $P2033
-    .const 'Sub' $P2023 = "113_1272816841.80681" 
-    capture_lex $P2023
-    .const 'Sub' $P1986 = "112_1272816841.80681" 
-    capture_lex $P1986
-    .const 'Sub' $P1972 = "111_1272816841.80681" 
+.sub "_block13"  :subid("11_1273866388.36922") :outer("10_1273866388.36922")
+.annotate 'line', 3
+    .const 'Sub' $P2234 = "130_1273866388.36922" 
+    capture_lex $P2234
+    get_hll_global $P2169, ["NQP";"RegexActions"], "_block2168" 
+    capture_lex $P2169
+    .const 'Sub' $P2158 = "124_1273866388.36922" 
+    capture_lex $P2158
+    .const 'Sub' $P2151 = "123_1273866388.36922" 
+    capture_lex $P2151
+    .const 'Sub' $P2144 = "122_1273866388.36922" 
+    capture_lex $P2144
+    .const 'Sub' $P2137 = "121_1273866388.36922" 
+    capture_lex $P2137
+    .const 'Sub' $P2124 = "120_1273866388.36922" 
+    capture_lex $P2124
+    .const 'Sub' $P2114 = "119_1273866388.36922" 
+    capture_lex $P2114
+    .const 'Sub' $P2104 = "118_1273866388.36922" 
+    capture_lex $P2104
+    .const 'Sub' $P2094 = "117_1273866388.36922" 
+    capture_lex $P2094
+    .const 'Sub' $P2087 = "116_1273866388.36922" 
+    capture_lex $P2087
+    .const 'Sub' $P2073 = "115_1273866388.36922" 
+    capture_lex $P2073
+    .const 'Sub' $P2063 = "114_1273866388.36922" 
+    capture_lex $P2063
+    .const 'Sub' $P2026 = "113_1273866388.36922" 
+    capture_lex $P2026
+    .const 'Sub' $P2012 = "112_1273866388.36922" 
+    capture_lex $P2012
+    .const 'Sub' $P2002 = "111_1273866388.36922" 
+    capture_lex $P2002
+    .const 'Sub' $P1992 = "110_1273866388.36922" 
+    capture_lex $P1992
+    .const 'Sub' $P1982 = "109_1273866388.36922" 
+    capture_lex $P1982
+    .const 'Sub' $P1972 = "108_1273866388.36922" 
     capture_lex $P1972
-    .const 'Sub' $P1962 = "110_1272816841.80681" 
+    .const 'Sub' $P1962 = "107_1273866388.36922" 
     capture_lex $P1962
-    .const 'Sub' $P1952 = "109_1272816841.80681" 
-    capture_lex $P1952
-    .const 'Sub' $P1942 = "108_1272816841.80681" 
-    capture_lex $P1942
-    .const 'Sub' $P1932 = "107_1272816841.80681" 
-    capture_lex $P1932
-    .const 'Sub' $P1922 = "106_1272816841.80681" 
-    capture_lex $P1922
-    .const 'Sub' $P1894 = "105_1272816841.80681" 
+    .const 'Sub' $P1934 = "106_1273866388.36922" 
+    capture_lex $P1934
+    .const 'Sub' $P1917 = "105_1273866388.36922" 
+    capture_lex $P1917
+    .const 'Sub' $P1907 = "104_1273866388.36922" 
+    capture_lex $P1907
+    .const 'Sub' $P1894 = "103_1273866388.36922" 
     capture_lex $P1894
-    .const 'Sub' $P1877 = "104_1272816841.80681" 
-    capture_lex $P1877
-    .const 'Sub' $P1867 = "103_1272816841.80681" 
-    capture_lex $P1867
-    .const 'Sub' $P1854 = "102_1272816841.80681" 
-    capture_lex $P1854
-    .const 'Sub' $P1841 = "101_1272816841.80681" 
-    capture_lex $P1841
-    .const 'Sub' $P1828 = "100_1272816841.80681" 
-    capture_lex $P1828
-    .const 'Sub' $P1818 = "99_1272816841.80681" 
-    capture_lex $P1818
-    .const 'Sub' $P1789 = "98_1272816841.80681" 
-    capture_lex $P1789
-    .const 'Sub' $P1769 = "97_1272816841.80681" 
-    capture_lex $P1769
-    .const 'Sub' $P1759 = "96_1272816841.80681" 
-    capture_lex $P1759
-    .const 'Sub' $P1749 = "95_1272816841.80681" 
-    capture_lex $P1749
-    .const 'Sub' $P1722 = "94_1272816841.80681" 
-    capture_lex $P1722
-    .const 'Sub' $P1704 = "93_1272816841.80681" 
-    capture_lex $P1704
-    .const 'Sub' $P1694 = "92_1272816841.80681" 
-    capture_lex $P1694
-    .const 'Sub' $P1610 = "89_1272816841.80681" 
-    capture_lex $P1610
-    .const 'Sub' $P1600 = "88_1272816841.80681" 
-    capture_lex $P1600
-    .const 'Sub' $P1571 = "87_1272816841.80681" 
-    capture_lex $P1571
-    .const 'Sub' $P1529 = "86_1272816841.80681" 
+    .const 'Sub' $P1881 = "102_1273866388.36922" 
+    capture_lex $P1881
+    .const 'Sub' $P1868 = "101_1273866388.36922" 
+    capture_lex $P1868
+    .const 'Sub' $P1858 = "100_1273866388.36922" 
+    capture_lex $P1858
+    .const 'Sub' $P1829 = "99_1273866388.36922" 
+    capture_lex $P1829
+    .const 'Sub' $P1805 = "98_1273866388.36922" 
+    capture_lex $P1805
+    .const 'Sub' $P1795 = "97_1273866388.36922" 
+    capture_lex $P1795
+    .const 'Sub' $P1785 = "96_1273866388.36922" 
+    capture_lex $P1785
+    .const 'Sub' $P1758 = "95_1273866388.36922" 
+    capture_lex $P1758
+    .const 'Sub' $P1740 = "94_1273866388.36922" 
+    capture_lex $P1740
+    .const 'Sub' $P1730 = "93_1273866388.36922" 
+    capture_lex $P1730
+    .const 'Sub' $P1626 = "90_1273866388.36922" 
+    capture_lex $P1626
+    .const 'Sub' $P1616 = "89_1273866388.36922" 
+    capture_lex $P1616
+    .const 'Sub' $P1587 = "88_1273866388.36922" 
+    capture_lex $P1587
+    .const 'Sub' $P1545 = "87_1273866388.36922" 
+    capture_lex $P1545
+    .const 'Sub' $P1529 = "86_1273866388.36922" 
     capture_lex $P1529
-    .const 'Sub' $P1513 = "85_1272816841.80681" 
-    capture_lex $P1513
-    .const 'Sub' $P1504 = "84_1272816841.80681" 
-    capture_lex $P1504
-    .const 'Sub' $P1472 = "83_1272816841.80681" 
-    capture_lex $P1472
-    .const 'Sub' $P1373 = "80_1272816841.80681" 
-    capture_lex $P1373
-    .const 'Sub' $P1356 = "79_1272816841.80681" 
-    capture_lex $P1356
-    .const 'Sub' $P1336 = "78_1272816841.80681" 
-    capture_lex $P1336
-    .const 'Sub' $P1252 = "77_1272816841.80681" 
-    capture_lex $P1252
-    .const 'Sub' $P1228 = "75_1272816841.80681" 
-    capture_lex $P1228
-    .const 'Sub' $P1194 = "73_1272816841.80681" 
-    capture_lex $P1194
-    .const 'Sub' $P1144 = "71_1272816841.80681" 
-    capture_lex $P1144
-    .const 'Sub' $P1134 = "70_1272816841.80681" 
-    capture_lex $P1134
-    .const 'Sub' $P1124 = "69_1272816841.80681" 
-    capture_lex $P1124
-    .const 'Sub' $P1053 = "67_1272816841.80681" 
-    capture_lex $P1053
-    .const 'Sub' $P1036 = "66_1272816841.80681" 
-    capture_lex $P1036
-    .const 'Sub' $P1026 = "65_1272816841.80681" 
-    capture_lex $P1026
-    .const 'Sub' $P1016 = "64_1272816841.80681" 
-    capture_lex $P1016
-    .const 'Sub' $P1006 = "63_1272816841.80681" 
-    capture_lex $P1006
-    .const 'Sub' $P982 = "62_1272816841.80681" 
-    capture_lex $P982
-    .const 'Sub' $P929 = "61_1272816841.80681" 
-    capture_lex $P929
-    .const 'Sub' $P919 = "60_1272816841.80681" 
-    capture_lex $P919
-    .const 'Sub' $P830 = "58_1272816841.80681" 
-    capture_lex $P830
-    .const 'Sub' $P804 = "57_1272816841.80681" 
+    .const 'Sub' $P1520 = "85_1273866388.36922" 
+    capture_lex $P1520
+    .const 'Sub' $P1488 = "84_1273866388.36922" 
+    capture_lex $P1488
+    .const 'Sub' $P1389 = "81_1273866388.36922" 
+    capture_lex $P1389
+    .const 'Sub' $P1372 = "80_1273866388.36922" 
+    capture_lex $P1372
+    .const 'Sub' $P1352 = "79_1273866388.36922" 
+    capture_lex $P1352
+    .const 'Sub' $P1268 = "78_1273866388.36922" 
+    capture_lex $P1268
+    .const 'Sub' $P1244 = "76_1273866388.36922" 
+    capture_lex $P1244
+    .const 'Sub' $P1210 = "74_1273866388.36922" 
+    capture_lex $P1210
+    .const 'Sub' $P1160 = "72_1273866388.36922" 
+    capture_lex $P1160
+    .const 'Sub' $P1150 = "71_1273866388.36922" 
+    capture_lex $P1150
+    .const 'Sub' $P1140 = "70_1273866388.36922" 
+    capture_lex $P1140
+    .const 'Sub' $P1069 = "68_1273866388.36922" 
+    capture_lex $P1069
+    .const 'Sub' $P1052 = "67_1273866388.36922" 
+    capture_lex $P1052
+    .const 'Sub' $P1042 = "66_1273866388.36922" 
+    capture_lex $P1042
+    .const 'Sub' $P1032 = "65_1273866388.36922" 
+    capture_lex $P1032
+    .const 'Sub' $P1022 = "64_1273866388.36922" 
+    capture_lex $P1022
+    .const 'Sub' $P998 = "63_1273866388.36922" 
+    capture_lex $P998
+    .const 'Sub' $P945 = "62_1273866388.36922" 
+    capture_lex $P945
+    .const 'Sub' $P935 = "61_1273866388.36922" 
+    capture_lex $P935
+    .const 'Sub' $P846 = "59_1273866388.36922" 
+    capture_lex $P846
+    .const 'Sub' $P820 = "58_1273866388.36922" 
+    capture_lex $P820
+    .const 'Sub' $P804 = "57_1273866388.36922" 
     capture_lex $P804
-    .const 'Sub' $P788 = "56_1272816841.80681" 
-    capture_lex $P788
-    .const 'Sub' $P778 = "55_1272816841.80681" 
-    capture_lex $P778
-    .const 'Sub' $P768 = "54_1272816841.80681" 
-    capture_lex $P768
-    .const 'Sub' $P758 = "53_1272816841.80681" 
-    capture_lex $P758
-    .const 'Sub' $P748 = "52_1272816841.80681" 
-    capture_lex $P748
-    .const 'Sub' $P738 = "51_1272816841.80681" 
-    capture_lex $P738
-    .const 'Sub' $P728 = "50_1272816841.80681" 
-    capture_lex $P728
-    .const 'Sub' $P718 = "49_1272816841.80681" 
-    capture_lex $P718
-    .const 'Sub' $P708 = "48_1272816841.80681" 
-    capture_lex $P708
-    .const 'Sub' $P698 = "47_1272816841.80681" 
-    capture_lex $P698
-    .const 'Sub' $P688 = "46_1272816841.80681" 
-    capture_lex $P688
-    .const 'Sub' $P678 = "45_1272816841.80681" 
-    capture_lex $P678
-    .const 'Sub' $P668 = "44_1272816841.80681" 
-    capture_lex $P668
-    .const 'Sub' $P658 = "43_1272816841.80681" 
-    capture_lex $P658
-    .const 'Sub' $P640 = "42_1272816841.80681" 
-    capture_lex $P640
-    .const 'Sub' $P605 = "41_1272816841.80681" 
+    .const 'Sub' $P794 = "56_1273866388.36922" 
+    capture_lex $P794
+    .const 'Sub' $P784 = "55_1273866388.36922" 
+    capture_lex $P784
+    .const 'Sub' $P774 = "54_1273866388.36922" 
+    capture_lex $P774
+    .const 'Sub' $P764 = "53_1273866388.36922" 
+    capture_lex $P764
+    .const 'Sub' $P754 = "52_1273866388.36922" 
+    capture_lex $P754
+    .const 'Sub' $P744 = "51_1273866388.36922" 
+    capture_lex $P744
+    .const 'Sub' $P734 = "50_1273866388.36922" 
+    capture_lex $P734
+    .const 'Sub' $P724 = "49_1273866388.36922" 
+    capture_lex $P724
+    .const 'Sub' $P714 = "48_1273866388.36922" 
+    capture_lex $P714
+    .const 'Sub' $P704 = "47_1273866388.36922" 
+    capture_lex $P704
+    .const 'Sub' $P694 = "46_1273866388.36922" 
+    capture_lex $P694
+    .const 'Sub' $P684 = "45_1273866388.36922" 
+    capture_lex $P684
+    .const 'Sub' $P674 = "44_1273866388.36922" 
+    capture_lex $P674
+    .const 'Sub' $P656 = "43_1273866388.36922" 
+    capture_lex $P656
+    .const 'Sub' $P621 = "42_1273866388.36922" 
+    capture_lex $P621
+    .const 'Sub' $P605 = "41_1273866388.36922" 
     capture_lex $P605
-    .const 'Sub' $P589 = "40_1272816841.80681" 
-    capture_lex $P589
-    .const 'Sub' $P568 = "39_1272816841.80681" 
-    capture_lex $P568
-    .const 'Sub' $P548 = "38_1272816841.80681" 
-    capture_lex $P548
-    .const 'Sub' $P535 = "37_1272816841.80681" 
-    capture_lex $P535
-    .const 'Sub' $P509 = "36_1272816841.80681" 
-    capture_lex $P509
-    .const 'Sub' $P473 = "35_1272816841.80681" 
-    capture_lex $P473
-    .const 'Sub' $P456 = "34_1272816841.80681" 
-    capture_lex $P456
-    .const 'Sub' $P442 = "33_1272816841.80681" 
-    capture_lex $P442
-    .const 'Sub' $P389 = "31_1272816841.80681" 
-    capture_lex $P389
-    .const 'Sub' $P376 = "30_1272816841.80681" 
-    capture_lex $P376
-    .const 'Sub' $P357 = "29_1272816841.80681" 
-    capture_lex $P357
-    .const 'Sub' $P347 = "28_1272816841.80681" 
-    capture_lex $P347
-    .const 'Sub' $P337 = "27_1272816841.80681" 
-    capture_lex $P337
-    .const 'Sub' $P321 = "26_1272816841.80681" 
-    capture_lex $P321
-    .const 'Sub' $P261 = "24_1272816841.80681" 
-    capture_lex $P261
-    .const 'Sub' $P212 = "22_1272816841.80681" 
-    capture_lex $P212
-    .const 'Sub' $P193 = "21_1272816841.80681" 
-    capture_lex $P193
-    .const 'Sub' $P160 = "20_1272816841.80681" 
-    capture_lex $P160
-    .const 'Sub' $P150 = "19_1272816841.80681" 
-    capture_lex $P150
-    .const 'Sub' $P96 = "18_1272816841.80681" 
-    capture_lex $P96
-    .const 'Sub' $P81 = "17_1272816841.80681" 
-    capture_lex $P81
-    .const 'Sub' $P61 = "16_1272816841.80681" 
-    capture_lex $P61
-    .const 'Sub' $P26 = "13_1272816841.80681" 
-    capture_lex $P26
-    .const 'Sub' $P16 = "12_1272816841.80681" 
+    .const 'Sub' $P584 = "40_1273866388.36922" 
+    capture_lex $P584
+    .const 'Sub' $P564 = "39_1273866388.36922" 
+    capture_lex $P564
+    .const 'Sub' $P551 = "38_1273866388.36922" 
+    capture_lex $P551
+    .const 'Sub' $P525 = "37_1273866388.36922" 
+    capture_lex $P525
+    .const 'Sub' $P489 = "36_1273866388.36922" 
+    capture_lex $P489
+    .const 'Sub' $P472 = "35_1273866388.36922" 
+    capture_lex $P472
+    .const 'Sub' $P458 = "34_1273866388.36922" 
+    capture_lex $P458
+    .const 'Sub' $P405 = "32_1273866388.36922" 
+    capture_lex $P405
+    .const 'Sub' $P392 = "31_1273866388.36922" 
+    capture_lex $P392
+    .const 'Sub' $P372 = "30_1273866388.36922" 
+    capture_lex $P372
+    .const 'Sub' $P362 = "29_1273866388.36922" 
+    capture_lex $P362
+    .const 'Sub' $P352 = "28_1273866388.36922" 
+    capture_lex $P352
+    .const 'Sub' $P336 = "27_1273866388.36922" 
+    capture_lex $P336
+    .const 'Sub' $P276 = "25_1273866388.36922" 
+    capture_lex $P276
+    .const 'Sub' $P233 = "23_1273866388.36922" 
+    capture_lex $P233
+    .const 'Sub' $P214 = "22_1273866388.36922" 
+    capture_lex $P214
+    .const 'Sub' $P181 = "21_1273866388.36922" 
+    capture_lex $P181
+    .const 'Sub' $P171 = "20_1273866388.36922" 
+    capture_lex $P171
+    .const 'Sub' $P151 = "19_1273866388.36922" 
+    capture_lex $P151
+    .const 'Sub' $P100 = "18_1273866388.36922" 
+    capture_lex $P100
+    .const 'Sub' $P84 = "17_1273866388.36922" 
+    capture_lex $P84
+    .const 'Sub' $P63 = "16_1273866388.36922" 
+    capture_lex $P63
+    .const 'Sub' $P27 = "13_1273866388.36922" 
+    capture_lex $P27
+    .const 'Sub' $P16 = "12_1273866388.36922" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
-    unless_null $P15, vivify_130
+    unless_null $P15, vivify_134
     $P15 = root_new ['parrot';'ResizablePMCArray']
     set_global "@BLOCK", $P15
-  vivify_130:
-.annotate "line", 9
-    .const 'Sub' $P16 = "12_1272816841.80681" 
-    capture_lex $P16
-    .lex "xblock_immediate", $P16
-.annotate "line", 14
-    .const 'Sub' $P26 = "13_1272816841.80681" 
-    capture_lex $P26
-    .lex "block_immediate", $P26
-.annotate "line", 24
-    .const 'Sub' $P61 = "16_1272816841.80681" 
-    capture_lex $P61
-    .lex "vivitype", $P61
-.annotate "line", 43
-    .const 'Sub' $P81 = "17_1272816841.80681" 
-    capture_lex $P81
-    .lex "colonpair_str", $P81
-.annotate "line", 190
-    .const 'Sub' $P96 = "18_1272816841.80681" 
-    capture_lex $P96
-    .lex "push_block_handler", $P96
-.annotate "line", 3
-    get_global $P146, "@BLOCK"
-.annotate "line", 5
-    find_lex $P147, "xblock_immediate"
-    find_lex $P148, "block_immediate"
-    find_lex $P149, "vivitype"
-.annotate "line", 35
-    find_lex $P192, "colonpair_str"
-.annotate "line", 183
-    find_lex $P588, "push_block_handler"
-.annotate "line", 769
-    get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106" 
-    capture_lex $P2107
-    $P2169 = $P2107()
-.annotate "line", 3
-    .return ($P2169)
+  vivify_134:
+.annotate 'line', 9
+    .const 'Sub' $P16 = "12_1273866388.36922" 
+    newclosure $P26, $P16
+    .lex "xblock_immediate", $P26
+.annotate 'line', 14
+    .const 'Sub' $P27 = "13_1273866388.36922" 
+    newclosure $P62, $P27
+    .lex "block_immediate", $P62
+.annotate 'line', 24
+    .const 'Sub' $P63 = "16_1273866388.36922" 
+    newclosure $P83, $P63
+    .lex "vivitype", $P83
+.annotate 'line', 43
+    .const 'Sub' $P84 = "17_1273866388.36922" 
+    newclosure $P99, $P84
+    .lex "colonpair_str", $P99
+.annotate 'line', 189
+    .const 'Sub' $P100 = "18_1273866388.36922" 
+    newclosure $P150, $P100
+    .lex "push_block_handler", $P150
+.annotate 'line', 769
+    .const 'Sub' $P151 = "19_1273866388.36922" 
+    newclosure $P166, $P151
+    .lex "control", $P166
+.annotate 'line', 3
+    get_global $P167, "@BLOCK"
+.annotate 'line', 5
+    find_lex $P168, "xblock_immediate"
+    find_lex $P169, "block_immediate"
+    find_lex $P170, "vivitype"
+.annotate 'line', 35
+    find_lex $P213, "colonpair_str"
+.annotate 'line', 182
+    find_lex $P604, "push_block_handler"
+.annotate 'line', 760
+    find_lex $P2136, "control"
+.annotate 'line', 791
+    get_hll_global $P2169, ["NQP";"RegexActions"], "_block2168" 
+    capture_lex $P2169
+    $P2232 = $P2169()
+.annotate 'line', 3
+    .return ($P2232)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post128") :outer("11_1272816841.80681")
-.annotate "line", 3
+.sub "" :load :init :subid("post132") :outer("11_1273866388.36922")
+.annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate "line", 5
-    .const 'Sub' $P2171 = "126_1272816841.80681" 
-    capture_lex $P2171
-    $P2171()
-    $P2174 = get_root_global ["parrot"], "P6metaclass"
-    $P2174."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+.annotate 'line', 5
+    .const 'Sub' $P2234 = "130_1273866388.36922" 
+    capture_lex $P2234
+    $P2234()
+    $P2237 = get_root_global ["parrot"], "P6metaclass"
+    $P2237."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2170"  :anon :subid("126_1272816841.80681") :outer("11_1272816841.80681")
-.annotate "line", 6
-    get_global $P2172, "@BLOCK"
-    unless_null $P2172, vivify_129
-    $P2172 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P2172
-  vivify_129:
- $P2173 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P2173
-.annotate "line", 5
-    .return ($P2173)
+.sub "_block2233"  :anon :subid("130_1273866388.36922") :outer("11_1273866388.36922")
+.annotate 'line', 6
+    get_global $P2235, "@BLOCK"
+    unless_null $P2235, vivify_133
+    $P2235 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P2235
+  vivify_133:
+ $P2236 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2236
+.annotate 'line', 5
+    .return ($P2236)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1272816841.80681") :outer("11_1272816841.80681")
+.sub "xblock_immediate"  :subid("12_1273866388.36922") :outer("11_1273866388.36922")
     .param pmc param_19
-.annotate "line", 9
+.annotate 'line', 9
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
     $P18."handle_types"(57)
     push_eh $P18
     .lex "$xblock", param_19
-.annotate "line", 10
+.annotate 'line', 10
     find_lex $P20, "$xblock"
-    unless_null $P20, vivify_131
+    unless_null $P20, vivify_135
     $P20 = root_new ['parrot';'ResizablePMCArray']
-  vivify_131:
+  vivify_135:
     set $P21, $P20[1]
-    unless_null $P21, vivify_132
+    unless_null $P21, vivify_136
     new $P21, "Undef"
-  vivify_132:
+  vivify_136:
     $P22 = "block_immediate"($P21)
     find_lex $P23, "$xblock"
-    unless_null $P23, vivify_133
+    unless_null $P23, vivify_137
     $P23 = root_new ['parrot';'ResizablePMCArray']
     store_lex "$xblock", $P23
-  vivify_133:
+  vivify_137:
     set $P23[1], $P22
     find_lex $P24, "$xblock"
-.annotate "line", 9
+.annotate 'line', 9
     .return ($P24)
   control_17:
     .local pmc exception 
@@ -16234,2202 +16556,2188 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1272816841.80681") :outer("11_1272816841.80681")
-    .param pmc param_29
-.annotate "line", 14
-    .const 'Sub' $P39 = "14_1272816841.80681" 
-    capture_lex $P39
-    new $P28, 'ExceptionHandler'
-    set_addr $P28, control_27
-    $P28."handle_types"(57)
-    push_eh $P28
-    .lex "$block", param_29
-.annotate "line", 15
-    find_lex $P30, "$block"
-    $P30."blocktype"("immediate")
-.annotate "line", 16
-    find_lex $P34, "$block"
-    $P35 = $P34."symtable"()
-    unless $P35, unless_33
-    set $P32, $P35
-    goto unless_33_end
-  unless_33:
-    find_lex $P36, "$block"
-    $P37 = $P36."handlers"()
-    set $P32, $P37
-  unless_33_end:
-    if $P32, unless_31_end
-    .const 'Sub' $P39 = "14_1272816841.80681" 
-    capture_lex $P39
-    $P39()
-  unless_31_end:
-    find_lex $P59, "$block"
-.annotate "line", 14
-    .return ($P59)
-  control_27:
+.sub "block_immediate"  :subid("13_1273866388.36922") :outer("11_1273866388.36922")
+    .param pmc param_30
+.annotate 'line', 14
+    .const 'Sub' $P40 = "14_1273866388.36922" 
+    capture_lex $P40
+    new $P29, 'ExceptionHandler'
+    set_addr $P29, control_28
+    $P29."handle_types"(57)
+    push_eh $P29
+    .lex "$block", param_30
+.annotate 'line', 15
+    find_lex $P31, "$block"
+    $P31."blocktype"("immediate")
+.annotate 'line', 16
+    find_lex $P35, "$block"
+    $P36 = $P35."symtable"()
+    unless $P36, unless_34
+    set $P33, $P36
+    goto unless_34_end
+  unless_34:
+    find_lex $P37, "$block"
+    $P38 = $P37."handlers"()
+    set $P33, $P38
+  unless_34_end:
+    if $P33, unless_32_end
+    .const 'Sub' $P40 = "14_1273866388.36922" 
+    capture_lex $P40
+    $P40()
+  unless_32_end:
+    find_lex $P60, "$block"
+.annotate 'line', 14
+    .return ($P60)
+  control_28:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P60, exception, "payload"
-    .return ($P60)
+    getattribute $P61, exception, "payload"
+    .return ($P61)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block38"  :anon :subid("14_1272816841.80681") :outer("13_1272816841.80681")
-.annotate "line", 16
-    .const 'Sub' $P50 = "15_1272816841.80681" 
-    capture_lex $P50
-.annotate "line", 17
-    new $P40, "Undef"
-    .lex "$stmts", $P40
-    get_hll_global $P41, ["PAST"], "Stmts"
-    find_lex $P42, "$block"
-    $P43 = $P41."new"($P42 :named("node"))
-    store_lex "$stmts", $P43
-.annotate "line", 18
-    find_lex $P45, "$block"
-    $P46 = $P45."list"()
-    defined $I47, $P46
-    unless $I47, for_undef_134
-    iter $P44, $P46
-    new $P56, 'ExceptionHandler'
-    set_addr $P56, loop55_handler
-    $P56."handle_types"(64, 66, 65)
-    push_eh $P56
-  loop55_test:
-    unless $P44, loop55_done
-    shift $P48, $P44
-  loop55_redo:
-    .const 'Sub' $P50 = "15_1272816841.80681" 
-    capture_lex $P50
-    $P50($P48)
-  loop55_next:
-    goto loop55_test
-  loop55_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P57, exception, 'type'
-    eq $P57, 64, loop55_next
-    eq $P57, 66, loop55_redo
-  loop55_done:
+.sub "_block39"  :anon :subid("14_1273866388.36922") :outer("13_1273866388.36922")
+.annotate 'line', 16
+    .const 'Sub' $P51 = "15_1273866388.36922" 
+    capture_lex $P51
+.annotate 'line', 17
+    new $P41, "Undef"
+    .lex "$stmts", $P41
+    get_hll_global $P42, ["PAST"], "Stmts"
+    find_lex $P43, "$block"
+    $P44 = $P42."new"($P43 :named("node"))
+    store_lex "$stmts", $P44
+.annotate 'line', 18
+    find_lex $P46, "$block"
+    $P47 = $P46."list"()
+    defined $I48, $P47
+    unless $I48, for_undef_138
+    iter $P45, $P47
+    new $P57, 'ExceptionHandler'
+    set_addr $P57, loop56_handler
+    $P57."handle_types"(64, 66, 65)
+    push_eh $P57
+  loop56_test:
+    unless $P45, loop56_done
+    shift $P49, $P45
+  loop56_redo:
+    .const 'Sub' $P51 = "15_1273866388.36922" 
+    capture_lex $P51
+    $P51($P49)
+  loop56_next:
+    goto loop56_test
+  loop56_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P58, exception, 'type'
+    eq $P58, 64, loop56_next
+    eq $P58, 66, loop56_redo
+  loop56_done:
     pop_eh 
-  for_undef_134:
-.annotate "line", 19
-    find_lex $P58, "$stmts"
-    store_lex "$block", $P58
-.annotate "line", 16
-    .return ($P58)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block49"  :anon :subid("15_1272816841.80681") :outer("14_1272816841.80681")
-    .param pmc param_51
-.annotate "line", 18
-    .lex "$_", param_51
-    find_lex $P52, "$stmts"
-    find_lex $P53, "$_"
-    $P54 = $P52."push"($P53)
-    .return ($P54)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "vivitype"  :subid("16_1272816841.80681") :outer("11_1272816841.80681")
-    .param pmc param_64
-.annotate "line", 24
-    new $P63, 'ExceptionHandler'
-    set_addr $P63, control_62
-    $P63."handle_types"(57)
-    push_eh $P63
-    .lex "$sigil", param_64
-.annotate "line", 25
-    find_lex $P67, "$sigil"
-    set $S68, $P67
-    iseq $I69, $S68, "%"
-    if $I69, if_66
-.annotate "line", 27
-    find_lex $P74, "$sigil"
-    set $S75, $P74
-    iseq $I76, $S75, "@"
-    if $I76, if_73
-    new $P79, "String"
-    assign $P79, "Undef"
-    set $P72, $P79
-    goto if_73_end
-  if_73:
-.annotate "line", 28
-    get_hll_global $P77, ["PAST"], "Op"
-    $P78 = $P77."new"("    %r = root_new ['parrot';'ResizablePMCArray']" :named("inline"))
-    set $P72, $P78
-  if_73_end:
-    set $P65, $P72
-.annotate "line", 25
-    goto if_66_end
-  if_66:
-.annotate "line", 26
-    get_hll_global $P70, ["PAST"], "Op"
-    $P71 = $P70."new"("    %r = root_new ['parrot';'Hash']" :named("inline"))
-    set $P65, $P71
-  if_66_end:
-.annotate "line", 24
-    .return ($P65)
-  control_62:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P80, exception, "payload"
-    .return ($P80)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1272816841.80681") :outer("11_1272816841.80681")
-    .param pmc param_84
-.annotate "line", 43
-    new $P83, 'ExceptionHandler'
-    set_addr $P83, control_82
-    $P83."handle_types"(57)
-    push_eh $P83
-    .lex "$ast", param_84
-.annotate "line", 44
-    get_hll_global $P87, ["PAST"], "Op"
-    find_lex $P88, "$ast"
-    $P89 = $P87."ACCEPTS"($P88)
-    if $P89, if_86
-.annotate "line", 46
+  for_undef_138:
+.annotate 'line', 19
+    find_lex $P59, "$stmts"
+    store_lex "$block", $P59
+.annotate 'line', 16
+    .return ($P59)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block50"  :anon :subid("15_1273866388.36922") :outer("14_1273866388.36922")
+    .param pmc param_52
+.annotate 'line', 18
+    .lex "$_", param_52
+    find_lex $P53, "$stmts"
+    find_lex $P54, "$_"
+    $P55 = $P53."push"($P54)
+    .return ($P55)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "vivitype"  :subid("16_1273866388.36922") :outer("11_1273866388.36922")
+    .param pmc param_66
+.annotate 'line', 24
+    new $P65, 'ExceptionHandler'
+    set_addr $P65, control_64
+    $P65."handle_types"(57)
+    push_eh $P65
+    .lex "$sigil", param_66
+.annotate 'line', 25
+    find_lex $P69, "$sigil"
+    set $S70, $P69
+    iseq $I71, $S70, "%"
+    if $I71, if_68
+.annotate 'line', 27
+    find_lex $P76, "$sigil"
+    set $S77, $P76
+    iseq $I78, $S77, "@"
+    if $I78, if_75
+    new $P81, "String"
+    assign $P81, "Undef"
+    set $P74, $P81
+    goto if_75_end
+  if_75:
+.annotate 'line', 28
+    get_hll_global $P79, ["PAST"], "Op"
+    $P80 = $P79."new"("    %r = root_new ['parrot';'ResizablePMCArray']" :named("inline"))
+    set $P74, $P80
+  if_75_end:
+    set $P67, $P74
+.annotate 'line', 25
+    goto if_68_end
+  if_68:
+.annotate 'line', 26
+    get_hll_global $P72, ["PAST"], "Op"
+    $P73 = $P72."new"("    %r = root_new ['parrot';'Hash']" :named("inline"))
+    set $P67, $P73
+  if_68_end:
+.annotate 'line', 24
+    .return ($P67)
+  control_64:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P82, exception, "payload"
+    .return ($P82)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "colonpair_str"  :subid("17_1273866388.36922") :outer("11_1273866388.36922")
+    .param pmc param_87
+.annotate 'line', 43
+    new $P86, 'ExceptionHandler'
+    set_addr $P86, control_85
+    $P86."handle_types"(57)
+    push_eh $P86
+    .lex "$ast", param_87
+.annotate 'line', 44
+    get_hll_global $P90, ["PAST"], "Op"
+    find_lex $P91, "$ast"
+    $P92 = $P90."ACCEPTS"($P91)
+    if $P92, if_89
+.annotate 'line', 46
+    find_lex $P96, "$ast"
+    $P97 = $P96."value"()
+    set $P88, $P97
+.annotate 'line', 44
+    goto if_89_end
+  if_89:
+.annotate 'line', 45
     find_lex $P93, "$ast"
-    $P94 = $P93."value"()
-    set $P85, $P94
-.annotate "line", 44
-    goto if_86_end
-  if_86:
-.annotate "line", 45
-    find_lex $P90, "$ast"
-    $P91 = $P90."list"()
-    join $S92, " ", $P91
-    new $P85, 'String'
-    set $P85, $S92
-  if_86_end:
-.annotate "line", 43
-    .return ($P85)
-  control_82:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P95, exception, "payload"
-    .return ($P95)
+    $P94 = $P93."list"()
+    join $S95, " ", $P94
+    new $P88, 'String'
+    set $P88, $S95
+  if_89_end:
+.annotate 'line', 43
+    .return ($P88)
+  control_85:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P98, exception, "payload"
+    .return ($P98)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1272816841.80681") :outer("11_1272816841.80681")
-    .param pmc param_99
-    .param pmc param_100
-.annotate "line", 190
-    new $P98, 'ExceptionHandler'
-    set_addr $P98, control_97
-    $P98."handle_types"(57)
-    push_eh $P98
-    .lex "$/", param_99
-    .lex "$block", param_100
-.annotate "line", 191
-    get_global $P102, "@BLOCK"
-    unless_null $P102, vivify_135
-    $P102 = root_new ['parrot';'ResizablePMCArray']
-  vivify_135:
-    set $P103, $P102[0]
-    unless_null $P103, vivify_136
-    new $P103, "Undef"
-  vivify_136:
-    $P104 = $P103."handlers"()
-    if $P104, unless_101_end
-.annotate "line", 192
-    get_global $P105, "@BLOCK"
-    unless_null $P105, vivify_137
-    $P105 = root_new ['parrot';'ResizablePMCArray']
-  vivify_137:
-    set $P106, $P105[0]
-    unless_null $P106, vivify_138
-    new $P106, "Undef"
-  vivify_138:
-    new $P107, "ResizablePMCArray"
-    $P106."handlers"($P107)
-  unless_101_end:
-.annotate "line", 194
-    find_lex $P109, "$block"
-    $P110 = $P109."arity"()
-    if $P110, unless_108_end
-.annotate "line", 195
-    find_lex $P111, "$block"
-.annotate "line", 196
-    get_hll_global $P112, ["PAST"], "Op"
-.annotate "line", 197
-    get_hll_global $P113, ["PAST"], "Var"
-    $P114 = $P113."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl"))
-.annotate "line", 198
-    get_hll_global $P115, ["PAST"], "Var"
-    $P116 = $P115."new"("lexical" :named("scope"), "$_" :named("name"))
-    $P117 = $P112."new"($P114, $P116, "bind" :named("pasttype"))
-.annotate "line", 196
-    $P111."unshift"($P117)
-.annotate "line", 201
-    find_lex $P118, "$block"
-    get_hll_global $P119, ["PAST"], "Var"
-    $P120 = $P119."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P118."unshift"($P120)
-.annotate "line", 202
-    find_lex $P121, "$block"
-    $P121."symbol"("$_", "lexical" :named("scope"))
-.annotate "line", 203
-    find_lex $P122, "$block"
-    $P122."symbol"("$!", "lexical" :named("scope"))
-.annotate "line", 204
-    find_lex $P123, "$block"
-    $P123."arity"(1)
-  unless_108_end:
-.annotate "line", 206
-    find_lex $P124, "$block"
-    $P124."blocktype"("declaration")
-.annotate "line", 207
-    get_global $P125, "@BLOCK"
-    unless_null $P125, vivify_139
-    $P125 = root_new ['parrot';'ResizablePMCArray']
+.sub "push_block_handler"  :subid("18_1273866388.36922") :outer("11_1273866388.36922")
+    .param pmc param_103
+    .param pmc param_104
+.annotate 'line', 189
+    new $P102, 'ExceptionHandler'
+    set_addr $P102, control_101
+    $P102."handle_types"(57)
+    push_eh $P102
+    .lex "$/", param_103
+    .lex "$block", param_104
+.annotate 'line', 190
+    get_global $P106, "@BLOCK"
+    unless_null $P106, vivify_139
+    $P106 = root_new ['parrot';'ResizablePMCArray']
   vivify_139:
-    set $P126, $P125[0]
-    unless_null $P126, vivify_140
-    new $P126, "Undef"
+    set $P107, $P106[0]
+    unless_null $P107, vivify_140
+    new $P107, "Undef"
   vivify_140:
-    $P127 = $P126."handlers"()
-.annotate "line", 208
-    get_hll_global $P128, ["PAST"], "Control"
-    find_lex $P129, "$/"
-.annotate "line", 210
-    get_hll_global $P130, ["PAST"], "Stmts"
-.annotate "line", 211
-    get_hll_global $P131, ["PAST"], "Op"
-    find_lex $P132, "$block"
-.annotate "line", 213
-    get_hll_global $P133, ["PAST"], "Var"
-    $P134 = $P133."new"("register" :named("scope"), "exception" :named("name"))
-    $P135 = $P131."new"($P132, $P134, "call" :named("pasttype"))
-.annotate "line", 215
-    get_hll_global $P136, ["PAST"], "Op"
-.annotate "line", 216
+    $P108 = $P107."handlers"()
+    if $P108, unless_105_end
+.annotate 'line', 191
+    get_global $P109, "@BLOCK"
+    unless_null $P109, vivify_141
+    $P109 = root_new ['parrot';'ResizablePMCArray']
+  vivify_141:
+    set $P110, $P109[0]
+    unless_null $P110, vivify_142
+    new $P110, "Undef"
+  vivify_142:
+    new $P111, "ResizablePMCArray"
+    $P110."handlers"($P111)
+  unless_105_end:
+.annotate 'line', 193
+    find_lex $P113, "$block"
+    $P114 = $P113."arity"()
+    if $P114, unless_112_end
+.annotate 'line', 194
+    find_lex $P115, "$block"
+.annotate 'line', 195
+    get_hll_global $P116, ["PAST"], "Op"
+.annotate 'line', 196
+    get_hll_global $P117, ["PAST"], "Var"
+    $P118 = $P117."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl"))
+.annotate 'line', 197
+    get_hll_global $P119, ["PAST"], "Var"
+    $P120 = $P119."new"("lexical" :named("scope"), "$_" :named("name"))
+    $P121 = $P116."new"($P118, $P120, "bind" :named("pasttype"))
+.annotate 'line', 195
+    $P115."unshift"($P121)
+.annotate 'line', 200
+    find_lex $P122, "$block"
+    get_hll_global $P123, ["PAST"], "Var"
+    $P124 = $P123."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P122."unshift"($P124)
+.annotate 'line', 201
+    find_lex $P125, "$block"
+    $P125."symbol"("$_", "lexical" :named("scope"))
+.annotate 'line', 202
+    find_lex $P126, "$block"
+    $P126."symbol"("$!", "lexical" :named("scope"))
+.annotate 'line', 203
+    find_lex $P127, "$block"
+    $P127."arity"(1)
+  unless_112_end:
+.annotate 'line', 205
+    find_lex $P128, "$block"
+    $P128."blocktype"("declaration")
+.annotate 'line', 206
+    get_global $P129, "@BLOCK"
+    unless_null $P129, vivify_143
+    $P129 = root_new ['parrot';'ResizablePMCArray']
+  vivify_143:
+    set $P130, $P129[0]
+    unless_null $P130, vivify_144
+    new $P130, "Undef"
+  vivify_144:
+    $P131 = $P130."handlers"()
+.annotate 'line', 207
+    get_hll_global $P132, ["PAST"], "Control"
+    find_lex $P133, "$/"
+.annotate 'line', 209
+    get_hll_global $P134, ["PAST"], "Stmts"
+.annotate 'line', 210
+    get_hll_global $P135, ["PAST"], "Op"
+    find_lex $P136, "$block"
+.annotate 'line', 212
     get_hll_global $P137, ["PAST"], "Var"
-.annotate "line", 217
-    get_hll_global $P138, ["PAST"], "Var"
-    $P139 = $P138."new"("register" :named("scope"), "exception" :named("name"))
-    $P140 = $P137."new"($P139, "handled", "keyed" :named("scope"))
-.annotate "line", 216
-    $P141 = $P136."new"($P140, 1, "bind" :named("pasttype"))
-.annotate "line", 215
-    $P142 = $P130."new"($P135, $P141)
-.annotate "line", 210
-    $P143 = $P128."new"($P142, $P129 :named("node"))
-.annotate "line", 208
-    $P144 = $P127."unshift"($P143)
-.annotate "line", 190
-    .return ($P144)
-  control_97:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P145, exception, "payload"
-    .return ($P145)
+    $P138 = $P137."new"("register" :named("scope"), "exception" :named("name"))
+    $P139 = $P135."new"($P136, $P138, "call" :named("pasttype"))
+.annotate 'line', 214
+    get_hll_global $P140, ["PAST"], "Op"
+.annotate 'line', 215
+    get_hll_global $P141, ["PAST"], "Var"
+.annotate 'line', 216
+    get_hll_global $P142, ["PAST"], "Var"
+    $P143 = $P142."new"("register" :named("scope"), "exception" :named("name"))
+    $P144 = $P141."new"($P143, "handled", "keyed" :named("scope"))
+.annotate 'line', 215
+    $P145 = $P140."new"($P144, 1, "bind" :named("pasttype"))
+.annotate 'line', 214
+    $P146 = $P134."new"($P139, $P145)
+.annotate 'line', 209
+    $P147 = $P132."new"($P146, $P133 :named("node"))
+.annotate 'line', 207
+    $P148 = $P131."unshift"($P147)
+.annotate 'line', 189
+    .return ($P148)
+  control_101:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P149, exception, "payload"
+    .return ($P149)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("19_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_153
-.annotate "line", 33
-    new $P152, 'ExceptionHandler'
-    set_addr $P152, control_151
-    $P152."handle_types"(57)
-    push_eh $P152
-    .lex "self", self
-    .lex "$/", param_153
-    find_lex $P154, "$/"
-    find_lex $P155, "$/"
-    unless_null $P155, vivify_141
-    $P155 = root_new ['parrot';'Hash']
-  vivify_141:
-    set $P156, $P155["comp_unit"]
-    unless_null $P156, vivify_142
-    new $P156, "Undef"
-  vivify_142:
-    $P157 = $P156."ast"()
-    $P158 = $P154."!make"($P157)
-    .return ($P158)
-  control_151:
+.sub "control"  :subid("19_1273866388.36922") :outer("11_1273866388.36922")
+    .param pmc param_154
+    .param pmc param_155
+.annotate 'line', 769
+    new $P153, 'ExceptionHandler'
+    set_addr $P153, control_152
+    $P153."handle_types"(57)
+    push_eh $P153
+    .lex "$/", param_154
+    .lex "$id", param_155
+.annotate 'line', 770
+    find_lex $P156, "$/"
+    get_hll_global $P157, ["PAST"], "Op"
+    find_lex $P158, "$/"
+.annotate 'line', 776
+    new $P159, "String"
+    assign $P159, "    %r[\"type\"] = "
+    find_lex $P160, "$id"
+    concat $P161, $P159, $P160
+    new $P162, "ResizablePMCArray"
+    push $P162, ".include \"except_types.pasm\""
+    push $P162, "    %r = new \"Exception\""
+    push $P162, $P161
+    push $P162, "    throw %r"
+    $P163 = $P157."new"($P158 :named("node"), "inline" :named("pasttype"), $P162 :named("inline"))
+.annotate 'line', 770
+    $P164 = $P156."!make"($P163)
+.annotate 'line', 769
+    .return ($P164)
+  control_152:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P159, exception, "payload"
-    .return ($P159)
+    getattribute $P165, exception, "payload"
+    .return ($P165)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("20_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_163
-.annotate "line", 35
-    new $P162, 'ExceptionHandler'
-    set_addr $P162, control_161
-    $P162."handle_types"(57)
-    push_eh $P162
-    .lex "self", self
-    .lex "$/", param_163
-.annotate "line", 36
-    find_lex $P164, "$/"
-.annotate "line", 37
-    find_lex $P167, "$/"
-    unless_null $P167, vivify_143
-    $P167 = root_new ['parrot';'Hash']
-  vivify_143:
-    set $P168, $P167["colonpair"]
-    unless_null $P168, vivify_144
-    new $P168, "Undef"
-  vivify_144:
-    if $P168, if_166
-.annotate "line", 39
-    find_lex $P188, "$/"
-    set $S189, $P188
-    new $P165, 'String'
-    set $P165, $S189
-.annotate "line", 37
-    goto if_166_end
-  if_166:
-    find_lex $P169, "$/"
-    unless_null $P169, vivify_145
-    $P169 = root_new ['parrot';'Hash']
+.sub "TOP"  :subid("20_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_174
+.annotate 'line', 33
+    new $P173, 'ExceptionHandler'
+    set_addr $P173, control_172
+    $P173."handle_types"(57)
+    push_eh $P173
+    .lex "self", self
+    .lex "$/", param_174
+    find_lex $P175, "$/"
+    find_lex $P176, "$/"
+    unless_null $P176, vivify_145
+    $P176 = root_new ['parrot';'Hash']
   vivify_145:
-    set $P170, $P169["identifier"]
-    unless_null $P170, vivify_146
-    new $P170, "Undef"
+    set $P177, $P176["comp_unit"]
+    unless_null $P177, vivify_146
+    new $P177, "Undef"
   vivify_146:
-    set $S171, $P170
-    new $P172, 'String'
-    set $P172, $S171
-    concat $P173, $P172, ":"
-    find_lex $P174, "$/"
-    unless_null $P174, vivify_147
-    $P174 = root_new ['parrot';'Hash']
-  vivify_147:
-    set $P175, $P174["colonpair"]
-    unless_null $P175, vivify_148
-    $P175 = root_new ['parrot';'ResizablePMCArray']
-  vivify_148:
-    set $P176, $P175[0]
-    unless_null $P176, vivify_149
-    new $P176, "Undef"
-  vivify_149:
-    $P177 = $P176."ast"()
-    $S178 = $P177."named"()
-    concat $P179, $P173, $S178
-    concat $P180, $P179, "<"
-.annotate "line", 38
-    find_lex $P181, "$/"
-    unless_null $P181, vivify_150
-    $P181 = root_new ['parrot';'Hash']
-  vivify_150:
-    set $P182, $P181["colonpair"]
-    unless_null $P182, vivify_151
-    $P182 = root_new ['parrot';'ResizablePMCArray']
-  vivify_151:
-    set $P183, $P182[0]
-    unless_null $P183, vivify_152
-    new $P183, "Undef"
-  vivify_152:
-    $P184 = $P183."ast"()
-    $S185 = "colonpair_str"($P184)
-    concat $P186, $P180, $S185
-    concat $P187, $P186, ">"
-    set $P165, $P187
-  if_166_end:
-.annotate "line", 37
-    $P190 = $P164."!make"($P165)
-.annotate "line", 35
-    .return ($P190)
-  control_161:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P191, exception, "payload"
-    .return ($P191)
+    $P178 = $P177."ast"()
+    $P179 = $P175."!make"($P178)
+    .return ($P179)
+  control_172:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P180, exception, "payload"
+    .return ($P180)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("21_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_196
-.annotate "line", 49
-    new $P195, 'ExceptionHandler'
-    set_addr $P195, control_194
-    $P195."handle_types"(57)
-    push_eh $P195
+.sub "deflongname"  :subid("21_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_184
+.annotate 'line', 35
+    new $P183, 'ExceptionHandler'
+    set_addr $P183, control_182
+    $P183."handle_types"(57)
+    push_eh $P183
     .lex "self", self
-    .lex "$/", param_196
-.annotate "line", 50
+    .lex "$/", param_184
+.annotate 'line', 36
+    find_lex $P185, "$/"
+.annotate 'line', 37
+    find_lex $P188, "$/"
+    unless_null $P188, vivify_147
+    $P188 = root_new ['parrot';'Hash']
+  vivify_147:
+    set $P189, $P188["colonpair"]
+    unless_null $P189, vivify_148
+    new $P189, "Undef"
+  vivify_148:
+    if $P189, if_187
+.annotate 'line', 39
+    find_lex $P209, "$/"
+    set $S210, $P209
+    new $P186, 'String'
+    set $P186, $S210
+.annotate 'line', 37
+    goto if_187_end
+  if_187:
+    find_lex $P190, "$/"
+    unless_null $P190, vivify_149
+    $P190 = root_new ['parrot';'Hash']
+  vivify_149:
+    set $P191, $P190["identifier"]
+    unless_null $P191, vivify_150
+    new $P191, "Undef"
+  vivify_150:
+    set $S192, $P191
+    new $P193, 'String'
+    set $P193, $S192
+    concat $P194, $P193, ":"
+    find_lex $P195, "$/"
+    unless_null $P195, vivify_151
+    $P195 = root_new ['parrot';'Hash']
+  vivify_151:
+    set $P196, $P195["colonpair"]
+    unless_null $P196, vivify_152
+    $P196 = root_new ['parrot';'ResizablePMCArray']
+  vivify_152:
+    set $P197, $P196[0]
+    unless_null $P197, vivify_153
     new $P197, "Undef"
-    .lex "$past", $P197
-.annotate "line", 51
-    new $P198, "Undef"
-    .lex "$BLOCK", $P198
-.annotate "line", 50
-    find_lex $P199, "$/"
-    unless_null $P199, vivify_153
-    $P199 = root_new ['parrot';'Hash']
   vivify_153:
-    set $P200, $P199["statementlist"]
-    unless_null $P200, vivify_154
-    new $P200, "Undef"
+    $P198 = $P197."ast"()
+    $S199 = $P198."named"()
+    concat $P200, $P194, $S199
+    concat $P201, $P200, "<"
+.annotate 'line', 38
+    find_lex $P202, "$/"
+    unless_null $P202, vivify_154
+    $P202 = root_new ['parrot';'Hash']
   vivify_154:
-    $P201 = $P200."ast"()
-    store_lex "$past", $P201
-.annotate "line", 51
-    get_global $P202, "@BLOCK"
-    $P203 = $P202."shift"()
-    store_lex "$BLOCK", $P203
-.annotate "line", 52
-    find_lex $P204, "$BLOCK"
-    find_lex $P205, "$past"
-    $P204."push"($P205)
-.annotate "line", 53
-    find_lex $P206, "$BLOCK"
-    find_lex $P207, "$/"
-    $P206."node"($P207)
-.annotate "line", 54
-    find_lex $P208, "$/"
-    find_lex $P209, "$BLOCK"
-    $P210 = $P208."!make"($P209)
-.annotate "line", 49
-    .return ($P210)
-  control_194:
+    set $P203, $P202["colonpair"]
+    unless_null $P203, vivify_155
+    $P203 = root_new ['parrot';'ResizablePMCArray']
+  vivify_155:
+    set $P204, $P203[0]
+    unless_null $P204, vivify_156
+    new $P204, "Undef"
+  vivify_156:
+    $P205 = $P204."ast"()
+    $S206 = "colonpair_str"($P205)
+    concat $P207, $P201, $S206
+    concat $P208, $P207, ">"
+    set $P186, $P208
+  if_187_end:
+.annotate 'line', 37
+    $P211 = $P185."!make"($P186)
+.annotate 'line', 35
+    .return ($P211)
+  control_182:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P211, exception, "payload"
-    .return ($P211)
+    getattribute $P212, exception, "payload"
+    .return ($P212)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("22_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_215
-.annotate "line", 57
-    .const 'Sub' $P229 = "23_1272816841.80681" 
-    capture_lex $P229
-    new $P214, 'ExceptionHandler'
-    set_addr $P214, control_213
-    $P214."handle_types"(57)
-    push_eh $P214
-    .lex "self", self
-    .lex "$/", param_215
-.annotate "line", 58
-    new $P216, "Undef"
-    .lex "$past", $P216
-    get_hll_global $P217, ["PAST"], "Stmts"
-    find_lex $P218, "$/"
-    $P219 = $P217."new"($P218 :named("node"))
-    store_lex "$past", $P219
-.annotate "line", 59
-    find_lex $P221, "$/"
-    unless_null $P221, vivify_155
-    $P221 = root_new ['parrot';'Hash']
-  vivify_155:
-    set $P222, $P221["statement"]
-    unless_null $P222, vivify_156
-    new $P222, "Undef"
-  vivify_156:
-    unless $P222, if_220_end
-.annotate "line", 60
-    find_lex $P224, "$/"
-    unless_null $P224, vivify_157
-    $P224 = root_new ['parrot';'Hash']
+.sub "comp_unit"  :subid("22_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_217
+.annotate 'line', 49
+    new $P216, 'ExceptionHandler'
+    set_addr $P216, control_215
+    $P216."handle_types"(57)
+    push_eh $P216
+    .lex "self", self
+    .lex "$/", param_217
+.annotate 'line', 50
+    new $P218, "Undef"
+    .lex "$past", $P218
+.annotate 'line', 51
+    new $P219, "Undef"
+    .lex "$BLOCK", $P219
+.annotate 'line', 50
+    find_lex $P220, "$/"
+    unless_null $P220, vivify_157
+    $P220 = root_new ['parrot';'Hash']
   vivify_157:
-    set $P225, $P224["statement"]
-    unless_null $P225, vivify_158
-    new $P225, "Undef"
+    set $P221, $P220["statementlist"]
+    unless_null $P221, vivify_158
+    new $P221, "Undef"
   vivify_158:
-    defined $I226, $P225
-    unless $I226, for_undef_159
-    iter $P223, $P225
-    new $P255, 'ExceptionHandler'
-    set_addr $P255, loop254_handler
-    $P255."handle_types"(64, 66, 65)
-    push_eh $P255
-  loop254_test:
-    unless $P223, loop254_done
-    shift $P227, $P223
-  loop254_redo:
-    .const 'Sub' $P229 = "23_1272816841.80681" 
-    capture_lex $P229
-    $P229($P227)
-  loop254_next:
-    goto loop254_test
-  loop254_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P256, exception, 'type'
-    eq $P256, 64, loop254_next
-    eq $P256, 66, loop254_redo
-  loop254_done:
-    pop_eh 
-  for_undef_159:
-  if_220_end:
-.annotate "line", 69
-    find_lex $P257, "$/"
-    find_lex $P258, "$past"
-    $P259 = $P257."!make"($P258)
-.annotate "line", 57
-    .return ($P259)
-  control_213:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P260, exception, "payload"
-    .return ($P260)
+    $P222 = $P221."ast"()
+    store_lex "$past", $P222
+.annotate 'line', 51
+    get_global $P223, "@BLOCK"
+    $P224 = $P223."shift"()
+    store_lex "$BLOCK", $P224
+.annotate 'line', 52
+    find_lex $P225, "$BLOCK"
+    find_lex $P226, "$past"
+    $P225."push"($P226)
+.annotate 'line', 53
+    find_lex $P227, "$BLOCK"
+    find_lex $P228, "$/"
+    $P227."node"($P228)
+.annotate 'line', 54
+    find_lex $P229, "$/"
+    find_lex $P230, "$BLOCK"
+    $P231 = $P229."!make"($P230)
+.annotate 'line', 49
+    .return ($P231)
+  control_215:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P232, exception, "payload"
+    .return ($P232)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block228"  :anon :subid("23_1272816841.80681") :outer("22_1272816841.80681")
-    .param pmc param_231
-.annotate "line", 61
-    new $P230, "Undef"
-    .lex "$ast", $P230
-    .lex "$_", param_231
-    find_lex $P232, "$_"
-    $P233 = $P232."ast"()
-    store_lex "$ast", $P233
-.annotate "line", 62
-    find_lex $P235, "$ast"
-    unless_null $P235, vivify_160
-    $P235 = root_new ['parrot';'Hash']
+.sub "statementlist"  :subid("23_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_236
+.annotate 'line', 57
+    .const 'Sub' $P250 = "24_1273866388.36922" 
+    capture_lex $P250
+    new $P235, 'ExceptionHandler'
+    set_addr $P235, control_234
+    $P235."handle_types"(57)
+    push_eh $P235
+    .lex "self", self
+    .lex "$/", param_236
+.annotate 'line', 58
+    new $P237, "Undef"
+    .lex "$past", $P237
+    get_hll_global $P238, ["PAST"], "Stmts"
+    find_lex $P239, "$/"
+    $P240 = $P238."new"($P239 :named("node"))
+    store_lex "$past", $P240
+.annotate 'line', 59
+    find_lex $P242, "$/"
+    unless_null $P242, vivify_159
+    $P242 = root_new ['parrot';'Hash']
+  vivify_159:
+    set $P243, $P242["statement"]
+    unless_null $P243, vivify_160
+    new $P243, "Undef"
   vivify_160:
-    set $P236, $P235["sink"]
-    unless_null $P236, vivify_161
-    new $P236, "Undef"
+    unless $P243, if_241_end
+.annotate 'line', 60
+    find_lex $P245, "$/"
+    unless_null $P245, vivify_161
+    $P245 = root_new ['parrot';'Hash']
   vivify_161:
-    defined $I237, $P236
-    unless $I237, if_234_end
-    find_lex $P238, "$ast"
-    unless_null $P238, vivify_162
-    $P238 = root_new ['parrot';'Hash']
+    set $P246, $P245["statement"]
+    unless_null $P246, vivify_162
+    new $P246, "Undef"
   vivify_162:
-    set $P239, $P238["sink"]
-    unless_null $P239, vivify_163
-    new $P239, "Undef"
-  vivify_163:
-    store_lex "$ast", $P239
-  if_234_end:
-.annotate "line", 63
-    find_lex $P243, "$ast"
-    get_hll_global $P244, ["PAST"], "Block"
-    $P245 = $P243."isa"($P244)
-    if $P245, if_242
-    set $P241, $P245
-    goto if_242_end
-  if_242:
-    find_lex $P246, "$ast"
-    $P247 = $P246."blocktype"()
-    isfalse $I248, $P247
-    new $P241, 'Integer'
-    set $P241, $I248
-  if_242_end:
-    unless $P241, if_240_end
-.annotate "line", 64
-    find_lex $P249, "$ast"
-    $P250 = "block_immediate"($P249)
-    store_lex "$ast", $P250
-  if_240_end:
-.annotate "line", 66
-    find_lex $P251, "$past"
-    find_lex $P252, "$ast"
-    $P253 = $P251."push"($P252)
-.annotate "line", 60
-    .return ($P253)
+    defined $I247, $P246
+    unless $I247, for_undef_163
+    iter $P244, $P246
+    new $P270, 'ExceptionHandler'
+    set_addr $P270, loop269_handler
+    $P270."handle_types"(64, 66, 65)
+    push_eh $P270
+  loop269_test:
+    unless $P244, loop269_done
+    shift $P248, $P244
+  loop269_redo:
+    .const 'Sub' $P250 = "24_1273866388.36922" 
+    capture_lex $P250
+    $P250($P248)
+  loop269_next:
+    goto loop269_test
+  loop269_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P271, exception, 'type'
+    eq $P271, 64, loop269_next
+    eq $P271, 66, loop269_redo
+  loop269_done:
+    pop_eh 
+  for_undef_163:
+  if_241_end:
+.annotate 'line', 67
+    find_lex $P272, "$/"
+    find_lex $P273, "$past"
+    $P274 = $P272."!make"($P273)
+.annotate 'line', 57
+    .return ($P274)
+  control_234:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P275, exception, "payload"
+    .return ($P275)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("24_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_264
-    .param pmc param_265 :optional
-    .param int has_param_265 :opt_flag
-.annotate "line", 72
-    .const 'Sub' $P273 = "25_1272816841.80681" 
-    capture_lex $P273
-    new $P263, 'ExceptionHandler'
-    set_addr $P263, control_262
-    $P263."handle_types"(57)
-    push_eh $P263
-    .lex "self", self
-    .lex "$/", param_264
-    if has_param_265, optparam_164
-    new $P266, "Undef"
-    set param_265, $P266
-  optparam_164:
-    .lex "$key", param_265
-.annotate "line", 73
-    new $P267, "Undef"
-    .lex "$past", $P267
-.annotate "line", 72
-    find_lex $P268, "$past"
-.annotate "line", 74
-    find_lex $P270, "$/"
-    unless_null $P270, vivify_165
-    $P270 = root_new ['parrot';'Hash']
+.sub "_block249"  :anon :subid("24_1273866388.36922") :outer("23_1273866388.36922")
+    .param pmc param_252
+.annotate 'line', 61
+    new $P251, "Undef"
+    .lex "$ast", $P251
+    .lex "$_", param_252
+    find_lex $P253, "$_"
+    $P254 = $P253."ast"()
+    store_lex "$ast", $P254
+.annotate 'line', 62
+    find_lex $P256, "$ast"
+    unless_null $P256, vivify_164
+    $P256 = root_new ['parrot';'Hash']
+  vivify_164:
+    set $P257, $P256["sink"]
+    unless_null $P257, vivify_165
+    new $P257, "Undef"
   vivify_165:
-    set $P271, $P270["EXPR"]
-    unless_null $P271, vivify_166
-    new $P271, "Undef"
+    defined $I258, $P257
+    unless $I258, if_255_end
+    find_lex $P259, "$ast"
+    unless_null $P259, vivify_166
+    $P259 = root_new ['parrot';'Hash']
   vivify_166:
-    if $P271, if_269
-.annotate "line", 85
-    find_lex $P311, "$/"
-    unless_null $P311, vivify_167
-    $P311 = root_new ['parrot';'Hash']
+    set $P260, $P259["sink"]
+    unless_null $P260, vivify_167
+    new $P260, "Undef"
   vivify_167:
-    set $P312, $P311["statement_control"]
-    unless_null $P312, vivify_168
-    new $P312, "Undef"
+    store_lex "$ast", $P260
+  if_255_end:
+.annotate 'line', 63
+    find_lex $P262, "$ast"
+    unless_null $P262, vivify_168
+    $P262 = root_new ['parrot';'Hash']
   vivify_168:
-    if $P312, if_310
-.annotate "line", 86
-    new $P316, "Integer"
-    assign $P316, 0
-    store_lex "$past", $P316
-    goto if_310_end
-  if_310:
-.annotate "line", 85
-    find_lex $P313, "$/"
-    unless_null $P313, vivify_169
-    $P313 = root_new ['parrot';'Hash']
+    set $P263, $P262["bareblock"]
+    unless_null $P263, vivify_169
+    new $P263, "Undef"
   vivify_169:
-    set $P314, $P313["statement_control"]
-    unless_null $P314, vivify_170
-    new $P314, "Undef"
-  vivify_170:
-    $P315 = $P314."ast"()
-    store_lex "$past", $P315
-  if_310_end:
-    goto if_269_end
-  if_269:
-.annotate "line", 74
-    .const 'Sub' $P273 = "25_1272816841.80681" 
-    capture_lex $P273
-    $P273()
-  if_269_end:
-.annotate "line", 87
-    find_lex $P317, "$/"
-    find_lex $P318, "$past"
-    $P319 = $P317."!make"($P318)
-.annotate "line", 72
-    .return ($P319)
-  control_262:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P320, exception, "payload"
-    .return ($P320)
+    unless $P263, if_261_end
+    find_lex $P264, "$ast"
+    $P265 = "block_immediate"($P264)
+    store_lex "$ast", $P265
+  if_261_end:
+.annotate 'line', 64
+    find_lex $P266, "$past"
+    find_lex $P267, "$ast"
+    $P268 = $P266."push"($P267)
+.annotate 'line', 60
+    .return ($P268)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block272"  :anon :subid("25_1272816841.80681") :outer("24_1272816841.80681")
-.annotate "line", 75
-    new $P274, "Undef"
-    .lex "$mc", $P274
-.annotate "line", 76
-    new $P275, "Undef"
-    .lex "$ml", $P275
-.annotate "line", 75
-    find_lex $P276, "$/"
-    unless_null $P276, vivify_171
-    $P276 = root_new ['parrot';'Hash']
+.sub "statement"  :subid("25_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_279
+    .param pmc param_280 :optional
+    .param int has_param_280 :opt_flag
+.annotate 'line', 70
+    .const 'Sub' $P288 = "26_1273866388.36922" 
+    capture_lex $P288
+    new $P278, 'ExceptionHandler'
+    set_addr $P278, control_277
+    $P278."handle_types"(57)
+    push_eh $P278
+    .lex "self", self
+    .lex "$/", param_279
+    if has_param_280, optparam_170
+    new $P281, "Undef"
+    set param_280, $P281
+  optparam_170:
+    .lex "$key", param_280
+.annotate 'line', 71
+    new $P282, "Undef"
+    .lex "$past", $P282
+.annotate 'line', 70
+    find_lex $P283, "$past"
+.annotate 'line', 72
+    find_lex $P285, "$/"
+    unless_null $P285, vivify_171
+    $P285 = root_new ['parrot';'Hash']
   vivify_171:
-    set $P277, $P276["statement_mod_cond"]
-    unless_null $P277, vivify_172
-    $P277 = root_new ['parrot';'ResizablePMCArray']
+    set $P286, $P285["EXPR"]
+    unless_null $P286, vivify_172
+    new $P286, "Undef"
   vivify_172:
-    set $P278, $P277[0]
-    unless_null $P278, vivify_173
-    new $P278, "Undef"
+    if $P286, if_284
+.annotate 'line', 83
+    find_lex $P326, "$/"
+    unless_null $P326, vivify_173
+    $P326 = root_new ['parrot';'Hash']
   vivify_173:
-    store_lex "$mc", $P278
-.annotate "line", 76
-    find_lex $P279, "$/"
-    unless_null $P279, vivify_174
-    $P279 = root_new ['parrot';'Hash']
+    set $P327, $P326["statement_control"]
+    unless_null $P327, vivify_174
+    new $P327, "Undef"
   vivify_174:
-    set $P280, $P279["statement_mod_loop"]
-    unless_null $P280, vivify_175
-    $P280 = root_new ['parrot';'ResizablePMCArray']
+    if $P327, if_325
+.annotate 'line', 84
+    new $P331, "Integer"
+    assign $P331, 0
+    store_lex "$past", $P331
+    goto if_325_end
+  if_325:
+.annotate 'line', 83
+    find_lex $P328, "$/"
+    unless_null $P328, vivify_175
+    $P328 = root_new ['parrot';'Hash']
   vivify_175:
-    set $P281, $P280[0]
-    unless_null $P281, vivify_176
-    new $P281, "Undef"
+    set $P329, $P328["statement_control"]
+    unless_null $P329, vivify_176
+    new $P329, "Undef"
   vivify_176:
-    store_lex "$ml", $P281
-.annotate "line", 77
-    find_lex $P282, "$/"
-    unless_null $P282, vivify_177
-    $P282 = root_new ['parrot';'Hash']
+    $P330 = $P329."ast"()
+    store_lex "$past", $P330
+  if_325_end:
+    goto if_284_end
+  if_284:
+.annotate 'line', 72
+    .const 'Sub' $P288 = "26_1273866388.36922" 
+    capture_lex $P288
+    $P288()
+  if_284_end:
+.annotate 'line', 85
+    find_lex $P332, "$/"
+    find_lex $P333, "$past"
+    $P334 = $P332."!make"($P333)
+.annotate 'line', 70
+    .return ($P334)
+  control_277:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P335, exception, "payload"
+    .return ($P335)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block287"  :anon :subid("26_1273866388.36922") :outer("25_1273866388.36922")
+.annotate 'line', 73
+    new $P289, "Undef"
+    .lex "$mc", $P289
+.annotate 'line', 74
+    new $P290, "Undef"
+    .lex "$ml", $P290
+.annotate 'line', 73
+    find_lex $P291, "$/"
+    unless_null $P291, vivify_177
+    $P291 = root_new ['parrot';'Hash']
   vivify_177:
-    set $P283, $P282["EXPR"]
-    unless_null $P283, vivify_178
-    new $P283, "Undef"
+    set $P292, $P291["statement_mod_cond"]
+    unless_null $P292, vivify_178
+    $P292 = root_new ['parrot';'ResizablePMCArray']
   vivify_178:
-    $P284 = $P283."ast"()
-    store_lex "$past", $P284
-.annotate "line", 78
-    find_lex $P286, "$mc"
-    unless $P286, if_285_end
-.annotate "line", 79
-    get_hll_global $P287, ["PAST"], "Op"
-    find_lex $P288, "$mc"
-    unless_null $P288, vivify_179
-    $P288 = root_new ['parrot';'Hash']
+    set $P293, $P292[0]
+    unless_null $P293, vivify_179
+    new $P293, "Undef"
   vivify_179:
-    set $P289, $P288["cond"]
-    unless_null $P289, vivify_180
-    new $P289, "Undef"
+    store_lex "$mc", $P293
+.annotate 'line', 74
+    find_lex $P294, "$/"
+    unless_null $P294, vivify_180
+    $P294 = root_new ['parrot';'Hash']
   vivify_180:
-    $P290 = $P289."ast"()
-    find_lex $P291, "$past"
-    find_lex $P292, "$mc"
-    unless_null $P292, vivify_181
-    $P292 = root_new ['parrot';'Hash']
+    set $P295, $P294["statement_mod_loop"]
+    unless_null $P295, vivify_181
+    $P295 = root_new ['parrot';'ResizablePMCArray']
   vivify_181:
-    set $P293, $P292["sym"]
-    unless_null $P293, vivify_182
-    new $P293, "Undef"
+    set $P296, $P295[0]
+    unless_null $P296, vivify_182
+    new $P296, "Undef"
   vivify_182:
-    set $S294, $P293
-    find_lex $P295, "$/"
-    $P296 = $P287."new"($P290, $P291, $S294 :named("pasttype"), $P295 :named("node"))
-    store_lex "$past", $P296
-  if_285_end:
-.annotate "line", 81
-    find_lex $P299, "$ml"
-    if $P299, if_298
-    set $P297, $P299
-    goto if_298_end
-  if_298:
-.annotate "line", 82
-    get_hll_global $P300, ["PAST"], "Op"
-    find_lex $P301, "$ml"
-    unless_null $P301, vivify_183
-    $P301 = root_new ['parrot';'Hash']
+    store_lex "$ml", $P296
+.annotate 'line', 75
+    find_lex $P297, "$/"
+    unless_null $P297, vivify_183
+    $P297 = root_new ['parrot';'Hash']
   vivify_183:
-    set $P302, $P301["cond"]
-    unless_null $P302, vivify_184
-    new $P302, "Undef"
+    set $P298, $P297["EXPR"]
+    unless_null $P298, vivify_184
+    new $P298, "Undef"
   vivify_184:
-    $P303 = $P302."ast"()
-    find_lex $P304, "$past"
-    find_lex $P305, "$ml"
-    unless_null $P305, vivify_185
-    $P305 = root_new ['parrot';'Hash']
+    $P299 = $P298."ast"()
+    store_lex "$past", $P299
+.annotate 'line', 76
+    find_lex $P301, "$mc"
+    unless $P301, if_300_end
+.annotate 'line', 77
+    get_hll_global $P302, ["PAST"], "Op"
+    find_lex $P303, "$mc"
+    unless_null $P303, vivify_185
+    $P303 = root_new ['parrot';'Hash']
   vivify_185:
-    set $P306, $P305["sym"]
-    unless_null $P306, vivify_186
-    new $P306, "Undef"
+    set $P304, $P303["cond"]
+    unless_null $P304, vivify_186
+    new $P304, "Undef"
   vivify_186:
-    set $S307, $P306
-    find_lex $P308, "$/"
-    $P309 = $P300."new"($P303, $P304, $S307 :named("pasttype"), $P308 :named("node"))
-    store_lex "$past", $P309
-.annotate "line", 81
-    set $P297, $P309
-  if_298_end:
-.annotate "line", 74
-    .return ($P297)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("26_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_324
-.annotate "line", 90
-    new $P323, 'ExceptionHandler'
-    set_addr $P323, control_322
-    $P323."handle_types"(57)
-    push_eh $P323
-    .lex "self", self
-    .lex "$/", param_324
-.annotate "line", 91
-    find_lex $P325, "$/"
-    get_hll_global $P326, ["PAST"], "Op"
-    find_lex $P327, "$/"
-    unless_null $P327, vivify_187
-    $P327 = root_new ['parrot';'Hash']
+    $P305 = $P304."ast"()
+    find_lex $P306, "$past"
+    find_lex $P307, "$mc"
+    unless_null $P307, vivify_187
+    $P307 = root_new ['parrot';'Hash']
   vivify_187:
-    set $P328, $P327["EXPR"]
-    unless_null $P328, vivify_188
-    new $P328, "Undef"
+    set $P308, $P307["sym"]
+    unless_null $P308, vivify_188
+    new $P308, "Undef"
   vivify_188:
-    $P329 = $P328."ast"()
-    find_lex $P330, "$/"
-    unless_null $P330, vivify_189
-    $P330 = root_new ['parrot';'Hash']
+    set $S309, $P308
+    find_lex $P310, "$/"
+    $P311 = $P302."new"($P305, $P306, $S309 :named("pasttype"), $P310 :named("node"))
+    store_lex "$past", $P311
+  if_300_end:
+.annotate 'line', 79
+    find_lex $P314, "$ml"
+    if $P314, if_313
+    set $P312, $P314
+    goto if_313_end
+  if_313:
+.annotate 'line', 80
+    get_hll_global $P315, ["PAST"], "Op"
+    find_lex $P316, "$ml"
+    unless_null $P316, vivify_189
+    $P316 = root_new ['parrot';'Hash']
   vivify_189:
-    set $P331, $P330["pblock"]
-    unless_null $P331, vivify_190
-    new $P331, "Undef"
+    set $P317, $P316["cond"]
+    unless_null $P317, vivify_190
+    new $P317, "Undef"
   vivify_190:
-    $P332 = $P331."ast"()
-    find_lex $P333, "$/"
-    $P334 = $P326."new"($P329, $P332, "if" :named("pasttype"), $P333 :named("node"))
-    $P335 = $P325."!make"($P334)
-.annotate "line", 90
-    .return ($P335)
-  control_322:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P336, exception, "payload"
-    .return ($P336)
+    $P318 = $P317."ast"()
+    find_lex $P319, "$past"
+    find_lex $P320, "$ml"
+    unless_null $P320, vivify_191
+    $P320 = root_new ['parrot';'Hash']
+  vivify_191:
+    set $P321, $P320["sym"]
+    unless_null $P321, vivify_192
+    new $P321, "Undef"
+  vivify_192:
+    set $S322, $P321
+    find_lex $P323, "$/"
+    $P324 = $P315."new"($P318, $P319, $S322 :named("pasttype"), $P323 :named("node"))
+    store_lex "$past", $P324
+.annotate 'line', 79
+    set $P312, $P324
+  if_313_end:
+.annotate 'line', 72
+    .return ($P312)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("27_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_340
-.annotate "line", 94
-    new $P339, 'ExceptionHandler'
-    set_addr $P339, control_338
-    $P339."handle_types"(57)
-    push_eh $P339
-    .lex "self", self
-    .lex "$/", param_340
-.annotate "line", 95
-    find_lex $P341, "$/"
+.sub "xblock"  :subid("27_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_339
+.annotate 'line', 88
+    new $P338, 'ExceptionHandler'
+    set_addr $P338, control_337
+    $P338."handle_types"(57)
+    push_eh $P338
+    .lex "self", self
+    .lex "$/", param_339
+.annotate 'line', 89
+    find_lex $P340, "$/"
+    get_hll_global $P341, ["PAST"], "Op"
     find_lex $P342, "$/"
-    unless_null $P342, vivify_191
+    unless_null $P342, vivify_193
     $P342 = root_new ['parrot';'Hash']
-  vivify_191:
-    set $P343, $P342["blockoid"]
-    unless_null $P343, vivify_192
+  vivify_193:
+    set $P343, $P342["EXPR"]
+    unless_null $P343, vivify_194
     new $P343, "Undef"
-  vivify_192:
+  vivify_194:
     $P344 = $P343."ast"()
-    $P345 = $P341."!make"($P344)
-.annotate "line", 94
-    .return ($P345)
-  control_338:
+    find_lex $P345, "$/"
+    unless_null $P345, vivify_195
+    $P345 = root_new ['parrot';'Hash']
+  vivify_195:
+    set $P346, $P345["pblock"]
+    unless_null $P346, vivify_196
+    new $P346, "Undef"
+  vivify_196:
+    $P347 = $P346."ast"()
+    find_lex $P348, "$/"
+    $P349 = $P341."new"($P344, $P347, "if" :named("pasttype"), $P348 :named("node"))
+    $P350 = $P340."!make"($P349)
+.annotate 'line', 88
+    .return ($P350)
+  control_337:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P351, exception, "payload"
+    .return ($P351)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "pblock"  :subid("28_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_355
+.annotate 'line', 92
+    new $P354, 'ExceptionHandler'
+    set_addr $P354, control_353
+    $P354."handle_types"(57)
+    push_eh $P354
+    .lex "self", self
+    .lex "$/", param_355
+.annotate 'line', 93
+    find_lex $P356, "$/"
+    find_lex $P357, "$/"
+    unless_null $P357, vivify_197
+    $P357 = root_new ['parrot';'Hash']
+  vivify_197:
+    set $P358, $P357["blockoid"]
+    unless_null $P358, vivify_198
+    new $P358, "Undef"
+  vivify_198:
+    $P359 = $P358."ast"()
+    $P360 = $P356."!make"($P359)
+.annotate 'line', 92
+    .return ($P360)
+  control_353:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P346, exception, "payload"
-    .return ($P346)
+    getattribute $P361, exception, "payload"
+    .return ($P361)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("28_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_350
-.annotate "line", 98
-    new $P349, 'ExceptionHandler'
-    set_addr $P349, control_348
-    $P349."handle_types"(57)
-    push_eh $P349
+.sub "block"  :subid("29_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_365
+.annotate 'line', 96
+    new $P364, 'ExceptionHandler'
+    set_addr $P364, control_363
+    $P364."handle_types"(57)
+    push_eh $P364
     .lex "self", self
-    .lex "$/", param_350
-.annotate "line", 99
-    find_lex $P351, "$/"
-    find_lex $P352, "$/"
-    unless_null $P352, vivify_193
-    $P352 = root_new ['parrot';'Hash']
-  vivify_193:
-    set $P353, $P352["blockoid"]
-    unless_null $P353, vivify_194
-    new $P353, "Undef"
-  vivify_194:
-    $P354 = $P353."ast"()
-    $P355 = $P351."!make"($P354)
-.annotate "line", 98
-    .return ($P355)
-  control_348:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P356, exception, "payload"
-    .return ($P356)
+    .lex "$/", param_365
+.annotate 'line', 97
+    find_lex $P366, "$/"
+    find_lex $P367, "$/"
+    unless_null $P367, vivify_199
+    $P367 = root_new ['parrot';'Hash']
+  vivify_199:
+    set $P368, $P367["blockoid"]
+    unless_null $P368, vivify_200
+    new $P368, "Undef"
+  vivify_200:
+    $P369 = $P368."ast"()
+    $P370 = $P366."!make"($P369)
+.annotate 'line', 96
+    .return ($P370)
+  control_363:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P371, exception, "payload"
+    .return ($P371)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("29_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_360
-.annotate "line", 102
-    new $P359, 'ExceptionHandler'
-    set_addr $P359, control_358
-    $P359."handle_types"(57)
-    push_eh $P359
-    .lex "self", self
-    .lex "$/", param_360
-.annotate "line", 103
-    new $P361, "Undef"
-    .lex "$past", $P361
-.annotate "line", 104
-    new $P362, "Undef"
-    .lex "$BLOCK", $P362
-.annotate "line", 103
-    find_lex $P363, "$/"
-    unless_null $P363, vivify_195
-    $P363 = root_new ['parrot';'Hash']
-  vivify_195:
-    set $P364, $P363["statementlist"]
-    unless_null $P364, vivify_196
-    new $P364, "Undef"
-  vivify_196:
-    $P365 = $P364."ast"()
-    store_lex "$past", $P365
-.annotate "line", 104
-    get_global $P366, "@BLOCK"
-    $P367 = $P366."shift"()
-    store_lex "$BLOCK", $P367
-.annotate "line", 105
-    find_lex $P368, "$BLOCK"
-    find_lex $P369, "$past"
-    $P368."push"($P369)
-.annotate "line", 106
-    find_lex $P370, "$BLOCK"
-    find_lex $P371, "$/"
-    $P370."node"($P371)
-.annotate "line", 107
-    find_lex $P372, "$/"
-    find_lex $P373, "$BLOCK"
-    $P374 = $P372."!make"($P373)
-.annotate "line", 102
-    .return ($P374)
-  control_358:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P375, exception, "payload"
-    .return ($P375)
+.sub "blockoid"  :subid("30_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_375
+.annotate 'line', 100
+    new $P374, 'ExceptionHandler'
+    set_addr $P374, control_373
+    $P374."handle_types"(57)
+    push_eh $P374
+    .lex "self", self
+    .lex "$/", param_375
+.annotate 'line', 101
+    new $P376, "Undef"
+    .lex "$past", $P376
+.annotate 'line', 102
+    new $P377, "Undef"
+    .lex "$BLOCK", $P377
+.annotate 'line', 101
+    find_lex $P378, "$/"
+    unless_null $P378, vivify_201
+    $P378 = root_new ['parrot';'Hash']
+  vivify_201:
+    set $P379, $P378["statementlist"]
+    unless_null $P379, vivify_202
+    new $P379, "Undef"
+  vivify_202:
+    $P380 = $P379."ast"()
+    store_lex "$past", $P380
+.annotate 'line', 102
+    get_global $P381, "@BLOCK"
+    $P382 = $P381."shift"()
+    store_lex "$BLOCK", $P382
+.annotate 'line', 103
+    find_lex $P383, "$BLOCK"
+    find_lex $P384, "$past"
+    $P383."push"($P384)
+.annotate 'line', 104
+    find_lex $P385, "$BLOCK"
+    find_lex $P386, "$/"
+    $P385."node"($P386)
+.annotate 'line', 105
+    find_lex $P387, "$BLOCK"
+    $P387."closure"(1)
+.annotate 'line', 106
+    find_lex $P388, "$/"
+    find_lex $P389, "$BLOCK"
+    $P390 = $P388."!make"($P389)
+.annotate 'line', 100
+    .return ($P390)
+  control_373:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P391, exception, "payload"
+    .return ($P391)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("30_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_379
-.annotate "line", 110
-    new $P378, 'ExceptionHandler'
-    set_addr $P378, control_377
-    $P378."handle_types"(57)
-    push_eh $P378
-    .lex "self", self
-    .lex "$/", param_379
-.annotate "line", 111
-    get_global $P380, "@BLOCK"
-    unless_null $P380, vivify_197
-    $P380 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P380
-  vivify_197:
-.annotate "line", 110
-    get_global $P381, "@BLOCK"
-.annotate "line", 112
-    get_global $P382, "@BLOCK"
-    get_hll_global $P383, ["PAST"], "Block"
-    get_hll_global $P384, ["PAST"], "Stmts"
-    $P385 = $P384."new"()
-    $P386 = $P383."new"($P385)
-    $P387 = $P382."unshift"($P386)
-.annotate "line", 110
-    .return ($P387)
-  control_377:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P388, exception, "payload"
-    .return ($P388)
+.sub "newpad"  :subid("31_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_395
+.annotate 'line', 109
+    new $P394, 'ExceptionHandler'
+    set_addr $P394, control_393
+    $P394."handle_types"(57)
+    push_eh $P394
+    .lex "self", self
+    .lex "$/", param_395
+.annotate 'line', 110
+    get_global $P396, "@BLOCK"
+    unless_null $P396, vivify_203
+    $P396 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P396
+  vivify_203:
+.annotate 'line', 109
+    get_global $P397, "@BLOCK"
+.annotate 'line', 111
+    get_global $P398, "@BLOCK"
+    get_hll_global $P399, ["PAST"], "Block"
+    get_hll_global $P400, ["PAST"], "Stmts"
+    $P401 = $P400."new"()
+    $P402 = $P399."new"($P401)
+    $P403 = $P398."unshift"($P402)
+.annotate 'line', 109
+    .return ($P403)
+  control_393:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P404, exception, "payload"
+    .return ($P404)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("31_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_392
-.annotate "line", 117
-    .const 'Sub' $P420 = "32_1272816841.80681" 
-    capture_lex $P420
-    new $P391, 'ExceptionHandler'
-    set_addr $P391, control_390
-    $P391."handle_types"(57)
-    push_eh $P391
-    .lex "self", self
-    .lex "$/", param_392
-.annotate "line", 118
-    new $P393, "Undef"
-    .lex "$count", $P393
-.annotate "line", 119
-    new $P394, "Undef"
-    .lex "$past", $P394
-.annotate "line", 118
-    find_lex $P395, "$/"
-    unless_null $P395, vivify_198
-    $P395 = root_new ['parrot';'Hash']
-  vivify_198:
-    set $P396, $P395["xblock"]
-    unless_null $P396, vivify_199
-    new $P396, "Undef"
-  vivify_199:
-    set $N397, $P396
-    new $P398, 'Float'
-    set $P398, $N397
-    sub $P399, $P398, 1
-    store_lex "$count", $P399
-.annotate "line", 119
-    find_lex $P400, "$count"
-    set $I401, $P400
-    find_lex $P402, "$/"
-    unless_null $P402, vivify_200
-    $P402 = root_new ['parrot';'Hash']
-  vivify_200:
-    set $P403, $P402["xblock"]
-    unless_null $P403, vivify_201
-    $P403 = root_new ['parrot';'ResizablePMCArray']
-  vivify_201:
-    set $P404, $P403[$I401]
-    unless_null $P404, vivify_202
-    new $P404, "Undef"
-  vivify_202:
-    $P405 = $P404."ast"()
-    $P406 = "xblock_immediate"($P405)
-    store_lex "$past", $P406
-.annotate "line", 120
-    find_lex $P408, "$/"
-    unless_null $P408, vivify_203
-    $P408 = root_new ['parrot';'Hash']
-  vivify_203:
-    set $P409, $P408["else"]
-    unless_null $P409, vivify_204
+.sub "statement_control:sym<if>"  :subid("32_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_408
+.annotate 'line', 116
+    .const 'Sub' $P436 = "33_1273866388.36922" 
+    capture_lex $P436
+    new $P407, 'ExceptionHandler'
+    set_addr $P407, control_406
+    $P407."handle_types"(57)
+    push_eh $P407
+    .lex "self", self
+    .lex "$/", param_408
+.annotate 'line', 117
     new $P409, "Undef"
-  vivify_204:
-    unless $P409, if_407_end
-.annotate "line", 121
-    find_lex $P410, "$past"
+    .lex "$count", $P409
+.annotate 'line', 118
+    new $P410, "Undef"
+    .lex "$past", $P410
+.annotate 'line', 117
     find_lex $P411, "$/"
-    unless_null $P411, vivify_205
+    unless_null $P411, vivify_204
     $P411 = root_new ['parrot';'Hash']
+  vivify_204:
+    set $P412, $P411["xblock"]
+    unless_null $P412, vivify_205
+    new $P412, "Undef"
   vivify_205:
-    set $P412, $P411["else"]
-    unless_null $P412, vivify_206
-    $P412 = root_new ['parrot';'ResizablePMCArray']
+    set $N413, $P412
+    new $P414, 'Float'
+    set $P414, $N413
+    sub $P415, $P414, 1
+    store_lex "$count", $P415
+.annotate 'line', 118
+    find_lex $P416, "$count"
+    set $I417, $P416
+    find_lex $P418, "$/"
+    unless_null $P418, vivify_206
+    $P418 = root_new ['parrot';'Hash']
   vivify_206:
-    set $P413, $P412[0]
-    unless_null $P413, vivify_207
-    new $P413, "Undef"
+    set $P419, $P418["xblock"]
+    unless_null $P419, vivify_207
+    $P419 = root_new ['parrot';'ResizablePMCArray']
   vivify_207:
-    $P414 = $P413."ast"()
-    $P415 = "block_immediate"($P414)
-    $P410."push"($P415)
-  if_407_end:
-.annotate "line", 124
-    new $P436, 'ExceptionHandler'
-    set_addr $P436, loop435_handler
-    $P436."handle_types"(64, 66, 65)
-    push_eh $P436
-  loop435_test:
-    find_lex $P416, "$count"
-    set $N417, $P416
-    isgt $I418, $N417, 0.0
-    unless $I418, loop435_done
-  loop435_redo:
-    .const 'Sub' $P420 = "32_1272816841.80681" 
-    capture_lex $P420
-    $P420()
-  loop435_next:
-    goto loop435_test
-  loop435_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P437, exception, 'type'
-    eq $P437, 64, loop435_next
-    eq $P437, 66, loop435_redo
-  loop435_done:
-    pop_eh 
-.annotate "line", 130
-    find_lex $P438, "$/"
-    find_lex $P439, "$past"
-    $P440 = $P438."!make"($P439)
-.annotate "line", 117
-    .return ($P440)
-  control_390:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P441, exception, "payload"
-    .return ($P441)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block419"  :anon :subid("32_1272816841.80681") :outer("31_1272816841.80681")
-.annotate "line", 126
-    new $P421, "Undef"
-    .lex "$else", $P421
-.annotate "line", 124
-    find_lex $P422, "$count"
-    clone $P423, $P422
-    dec $P422
-.annotate "line", 126
-    find_lex $P424, "$past"
-    store_lex "$else", $P424
-.annotate "line", 127
-    find_lex $P425, "$count"
-    set $I426, $P425
+    set $P420, $P419[$I417]
+    unless_null $P420, vivify_208
+    new $P420, "Undef"
+  vivify_208:
+    $P421 = $P420."ast"()
+    $P422 = "xblock_immediate"($P421)
+    store_lex "$past", $P422
+.annotate 'line', 119
+    find_lex $P424, "$/"
+    unless_null $P424, vivify_209
+    $P424 = root_new ['parrot';'Hash']
+  vivify_209:
+    set $P425, $P424["else"]
+    unless_null $P425, vivify_210
+    new $P425, "Undef"
+  vivify_210:
+    unless $P425, if_423_end
+.annotate 'line', 120
+    find_lex $P426, "$past"
     find_lex $P427, "$/"
-    unless_null $P427, vivify_208
+    unless_null $P427, vivify_211
     $P427 = root_new ['parrot';'Hash']
-  vivify_208:
-    set $P428, $P427["xblock"]
-    unless_null $P428, vivify_209
+  vivify_211:
+    set $P428, $P427["else"]
+    unless_null $P428, vivify_212
     $P428 = root_new ['parrot';'ResizablePMCArray']
-  vivify_209:
-    set $P429, $P428[$I426]
-    unless_null $P429, vivify_210
+  vivify_212:
+    set $P429, $P428[0]
+    unless_null $P429, vivify_213
     new $P429, "Undef"
-  vivify_210:
+  vivify_213:
     $P430 = $P429."ast"()
-    $P431 = "xblock_immediate"($P430)
-    store_lex "$past", $P431
-.annotate "line", 128
-    find_lex $P432, "$past"
-    find_lex $P433, "$else"
-    $P434 = $P432."push"($P433)
-.annotate "line", 124
-    .return ($P434)
+    $P431 = "block_immediate"($P430)
+    $P426."push"($P431)
+  if_423_end:
+.annotate 'line', 123
+    new $P452, 'ExceptionHandler'
+    set_addr $P452, loop451_handler
+    $P452."handle_types"(64, 66, 65)
+    push_eh $P452
+  loop451_test:
+    find_lex $P432, "$count"
+    set $N433, $P432
+    isgt $I434, $N433, 0.0
+    unless $I434, loop451_done
+  loop451_redo:
+    .const 'Sub' $P436 = "33_1273866388.36922" 
+    capture_lex $P436
+    $P436()
+  loop451_next:
+    goto loop451_test
+  loop451_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P453, exception, 'type'
+    eq $P453, 64, loop451_next
+    eq $P453, 66, loop451_redo
+  loop451_done:
+    pop_eh 
+.annotate 'line', 129
+    find_lex $P454, "$/"
+    find_lex $P455, "$past"
+    $P456 = $P454."!make"($P455)
+.annotate 'line', 116
+    .return ($P456)
+  control_406:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P457, exception, "payload"
+    .return ($P457)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("33_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_445
-.annotate "line", 133
-    new $P444, 'ExceptionHandler'
-    set_addr $P444, control_443
-    $P444."handle_types"(57)
-    push_eh $P444
-    .lex "self", self
-    .lex "$/", param_445
-.annotate "line", 134
-    new $P446, "Undef"
-    .lex "$past", $P446
-    find_lex $P447, "$/"
-    unless_null $P447, vivify_211
-    $P447 = root_new ['parrot';'Hash']
-  vivify_211:
-    set $P448, $P447["xblock"]
-    unless_null $P448, vivify_212
-    new $P448, "Undef"
-  vivify_212:
-    $P449 = $P448."ast"()
-    $P450 = "xblock_immediate"($P449)
-    store_lex "$past", $P450
-.annotate "line", 135
-    find_lex $P451, "$past"
-    $P451."pasttype"("unless")
-.annotate "line", 136
-    find_lex $P452, "$/"
-    find_lex $P453, "$past"
-    $P454 = $P452."!make"($P453)
-.annotate "line", 133
-    .return ($P454)
-  control_443:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P455, exception, "payload"
-    .return ($P455)
+.sub "_block435"  :anon :subid("33_1273866388.36922") :outer("32_1273866388.36922")
+.annotate 'line', 125
+    new $P437, "Undef"
+    .lex "$else", $P437
+.annotate 'line', 123
+    find_lex $P438, "$count"
+    clone $P439, $P438
+    dec $P438
+.annotate 'line', 125
+    find_lex $P440, "$past"
+    store_lex "$else", $P440
+.annotate 'line', 126
+    find_lex $P441, "$count"
+    set $I442, $P441
+    find_lex $P443, "$/"
+    unless_null $P443, vivify_214
+    $P443 = root_new ['parrot';'Hash']
+  vivify_214:
+    set $P444, $P443["xblock"]
+    unless_null $P444, vivify_215
+    $P444 = root_new ['parrot';'ResizablePMCArray']
+  vivify_215:
+    set $P445, $P444[$I442]
+    unless_null $P445, vivify_216
+    new $P445, "Undef"
+  vivify_216:
+    $P446 = $P445."ast"()
+    $P447 = "xblock_immediate"($P446)
+    store_lex "$past", $P447
+.annotate 'line', 127
+    find_lex $P448, "$past"
+    find_lex $P449, "$else"
+    $P450 = $P448."push"($P449)
+.annotate 'line', 123
+    .return ($P450)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("34_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_459
-.annotate "line", 139
-    new $P458, 'ExceptionHandler'
-    set_addr $P458, control_457
-    $P458."handle_types"(57)
-    push_eh $P458
-    .lex "self", self
-    .lex "$/", param_459
-.annotate "line", 140
-    new $P460, "Undef"
-    .lex "$past", $P460
-    find_lex $P461, "$/"
-    unless_null $P461, vivify_213
-    $P461 = root_new ['parrot';'Hash']
-  vivify_213:
-    set $P462, $P461["xblock"]
-    unless_null $P462, vivify_214
+.sub "statement_control:sym<unless>"  :subid("34_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_461
+.annotate 'line', 132
+    new $P460, 'ExceptionHandler'
+    set_addr $P460, control_459
+    $P460."handle_types"(57)
+    push_eh $P460
+    .lex "self", self
+    .lex "$/", param_461
+.annotate 'line', 133
     new $P462, "Undef"
-  vivify_214:
-    $P463 = $P462."ast"()
-    $P464 = "xblock_immediate"($P463)
-    store_lex "$past", $P464
-.annotate "line", 141
-    find_lex $P465, "$past"
-    find_lex $P466, "$/"
-    unless_null $P466, vivify_215
-    $P466 = root_new ['parrot';'Hash']
-  vivify_215:
-    set $P467, $P466["sym"]
-    unless_null $P467, vivify_216
-    new $P467, "Undef"
-  vivify_216:
-    set $S468, $P467
-    $P465."pasttype"($S468)
-.annotate "line", 142
-    find_lex $P469, "$/"
-    find_lex $P470, "$past"
-    $P471 = $P469."!make"($P470)
-.annotate "line", 139
-    .return ($P471)
-  control_457:
+    .lex "$past", $P462
+    find_lex $P463, "$/"
+    unless_null $P463, vivify_217
+    $P463 = root_new ['parrot';'Hash']
+  vivify_217:
+    set $P464, $P463["xblock"]
+    unless_null $P464, vivify_218
+    new $P464, "Undef"
+  vivify_218:
+    $P465 = $P464."ast"()
+    $P466 = "xblock_immediate"($P465)
+    store_lex "$past", $P466
+.annotate 'line', 134
+    find_lex $P467, "$past"
+    $P467."pasttype"("unless")
+.annotate 'line', 135
+    find_lex $P468, "$/"
+    find_lex $P469, "$past"
+    $P470 = $P468."!make"($P469)
+.annotate 'line', 132
+    .return ($P470)
+  control_459:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P472, exception, "payload"
-    .return ($P472)
+    getattribute $P471, exception, "payload"
+    .return ($P471)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("35_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_476
-.annotate "line", 145
-    new $P475, 'ExceptionHandler'
-    set_addr $P475, control_474
-    $P475."handle_types"(57)
-    push_eh $P475
-    .lex "self", self
-    .lex "$/", param_476
-.annotate "line", 146
-    new $P477, "Undef"
-    .lex "$pasttype", $P477
-.annotate "line", 147
-    new $P478, "Undef"
-    .lex "$past", $P478
-.annotate "line", 146
-    new $P479, "String"
-    assign $P479, "repeat_"
-    find_lex $P480, "$/"
-    unless_null $P480, vivify_217
-    $P480 = root_new ['parrot';'Hash']
-  vivify_217:
-    set $P481, $P480["wu"]
-    unless_null $P481, vivify_218
-    new $P481, "Undef"
-  vivify_218:
-    set $S482, $P481
-    concat $P483, $P479, $S482
-    store_lex "$pasttype", $P483
-    find_lex $P484, "$past"
-.annotate "line", 148
-    find_lex $P486, "$/"
-    unless_null $P486, vivify_219
-    $P486 = root_new ['parrot';'Hash']
+.sub "statement_control:sym<while>"  :subid("35_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_475
+.annotate 'line', 138
+    new $P474, 'ExceptionHandler'
+    set_addr $P474, control_473
+    $P474."handle_types"(57)
+    push_eh $P474
+    .lex "self", self
+    .lex "$/", param_475
+.annotate 'line', 139
+    new $P476, "Undef"
+    .lex "$past", $P476
+    find_lex $P477, "$/"
+    unless_null $P477, vivify_219
+    $P477 = root_new ['parrot';'Hash']
   vivify_219:
-    set $P487, $P486["xblock"]
-    unless_null $P487, vivify_220
-    new $P487, "Undef"
+    set $P478, $P477["xblock"]
+    unless_null $P478, vivify_220
+    new $P478, "Undef"
   vivify_220:
-    if $P487, if_485
-.annotate "line", 153
-    get_hll_global $P494, ["PAST"], "Op"
-    find_lex $P495, "$/"
-    unless_null $P495, vivify_221
-    $P495 = root_new ['parrot';'Hash']
+    $P479 = $P478."ast"()
+    $P480 = "xblock_immediate"($P479)
+    store_lex "$past", $P480
+.annotate 'line', 140
+    find_lex $P481, "$past"
+    find_lex $P482, "$/"
+    unless_null $P482, vivify_221
+    $P482 = root_new ['parrot';'Hash']
   vivify_221:
-    set $P496, $P495["EXPR"]
-    unless_null $P496, vivify_222
-    new $P496, "Undef"
+    set $P483, $P482["sym"]
+    unless_null $P483, vivify_222
+    new $P483, "Undef"
   vivify_222:
-    $P497 = $P496."ast"()
-    find_lex $P498, "$/"
-    unless_null $P498, vivify_223
-    $P498 = root_new ['parrot';'Hash']
-  vivify_223:
-    set $P499, $P498["pblock"]
-    unless_null $P499, vivify_224
-    new $P499, "Undef"
-  vivify_224:
-    $P500 = $P499."ast"()
-    $P501 = "block_immediate"($P500)
-    find_lex $P502, "$pasttype"
-    find_lex $P503, "$/"
-    $P504 = $P494."new"($P497, $P501, $P502 :named("pasttype"), $P503 :named("node"))
-    store_lex "$past", $P504
-.annotate "line", 152
-    goto if_485_end
-  if_485:
-.annotate "line", 149
-    find_lex $P488, "$/"
-    unless_null $P488, vivify_225
-    $P488 = root_new ['parrot';'Hash']
-  vivify_225:
-    set $P489, $P488["xblock"]
-    unless_null $P489, vivify_226
-    new $P489, "Undef"
-  vivify_226:
-    $P490 = $P489."ast"()
-    $P491 = "xblock_immediate"($P490)
-    store_lex "$past", $P491
-.annotate "line", 150
-    find_lex $P492, "$past"
-    find_lex $P493, "$pasttype"
-    $P492."pasttype"($P493)
-  if_485_end:
-.annotate "line", 156
-    find_lex $P505, "$/"
-    find_lex $P506, "$past"
-    $P507 = $P505."!make"($P506)
-.annotate "line", 145
-    .return ($P507)
-  control_474:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P508, exception, "payload"
-    .return ($P508)
+    set $S484, $P483
+    $P481."pasttype"($S484)
+.annotate 'line', 141
+    find_lex $P485, "$/"
+    find_lex $P486, "$past"
+    $P487 = $P485."!make"($P486)
+.annotate 'line', 138
+    .return ($P487)
+  control_473:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P488, exception, "payload"
+    .return ($P488)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("36_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_512
-.annotate "line", 159
-    new $P511, 'ExceptionHandler'
-    set_addr $P511, control_510
-    $P511."handle_types"(57)
-    push_eh $P511
-    .lex "self", self
-    .lex "$/", param_512
-.annotate "line", 160
-    new $P513, "Undef"
-    .lex "$past", $P513
-.annotate "line", 162
-    new $P514, "Undef"
-    .lex "$block", $P514
-.annotate "line", 160
-    find_lex $P515, "$/"
-    unless_null $P515, vivify_227
-    $P515 = root_new ['parrot';'Hash']
+.sub "statement_control:sym<repeat>"  :subid("36_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_492
+.annotate 'line', 144
+    new $P491, 'ExceptionHandler'
+    set_addr $P491, control_490
+    $P491."handle_types"(57)
+    push_eh $P491
+    .lex "self", self
+    .lex "$/", param_492
+.annotate 'line', 145
+    new $P493, "Undef"
+    .lex "$pasttype", $P493
+.annotate 'line', 146
+    new $P494, "Undef"
+    .lex "$past", $P494
+.annotate 'line', 145
+    new $P495, "String"
+    assign $P495, "repeat_"
+    find_lex $P496, "$/"
+    unless_null $P496, vivify_223
+    $P496 = root_new ['parrot';'Hash']
+  vivify_223:
+    set $P497, $P496["wu"]
+    unless_null $P497, vivify_224
+    new $P497, "Undef"
+  vivify_224:
+    set $S498, $P497
+    concat $P499, $P495, $S498
+    store_lex "$pasttype", $P499
+    find_lex $P500, "$past"
+.annotate 'line', 147
+    find_lex $P502, "$/"
+    unless_null $P502, vivify_225
+    $P502 = root_new ['parrot';'Hash']
+  vivify_225:
+    set $P503, $P502["xblock"]
+    unless_null $P503, vivify_226
+    new $P503, "Undef"
+  vivify_226:
+    if $P503, if_501
+.annotate 'line', 152
+    get_hll_global $P510, ["PAST"], "Op"
+    find_lex $P511, "$/"
+    unless_null $P511, vivify_227
+    $P511 = root_new ['parrot';'Hash']
   vivify_227:
-    set $P516, $P515["xblock"]
-    unless_null $P516, vivify_228
-    new $P516, "Undef"
+    set $P512, $P511["EXPR"]
+    unless_null $P512, vivify_228
+    new $P512, "Undef"
   vivify_228:
-    $P517 = $P516."ast"()
-    store_lex "$past", $P517
-.annotate "line", 161
-    find_lex $P518, "$past"
-    $P518."pasttype"("for")
-.annotate "line", 162
-    find_lex $P519, "$past"
-    unless_null $P519, vivify_229
-    $P519 = root_new ['parrot';'ResizablePMCArray']
+    $P513 = $P512."ast"()
+    find_lex $P514, "$/"
+    unless_null $P514, vivify_229
+    $P514 = root_new ['parrot';'Hash']
   vivify_229:
-    set $P520, $P519[1]
-    unless_null $P520, vivify_230
-    new $P520, "Undef"
+    set $P515, $P514["pblock"]
+    unless_null $P515, vivify_230
+    new $P515, "Undef"
   vivify_230:
-    store_lex "$block", $P520
-.annotate "line", 163
-    find_lex $P522, "$block"
-    $P523 = $P522."arity"()
-    if $P523, unless_521_end
-.annotate "line", 164
-    find_lex $P524, "$block"
-    unless_null $P524, vivify_231
-    $P524 = root_new ['parrot';'ResizablePMCArray']
+    $P516 = $P515."ast"()
+    $P517 = "block_immediate"($P516)
+    find_lex $P518, "$pasttype"
+    find_lex $P519, "$/"
+    $P520 = $P510."new"($P513, $P517, $P518 :named("pasttype"), $P519 :named("node"))
+    store_lex "$past", $P520
+.annotate 'line', 151
+    goto if_501_end
+  if_501:
+.annotate 'line', 148
+    find_lex $P504, "$/"
+    unless_null $P504, vivify_231
+    $P504 = root_new ['parrot';'Hash']
   vivify_231:
-    set $P525, $P524[0]
-    unless_null $P525, vivify_232
-    new $P525, "Undef"
+    set $P505, $P504["xblock"]
+    unless_null $P505, vivify_232
+    new $P505, "Undef"
   vivify_232:
-    get_hll_global $P526, ["PAST"], "Var"
-    $P527 = $P526."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P525."push"($P527)
-.annotate "line", 165
-    find_lex $P528, "$block"
-    $P528."symbol"("$_", "lexical" :named("scope"))
-.annotate "line", 166
-    find_lex $P529, "$block"
-    $P529."arity"(1)
-  unless_521_end:
-.annotate "line", 168
-    find_lex $P530, "$block"
-    $P530."blocktype"("immediate")
-.annotate "line", 169
-    find_lex $P531, "$/"
-    find_lex $P532, "$past"
-    $P533 = $P531."!make"($P532)
-.annotate "line", 159
-    .return ($P533)
-  control_510:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P534, exception, "payload"
-    .return ($P534)
+    $P506 = $P505."ast"()
+    $P507 = "xblock_immediate"($P506)
+    store_lex "$past", $P507
+.annotate 'line', 149
+    find_lex $P508, "$past"
+    find_lex $P509, "$pasttype"
+    $P508."pasttype"($P509)
+  if_501_end:
+.annotate 'line', 155
+    find_lex $P521, "$/"
+    find_lex $P522, "$past"
+    $P523 = $P521."!make"($P522)
+.annotate 'line', 144
+    .return ($P523)
+  control_490:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P524, exception, "payload"
+    .return ($P524)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("37_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_538
-.annotate "line", 172
-    new $P537, 'ExceptionHandler'
-    set_addr $P537, control_536
-    $P537."handle_types"(57)
-    push_eh $P537
-    .lex "self", self
-    .lex "$/", param_538
-.annotate "line", 173
-    find_lex $P539, "$/"
-    get_hll_global $P540, ["PAST"], "Op"
-    find_lex $P541, "$/"
-    unless_null $P541, vivify_233
-    $P541 = root_new ['parrot';'Hash']
+.sub "statement_control:sym<for>"  :subid("37_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_528
+.annotate 'line', 158
+    new $P527, 'ExceptionHandler'
+    set_addr $P527, control_526
+    $P527."handle_types"(57)
+    push_eh $P527
+    .lex "self", self
+    .lex "$/", param_528
+.annotate 'line', 159
+    new $P529, "Undef"
+    .lex "$past", $P529
+.annotate 'line', 161
+    new $P530, "Undef"
+    .lex "$block", $P530
+.annotate 'line', 159
+    find_lex $P531, "$/"
+    unless_null $P531, vivify_233
+    $P531 = root_new ['parrot';'Hash']
   vivify_233:
-    set $P542, $P541["EXPR"]
-    unless_null $P542, vivify_234
-    new $P542, "Undef"
+    set $P532, $P531["xblock"]
+    unless_null $P532, vivify_234
+    new $P532, "Undef"
   vivify_234:
-    $P543 = $P542."ast"()
-    find_lex $P544, "$/"
-    $P545 = $P540."new"($P543, "return" :named("pasttype"), $P544 :named("node"))
-    $P546 = $P539."!make"($P545)
-.annotate "line", 172
-    .return ($P546)
-  control_536:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P547, exception, "payload"
-    .return ($P547)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("38_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_551
-.annotate "line", 176
-    new $P550, 'ExceptionHandler'
-    set_addr $P550, control_549
-    $P550."handle_types"(57)
-    push_eh $P550
-    .lex "self", self
-    .lex "$/", param_551
-.annotate "line", 177
-    new $P552, "Undef"
-    .lex "$block", $P552
-    find_lex $P553, "$/"
-    unless_null $P553, vivify_235
-    $P553 = root_new ['parrot';'Hash']
+    $P533 = $P532."ast"()
+    store_lex "$past", $P533
+.annotate 'line', 160
+    find_lex $P534, "$past"
+    $P534."pasttype"("for")
+.annotate 'line', 161
+    find_lex $P535, "$past"
+    unless_null $P535, vivify_235
+    $P535 = root_new ['parrot';'ResizablePMCArray']
   vivify_235:
-    set $P554, $P553["block"]
-    unless_null $P554, vivify_236
-    new $P554, "Undef"
+    set $P536, $P535[1]
+    unless_null $P536, vivify_236
+    new $P536, "Undef"
   vivify_236:
-    $P555 = $P554."ast"()
-    store_lex "$block", $P555
-.annotate "line", 178
-    find_lex $P556, "$/"
-    find_lex $P557, "$block"
-    "push_block_handler"($P556, $P557)
-.annotate "line", 179
-    get_global $P558, "@BLOCK"
-    unless_null $P558, vivify_237
-    $P558 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$block", $P536
+.annotate 'line', 162
+    find_lex $P538, "$block"
+    $P539 = $P538."arity"()
+    if $P539, unless_537_end
+.annotate 'line', 163
+    find_lex $P540, "$block"
+    unless_null $P540, vivify_237
+    $P540 = root_new ['parrot';'ResizablePMCArray']
   vivify_237:
-    set $P559, $P558[0]
-    unless_null $P559, vivify_238
-    new $P559, "Undef"
+    set $P541, $P540[0]
+    unless_null $P541, vivify_238
+    new $P541, "Undef"
   vivify_238:
-    $P560 = $P559."handlers"()
-    set $P561, $P560[0]
-    unless_null $P561, vivify_239
-    new $P561, "Undef"
-  vivify_239:
-    $P561."handle_types_except"("CONTROL")
-.annotate "line", 180
-    find_lex $P562, "$/"
-    get_hll_global $P563, ["PAST"], "Stmts"
-    find_lex $P564, "$/"
-    $P565 = $P563."new"($P564 :named("node"))
-    $P566 = $P562."!make"($P565)
-.annotate "line", 176
-    .return ($P566)
-  control_549:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P567, exception, "payload"
-    .return ($P567)
+    get_hll_global $P542, ["PAST"], "Var"
+    $P543 = $P542."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P541."push"($P543)
+.annotate 'line', 164
+    find_lex $P544, "$block"
+    $P544."symbol"("$_", "lexical" :named("scope"))
+.annotate 'line', 165
+    find_lex $P545, "$block"
+    $P545."arity"(1)
+  unless_537_end:
+.annotate 'line', 167
+    find_lex $P546, "$block"
+    $P546."blocktype"("immediate")
+.annotate 'line', 168
+    find_lex $P547, "$/"
+    find_lex $P548, "$past"
+    $P549 = $P547."!make"($P548)
+.annotate 'line', 158
+    .return ($P549)
+  control_526:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P550, exception, "payload"
+    .return ($P550)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("39_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_571
-.annotate "line", 183
-    new $P570, 'ExceptionHandler'
-    set_addr $P570, control_569
-    $P570."handle_types"(57)
-    push_eh $P570
-    .lex "self", self
-    .lex "$/", param_571
-.annotate "line", 184
-    new $P572, "Undef"
-    .lex "$block", $P572
-    find_lex $P573, "$/"
-    unless_null $P573, vivify_240
-    $P573 = root_new ['parrot';'Hash']
+.sub "statement_control:sym<return>"  :subid("38_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_554
+.annotate 'line', 171
+    new $P553, 'ExceptionHandler'
+    set_addr $P553, control_552
+    $P553."handle_types"(57)
+    push_eh $P553
+    .lex "self", self
+    .lex "$/", param_554
+.annotate 'line', 172
+    find_lex $P555, "$/"
+    get_hll_global $P556, ["PAST"], "Op"
+    find_lex $P557, "$/"
+    unless_null $P557, vivify_239
+    $P557 = root_new ['parrot';'Hash']
+  vivify_239:
+    set $P558, $P557["EXPR"]
+    unless_null $P558, vivify_240
+    new $P558, "Undef"
   vivify_240:
-    set $P574, $P573["block"]
-    unless_null $P574, vivify_241
-    new $P574, "Undef"
+    $P559 = $P558."ast"()
+    find_lex $P560, "$/"
+    $P561 = $P556."new"($P559, "return" :named("pasttype"), $P560 :named("node"))
+    $P562 = $P555."!make"($P561)
+.annotate 'line', 171
+    .return ($P562)
+  control_552:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P563, exception, "payload"
+    .return ($P563)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "statement_control:sym<CATCH>"  :subid("39_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_567
+.annotate 'line', 175
+    new $P566, 'ExceptionHandler'
+    set_addr $P566, control_565
+    $P566."handle_types"(57)
+    push_eh $P566
+    .lex "self", self
+    .lex "$/", param_567
+.annotate 'line', 176
+    new $P568, "Undef"
+    .lex "$block", $P568
+    find_lex $P569, "$/"
+    unless_null $P569, vivify_241
+    $P569 = root_new ['parrot';'Hash']
   vivify_241:
-    $P575 = $P574."ast"()
-    store_lex "$block", $P575
-.annotate "line", 185
-    find_lex $P576, "$/"
-    find_lex $P577, "$block"
-    "push_block_handler"($P576, $P577)
-.annotate "line", 186
-    get_global $P578, "@BLOCK"
-    unless_null $P578, vivify_242
-    $P578 = root_new ['parrot';'ResizablePMCArray']
+    set $P570, $P569["block"]
+    unless_null $P570, vivify_242
+    new $P570, "Undef"
   vivify_242:
-    set $P579, $P578[0]
-    unless_null $P579, vivify_243
-    new $P579, "Undef"
+    $P571 = $P570."ast"()
+    store_lex "$block", $P571
+.annotate 'line', 177
+    find_lex $P572, "$/"
+    find_lex $P573, "$block"
+    "push_block_handler"($P572, $P573)
+.annotate 'line', 178
+    get_global $P574, "@BLOCK"
+    unless_null $P574, vivify_243
+    $P574 = root_new ['parrot';'ResizablePMCArray']
   vivify_243:
-    $P580 = $P579."handlers"()
-    set $P581, $P580[0]
-    unless_null $P581, vivify_244
-    new $P581, "Undef"
+    set $P575, $P574[0]
+    unless_null $P575, vivify_244
+    new $P575, "Undef"
   vivify_244:
-    $P581."handle_types"("CONTROL")
-.annotate "line", 187
-    find_lex $P582, "$/"
-    get_hll_global $P583, ["PAST"], "Stmts"
-    find_lex $P584, "$/"
-    $P585 = $P583."new"($P584 :named("node"))
-    $P586 = $P582."!make"($P585)
-.annotate "line", 183
-    .return ($P586)
-  control_569:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P587, exception, "payload"
-    .return ($P587)
+    $P576 = $P575."handlers"()
+    set $P577, $P576[0]
+    unless_null $P577, vivify_245
+    new $P577, "Undef"
+  vivify_245:
+    $P577."handle_types_except"("CONTROL")
+.annotate 'line', 179
+    find_lex $P578, "$/"
+    get_hll_global $P579, ["PAST"], "Stmts"
+    find_lex $P580, "$/"
+    $P581 = $P579."new"($P580 :named("node"))
+    $P582 = $P578."!make"($P581)
+.annotate 'line', 175
+    .return ($P582)
+  control_565:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P583, exception, "payload"
+    .return ($P583)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("40_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_592
-.annotate "line", 227
-    new $P591, 'ExceptionHandler'
-    set_addr $P591, control_590
-    $P591."handle_types"(57)
-    push_eh $P591
-    .lex "self", self
-    .lex "$/", param_592
-.annotate "line", 228
-    get_global $P593, "@BLOCK"
-    unless_null $P593, vivify_245
-    $P593 = root_new ['parrot';'ResizablePMCArray']
-  vivify_245:
-    set $P594, $P593[0]
-    unless_null $P594, vivify_246
-    new $P594, "Undef"
+.sub "statement_control:sym<CONTROL>"  :subid("40_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_587
+.annotate 'line', 182
+    new $P586, 'ExceptionHandler'
+    set_addr $P586, control_585
+    $P586."handle_types"(57)
+    push_eh $P586
+    .lex "self", self
+    .lex "$/", param_587
+.annotate 'line', 183
+    new $P588, "Undef"
+    .lex "$block", $P588
+    find_lex $P589, "$/"
+    unless_null $P589, vivify_246
+    $P589 = root_new ['parrot';'Hash']
   vivify_246:
-    $P595 = $P594."loadinit"()
-    find_lex $P596, "$/"
-    unless_null $P596, vivify_247
-    $P596 = root_new ['parrot';'Hash']
+    set $P590, $P589["block"]
+    unless_null $P590, vivify_247
+    new $P590, "Undef"
   vivify_247:
-    set $P597, $P596["blorst"]
-    unless_null $P597, vivify_248
-    new $P597, "Undef"
+    $P591 = $P590."ast"()
+    store_lex "$block", $P591
+.annotate 'line', 184
+    find_lex $P592, "$/"
+    find_lex $P593, "$block"
+    "push_block_handler"($P592, $P593)
+.annotate 'line', 185
+    get_global $P594, "@BLOCK"
+    unless_null $P594, vivify_248
+    $P594 = root_new ['parrot';'ResizablePMCArray']
   vivify_248:
-    $P598 = $P597."ast"()
-    $P595."push"($P598)
-.annotate "line", 229
-    find_lex $P599, "$/"
-    get_hll_global $P600, ["PAST"], "Stmts"
-    find_lex $P601, "$/"
-    $P602 = $P600."new"($P601 :named("node"))
-    $P603 = $P599."!make"($P602)
-.annotate "line", 227
-    .return ($P603)
-  control_590:
+    set $P595, $P594[0]
+    unless_null $P595, vivify_249
+    new $P595, "Undef"
+  vivify_249:
+    $P596 = $P595."handlers"()
+    set $P597, $P596[0]
+    unless_null $P597, vivify_250
+    new $P597, "Undef"
+  vivify_250:
+    $P597."handle_types"("CONTROL")
+.annotate 'line', 186
+    find_lex $P598, "$/"
+    get_hll_global $P599, ["PAST"], "Stmts"
+    find_lex $P600, "$/"
+    $P601 = $P599."new"($P600 :named("node"))
+    $P602 = $P598."!make"($P601)
+.annotate 'line', 182
+    .return ($P602)
+  control_585:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P604, exception, "payload"
-    .return ($P604)
+    getattribute $P603, exception, "payload"
+    .return ($P603)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("41_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "statement_prefix:sym<INIT>"  :subid("41_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_608
-.annotate "line", 232
+.annotate 'line', 226
     new $P607, 'ExceptionHandler'
     set_addr $P607, control_606
     $P607."handle_types"(57)
     push_eh $P607
     .lex "self", self
     .lex "$/", param_608
-.annotate "line", 233
-    new $P609, "Undef"
-    .lex "$past", $P609
-    find_lex $P610, "$/"
-    unless_null $P610, vivify_249
-    $P610 = root_new ['parrot';'Hash']
-  vivify_249:
-    set $P611, $P610["blorst"]
-    unless_null $P611, vivify_250
-    new $P611, "Undef"
-  vivify_250:
-    $P612 = $P611."ast"()
-    store_lex "$past", $P612
-.annotate "line", 234
-    find_lex $P614, "$past"
-    $S615 = $P614."WHAT"()
-    isne $I616, $S615, "PAST::Block()"
-    unless $I616, if_613_end
-.annotate "line", 235
-    get_hll_global $P617, ["PAST"], "Block"
-    find_lex $P618, "$past"
-    find_lex $P619, "$/"
-    $P620 = $P617."new"($P618, "immediate" :named("blocktype"), $P619 :named("node"))
-    store_lex "$past", $P620
-  if_613_end:
-.annotate "line", 237
-    find_lex $P622, "$past"
-    $P623 = $P622."handlers"()
-    if $P623, unless_621_end
-.annotate "line", 238
-    find_lex $P624, "$past"
-    get_hll_global $P625, ["PAST"], "Control"
-.annotate "line", 240
-    get_hll_global $P626, ["PAST"], "Stmts"
-.annotate "line", 241
-    get_hll_global $P627, ["PAST"], "Op"
-.annotate "line", 242
-    get_hll_global $P628, ["PAST"], "Var"
-.annotate "line", 243
-    get_hll_global $P629, ["PAST"], "Var"
-    $P630 = $P629."new"("register" :named("scope"), "exception" :named("name"))
-    $P631 = $P628."new"($P630, "handled", "keyed" :named("scope"))
-.annotate "line", 242
-    $P632 = $P627."new"($P631, 1, "bind" :named("pasttype"))
-.annotate "line", 241
-    $P633 = $P626."new"($P632)
-.annotate "line", 240
-    $P634 = $P625."new"($P633, "CONTROL" :named("handle_types_except"))
-.annotate "line", 238
-    new $P635, "ResizablePMCArray"
-    push $P635, $P634
-    $P624."handlers"($P635)
-  unless_621_end:
-.annotate "line", 252
-    find_lex $P636, "$/"
-    find_lex $P637, "$past"
-    $P638 = $P636."!make"($P637)
-.annotate "line", 232
-    .return ($P638)
-  control_606:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P639, exception, "payload"
-    .return ($P639)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("42_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_643
-.annotate "line", 255
-    new $P642, 'ExceptionHandler'
-    set_addr $P642, control_641
-    $P642."handle_types"(57)
-    push_eh $P642
-    .lex "self", self
-    .lex "$/", param_643
-.annotate "line", 256
-    find_lex $P644, "$/"
-.annotate "line", 257
-    find_lex $P647, "$/"
-    unless_null $P647, vivify_251
-    $P647 = root_new ['parrot';'Hash']
+.annotate 'line', 227
+    get_global $P609, "@BLOCK"
+    unless_null $P609, vivify_251
+    $P609 = root_new ['parrot';'ResizablePMCArray']
   vivify_251:
-    set $P648, $P647["block"]
-    unless_null $P648, vivify_252
-    new $P648, "Undef"
+    set $P610, $P609[0]
+    unless_null $P610, vivify_252
+    new $P610, "Undef"
   vivify_252:
-    if $P648, if_646
-.annotate "line", 258
-    find_lex $P653, "$/"
-    unless_null $P653, vivify_253
-    $P653 = root_new ['parrot';'Hash']
+    $P611 = $P610."loadinit"()
+    find_lex $P612, "$/"
+    unless_null $P612, vivify_253
+    $P612 = root_new ['parrot';'Hash']
   vivify_253:
-    set $P654, $P653["statement"]
-    unless_null $P654, vivify_254
-    new $P654, "Undef"
+    set $P613, $P612["blorst"]
+    unless_null $P613, vivify_254
+    new $P613, "Undef"
   vivify_254:
-    $P655 = $P654."ast"()
-    set $P645, $P655
-.annotate "line", 257
-    goto if_646_end
-  if_646:
-    find_lex $P649, "$/"
-    unless_null $P649, vivify_255
-    $P649 = root_new ['parrot';'Hash']
-  vivify_255:
-    set $P650, $P649["block"]
-    unless_null $P650, vivify_256
-    new $P650, "Undef"
-  vivify_256:
-    $P651 = $P650."ast"()
-    $P652 = "block_immediate"($P651)
-    set $P645, $P652
-  if_646_end:
-    $P656 = $P644."!make"($P645)
-.annotate "line", 255
-    .return ($P656)
-  control_641:
+    $P614 = $P613."ast"()
+    $P611."push"($P614)
+.annotate 'line', 228
+    find_lex $P615, "$/"
+    get_hll_global $P616, ["PAST"], "Stmts"
+    find_lex $P617, "$/"
+    $P618 = $P616."new"($P617 :named("node"))
+    $P619 = $P615."!make"($P618)
+.annotate 'line', 226
+    .return ($P619)
+  control_606:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P657, exception, "payload"
-    .return ($P657)
+    getattribute $P620, exception, "payload"
+    .return ($P620)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("43_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_661
-.annotate "line", 263
-    new $P660, 'ExceptionHandler'
-    set_addr $P660, control_659
-    $P660."handle_types"(57)
-    push_eh $P660
-    .lex "self", self
-    .lex "$/", param_661
-    find_lex $P662, "$/"
+.sub "statement_prefix:sym<try>"  :subid("42_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_624
+.annotate 'line', 231
+    new $P623, 'ExceptionHandler'
+    set_addr $P623, control_622
+    $P623."handle_types"(57)
+    push_eh $P623
+    .lex "self", self
+    .lex "$/", param_624
+.annotate 'line', 232
+    new $P625, "Undef"
+    .lex "$past", $P625
+    find_lex $P626, "$/"
+    unless_null $P626, vivify_255
+    $P626 = root_new ['parrot';'Hash']
+  vivify_255:
+    set $P627, $P626["blorst"]
+    unless_null $P627, vivify_256
+    new $P627, "Undef"
+  vivify_256:
+    $P628 = $P627."ast"()
+    store_lex "$past", $P628
+.annotate 'line', 233
+    find_lex $P630, "$past"
+    $S631 = $P630."WHAT"()
+    isne $I632, $S631, "PAST::Block()"
+    unless $I632, if_629_end
+.annotate 'line', 234
+    get_hll_global $P633, ["PAST"], "Block"
+    find_lex $P634, "$past"
+    find_lex $P635, "$/"
+    $P636 = $P633."new"($P634, "immediate" :named("blocktype"), $P635 :named("node"))
+    store_lex "$past", $P636
+  if_629_end:
+.annotate 'line', 236
+    find_lex $P638, "$past"
+    $P639 = $P638."handlers"()
+    if $P639, unless_637_end
+.annotate 'line', 237
+    find_lex $P640, "$past"
+    get_hll_global $P641, ["PAST"], "Control"
+.annotate 'line', 239
+    get_hll_global $P642, ["PAST"], "Stmts"
+.annotate 'line', 240
+    get_hll_global $P643, ["PAST"], "Op"
+.annotate 'line', 241
+    get_hll_global $P644, ["PAST"], "Var"
+.annotate 'line', 242
+    get_hll_global $P645, ["PAST"], "Var"
+    $P646 = $P645."new"("register" :named("scope"), "exception" :named("name"))
+    $P647 = $P644."new"($P646, "handled", "keyed" :named("scope"))
+.annotate 'line', 241
+    $P648 = $P643."new"($P647, 1, "bind" :named("pasttype"))
+.annotate 'line', 240
+    $P649 = $P642."new"($P648)
+.annotate 'line', 239
+    $P650 = $P641."new"($P649, "CONTROL" :named("handle_types_except"))
+.annotate 'line', 237
+    new $P651, "ResizablePMCArray"
+    push $P651, $P650
+    $P640."handlers"($P651)
+  unless_637_end:
+.annotate 'line', 251
+    find_lex $P652, "$/"
+    find_lex $P653, "$past"
+    $P654 = $P652."!make"($P653)
+.annotate 'line', 231
+    .return ($P654)
+  control_622:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P655, exception, "payload"
+    .return ($P655)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "blorst"  :subid("43_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_659
+.annotate 'line', 254
+    new $P658, 'ExceptionHandler'
+    set_addr $P658, control_657
+    $P658."handle_types"(57)
+    push_eh $P658
+    .lex "self", self
+    .lex "$/", param_659
+.annotate 'line', 255
+    find_lex $P660, "$/"
+.annotate 'line', 256
     find_lex $P663, "$/"
     unless_null $P663, vivify_257
     $P663 = root_new ['parrot';'Hash']
   vivify_257:
-    set $P664, $P663["cond"]
+    set $P664, $P663["block"]
     unless_null $P664, vivify_258
     new $P664, "Undef"
   vivify_258:
-    $P665 = $P664."ast"()
-    $P666 = $P662."!make"($P665)
-    .return ($P666)
-  control_659:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P667, exception, "payload"
-    .return ($P667)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("44_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_671
-.annotate "line", 264
-    new $P670, 'ExceptionHandler'
-    set_addr $P670, control_669
-    $P670."handle_types"(57)
-    push_eh $P670
-    .lex "self", self
-    .lex "$/", param_671
-    find_lex $P672, "$/"
-    find_lex $P673, "$/"
-    unless_null $P673, vivify_259
-    $P673 = root_new ['parrot';'Hash']
+    if $P664, if_662
+.annotate 'line', 257
+    find_lex $P669, "$/"
+    unless_null $P669, vivify_259
+    $P669 = root_new ['parrot';'Hash']
   vivify_259:
-    set $P674, $P673["cond"]
-    unless_null $P674, vivify_260
-    new $P674, "Undef"
+    set $P670, $P669["statement"]
+    unless_null $P670, vivify_260
+    new $P670, "Undef"
   vivify_260:
-    $P675 = $P674."ast"()
-    $P676 = $P672."!make"($P675)
-    .return ($P676)
-  control_669:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P677, exception, "payload"
-    .return ($P677)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("45_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_681
-.annotate "line", 266
-    new $P680, 'ExceptionHandler'
-    set_addr $P680, control_679
-    $P680."handle_types"(57)
-    push_eh $P680
-    .lex "self", self
-    .lex "$/", param_681
-    find_lex $P682, "$/"
-    find_lex $P683, "$/"
-    unless_null $P683, vivify_261
-    $P683 = root_new ['parrot';'Hash']
+    $P671 = $P670."ast"()
+    set $P661, $P671
+.annotate 'line', 256
+    goto if_662_end
+  if_662:
+    find_lex $P665, "$/"
+    unless_null $P665, vivify_261
+    $P665 = root_new ['parrot';'Hash']
   vivify_261:
-    set $P684, $P683["cond"]
-    unless_null $P684, vivify_262
-    new $P684, "Undef"
+    set $P666, $P665["block"]
+    unless_null $P666, vivify_262
+    new $P666, "Undef"
   vivify_262:
-    $P685 = $P684."ast"()
-    $P686 = $P682."!make"($P685)
-    .return ($P686)
-  control_679:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P687, exception, "payload"
-    .return ($P687)
+    $P667 = $P666."ast"()
+    $P668 = "block_immediate"($P667)
+    set $P661, $P668
+  if_662_end:
+    $P672 = $P660."!make"($P661)
+.annotate 'line', 254
+    .return ($P672)
+  control_657:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P673, exception, "payload"
+    .return ($P673)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("46_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_691
-.annotate "line", 267
-    new $P690, 'ExceptionHandler'
-    set_addr $P690, control_689
-    $P690."handle_types"(57)
-    push_eh $P690
-    .lex "self", self
-    .lex "$/", param_691
-    find_lex $P692, "$/"
-    find_lex $P693, "$/"
-    unless_null $P693, vivify_263
-    $P693 = root_new ['parrot';'Hash']
+.sub "statement_mod_cond:sym<if>"  :subid("44_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_677
+.annotate 'line', 262
+    new $P676, 'ExceptionHandler'
+    set_addr $P676, control_675
+    $P676."handle_types"(57)
+    push_eh $P676
+    .lex "self", self
+    .lex "$/", param_677
+    find_lex $P678, "$/"
+    find_lex $P679, "$/"
+    unless_null $P679, vivify_263
+    $P679 = root_new ['parrot';'Hash']
   vivify_263:
-    set $P694, $P693["cond"]
-    unless_null $P694, vivify_264
-    new $P694, "Undef"
+    set $P680, $P679["cond"]
+    unless_null $P680, vivify_264
+    new $P680, "Undef"
   vivify_264:
-    $P695 = $P694."ast"()
-    $P696 = $P692."!make"($P695)
-    .return ($P696)
-  control_689:
+    $P681 = $P680."ast"()
+    $P682 = $P678."!make"($P681)
+    .return ($P682)
+  control_675:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P697, exception, "payload"
-    .return ($P697)
+    getattribute $P683, exception, "payload"
+    .return ($P683)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>"  :subid("47_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_701
-.annotate "line", 271
-    new $P700, 'ExceptionHandler'
-    set_addr $P700, control_699
-    $P700."handle_types"(57)
-    push_eh $P700
+.sub "statement_mod_cond:sym<unless>"  :subid("45_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_687
+.annotate 'line', 263
+    new $P686, 'ExceptionHandler'
+    set_addr $P686, control_685
+    $P686."handle_types"(57)
+    push_eh $P686
     .lex "self", self
-    .lex "$/", param_701
-    find_lex $P702, "$/"
-    find_lex $P703, "$/"
-    unless_null $P703, vivify_265
-    $P703 = root_new ['parrot';'Hash']
+    .lex "$/", param_687
+    find_lex $P688, "$/"
+    find_lex $P689, "$/"
+    unless_null $P689, vivify_265
+    $P689 = root_new ['parrot';'Hash']
   vivify_265:
-    set $P704, $P703["fatarrow"]
-    unless_null $P704, vivify_266
-    new $P704, "Undef"
+    set $P690, $P689["cond"]
+    unless_null $P690, vivify_266
+    new $P690, "Undef"
   vivify_266:
-    $P705 = $P704."ast"()
-    $P706 = $P702."!make"($P705)
-    .return ($P706)
-  control_699:
+    $P691 = $P690."ast"()
+    $P692 = $P688."!make"($P691)
+    .return ($P692)
+  control_685:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P707, exception, "payload"
-    .return ($P707)
+    getattribute $P693, exception, "payload"
+    .return ($P693)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("48_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_711
-.annotate "line", 272
-    new $P710, 'ExceptionHandler'
-    set_addr $P710, control_709
-    $P710."handle_types"(57)
-    push_eh $P710
+.sub "statement_mod_loop:sym<while>"  :subid("46_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_697
+.annotate 'line', 265
+    new $P696, 'ExceptionHandler'
+    set_addr $P696, control_695
+    $P696."handle_types"(57)
+    push_eh $P696
     .lex "self", self
-    .lex "$/", param_711
-    find_lex $P712, "$/"
-    find_lex $P713, "$/"
-    unless_null $P713, vivify_267
-    $P713 = root_new ['parrot';'Hash']
+    .lex "$/", param_697
+    find_lex $P698, "$/"
+    find_lex $P699, "$/"
+    unless_null $P699, vivify_267
+    $P699 = root_new ['parrot';'Hash']
   vivify_267:
-    set $P714, $P713["colonpair"]
-    unless_null $P714, vivify_268
-    new $P714, "Undef"
+    set $P700, $P699["cond"]
+    unless_null $P700, vivify_268
+    new $P700, "Undef"
   vivify_268:
-    $P715 = $P714."ast"()
-    $P716 = $P712."!make"($P715)
-    .return ($P716)
-  control_709:
+    $P701 = $P700."ast"()
+    $P702 = $P698."!make"($P701)
+    .return ($P702)
+  control_695:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P717, exception, "payload"
-    .return ($P717)
+    getattribute $P703, exception, "payload"
+    .return ($P703)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("49_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_721
-.annotate "line", 273
-    new $P720, 'ExceptionHandler'
-    set_addr $P720, control_719
-    $P720."handle_types"(57)
-    push_eh $P720
+.sub "statement_mod_loop:sym<until>"  :subid("47_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_707
+.annotate 'line', 266
+    new $P706, 'ExceptionHandler'
+    set_addr $P706, control_705
+    $P706."handle_types"(57)
+    push_eh $P706
     .lex "self", self
-    .lex "$/", param_721
-    find_lex $P722, "$/"
-    find_lex $P723, "$/"
-    unless_null $P723, vivify_269
-    $P723 = root_new ['parrot';'Hash']
+    .lex "$/", param_707
+    find_lex $P708, "$/"
+    find_lex $P709, "$/"
+    unless_null $P709, vivify_269
+    $P709 = root_new ['parrot';'Hash']
   vivify_269:
-    set $P724, $P723["variable"]
-    unless_null $P724, vivify_270
-    new $P724, "Undef"
+    set $P710, $P709["cond"]
+    unless_null $P710, vivify_270
+    new $P710, "Undef"
   vivify_270:
-    $P725 = $P724."ast"()
-    $P726 = $P722."!make"($P725)
-    .return ($P726)
-  control_719:
+    $P711 = $P710."ast"()
+    $P712 = $P708."!make"($P711)
+    .return ($P712)
+  control_705:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P727, exception, "payload"
-    .return ($P727)
+    getattribute $P713, exception, "payload"
+    .return ($P713)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("50_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_731
-.annotate "line", 274
-    new $P730, 'ExceptionHandler'
-    set_addr $P730, control_729
-    $P730."handle_types"(57)
-    push_eh $P730
+.sub "term:sym<fatarrow>"  :subid("48_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_717
+.annotate 'line', 270
+    new $P716, 'ExceptionHandler'
+    set_addr $P716, control_715
+    $P716."handle_types"(57)
+    push_eh $P716
     .lex "self", self
-    .lex "$/", param_731
-    find_lex $P732, "$/"
-    find_lex $P733, "$/"
-    unless_null $P733, vivify_271
-    $P733 = root_new ['parrot';'Hash']
+    .lex "$/", param_717
+    find_lex $P718, "$/"
+    find_lex $P719, "$/"
+    unless_null $P719, vivify_271
+    $P719 = root_new ['parrot';'Hash']
   vivify_271:
-    set $P734, $P733["package_declarator"]
-    unless_null $P734, vivify_272
-    new $P734, "Undef"
+    set $P720, $P719["fatarrow"]
+    unless_null $P720, vivify_272
+    new $P720, "Undef"
   vivify_272:
-    $P735 = $P734."ast"()
-    $P736 = $P732."!make"($P735)
-    .return ($P736)
-  control_729:
+    $P721 = $P720."ast"()
+    $P722 = $P718."!make"($P721)
+    .return ($P722)
+  control_715:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P737, exception, "payload"
-    .return ($P737)
+    getattribute $P723, exception, "payload"
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("51_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_741
-.annotate "line", 275
-    new $P740, 'ExceptionHandler'
-    set_addr $P740, control_739
-    $P740."handle_types"(57)
-    push_eh $P740
+.sub "term:sym<colonpair>"  :subid("49_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_727
+.annotate 'line', 271
+    new $P726, 'ExceptionHandler'
+    set_addr $P726, control_725
+    $P726."handle_types"(57)
+    push_eh $P726
     .lex "self", self
-    .lex "$/", param_741
-    find_lex $P742, "$/"
-    find_lex $P743, "$/"
-    unless_null $P743, vivify_273
-    $P743 = root_new ['parrot';'Hash']
+    .lex "$/", param_727
+    find_lex $P728, "$/"
+    find_lex $P729, "$/"
+    unless_null $P729, vivify_273
+    $P729 = root_new ['parrot';'Hash']
   vivify_273:
-    set $P744, $P743["scope_declarator"]
-    unless_null $P744, vivify_274
-    new $P744, "Undef"
+    set $P730, $P729["colonpair"]
+    unless_null $P730, vivify_274
+    new $P730, "Undef"
   vivify_274:
-    $P745 = $P744."ast"()
-    $P746 = $P742."!make"($P745)
-    .return ($P746)
-  control_739:
+    $P731 = $P730."ast"()
+    $P732 = $P728."!make"($P731)
+    .return ($P732)
+  control_725:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P747, exception, "payload"
-    .return ($P747)
+    getattribute $P733, exception, "payload"
+    .return ($P733)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("52_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_751
-.annotate "line", 276
-    new $P750, 'ExceptionHandler'
-    set_addr $P750, control_749
-    $P750."handle_types"(57)
-    push_eh $P750
+.sub "term:sym<variable>"  :subid("50_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_737
+.annotate 'line', 272
+    new $P736, 'ExceptionHandler'
+    set_addr $P736, control_735
+    $P736."handle_types"(57)
+    push_eh $P736
     .lex "self", self
-    .lex "$/", param_751
-    find_lex $P752, "$/"
-    find_lex $P753, "$/"
-    unless_null $P753, vivify_275
-    $P753 = root_new ['parrot';'Hash']
+    .lex "$/", param_737
+    find_lex $P738, "$/"
+    find_lex $P739, "$/"
+    unless_null $P739, vivify_275
+    $P739 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P754, $P753["routine_declarator"]
-    unless_null $P754, vivify_276
-    new $P754, "Undef"
+    set $P740, $P739["variable"]
+    unless_null $P740, vivify_276
+    new $P740, "Undef"
   vivify_276:
-    $P755 = $P754."ast"()
-    $P756 = $P752."!make"($P755)
-    .return ($P756)
-  control_749:
+    $P741 = $P740."ast"()
+    $P742 = $P738."!make"($P741)
+    .return ($P742)
+  control_735:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P757, exception, "payload"
-    .return ($P757)
+    getattribute $P743, exception, "payload"
+    .return ($P743)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("53_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_761
-.annotate "line", 277
-    new $P760, 'ExceptionHandler'
-    set_addr $P760, control_759
-    $P760."handle_types"(57)
-    push_eh $P760
+.sub "term:sym<package_declarator>"  :subid("51_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_747
+.annotate 'line', 273
+    new $P746, 'ExceptionHandler'
+    set_addr $P746, control_745
+    $P746."handle_types"(57)
+    push_eh $P746
     .lex "self", self
-    .lex "$/", param_761
-    find_lex $P762, "$/"
-    find_lex $P763, "$/"
-    unless_null $P763, vivify_277
-    $P763 = root_new ['parrot';'Hash']
+    .lex "$/", param_747
+    find_lex $P748, "$/"
+    find_lex $P749, "$/"
+    unless_null $P749, vivify_277
+    $P749 = root_new ['parrot';'Hash']
   vivify_277:
-    set $P764, $P763["regex_declarator"]
-    unless_null $P764, vivify_278
-    new $P764, "Undef"
+    set $P750, $P749["package_declarator"]
+    unless_null $P750, vivify_278
+    new $P750, "Undef"
   vivify_278:
-    $P765 = $P764."ast"()
-    $P766 = $P762."!make"($P765)
-    .return ($P766)
-  control_759:
+    $P751 = $P750."ast"()
+    $P752 = $P748."!make"($P751)
+    .return ($P752)
+  control_745:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P767, exception, "payload"
-    .return ($P767)
+    getattribute $P753, exception, "payload"
+    .return ($P753)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("54_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_771
-.annotate "line", 278
-    new $P770, 'ExceptionHandler'
-    set_addr $P770, control_769
-    $P770."handle_types"(57)
-    push_eh $P770
-    .lex "self", self
-    .lex "$/", param_771
-    find_lex $P772, "$/"
-    find_lex $P773, "$/"
-    unless_null $P773, vivify_279
-    $P773 = root_new ['parrot';'Hash']
+.sub "term:sym<scope_declarator>"  :subid("52_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_757
+.annotate 'line', 274
+    new $P756, 'ExceptionHandler'
+    set_addr $P756, control_755
+    $P756."handle_types"(57)
+    push_eh $P756
+    .lex "self", self
+    .lex "$/", param_757
+    find_lex $P758, "$/"
+    find_lex $P759, "$/"
+    unless_null $P759, vivify_279
+    $P759 = root_new ['parrot';'Hash']
   vivify_279:
-    set $P774, $P773["statement_prefix"]
-    unless_null $P774, vivify_280
-    new $P774, "Undef"
+    set $P760, $P759["scope_declarator"]
+    unless_null $P760, vivify_280
+    new $P760, "Undef"
   vivify_280:
-    $P775 = $P774."ast"()
-    $P776 = $P772."!make"($P775)
-    .return ($P776)
-  control_769:
+    $P761 = $P760."ast"()
+    $P762 = $P758."!make"($P761)
+    .return ($P762)
+  control_755:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P777, exception, "payload"
-    .return ($P777)
+    getattribute $P763, exception, "payload"
+    .return ($P763)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("55_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_781
-.annotate "line", 279
-    new $P780, 'ExceptionHandler'
-    set_addr $P780, control_779
-    $P780."handle_types"(57)
-    push_eh $P780
+.sub "term:sym<routine_declarator>"  :subid("53_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_767
+.annotate 'line', 275
+    new $P766, 'ExceptionHandler'
+    set_addr $P766, control_765
+    $P766."handle_types"(57)
+    push_eh $P766
     .lex "self", self
-    .lex "$/", param_781
-    find_lex $P782, "$/"
-    find_lex $P783, "$/"
-    unless_null $P783, vivify_281
-    $P783 = root_new ['parrot';'Hash']
+    .lex "$/", param_767
+    find_lex $P768, "$/"
+    find_lex $P769, "$/"
+    unless_null $P769, vivify_281
+    $P769 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P784, $P783["pblock"]
-    unless_null $P784, vivify_282
-    new $P784, "Undef"
+    set $P770, $P769["routine_declarator"]
+    unless_null $P770, vivify_282
+    new $P770, "Undef"
   vivify_282:
-    $P785 = $P784."ast"()
-    $P786 = $P782."!make"($P785)
-    .return ($P786)
-  control_779:
+    $P771 = $P770."ast"()
+    $P772 = $P768."!make"($P771)
+    .return ($P772)
+  control_765:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P787, exception, "payload"
-    .return ($P787)
+    getattribute $P773, exception, "payload"
+    .return ($P773)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "fatarrow"  :subid("56_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_791
-.annotate "line", 281
-    new $P790, 'ExceptionHandler'
-    set_addr $P790, control_789
-    $P790."handle_types"(57)
-    push_eh $P790
+.sub "term:sym<regex_declarator>"  :subid("54_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_777
+.annotate 'line', 276
+    new $P776, 'ExceptionHandler'
+    set_addr $P776, control_775
+    $P776."handle_types"(57)
+    push_eh $P776
     .lex "self", self
-    .lex "$/", param_791
-.annotate "line", 282
-    new $P792, "Undef"
-    .lex "$past", $P792
-    find_lex $P793, "$/"
-    unless_null $P793, vivify_283
-    $P793 = root_new ['parrot';'Hash']
+    .lex "$/", param_777
+    find_lex $P778, "$/"
+    find_lex $P779, "$/"
+    unless_null $P779, vivify_283
+    $P779 = root_new ['parrot';'Hash']
   vivify_283:
-    set $P794, $P793["val"]
-    unless_null $P794, vivify_284
-    new $P794, "Undef"
+    set $P780, $P779["regex_declarator"]
+    unless_null $P780, vivify_284
+    new $P780, "Undef"
   vivify_284:
-    $P795 = $P794."ast"()
-    store_lex "$past", $P795
-.annotate "line", 283
-    find_lex $P796, "$past"
-    find_lex $P797, "$/"
-    unless_null $P797, vivify_285
-    $P797 = root_new ['parrot';'Hash']
+    $P781 = $P780."ast"()
+    $P782 = $P778."!make"($P781)
+    .return ($P782)
+  control_775:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P783, exception, "payload"
+    .return ($P783)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<statement_prefix>"  :subid("55_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_787
+.annotate 'line', 277
+    new $P786, 'ExceptionHandler'
+    set_addr $P786, control_785
+    $P786."handle_types"(57)
+    push_eh $P786
+    .lex "self", self
+    .lex "$/", param_787
+    find_lex $P788, "$/"
+    find_lex $P789, "$/"
+    unless_null $P789, vivify_285
+    $P789 = root_new ['parrot';'Hash']
   vivify_285:
-    set $P798, $P797["key"]
-    unless_null $P798, vivify_286
-    new $P798, "Undef"
+    set $P790, $P789["statement_prefix"]
+    unless_null $P790, vivify_286
+    new $P790, "Undef"
   vivify_286:
-    $P799 = $P798."Str"()
-    $P796."named"($P799)
-.annotate "line", 284
-    find_lex $P800, "$/"
-    find_lex $P801, "$past"
-    $P802 = $P800."!make"($P801)
-.annotate "line", 281
+    $P791 = $P790."ast"()
+    $P792 = $P788."!make"($P791)
+    .return ($P792)
+  control_785:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P793, exception, "payload"
+    .return ($P793)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<lambda>"  :subid("56_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_797
+.annotate 'line', 278
+    new $P796, 'ExceptionHandler'
+    set_addr $P796, control_795
+    $P796."handle_types"(57)
+    push_eh $P796
+    .lex "self", self
+    .lex "$/", param_797
+    find_lex $P798, "$/"
+    find_lex $P799, "$/"
+    unless_null $P799, vivify_287
+    $P799 = root_new ['parrot';'Hash']
+  vivify_287:
+    set $P800, $P799["pblock"]
+    unless_null $P800, vivify_288
+    new $P800, "Undef"
+  vivify_288:
+    $P801 = $P800."ast"()
+    $P802 = $P798."!make"($P801)
     .return ($P802)
-  control_789:
+  control_795:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P803, exception, "payload"
@@ -18438,2122 +18746,2122 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("57_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "fatarrow"  :subid("57_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_807
-.annotate "line", 287
+.annotate 'line', 280
     new $P806, 'ExceptionHandler'
     set_addr $P806, control_805
     $P806."handle_types"(57)
     push_eh $P806
     .lex "self", self
     .lex "$/", param_807
-.annotate "line", 288
+.annotate 'line', 281
     new $P808, "Undef"
     .lex "$past", $P808
-.annotate "line", 289
-    find_lex $P811, "$/"
-    unless_null $P811, vivify_287
-    $P811 = root_new ['parrot';'Hash']
-  vivify_287:
-    set $P812, $P811["circumfix"]
-    unless_null $P812, vivify_288
-    new $P812, "Undef"
-  vivify_288:
-    if $P812, if_810
-.annotate "line", 290
-    get_hll_global $P817, ["PAST"], "Val"
-    find_lex $P818, "$/"
-    unless_null $P818, vivify_289
-    $P818 = root_new ['parrot';'Hash']
+    find_lex $P809, "$/"
+    unless_null $P809, vivify_289
+    $P809 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P819, $P818["not"]
-    unless_null $P819, vivify_290
-    new $P819, "Undef"
+    set $P810, $P809["val"]
+    unless_null $P810, vivify_290
+    new $P810, "Undef"
   vivify_290:
-    isfalse $I820, $P819
-    $P821 = $P817."new"($I820 :named("value"))
-    set $P809, $P821
-.annotate "line", 289
-    goto if_810_end
-  if_810:
+    $P811 = $P810."ast"()
+    store_lex "$past", $P811
+.annotate 'line', 282
+    find_lex $P812, "$past"
     find_lex $P813, "$/"
     unless_null $P813, vivify_291
     $P813 = root_new ['parrot';'Hash']
   vivify_291:
-    set $P814, $P813["circumfix"]
+    set $P814, $P813["key"]
     unless_null $P814, vivify_292
-    $P814 = root_new ['parrot';'ResizablePMCArray']
+    new $P814, "Undef"
   vivify_292:
-    set $P815, $P814[0]
-    unless_null $P815, vivify_293
-    new $P815, "Undef"
-  vivify_293:
-    $P816 = $P815."ast"()
-    set $P809, $P816
-  if_810_end:
-    store_lex "$past", $P809
-.annotate "line", 291
-    find_lex $P822, "$past"
-    find_lex $P823, "$/"
-    unless_null $P823, vivify_294
-    $P823 = root_new ['parrot';'Hash']
-  vivify_294:
-    set $P824, $P823["identifier"]
-    unless_null $P824, vivify_295
-    new $P824, "Undef"
-  vivify_295:
-    set $S825, $P824
-    $P822."named"($S825)
-.annotate "line", 292
-    find_lex $P826, "$/"
-    find_lex $P827, "$past"
-    $P828 = $P826."!make"($P827)
-.annotate "line", 287
-    .return ($P828)
+    $P815 = $P814."Str"()
+    $P812."named"($P815)
+.annotate 'line', 283
+    find_lex $P816, "$/"
+    find_lex $P817, "$past"
+    $P818 = $P816."!make"($P817)
+.annotate 'line', 280
+    .return ($P818)
   control_805:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P829, exception, "payload"
-    .return ($P829)
+    getattribute $P819, exception, "payload"
+    .return ($P819)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("58_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_833
-.annotate "line", 295
-    .const 'Sub' $P846 = "59_1272816841.80681" 
-    capture_lex $P846
-    new $P832, 'ExceptionHandler'
-    set_addr $P832, control_831
-    $P832."handle_types"(57)
-    push_eh $P832
-    .lex "self", self
-    .lex "$/", param_833
-.annotate "line", 296
-    new $P834, "Undef"
-    .lex "$past", $P834
-.annotate "line", 295
-    find_lex $P835, "$past"
-.annotate "line", 297
-    find_lex $P837, "$/"
-    unless_null $P837, vivify_296
-    $P837 = root_new ['parrot';'Hash']
+.sub "colonpair"  :subid("58_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_823
+.annotate 'line', 286
+    new $P822, 'ExceptionHandler'
+    set_addr $P822, control_821
+    $P822."handle_types"(57)
+    push_eh $P822
+    .lex "self", self
+    .lex "$/", param_823
+.annotate 'line', 287
+    new $P824, "Undef"
+    .lex "$past", $P824
+.annotate 'line', 288
+    find_lex $P827, "$/"
+    unless_null $P827, vivify_293
+    $P827 = root_new ['parrot';'Hash']
+  vivify_293:
+    set $P828, $P827["circumfix"]
+    unless_null $P828, vivify_294
+    new $P828, "Undef"
+  vivify_294:
+    if $P828, if_826
+.annotate 'line', 289
+    get_hll_global $P833, ["PAST"], "Val"
+    find_lex $P834, "$/"
+    unless_null $P834, vivify_295
+    $P834 = root_new ['parrot';'Hash']
+  vivify_295:
+    set $P835, $P834["not"]
+    unless_null $P835, vivify_296
+    new $P835, "Undef"
   vivify_296:
-    set $P838, $P837["postcircumfix"]
-    unless_null $P838, vivify_297
-    new $P838, "Undef"
+    isfalse $I836, $P835
+    $P837 = $P833."new"($I836 :named("value"))
+    set $P825, $P837
+.annotate 'line', 288
+    goto if_826_end
+  if_826:
+    find_lex $P829, "$/"
+    unless_null $P829, vivify_297
+    $P829 = root_new ['parrot';'Hash']
   vivify_297:
-    if $P838, if_836
-.annotate "line", 301
-    .const 'Sub' $P846 = "59_1272816841.80681" 
-    capture_lex $P846
-    $P846()
-    goto if_836_end
-  if_836:
-.annotate "line", 298
+    set $P830, $P829["circumfix"]
+    unless_null $P830, vivify_298
+    $P830 = root_new ['parrot';'ResizablePMCArray']
+  vivify_298:
+    set $P831, $P830[0]
+    unless_null $P831, vivify_299
+    new $P831, "Undef"
+  vivify_299:
+    $P832 = $P831."ast"()
+    set $P825, $P832
+  if_826_end:
+    store_lex "$past", $P825
+.annotate 'line', 290
+    find_lex $P838, "$past"
     find_lex $P839, "$/"
-    unless_null $P839, vivify_314
+    unless_null $P839, vivify_300
     $P839 = root_new ['parrot';'Hash']
-  vivify_314:
-    set $P840, $P839["postcircumfix"]
-    unless_null $P840, vivify_315
+  vivify_300:
+    set $P840, $P839["identifier"]
+    unless_null $P840, vivify_301
     new $P840, "Undef"
-  vivify_315:
-    $P841 = $P840."ast"()
-    store_lex "$past", $P841
-.annotate "line", 299
-    find_lex $P842, "$past"
-    get_hll_global $P843, ["PAST"], "Var"
-    $P844 = $P843."new"("$/" :named("name"))
-    $P842."unshift"($P844)
-  if_836_end:
-.annotate "line", 330
-    find_lex $P915, "$/"
-    find_lex $P916, "$past"
-    $P917 = $P915."!make"($P916)
-.annotate "line", 295
-    .return ($P917)
-  control_831:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P918, exception, "payload"
-    .return ($P918)
+  vivify_301:
+    set $S841, $P840
+    $P838."named"($S841)
+.annotate 'line', 291
+    find_lex $P842, "$/"
+    find_lex $P843, "$past"
+    $P844 = $P842."!make"($P843)
+.annotate 'line', 286
+    .return ($P844)
+  control_821:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P845, exception, "payload"
+    .return ($P845)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block845"  :anon :subid("59_1272816841.80681") :outer("58_1272816841.80681")
-.annotate "line", 302
-    $P847 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@name", $P847
-    get_hll_global $P848, ["NQP"], "Compiler"
-    find_lex $P849, "$/"
-    set $S850, $P849
-    $P851 = $P848."parse_name"($S850)
-    store_lex "@name", $P851
-.annotate "line", 303
-    get_hll_global $P852, ["PAST"], "Var"
-    find_lex $P853, "@name"
-    $P854 = $P853."pop"()
-    set $S855, $P854
-    $P856 = $P852."new"($S855 :named("name"))
-    store_lex "$past", $P856
-.annotate "line", 304
-    find_lex $P858, "@name"
-    unless $P858, if_857_end
-.annotate "line", 305
-    find_lex $P860, "@name"
-    unless_null $P860, vivify_298
-    $P860 = root_new ['parrot';'ResizablePMCArray']
-  vivify_298:
-    set $P861, $P860[0]
-    unless_null $P861, vivify_299
-    new $P861, "Undef"
-  vivify_299:
-    set $S862, $P861
-    iseq $I863, $S862, "GLOBAL"
-    unless $I863, if_859_end
-    find_lex $P864, "@name"
-    $P864."shift"()
-  if_859_end:
-.annotate "line", 306
-    find_lex $P865, "$past"
-    find_lex $P866, "@name"
-    $P865."namespace"($P866)
-.annotate "line", 307
-    find_lex $P867, "$past"
-    $P867."scope"("package")
-.annotate "line", 308
-    find_lex $P868, "$past"
-    find_lex $P869, "$/"
-    unless_null $P869, vivify_300
-    $P869 = root_new ['parrot';'Hash']
-  vivify_300:
-    set $P870, $P869["sigil"]
-    unless_null $P870, vivify_301
-    new $P870, "Undef"
-  vivify_301:
-    $P871 = "vivitype"($P870)
-    $P868."viviself"($P871)
-.annotate "line", 309
-    find_lex $P872, "$past"
-    $P872."lvalue"(1)
-  if_857_end:
-.annotate "line", 311
-    find_lex $P875, "$/"
-    unless_null $P875, vivify_302
-    $P875 = root_new ['parrot';'Hash']
+.sub "variable"  :subid("59_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_849
+.annotate 'line', 294
+    .const 'Sub' $P862 = "60_1273866388.36922" 
+    capture_lex $P862
+    new $P848, 'ExceptionHandler'
+    set_addr $P848, control_847
+    $P848."handle_types"(57)
+    push_eh $P848
+    .lex "self", self
+    .lex "$/", param_849
+.annotate 'line', 295
+    new $P850, "Undef"
+    .lex "$past", $P850
+.annotate 'line', 294
+    find_lex $P851, "$past"
+.annotate 'line', 296
+    find_lex $P853, "$/"
+    unless_null $P853, vivify_302
+    $P853 = root_new ['parrot';'Hash']
   vivify_302:
-    set $P876, $P875["twigil"]
-    unless_null $P876, vivify_303
-    $P876 = root_new ['parrot';'ResizablePMCArray']
+    set $P854, $P853["postcircumfix"]
+    unless_null $P854, vivify_303
+    new $P854, "Undef"
   vivify_303:
+    if $P854, if_852
+.annotate 'line', 300
+    .const 'Sub' $P862 = "60_1273866388.36922" 
+    capture_lex $P862
+    $P862()
+    goto if_852_end
+  if_852:
+.annotate 'line', 297
+    find_lex $P855, "$/"
+    unless_null $P855, vivify_320
+    $P855 = root_new ['parrot';'Hash']
+  vivify_320:
+    set $P856, $P855["postcircumfix"]
+    unless_null $P856, vivify_321
+    new $P856, "Undef"
+  vivify_321:
+    $P857 = $P856."ast"()
+    store_lex "$past", $P857
+.annotate 'line', 298
+    find_lex $P858, "$past"
+    get_hll_global $P859, ["PAST"], "Var"
+    $P860 = $P859."new"("$/" :named("name"))
+    $P858."unshift"($P860)
+  if_852_end:
+.annotate 'line', 329
+    find_lex $P931, "$/"
+    find_lex $P932, "$past"
+    $P933 = $P931."!make"($P932)
+.annotate 'line', 294
+    .return ($P933)
+  control_847:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P934, exception, "payload"
+    .return ($P934)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block861"  :anon :subid("60_1273866388.36922") :outer("59_1273866388.36922")
+.annotate 'line', 301
+    $P863 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@name", $P863
+    get_hll_global $P864, ["NQP"], "Compiler"
+    find_lex $P865, "$/"
+    set $S866, $P865
+    $P867 = $P864."parse_name"($S866)
+    store_lex "@name", $P867
+.annotate 'line', 302
+    get_hll_global $P868, ["PAST"], "Var"
+    find_lex $P869, "@name"
+    $P870 = $P869."pop"()
+    set $S871, $P870
+    $P872 = $P868."new"($S871 :named("name"))
+    store_lex "$past", $P872
+.annotate 'line', 303
+    find_lex $P874, "@name"
+    unless $P874, if_873_end
+.annotate 'line', 304
+    find_lex $P876, "@name"
+    unless_null $P876, vivify_304
+    $P876 = root_new ['parrot';'ResizablePMCArray']
+  vivify_304:
     set $P877, $P876[0]
-    unless_null $P877, vivify_304
+    unless_null $P877, vivify_305
     new $P877, "Undef"
-  vivify_304:
-    set $S878, $P877
-    iseq $I879, $S878, "*"
-    if $I879, if_874
-.annotate "line", 324
-    find_lex $P901, "$/"
-    unless_null $P901, vivify_305
-    $P901 = root_new ['parrot';'Hash']
   vivify_305:
-    set $P902, $P901["twigil"]
-    unless_null $P902, vivify_306
-    $P902 = root_new ['parrot';'ResizablePMCArray']
+    set $S878, $P877
+    iseq $I879, $S878, "GLOBAL"
+    unless $I879, if_875_end
+    find_lex $P880, "@name"
+    $P880."shift"()
+  if_875_end:
+.annotate 'line', 305
+    find_lex $P881, "$past"
+    find_lex $P882, "@name"
+    $P881."namespace"($P882)
+.annotate 'line', 306
+    find_lex $P883, "$past"
+    $P883."scope"("package")
+.annotate 'line', 307
+    find_lex $P884, "$past"
+    find_lex $P885, "$/"
+    unless_null $P885, vivify_306
+    $P885 = root_new ['parrot';'Hash']
   vivify_306:
-    set $P903, $P902[0]
-    unless_null $P903, vivify_307
-    new $P903, "Undef"
+    set $P886, $P885["sigil"]
+    unless_null $P886, vivify_307
+    new $P886, "Undef"
   vivify_307:
-    set $S904, $P903
-    iseq $I905, $S904, "!"
-    if $I905, if_900
-    new $P899, 'Integer'
-    set $P899, $I905
-    goto if_900_end
-  if_900:
-.annotate "line", 325
-    find_lex $P906, "$past"
-    get_hll_global $P907, ["PAST"], "Var"
-    $P908 = $P907."new"("self" :named("name"))
-    $P906."push"($P908)
-.annotate "line", 326
-    find_lex $P909, "$past"
-    $P909."scope"("attribute")
-.annotate "line", 327
-    find_lex $P910, "$past"
-    find_lex $P911, "$/"
-    unless_null $P911, vivify_308
-    $P911 = root_new ['parrot';'Hash']
+    $P887 = "vivitype"($P886)
+    $P884."viviself"($P887)
+.annotate 'line', 308
+    find_lex $P888, "$past"
+    $P888."lvalue"(1)
+  if_873_end:
+.annotate 'line', 310
+    find_lex $P891, "$/"
+    unless_null $P891, vivify_308
+    $P891 = root_new ['parrot';'Hash']
   vivify_308:
-    set $P912, $P911["sigil"]
-    unless_null $P912, vivify_309
-    new $P912, "Undef"
+    set $P892, $P891["twigil"]
+    unless_null $P892, vivify_309
+    $P892 = root_new ['parrot';'ResizablePMCArray']
   vivify_309:
-    $P913 = "vivitype"($P912)
-    $P914 = $P910."viviself"($P913)
-.annotate "line", 324
-    set $P899, $P914
-  if_900_end:
-    set $P873, $P899
-.annotate "line", 311
-    goto if_874_end
-  if_874:
-.annotate "line", 312
-    find_lex $P880, "$past"
-    $P880."scope"("contextual")
-.annotate "line", 313
-    find_lex $P881, "$past"
-.annotate "line", 314
-    get_hll_global $P882, ["PAST"], "Var"
-.annotate "line", 316
-    find_lex $P883, "$/"
-    unless_null $P883, vivify_310
-    $P883 = root_new ['parrot';'Hash']
+    set $P893, $P892[0]
+    unless_null $P893, vivify_310
+    new $P893, "Undef"
   vivify_310:
-    set $P884, $P883["sigil"]
-    unless_null $P884, vivify_311
-    new $P884, "Undef"
+    set $S894, $P893
+    iseq $I895, $S894, "*"
+    if $I895, if_890
+.annotate 'line', 323
+    find_lex $P917, "$/"
+    unless_null $P917, vivify_311
+    $P917 = root_new ['parrot';'Hash']
   vivify_311:
-    set $S885, $P884
-    new $P886, 'String'
-    set $P886, $S885
-    find_lex $P887, "$/"
-    unless_null $P887, vivify_312
-    $P887 = root_new ['parrot';'Hash']
+    set $P918, $P917["twigil"]
+    unless_null $P918, vivify_312
+    $P918 = root_new ['parrot';'ResizablePMCArray']
   vivify_312:
-    set $P888, $P887["desigilname"]
-    unless_null $P888, vivify_313
-    new $P888, "Undef"
+    set $P919, $P918[0]
+    unless_null $P919, vivify_313
+    new $P919, "Undef"
   vivify_313:
-    concat $P889, $P886, $P888
-.annotate "line", 318
-    get_hll_global $P890, ["PAST"], "Op"
-    new $P891, "String"
-    assign $P891, "Contextual "
-    find_lex $P892, "$/"
-    set $S893, $P892
-    concat $P894, $P891, $S893
-    concat $P895, $P894, " not found"
-    $P896 = $P890."new"($P895, "die" :named("pirop"))
-    $P897 = $P882."new"("package" :named("scope"), "" :named("namespace"), $P889 :named("name"), $P896 :named("viviself"))
-.annotate "line", 314
-    $P898 = $P881."viviself"($P897)
-.annotate "line", 311
-    set $P873, $P898
-  if_874_end:
-.annotate "line", 301
-    .return ($P873)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("60_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_922
-.annotate "line", 333
-    new $P921, 'ExceptionHandler'
-    set_addr $P921, control_920
-    $P921."handle_types"(57)
-    push_eh $P921
-    .lex "self", self
-    .lex "$/", param_922
-    find_lex $P923, "$/"
-    find_lex $P924, "$/"
-    unless_null $P924, vivify_316
-    $P924 = root_new ['parrot';'Hash']
+    set $S920, $P919
+    iseq $I921, $S920, "!"
+    if $I921, if_916
+    new $P915, 'Integer'
+    set $P915, $I921
+    goto if_916_end
+  if_916:
+.annotate 'line', 324
+    find_lex $P922, "$past"
+    get_hll_global $P923, ["PAST"], "Var"
+    $P924 = $P923."new"("self" :named("name"))
+    $P922."push"($P924)
+.annotate 'line', 325
+    find_lex $P925, "$past"
+    $P925."scope"("attribute")
+.annotate 'line', 326
+    find_lex $P926, "$past"
+    find_lex $P927, "$/"
+    unless_null $P927, vivify_314
+    $P927 = root_new ['parrot';'Hash']
+  vivify_314:
+    set $P928, $P927["sigil"]
+    unless_null $P928, vivify_315
+    new $P928, "Undef"
+  vivify_315:
+    $P929 = "vivitype"($P928)
+    $P930 = $P926."viviself"($P929)
+.annotate 'line', 323
+    set $P915, $P930
+  if_916_end:
+    set $P889, $P915
+.annotate 'line', 310
+    goto if_890_end
+  if_890:
+.annotate 'line', 311
+    find_lex $P896, "$past"
+    $P896."scope"("contextual")
+.annotate 'line', 312
+    find_lex $P897, "$past"
+.annotate 'line', 313
+    get_hll_global $P898, ["PAST"], "Var"
+.annotate 'line', 315
+    find_lex $P899, "$/"
+    unless_null $P899, vivify_316
+    $P899 = root_new ['parrot';'Hash']
   vivify_316:
-    set $P925, $P924["package_def"]
-    unless_null $P925, vivify_317
-    new $P925, "Undef"
+    set $P900, $P899["sigil"]
+    unless_null $P900, vivify_317
+    new $P900, "Undef"
   vivify_317:
-    $P926 = $P925."ast"()
-    $P927 = $P923."!make"($P926)
-    .return ($P927)
-  control_920:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P928, exception, "payload"
-    .return ($P928)
+    set $S901, $P900
+    new $P902, 'String'
+    set $P902, $S901
+    find_lex $P903, "$/"
+    unless_null $P903, vivify_318
+    $P903 = root_new ['parrot';'Hash']
+  vivify_318:
+    set $P904, $P903["desigilname"]
+    unless_null $P904, vivify_319
+    new $P904, "Undef"
+  vivify_319:
+    concat $P905, $P902, $P904
+.annotate 'line', 317
+    get_hll_global $P906, ["PAST"], "Op"
+    new $P907, "String"
+    assign $P907, "Contextual "
+    find_lex $P908, "$/"
+    set $S909, $P908
+    concat $P910, $P907, $S909
+    concat $P911, $P910, " not found"
+    $P912 = $P906."new"($P911, "die" :named("pirop"))
+    $P913 = $P898."new"("package" :named("scope"), "" :named("namespace"), $P905 :named("name"), $P912 :named("viviself"))
+.annotate 'line', 313
+    $P914 = $P897."viviself"($P913)
+.annotate 'line', 310
+    set $P889, $P914
+  if_890_end:
+.annotate 'line', 300
+    .return ($P889)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("61_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_932
-.annotate "line", 334
-    new $P931, 'ExceptionHandler'
-    set_addr $P931, control_930
-    $P931."handle_types"(57)
-    push_eh $P931
-    .lex "self", self
-    .lex "$/", param_932
-.annotate "line", 335
-    new $P933, "Undef"
-    .lex "$past", $P933
-.annotate "line", 336
-    new $P934, "Undef"
-    .lex "$classinit", $P934
-.annotate "line", 345
-    new $P935, "Undef"
-    .lex "$parent", $P935
-.annotate "line", 335
-    find_lex $P936, "$/"
-    unless_null $P936, vivify_318
-    $P936 = root_new ['parrot';'Hash']
-  vivify_318:
-    set $P937, $P936["package_def"]
-    unless_null $P937, vivify_319
-    new $P937, "Undef"
-  vivify_319:
-    $P938 = $P937."ast"()
-    store_lex "$past", $P938
-.annotate "line", 337
-    get_hll_global $P939, ["PAST"], "Op"
-.annotate "line", 338
-    get_hll_global $P940, ["PAST"], "Op"
-    $P941 = $P940."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
-.annotate "line", 341
-    find_lex $P942, "$/"
-    unless_null $P942, vivify_320
-    $P942 = root_new ['parrot';'Hash']
-  vivify_320:
-    set $P943, $P942["package_def"]
-    unless_null $P943, vivify_321
-    $P943 = root_new ['parrot';'Hash']
-  vivify_321:
-    set $P944, $P943["name"]
-    unless_null $P944, vivify_322
-    new $P944, "Undef"
+.sub "package_declarator:sym<module>"  :subid("61_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_938
+.annotate 'line', 332
+    new $P937, 'ExceptionHandler'
+    set_addr $P937, control_936
+    $P937."handle_types"(57)
+    push_eh $P937
+    .lex "self", self
+    .lex "$/", param_938
+    find_lex $P939, "$/"
+    find_lex $P940, "$/"
+    unless_null $P940, vivify_322
+    $P940 = root_new ['parrot';'Hash']
   vivify_322:
-    set $S945, $P944
-    $P946 = $P939."new"($P941, $S945, "new_class" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 337
-    store_lex "$classinit", $P946
-.annotate "line", 345
-    find_lex $P949, "$/"
-    unless_null $P949, vivify_323
-    $P949 = root_new ['parrot';'Hash']
+    set $P941, $P940["package_def"]
+    unless_null $P941, vivify_323
+    new $P941, "Undef"
   vivify_323:
-    set $P950, $P949["package_def"]
-    unless_null $P950, vivify_324
-    $P950 = root_new ['parrot';'Hash']
+    $P942 = $P941."ast"()
+    $P943 = $P939."!make"($P942)
+    .return ($P943)
+  control_936:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P944, exception, "payload"
+    .return ($P944)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "package_declarator:sym<class>"  :subid("62_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_948
+.annotate 'line', 333
+    new $P947, 'ExceptionHandler'
+    set_addr $P947, control_946
+    $P947."handle_types"(57)
+    push_eh $P947
+    .lex "self", self
+    .lex "$/", param_948
+.annotate 'line', 334
+    new $P949, "Undef"
+    .lex "$past", $P949
+.annotate 'line', 335
+    new $P950, "Undef"
+    .lex "$classinit", $P950
+.annotate 'line', 344
+    new $P951, "Undef"
+    .lex "$parent", $P951
+.annotate 'line', 334
+    find_lex $P952, "$/"
+    unless_null $P952, vivify_324
+    $P952 = root_new ['parrot';'Hash']
   vivify_324:
-    set $P951, $P950["parent"]
-    unless_null $P951, vivify_325
-    $P951 = root_new ['parrot';'ResizablePMCArray']
+    set $P953, $P952["package_def"]
+    unless_null $P953, vivify_325
+    new $P953, "Undef"
   vivify_325:
-    set $P952, $P951[0]
-    unless_null $P952, vivify_326
-    new $P952, "Undef"
+    $P954 = $P953."ast"()
+    store_lex "$past", $P954
+.annotate 'line', 336
+    get_hll_global $P955, ["PAST"], "Op"
+.annotate 'line', 337
+    get_hll_global $P956, ["PAST"], "Op"
+    $P957 = $P956."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
+.annotate 'line', 340
+    find_lex $P958, "$/"
+    unless_null $P958, vivify_326
+    $P958 = root_new ['parrot';'Hash']
   vivify_326:
-    set $S953, $P952
-    unless $S953, unless_948
-    new $P947, 'String'
-    set $P947, $S953
-    goto unless_948_end
-  unless_948:
-.annotate "line", 346
-    find_lex $P956, "$/"
-    unless_null $P956, vivify_327
-    $P956 = root_new ['parrot';'Hash']
+    set $P959, $P958["package_def"]
+    unless_null $P959, vivify_327
+    $P959 = root_new ['parrot';'Hash']
   vivify_327:
-    set $P957, $P956["sym"]
-    unless_null $P957, vivify_328
-    new $P957, "Undef"
+    set $P960, $P959["name"]
+    unless_null $P960, vivify_328
+    new $P960, "Undef"
   vivify_328:
-    set $S958, $P957
-    iseq $I959, $S958, "grammar"
-    if $I959, if_955
-    new $P961, "String"
-    assign $P961, ""
-    set $P954, $P961
-    goto if_955_end
-  if_955:
-    new $P960, "String"
-    assign $P960, "Regex::Cursor"
-    set $P954, $P960
-  if_955_end:
-    set $P947, $P954
-  unless_948_end:
-    store_lex "$parent", $P947
-.annotate "line", 347
-    find_lex $P963, "$parent"
-    unless $P963, if_962_end
-.annotate "line", 348
-    find_lex $P964, "$classinit"
-    get_hll_global $P965, ["PAST"], "Val"
-    find_lex $P966, "$parent"
-    $P967 = $P965."new"($P966 :named("value"), "parent" :named("named"))
-    $P964."push"($P967)
-  if_962_end:
-.annotate "line", 350
-    find_lex $P969, "$past"
-    unless_null $P969, vivify_329
-    $P969 = root_new ['parrot';'Hash']
+    set $S961, $P960
+    $P962 = $P955."new"($P957, $S961, "new_class" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 336
+    store_lex "$classinit", $P962
+.annotate 'line', 344
+    find_lex $P965, "$/"
+    unless_null $P965, vivify_329
+    $P965 = root_new ['parrot';'Hash']
   vivify_329:
-    set $P970, $P969["attributes"]
-    unless_null $P970, vivify_330
-    new $P970, "Undef"
+    set $P966, $P965["package_def"]
+    unless_null $P966, vivify_330
+    $P966 = root_new ['parrot';'Hash']
   vivify_330:
-    unless $P970, if_968_end
-.annotate "line", 351
-    find_lex $P971, "$classinit"
-    find_lex $P972, "$past"
-    unless_null $P972, vivify_331
-    $P972 = root_new ['parrot';'Hash']
+    set $P967, $P966["parent"]
+    unless_null $P967, vivify_331
+    $P967 = root_new ['parrot';'ResizablePMCArray']
   vivify_331:
-    set $P973, $P972["attributes"]
-    unless_null $P973, vivify_332
-    new $P973, "Undef"
+    set $P968, $P967[0]
+    unless_null $P968, vivify_332
+    new $P968, "Undef"
   vivify_332:
-    $P971."push"($P973)
-  if_968_end:
-.annotate "line", 353
-    get_global $P974, "@BLOCK"
-    unless_null $P974, vivify_333
-    $P974 = root_new ['parrot';'ResizablePMCArray']
+    set $S969, $P968
+    unless $S969, unless_964
+    new $P963, 'String'
+    set $P963, $S969
+    goto unless_964_end
+  unless_964:
+.annotate 'line', 345
+    find_lex $P972, "$/"
+    unless_null $P972, vivify_333
+    $P972 = root_new ['parrot';'Hash']
   vivify_333:
-    set $P975, $P974[0]
-    unless_null $P975, vivify_334
-    new $P975, "Undef"
+    set $P973, $P972["sym"]
+    unless_null $P973, vivify_334
+    new $P973, "Undef"
   vivify_334:
-    $P976 = $P975."loadinit"()
-    find_lex $P977, "$classinit"
-    $P976."push"($P977)
-.annotate "line", 354
-    find_lex $P978, "$/"
-    find_lex $P979, "$past"
-    $P980 = $P978."!make"($P979)
-.annotate "line", 334
-    .return ($P980)
-  control_930:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P981, exception, "payload"
-    .return ($P981)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("62_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_985
-.annotate "line", 357
-    new $P984, 'ExceptionHandler'
-    set_addr $P984, control_983
-    $P984."handle_types"(57)
-    push_eh $P984
-    .lex "self", self
-    .lex "$/", param_985
-.annotate "line", 358
-    new $P986, "Undef"
-    .lex "$past", $P986
-    find_lex $P989, "$/"
-    unless_null $P989, vivify_335
-    $P989 = root_new ['parrot';'Hash']
+    set $S974, $P973
+    iseq $I975, $S974, "grammar"
+    if $I975, if_971
+    new $P977, "String"
+    assign $P977, ""
+    set $P970, $P977
+    goto if_971_end
+  if_971:
+    new $P976, "String"
+    assign $P976, "Regex::Cursor"
+    set $P970, $P976
+  if_971_end:
+    set $P963, $P970
+  unless_964_end:
+    store_lex "$parent", $P963
+.annotate 'line', 346
+    find_lex $P979, "$parent"
+    unless $P979, if_978_end
+.annotate 'line', 347
+    find_lex $P980, "$classinit"
+    get_hll_global $P981, ["PAST"], "Val"
+    find_lex $P982, "$parent"
+    $P983 = $P981."new"($P982 :named("value"), "parent" :named("named"))
+    $P980."push"($P983)
+  if_978_end:
+.annotate 'line', 349
+    find_lex $P985, "$past"
+    unless_null $P985, vivify_335
+    $P985 = root_new ['parrot';'Hash']
   vivify_335:
-    set $P990, $P989["block"]
-    unless_null $P990, vivify_336
-    new $P990, "Undef"
+    set $P986, $P985["attributes"]
+    unless_null $P986, vivify_336
+    new $P986, "Undef"
   vivify_336:
-    if $P990, if_988
-    find_lex $P994, "$/"
-    unless_null $P994, vivify_337
-    $P994 = root_new ['parrot';'Hash']
+    unless $P986, if_984_end
+.annotate 'line', 350
+    find_lex $P987, "$classinit"
+    find_lex $P988, "$past"
+    unless_null $P988, vivify_337
+    $P988 = root_new ['parrot';'Hash']
   vivify_337:
-    set $P995, $P994["comp_unit"]
-    unless_null $P995, vivify_338
-    new $P995, "Undef"
+    set $P989, $P988["attributes"]
+    unless_null $P989, vivify_338
+    new $P989, "Undef"
   vivify_338:
-    $P996 = $P995."ast"()
-    set $P987, $P996
-    goto if_988_end
-  if_988:
-    find_lex $P991, "$/"
-    unless_null $P991, vivify_339
-    $P991 = root_new ['parrot';'Hash']
+    $P987."push"($P989)
+  if_984_end:
+.annotate 'line', 352
+    get_global $P990, "@BLOCK"
+    unless_null $P990, vivify_339
+    $P990 = root_new ['parrot';'ResizablePMCArray']
   vivify_339:
-    set $P992, $P991["block"]
-    unless_null $P992, vivify_340
-    new $P992, "Undef"
+    set $P991, $P990[0]
+    unless_null $P991, vivify_340
+    new $P991, "Undef"
   vivify_340:
-    $P993 = $P992."ast"()
-    set $P987, $P993
-  if_988_end:
-    store_lex "$past", $P987
-.annotate "line", 359
-    find_lex $P997, "$past"
-    find_lex $P998, "$/"
-    unless_null $P998, vivify_341
-    $P998 = root_new ['parrot';'Hash']
-  vivify_341:
-    set $P999, $P998["name"]
-    unless_null $P999, vivify_342
-    $P999 = root_new ['parrot';'Hash']
-  vivify_342:
-    set $P1000, $P999["identifier"]
-    unless_null $P1000, vivify_343
-    new $P1000, "Undef"
-  vivify_343:
-    $P997."namespace"($P1000)
-.annotate "line", 360
-    find_lex $P1001, "$past"
-    $P1001."blocktype"("immediate")
-.annotate "line", 361
-    find_lex $P1002, "$/"
-    find_lex $P1003, "$past"
-    $P1004 = $P1002."!make"($P1003)
-.annotate "line", 357
-    .return ($P1004)
-  control_983:
+    $P992 = $P991."loadinit"()
+    find_lex $P993, "$classinit"
+    $P992."push"($P993)
+.annotate 'line', 353
+    find_lex $P994, "$/"
+    find_lex $P995, "$past"
+    $P996 = $P994."!make"($P995)
+.annotate 'line', 333
+    .return ($P996)
+  control_946:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1005, exception, "payload"
-    .return ($P1005)
+    getattribute $P997, exception, "payload"
+    .return ($P997)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("63_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1009
-.annotate "line", 364
-    new $P1008, 'ExceptionHandler'
-    set_addr $P1008, control_1007
-    $P1008."handle_types"(57)
-    push_eh $P1008
-    .lex "self", self
-    .lex "$/", param_1009
+.sub "package_def"  :subid("63_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1001
+.annotate 'line', 356
+    new $P1000, 'ExceptionHandler'
+    set_addr $P1000, control_999
+    $P1000."handle_types"(57)
+    push_eh $P1000
+    .lex "self", self
+    .lex "$/", param_1001
+.annotate 'line', 357
+    new $P1002, "Undef"
+    .lex "$past", $P1002
+    find_lex $P1005, "$/"
+    unless_null $P1005, vivify_341
+    $P1005 = root_new ['parrot';'Hash']
+  vivify_341:
+    set $P1006, $P1005["block"]
+    unless_null $P1006, vivify_342
+    new $P1006, "Undef"
+  vivify_342:
+    if $P1006, if_1004
     find_lex $P1010, "$/"
-    find_lex $P1011, "$/"
+    unless_null $P1010, vivify_343
+    $P1010 = root_new ['parrot';'Hash']
+  vivify_343:
+    set $P1011, $P1010["comp_unit"]
     unless_null $P1011, vivify_344
-    $P1011 = root_new ['parrot';'Hash']
+    new $P1011, "Undef"
   vivify_344:
-    set $P1012, $P1011["scoped"]
-    unless_null $P1012, vivify_345
-    new $P1012, "Undef"
+    $P1012 = $P1011."ast"()
+    set $P1003, $P1012
+    goto if_1004_end
+  if_1004:
+    find_lex $P1007, "$/"
+    unless_null $P1007, vivify_345
+    $P1007 = root_new ['parrot';'Hash']
   vivify_345:
-    $P1013 = $P1012."ast"()
-    $P1014 = $P1010."!make"($P1013)
-    .return ($P1014)
-  control_1007:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1015, exception, "payload"
-    .return ($P1015)
+    set $P1008, $P1007["block"]
+    unless_null $P1008, vivify_346
+    new $P1008, "Undef"
+  vivify_346:
+    $P1009 = $P1008."ast"()
+    set $P1003, $P1009
+  if_1004_end:
+    store_lex "$past", $P1003
+.annotate 'line', 358
+    find_lex $P1013, "$past"
+    find_lex $P1014, "$/"
+    unless_null $P1014, vivify_347
+    $P1014 = root_new ['parrot';'Hash']
+  vivify_347:
+    set $P1015, $P1014["name"]
+    unless_null $P1015, vivify_348
+    $P1015 = root_new ['parrot';'Hash']
+  vivify_348:
+    set $P1016, $P1015["identifier"]
+    unless_null $P1016, vivify_349
+    new $P1016, "Undef"
+  vivify_349:
+    $P1013."namespace"($P1016)
+.annotate 'line', 359
+    find_lex $P1017, "$past"
+    $P1017."blocktype"("immediate")
+.annotate 'line', 360
+    find_lex $P1018, "$/"
+    find_lex $P1019, "$past"
+    $P1020 = $P1018."!make"($P1019)
+.annotate 'line', 356
+    .return ($P1020)
+  control_999:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1021, exception, "payload"
+    .return ($P1021)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("64_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1019
-.annotate "line", 365
-    new $P1018, 'ExceptionHandler'
-    set_addr $P1018, control_1017
-    $P1018."handle_types"(57)
-    push_eh $P1018
-    .lex "self", self
-    .lex "$/", param_1019
-    find_lex $P1020, "$/"
-    find_lex $P1021, "$/"
-    unless_null $P1021, vivify_346
-    $P1021 = root_new ['parrot';'Hash']
-  vivify_346:
-    set $P1022, $P1021["scoped"]
-    unless_null $P1022, vivify_347
-    new $P1022, "Undef"
-  vivify_347:
-    $P1023 = $P1022."ast"()
-    $P1024 = $P1020."!make"($P1023)
-    .return ($P1024)
-  control_1017:
+.sub "scope_declarator:sym<my>"  :subid("64_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1025
+.annotate 'line', 363
+    new $P1024, 'ExceptionHandler'
+    set_addr $P1024, control_1023
+    $P1024."handle_types"(57)
+    push_eh $P1024
+    .lex "self", self
+    .lex "$/", param_1025
+    find_lex $P1026, "$/"
+    find_lex $P1027, "$/"
+    unless_null $P1027, vivify_350
+    $P1027 = root_new ['parrot';'Hash']
+  vivify_350:
+    set $P1028, $P1027["scoped"]
+    unless_null $P1028, vivify_351
+    new $P1028, "Undef"
+  vivify_351:
+    $P1029 = $P1028."ast"()
+    $P1030 = $P1026."!make"($P1029)
+    .return ($P1030)
+  control_1023:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1025, exception, "payload"
-    .return ($P1025)
+    getattribute $P1031, exception, "payload"
+    .return ($P1031)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("65_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1029
-.annotate "line", 366
-    new $P1028, 'ExceptionHandler'
-    set_addr $P1028, control_1027
-    $P1028."handle_types"(57)
-    push_eh $P1028
-    .lex "self", self
-    .lex "$/", param_1029
-    find_lex $P1030, "$/"
-    find_lex $P1031, "$/"
-    unless_null $P1031, vivify_348
-    $P1031 = root_new ['parrot';'Hash']
-  vivify_348:
-    set $P1032, $P1031["scoped"]
-    unless_null $P1032, vivify_349
-    new $P1032, "Undef"
-  vivify_349:
-    $P1033 = $P1032."ast"()
-    $P1034 = $P1030."!make"($P1033)
-    .return ($P1034)
-  control_1027:
+.sub "scope_declarator:sym<our>"  :subid("65_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1035
+.annotate 'line', 364
+    new $P1034, 'ExceptionHandler'
+    set_addr $P1034, control_1033
+    $P1034."handle_types"(57)
+    push_eh $P1034
+    .lex "self", self
+    .lex "$/", param_1035
+    find_lex $P1036, "$/"
+    find_lex $P1037, "$/"
+    unless_null $P1037, vivify_352
+    $P1037 = root_new ['parrot';'Hash']
+  vivify_352:
+    set $P1038, $P1037["scoped"]
+    unless_null $P1038, vivify_353
+    new $P1038, "Undef"
+  vivify_353:
+    $P1039 = $P1038."ast"()
+    $P1040 = $P1036."!make"($P1039)
+    .return ($P1040)
+  control_1033:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1035, exception, "payload"
-    .return ($P1035)
+    getattribute $P1041, exception, "payload"
+    .return ($P1041)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("66_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1039
-.annotate "line", 368
-    new $P1038, 'ExceptionHandler'
-    set_addr $P1038, control_1037
-    $P1038."handle_types"(57)
-    push_eh $P1038
+.sub "scope_declarator:sym<has>"  :subid("66_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1045
+.annotate 'line', 365
+    new $P1044, 'ExceptionHandler'
+    set_addr $P1044, control_1043
+    $P1044."handle_types"(57)
+    push_eh $P1044
     .lex "self", self
-    .lex "$/", param_1039
-.annotate "line", 369
-    find_lex $P1040, "$/"
-.annotate "line", 370
-    find_lex $P1043, "$/"
-    unless_null $P1043, vivify_350
-    $P1043 = root_new ['parrot';'Hash']
-  vivify_350:
-    set $P1044, $P1043["routine_declarator"]
-    unless_null $P1044, vivify_351
-    new $P1044, "Undef"
-  vivify_351:
-    if $P1044, if_1042
-.annotate "line", 371
-    find_lex $P1048, "$/"
-    unless_null $P1048, vivify_352
-    $P1048 = root_new ['parrot';'Hash']
-  vivify_352:
-    set $P1049, $P1048["variable_declarator"]
-    unless_null $P1049, vivify_353
-    new $P1049, "Undef"
-  vivify_353:
-    $P1050 = $P1049."ast"()
-    set $P1041, $P1050
-.annotate "line", 370
-    goto if_1042_end
-  if_1042:
-    find_lex $P1045, "$/"
-    unless_null $P1045, vivify_354
-    $P1045 = root_new ['parrot';'Hash']
+    .lex "$/", param_1045
+    find_lex $P1046, "$/"
+    find_lex $P1047, "$/"
+    unless_null $P1047, vivify_354
+    $P1047 = root_new ['parrot';'Hash']
   vivify_354:
-    set $P1046, $P1045["routine_declarator"]
-    unless_null $P1046, vivify_355
-    new $P1046, "Undef"
+    set $P1048, $P1047["scoped"]
+    unless_null $P1048, vivify_355
+    new $P1048, "Undef"
   vivify_355:
-    $P1047 = $P1046."ast"()
-    set $P1041, $P1047
-  if_1042_end:
-    $P1051 = $P1040."!make"($P1041)
-.annotate "line", 368
-    .return ($P1051)
-  control_1037:
+    $P1049 = $P1048."ast"()
+    $P1050 = $P1046."!make"($P1049)
+    .return ($P1050)
+  control_1043:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1052, exception, "payload"
-    .return ($P1052)
+    getattribute $P1051, exception, "payload"
+    .return ($P1051)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("67_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1056
-.annotate "line", 374
-    .const 'Sub' $P1096 = "68_1272816841.80681" 
-    capture_lex $P1096
-    new $P1055, 'ExceptionHandler'
-    set_addr $P1055, control_1054
-    $P1055."handle_types"(57)
-    push_eh $P1055
-    .lex "self", self
-    .lex "$/", param_1056
-.annotate "line", 375
-    new $P1057, "Undef"
-    .lex "$past", $P1057
-.annotate "line", 376
-    new $P1058, "Undef"
-    .lex "$sigil", $P1058
-.annotate "line", 377
-    new $P1059, "Undef"
-    .lex "$name", $P1059
-.annotate "line", 378
-    new $P1060, "Undef"
-    .lex "$BLOCK", $P1060
-.annotate "line", 375
-    find_lex $P1061, "$/"
-    unless_null $P1061, vivify_356
-    $P1061 = root_new ['parrot';'Hash']
+.sub "scoped"  :subid("67_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1055
+.annotate 'line', 367
+    new $P1054, 'ExceptionHandler'
+    set_addr $P1054, control_1053
+    $P1054."handle_types"(57)
+    push_eh $P1054
+    .lex "self", self
+    .lex "$/", param_1055
+.annotate 'line', 368
+    find_lex $P1056, "$/"
+.annotate 'line', 369
+    find_lex $P1059, "$/"
+    unless_null $P1059, vivify_356
+    $P1059 = root_new ['parrot';'Hash']
   vivify_356:
-    set $P1062, $P1061["variable"]
-    unless_null $P1062, vivify_357
-    new $P1062, "Undef"
+    set $P1060, $P1059["routine_declarator"]
+    unless_null $P1060, vivify_357
+    new $P1060, "Undef"
   vivify_357:
-    $P1063 = $P1062."ast"()
-    store_lex "$past", $P1063
-.annotate "line", 376
+    if $P1060, if_1058
+.annotate 'line', 370
     find_lex $P1064, "$/"
     unless_null $P1064, vivify_358
     $P1064 = root_new ['parrot';'Hash']
   vivify_358:
-    set $P1065, $P1064["variable"]
+    set $P1065, $P1064["variable_declarator"]
     unless_null $P1065, vivify_359
-    $P1065 = root_new ['parrot';'Hash']
+    new $P1065, "Undef"
   vivify_359:
-    set $P1066, $P1065["sigil"]
-    unless_null $P1066, vivify_360
-    new $P1066, "Undef"
+    $P1066 = $P1065."ast"()
+    set $P1057, $P1066
+.annotate 'line', 369
+    goto if_1058_end
+  if_1058:
+    find_lex $P1061, "$/"
+    unless_null $P1061, vivify_360
+    $P1061 = root_new ['parrot';'Hash']
   vivify_360:
-    store_lex "$sigil", $P1066
-.annotate "line", 377
-    find_lex $P1067, "$past"
-    $P1068 = $P1067."name"()
-    store_lex "$name", $P1068
-.annotate "line", 378
-    get_global $P1069, "@BLOCK"
-    unless_null $P1069, vivify_361
-    $P1069 = root_new ['parrot';'ResizablePMCArray']
+    set $P1062, $P1061["routine_declarator"]
+    unless_null $P1062, vivify_361
+    new $P1062, "Undef"
   vivify_361:
-    set $P1070, $P1069[0]
-    unless_null $P1070, vivify_362
-    new $P1070, "Undef"
-  vivify_362:
-    store_lex "$BLOCK", $P1070
-.annotate "line", 379
-    find_lex $P1072, "$BLOCK"
-    find_lex $P1073, "$name"
-    $P1074 = $P1072."symbol"($P1073)
-    unless $P1074, if_1071_end
-.annotate "line", 380
-    find_lex $P1075, "$/"
-    $P1076 = $P1075."CURSOR"()
-    find_lex $P1077, "$name"
-    $P1076."panic"("Redeclaration of symbol ", $P1077)
-  if_1071_end:
-.annotate "line", 382
-    find_dynamic_lex $P1079, "$*SCOPE"
-    unless_null $P1079, vivify_363
-    get_hll_global $P1079, "$SCOPE"
-    unless_null $P1079, vivify_364
-    die "Contextual $*SCOPE not found"
-  vivify_364:
-  vivify_363:
-    set $S1080, $P1079
-    iseq $I1081, $S1080, "has"
-    if $I1081, if_1078
-.annotate "line", 391
-    .const 'Sub' $P1096 = "68_1272816841.80681" 
-    capture_lex $P1096
-    $P1096()
-    goto if_1078_end
-  if_1078:
-.annotate "line", 383
-    find_lex $P1082, "$BLOCK"
-    find_lex $P1083, "$name"
-    $P1082."symbol"($P1083, "attribute" :named("scope"))
-.annotate "line", 384
-    find_lex $P1085, "$BLOCK"
-    unless_null $P1085, vivify_369
-    $P1085 = root_new ['parrot';'Hash']
-  vivify_369:
-    set $P1086, $P1085["attributes"]
-    unless_null $P1086, vivify_370
-    new $P1086, "Undef"
-  vivify_370:
-    if $P1086, unless_1084_end
-.annotate "line", 386
-    get_hll_global $P1087, ["PAST"], "Op"
-    $P1088 = $P1087."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P1089, "$BLOCK"
-    unless_null $P1089, vivify_371
-    $P1089 = root_new ['parrot';'Hash']
-    store_lex "$BLOCK", $P1089
-  vivify_371:
-    set $P1089["attributes"], $P1088
-  unless_1084_end:
-.annotate "line", 388
-    find_lex $P1090, "$BLOCK"
-    unless_null $P1090, vivify_372
-    $P1090 = root_new ['parrot';'Hash']
-  vivify_372:
-    set $P1091, $P1090["attributes"]
-    unless_null $P1091, vivify_373
-    new $P1091, "Undef"
-  vivify_373:
-    find_lex $P1092, "$name"
-    $P1091."push"($P1092)
-.annotate "line", 389
-    get_hll_global $P1093, ["PAST"], "Stmts"
-    $P1094 = $P1093."new"()
-    store_lex "$past", $P1094
-  if_1078_end:
-.annotate "line", 399
-    find_lex $P1120, "$/"
-    find_lex $P1121, "$past"
-    $P1122 = $P1120."!make"($P1121)
-.annotate "line", 374
-    .return ($P1122)
-  control_1054:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1123, exception, "payload"
-    .return ($P1123)
+    $P1063 = $P1062."ast"()
+    set $P1057, $P1063
+  if_1058_end:
+    $P1067 = $P1056."!make"($P1057)
+.annotate 'line', 367
+    .return ($P1067)
+  control_1053:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1068, exception, "payload"
+    .return ($P1068)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1095"  :anon :subid("68_1272816841.80681") :outer("67_1272816841.80681")
-.annotate "line", 392
-    new $P1097, "Undef"
-    .lex "$scope", $P1097
-.annotate "line", 393
-    new $P1098, "Undef"
-    .lex "$decl", $P1098
-.annotate "line", 392
-    find_dynamic_lex $P1101, "$*SCOPE"
-    unless_null $P1101, vivify_365
-    get_hll_global $P1101, "$SCOPE"
-    unless_null $P1101, vivify_366
-    die "Contextual $*SCOPE not found"
-  vivify_366:
+.sub "variable_declarator"  :subid("68_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1072
+.annotate 'line', 373
+    .const 'Sub' $P1112 = "69_1273866388.36922" 
+    capture_lex $P1112
+    new $P1071, 'ExceptionHandler'
+    set_addr $P1071, control_1070
+    $P1071."handle_types"(57)
+    push_eh $P1071
+    .lex "self", self
+    .lex "$/", param_1072
+.annotate 'line', 374
+    new $P1073, "Undef"
+    .lex "$past", $P1073
+.annotate 'line', 375
+    new $P1074, "Undef"
+    .lex "$sigil", $P1074
+.annotate 'line', 376
+    new $P1075, "Undef"
+    .lex "$name", $P1075
+.annotate 'line', 377
+    new $P1076, "Undef"
+    .lex "$BLOCK", $P1076
+.annotate 'line', 374
+    find_lex $P1077, "$/"
+    unless_null $P1077, vivify_362
+    $P1077 = root_new ['parrot';'Hash']
+  vivify_362:
+    set $P1078, $P1077["variable"]
+    unless_null $P1078, vivify_363
+    new $P1078, "Undef"
+  vivify_363:
+    $P1079 = $P1078."ast"()
+    store_lex "$past", $P1079
+.annotate 'line', 375
+    find_lex $P1080, "$/"
+    unless_null $P1080, vivify_364
+    $P1080 = root_new ['parrot';'Hash']
+  vivify_364:
+    set $P1081, $P1080["variable"]
+    unless_null $P1081, vivify_365
+    $P1081 = root_new ['parrot';'Hash']
   vivify_365:
-    set $S1102, $P1101
-    iseq $I1103, $S1102, "our"
-    if $I1103, if_1100
-    new $P1105, "String"
-    assign $P1105, "lexical"
-    set $P1099, $P1105
-    goto if_1100_end
-  if_1100:
-    new $P1104, "String"
-    assign $P1104, "package"
-    set $P1099, $P1104
-  if_1100_end:
-    store_lex "$scope", $P1099
-.annotate "line", 393
-    get_hll_global $P1106, ["PAST"], "Var"
-    find_lex $P1107, "$name"
-    find_lex $P1108, "$scope"
-.annotate "line", 394
-    find_lex $P1109, "$sigil"
-    $P1110 = "vivitype"($P1109)
-    find_lex $P1111, "$/"
-    $P1112 = $P1106."new"($P1107 :named("name"), $P1108 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1110 :named("viviself"), $P1111 :named("node"))
-.annotate "line", 393
-    store_lex "$decl", $P1112
-.annotate "line", 396
-    find_lex $P1113, "$BLOCK"
-    find_lex $P1114, "$name"
-    find_lex $P1115, "$scope"
-    $P1113."symbol"($P1114, $P1115 :named("scope"))
-.annotate "line", 397
-    find_lex $P1116, "$BLOCK"
-    unless_null $P1116, vivify_367
-    $P1116 = root_new ['parrot';'ResizablePMCArray']
+    set $P1082, $P1081["sigil"]
+    unless_null $P1082, vivify_366
+    new $P1082, "Undef"
+  vivify_366:
+    store_lex "$sigil", $P1082
+.annotate 'line', 376
+    find_lex $P1083, "$past"
+    $P1084 = $P1083."name"()
+    store_lex "$name", $P1084
+.annotate 'line', 377
+    get_global $P1085, "@BLOCK"
+    unless_null $P1085, vivify_367
+    $P1085 = root_new ['parrot';'ResizablePMCArray']
   vivify_367:
-    set $P1117, $P1116[0]
-    unless_null $P1117, vivify_368
-    new $P1117, "Undef"
+    set $P1086, $P1085[0]
+    unless_null $P1086, vivify_368
+    new $P1086, "Undef"
   vivify_368:
-    find_lex $P1118, "$decl"
-    $P1119 = $P1117."push"($P1118)
-.annotate "line", 391
-    .return ($P1119)
+    store_lex "$BLOCK", $P1086
+.annotate 'line', 378
+    find_lex $P1088, "$BLOCK"
+    find_lex $P1089, "$name"
+    $P1090 = $P1088."symbol"($P1089)
+    unless $P1090, if_1087_end
+.annotate 'line', 379
+    find_lex $P1091, "$/"
+    $P1092 = $P1091."CURSOR"()
+    find_lex $P1093, "$name"
+    $P1092."panic"("Redeclaration of symbol ", $P1093)
+  if_1087_end:
+.annotate 'line', 381
+    find_dynamic_lex $P1095, "$*SCOPE"
+    unless_null $P1095, vivify_369
+    get_hll_global $P1095, "$SCOPE"
+    unless_null $P1095, vivify_370
+    die "Contextual $*SCOPE not found"
+  vivify_370:
+  vivify_369:
+    set $S1096, $P1095
+    iseq $I1097, $S1096, "has"
+    if $I1097, if_1094
+.annotate 'line', 390
+    .const 'Sub' $P1112 = "69_1273866388.36922" 
+    capture_lex $P1112
+    $P1112()
+    goto if_1094_end
+  if_1094:
+.annotate 'line', 382
+    find_lex $P1098, "$BLOCK"
+    find_lex $P1099, "$name"
+    $P1098."symbol"($P1099, "attribute" :named("scope"))
+.annotate 'line', 383
+    find_lex $P1101, "$BLOCK"
+    unless_null $P1101, vivify_375
+    $P1101 = root_new ['parrot';'Hash']
+  vivify_375:
+    set $P1102, $P1101["attributes"]
+    unless_null $P1102, vivify_376
+    new $P1102, "Undef"
+  vivify_376:
+    if $P1102, unless_1100_end
+.annotate 'line', 385
+    get_hll_global $P1103, ["PAST"], "Op"
+    $P1104 = $P1103."new"("list" :named("pasttype"), "attr" :named("named"))
+    find_lex $P1105, "$BLOCK"
+    unless_null $P1105, vivify_377
+    $P1105 = root_new ['parrot';'Hash']
+    store_lex "$BLOCK", $P1105
+  vivify_377:
+    set $P1105["attributes"], $P1104
+  unless_1100_end:
+.annotate 'line', 387
+    find_lex $P1106, "$BLOCK"
+    unless_null $P1106, vivify_378
+    $P1106 = root_new ['parrot';'Hash']
+  vivify_378:
+    set $P1107, $P1106["attributes"]
+    unless_null $P1107, vivify_379
+    new $P1107, "Undef"
+  vivify_379:
+    find_lex $P1108, "$name"
+    $P1107."push"($P1108)
+.annotate 'line', 388
+    get_hll_global $P1109, ["PAST"], "Stmts"
+    $P1110 = $P1109."new"()
+    store_lex "$past", $P1110
+  if_1094_end:
+.annotate 'line', 398
+    find_lex $P1136, "$/"
+    find_lex $P1137, "$past"
+    $P1138 = $P1136."!make"($P1137)
+.annotate 'line', 373
+    .return ($P1138)
+  control_1070:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1139, exception, "payload"
+    .return ($P1139)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("69_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1127
-.annotate "line", 402
-    new $P1126, 'ExceptionHandler'
-    set_addr $P1126, control_1125
-    $P1126."handle_types"(57)
-    push_eh $P1126
-    .lex "self", self
-    .lex "$/", param_1127
-    find_lex $P1128, "$/"
-    find_lex $P1129, "$/"
-    unless_null $P1129, vivify_374
-    $P1129 = root_new ['parrot';'Hash']
+.sub "_block1111"  :anon :subid("69_1273866388.36922") :outer("68_1273866388.36922")
+.annotate 'line', 391
+    new $P1113, "Undef"
+    .lex "$scope", $P1113
+.annotate 'line', 392
+    new $P1114, "Undef"
+    .lex "$decl", $P1114
+.annotate 'line', 391
+    find_dynamic_lex $P1117, "$*SCOPE"
+    unless_null $P1117, vivify_371
+    get_hll_global $P1117, "$SCOPE"
+    unless_null $P1117, vivify_372
+    die "Contextual $*SCOPE not found"
+  vivify_372:
+  vivify_371:
+    set $S1118, $P1117
+    iseq $I1119, $S1118, "our"
+    if $I1119, if_1116
+    new $P1121, "String"
+    assign $P1121, "lexical"
+    set $P1115, $P1121
+    goto if_1116_end
+  if_1116:
+    new $P1120, "String"
+    assign $P1120, "package"
+    set $P1115, $P1120
+  if_1116_end:
+    store_lex "$scope", $P1115
+.annotate 'line', 392
+    get_hll_global $P1122, ["PAST"], "Var"
+    find_lex $P1123, "$name"
+    find_lex $P1124, "$scope"
+.annotate 'line', 393
+    find_lex $P1125, "$sigil"
+    $P1126 = "vivitype"($P1125)
+    find_lex $P1127, "$/"
+    $P1128 = $P1122."new"($P1123 :named("name"), $P1124 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1126 :named("viviself"), $P1127 :named("node"))
+.annotate 'line', 392
+    store_lex "$decl", $P1128
+.annotate 'line', 395
+    find_lex $P1129, "$BLOCK"
+    find_lex $P1130, "$name"
+    find_lex $P1131, "$scope"
+    $P1129."symbol"($P1130, $P1131 :named("scope"))
+.annotate 'line', 396
+    find_lex $P1132, "$BLOCK"
+    unless_null $P1132, vivify_373
+    $P1132 = root_new ['parrot';'ResizablePMCArray']
+  vivify_373:
+    set $P1133, $P1132[0]
+    unless_null $P1133, vivify_374
+    new $P1133, "Undef"
   vivify_374:
-    set $P1130, $P1129["routine_def"]
-    unless_null $P1130, vivify_375
-    new $P1130, "Undef"
-  vivify_375:
-    $P1131 = $P1130."ast"()
-    $P1132 = $P1128."!make"($P1131)
-    .return ($P1132)
-  control_1125:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1133, exception, "payload"
-    .return ($P1133)
+    find_lex $P1134, "$decl"
+    $P1135 = $P1133."push"($P1134)
+.annotate 'line', 390
+    .return ($P1135)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("70_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1137
-.annotate "line", 403
-    new $P1136, 'ExceptionHandler'
-    set_addr $P1136, control_1135
-    $P1136."handle_types"(57)
-    push_eh $P1136
-    .lex "self", self
-    .lex "$/", param_1137
-    find_lex $P1138, "$/"
-    find_lex $P1139, "$/"
-    unless_null $P1139, vivify_376
-    $P1139 = root_new ['parrot';'Hash']
-  vivify_376:
-    set $P1140, $P1139["method_def"]
-    unless_null $P1140, vivify_377
-    new $P1140, "Undef"
-  vivify_377:
-    $P1141 = $P1140."ast"()
-    $P1142 = $P1138."!make"($P1141)
-    .return ($P1142)
-  control_1135:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1143, exception, "payload"
-    .return ($P1143)
+.sub "routine_declarator:sym<sub>"  :subid("70_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1143
+.annotate 'line', 401
+    new $P1142, 'ExceptionHandler'
+    set_addr $P1142, control_1141
+    $P1142."handle_types"(57)
+    push_eh $P1142
+    .lex "self", self
+    .lex "$/", param_1143
+    find_lex $P1144, "$/"
+    find_lex $P1145, "$/"
+    unless_null $P1145, vivify_380
+    $P1145 = root_new ['parrot';'Hash']
+  vivify_380:
+    set $P1146, $P1145["routine_def"]
+    unless_null $P1146, vivify_381
+    new $P1146, "Undef"
+  vivify_381:
+    $P1147 = $P1146."ast"()
+    $P1148 = $P1144."!make"($P1147)
+    .return ($P1148)
+  control_1141:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1149, exception, "payload"
+    .return ($P1149)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("71_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1147
-.annotate "line", 405
-    .const 'Sub' $P1158 = "72_1272816841.80681" 
-    capture_lex $P1158
-    new $P1146, 'ExceptionHandler'
-    set_addr $P1146, control_1145
-    $P1146."handle_types"(57)
-    push_eh $P1146
-    .lex "self", self
-    .lex "$/", param_1147
-.annotate "line", 406
-    new $P1148, "Undef"
-    .lex "$past", $P1148
-    find_lex $P1149, "$/"
-    unless_null $P1149, vivify_378
-    $P1149 = root_new ['parrot';'Hash']
-  vivify_378:
-    set $P1150, $P1149["blockoid"]
-    unless_null $P1150, vivify_379
-    new $P1150, "Undef"
-  vivify_379:
-    $P1151 = $P1150."ast"()
-    store_lex "$past", $P1151
-.annotate "line", 407
-    find_lex $P1152, "$past"
-    $P1152."blocktype"("declaration")
-.annotate "line", 408
-    find_lex $P1153, "$past"
-    $P1153."control"("return_pir")
-.annotate "line", 409
+.sub "routine_declarator:sym<method>"  :subid("71_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1153
+.annotate 'line', 402
+    new $P1152, 'ExceptionHandler'
+    set_addr $P1152, control_1151
+    $P1152."handle_types"(57)
+    push_eh $P1152
+    .lex "self", self
+    .lex "$/", param_1153
+    find_lex $P1154, "$/"
     find_lex $P1155, "$/"
-    unless_null $P1155, vivify_380
+    unless_null $P1155, vivify_382
     $P1155 = root_new ['parrot';'Hash']
-  vivify_380:
-    set $P1156, $P1155["deflongname"]
-    unless_null $P1156, vivify_381
+  vivify_382:
+    set $P1156, $P1155["method_def"]
+    unless_null $P1156, vivify_383
     new $P1156, "Undef"
-  vivify_381:
-    unless $P1156, if_1154_end
-    .const 'Sub' $P1158 = "72_1272816841.80681" 
-    capture_lex $P1158
-    $P1158()
-  if_1154_end:
-.annotate "line", 419
-    find_lex $P1190, "$/"
-    find_lex $P1191, "$past"
-    $P1192 = $P1190."!make"($P1191)
-.annotate "line", 405
-    .return ($P1192)
-  control_1145:
+  vivify_383:
+    $P1157 = $P1156."ast"()
+    $P1158 = $P1154."!make"($P1157)
+    .return ($P1158)
+  control_1151:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1193, exception, "payload"
-    .return ($P1193)
+    getattribute $P1159, exception, "payload"
+    .return ($P1159)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1157"  :anon :subid("72_1272816841.80681") :outer("71_1272816841.80681")
-.annotate "line", 410
-    new $P1159, "Undef"
-    .lex "$name", $P1159
-    find_lex $P1160, "$/"
-    unless_null $P1160, vivify_382
-    $P1160 = root_new ['parrot';'Hash']
-  vivify_382:
-    set $P1161, $P1160["sigil"]
-    unless_null $P1161, vivify_383
-    $P1161 = root_new ['parrot';'ResizablePMCArray']
-  vivify_383:
-    set $P1162, $P1161[0]
-    unless_null $P1162, vivify_384
-    new $P1162, "Undef"
-  vivify_384:
-    set $S1163, $P1162
-    new $P1164, 'String'
-    set $P1164, $S1163
+.sub "routine_def"  :subid("72_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1163
+.annotate 'line', 404
+    .const 'Sub' $P1174 = "73_1273866388.36922" 
+    capture_lex $P1174
+    new $P1162, 'ExceptionHandler'
+    set_addr $P1162, control_1161
+    $P1162."handle_types"(57)
+    push_eh $P1162
+    .lex "self", self
+    .lex "$/", param_1163
+.annotate 'line', 405
+    new $P1164, "Undef"
+    .lex "$past", $P1164
     find_lex $P1165, "$/"
-    unless_null $P1165, vivify_385
+    unless_null $P1165, vivify_384
     $P1165 = root_new ['parrot';'Hash']
+  vivify_384:
+    set $P1166, $P1165["blockoid"]
+    unless_null $P1166, vivify_385
+    new $P1166, "Undef"
   vivify_385:
-    set $P1166, $P1165["deflongname"]
-    unless_null $P1166, vivify_386
-    $P1166 = root_new ['parrot';'ResizablePMCArray']
+    $P1167 = $P1166."ast"()
+    store_lex "$past", $P1167
+.annotate 'line', 406
+    find_lex $P1168, "$past"
+    $P1168."blocktype"("declaration")
+.annotate 'line', 407
+    find_lex $P1169, "$past"
+    $P1169."control"("return_pir")
+.annotate 'line', 408
+    find_lex $P1171, "$/"
+    unless_null $P1171, vivify_386
+    $P1171 = root_new ['parrot';'Hash']
   vivify_386:
-    set $P1167, $P1166[0]
-    unless_null $P1167, vivify_387
-    new $P1167, "Undef"
+    set $P1172, $P1171["deflongname"]
+    unless_null $P1172, vivify_387
+    new $P1172, "Undef"
   vivify_387:
-    $S1168 = $P1167."ast"()
-    concat $P1169, $P1164, $S1168
-    store_lex "$name", $P1169
-.annotate "line", 411
-    find_lex $P1170, "$past"
-    find_lex $P1171, "$name"
-    $P1170."name"($P1171)
-.annotate "line", 412
-    find_dynamic_lex $P1174, "$*SCOPE"
-    unless_null $P1174, vivify_388
-    get_hll_global $P1174, "$SCOPE"
-    unless_null $P1174, vivify_389
-    die "Contextual $*SCOPE not found"
-  vivify_389:
+    unless $P1172, if_1170_end
+    .const 'Sub' $P1174 = "73_1273866388.36922" 
+    capture_lex $P1174
+    $P1174()
+  if_1170_end:
+.annotate 'line', 418
+    find_lex $P1206, "$/"
+    find_lex $P1207, "$past"
+    $P1208 = $P1206."!make"($P1207)
+.annotate 'line', 404
+    .return ($P1208)
+  control_1161:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1209, exception, "payload"
+    .return ($P1209)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1173"  :anon :subid("73_1273866388.36922") :outer("72_1273866388.36922")
+.annotate 'line', 409
+    new $P1175, "Undef"
+    .lex "$name", $P1175
+    find_lex $P1176, "$/"
+    unless_null $P1176, vivify_388
+    $P1176 = root_new ['parrot';'Hash']
   vivify_388:
-    set $S1175, $P1174
-    isne $I1176, $S1175, "our"
-    if $I1176, if_1173
-    new $P1172, 'Integer'
-    set $P1172, $I1176
-    goto if_1173_end
-  if_1173:
-.annotate "line", 413
-    get_global $P1177, "@BLOCK"
-    unless_null $P1177, vivify_390
+    set $P1177, $P1176["sigil"]
+    unless_null $P1177, vivify_389
     $P1177 = root_new ['parrot';'ResizablePMCArray']
-  vivify_390:
+  vivify_389:
     set $P1178, $P1177[0]
-    unless_null $P1178, vivify_391
-    $P1178 = root_new ['parrot';'ResizablePMCArray']
+    unless_null $P1178, vivify_390
+    new $P1178, "Undef"
+  vivify_390:
+    set $S1179, $P1178
+    new $P1180, 'String'
+    set $P1180, $S1179
+    find_lex $P1181, "$/"
+    unless_null $P1181, vivify_391
+    $P1181 = root_new ['parrot';'Hash']
   vivify_391:
-    set $P1179, $P1178[0]
-    unless_null $P1179, vivify_392
-    new $P1179, "Undef"
+    set $P1182, $P1181["deflongname"]
+    unless_null $P1182, vivify_392
+    $P1182 = root_new ['parrot';'ResizablePMCArray']
   vivify_392:
-    get_hll_global $P1180, ["PAST"], "Var"
-    find_lex $P1181, "$name"
-    find_lex $P1182, "$past"
-    $P1183 = $P1180."new"($P1181 :named("name"), 1 :named("isdecl"), $P1182 :named("viviself"), "lexical" :named("scope"))
-    $P1179."push"($P1183)
-.annotate "line", 415
-    get_global $P1184, "@BLOCK"
-    unless_null $P1184, vivify_393
-    $P1184 = root_new ['parrot';'ResizablePMCArray']
+    set $P1183, $P1182[0]
+    unless_null $P1183, vivify_393
+    new $P1183, "Undef"
   vivify_393:
-    set $P1185, $P1184[0]
-    unless_null $P1185, vivify_394
-    new $P1185, "Undef"
-  vivify_394:
-    find_lex $P1186, "$name"
-    $P1185."symbol"($P1186, "lexical" :named("scope"))
-.annotate "line", 416
-    get_hll_global $P1187, ["PAST"], "Var"
-    find_lex $P1188, "$name"
-    $P1189 = $P1187."new"($P1188 :named("name"))
-    store_lex "$past", $P1189
-.annotate "line", 412
-    set $P1172, $P1189
-  if_1173_end:
-.annotate "line", 409
-    .return ($P1172)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("73_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1197
-.annotate "line", 423
-    .const 'Sub' $P1213 = "74_1272816841.80681" 
-    capture_lex $P1213
-    new $P1196, 'ExceptionHandler'
-    set_addr $P1196, control_1195
-    $P1196."handle_types"(57)
-    push_eh $P1196
-    .lex "self", self
-    .lex "$/", param_1197
-.annotate "line", 424
-    new $P1198, "Undef"
-    .lex "$past", $P1198
-    find_lex $P1199, "$/"
-    unless_null $P1199, vivify_395
-    $P1199 = root_new ['parrot';'Hash']
+    $S1184 = $P1183."ast"()
+    concat $P1185, $P1180, $S1184
+    store_lex "$name", $P1185
+.annotate 'line', 410
+    find_lex $P1186, "$past"
+    find_lex $P1187, "$name"
+    $P1186."name"($P1187)
+.annotate 'line', 411
+    find_dynamic_lex $P1190, "$*SCOPE"
+    unless_null $P1190, vivify_394
+    get_hll_global $P1190, "$SCOPE"
+    unless_null $P1190, vivify_395
+    die "Contextual $*SCOPE not found"
   vivify_395:
-    set $P1200, $P1199["blockoid"]
-    unless_null $P1200, vivify_396
-    new $P1200, "Undef"
+  vivify_394:
+    set $S1191, $P1190
+    isne $I1192, $S1191, "our"
+    if $I1192, if_1189
+    new $P1188, 'Integer'
+    set $P1188, $I1192
+    goto if_1189_end
+  if_1189:
+.annotate 'line', 412
+    get_global $P1193, "@BLOCK"
+    unless_null $P1193, vivify_396
+    $P1193 = root_new ['parrot';'ResizablePMCArray']
   vivify_396:
-    $P1201 = $P1200."ast"()
-    store_lex "$past", $P1201
-.annotate "line", 425
-    find_lex $P1202, "$past"
-    $P1202."blocktype"("method")
-.annotate "line", 426
-    find_lex $P1203, "$past"
-    $P1203."control"("return_pir")
-.annotate "line", 427
-    find_lex $P1204, "$past"
-    unless_null $P1204, vivify_397
-    $P1204 = root_new ['parrot';'ResizablePMCArray']
+    set $P1194, $P1193[0]
+    unless_null $P1194, vivify_397
+    $P1194 = root_new ['parrot';'ResizablePMCArray']
   vivify_397:
-    set $P1205, $P1204[0]
-    unless_null $P1205, vivify_398
-    new $P1205, "Undef"
+    set $P1195, $P1194[0]
+    unless_null $P1195, vivify_398
+    new $P1195, "Undef"
   vivify_398:
-    get_hll_global $P1206, ["PAST"], "Op"
-    $P1207 = $P1206."new"("    .lex \"self\", self" :named("inline"))
-    $P1205."unshift"($P1207)
-.annotate "line", 428
-    find_lex $P1208, "$past"
-    $P1208."symbol"("self", "lexical" :named("scope"))
-.annotate "line", 429
-    find_lex $P1210, "$/"
-    unless_null $P1210, vivify_399
-    $P1210 = root_new ['parrot';'Hash']
+    get_hll_global $P1196, ["PAST"], "Var"
+    find_lex $P1197, "$name"
+    find_lex $P1198, "$past"
+    $P1199 = $P1196."new"($P1197 :named("name"), 1 :named("isdecl"), $P1198 :named("viviself"), "lexical" :named("scope"))
+    $P1195."push"($P1199)
+.annotate 'line', 414
+    get_global $P1200, "@BLOCK"
+    unless_null $P1200, vivify_399
+    $P1200 = root_new ['parrot';'ResizablePMCArray']
   vivify_399:
-    set $P1211, $P1210["deflongname"]
-    unless_null $P1211, vivify_400
-    new $P1211, "Undef"
+    set $P1201, $P1200[0]
+    unless_null $P1201, vivify_400
+    new $P1201, "Undef"
   vivify_400:
-    unless $P1211, if_1209_end
-    .const 'Sub' $P1213 = "74_1272816841.80681" 
-    capture_lex $P1213
-    $P1213()
-  if_1209_end:
-.annotate "line", 433
-    find_lex $P1224, "$/"
-    find_lex $P1225, "$past"
-    $P1226 = $P1224."!make"($P1225)
-.annotate "line", 423
-    .return ($P1226)
-  control_1195:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1227, exception, "payload"
-    .return ($P1227)
+    find_lex $P1202, "$name"
+    $P1201."symbol"($P1202, "lexical" :named("scope"))
+.annotate 'line', 415
+    get_hll_global $P1203, ["PAST"], "Var"
+    find_lex $P1204, "$name"
+    $P1205 = $P1203."new"($P1204 :named("name"))
+    store_lex "$past", $P1205
+.annotate 'line', 411
+    set $P1188, $P1205
+  if_1189_end:
+.annotate 'line', 408
+    .return ($P1188)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1212"  :anon :subid("74_1272816841.80681") :outer("73_1272816841.80681")
-.annotate "line", 430
+.sub "method_def"  :subid("74_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1213
+.annotate 'line', 422
+    .const 'Sub' $P1229 = "75_1273866388.36922" 
+    capture_lex $P1229
+    new $P1212, 'ExceptionHandler'
+    set_addr $P1212, control_1211
+    $P1212."handle_types"(57)
+    push_eh $P1212
+    .lex "self", self
+    .lex "$/", param_1213
+.annotate 'line', 423
     new $P1214, "Undef"
-    .lex "$name", $P1214
+    .lex "$past", $P1214
     find_lex $P1215, "$/"
     unless_null $P1215, vivify_401
     $P1215 = root_new ['parrot';'Hash']
   vivify_401:
-    set $P1216, $P1215["deflongname"]
+    set $P1216, $P1215["blockoid"]
     unless_null $P1216, vivify_402
-    $P1216 = root_new ['parrot';'ResizablePMCArray']
+    new $P1216, "Undef"
   vivify_402:
-    set $P1217, $P1216[0]
-    unless_null $P1217, vivify_403
-    new $P1217, "Undef"
+    $P1217 = $P1216."ast"()
+    store_lex "$past", $P1217
+.annotate 'line', 424
+    find_lex $P1218, "$past"
+    $P1218."blocktype"("method")
+.annotate 'line', 425
+    find_lex $P1219, "$past"
+    $P1219."control"("return_pir")
+.annotate 'line', 426
+    find_lex $P1220, "$past"
+    unless_null $P1220, vivify_403
+    $P1220 = root_new ['parrot';'ResizablePMCArray']
   vivify_403:
-    $P1218 = $P1217."ast"()
-    set $S1219, $P1218
-    new $P1220, 'String'
-    set $P1220, $S1219
-    store_lex "$name", $P1220
-.annotate "line", 431
-    find_lex $P1221, "$past"
-    find_lex $P1222, "$name"
-    $P1223 = $P1221."name"($P1222)
-.annotate "line", 429
-    .return ($P1223)
+    set $P1221, $P1220[0]
+    unless_null $P1221, vivify_404
+    new $P1221, "Undef"
+  vivify_404:
+    get_hll_global $P1222, ["PAST"], "Op"
+    $P1223 = $P1222."new"("    .lex \"self\", self" :named("inline"))
+    $P1221."unshift"($P1223)
+.annotate 'line', 427
+    find_lex $P1224, "$past"
+    $P1224."symbol"("self", "lexical" :named("scope"))
+.annotate 'line', 428
+    find_lex $P1226, "$/"
+    unless_null $P1226, vivify_405
+    $P1226 = root_new ['parrot';'Hash']
+  vivify_405:
+    set $P1227, $P1226["deflongname"]
+    unless_null $P1227, vivify_406
+    new $P1227, "Undef"
+  vivify_406:
+    unless $P1227, if_1225_end
+    .const 'Sub' $P1229 = "75_1273866388.36922" 
+    capture_lex $P1229
+    $P1229()
+  if_1225_end:
+.annotate 'line', 432
+    find_lex $P1240, "$/"
+    find_lex $P1241, "$past"
+    $P1242 = $P1240."!make"($P1241)
+.annotate 'line', 422
+    .return ($P1242)
+  control_1211:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1243, exception, "payload"
+    .return ($P1243)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("75_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1231
-.annotate "line", 437
-    .const 'Sub' $P1242 = "76_1272816841.80681" 
-    capture_lex $P1242
-    new $P1230, 'ExceptionHandler'
-    set_addr $P1230, control_1229
-    $P1230."handle_types"(57)
-    push_eh $P1230
-    .lex "self", self
-    .lex "$/", param_1231
-.annotate "line", 438
-    new $P1232, "Undef"
-    .lex "$BLOCKINIT", $P1232
-    get_global $P1233, "@BLOCK"
-    unless_null $P1233, vivify_404
-    $P1233 = root_new ['parrot';'ResizablePMCArray']
-  vivify_404:
-    set $P1234, $P1233[0]
-    unless_null $P1234, vivify_405
-    $P1234 = root_new ['parrot';'ResizablePMCArray']
-  vivify_405:
-    set $P1235, $P1234[0]
-    unless_null $P1235, vivify_406
-    new $P1235, "Undef"
-  vivify_406:
-    store_lex "$BLOCKINIT", $P1235
-.annotate "line", 439
-    find_lex $P1237, "$/"
-    unless_null $P1237, vivify_407
-    $P1237 = root_new ['parrot';'Hash']
+.sub "_block1228"  :anon :subid("75_1273866388.36922") :outer("74_1273866388.36922")
+.annotate 'line', 429
+    new $P1230, "Undef"
+    .lex "$name", $P1230
+    find_lex $P1231, "$/"
+    unless_null $P1231, vivify_407
+    $P1231 = root_new ['parrot';'Hash']
   vivify_407:
-    set $P1238, $P1237["parameter"]
-    unless_null $P1238, vivify_408
-    new $P1238, "Undef"
+    set $P1232, $P1231["deflongname"]
+    unless_null $P1232, vivify_408
+    $P1232 = root_new ['parrot';'ResizablePMCArray']
   vivify_408:
-    defined $I1239, $P1238
-    unless $I1239, for_undef_409
-    iter $P1236, $P1238
-    new $P1249, 'ExceptionHandler'
-    set_addr $P1249, loop1248_handler
-    $P1249."handle_types"(64, 66, 65)
-    push_eh $P1249
-  loop1248_test:
-    unless $P1236, loop1248_done
-    shift $P1240, $P1236
-  loop1248_redo:
-    .const 'Sub' $P1242 = "76_1272816841.80681" 
-    capture_lex $P1242
-    $P1242($P1240)
-  loop1248_next:
-    goto loop1248_test
-  loop1248_handler:
+    set $P1233, $P1232[0]
+    unless_null $P1233, vivify_409
+    new $P1233, "Undef"
+  vivify_409:
+    $P1234 = $P1233."ast"()
+    set $S1235, $P1234
+    new $P1236, 'String'
+    set $P1236, $S1235
+    store_lex "$name", $P1236
+.annotate 'line', 430
+    find_lex $P1237, "$past"
+    find_lex $P1238, "$name"
+    $P1239 = $P1237."name"($P1238)
+.annotate 'line', 428
+    .return ($P1239)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "signature"  :subid("76_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1247
+.annotate 'line', 436
+    .const 'Sub' $P1258 = "77_1273866388.36922" 
+    capture_lex $P1258
+    new $P1246, 'ExceptionHandler'
+    set_addr $P1246, control_1245
+    $P1246."handle_types"(57)
+    push_eh $P1246
+    .lex "self", self
+    .lex "$/", param_1247
+.annotate 'line', 437
+    new $P1248, "Undef"
+    .lex "$BLOCKINIT", $P1248
+    get_global $P1249, "@BLOCK"
+    unless_null $P1249, vivify_410
+    $P1249 = root_new ['parrot';'ResizablePMCArray']
+  vivify_410:
+    set $P1250, $P1249[0]
+    unless_null $P1250, vivify_411
+    $P1250 = root_new ['parrot';'ResizablePMCArray']
+  vivify_411:
+    set $P1251, $P1250[0]
+    unless_null $P1251, vivify_412
+    new $P1251, "Undef"
+  vivify_412:
+    store_lex "$BLOCKINIT", $P1251
+.annotate 'line', 438
+    find_lex $P1253, "$/"
+    unless_null $P1253, vivify_413
+    $P1253 = root_new ['parrot';'Hash']
+  vivify_413:
+    set $P1254, $P1253["parameter"]
+    unless_null $P1254, vivify_414
+    new $P1254, "Undef"
+  vivify_414:
+    defined $I1255, $P1254
+    unless $I1255, for_undef_415
+    iter $P1252, $P1254
+    new $P1265, 'ExceptionHandler'
+    set_addr $P1265, loop1264_handler
+    $P1265."handle_types"(64, 66, 65)
+    push_eh $P1265
+  loop1264_test:
+    unless $P1252, loop1264_done
+    shift $P1256, $P1252
+  loop1264_redo:
+    .const 'Sub' $P1258 = "77_1273866388.36922" 
+    capture_lex $P1258
+    $P1258($P1256)
+  loop1264_next:
+    goto loop1264_test
+  loop1264_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1250, exception, 'type'
-    eq $P1250, 64, loop1248_next
-    eq $P1250, 66, loop1248_redo
-  loop1248_done:
+    getattribute $P1266, exception, 'type'
+    eq $P1266, 64, loop1264_next
+    eq $P1266, 66, loop1264_redo
+  loop1264_done:
     pop_eh 
-  for_undef_409:
-.annotate "line", 437
-    .return ($P1236)
-  control_1229:
+  for_undef_415:
+.annotate 'line', 436
+    .return ($P1252)
+  control_1245:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1251, exception, "payload"
-    .return ($P1251)
+    getattribute $P1267, exception, "payload"
+    .return ($P1267)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1241"  :anon :subid("76_1272816841.80681") :outer("75_1272816841.80681")
-    .param pmc param_1243
-.annotate "line", 439
-    .lex "$_", param_1243
-    find_lex $P1244, "$BLOCKINIT"
-    find_lex $P1245, "$_"
-    $P1246 = $P1245."ast"()
-    $P1247 = $P1244."push"($P1246)
-    .return ($P1247)
+.sub "_block1257"  :anon :subid("77_1273866388.36922") :outer("76_1273866388.36922")
+    .param pmc param_1259
+.annotate 'line', 438
+    .lex "$_", param_1259
+    find_lex $P1260, "$BLOCKINIT"
+    find_lex $P1261, "$_"
+    $P1262 = $P1261."ast"()
+    $P1263 = $P1260."push"($P1262)
+    .return ($P1263)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("77_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1255
-.annotate "line", 442
-    new $P1254, 'ExceptionHandler'
-    set_addr $P1254, control_1253
-    $P1254."handle_types"(57)
-    push_eh $P1254
-    .lex "self", self
-    .lex "$/", param_1255
-.annotate "line", 443
-    new $P1256, "Undef"
-    .lex "$quant", $P1256
-.annotate "line", 444
-    new $P1257, "Undef"
-    .lex "$past", $P1257
-.annotate "line", 443
-    find_lex $P1258, "$/"
-    unless_null $P1258, vivify_410
-    $P1258 = root_new ['parrot';'Hash']
-  vivify_410:
-    set $P1259, $P1258["quant"]
-    unless_null $P1259, vivify_411
-    new $P1259, "Undef"
-  vivify_411:
-    store_lex "$quant", $P1259
-    find_lex $P1260, "$past"
-.annotate "line", 445
-    find_lex $P1262, "$/"
-    unless_null $P1262, vivify_412
-    $P1262 = root_new ['parrot';'Hash']
-  vivify_412:
-    set $P1263, $P1262["named_param"]
-    unless_null $P1263, vivify_413
-    new $P1263, "Undef"
-  vivify_413:
-    if $P1263, if_1261
-.annotate "line", 452
-    find_lex $P1277, "$/"
-    unless_null $P1277, vivify_414
-    $P1277 = root_new ['parrot';'Hash']
-  vivify_414:
-    set $P1278, $P1277["param_var"]
-    unless_null $P1278, vivify_415
-    new $P1278, "Undef"
-  vivify_415:
-    $P1279 = $P1278."ast"()
-    store_lex "$past", $P1279
-.annotate "line", 453
-    find_lex $P1281, "$quant"
-    set $S1282, $P1281
-    iseq $I1283, $S1282, "*"
-    if $I1283, if_1280
-.annotate "line", 457
-    find_lex $P1292, "$quant"
-    set $S1293, $P1292
-    iseq $I1294, $S1293, "?"
-    unless $I1294, if_1291_end
-.annotate "line", 458
-    find_lex $P1295, "$past"
-    find_lex $P1296, "$/"
-    unless_null $P1296, vivify_416
-    $P1296 = root_new ['parrot';'Hash']
+.sub "parameter"  :subid("78_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1271
+.annotate 'line', 441
+    new $P1270, 'ExceptionHandler'
+    set_addr $P1270, control_1269
+    $P1270."handle_types"(57)
+    push_eh $P1270
+    .lex "self", self
+    .lex "$/", param_1271
+.annotate 'line', 442
+    new $P1272, "Undef"
+    .lex "$quant", $P1272
+.annotate 'line', 443
+    new $P1273, "Undef"
+    .lex "$past", $P1273
+.annotate 'line', 442
+    find_lex $P1274, "$/"
+    unless_null $P1274, vivify_416
+    $P1274 = root_new ['parrot';'Hash']
   vivify_416:
-    set $P1297, $P1296["param_var"]
-    unless_null $P1297, vivify_417
-    $P1297 = root_new ['parrot';'Hash']
+    set $P1275, $P1274["quant"]
+    unless_null $P1275, vivify_417
+    new $P1275, "Undef"
   vivify_417:
-    set $P1298, $P1297["sigil"]
-    unless_null $P1298, vivify_418
-    new $P1298, "Undef"
+    store_lex "$quant", $P1275
+    find_lex $P1276, "$past"
+.annotate 'line', 444
+    find_lex $P1278, "$/"
+    unless_null $P1278, vivify_418
+    $P1278 = root_new ['parrot';'Hash']
   vivify_418:
-    $P1299 = "vivitype"($P1298)
-    $P1295."viviself"($P1299)
-  if_1291_end:
-.annotate "line", 457
-    goto if_1280_end
-  if_1280:
-.annotate "line", 454
-    find_lex $P1284, "$past"
-    $P1284."slurpy"(1)
-.annotate "line", 455
-    find_lex $P1285, "$past"
-    find_lex $P1286, "$/"
-    unless_null $P1286, vivify_419
-    $P1286 = root_new ['parrot';'Hash']
+    set $P1279, $P1278["named_param"]
+    unless_null $P1279, vivify_419
+    new $P1279, "Undef"
   vivify_419:
-    set $P1287, $P1286["param_var"]
-    unless_null $P1287, vivify_420
-    $P1287 = root_new ['parrot';'Hash']
+    if $P1279, if_1277
+.annotate 'line', 451
+    find_lex $P1293, "$/"
+    unless_null $P1293, vivify_420
+    $P1293 = root_new ['parrot';'Hash']
   vivify_420:
-    set $P1288, $P1287["sigil"]
-    unless_null $P1288, vivify_421
-    new $P1288, "Undef"
+    set $P1294, $P1293["param_var"]
+    unless_null $P1294, vivify_421
+    new $P1294, "Undef"
   vivify_421:
-    set $S1289, $P1288
-    iseq $I1290, $S1289, "%"
-    $P1285."named"($I1290)
-  if_1280_end:
-.annotate "line", 451
-    goto if_1261_end
-  if_1261:
-.annotate "line", 446
-    find_lex $P1264, "$/"
-    unless_null $P1264, vivify_422
-    $P1264 = root_new ['parrot';'Hash']
+    $P1295 = $P1294."ast"()
+    store_lex "$past", $P1295
+.annotate 'line', 452
+    find_lex $P1297, "$quant"
+    set $S1298, $P1297
+    iseq $I1299, $S1298, "*"
+    if $I1299, if_1296
+.annotate 'line', 456
+    find_lex $P1308, "$quant"
+    set $S1309, $P1308
+    iseq $I1310, $S1309, "?"
+    unless $I1310, if_1307_end
+.annotate 'line', 457
+    find_lex $P1311, "$past"
+    find_lex $P1312, "$/"
+    unless_null $P1312, vivify_422
+    $P1312 = root_new ['parrot';'Hash']
   vivify_422:
-    set $P1265, $P1264["named_param"]
-    unless_null $P1265, vivify_423
-    new $P1265, "Undef"
+    set $P1313, $P1312["param_var"]
+    unless_null $P1313, vivify_423
+    $P1313 = root_new ['parrot';'Hash']
   vivify_423:
-    $P1266 = $P1265."ast"()
-    store_lex "$past", $P1266
-.annotate "line", 447
-    find_lex $P1268, "$quant"
-    set $S1269, $P1268
-    isne $I1270, $S1269, "!"
-    unless $I1270, if_1267_end
-.annotate "line", 448
-    find_lex $P1271, "$past"
-    find_lex $P1272, "$/"
-    unless_null $P1272, vivify_424
-    $P1272 = root_new ['parrot';'Hash']
+    set $P1314, $P1313["sigil"]
+    unless_null $P1314, vivify_424
+    new $P1314, "Undef"
   vivify_424:
-    set $P1273, $P1272["named_param"]
-    unless_null $P1273, vivify_425
-    $P1273 = root_new ['parrot';'Hash']
+    $P1315 = "vivitype"($P1314)
+    $P1311."viviself"($P1315)
+  if_1307_end:
+.annotate 'line', 456
+    goto if_1296_end
+  if_1296:
+.annotate 'line', 453
+    find_lex $P1300, "$past"
+    $P1300."slurpy"(1)
+.annotate 'line', 454
+    find_lex $P1301, "$past"
+    find_lex $P1302, "$/"
+    unless_null $P1302, vivify_425
+    $P1302 = root_new ['parrot';'Hash']
   vivify_425:
-    set $P1274, $P1273["param_var"]
-    unless_null $P1274, vivify_426
-    $P1274 = root_new ['parrot';'Hash']
+    set $P1303, $P1302["param_var"]
+    unless_null $P1303, vivify_426
+    $P1303 = root_new ['parrot';'Hash']
   vivify_426:
-    set $P1275, $P1274["sigil"]
-    unless_null $P1275, vivify_427
-    new $P1275, "Undef"
+    set $P1304, $P1303["sigil"]
+    unless_null $P1304, vivify_427
+    new $P1304, "Undef"
   vivify_427:
-    $P1276 = "vivitype"($P1275)
-    $P1271."viviself"($P1276)
-  if_1267_end:
-  if_1261_end:
-.annotate "line", 461
-    find_lex $P1301, "$/"
-    unless_null $P1301, vivify_428
-    $P1301 = root_new ['parrot';'Hash']
+    set $S1305, $P1304
+    iseq $I1306, $S1305, "%"
+    $P1301."named"($I1306)
+  if_1296_end:
+.annotate 'line', 450
+    goto if_1277_end
+  if_1277:
+.annotate 'line', 445
+    find_lex $P1280, "$/"
+    unless_null $P1280, vivify_428
+    $P1280 = root_new ['parrot';'Hash']
   vivify_428:
-    set $P1302, $P1301["default_value"]
-    unless_null $P1302, vivify_429
-    new $P1302, "Undef"
+    set $P1281, $P1280["named_param"]
+    unless_null $P1281, vivify_429
+    new $P1281, "Undef"
   vivify_429:
-    unless $P1302, if_1300_end
-.annotate "line", 462
-    find_lex $P1304, "$quant"
-    set $S1305, $P1304
-    iseq $I1306, $S1305, "*"
-    unless $I1306, if_1303_end
-.annotate "line", 463
-    find_lex $P1307, "$/"
-    $P1308 = $P1307."CURSOR"()
-    $P1308."panic"("Can't put default on slurpy parameter")
-  if_1303_end:
-.annotate "line", 465
-    find_lex $P1310, "$quant"
-    set $S1311, $P1310
-    iseq $I1312, $S1311, "!"
-    unless $I1312, if_1309_end
-.annotate "line", 466
-    find_lex $P1313, "$/"
-    $P1314 = $P1313."CURSOR"()
-    $P1314."panic"("Can't put default on required parameter")
-  if_1309_end:
-.annotate "line", 468
-    find_lex $P1315, "$past"
-    find_lex $P1316, "$/"
-    unless_null $P1316, vivify_430
-    $P1316 = root_new ['parrot';'Hash']
+    $P1282 = $P1281."ast"()
+    store_lex "$past", $P1282
+.annotate 'line', 446
+    find_lex $P1284, "$quant"
+    set $S1285, $P1284
+    isne $I1286, $S1285, "!"
+    unless $I1286, if_1283_end
+.annotate 'line', 447
+    find_lex $P1287, "$past"
+    find_lex $P1288, "$/"
+    unless_null $P1288, vivify_430
+    $P1288 = root_new ['parrot';'Hash']
   vivify_430:
-    set $P1317, $P1316["default_value"]
-    unless_null $P1317, vivify_431
-    $P1317 = root_new ['parrot';'ResizablePMCArray']
+    set $P1289, $P1288["named_param"]
+    unless_null $P1289, vivify_431
+    $P1289 = root_new ['parrot';'Hash']
   vivify_431:
-    set $P1318, $P1317[0]
-    unless_null $P1318, vivify_432
-    $P1318 = root_new ['parrot';'Hash']
+    set $P1290, $P1289["param_var"]
+    unless_null $P1290, vivify_432
+    $P1290 = root_new ['parrot';'Hash']
   vivify_432:
-    set $P1319, $P1318["EXPR"]
-    unless_null $P1319, vivify_433
-    new $P1319, "Undef"
+    set $P1291, $P1290["sigil"]
+    unless_null $P1291, vivify_433
+    new $P1291, "Undef"
   vivify_433:
-    $P1320 = $P1319."ast"()
-    $P1315."viviself"($P1320)
-  if_1300_end:
-.annotate "line", 470
-    find_lex $P1322, "$past"
-    $P1323 = $P1322."viviself"()
-    if $P1323, unless_1321_end
-    get_global $P1324, "@BLOCK"
-    unless_null $P1324, vivify_434
-    $P1324 = root_new ['parrot';'ResizablePMCArray']
+    $P1292 = "vivitype"($P1291)
+    $P1287."viviself"($P1292)
+  if_1283_end:
+  if_1277_end:
+.annotate 'line', 460
+    find_lex $P1317, "$/"
+    unless_null $P1317, vivify_434
+    $P1317 = root_new ['parrot';'Hash']
   vivify_434:
-    set $P1325, $P1324[0]
-    unless_null $P1325, vivify_435
-    new $P1325, "Undef"
+    set $P1318, $P1317["default_value"]
+    unless_null $P1318, vivify_435
+    new $P1318, "Undef"
   vivify_435:
-    get_global $P1326, "@BLOCK"
-    unless_null $P1326, vivify_436
-    $P1326 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1318, if_1316_end
+.annotate 'line', 461
+    find_lex $P1320, "$quant"
+    set $S1321, $P1320
+    iseq $I1322, $S1321, "*"
+    unless $I1322, if_1319_end
+.annotate 'line', 462
+    find_lex $P1323, "$/"
+    $P1324 = $P1323."CURSOR"()
+    $P1324."panic"("Can't put default on slurpy parameter")
+  if_1319_end:
+.annotate 'line', 464
+    find_lex $P1326, "$quant"
+    set $S1327, $P1326
+    iseq $I1328, $S1327, "!"
+    unless $I1328, if_1325_end
+.annotate 'line', 465
+    find_lex $P1329, "$/"
+    $P1330 = $P1329."CURSOR"()
+    $P1330."panic"("Can't put default on required parameter")
+  if_1325_end:
+.annotate 'line', 467
+    find_lex $P1331, "$past"
+    find_lex $P1332, "$/"
+    unless_null $P1332, vivify_436
+    $P1332 = root_new ['parrot';'Hash']
   vivify_436:
-    set $P1327, $P1326[0]
-    unless_null $P1327, vivify_437
-    new $P1327, "Undef"
+    set $P1333, $P1332["default_value"]
+    unless_null $P1333, vivify_437
+    $P1333 = root_new ['parrot';'ResizablePMCArray']
   vivify_437:
-    $P1328 = $P1327."arity"()
-    set $N1329, $P1328
-    new $P1330, 'Float'
-    set $P1330, $N1329
-    add $P1331, $P1330, 1
-    $P1325."arity"($P1331)
-  unless_1321_end:
-.annotate "line", 471
-    find_lex $P1332, "$/"
-    find_lex $P1333, "$past"
-    $P1334 = $P1332."!make"($P1333)
-.annotate "line", 442
-    .return ($P1334)
-  control_1253:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1335, exception, "payload"
-    .return ($P1335)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("78_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1339
-.annotate "line", 474
-    new $P1338, 'ExceptionHandler'
-    set_addr $P1338, control_1337
-    $P1338."handle_types"(57)
-    push_eh $P1338
-    .lex "self", self
-    .lex "$/", param_1339
-.annotate "line", 475
-    new $P1340, "Undef"
-    .lex "$name", $P1340
-.annotate "line", 476
-    new $P1341, "Undef"
-    .lex "$past", $P1341
-.annotate "line", 475
-    find_lex $P1342, "$/"
-    set $S1343, $P1342
-    new $P1344, 'String'
-    set $P1344, $S1343
-    store_lex "$name", $P1344
-.annotate "line", 476
-    get_hll_global $P1345, ["PAST"], "Var"
-    find_lex $P1346, "$name"
-    find_lex $P1347, "$/"
-    $P1348 = $P1345."new"($P1346 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1347 :named("node"))
-    store_lex "$past", $P1348
-.annotate "line", 478
-    get_global $P1349, "@BLOCK"
-    unless_null $P1349, vivify_438
-    $P1349 = root_new ['parrot';'ResizablePMCArray']
+    set $P1334, $P1333[0]
+    unless_null $P1334, vivify_438
+    $P1334 = root_new ['parrot';'Hash']
   vivify_438:
-    set $P1350, $P1349[0]
-    unless_null $P1350, vivify_439
-    new $P1350, "Undef"
+    set $P1335, $P1334["EXPR"]
+    unless_null $P1335, vivify_439
+    new $P1335, "Undef"
   vivify_439:
-    find_lex $P1351, "$name"
-    $P1350."symbol"($P1351, "lexical" :named("scope"))
-.annotate "line", 479
-    find_lex $P1352, "$/"
-    find_lex $P1353, "$past"
-    $P1354 = $P1352."!make"($P1353)
-.annotate "line", 474
-    .return ($P1354)
-  control_1337:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1355, exception, "payload"
-    .return ($P1355)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("79_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1359
-.annotate "line", 482
-    new $P1358, 'ExceptionHandler'
-    set_addr $P1358, control_1357
-    $P1358."handle_types"(57)
-    push_eh $P1358
-    .lex "self", self
-    .lex "$/", param_1359
-.annotate "line", 483
-    new $P1360, "Undef"
-    .lex "$past", $P1360
-    find_lex $P1361, "$/"
-    unless_null $P1361, vivify_440
-    $P1361 = root_new ['parrot';'Hash']
+    $P1336 = $P1335."ast"()
+    $P1331."viviself"($P1336)
+  if_1316_end:
+.annotate 'line', 469
+    find_lex $P1338, "$past"
+    $P1339 = $P1338."viviself"()
+    if $P1339, unless_1337_end
+    get_global $P1340, "@BLOCK"
+    unless_null $P1340, vivify_440
+    $P1340 = root_new ['parrot';'ResizablePMCArray']
   vivify_440:
-    set $P1362, $P1361["param_var"]
-    unless_null $P1362, vivify_441
-    new $P1362, "Undef"
+    set $P1341, $P1340[0]
+    unless_null $P1341, vivify_441
+    new $P1341, "Undef"
   vivify_441:
-    $P1363 = $P1362."ast"()
-    store_lex "$past", $P1363
-.annotate "line", 484
-    find_lex $P1364, "$past"
-    find_lex $P1365, "$/"
-    unless_null $P1365, vivify_442
-    $P1365 = root_new ['parrot';'Hash']
+    get_global $P1342, "@BLOCK"
+    unless_null $P1342, vivify_442
+    $P1342 = root_new ['parrot';'ResizablePMCArray']
   vivify_442:
-    set $P1366, $P1365["param_var"]
-    unless_null $P1366, vivify_443
-    $P1366 = root_new ['parrot';'Hash']
+    set $P1343, $P1342[0]
+    unless_null $P1343, vivify_443
+    new $P1343, "Undef"
   vivify_443:
-    set $P1367, $P1366["name"]
-    unless_null $P1367, vivify_444
-    new $P1367, "Undef"
+    $P1344 = $P1343."arity"()
+    set $N1345, $P1344
+    new $P1346, 'Float'
+    set $P1346, $N1345
+    add $P1347, $P1346, 1
+    $P1341."arity"($P1347)
+  unless_1337_end:
+.annotate 'line', 470
+    find_lex $P1348, "$/"
+    find_lex $P1349, "$past"
+    $P1350 = $P1348."!make"($P1349)
+.annotate 'line', 441
+    .return ($P1350)
+  control_1269:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1351, exception, "payload"
+    .return ($P1351)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "param_var"  :subid("79_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1355
+.annotate 'line', 473
+    new $P1354, 'ExceptionHandler'
+    set_addr $P1354, control_1353
+    $P1354."handle_types"(57)
+    push_eh $P1354
+    .lex "self", self
+    .lex "$/", param_1355
+.annotate 'line', 474
+    new $P1356, "Undef"
+    .lex "$name", $P1356
+.annotate 'line', 475
+    new $P1357, "Undef"
+    .lex "$past", $P1357
+.annotate 'line', 474
+    find_lex $P1358, "$/"
+    set $S1359, $P1358
+    new $P1360, 'String'
+    set $P1360, $S1359
+    store_lex "$name", $P1360
+.annotate 'line', 475
+    get_hll_global $P1361, ["PAST"], "Var"
+    find_lex $P1362, "$name"
+    find_lex $P1363, "$/"
+    $P1364 = $P1361."new"($P1362 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1363 :named("node"))
+    store_lex "$past", $P1364
+.annotate 'line', 477
+    get_global $P1365, "@BLOCK"
+    unless_null $P1365, vivify_444
+    $P1365 = root_new ['parrot';'ResizablePMCArray']
   vivify_444:
-    set $S1368, $P1367
-    $P1364."named"($S1368)
-.annotate "line", 485
-    find_lex $P1369, "$/"
-    find_lex $P1370, "$past"
-    $P1371 = $P1369."!make"($P1370)
-.annotate "line", 482
-    .return ($P1371)
-  control_1357:
+    set $P1366, $P1365[0]
+    unless_null $P1366, vivify_445
+    new $P1366, "Undef"
+  vivify_445:
+    find_lex $P1367, "$name"
+    $P1366."symbol"($P1367, "lexical" :named("scope"))
+.annotate 'line', 478
+    find_lex $P1368, "$/"
+    find_lex $P1369, "$past"
+    $P1370 = $P1368."!make"($P1369)
+.annotate 'line', 473
+    .return ($P1370)
+  control_1353:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1372, exception, "payload"
-    .return ($P1372)
+    getattribute $P1371, exception, "payload"
+    .return ($P1371)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("80_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1376
-    .param pmc param_1377 :optional
-    .param int has_param_1377 :opt_flag
-.annotate "line", 488
-    .const 'Sub' $P1447 = "82_1272816841.80681" 
-    capture_lex $P1447
-    .const 'Sub' $P1419 = "81_1272816841.80681" 
-    capture_lex $P1419
-    new $P1375, 'ExceptionHandler'
-    set_addr $P1375, control_1374
-    $P1375."handle_types"(57)
-    push_eh $P1375
-    .lex "self", self
-    .lex "$/", param_1376
-    if has_param_1377, optparam_445
-    new $P1378, "Undef"
-    set param_1377, $P1378
-  optparam_445:
-    .lex "$key", param_1377
-.annotate "line", 489
-    $P1379 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@MODIFIERS", $P1379
-.annotate "line", 492
-    new $P1380, "Undef"
-    .lex "$name", $P1380
-.annotate "line", 493
-    new $P1381, "Undef"
-    .lex "$past", $P1381
-.annotate "line", 489
-
-        $P1382 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
-    
-    store_lex "@MODIFIERS", $P1382
-.annotate "line", 492
-    find_lex $P1383, "$/"
-    unless_null $P1383, vivify_446
-    $P1383 = root_new ['parrot';'Hash']
+.sub "named_param"  :subid("80_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1375
+.annotate 'line', 481
+    new $P1374, 'ExceptionHandler'
+    set_addr $P1374, control_1373
+    $P1374."handle_types"(57)
+    push_eh $P1374
+    .lex "self", self
+    .lex "$/", param_1375
+.annotate 'line', 482
+    new $P1376, "Undef"
+    .lex "$past", $P1376
+    find_lex $P1377, "$/"
+    unless_null $P1377, vivify_446
+    $P1377 = root_new ['parrot';'Hash']
   vivify_446:
-    set $P1384, $P1383["deflongname"]
-    unless_null $P1384, vivify_447
-    new $P1384, "Undef"
+    set $P1378, $P1377["param_var"]
+    unless_null $P1378, vivify_447
+    new $P1378, "Undef"
   vivify_447:
-    $P1385 = $P1384."ast"()
-    set $S1386, $P1385
-    new $P1387, 'String'
-    set $P1387, $S1386
-    store_lex "$name", $P1387
-    find_lex $P1388, "$past"
-.annotate "line", 494
-    find_lex $P1390, "$/"
-    unless_null $P1390, vivify_448
-    $P1390 = root_new ['parrot';'Hash']
+    $P1379 = $P1378."ast"()
+    store_lex "$past", $P1379
+.annotate 'line', 483
+    find_lex $P1380, "$past"
+    find_lex $P1381, "$/"
+    unless_null $P1381, vivify_448
+    $P1381 = root_new ['parrot';'Hash']
   vivify_448:
-    set $P1391, $P1390["proto"]
-    unless_null $P1391, vivify_449
-    new $P1391, "Undef"
+    set $P1382, $P1381["param_var"]
+    unless_null $P1382, vivify_449
+    $P1382 = root_new ['parrot';'Hash']
   vivify_449:
-    if $P1391, if_1389
-.annotate "line", 521
-    find_lex $P1415, "$key"
-    set $S1416, $P1415
-    iseq $I1417, $S1416, "open"
-    if $I1417, if_1414
-.annotate "line", 534
-    .const 'Sub' $P1447 = "82_1272816841.80681" 
-    capture_lex $P1447
-    $P1447()
-    goto if_1414_end
-  if_1414:
-.annotate "line", 521
-    .const 'Sub' $P1419 = "81_1272816841.80681" 
-    capture_lex $P1419
-    $P1419()
-  if_1414_end:
-    goto if_1389_end
-  if_1389:
-.annotate "line", 496
-    get_hll_global $P1392, ["PAST"], "Stmts"
-.annotate "line", 497
-    get_hll_global $P1393, ["PAST"], "Block"
-    find_lex $P1394, "$name"
-.annotate "line", 498
-    get_hll_global $P1395, ["PAST"], "Op"
-.annotate "line", 499
-    get_hll_global $P1396, ["PAST"], "Var"
-    $P1397 = $P1396."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1398, "$name"
-    $P1399 = $P1395."new"($P1397, $P1398, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 498
-    find_lex $P1400, "$/"
-    $P1401 = $P1393."new"($P1399, $P1394 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1400 :named("node"))
-.annotate "line", 508
-    get_hll_global $P1402, ["PAST"], "Block"
-    new $P1403, "String"
-    assign $P1403, "!PREFIX__"
-    find_lex $P1404, "$name"
-    concat $P1405, $P1403, $P1404
-.annotate "line", 509
-    get_hll_global $P1406, ["PAST"], "Op"
-.annotate "line", 510
-    get_hll_global $P1407, ["PAST"], "Var"
-    $P1408 = $P1407."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1409, "$name"
-    $P1410 = $P1406."new"($P1408, $P1409, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 509
-    find_lex $P1411, "$/"
-    $P1412 = $P1402."new"($P1410, $P1405 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1411 :named("node"))
-.annotate "line", 508
-    $P1413 = $P1392."new"($P1401, $P1412)
-.annotate "line", 496
-    store_lex "$past", $P1413
-  if_1389_end:
-.annotate "line", 548
-    find_lex $P1468, "$/"
-    find_lex $P1469, "$past"
-    $P1470 = $P1468."!make"($P1469)
-.annotate "line", 488
-    .return ($P1470)
-  control_1374:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1471, exception, "payload"
-    .return ($P1471)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1446"  :anon :subid("82_1272816841.80681") :outer("80_1272816841.80681")
-.annotate "line", 535
-    new $P1448, "Undef"
-    .lex "$regex", $P1448
-.annotate "line", 536
-    get_hll_global $P1449, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1450, "$/"
-    unless_null $P1450, vivify_450
-    $P1450 = root_new ['parrot';'Hash']
+    set $P1383, $P1382["name"]
+    unless_null $P1383, vivify_450
+    new $P1383, "Undef"
   vivify_450:
-    set $P1451, $P1450["p6regex"]
-    unless_null $P1451, vivify_451
-    new $P1451, "Undef"
-  vivify_451:
-    $P1452 = $P1451."ast"()
-    get_global $P1453, "@BLOCK"
-    $P1454 = $P1453."shift"()
-    $P1455 = $P1449($P1452, $P1454)
-    store_lex "$regex", $P1455
-.annotate "line", 537
-    find_lex $P1456, "$regex"
-    find_lex $P1457, "$name"
-    $P1456."name"($P1457)
-.annotate "line", 539
-    get_hll_global $P1458, ["PAST"], "Op"
-.annotate "line", 541
-    get_hll_global $P1459, ["PAST"], "Var"
-    new $P1460, "ResizablePMCArray"
-    push $P1460, "Regex"
-    $P1461 = $P1459."new"("Method" :named("name"), $P1460 :named("namespace"), "package" :named("scope"))
-    find_lex $P1462, "$regex"
-    $P1463 = $P1458."new"($P1461, $P1462, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate "line", 539
-    store_lex "$past", $P1463
-.annotate "line", 545
-    find_lex $P1464, "$regex"
-    find_lex $P1465, "$past"
-    unless_null $P1465, vivify_452
-    $P1465 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1465
-  vivify_452:
-    set $P1465["sink"], $P1464
-.annotate "line", 546
-    find_lex $P1466, "@MODIFIERS"
-    $P1467 = $P1466."shift"()
-.annotate "line", 534
-    .return ($P1467)
+    set $S1384, $P1383
+    $P1380."named"($S1384)
+.annotate 'line', 484
+    find_lex $P1385, "$/"
+    find_lex $P1386, "$past"
+    $P1387 = $P1385."!make"($P1386)
+.annotate 'line', 481
+    .return ($P1387)
+  control_1373:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1388, exception, "payload"
+    .return ($P1388)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1418"  :anon :subid("81_1272816841.80681") :outer("80_1272816841.80681")
-.annotate "line", 522
-    $P1420 = root_new ['parrot';'Hash']
-    .lex "%h", $P1420
-.annotate "line", 521
-    find_lex $P1421, "%h"
-.annotate "line", 523
-    find_lex $P1423, "$/"
-    unless_null $P1423, vivify_453
-    $P1423 = root_new ['parrot';'Hash']
+.sub "regex_declarator"  :subid("81_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1392
+    .param pmc param_1393 :optional
+    .param int has_param_1393 :opt_flag
+.annotate 'line', 487
+    .const 'Sub' $P1463 = "83_1273866388.36922" 
+    capture_lex $P1463
+    .const 'Sub' $P1435 = "82_1273866388.36922" 
+    capture_lex $P1435
+    new $P1391, 'ExceptionHandler'
+    set_addr $P1391, control_1390
+    $P1391."handle_types"(57)
+    push_eh $P1391
+    .lex "self", self
+    .lex "$/", param_1392
+    if has_param_1393, optparam_451
+    new $P1394, "Undef"
+    set param_1393, $P1394
+  optparam_451:
+    .lex "$key", param_1393
+.annotate 'line', 488
+    $P1395 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@MODIFIERS", $P1395
+.annotate 'line', 491
+    new $P1396, "Undef"
+    .lex "$name", $P1396
+.annotate 'line', 492
+    new $P1397, "Undef"
+    .lex "$past", $P1397
+.annotate 'line', 488
+
+        $P1398 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+    
+    store_lex "@MODIFIERS", $P1398
+.annotate 'line', 491
+    find_lex $P1399, "$/"
+    unless_null $P1399, vivify_452
+    $P1399 = root_new ['parrot';'Hash']
+  vivify_452:
+    set $P1400, $P1399["deflongname"]
+    unless_null $P1400, vivify_453
+    new $P1400, "Undef"
   vivify_453:
-    set $P1424, $P1423["sym"]
-    unless_null $P1424, vivify_454
-    new $P1424, "Undef"
+    $P1401 = $P1400."ast"()
+    set $S1402, $P1401
+    new $P1403, 'String'
+    set $P1403, $S1402
+    store_lex "$name", $P1403
+    find_lex $P1404, "$past"
+.annotate 'line', 493
+    find_lex $P1406, "$/"
+    unless_null $P1406, vivify_454
+    $P1406 = root_new ['parrot';'Hash']
   vivify_454:
-    set $S1425, $P1424
-    iseq $I1426, $S1425, "token"
-    unless $I1426, if_1422_end
-    new $P1427, "Integer"
-    assign $P1427, 1
-    find_lex $P1428, "%h"
-    unless_null $P1428, vivify_455
-    $P1428 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1428
+    set $P1407, $P1406["proto"]
+    unless_null $P1407, vivify_455
+    new $P1407, "Undef"
   vivify_455:
-    set $P1428["r"], $P1427
-  if_1422_end:
-.annotate "line", 524
-    find_lex $P1430, "$/"
-    unless_null $P1430, vivify_456
-    $P1430 = root_new ['parrot';'Hash']
+    if $P1407, if_1405
+.annotate 'line', 520
+    find_lex $P1431, "$key"
+    set $S1432, $P1431
+    iseq $I1433, $S1432, "open"
+    if $I1433, if_1430
+.annotate 'line', 533
+    .const 'Sub' $P1463 = "83_1273866388.36922" 
+    capture_lex $P1463
+    $P1463()
+    goto if_1430_end
+  if_1430:
+.annotate 'line', 520
+    .const 'Sub' $P1435 = "82_1273866388.36922" 
+    capture_lex $P1435
+    $P1435()
+  if_1430_end:
+    goto if_1405_end
+  if_1405:
+.annotate 'line', 495
+    get_hll_global $P1408, ["PAST"], "Stmts"
+.annotate 'line', 496
+    get_hll_global $P1409, ["PAST"], "Block"
+    find_lex $P1410, "$name"
+.annotate 'line', 497
+    get_hll_global $P1411, ["PAST"], "Op"
+.annotate 'line', 498
+    get_hll_global $P1412, ["PAST"], "Var"
+    $P1413 = $P1412."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1414, "$name"
+    $P1415 = $P1411."new"($P1413, $P1414, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 497
+    find_lex $P1416, "$/"
+    $P1417 = $P1409."new"($P1415, $P1410 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1416 :named("node"))
+.annotate 'line', 507
+    get_hll_global $P1418, ["PAST"], "Block"
+    new $P1419, "String"
+    assign $P1419, "!PREFIX__"
+    find_lex $P1420, "$name"
+    concat $P1421, $P1419, $P1420
+.annotate 'line', 508
+    get_hll_global $P1422, ["PAST"], "Op"
+.annotate 'line', 509
+    get_hll_global $P1423, ["PAST"], "Var"
+    $P1424 = $P1423."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1425, "$name"
+    $P1426 = $P1422."new"($P1424, $P1425, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 508
+    find_lex $P1427, "$/"
+    $P1428 = $P1418."new"($P1426, $P1421 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1427 :named("node"))
+.annotate 'line', 507
+    $P1429 = $P1408."new"($P1417, $P1428)
+.annotate 'line', 495
+    store_lex "$past", $P1429
+  if_1405_end:
+.annotate 'line', 547
+    find_lex $P1484, "$/"
+    find_lex $P1485, "$past"
+    $P1486 = $P1484."!make"($P1485)
+.annotate 'line', 487
+    .return ($P1486)
+  control_1390:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1487, exception, "payload"
+    .return ($P1487)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1462"  :anon :subid("83_1273866388.36922") :outer("81_1273866388.36922")
+.annotate 'line', 534
+    new $P1464, "Undef"
+    .lex "$regex", $P1464
+.annotate 'line', 535
+    get_hll_global $P1465, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1466, "$/"
+    unless_null $P1466, vivify_456
+    $P1466 = root_new ['parrot';'Hash']
   vivify_456:
-    set $P1431, $P1430["sym"]
-    unless_null $P1431, vivify_457
-    new $P1431, "Undef"
+    set $P1467, $P1466["p6regex"]
+    unless_null $P1467, vivify_457
+    new $P1467, "Undef"
   vivify_457:
-    set $S1432, $P1431
-    iseq $I1433, $S1432, "rule"
-    unless $I1433, if_1429_end
-    new $P1434, "Integer"
-    assign $P1434, 1
-    find_lex $P1435, "%h"
-    unless_null $P1435, vivify_458
-    $P1435 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1435
+    $P1468 = $P1467."ast"()
+    get_global $P1469, "@BLOCK"
+    $P1470 = $P1469."shift"()
+    $P1471 = $P1465($P1468, $P1470)
+    store_lex "$regex", $P1471
+.annotate 'line', 536
+    find_lex $P1472, "$regex"
+    find_lex $P1473, "$name"
+    $P1472."name"($P1473)
+.annotate 'line', 538
+    get_hll_global $P1474, ["PAST"], "Op"
+.annotate 'line', 540
+    get_hll_global $P1475, ["PAST"], "Var"
+    new $P1476, "ResizablePMCArray"
+    push $P1476, "Regex"
+    $P1477 = $P1475."new"("Method" :named("name"), $P1476 :named("namespace"), "package" :named("scope"))
+    find_lex $P1478, "$regex"
+    $P1479 = $P1474."new"($P1477, $P1478, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 538
+    store_lex "$past", $P1479
+.annotate 'line', 544
+    find_lex $P1480, "$regex"
+    find_lex $P1481, "$past"
+    unless_null $P1481, vivify_458
+    $P1481 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1481
   vivify_458:
-    set $P1435["r"], $P1434
-    new $P1436, "Integer"
-    assign $P1436, 1
+    set $P1481["sink"], $P1480
+.annotate 'line', 545
+    find_lex $P1482, "@MODIFIERS"
+    $P1483 = $P1482."shift"()
+.annotate 'line', 533
+    .return ($P1483)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1434"  :anon :subid("82_1273866388.36922") :outer("81_1273866388.36922")
+.annotate 'line', 521
+    $P1436 = root_new ['parrot';'Hash']
+    .lex "%h", $P1436
+.annotate 'line', 520
     find_lex $P1437, "%h"
-    unless_null $P1437, vivify_459
-    $P1437 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1437
+.annotate 'line', 522
+    find_lex $P1439, "$/"
+    unless_null $P1439, vivify_459
+    $P1439 = root_new ['parrot';'Hash']
   vivify_459:
-    set $P1437["s"], $P1436
-  if_1429_end:
-.annotate "line", 525
-    find_lex $P1438, "@MODIFIERS"
-    find_lex $P1439, "%h"
-    $P1438."unshift"($P1439)
-.annotate "line", 526
-
-            $P0 = find_lex '$name'
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate "line", 530
-    get_global $P1440, "@BLOCK"
+    set $P1440, $P1439["sym"]
     unless_null $P1440, vivify_460
-    $P1440 = root_new ['parrot';'ResizablePMCArray']
+    new $P1440, "Undef"
   vivify_460:
-    set $P1441, $P1440[0]
-    unless_null $P1441, vivify_461
-    new $P1441, "Undef"
+    set $S1441, $P1440
+    iseq $I1442, $S1441, "token"
+    unless $I1442, if_1438_end
+    new $P1443, "Integer"
+    assign $P1443, 1
+    find_lex $P1444, "%h"
+    unless_null $P1444, vivify_461
+    $P1444 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1444
   vivify_461:
-    $P1441."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate "line", 531
-    get_global $P1442, "@BLOCK"
-    unless_null $P1442, vivify_462
-    $P1442 = root_new ['parrot';'ResizablePMCArray']
+    set $P1444["r"], $P1443
+  if_1438_end:
+.annotate 'line', 523
+    find_lex $P1446, "$/"
+    unless_null $P1446, vivify_462
+    $P1446 = root_new ['parrot';'Hash']
   vivify_462:
-    set $P1443, $P1442[0]
-    unless_null $P1443, vivify_463
-    new $P1443, "Undef"
+    set $P1447, $P1446["sym"]
+    unless_null $P1447, vivify_463
+    new $P1447, "Undef"
   vivify_463:
-    $P1443."symbol"("$/", "lexical" :named("scope"))
-.annotate "line", 532
-    new $P1444, "Exception"
-    set $P1444['type'], 57
-    new $P1445, "Integer"
-    assign $P1445, 0
-    setattribute $P1444, 'payload', $P1445
-    throw $P1444
-.annotate "line", 521
-    .return ()
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("83_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1475
-.annotate "line", 552
-    new $P1474, 'ExceptionHandler'
-    set_addr $P1474, control_1473
-    $P1474."handle_types"(57)
-    push_eh $P1474
-    .lex "self", self
-    .lex "$/", param_1475
-.annotate "line", 553
-    new $P1476, "Undef"
-    .lex "$past", $P1476
-    find_lex $P1479, "$/"
-    unless_null $P1479, vivify_464
-    $P1479 = root_new ['parrot';'Hash']
+    set $S1448, $P1447
+    iseq $I1449, $S1448, "rule"
+    unless $I1449, if_1445_end
+    new $P1450, "Integer"
+    assign $P1450, 1
+    find_lex $P1451, "%h"
+    unless_null $P1451, vivify_464
+    $P1451 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1451
   vivify_464:
-    set $P1480, $P1479["args"]
-    unless_null $P1480, vivify_465
-    new $P1480, "Undef"
+    set $P1451["r"], $P1450
+    new $P1452, "Integer"
+    assign $P1452, 1
+    find_lex $P1453, "%h"
+    unless_null $P1453, vivify_465
+    $P1453 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1453
   vivify_465:
-    if $P1480, if_1478
-    get_hll_global $P1485, ["PAST"], "Op"
-    find_lex $P1486, "$/"
-    $P1487 = $P1485."new"($P1486 :named("node"))
-    set $P1477, $P1487
-    goto if_1478_end
-  if_1478:
-    find_lex $P1481, "$/"
-    unless_null $P1481, vivify_466
-    $P1481 = root_new ['parrot';'Hash']
+    set $P1453["s"], $P1452
+  if_1445_end:
+.annotate 'line', 524
+    find_lex $P1454, "@MODIFIERS"
+    find_lex $P1455, "%h"
+    $P1454."unshift"($P1455)
+.annotate 'line', 525
+
+            $P0 = find_lex '$name'
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate 'line', 529
+    get_global $P1456, "@BLOCK"
+    unless_null $P1456, vivify_466
+    $P1456 = root_new ['parrot';'ResizablePMCArray']
   vivify_466:
-    set $P1482, $P1481["args"]
-    unless_null $P1482, vivify_467
-    $P1482 = root_new ['parrot';'ResizablePMCArray']
+    set $P1457, $P1456[0]
+    unless_null $P1457, vivify_467
+    new $P1457, "Undef"
   vivify_467:
-    set $P1483, $P1482[0]
-    unless_null $P1483, vivify_468
-    new $P1483, "Undef"
+    $P1457."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 530
+    get_global $P1458, "@BLOCK"
+    unless_null $P1458, vivify_468
+    $P1458 = root_new ['parrot';'ResizablePMCArray']
   vivify_468:
-    $P1484 = $P1483."ast"()
-    set $P1477, $P1484
-  if_1478_end:
-    store_lex "$past", $P1477
-.annotate "line", 554
-    find_lex $P1488, "$past"
-    find_lex $P1491, "$/"
-    unless_null $P1491, vivify_469
-    $P1491 = root_new ['parrot';'Hash']
+    set $P1459, $P1458[0]
+    unless_null $P1459, vivify_469
+    new $P1459, "Undef"
   vivify_469:
-    set $P1492, $P1491["quote"]
-    unless_null $P1492, vivify_470
+    $P1459."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 531
+    new $P1460, "Exception"
+    set $P1460['type'], 57
+    new $P1461, "Integer"
+    assign $P1461, 0
+    setattribute $P1460, 'payload', $P1461
+    throw $P1460
+.annotate 'line', 520
+    .return ()
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "dotty"  :subid("84_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1491
+.annotate 'line', 551
+    new $P1490, 'ExceptionHandler'
+    set_addr $P1490, control_1489
+    $P1490."handle_types"(57)
+    push_eh $P1490
+    .lex "self", self
+    .lex "$/", param_1491
+.annotate 'line', 552
     new $P1492, "Undef"
+    .lex "$past", $P1492
+    find_lex $P1495, "$/"
+    unless_null $P1495, vivify_470
+    $P1495 = root_new ['parrot';'Hash']
   vivify_470:
-    if $P1492, if_1490
-    find_lex $P1496, "$/"
+    set $P1496, $P1495["args"]
     unless_null $P1496, vivify_471
-    $P1496 = root_new ['parrot';'Hash']
+    new $P1496, "Undef"
   vivify_471:
-    set $P1497, $P1496["longname"]
+    if $P1496, if_1494
+    get_hll_global $P1501, ["PAST"], "Op"
+    find_lex $P1502, "$/"
+    $P1503 = $P1501."new"($P1502 :named("node"))
+    set $P1493, $P1503
+    goto if_1494_end
+  if_1494:
+    find_lex $P1497, "$/"
     unless_null $P1497, vivify_472
-    new $P1497, "Undef"
+    $P1497 = root_new ['parrot';'Hash']
   vivify_472:
-    set $S1498, $P1497
-    new $P1489, 'String'
-    set $P1489, $S1498
-    goto if_1490_end
-  if_1490:
-    find_lex $P1493, "$/"
-    unless_null $P1493, vivify_473
-    $P1493 = root_new ['parrot';'Hash']
+    set $P1498, $P1497["args"]
+    unless_null $P1498, vivify_473
+    $P1498 = root_new ['parrot';'ResizablePMCArray']
   vivify_473:
-    set $P1494, $P1493["quote"]
-    unless_null $P1494, vivify_474
-    new $P1494, "Undef"
+    set $P1499, $P1498[0]
+    unless_null $P1499, vivify_474
+    new $P1499, "Undef"
   vivify_474:
-    $P1495 = $P1494."ast"()
-    set $P1489, $P1495
-  if_1490_end:
-    $P1488."name"($P1489)
-.annotate "line", 555
-    find_lex $P1499, "$past"
-    $P1499."pasttype"("callmethod")
-.annotate "line", 556
-    find_lex $P1500, "$/"
-    find_lex $P1501, "$past"
-    $P1502 = $P1500."!make"($P1501)
-.annotate "line", 552
-    .return ($P1502)
-  control_1473:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1503, exception, "payload"
-    .return ($P1503)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("84_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1507
-.annotate "line", 561
-    new $P1506, 'ExceptionHandler'
-    set_addr $P1506, control_1505
-    $P1506."handle_types"(57)
-    push_eh $P1506
-    .lex "self", self
-    .lex "$/", param_1507
-.annotate "line", 562
-    find_lex $P1508, "$/"
-    get_hll_global $P1509, ["PAST"], "Var"
-    $P1510 = $P1509."new"("self" :named("name"))
-    $P1511 = $P1508."!make"($P1510)
-.annotate "line", 561
-    .return ($P1511)
-  control_1505:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1512, exception, "payload"
-    .return ($P1512)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("85_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1516
-.annotate "line", 565
-    new $P1515, 'ExceptionHandler'
-    set_addr $P1515, control_1514
-    $P1515."handle_types"(57)
-    push_eh $P1515
-    .lex "self", self
-    .lex "$/", param_1516
-.annotate "line", 566
-    new $P1517, "Undef"
-    .lex "$past", $P1517
-    find_lex $P1518, "$/"
-    unless_null $P1518, vivify_475
-    $P1518 = root_new ['parrot';'Hash']
+    $P1500 = $P1499."ast"()
+    set $P1493, $P1500
+  if_1494_end:
+    store_lex "$past", $P1493
+.annotate 'line', 553
+    find_lex $P1504, "$past"
+    find_lex $P1507, "$/"
+    unless_null $P1507, vivify_475
+    $P1507 = root_new ['parrot';'Hash']
   vivify_475:
-    set $P1519, $P1518["args"]
-    unless_null $P1519, vivify_476
-    new $P1519, "Undef"
+    set $P1508, $P1507["quote"]
+    unless_null $P1508, vivify_476
+    new $P1508, "Undef"
   vivify_476:
-    $P1520 = $P1519."ast"()
-    store_lex "$past", $P1520
-.annotate "line", 567
-    find_lex $P1521, "$past"
-    find_lex $P1522, "$/"
-    unless_null $P1522, vivify_477
-    $P1522 = root_new ['parrot';'Hash']
+    if $P1508, if_1506
+    find_lex $P1512, "$/"
+    unless_null $P1512, vivify_477
+    $P1512 = root_new ['parrot';'Hash']
   vivify_477:
-    set $P1523, $P1522["identifier"]
-    unless_null $P1523, vivify_478
-    new $P1523, "Undef"
+    set $P1513, $P1512["longname"]
+    unless_null $P1513, vivify_478
+    new $P1513, "Undef"
   vivify_478:
-    set $S1524, $P1523
-    $P1521."name"($S1524)
-.annotate "line", 568
-    find_lex $P1525, "$/"
-    find_lex $P1526, "$past"
-    $P1527 = $P1525."!make"($P1526)
-.annotate "line", 565
+    set $S1514, $P1513
+    new $P1505, 'String'
+    set $P1505, $S1514
+    goto if_1506_end
+  if_1506:
+    find_lex $P1509, "$/"
+    unless_null $P1509, vivify_479
+    $P1509 = root_new ['parrot';'Hash']
+  vivify_479:
+    set $P1510, $P1509["quote"]
+    unless_null $P1510, vivify_480
+    new $P1510, "Undef"
+  vivify_480:
+    $P1511 = $P1510."ast"()
+    set $P1505, $P1511
+  if_1506_end:
+    $P1504."name"($P1505)
+.annotate 'line', 554
+    find_lex $P1515, "$past"
+    $P1515."pasttype"("callmethod")
+.annotate 'line', 555
+    find_lex $P1516, "$/"
+    find_lex $P1517, "$past"
+    $P1518 = $P1516."!make"($P1517)
+.annotate 'line', 551
+    .return ($P1518)
+  control_1489:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1519, exception, "payload"
+    .return ($P1519)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<self>"  :subid("85_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1523
+.annotate 'line', 560
+    new $P1522, 'ExceptionHandler'
+    set_addr $P1522, control_1521
+    $P1522."handle_types"(57)
+    push_eh $P1522
+    .lex "self", self
+    .lex "$/", param_1523
+.annotate 'line', 561
+    find_lex $P1524, "$/"
+    get_hll_global $P1525, ["PAST"], "Var"
+    $P1526 = $P1525."new"("self" :named("name"))
+    $P1527 = $P1524."!make"($P1526)
+.annotate 'line', 560
     .return ($P1527)
-  control_1514:
+  control_1521:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1528, exception, "payload"
@@ -20562,1063 +20870,1050 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("86_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "term:sym<identifier>"  :subid("86_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_1532
-.annotate "line", 571
+.annotate 'line', 564
     new $P1531, 'ExceptionHandler'
     set_addr $P1531, control_1530
     $P1531."handle_types"(57)
     push_eh $P1531
     .lex "self", self
     .lex "$/", param_1532
-.annotate "line", 572
-    $P1533 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@ns", $P1533
-.annotate "line", 573
-    new $P1534, "Undef"
-    .lex "$name", $P1534
-.annotate "line", 575
+.annotate 'line', 565
+    new $P1533, "Undef"
+    .lex "$past", $P1533
+    find_lex $P1534, "$/"
+    unless_null $P1534, vivify_481
+    $P1534 = root_new ['parrot';'Hash']
+  vivify_481:
+    set $P1535, $P1534["args"]
+    unless_null $P1535, vivify_482
     new $P1535, "Undef"
-    .lex "$var", $P1535
-.annotate "line", 577
-    new $P1536, "Undef"
-    .lex "$past", $P1536
-.annotate "line", 572
-    find_lex $P1537, "$/"
-    unless_null $P1537, vivify_479
-    $P1537 = root_new ['parrot';'Hash']
-  vivify_479:
-    set $P1538, $P1537["name"]
-    unless_null $P1538, vivify_480
+  vivify_482:
+    $P1536 = $P1535."ast"()
+    store_lex "$past", $P1536
+.annotate 'line', 566
+    find_lex $P1537, "$past"
+    find_lex $P1538, "$/"
+    unless_null $P1538, vivify_483
     $P1538 = root_new ['parrot';'Hash']
-  vivify_480:
+  vivify_483:
     set $P1539, $P1538["identifier"]
-    unless_null $P1539, vivify_481
+    unless_null $P1539, vivify_484
     new $P1539, "Undef"
-  vivify_481:
-    clone $P1540, $P1539
-    store_lex "@ns", $P1540
-.annotate "line", 573
-    find_lex $P1541, "@ns"
-    $P1542 = $P1541."pop"()
-    store_lex "$name", $P1542
-.annotate "line", 574
-    find_lex $P1546, "@ns"
-    if $P1546, if_1545
-    set $P1544, $P1546
-    goto if_1545_end
-  if_1545:
-    find_lex $P1547, "@ns"
-    unless_null $P1547, vivify_482
-    $P1547 = root_new ['parrot';'ResizablePMCArray']
-  vivify_482:
-    set $P1548, $P1547[0]
-    unless_null $P1548, vivify_483
-    new $P1548, "Undef"
-  vivify_483:
-    set $S1549, $P1548
-    iseq $I1550, $S1549, "GLOBAL"
-    new $P1544, 'Integer'
-    set $P1544, $I1550
-  if_1545_end:
-    unless $P1544, if_1543_end
-    find_lex $P1551, "@ns"
-    $P1551."shift"()
-  if_1543_end:
-.annotate "line", 576
-    get_hll_global $P1552, ["PAST"], "Var"
-    find_lex $P1553, "$name"
-    set $S1554, $P1553
-    find_lex $P1555, "@ns"
-    $P1556 = $P1552."new"($S1554 :named("name"), $P1555 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1556
-.annotate "line", 577
-    find_lex $P1557, "$var"
-    store_lex "$past", $P1557
-.annotate "line", 578
-    find_lex $P1559, "$/"
-    unless_null $P1559, vivify_484
-    $P1559 = root_new ['parrot';'Hash']
   vivify_484:
-    set $P1560, $P1559["args"]
-    unless_null $P1560, vivify_485
-    new $P1560, "Undef"
-  vivify_485:
-    unless $P1560, if_1558_end
-.annotate "line", 579
-    find_lex $P1561, "$/"
-    unless_null $P1561, vivify_486
-    $P1561 = root_new ['parrot';'Hash']
-  vivify_486:
-    set $P1562, $P1561["args"]
-    unless_null $P1562, vivify_487
-    $P1562 = root_new ['parrot';'ResizablePMCArray']
-  vivify_487:
-    set $P1563, $P1562[0]
-    unless_null $P1563, vivify_488
-    new $P1563, "Undef"
-  vivify_488:
-    $P1564 = $P1563."ast"()
-    store_lex "$past", $P1564
-.annotate "line", 580
-    find_lex $P1565, "$past"
-    find_lex $P1566, "$var"
-    $P1565."unshift"($P1566)
-  if_1558_end:
-.annotate "line", 582
-    find_lex $P1567, "$/"
-    find_lex $P1568, "$past"
-    $P1569 = $P1567."!make"($P1568)
-.annotate "line", 571
-    .return ($P1569)
+    set $S1540, $P1539
+    $P1537."name"($S1540)
+.annotate 'line', 567
+    find_lex $P1541, "$/"
+    find_lex $P1542, "$past"
+    $P1543 = $P1541."!make"($P1542)
+.annotate 'line', 564
+    .return ($P1543)
   control_1530:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1570, exception, "payload"
-    .return ($P1570)
+    getattribute $P1544, exception, "payload"
+    .return ($P1544)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("87_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1574
-.annotate "line", 585
-    new $P1573, 'ExceptionHandler'
-    set_addr $P1573, control_1572
-    $P1573."handle_types"(57)
-    push_eh $P1573
-    .lex "self", self
-    .lex "$/", param_1574
-.annotate "line", 586
-    new $P1575, "Undef"
-    .lex "$past", $P1575
-.annotate "line", 587
-    new $P1576, "Undef"
-    .lex "$pirop", $P1576
-.annotate "line", 586
-    find_lex $P1579, "$/"
-    unless_null $P1579, vivify_489
-    $P1579 = root_new ['parrot';'Hash']
+.sub "term:sym<name>"  :subid("87_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1548
+.annotate 'line', 570
+    new $P1547, 'ExceptionHandler'
+    set_addr $P1547, control_1546
+    $P1547."handle_types"(57)
+    push_eh $P1547
+    .lex "self", self
+    .lex "$/", param_1548
+.annotate 'line', 571
+    $P1549 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@ns", $P1549
+.annotate 'line', 572
+    new $P1550, "Undef"
+    .lex "$name", $P1550
+.annotate 'line', 574
+    new $P1551, "Undef"
+    .lex "$var", $P1551
+.annotate 'line', 576
+    new $P1552, "Undef"
+    .lex "$past", $P1552
+.annotate 'line', 571
+    find_lex $P1553, "$/"
+    unless_null $P1553, vivify_485
+    $P1553 = root_new ['parrot';'Hash']
+  vivify_485:
+    set $P1554, $P1553["name"]
+    unless_null $P1554, vivify_486
+    $P1554 = root_new ['parrot';'Hash']
+  vivify_486:
+    set $P1555, $P1554["identifier"]
+    unless_null $P1555, vivify_487
+    new $P1555, "Undef"
+  vivify_487:
+    clone $P1556, $P1555
+    store_lex "@ns", $P1556
+.annotate 'line', 572
+    find_lex $P1557, "@ns"
+    $P1558 = $P1557."pop"()
+    store_lex "$name", $P1558
+.annotate 'line', 573
+    find_lex $P1562, "@ns"
+    if $P1562, if_1561
+    set $P1560, $P1562
+    goto if_1561_end
+  if_1561:
+    find_lex $P1563, "@ns"
+    unless_null $P1563, vivify_488
+    $P1563 = root_new ['parrot';'ResizablePMCArray']
+  vivify_488:
+    set $P1564, $P1563[0]
+    unless_null $P1564, vivify_489
+    new $P1564, "Undef"
   vivify_489:
-    set $P1580, $P1579["args"]
-    unless_null $P1580, vivify_490
-    new $P1580, "Undef"
+    set $S1565, $P1564
+    iseq $I1566, $S1565, "GLOBAL"
+    new $P1560, 'Integer'
+    set $P1560, $I1566
+  if_1561_end:
+    unless $P1560, if_1559_end
+    find_lex $P1567, "@ns"
+    $P1567."shift"()
+  if_1559_end:
+.annotate 'line', 575
+    get_hll_global $P1568, ["PAST"], "Var"
+    find_lex $P1569, "$name"
+    set $S1570, $P1569
+    find_lex $P1571, "@ns"
+    $P1572 = $P1568."new"($S1570 :named("name"), $P1571 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1572
+.annotate 'line', 576
+    find_lex $P1573, "$var"
+    store_lex "$past", $P1573
+.annotate 'line', 577
+    find_lex $P1575, "$/"
+    unless_null $P1575, vivify_490
+    $P1575 = root_new ['parrot';'Hash']
   vivify_490:
-    if $P1580, if_1578
-    get_hll_global $P1585, ["PAST"], "Op"
-    find_lex $P1586, "$/"
-    $P1587 = $P1585."new"($P1586 :named("node"))
-    set $P1577, $P1587
-    goto if_1578_end
-  if_1578:
-    find_lex $P1581, "$/"
-    unless_null $P1581, vivify_491
-    $P1581 = root_new ['parrot';'Hash']
+    set $P1576, $P1575["args"]
+    unless_null $P1576, vivify_491
+    new $P1576, "Undef"
   vivify_491:
-    set $P1582, $P1581["args"]
-    unless_null $P1582, vivify_492
-    $P1582 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1576, if_1574_end
+.annotate 'line', 578
+    find_lex $P1577, "$/"
+    unless_null $P1577, vivify_492
+    $P1577 = root_new ['parrot';'Hash']
   vivify_492:
-    set $P1583, $P1582[0]
-    unless_null $P1583, vivify_493
-    new $P1583, "Undef"
+    set $P1578, $P1577["args"]
+    unless_null $P1578, vivify_493
+    $P1578 = root_new ['parrot';'ResizablePMCArray']
   vivify_493:
-    $P1584 = $P1583."ast"()
-    set $P1577, $P1584
-  if_1578_end:
-    store_lex "$past", $P1577
-.annotate "line", 587
-    find_lex $P1588, "$/"
-    unless_null $P1588, vivify_494
-    $P1588 = root_new ['parrot';'Hash']
+    set $P1579, $P1578[0]
+    unless_null $P1579, vivify_494
+    new $P1579, "Undef"
   vivify_494:
-    set $P1589, $P1588["op"]
-    unless_null $P1589, vivify_495
-    new $P1589, "Undef"
+    $P1580 = $P1579."ast"()
+    store_lex "$past", $P1580
+.annotate 'line', 579
+    find_lex $P1581, "$past"
+    find_lex $P1582, "$var"
+    $P1581."unshift"($P1582)
+  if_1574_end:
+.annotate 'line', 581
+    find_lex $P1583, "$/"
+    find_lex $P1584, "$past"
+    $P1585 = $P1583."!make"($P1584)
+.annotate 'line', 570
+    .return ($P1585)
+  control_1546:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1586, exception, "payload"
+    .return ($P1586)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<pir::op>"  :subid("88_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1590
+.annotate 'line', 584
+    new $P1589, 'ExceptionHandler'
+    set_addr $P1589, control_1588
+    $P1589."handle_types"(57)
+    push_eh $P1589
+    .lex "self", self
+    .lex "$/", param_1590
+.annotate 'line', 585
+    new $P1591, "Undef"
+    .lex "$past", $P1591
+.annotate 'line', 586
+    new $P1592, "Undef"
+    .lex "$pirop", $P1592
+.annotate 'line', 585
+    find_lex $P1595, "$/"
+    unless_null $P1595, vivify_495
+    $P1595 = root_new ['parrot';'Hash']
   vivify_495:
-    set $S1590, $P1589
-    new $P1591, 'String'
-    set $P1591, $S1590
-    store_lex "$pirop", $P1591
-.annotate "line", 588
+    set $P1596, $P1595["args"]
+    unless_null $P1596, vivify_496
+    new $P1596, "Undef"
+  vivify_496:
+    if $P1596, if_1594
+    get_hll_global $P1601, ["PAST"], "Op"
+    find_lex $P1602, "$/"
+    $P1603 = $P1601."new"($P1602 :named("node"))
+    set $P1593, $P1603
+    goto if_1594_end
+  if_1594:
+    find_lex $P1597, "$/"
+    unless_null $P1597, vivify_497
+    $P1597 = root_new ['parrot';'Hash']
+  vivify_497:
+    set $P1598, $P1597["args"]
+    unless_null $P1598, vivify_498
+    $P1598 = root_new ['parrot';'ResizablePMCArray']
+  vivify_498:
+    set $P1599, $P1598[0]
+    unless_null $P1599, vivify_499
+    new $P1599, "Undef"
+  vivify_499:
+    $P1600 = $P1599."ast"()
+    set $P1593, $P1600
+  if_1594_end:
+    store_lex "$past", $P1593
+.annotate 'line', 586
+    find_lex $P1604, "$/"
+    unless_null $P1604, vivify_500
+    $P1604 = root_new ['parrot';'Hash']
+  vivify_500:
+    set $P1605, $P1604["op"]
+    unless_null $P1605, vivify_501
+    new $P1605, "Undef"
+  vivify_501:
+    set $S1606, $P1605
+    new $P1607, 'String'
+    set $P1607, $S1606
+    store_lex "$pirop", $P1607
+.annotate 'line', 587
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1592 = box $S0
+        $P1608 = box $S0
     
-    store_lex "$pirop", $P1592
-.annotate "line", 595
-    find_lex $P1593, "$past"
-    find_lex $P1594, "$pirop"
-    $P1593."pirop"($P1594)
-.annotate "line", 596
-    find_lex $P1595, "$past"
-    $P1595."pasttype"("pirop")
-.annotate "line", 597
-    find_lex $P1596, "$/"
-    find_lex $P1597, "$past"
-    $P1598 = $P1596."!make"($P1597)
-.annotate "line", 585
-    .return ($P1598)
-  control_1572:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1599, exception, "payload"
-    .return ($P1599)
+    store_lex "$pirop", $P1608
+.annotate 'line', 594
+    find_lex $P1609, "$past"
+    find_lex $P1610, "$pirop"
+    $P1609."pirop"($P1610)
+.annotate 'line', 595
+    find_lex $P1611, "$past"
+    $P1611."pasttype"("pirop")
+.annotate 'line', 596
+    find_lex $P1612, "$/"
+    find_lex $P1613, "$past"
+    $P1614 = $P1612."!make"($P1613)
+.annotate 'line', 584
+    .return ($P1614)
+  control_1588:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1615, exception, "payload"
+    .return ($P1615)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("88_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1603
-.annotate "line", 600
-    new $P1602, 'ExceptionHandler'
-    set_addr $P1602, control_1601
-    $P1602."handle_types"(57)
-    push_eh $P1602
+.sub "args"  :subid("89_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1619
+.annotate 'line', 599
+    new $P1618, 'ExceptionHandler'
+    set_addr $P1618, control_1617
+    $P1618."handle_types"(57)
+    push_eh $P1618
     .lex "self", self
-    .lex "$/", param_1603
-    find_lex $P1604, "$/"
-    find_lex $P1605, "$/"
-    unless_null $P1605, vivify_496
-    $P1605 = root_new ['parrot';'Hash']
-  vivify_496:
-    set $P1606, $P1605["arglist"]
-    unless_null $P1606, vivify_497
-    new $P1606, "Undef"
-  vivify_497:
-    $P1607 = $P1606."ast"()
-    $P1608 = $P1604."!make"($P1607)
-    .return ($P1608)
-  control_1601:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1609, exception, "payload"
-    .return ($P1609)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("89_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1613
-.annotate "line", 602
-    .const 'Sub' $P1624 = "90_1272816841.80681" 
-    capture_lex $P1624
-    new $P1612, 'ExceptionHandler'
-    set_addr $P1612, control_1611
-    $P1612."handle_types"(57)
-    push_eh $P1612
-    .lex "self", self
-    .lex "$/", param_1613
-.annotate "line", 603
-    new $P1614, "Undef"
-    .lex "$past", $P1614
-.annotate "line", 611
-    new $P1615, "Undef"
-    .lex "$i", $P1615
-.annotate "line", 612
-    new $P1616, "Undef"
-    .lex "$n", $P1616
-.annotate "line", 603
-    get_hll_global $P1617, ["PAST"], "Op"
-    find_lex $P1618, "$/"
-    $P1619 = $P1617."new"("call" :named("pasttype"), $P1618 :named("node"))
-    store_lex "$past", $P1619
-.annotate "line", 604
+    .lex "$/", param_1619
+    find_lex $P1620, "$/"
     find_lex $P1621, "$/"
-    unless_null $P1621, vivify_498
+    unless_null $P1621, vivify_502
     $P1621 = root_new ['parrot';'Hash']
-  vivify_498:
-    set $P1622, $P1621["EXPR"]
-    unless_null $P1622, vivify_499
+  vivify_502:
+    set $P1622, $P1621["arglist"]
+    unless_null $P1622, vivify_503
     new $P1622, "Undef"
-  vivify_499:
-    unless $P1622, if_1620_end
-    .const 'Sub' $P1624 = "90_1272816841.80681" 
-    capture_lex $P1624
-    $P1624()
-  if_1620_end:
-.annotate "line", 611
-    new $P1656, "Integer"
-    assign $P1656, 0
-    store_lex "$i", $P1656
-.annotate "line", 612
-    find_lex $P1657, "$past"
-    $P1658 = $P1657."list"()
-    set $N1659, $P1658
-    new $P1660, 'Float'
-    set $P1660, $N1659
-    store_lex "$n", $P1660
-.annotate "line", 613
-    new $P1688, 'ExceptionHandler'
-    set_addr $P1688, loop1687_handler
-    $P1688."handle_types"(64, 66, 65)
-    push_eh $P1688
-  loop1687_test:
-    find_lex $P1661, "$i"
-    set $N1662, $P1661
-    find_lex $P1663, "$n"
-    set $N1664, $P1663
-    islt $I1665, $N1662, $N1664
-    unless $I1665, loop1687_done
-  loop1687_redo:
-.annotate "line", 614
-    find_lex $P1667, "$i"
-    set $I1668, $P1667
-    find_lex $P1669, "$past"
-    unless_null $P1669, vivify_503
-    $P1669 = root_new ['parrot';'ResizablePMCArray']
   vivify_503:
-    set $P1670, $P1669[$I1668]
-    unless_null $P1670, vivify_504
-    new $P1670, "Undef"
+    $P1623 = $P1622."ast"()
+    $P1624 = $P1620."!make"($P1623)
+    .return ($P1624)
+  control_1617:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1625, exception, "payload"
+    .return ($P1625)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "arglist"  :subid("90_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1629
+.annotate 'line', 601
+    .const 'Sub' $P1640 = "91_1273866388.36922" 
+    capture_lex $P1640
+    new $P1628, 'ExceptionHandler'
+    set_addr $P1628, control_1627
+    $P1628."handle_types"(57)
+    push_eh $P1628
+    .lex "self", self
+    .lex "$/", param_1629
+.annotate 'line', 602
+    new $P1630, "Undef"
+    .lex "$past", $P1630
+.annotate 'line', 610
+    new $P1631, "Undef"
+    .lex "$i", $P1631
+.annotate 'line', 611
+    new $P1632, "Undef"
+    .lex "$n", $P1632
+.annotate 'line', 602
+    get_hll_global $P1633, ["PAST"], "Op"
+    find_lex $P1634, "$/"
+    $P1635 = $P1633."new"("call" :named("pasttype"), $P1634 :named("node"))
+    store_lex "$past", $P1635
+.annotate 'line', 603
+    find_lex $P1637, "$/"
+    unless_null $P1637, vivify_504
+    $P1637 = root_new ['parrot';'Hash']
   vivify_504:
-    $S1671 = $P1670."name"()
-    iseq $I1672, $S1671, "&prefix:<|>"
-    unless $I1672, if_1666_end
-.annotate "line", 615
-    find_lex $P1673, "$i"
-    set $I1674, $P1673
-    find_lex $P1675, "$past"
-    unless_null $P1675, vivify_505
-    $P1675 = root_new ['parrot';'ResizablePMCArray']
+    set $P1638, $P1637["EXPR"]
+    unless_null $P1638, vivify_505
+    new $P1638, "Undef"
   vivify_505:
-    set $P1676, $P1675[$I1674]
-    unless_null $P1676, vivify_506
-    $P1676 = root_new ['parrot';'ResizablePMCArray']
-  vivify_506:
-    set $P1677, $P1676[0]
-    unless_null $P1677, vivify_507
-    new $P1677, "Undef"
-  vivify_507:
-    find_lex $P1678, "$i"
-    set $I1679, $P1678
-    find_lex $P1680, "$past"
-    unless_null $P1680, vivify_508
-    $P1680 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$past", $P1680
-  vivify_508:
-    set $P1680[$I1679], $P1677
-.annotate "line", 616
-    find_lex $P1681, "$i"
-    set $I1682, $P1681
-    find_lex $P1683, "$past"
-    unless_null $P1683, vivify_509
-    $P1683 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1638, if_1636_end
+    .const 'Sub' $P1640 = "91_1273866388.36922" 
+    capture_lex $P1640
+    $P1640()
+  if_1636_end:
+.annotate 'line', 610
+    new $P1672, "Integer"
+    assign $P1672, 0
+    store_lex "$i", $P1672
+.annotate 'line', 611
+    find_lex $P1673, "$past"
+    $P1674 = $P1673."list"()
+    set $N1675, $P1674
+    new $P1676, 'Float'
+    set $P1676, $N1675
+    store_lex "$n", $P1676
+.annotate 'line', 612
+    new $P1724, 'ExceptionHandler'
+    set_addr $P1724, loop1723_handler
+    $P1724."handle_types"(64, 66, 65)
+    push_eh $P1724
+  loop1723_test:
+    find_lex $P1677, "$i"
+    set $N1678, $P1677
+    find_lex $P1679, "$n"
+    set $N1680, $P1679
+    islt $I1681, $N1678, $N1680
+    unless $I1681, loop1723_done
+  loop1723_redo:
+.annotate 'line', 613
+    find_lex $P1683, "$i"
+    set $I1684, $P1683
+    find_lex $P1685, "$past"
+    unless_null $P1685, vivify_509
+    $P1685 = root_new ['parrot';'ResizablePMCArray']
   vivify_509:
-    set $P1684, $P1683[$I1682]
-    unless_null $P1684, vivify_510
-    new $P1684, "Undef"
+    set $P1686, $P1685[$I1684]
+    unless_null $P1686, vivify_510
+    new $P1686, "Undef"
   vivify_510:
-    $P1684."flat"(1)
-  if_1666_end:
-.annotate "line", 614
-    find_lex $P1685, "$i"
-    clone $P1686, $P1685
-    inc $P1685
-  loop1687_next:
-.annotate "line", 613
-    goto loop1687_test
-  loop1687_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1689, exception, 'type'
-    eq $P1689, 64, loop1687_next
-    eq $P1689, 66, loop1687_redo
-  loop1687_done:
-    pop_eh 
-.annotate "line", 620
-    find_lex $P1690, "$/"
+    $S1687 = $P1686."name"()
+    iseq $I1688, $S1687, "&prefix:<|>"
+    unless $I1688, if_1682_end
+.annotate 'line', 614
+    find_lex $P1689, "$i"
+    set $I1690, $P1689
     find_lex $P1691, "$past"
-    $P1692 = $P1690."!make"($P1691)
-.annotate "line", 602
-    .return ($P1692)
-  control_1611:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1693, exception, "payload"
-    .return ($P1693)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1623"  :anon :subid("90_1272816841.80681") :outer("89_1272816841.80681")
-.annotate "line", 604
-    .const 'Sub' $P1645 = "91_1272816841.80681" 
-    capture_lex $P1645
-.annotate "line", 605
-    new $P1625, "Undef"
-    .lex "$expr", $P1625
-    find_lex $P1626, "$/"
-    unless_null $P1626, vivify_500
-    $P1626 = root_new ['parrot';'Hash']
-  vivify_500:
-    set $P1627, $P1626["EXPR"]
-    unless_null $P1627, vivify_501
-    new $P1627, "Undef"
-  vivify_501:
-    $P1628 = $P1627."ast"()
-    store_lex "$expr", $P1628
-.annotate "line", 606
-    find_lex $P1633, "$expr"
-    $S1634 = $P1633."name"()
-    iseq $I1635, $S1634, "&infix:<,>"
-    if $I1635, if_1632
-    new $P1631, 'Integer'
-    set $P1631, $I1635
-    goto if_1632_end
-  if_1632:
-    find_lex $P1636, "$expr"
-    $P1637 = $P1636."named"()
-    isfalse $I1638, $P1637
-    new $P1631, 'Integer'
-    set $P1631, $I1638
-  if_1632_end:
-    if $P1631, if_1630
-.annotate "line", 609
-    find_lex $P1653, "$past"
-    find_lex $P1654, "$expr"
-    $P1655 = $P1653."push"($P1654)
-    set $P1629, $P1655
-.annotate "line", 606
-    goto if_1630_end
-  if_1630:
-.annotate "line", 607
-    find_lex $P1640, "$expr"
-    $P1641 = $P1640."list"()
-    defined $I1642, $P1641
-    unless $I1642, for_undef_502
-    iter $P1639, $P1641
-    new $P1651, 'ExceptionHandler'
-    set_addr $P1651, loop1650_handler
-    $P1651."handle_types"(64, 66, 65)
-    push_eh $P1651
-  loop1650_test:
-    unless $P1639, loop1650_done
-    shift $P1643, $P1639
-  loop1650_redo:
-    .const 'Sub' $P1645 = "91_1272816841.80681" 
-    capture_lex $P1645
-    $P1645($P1643)
-  loop1650_next:
-    goto loop1650_test
-  loop1650_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1652, exception, 'type'
-    eq $P1652, 64, loop1650_next
-    eq $P1652, 66, loop1650_redo
-  loop1650_done:
-    pop_eh 
-  for_undef_502:
-.annotate "line", 606
-    set $P1629, $P1639
-  if_1630_end:
-.annotate "line", 604
-    .return ($P1629)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1644"  :anon :subid("91_1272816841.80681") :outer("90_1272816841.80681")
-    .param pmc param_1646
-.annotate "line", 607
-    .lex "$_", param_1646
-    find_lex $P1647, "$past"
-    find_lex $P1648, "$_"
-    $P1649 = $P1647."push"($P1648)
-    .return ($P1649)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("92_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1697
-.annotate "line", 624
-    new $P1696, 'ExceptionHandler'
-    set_addr $P1696, control_1695
-    $P1696."handle_types"(57)
-    push_eh $P1696
-    .lex "self", self
-    .lex "$/", param_1697
-    find_lex $P1698, "$/"
-    find_lex $P1699, "$/"
-    unless_null $P1699, vivify_511
-    $P1699 = root_new ['parrot';'Hash']
+    unless_null $P1691, vivify_511
+    $P1691 = root_new ['parrot';'ResizablePMCArray']
   vivify_511:
-    set $P1700, $P1699["value"]
-    unless_null $P1700, vivify_512
-    new $P1700, "Undef"
+    set $P1692, $P1691[$I1690]
+    unless_null $P1692, vivify_512
+    $P1692 = root_new ['parrot';'ResizablePMCArray']
   vivify_512:
-    $P1701 = $P1700."ast"()
-    $P1702 = $P1698."!make"($P1701)
-    .return ($P1702)
-  control_1695:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1703, exception, "payload"
-    .return ($P1703)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("93_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1707
-.annotate "line", 626
-    new $P1706, 'ExceptionHandler'
-    set_addr $P1706, control_1705
-    $P1706."handle_types"(57)
-    push_eh $P1706
-    .lex "self", self
-    .lex "$/", param_1707
-.annotate "line", 627
-    find_lex $P1708, "$/"
-.annotate "line", 628
-    find_lex $P1711, "$/"
-    unless_null $P1711, vivify_513
-    $P1711 = root_new ['parrot';'Hash']
+    set $P1693, $P1692[0]
+    unless_null $P1693, vivify_513
+    new $P1693, "Undef"
   vivify_513:
-    set $P1712, $P1711["EXPR"]
-    unless_null $P1712, vivify_514
-    new $P1712, "Undef"
+    find_lex $P1694, "$i"
+    set $I1695, $P1694
+    find_lex $P1696, "$past"
+    unless_null $P1696, vivify_514
+    $P1696 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$past", $P1696
   vivify_514:
-    if $P1712, if_1710
-.annotate "line", 629
-    get_hll_global $P1717, ["PAST"], "Op"
-    find_lex $P1718, "$/"
-    $P1719 = $P1717."new"("list" :named("pasttype"), $P1718 :named("node"))
-    set $P1709, $P1719
-.annotate "line", 628
-    goto if_1710_end
-  if_1710:
-    find_lex $P1713, "$/"
-    unless_null $P1713, vivify_515
-    $P1713 = root_new ['parrot';'Hash']
+    set $P1696[$I1695], $P1693
+.annotate 'line', 615
+    find_lex $P1697, "$i"
+    set $I1698, $P1697
+    find_lex $P1699, "$past"
+    unless_null $P1699, vivify_515
+    $P1699 = root_new ['parrot';'ResizablePMCArray']
   vivify_515:
-    set $P1714, $P1713["EXPR"]
-    unless_null $P1714, vivify_516
-    $P1714 = root_new ['parrot';'ResizablePMCArray']
+    set $P1700, $P1699[$I1698]
+    unless_null $P1700, vivify_516
+    new $P1700, "Undef"
   vivify_516:
-    set $P1715, $P1714[0]
-    unless_null $P1715, vivify_517
-    new $P1715, "Undef"
+    $P1700."flat"(1)
+.annotate 'line', 616
+    find_lex $P1704, "$i"
+    set $I1705, $P1704
+    find_lex $P1706, "$past"
+    unless_null $P1706, vivify_517
+    $P1706 = root_new ['parrot';'ResizablePMCArray']
   vivify_517:
-    $P1716 = $P1715."ast"()
-    set $P1709, $P1716
-  if_1710_end:
-    $P1720 = $P1708."!make"($P1709)
-.annotate "line", 626
-    .return ($P1720)
-  control_1705:
+    set $P1707, $P1706[$I1705]
+    unless_null $P1707, vivify_518
+    new $P1707, "Undef"
+  vivify_518:
+    get_hll_global $P1708, ["PAST"], "Val"
+    $P1709 = $P1707."isa"($P1708)
+    if $P1709, if_1703
+    set $P1702, $P1709
+    goto if_1703_end
+  if_1703:
+.annotate 'line', 617
+    find_lex $P1710, "$i"
+    set $I1711, $P1710
+    find_lex $P1712, "$past"
+    unless_null $P1712, vivify_519
+    $P1712 = root_new ['parrot';'ResizablePMCArray']
+  vivify_519:
+    set $P1713, $P1712[$I1711]
+    unless_null $P1713, vivify_520
+    new $P1713, "Undef"
+  vivify_520:
+    $S1714 = $P1713."name"()
+    substr $S1715, $S1714, 0, 1
+    iseq $I1716, $S1715, "%"
+    new $P1702, 'Integer'
+    set $P1702, $I1716
+  if_1703_end:
+    unless $P1702, if_1701_end
+.annotate 'line', 618
+    find_lex $P1717, "$i"
+    set $I1718, $P1717
+    find_lex $P1719, "$past"
+    unless_null $P1719, vivify_521
+    $P1719 = root_new ['parrot';'ResizablePMCArray']
+  vivify_521:
+    set $P1720, $P1719[$I1718]
+    unless_null $P1720, vivify_522
+    new $P1720, "Undef"
+  vivify_522:
+    $P1720."named"(1)
+  if_1701_end:
+  if_1682_end:
+.annotate 'line', 613
+    find_lex $P1721, "$i"
+    clone $P1722, $P1721
+    inc $P1721
+  loop1723_next:
+.annotate 'line', 612
+    goto loop1723_test
+  loop1723_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1725, exception, 'type'
+    eq $P1725, 64, loop1723_next
+    eq $P1725, 66, loop1723_redo
+  loop1723_done:
+    pop_eh 
+.annotate 'line', 623
+    find_lex $P1726, "$/"
+    find_lex $P1727, "$past"
+    $P1728 = $P1726."!make"($P1727)
+.annotate 'line', 601
+    .return ($P1728)
+  control_1627:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1721, exception, "payload"
-    .return ($P1721)
+    getattribute $P1729, exception, "payload"
+    .return ($P1729)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("94_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1725
-.annotate "line", 632
-    new $P1724, 'ExceptionHandler'
-    set_addr $P1724, control_1723
-    $P1724."handle_types"(57)
-    push_eh $P1724
-    .lex "self", self
-    .lex "$/", param_1725
-.annotate "line", 633
-    new $P1726, "Undef"
-    .lex "$past", $P1726
-.annotate "line", 632
-    find_lex $P1727, "$past"
-.annotate "line", 634
-    find_lex $P1729, "$/"
-    unless_null $P1729, vivify_518
-    $P1729 = root_new ['parrot';'Hash']
-  vivify_518:
-    set $P1730, $P1729["EXPR"]
-    unless_null $P1730, vivify_519
-    new $P1730, "Undef"
-  vivify_519:
-    if $P1730, if_1728
-.annotate "line", 641
-    get_hll_global $P1742, ["PAST"], "Op"
-    $P1743 = $P1742."new"("list" :named("pasttype"))
-    store_lex "$past", $P1743
-.annotate "line", 640
-    goto if_1728_end
-  if_1728:
-.annotate "line", 635
-    find_lex $P1731, "$/"
-    unless_null $P1731, vivify_520
-    $P1731 = root_new ['parrot';'Hash']
-  vivify_520:
-    set $P1732, $P1731["EXPR"]
-    unless_null $P1732, vivify_521
-    $P1732 = root_new ['parrot';'ResizablePMCArray']
-  vivify_521:
-    set $P1733, $P1732[0]
-    unless_null $P1733, vivify_522
-    new $P1733, "Undef"
-  vivify_522:
-    $P1734 = $P1733."ast"()
-    store_lex "$past", $P1734
-.annotate "line", 636
-    find_lex $P1736, "$past"
-    $S1737 = $P1736."name"()
-    isne $I1738, $S1737, "&infix:<,>"
-    unless $I1738, if_1735_end
-.annotate "line", 637
-    get_hll_global $P1739, ["PAST"], "Op"
-    find_lex $P1740, "$past"
-    $P1741 = $P1739."new"($P1740, "list" :named("pasttype"))
-    store_lex "$past", $P1741
-  if_1735_end:
-  if_1728_end:
-.annotate "line", 643
-    find_lex $P1744, "$past"
-    $P1744."name"("&circumfix:<[ ]>")
-.annotate "line", 644
-    find_lex $P1745, "$/"
-    find_lex $P1746, "$past"
-    $P1747 = $P1745."!make"($P1746)
-.annotate "line", 632
-    .return ($P1747)
-  control_1723:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1748, exception, "payload"
-    .return ($P1748)
+.sub "_block1639"  :anon :subid("91_1273866388.36922") :outer("90_1273866388.36922")
+.annotate 'line', 603
+    .const 'Sub' $P1661 = "92_1273866388.36922" 
+    capture_lex $P1661
+.annotate 'line', 604
+    new $P1641, "Undef"
+    .lex "$expr", $P1641
+    find_lex $P1642, "$/"
+    unless_null $P1642, vivify_506
+    $P1642 = root_new ['parrot';'Hash']
+  vivify_506:
+    set $P1643, $P1642["EXPR"]
+    unless_null $P1643, vivify_507
+    new $P1643, "Undef"
+  vivify_507:
+    $P1644 = $P1643."ast"()
+    store_lex "$expr", $P1644
+.annotate 'line', 605
+    find_lex $P1649, "$expr"
+    $S1650 = $P1649."name"()
+    iseq $I1651, $S1650, "&infix:<,>"
+    if $I1651, if_1648
+    new $P1647, 'Integer'
+    set $P1647, $I1651
+    goto if_1648_end
+  if_1648:
+    find_lex $P1652, "$expr"
+    $P1653 = $P1652."named"()
+    isfalse $I1654, $P1653
+    new $P1647, 'Integer'
+    set $P1647, $I1654
+  if_1648_end:
+    if $P1647, if_1646
+.annotate 'line', 608
+    find_lex $P1669, "$past"
+    find_lex $P1670, "$expr"
+    $P1671 = $P1669."push"($P1670)
+    set $P1645, $P1671
+.annotate 'line', 605
+    goto if_1646_end
+  if_1646:
+.annotate 'line', 606
+    find_lex $P1656, "$expr"
+    $P1657 = $P1656."list"()
+    defined $I1658, $P1657
+    unless $I1658, for_undef_508
+    iter $P1655, $P1657
+    new $P1667, 'ExceptionHandler'
+    set_addr $P1667, loop1666_handler
+    $P1667."handle_types"(64, 66, 65)
+    push_eh $P1667
+  loop1666_test:
+    unless $P1655, loop1666_done
+    shift $P1659, $P1655
+  loop1666_redo:
+    .const 'Sub' $P1661 = "92_1273866388.36922" 
+    capture_lex $P1661
+    $P1661($P1659)
+  loop1666_next:
+    goto loop1666_test
+  loop1666_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1668, exception, 'type'
+    eq $P1668, 64, loop1666_next
+    eq $P1668, 66, loop1666_redo
+  loop1666_done:
+    pop_eh 
+  for_undef_508:
+.annotate 'line', 605
+    set $P1645, $P1655
+  if_1646_end:
+.annotate 'line', 603
+    .return ($P1645)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1660"  :anon :subid("92_1273866388.36922") :outer("91_1273866388.36922")
+    .param pmc param_1662
+.annotate 'line', 606
+    .lex "$_", param_1662
+    find_lex $P1663, "$past"
+    find_lex $P1664, "$_"
+    $P1665 = $P1663."push"($P1664)
+    .return ($P1665)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("95_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1752
-.annotate "line", 647
-    new $P1751, 'ExceptionHandler'
-    set_addr $P1751, control_1750
-    $P1751."handle_types"(57)
-    push_eh $P1751
+.sub "term:sym<value>"  :subid("93_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1733
+.annotate 'line', 627
+    new $P1732, 'ExceptionHandler'
+    set_addr $P1732, control_1731
+    $P1732."handle_types"(57)
+    push_eh $P1732
     .lex "self", self
-    .lex "$/", param_1752
-    find_lex $P1753, "$/"
-    find_lex $P1754, "$/"
-    unless_null $P1754, vivify_523
-    $P1754 = root_new ['parrot';'Hash']
+    .lex "$/", param_1733
+    find_lex $P1734, "$/"
+    find_lex $P1735, "$/"
+    unless_null $P1735, vivify_523
+    $P1735 = root_new ['parrot';'Hash']
   vivify_523:
-    set $P1755, $P1754["quote_EXPR"]
-    unless_null $P1755, vivify_524
-    new $P1755, "Undef"
+    set $P1736, $P1735["value"]
+    unless_null $P1736, vivify_524
+    new $P1736, "Undef"
   vivify_524:
-    $P1756 = $P1755."ast"()
-    $P1757 = $P1753."!make"($P1756)
-    .return ($P1757)
-  control_1750:
+    $P1737 = $P1736."ast"()
+    $P1738 = $P1734."!make"($P1737)
+    .return ($P1738)
+  control_1731:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1758, exception, "payload"
-    .return ($P1758)
+    getattribute $P1739, exception, "payload"
+    .return ($P1739)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("96_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1762
-.annotate "line", 648
-    new $P1761, 'ExceptionHandler'
-    set_addr $P1761, control_1760
-    $P1761."handle_types"(57)
-    push_eh $P1761
+.sub "circumfix:sym<( )>"  :subid("94_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1743
+.annotate 'line', 629
+    new $P1742, 'ExceptionHandler'
+    set_addr $P1742, control_1741
+    $P1742."handle_types"(57)
+    push_eh $P1742
     .lex "self", self
-    .lex "$/", param_1762
-    find_lex $P1763, "$/"
-    find_lex $P1764, "$/"
-    unless_null $P1764, vivify_525
-    $P1764 = root_new ['parrot';'Hash']
+    .lex "$/", param_1743
+.annotate 'line', 630
+    find_lex $P1744, "$/"
+.annotate 'line', 631
+    find_lex $P1747, "$/"
+    unless_null $P1747, vivify_525
+    $P1747 = root_new ['parrot';'Hash']
   vivify_525:
-    set $P1765, $P1764["quote_EXPR"]
-    unless_null $P1765, vivify_526
-    new $P1765, "Undef"
+    set $P1748, $P1747["EXPR"]
+    unless_null $P1748, vivify_526
+    new $P1748, "Undef"
   vivify_526:
-    $P1766 = $P1765."ast"()
-    $P1767 = $P1763."!make"($P1766)
-    .return ($P1767)
-  control_1760:
+    if $P1748, if_1746
+.annotate 'line', 632
+    get_hll_global $P1753, ["PAST"], "Op"
+    find_lex $P1754, "$/"
+    $P1755 = $P1753."new"("list" :named("pasttype"), $P1754 :named("node"))
+    set $P1745, $P1755
+.annotate 'line', 631
+    goto if_1746_end
+  if_1746:
+    find_lex $P1749, "$/"
+    unless_null $P1749, vivify_527
+    $P1749 = root_new ['parrot';'Hash']
+  vivify_527:
+    set $P1750, $P1749["EXPR"]
+    unless_null $P1750, vivify_528
+    $P1750 = root_new ['parrot';'ResizablePMCArray']
+  vivify_528:
+    set $P1751, $P1750[0]
+    unless_null $P1751, vivify_529
+    new $P1751, "Undef"
+  vivify_529:
+    $P1752 = $P1751."ast"()
+    set $P1745, $P1752
+  if_1746_end:
+    $P1756 = $P1744."!make"($P1745)
+.annotate 'line', 629
+    .return ($P1756)
+  control_1741:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1768, exception, "payload"
-    .return ($P1768)
+    getattribute $P1757, exception, "payload"
+    .return ($P1757)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("97_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1772
-.annotate "line", 650
-    new $P1771, 'ExceptionHandler'
-    set_addr $P1771, control_1770
-    $P1771."handle_types"(57)
-    push_eh $P1771
-    .lex "self", self
-    .lex "$/", param_1772
-.annotate "line", 651
-    find_lex $P1773, "$/"
-    find_lex $P1776, "$/"
-    unless_null $P1776, vivify_527
-    $P1776 = root_new ['parrot';'Hash']
-  vivify_527:
-    set $P1777, $P1776["pblock"]
-    unless_null $P1777, vivify_528
-    $P1777 = root_new ['parrot';'Hash']
-  vivify_528:
-    set $P1778, $P1777["blockoid"]
-    unless_null $P1778, vivify_529
-    $P1778 = root_new ['parrot';'Hash']
-  vivify_529:
-    set $P1779, $P1778["statementlist"]
-    unless_null $P1779, vivify_530
-    $P1779 = root_new ['parrot';'Hash']
+.sub "circumfix:sym<[ ]>"  :subid("95_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1761
+.annotate 'line', 635
+    new $P1760, 'ExceptionHandler'
+    set_addr $P1760, control_1759
+    $P1760."handle_types"(57)
+    push_eh $P1760
+    .lex "self", self
+    .lex "$/", param_1761
+.annotate 'line', 636
+    new $P1762, "Undef"
+    .lex "$past", $P1762
+.annotate 'line', 635
+    find_lex $P1763, "$past"
+.annotate 'line', 637
+    find_lex $P1765, "$/"
+    unless_null $P1765, vivify_530
+    $P1765 = root_new ['parrot';'Hash']
   vivify_530:
-    set $P1780, $P1779["statement"]
-    unless_null $P1780, vivify_531
-    new $P1780, "Undef"
+    set $P1766, $P1765["EXPR"]
+    unless_null $P1766, vivify_531
+    new $P1766, "Undef"
   vivify_531:
-    set $N1781, $P1780
-    isgt $I1782, $N1781, 0.0
-    if $I1782, if_1775
-.annotate "line", 653
-    $P1786 = "vivitype"("%")
-    set $P1774, $P1786
-.annotate "line", 651
-    goto if_1775_end
-  if_1775:
-.annotate "line", 652
-    find_lex $P1783, "$/"
-    unless_null $P1783, vivify_532
-    $P1783 = root_new ['parrot';'Hash']
+    if $P1766, if_1764
+.annotate 'line', 644
+    get_hll_global $P1778, ["PAST"], "Op"
+    $P1779 = $P1778."new"("list" :named("pasttype"))
+    store_lex "$past", $P1779
+.annotate 'line', 643
+    goto if_1764_end
+  if_1764:
+.annotate 'line', 638
+    find_lex $P1767, "$/"
+    unless_null $P1767, vivify_532
+    $P1767 = root_new ['parrot';'Hash']
   vivify_532:
-    set $P1784, $P1783["pblock"]
-    unless_null $P1784, vivify_533
-    new $P1784, "Undef"
+    set $P1768, $P1767["EXPR"]
+    unless_null $P1768, vivify_533
+    $P1768 = root_new ['parrot';'ResizablePMCArray']
   vivify_533:
-    $P1785 = $P1784."ast"()
-    set $P1774, $P1785
-  if_1775_end:
-    $P1787 = $P1773."!make"($P1774)
-.annotate "line", 650
-    .return ($P1787)
-  control_1770:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1788, exception, "payload"
-    .return ($P1788)
+    set $P1769, $P1768[0]
+    unless_null $P1769, vivify_534
+    new $P1769, "Undef"
+  vivify_534:
+    $P1770 = $P1769."ast"()
+    store_lex "$past", $P1770
+.annotate 'line', 639
+    find_lex $P1772, "$past"
+    $S1773 = $P1772."name"()
+    isne $I1774, $S1773, "&infix:<,>"
+    unless $I1774, if_1771_end
+.annotate 'line', 640
+    get_hll_global $P1775, ["PAST"], "Op"
+    find_lex $P1776, "$past"
+    $P1777 = $P1775."new"($P1776, "list" :named("pasttype"))
+    store_lex "$past", $P1777
+  if_1771_end:
+  if_1764_end:
+.annotate 'line', 646
+    find_lex $P1780, "$past"
+    $P1780."name"("&circumfix:<[ ]>")
+.annotate 'line', 647
+    find_lex $P1781, "$/"
+    find_lex $P1782, "$past"
+    $P1783 = $P1781."!make"($P1782)
+.annotate 'line', 635
+    .return ($P1783)
+  control_1759:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1784, exception, "payload"
+    .return ($P1784)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("98_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1792
-.annotate "line", 656
-    new $P1791, 'ExceptionHandler'
-    set_addr $P1791, control_1790
-    $P1791."handle_types"(57)
-    push_eh $P1791
-    .lex "self", self
-    .lex "$/", param_1792
-.annotate "line", 657
-    new $P1793, "Undef"
-    .lex "$name", $P1793
-    find_lex $P1796, "$/"
-    unless_null $P1796, vivify_534
-    $P1796 = root_new ['parrot';'Hash']
-  vivify_534:
-    set $P1797, $P1796["sigil"]
-    unless_null $P1797, vivify_535
-    new $P1797, "Undef"
+.sub "circumfix:sym<ang>"  :subid("96_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1788
+.annotate 'line', 650
+    new $P1787, 'ExceptionHandler'
+    set_addr $P1787, control_1786
+    $P1787."handle_types"(57)
+    push_eh $P1787
+    .lex "self", self
+    .lex "$/", param_1788
+    find_lex $P1789, "$/"
+    find_lex $P1790, "$/"
+    unless_null $P1790, vivify_535
+    $P1790 = root_new ['parrot';'Hash']
   vivify_535:
-    set $S1798, $P1797
-    iseq $I1799, $S1798, "@"
-    if $I1799, if_1795
-.annotate "line", 658
-    find_lex $P1803, "$/"
-    unless_null $P1803, vivify_536
-    $P1803 = root_new ['parrot';'Hash']
+    set $P1791, $P1790["quote_EXPR"]
+    unless_null $P1791, vivify_536
+    new $P1791, "Undef"
   vivify_536:
-    set $P1804, $P1803["sigil"]
-    unless_null $P1804, vivify_537
-    new $P1804, "Undef"
-  vivify_537:
-    set $S1805, $P1804
-    iseq $I1806, $S1805, "%"
-    if $I1806, if_1802
-    new $P1808, "String"
-    assign $P1808, "item"
-    set $P1801, $P1808
-    goto if_1802_end
-  if_1802:
-    new $P1807, "String"
-    assign $P1807, "hash"
-    set $P1801, $P1807
-  if_1802_end:
-    set $P1794, $P1801
-.annotate "line", 657
-    goto if_1795_end
-  if_1795:
-    new $P1800, "String"
-    assign $P1800, "list"
-    set $P1794, $P1800
-  if_1795_end:
-    store_lex "$name", $P1794
-.annotate "line", 660
-    find_lex $P1809, "$/"
-    get_hll_global $P1810, ["PAST"], "Op"
-    find_lex $P1811, "$name"
-    find_lex $P1812, "$/"
-    unless_null $P1812, vivify_538
-    $P1812 = root_new ['parrot';'Hash']
-  vivify_538:
-    set $P1813, $P1812["semilist"]
-    unless_null $P1813, vivify_539
-    new $P1813, "Undef"
-  vivify_539:
-    $P1814 = $P1813."ast"()
-    $P1815 = $P1810."new"($P1814, "callmethod" :named("pasttype"), $P1811 :named("name"))
-    $P1816 = $P1809."!make"($P1815)
-.annotate "line", 656
-    .return ($P1816)
-  control_1790:
+    $P1792 = $P1791."ast"()
+    $P1793 = $P1789."!make"($P1792)
+    .return ($P1793)
+  control_1786:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1817, exception, "payload"
-    .return ($P1817)
+    getattribute $P1794, exception, "payload"
+    .return ($P1794)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("99_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1821
-.annotate "line", 663
-    new $P1820, 'ExceptionHandler'
-    set_addr $P1820, control_1819
-    $P1820."handle_types"(57)
-    push_eh $P1820
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("97_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1798
+.annotate 'line', 651
+    new $P1797, 'ExceptionHandler'
+    set_addr $P1797, control_1796
+    $P1797."handle_types"(57)
+    push_eh $P1797
     .lex "self", self
-    .lex "$/", param_1821
-    find_lex $P1822, "$/"
-    find_lex $P1823, "$/"
-    unless_null $P1823, vivify_540
-    $P1823 = root_new ['parrot';'Hash']
-  vivify_540:
-    set $P1824, $P1823["statement"]
-    unless_null $P1824, vivify_541
-    new $P1824, "Undef"
-  vivify_541:
-    $P1825 = $P1824."ast"()
-    $P1826 = $P1822."!make"($P1825)
-    .return ($P1826)
-  control_1819:
+    .lex "$/", param_1798
+    find_lex $P1799, "$/"
+    find_lex $P1800, "$/"
+    unless_null $P1800, vivify_537
+    $P1800 = root_new ['parrot';'Hash']
+  vivify_537:
+    set $P1801, $P1800["quote_EXPR"]
+    unless_null $P1801, vivify_538
+    new $P1801, "Undef"
+  vivify_538:
+    $P1802 = $P1801."ast"()
+    $P1803 = $P1799."!make"($P1802)
+    .return ($P1803)
+  control_1796:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1827, exception, "payload"
-    .return ($P1827)
+    getattribute $P1804, exception, "payload"
+    .return ($P1804)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("100_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1831
-.annotate "line", 665
-    new $P1830, 'ExceptionHandler'
-    set_addr $P1830, control_1829
-    $P1830."handle_types"(57)
-    push_eh $P1830
-    .lex "self", self
-    .lex "$/", param_1831
-.annotate "line", 666
-    find_lex $P1832, "$/"
-    get_hll_global $P1833, ["PAST"], "Var"
-    find_lex $P1834, "$/"
-    unless_null $P1834, vivify_542
-    $P1834 = root_new ['parrot';'Hash']
+.sub "circumfix:sym<{ }>"  :subid("98_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1808
+.annotate 'line', 653
+    new $P1807, 'ExceptionHandler'
+    set_addr $P1807, control_1806
+    $P1807."handle_types"(57)
+    push_eh $P1807
+    .lex "self", self
+    .lex "$/", param_1808
+.annotate 'line', 654
+    new $P1809, "Undef"
+    .lex "$past", $P1809
+    find_lex $P1812, "$/"
+    unless_null $P1812, vivify_539
+    $P1812 = root_new ['parrot';'Hash']
+  vivify_539:
+    set $P1813, $P1812["pblock"]
+    unless_null $P1813, vivify_540
+    $P1813 = root_new ['parrot';'Hash']
+  vivify_540:
+    set $P1814, $P1813["blockoid"]
+    unless_null $P1814, vivify_541
+    $P1814 = root_new ['parrot';'Hash']
+  vivify_541:
+    set $P1815, $P1814["statementlist"]
+    unless_null $P1815, vivify_542
+    $P1815 = root_new ['parrot';'Hash']
   vivify_542:
-    set $P1835, $P1834["EXPR"]
-    unless_null $P1835, vivify_543
-    new $P1835, "Undef"
+    set $P1816, $P1815["statement"]
+    unless_null $P1816, vivify_543
+    new $P1816, "Undef"
   vivify_543:
-    $P1836 = $P1835."ast"()
-.annotate "line", 668
-    $P1837 = "vivitype"("@")
-    $P1838 = $P1833."new"($P1836, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P1837 :named("vivibase"))
-.annotate "line", 666
-    $P1839 = $P1832."!make"($P1838)
-.annotate "line", 665
-    .return ($P1839)
-  control_1829:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1840, exception, "payload"
-    .return ($P1840)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("101_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1844
-.annotate "line", 671
-    new $P1843, 'ExceptionHandler'
-    set_addr $P1843, control_1842
-    $P1843."handle_types"(57)
-    push_eh $P1843
-    .lex "self", self
-    .lex "$/", param_1844
-.annotate "line", 672
-    find_lex $P1845, "$/"
-    get_hll_global $P1846, ["PAST"], "Var"
-    find_lex $P1847, "$/"
-    unless_null $P1847, vivify_544
-    $P1847 = root_new ['parrot';'Hash']
+    set $N1817, $P1816
+    isgt $I1818, $N1817, 0.0
+    if $I1818, if_1811
+.annotate 'line', 656
+    $P1822 = "vivitype"("%")
+    set $P1810, $P1822
+.annotate 'line', 654
+    goto if_1811_end
+  if_1811:
+.annotate 'line', 655
+    find_lex $P1819, "$/"
+    unless_null $P1819, vivify_544
+    $P1819 = root_new ['parrot';'Hash']
   vivify_544:
-    set $P1848, $P1847["EXPR"]
-    unless_null $P1848, vivify_545
-    new $P1848, "Undef"
+    set $P1820, $P1819["pblock"]
+    unless_null $P1820, vivify_545
+    new $P1820, "Undef"
   vivify_545:
-    $P1849 = $P1848."ast"()
-.annotate "line", 674
-    $P1850 = "vivitype"("%")
-    $P1851 = $P1846."new"($P1849, "keyed" :named("scope"), "Undef" :named("viviself"), $P1850 :named("vivibase"))
-.annotate "line", 672
-    $P1852 = $P1845."!make"($P1851)
-.annotate "line", 671
-    .return ($P1852)
-  control_1842:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1853, exception, "payload"
-    .return ($P1853)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("102_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1857
-.annotate "line", 677
-    new $P1856, 'ExceptionHandler'
-    set_addr $P1856, control_1855
-    $P1856."handle_types"(57)
-    push_eh $P1856
-    .lex "self", self
-    .lex "$/", param_1857
-.annotate "line", 678
-    find_lex $P1858, "$/"
-    get_hll_global $P1859, ["PAST"], "Var"
-    find_lex $P1860, "$/"
-    unless_null $P1860, vivify_546
-    $P1860 = root_new ['parrot';'Hash']
+    $P1821 = $P1820."ast"()
+    set $P1810, $P1821
+  if_1811_end:
+    store_lex "$past", $P1810
+.annotate 'line', 657
+    new $P1823, "Integer"
+    assign $P1823, 1
+    find_lex $P1824, "$past"
+    unless_null $P1824, vivify_546
+    $P1824 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1824
   vivify_546:
-    set $P1861, $P1860["quote_EXPR"]
-    unless_null $P1861, vivify_547
-    new $P1861, "Undef"
-  vivify_547:
-    $P1862 = $P1861."ast"()
-.annotate "line", 680
-    $P1863 = "vivitype"("%")
-    $P1864 = $P1859."new"($P1862, "keyed" :named("scope"), "Undef" :named("viviself"), $P1863 :named("vivibase"))
-.annotate "line", 678
-    $P1865 = $P1858."!make"($P1864)
-.annotate "line", 677
-    .return ($P1865)
-  control_1855:
+    set $P1824["bareblock"], $P1823
+.annotate 'line', 658
+    find_lex $P1825, "$/"
+    find_lex $P1826, "$past"
+    $P1827 = $P1825."!make"($P1826)
+.annotate 'line', 653
+    .return ($P1827)
+  control_1806:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1866, exception, "payload"
-    .return ($P1866)
+    getattribute $P1828, exception, "payload"
+    .return ($P1828)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("103_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1870
-.annotate "line", 683
-    new $P1869, 'ExceptionHandler'
-    set_addr $P1869, control_1868
-    $P1869."handle_types"(57)
-    push_eh $P1869
-    .lex "self", self
-    .lex "$/", param_1870
-.annotate "line", 684
-    find_lex $P1871, "$/"
-    find_lex $P1872, "$/"
-    unless_null $P1872, vivify_548
-    $P1872 = root_new ['parrot';'Hash']
+.sub "circumfix:sym<sigil>"  :subid("99_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1832
+.annotate 'line', 661
+    new $P1831, 'ExceptionHandler'
+    set_addr $P1831, control_1830
+    $P1831."handle_types"(57)
+    push_eh $P1831
+    .lex "self", self
+    .lex "$/", param_1832
+.annotate 'line', 662
+    new $P1833, "Undef"
+    .lex "$name", $P1833
+    find_lex $P1836, "$/"
+    unless_null $P1836, vivify_547
+    $P1836 = root_new ['parrot';'Hash']
+  vivify_547:
+    set $P1837, $P1836["sigil"]
+    unless_null $P1837, vivify_548
+    new $P1837, "Undef"
   vivify_548:
-    set $P1873, $P1872["arglist"]
-    unless_null $P1873, vivify_549
-    new $P1873, "Undef"
+    set $S1838, $P1837
+    iseq $I1839, $S1838, "@"
+    if $I1839, if_1835
+.annotate 'line', 663
+    find_lex $P1843, "$/"
+    unless_null $P1843, vivify_549
+    $P1843 = root_new ['parrot';'Hash']
   vivify_549:
-    $P1874 = $P1873."ast"()
-    $P1875 = $P1871."!make"($P1874)
-.annotate "line", 683
-    .return ($P1875)
-  control_1868:
+    set $P1844, $P1843["sigil"]
+    unless_null $P1844, vivify_550
+    new $P1844, "Undef"
+  vivify_550:
+    set $S1845, $P1844
+    iseq $I1846, $S1845, "%"
+    if $I1846, if_1842
+    new $P1848, "String"
+    assign $P1848, "item"
+    set $P1841, $P1848
+    goto if_1842_end
+  if_1842:
+    new $P1847, "String"
+    assign $P1847, "hash"
+    set $P1841, $P1847
+  if_1842_end:
+    set $P1834, $P1841
+.annotate 'line', 662
+    goto if_1835_end
+  if_1835:
+    new $P1840, "String"
+    assign $P1840, "list"
+    set $P1834, $P1840
+  if_1835_end:
+    store_lex "$name", $P1834
+.annotate 'line', 665
+    find_lex $P1849, "$/"
+    get_hll_global $P1850, ["PAST"], "Op"
+    find_lex $P1851, "$name"
+    find_lex $P1852, "$/"
+    unless_null $P1852, vivify_551
+    $P1852 = root_new ['parrot';'Hash']
+  vivify_551:
+    set $P1853, $P1852["semilist"]
+    unless_null $P1853, vivify_552
+    new $P1853, "Undef"
+  vivify_552:
+    $P1854 = $P1853."ast"()
+    $P1855 = $P1850."new"($P1854, "callmethod" :named("pasttype"), $P1851 :named("name"))
+    $P1856 = $P1849."!make"($P1855)
+.annotate 'line', 661
+    .return ($P1856)
+  control_1830:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1876, exception, "payload"
-    .return ($P1876)
+    getattribute $P1857, exception, "payload"
+    .return ($P1857)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("104_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1880
-.annotate "line", 687
-    new $P1879, 'ExceptionHandler'
-    set_addr $P1879, control_1878
-    $P1879."handle_types"(57)
-    push_eh $P1879
+.sub "semilist"  :subid("100_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1861
+.annotate 'line', 668
+    new $P1860, 'ExceptionHandler'
+    set_addr $P1860, control_1859
+    $P1860."handle_types"(57)
+    push_eh $P1860
     .lex "self", self
-    .lex "$/", param_1880
-.annotate "line", 688
-    find_lex $P1881, "$/"
-    find_lex $P1884, "$/"
-    unless_null $P1884, vivify_550
-    $P1884 = root_new ['parrot';'Hash']
-  vivify_550:
-    set $P1885, $P1884["quote"]
-    unless_null $P1885, vivify_551
-    new $P1885, "Undef"
-  vivify_551:
-    if $P1885, if_1883
-    find_lex $P1889, "$/"
-    unless_null $P1889, vivify_552
-    $P1889 = root_new ['parrot';'Hash']
-  vivify_552:
-    set $P1890, $P1889["number"]
-    unless_null $P1890, vivify_553
-    new $P1890, "Undef"
+    .lex "$/", param_1861
+    find_lex $P1862, "$/"
+    find_lex $P1863, "$/"
+    unless_null $P1863, vivify_553
+    $P1863 = root_new ['parrot';'Hash']
   vivify_553:
-    $P1891 = $P1890."ast"()
-    set $P1882, $P1891
-    goto if_1883_end
-  if_1883:
-    find_lex $P1886, "$/"
-    unless_null $P1886, vivify_554
-    $P1886 = root_new ['parrot';'Hash']
+    set $P1864, $P1863["statement"]
+    unless_null $P1864, vivify_554
+    new $P1864, "Undef"
   vivify_554:
-    set $P1887, $P1886["quote"]
-    unless_null $P1887, vivify_555
-    new $P1887, "Undef"
+    $P1865 = $P1864."ast"()
+    $P1866 = $P1862."!make"($P1865)
+    .return ($P1866)
+  control_1859:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1867, exception, "payload"
+    .return ($P1867)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postcircumfix:sym<[ ]>"  :subid("101_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1871
+.annotate 'line', 670
+    new $P1870, 'ExceptionHandler'
+    set_addr $P1870, control_1869
+    $P1870."handle_types"(57)
+    push_eh $P1870
+    .lex "self", self
+    .lex "$/", param_1871
+.annotate 'line', 671
+    find_lex $P1872, "$/"
+    get_hll_global $P1873, ["PAST"], "Var"
+    find_lex $P1874, "$/"
+    unless_null $P1874, vivify_555
+    $P1874 = root_new ['parrot';'Hash']
   vivify_555:
-    $P1888 = $P1887."ast"()
-    set $P1882, $P1888
-  if_1883_end:
-    $P1892 = $P1881."!make"($P1882)
-.annotate "line", 687
+    set $P1875, $P1874["EXPR"]
+    unless_null $P1875, vivify_556
+    new $P1875, "Undef"
+  vivify_556:
+    $P1876 = $P1875."ast"()
+.annotate 'line', 673
+    $P1877 = "vivitype"("@")
+    $P1878 = $P1873."new"($P1876, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P1877 :named("vivibase"))
+.annotate 'line', 671
+    $P1879 = $P1872."!make"($P1878)
+.annotate 'line', 670
+    .return ($P1879)
+  control_1869:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1880, exception, "payload"
+    .return ($P1880)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postcircumfix:sym<{ }>"  :subid("102_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1884
+.annotate 'line', 676
+    new $P1883, 'ExceptionHandler'
+    set_addr $P1883, control_1882
+    $P1883."handle_types"(57)
+    push_eh $P1883
+    .lex "self", self
+    .lex "$/", param_1884
+.annotate 'line', 677
+    find_lex $P1885, "$/"
+    get_hll_global $P1886, ["PAST"], "Var"
+    find_lex $P1887, "$/"
+    unless_null $P1887, vivify_557
+    $P1887 = root_new ['parrot';'Hash']
+  vivify_557:
+    set $P1888, $P1887["EXPR"]
+    unless_null $P1888, vivify_558
+    new $P1888, "Undef"
+  vivify_558:
+    $P1889 = $P1888."ast"()
+.annotate 'line', 679
+    $P1890 = "vivitype"("%")
+    $P1891 = $P1886."new"($P1889, "keyed" :named("scope"), "Undef" :named("viviself"), $P1890 :named("vivibase"))
+.annotate 'line', 677
+    $P1892 = $P1885."!make"($P1891)
+.annotate 'line', 676
     .return ($P1892)
-  control_1878:
+  control_1882:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1893, exception, "payload"
@@ -21627,196 +21922,200 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("105_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "postcircumfix:sym<ang>"  :subid("103_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_1897
-.annotate "line", 691
+.annotate 'line', 682
     new $P1896, 'ExceptionHandler'
     set_addr $P1896, control_1895
     $P1896."handle_types"(57)
     push_eh $P1896
     .lex "self", self
     .lex "$/", param_1897
-.annotate "line", 692
-    new $P1898, "Undef"
-    .lex "$value", $P1898
-    find_lex $P1901, "$/"
-    unless_null $P1901, vivify_556
-    $P1901 = root_new ['parrot';'Hash']
-  vivify_556:
-    set $P1902, $P1901["dec_number"]
-    unless_null $P1902, vivify_557
-    new $P1902, "Undef"
-  vivify_557:
-    if $P1902, if_1900
-    find_lex $P1906, "$/"
-    unless_null $P1906, vivify_558
-    $P1906 = root_new ['parrot';'Hash']
-  vivify_558:
-    set $P1907, $P1906["integer"]
-    unless_null $P1907, vivify_559
-    new $P1907, "Undef"
+.annotate 'line', 683
+    find_lex $P1898, "$/"
+    get_hll_global $P1899, ["PAST"], "Var"
+    find_lex $P1900, "$/"
+    unless_null $P1900, vivify_559
+    $P1900 = root_new ['parrot';'Hash']
   vivify_559:
-    $P1908 = $P1907."ast"()
-    set $P1899, $P1908
-    goto if_1900_end
-  if_1900:
-    find_lex $P1903, "$/"
-    unless_null $P1903, vivify_560
-    $P1903 = root_new ['parrot';'Hash']
+    set $P1901, $P1900["quote_EXPR"]
+    unless_null $P1901, vivify_560
+    new $P1901, "Undef"
   vivify_560:
-    set $P1904, $P1903["dec_number"]
-    unless_null $P1904, vivify_561
-    new $P1904, "Undef"
-  vivify_561:
-    $P1905 = $P1904."ast"()
-    set $P1899, $P1905
-  if_1900_end:
-    store_lex "$value", $P1899
-.annotate "line", 693
-    find_lex $P1910, "$/"
-    unless_null $P1910, vivify_562
-    $P1910 = root_new ['parrot';'Hash']
-  vivify_562:
-    set $P1911, $P1910["sign"]
-    unless_null $P1911, vivify_563
-    new $P1911, "Undef"
-  vivify_563:
-    set $S1912, $P1911
-    iseq $I1913, $S1912, "-"
-    unless $I1913, if_1909_end
-    find_lex $P1914, "$value"
-    neg $P1915, $P1914
-    store_lex "$value", $P1915
-  if_1909_end:
-.annotate "line", 694
-    find_lex $P1916, "$/"
-    get_hll_global $P1917, ["PAST"], "Val"
-    find_lex $P1918, "$value"
-    $P1919 = $P1917."new"($P1918 :named("value"))
-    $P1920 = $P1916."!make"($P1919)
-.annotate "line", 691
-    .return ($P1920)
+    $P1902 = $P1901."ast"()
+.annotate 'line', 685
+    $P1903 = "vivitype"("%")
+    $P1904 = $P1899."new"($P1902, "keyed" :named("scope"), "Undef" :named("viviself"), $P1903 :named("vivibase"))
+.annotate 'line', 683
+    $P1905 = $P1898."!make"($P1904)
+.annotate 'line', 682
+    .return ($P1905)
   control_1895:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1921, exception, "payload"
-    .return ($P1921)
+    getattribute $P1906, exception, "payload"
+    .return ($P1906)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("106_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1925
-.annotate "line", 697
-    new $P1924, 'ExceptionHandler'
-    set_addr $P1924, control_1923
-    $P1924."handle_types"(57)
-    push_eh $P1924
-    .lex "self", self
-    .lex "$/", param_1925
-    find_lex $P1926, "$/"
-    find_lex $P1927, "$/"
-    unless_null $P1927, vivify_564
-    $P1927 = root_new ['parrot';'Hash']
-  vivify_564:
-    set $P1928, $P1927["quote_EXPR"]
-    unless_null $P1928, vivify_565
-    new $P1928, "Undef"
-  vivify_565:
-    $P1929 = $P1928."ast"()
-    $P1930 = $P1926."!make"($P1929)
-    .return ($P1930)
-  control_1923:
+.sub "postcircumfix:sym<( )>"  :subid("104_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1910
+.annotate 'line', 688
+    new $P1909, 'ExceptionHandler'
+    set_addr $P1909, control_1908
+    $P1909."handle_types"(57)
+    push_eh $P1909
+    .lex "self", self
+    .lex "$/", param_1910
+.annotate 'line', 689
+    find_lex $P1911, "$/"
+    find_lex $P1912, "$/"
+    unless_null $P1912, vivify_561
+    $P1912 = root_new ['parrot';'Hash']
+  vivify_561:
+    set $P1913, $P1912["arglist"]
+    unless_null $P1913, vivify_562
+    new $P1913, "Undef"
+  vivify_562:
+    $P1914 = $P1913."ast"()
+    $P1915 = $P1911."!make"($P1914)
+.annotate 'line', 688
+    .return ($P1915)
+  control_1908:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1931, exception, "payload"
-    .return ($P1931)
+    getattribute $P1916, exception, "payload"
+    .return ($P1916)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("107_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1935
-.annotate "line", 698
-    new $P1934, 'ExceptionHandler'
-    set_addr $P1934, control_1933
-    $P1934."handle_types"(57)
-    push_eh $P1934
+.sub "value"  :subid("105_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1920
+.annotate 'line', 692
+    new $P1919, 'ExceptionHandler'
+    set_addr $P1919, control_1918
+    $P1919."handle_types"(57)
+    push_eh $P1919
     .lex "self", self
-    .lex "$/", param_1935
-    find_lex $P1936, "$/"
-    find_lex $P1937, "$/"
-    unless_null $P1937, vivify_566
-    $P1937 = root_new ['parrot';'Hash']
+    .lex "$/", param_1920
+.annotate 'line', 693
+    find_lex $P1921, "$/"
+    find_lex $P1924, "$/"
+    unless_null $P1924, vivify_563
+    $P1924 = root_new ['parrot';'Hash']
+  vivify_563:
+    set $P1925, $P1924["quote"]
+    unless_null $P1925, vivify_564
+    new $P1925, "Undef"
+  vivify_564:
+    if $P1925, if_1923
+    find_lex $P1929, "$/"
+    unless_null $P1929, vivify_565
+    $P1929 = root_new ['parrot';'Hash']
+  vivify_565:
+    set $P1930, $P1929["number"]
+    unless_null $P1930, vivify_566
+    new $P1930, "Undef"
   vivify_566:
-    set $P1938, $P1937["quote_EXPR"]
-    unless_null $P1938, vivify_567
-    new $P1938, "Undef"
+    $P1931 = $P1930."ast"()
+    set $P1922, $P1931
+    goto if_1923_end
+  if_1923:
+    find_lex $P1926, "$/"
+    unless_null $P1926, vivify_567
+    $P1926 = root_new ['parrot';'Hash']
   vivify_567:
-    $P1939 = $P1938."ast"()
-    $P1940 = $P1936."!make"($P1939)
-    .return ($P1940)
-  control_1933:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1941, exception, "payload"
-    .return ($P1941)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("108_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1945
-.annotate "line", 699
-    new $P1944, 'ExceptionHandler'
-    set_addr $P1944, control_1943
-    $P1944."handle_types"(57)
-    push_eh $P1944
-    .lex "self", self
-    .lex "$/", param_1945
-    find_lex $P1946, "$/"
-    find_lex $P1947, "$/"
-    unless_null $P1947, vivify_568
-    $P1947 = root_new ['parrot';'Hash']
+    set $P1927, $P1926["quote"]
+    unless_null $P1927, vivify_568
+    new $P1927, "Undef"
   vivify_568:
-    set $P1948, $P1947["quote_EXPR"]
-    unless_null $P1948, vivify_569
-    new $P1948, "Undef"
-  vivify_569:
-    $P1949 = $P1948."ast"()
-    $P1950 = $P1946."!make"($P1949)
-    .return ($P1950)
-  control_1943:
+    $P1928 = $P1927."ast"()
+    set $P1922, $P1928
+  if_1923_end:
+    $P1932 = $P1921."!make"($P1922)
+.annotate 'line', 692
+    .return ($P1932)
+  control_1918:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1951, exception, "payload"
-    .return ($P1951)
+    getattribute $P1933, exception, "payload"
+    .return ($P1933)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("109_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1955
-.annotate "line", 700
-    new $P1954, 'ExceptionHandler'
-    set_addr $P1954, control_1953
-    $P1954."handle_types"(57)
-    push_eh $P1954
+.sub "number"  :subid("106_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1937
+.annotate 'line', 696
+    new $P1936, 'ExceptionHandler'
+    set_addr $P1936, control_1935
+    $P1936."handle_types"(57)
+    push_eh $P1936
     .lex "self", self
-    .lex "$/", param_1955
-    find_lex $P1956, "$/"
-    find_lex $P1957, "$/"
-    unless_null $P1957, vivify_570
-    $P1957 = root_new ['parrot';'Hash']
+    .lex "$/", param_1937
+.annotate 'line', 697
+    new $P1938, "Undef"
+    .lex "$value", $P1938
+    find_lex $P1941, "$/"
+    unless_null $P1941, vivify_569
+    $P1941 = root_new ['parrot';'Hash']
+  vivify_569:
+    set $P1942, $P1941["dec_number"]
+    unless_null $P1942, vivify_570
+    new $P1942, "Undef"
   vivify_570:
-    set $P1958, $P1957["quote_EXPR"]
-    unless_null $P1958, vivify_571
-    new $P1958, "Undef"
+    if $P1942, if_1940
+    find_lex $P1946, "$/"
+    unless_null $P1946, vivify_571
+    $P1946 = root_new ['parrot';'Hash']
   vivify_571:
-    $P1959 = $P1958."ast"()
+    set $P1947, $P1946["integer"]
+    unless_null $P1947, vivify_572
+    new $P1947, "Undef"
+  vivify_572:
+    $P1948 = $P1947."ast"()
+    set $P1939, $P1948
+    goto if_1940_end
+  if_1940:
+    find_lex $P1943, "$/"
+    unless_null $P1943, vivify_573
+    $P1943 = root_new ['parrot';'Hash']
+  vivify_573:
+    set $P1944, $P1943["dec_number"]
+    unless_null $P1944, vivify_574
+    new $P1944, "Undef"
+  vivify_574:
+    $P1945 = $P1944."ast"()
+    set $P1939, $P1945
+  if_1940_end:
+    store_lex "$value", $P1939
+.annotate 'line', 698
+    find_lex $P1950, "$/"
+    unless_null $P1950, vivify_575
+    $P1950 = root_new ['parrot';'Hash']
+  vivify_575:
+    set $P1951, $P1950["sign"]
+    unless_null $P1951, vivify_576
+    new $P1951, "Undef"
+  vivify_576:
+    set $S1952, $P1951
+    iseq $I1953, $S1952, "-"
+    unless $I1953, if_1949_end
+    find_lex $P1954, "$value"
+    neg $P1955, $P1954
+    store_lex "$value", $P1955
+  if_1949_end:
+.annotate 'line', 699
+    find_lex $P1956, "$/"
+    get_hll_global $P1957, ["PAST"], "Val"
+    find_lex $P1958, "$value"
+    $P1959 = $P1957."new"($P1958 :named("value"))
     $P1960 = $P1956."!make"($P1959)
+.annotate 'line', 696
     .return ($P1960)
-  control_1953:
+  control_1935:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1961, exception, "payload"
@@ -21825,9 +22124,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("110_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "quote:sym<apos>"  :subid("107_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_1965
-.annotate "line", 701
+.annotate 'line', 702
     new $P1964, 'ExceptionHandler'
     set_addr $P1964, control_1963
     $P1964."handle_types"(57)
@@ -21836,13 +22135,13 @@
     .lex "$/", param_1965
     find_lex $P1966, "$/"
     find_lex $P1967, "$/"
-    unless_null $P1967, vivify_572
+    unless_null $P1967, vivify_577
     $P1967 = root_new ['parrot';'Hash']
-  vivify_572:
+  vivify_577:
     set $P1968, $P1967["quote_EXPR"]
-    unless_null $P1968, vivify_573
+    unless_null $P1968, vivify_578
     new $P1968, "Undef"
-  vivify_573:
+  vivify_578:
     $P1969 = $P1968."ast"()
     $P1970 = $P1966."!make"($P1969)
     .return ($P1970)
@@ -21855,568 +22154,751 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("111_1272816841.80681") :method :outer("11_1272816841.80681")
+.sub "quote:sym<dblq>"  :subid("108_1273866388.36922") :method :outer("11_1273866388.36922")
     .param pmc param_1975
-.annotate "line", 702
+.annotate 'line', 703
     new $P1974, 'ExceptionHandler'
     set_addr $P1974, control_1973
     $P1974."handle_types"(57)
     push_eh $P1974
     .lex "self", self
     .lex "$/", param_1975
-.annotate "line", 703
     find_lex $P1976, "$/"
-    get_hll_global $P1977, ["PAST"], "Op"
-    find_lex $P1978, "$/"
-    unless_null $P1978, vivify_574
-    $P1978 = root_new ['parrot';'Hash']
-  vivify_574:
-    set $P1979, $P1978["quote_EXPR"]
-    unless_null $P1979, vivify_575
-    new $P1979, "Undef"
-  vivify_575:
-    $P1980 = $P1979."ast"()
-    $P1981 = $P1980."value"()
-    find_lex $P1982, "$/"
-    $P1983 = $P1977."new"($P1981 :named("inline"), "inline" :named("pasttype"), $P1982 :named("node"))
-    $P1984 = $P1976."!make"($P1983)
-.annotate "line", 702
-    .return ($P1984)
+    find_lex $P1977, "$/"
+    unless_null $P1977, vivify_579
+    $P1977 = root_new ['parrot';'Hash']
+  vivify_579:
+    set $P1978, $P1977["quote_EXPR"]
+    unless_null $P1978, vivify_580
+    new $P1978, "Undef"
+  vivify_580:
+    $P1979 = $P1978."ast"()
+    $P1980 = $P1976."!make"($P1979)
+    .return ($P1980)
   control_1973:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1985, exception, "payload"
-    .return ($P1985)
+    getattribute $P1981, exception, "payload"
+    .return ($P1981)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("112_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_1989
-    .param pmc param_1990 :optional
-    .param int has_param_1990 :opt_flag
-.annotate "line", 708
-    new $P1988, 'ExceptionHandler'
-    set_addr $P1988, control_1987
-    $P1988."handle_types"(57)
-    push_eh $P1988
-    .lex "self", self
-    .lex "$/", param_1989
-    if has_param_1990, optparam_576
-    new $P1991, "Undef"
-    set param_1990, $P1991
-  optparam_576:
-    .lex "$key", param_1990
-.annotate "line", 718
-    new $P1992, "Undef"
-    .lex "$regex", $P1992
-.annotate "line", 720
-    new $P1993, "Undef"
-    .lex "$past", $P1993
-.annotate "line", 709
-    find_lex $P1995, "$key"
-    set $S1996, $P1995
-    iseq $I1997, $S1996, "open"
-    unless $I1997, if_1994_end
-.annotate "line", 710
-
-            null $P0
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate "line", 714
-    get_global $P1998, "@BLOCK"
-    unless_null $P1998, vivify_577
-    $P1998 = root_new ['parrot';'ResizablePMCArray']
-  vivify_577:
-    set $P1999, $P1998[0]
-    unless_null $P1999, vivify_578
-    new $P1999, "Undef"
-  vivify_578:
-    $P1999."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate "line", 715
-    get_global $P2000, "@BLOCK"
-    unless_null $P2000, vivify_579
-    $P2000 = root_new ['parrot';'ResizablePMCArray']
-  vivify_579:
-    set $P2001, $P2000[0]
-    unless_null $P2001, vivify_580
-    new $P2001, "Undef"
-  vivify_580:
-    $P2001."symbol"("$/", "lexical" :named("scope"))
-.annotate "line", 716
-    new $P2002, "Exception"
-    set $P2002['type'], 57
-    new $P2003, "Integer"
-    assign $P2003, 0
-    setattribute $P2002, 'payload', $P2003
-    throw $P2002
-  if_1994_end:
-.annotate "line", 719
-    get_hll_global $P2004, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P2005, "$/"
-    unless_null $P2005, vivify_581
-    $P2005 = root_new ['parrot';'Hash']
+.sub "quote:sym<qq>"  :subid("109_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1985
+.annotate 'line', 704
+    new $P1984, 'ExceptionHandler'
+    set_addr $P1984, control_1983
+    $P1984."handle_types"(57)
+    push_eh $P1984
+    .lex "self", self
+    .lex "$/", param_1985
+    find_lex $P1986, "$/"
+    find_lex $P1987, "$/"
+    unless_null $P1987, vivify_581
+    $P1987 = root_new ['parrot';'Hash']
   vivify_581:
-    set $P2006, $P2005["p6regex"]
-    unless_null $P2006, vivify_582
-    new $P2006, "Undef"
+    set $P1988, $P1987["quote_EXPR"]
+    unless_null $P1988, vivify_582
+    new $P1988, "Undef"
   vivify_582:
-    $P2007 = $P2006."ast"()
-    get_global $P2008, "@BLOCK"
-    $P2009 = $P2008."shift"()
-    $P2010 = $P2004($P2007, $P2009)
-    store_lex "$regex", $P2010
-.annotate "line", 721
-    get_hll_global $P2011, ["PAST"], "Op"
-.annotate "line", 723
-    get_hll_global $P2012, ["PAST"], "Var"
-    new $P2013, "ResizablePMCArray"
-    push $P2013, "Regex"
-    $P2014 = $P2012."new"("Regex" :named("name"), $P2013 :named("namespace"), "package" :named("scope"))
-    find_lex $P2015, "$regex"
-    $P2016 = $P2011."new"($P2014, $P2015, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate "line", 721
-    store_lex "$past", $P2016
-.annotate "line", 727
-    find_lex $P2017, "$regex"
-    find_lex $P2018, "$past"
-    unless_null $P2018, vivify_583
-    $P2018 = root_new ['parrot';'Hash']
-    store_lex "$past", $P2018
-  vivify_583:
-    set $P2018["sink"], $P2017
-.annotate "line", 728
-    find_lex $P2019, "$/"
-    find_lex $P2020, "$past"
-    $P2021 = $P2019."!make"($P2020)
-.annotate "line", 708
-    .return ($P2021)
-  control_1987:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2022, exception, "payload"
-    .return ($P2022)
+    $P1989 = $P1988."ast"()
+    $P1990 = $P1986."!make"($P1989)
+    .return ($P1990)
+  control_1983:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1991, exception, "payload"
+    .return ($P1991)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("113_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2026
-.annotate "line", 731
-    new $P2025, 'ExceptionHandler'
-    set_addr $P2025, control_2024
-    $P2025."handle_types"(57)
-    push_eh $P2025
-    .lex "self", self
-    .lex "$/", param_2026
-    find_lex $P2027, "$/"
-    find_lex $P2028, "$/"
-    unless_null $P2028, vivify_584
-    $P2028 = root_new ['parrot';'Hash']
+.sub "quote:sym<q>"  :subid("110_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_1995
+.annotate 'line', 705
+    new $P1994, 'ExceptionHandler'
+    set_addr $P1994, control_1993
+    $P1994."handle_types"(57)
+    push_eh $P1994
+    .lex "self", self
+    .lex "$/", param_1995
+    find_lex $P1996, "$/"
+    find_lex $P1997, "$/"
+    unless_null $P1997, vivify_583
+    $P1997 = root_new ['parrot';'Hash']
+  vivify_583:
+    set $P1998, $P1997["quote_EXPR"]
+    unless_null $P1998, vivify_584
+    new $P1998, "Undef"
   vivify_584:
-    set $P2029, $P2028["variable"]
-    unless_null $P2029, vivify_585
-    new $P2029, "Undef"
-  vivify_585:
-    $P2030 = $P2029."ast"()
-    $P2031 = $P2027."!make"($P2030)
-    .return ($P2031)
-  control_2024:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2032, exception, "payload"
-    .return ($P2032)
+    $P1999 = $P1998."ast"()
+    $P2000 = $P1996."!make"($P1999)
+    .return ($P2000)
+  control_1993:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2001, exception, "payload"
+    .return ($P2001)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("114_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2036
-.annotate "line", 732
-    new $P2035, 'ExceptionHandler'
-    set_addr $P2035, control_2034
-    $P2035."handle_types"(57)
-    push_eh $P2035
-    .lex "self", self
-    .lex "$/", param_2036
-.annotate "line", 733
-    find_lex $P2037, "$/"
-    get_hll_global $P2038, ["PAST"], "Op"
-.annotate "line", 734
-    find_lex $P2039, "$/"
-    unless_null $P2039, vivify_586
-    $P2039 = root_new ['parrot';'Hash']
+.sub "quote:sym<Q>"  :subid("111_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2005
+.annotate 'line', 706
+    new $P2004, 'ExceptionHandler'
+    set_addr $P2004, control_2003
+    $P2004."handle_types"(57)
+    push_eh $P2004
+    .lex "self", self
+    .lex "$/", param_2005
+    find_lex $P2006, "$/"
+    find_lex $P2007, "$/"
+    unless_null $P2007, vivify_585
+    $P2007 = root_new ['parrot';'Hash']
+  vivify_585:
+    set $P2008, $P2007["quote_EXPR"]
+    unless_null $P2008, vivify_586
+    new $P2008, "Undef"
   vivify_586:
-    set $P2040, $P2039["block"]
-    unless_null $P2040, vivify_587
-    new $P2040, "Undef"
-  vivify_587:
-    $P2041 = $P2040."ast"()
-    $P2042 = "block_immediate"($P2041)
-    find_lex $P2043, "$/"
-    $P2044 = $P2038."new"($P2042, "set S*" :named("pirop"), $P2043 :named("node"))
-.annotate "line", 733
-    $P2045 = $P2037."!make"($P2044)
-.annotate "line", 732
-    .return ($P2045)
-  control_2034:
+    $P2009 = $P2008."ast"()
+    $P2010 = $P2006."!make"($P2009)
+    .return ($P2010)
+  control_2003:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2046, exception, "payload"
-    .return ($P2046)
+    getattribute $P2011, exception, "payload"
+    .return ($P2011)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("115_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2050
-.annotate "line", 737
-    new $P2049, 'ExceptionHandler'
-    set_addr $P2049, control_2048
-    $P2049."handle_types"(57)
-    push_eh $P2049
+.sub "quote:sym<Q:PIR>"  :subid("112_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2015
+.annotate 'line', 707
+    new $P2014, 'ExceptionHandler'
+    set_addr $P2014, control_2013
+    $P2014."handle_types"(57)
+    push_eh $P2014
     .lex "self", self
-    .lex "$/", param_2050
-    find_lex $P2051, "$/"
-    $P2052 = $P2051."!make"("\e")
-    .return ($P2052)
-  control_2048:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2053, exception, "payload"
-    .return ($P2053)
+    .lex "$/", param_2015
+.annotate 'line', 708
+    find_lex $P2016, "$/"
+    get_hll_global $P2017, ["PAST"], "Op"
+    find_lex $P2018, "$/"
+    unless_null $P2018, vivify_587
+    $P2018 = root_new ['parrot';'Hash']
+  vivify_587:
+    set $P2019, $P2018["quote_EXPR"]
+    unless_null $P2019, vivify_588
+    new $P2019, "Undef"
+  vivify_588:
+    $P2020 = $P2019."ast"()
+    $P2021 = $P2020."value"()
+    find_lex $P2022, "$/"
+    $P2023 = $P2017."new"($P2021 :named("inline"), "inline" :named("pasttype"), $P2022 :named("node"))
+    $P2024 = $P2016."!make"($P2023)
+.annotate 'line', 707
+    .return ($P2024)
+  control_2013:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2025, exception, "payload"
+    .return ($P2025)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("116_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2057
-.annotate "line", 741
-    new $P2056, 'ExceptionHandler'
-    set_addr $P2056, control_2055
-    $P2056."handle_types"(57)
-    push_eh $P2056
-    .lex "self", self
-    .lex "$/", param_2057
-    find_lex $P2058, "$/"
+.sub "quote:sym</ />"  :subid("113_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2029
+    .param pmc param_2030 :optional
+    .param int has_param_2030 :opt_flag
+.annotate 'line', 713
+    new $P2028, 'ExceptionHandler'
+    set_addr $P2028, control_2027
+    $P2028."handle_types"(57)
+    push_eh $P2028
+    .lex "self", self
+    .lex "$/", param_2029
+    if has_param_2030, optparam_589
+    new $P2031, "Undef"
+    set param_2030, $P2031
+  optparam_589:
+    .lex "$key", param_2030
+.annotate 'line', 723
+    new $P2032, "Undef"
+    .lex "$regex", $P2032
+.annotate 'line', 725
+    new $P2033, "Undef"
+    .lex "$past", $P2033
+.annotate 'line', 714
+    find_lex $P2035, "$key"
+    set $S2036, $P2035
+    iseq $I2037, $S2036, "open"
+    unless $I2037, if_2034_end
+.annotate 'line', 715
+
+            null $P0
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate 'line', 719
+    get_global $P2038, "@BLOCK"
+    unless_null $P2038, vivify_590
+    $P2038 = root_new ['parrot';'ResizablePMCArray']
+  vivify_590:
+    set $P2039, $P2038[0]
+    unless_null $P2039, vivify_591
+    new $P2039, "Undef"
+  vivify_591:
+    $P2039."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 720
+    get_global $P2040, "@BLOCK"
+    unless_null $P2040, vivify_592
+    $P2040 = root_new ['parrot';'ResizablePMCArray']
+  vivify_592:
+    set $P2041, $P2040[0]
+    unless_null $P2041, vivify_593
+    new $P2041, "Undef"
+  vivify_593:
+    $P2041."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 721
+    new $P2042, "Exception"
+    set $P2042['type'], 57
+    new $P2043, "Integer"
+    assign $P2043, 0
+    setattribute $P2042, 'payload', $P2043
+    throw $P2042
+  if_2034_end:
+.annotate 'line', 724
+    get_hll_global $P2044, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2045, "$/"
+    unless_null $P2045, vivify_594
+    $P2045 = root_new ['parrot';'Hash']
+  vivify_594:
+    set $P2046, $P2045["p6regex"]
+    unless_null $P2046, vivify_595
+    new $P2046, "Undef"
+  vivify_595:
+    $P2047 = $P2046."ast"()
+    get_global $P2048, "@BLOCK"
+    $P2049 = $P2048."shift"()
+    $P2050 = $P2044($P2047, $P2049)
+    store_lex "$regex", $P2050
+.annotate 'line', 726
+    get_hll_global $P2051, ["PAST"], "Op"
+.annotate 'line', 728
+    get_hll_global $P2052, ["PAST"], "Var"
+    new $P2053, "ResizablePMCArray"
+    push $P2053, "Regex"
+    $P2054 = $P2052."new"("Regex" :named("name"), $P2053 :named("namespace"), "package" :named("scope"))
+    find_lex $P2055, "$regex"
+    $P2056 = $P2051."new"($P2054, $P2055, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 726
+    store_lex "$past", $P2056
+.annotate 'line', 732
+    find_lex $P2057, "$regex"
+    find_lex $P2058, "$past"
+    unless_null $P2058, vivify_596
+    $P2058 = root_new ['parrot';'Hash']
+    store_lex "$past", $P2058
+  vivify_596:
+    set $P2058["sink"], $P2057
+.annotate 'line', 733
     find_lex $P2059, "$/"
-    unless_null $P2059, vivify_588
-    $P2059 = root_new ['parrot';'Hash']
-  vivify_588:
-    set $P2060, $P2059["dotty"]
-    unless_null $P2060, vivify_589
-    new $P2060, "Undef"
-  vivify_589:
-    $P2061 = $P2060."ast"()
-    $P2062 = $P2058."!make"($P2061)
-    .return ($P2062)
-  control_2055:
+    find_lex $P2060, "$past"
+    $P2061 = $P2059."!make"($P2060)
+.annotate 'line', 713
+    .return ($P2061)
+  control_2027:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2063, exception, "payload"
-    .return ($P2063)
+    getattribute $P2062, exception, "payload"
+    .return ($P2062)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("117_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2067
-.annotate "line", 743
-    new $P2066, 'ExceptionHandler'
-    set_addr $P2066, control_2065
-    $P2066."handle_types"(57)
-    push_eh $P2066
+.sub "quote_escape:sym<$>"  :subid("114_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2066
+.annotate 'line', 736
+    new $P2065, 'ExceptionHandler'
+    set_addr $P2065, control_2064
+    $P2065."handle_types"(57)
+    push_eh $P2065
     .lex "self", self
-    .lex "$/", param_2067
-.annotate "line", 744
+    .lex "$/", param_2066
+    find_lex $P2067, "$/"
     find_lex $P2068, "$/"
-    get_hll_global $P2069, ["PAST"], "Op"
-.annotate "line", 745
-    new $P2070, "ResizablePMCArray"
-    push $P2070, "    clone %r, %0"
-    push $P2070, "    inc %0"
-    $P2071 = $P2069."new"("postfix:<++>" :named("name"), $P2070 :named("inline"), "inline" :named("pasttype"))
-.annotate "line", 744
-    $P2072 = $P2068."!make"($P2071)
-.annotate "line", 743
+    unless_null $P2068, vivify_597
+    $P2068 = root_new ['parrot';'Hash']
+  vivify_597:
+    set $P2069, $P2068["variable"]
+    unless_null $P2069, vivify_598
+    new $P2069, "Undef"
+  vivify_598:
+    $P2070 = $P2069."ast"()
+    $P2071 = $P2067."!make"($P2070)
+    .return ($P2071)
+  control_2064:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2072, exception, "payload"
     .return ($P2072)
-  control_2065:
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "quote_escape:sym<{ }>"  :subid("115_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2076
+.annotate 'line', 737
+    new $P2075, 'ExceptionHandler'
+    set_addr $P2075, control_2074
+    $P2075."handle_types"(57)
+    push_eh $P2075
+    .lex "self", self
+    .lex "$/", param_2076
+.annotate 'line', 738
+    find_lex $P2077, "$/"
+    get_hll_global $P2078, ["PAST"], "Op"
+.annotate 'line', 739
+    find_lex $P2079, "$/"
+    unless_null $P2079, vivify_599
+    $P2079 = root_new ['parrot';'Hash']
+  vivify_599:
+    set $P2080, $P2079["block"]
+    unless_null $P2080, vivify_600
+    new $P2080, "Undef"
+  vivify_600:
+    $P2081 = $P2080."ast"()
+    $P2082 = "block_immediate"($P2081)
+    find_lex $P2083, "$/"
+    $P2084 = $P2078."new"($P2082, "set S*" :named("pirop"), $P2083 :named("node"))
+.annotate 'line', 738
+    $P2085 = $P2077."!make"($P2084)
+.annotate 'line', 737
+    .return ($P2085)
+  control_2074:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2086, exception, "payload"
+    .return ($P2086)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "quote_escape:sym<esc>"  :subid("116_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2090
+.annotate 'line', 742
+    new $P2089, 'ExceptionHandler'
+    set_addr $P2089, control_2088
+    $P2089."handle_types"(57)
+    push_eh $P2089
+    .lex "self", self
+    .lex "$/", param_2090
+    find_lex $P2091, "$/"
+    $P2092 = $P2091."!make"("\e")
+    .return ($P2092)
+  control_2088:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2093, exception, "payload"
+    .return ($P2093)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<.>"  :subid("117_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2097
+.annotate 'line', 746
+    new $P2096, 'ExceptionHandler'
+    set_addr $P2096, control_2095
+    $P2096."handle_types"(57)
+    push_eh $P2096
+    .lex "self", self
+    .lex "$/", param_2097
+    find_lex $P2098, "$/"
+    find_lex $P2099, "$/"
+    unless_null $P2099, vivify_601
+    $P2099 = root_new ['parrot';'Hash']
+  vivify_601:
+    set $P2100, $P2099["dotty"]
+    unless_null $P2100, vivify_602
+    new $P2100, "Undef"
+  vivify_602:
+    $P2101 = $P2100."ast"()
+    $P2102 = $P2098."!make"($P2101)
+    .return ($P2102)
+  control_2095:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2103, exception, "payload"
+    .return ($P2103)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<++>"  :subid("118_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2107
+.annotate 'line', 748
+    new $P2106, 'ExceptionHandler'
+    set_addr $P2106, control_2105
+    $P2106."handle_types"(57)
+    push_eh $P2106
+    .lex "self", self
+    .lex "$/", param_2107
+.annotate 'line', 749
+    find_lex $P2108, "$/"
+    get_hll_global $P2109, ["PAST"], "Op"
+.annotate 'line', 750
+    new $P2110, "ResizablePMCArray"
+    push $P2110, "    clone %r, %0"
+    push $P2110, "    inc %0"
+    $P2111 = $P2109."new"("postfix:<++>" :named("name"), $P2110 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 749
+    $P2112 = $P2108."!make"($P2111)
+.annotate 'line', 748
+    .return ($P2112)
+  control_2105:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2113, exception, "payload"
+    .return ($P2113)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<-->"  :subid("119_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2117
+.annotate 'line', 754
+    new $P2116, 'ExceptionHandler'
+    set_addr $P2116, control_2115
+    $P2116."handle_types"(57)
+    push_eh $P2116
+    .lex "self", self
+    .lex "$/", param_2117
+.annotate 'line', 755
+    find_lex $P2118, "$/"
+    get_hll_global $P2119, ["PAST"], "Op"
+.annotate 'line', 756
+    new $P2120, "ResizablePMCArray"
+    push $P2120, "    clone %r, %0"
+    push $P2120, "    dec %0"
+    $P2121 = $P2119."new"("postfix:<-->" :named("name"), $P2120 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 755
+    $P2122 = $P2118."!make"($P2121)
+.annotate 'line', 754
+    .return ($P2122)
+  control_2115:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2123, exception, "payload"
+    .return ($P2123)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "prefix:sym<make>"  :subid("120_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2127
+.annotate 'line', 760
+    new $P2126, 'ExceptionHandler'
+    set_addr $P2126, control_2125
+    $P2126."handle_types"(57)
+    push_eh $P2126
+    .lex "self", self
+    .lex "$/", param_2127
+.annotate 'line', 761
+    find_lex $P2128, "$/"
+    get_hll_global $P2129, ["PAST"], "Op"
+.annotate 'line', 762
+    get_hll_global $P2130, ["PAST"], "Var"
+    $P2131 = $P2130."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P2132, "$/"
+    $P2133 = $P2129."new"($P2131, "callmethod" :named("pasttype"), "!make" :named("name"), $P2132 :named("node"))
+.annotate 'line', 761
+    $P2134 = $P2128."!make"($P2133)
+.annotate 'line', 760
+    .return ($P2134)
+  control_2125:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2135, exception, "payload"
+    .return ($P2135)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "term:sym<next>"  :subid("121_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2140
+.annotate 'line', 782
+    new $P2139, 'ExceptionHandler'
+    set_addr $P2139, control_2138
+    $P2139."handle_types"(57)
+    push_eh $P2139
+    .lex "self", self
+    .lex "$/", param_2140
+    find_lex $P2141, "$/"
+    $P2142 = "control"($P2141, ".CONTROL_LOOP_NEXT")
+    .return ($P2142)
+  control_2138:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2073, exception, "payload"
-    .return ($P2073)
+    getattribute $P2143, exception, "payload"
+    .return ($P2143)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("118_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2077
-.annotate "line", 749
-    new $P2076, 'ExceptionHandler'
-    set_addr $P2076, control_2075
-    $P2076."handle_types"(57)
-    push_eh $P2076
+.sub "term:sym<last>"  :subid("122_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2147
+.annotate 'line', 783
+    new $P2146, 'ExceptionHandler'
+    set_addr $P2146, control_2145
+    $P2146."handle_types"(57)
+    push_eh $P2146
     .lex "self", self
-    .lex "$/", param_2077
-.annotate "line", 750
-    find_lex $P2078, "$/"
-    get_hll_global $P2079, ["PAST"], "Op"
-.annotate "line", 751
-    new $P2080, "ResizablePMCArray"
-    push $P2080, "    clone %r, %0"
-    push $P2080, "    dec %0"
-    $P2081 = $P2079."new"("postfix:<-->" :named("name"), $P2080 :named("inline"), "inline" :named("pasttype"))
-.annotate "line", 750
-    $P2082 = $P2078."!make"($P2081)
-.annotate "line", 749
-    .return ($P2082)
-  control_2075:
+    .lex "$/", param_2147
+    find_lex $P2148, "$/"
+    $P2149 = "control"($P2148, ".CONTROL_LOOP_LAST")
+    .return ($P2149)
+  control_2145:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2083, exception, "payload"
-    .return ($P2083)
+    getattribute $P2150, exception, "payload"
+    .return ($P2150)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("119_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2087
-.annotate "line", 755
-    new $P2086, 'ExceptionHandler'
-    set_addr $P2086, control_2085
-    $P2086."handle_types"(57)
-    push_eh $P2086
+.sub "term:sym<redo>"  :subid("123_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2154
+.annotate 'line', 784
+    new $P2153, 'ExceptionHandler'
+    set_addr $P2153, control_2152
+    $P2153."handle_types"(57)
+    push_eh $P2153
     .lex "self", self
-    .lex "$/", param_2087
-.annotate "line", 756
-    find_lex $P2088, "$/"
-    get_hll_global $P2089, ["PAST"], "Op"
-.annotate "line", 757
-    get_hll_global $P2090, ["PAST"], "Var"
-    $P2091 = $P2090."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P2092, "$/"
-    $P2093 = $P2089."new"($P2091, "callmethod" :named("pasttype"), "!make" :named("name"), $P2092 :named("node"))
-.annotate "line", 756
-    $P2094 = $P2088."!make"($P2093)
-.annotate "line", 755
-    .return ($P2094)
-  control_2085:
+    .lex "$/", param_2154
+    find_lex $P2155, "$/"
+    $P2156 = "control"($P2155, ".CONTROL_LOOP_REDO")
+    .return ($P2156)
+  control_2152:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2095, exception, "payload"
-    .return ($P2095)
+    getattribute $P2157, exception, "payload"
+    .return ($P2157)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("120_1272816841.80681") :method :outer("11_1272816841.80681")
-    .param pmc param_2099
-.annotate "line", 764
-    new $P2098, 'ExceptionHandler'
-    set_addr $P2098, control_2097
-    $P2098."handle_types"(57)
-    push_eh $P2098
+.sub "infix:sym<~~>"  :subid("124_1273866388.36922") :method :outer("11_1273866388.36922")
+    .param pmc param_2161
+.annotate 'line', 786
+    new $P2160, 'ExceptionHandler'
+    set_addr $P2160, control_2159
+    $P2160."handle_types"(57)
+    push_eh $P2160
     .lex "self", self
-    .lex "$/", param_2099
-.annotate "line", 765
-    find_lex $P2100, "$/"
-    get_hll_global $P2101, ["PAST"], "Op"
-    find_lex $P2102, "$/"
-    $P2103 = $P2101."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2102 :named("node"))
-    $P2104 = $P2100."!make"($P2103)
-.annotate "line", 764
-    .return ($P2104)
-  control_2097:
+    .lex "$/", param_2161
+.annotate 'line', 787
+    find_lex $P2162, "$/"
+    get_hll_global $P2163, ["PAST"], "Op"
+    find_lex $P2164, "$/"
+    $P2165 = $P2163."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2164 :named("node"))
+    $P2166 = $P2162."!make"($P2165)
+.annotate 'line', 786
+    .return ($P2166)
+  control_2159:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2105, exception, "payload"
-    .return ($P2105)
+    getattribute $P2167, exception, "payload"
+    .return ($P2167)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "_block2106"  :subid("121_1272816841.80681") :outer("11_1272816841.80681")
-.annotate "line", 769
-    .const 'Sub' $P2142 = "125_1272816841.80681" 
-    capture_lex $P2142
-    .const 'Sub' $P2132 = "124_1272816841.80681" 
-    capture_lex $P2132
-    .const 'Sub' $P2122 = "123_1272816841.80681" 
-    capture_lex $P2122
-    .const 'Sub' $P2108 = "122_1272816841.80681" 
-    capture_lex $P2108
-.annotate "line", 780
-    .const 'Sub' $P2142 = "125_1272816841.80681" 
-    capture_lex $P2142
-.annotate "line", 769
-    .return ($P2142)
+.sub "_block2168"  :subid("125_1273866388.36922") :outer("11_1273866388.36922")
+.annotate 'line', 791
+    .const 'Sub' $P2204 = "129_1273866388.36922" 
+    capture_lex $P2204
+    .const 'Sub' $P2194 = "128_1273866388.36922" 
+    capture_lex $P2194
+    .const 'Sub' $P2184 = "127_1273866388.36922" 
+    capture_lex $P2184
+    .const 'Sub' $P2170 = "126_1273866388.36922" 
+    capture_lex $P2170
+.annotate 'line', 802
+    .const 'Sub' $P2204 = "129_1273866388.36922" 
+    newclosure $P2231, $P2204
+.annotate 'line', 791
+    .return ($P2231)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("122_1272816841.80681") :method :outer("121_1272816841.80681")
-    .param pmc param_2111
-.annotate "line", 771
-    new $P2110, 'ExceptionHandler'
-    set_addr $P2110, control_2109
-    $P2110."handle_types"(57)
-    push_eh $P2110
-    .lex "self", self
-    .lex "$/", param_2111
-.annotate "line", 772
-    new $P2112, "Undef"
-    .lex "$past", $P2112
-    find_lex $P2113, "$/"
-    unless_null $P2113, vivify_590
-    $P2113 = root_new ['parrot';'Hash']
-  vivify_590:
-    set $P2114, $P2113["statement"]
-    unless_null $P2114, vivify_591
-    new $P2114, "Undef"
-  vivify_591:
-    $P2115 = $P2114."ast"()
-    store_lex "$past", $P2115
-.annotate "line", 773
-    find_lex $P2116, "$/"
-    get_hll_global $P2117, ["PAST"], "Regex"
-    find_lex $P2118, "$past"
-    $P2119 = $P2117."new"($P2118, "pastnode" :named("pasttype"))
-    $P2120 = $P2116."!make"($P2119)
-.annotate "line", 771
-    .return ($P2120)
-  control_2109:
+.sub "metachar:sym<:my>"  :subid("126_1273866388.36922") :method :outer("125_1273866388.36922")
+    .param pmc param_2173
+.annotate 'line', 793
+    new $P2172, 'ExceptionHandler'
+    set_addr $P2172, control_2171
+    $P2172."handle_types"(57)
+    push_eh $P2172
+    .lex "self", self
+    .lex "$/", param_2173
+.annotate 'line', 794
+    new $P2174, "Undef"
+    .lex "$past", $P2174
+    find_lex $P2175, "$/"
+    unless_null $P2175, vivify_603
+    $P2175 = root_new ['parrot';'Hash']
+  vivify_603:
+    set $P2176, $P2175["statement"]
+    unless_null $P2176, vivify_604
+    new $P2176, "Undef"
+  vivify_604:
+    $P2177 = $P2176."ast"()
+    store_lex "$past", $P2177
+.annotate 'line', 795
+    find_lex $P2178, "$/"
+    get_hll_global $P2179, ["PAST"], "Regex"
+    find_lex $P2180, "$past"
+    $P2181 = $P2179."new"($P2180, "pastnode" :named("pasttype"))
+    $P2182 = $P2178."!make"($P2181)
+.annotate 'line', 793
+    .return ($P2182)
+  control_2171:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2121, exception, "payload"
-    .return ($P2121)
+    getattribute $P2183, exception, "payload"
+    .return ($P2183)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("123_1272816841.80681") :method :outer("121_1272816841.80681")
-    .param pmc param_2125
-.annotate "line", 776
-    new $P2124, 'ExceptionHandler'
-    set_addr $P2124, control_2123
-    $P2124."handle_types"(57)
-    push_eh $P2124
-    .lex "self", self
-    .lex "$/", param_2125
-    find_lex $P2126, "$/"
-    find_lex $P2127, "$/"
-    unless_null $P2127, vivify_592
-    $P2127 = root_new ['parrot';'Hash']
-  vivify_592:
-    set $P2128, $P2127["codeblock"]
-    unless_null $P2128, vivify_593
-    new $P2128, "Undef"
-  vivify_593:
-    $P2129 = $P2128."ast"()
-    $P2130 = $P2126."!make"($P2129)
-    .return ($P2130)
-  control_2123:
+.sub "metachar:sym<{ }>"  :subid("127_1273866388.36922") :method :outer("125_1273866388.36922")
+    .param pmc param_2187
+.annotate 'line', 798
+    new $P2186, 'ExceptionHandler'
+    set_addr $P2186, control_2185
+    $P2186."handle_types"(57)
+    push_eh $P2186
+    .lex "self", self
+    .lex "$/", param_2187
+    find_lex $P2188, "$/"
+    find_lex $P2189, "$/"
+    unless_null $P2189, vivify_605
+    $P2189 = root_new ['parrot';'Hash']
+  vivify_605:
+    set $P2190, $P2189["codeblock"]
+    unless_null $P2190, vivify_606
+    new $P2190, "Undef"
+  vivify_606:
+    $P2191 = $P2190."ast"()
+    $P2192 = $P2188."!make"($P2191)
+    .return ($P2192)
+  control_2185:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2131, exception, "payload"
-    .return ($P2131)
+    getattribute $P2193, exception, "payload"
+    .return ($P2193)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("124_1272816841.80681") :method :outer("121_1272816841.80681")
-    .param pmc param_2135
-.annotate "line", 778
-    new $P2134, 'ExceptionHandler'
-    set_addr $P2134, control_2133
-    $P2134."handle_types"(57)
-    push_eh $P2134
-    .lex "self", self
-    .lex "$/", param_2135
-    find_lex $P2136, "$/"
-    find_lex $P2137, "$/"
-    unless_null $P2137, vivify_594
-    $P2137 = root_new ['parrot';'Hash']
-  vivify_594:
-    set $P2138, $P2137["codeblock"]
-    unless_null $P2138, vivify_595
-    new $P2138, "Undef"
-  vivify_595:
-    $P2139 = $P2138."ast"()
-    $P2140 = $P2136."!make"($P2139)
-    .return ($P2140)
-  control_2133:
+.sub "assertion:sym<{ }>"  :subid("128_1273866388.36922") :method :outer("125_1273866388.36922")
+    .param pmc param_2197
+.annotate 'line', 800
+    new $P2196, 'ExceptionHandler'
+    set_addr $P2196, control_2195
+    $P2196."handle_types"(57)
+    push_eh $P2196
+    .lex "self", self
+    .lex "$/", param_2197
+    find_lex $P2198, "$/"
+    find_lex $P2199, "$/"
+    unless_null $P2199, vivify_607
+    $P2199 = root_new ['parrot';'Hash']
+  vivify_607:
+    set $P2200, $P2199["codeblock"]
+    unless_null $P2200, vivify_608
+    new $P2200, "Undef"
+  vivify_608:
+    $P2201 = $P2200."ast"()
+    $P2202 = $P2198."!make"($P2201)
+    .return ($P2202)
+  control_2195:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2141, exception, "payload"
-    .return ($P2141)
+    getattribute $P2203, exception, "payload"
+    .return ($P2203)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("125_1272816841.80681") :method :outer("121_1272816841.80681")
-    .param pmc param_2145
-.annotate "line", 780
-    new $P2144, 'ExceptionHandler'
-    set_addr $P2144, control_2143
-    $P2144."handle_types"(57)
-    push_eh $P2144
-    .lex "self", self
-    .lex "$/", param_2145
-.annotate "line", 781
-    new $P2146, "Undef"
-    .lex "$block", $P2146
-.annotate "line", 783
-    new $P2147, "Undef"
-    .lex "$past", $P2147
-.annotate "line", 781
-    find_lex $P2148, "$/"
-    unless_null $P2148, vivify_596
-    $P2148 = root_new ['parrot';'Hash']
-  vivify_596:
-    set $P2149, $P2148["block"]
-    unless_null $P2149, vivify_597
-    new $P2149, "Undef"
-  vivify_597:
-    $P2150 = $P2149."ast"()
-    store_lex "$block", $P2150
-.annotate "line", 782
-    find_lex $P2151, "$block"
-    $P2151."blocktype"("immediate")
-.annotate "line", 784
-    get_hll_global $P2152, ["PAST"], "Regex"
-.annotate "line", 785
-    get_hll_global $P2153, ["PAST"], "Stmts"
-.annotate "line", 786
-    get_hll_global $P2154, ["PAST"], "Op"
-.annotate "line", 787
-    get_hll_global $P2155, ["PAST"], "Var"
-    $P2156 = $P2155."new"("$/" :named("name"))
-.annotate "line", 788
-    get_hll_global $P2157, ["PAST"], "Op"
-.annotate "line", 789
-    get_hll_global $P2158, ["PAST"], "Var"
-    $P2159 = $P2158."new"(unicode:"$\x{a2}" :named("name"))
-    $P2160 = $P2157."new"($P2159, "MATCH" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 788
-    $P2161 = $P2154."new"($P2156, $P2160, "bind" :named("pasttype"))
-.annotate "line", 786
-    find_lex $P2162, "$block"
-    $P2163 = $P2153."new"($P2161, $P2162)
-.annotate "line", 785
-    $P2164 = $P2152."new"($P2163, "pastnode" :named("pasttype"))
-.annotate "line", 784
-    store_lex "$past", $P2164
-.annotate "line", 799
-    find_lex $P2165, "$/"
-    find_lex $P2166, "$past"
-    $P2167 = $P2165."!make"($P2166)
-.annotate "line", 780
-    .return ($P2167)
-  control_2143:
+.sub "codeblock"  :subid("129_1273866388.36922") :method :outer("125_1273866388.36922")
+    .param pmc param_2207
+.annotate 'line', 802
+    new $P2206, 'ExceptionHandler'
+    set_addr $P2206, control_2205
+    $P2206."handle_types"(57)
+    push_eh $P2206
+    .lex "self", self
+    .lex "$/", param_2207
+.annotate 'line', 803
+    new $P2208, "Undef"
+    .lex "$block", $P2208
+.annotate 'line', 805
+    new $P2209, "Undef"
+    .lex "$past", $P2209
+.annotate 'line', 803
+    find_lex $P2210, "$/"
+    unless_null $P2210, vivify_609
+    $P2210 = root_new ['parrot';'Hash']
+  vivify_609:
+    set $P2211, $P2210["block"]
+    unless_null $P2211, vivify_610
+    new $P2211, "Undef"
+  vivify_610:
+    $P2212 = $P2211."ast"()
+    store_lex "$block", $P2212
+.annotate 'line', 804
+    find_lex $P2213, "$block"
+    $P2213."blocktype"("immediate")
+.annotate 'line', 806
+    get_hll_global $P2214, ["PAST"], "Regex"
+.annotate 'line', 807
+    get_hll_global $P2215, ["PAST"], "Stmts"
+.annotate 'line', 808
+    get_hll_global $P2216, ["PAST"], "Op"
+.annotate 'line', 809
+    get_hll_global $P2217, ["PAST"], "Var"
+    $P2218 = $P2217."new"("$/" :named("name"))
+.annotate 'line', 810
+    get_hll_global $P2219, ["PAST"], "Op"
+.annotate 'line', 811
+    get_hll_global $P2220, ["PAST"], "Var"
+    $P2221 = $P2220."new"(unicode:"$\x{a2}" :named("name"))
+    $P2222 = $P2219."new"($P2221, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 810
+    $P2223 = $P2216."new"($P2218, $P2222, "bind" :named("pasttype"))
+.annotate 'line', 808
+    find_lex $P2224, "$block"
+    $P2225 = $P2215."new"($P2223, $P2224)
+.annotate 'line', 807
+    $P2226 = $P2214."new"($P2225, "pastnode" :named("pasttype"))
+.annotate 'line', 806
+    store_lex "$past", $P2226
+.annotate 'line', 821
+    find_lex $P2227, "$/"
+    find_lex $P2228, "$past"
+    $P2229 = $P2227."!make"($P2228)
+.annotate 'line', 802
+    .return ($P2229)
+  control_2205:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2168, exception, "payload"
-    .return ($P2168)
+    getattribute $P2230, exception, "payload"
+    .return ($P2230)
 .end
 
 ### .include 'src/cheats/nqp-builtins.pir'
@@ -22484,8 +22966,8 @@
     nqpproto.'parsegrammar'($P0)
     $P0 = get_hll_global ['NQP'], 'Actions'
     nqpproto.'parseactions'($P0)
-    $P0 = split ' ', 'e=s help|h target=s dumper=s trace|t=s encoding=s output|o=s combine version|v parsetrace'
-    setattribute nqpproto, '@cmdoptions', $P0
+    $P0 = getattribute nqpproto, '@cmdoptions'
+    push $P0, 'parsetrace'
 .end
 
 .sub 'main' :main

Modified: branches/ops_pct/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/ops_pct/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -16,23 +16,23 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816831.40736")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866368.52252")
+.annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
-.annotate "line", 3
+.annotate 'line', 3
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
     $P579 = $P14()
-.annotate "line", 1
+.annotate 'line', 1
     .return ($P579)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post158") :outer("10_1272816831.40736")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816831.40736" 
+.sub "" :load :init :subid("post158") :outer("10_1273866368.52252")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866368.52252" 
     .local pmc block
     set block, $P12
     $P580 = get_root_global ["parrot"], "P6metaclass"
@@ -41,145 +41,145 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1272816831.40736") :outer("10_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P571 = "156_1272816831.40736" 
+.sub "_block13"  :subid("11_1273866368.52252") :outer("10_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P571 = "156_1273866368.52252" 
     capture_lex $P571
-    .const 'Sub' $P563 = "154_1272816831.40736" 
+    .const 'Sub' $P563 = "154_1273866368.52252" 
     capture_lex $P563
-    .const 'Sub' $P555 = "152_1272816831.40736" 
+    .const 'Sub' $P555 = "152_1273866368.52252" 
     capture_lex $P555
-    .const 'Sub' $P534 = "147_1272816831.40736" 
+    .const 'Sub' $P534 = "147_1273866368.52252" 
     capture_lex $P534
-    .const 'Sub' $P499 = "141_1272816831.40736" 
+    .const 'Sub' $P499 = "141_1273866368.52252" 
     capture_lex $P499
-    .const 'Sub' $P487 = "138_1272816831.40736" 
+    .const 'Sub' $P487 = "138_1273866368.52252" 
     capture_lex $P487
-    .const 'Sub' $P474 = "135_1272816831.40736" 
+    .const 'Sub' $P474 = "135_1273866368.52252" 
     capture_lex $P474
-    .const 'Sub' $P468 = "133_1272816831.40736" 
+    .const 'Sub' $P468 = "133_1273866368.52252" 
     capture_lex $P468
-    .const 'Sub' $P457 = "130_1272816831.40736" 
+    .const 'Sub' $P457 = "130_1273866368.52252" 
     capture_lex $P457
-    .const 'Sub' $P446 = "127_1272816831.40736" 
+    .const 'Sub' $P446 = "127_1273866368.52252" 
     capture_lex $P446
-    .const 'Sub' $P437 = "123_1272816831.40736" 
+    .const 'Sub' $P437 = "123_1273866368.52252" 
     capture_lex $P437
-    .const 'Sub' $P431 = "121_1272816831.40736" 
+    .const 'Sub' $P431 = "121_1273866368.52252" 
     capture_lex $P431
-    .const 'Sub' $P425 = "119_1272816831.40736" 
+    .const 'Sub' $P425 = "119_1273866368.52252" 
     capture_lex $P425
-    .const 'Sub' $P419 = "117_1272816831.40736" 
+    .const 'Sub' $P419 = "117_1273866368.52252" 
     capture_lex $P419
-    .const 'Sub' $P413 = "115_1272816831.40736" 
+    .const 'Sub' $P413 = "115_1273866368.52252" 
     capture_lex $P413
-    .const 'Sub' $P405 = "113_1272816831.40736" 
+    .const 'Sub' $P405 = "113_1273866368.52252" 
     capture_lex $P405
-    .const 'Sub' $P394 = "111_1272816831.40736" 
+    .const 'Sub' $P394 = "111_1273866368.52252" 
     capture_lex $P394
-    .const 'Sub' $P383 = "109_1272816831.40736" 
+    .const 'Sub' $P383 = "109_1273866368.52252" 
     capture_lex $P383
-    .const 'Sub' $P377 = "107_1272816831.40736" 
+    .const 'Sub' $P377 = "107_1273866368.52252" 
     capture_lex $P377
-    .const 'Sub' $P371 = "105_1272816831.40736" 
+    .const 'Sub' $P371 = "105_1273866368.52252" 
     capture_lex $P371
-    .const 'Sub' $P365 = "103_1272816831.40736" 
+    .const 'Sub' $P365 = "103_1273866368.52252" 
     capture_lex $P365
-    .const 'Sub' $P359 = "101_1272816831.40736" 
+    .const 'Sub' $P359 = "101_1273866368.52252" 
     capture_lex $P359
-    .const 'Sub' $P353 = "99_1272816831.40736" 
+    .const 'Sub' $P353 = "99_1273866368.52252" 
     capture_lex $P353
-    .const 'Sub' $P347 = "97_1272816831.40736" 
+    .const 'Sub' $P347 = "97_1273866368.52252" 
     capture_lex $P347
-    .const 'Sub' $P341 = "95_1272816831.40736" 
+    .const 'Sub' $P341 = "95_1273866368.52252" 
     capture_lex $P341
-    .const 'Sub' $P335 = "93_1272816831.40736" 
+    .const 'Sub' $P335 = "93_1273866368.52252" 
     capture_lex $P335
-    .const 'Sub' $P323 = "89_1272816831.40736" 
+    .const 'Sub' $P323 = "89_1273866368.52252" 
     capture_lex $P323
-    .const 'Sub' $P311 = "87_1272816831.40736" 
+    .const 'Sub' $P311 = "87_1273866368.52252" 
     capture_lex $P311
-    .const 'Sub' $P304 = "85_1272816831.40736" 
+    .const 'Sub' $P304 = "85_1273866368.52252" 
     capture_lex $P304
-    .const 'Sub' $P287 = "83_1272816831.40736" 
+    .const 'Sub' $P287 = "83_1273866368.52252" 
     capture_lex $P287
-    .const 'Sub' $P280 = "81_1272816831.40736" 
+    .const 'Sub' $P280 = "81_1273866368.52252" 
     capture_lex $P280
-    .const 'Sub' $P274 = "79_1272816831.40736" 
+    .const 'Sub' $P274 = "79_1273866368.52252" 
     capture_lex $P274
-    .const 'Sub' $P268 = "77_1272816831.40736" 
+    .const 'Sub' $P268 = "77_1273866368.52252" 
     capture_lex $P268
-    .const 'Sub' $P261 = "75_1272816831.40736" 
+    .const 'Sub' $P261 = "75_1273866368.52252" 
     capture_lex $P261
-    .const 'Sub' $P254 = "73_1272816831.40736" 
+    .const 'Sub' $P254 = "73_1273866368.52252" 
     capture_lex $P254
-    .const 'Sub' $P247 = "71_1272816831.40736" 
+    .const 'Sub' $P247 = "71_1273866368.52252" 
     capture_lex $P247
-    .const 'Sub' $P240 = "69_1272816831.40736" 
+    .const 'Sub' $P240 = "69_1273866368.52252" 
     capture_lex $P240
-    .const 'Sub' $P234 = "67_1272816831.40736" 
+    .const 'Sub' $P234 = "67_1273866368.52252" 
     capture_lex $P234
-    .const 'Sub' $P228 = "65_1272816831.40736" 
+    .const 'Sub' $P228 = "65_1273866368.52252" 
     capture_lex $P228
-    .const 'Sub' $P222 = "63_1272816831.40736" 
+    .const 'Sub' $P222 = "63_1273866368.52252" 
     capture_lex $P222
-    .const 'Sub' $P216 = "61_1272816831.40736" 
+    .const 'Sub' $P216 = "61_1273866368.52252" 
     capture_lex $P216
-    .const 'Sub' $P210 = "59_1272816831.40736" 
+    .const 'Sub' $P210 = "59_1273866368.52252" 
     capture_lex $P210
-    .const 'Sub' $P205 = "57_1272816831.40736" 
+    .const 'Sub' $P205 = "57_1273866368.52252" 
     capture_lex $P205
-    .const 'Sub' $P200 = "55_1272816831.40736" 
+    .const 'Sub' $P200 = "55_1273866368.52252" 
     capture_lex $P200
-    .const 'Sub' $P194 = "53_1272816831.40736" 
+    .const 'Sub' $P194 = "53_1273866368.52252" 
     capture_lex $P194
-    .const 'Sub' $P188 = "51_1272816831.40736" 
+    .const 'Sub' $P188 = "51_1273866368.52252" 
     capture_lex $P188
-    .const 'Sub' $P182 = "49_1272816831.40736" 
+    .const 'Sub' $P182 = "49_1273866368.52252" 
     capture_lex $P182
-    .const 'Sub' $P166 = "44_1272816831.40736" 
+    .const 'Sub' $P166 = "44_1273866368.52252" 
     capture_lex $P166
-    .const 'Sub' $P154 = "42_1272816831.40736" 
+    .const 'Sub' $P154 = "42_1273866368.52252" 
     capture_lex $P154
-    .const 'Sub' $P147 = "40_1272816831.40736" 
+    .const 'Sub' $P147 = "40_1273866368.52252" 
     capture_lex $P147
-    .const 'Sub' $P140 = "38_1272816831.40736" 
+    .const 'Sub' $P140 = "38_1273866368.52252" 
     capture_lex $P140
-    .const 'Sub' $P133 = "36_1272816831.40736" 
+    .const 'Sub' $P133 = "36_1273866368.52252" 
     capture_lex $P133
-    .const 'Sub' $P114 = "31_1272816831.40736" 
+    .const 'Sub' $P114 = "31_1273866368.52252" 
     capture_lex $P114
-    .const 'Sub' $P101 = "28_1272816831.40736" 
+    .const 'Sub' $P101 = "28_1273866368.52252" 
     capture_lex $P101
-    .const 'Sub' $P94 = "26_1272816831.40736" 
+    .const 'Sub' $P94 = "26_1273866368.52252" 
     capture_lex $P94
-    .const 'Sub' $P82 = "24_1272816831.40736" 
+    .const 'Sub' $P82 = "24_1273866368.52252" 
     capture_lex $P82
-    .const 'Sub' $P75 = "22_1272816831.40736" 
+    .const 'Sub' $P75 = "22_1273866368.52252" 
     capture_lex $P75
-    .const 'Sub' $P63 = "20_1272816831.40736" 
+    .const 'Sub' $P63 = "20_1273866368.52252" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1272816831.40736" 
+    .const 'Sub' $P56 = "18_1273866368.52252" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1272816831.40736" 
+    .const 'Sub' $P46 = "15_1273866368.52252" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1272816831.40736" 
+    .const 'Sub' $P38 = "13_1273866368.52252" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1272816831.40736" 
+    .const 'Sub' $P15 = "12_1273866368.52252" 
     capture_lex $P15
-    .const 'Sub' $P571 = "156_1272816831.40736" 
+    .const 'Sub' $P571 = "156_1273866368.52252" 
     capture_lex $P571
     .return ($P571)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1272816831.40736") :method :outer("11_1272816831.40736")
+.sub "obs"  :subid("12_1273866368.52252") :method :outer("11_1273866368.52252")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
-.annotate "line", 3
+.annotate 'line', 3
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
     $P17."handle_types"(57)
@@ -193,7 +193,7 @@
     set param_20, $P21
   optparam_159:
     .lex "$when", param_20
-.annotate "line", 4
+.annotate 'line', 4
     find_lex $P22, "self"
     new $P23, "String"
     assign $P23, "Obsolete use of "
@@ -201,7 +201,7 @@
     set $S25, $P24
     concat $P26, $P23, $S25
     concat $P27, $P26, ";"
-.annotate "line", 5
+.annotate 'line', 5
     find_lex $P28, "$when"
     set $S29, $P28
     concat $P30, $P27, $S29
@@ -211,7 +211,7 @@
     concat $P34, $P31, $S33
     concat $P35, $P34, " instead"
     $P36 = $P22."panic"($P35)
-.annotate "line", 3
+.annotate 'line', 3
     .return ($P36)
   control_16:
     .local pmc exception 
@@ -222,8 +222,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "ws"  :subid("13_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
     .local int rx39_off
@@ -253,7 +253,7 @@
     set_addr $I10, rxscan42_loop
     rx39_cur."!mark_push"(0, rx39_pos, $I10)
   rxscan42_done:
-.annotate "line", 8
+.annotate 'line', 8
   # rx rxquantr43 ** 0..*
     set_addr $I45, rxquantr43_done
     rx39_cur."!mark_push"(0, rx39_pos, $I45)
@@ -290,7 +290,7 @@
     rx39_cur."!cursor_debug"("PASS  ", "ws", " at pos=", rx39_pos)
     .return (rx39_cur)
   rx39_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx39_rep, rx39_pos, $I10, $P10) = rx39_cur."!mark_fail"(0)
     lt rx39_pos, -1, rx39_done
     eq rx39_pos, -1, rx39_fail
@@ -304,8 +304,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__ws"  :subid("14_1273866368.52252") :method
+.annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
     .return ($P41)
@@ -313,9 +313,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P52 = "17_1272816831.40736" 
+.sub "normspace"  :subid("15_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P52 = "17_1273866368.52252" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -346,10 +346,10 @@
     set_addr $I10, rxscan50_loop
     rx47_cur."!mark_push"(0, rx47_pos, $I10)
   rxscan50_done:
-.annotate "line", 10
+.annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1272816831.40736" 
+    .const 'Sub' $P52 = "17_1273866368.52252" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -363,7 +363,7 @@
     rx47_cur."!cursor_debug"("PASS  ", "normspace", " at pos=", rx47_pos)
     .return (rx47_cur)
   rx47_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx47_rep, rx47_pos, $I10, $P10) = rx47_cur."!mark_fail"(0)
     lt rx47_pos, -1, rx47_done
     eq rx47_pos, -1, rx47_fail
@@ -377,8 +377,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__normspace"  :subid("16_1273866368.52252") :method
+.annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
     .return ($P49)
@@ -386,8 +386,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1272816831.40736") :method :outer("15_1272816831.40736")
-.annotate "line", 10
+.sub "_block51"  :anon :subid("17_1273866368.52252") :method :outer("15_1273866368.52252")
+.annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
     .local int rx53_off
@@ -454,8 +454,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "arg"  :subid("18_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
     .local int rx57_off
@@ -486,10 +486,10 @@
     rx57_cur."!mark_push"(0, rx57_pos, $I10)
   rxscan60_done:
   alt61_0:
-.annotate "line", 13
+.annotate 'line', 13
     set_addr $I10, alt61_1
     rx57_cur."!mark_push"(0, rx57_pos, $I10)
-.annotate "line", 14
+.annotate 'line', 14
   # rx enumcharlist negate=0 zerowidth
     ge rx57_pos, rx57_eos, rx57_fail
     sub $I10, rx57_pos, rx57_off
@@ -507,7 +507,7 @@
   alt61_1:
     set_addr $I10, alt61_2
     rx57_cur."!mark_push"(0, rx57_pos, $I10)
-.annotate "line", 15
+.annotate 'line', 15
   # rx enumcharlist negate=0 zerowidth
     ge rx57_pos, rx57_eos, rx57_fail
     sub $I10, rx57_pos, rx57_off
@@ -523,7 +523,7 @@
     rx57_pos = $P10."pos"()
     goto alt61_end
   alt61_2:
-.annotate "line", 16
+.annotate 'line', 16
   # rx subcapture "val"
     set_addr $I10, rxcap_62_fail
     rx57_cur."!mark_push"(0, rx57_pos, $I10)
@@ -545,13 +545,13 @@
     goto rx57_fail
   rxcap_62_done:
   alt61_end:
-.annotate "line", 12
+.annotate 'line', 12
   # rx pass
     rx57_cur."!cursor_pass"(rx57_pos, "arg")
     rx57_cur."!cursor_debug"("PASS  ", "arg", " at pos=", rx57_pos)
     .return (rx57_cur)
   rx57_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx57_rep, rx57_pos, $I10, $P10) = rx57_cur."!mark_fail"(0)
     lt rx57_pos, -1, rx57_done
     eq rx57_pos, -1, rx57_fail
@@ -565,8 +565,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__arg"  :subid("19_1273866368.52252") :method
+.annotate 'line', 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
     push $P59, "\""
@@ -576,8 +576,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "arglist"  :subid("20_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx64_tgt
     .local int rx64_pos
     .local int rx64_off
@@ -608,7 +608,7 @@
     set_addr $I10, rxscan67_loop
     rx64_cur."!mark_push"(0, rx64_pos, $I10)
   rxscan67_done:
-.annotate "line", 20
+.annotate 'line', 20
   # rx subrule "ws" subtype=method negate=
     rx64_cur."!cursor_pos"(rx64_pos)
     $P10 = rx64_cur."ws"()
@@ -668,7 +668,7 @@
     rx64_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx64_pos)
     .return (rx64_cur)
   rx64_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx64_rep, rx64_pos, $I10, $P10) = rx64_cur."!mark_fail"(0)
     lt rx64_pos, -1, rx64_done
     eq rx64_pos, -1, rx64_fail
@@ -682,8 +682,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__arglist"  :subid("21_1273866368.52252") :method
+.annotate 'line', 3
     new $P66, "ResizablePMCArray"
     push $P66, ""
     .return ($P66)
@@ -691,8 +691,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "TOP"  :subid("22_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx76_tgt
     .local int rx76_pos
     .local int rx76_off
@@ -722,7 +722,7 @@
     set_addr $I10, rxscan80_loop
     rx76_cur."!mark_push"(0, rx76_pos, $I10)
   rxscan80_done:
-.annotate "line", 23
+.annotate 'line', 23
   # rx subrule "nibbler" subtype=capture negate=
     rx76_cur."!cursor_pos"(rx76_pos)
     $P10 = rx76_cur."nibbler"()
@@ -731,7 +731,7 @@
     $P10."!cursor_names"("nibbler")
     rx76_pos = $P10."pos"()
   alt81_0:
-.annotate "line", 24
+.annotate 'line', 24
     set_addr $I10, alt81_1
     rx76_cur."!mark_push"(0, rx76_pos, $I10)
   # rxanchor eos
@@ -744,13 +744,13 @@
     unless $P10, rx76_fail
     rx76_pos = $P10."pos"()
   alt81_end:
-.annotate "line", 22
+.annotate 'line', 22
   # rx pass
     rx76_cur."!cursor_pass"(rx76_pos, "TOP")
     rx76_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx76_pos)
     .return (rx76_cur)
   rx76_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx76_rep, rx76_pos, $I10, $P10) = rx76_cur."!mark_fail"(0)
     lt rx76_pos, -1, rx76_done
     eq rx76_pos, -1, rx76_fail
@@ -764,8 +764,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__TOP"  :subid("23_1273866368.52252") :method
+.annotate 'line', 3
     $P78 = self."!PREFIX__!subrule"("nibbler", "")
     new $P79, "ResizablePMCArray"
     push $P79, $P78
@@ -774,8 +774,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "nibbler"  :subid("24_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx83_tgt
     .local int rx83_pos
     .local int rx83_off
@@ -806,11 +806,11 @@
     set_addr $I10, rxscan86_loop
     rx83_cur."!mark_push"(0, rx83_pos, $I10)
   rxscan86_done:
-.annotate "line", 28
+.annotate 'line', 28
   # rx reduce name="nibbler" key="open"
     rx83_cur."!cursor_pos"(rx83_pos)
     rx83_cur."!reduce"("nibbler", "open")
-.annotate "line", 29
+.annotate 'line', 29
   # rx rxquantr87 ** 0..1
     set_addr $I89, rxquantr87_done
     rx83_cur."!mark_push"(0, rx83_pos, $I89)
@@ -864,7 +864,7 @@
   alt88_end:
     (rx83_rep) = rx83_cur."!mark_commit"($I89)
   rxquantr87_done:
-.annotate "line", 30
+.annotate 'line', 30
   # rx subrule "termish" subtype=capture negate=
     rx83_cur."!cursor_pos"(rx83_pos)
     $P10 = rx83_cur."termish"()
@@ -872,13 +872,13 @@
     rx83_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
     rx83_pos = $P10."pos"()
-.annotate "line", 33
+.annotate 'line', 33
   # rx rxquantr90 ** 0..*
     set_addr $I93, rxquantr90_done
     rx83_cur."!mark_push"(0, rx83_pos, $I93)
   rxquantr90_loop:
   alt91_0:
-.annotate "line", 31
+.annotate 'line', 31
     set_addr $I10, alt91_1
     rx83_cur."!mark_push"(0, rx83_pos, $I10)
   # rx literal  "||"
@@ -899,7 +899,7 @@
     add rx83_pos, 1
   alt91_end:
   alt92_0:
-.annotate "line", 32
+.annotate 'line', 32
     set_addr $I10, alt92_1
     rx83_cur."!mark_push"(0, rx83_pos, $I10)
   # rx subrule "termish" subtype=capture negate=
@@ -917,18 +917,18 @@
     unless $P10, rx83_fail
     rx83_pos = $P10."pos"()
   alt92_end:
-.annotate "line", 33
+.annotate 'line', 33
     (rx83_rep) = rx83_cur."!mark_commit"($I93)
     rx83_cur."!mark_push"(rx83_rep, rx83_pos, $I93)
     goto rxquantr90_loop
   rxquantr90_done:
-.annotate "line", 27
+.annotate 'line', 27
   # rx pass
     rx83_cur."!cursor_pass"(rx83_pos, "nibbler")
     rx83_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx83_pos)
     .return (rx83_cur)
   rx83_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
     lt rx83_pos, -1, rx83_done
     eq rx83_pos, -1, rx83_fail
@@ -942,8 +942,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__nibbler"  :subid("25_1273866368.52252") :method
+.annotate 'line', 3
     new $P85, "ResizablePMCArray"
     push $P85, ""
     .return ($P85)
@@ -951,8 +951,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "termish"  :subid("26_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx95_tgt
     .local int rx95_pos
     .local int rx95_off
@@ -983,7 +983,7 @@
     set_addr $I10, rxscan98_loop
     rx95_cur."!mark_push"(0, rx95_pos, $I10)
   rxscan98_done:
-.annotate "line", 37
+.annotate 'line', 37
   # rx rxquantr99 ** 1..*
     set_addr $I100, rxquantr99_done
     rx95_cur."!mark_push"(0, -1, $I100)
@@ -999,13 +999,13 @@
     rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I100)
     goto rxquantr99_loop
   rxquantr99_done:
-.annotate "line", 36
+.annotate 'line', 36
   # rx pass
     rx95_cur."!cursor_pass"(rx95_pos, "termish")
     rx95_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx95_pos)
     .return (rx95_cur)
   rx95_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0)
     lt rx95_pos, -1, rx95_done
     eq rx95_pos, -1, rx95_fail
@@ -1019,8 +1019,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__termish"  :subid("27_1273866368.52252") :method
+.annotate 'line', 3
     new $P97, "ResizablePMCArray"
     push $P97, ""
     .return ($P97)
@@ -1028,9 +1028,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P110 = "30_1272816831.40736" 
+.sub "quantified_atom"  :subid("28_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P110 = "30_1273866368.52252" 
     capture_lex $P110
     .local string rx102_tgt
     .local int rx102_pos
@@ -1062,7 +1062,7 @@
     set_addr $I10, rxscan106_loop
     rx102_cur."!mark_push"(0, rx102_pos, $I10)
   rxscan106_done:
-.annotate "line", 41
+.annotate 'line', 41
   # rx subrule "atom" subtype=capture negate=
     rx102_cur."!cursor_pos"(rx102_pos)
     $P10 = rx102_cur."atom"()
@@ -1093,7 +1093,7 @@
   alt108_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1272816831.40736" 
+    .const 'Sub' $P110 = "30_1273866368.52252" 
     capture_lex $P110
     $P10 = rx102_cur."before"($P110)
     unless $P10, rx102_fail
@@ -1111,13 +1111,13 @@
   alt108_end:
     (rx102_rep) = rx102_cur."!mark_commit"($I113)
   rxquantr107_done:
-.annotate "line", 40
+.annotate 'line', 40
   # rx pass
     rx102_cur."!cursor_pass"(rx102_pos, "quantified_atom")
     rx102_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx102_pos)
     .return (rx102_cur)
   rx102_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx102_rep, rx102_pos, $I10, $P10) = rx102_cur."!mark_fail"(0)
     lt rx102_pos, -1, rx102_done
     eq rx102_pos, -1, rx102_fail
@@ -1131,8 +1131,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__quantified_atom"  :subid("29_1273866368.52252") :method
+.annotate 'line', 3
     $P104 = self."!PREFIX__!subrule"("atom", "")
     new $P105, "ResizablePMCArray"
     push $P105, $P104
@@ -1141,8 +1141,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1272816831.40736") :method :outer("28_1272816831.40736")
-.annotate "line", 41
+.sub "_block109"  :anon :subid("30_1273866368.52252") :method :outer("28_1273866368.52252")
+.annotate 'line', 41
     .local string rx111_tgt
     .local int rx111_pos
     .local int rx111_off
@@ -1197,9 +1197,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P125 = "33_1272816831.40736" 
+.sub "atom"  :subid("31_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P125 = "33_1273866368.52252" 
     capture_lex $P125
     .local string rx115_tgt
     .local int rx115_pos
@@ -1231,10 +1231,10 @@
     rx115_cur."!mark_push"(0, rx115_pos, $I10)
   rxscan119_done:
   alt120_0:
-.annotate "line", 46
+.annotate 'line', 46
     set_addr $I10, alt120_1
     rx115_cur."!mark_push"(0, rx115_pos, $I10)
-.annotate "line", 47
+.annotate 'line', 47
   # rx charclass w
     ge rx115_pos, rx115_eos, rx115_fail
     sub $I10, rx115_pos, rx115_off
@@ -1259,7 +1259,7 @@
   rxquantg122_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1272816831.40736" 
+    .const 'Sub' $P125 = "33_1273866368.52252" 
     capture_lex $P125
     $P10 = rx115_cur."before"($P125)
     unless $P10, rx115_fail
@@ -1267,7 +1267,7 @@
   rxquantr121_done:
     goto alt120_end
   alt120_1:
-.annotate "line", 48
+.annotate 'line', 48
   # rx subrule "metachar" subtype=capture negate=
     rx115_cur."!cursor_pos"(rx115_pos)
     $P10 = rx115_cur."metachar"()
@@ -1276,13 +1276,13 @@
     $P10."!cursor_names"("metachar")
     rx115_pos = $P10."pos"()
   alt120_end:
-.annotate "line", 44
+.annotate 'line', 44
   # rx pass
     rx115_cur."!cursor_pass"(rx115_pos, "atom")
     rx115_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx115_pos)
     .return (rx115_cur)
   rx115_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx115_rep, rx115_pos, $I10, $P10) = rx115_cur."!mark_fail"(0)
     lt rx115_pos, -1, rx115_done
     eq rx115_pos, -1, rx115_fail
@@ -1296,8 +1296,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__atom"  :subid("32_1273866368.52252") :method
+.annotate 'line', 3
     $P117 = self."!PREFIX__!subrule"("metachar", "")
     new $P118, "ResizablePMCArray"
     push $P118, $P117
@@ -1307,8 +1307,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1272816831.40736") :method :outer("31_1272816831.40736")
-.annotate "line", 47
+.sub "_block124"  :anon :subid("33_1273866368.52252") :method :outer("31_1273866368.52252")
+.annotate 'line', 47
     .local string rx126_tgt
     .local int rx126_pos
     .local int rx126_off
@@ -1362,24 +1362,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1272816831.40736") :method
-.annotate "line", 52
+.sub "quantifier"  :subid("34_1273866368.52252") :method
+.annotate 'line', 52
     $P130 = self."!protoregex"("quantifier")
     .return ($P130)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1272816831.40736") :method
-.annotate "line", 52
+.sub "!PREFIX__quantifier"  :subid("35_1273866368.52252") :method
+.annotate 'line', 52
     $P132 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P132)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "quantifier:sym<*>"  :subid("36_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx134_tgt
     .local int rx134_pos
     .local int rx134_off
@@ -1409,7 +1409,7 @@
     set_addr $I10, rxscan138_loop
     rx134_cur."!mark_push"(0, rx134_pos, $I10)
   rxscan138_done:
-.annotate "line", 53
+.annotate 'line', 53
   # rx subcapture "sym"
     set_addr $I10, rxcap_139_fail
     rx134_cur."!mark_push"(0, rx134_pos, $I10)
@@ -1443,7 +1443,7 @@
     rx134_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx134_pos)
     .return (rx134_cur)
   rx134_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx134_rep, rx134_pos, $I10, $P10) = rx134_cur."!mark_fail"(0)
     lt rx134_pos, -1, rx134_done
     eq rx134_pos, -1, rx134_fail
@@ -1457,8 +1457,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1273866368.52252") :method
+.annotate 'line', 3
     $P136 = self."!PREFIX__!subrule"("backmod", "*")
     new $P137, "ResizablePMCArray"
     push $P137, $P136
@@ -1467,8 +1467,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "quantifier:sym<+>"  :subid("38_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx141_tgt
     .local int rx141_pos
     .local int rx141_off
@@ -1498,7 +1498,7 @@
     set_addr $I10, rxscan145_loop
     rx141_cur."!mark_push"(0, rx141_pos, $I10)
   rxscan145_done:
-.annotate "line", 54
+.annotate 'line', 54
   # rx subcapture "sym"
     set_addr $I10, rxcap_146_fail
     rx141_cur."!mark_push"(0, rx141_pos, $I10)
@@ -1532,7 +1532,7 @@
     rx141_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx141_pos)
     .return (rx141_cur)
   rx141_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
     lt rx141_pos, -1, rx141_done
     eq rx141_pos, -1, rx141_fail
@@ -1546,8 +1546,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1273866368.52252") :method
+.annotate 'line', 3
     $P143 = self."!PREFIX__!subrule"("backmod", "+")
     new $P144, "ResizablePMCArray"
     push $P144, $P143
@@ -1556,8 +1556,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "quantifier:sym<?>"  :subid("40_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx148_tgt
     .local int rx148_pos
     .local int rx148_off
@@ -1587,7 +1587,7 @@
     set_addr $I10, rxscan152_loop
     rx148_cur."!mark_push"(0, rx148_pos, $I10)
   rxscan152_done:
-.annotate "line", 55
+.annotate 'line', 55
   # rx subcapture "sym"
     set_addr $I10, rxcap_153_fail
     rx148_cur."!mark_push"(0, rx148_pos, $I10)
@@ -1621,7 +1621,7 @@
     rx148_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx148_pos)
     .return (rx148_cur)
   rx148_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx148_rep, rx148_pos, $I10, $P10) = rx148_cur."!mark_fail"(0)
     lt rx148_pos, -1, rx148_done
     eq rx148_pos, -1, rx148_fail
@@ -1635,8 +1635,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1273866368.52252") :method
+.annotate 'line', 3
     $P150 = self."!PREFIX__!subrule"("backmod", "?")
     new $P151, "ResizablePMCArray"
     push $P151, $P150
@@ -1645,8 +1645,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "quantifier:sym<**>"  :subid("42_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx155_tgt
     .local int rx155_pos
     .local int rx155_off
@@ -1677,7 +1677,7 @@
     set_addr $I10, rxscan158_loop
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
   rxscan158_done:
-.annotate "line", 57
+.annotate 'line', 57
   # rx subcapture "sym"
     set_addr $I10, rxcap_159_fail
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
@@ -1715,10 +1715,10 @@
     find_not_cclass $I11, 32, rx155_tgt, $I10, rx155_eos
     add rx155_pos, rx155_off, $I11
   alt160_0:
-.annotate "line", 58
+.annotate 'line', 58
     set_addr $I10, alt160_1
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
-.annotate "line", 59
+.annotate 'line', 59
   # rx subcapture "min"
     set_addr $I10, rxcap_161_fail
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
@@ -1739,12 +1739,12 @@
   rxcap_161_fail:
     goto rx155_fail
   rxcap_161_done:
-.annotate "line", 66
+.annotate 'line', 66
   # rx rxquantr162 ** 0..1
     set_addr $I165, rxquantr162_done
     rx155_cur."!mark_push"(0, rx155_pos, $I165)
   rxquantr162_loop:
-.annotate "line", 60
+.annotate 'line', 60
   # rx literal  ".."
     add $I11, rx155_pos, 2
     gt $I11, rx155_eos, rx155_fail
@@ -1752,14 +1752,14 @@
     substr $S10, rx155_tgt, $I11, 2
     ne $S10, "..", rx155_fail
     add rx155_pos, 2
-.annotate "line", 61
+.annotate 'line', 61
   # rx subcapture "max"
     set_addr $I10, rxcap_164_fail
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
   alt163_0:
     set_addr $I10, alt163_1
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
-.annotate "line", 62
+.annotate 'line', 62
   # rx charclass_q d r 1..-1
     sub $I10, rx155_pos, rx155_off
     find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
@@ -1770,7 +1770,7 @@
   alt163_1:
     set_addr $I10, alt163_2
     rx155_cur."!mark_push"(0, rx155_pos, $I10)
-.annotate "line", 63
+.annotate 'line', 63
   # rx literal  "*"
     add $I11, rx155_pos, 1
     gt $I11, rx155_eos, rx155_fail
@@ -1780,14 +1780,14 @@
     add rx155_pos, 1
     goto alt163_end
   alt163_2:
-.annotate "line", 64
+.annotate 'line', 64
   # rx subrule "panic" subtype=method negate=
     rx155_cur."!cursor_pos"(rx155_pos)
     $P10 = rx155_cur."panic"("Only integers or '*' allowed as range quantifier endpoint")
     unless $P10, rx155_fail
     rx155_pos = $P10."pos"()
   alt163_end:
-.annotate "line", 61
+.annotate 'line', 61
     set_addr $I10, rxcap_164_fail
     ($I12, $I11) = rx155_cur."!mark_peek"($I10)
     rx155_cur."!cursor_pos"($I11)
@@ -1799,13 +1799,13 @@
   rxcap_164_fail:
     goto rx155_fail
   rxcap_164_done:
-.annotate "line", 66
+.annotate 'line', 66
     (rx155_rep) = rx155_cur."!mark_commit"($I165)
   rxquantr162_done:
-.annotate "line", 59
+.annotate 'line', 59
     goto alt160_end
   alt160_1:
-.annotate "line", 67
+.annotate 'line', 67
   # rx subrule "quantified_atom" subtype=capture negate=
     rx155_cur."!cursor_pos"(rx155_pos)
     $P10 = rx155_cur."quantified_atom"()
@@ -1814,13 +1814,13 @@
     $P10."!cursor_names"("quantified_atom")
     rx155_pos = $P10."pos"()
   alt160_end:
-.annotate "line", 56
+.annotate 'line', 56
   # rx pass
     rx155_cur."!cursor_pass"(rx155_pos, "quantifier:sym<**>")
     rx155_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx155_pos)
     .return (rx155_cur)
   rx155_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx155_rep, rx155_pos, $I10, $P10) = rx155_cur."!mark_fail"(0)
     lt rx155_pos, -1, rx155_done
     eq rx155_pos, -1, rx155_fail
@@ -1834,8 +1834,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1273866368.52252") :method
+.annotate 'line', 3
     new $P157, "ResizablePMCArray"
     push $P157, "**"
     .return ($P157)
@@ -1843,9 +1843,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P175 = "46_1272816831.40736" 
+.sub "backmod"  :subid("44_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P175 = "46_1273866368.52252" 
     capture_lex $P175
     .local string rx167_tgt
     .local int rx167_pos
@@ -1876,7 +1876,7 @@
     set_addr $I10, rxscan170_loop
     rx167_cur."!mark_push"(0, rx167_pos, $I10)
   rxscan170_done:
-.annotate "line", 71
+.annotate 'line', 71
   # rx rxquantr171 ** 0..1
     set_addr $I172, rxquantr171_done
     rx167_cur."!mark_push"(0, rx167_pos, $I172)
@@ -1915,7 +1915,7 @@
   alt173_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P175 = "46_1272816831.40736" 
+    .const 'Sub' $P175 = "46_1273866368.52252" 
     capture_lex $P175
     $P10 = rx167_cur."before"($P175)
     if $P10, rx167_fail
@@ -1925,7 +1925,7 @@
     rx167_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx167_pos)
     .return (rx167_cur)
   rx167_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx167_rep, rx167_pos, $I10, $P10) = rx167_cur."!mark_fail"(0)
     lt rx167_pos, -1, rx167_done
     eq rx167_pos, -1, rx167_fail
@@ -1939,8 +1939,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backmod"  :subid("45_1273866368.52252") :method
+.annotate 'line', 3
     new $P169, "ResizablePMCArray"
     push $P169, ""
     .return ($P169)
@@ -1948,8 +1948,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174"  :anon :subid("46_1272816831.40736") :method :outer("44_1272816831.40736")
-.annotate "line", 71
+.sub "_block174"  :anon :subid("46_1273866368.52252") :method :outer("44_1273866368.52252")
+.annotate 'line', 71
     .local string rx176_tgt
     .local int rx176_pos
     .local int rx176_off
@@ -2004,24 +2004,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1272816831.40736") :method
-.annotate "line", 73
+.sub "metachar"  :subid("47_1273866368.52252") :method
+.annotate 'line', 73
     $P179 = self."!protoregex"("metachar")
     .return ($P179)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1272816831.40736") :method
-.annotate "line", 73
+.sub "!PREFIX__metachar"  :subid("48_1273866368.52252") :method
+.annotate 'line', 73
     $P181 = self."!PREFIX__!protoregex"("metachar")
     .return ($P181)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<ws>"  :subid("49_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx183_tgt
     .local int rx183_pos
     .local int rx183_off
@@ -2051,7 +2051,7 @@
     set_addr $I10, rxscan187_loop
     rx183_cur."!mark_push"(0, rx183_pos, $I10)
   rxscan187_done:
-.annotate "line", 74
+.annotate 'line', 74
   # rx subrule "normspace" subtype=method negate=
     rx183_cur."!cursor_pos"(rx183_pos)
     $P10 = rx183_cur."normspace"()
@@ -2062,7 +2062,7 @@
     rx183_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx183_pos)
     .return (rx183_cur)
   rx183_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx183_rep, rx183_pos, $I10, $P10) = rx183_cur."!mark_fail"(0)
     lt rx183_pos, -1, rx183_done
     eq rx183_pos, -1, rx183_fail
@@ -2076,8 +2076,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1273866368.52252") :method
+.annotate 'line', 3
     $P185 = self."!PREFIX__!subrule"("", "")
     new $P186, "ResizablePMCArray"
     push $P186, $P185
@@ -2086,8 +2086,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<[ ]>"  :subid("51_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx189_tgt
     .local int rx189_pos
     .local int rx189_off
@@ -2117,7 +2117,7 @@
     set_addr $I10, rxscan193_loop
     rx189_cur."!mark_push"(0, rx189_pos, $I10)
   rxscan193_done:
-.annotate "line", 75
+.annotate 'line', 75
   # rx literal  "["
     add $I11, rx189_pos, 1
     gt $I11, rx189_eos, rx189_fail
@@ -2144,7 +2144,7 @@
     rx189_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx189_pos)
     .return (rx189_cur)
   rx189_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0)
     lt rx189_pos, -1, rx189_done
     eq rx189_pos, -1, rx189_fail
@@ -2158,8 +2158,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1273866368.52252") :method
+.annotate 'line', 3
     $P191 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P192, "ResizablePMCArray"
     push $P192, $P191
@@ -2168,8 +2168,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<( )>"  :subid("53_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx195_tgt
     .local int rx195_pos
     .local int rx195_off
@@ -2199,7 +2199,7 @@
     set_addr $I10, rxscan199_loop
     rx195_cur."!mark_push"(0, rx195_pos, $I10)
   rxscan199_done:
-.annotate "line", 76
+.annotate 'line', 76
   # rx literal  "("
     add $I11, rx195_pos, 1
     gt $I11, rx195_eos, rx195_fail
@@ -2226,7 +2226,7 @@
     rx195_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx195_pos)
     .return (rx195_cur)
   rx195_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx195_rep, rx195_pos, $I10, $P10) = rx195_cur."!mark_fail"(0)
     lt rx195_pos, -1, rx195_done
     eq rx195_pos, -1, rx195_fail
@@ -2240,8 +2240,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1273866368.52252") :method
+.annotate 'line', 3
     $P197 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P198, "ResizablePMCArray"
     push $P198, $P197
@@ -2250,8 +2250,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<'>"  :subid("55_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx201_tgt
     .local int rx201_pos
     .local int rx201_off
@@ -2281,7 +2281,7 @@
     set_addr $I10, rxscan204_loop
     rx201_cur."!mark_push"(0, rx201_pos, $I10)
   rxscan204_done:
-.annotate "line", 77
+.annotate 'line', 77
   # rx enumcharlist negate=0 zerowidth
     ge rx201_pos, rx201_eos, rx201_fail
     sub $I10, rx201_pos, rx201_off
@@ -2300,7 +2300,7 @@
     rx201_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx201_pos)
     .return (rx201_cur)
   rx201_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx201_rep, rx201_pos, $I10, $P10) = rx201_cur."!mark_fail"(0)
     lt rx201_pos, -1, rx201_done
     eq rx201_pos, -1, rx201_fail
@@ -2314,8 +2314,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1273866368.52252") :method
+.annotate 'line', 3
     new $P203, "ResizablePMCArray"
     push $P203, "'"
     .return ($P203)
@@ -2323,8 +2323,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<\">"  :subid("57_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx206_tgt
     .local int rx206_pos
     .local int rx206_off
@@ -2354,7 +2354,7 @@
     set_addr $I10, rxscan209_loop
     rx206_cur."!mark_push"(0, rx206_pos, $I10)
   rxscan209_done:
-.annotate "line", 78
+.annotate 'line', 78
   # rx enumcharlist negate=0 zerowidth
     ge rx206_pos, rx206_eos, rx206_fail
     sub $I10, rx206_pos, rx206_off
@@ -2373,7 +2373,7 @@
     rx206_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx206_pos)
     .return (rx206_cur)
   rx206_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
     lt rx206_pos, -1, rx206_done
     eq rx206_pos, -1, rx206_fail
@@ -2387,8 +2387,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1273866368.52252") :method
+.annotate 'line', 3
     new $P208, "ResizablePMCArray"
     push $P208, "\""
     .return ($P208)
@@ -2396,8 +2396,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<.>"  :subid("59_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx211_tgt
     .local int rx211_pos
     .local int rx211_off
@@ -2427,7 +2427,7 @@
     set_addr $I10, rxscan214_loop
     rx211_cur."!mark_push"(0, rx211_pos, $I10)
   rxscan214_done:
-.annotate "line", 79
+.annotate 'line', 79
   # rx subcapture "sym"
     set_addr $I10, rxcap_215_fail
     rx211_cur."!mark_push"(0, rx211_pos, $I10)
@@ -2454,7 +2454,7 @@
     rx211_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx211_pos)
     .return (rx211_cur)
   rx211_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0)
     lt rx211_pos, -1, rx211_done
     eq rx211_pos, -1, rx211_fail
@@ -2468,8 +2468,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1273866368.52252") :method
+.annotate 'line', 3
     new $P213, "ResizablePMCArray"
     push $P213, "."
     .return ($P213)
@@ -2477,8 +2477,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<^>"  :subid("61_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx217_tgt
     .local int rx217_pos
     .local int rx217_off
@@ -2508,7 +2508,7 @@
     set_addr $I10, rxscan220_loop
     rx217_cur."!mark_push"(0, rx217_pos, $I10)
   rxscan220_done:
-.annotate "line", 80
+.annotate 'line', 80
   # rx subcapture "sym"
     set_addr $I10, rxcap_221_fail
     rx217_cur."!mark_push"(0, rx217_pos, $I10)
@@ -2535,7 +2535,7 @@
     rx217_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx217_pos)
     .return (rx217_cur)
   rx217_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx217_rep, rx217_pos, $I10, $P10) = rx217_cur."!mark_fail"(0)
     lt rx217_pos, -1, rx217_done
     eq rx217_pos, -1, rx217_fail
@@ -2549,8 +2549,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1273866368.52252") :method
+.annotate 'line', 3
     new $P219, "ResizablePMCArray"
     push $P219, "^"
     .return ($P219)
@@ -2558,8 +2558,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<^^>"  :subid("63_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx223_tgt
     .local int rx223_pos
     .local int rx223_off
@@ -2589,7 +2589,7 @@
     set_addr $I10, rxscan226_loop
     rx223_cur."!mark_push"(0, rx223_pos, $I10)
   rxscan226_done:
-.annotate "line", 81
+.annotate 'line', 81
   # rx subcapture "sym"
     set_addr $I10, rxcap_227_fail
     rx223_cur."!mark_push"(0, rx223_pos, $I10)
@@ -2616,7 +2616,7 @@
     rx223_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx223_pos)
     .return (rx223_cur)
   rx223_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx223_rep, rx223_pos, $I10, $P10) = rx223_cur."!mark_fail"(0)
     lt rx223_pos, -1, rx223_done
     eq rx223_pos, -1, rx223_fail
@@ -2630,8 +2630,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1273866368.52252") :method
+.annotate 'line', 3
     new $P225, "ResizablePMCArray"
     push $P225, "^^"
     .return ($P225)
@@ -2639,8 +2639,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<$>"  :subid("65_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx229_tgt
     .local int rx229_pos
     .local int rx229_off
@@ -2670,7 +2670,7 @@
     set_addr $I10, rxscan232_loop
     rx229_cur."!mark_push"(0, rx229_pos, $I10)
   rxscan232_done:
-.annotate "line", 82
+.annotate 'line', 82
   # rx subcapture "sym"
     set_addr $I10, rxcap_233_fail
     rx229_cur."!mark_push"(0, rx229_pos, $I10)
@@ -2697,7 +2697,7 @@
     rx229_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx229_pos)
     .return (rx229_cur)
   rx229_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx229_rep, rx229_pos, $I10, $P10) = rx229_cur."!mark_fail"(0)
     lt rx229_pos, -1, rx229_done
     eq rx229_pos, -1, rx229_fail
@@ -2711,8 +2711,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1273866368.52252") :method
+.annotate 'line', 3
     new $P231, "ResizablePMCArray"
     push $P231, "$"
     .return ($P231)
@@ -2720,8 +2720,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<$$>"  :subid("67_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx235_tgt
     .local int rx235_pos
     .local int rx235_off
@@ -2751,7 +2751,7 @@
     set_addr $I10, rxscan238_loop
     rx235_cur."!mark_push"(0, rx235_pos, $I10)
   rxscan238_done:
-.annotate "line", 83
+.annotate 'line', 83
   # rx subcapture "sym"
     set_addr $I10, rxcap_239_fail
     rx235_cur."!mark_push"(0, rx235_pos, $I10)
@@ -2778,7 +2778,7 @@
     rx235_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx235_pos)
     .return (rx235_cur)
   rx235_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx235_rep, rx235_pos, $I10, $P10) = rx235_cur."!mark_fail"(0)
     lt rx235_pos, -1, rx235_done
     eq rx235_pos, -1, rx235_fail
@@ -2792,8 +2792,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1273866368.52252") :method
+.annotate 'line', 3
     new $P237, "ResizablePMCArray"
     push $P237, "$$"
     .return ($P237)
@@ -2801,8 +2801,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<:::>"  :subid("69_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx241_tgt
     .local int rx241_pos
     .local int rx241_off
@@ -2832,7 +2832,7 @@
     set_addr $I10, rxscan245_loop
     rx241_cur."!mark_push"(0, rx241_pos, $I10)
   rxscan245_done:
-.annotate "line", 84
+.annotate 'line', 84
   # rx subcapture "sym"
     set_addr $I10, rxcap_246_fail
     rx241_cur."!mark_push"(0, rx241_pos, $I10)
@@ -2864,7 +2864,7 @@
     rx241_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx241_pos)
     .return (rx241_cur)
   rx241_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx241_rep, rx241_pos, $I10, $P10) = rx241_cur."!mark_fail"(0)
     lt rx241_pos, -1, rx241_done
     eq rx241_pos, -1, rx241_fail
@@ -2878,8 +2878,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1273866368.52252") :method
+.annotate 'line', 3
     $P243 = self."!PREFIX__!subrule"("", ":::")
     new $P244, "ResizablePMCArray"
     push $P244, $P243
@@ -2888,8 +2888,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<::>"  :subid("71_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx248_tgt
     .local int rx248_pos
     .local int rx248_off
@@ -2919,7 +2919,7 @@
     set_addr $I10, rxscan252_loop
     rx248_cur."!mark_push"(0, rx248_pos, $I10)
   rxscan252_done:
-.annotate "line", 85
+.annotate 'line', 85
   # rx subcapture "sym"
     set_addr $I10, rxcap_253_fail
     rx248_cur."!mark_push"(0, rx248_pos, $I10)
@@ -2951,7 +2951,7 @@
     rx248_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx248_pos)
     .return (rx248_cur)
   rx248_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx248_rep, rx248_pos, $I10, $P10) = rx248_cur."!mark_fail"(0)
     lt rx248_pos, -1, rx248_done
     eq rx248_pos, -1, rx248_fail
@@ -2965,8 +2965,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1273866368.52252") :method
+.annotate 'line', 3
     $P250 = self."!PREFIX__!subrule"("", "::")
     new $P251, "ResizablePMCArray"
     push $P251, $P250
@@ -2975,8 +2975,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<lwb>"  :subid("73_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx255_tgt
     .local int rx255_pos
     .local int rx255_off
@@ -3006,7 +3006,7 @@
     set_addr $I10, rxscan258_loop
     rx255_cur."!mark_push"(0, rx255_pos, $I10)
   rxscan258_done:
-.annotate "line", 86
+.annotate 'line', 86
   # rx subcapture "sym"
     set_addr $I10, rxcap_260_fail
     rx255_cur."!mark_push"(0, rx255_pos, $I10)
@@ -3046,7 +3046,7 @@
     rx255_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx255_pos)
     .return (rx255_cur)
   rx255_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
     lt rx255_pos, -1, rx255_done
     eq rx255_pos, -1, rx255_fail
@@ -3060,8 +3060,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1273866368.52252") :method
+.annotate 'line', 3
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\x{ab}"
     push $P257, "<<"
@@ -3070,8 +3070,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<rwb>"  :subid("75_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx262_tgt
     .local int rx262_pos
     .local int rx262_off
@@ -3101,7 +3101,7 @@
     set_addr $I10, rxscan265_loop
     rx262_cur."!mark_push"(0, rx262_pos, $I10)
   rxscan265_done:
-.annotate "line", 87
+.annotate 'line', 87
   # rx subcapture "sym"
     set_addr $I10, rxcap_267_fail
     rx262_cur."!mark_push"(0, rx262_pos, $I10)
@@ -3141,7 +3141,7 @@
     rx262_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx262_pos)
     .return (rx262_cur)
   rx262_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx262_rep, rx262_pos, $I10, $P10) = rx262_cur."!mark_fail"(0)
     lt rx262_pos, -1, rx262_done
     eq rx262_pos, -1, rx262_fail
@@ -3155,8 +3155,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1273866368.52252") :method
+.annotate 'line', 3
     new $P264, "ResizablePMCArray"
     push $P264, unicode:"\x{bb}"
     push $P264, ">>"
@@ -3165,8 +3165,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<bs>"  :subid("77_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx269_tgt
     .local int rx269_pos
     .local int rx269_off
@@ -3196,7 +3196,7 @@
     set_addr $I10, rxscan273_loop
     rx269_cur."!mark_push"(0, rx269_pos, $I10)
   rxscan273_done:
-.annotate "line", 88
+.annotate 'line', 88
   # rx literal  "\\"
     add $I11, rx269_pos, 1
     gt $I11, rx269_eos, rx269_fail
@@ -3216,7 +3216,7 @@
     rx269_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx269_pos)
     .return (rx269_cur)
   rx269_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx269_rep, rx269_pos, $I10, $P10) = rx269_cur."!mark_fail"(0)
     lt rx269_pos, -1, rx269_done
     eq rx269_pos, -1, rx269_fail
@@ -3230,8 +3230,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1273866368.52252") :method
+.annotate 'line', 3
     $P271 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P272, "ResizablePMCArray"
     push $P272, $P271
@@ -3240,8 +3240,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<mod>"  :subid("79_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx275_tgt
     .local int rx275_pos
     .local int rx275_off
@@ -3271,7 +3271,7 @@
     set_addr $I10, rxscan279_loop
     rx275_cur."!mark_push"(0, rx275_pos, $I10)
   rxscan279_done:
-.annotate "line", 89
+.annotate 'line', 89
   # rx subrule "mod_internal" subtype=capture negate=
     rx275_cur."!cursor_pos"(rx275_pos)
     $P10 = rx275_cur."mod_internal"()
@@ -3284,7 +3284,7 @@
     rx275_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx275_pos)
     .return (rx275_cur)
   rx275_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx275_rep, rx275_pos, $I10, $P10) = rx275_cur."!mark_fail"(0)
     lt rx275_pos, -1, rx275_done
     eq rx275_pos, -1, rx275_fail
@@ -3298,8 +3298,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1273866368.52252") :method
+.annotate 'line', 3
     $P277 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P278, "ResizablePMCArray"
     push $P278, $P277
@@ -3308,8 +3308,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<~>"  :subid("81_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx281_tgt
     .local int rx281_pos
     .local int rx281_off
@@ -3339,7 +3339,7 @@
     set_addr $I10, rxscan285_loop
     rx281_cur."!mark_push"(0, rx281_pos, $I10)
   rxscan285_done:
-.annotate "line", 93
+.annotate 'line', 93
   # rx subcapture "sym"
     set_addr $I10, rxcap_286_fail
     rx281_cur."!mark_push"(0, rx281_pos, $I10)
@@ -3361,7 +3361,7 @@
   rxcap_286_fail:
     goto rx281_fail
   rxcap_286_done:
-.annotate "line", 94
+.annotate 'line', 94
   # rx subrule "ws" subtype=method negate=
     rx281_cur."!cursor_pos"(rx281_pos)
     $P10 = rx281_cur."ws"()
@@ -3374,7 +3374,7 @@
     rx281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("GOAL")
     rx281_pos = $P10."pos"()
-.annotate "line", 95
+.annotate 'line', 95
   # rx subrule "ws" subtype=method negate=
     rx281_cur."!cursor_pos"(rx281_pos)
     $P10 = rx281_cur."ws"()
@@ -3387,13 +3387,13 @@
     rx281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
     rx281_pos = $P10."pos"()
-.annotate "line", 92
+.annotate 'line', 92
   # rx pass
     rx281_cur."!cursor_pass"(rx281_pos, "metachar:sym<~>")
     rx281_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx281_pos)
     .return (rx281_cur)
   rx281_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx281_rep, rx281_pos, $I10, $P10) = rx281_cur."!mark_fail"(0)
     lt rx281_pos, -1, rx281_done
     eq rx281_pos, -1, rx281_fail
@@ -3407,8 +3407,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1273866368.52252") :method
+.annotate 'line', 3
     $P283 = self."!PREFIX__!subrule"("", "~")
     new $P284, "ResizablePMCArray"
     push $P284, $P283
@@ -3417,8 +3417,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<{*}>"  :subid("83_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx288_tgt
     .local int rx288_pos
     .local int rx288_off
@@ -3449,7 +3449,7 @@
     set_addr $I10, rxscan291_loop
     rx288_cur."!mark_push"(0, rx288_pos, $I10)
   rxscan291_done:
-.annotate "line", 99
+.annotate 'line', 99
   # rx subcapture "sym"
     set_addr $I10, rxcap_292_fail
     rx288_cur."!mark_push"(0, rx288_pos, $I10)
@@ -3471,7 +3471,7 @@
   rxcap_292_fail:
     goto rx288_fail
   rxcap_292_done:
-.annotate "line", 100
+.annotate 'line', 100
   # rx rxquantr293 ** 0..1
     set_addr $I303, rxquantr293_done
     rx288_cur."!mark_push"(0, rx288_pos, $I303)
@@ -3564,13 +3564,13 @@
   rxcap_302_done:
     (rx288_rep) = rx288_cur."!mark_commit"($I303)
   rxquantr293_done:
-.annotate "line", 98
+.annotate 'line', 98
   # rx pass
     rx288_cur."!cursor_pass"(rx288_pos, "metachar:sym<{*}>")
     rx288_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx288_pos)
     .return (rx288_cur)
   rx288_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx288_rep, rx288_pos, $I10, $P10) = rx288_cur."!mark_fail"(0)
     lt rx288_pos, -1, rx288_done
     eq rx288_pos, -1, rx288_fail
@@ -3584,8 +3584,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1273866368.52252") :method
+.annotate 'line', 3
     new $P290, "ResizablePMCArray"
     push $P290, "{*}"
     .return ($P290)
@@ -3593,8 +3593,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<assert>"  :subid("85_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx305_tgt
     .local int rx305_pos
     .local int rx305_off
@@ -3624,7 +3624,7 @@
     set_addr $I10, rxscan309_loop
     rx305_cur."!mark_push"(0, rx305_pos, $I10)
   rxscan309_done:
-.annotate "line", 103
+.annotate 'line', 103
   # rx literal  "<"
     add $I11, rx305_pos, 1
     gt $I11, rx305_eos, rx305_fail
@@ -3640,7 +3640,7 @@
     $P10."!cursor_names"("assertion")
     rx305_pos = $P10."pos"()
   alt310_0:
-.annotate "line", 104
+.annotate 'line', 104
     set_addr $I10, alt310_1
     rx305_cur."!mark_push"(0, rx305_pos, $I10)
   # rx literal  ">"
@@ -3658,13 +3658,13 @@
     unless $P10, rx305_fail
     rx305_pos = $P10."pos"()
   alt310_end:
-.annotate "line", 102
+.annotate 'line', 102
   # rx pass
     rx305_cur."!cursor_pass"(rx305_pos, "metachar:sym<assert>")
     rx305_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx305_pos)
     .return (rx305_cur)
   rx305_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx305_rep, rx305_pos, $I10, $P10) = rx305_cur."!mark_fail"(0)
     lt rx305_pos, -1, rx305_done
     eq rx305_pos, -1, rx305_fail
@@ -3678,8 +3678,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1273866368.52252") :method
+.annotate 'line', 3
     $P307 = self."!PREFIX__!subrule"("assertion", "<")
     new $P308, "ResizablePMCArray"
     push $P308, $P307
@@ -3688,8 +3688,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<var>"  :subid("87_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx312_tgt
     .local int rx312_pos
     .local int rx312_off
@@ -3721,10 +3721,10 @@
     rx312_cur."!mark_push"(0, rx312_pos, $I10)
   rxscan315_done:
   alt316_0:
-.annotate "line", 108
+.annotate 'line', 108
     set_addr $I10, alt316_1
     rx312_cur."!mark_push"(0, rx312_pos, $I10)
-.annotate "line", 109
+.annotate 'line', 109
   # rx literal  "$<"
     add $I11, rx312_pos, 2
     gt $I11, rx312_eos, rx312_fail
@@ -3770,7 +3770,7 @@
     add rx312_pos, 1
     goto alt316_end
   alt316_1:
-.annotate "line", 110
+.annotate 'line', 110
   # rx literal  "$"
     add $I11, rx312_pos, 1
     gt $I11, rx312_eos, rx312_fail
@@ -3799,7 +3799,7 @@
     goto rx312_fail
   rxcap_320_done:
   alt316_end:
-.annotate "line", 113
+.annotate 'line', 113
   # rx rxquantr321 ** 0..1
     set_addr $I322, rxquantr321_done
     rx312_cur."!mark_push"(0, rx312_pos, $I322)
@@ -3830,13 +3830,13 @@
     rx312_pos = $P10."pos"()
     (rx312_rep) = rx312_cur."!mark_commit"($I322)
   rxquantr321_done:
-.annotate "line", 107
+.annotate 'line', 107
   # rx pass
     rx312_cur."!cursor_pass"(rx312_pos, "metachar:sym<var>")
     rx312_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx312_pos)
     .return (rx312_cur)
   rx312_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx312_rep, rx312_pos, $I10, $P10) = rx312_cur."!mark_fail"(0)
     lt rx312_pos, -1, rx312_done
     eq rx312_pos, -1, rx312_fail
@@ -3850,8 +3850,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1273866368.52252") :method
+.annotate 'line', 3
     new $P314, "ResizablePMCArray"
     push $P314, "$"
     push $P314, "$<"
@@ -3860,8 +3860,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "metachar:sym<PIR>"  :subid("89_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx324_tgt
     .local int rx324_pos
     .local int rx324_off
@@ -3891,7 +3891,7 @@
     set_addr $I10, rxscan327_loop
     rx324_cur."!mark_push"(0, rx324_pos, $I10)
   rxscan327_done:
-.annotate "line", 117
+.annotate 'line', 117
   # rx literal  ":PIR{{"
     add $I11, rx324_pos, 6
     gt $I11, rx324_eos, rx324_fail
@@ -3931,13 +3931,13 @@
     substr $S10, rx324_tgt, $I11, 2
     ne $S10, "}}", rx324_fail
     add rx324_pos, 2
-.annotate "line", 116
+.annotate 'line', 116
   # rx pass
     rx324_cur."!cursor_pass"(rx324_pos, "metachar:sym<PIR>")
     rx324_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx324_pos)
     .return (rx324_cur)
   rx324_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx324_rep, rx324_pos, $I10, $P10) = rx324_cur."!mark_fail"(0)
     lt rx324_pos, -1, rx324_done
     eq rx324_pos, -1, rx324_fail
@@ -3951,8 +3951,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1273866368.52252") :method
+.annotate 'line', 3
     new $P326, "ResizablePMCArray"
     push $P326, ":PIR{{"
     .return ($P326)
@@ -3960,24 +3960,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1272816831.40736") :method
-.annotate "line", 120
+.sub "backslash"  :subid("91_1273866368.52252") :method
+.annotate 'line', 120
     $P332 = self."!protoregex"("backslash")
     .return ($P332)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1272816831.40736") :method
-.annotate "line", 120
+.sub "!PREFIX__backslash"  :subid("92_1273866368.52252") :method
+.annotate 'line', 120
     $P334 = self."!PREFIX__!protoregex"("backslash")
     .return ($P334)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<w>"  :subid("93_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx336_tgt
     .local int rx336_pos
     .local int rx336_off
@@ -4007,7 +4007,7 @@
     set_addr $I10, rxscan339_loop
     rx336_cur."!mark_push"(0, rx336_pos, $I10)
   rxscan339_done:
-.annotate "line", 121
+.annotate 'line', 121
   # rx subcapture "sym"
     set_addr $I10, rxcap_340_fail
     rx336_cur."!mark_push"(0, rx336_pos, $I10)
@@ -4034,7 +4034,7 @@
     rx336_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx336_pos)
     .return (rx336_cur)
   rx336_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx336_rep, rx336_pos, $I10, $P10) = rx336_cur."!mark_fail"(0)
     lt rx336_pos, -1, rx336_done
     eq rx336_pos, -1, rx336_fail
@@ -4048,8 +4048,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1273866368.52252") :method
+.annotate 'line', 3
     new $P338, "ResizablePMCArray"
     push $P338, "N"
     push $P338, "W"
@@ -4064,8 +4064,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<b>"  :subid("95_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx342_tgt
     .local int rx342_pos
     .local int rx342_off
@@ -4095,7 +4095,7 @@
     set_addr $I10, rxscan345_loop
     rx342_cur."!mark_push"(0, rx342_pos, $I10)
   rxscan345_done:
-.annotate "line", 122
+.annotate 'line', 122
   # rx subcapture "sym"
     set_addr $I10, rxcap_346_fail
     rx342_cur."!mark_push"(0, rx342_pos, $I10)
@@ -4122,7 +4122,7 @@
     rx342_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx342_pos)
     .return (rx342_cur)
   rx342_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx342_rep, rx342_pos, $I10, $P10) = rx342_cur."!mark_fail"(0)
     lt rx342_pos, -1, rx342_done
     eq rx342_pos, -1, rx342_fail
@@ -4136,8 +4136,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1273866368.52252") :method
+.annotate 'line', 3
     new $P344, "ResizablePMCArray"
     push $P344, "B"
     push $P344, "b"
@@ -4146,8 +4146,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<e>"  :subid("97_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx348_tgt
     .local int rx348_pos
     .local int rx348_off
@@ -4177,7 +4177,7 @@
     set_addr $I10, rxscan351_loop
     rx348_cur."!mark_push"(0, rx348_pos, $I10)
   rxscan351_done:
-.annotate "line", 123
+.annotate 'line', 123
   # rx subcapture "sym"
     set_addr $I10, rxcap_352_fail
     rx348_cur."!mark_push"(0, rx348_pos, $I10)
@@ -4204,7 +4204,7 @@
     rx348_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx348_pos)
     .return (rx348_cur)
   rx348_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx348_rep, rx348_pos, $I10, $P10) = rx348_cur."!mark_fail"(0)
     lt rx348_pos, -1, rx348_done
     eq rx348_pos, -1, rx348_fail
@@ -4218,8 +4218,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1273866368.52252") :method
+.annotate 'line', 3
     new $P350, "ResizablePMCArray"
     push $P350, "E"
     push $P350, "e"
@@ -4228,8 +4228,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<f>"  :subid("99_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx354_tgt
     .local int rx354_pos
     .local int rx354_off
@@ -4259,7 +4259,7 @@
     set_addr $I10, rxscan357_loop
     rx354_cur."!mark_push"(0, rx354_pos, $I10)
   rxscan357_done:
-.annotate "line", 124
+.annotate 'line', 124
   # rx subcapture "sym"
     set_addr $I10, rxcap_358_fail
     rx354_cur."!mark_push"(0, rx354_pos, $I10)
@@ -4286,7 +4286,7 @@
     rx354_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx354_pos)
     .return (rx354_cur)
   rx354_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx354_rep, rx354_pos, $I10, $P10) = rx354_cur."!mark_fail"(0)
     lt rx354_pos, -1, rx354_done
     eq rx354_pos, -1, rx354_fail
@@ -4300,8 +4300,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1273866368.52252") :method
+.annotate 'line', 3
     new $P356, "ResizablePMCArray"
     push $P356, "F"
     push $P356, "f"
@@ -4310,8 +4310,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<h>"  :subid("101_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx360_tgt
     .local int rx360_pos
     .local int rx360_off
@@ -4341,7 +4341,7 @@
     set_addr $I10, rxscan363_loop
     rx360_cur."!mark_push"(0, rx360_pos, $I10)
   rxscan363_done:
-.annotate "line", 125
+.annotate 'line', 125
   # rx subcapture "sym"
     set_addr $I10, rxcap_364_fail
     rx360_cur."!mark_push"(0, rx360_pos, $I10)
@@ -4368,7 +4368,7 @@
     rx360_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx360_pos)
     .return (rx360_cur)
   rx360_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx360_rep, rx360_pos, $I10, $P10) = rx360_cur."!mark_fail"(0)
     lt rx360_pos, -1, rx360_done
     eq rx360_pos, -1, rx360_fail
@@ -4382,8 +4382,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1273866368.52252") :method
+.annotate 'line', 3
     new $P362, "ResizablePMCArray"
     push $P362, "H"
     push $P362, "h"
@@ -4392,8 +4392,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<r>"  :subid("103_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx366_tgt
     .local int rx366_pos
     .local int rx366_off
@@ -4423,7 +4423,7 @@
     set_addr $I10, rxscan369_loop
     rx366_cur."!mark_push"(0, rx366_pos, $I10)
   rxscan369_done:
-.annotate "line", 126
+.annotate 'line', 126
   # rx subcapture "sym"
     set_addr $I10, rxcap_370_fail
     rx366_cur."!mark_push"(0, rx366_pos, $I10)
@@ -4450,7 +4450,7 @@
     rx366_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx366_pos)
     .return (rx366_cur)
   rx366_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx366_rep, rx366_pos, $I10, $P10) = rx366_cur."!mark_fail"(0)
     lt rx366_pos, -1, rx366_done
     eq rx366_pos, -1, rx366_fail
@@ -4464,8 +4464,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1273866368.52252") :method
+.annotate 'line', 3
     new $P368, "ResizablePMCArray"
     push $P368, "R"
     push $P368, "r"
@@ -4474,8 +4474,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<t>"  :subid("105_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx372_tgt
     .local int rx372_pos
     .local int rx372_off
@@ -4505,7 +4505,7 @@
     set_addr $I10, rxscan375_loop
     rx372_cur."!mark_push"(0, rx372_pos, $I10)
   rxscan375_done:
-.annotate "line", 127
+.annotate 'line', 127
   # rx subcapture "sym"
     set_addr $I10, rxcap_376_fail
     rx372_cur."!mark_push"(0, rx372_pos, $I10)
@@ -4532,7 +4532,7 @@
     rx372_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx372_pos)
     .return (rx372_cur)
   rx372_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx372_rep, rx372_pos, $I10, $P10) = rx372_cur."!mark_fail"(0)
     lt rx372_pos, -1, rx372_done
     eq rx372_pos, -1, rx372_fail
@@ -4546,8 +4546,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1273866368.52252") :method
+.annotate 'line', 3
     new $P374, "ResizablePMCArray"
     push $P374, "T"
     push $P374, "t"
@@ -4556,8 +4556,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<v>"  :subid("107_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx378_tgt
     .local int rx378_pos
     .local int rx378_off
@@ -4587,7 +4587,7 @@
     set_addr $I10, rxscan381_loop
     rx378_cur."!mark_push"(0, rx378_pos, $I10)
   rxscan381_done:
-.annotate "line", 128
+.annotate 'line', 128
   # rx subcapture "sym"
     set_addr $I10, rxcap_382_fail
     rx378_cur."!mark_push"(0, rx378_pos, $I10)
@@ -4614,7 +4614,7 @@
     rx378_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx378_pos)
     .return (rx378_cur)
   rx378_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx378_rep, rx378_pos, $I10, $P10) = rx378_cur."!mark_fail"(0)
     lt rx378_pos, -1, rx378_done
     eq rx378_pos, -1, rx378_fail
@@ -4628,8 +4628,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1273866368.52252") :method
+.annotate 'line', 3
     new $P380, "ResizablePMCArray"
     push $P380, "V"
     push $P380, "v"
@@ -4638,8 +4638,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("109_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<o>"  :subid("109_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx384_tgt
     .local int rx384_pos
     .local int rx384_off
@@ -4669,7 +4669,7 @@
     set_addr $I10, rxscan391_loop
     rx384_cur."!mark_push"(0, rx384_pos, $I10)
   rxscan391_done:
-.annotate "line", 129
+.annotate 'line', 129
   # rx subcapture "sym"
     set_addr $I10, rxcap_392_fail
     rx384_cur."!mark_push"(0, rx384_pos, $I10)
@@ -4730,7 +4730,7 @@
     rx384_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx384_pos)
     .return (rx384_cur)
   rx384_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx384_rep, rx384_pos, $I10, $P10) = rx384_cur."!mark_fail"(0)
     lt rx384_pos, -1, rx384_done
     eq rx384_pos, -1, rx384_fail
@@ -4744,8 +4744,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("110_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<o>"  :subid("110_1273866368.52252") :method
+.annotate 'line', 3
     $P386 = self."!PREFIX__!subrule"("octints", "O[")
     $P387 = self."!PREFIX__!subrule"("octint", "O")
     $P388 = self."!PREFIX__!subrule"("octints", "o[")
@@ -4760,8 +4760,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("111_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<x>"  :subid("111_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx395_tgt
     .local int rx395_pos
     .local int rx395_off
@@ -4791,7 +4791,7 @@
     set_addr $I10, rxscan402_loop
     rx395_cur."!mark_push"(0, rx395_pos, $I10)
   rxscan402_done:
-.annotate "line", 130
+.annotate 'line', 130
   # rx subcapture "sym"
     set_addr $I10, rxcap_403_fail
     rx395_cur."!mark_push"(0, rx395_pos, $I10)
@@ -4852,7 +4852,7 @@
     rx395_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx395_pos)
     .return (rx395_cur)
   rx395_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx395_rep, rx395_pos, $I10, $P10) = rx395_cur."!mark_fail"(0)
     lt rx395_pos, -1, rx395_done
     eq rx395_pos, -1, rx395_fail
@@ -4866,8 +4866,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("112_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<x>"  :subid("112_1273866368.52252") :method
+.annotate 'line', 3
     $P397 = self."!PREFIX__!subrule"("hexints", "X[")
     $P398 = self."!PREFIX__!subrule"("hexint", "X")
     $P399 = self."!PREFIX__!subrule"("hexints", "x[")
@@ -4882,8 +4882,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("113_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<c>"  :subid("113_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx406_tgt
     .local int rx406_pos
     .local int rx406_off
@@ -4913,7 +4913,7 @@
     set_addr $I10, rxscan411_loop
     rx406_cur."!mark_push"(0, rx406_pos, $I10)
   rxscan411_done:
-.annotate "line", 131
+.annotate 'line', 131
   # rx subcapture "sym"
     set_addr $I10, rxcap_412_fail
     rx406_cur."!mark_push"(0, rx406_pos, $I10)
@@ -4947,7 +4947,7 @@
     rx406_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx406_pos)
     .return (rx406_cur)
   rx406_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx406_rep, rx406_pos, $I10, $P10) = rx406_cur."!mark_fail"(0)
     lt rx406_pos, -1, rx406_done
     eq rx406_pos, -1, rx406_fail
@@ -4961,8 +4961,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("114_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<c>"  :subid("114_1273866368.52252") :method
+.annotate 'line', 3
     $P408 = self."!PREFIX__!subrule"("charspec", "C")
     $P409 = self."!PREFIX__!subrule"("charspec", "c")
     new $P410, "ResizablePMCArray"
@@ -4973,8 +4973,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<A>"  :subid("115_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx414_tgt
     .local int rx414_pos
     .local int rx414_off
@@ -5004,7 +5004,7 @@
     set_addr $I10, rxscan418_loop
     rx414_cur."!mark_push"(0, rx414_pos, $I10)
   rxscan418_done:
-.annotate "line", 132
+.annotate 'line', 132
   # rx literal  "A"
     add $I11, rx414_pos, 1
     gt $I11, rx414_eos, rx414_fail
@@ -5022,7 +5022,7 @@
     rx414_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx414_pos)
     .return (rx414_cur)
   rx414_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx414_rep, rx414_pos, $I10, $P10) = rx414_cur."!mark_fail"(0)
     lt rx414_pos, -1, rx414_done
     eq rx414_pos, -1, rx414_fail
@@ -5036,8 +5036,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1273866368.52252") :method
+.annotate 'line', 3
     $P416 = self."!PREFIX__!subrule"("", "A")
     new $P417, "ResizablePMCArray"
     push $P417, $P416
@@ -5046,8 +5046,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<z>"  :subid("117_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx420_tgt
     .local int rx420_pos
     .local int rx420_off
@@ -5077,7 +5077,7 @@
     set_addr $I10, rxscan424_loop
     rx420_cur."!mark_push"(0, rx420_pos, $I10)
   rxscan424_done:
-.annotate "line", 133
+.annotate 'line', 133
   # rx literal  "z"
     add $I11, rx420_pos, 1
     gt $I11, rx420_eos, rx420_fail
@@ -5095,7 +5095,7 @@
     rx420_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx420_pos)
     .return (rx420_cur)
   rx420_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx420_rep, rx420_pos, $I10, $P10) = rx420_cur."!mark_fail"(0)
     lt rx420_pos, -1, rx420_done
     eq rx420_pos, -1, rx420_fail
@@ -5109,8 +5109,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1273866368.52252") :method
+.annotate 'line', 3
     $P422 = self."!PREFIX__!subrule"("", "z")
     new $P423, "ResizablePMCArray"
     push $P423, $P422
@@ -5119,8 +5119,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<Z>"  :subid("119_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx426_tgt
     .local int rx426_pos
     .local int rx426_off
@@ -5150,7 +5150,7 @@
     set_addr $I10, rxscan430_loop
     rx426_cur."!mark_push"(0, rx426_pos, $I10)
   rxscan430_done:
-.annotate "line", 134
+.annotate 'line', 134
   # rx literal  "Z"
     add $I11, rx426_pos, 1
     gt $I11, rx426_eos, rx426_fail
@@ -5168,7 +5168,7 @@
     rx426_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx426_pos)
     .return (rx426_cur)
   rx426_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx426_rep, rx426_pos, $I10, $P10) = rx426_cur."!mark_fail"(0)
     lt rx426_pos, -1, rx426_done
     eq rx426_pos, -1, rx426_fail
@@ -5182,8 +5182,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1273866368.52252") :method
+.annotate 'line', 3
     $P428 = self."!PREFIX__!subrule"("", "Z")
     new $P429, "ResizablePMCArray"
     push $P429, $P428
@@ -5192,8 +5192,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<Q>"  :subid("121_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx432_tgt
     .local int rx432_pos
     .local int rx432_off
@@ -5223,7 +5223,7 @@
     set_addr $I10, rxscan436_loop
     rx432_cur."!mark_push"(0, rx432_pos, $I10)
   rxscan436_done:
-.annotate "line", 135
+.annotate 'line', 135
   # rx literal  "Q"
     add $I11, rx432_pos, 1
     gt $I11, rx432_eos, rx432_fail
@@ -5241,7 +5241,7 @@
     rx432_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx432_pos)
     .return (rx432_cur)
   rx432_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx432_rep, rx432_pos, $I10, $P10) = rx432_cur."!mark_fail"(0)
     lt rx432_pos, -1, rx432_done
     eq rx432_pos, -1, rx432_fail
@@ -5255,8 +5255,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1273866368.52252") :method
+.annotate 'line', 3
     $P434 = self."!PREFIX__!subrule"("", "Q")
     new $P435, "ResizablePMCArray"
     push $P435, $P434
@@ -5265,8 +5265,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "backslash:sym<misc>"  :subid("123_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx438_tgt
     .local int rx438_pos
     .local int rx438_off
@@ -5296,7 +5296,7 @@
     set_addr $I10, rxscan441_loop
     rx438_cur."!mark_push"(0, rx438_pos, $I10)
   rxscan441_done:
-.annotate "line", 136
+.annotate 'line', 136
   # rx charclass W
     ge rx438_pos, rx438_eos, rx438_fail
     sub $I10, rx438_pos, rx438_off
@@ -5308,7 +5308,7 @@
     rx438_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx438_pos)
     .return (rx438_cur)
   rx438_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx438_rep, rx438_pos, $I10, $P10) = rx438_cur."!mark_fail"(0)
     lt rx438_pos, -1, rx438_done
     eq rx438_pos, -1, rx438_fail
@@ -5322,8 +5322,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1273866368.52252") :method
+.annotate 'line', 3
     new $P440, "ResizablePMCArray"
     push $P440, ""
     .return ($P440)
@@ -5331,25 +5331,25 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1272816831.40736") :method
-.annotate "line", 138
+.sub "assertion"  :subid("125_1273866368.52252") :method
+.annotate 'line', 138
     $P443 = self."!protoregex"("assertion")
     .return ($P443)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1272816831.40736") :method
-.annotate "line", 138
+.sub "!PREFIX__assertion"  :subid("126_1273866368.52252") :method
+.annotate 'line', 138
     $P445 = self."!PREFIX__!protoregex"("assertion")
     .return ($P445)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P454 = "129_1272816831.40736" 
+.sub "assertion:sym<?>"  :subid("127_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P454 = "129_1273866368.52252" 
     capture_lex $P454
     .local string rx447_tgt
     .local int rx447_pos
@@ -5380,7 +5380,7 @@
     set_addr $I10, rxscan451_loop
     rx447_cur."!mark_push"(0, rx447_pos, $I10)
   rxscan451_done:
-.annotate "line", 140
+.annotate 'line', 140
   # rx literal  "?"
     add $I11, rx447_pos, 1
     gt $I11, rx447_eos, rx447_fail
@@ -5393,7 +5393,7 @@
     rx447_cur."!mark_push"(0, rx447_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx447_cur."!cursor_pos"(rx447_pos)
-    .const 'Sub' $P454 = "129_1272816831.40736" 
+    .const 'Sub' $P454 = "129_1273866368.52252" 
     capture_lex $P454
     $P10 = rx447_cur."before"($P454)
     unless $P10, rx447_fail
@@ -5412,7 +5412,7 @@
     rx447_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx447_pos)
     .return (rx447_cur)
   rx447_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
     lt rx447_pos, -1, rx447_done
     eq rx447_pos, -1, rx447_fail
@@ -5426,8 +5426,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1273866368.52252") :method
+.annotate 'line', 3
     $P449 = self."!PREFIX__!subrule"("assertion", "?")
     new $P450, "ResizablePMCArray"
     push $P450, $P449
@@ -5437,8 +5437,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453"  :anon :subid("129_1272816831.40736") :method :outer("127_1272816831.40736")
-.annotate "line", 140
+.sub "_block453"  :anon :subid("129_1273866368.52252") :method :outer("127_1273866368.52252")
+.annotate 'line', 140
     .local string rx455_tgt
     .local int rx455_pos
     .local int rx455_off
@@ -5493,9 +5493,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P465 = "132_1272816831.40736" 
+.sub "assertion:sym<!>"  :subid("130_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P465 = "132_1273866368.52252" 
     capture_lex $P465
     .local string rx458_tgt
     .local int rx458_pos
@@ -5526,7 +5526,7 @@
     set_addr $I10, rxscan462_loop
     rx458_cur."!mark_push"(0, rx458_pos, $I10)
   rxscan462_done:
-.annotate "line", 141
+.annotate 'line', 141
   # rx literal  "!"
     add $I11, rx458_pos, 1
     gt $I11, rx458_eos, rx458_fail
@@ -5539,7 +5539,7 @@
     rx458_cur."!mark_push"(0, rx458_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx458_cur."!cursor_pos"(rx458_pos)
-    .const 'Sub' $P465 = "132_1272816831.40736" 
+    .const 'Sub' $P465 = "132_1273866368.52252" 
     capture_lex $P465
     $P10 = rx458_cur."before"($P465)
     unless $P10, rx458_fail
@@ -5558,7 +5558,7 @@
     rx458_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx458_pos)
     .return (rx458_cur)
   rx458_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx458_rep, rx458_pos, $I10, $P10) = rx458_cur."!mark_fail"(0)
     lt rx458_pos, -1, rx458_done
     eq rx458_pos, -1, rx458_fail
@@ -5572,8 +5572,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1273866368.52252") :method
+.annotate 'line', 3
     $P460 = self."!PREFIX__!subrule"("assertion", "!")
     new $P461, "ResizablePMCArray"
     push $P461, $P460
@@ -5583,8 +5583,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464"  :anon :subid("132_1272816831.40736") :method :outer("130_1272816831.40736")
-.annotate "line", 141
+.sub "_block464"  :anon :subid("132_1273866368.52252") :method :outer("130_1273866368.52252")
+.annotate 'line', 141
     .local string rx466_tgt
     .local int rx466_pos
     .local int rx466_off
@@ -5639,8 +5639,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "assertion:sym<method>"  :subid("133_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx469_tgt
     .local int rx469_pos
     .local int rx469_off
@@ -5670,7 +5670,7 @@
     set_addr $I10, rxscan473_loop
     rx469_cur."!mark_push"(0, rx469_pos, $I10)
   rxscan473_done:
-.annotate "line", 144
+.annotate 'line', 144
   # rx literal  "."
     add $I11, rx469_pos, 1
     gt $I11, rx469_eos, rx469_fail
@@ -5685,13 +5685,13 @@
     rx469_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
     rx469_pos = $P10."pos"()
-.annotate "line", 143
+.annotate 'line', 143
   # rx pass
     rx469_cur."!cursor_pass"(rx469_pos, "assertion:sym<method>")
     rx469_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx469_pos)
     .return (rx469_cur)
   rx469_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx469_rep, rx469_pos, $I10, $P10) = rx469_cur."!mark_fail"(0)
     lt rx469_pos, -1, rx469_done
     eq rx469_pos, -1, rx469_fail
@@ -5705,8 +5705,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1273866368.52252") :method
+.annotate 'line', 3
     $P471 = self."!PREFIX__!subrule"("assertion", ".")
     new $P472, "ResizablePMCArray"
     push $P472, $P471
@@ -5715,9 +5715,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P483 = "137_1272816831.40736" 
+.sub "assertion:sym<name>"  :subid("135_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P483 = "137_1273866368.52252" 
     capture_lex $P483
     .local string rx475_tgt
     .local int rx475_pos
@@ -5749,7 +5749,7 @@
     set_addr $I10, rxscan478_loop
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
   rxscan478_done:
-.annotate "line", 148
+.annotate 'line', 148
   # rx subcapture "longname"
     set_addr $I10, rxcap_479_fail
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
@@ -5770,19 +5770,19 @@
   rxcap_479_fail:
     goto rx475_fail
   rxcap_479_done:
-.annotate "line", 155
+.annotate 'line', 155
   # rx rxquantr480 ** 0..1
     set_addr $I486, rxquantr480_done
     rx475_cur."!mark_push"(0, rx475_pos, $I486)
   rxquantr480_loop:
   alt481_0:
-.annotate "line", 149
+.annotate 'line', 149
     set_addr $I10, alt481_1
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
-.annotate "line", 150
+.annotate 'line', 150
   # rx subrule "before" subtype=zerowidth negate=
     rx475_cur."!cursor_pos"(rx475_pos)
-    .const 'Sub' $P483 = "137_1272816831.40736" 
+    .const 'Sub' $P483 = "137_1273866368.52252" 
     capture_lex $P483
     $P10 = rx475_cur."before"($P483)
     unless $P10, rx475_fail
@@ -5790,7 +5790,7 @@
   alt481_1:
     set_addr $I10, alt481_2
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
-.annotate "line", 151
+.annotate 'line', 151
   # rx literal  "="
     add $I11, rx475_pos, 1
     gt $I11, rx475_eos, rx475_fail
@@ -5809,7 +5809,7 @@
   alt481_2:
     set_addr $I10, alt481_3
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
-.annotate "line", 152
+.annotate 'line', 152
   # rx literal  ":"
     add $I11, rx475_pos, 1
     gt $I11, rx475_eos, rx475_fail
@@ -5828,7 +5828,7 @@
   alt481_3:
     set_addr $I10, alt481_4
     rx475_cur."!mark_push"(0, rx475_pos, $I10)
-.annotate "line", 153
+.annotate 'line', 153
   # rx literal  "("
     add $I11, rx475_pos, 1
     gt $I11, rx475_eos, rx475_fail
@@ -5852,7 +5852,7 @@
     add rx475_pos, 1
     goto alt481_end
   alt481_4:
-.annotate "line", 154
+.annotate 'line', 154
   # rx subrule "normspace" subtype=method negate=
     rx475_cur."!cursor_pos"(rx475_pos)
     $P10 = rx475_cur."normspace"()
@@ -5866,16 +5866,16 @@
     $P10."!cursor_names"("nibbler")
     rx475_pos = $P10."pos"()
   alt481_end:
-.annotate "line", 155
+.annotate 'line', 155
     (rx475_rep) = rx475_cur."!mark_commit"($I486)
   rxquantr480_done:
-.annotate "line", 147
+.annotate 'line', 147
   # rx pass
     rx475_cur."!cursor_pass"(rx475_pos, "assertion:sym<name>")
     rx475_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx475_pos)
     .return (rx475_cur)
   rx475_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
     lt rx475_pos, -1, rx475_done
     eq rx475_pos, -1, rx475_fail
@@ -5889,8 +5889,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1273866368.52252") :method
+.annotate 'line', 3
     new $P477, "ResizablePMCArray"
     push $P477, ""
     .return ($P477)
@@ -5898,8 +5898,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482"  :anon :subid("137_1272816831.40736") :method :outer("135_1272816831.40736")
-.annotate "line", 150
+.sub "_block482"  :anon :subid("137_1273866368.52252") :method :outer("135_1273866368.52252")
+.annotate 'line', 150
     .local string rx484_tgt
     .local int rx484_pos
     .local int rx484_off
@@ -5954,9 +5954,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P493 = "140_1272816831.40736" 
+.sub "assertion:sym<[>"  :subid("138_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P493 = "140_1273866368.52252" 
     capture_lex $P493
     .local string rx488_tgt
     .local int rx488_pos
@@ -5988,10 +5988,10 @@
     set_addr $I10, rxscan491_loop
     rx488_cur."!mark_push"(0, rx488_pos, $I10)
   rxscan491_done:
-.annotate "line", 158
+.annotate 'line', 158
   # rx subrule "before" subtype=zerowidth negate=
     rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P493 = "140_1272816831.40736" 
+    .const 'Sub' $P493 = "140_1273866368.52252" 
     capture_lex $P493
     $P10 = rx488_cur."before"($P493)
     unless $P10, rx488_fail
@@ -6015,7 +6015,7 @@
     rx488_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx488_pos)
     .return (rx488_cur)
   rx488_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx488_rep, rx488_pos, $I10, $P10) = rx488_cur."!mark_fail"(0)
     lt rx488_pos, -1, rx488_done
     eq rx488_pos, -1, rx488_fail
@@ -6029,8 +6029,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1273866368.52252") :method
+.annotate 'line', 3
     new $P490, "ResizablePMCArray"
     push $P490, ""
     .return ($P490)
@@ -6038,8 +6038,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492"  :anon :subid("140_1272816831.40736") :method :outer("138_1272816831.40736")
-.annotate "line", 158
+.sub "_block492"  :anon :subid("140_1273866368.52252") :method :outer("138_1273866368.52252")
+.annotate 'line', 158
     .local string rx494_tgt
     .local int rx494_pos
     .local int rx494_off
@@ -6118,9 +6118,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P511 = "143_1272816831.40736" 
+.sub "cclass_elem"  :subid("141_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P511 = "143_1273866368.52252" 
     capture_lex $P511
     .local string rx500_tgt
     .local int rx500_pos
@@ -6152,7 +6152,7 @@
     set_addr $I10, rxscan503_loop
     rx500_cur."!mark_push"(0, rx500_pos, $I10)
   rxscan503_done:
-.annotate "line", 161
+.annotate 'line', 161
   # rx subcapture "sign"
     set_addr $I10, rxcap_505_fail
     rx500_cur."!mark_push"(0, rx500_pos, $I10)
@@ -6191,7 +6191,7 @@
   rxcap_505_fail:
     goto rx500_fail
   rxcap_505_done:
-.annotate "line", 162
+.annotate 'line', 162
   # rx rxquantr506 ** 0..1
     set_addr $I507, rxquantr506_done
     rx500_cur."!mark_push"(0, rx500_pos, $I507)
@@ -6204,10 +6204,10 @@
     (rx500_rep) = rx500_cur."!mark_commit"($I507)
   rxquantr506_done:
   alt508_0:
-.annotate "line", 163
+.annotate 'line', 163
     set_addr $I10, alt508_1
     rx500_cur."!mark_push"(0, rx500_pos, $I10)
-.annotate "line", 164
+.annotate 'line', 164
   # rx literal  "["
     add $I11, rx500_pos, 1
     gt $I11, rx500_eos, rx500_fail
@@ -6215,27 +6215,27 @@
     substr $S10, rx500_tgt, $I11, 1
     ne $S10, "[", rx500_fail
     add rx500_pos, 1
-.annotate "line", 167
+.annotate 'line', 167
   # rx rxquantr509 ** 0..*
     set_addr $I530, rxquantr509_done
     rx500_cur."!mark_push"(0, rx500_pos, $I530)
   rxquantr509_loop:
-.annotate "line", 164
+.annotate 'line', 164
   # rx subrule $P511 subtype=capture negate=
     rx500_cur."!cursor_pos"(rx500_pos)
-    .const 'Sub' $P511 = "143_1272816831.40736" 
+    .const 'Sub' $P511 = "143_1273866368.52252" 
     capture_lex $P511
     $P10 = rx500_cur.$P511()
     unless $P10, rx500_fail
     rx500_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
     rx500_pos = $P10."pos"()
-.annotate "line", 167
+.annotate 'line', 167
     (rx500_rep) = rx500_cur."!mark_commit"($I530)
     rx500_cur."!mark_push"(rx500_rep, rx500_pos, $I530)
     goto rxquantr509_loop
   rxquantr509_done:
-.annotate "line", 168
+.annotate 'line', 168
   # rx charclass_q s r 0..-1
     sub $I10, rx500_pos, rx500_off
     find_not_cclass $I11, 32, rx500_tgt, $I10, rx500_eos
@@ -6247,10 +6247,10 @@
     substr $S10, rx500_tgt, $I11, 1
     ne $S10, "]", rx500_fail
     add rx500_pos, 1
-.annotate "line", 164
+.annotate 'line', 164
     goto alt508_end
   alt508_1:
-.annotate "line", 169
+.annotate 'line', 169
   # rx subcapture "name"
     set_addr $I10, rxcap_531_fail
     rx500_cur."!mark_push"(0, rx500_pos, $I10)
@@ -6272,7 +6272,7 @@
     goto rx500_fail
   rxcap_531_done:
   alt508_end:
-.annotate "line", 171
+.annotate 'line', 171
   # rx rxquantr532 ** 0..1
     set_addr $I533, rxquantr532_done
     rx500_cur."!mark_push"(0, rx500_pos, $I533)
@@ -6284,13 +6284,13 @@
     rx500_pos = $P10."pos"()
     (rx500_rep) = rx500_cur."!mark_commit"($I533)
   rxquantr532_done:
-.annotate "line", 160
+.annotate 'line', 160
   # rx pass
     rx500_cur."!cursor_pass"(rx500_pos, "cclass_elem")
     rx500_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx500_pos)
     .return (rx500_cur)
   rx500_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx500_rep, rx500_pos, $I10, $P10) = rx500_cur."!mark_fail"(0)
     lt rx500_pos, -1, rx500_done
     eq rx500_pos, -1, rx500_fail
@@ -6304,8 +6304,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__cclass_elem"  :subid("142_1273866368.52252") :method
+.annotate 'line', 3
     new $P502, "ResizablePMCArray"
     push $P502, ""
     push $P502, "-"
@@ -6315,13 +6315,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510"  :anon :subid("143_1272816831.40736") :method :outer("141_1272816831.40736")
-.annotate "line", 164
-    .const 'Sub' $P526 = "146_1272816831.40736" 
+.sub "_block510"  :anon :subid("143_1273866368.52252") :method :outer("141_1273866368.52252")
+.annotate 'line', 164
+    .const 'Sub' $P526 = "146_1273866368.52252" 
     capture_lex $P526
-    .const 'Sub' $P521 = "145_1272816831.40736" 
+    .const 'Sub' $P521 = "145_1273866368.52252" 
     capture_lex $P521
-    .const 'Sub' $P517 = "144_1272816831.40736" 
+    .const 'Sub' $P517 = "144_1273866368.52252" 
     capture_lex $P517
     .local string rx512_tgt
     .local int rx512_pos
@@ -6356,7 +6356,7 @@
   alt514_0:
     set_addr $I10, alt514_1
     rx512_cur."!mark_push"(0, rx512_pos, $I10)
-.annotate "line", 165
+.annotate 'line', 165
   # rx charclass_q s r 0..-1
     sub $I10, rx512_pos, rx512_off
     find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
@@ -6375,7 +6375,7 @@
     rx512_pos = $P10."pos"()
     goto alt514_end
   alt514_1:
-.annotate "line", 166
+.annotate 'line', 166
   # rx charclass_q s r 0..-1
     sub $I10, rx512_pos, rx512_off
     find_not_cclass $I11, 32, rx512_tgt, $I10, rx512_eos
@@ -6392,7 +6392,7 @@
     add rx512_pos, 1
   # rx subrule $P517 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P517 = "144_1272816831.40736" 
+    .const 'Sub' $P517 = "144_1273866368.52252" 
     capture_lex $P517
     $P10 = rx512_cur.$P517()
     unless $P10, rx512_fail
@@ -6403,7 +6403,7 @@
   alt515_1:
   # rx subrule $P521 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P521 = "145_1272816831.40736" 
+    .const 'Sub' $P521 = "145_1273866368.52252" 
     capture_lex $P521
     $P10 = rx512_cur.$P521()
     unless $P10, rx512_fail
@@ -6432,7 +6432,7 @@
     add rx512_pos, rx512_off, $I11
   # rx subrule $P526 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P526 = "146_1272816831.40736" 
+    .const 'Sub' $P526 = "146_1273866368.52252" 
     capture_lex $P526
     $P10 = rx512_cur.$P526()
     unless $P10, rx512_fail
@@ -6442,7 +6442,7 @@
     (rx512_rep) = rx512_cur."!mark_commit"($I529)
   rxquantr524_done:
   alt514_end:
-.annotate "line", 164
+.annotate 'line', 164
   # rx pass
     rx512_cur."!cursor_pass"(rx512_pos, "")
     rx512_cur."!cursor_debug"("PASS  ", "", " at pos=", rx512_pos)
@@ -6461,8 +6461,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516"  :anon :subid("144_1272816831.40736") :method :outer("143_1272816831.40736")
-.annotate "line", 166
+.sub "_block516"  :anon :subid("144_1273866368.52252") :method :outer("143_1273866368.52252")
+.annotate 'line', 166
     .local string rx518_tgt
     .local int rx518_pos
     .local int rx518_off
@@ -6513,8 +6513,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("145_1272816831.40736") :method :outer("143_1272816831.40736")
-.annotate "line", 166
+.sub "_block520"  :anon :subid("145_1273866368.52252") :method :outer("143_1273866368.52252")
+.annotate 'line', 166
     .local string rx522_tgt
     .local int rx522_pos
     .local int rx522_off
@@ -6569,8 +6569,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("146_1272816831.40736") :method :outer("143_1272816831.40736")
-.annotate "line", 166
+.sub "_block525"  :anon :subid("146_1273866368.52252") :method :outer("143_1273866368.52252")
+.annotate 'line', 166
     .local string rx527_tgt
     .local int rx527_pos
     .local int rx527_off
@@ -6621,9 +6621,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
-    .const 'Sub' $P543 = "149_1272816831.40736" 
+.sub "mod_internal"  :subid("147_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
+    .const 'Sub' $P543 = "149_1273866368.52252" 
     capture_lex $P543
     .local string rx535_tgt
     .local int rx535_pos
@@ -6656,10 +6656,10 @@
     rx535_cur."!mark_push"(0, rx535_pos, $I10)
   rxscan539_done:
   alt540_0:
-.annotate "line", 175
+.annotate 'line', 175
     set_addr $I10, alt540_1
     rx535_cur."!mark_push"(0, rx535_pos, $I10)
-.annotate "line", 176
+.annotate 'line', 176
   # rx literal  ":"
     add $I11, rx535_pos, 1
     gt $I11, rx535_eos, rx535_fail
@@ -6673,7 +6673,7 @@
   rxquantr541_loop:
   # rx subrule $P543 subtype=capture negate=
     rx535_cur."!cursor_pos"(rx535_pos)
-    .const 'Sub' $P543 = "149_1272816831.40736" 
+    .const 'Sub' $P543 = "149_1273866368.52252" 
     capture_lex $P543
     $P10 = rx535_cur.$P543()
     unless $P10, rx535_fail
@@ -6699,7 +6699,7 @@
     unless $I11, rx535_fail
     goto alt540_end
   alt540_1:
-.annotate "line", 177
+.annotate 'line', 177
   # rx literal  ":"
     add $I11, rx535_pos, 1
     gt $I11, rx535_eos, rx535_fail
@@ -6755,13 +6755,13 @@
     (rx535_rep) = rx535_cur."!mark_commit"($I550)
   rxquantr548_done:
   alt540_end:
-.annotate "line", 174
+.annotate 'line', 174
   # rx pass
     rx535_cur."!cursor_pass"(rx535_pos, "mod_internal")
     rx535_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx535_pos)
     .return (rx535_cur)
   rx535_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx535_rep, rx535_pos, $I10, $P10) = rx535_cur."!mark_fail"(0)
     lt rx535_pos, -1, rx535_done
     eq rx535_pos, -1, rx535_fail
@@ -6775,8 +6775,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__mod_internal"  :subid("148_1273866368.52252") :method
+.annotate 'line', 3
     $P537 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P538, "ResizablePMCArray"
     push $P538, $P537
@@ -6786,8 +6786,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542"  :anon :subid("149_1272816831.40736") :method :outer("147_1272816831.40736")
-.annotate "line", 176
+.sub "_block542"  :anon :subid("149_1273866368.52252") :method :outer("147_1273866368.52252")
+.annotate 'line', 176
     .local string rx544_tgt
     .local int rx544_pos
     .local int rx544_off
@@ -6854,24 +6854,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1272816831.40736") :method
-.annotate "line", 181
+.sub "mod_ident"  :subid("150_1273866368.52252") :method
+.annotate 'line', 181
     $P552 = self."!protoregex"("mod_ident")
     .return ($P552)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1272816831.40736") :method
-.annotate "line", 181
+.sub "!PREFIX__mod_ident"  :subid("151_1273866368.52252") :method
+.annotate 'line', 181
     $P554 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P554)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx556_tgt
     .local int rx556_pos
     .local int rx556_off
@@ -6901,7 +6901,7 @@
     set_addr $I10, rxscan559_loop
     rx556_cur."!mark_push"(0, rx556_pos, $I10)
   rxscan559_done:
-.annotate "line", 182
+.annotate 'line', 182
   # rx subcapture "sym"
     set_addr $I10, rxcap_560_fail
     rx556_cur."!mark_push"(0, rx556_pos, $I10)
@@ -6941,7 +6941,7 @@
     rx556_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx556_pos)
     .return (rx556_cur)
   rx556_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx556_rep, rx556_pos, $I10, $P10) = rx556_cur."!mark_fail"(0)
     lt rx556_pos, -1, rx556_done
     eq rx556_pos, -1, rx556_fail
@@ -6955,8 +6955,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1273866368.52252") :method
+.annotate 'line', 3
     new $P558, "ResizablePMCArray"
     push $P558, "i"
     .return ($P558)
@@ -6964,8 +6964,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "mod_ident:sym<ratchet>"  :subid("154_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx564_tgt
     .local int rx564_pos
     .local int rx564_off
@@ -6995,7 +6995,7 @@
     set_addr $I10, rxscan567_loop
     rx564_cur."!mark_push"(0, rx564_pos, $I10)
   rxscan567_done:
-.annotate "line", 183
+.annotate 'line', 183
   # rx subcapture "sym"
     set_addr $I10, rxcap_568_fail
     rx564_cur."!mark_push"(0, rx564_pos, $I10)
@@ -7035,7 +7035,7 @@
     rx564_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx564_pos)
     .return (rx564_cur)
   rx564_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx564_rep, rx564_pos, $I10, $P10) = rx564_cur."!mark_fail"(0)
     lt rx564_pos, -1, rx564_done
     eq rx564_pos, -1, rx564_fail
@@ -7049,8 +7049,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1273866368.52252") :method
+.annotate 'line', 3
     new $P566, "ResizablePMCArray"
     push $P566, "r"
     .return ($P566)
@@ -7058,8 +7058,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1272816831.40736") :method :outer("11_1272816831.40736")
-.annotate "line", 3
+.sub "mod_ident:sym<sigspace>"  :subid("156_1273866368.52252") :method :outer("11_1273866368.52252")
+.annotate 'line', 3
     .local string rx572_tgt
     .local int rx572_pos
     .local int rx572_off
@@ -7089,7 +7089,7 @@
     set_addr $I10, rxscan575_loop
     rx572_cur."!mark_push"(0, rx572_pos, $I10)
   rxscan575_done:
-.annotate "line", 184
+.annotate 'line', 184
   # rx subcapture "sym"
     set_addr $I10, rxcap_576_fail
     rx572_cur."!mark_push"(0, rx572_pos, $I10)
@@ -7129,7 +7129,7 @@
     rx572_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx572_pos)
     .return (rx572_cur)
   rx572_fail:
-.annotate "line", 3
+.annotate 'line', 3
     (rx572_rep, rx572_pos, $I10, $P10) = rx572_cur."!mark_fail"(0)
     lt rx572_pos, -1, rx572_done
     eq rx572_pos, -1, rx572_fail
@@ -7143,8 +7143,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1272816831.40736") :method
-.annotate "line", 3
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1273866368.52252") :method
+.annotate 'line', 3
     new $P574, "ResizablePMCArray"
     push $P574, "s"
     .return ($P574)
@@ -7153,196 +7153,196 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1272816836.73052")
-.annotate "line", 0
+.sub "_block11"  :anon :subid("10_1273866373.83564")
+.annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
-.annotate "line", 4
+.annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
-    $P1569 = $P14()
-.annotate "line", 1
-    .return ($P1569)
+    $P1574 = $P14()
+.annotate 'line', 1
+    .return ($P1574)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post90") :outer("10_1272816836.73052")
-.annotate "line", 0
-    .const 'Sub' $P12 = "10_1272816836.73052" 
+.sub "" :load :init :subid("post90") :outer("10_1273866373.83564")
+.annotate 'line', 0
+    .const 'Sub' $P12 = "10_1273866373.83564" 
     .local pmc block
     set block, $P12
-    $P1570 = get_root_global ["parrot"], "P6metaclass"
-    $P1570."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
+    $P1575 = get_root_global ["parrot"], "P6metaclass"
+    $P1575."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1272816836.73052") :outer("10_1272816836.73052")
-.annotate "line", 4
-    .const 'Sub' $P1536 = "89_1272816836.73052" 
-    capture_lex $P1536
-    .const 'Sub' $P1467 = "85_1272816836.73052" 
-    capture_lex $P1467
-    .const 'Sub' $P1399 = "83_1272816836.73052" 
-    capture_lex $P1399
-    .const 'Sub' $P1326 = "80_1272816836.73052" 
-    capture_lex $P1326
-    .const 'Sub' $P1312 = "79_1272816836.73052" 
-    capture_lex $P1312
-    .const 'Sub' $P1288 = "78_1272816836.73052" 
-    capture_lex $P1288
-    .const 'Sub' $P1270 = "77_1272816836.73052" 
-    capture_lex $P1270
-    .const 'Sub' $P1256 = "76_1272816836.73052" 
-    capture_lex $P1256
-    .const 'Sub' $P1243 = "75_1272816836.73052" 
-    capture_lex $P1243
-    .const 'Sub' $P1212 = "74_1272816836.73052" 
-    capture_lex $P1212
-    .const 'Sub' $P1181 = "73_1272816836.73052" 
-    capture_lex $P1181
-    .const 'Sub' $P1165 = "72_1272816836.73052" 
-    capture_lex $P1165
-    .const 'Sub' $P1149 = "71_1272816836.73052" 
-    capture_lex $P1149
-    .const 'Sub' $P1133 = "70_1272816836.73052" 
-    capture_lex $P1133
-    .const 'Sub' $P1117 = "69_1272816836.73052" 
-    capture_lex $P1117
-    .const 'Sub' $P1101 = "68_1272816836.73052" 
-    capture_lex $P1101
-    .const 'Sub' $P1085 = "67_1272816836.73052" 
-    capture_lex $P1085
-    .const 'Sub' $P1069 = "66_1272816836.73052" 
-    capture_lex $P1069
-    .const 'Sub' $P1045 = "65_1272816836.73052" 
-    capture_lex $P1045
-    .const 'Sub' $P1030 = "64_1272816836.73052" 
-    capture_lex $P1030
-    .const 'Sub' $P974 = "63_1272816836.73052" 
-    capture_lex $P974
-    .const 'Sub' $P953 = "62_1272816836.73052" 
-    capture_lex $P953
-    .const 'Sub' $P931 = "61_1272816836.73052" 
-    capture_lex $P931
-    .const 'Sub' $P921 = "60_1272816836.73052" 
-    capture_lex $P921
-    .const 'Sub' $P911 = "59_1272816836.73052" 
-    capture_lex $P911
-    .const 'Sub' $P901 = "58_1272816836.73052" 
-    capture_lex $P901
-    .const 'Sub' $P889 = "57_1272816836.73052" 
-    capture_lex $P889
-    .const 'Sub' $P877 = "56_1272816836.73052" 
-    capture_lex $P877
-    .const 'Sub' $P865 = "55_1272816836.73052" 
-    capture_lex $P865
-    .const 'Sub' $P853 = "54_1272816836.73052" 
-    capture_lex $P853
-    .const 'Sub' $P841 = "53_1272816836.73052" 
-    capture_lex $P841
-    .const 'Sub' $P829 = "52_1272816836.73052" 
-    capture_lex $P829
-    .const 'Sub' $P817 = "51_1272816836.73052" 
-    capture_lex $P817
-    .const 'Sub' $P805 = "50_1272816836.73052" 
-    capture_lex $P805
-    .const 'Sub' $P782 = "49_1272816836.73052" 
-    capture_lex $P782
-    .const 'Sub' $P759 = "48_1272816836.73052" 
-    capture_lex $P759
-    .const 'Sub' $P741 = "47_1272816836.73052" 
-    capture_lex $P741
-    .const 'Sub' $P731 = "46_1272816836.73052" 
-    capture_lex $P731
-    .const 'Sub' $P713 = "45_1272816836.73052" 
-    capture_lex $P713
-    .const 'Sub' $P666 = "44_1272816836.73052" 
-    capture_lex $P666
-    .const 'Sub' $P649 = "43_1272816836.73052" 
-    capture_lex $P649
-    .const 'Sub' $P634 = "42_1272816836.73052" 
-    capture_lex $P634
-    .const 'Sub' $P619 = "41_1272816836.73052" 
-    capture_lex $P619
-    .const 'Sub' $P593 = "40_1272816836.73052" 
-    capture_lex $P593
-    .const 'Sub' $P543 = "38_1272816836.73052" 
-    capture_lex $P543
-    .const 'Sub' $P475 = "36_1272816836.73052" 
-    capture_lex $P475
-    .const 'Sub' $P420 = "33_1272816836.73052" 
-    capture_lex $P420
-    .const 'Sub' $P405 = "32_1272816836.73052" 
-    capture_lex $P405
-    .const 'Sub' $P379 = "30_1272816836.73052" 
-    capture_lex $P379
-    .const 'Sub' $P362 = "29_1272816836.73052" 
-    capture_lex $P362
-    .const 'Sub' $P340 = "28_1272816836.73052" 
-    capture_lex $P340
-    .const 'Sub' $P308 = "27_1272816836.73052" 
-    capture_lex $P308
-    .const 'Sub' $P54 = "14_1272816836.73052" 
-    capture_lex $P54
-    .const 'Sub' $P21 = "13_1272816836.73052" 
-    capture_lex $P21
-    .const 'Sub' $P16 = "12_1272816836.73052" 
+.sub "_block13"  :subid("11_1273866373.83564") :outer("10_1273866373.83564")
+.annotate 'line', 4
+    .const 'Sub' $P1541 = "89_1273866373.83564" 
+    capture_lex $P1541
+    .const 'Sub' $P1472 = "85_1273866373.83564" 
+    capture_lex $P1472
+    .const 'Sub' $P1404 = "83_1273866373.83564" 
+    capture_lex $P1404
+    .const 'Sub' $P1331 = "80_1273866373.83564" 
+    capture_lex $P1331
+    .const 'Sub' $P1317 = "79_1273866373.83564" 
+    capture_lex $P1317
+    .const 'Sub' $P1293 = "78_1273866373.83564" 
+    capture_lex $P1293
+    .const 'Sub' $P1275 = "77_1273866373.83564" 
+    capture_lex $P1275
+    .const 'Sub' $P1261 = "76_1273866373.83564" 
+    capture_lex $P1261
+    .const 'Sub' $P1248 = "75_1273866373.83564" 
+    capture_lex $P1248
+    .const 'Sub' $P1217 = "74_1273866373.83564" 
+    capture_lex $P1217
+    .const 'Sub' $P1186 = "73_1273866373.83564" 
+    capture_lex $P1186
+    .const 'Sub' $P1170 = "72_1273866373.83564" 
+    capture_lex $P1170
+    .const 'Sub' $P1154 = "71_1273866373.83564" 
+    capture_lex $P1154
+    .const 'Sub' $P1138 = "70_1273866373.83564" 
+    capture_lex $P1138
+    .const 'Sub' $P1122 = "69_1273866373.83564" 
+    capture_lex $P1122
+    .const 'Sub' $P1106 = "68_1273866373.83564" 
+    capture_lex $P1106
+    .const 'Sub' $P1090 = "67_1273866373.83564" 
+    capture_lex $P1090
+    .const 'Sub' $P1074 = "66_1273866373.83564" 
+    capture_lex $P1074
+    .const 'Sub' $P1050 = "65_1273866373.83564" 
+    capture_lex $P1050
+    .const 'Sub' $P1035 = "64_1273866373.83564" 
+    capture_lex $P1035
+    .const 'Sub' $P979 = "63_1273866373.83564" 
+    capture_lex $P979
+    .const 'Sub' $P958 = "62_1273866373.83564" 
+    capture_lex $P958
+    .const 'Sub' $P936 = "61_1273866373.83564" 
+    capture_lex $P936
+    .const 'Sub' $P926 = "60_1273866373.83564" 
+    capture_lex $P926
+    .const 'Sub' $P916 = "59_1273866373.83564" 
+    capture_lex $P916
+    .const 'Sub' $P906 = "58_1273866373.83564" 
+    capture_lex $P906
+    .const 'Sub' $P894 = "57_1273866373.83564" 
+    capture_lex $P894
+    .const 'Sub' $P882 = "56_1273866373.83564" 
+    capture_lex $P882
+    .const 'Sub' $P870 = "55_1273866373.83564" 
+    capture_lex $P870
+    .const 'Sub' $P858 = "54_1273866373.83564" 
+    capture_lex $P858
+    .const 'Sub' $P846 = "53_1273866373.83564" 
+    capture_lex $P846
+    .const 'Sub' $P834 = "52_1273866373.83564" 
+    capture_lex $P834
+    .const 'Sub' $P822 = "51_1273866373.83564" 
+    capture_lex $P822
+    .const 'Sub' $P810 = "50_1273866373.83564" 
+    capture_lex $P810
+    .const 'Sub' $P787 = "49_1273866373.83564" 
+    capture_lex $P787
+    .const 'Sub' $P764 = "48_1273866373.83564" 
+    capture_lex $P764
+    .const 'Sub' $P746 = "47_1273866373.83564" 
+    capture_lex $P746
+    .const 'Sub' $P736 = "46_1273866373.83564" 
+    capture_lex $P736
+    .const 'Sub' $P718 = "45_1273866373.83564" 
+    capture_lex $P718
+    .const 'Sub' $P671 = "44_1273866373.83564" 
+    capture_lex $P671
+    .const 'Sub' $P654 = "43_1273866373.83564" 
+    capture_lex $P654
+    .const 'Sub' $P639 = "42_1273866373.83564" 
+    capture_lex $P639
+    .const 'Sub' $P624 = "41_1273866373.83564" 
+    capture_lex $P624
+    .const 'Sub' $P598 = "40_1273866373.83564" 
+    capture_lex $P598
+    .const 'Sub' $P548 = "38_1273866373.83564" 
+    capture_lex $P548
+    .const 'Sub' $P480 = "36_1273866373.83564" 
+    capture_lex $P480
+    .const 'Sub' $P425 = "33_1273866373.83564" 
+    capture_lex $P425
+    .const 'Sub' $P410 = "32_1273866373.83564" 
+    capture_lex $P410
+    .const 'Sub' $P384 = "30_1273866373.83564" 
+    capture_lex $P384
+    .const 'Sub' $P367 = "29_1273866373.83564" 
+    capture_lex $P367
+    .const 'Sub' $P344 = "28_1273866373.83564" 
+    capture_lex $P344
+    .const 'Sub' $P311 = "27_1273866373.83564" 
+    capture_lex $P311
+    .const 'Sub' $P56 = "14_1273866373.83564" 
+    capture_lex $P56
+    .const 'Sub' $P22 = "13_1273866373.83564" 
+    capture_lex $P22
+    .const 'Sub' $P16 = "12_1273866373.83564" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_91
     $P15 = root_new ['parrot';'ResizablePMCArray']
     set_global "@MODIFIERS", $P15
   vivify_91:
-.annotate "line", 6
-    .const 'Sub' $P16 = "12_1272816836.73052" 
-    capture_lex $P16
-    .lex "INIT", $P16
-.annotate "line", 479
-    .const 'Sub' $P21 = "13_1272816836.73052" 
-    capture_lex $P21
-    .lex "buildsub", $P21
-.annotate "line", 496
-    .const 'Sub' $P54 = "14_1272816836.73052" 
-    capture_lex $P54
-    .lex "capnames", $P54
-.annotate "line", 562
-    .const 'Sub' $P308 = "27_1272816836.73052" 
-    capture_lex $P308
-    .lex "backmod", $P308
-.annotate "line", 569
-    .const 'Sub' $P340 = "28_1272816836.73052" 
-    capture_lex $P340
-    .lex "subrule_alias", $P340
-.annotate "line", 4
-    get_global $P360, "@MODIFIERS"
-    find_lex $P361, "INIT"
-.annotate "line", 472
-    find_lex $P1565, "buildsub"
-    find_lex $P1566, "capnames"
-    find_lex $P1567, "backmod"
-    find_lex $P1568, "subrule_alias"
-.annotate "line", 4
-    .return ($P1568)
+.annotate 'line', 6
+    .const 'Sub' $P16 = "12_1273866373.83564" 
+    newclosure $P21, $P16
+    .lex "INIT", $P21
+.annotate 'line', 479
+    .const 'Sub' $P22 = "13_1273866373.83564" 
+    newclosure $P55, $P22
+    .lex "buildsub", $P55
+.annotate 'line', 496
+    .const 'Sub' $P56 = "14_1273866373.83564" 
+    newclosure $P310, $P56
+    .lex "capnames", $P310
+.annotate 'line', 562
+    .const 'Sub' $P311 = "27_1273866373.83564" 
+    newclosure $P343, $P311
+    .lex "backmod", $P343
+.annotate 'line', 569
+    .const 'Sub' $P344 = "28_1273866373.83564" 
+    newclosure $P364, $P344
+    .lex "subrule_alias", $P364
+.annotate 'line', 4
+    get_global $P365, "@MODIFIERS"
+    find_lex $P366, "INIT"
+.annotate 'line', 472
+    find_lex $P1570, "buildsub"
+    find_lex $P1571, "capnames"
+    find_lex $P1572, "backmod"
+    find_lex $P1573, "subrule_alias"
+.annotate 'line', 4
+    .return ($P1573)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT"  :subid("12_1272816836.73052") :outer("11_1272816836.73052")
-.annotate "line", 6
+.sub "INIT"  :subid("12_1273866373.83564") :outer("11_1273866373.83564")
+.annotate 'line', 6
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
     $P18."handle_types"(57)
     push_eh $P18
-.annotate "line", 7
+.annotate 'line', 7
 
         $P19 = new ['ResizablePMCArray']
         $P0 = new ['Hash']
         push $P19, $P0
     
     set_global "@MODIFIERS", $P19
-.annotate "line", 6
+.annotate 'line', 6
     .return ($P19)
   control_17:
     .local pmc exception 
@@ -7353,3932 +7353,3932 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("13_1272816836.73052") :outer("11_1272816836.73052")
-    .param pmc param_24
-    .param pmc param_25 :optional
-    .param int has_param_25 :opt_flag
-.annotate "line", 479
-    new $P23, 'ExceptionHandler'
-    set_addr $P23, control_22
-    $P23."handle_types"(57)
-    push_eh $P23
-    .lex "$rpast", param_24
-    if has_param_25, optparam_92
-    get_hll_global $P26, ["PAST"], "Block"
-    $P27 = $P26."new"()
-    set param_25, $P27
+.sub "buildsub"  :subid("13_1273866373.83564") :outer("11_1273866373.83564")
+    .param pmc param_25
+    .param pmc param_26 :optional
+    .param int has_param_26 :opt_flag
+.annotate 'line', 479
+    new $P24, 'ExceptionHandler'
+    set_addr $P24, control_23
+    $P24."handle_types"(57)
+    push_eh $P24
+    .lex "$rpast", param_25
+    if has_param_26, optparam_92
+    get_hll_global $P27, ["PAST"], "Block"
+    $P28 = $P27."new"()
+    set param_26, $P28
   optparam_92:
-    .lex "$block", param_25
-.annotate "line", 480
-    $P28 = root_new ['parrot';'Hash']
-    .lex "%capnames", $P28
-    find_lex $P29, "$rpast"
-    $P30 = "capnames"($P29, 0)
-    store_lex "%capnames", $P30
-.annotate "line", 481
-    new $P31, "Integer"
-    assign $P31, 0
-    find_lex $P32, "%capnames"
-    unless_null $P32, vivify_93
-    $P32 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P32
+    .lex "$block", param_26
+.annotate 'line', 480
+    $P29 = root_new ['parrot';'Hash']
+    .lex "%capnames", $P29
+    find_lex $P30, "$rpast"
+    $P31 = "capnames"($P30, 0)
+    store_lex "%capnames", $P31
+.annotate 'line', 481
+    new $P32, "Integer"
+    assign $P32, 0
+    find_lex $P33, "%capnames"
+    unless_null $P33, vivify_93
+    $P33 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P33
   vivify_93:
-    set $P32[""], $P31
-.annotate "line", 482
-    get_hll_global $P33, ["PAST"], "Regex"
-.annotate "line", 483
+    set $P33[""], $P32
+.annotate 'line', 482
     get_hll_global $P34, ["PAST"], "Regex"
-    $P35 = $P34."new"("scan" :named("pasttype"))
-    find_lex $P36, "$rpast"
-.annotate "line", 485
-    get_hll_global $P37, ["PAST"], "Regex"
-    $P38 = $P37."new"("pass" :named("pasttype"))
-    find_lex $P39, "%capnames"
-    $P40 = $P33."new"($P35, $P36, $P38, "concat" :named("pasttype"), $P39 :named("capnames"))
-.annotate "line", 482
-    store_lex "$rpast", $P40
-.annotate "line", 489
-    find_lex $P42, "$block"
-    $P43 = $P42."symbol"(unicode:"$\x{a2}")
-    if $P43, unless_41_end
-    find_lex $P44, "$block"
-    $P44."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-  unless_41_end:
-.annotate "line", 490
-    find_lex $P46, "$block"
-    $P47 = $P46."symbol"("$/")
-    if $P47, unless_45_end
-    find_lex $P48, "$block"
-    $P48."symbol"("$/", "lexical" :named("scope"))
-  unless_45_end:
-.annotate "line", 491
+.annotate 'line', 483
+    get_hll_global $P35, ["PAST"], "Regex"
+    $P36 = $P35."new"("scan" :named("pasttype"))
+    find_lex $P37, "$rpast"
+.annotate 'line', 485
+    get_hll_global $P38, ["PAST"], "Regex"
+    $P39 = $P38."new"("pass" :named("pasttype"))
+    find_lex $P40, "%capnames"
+    $P41 = $P34."new"($P36, $P37, $P39, "concat" :named("pasttype"), $P40 :named("capnames"))
+.annotate 'line', 482
+    store_lex "$rpast", $P41
+.annotate 'line', 489
+    find_lex $P43, "$block"
+    $P44 = $P43."symbol"(unicode:"$\x{a2}")
+    if $P44, unless_42_end
+    find_lex $P45, "$block"
+    $P45."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+  unless_42_end:
+.annotate 'line', 490
+    find_lex $P47, "$block"
+    $P48 = $P47."symbol"("$/")
+    if $P48, unless_46_end
     find_lex $P49, "$block"
-    find_lex $P50, "$rpast"
-    $P49."push"($P50)
-.annotate "line", 492
-    find_lex $P51, "$block"
-    $P51."blocktype"("method")
+    $P49."symbol"("$/", "lexical" :named("scope"))
+  unless_46_end:
+.annotate 'line', 491
+    find_lex $P50, "$block"
+    find_lex $P51, "$rpast"
+    $P50."push"($P51)
+.annotate 'line', 492
     find_lex $P52, "$block"
-.annotate "line", 479
-    .return ($P52)
-  control_22:
+    $P52."blocktype"("method")
+    find_lex $P53, "$block"
+.annotate 'line', 479
+    .return ($P53)
+  control_23:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P53, exception, "payload"
-    .return ($P53)
+    getattribute $P54, exception, "payload"
+    .return ($P54)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("14_1272816836.73052") :outer("11_1272816836.73052")
-    .param pmc param_57
-    .param pmc param_58
-.annotate "line", 496
-    .const 'Sub' $P283 = "25_1272816836.73052" 
-    capture_lex $P283
-    .const 'Sub' $P220 = "22_1272816836.73052" 
-    capture_lex $P220
-    .const 'Sub' $P178 = "20_1272816836.73052" 
-    capture_lex $P178
-    .const 'Sub' $P136 = "18_1272816836.73052" 
-    capture_lex $P136
-    .const 'Sub' $P69 = "15_1272816836.73052" 
-    capture_lex $P69
-    new $P56, 'ExceptionHandler'
-    set_addr $P56, control_55
-    $P56."handle_types"(57)
-    push_eh $P56
-    .lex "$ast", param_57
-    .lex "$count", param_58
-.annotate "line", 497
-    $P59 = root_new ['parrot';'Hash']
-    .lex "%capnames", $P59
-.annotate "line", 498
-    new $P60, "Undef"
-    .lex "$pasttype", $P60
-.annotate "line", 496
-    find_lex $P61, "%capnames"
-.annotate "line", 498
-    find_lex $P62, "$ast"
-    $P63 = $P62."pasttype"()
-    store_lex "$pasttype", $P63
-.annotate "line", 499
-    find_lex $P65, "$pasttype"
-    set $S66, $P65
-    iseq $I67, $S66, "alt"
-    if $I67, if_64
-.annotate "line", 512
-    find_lex $P127, "$pasttype"
-    set $S128, $P127
-    iseq $I129, $S128, "concat"
-    if $I129, if_126
-.annotate "line", 521
-    find_lex $P171, "$pasttype"
-    set $S172, $P171
-    iseq $I173, $S172, "subrule"
-    if $I173, if_170
-    new $P169, 'Integer'
-    set $P169, $I173
+.sub "capnames"  :subid("14_1273866373.83564") :outer("11_1273866373.83564")
+    .param pmc param_59
+    .param pmc param_60
+.annotate 'line', 496
+    .const 'Sub' $P285 = "25_1273866373.83564" 
+    capture_lex $P285
+    .const 'Sub' $P222 = "22_1273866373.83564" 
+    capture_lex $P222
+    .const 'Sub' $P180 = "20_1273866373.83564" 
+    capture_lex $P180
+    .const 'Sub' $P138 = "18_1273866373.83564" 
+    capture_lex $P138
+    .const 'Sub' $P71 = "15_1273866373.83564" 
+    capture_lex $P71
+    new $P58, 'ExceptionHandler'
+    set_addr $P58, control_57
+    $P58."handle_types"(57)
+    push_eh $P58
+    .lex "$ast", param_59
+    .lex "$count", param_60
+.annotate 'line', 497
+    $P61 = root_new ['parrot';'Hash']
+    .lex "%capnames", $P61
+.annotate 'line', 498
+    new $P62, "Undef"
+    .lex "$pasttype", $P62
+.annotate 'line', 496
+    find_lex $P63, "%capnames"
+.annotate 'line', 498
+    find_lex $P64, "$ast"
+    $P65 = $P64."pasttype"()
+    store_lex "$pasttype", $P65
+.annotate 'line', 499
+    find_lex $P67, "$pasttype"
+    set $S68, $P67
+    iseq $I69, $S68, "alt"
+    if $I69, if_66
+.annotate 'line', 512
+    find_lex $P129, "$pasttype"
+    set $S130, $P129
+    iseq $I131, $S130, "concat"
+    if $I131, if_128
+.annotate 'line', 521
+    find_lex $P173, "$pasttype"
+    set $S174, $P173
+    iseq $I175, $S174, "subrule"
+    if $I175, if_172
+    new $P171, 'Integer'
+    set $P171, $I175
+    goto if_172_end
+  if_172:
+    find_lex $P176, "$ast"
+    $S177 = $P176."subtype"()
+    iseq $I178, $S177, "capture"
+    new $P171, 'Integer'
+    set $P171, $I178
+  if_172_end:
+    if $P171, if_170
+.annotate 'line', 534
+    find_lex $P218, "$pasttype"
+    set $S219, $P218
+    iseq $I220, $S219, "subcapture"
+    if $I220, if_217
+.annotate 'line', 551
+    find_lex $P281, "$pasttype"
+    set $S282, $P281
+    iseq $I283, $S282, "quant"
+    unless $I283, if_280_end
+    .const 'Sub' $P285 = "25_1273866373.83564" 
+    capture_lex $P285
+    $P285()
+  if_280_end:
+    goto if_217_end
+  if_217:
+.annotate 'line', 534
+    .const 'Sub' $P222 = "22_1273866373.83564" 
+    capture_lex $P222
+    $P222()
+  if_217_end:
     goto if_170_end
   if_170:
-    find_lex $P174, "$ast"
-    $S175 = $P174."subtype"()
-    iseq $I176, $S175, "capture"
-    new $P169, 'Integer'
-    set $P169, $I176
+.annotate 'line', 521
+    .const 'Sub' $P180 = "20_1273866373.83564" 
+    capture_lex $P180
+    $P180()
   if_170_end:
-    if $P169, if_168
-.annotate "line", 534
-    find_lex $P216, "$pasttype"
-    set $S217, $P216
-    iseq $I218, $S217, "subcapture"
-    if $I218, if_215
-.annotate "line", 551
-    find_lex $P279, "$pasttype"
-    set $S280, $P279
-    iseq $I281, $S280, "quant"
-    unless $I281, if_278_end
-    .const 'Sub' $P283 = "25_1272816836.73052" 
-    capture_lex $P283
-    $P283()
-  if_278_end:
-    goto if_215_end
-  if_215:
-.annotate "line", 534
-    .const 'Sub' $P220 = "22_1272816836.73052" 
-    capture_lex $P220
-    $P220()
-  if_215_end:
-    goto if_168_end
-  if_168:
-.annotate "line", 521
-    .const 'Sub' $P178 = "20_1272816836.73052" 
-    capture_lex $P178
-    $P178()
-  if_168_end:
-    goto if_126_end
-  if_126:
-.annotate "line", 513
-    find_lex $P131, "$ast"
-    $P132 = $P131."list"()
-    defined $I133, $P132
-    unless $I133, for_undef_114
-    iter $P130, $P132
-    new $P166, 'ExceptionHandler'
-    set_addr $P166, loop165_handler
-    $P166."handle_types"(64, 66, 65)
-    push_eh $P166
-  loop165_test:
-    unless $P130, loop165_done
-    shift $P134, $P130
-  loop165_redo:
-    .const 'Sub' $P136 = "18_1272816836.73052" 
-    capture_lex $P136
-    $P136($P134)
-  loop165_next:
-    goto loop165_test
-  loop165_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P167, exception, 'type'
-    eq $P167, 64, loop165_next
-    eq $P167, 66, loop165_redo
-  loop165_done:
+    goto if_128_end
+  if_128:
+.annotate 'line', 513
+    find_lex $P133, "$ast"
+    $P134 = $P133."list"()
+    defined $I135, $P134
+    unless $I135, for_undef_114
+    iter $P132, $P134
+    new $P168, 'ExceptionHandler'
+    set_addr $P168, loop167_handler
+    $P168."handle_types"(64, 66, 65)
+    push_eh $P168
+  loop167_test:
+    unless $P132, loop167_done
+    shift $P136, $P132
+  loop167_redo:
+    .const 'Sub' $P138 = "18_1273866373.83564" 
+    capture_lex $P138
+    $P138($P136)
+  loop167_next:
+    goto loop167_test
+  loop167_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P169, exception, 'type'
+    eq $P169, 64, loop167_next
+    eq $P169, 66, loop167_redo
+  loop167_done:
     pop_eh 
   for_undef_114:
-  if_126_end:
-.annotate "line", 512
-    goto if_64_end
-  if_64:
-.annotate "line", 499
-    .const 'Sub' $P69 = "15_1272816836.73052" 
-    capture_lex $P69
-    $P69()
-  if_64_end:
-.annotate "line", 558
-    find_lex $P304, "$count"
-    find_lex $P305, "%capnames"
-    unless_null $P305, vivify_134
-    $P305 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P305
+  if_128_end:
+.annotate 'line', 512
+    goto if_66_end
+  if_66:
+.annotate 'line', 499
+    .const 'Sub' $P71 = "15_1273866373.83564" 
+    capture_lex $P71
+    $P71()
+  if_66_end:
+.annotate 'line', 558
+    find_lex $P306, "$count"
+    find_lex $P307, "%capnames"
+    unless_null $P307, vivify_134
+    $P307 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P307
   vivify_134:
-    set $P305[""], $P304
-    find_lex $P306, "%capnames"
-.annotate "line", 496
-    .return ($P306)
-  control_55:
+    set $P307[""], $P306
+    find_lex $P308, "%capnames"
+.annotate 'line', 496
+    .return ($P308)
+  control_57:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P307, exception, "payload"
-    .return ($P307)
+    getattribute $P309, exception, "payload"
+    .return ($P309)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block282"  :anon :subid("25_1272816836.73052") :outer("14_1272816836.73052")
-.annotate "line", 551
-    .const 'Sub' $P294 = "26_1272816836.73052" 
-    capture_lex $P294
-.annotate "line", 552
-    $P284 = root_new ['parrot';'Hash']
-    .lex "%astcap", $P284
-    find_lex $P285, "$ast"
-    unless_null $P285, vivify_94
-    $P285 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block284"  :anon :subid("25_1273866373.83564") :outer("14_1273866373.83564")
+.annotate 'line', 551
+    .const 'Sub' $P296 = "26_1273866373.83564" 
+    capture_lex $P296
+.annotate 'line', 552
+    $P286 = root_new ['parrot';'Hash']
+    .lex "%astcap", $P286
+    find_lex $P287, "$ast"
+    unless_null $P287, vivify_94
+    $P287 = root_new ['parrot';'ResizablePMCArray']
   vivify_94:
-    set $P286, $P285[0]
-    unless_null $P286, vivify_95
-    new $P286, "Undef"
+    set $P288, $P287[0]
+    unless_null $P288, vivify_95
+    new $P288, "Undef"
   vivify_95:
-    find_lex $P287, "$count"
-    $P288 = "capnames"($P286, $P287)
-    store_lex "%astcap", $P288
-.annotate "line", 553
-    find_lex $P290, "%astcap"
-    defined $I291, $P290
-    unless $I291, for_undef_96
-    iter $P289, $P290
-    new $P300, 'ExceptionHandler'
-    set_addr $P300, loop299_handler
-    $P300."handle_types"(64, 66, 65)
-    push_eh $P300
-  loop299_test:
-    unless $P289, loop299_done
-    shift $P292, $P289
-  loop299_redo:
-    .const 'Sub' $P294 = "26_1272816836.73052" 
-    capture_lex $P294
-    $P294($P292)
-  loop299_next:
-    goto loop299_test
-  loop299_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P301, exception, 'type'
-    eq $P301, 64, loop299_next
-    eq $P301, 66, loop299_redo
-  loop299_done:
+    find_lex $P289, "$count"
+    $P290 = "capnames"($P288, $P289)
+    store_lex "%astcap", $P290
+.annotate 'line', 553
+    find_lex $P292, "%astcap"
+    defined $I293, $P292
+    unless $I293, for_undef_96
+    iter $P291, $P292
+    new $P302, 'ExceptionHandler'
+    set_addr $P302, loop301_handler
+    $P302."handle_types"(64, 66, 65)
+    push_eh $P302
+  loop301_test:
+    unless $P291, loop301_done
+    shift $P294, $P291
+  loop301_redo:
+    .const 'Sub' $P296 = "26_1273866373.83564" 
+    capture_lex $P296
+    $P296($P294)
+  loop301_next:
+    goto loop301_test
+  loop301_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P303, exception, 'type'
+    eq $P303, 64, loop301_next
+    eq $P303, 66, loop301_redo
+  loop301_done:
     pop_eh 
   for_undef_96:
-.annotate "line", 556
-    find_lex $P302, "%astcap"
-    unless_null $P302, vivify_98
-    $P302 = root_new ['parrot';'Hash']
+.annotate 'line', 556
+    find_lex $P304, "%astcap"
+    unless_null $P304, vivify_98
+    $P304 = root_new ['parrot';'Hash']
   vivify_98:
-    set $P303, $P302[""]
-    unless_null $P303, vivify_99
-    new $P303, "Undef"
+    set $P305, $P304[""]
+    unless_null $P305, vivify_99
+    new $P305, "Undef"
   vivify_99:
-    store_lex "$count", $P303
-.annotate "line", 551
-    .return ($P303)
+    store_lex "$count", $P305
+.annotate 'line', 551
+    .return ($P305)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block293"  :anon :subid("26_1272816836.73052") :outer("25_1272816836.73052")
-    .param pmc param_295
-.annotate "line", 553
-    .lex "$_", param_295
-.annotate "line", 554
-    new $P296, "Integer"
-    assign $P296, 2
-    find_lex $P297, "$_"
-    find_lex $P298, "%capnames"
-    unless_null $P298, vivify_97
-    $P298 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P298
+.sub "_block295"  :anon :subid("26_1273866373.83564") :outer("25_1273866373.83564")
+    .param pmc param_297
+.annotate 'line', 553
+    .lex "$_", param_297
+.annotate 'line', 554
+    new $P298, "Integer"
+    assign $P298, 2
+    find_lex $P299, "$_"
+    find_lex $P300, "%capnames"
+    unless_null $P300, vivify_97
+    $P300 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P300
   vivify_97:
-    set $P298[$P297], $P296
-.annotate "line", 553
-    .return ($P296)
+    set $P300[$P299], $P298
+.annotate 'line', 553
+    .return ($P298)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block219"  :anon :subid("22_1272816836.73052") :outer("14_1272816836.73052")
-.annotate "line", 534
-    .const 'Sub' $P260 = "24_1272816836.73052" 
-    capture_lex $P260
-    .const 'Sub' $P232 = "23_1272816836.73052" 
-    capture_lex $P232
-.annotate "line", 535
-    new $P221, "Undef"
-    .lex "$name", $P221
-.annotate "line", 536
-    $P222 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@names", $P222
-.annotate "line", 545
-    $P223 = root_new ['parrot';'Hash']
-    .lex "%x", $P223
-.annotate "line", 535
-    find_lex $P224, "$ast"
-    $P225 = $P224."name"()
-    store_lex "$name", $P225
-.annotate "line", 536
+.sub "_block221"  :anon :subid("22_1273866373.83564") :outer("14_1273866373.83564")
+.annotate 'line', 534
+    .const 'Sub' $P262 = "24_1273866373.83564" 
+    capture_lex $P262
+    .const 'Sub' $P234 = "23_1273866373.83564" 
+    capture_lex $P234
+.annotate 'line', 535
+    new $P223, "Undef"
+    .lex "$name", $P223
+.annotate 'line', 536
+    $P224 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@names", $P224
+.annotate 'line', 545
+    $P225 = root_new ['parrot';'Hash']
+    .lex "%x", $P225
+.annotate 'line', 535
+    find_lex $P226, "$ast"
+    $P227 = $P226."name"()
+    store_lex "$name", $P227
+.annotate 'line', 536
 
             $P0 = find_lex '$name'
             $S0 = $P0
-            $P226 = split '=', $S0
+            $P228 = split '=', $S0
         
-    store_lex "@names", $P226
-.annotate "line", 541
-    find_lex $P228, "@names"
-    defined $I229, $P228
-    unless $I229, for_undef_100
-    iter $P227, $P228
-    new $P249, 'ExceptionHandler'
-    set_addr $P249, loop248_handler
-    $P249."handle_types"(64, 66, 65)
-    push_eh $P249
-  loop248_test:
-    unless $P227, loop248_done
-    shift $P230, $P227
-  loop248_redo:
-    .const 'Sub' $P232 = "23_1272816836.73052" 
-    capture_lex $P232
-    $P232($P230)
-  loop248_next:
-    goto loop248_test
-  loop248_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P250, exception, 'type'
-    eq $P250, 64, loop248_next
-    eq $P250, 66, loop248_redo
-  loop248_done:
+    store_lex "@names", $P228
+.annotate 'line', 541
+    find_lex $P230, "@names"
+    defined $I231, $P230
+    unless $I231, for_undef_100
+    iter $P229, $P230
+    new $P251, 'ExceptionHandler'
+    set_addr $P251, loop250_handler
+    $P251."handle_types"(64, 66, 65)
+    push_eh $P251
+  loop250_test:
+    unless $P229, loop250_done
+    shift $P232, $P229
+  loop250_redo:
+    .const 'Sub' $P234 = "23_1273866373.83564" 
+    capture_lex $P234
+    $P234($P232)
+  loop250_next:
+    goto loop250_test
+  loop250_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P252, exception, 'type'
+    eq $P252, 64, loop250_next
+    eq $P252, 66, loop250_redo
+  loop250_done:
     pop_eh 
   for_undef_100:
-.annotate "line", 545
-    find_lex $P251, "$ast"
-    unless_null $P251, vivify_102
-    $P251 = root_new ['parrot';'ResizablePMCArray']
+.annotate 'line', 545
+    find_lex $P253, "$ast"
+    unless_null $P253, vivify_102
+    $P253 = root_new ['parrot';'ResizablePMCArray']
   vivify_102:
-    set $P252, $P251[0]
-    unless_null $P252, vivify_103
-    new $P252, "Undef"
+    set $P254, $P253[0]
+    unless_null $P254, vivify_103
+    new $P254, "Undef"
   vivify_103:
-    find_lex $P253, "$count"
-    $P254 = "capnames"($P252, $P253)
-    store_lex "%x", $P254
-.annotate "line", 546
-    find_lex $P256, "%x"
-    defined $I257, $P256
-    unless $I257, for_undef_104
-    iter $P255, $P256
-    new $P274, 'ExceptionHandler'
-    set_addr $P274, loop273_handler
-    $P274."handle_types"(64, 66, 65)
-    push_eh $P274
-  loop273_test:
-    unless $P255, loop273_done
-    shift $P258, $P255
-  loop273_redo:
-    .const 'Sub' $P260 = "24_1272816836.73052" 
-    capture_lex $P260
-    $P260($P258)
-  loop273_next:
-    goto loop273_test
-  loop273_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P275, exception, 'type'
-    eq $P275, 64, loop273_next
-    eq $P275, 66, loop273_redo
-  loop273_done:
+    find_lex $P255, "$count"
+    $P256 = "capnames"($P254, $P255)
+    store_lex "%x", $P256
+.annotate 'line', 546
+    find_lex $P258, "%x"
+    defined $I259, $P258
+    unless $I259, for_undef_104
+    iter $P257, $P258
+    new $P276, 'ExceptionHandler'
+    set_addr $P276, loop275_handler
+    $P276."handle_types"(64, 66, 65)
+    push_eh $P276
+  loop275_test:
+    unless $P257, loop275_done
+    shift $P260, $P257
+  loop275_redo:
+    .const 'Sub' $P262 = "24_1273866373.83564" 
+    capture_lex $P262
+    $P262($P260)
+  loop275_next:
+    goto loop275_test
+  loop275_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P277, exception, 'type'
+    eq $P277, 64, loop275_next
+    eq $P277, 66, loop275_redo
+  loop275_done:
     pop_eh 
   for_undef_104:
-.annotate "line", 549
-    find_lex $P276, "%x"
-    unless_null $P276, vivify_110
-    $P276 = root_new ['parrot';'Hash']
+.annotate 'line', 549
+    find_lex $P278, "%x"
+    unless_null $P278, vivify_110
+    $P278 = root_new ['parrot';'Hash']
   vivify_110:
-    set $P277, $P276[""]
-    unless_null $P277, vivify_111
-    new $P277, "Undef"
+    set $P279, $P278[""]
+    unless_null $P279, vivify_111
+    new $P279, "Undef"
   vivify_111:
-    store_lex "$count", $P277
-.annotate "line", 534
-    .return ($P277)
+    store_lex "$count", $P279
+.annotate 'line', 534
+    .return ($P279)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block231"  :anon :subid("23_1272816836.73052") :outer("22_1272816836.73052")
-    .param pmc param_233
-.annotate "line", 541
-    .lex "$_", param_233
-.annotate "line", 542
-    find_lex $P237, "$_"
-    set $S238, $P237
-    iseq $I239, $S238, "0"
-    unless $I239, unless_236
-    new $P235, 'Integer'
-    set $P235, $I239
-    goto unless_236_end
-  unless_236:
-    find_lex $P240, "$_"
-    set $N241, $P240
-    isgt $I242, $N241, 0.0
-    new $P235, 'Integer'
-    set $P235, $I242
-  unless_236_end:
-    unless $P235, if_234_end
-    find_lex $P243, "$_"
-    add $P244, $P243, 1
-    store_lex "$count", $P244
-  if_234_end:
-.annotate "line", 543
-    new $P245, "Integer"
-    assign $P245, 1
-    find_lex $P246, "$_"
-    find_lex $P247, "%capnames"
-    unless_null $P247, vivify_101
-    $P247 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P247
+.sub "_block233"  :anon :subid("23_1273866373.83564") :outer("22_1273866373.83564")
+    .param pmc param_235
+.annotate 'line', 541
+    .lex "$_", param_235
+.annotate 'line', 542
+    find_lex $P239, "$_"
+    set $S240, $P239
+    iseq $I241, $S240, "0"
+    unless $I241, unless_238
+    new $P237, 'Integer'
+    set $P237, $I241
+    goto unless_238_end
+  unless_238:
+    find_lex $P242, "$_"
+    set $N243, $P242
+    isgt $I244, $N243, 0.0
+    new $P237, 'Integer'
+    set $P237, $I244
+  unless_238_end:
+    unless $P237, if_236_end
+    find_lex $P245, "$_"
+    add $P246, $P245, 1
+    store_lex "$count", $P246
+  if_236_end:
+.annotate 'line', 543
+    new $P247, "Integer"
+    assign $P247, 1
+    find_lex $P248, "$_"
+    find_lex $P249, "%capnames"
+    unless_null $P249, vivify_101
+    $P249 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P249
   vivify_101:
-    set $P247[$P246], $P245
-.annotate "line", 541
-    .return ($P245)
+    set $P249[$P248], $P247
+.annotate 'line', 541
+    .return ($P247)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block259"  :anon :subid("24_1272816836.73052") :outer("22_1272816836.73052")
-    .param pmc param_261
-.annotate "line", 546
-    .lex "$_", param_261
-.annotate "line", 547
-    find_lex $P262, "$_"
-    find_lex $P263, "%capnames"
-    unless_null $P263, vivify_105
-    $P263 = root_new ['parrot';'Hash']
+.sub "_block261"  :anon :subid("24_1273866373.83564") :outer("22_1273866373.83564")
+    .param pmc param_263
+.annotate 'line', 546
+    .lex "$_", param_263
+.annotate 'line', 547
+    find_lex $P264, "$_"
+    find_lex $P265, "%capnames"
+    unless_null $P265, vivify_105
+    $P265 = root_new ['parrot';'Hash']
   vivify_105:
-    set $P264, $P263[$P262]
-    unless_null $P264, vivify_106
-    new $P264, "Undef"
+    set $P266, $P265[$P264]
+    unless_null $P266, vivify_106
+    new $P266, "Undef"
   vivify_106:
-    set $N265, $P264
-    new $P266, 'Float'
-    set $P266, $N265
-    find_lex $P267, "$_"
-    find_lex $P268, "%x"
-    unless_null $P268, vivify_107
-    $P268 = root_new ['parrot';'Hash']
+    set $N267, $P266
+    new $P268, 'Float'
+    set $P268, $N267
+    find_lex $P269, "$_"
+    find_lex $P270, "%x"
+    unless_null $P270, vivify_107
+    $P270 = root_new ['parrot';'Hash']
   vivify_107:
-    set $P269, $P268[$P267]
-    unless_null $P269, vivify_108
-    new $P269, "Undef"
+    set $P271, $P270[$P269]
+    unless_null $P271, vivify_108
+    new $P271, "Undef"
   vivify_108:
-    add $P270, $P266, $P269
-    find_lex $P271, "$_"
-    find_lex $P272, "%capnames"
-    unless_null $P272, vivify_109
-    $P272 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P272
+    add $P272, $P268, $P271
+    find_lex $P273, "$_"
+    find_lex $P274, "%capnames"
+    unless_null $P274, vivify_109
+    $P274 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P274
   vivify_109:
-    set $P272[$P271], $P270
-.annotate "line", 546
-    .return ($P270)
+    set $P274[$P273], $P272
+.annotate 'line', 546
+    .return ($P272)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block177"  :anon :subid("20_1272816836.73052") :outer("14_1272816836.73052")
-.annotate "line", 521
-    .const 'Sub' $P196 = "21_1272816836.73052" 
-    capture_lex $P196
-.annotate "line", 522
-    new $P179, "Undef"
-    .lex "$name", $P179
-.annotate "line", 524
-    $P180 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@names", $P180
-.annotate "line", 522
-    find_lex $P181, "$ast"
-    $P182 = $P181."name"()
-    store_lex "$name", $P182
-.annotate "line", 523
-    find_lex $P184, "$name"
-    set $S185, $P184
-    iseq $I186, $S185, ""
-    unless $I186, if_183_end
-    find_lex $P187, "$count"
-    store_lex "$name", $P187
-    find_lex $P188, "$ast"
-    find_lex $P189, "$name"
-    $P188."name"($P189)
-  if_183_end:
-.annotate "line", 524
+.sub "_block179"  :anon :subid("20_1273866373.83564") :outer("14_1273866373.83564")
+.annotate 'line', 521
+    .const 'Sub' $P198 = "21_1273866373.83564" 
+    capture_lex $P198
+.annotate 'line', 522
+    new $P181, "Undef"
+    .lex "$name", $P181
+.annotate 'line', 524
+    $P182 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@names", $P182
+.annotate 'line', 522
+    find_lex $P183, "$ast"
+    $P184 = $P183."name"()
+    store_lex "$name", $P184
+.annotate 'line', 523
+    find_lex $P186, "$name"
+    set $S187, $P186
+    iseq $I188, $S187, ""
+    unless $I188, if_185_end
+    find_lex $P189, "$count"
+    store_lex "$name", $P189
+    find_lex $P190, "$ast"
+    find_lex $P191, "$name"
+    $P190."name"($P191)
+  if_185_end:
+.annotate 'line', 524
 
             $P0 = find_lex '$name'
             $S0 = $P0
-            $P190 = split '=', $S0
+            $P192 = split '=', $S0
         
-    store_lex "@names", $P190
-.annotate "line", 529
-    find_lex $P192, "@names"
-    defined $I193, $P192
-    unless $I193, for_undef_112
-    iter $P191, $P192
-    new $P213, 'ExceptionHandler'
-    set_addr $P213, loop212_handler
-    $P213."handle_types"(64, 66, 65)
-    push_eh $P213
-  loop212_test:
-    unless $P191, loop212_done
-    shift $P194, $P191
-  loop212_redo:
-    .const 'Sub' $P196 = "21_1272816836.73052" 
-    capture_lex $P196
-    $P196($P194)
-  loop212_next:
-    goto loop212_test
-  loop212_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P214, exception, 'type'
-    eq $P214, 64, loop212_next
-    eq $P214, 66, loop212_redo
-  loop212_done:
+    store_lex "@names", $P192
+.annotate 'line', 529
+    find_lex $P194, "@names"
+    defined $I195, $P194
+    unless $I195, for_undef_112
+    iter $P193, $P194
+    new $P215, 'ExceptionHandler'
+    set_addr $P215, loop214_handler
+    $P215."handle_types"(64, 66, 65)
+    push_eh $P215
+  loop214_test:
+    unless $P193, loop214_done
+    shift $P196, $P193
+  loop214_redo:
+    .const 'Sub' $P198 = "21_1273866373.83564" 
+    capture_lex $P198
+    $P198($P196)
+  loop214_next:
+    goto loop214_test
+  loop214_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P216, exception, 'type'
+    eq $P216, 64, loop214_next
+    eq $P216, 66, loop214_redo
+  loop214_done:
     pop_eh 
   for_undef_112:
-.annotate "line", 521
-    .return ($P191)
+.annotate 'line', 521
+    .return ($P193)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block195"  :anon :subid("21_1272816836.73052") :outer("20_1272816836.73052")
-    .param pmc param_197
-.annotate "line", 529
-    .lex "$_", param_197
-.annotate "line", 530
-    find_lex $P201, "$_"
-    set $S202, $P201
-    iseq $I203, $S202, "0"
-    unless $I203, unless_200
-    new $P199, 'Integer'
-    set $P199, $I203
-    goto unless_200_end
-  unless_200:
-    find_lex $P204, "$_"
-    set $N205, $P204
-    isgt $I206, $N205, 0.0
-    new $P199, 'Integer'
-    set $P199, $I206
-  unless_200_end:
-    unless $P199, if_198_end
-    find_lex $P207, "$_"
-    add $P208, $P207, 1
-    store_lex "$count", $P208
-  if_198_end:
-.annotate "line", 531
-    new $P209, "Integer"
-    assign $P209, 1
-    find_lex $P210, "$_"
-    find_lex $P211, "%capnames"
-    unless_null $P211, vivify_113
-    $P211 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P211
+.sub "_block197"  :anon :subid("21_1273866373.83564") :outer("20_1273866373.83564")
+    .param pmc param_199
+.annotate 'line', 529
+    .lex "$_", param_199
+.annotate 'line', 530
+    find_lex $P203, "$_"
+    set $S204, $P203
+    iseq $I205, $S204, "0"
+    unless $I205, unless_202
+    new $P201, 'Integer'
+    set $P201, $I205
+    goto unless_202_end
+  unless_202:
+    find_lex $P206, "$_"
+    set $N207, $P206
+    isgt $I208, $N207, 0.0
+    new $P201, 'Integer'
+    set $P201, $I208
+  unless_202_end:
+    unless $P201, if_200_end
+    find_lex $P209, "$_"
+    add $P210, $P209, 1
+    store_lex "$count", $P210
+  if_200_end:
+.annotate 'line', 531
+    new $P211, "Integer"
+    assign $P211, 1
+    find_lex $P212, "$_"
+    find_lex $P213, "%capnames"
+    unless_null $P213, vivify_113
+    $P213 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P213
   vivify_113:
-    set $P211[$P210], $P209
-.annotate "line", 529
-    .return ($P209)
+    set $P213[$P212], $P211
+.annotate 'line', 529
+    .return ($P211)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block135"  :anon :subid("18_1272816836.73052") :outer("14_1272816836.73052")
-    .param pmc param_138
-.annotate "line", 513
-    .const 'Sub' $P147 = "19_1272816836.73052" 
-    capture_lex $P147
-.annotate "line", 514
-    $P137 = root_new ['parrot';'Hash']
-    .lex "%x", $P137
-    .lex "$_", param_138
-    find_lex $P139, "$_"
-    find_lex $P140, "$count"
-    $P141 = "capnames"($P139, $P140)
-    store_lex "%x", $P141
-.annotate "line", 515
-    find_lex $P143, "%x"
-    defined $I144, $P143
-    unless $I144, for_undef_115
-    iter $P142, $P143
-    new $P161, 'ExceptionHandler'
-    set_addr $P161, loop160_handler
-    $P161."handle_types"(64, 66, 65)
-    push_eh $P161
-  loop160_test:
-    unless $P142, loop160_done
-    shift $P145, $P142
-  loop160_redo:
-    .const 'Sub' $P147 = "19_1272816836.73052" 
-    capture_lex $P147
-    $P147($P145)
-  loop160_next:
-    goto loop160_test
-  loop160_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P162, exception, 'type'
-    eq $P162, 64, loop160_next
-    eq $P162, 66, loop160_redo
-  loop160_done:
+.sub "_block137"  :anon :subid("18_1273866373.83564") :outer("14_1273866373.83564")
+    .param pmc param_140
+.annotate 'line', 513
+    .const 'Sub' $P149 = "19_1273866373.83564" 
+    capture_lex $P149
+.annotate 'line', 514
+    $P139 = root_new ['parrot';'Hash']
+    .lex "%x", $P139
+    .lex "$_", param_140
+    find_lex $P141, "$_"
+    find_lex $P142, "$count"
+    $P143 = "capnames"($P141, $P142)
+    store_lex "%x", $P143
+.annotate 'line', 515
+    find_lex $P145, "%x"
+    defined $I146, $P145
+    unless $I146, for_undef_115
+    iter $P144, $P145
+    new $P163, 'ExceptionHandler'
+    set_addr $P163, loop162_handler
+    $P163."handle_types"(64, 66, 65)
+    push_eh $P163
+  loop162_test:
+    unless $P144, loop162_done
+    shift $P147, $P144
+  loop162_redo:
+    .const 'Sub' $P149 = "19_1273866373.83564" 
+    capture_lex $P149
+    $P149($P147)
+  loop162_next:
+    goto loop162_test
+  loop162_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P164, exception, 'type'
+    eq $P164, 64, loop162_next
+    eq $P164, 66, loop162_redo
+  loop162_done:
     pop_eh 
   for_undef_115:
-.annotate "line", 518
-    find_lex $P163, "%x"
-    unless_null $P163, vivify_121
-    $P163 = root_new ['parrot';'Hash']
+.annotate 'line', 518
+    find_lex $P165, "%x"
+    unless_null $P165, vivify_121
+    $P165 = root_new ['parrot';'Hash']
   vivify_121:
-    set $P164, $P163[""]
-    unless_null $P164, vivify_122
-    new $P164, "Undef"
+    set $P166, $P165[""]
+    unless_null $P166, vivify_122
+    new $P166, "Undef"
   vivify_122:
-    store_lex "$count", $P164
-.annotate "line", 513
-    .return ($P164)
+    store_lex "$count", $P166
+.annotate 'line', 513
+    .return ($P166)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block146"  :anon :subid("19_1272816836.73052") :outer("18_1272816836.73052")
-    .param pmc param_148
-.annotate "line", 515
-    .lex "$_", param_148
-.annotate "line", 516
-    find_lex $P149, "$_"
-    find_lex $P150, "%capnames"
-    unless_null $P150, vivify_116
-    $P150 = root_new ['parrot';'Hash']
+.sub "_block148"  :anon :subid("19_1273866373.83564") :outer("18_1273866373.83564")
+    .param pmc param_150
+.annotate 'line', 515
+    .lex "$_", param_150
+.annotate 'line', 516
+    find_lex $P151, "$_"
+    find_lex $P152, "%capnames"
+    unless_null $P152, vivify_116
+    $P152 = root_new ['parrot';'Hash']
   vivify_116:
-    set $P151, $P150[$P149]
-    unless_null $P151, vivify_117
-    new $P151, "Undef"
+    set $P153, $P152[$P151]
+    unless_null $P153, vivify_117
+    new $P153, "Undef"
   vivify_117:
-    set $N152, $P151
-    new $P153, 'Float'
-    set $P153, $N152
-    find_lex $P154, "$_"
-    find_lex $P155, "%x"
-    unless_null $P155, vivify_118
-    $P155 = root_new ['parrot';'Hash']
+    set $N154, $P153
+    new $P155, 'Float'
+    set $P155, $N154
+    find_lex $P156, "$_"
+    find_lex $P157, "%x"
+    unless_null $P157, vivify_118
+    $P157 = root_new ['parrot';'Hash']
   vivify_118:
-    set $P156, $P155[$P154]
-    unless_null $P156, vivify_119
-    new $P156, "Undef"
+    set $P158, $P157[$P156]
+    unless_null $P158, vivify_119
+    new $P158, "Undef"
   vivify_119:
-    add $P157, $P153, $P156
-    find_lex $P158, "$_"
-    find_lex $P159, "%capnames"
-    unless_null $P159, vivify_120
-    $P159 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P159
+    add $P159, $P155, $P158
+    find_lex $P160, "$_"
+    find_lex $P161, "%capnames"
+    unless_null $P161, vivify_120
+    $P161 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P161
   vivify_120:
-    set $P159[$P158], $P157
-.annotate "line", 515
-    .return ($P157)
+    set $P161[$P160], $P159
+.annotate 'line', 515
+    .return ($P159)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68"  :anon :subid("15_1272816836.73052") :outer("14_1272816836.73052")
-.annotate "line", 499
-    .const 'Sub' $P78 = "16_1272816836.73052" 
-    capture_lex $P78
-.annotate "line", 500
-    new $P70, "Undef"
-    .lex "$max", $P70
-    find_lex $P71, "$count"
-    store_lex "$max", $P71
-.annotate "line", 501
-    find_lex $P73, "$ast"
-    $P74 = $P73."list"()
-    defined $I75, $P74
-    unless $I75, for_undef_123
-    iter $P72, $P74
-    new $P123, 'ExceptionHandler'
-    set_addr $P123, loop122_handler
-    $P123."handle_types"(64, 66, 65)
-    push_eh $P123
-  loop122_test:
-    unless $P72, loop122_done
-    shift $P76, $P72
-  loop122_redo:
-    .const 'Sub' $P78 = "16_1272816836.73052" 
-    capture_lex $P78
-    $P78($P76)
-  loop122_next:
-    goto loop122_test
-  loop122_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P124, exception, 'type'
-    eq $P124, 64, loop122_next
-    eq $P124, 66, loop122_redo
-  loop122_done:
+.sub "_block70"  :anon :subid("15_1273866373.83564") :outer("14_1273866373.83564")
+.annotate 'line', 499
+    .const 'Sub' $P80 = "16_1273866373.83564" 
+    capture_lex $P80
+.annotate 'line', 500
+    new $P72, "Undef"
+    .lex "$max", $P72
+    find_lex $P73, "$count"
+    store_lex "$max", $P73
+.annotate 'line', 501
+    find_lex $P75, "$ast"
+    $P76 = $P75."list"()
+    defined $I77, $P76
+    unless $I77, for_undef_123
+    iter $P74, $P76
+    new $P125, 'ExceptionHandler'
+    set_addr $P125, loop124_handler
+    $P125."handle_types"(64, 66, 65)
+    push_eh $P125
+  loop124_test:
+    unless $P74, loop124_done
+    shift $P78, $P74
+  loop124_redo:
+    .const 'Sub' $P80 = "16_1273866373.83564" 
+    capture_lex $P80
+    $P80($P78)
+  loop124_next:
+    goto loop124_test
+  loop124_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P126, exception, 'type'
+    eq $P126, 64, loop124_next
+    eq $P126, 66, loop124_redo
+  loop124_done:
     pop_eh 
   for_undef_123:
-.annotate "line", 510
-    find_lex $P125, "$max"
-    store_lex "$count", $P125
-.annotate "line", 499
-    .return ($P125)
+.annotate 'line', 510
+    find_lex $P127, "$max"
+    store_lex "$count", $P127
+.annotate 'line', 499
+    .return ($P127)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77"  :anon :subid("16_1272816836.73052") :outer("15_1272816836.73052")
-    .param pmc param_80
-.annotate "line", 501
-    .const 'Sub' $P89 = "17_1272816836.73052" 
-    capture_lex $P89
-.annotate "line", 502
-    $P79 = root_new ['parrot';'Hash']
-    .lex "%x", $P79
-    .lex "$_", param_80
-    find_lex $P81, "$_"
-    find_lex $P82, "$count"
-    $P83 = "capnames"($P81, $P82)
-    store_lex "%x", $P83
-.annotate "line", 503
-    find_lex $P85, "%x"
-    defined $I86, $P85
-    unless $I86, for_undef_124
-    iter $P84, $P85
-    new $P110, 'ExceptionHandler'
-    set_addr $P110, loop109_handler
-    $P110."handle_types"(64, 66, 65)
-    push_eh $P110
-  loop109_test:
-    unless $P84, loop109_done
-    shift $P87, $P84
-  loop109_redo:
-    .const 'Sub' $P89 = "17_1272816836.73052" 
-    capture_lex $P89
-    $P89($P87)
-  loop109_next:
-    goto loop109_test
-  loop109_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P111, exception, 'type'
-    eq $P111, 64, loop109_next
-    eq $P111, 66, loop109_redo
-  loop109_done:
+.sub "_block79"  :anon :subid("16_1273866373.83564") :outer("15_1273866373.83564")
+    .param pmc param_82
+.annotate 'line', 501
+    .const 'Sub' $P91 = "17_1273866373.83564" 
+    capture_lex $P91
+.annotate 'line', 502
+    $P81 = root_new ['parrot';'Hash']
+    .lex "%x", $P81
+    .lex "$_", param_82
+    find_lex $P83, "$_"
+    find_lex $P84, "$count"
+    $P85 = "capnames"($P83, $P84)
+    store_lex "%x", $P85
+.annotate 'line', 503
+    find_lex $P87, "%x"
+    defined $I88, $P87
+    unless $I88, for_undef_124
+    iter $P86, $P87
+    new $P112, 'ExceptionHandler'
+    set_addr $P112, loop111_handler
+    $P112."handle_types"(64, 66, 65)
+    push_eh $P112
+  loop111_test:
+    unless $P86, loop111_done
+    shift $P89, $P86
+  loop111_redo:
+    .const 'Sub' $P91 = "17_1273866373.83564" 
+    capture_lex $P91
+    $P91($P89)
+  loop111_next:
+    goto loop111_test
+  loop111_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P113, exception, 'type'
+    eq $P113, 64, loop111_next
+    eq $P113, 66, loop111_redo
+  loop111_done:
     pop_eh 
   for_undef_124:
-.annotate "line", 508
-    find_lex $P114, "%x"
-    unless_null $P114, vivify_130
-    $P114 = root_new ['parrot';'Hash']
+.annotate 'line', 508
+    find_lex $P116, "%x"
+    unless_null $P116, vivify_130
+    $P116 = root_new ['parrot';'Hash']
   vivify_130:
-    set $P115, $P114[""]
-    unless_null $P115, vivify_131
-    new $P115, "Undef"
+    set $P117, $P116[""]
+    unless_null $P117, vivify_131
+    new $P117, "Undef"
   vivify_131:
-    set $N116, $P115
-    find_lex $P117, "$max"
     set $N118, $P117
-    isgt $I119, $N116, $N118
-    if $I119, if_113
-    new $P112, 'Integer'
-    set $P112, $I119
-    goto if_113_end
-  if_113:
-    find_lex $P120, "%x"
-    unless_null $P120, vivify_132
-    $P120 = root_new ['parrot';'Hash']
+    find_lex $P119, "$max"
+    set $N120, $P119
+    isgt $I121, $N118, $N120
+    if $I121, if_115
+    new $P114, 'Integer'
+    set $P114, $I121
+    goto if_115_end
+  if_115:
+    find_lex $P122, "%x"
+    unless_null $P122, vivify_132
+    $P122 = root_new ['parrot';'Hash']
   vivify_132:
-    set $P121, $P120[""]
-    unless_null $P121, vivify_133
-    new $P121, "Undef"
+    set $P123, $P122[""]
+    unless_null $P123, vivify_133
+    new $P123, "Undef"
   vivify_133:
-    store_lex "$max", $P121
-    set $P112, $P121
-  if_113_end:
-.annotate "line", 501
-    .return ($P112)
+    store_lex "$max", $P123
+    set $P114, $P123
+  if_115_end:
+.annotate 'line', 501
+    .return ($P114)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88"  :anon :subid("17_1272816836.73052") :outer("16_1272816836.73052")
-    .param pmc param_90
-.annotate "line", 503
-    .lex "$_", param_90
-.annotate "line", 504
-    find_lex $P95, "$_"
-    find_lex $P96, "%capnames"
-    unless_null $P96, vivify_125
-    $P96 = root_new ['parrot';'Hash']
+.sub "_block90"  :anon :subid("17_1273866373.83564") :outer("16_1273866373.83564")
+    .param pmc param_92
+.annotate 'line', 503
+    .lex "$_", param_92
+.annotate 'line', 504
+    find_lex $P97, "$_"
+    find_lex $P98, "%capnames"
+    unless_null $P98, vivify_125
+    $P98 = root_new ['parrot';'Hash']
   vivify_125:
-    set $P97, $P96[$P95]
-    unless_null $P97, vivify_126
-    new $P97, "Undef"
+    set $P99, $P98[$P97]
+    unless_null $P99, vivify_126
+    new $P99, "Undef"
   vivify_126:
-    set $N98, $P97
-    islt $I99, $N98, 2.0
-    if $I99, if_94
-    new $P93, 'Integer'
-    set $P93, $I99
-    goto if_94_end
-  if_94:
-    find_lex $P100, "$_"
-    find_lex $P101, "%x"
-    unless_null $P101, vivify_127
-    $P101 = root_new ['parrot';'Hash']
+    set $N100, $P99
+    islt $I101, $N100, 2.0
+    if $I101, if_96
+    new $P95, 'Integer'
+    set $P95, $I101
+    goto if_96_end
+  if_96:
+    find_lex $P102, "$_"
+    find_lex $P103, "%x"
+    unless_null $P103, vivify_127
+    $P103 = root_new ['parrot';'Hash']
   vivify_127:
-    set $P102, $P101[$P100]
-    unless_null $P102, vivify_128
-    new $P102, "Undef"
+    set $P104, $P103[$P102]
+    unless_null $P104, vivify_128
+    new $P104, "Undef"
   vivify_128:
-    set $N103, $P102
-    iseq $I104, $N103, 1.0
-    new $P93, 'Integer'
-    set $P93, $I104
+    set $N105, $P104
+    iseq $I106, $N105, 1.0
+    new $P95, 'Integer'
+    set $P95, $I106
+  if_96_end:
+    if $P95, if_94
+    new $P108, "Integer"
+    assign $P108, 2
+    set $P93, $P108
+    goto if_94_end
+  if_94:
+    new $P107, "Integer"
+    assign $P107, 1
+    set $P93, $P107
   if_94_end:
-    if $P93, if_92
-    new $P106, "Integer"
-    assign $P106, 2
-    set $P91, $P106
-    goto if_92_end
-  if_92:
-    new $P105, "Integer"
-    assign $P105, 1
-    set $P91, $P105
-  if_92_end:
-.annotate "line", 505
-    find_lex $P107, "$_"
-    find_lex $P108, "%capnames"
-    unless_null $P108, vivify_129
-    $P108 = root_new ['parrot';'Hash']
-    store_lex "%capnames", $P108
+.annotate 'line', 505
+    find_lex $P109, "$_"
+    find_lex $P110, "%capnames"
+    unless_null $P110, vivify_129
+    $P110 = root_new ['parrot';'Hash']
+    store_lex "%capnames", $P110
   vivify_129:
-    set $P108[$P107], $P91
-.annotate "line", 503
-    .return ($P91)
+    set $P110[$P109], $P93
+.annotate 'line', 503
+    .return ($P93)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("27_1272816836.73052") :outer("11_1272816836.73052")
-    .param pmc param_311
-    .param pmc param_312
-.annotate "line", 562
-    new $P310, 'ExceptionHandler'
-    set_addr $P310, control_309
-    $P310."handle_types"(57)
-    push_eh $P310
-    .lex "$ast", param_311
-    .lex "$backmod", param_312
-.annotate "line", 563
-    find_lex $P314, "$backmod"
-    set $S315, $P314
-    iseq $I316, $S315, ":"
-    if $I316, if_313
-.annotate "line", 564
-    find_lex $P321, "$backmod"
-    set $S322, $P321
-    iseq $I323, $S322, ":?"
-    unless $I323, unless_320
-    new $P319, 'Integer'
-    set $P319, $I323
-    goto unless_320_end
-  unless_320:
+.sub "backmod"  :subid("27_1273866373.83564") :outer("11_1273866373.83564")
+    .param pmc param_314
+    .param pmc param_315
+.annotate 'line', 562
+    new $P313, 'ExceptionHandler'
+    set_addr $P313, control_312
+    $P313."handle_types"(57)
+    push_eh $P313
+    .lex "$ast", param_314
+    .lex "$backmod", param_315
+.annotate 'line', 563
+    find_lex $P317, "$backmod"
+    set $S318, $P317
+    iseq $I319, $S318, ":"
+    if $I319, if_316
+.annotate 'line', 564
     find_lex $P324, "$backmod"
     set $S325, $P324
-    iseq $I326, $S325, "?"
-    new $P319, 'Integer'
-    set $P319, $I326
-  unless_320_end:
-    if $P319, if_318
-.annotate "line", 565
-    find_lex $P331, "$backmod"
-    set $S332, $P331
-    iseq $I333, $S332, ":!"
-    unless $I333, unless_330
-    new $P329, 'Integer'
-    set $P329, $I333
-    goto unless_330_end
-  unless_330:
+    iseq $I326, $S325, ":?"
+    unless $I326, unless_323
+    new $P322, 'Integer'
+    set $P322, $I326
+    goto unless_323_end
+  unless_323:
+    find_lex $P327, "$backmod"
+    set $S328, $P327
+    iseq $I329, $S328, "?"
+    new $P322, 'Integer'
+    set $P322, $I329
+  unless_323_end:
+    if $P322, if_321
+.annotate 'line', 565
     find_lex $P334, "$backmod"
     set $S335, $P334
-    iseq $I336, $S335, "!"
-    new $P329, 'Integer'
-    set $P329, $I336
-  unless_330_end:
-    unless $P329, if_328_end
-    find_lex $P337, "$ast"
-    $P337."backtrack"("g")
-  if_328_end:
-    goto if_318_end
-  if_318:
-.annotate "line", 564
-    find_lex $P327, "$ast"
-    $P327."backtrack"("f")
-  if_318_end:
-    goto if_313_end
-  if_313:
-.annotate "line", 563
-    find_lex $P317, "$ast"
-    $P317."backtrack"("r")
-  if_313_end:
-    find_lex $P338, "$ast"
-.annotate "line", 562
-    .return ($P338)
-  control_309:
+    iseq $I336, $S335, ":!"
+    unless $I336, unless_333
+    new $P332, 'Integer'
+    set $P332, $I336
+    goto unless_333_end
+  unless_333:
+    find_lex $P337, "$backmod"
+    set $S338, $P337
+    iseq $I339, $S338, "!"
+    new $P332, 'Integer'
+    set $P332, $I339
+  unless_333_end:
+    unless $P332, if_331_end
+    find_lex $P340, "$ast"
+    $P340."backtrack"("g")
+  if_331_end:
+    goto if_321_end
+  if_321:
+.annotate 'line', 564
+    find_lex $P330, "$ast"
+    $P330."backtrack"("f")
+  if_321_end:
+    goto if_316_end
+  if_316:
+.annotate 'line', 563
+    find_lex $P320, "$ast"
+    $P320."backtrack"("r")
+  if_316_end:
+    find_lex $P341, "$ast"
+.annotate 'line', 562
+    .return ($P341)
+  control_312:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P342, exception, "payload"
+    .return ($P342)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "subrule_alias"  :subid("28_1273866373.83564") :outer("11_1273866373.83564")
+    .param pmc param_347
+    .param pmc param_348
+.annotate 'line', 569
+    new $P346, 'ExceptionHandler'
+    set_addr $P346, control_345
+    $P346."handle_types"(57)
+    push_eh $P346
+    .lex "$past", param_347
+    .lex "$name", param_348
+.annotate 'line', 570
+    find_lex $P350, "$past"
+    $S351 = $P350."name"()
+    isgt $I352, $S351, ""
+    if $I352, if_349
+.annotate 'line', 571
+    find_lex $P359, "$past"
+    find_lex $P360, "$name"
+    $P359."name"($P360)
+    goto if_349_end
+  if_349:
+.annotate 'line', 570
+    find_lex $P353, "$past"
+    find_lex $P354, "$name"
+    concat $P355, $P354, "="
+    find_lex $P356, "$past"
+    $S357 = $P356."name"()
+    concat $P358, $P355, $S357
+    $P353."name"($P358)
+  if_349_end:
+.annotate 'line', 572
+    find_lex $P361, "$past"
+    $P362 = $P361."subtype"("capture")
+.annotate 'line', 569
+    .return ($P362)
+  control_345:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P339, exception, "payload"
-    .return ($P339)
+    getattribute $P363, exception, "payload"
+    .return ($P363)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("28_1272816836.73052") :outer("11_1272816836.73052")
-    .param pmc param_343
-    .param pmc param_344
-.annotate "line", 569
-    new $P342, 'ExceptionHandler'
-    set_addr $P342, control_341
-    $P342."handle_types"(57)
-    push_eh $P342
-    .lex "$past", param_343
-    .lex "$name", param_344
-.annotate "line", 570
-    find_lex $P346, "$past"
-    $S347 = $P346."name"()
-    isgt $I348, $S347, ""
-    if $I348, if_345
-.annotate "line", 571
-    find_lex $P355, "$past"
-    find_lex $P356, "$name"
-    $P355."name"($P356)
-    goto if_345_end
-  if_345:
-.annotate "line", 570
-    find_lex $P349, "$past"
-    find_lex $P350, "$name"
-    concat $P351, $P350, "="
-    find_lex $P352, "$past"
-    $S353 = $P352."name"()
-    concat $P354, $P351, $S353
-    $P349."name"($P354)
-  if_345_end:
-.annotate "line", 572
-    find_lex $P357, "$past"
-    $P358 = $P357."subtype"("capture")
-.annotate "line", 569
-    .return ($P358)
-  control_341:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P359, exception, "payload"
-    .return ($P359)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("29_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_365
-.annotate "line", 14
-    new $P364, 'ExceptionHandler'
-    set_addr $P364, control_363
-    $P364."handle_types"(57)
-    push_eh $P364
-    .lex "self", self
-    .lex "$/", param_365
-.annotate "line", 15
-    find_lex $P366, "$/"
-    find_lex $P369, "$/"
-    unless_null $P369, vivify_135
-    $P369 = root_new ['parrot';'Hash']
-  vivify_135:
-    set $P370, $P369["quote_EXPR"]
-    unless_null $P370, vivify_136
-    new $P370, "Undef"
-  vivify_136:
-    if $P370, if_368
+.sub "arg"  :subid("29_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_370
+.annotate 'line', 14
+    new $P369, 'ExceptionHandler'
+    set_addr $P369, control_368
+    $P369."handle_types"(57)
+    push_eh $P369
+    .lex "self", self
+    .lex "$/", param_370
+.annotate 'line', 15
+    find_lex $P371, "$/"
     find_lex $P374, "$/"
-    unless_null $P374, vivify_137
+    unless_null $P374, vivify_135
     $P374 = root_new ['parrot';'Hash']
-  vivify_137:
-    set $P375, $P374["val"]
-    unless_null $P375, vivify_138
+  vivify_135:
+    set $P375, $P374["quote_EXPR"]
+    unless_null $P375, vivify_136
     new $P375, "Undef"
+  vivify_136:
+    if $P375, if_373
+    find_lex $P379, "$/"
+    unless_null $P379, vivify_137
+    $P379 = root_new ['parrot';'Hash']
+  vivify_137:
+    set $P380, $P379["val"]
+    unless_null $P380, vivify_138
+    new $P380, "Undef"
   vivify_138:
-    set $N376, $P375
-    new $P367, 'Float'
-    set $P367, $N376
-    goto if_368_end
-  if_368:
-    find_lex $P371, "$/"
-    unless_null $P371, vivify_139
-    $P371 = root_new ['parrot';'Hash']
+    set $N381, $P380
+    new $P372, 'Float'
+    set $P372, $N381
+    goto if_373_end
+  if_373:
+    find_lex $P376, "$/"
+    unless_null $P376, vivify_139
+    $P376 = root_new ['parrot';'Hash']
   vivify_139:
-    set $P372, $P371["quote_EXPR"]
-    unless_null $P372, vivify_140
-    new $P372, "Undef"
+    set $P377, $P376["quote_EXPR"]
+    unless_null $P377, vivify_140
+    new $P377, "Undef"
   vivify_140:
-    $P373 = $P372."ast"()
-    set $P367, $P373
-  if_368_end:
-    $P377 = $P366."!make"($P367)
-.annotate "line", 14
-    .return ($P377)
-  control_363:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P378, exception, "payload"
-    .return ($P378)
+    $P378 = $P377."ast"()
+    set $P372, $P378
+  if_373_end:
+    $P382 = $P371."!make"($P372)
+.annotate 'line', 14
+    .return ($P382)
+  control_368:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P383, exception, "payload"
+    .return ($P383)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("30_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_382
-.annotate "line", 18
-    .const 'Sub' $P392 = "31_1272816836.73052" 
-    capture_lex $P392
-    new $P381, 'ExceptionHandler'
-    set_addr $P381, control_380
-    $P381."handle_types"(57)
-    push_eh $P381
-    .lex "self", self
-    .lex "$/", param_382
-.annotate "line", 19
-    new $P383, "Undef"
-    .lex "$past", $P383
-    get_hll_global $P384, ["PAST"], "Op"
-    $P385 = $P384."new"("list" :named("pasttype"))
-    store_lex "$past", $P385
-.annotate "line", 20
-    find_lex $P387, "$/"
-    unless_null $P387, vivify_141
-    $P387 = root_new ['parrot';'Hash']
-  vivify_141:
-    set $P388, $P387["arg"]
-    unless_null $P388, vivify_142
+.sub "arglist"  :subid("30_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_387
+.annotate 'line', 18
+    .const 'Sub' $P397 = "31_1273866373.83564" 
+    capture_lex $P397
+    new $P386, 'ExceptionHandler'
+    set_addr $P386, control_385
+    $P386."handle_types"(57)
+    push_eh $P386
+    .lex "self", self
+    .lex "$/", param_387
+.annotate 'line', 19
     new $P388, "Undef"
+    .lex "$past", $P388
+    get_hll_global $P389, ["PAST"], "Op"
+    $P390 = $P389."new"("list" :named("pasttype"))
+    store_lex "$past", $P390
+.annotate 'line', 20
+    find_lex $P392, "$/"
+    unless_null $P392, vivify_141
+    $P392 = root_new ['parrot';'Hash']
+  vivify_141:
+    set $P393, $P392["arg"]
+    unless_null $P393, vivify_142
+    new $P393, "Undef"
   vivify_142:
-    defined $I389, $P388
-    unless $I389, for_undef_143
-    iter $P386, $P388
-    new $P399, 'ExceptionHandler'
-    set_addr $P399, loop398_handler
-    $P399."handle_types"(64, 66, 65)
-    push_eh $P399
-  loop398_test:
-    unless $P386, loop398_done
-    shift $P390, $P386
-  loop398_redo:
-    .const 'Sub' $P392 = "31_1272816836.73052" 
-    capture_lex $P392
-    $P392($P390)
-  loop398_next:
-    goto loop398_test
-  loop398_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P400, exception, 'type'
-    eq $P400, 64, loop398_next
-    eq $P400, 66, loop398_redo
-  loop398_done:
+    defined $I394, $P393
+    unless $I394, for_undef_143
+    iter $P391, $P393
+    new $P404, 'ExceptionHandler'
+    set_addr $P404, loop403_handler
+    $P404."handle_types"(64, 66, 65)
+    push_eh $P404
+  loop403_test:
+    unless $P391, loop403_done
+    shift $P395, $P391
+  loop403_redo:
+    .const 'Sub' $P397 = "31_1273866373.83564" 
+    capture_lex $P397
+    $P397($P395)
+  loop403_next:
+    goto loop403_test
+  loop403_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P405, exception, 'type'
+    eq $P405, 64, loop403_next
+    eq $P405, 66, loop403_redo
+  loop403_done:
     pop_eh 
   for_undef_143:
-.annotate "line", 21
-    find_lex $P401, "$/"
-    find_lex $P402, "$past"
-    $P403 = $P401."!make"($P402)
-.annotate "line", 18
-    .return ($P403)
-  control_380:
+.annotate 'line', 21
+    find_lex $P406, "$/"
+    find_lex $P407, "$past"
+    $P408 = $P406."!make"($P407)
+.annotate 'line', 18
+    .return ($P408)
+  control_385:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P404, exception, "payload"
-    .return ($P404)
+    getattribute $P409, exception, "payload"
+    .return ($P409)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block391"  :anon :subid("31_1272816836.73052") :outer("30_1272816836.73052")
-    .param pmc param_393
-.annotate "line", 20
-    .lex "$_", param_393
-    find_lex $P394, "$past"
-    find_lex $P395, "$_"
-    $P396 = $P395."ast"()
-    $P397 = $P394."push"($P396)
-    .return ($P397)
+.sub "_block396"  :anon :subid("31_1273866373.83564") :outer("30_1273866373.83564")
+    .param pmc param_398
+.annotate 'line', 20
+    .lex "$_", param_398
+    find_lex $P399, "$past"
+    find_lex $P400, "$_"
+    $P401 = $P400."ast"()
+    $P402 = $P399."push"($P401)
+    .return ($P402)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("32_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_408
-.annotate "line", 24
-    new $P407, 'ExceptionHandler'
-    set_addr $P407, control_406
-    $P407."handle_types"(57)
-    push_eh $P407
+.sub "TOP"  :subid("32_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_413
+.annotate 'line', 24
+    new $P412, 'ExceptionHandler'
+    set_addr $P412, control_411
+    $P412."handle_types"(57)
+    push_eh $P412
     .lex "self", self
-    .lex "$/", param_408
-.annotate "line", 25
-    new $P409, "Undef"
-    .lex "$past", $P409
-    find_lex $P410, "$/"
-    unless_null $P410, vivify_144
-    $P410 = root_new ['parrot';'Hash']
+    .lex "$/", param_413
+.annotate 'line', 25
+    new $P414, "Undef"
+    .lex "$past", $P414
+    find_lex $P415, "$/"
+    unless_null $P415, vivify_144
+    $P415 = root_new ['parrot';'Hash']
   vivify_144:
-    set $P411, $P410["nibbler"]
-    unless_null $P411, vivify_145
-    new $P411, "Undef"
+    set $P416, $P415["nibbler"]
+    unless_null $P416, vivify_145
+    new $P416, "Undef"
   vivify_145:
-    $P412 = $P411."ast"()
-    $P413 = "buildsub"($P412)
-    store_lex "$past", $P413
-.annotate "line", 26
-    find_lex $P414, "$past"
-    find_lex $P415, "$/"
-    $P414."node"($P415)
-.annotate "line", 27
-    find_lex $P416, "$/"
-    find_lex $P417, "$past"
-    $P418 = $P416."!make"($P417)
-.annotate "line", 24
-    .return ($P418)
-  control_406:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P419, exception, "payload"
-    .return ($P419)
+    $P417 = $P416."ast"()
+    $P418 = "buildsub"($P417)
+    store_lex "$past", $P418
+.annotate 'line', 26
+    find_lex $P419, "$past"
+    find_lex $P420, "$/"
+    $P419."node"($P420)
+.annotate 'line', 27
+    find_lex $P421, "$/"
+    find_lex $P422, "$past"
+    $P423 = $P421."!make"($P422)
+.annotate 'line', 24
+    .return ($P423)
+  control_411:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P424, exception, "payload"
+    .return ($P424)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("33_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_423
-    .param pmc param_424 :optional
-    .param int has_param_424 :opt_flag
-.annotate "line", 30
-    .const 'Sub' $P458 = "35_1272816836.73052" 
-    capture_lex $P458
-    .const 'Sub' $P432 = "34_1272816836.73052" 
-    capture_lex $P432
-    new $P422, 'ExceptionHandler'
-    set_addr $P422, control_421
-    $P422."handle_types"(57)
-    push_eh $P422
-    .lex "self", self
-    .lex "$/", param_423
-    if has_param_424, optparam_146
-    new $P425, "Undef"
-    set param_424, $P425
+.sub "nibbler"  :subid("33_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_428
+    .param pmc param_429 :optional
+    .param int has_param_429 :opt_flag
+.annotate 'line', 30
+    .const 'Sub' $P463 = "35_1273866373.83564" 
+    capture_lex $P463
+    .const 'Sub' $P437 = "34_1273866373.83564" 
+    capture_lex $P437
+    new $P427, 'ExceptionHandler'
+    set_addr $P427, control_426
+    $P427."handle_types"(57)
+    push_eh $P427
+    .lex "self", self
+    .lex "$/", param_428
+    if has_param_429, optparam_146
+    new $P430, "Undef"
+    set param_429, $P430
   optparam_146:
-    .lex "$key", param_424
-.annotate "line", 42
-    new $P426, "Undef"
-    .lex "$past", $P426
-.annotate "line", 31
-    find_lex $P428, "$key"
-    set $S429, $P428
-    iseq $I430, $S429, "open"
-    unless $I430, if_427_end
-    .const 'Sub' $P432 = "34_1272816836.73052" 
-    capture_lex $P432
-    $P432()
-  if_427_end:
-.annotate "line", 41
-    get_global $P442, "@MODIFIERS"
-    $P442."shift"()
-    find_lex $P443, "$past"
-.annotate "line", 43
-    find_lex $P445, "$/"
-    unless_null $P445, vivify_149
-    $P445 = root_new ['parrot';'Hash']
+    .lex "$key", param_429
+.annotate 'line', 42
+    new $P431, "Undef"
+    .lex "$past", $P431
+.annotate 'line', 31
+    find_lex $P433, "$key"
+    set $S434, $P433
+    iseq $I435, $S434, "open"
+    unless $I435, if_432_end
+    .const 'Sub' $P437 = "34_1273866373.83564" 
+    capture_lex $P437
+    $P437()
+  if_432_end:
+.annotate 'line', 41
+    get_global $P447, "@MODIFIERS"
+    $P447."shift"()
+    find_lex $P448, "$past"
+.annotate 'line', 43
+    find_lex $P450, "$/"
+    unless_null $P450, vivify_149
+    $P450 = root_new ['parrot';'Hash']
   vivify_149:
-    set $P446, $P445["termish"]
-    unless_null $P446, vivify_150
-    new $P446, "Undef"
+    set $P451, $P450["termish"]
+    unless_null $P451, vivify_150
+    new $P451, "Undef"
   vivify_150:
-    set $N447, $P446
-    isgt $I448, $N447, 1.0
-    if $I448, if_444
-.annotate "line", 50
-    find_lex $P467, "$/"
-    unless_null $P467, vivify_151
-    $P467 = root_new ['parrot';'Hash']
+    set $N452, $P451
+    isgt $I453, $N452, 1.0
+    if $I453, if_449
+.annotate 'line', 50
+    find_lex $P472, "$/"
+    unless_null $P472, vivify_151
+    $P472 = root_new ['parrot';'Hash']
   vivify_151:
-    set $P468, $P467["termish"]
-    unless_null $P468, vivify_152
-    $P468 = root_new ['parrot';'ResizablePMCArray']
+    set $P473, $P472["termish"]
+    unless_null $P473, vivify_152
+    $P473 = root_new ['parrot';'ResizablePMCArray']
   vivify_152:
-    set $P469, $P468[0]
-    unless_null $P469, vivify_153
-    new $P469, "Undef"
+    set $P474, $P473[0]
+    unless_null $P474, vivify_153
+    new $P474, "Undef"
   vivify_153:
-    $P470 = $P469."ast"()
-    store_lex "$past", $P470
-.annotate "line", 49
-    goto if_444_end
-  if_444:
-.annotate "line", 44
-    get_hll_global $P449, ["PAST"], "Regex"
-    find_lex $P450, "$/"
-    $P451 = $P449."new"("alt" :named("pasttype"), $P450 :named("node"))
-    store_lex "$past", $P451
-.annotate "line", 45
-    find_lex $P453, "$/"
-    unless_null $P453, vivify_154
-    $P453 = root_new ['parrot';'Hash']
+    $P475 = $P474."ast"()
+    store_lex "$past", $P475
+.annotate 'line', 49
+    goto if_449_end
+  if_449:
+.annotate 'line', 44
+    get_hll_global $P454, ["PAST"], "Regex"
+    find_lex $P455, "$/"
+    $P456 = $P454."new"("alt" :named("pasttype"), $P455 :named("node"))
+    store_lex "$past", $P456
+.annotate 'line', 45
+    find_lex $P458, "$/"
+    unless_null $P458, vivify_154
+    $P458 = root_new ['parrot';'Hash']
   vivify_154:
-    set $P454, $P453["termish"]
-    unless_null $P454, vivify_155
-    new $P454, "Undef"
+    set $P459, $P458["termish"]
+    unless_null $P459, vivify_155
+    new $P459, "Undef"
   vivify_155:
-    defined $I455, $P454
-    unless $I455, for_undef_156
-    iter $P452, $P454
-    new $P465, 'ExceptionHandler'
-    set_addr $P465, loop464_handler
-    $P465."handle_types"(64, 66, 65)
-    push_eh $P465
-  loop464_test:
-    unless $P452, loop464_done
-    shift $P456, $P452
-  loop464_redo:
-    .const 'Sub' $P458 = "35_1272816836.73052" 
-    capture_lex $P458
-    $P458($P456)
-  loop464_next:
-    goto loop464_test
-  loop464_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P466, exception, 'type'
-    eq $P466, 64, loop464_next
-    eq $P466, 66, loop464_redo
-  loop464_done:
+    defined $I460, $P459
+    unless $I460, for_undef_156
+    iter $P457, $P459
+    new $P470, 'ExceptionHandler'
+    set_addr $P470, loop469_handler
+    $P470."handle_types"(64, 66, 65)
+    push_eh $P470
+  loop469_test:
+    unless $P457, loop469_done
+    shift $P461, $P457
+  loop469_redo:
+    .const 'Sub' $P463 = "35_1273866373.83564" 
+    capture_lex $P463
+    $P463($P461)
+  loop469_next:
+    goto loop469_test
+  loop469_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P471, exception, 'type'
+    eq $P471, 64, loop469_next
+    eq $P471, 66, loop469_redo
+  loop469_done:
     pop_eh 
   for_undef_156:
-  if_444_end:
-.annotate "line", 52
-    find_lex $P471, "$/"
-    find_lex $P472, "$past"
-    $P473 = $P471."!make"($P472)
-.annotate "line", 30
-    .return ($P473)
-  control_421:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P474, exception, "payload"
-    .return ($P474)
+  if_449_end:
+.annotate 'line', 52
+    find_lex $P476, "$/"
+    find_lex $P477, "$past"
+    $P478 = $P476."!make"($P477)
+.annotate 'line', 30
+    .return ($P478)
+  control_426:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P479, exception, "payload"
+    .return ($P479)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block431"  :anon :subid("34_1272816836.73052") :outer("33_1272816836.73052")
-.annotate "line", 32
-    $P433 = root_new ['parrot';'Hash']
-    .lex "%old", $P433
-.annotate "line", 33
-    $P434 = root_new ['parrot';'Hash']
-    .lex "%new", $P434
-.annotate "line", 32
-    get_global $P435, "@MODIFIERS"
-    unless_null $P435, vivify_147
-    $P435 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block436"  :anon :subid("34_1273866373.83564") :outer("33_1273866373.83564")
+.annotate 'line', 32
+    $P438 = root_new ['parrot';'Hash']
+    .lex "%old", $P438
+.annotate 'line', 33
+    $P439 = root_new ['parrot';'Hash']
+    .lex "%new", $P439
+.annotate 'line', 32
+    get_global $P440, "@MODIFIERS"
+    unless_null $P440, vivify_147
+    $P440 = root_new ['parrot';'ResizablePMCArray']
   vivify_147:
-    set $P436, $P435[0]
-    unless_null $P436, vivify_148
-    new $P436, "Undef"
+    set $P441, $P440[0]
+    unless_null $P441, vivify_148
+    new $P441, "Undef"
   vivify_148:
-    store_lex "%old", $P436
-.annotate "line", 33
+    store_lex "%old", $P441
+.annotate 'line', 33
 
                        $P0 = find_lex '%old'
-                       $P437 = clone $P0
+                       $P442 = clone $P0
                    
-    store_lex "%new", $P437
-.annotate "line", 37
-    get_global $P438, "@MODIFIERS"
-    find_lex $P439, "%new"
-    $P438."unshift"($P439)
-.annotate "line", 38
-    new $P440, "Exception"
-    set $P440['type'], 57
-    new $P441, "Integer"
-    assign $P441, 1
-    setattribute $P440, 'payload', $P441
-    throw $P440
-.annotate "line", 31
+    store_lex "%new", $P442
+.annotate 'line', 37
+    get_global $P443, "@MODIFIERS"
+    find_lex $P444, "%new"
+    $P443."unshift"($P444)
+.annotate 'line', 38
+    new $P445, "Exception"
+    set $P445['type'], 57
+    new $P446, "Integer"
+    assign $P446, 1
+    setattribute $P445, 'payload', $P446
+    throw $P445
+.annotate 'line', 31
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block457"  :anon :subid("35_1272816836.73052") :outer("33_1272816836.73052")
-    .param pmc param_459
-.annotate "line", 45
-    .lex "$_", param_459
-.annotate "line", 46
-    find_lex $P460, "$past"
-    find_lex $P461, "$_"
-    $P462 = $P461."ast"()
-    $P463 = $P460."push"($P462)
-.annotate "line", 45
-    .return ($P463)
+.sub "_block462"  :anon :subid("35_1273866373.83564") :outer("33_1273866373.83564")
+    .param pmc param_464
+.annotate 'line', 45
+    .lex "$_", param_464
+.annotate 'line', 46
+    find_lex $P465, "$past"
+    find_lex $P466, "$_"
+    $P467 = $P466."ast"()
+    $P468 = $P465."push"($P467)
+.annotate 'line', 45
+    .return ($P468)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("36_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_478
-.annotate "line", 55
-    .const 'Sub' $P491 = "37_1272816836.73052" 
-    capture_lex $P491
-    new $P477, 'ExceptionHandler'
-    set_addr $P477, control_476
-    $P477."handle_types"(57)
-    push_eh $P477
-    .lex "self", self
-    .lex "$/", param_478
-.annotate "line", 56
-    new $P479, "Undef"
-    .lex "$past", $P479
-.annotate "line", 57
-    new $P480, "Undef"
-    .lex "$lastlit", $P480
-.annotate "line", 56
-    get_hll_global $P481, ["PAST"], "Regex"
-    find_lex $P482, "$/"
-    $P483 = $P481."new"("concat" :named("pasttype"), $P482 :named("node"))
-    store_lex "$past", $P483
-.annotate "line", 57
-    new $P484, "Integer"
-    assign $P484, 0
-    store_lex "$lastlit", $P484
-.annotate "line", 58
-    find_lex $P486, "$/"
-    unless_null $P486, vivify_157
-    $P486 = root_new ['parrot';'Hash']
+.sub "termish"  :subid("36_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_483
+.annotate 'line', 55
+    .const 'Sub' $P496 = "37_1273866373.83564" 
+    capture_lex $P496
+    new $P482, 'ExceptionHandler'
+    set_addr $P482, control_481
+    $P482."handle_types"(57)
+    push_eh $P482
+    .lex "self", self
+    .lex "$/", param_483
+.annotate 'line', 56
+    new $P484, "Undef"
+    .lex "$past", $P484
+.annotate 'line', 57
+    new $P485, "Undef"
+    .lex "$lastlit", $P485
+.annotate 'line', 56
+    get_hll_global $P486, ["PAST"], "Regex"
+    find_lex $P487, "$/"
+    $P488 = $P486."new"("concat" :named("pasttype"), $P487 :named("node"))
+    store_lex "$past", $P488
+.annotate 'line', 57
+    new $P489, "Integer"
+    assign $P489, 0
+    store_lex "$lastlit", $P489
+.annotate 'line', 58
+    find_lex $P491, "$/"
+    unless_null $P491, vivify_157
+    $P491 = root_new ['parrot';'Hash']
   vivify_157:
-    set $P487, $P486["noun"]
-    unless_null $P487, vivify_158
-    new $P487, "Undef"
+    set $P492, $P491["noun"]
+    unless_null $P492, vivify_158
+    new $P492, "Undef"
   vivify_158:
-    defined $I488, $P487
-    unless $I488, for_undef_159
-    iter $P485, $P487
-    new $P537, 'ExceptionHandler'
-    set_addr $P537, loop536_handler
-    $P537."handle_types"(64, 66, 65)
-    push_eh $P537
-  loop536_test:
-    unless $P485, loop536_done
-    shift $P489, $P485
-  loop536_redo:
-    .const 'Sub' $P491 = "37_1272816836.73052" 
-    capture_lex $P491
-    $P491($P489)
-  loop536_next:
-    goto loop536_test
-  loop536_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P538, exception, 'type'
-    eq $P538, 64, loop536_next
-    eq $P538, 66, loop536_redo
-  loop536_done:
+    defined $I493, $P492
+    unless $I493, for_undef_159
+    iter $P490, $P492
+    new $P542, 'ExceptionHandler'
+    set_addr $P542, loop541_handler
+    $P542."handle_types"(64, 66, 65)
+    push_eh $P542
+  loop541_test:
+    unless $P490, loop541_done
+    shift $P494, $P490
+  loop541_redo:
+    .const 'Sub' $P496 = "37_1273866373.83564" 
+    capture_lex $P496
+    $P496($P494)
+  loop541_next:
+    goto loop541_test
+  loop541_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P543, exception, 'type'
+    eq $P543, 64, loop541_next
+    eq $P543, 66, loop541_redo
+  loop541_done:
     pop_eh 
   for_undef_159:
-.annotate "line", 73
-    find_lex $P539, "$/"
-    find_lex $P540, "$past"
-    $P541 = $P539."!make"($P540)
-.annotate "line", 55
-    .return ($P541)
-  control_476:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P542, exception, "payload"
-    .return ($P542)
+.annotate 'line', 73
+    find_lex $P544, "$/"
+    find_lex $P545, "$past"
+    $P546 = $P544."!make"($P545)
+.annotate 'line', 55
+    .return ($P546)
+  control_481:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P547, exception, "payload"
+    .return ($P547)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block490"  :anon :subid("37_1272816836.73052") :outer("36_1272816836.73052")
-    .param pmc param_493
-.annotate "line", 59
-    new $P492, "Undef"
-    .lex "$ast", $P492
-    .lex "$_", param_493
-    find_lex $P494, "$_"
-    $P495 = $P494."ast"()
-    store_lex "$ast", $P495
-.annotate "line", 60
-    find_lex $P498, "$ast"
-    if $P498, if_497
-    set $P496, $P498
-    goto if_497_end
-  if_497:
-.annotate "line", 61
-    find_lex $P505, "$lastlit"
-    if $P505, if_504
-    set $P503, $P505
-    goto if_504_end
-  if_504:
-    find_lex $P506, "$ast"
-    $S507 = $P506."pasttype"()
-    iseq $I508, $S507, "literal"
-    new $P503, 'Integer'
-    set $P503, $I508
-  if_504_end:
+.sub "_block495"  :anon :subid("37_1273866373.83564") :outer("36_1273866373.83564")
+    .param pmc param_498
+.annotate 'line', 59
+    new $P497, "Undef"
+    .lex "$ast", $P497
+    .lex "$_", param_498
+    find_lex $P499, "$_"
+    $P500 = $P499."ast"()
+    store_lex "$ast", $P500
+.annotate 'line', 60
+    find_lex $P503, "$ast"
     if $P503, if_502
     set $P501, $P503
     goto if_502_end
   if_502:
-.annotate "line", 62
-    get_hll_global $P509, ["PAST"], "Node"
-    find_lex $P510, "$ast"
-    unless_null $P510, vivify_160
-    $P510 = root_new ['parrot';'ResizablePMCArray']
+.annotate 'line', 61
+    find_lex $P510, "$lastlit"
+    if $P510, if_509
+    set $P508, $P510
+    goto if_509_end
+  if_509:
+    find_lex $P511, "$ast"
+    $S512 = $P511."pasttype"()
+    iseq $I513, $S512, "literal"
+    new $P508, 'Integer'
+    set $P508, $I513
+  if_509_end:
+    if $P508, if_507
+    set $P506, $P508
+    goto if_507_end
+  if_507:
+.annotate 'line', 62
+    get_hll_global $P514, ["PAST"], "Node"
+    find_lex $P515, "$ast"
+    unless_null $P515, vivify_160
+    $P515 = root_new ['parrot';'ResizablePMCArray']
   vivify_160:
-    set $P511, $P510[0]
-    unless_null $P511, vivify_161
-    new $P511, "Undef"
+    set $P516, $P515[0]
+    unless_null $P516, vivify_161
+    new $P516, "Undef"
   vivify_161:
-    $P512 = $P509."ACCEPTS"($P511)
-    isfalse $I513, $P512
-    new $P501, 'Integer'
-    set $P501, $I513
-  if_502_end:
-    if $P501, if_500
-.annotate "line", 66
-    find_lex $P520, "$past"
-    find_lex $P521, "$ast"
-    $P520."push"($P521)
-.annotate "line", 67
+    $P517 = $P514."ACCEPTS"($P516)
+    isfalse $I518, $P517
+    new $P506, 'Integer'
+    set $P506, $I518
+  if_507_end:
+    if $P506, if_505
+.annotate 'line', 66
+    find_lex $P525, "$past"
     find_lex $P526, "$ast"
-    $S527 = $P526."pasttype"()
-    iseq $I528, $S527, "literal"
-    if $I528, if_525
-    new $P524, 'Integer'
-    set $P524, $I528
-    goto if_525_end
-  if_525:
-.annotate "line", 68
-    get_hll_global $P529, ["PAST"], "Node"
-    find_lex $P530, "$ast"
-    unless_null $P530, vivify_162
-    $P530 = root_new ['parrot';'ResizablePMCArray']
+    $P525."push"($P526)
+.annotate 'line', 67
+    find_lex $P531, "$ast"
+    $S532 = $P531."pasttype"()
+    iseq $I533, $S532, "literal"
+    if $I533, if_530
+    new $P529, 'Integer'
+    set $P529, $I533
+    goto if_530_end
+  if_530:
+.annotate 'line', 68
+    get_hll_global $P534, ["PAST"], "Node"
+    find_lex $P535, "$ast"
+    unless_null $P535, vivify_162
+    $P535 = root_new ['parrot';'ResizablePMCArray']
   vivify_162:
-    set $P531, $P530[0]
-    unless_null $P531, vivify_163
-    new $P531, "Undef"
+    set $P536, $P535[0]
+    unless_null $P536, vivify_163
+    new $P536, "Undef"
   vivify_163:
-    $P532 = $P529."ACCEPTS"($P531)
-    isfalse $I533, $P532
-    new $P524, 'Integer'
-    set $P524, $I533
-  if_525_end:
-    if $P524, if_523
-    new $P535, "Integer"
-    assign $P535, 0
-    set $P522, $P535
-    goto if_523_end
-  if_523:
-    find_lex $P534, "$ast"
-    set $P522, $P534
-  if_523_end:
-.annotate "line", 69
-    store_lex "$lastlit", $P522
-.annotate "line", 65
-    set $P499, $P522
-.annotate "line", 62
-    goto if_500_end
-  if_500:
-.annotate "line", 63
-    find_lex $P514, "$lastlit"
-    unless_null $P514, vivify_164
-    $P514 = root_new ['parrot';'ResizablePMCArray']
+    $P537 = $P534."ACCEPTS"($P536)
+    isfalse $I538, $P537
+    new $P529, 'Integer'
+    set $P529, $I538
+  if_530_end:
+    if $P529, if_528
+    new $P540, "Integer"
+    assign $P540, 0
+    set $P527, $P540
+    goto if_528_end
+  if_528:
+    find_lex $P539, "$ast"
+    set $P527, $P539
+  if_528_end:
+.annotate 'line', 69
+    store_lex "$lastlit", $P527
+.annotate 'line', 65
+    set $P504, $P527
+.annotate 'line', 62
+    goto if_505_end
+  if_505:
+.annotate 'line', 63
+    find_lex $P519, "$lastlit"
+    unless_null $P519, vivify_164
+    $P519 = root_new ['parrot';'ResizablePMCArray']
   vivify_164:
-    set $P515, $P514[0]
-    unless_null $P515, vivify_165
-    new $P515, "Undef"
+    set $P520, $P519[0]
+    unless_null $P520, vivify_165
+    new $P520, "Undef"
   vivify_165:
-    find_lex $P516, "$ast"
-    unless_null $P516, vivify_166
-    $P516 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P521, "$ast"
+    unless_null $P521, vivify_166
+    $P521 = root_new ['parrot';'ResizablePMCArray']
   vivify_166:
-    set $P517, $P516[0]
-    unless_null $P517, vivify_167
-    new $P517, "Undef"
+    set $P522, $P521[0]
+    unless_null $P522, vivify_167
+    new $P522, "Undef"
   vivify_167:
-    concat $P518, $P515, $P517
-    find_lex $P519, "$lastlit"
-    unless_null $P519, vivify_168
-    $P519 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$lastlit", $P519
+    concat $P523, $P520, $P522
+    find_lex $P524, "$lastlit"
+    unless_null $P524, vivify_168
+    $P524 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$lastlit", $P524
   vivify_168:
-    set $P519[0], $P518
-.annotate "line", 62
-    set $P499, $P518
-  if_500_end:
-.annotate "line", 60
-    set $P496, $P499
-  if_497_end:
-.annotate "line", 58
-    .return ($P496)
+    set $P524[0], $P523
+.annotate 'line', 62
+    set $P504, $P523
+  if_505_end:
+.annotate 'line', 60
+    set $P501, $P504
+  if_502_end:
+.annotate 'line', 58
+    .return ($P501)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("38_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_546
-.annotate "line", 76
-    .const 'Sub' $P555 = "39_1272816836.73052" 
-    capture_lex $P555
-    new $P545, 'ExceptionHandler'
-    set_addr $P545, control_544
-    $P545."handle_types"(57)
-    push_eh $P545
-    .lex "self", self
-    .lex "$/", param_546
-.annotate "line", 77
-    new $P547, "Undef"
-    .lex "$past", $P547
-    find_lex $P548, "$/"
-    unless_null $P548, vivify_169
-    $P548 = root_new ['parrot';'Hash']
+.sub "quantified_atom"  :subid("38_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_551
+.annotate 'line', 76
+    .const 'Sub' $P560 = "39_1273866373.83564" 
+    capture_lex $P560
+    new $P550, 'ExceptionHandler'
+    set_addr $P550, control_549
+    $P550."handle_types"(57)
+    push_eh $P550
+    .lex "self", self
+    .lex "$/", param_551
+.annotate 'line', 77
+    new $P552, "Undef"
+    .lex "$past", $P552
+    find_lex $P553, "$/"
+    unless_null $P553, vivify_169
+    $P553 = root_new ['parrot';'Hash']
   vivify_169:
-    set $P549, $P548["atom"]
-    unless_null $P549, vivify_170
-    new $P549, "Undef"
+    set $P554, $P553["atom"]
+    unless_null $P554, vivify_170
+    new $P554, "Undef"
   vivify_170:
-    $P550 = $P549."ast"()
-    store_lex "$past", $P550
-.annotate "line", 78
-    find_lex $P552, "$/"
-    unless_null $P552, vivify_171
-    $P552 = root_new ['parrot';'Hash']
+    $P555 = $P554."ast"()
+    store_lex "$past", $P555
+.annotate 'line', 78
+    find_lex $P557, "$/"
+    unless_null $P557, vivify_171
+    $P557 = root_new ['parrot';'Hash']
   vivify_171:
-    set $P553, $P552["quantifier"]
-    unless_null $P553, vivify_172
-    new $P553, "Undef"
+    set $P558, $P557["quantifier"]
+    unless_null $P558, vivify_172
+    new $P558, "Undef"
   vivify_172:
-    if $P553, if_551
-.annotate "line", 84
-    find_lex $P569, "$/"
-    unless_null $P569, vivify_173
-    $P569 = root_new ['parrot';'Hash']
+    if $P558, if_556
+.annotate 'line', 84
+    find_lex $P574, "$/"
+    unless_null $P574, vivify_173
+    $P574 = root_new ['parrot';'Hash']
   vivify_173:
-    set $P570, $P569["backmod"]
-    unless_null $P570, vivify_174
-    $P570 = root_new ['parrot';'ResizablePMCArray']
+    set $P575, $P574["backmod"]
+    unless_null $P575, vivify_174
+    $P575 = root_new ['parrot';'ResizablePMCArray']
   vivify_174:
-    set $P571, $P570[0]
-    unless_null $P571, vivify_175
-    new $P571, "Undef"
+    set $P576, $P575[0]
+    unless_null $P576, vivify_175
+    new $P576, "Undef"
   vivify_175:
-    unless $P571, if_568_end
-    find_lex $P572, "$past"
-    find_lex $P573, "$/"
-    unless_null $P573, vivify_176
-    $P573 = root_new ['parrot';'Hash']
+    unless $P576, if_573_end
+    find_lex $P577, "$past"
+    find_lex $P578, "$/"
+    unless_null $P578, vivify_176
+    $P578 = root_new ['parrot';'Hash']
   vivify_176:
-    set $P574, $P573["backmod"]
-    unless_null $P574, vivify_177
-    $P574 = root_new ['parrot';'ResizablePMCArray']
+    set $P579, $P578["backmod"]
+    unless_null $P579, vivify_177
+    $P579 = root_new ['parrot';'ResizablePMCArray']
   vivify_177:
-    set $P575, $P574[0]
-    unless_null $P575, vivify_178
-    new $P575, "Undef"
+    set $P580, $P579[0]
+    unless_null $P580, vivify_178
+    new $P580, "Undef"
   vivify_178:
-    "backmod"($P572, $P575)
-  if_568_end:
-    goto if_551_end
-  if_551:
-.annotate "line", 78
-    .const 'Sub' $P555 = "39_1272816836.73052" 
-    capture_lex $P555
-    $P555()
-  if_551_end:
-.annotate "line", 85
-    find_lex $P581, "$past"
-    if $P581, if_580
-    set $P579, $P581
-    goto if_580_end
-  if_580:
-    find_lex $P582, "$past"
-    $P583 = $P582."backtrack"()
-    isfalse $I584, $P583
-    new $P579, 'Integer'
-    set $P579, $I584
-  if_580_end:
-    if $P579, if_578
-    set $P577, $P579
-    goto if_578_end
-  if_578:
-    get_global $P585, "@MODIFIERS"
-    unless_null $P585, vivify_182
-    $P585 = root_new ['parrot';'ResizablePMCArray']
+    "backmod"($P577, $P580)
+  if_573_end:
+    goto if_556_end
+  if_556:
+.annotate 'line', 78
+    .const 'Sub' $P560 = "39_1273866373.83564" 
+    capture_lex $P560
+    $P560()
+  if_556_end:
+.annotate 'line', 85
+    find_lex $P586, "$past"
+    if $P586, if_585
+    set $P584, $P586
+    goto if_585_end
+  if_585:
+    find_lex $P587, "$past"
+    $P588 = $P587."backtrack"()
+    isfalse $I589, $P588
+    new $P584, 'Integer'
+    set $P584, $I589
+  if_585_end:
+    if $P584, if_583
+    set $P582, $P584
+    goto if_583_end
+  if_583:
+    get_global $P590, "@MODIFIERS"
+    unless_null $P590, vivify_182
+    $P590 = root_new ['parrot';'ResizablePMCArray']
   vivify_182:
-    set $P586, $P585[0]
-    unless_null $P586, vivify_183
-    $P586 = root_new ['parrot';'Hash']
+    set $P591, $P590[0]
+    unless_null $P591, vivify_183
+    $P591 = root_new ['parrot';'Hash']
   vivify_183:
-    set $P587, $P586["r"]
-    unless_null $P587, vivify_184
-    new $P587, "Undef"
+    set $P592, $P591["r"]
+    unless_null $P592, vivify_184
+    new $P592, "Undef"
   vivify_184:
-    set $P577, $P587
-  if_578_end:
-    unless $P577, if_576_end
-.annotate "line", 86
-    find_lex $P588, "$past"
-    $P588."backtrack"("r")
-  if_576_end:
-.annotate "line", 88
-    find_lex $P589, "$/"
-    find_lex $P590, "$past"
-    $P591 = $P589."!make"($P590)
-.annotate "line", 76
-    .return ($P591)
-  control_544:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P592, exception, "payload"
-    .return ($P592)
+    set $P582, $P592
+  if_583_end:
+    unless $P582, if_581_end
+.annotate 'line', 86
+    find_lex $P593, "$past"
+    $P593."backtrack"("r")
+  if_581_end:
+.annotate 'line', 88
+    find_lex $P594, "$/"
+    find_lex $P595, "$past"
+    $P596 = $P594."!make"($P595)
+.annotate 'line', 76
+    .return ($P596)
+  control_549:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P597, exception, "payload"
+    .return ($P597)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block554"  :anon :subid("39_1272816836.73052") :outer("38_1272816836.73052")
-.annotate "line", 80
-    new $P556, "Undef"
-    .lex "$qast", $P556
-.annotate "line", 79
-    find_lex $P558, "$past"
-    isfalse $I559, $P558
-    unless $I559, if_557_end
-    find_lex $P560, "$/"
-    $P560."panic"("Can't quantify zero-width atom")
-  if_557_end:
-.annotate "line", 80
-    find_lex $P561, "$/"
-    unless_null $P561, vivify_179
-    $P561 = root_new ['parrot';'Hash']
+.sub "_block559"  :anon :subid("39_1273866373.83564") :outer("38_1273866373.83564")
+.annotate 'line', 80
+    new $P561, "Undef"
+    .lex "$qast", $P561
+.annotate 'line', 79
+    find_lex $P563, "$past"
+    isfalse $I564, $P563
+    unless $I564, if_562_end
+    find_lex $P565, "$/"
+    $P565."panic"("Can't quantify zero-width atom")
+  if_562_end:
+.annotate 'line', 80
+    find_lex $P566, "$/"
+    unless_null $P566, vivify_179
+    $P566 = root_new ['parrot';'Hash']
   vivify_179:
-    set $P562, $P561["quantifier"]
-    unless_null $P562, vivify_180
-    $P562 = root_new ['parrot';'ResizablePMCArray']
+    set $P567, $P566["quantifier"]
+    unless_null $P567, vivify_180
+    $P567 = root_new ['parrot';'ResizablePMCArray']
   vivify_180:
-    set $P563, $P562[0]
-    unless_null $P563, vivify_181
-    new $P563, "Undef"
+    set $P568, $P567[0]
+    unless_null $P568, vivify_181
+    new $P568, "Undef"
   vivify_181:
-    $P564 = $P563."ast"()
-    store_lex "$qast", $P564
-.annotate "line", 81
-    find_lex $P565, "$qast"
-    find_lex $P566, "$past"
-    $P565."unshift"($P566)
-.annotate "line", 82
-    find_lex $P567, "$qast"
-    store_lex "$past", $P567
-.annotate "line", 78
-    .return ($P567)
+    $P569 = $P568."ast"()
+    store_lex "$qast", $P569
+.annotate 'line', 81
+    find_lex $P570, "$qast"
+    find_lex $P571, "$past"
+    $P570."unshift"($P571)
+.annotate 'line', 82
+    find_lex $P572, "$qast"
+    store_lex "$past", $P572
+.annotate 'line', 78
+    .return ($P572)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("40_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_596
-.annotate "line", 91
-    new $P595, 'ExceptionHandler'
-    set_addr $P595, control_594
-    $P595."handle_types"(57)
-    push_eh $P595
-    .lex "self", self
-    .lex "$/", param_596
-.annotate "line", 92
-    new $P597, "Undef"
-    .lex "$past", $P597
-.annotate "line", 91
-    find_lex $P598, "$past"
-.annotate "line", 93
-    find_lex $P600, "$/"
-    unless_null $P600, vivify_185
-    $P600 = root_new ['parrot';'Hash']
+.sub "atom"  :subid("40_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_601
+.annotate 'line', 91
+    new $P600, 'ExceptionHandler'
+    set_addr $P600, control_599
+    $P600."handle_types"(57)
+    push_eh $P600
+    .lex "self", self
+    .lex "$/", param_601
+.annotate 'line', 92
+    new $P602, "Undef"
+    .lex "$past", $P602
+.annotate 'line', 91
+    find_lex $P603, "$past"
+.annotate 'line', 93
+    find_lex $P605, "$/"
+    unless_null $P605, vivify_185
+    $P605 = root_new ['parrot';'Hash']
   vivify_185:
-    set $P601, $P600["metachar"]
-    unless_null $P601, vivify_186
-    new $P601, "Undef"
+    set $P606, $P605["metachar"]
+    unless_null $P606, vivify_186
+    new $P606, "Undef"
   vivify_186:
-    if $P601, if_599
-.annotate "line", 95
-    get_hll_global $P605, ["PAST"], "Regex"
-    find_lex $P606, "$/"
-    set $S607, $P606
-    find_lex $P608, "$/"
-    $P609 = $P605."new"($S607, "literal" :named("pasttype"), $P608 :named("node"))
-    store_lex "$past", $P609
-.annotate "line", 96
-    get_global $P611, "@MODIFIERS"
-    unless_null $P611, vivify_187
-    $P611 = root_new ['parrot';'ResizablePMCArray']
+    if $P606, if_604
+.annotate 'line', 95
+    get_hll_global $P610, ["PAST"], "Regex"
+    find_lex $P611, "$/"
+    set $S612, $P611
+    find_lex $P613, "$/"
+    $P614 = $P610."new"($S612, "literal" :named("pasttype"), $P613 :named("node"))
+    store_lex "$past", $P614
+.annotate 'line', 96
+    get_global $P616, "@MODIFIERS"
+    unless_null $P616, vivify_187
+    $P616 = root_new ['parrot';'ResizablePMCArray']
   vivify_187:
-    set $P612, $P611[0]
-    unless_null $P612, vivify_188
-    $P612 = root_new ['parrot';'Hash']
+    set $P617, $P616[0]
+    unless_null $P617, vivify_188
+    $P617 = root_new ['parrot';'Hash']
   vivify_188:
-    set $P613, $P612["i"]
-    unless_null $P613, vivify_189
-    new $P613, "Undef"
+    set $P618, $P617["i"]
+    unless_null $P618, vivify_189
+    new $P618, "Undef"
   vivify_189:
-    unless $P613, if_610_end
-    find_lex $P614, "$past"
-    $P614."subtype"("ignorecase")
-  if_610_end:
-.annotate "line", 94
-    goto if_599_end
-  if_599:
-.annotate "line", 93
-    find_lex $P602, "$/"
-    unless_null $P602, vivify_190
-    $P602 = root_new ['parrot';'Hash']
+    unless $P618, if_615_end
+    find_lex $P619, "$past"
+    $P619."subtype"("ignorecase")
+  if_615_end:
+.annotate 'line', 94
+    goto if_604_end
+  if_604:
+.annotate 'line', 93
+    find_lex $P607, "$/"
+    unless_null $P607, vivify_190
+    $P607 = root_new ['parrot';'Hash']
   vivify_190:
-    set $P603, $P602["metachar"]
-    unless_null $P603, vivify_191
-    new $P603, "Undef"
+    set $P608, $P607["metachar"]
+    unless_null $P608, vivify_191
+    new $P608, "Undef"
   vivify_191:
-    $P604 = $P603."ast"()
-    store_lex "$past", $P604
-  if_599_end:
-.annotate "line", 98
-    find_lex $P615, "$/"
-    find_lex $P616, "$past"
-    $P617 = $P615."!make"($P616)
-.annotate "line", 91
-    .return ($P617)
-  control_594:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P618, exception, "payload"
-    .return ($P618)
+    $P609 = $P608."ast"()
+    store_lex "$past", $P609
+  if_604_end:
+.annotate 'line', 98
+    find_lex $P620, "$/"
+    find_lex $P621, "$past"
+    $P622 = $P620."!make"($P621)
+.annotate 'line', 91
+    .return ($P622)
+  control_599:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P623, exception, "payload"
+    .return ($P623)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("41_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_622
-.annotate "line", 101
-    new $P621, 'ExceptionHandler'
-    set_addr $P621, control_620
-    $P621."handle_types"(57)
-    push_eh $P621
-    .lex "self", self
-    .lex "$/", param_622
-.annotate "line", 102
-    new $P623, "Undef"
-    .lex "$past", $P623
-    get_hll_global $P624, ["PAST"], "Regex"
-    find_lex $P625, "$/"
-    $P626 = $P624."new"("quant" :named("pasttype"), $P625 :named("node"))
-    store_lex "$past", $P626
-.annotate "line", 103
-    find_lex $P627, "$/"
-    find_lex $P628, "$past"
-    find_lex $P629, "$/"
-    unless_null $P629, vivify_192
-    $P629 = root_new ['parrot';'Hash']
+.sub "quantifier:sym<*>"  :subid("41_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_627
+.annotate 'line', 101
+    new $P626, 'ExceptionHandler'
+    set_addr $P626, control_625
+    $P626."handle_types"(57)
+    push_eh $P626
+    .lex "self", self
+    .lex "$/", param_627
+.annotate 'line', 102
+    new $P628, "Undef"
+    .lex "$past", $P628
+    get_hll_global $P629, ["PAST"], "Regex"
+    find_lex $P630, "$/"
+    $P631 = $P629."new"("quant" :named("pasttype"), $P630 :named("node"))
+    store_lex "$past", $P631
+.annotate 'line', 103
+    find_lex $P632, "$/"
+    find_lex $P633, "$past"
+    find_lex $P634, "$/"
+    unless_null $P634, vivify_192
+    $P634 = root_new ['parrot';'Hash']
   vivify_192:
-    set $P630, $P629["backmod"]
-    unless_null $P630, vivify_193
-    new $P630, "Undef"
+    set $P635, $P634["backmod"]
+    unless_null $P635, vivify_193
+    new $P635, "Undef"
   vivify_193:
-    $P631 = "backmod"($P628, $P630)
-    $P632 = $P627."!make"($P631)
-.annotate "line", 101
-    .return ($P632)
-  control_620:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P633, exception, "payload"
-    .return ($P633)
+    $P636 = "backmod"($P633, $P635)
+    $P637 = $P632."!make"($P636)
+.annotate 'line', 101
+    .return ($P637)
+  control_625:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P638, exception, "payload"
+    .return ($P638)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("42_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_637
-.annotate "line", 106
-    new $P636, 'ExceptionHandler'
-    set_addr $P636, control_635
-    $P636."handle_types"(57)
-    push_eh $P636
-    .lex "self", self
-    .lex "$/", param_637
-.annotate "line", 107
-    new $P638, "Undef"
-    .lex "$past", $P638
-    get_hll_global $P639, ["PAST"], "Regex"
-    find_lex $P640, "$/"
-    $P641 = $P639."new"("quant" :named("pasttype"), 1 :named("min"), $P640 :named("node"))
-    store_lex "$past", $P641
-.annotate "line", 108
-    find_lex $P642, "$/"
-    find_lex $P643, "$past"
-    find_lex $P644, "$/"
-    unless_null $P644, vivify_194
-    $P644 = root_new ['parrot';'Hash']
+.sub "quantifier:sym<+>"  :subid("42_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_642
+.annotate 'line', 106
+    new $P641, 'ExceptionHandler'
+    set_addr $P641, control_640
+    $P641."handle_types"(57)
+    push_eh $P641
+    .lex "self", self
+    .lex "$/", param_642
+.annotate 'line', 107
+    new $P643, "Undef"
+    .lex "$past", $P643
+    get_hll_global $P644, ["PAST"], "Regex"
+    find_lex $P645, "$/"
+    $P646 = $P644."new"("quant" :named("pasttype"), 1 :named("min"), $P645 :named("node"))
+    store_lex "$past", $P646
+.annotate 'line', 108
+    find_lex $P647, "$/"
+    find_lex $P648, "$past"
+    find_lex $P649, "$/"
+    unless_null $P649, vivify_194
+    $P649 = root_new ['parrot';'Hash']
   vivify_194:
-    set $P645, $P644["backmod"]
-    unless_null $P645, vivify_195
-    new $P645, "Undef"
+    set $P650, $P649["backmod"]
+    unless_null $P650, vivify_195
+    new $P650, "Undef"
   vivify_195:
-    $P646 = "backmod"($P643, $P645)
-    $P647 = $P642."!make"($P646)
-.annotate "line", 106
-    .return ($P647)
-  control_635:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P648, exception, "payload"
-    .return ($P648)
+    $P651 = "backmod"($P648, $P650)
+    $P652 = $P647."!make"($P651)
+.annotate 'line', 106
+    .return ($P652)
+  control_640:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P653, exception, "payload"
+    .return ($P653)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("43_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_652
-.annotate "line", 111
-    new $P651, 'ExceptionHandler'
-    set_addr $P651, control_650
-    $P651."handle_types"(57)
-    push_eh $P651
-    .lex "self", self
-    .lex "$/", param_652
-.annotate "line", 112
-    new $P653, "Undef"
-    .lex "$past", $P653
-    get_hll_global $P654, ["PAST"], "Regex"
-    find_lex $P655, "$/"
-    $P656 = $P654."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P655 :named("node"))
-    store_lex "$past", $P656
-.annotate "line", 113
-    find_lex $P657, "$/"
-    find_lex $P658, "$past"
-    find_lex $P659, "$/"
-    unless_null $P659, vivify_196
-    $P659 = root_new ['parrot';'Hash']
-  vivify_196:
-    set $P660, $P659["backmod"]
-    unless_null $P660, vivify_197
-    new $P660, "Undef"
-  vivify_197:
-    $P661 = "backmod"($P658, $P660)
-    $P657."!make"($P661)
-.annotate "line", 114
+.sub "quantifier:sym<?>"  :subid("43_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_657
+.annotate 'line', 111
+    new $P656, 'ExceptionHandler'
+    set_addr $P656, control_655
+    $P656."handle_types"(57)
+    push_eh $P656
+    .lex "self", self
+    .lex "$/", param_657
+.annotate 'line', 112
+    new $P658, "Undef"
+    .lex "$past", $P658
+    get_hll_global $P659, ["PAST"], "Regex"
+    find_lex $P660, "$/"
+    $P661 = $P659."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P660 :named("node"))
+    store_lex "$past", $P661
+.annotate 'line', 113
     find_lex $P662, "$/"
     find_lex $P663, "$past"
-    $P664 = $P662."!make"($P663)
-.annotate "line", 111
-    .return ($P664)
-  control_650:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P665, exception, "payload"
-    .return ($P665)
+    find_lex $P664, "$/"
+    unless_null $P664, vivify_196
+    $P664 = root_new ['parrot';'Hash']
+  vivify_196:
+    set $P665, $P664["backmod"]
+    unless_null $P665, vivify_197
+    new $P665, "Undef"
+  vivify_197:
+    $P666 = "backmod"($P663, $P665)
+    $P662."!make"($P666)
+.annotate 'line', 114
+    find_lex $P667, "$/"
+    find_lex $P668, "$past"
+    $P669 = $P667."!make"($P668)
+.annotate 'line', 111
+    .return ($P669)
+  control_655:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P670, exception, "payload"
+    .return ($P670)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("44_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_669
-.annotate "line", 117
-    new $P668, 'ExceptionHandler'
-    set_addr $P668, control_667
-    $P668."handle_types"(57)
-    push_eh $P668
-    .lex "self", self
-    .lex "$/", param_669
-.annotate "line", 118
-    new $P670, "Undef"
-    .lex "$past", $P670
-.annotate "line", 117
-    find_lex $P671, "$past"
-.annotate "line", 119
-    find_lex $P673, "$/"
-    unless_null $P673, vivify_198
-    $P673 = root_new ['parrot';'Hash']
+.sub "quantifier:sym<**>"  :subid("44_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_674
+.annotate 'line', 117
+    new $P673, 'ExceptionHandler'
+    set_addr $P673, control_672
+    $P673."handle_types"(57)
+    push_eh $P673
+    .lex "self", self
+    .lex "$/", param_674
+.annotate 'line', 118
+    new $P675, "Undef"
+    .lex "$past", $P675
+.annotate 'line', 117
+    find_lex $P676, "$past"
+.annotate 'line', 119
+    find_lex $P678, "$/"
+    unless_null $P678, vivify_198
+    $P678 = root_new ['parrot';'Hash']
   vivify_198:
-    set $P674, $P673["quantified_atom"]
-    unless_null $P674, vivify_199
-    new $P674, "Undef"
+    set $P679, $P678["quantified_atom"]
+    unless_null $P679, vivify_199
+    new $P679, "Undef"
   vivify_199:
-    if $P674, if_672
-.annotate "line", 124
-    get_hll_global $P681, ["PAST"], "Regex"
-    find_lex $P682, "$/"
-    unless_null $P682, vivify_200
-    $P682 = root_new ['parrot';'Hash']
+    if $P679, if_677
+.annotate 'line', 124
+    get_hll_global $P686, ["PAST"], "Regex"
+    find_lex $P687, "$/"
+    unless_null $P687, vivify_200
+    $P687 = root_new ['parrot';'Hash']
   vivify_200:
-    set $P683, $P682["min"]
-    unless_null $P683, vivify_201
-    new $P683, "Undef"
+    set $P688, $P687["min"]
+    unless_null $P688, vivify_201
+    new $P688, "Undef"
   vivify_201:
-    set $N684, $P683
-    find_lex $P685, "$/"
-    $P686 = $P681."new"("quant" :named("pasttype"), $N684 :named("min"), $P685 :named("node"))
-    store_lex "$past", $P686
-.annotate "line", 125
-    find_lex $P688, "$/"
-    unless_null $P688, vivify_202
-    $P688 = root_new ['parrot';'Hash']
+    set $N689, $P688
+    find_lex $P690, "$/"
+    $P691 = $P686."new"("quant" :named("pasttype"), $N689 :named("min"), $P690 :named("node"))
+    store_lex "$past", $P691
+.annotate 'line', 125
+    find_lex $P693, "$/"
+    unless_null $P693, vivify_202
+    $P693 = root_new ['parrot';'Hash']
   vivify_202:
-    set $P689, $P688["max"]
-    unless_null $P689, vivify_203
-    new $P689, "Undef"
+    set $P694, $P693["max"]
+    unless_null $P694, vivify_203
+    new $P694, "Undef"
   vivify_203:
-    isfalse $I690, $P689
-    if $I690, if_687
-.annotate "line", 126
-    find_lex $P696, "$/"
-    unless_null $P696, vivify_204
-    $P696 = root_new ['parrot';'Hash']
+    isfalse $I695, $P694
+    if $I695, if_692
+.annotate 'line', 126
+    find_lex $P701, "$/"
+    unless_null $P701, vivify_204
+    $P701 = root_new ['parrot';'Hash']
   vivify_204:
-    set $P697, $P696["max"]
-    unless_null $P697, vivify_205
-    $P697 = root_new ['parrot';'ResizablePMCArray']
+    set $P702, $P701["max"]
+    unless_null $P702, vivify_205
+    $P702 = root_new ['parrot';'ResizablePMCArray']
   vivify_205:
-    set $P698, $P697[0]
-    unless_null $P698, vivify_206
-    new $P698, "Undef"
+    set $P703, $P702[0]
+    unless_null $P703, vivify_206
+    new $P703, "Undef"
   vivify_206:
-    set $S699, $P698
-    isne $I700, $S699, "*"
-    unless $I700, if_695_end
-    find_lex $P701, "$past"
-    find_lex $P702, "$/"
-    unless_null $P702, vivify_207
-    $P702 = root_new ['parrot';'Hash']
+    set $S704, $P703
+    isne $I705, $S704, "*"
+    unless $I705, if_700_end
+    find_lex $P706, "$past"
+    find_lex $P707, "$/"
+    unless_null $P707, vivify_207
+    $P707 = root_new ['parrot';'Hash']
   vivify_207:
-    set $P703, $P702["max"]
-    unless_null $P703, vivify_208
-    $P703 = root_new ['parrot';'ResizablePMCArray']
+    set $P708, $P707["max"]
+    unless_null $P708, vivify_208
+    $P708 = root_new ['parrot';'ResizablePMCArray']
   vivify_208:
-    set $P704, $P703[0]
-    unless_null $P704, vivify_209
-    new $P704, "Undef"
+    set $P709, $P708[0]
+    unless_null $P709, vivify_209
+    new $P709, "Undef"
   vivify_209:
-    set $N705, $P704
-    $P701."max"($N705)
-  if_695_end:
-    goto if_687_end
-  if_687:
-.annotate "line", 125
-    find_lex $P691, "$past"
-    find_lex $P692, "$/"
-    unless_null $P692, vivify_210
-    $P692 = root_new ['parrot';'Hash']
+    set $N710, $P709
+    $P706."max"($N710)
+  if_700_end:
+    goto if_692_end
+  if_692:
+.annotate 'line', 125
+    find_lex $P696, "$past"
+    find_lex $P697, "$/"
+    unless_null $P697, vivify_210
+    $P697 = root_new ['parrot';'Hash']
   vivify_210:
-    set $P693, $P692["min"]
-    unless_null $P693, vivify_211
-    new $P693, "Undef"
+    set $P698, $P697["min"]
+    unless_null $P698, vivify_211
+    new $P698, "Undef"
   vivify_211:
-    set $N694, $P693
-    $P691."max"($N694)
-  if_687_end:
-.annotate "line", 123
-    goto if_672_end
-  if_672:
-.annotate "line", 120
-    get_hll_global $P675, ["PAST"], "Regex"
-.annotate "line", 121
-    find_lex $P676, "$/"
-    unless_null $P676, vivify_212
-    $P676 = root_new ['parrot';'Hash']
+    set $N699, $P698
+    $P696."max"($N699)
+  if_692_end:
+.annotate 'line', 123
+    goto if_677_end
+  if_677:
+.annotate 'line', 120
+    get_hll_global $P680, ["PAST"], "Regex"
+.annotate 'line', 121
+    find_lex $P681, "$/"
+    unless_null $P681, vivify_212
+    $P681 = root_new ['parrot';'Hash']
   vivify_212:
-    set $P677, $P676["quantified_atom"]
-    unless_null $P677, vivify_213
-    new $P677, "Undef"
+    set $P682, $P681["quantified_atom"]
+    unless_null $P682, vivify_213
+    new $P682, "Undef"
   vivify_213:
-    $P678 = $P677."ast"()
-    find_lex $P679, "$/"
-    $P680 = $P675."new"("quant" :named("pasttype"), 1 :named("min"), $P678 :named("sep"), $P679 :named("node"))
-.annotate "line", 120
-    store_lex "$past", $P680
-  if_672_end:
-.annotate "line", 128
-    find_lex $P706, "$/"
-    find_lex $P707, "$past"
-    find_lex $P708, "$/"
-    unless_null $P708, vivify_214
-    $P708 = root_new ['parrot';'Hash']
+    $P683 = $P682."ast"()
+    find_lex $P684, "$/"
+    $P685 = $P680."new"("quant" :named("pasttype"), 1 :named("min"), $P683 :named("sep"), $P684 :named("node"))
+.annotate 'line', 120
+    store_lex "$past", $P685
+  if_677_end:
+.annotate 'line', 128
+    find_lex $P711, "$/"
+    find_lex $P712, "$past"
+    find_lex $P713, "$/"
+    unless_null $P713, vivify_214
+    $P713 = root_new ['parrot';'Hash']
   vivify_214:
-    set $P709, $P708["backmod"]
-    unless_null $P709, vivify_215
-    new $P709, "Undef"
+    set $P714, $P713["backmod"]
+    unless_null $P714, vivify_215
+    new $P714, "Undef"
   vivify_215:
-    $P710 = "backmod"($P707, $P709)
-    $P711 = $P706."!make"($P710)
-.annotate "line", 117
-    .return ($P711)
-  control_667:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P712, exception, "payload"
-    .return ($P712)
+    $P715 = "backmod"($P712, $P714)
+    $P716 = $P711."!make"($P715)
+.annotate 'line', 117
+    .return ($P716)
+  control_672:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P717, exception, "payload"
+    .return ($P717)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("45_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_716
-.annotate "line", 131
-    new $P715, 'ExceptionHandler'
-    set_addr $P715, control_714
-    $P715."handle_types"(57)
-    push_eh $P715
-    .lex "self", self
-    .lex "$/", param_716
-.annotate "line", 132
-    new $P717, "Undef"
-    .lex "$past", $P717
-.annotate "line", 133
-    get_global $P720, "@MODIFIERS"
-    unless_null $P720, vivify_216
-    $P720 = root_new ['parrot';'ResizablePMCArray']
+.sub "metachar:sym<ws>"  :subid("45_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_721
+.annotate 'line', 131
+    new $P720, 'ExceptionHandler'
+    set_addr $P720, control_719
+    $P720."handle_types"(57)
+    push_eh $P720
+    .lex "self", self
+    .lex "$/", param_721
+.annotate 'line', 132
+    new $P722, "Undef"
+    .lex "$past", $P722
+.annotate 'line', 133
+    get_global $P725, "@MODIFIERS"
+    unless_null $P725, vivify_216
+    $P725 = root_new ['parrot';'ResizablePMCArray']
   vivify_216:
-    set $P721, $P720[0]
-    unless_null $P721, vivify_217
-    $P721 = root_new ['parrot';'Hash']
+    set $P726, $P725[0]
+    unless_null $P726, vivify_217
+    $P726 = root_new ['parrot';'Hash']
   vivify_217:
-    set $P722, $P721["s"]
-    unless_null $P722, vivify_218
-    new $P722, "Undef"
+    set $P727, $P726["s"]
+    unless_null $P727, vivify_218
+    new $P727, "Undef"
   vivify_218:
-    if $P722, if_719
-    new $P726, "Integer"
-    assign $P726, 0
-    set $P718, $P726
-    goto if_719_end
-  if_719:
-    get_hll_global $P723, ["PAST"], "Regex"
-    find_lex $P724, "$/"
-    $P725 = $P723."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P724 :named("node"))
-    set $P718, $P725
-  if_719_end:
-    store_lex "$past", $P718
-.annotate "line", 136
-    find_lex $P727, "$/"
-    find_lex $P728, "$past"
-    $P729 = $P727."!make"($P728)
-.annotate "line", 131
-    .return ($P729)
-  control_714:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P730, exception, "payload"
-    .return ($P730)
+    if $P727, if_724
+    new $P731, "Integer"
+    assign $P731, 0
+    set $P723, $P731
+    goto if_724_end
+  if_724:
+    get_hll_global $P728, ["PAST"], "Regex"
+    find_lex $P729, "$/"
+    $P730 = $P728."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P729 :named("node"))
+    set $P723, $P730
+  if_724_end:
+    store_lex "$past", $P723
+.annotate 'line', 136
+    find_lex $P732, "$/"
+    find_lex $P733, "$past"
+    $P734 = $P732."!make"($P733)
+.annotate 'line', 131
+    .return ($P734)
+  control_719:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P735, exception, "payload"
+    .return ($P735)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("46_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_734
-.annotate "line", 140
-    new $P733, 'ExceptionHandler'
-    set_addr $P733, control_732
-    $P733."handle_types"(57)
-    push_eh $P733
-    .lex "self", self
-    .lex "$/", param_734
-.annotate "line", 141
-    find_lex $P735, "$/"
-    find_lex $P736, "$/"
-    unless_null $P736, vivify_219
-    $P736 = root_new ['parrot';'Hash']
+.sub "metachar:sym<[ ]>"  :subid("46_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_739
+.annotate 'line', 140
+    new $P738, 'ExceptionHandler'
+    set_addr $P738, control_737
+    $P738."handle_types"(57)
+    push_eh $P738
+    .lex "self", self
+    .lex "$/", param_739
+.annotate 'line', 141
+    find_lex $P740, "$/"
+    find_lex $P741, "$/"
+    unless_null $P741, vivify_219
+    $P741 = root_new ['parrot';'Hash']
   vivify_219:
-    set $P737, $P736["nibbler"]
-    unless_null $P737, vivify_220
-    new $P737, "Undef"
+    set $P742, $P741["nibbler"]
+    unless_null $P742, vivify_220
+    new $P742, "Undef"
   vivify_220:
-    $P738 = $P737."ast"()
-    $P739 = $P735."!make"($P738)
-.annotate "line", 140
-    .return ($P739)
-  control_732:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P740, exception, "payload"
-    .return ($P740)
+    $P743 = $P742."ast"()
+    $P744 = $P740."!make"($P743)
+.annotate 'line', 140
+    .return ($P744)
+  control_737:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P745, exception, "payload"
+    .return ($P745)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("47_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_744
-.annotate "line", 144
-    new $P743, 'ExceptionHandler'
-    set_addr $P743, control_742
-    $P743."handle_types"(57)
-    push_eh $P743
-    .lex "self", self
-    .lex "$/", param_744
-.annotate "line", 145
-    new $P745, "Undef"
-    .lex "$subpast", $P745
-.annotate "line", 146
-    new $P746, "Undef"
-    .lex "$past", $P746
-.annotate "line", 145
-    find_lex $P747, "$/"
-    unless_null $P747, vivify_221
-    $P747 = root_new ['parrot';'Hash']
+.sub "metachar:sym<( )>"  :subid("47_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_749
+.annotate 'line', 144
+    new $P748, 'ExceptionHandler'
+    set_addr $P748, control_747
+    $P748."handle_types"(57)
+    push_eh $P748
+    .lex "self", self
+    .lex "$/", param_749
+.annotate 'line', 145
+    new $P750, "Undef"
+    .lex "$subpast", $P750
+.annotate 'line', 146
+    new $P751, "Undef"
+    .lex "$past", $P751
+.annotate 'line', 145
+    find_lex $P752, "$/"
+    unless_null $P752, vivify_221
+    $P752 = root_new ['parrot';'Hash']
   vivify_221:
-    set $P748, $P747["nibbler"]
-    unless_null $P748, vivify_222
-    new $P748, "Undef"
+    set $P753, $P752["nibbler"]
+    unless_null $P753, vivify_222
+    new $P753, "Undef"
   vivify_222:
-    $P749 = $P748."ast"()
-    $P750 = "buildsub"($P749)
-    store_lex "$subpast", $P750
-.annotate "line", 146
-    get_hll_global $P751, ["PAST"], "Regex"
-    find_lex $P752, "$subpast"
-    find_lex $P753, "$/"
-    $P754 = $P751."new"($P752, "subrule" :named("pasttype"), "capture" :named("subtype"), $P753 :named("node"))
-    store_lex "$past", $P754
-.annotate "line", 148
-    find_lex $P755, "$/"
-    find_lex $P756, "$past"
-    $P757 = $P755."!make"($P756)
-.annotate "line", 144
-    .return ($P757)
-  control_742:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P758, exception, "payload"
-    .return ($P758)
+    $P754 = $P753."ast"()
+    $P755 = "buildsub"($P754)
+    store_lex "$subpast", $P755
+.annotate 'line', 146
+    get_hll_global $P756, ["PAST"], "Regex"
+    find_lex $P757, "$subpast"
+    find_lex $P758, "$/"
+    $P759 = $P756."new"($P757, "subrule" :named("pasttype"), "capture" :named("subtype"), $P758 :named("node"))
+    store_lex "$past", $P759
+.annotate 'line', 148
+    find_lex $P760, "$/"
+    find_lex $P761, "$past"
+    $P762 = $P760."!make"($P761)
+.annotate 'line', 144
+    .return ($P762)
+  control_747:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P763, exception, "payload"
+    .return ($P763)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("48_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_762
-.annotate "line", 151
-    new $P761, 'ExceptionHandler'
-    set_addr $P761, control_760
-    $P761."handle_types"(57)
-    push_eh $P761
-    .lex "self", self
-    .lex "$/", param_762
-.annotate "line", 152
-    new $P763, "Undef"
-    .lex "$quote", $P763
-.annotate "line", 154
-    new $P764, "Undef"
-    .lex "$past", $P764
-.annotate "line", 152
-    find_lex $P765, "$/"
-    unless_null $P765, vivify_223
-    $P765 = root_new ['parrot';'Hash']
+.sub "metachar:sym<'>"  :subid("48_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_767
+.annotate 'line', 151
+    new $P766, 'ExceptionHandler'
+    set_addr $P766, control_765
+    $P766."handle_types"(57)
+    push_eh $P766
+    .lex "self", self
+    .lex "$/", param_767
+.annotate 'line', 152
+    new $P768, "Undef"
+    .lex "$quote", $P768
+.annotate 'line', 154
+    new $P769, "Undef"
+    .lex "$past", $P769
+.annotate 'line', 152
+    find_lex $P770, "$/"
+    unless_null $P770, vivify_223
+    $P770 = root_new ['parrot';'Hash']
   vivify_223:
-    set $P766, $P765["quote_EXPR"]
-    unless_null $P766, vivify_224
-    new $P766, "Undef"
+    set $P771, $P770["quote_EXPR"]
+    unless_null $P771, vivify_224
+    new $P771, "Undef"
   vivify_224:
-    $P767 = $P766."ast"()
-    store_lex "$quote", $P767
-.annotate "line", 153
-    get_hll_global $P769, ["PAST"], "Val"
-    find_lex $P770, "$quote"
-    $P771 = $P769."ACCEPTS"($P770)
-    unless $P771, if_768_end
-    find_lex $P772, "$quote"
-    $P773 = $P772."value"()
-    store_lex "$quote", $P773
-  if_768_end:
-.annotate "line", 154
-    get_hll_global $P774, ["PAST"], "Regex"
+    $P772 = $P771."ast"()
+    store_lex "$quote", $P772
+.annotate 'line', 153
+    get_hll_global $P774, ["PAST"], "Val"
     find_lex $P775, "$quote"
-    find_lex $P776, "$/"
-    $P777 = $P774."new"($P775, "literal" :named("pasttype"), $P776 :named("node"))
-    store_lex "$past", $P777
-.annotate "line", 155
-    find_lex $P778, "$/"
-    find_lex $P779, "$past"
-    $P780 = $P778."!make"($P779)
-.annotate "line", 151
-    .return ($P780)
-  control_760:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P781, exception, "payload"
-    .return ($P781)
+    $P776 = $P774."ACCEPTS"($P775)
+    unless $P776, if_773_end
+    find_lex $P777, "$quote"
+    $P778 = $P777."value"()
+    store_lex "$quote", $P778
+  if_773_end:
+.annotate 'line', 154
+    get_hll_global $P779, ["PAST"], "Regex"
+    find_lex $P780, "$quote"
+    find_lex $P781, "$/"
+    $P782 = $P779."new"($P780, "literal" :named("pasttype"), $P781 :named("node"))
+    store_lex "$past", $P782
+.annotate 'line', 155
+    find_lex $P783, "$/"
+    find_lex $P784, "$past"
+    $P785 = $P783."!make"($P784)
+.annotate 'line', 151
+    .return ($P785)
+  control_765:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P786, exception, "payload"
+    .return ($P786)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("49_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_785
-.annotate "line", 158
-    new $P784, 'ExceptionHandler'
-    set_addr $P784, control_783
-    $P784."handle_types"(57)
-    push_eh $P784
-    .lex "self", self
-    .lex "$/", param_785
-.annotate "line", 159
-    new $P786, "Undef"
-    .lex "$quote", $P786
-.annotate "line", 161
-    new $P787, "Undef"
-    .lex "$past", $P787
-.annotate "line", 159
-    find_lex $P788, "$/"
-    unless_null $P788, vivify_225
-    $P788 = root_new ['parrot';'Hash']
+.sub "metachar:sym<\">"  :subid("49_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_790
+.annotate 'line', 158
+    new $P789, 'ExceptionHandler'
+    set_addr $P789, control_788
+    $P789."handle_types"(57)
+    push_eh $P789
+    .lex "self", self
+    .lex "$/", param_790
+.annotate 'line', 159
+    new $P791, "Undef"
+    .lex "$quote", $P791
+.annotate 'line', 161
+    new $P792, "Undef"
+    .lex "$past", $P792
+.annotate 'line', 159
+    find_lex $P793, "$/"
+    unless_null $P793, vivify_225
+    $P793 = root_new ['parrot';'Hash']
   vivify_225:
-    set $P789, $P788["quote_EXPR"]
-    unless_null $P789, vivify_226
-    new $P789, "Undef"
+    set $P794, $P793["quote_EXPR"]
+    unless_null $P794, vivify_226
+    new $P794, "Undef"
   vivify_226:
-    $P790 = $P789."ast"()
-    store_lex "$quote", $P790
-.annotate "line", 160
-    get_hll_global $P792, ["PAST"], "Val"
-    find_lex $P793, "$quote"
-    $P794 = $P792."ACCEPTS"($P793)
-    unless $P794, if_791_end
-    find_lex $P795, "$quote"
-    $P796 = $P795."value"()
-    store_lex "$quote", $P796
-  if_791_end:
-.annotate "line", 161
-    get_hll_global $P797, ["PAST"], "Regex"
+    $P795 = $P794."ast"()
+    store_lex "$quote", $P795
+.annotate 'line', 160
+    get_hll_global $P797, ["PAST"], "Val"
     find_lex $P798, "$quote"
-    find_lex $P799, "$/"
-    $P800 = $P797."new"($P798, "literal" :named("pasttype"), $P799 :named("node"))
-    store_lex "$past", $P800
-.annotate "line", 162
-    find_lex $P801, "$/"
-    find_lex $P802, "$past"
-    $P803 = $P801."!make"($P802)
-.annotate "line", 158
-    .return ($P803)
-  control_783:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P804, exception, "payload"
-    .return ($P804)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("50_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_808
-.annotate "line", 165
-    new $P807, 'ExceptionHandler'
-    set_addr $P807, control_806
-    $P807."handle_types"(57)
-    push_eh $P807
-    .lex "self", self
-    .lex "$/", param_808
-.annotate "line", 166
-    new $P809, "Undef"
-    .lex "$past", $P809
-    get_hll_global $P810, ["PAST"], "Regex"
-    find_lex $P811, "$/"
-    $P812 = $P810."new"("charclass" :named("pasttype"), "." :named("subtype"), $P811 :named("node"))
-    store_lex "$past", $P812
-.annotate "line", 167
-    find_lex $P813, "$/"
-    find_lex $P814, "$past"
-    $P815 = $P813."!make"($P814)
-.annotate "line", 165
-    .return ($P815)
-  control_806:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P816, exception, "payload"
-    .return ($P816)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("51_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_820
-.annotate "line", 170
-    new $P819, 'ExceptionHandler'
-    set_addr $P819, control_818
-    $P819."handle_types"(57)
-    push_eh $P819
-    .lex "self", self
-    .lex "$/", param_820
-.annotate "line", 171
-    new $P821, "Undef"
-    .lex "$past", $P821
-    get_hll_global $P822, ["PAST"], "Regex"
-    find_lex $P823, "$/"
-    $P824 = $P822."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P823 :named("node"))
-    store_lex "$past", $P824
-.annotate "line", 172
-    find_lex $P825, "$/"
-    find_lex $P826, "$past"
-    $P827 = $P825."!make"($P826)
-.annotate "line", 170
-    .return ($P827)
-  control_818:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P828, exception, "payload"
-    .return ($P828)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("52_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_832
-.annotate "line", 175
-    new $P831, 'ExceptionHandler'
-    set_addr $P831, control_830
-    $P831."handle_types"(57)
-    push_eh $P831
-    .lex "self", self
-    .lex "$/", param_832
-.annotate "line", 176
-    new $P833, "Undef"
-    .lex "$past", $P833
-    get_hll_global $P834, ["PAST"], "Regex"
-    find_lex $P835, "$/"
-    $P836 = $P834."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P835 :named("node"))
-    store_lex "$past", $P836
-.annotate "line", 177
-    find_lex $P837, "$/"
-    find_lex $P838, "$past"
-    $P839 = $P837."!make"($P838)
-.annotate "line", 175
-    .return ($P839)
-  control_830:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P840, exception, "payload"
-    .return ($P840)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("53_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_844
-.annotate "line", 180
-    new $P843, 'ExceptionHandler'
-    set_addr $P843, control_842
-    $P843."handle_types"(57)
-    push_eh $P843
-    .lex "self", self
-    .lex "$/", param_844
-.annotate "line", 181
-    new $P845, "Undef"
-    .lex "$past", $P845
-    get_hll_global $P846, ["PAST"], "Regex"
-    find_lex $P847, "$/"
-    $P848 = $P846."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P847 :named("node"))
-    store_lex "$past", $P848
-.annotate "line", 182
-    find_lex $P849, "$/"
-    find_lex $P850, "$past"
-    $P851 = $P849."!make"($P850)
-.annotate "line", 180
-    .return ($P851)
-  control_842:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P852, exception, "payload"
-    .return ($P852)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("54_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_856
-.annotate "line", 185
-    new $P855, 'ExceptionHandler'
-    set_addr $P855, control_854
-    $P855."handle_types"(57)
-    push_eh $P855
-    .lex "self", self
-    .lex "$/", param_856
-.annotate "line", 186
-    new $P857, "Undef"
-    .lex "$past", $P857
-    get_hll_global $P858, ["PAST"], "Regex"
-    find_lex $P859, "$/"
-    $P860 = $P858."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P859 :named("node"))
-    store_lex "$past", $P860
-.annotate "line", 187
-    find_lex $P861, "$/"
-    find_lex $P862, "$past"
-    $P863 = $P861."!make"($P862)
-.annotate "line", 185
-    .return ($P863)
-  control_854:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P864, exception, "payload"
-    .return ($P864)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("55_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_868
-.annotate "line", 190
-    new $P867, 'ExceptionHandler'
-    set_addr $P867, control_866
-    $P867."handle_types"(57)
-    push_eh $P867
-    .lex "self", self
-    .lex "$/", param_868
-.annotate "line", 191
-    new $P869, "Undef"
-    .lex "$past", $P869
-    get_hll_global $P870, ["PAST"], "Regex"
-    find_lex $P871, "$/"
-    $P872 = $P870."new"("cut" :named("pasttype"), $P871 :named("node"))
-    store_lex "$past", $P872
-.annotate "line", 192
-    find_lex $P873, "$/"
-    find_lex $P874, "$past"
-    $P875 = $P873."!make"($P874)
-.annotate "line", 190
-    .return ($P875)
-  control_866:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P876, exception, "payload"
-    .return ($P876)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("56_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_880
-.annotate "line", 195
-    new $P879, 'ExceptionHandler'
-    set_addr $P879, control_878
-    $P879."handle_types"(57)
-    push_eh $P879
-    .lex "self", self
-    .lex "$/", param_880
-.annotate "line", 196
-    new $P881, "Undef"
-    .lex "$past", $P881
-    get_hll_global $P882, ["PAST"], "Regex"
-    find_lex $P883, "$/"
-    $P884 = $P882."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P883 :named("node"))
-    store_lex "$past", $P884
-.annotate "line", 197
-    find_lex $P885, "$/"
-    find_lex $P886, "$past"
-    $P887 = $P885."!make"($P886)
-.annotate "line", 195
-    .return ($P887)
-  control_878:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P888, exception, "payload"
-    .return ($P888)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("57_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_892
-.annotate "line", 200
-    new $P891, 'ExceptionHandler'
-    set_addr $P891, control_890
-    $P891."handle_types"(57)
-    push_eh $P891
-    .lex "self", self
-    .lex "$/", param_892
-.annotate "line", 201
-    new $P893, "Undef"
-    .lex "$past", $P893
-    get_hll_global $P894, ["PAST"], "Regex"
-    find_lex $P895, "$/"
-    $P896 = $P894."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P895 :named("node"))
-    store_lex "$past", $P896
-.annotate "line", 202
-    find_lex $P897, "$/"
-    find_lex $P898, "$past"
-    $P899 = $P897."!make"($P898)
-.annotate "line", 200
-    .return ($P899)
-  control_890:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P900, exception, "payload"
-    .return ($P900)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("58_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_904
-.annotate "line", 205
-    new $P903, 'ExceptionHandler'
-    set_addr $P903, control_902
-    $P903."handle_types"(57)
-    push_eh $P903
-    .lex "self", self
-    .lex "$/", param_904
-.annotate "line", 206
-    find_lex $P905, "$/"
-    find_lex $P906, "$/"
-    unless_null $P906, vivify_227
-    $P906 = root_new ['parrot';'Hash']
+    $P799 = $P797."ACCEPTS"($P798)
+    unless $P799, if_796_end
+    find_lex $P800, "$quote"
+    $P801 = $P800."value"()
+    store_lex "$quote", $P801
+  if_796_end:
+.annotate 'line', 161
+    get_hll_global $P802, ["PAST"], "Regex"
+    find_lex $P803, "$quote"
+    find_lex $P804, "$/"
+    $P805 = $P802."new"($P803, "literal" :named("pasttype"), $P804 :named("node"))
+    store_lex "$past", $P805
+.annotate 'line', 162
+    find_lex $P806, "$/"
+    find_lex $P807, "$past"
+    $P808 = $P806."!make"($P807)
+.annotate 'line', 158
+    .return ($P808)
+  control_788:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P809, exception, "payload"
+    .return ($P809)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<.>"  :subid("50_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_813
+.annotate 'line', 165
+    new $P812, 'ExceptionHandler'
+    set_addr $P812, control_811
+    $P812."handle_types"(57)
+    push_eh $P812
+    .lex "self", self
+    .lex "$/", param_813
+.annotate 'line', 166
+    new $P814, "Undef"
+    .lex "$past", $P814
+    get_hll_global $P815, ["PAST"], "Regex"
+    find_lex $P816, "$/"
+    $P817 = $P815."new"("charclass" :named("pasttype"), "." :named("subtype"), $P816 :named("node"))
+    store_lex "$past", $P817
+.annotate 'line', 167
+    find_lex $P818, "$/"
+    find_lex $P819, "$past"
+    $P820 = $P818."!make"($P819)
+.annotate 'line', 165
+    .return ($P820)
+  control_811:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P821, exception, "payload"
+    .return ($P821)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<^>"  :subid("51_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_825
+.annotate 'line', 170
+    new $P824, 'ExceptionHandler'
+    set_addr $P824, control_823
+    $P824."handle_types"(57)
+    push_eh $P824
+    .lex "self", self
+    .lex "$/", param_825
+.annotate 'line', 171
+    new $P826, "Undef"
+    .lex "$past", $P826
+    get_hll_global $P827, ["PAST"], "Regex"
+    find_lex $P828, "$/"
+    $P829 = $P827."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P828 :named("node"))
+    store_lex "$past", $P829
+.annotate 'line', 172
+    find_lex $P830, "$/"
+    find_lex $P831, "$past"
+    $P832 = $P830."!make"($P831)
+.annotate 'line', 170
+    .return ($P832)
+  control_823:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P833, exception, "payload"
+    .return ($P833)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<^^>"  :subid("52_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_837
+.annotate 'line', 175
+    new $P836, 'ExceptionHandler'
+    set_addr $P836, control_835
+    $P836."handle_types"(57)
+    push_eh $P836
+    .lex "self", self
+    .lex "$/", param_837
+.annotate 'line', 176
+    new $P838, "Undef"
+    .lex "$past", $P838
+    get_hll_global $P839, ["PAST"], "Regex"
+    find_lex $P840, "$/"
+    $P841 = $P839."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P840 :named("node"))
+    store_lex "$past", $P841
+.annotate 'line', 177
+    find_lex $P842, "$/"
+    find_lex $P843, "$past"
+    $P844 = $P842."!make"($P843)
+.annotate 'line', 175
+    .return ($P844)
+  control_835:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P845, exception, "payload"
+    .return ($P845)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<$>"  :subid("53_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_849
+.annotate 'line', 180
+    new $P848, 'ExceptionHandler'
+    set_addr $P848, control_847
+    $P848."handle_types"(57)
+    push_eh $P848
+    .lex "self", self
+    .lex "$/", param_849
+.annotate 'line', 181
+    new $P850, "Undef"
+    .lex "$past", $P850
+    get_hll_global $P851, ["PAST"], "Regex"
+    find_lex $P852, "$/"
+    $P853 = $P851."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P852 :named("node"))
+    store_lex "$past", $P853
+.annotate 'line', 182
+    find_lex $P854, "$/"
+    find_lex $P855, "$past"
+    $P856 = $P854."!make"($P855)
+.annotate 'line', 180
+    .return ($P856)
+  control_847:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P857, exception, "payload"
+    .return ($P857)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<$$>"  :subid("54_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_861
+.annotate 'line', 185
+    new $P860, 'ExceptionHandler'
+    set_addr $P860, control_859
+    $P860."handle_types"(57)
+    push_eh $P860
+    .lex "self", self
+    .lex "$/", param_861
+.annotate 'line', 186
+    new $P862, "Undef"
+    .lex "$past", $P862
+    get_hll_global $P863, ["PAST"], "Regex"
+    find_lex $P864, "$/"
+    $P865 = $P863."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P864 :named("node"))
+    store_lex "$past", $P865
+.annotate 'line', 187
+    find_lex $P866, "$/"
+    find_lex $P867, "$past"
+    $P868 = $P866."!make"($P867)
+.annotate 'line', 185
+    .return ($P868)
+  control_859:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P869, exception, "payload"
+    .return ($P869)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<:::>"  :subid("55_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_873
+.annotate 'line', 190
+    new $P872, 'ExceptionHandler'
+    set_addr $P872, control_871
+    $P872."handle_types"(57)
+    push_eh $P872
+    .lex "self", self
+    .lex "$/", param_873
+.annotate 'line', 191
+    new $P874, "Undef"
+    .lex "$past", $P874
+    get_hll_global $P875, ["PAST"], "Regex"
+    find_lex $P876, "$/"
+    $P877 = $P875."new"("cut" :named("pasttype"), $P876 :named("node"))
+    store_lex "$past", $P877
+.annotate 'line', 192
+    find_lex $P878, "$/"
+    find_lex $P879, "$past"
+    $P880 = $P878."!make"($P879)
+.annotate 'line', 190
+    .return ($P880)
+  control_871:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P881, exception, "payload"
+    .return ($P881)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<lwb>"  :subid("56_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_885
+.annotate 'line', 195
+    new $P884, 'ExceptionHandler'
+    set_addr $P884, control_883
+    $P884."handle_types"(57)
+    push_eh $P884
+    .lex "self", self
+    .lex "$/", param_885
+.annotate 'line', 196
+    new $P886, "Undef"
+    .lex "$past", $P886
+    get_hll_global $P887, ["PAST"], "Regex"
+    find_lex $P888, "$/"
+    $P889 = $P887."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P888 :named("node"))
+    store_lex "$past", $P889
+.annotate 'line', 197
+    find_lex $P890, "$/"
+    find_lex $P891, "$past"
+    $P892 = $P890."!make"($P891)
+.annotate 'line', 195
+    .return ($P892)
+  control_883:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P893, exception, "payload"
+    .return ($P893)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<rwb>"  :subid("57_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_897
+.annotate 'line', 200
+    new $P896, 'ExceptionHandler'
+    set_addr $P896, control_895
+    $P896."handle_types"(57)
+    push_eh $P896
+    .lex "self", self
+    .lex "$/", param_897
+.annotate 'line', 201
+    new $P898, "Undef"
+    .lex "$past", $P898
+    get_hll_global $P899, ["PAST"], "Regex"
+    find_lex $P900, "$/"
+    $P901 = $P899."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P900 :named("node"))
+    store_lex "$past", $P901
+.annotate 'line', 202
+    find_lex $P902, "$/"
+    find_lex $P903, "$past"
+    $P904 = $P902."!make"($P903)
+.annotate 'line', 200
+    .return ($P904)
+  control_895:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P905, exception, "payload"
+    .return ($P905)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "metachar:sym<bs>"  :subid("58_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_909
+.annotate 'line', 205
+    new $P908, 'ExceptionHandler'
+    set_addr $P908, control_907
+    $P908."handle_types"(57)
+    push_eh $P908
+    .lex "self", self
+    .lex "$/", param_909
+.annotate 'line', 206
+    find_lex $P910, "$/"
+    find_lex $P911, "$/"
+    unless_null $P911, vivify_227
+    $P911 = root_new ['parrot';'Hash']
   vivify_227:
-    set $P907, $P906["backslash"]
-    unless_null $P907, vivify_228
-    new $P907, "Undef"
+    set $P912, $P911["backslash"]
+    unless_null $P912, vivify_228
+    new $P912, "Undef"
   vivify_228:
-    $P908 = $P907."ast"()
-    $P909 = $P905."!make"($P908)
-.annotate "line", 205
-    .return ($P909)
-  control_902:
+    $P913 = $P912."ast"()
+    $P914 = $P910."!make"($P913)
+.annotate 'line', 205
+    .return ($P914)
+  control_907:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P910, exception, "payload"
-    .return ($P910)
+    getattribute $P915, exception, "payload"
+    .return ($P915)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("59_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_914
-.annotate "line", 209
-    new $P913, 'ExceptionHandler'
-    set_addr $P913, control_912
-    $P913."handle_types"(57)
-    push_eh $P913
+.sub "metachar:sym<mod>"  :subid("59_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_919
+.annotate 'line', 209
+    new $P918, 'ExceptionHandler'
+    set_addr $P918, control_917
+    $P918."handle_types"(57)
+    push_eh $P918
     .lex "self", self
-    .lex "$/", param_914
-.annotate "line", 210
-    find_lex $P915, "$/"
-    find_lex $P916, "$/"
-    unless_null $P916, vivify_229
-    $P916 = root_new ['parrot';'Hash']
+    .lex "$/", param_919
+.annotate 'line', 210
+    find_lex $P920, "$/"
+    find_lex $P921, "$/"
+    unless_null $P921, vivify_229
+    $P921 = root_new ['parrot';'Hash']
   vivify_229:
-    set $P917, $P916["mod_internal"]
-    unless_null $P917, vivify_230
-    new $P917, "Undef"
+    set $P922, $P921["mod_internal"]
+    unless_null $P922, vivify_230
+    new $P922, "Undef"
   vivify_230:
-    $P918 = $P917."ast"()
-    $P919 = $P915."!make"($P918)
-.annotate "line", 209
-    .return ($P919)
-  control_912:
+    $P923 = $P922."ast"()
+    $P924 = $P920."!make"($P923)
+.annotate 'line', 209
+    .return ($P924)
+  control_917:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P920, exception, "payload"
-    .return ($P920)
+    getattribute $P925, exception, "payload"
+    .return ($P925)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("60_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_924
-.annotate "line", 213
-    new $P923, 'ExceptionHandler'
-    set_addr $P923, control_922
-    $P923."handle_types"(57)
-    push_eh $P923
+.sub "metachar:sym<assert>"  :subid("60_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_929
+.annotate 'line', 213
+    new $P928, 'ExceptionHandler'
+    set_addr $P928, control_927
+    $P928."handle_types"(57)
+    push_eh $P928
     .lex "self", self
-    .lex "$/", param_924
-.annotate "line", 214
-    find_lex $P925, "$/"
-    find_lex $P926, "$/"
-    unless_null $P926, vivify_231
-    $P926 = root_new ['parrot';'Hash']
+    .lex "$/", param_929
+.annotate 'line', 214
+    find_lex $P930, "$/"
+    find_lex $P931, "$/"
+    unless_null $P931, vivify_231
+    $P931 = root_new ['parrot';'Hash']
   vivify_231:
-    set $P927, $P926["assertion"]
-    unless_null $P927, vivify_232
-    new $P927, "Undef"
+    set $P932, $P931["assertion"]
+    unless_null $P932, vivify_232
+    new $P932, "Undef"
   vivify_232:
-    $P928 = $P927."ast"()
-    $P929 = $P925."!make"($P928)
-.annotate "line", 213
-    .return ($P929)
-  control_922:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P930, exception, "payload"
-    .return ($P930)
+    $P933 = $P932."ast"()
+    $P934 = $P930."!make"($P933)
+.annotate 'line', 213
+    .return ($P934)
+  control_927:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P935, exception, "payload"
+    .return ($P935)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("61_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_934
-.annotate "line", 217
-    new $P933, 'ExceptionHandler'
-    set_addr $P933, control_932
-    $P933."handle_types"(57)
-    push_eh $P933
-    .lex "self", self
-    .lex "$/", param_934
-.annotate "line", 218
-    find_lex $P935, "$/"
-    get_hll_global $P936, ["PAST"], "Regex"
-.annotate "line", 219
-    find_lex $P937, "$/"
-    unless_null $P937, vivify_233
-    $P937 = root_new ['parrot';'Hash']
+.sub "metachar:sym<~>"  :subid("61_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_939
+.annotate 'line', 217
+    new $P938, 'ExceptionHandler'
+    set_addr $P938, control_937
+    $P938."handle_types"(57)
+    push_eh $P938
+    .lex "self", self
+    .lex "$/", param_939
+.annotate 'line', 218
+    find_lex $P940, "$/"
+    get_hll_global $P941, ["PAST"], "Regex"
+.annotate 'line', 219
+    find_lex $P942, "$/"
+    unless_null $P942, vivify_233
+    $P942 = root_new ['parrot';'Hash']
   vivify_233:
-    set $P938, $P937["EXPR"]
-    unless_null $P938, vivify_234
-    new $P938, "Undef"
+    set $P943, $P942["EXPR"]
+    unless_null $P943, vivify_234
+    new $P943, "Undef"
   vivify_234:
-    $P939 = $P938."ast"()
-.annotate "line", 220
-    get_hll_global $P940, ["PAST"], "Regex"
-.annotate "line", 221
-    find_lex $P941, "$/"
-    unless_null $P941, vivify_235
-    $P941 = root_new ['parrot';'Hash']
+    $P944 = $P943."ast"()
+.annotate 'line', 220
+    get_hll_global $P945, ["PAST"], "Regex"
+.annotate 'line', 221
+    find_lex $P946, "$/"
+    unless_null $P946, vivify_235
+    $P946 = root_new ['parrot';'Hash']
   vivify_235:
-    set $P942, $P941["GOAL"]
-    unless_null $P942, vivify_236
-    new $P942, "Undef"
+    set $P947, $P946["GOAL"]
+    unless_null $P947, vivify_236
+    new $P947, "Undef"
   vivify_236:
-    $P943 = $P942."ast"()
-.annotate "line", 222
-    get_hll_global $P944, ["PAST"], "Regex"
-    find_lex $P945, "$/"
-    unless_null $P945, vivify_237
-    $P945 = root_new ['parrot';'Hash']
+    $P948 = $P947."ast"()
+.annotate 'line', 222
+    get_hll_global $P949, ["PAST"], "Regex"
+    find_lex $P950, "$/"
+    unless_null $P950, vivify_237
+    $P950 = root_new ['parrot';'Hash']
   vivify_237:
-    set $P946, $P945["GOAL"]
-    unless_null $P946, vivify_238
-    new $P946, "Undef"
+    set $P951, $P950["GOAL"]
+    unless_null $P951, vivify_238
+    new $P951, "Undef"
   vivify_238:
-    set $S947, $P946
-    $P948 = $P944."new"("FAILGOAL", $S947, "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P949 = $P940."new"($P943, $P948, "alt" :named("pasttype"))
-.annotate "line", 220
-    $P950 = $P936."new"($P939, $P949, "concat" :named("pasttype"))
-.annotate "line", 218
-    $P951 = $P935."!make"($P950)
-.annotate "line", 217
-    .return ($P951)
-  control_932:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P952, exception, "payload"
-    .return ($P952)
+    set $S952, $P951
+    $P953 = $P949."new"("FAILGOAL", $S952, "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P954 = $P945."new"($P948, $P953, "alt" :named("pasttype"))
+.annotate 'line', 220
+    $P955 = $P941."new"($P944, $P954, "concat" :named("pasttype"))
+.annotate 'line', 218
+    $P956 = $P940."!make"($P955)
+.annotate 'line', 217
+    .return ($P956)
+  control_937:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P957, exception, "payload"
+    .return ($P957)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("62_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_956
-.annotate "line", 230
-    new $P955, 'ExceptionHandler'
-    set_addr $P955, control_954
-    $P955."handle_types"(57)
-    push_eh $P955
-    .lex "self", self
-    .lex "$/", param_956
-.annotate "line", 231
-    new $P957, "Undef"
-    .lex "$past", $P957
-.annotate "line", 232
-    find_lex $P960, "$/"
-    unless_null $P960, vivify_239
-    $P960 = root_new ['parrot';'Hash']
+.sub "metachar:sym<{*}>"  :subid("62_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_961
+.annotate 'line', 230
+    new $P960, 'ExceptionHandler'
+    set_addr $P960, control_959
+    $P960."handle_types"(57)
+    push_eh $P960
+    .lex "self", self
+    .lex "$/", param_961
+.annotate 'line', 231
+    new $P962, "Undef"
+    .lex "$past", $P962
+.annotate 'line', 232
+    find_lex $P965, "$/"
+    unless_null $P965, vivify_239
+    $P965 = root_new ['parrot';'Hash']
   vivify_239:
-    set $P961, $P960["key"]
-    unless_null $P961, vivify_240
-    new $P961, "Undef"
+    set $P966, $P965["key"]
+    unless_null $P966, vivify_240
+    new $P966, "Undef"
   vivify_240:
-    if $P961, if_959
-    new $P969, "Integer"
-    assign $P969, 0
-    set $P958, $P969
-    goto if_959_end
-  if_959:
-    get_hll_global $P962, ["PAST"], "Regex"
-    find_lex $P963, "$/"
-    unless_null $P963, vivify_241
-    $P963 = root_new ['parrot';'Hash']
+    if $P966, if_964
+    new $P974, "Integer"
+    assign $P974, 0
+    set $P963, $P974
+    goto if_964_end
+  if_964:
+    get_hll_global $P967, ["PAST"], "Regex"
+    find_lex $P968, "$/"
+    unless_null $P968, vivify_241
+    $P968 = root_new ['parrot';'Hash']
   vivify_241:
-    set $P964, $P963["key"]
-    unless_null $P964, vivify_242
-    $P964 = root_new ['parrot';'ResizablePMCArray']
+    set $P969, $P968["key"]
+    unless_null $P969, vivify_242
+    $P969 = root_new ['parrot';'ResizablePMCArray']
   vivify_242:
-    set $P965, $P964[0]
-    unless_null $P965, vivify_243
-    new $P965, "Undef"
+    set $P970, $P969[0]
+    unless_null $P970, vivify_243
+    new $P970, "Undef"
   vivify_243:
-    set $S966, $P965
-    find_lex $P967, "$/"
-    $P968 = $P962."new"($S966, "reduce" :named("pasttype"), $P967 :named("node"))
-    set $P958, $P968
-  if_959_end:
-    store_lex "$past", $P958
-.annotate "line", 234
-    find_lex $P970, "$/"
-    find_lex $P971, "$past"
-    $P972 = $P970."!make"($P971)
-.annotate "line", 230
-    .return ($P972)
-  control_954:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P973, exception, "payload"
-    .return ($P973)
+    set $S971, $P970
+    find_lex $P972, "$/"
+    $P973 = $P967."new"($S971, "reduce" :named("pasttype"), $P972 :named("node"))
+    set $P963, $P973
+  if_964_end:
+    store_lex "$past", $P963
+.annotate 'line', 234
+    find_lex $P975, "$/"
+    find_lex $P976, "$past"
+    $P977 = $P975."!make"($P976)
+.annotate 'line', 230
+    .return ($P977)
+  control_959:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P978, exception, "payload"
+    .return ($P978)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("63_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_977
-.annotate "line", 237
-    new $P976, 'ExceptionHandler'
-    set_addr $P976, control_975
-    $P976."handle_types"(57)
-    push_eh $P976
-    .lex "self", self
-    .lex "$/", param_977
-.annotate "line", 238
-    new $P978, "Undef"
-    .lex "$past", $P978
-.annotate "line", 239
-    new $P979, "Undef"
-    .lex "$name", $P979
-.annotate "line", 237
-    find_lex $P980, "$past"
-.annotate "line", 239
-    find_lex $P983, "$/"
-    unless_null $P983, vivify_244
-    $P983 = root_new ['parrot';'Hash']
-  vivify_244:
-    set $P984, $P983["pos"]
-    unless_null $P984, vivify_245
+.sub "metachar:sym<var>"  :subid("63_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_982
+.annotate 'line', 237
+    new $P981, 'ExceptionHandler'
+    set_addr $P981, control_980
+    $P981."handle_types"(57)
+    push_eh $P981
+    .lex "self", self
+    .lex "$/", param_982
+.annotate 'line', 238
+    new $P983, "Undef"
+    .lex "$past", $P983
+.annotate 'line', 239
     new $P984, "Undef"
-  vivify_245:
-    if $P984, if_982
+    .lex "$name", $P984
+.annotate 'line', 237
+    find_lex $P985, "$past"
+.annotate 'line', 239
     find_lex $P988, "$/"
-    unless_null $P988, vivify_246
+    unless_null $P988, vivify_244
     $P988 = root_new ['parrot';'Hash']
-  vivify_246:
-    set $P989, $P988["name"]
-    unless_null $P989, vivify_247
+  vivify_244:
+    set $P989, $P988["pos"]
+    unless_null $P989, vivify_245
     new $P989, "Undef"
+  vivify_245:
+    if $P989, if_987
+    find_lex $P993, "$/"
+    unless_null $P993, vivify_246
+    $P993 = root_new ['parrot';'Hash']
+  vivify_246:
+    set $P994, $P993["name"]
+    unless_null $P994, vivify_247
+    new $P994, "Undef"
   vivify_247:
-    set $S990, $P989
-    new $P981, 'String'
-    set $P981, $S990
-    goto if_982_end
-  if_982:
-    find_lex $P985, "$/"
-    unless_null $P985, vivify_248
-    $P985 = root_new ['parrot';'Hash']
+    set $S995, $P994
+    new $P986, 'String'
+    set $P986, $S995
+    goto if_987_end
+  if_987:
+    find_lex $P990, "$/"
+    unless_null $P990, vivify_248
+    $P990 = root_new ['parrot';'Hash']
   vivify_248:
-    set $P986, $P985["pos"]
-    unless_null $P986, vivify_249
-    new $P986, "Undef"
+    set $P991, $P990["pos"]
+    unless_null $P991, vivify_249
+    new $P991, "Undef"
   vivify_249:
-    set $N987, $P986
-    new $P981, 'Float'
-    set $P981, $N987
-  if_982_end:
-    store_lex "$name", $P981
-.annotate "line", 240
-    find_lex $P992, "$/"
-    unless_null $P992, vivify_250
-    $P992 = root_new ['parrot';'Hash']
+    set $N992, $P991
+    new $P986, 'Float'
+    set $P986, $N992
+  if_987_end:
+    store_lex "$name", $P986
+.annotate 'line', 240
+    find_lex $P997, "$/"
+    unless_null $P997, vivify_250
+    $P997 = root_new ['parrot';'Hash']
   vivify_250:
-    set $P993, $P992["quantified_atom"]
-    unless_null $P993, vivify_251
-    new $P993, "Undef"
+    set $P998, $P997["quantified_atom"]
+    unless_null $P998, vivify_251
+    new $P998, "Undef"
   vivify_251:
-    if $P993, if_991
-.annotate "line", 251
-    get_hll_global $P1022, ["PAST"], "Regex"
-    find_lex $P1023, "$name"
-    find_lex $P1024, "$/"
-    $P1025 = $P1022."new"("!BACKREF", $P1023, "subrule" :named("pasttype"), "method" :named("subtype"), $P1024 :named("node"))
-    store_lex "$past", $P1025
-.annotate "line", 250
-    goto if_991_end
-  if_991:
-.annotate "line", 241
-    find_lex $P994, "$/"
-    unless_null $P994, vivify_252
-    $P994 = root_new ['parrot';'Hash']
+    if $P998, if_996
+.annotate 'line', 251
+    get_hll_global $P1027, ["PAST"], "Regex"
+    find_lex $P1028, "$name"
+    find_lex $P1029, "$/"
+    $P1030 = $P1027."new"("!BACKREF", $P1028, "subrule" :named("pasttype"), "method" :named("subtype"), $P1029 :named("node"))
+    store_lex "$past", $P1030
+.annotate 'line', 250
+    goto if_996_end
+  if_996:
+.annotate 'line', 241
+    find_lex $P999, "$/"
+    unless_null $P999, vivify_252
+    $P999 = root_new ['parrot';'Hash']
   vivify_252:
-    set $P995, $P994["quantified_atom"]
-    unless_null $P995, vivify_253
-    $P995 = root_new ['parrot';'ResizablePMCArray']
+    set $P1000, $P999["quantified_atom"]
+    unless_null $P1000, vivify_253
+    $P1000 = root_new ['parrot';'ResizablePMCArray']
   vivify_253:
-    set $P996, $P995[0]
-    unless_null $P996, vivify_254
-    new $P996, "Undef"
+    set $P1001, $P1000[0]
+    unless_null $P1001, vivify_254
+    new $P1001, "Undef"
   vivify_254:
-    $P997 = $P996."ast"()
-    store_lex "$past", $P997
-.annotate "line", 242
-    find_lex $P1001, "$past"
-    $S1002 = $P1001."pasttype"()
-    iseq $I1003, $S1002, "quant"
-    if $I1003, if_1000
-    new $P999, 'Integer'
-    set $P999, $I1003
-    goto if_1000_end
-  if_1000:
-    find_lex $P1004, "$past"
-    unless_null $P1004, vivify_255
-    $P1004 = root_new ['parrot';'ResizablePMCArray']
+    $P1002 = $P1001."ast"()
+    store_lex "$past", $P1002
+.annotate 'line', 242
+    find_lex $P1006, "$past"
+    $S1007 = $P1006."pasttype"()
+    iseq $I1008, $S1007, "quant"
+    if $I1008, if_1005
+    new $P1004, 'Integer'
+    set $P1004, $I1008
+    goto if_1005_end
+  if_1005:
+    find_lex $P1009, "$past"
+    unless_null $P1009, vivify_255
+    $P1009 = root_new ['parrot';'ResizablePMCArray']
   vivify_255:
-    set $P1005, $P1004[0]
-    unless_null $P1005, vivify_256
-    new $P1005, "Undef"
+    set $P1010, $P1009[0]
+    unless_null $P1010, vivify_256
+    new $P1010, "Undef"
   vivify_256:
-    $S1006 = $P1005."pasttype"()
-    iseq $I1007, $S1006, "subrule"
-    new $P999, 'Integer'
-    set $P999, $I1007
-  if_1000_end:
-    if $P999, if_998
-.annotate "line", 245
-    find_lex $P1012, "$past"
-    $S1013 = $P1012."pasttype"()
-    iseq $I1014, $S1013, "subrule"
-    if $I1014, if_1011
-.annotate "line", 247
-    get_hll_global $P1017, ["PAST"], "Regex"
-    find_lex $P1018, "$past"
-    find_lex $P1019, "$name"
-    find_lex $P1020, "$/"
-    $P1021 = $P1017."new"($P1018, $P1019 :named("name"), "subcapture" :named("pasttype"), $P1020 :named("node"))
-    store_lex "$past", $P1021
-.annotate "line", 246
-    goto if_1011_end
-  if_1011:
-.annotate "line", 245
-    find_lex $P1015, "$past"
-    find_lex $P1016, "$name"
-    "subrule_alias"($P1015, $P1016)
-  if_1011_end:
-    goto if_998_end
-  if_998:
-.annotate "line", 243
-    find_lex $P1008, "$past"
-    unless_null $P1008, vivify_257
-    $P1008 = root_new ['parrot';'ResizablePMCArray']
+    $S1011 = $P1010."pasttype"()
+    iseq $I1012, $S1011, "subrule"
+    new $P1004, 'Integer'
+    set $P1004, $I1012
+  if_1005_end:
+    if $P1004, if_1003
+.annotate 'line', 245
+    find_lex $P1017, "$past"
+    $S1018 = $P1017."pasttype"()
+    iseq $I1019, $S1018, "subrule"
+    if $I1019, if_1016
+.annotate 'line', 247
+    get_hll_global $P1022, ["PAST"], "Regex"
+    find_lex $P1023, "$past"
+    find_lex $P1024, "$name"
+    find_lex $P1025, "$/"
+    $P1026 = $P1022."new"($P1023, $P1024 :named("name"), "subcapture" :named("pasttype"), $P1025 :named("node"))
+    store_lex "$past", $P1026
+.annotate 'line', 246
+    goto if_1016_end
+  if_1016:
+.annotate 'line', 245
+    find_lex $P1020, "$past"
+    find_lex $P1021, "$name"
+    "subrule_alias"($P1020, $P1021)
+  if_1016_end:
+    goto if_1003_end
+  if_1003:
+.annotate 'line', 243
+    find_lex $P1013, "$past"
+    unless_null $P1013, vivify_257
+    $P1013 = root_new ['parrot';'ResizablePMCArray']
   vivify_257:
-    set $P1009, $P1008[0]
-    unless_null $P1009, vivify_258
-    new $P1009, "Undef"
+    set $P1014, $P1013[0]
+    unless_null $P1014, vivify_258
+    new $P1014, "Undef"
   vivify_258:
-    find_lex $P1010, "$name"
-    "subrule_alias"($P1009, $P1010)
-  if_998_end:
-  if_991_end:
-.annotate "line", 254
-    find_lex $P1026, "$/"
-    find_lex $P1027, "$past"
-    $P1028 = $P1026."!make"($P1027)
-.annotate "line", 237
-    .return ($P1028)
-  control_975:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1029, exception, "payload"
-    .return ($P1029)
+    find_lex $P1015, "$name"
+    "subrule_alias"($P1014, $P1015)
+  if_1003_end:
+  if_996_end:
+.annotate 'line', 254
+    find_lex $P1031, "$/"
+    find_lex $P1032, "$past"
+    $P1033 = $P1031."!make"($P1032)
+.annotate 'line', 237
+    .return ($P1033)
+  control_980:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1034, exception, "payload"
+    .return ($P1034)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("64_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1033
-.annotate "line", 257
-    new $P1032, 'ExceptionHandler'
-    set_addr $P1032, control_1031
-    $P1032."handle_types"(57)
-    push_eh $P1032
-    .lex "self", self
-    .lex "$/", param_1033
-.annotate "line", 258
-    find_lex $P1034, "$/"
-    get_hll_global $P1035, ["PAST"], "Regex"
-.annotate "line", 259
-    get_hll_global $P1036, ["PAST"], "Op"
-    find_lex $P1037, "$/"
-    unless_null $P1037, vivify_259
-    $P1037 = root_new ['parrot';'Hash']
+.sub "metachar:sym<PIR>"  :subid("64_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1038
+.annotate 'line', 257
+    new $P1037, 'ExceptionHandler'
+    set_addr $P1037, control_1036
+    $P1037."handle_types"(57)
+    push_eh $P1037
+    .lex "self", self
+    .lex "$/", param_1038
+.annotate 'line', 258
+    find_lex $P1039, "$/"
+    get_hll_global $P1040, ["PAST"], "Regex"
+.annotate 'line', 259
+    get_hll_global $P1041, ["PAST"], "Op"
+    find_lex $P1042, "$/"
+    unless_null $P1042, vivify_259
+    $P1042 = root_new ['parrot';'Hash']
   vivify_259:
-    set $P1038, $P1037["pir"]
-    unless_null $P1038, vivify_260
-    new $P1038, "Undef"
+    set $P1043, $P1042["pir"]
+    unless_null $P1043, vivify_260
+    new $P1043, "Undef"
   vivify_260:
-    set $S1039, $P1038
-    $P1040 = $P1036."new"($S1039 :named("inline"), "inline" :named("pasttype"))
-    find_lex $P1041, "$/"
-    $P1042 = $P1035."new"($P1040, "pastnode" :named("pasttype"), $P1041 :named("node"))
-.annotate "line", 258
-    $P1043 = $P1034."!make"($P1042)
-.annotate "line", 257
-    .return ($P1043)
-  control_1031:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1044, exception, "payload"
-    .return ($P1044)
+    set $S1044, $P1043
+    $P1045 = $P1041."new"($S1044 :named("inline"), "inline" :named("pasttype"))
+    find_lex $P1046, "$/"
+    $P1047 = $P1040."new"($P1045, "pastnode" :named("pasttype"), $P1046 :named("node"))
+.annotate 'line', 258
+    $P1048 = $P1039."!make"($P1047)
+.annotate 'line', 257
+    .return ($P1048)
+  control_1036:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1049, exception, "payload"
+    .return ($P1049)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("65_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1048
-.annotate "line", 265
-    new $P1047, 'ExceptionHandler'
-    set_addr $P1047, control_1046
-    $P1047."handle_types"(57)
-    push_eh $P1047
-    .lex "self", self
-    .lex "$/", param_1048
-.annotate "line", 266
-    new $P1049, "Undef"
-    .lex "$subtype", $P1049
-.annotate "line", 267
-    new $P1050, "Undef"
-    .lex "$past", $P1050
-.annotate "line", 266
-    find_lex $P1053, "$/"
-    unless_null $P1053, vivify_261
-    $P1053 = root_new ['parrot';'Hash']
-  vivify_261:
-    set $P1054, $P1053["sym"]
-    unless_null $P1054, vivify_262
+.sub "backslash:sym<w>"  :subid("65_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1053
+.annotate 'line', 265
+    new $P1052, 'ExceptionHandler'
+    set_addr $P1052, control_1051
+    $P1052."handle_types"(57)
+    push_eh $P1052
+    .lex "self", self
+    .lex "$/", param_1053
+.annotate 'line', 266
     new $P1054, "Undef"
-  vivify_262:
-    set $S1055, $P1054
-    iseq $I1056, $S1055, "n"
-    if $I1056, if_1052
+    .lex "$subtype", $P1054
+.annotate 'line', 267
+    new $P1055, "Undef"
+    .lex "$past", $P1055
+.annotate 'line', 266
     find_lex $P1058, "$/"
-    unless_null $P1058, vivify_263
+    unless_null $P1058, vivify_261
     $P1058 = root_new ['parrot';'Hash']
-  vivify_263:
+  vivify_261:
     set $P1059, $P1058["sym"]
-    unless_null $P1059, vivify_264
+    unless_null $P1059, vivify_262
     new $P1059, "Undef"
-  vivify_264:
+  vivify_262:
     set $S1060, $P1059
-    new $P1051, 'String'
-    set $P1051, $S1060
-    goto if_1052_end
-  if_1052:
-    new $P1057, "String"
-    assign $P1057, "nl"
-    set $P1051, $P1057
-  if_1052_end:
-    store_lex "$subtype", $P1051
-.annotate "line", 267
-    get_hll_global $P1061, ["PAST"], "Regex"
-    find_lex $P1062, "$subtype"
+    iseq $I1061, $S1060, "n"
+    if $I1061, if_1057
     find_lex $P1063, "$/"
-    $P1064 = $P1061."new"("charclass" :named("pasttype"), $P1062 :named("subtype"), $P1063 :named("node"))
-    store_lex "$past", $P1064
-.annotate "line", 268
-    find_lex $P1065, "$/"
-    find_lex $P1066, "$past"
-    $P1067 = $P1065."!make"($P1066)
-.annotate "line", 265
-    .return ($P1067)
-  control_1046:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1068, exception, "payload"
-    .return ($P1068)
+    unless_null $P1063, vivify_263
+    $P1063 = root_new ['parrot';'Hash']
+  vivify_263:
+    set $P1064, $P1063["sym"]
+    unless_null $P1064, vivify_264
+    new $P1064, "Undef"
+  vivify_264:
+    set $S1065, $P1064
+    new $P1056, 'String'
+    set $P1056, $S1065
+    goto if_1057_end
+  if_1057:
+    new $P1062, "String"
+    assign $P1062, "nl"
+    set $P1056, $P1062
+  if_1057_end:
+    store_lex "$subtype", $P1056
+.annotate 'line', 267
+    get_hll_global $P1066, ["PAST"], "Regex"
+    find_lex $P1067, "$subtype"
+    find_lex $P1068, "$/"
+    $P1069 = $P1066."new"("charclass" :named("pasttype"), $P1067 :named("subtype"), $P1068 :named("node"))
+    store_lex "$past", $P1069
+.annotate 'line', 268
+    find_lex $P1070, "$/"
+    find_lex $P1071, "$past"
+    $P1072 = $P1070."!make"($P1071)
+.annotate 'line', 265
+    .return ($P1072)
+  control_1051:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1073, exception, "payload"
+    .return ($P1073)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("66_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1072
-.annotate "line", 271
-    new $P1071, 'ExceptionHandler'
-    set_addr $P1071, control_1070
-    $P1071."handle_types"(57)
-    push_eh $P1071
-    .lex "self", self
-    .lex "$/", param_1072
-.annotate "line", 272
-    new $P1073, "Undef"
-    .lex "$past", $P1073
-    get_hll_global $P1074, ["PAST"], "Regex"
-.annotate "line", 273
-    find_lex $P1075, "$/"
-    unless_null $P1075, vivify_265
-    $P1075 = root_new ['parrot';'Hash']
+.sub "backslash:sym<b>"  :subid("66_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1077
+.annotate 'line', 271
+    new $P1076, 'ExceptionHandler'
+    set_addr $P1076, control_1075
+    $P1076."handle_types"(57)
+    push_eh $P1076
+    .lex "self", self
+    .lex "$/", param_1077
+.annotate 'line', 272
+    new $P1078, "Undef"
+    .lex "$past", $P1078
+    get_hll_global $P1079, ["PAST"], "Regex"
+.annotate 'line', 273
+    find_lex $P1080, "$/"
+    unless_null $P1080, vivify_265
+    $P1080 = root_new ['parrot';'Hash']
   vivify_265:
-    set $P1076, $P1075["sym"]
-    unless_null $P1076, vivify_266
-    new $P1076, "Undef"
+    set $P1081, $P1080["sym"]
+    unless_null $P1081, vivify_266
+    new $P1081, "Undef"
   vivify_266:
-    set $S1077, $P1076
-    iseq $I1078, $S1077, "B"
-    find_lex $P1079, "$/"
-    $P1080 = $P1074."new"("\b", "enumcharlist" :named("pasttype"), $I1078 :named("negate"), $P1079 :named("node"))
-.annotate "line", 272
-    store_lex "$past", $P1080
-.annotate "line", 274
-    find_lex $P1081, "$/"
-    find_lex $P1082, "$past"
-    $P1083 = $P1081."!make"($P1082)
-.annotate "line", 271
-    .return ($P1083)
-  control_1070:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1084, exception, "payload"
-    .return ($P1084)
+    set $S1082, $P1081
+    iseq $I1083, $S1082, "B"
+    find_lex $P1084, "$/"
+    $P1085 = $P1079."new"("\b", "enumcharlist" :named("pasttype"), $I1083 :named("negate"), $P1084 :named("node"))
+.annotate 'line', 272
+    store_lex "$past", $P1085
+.annotate 'line', 274
+    find_lex $P1086, "$/"
+    find_lex $P1087, "$past"
+    $P1088 = $P1086."!make"($P1087)
+.annotate 'line', 271
+    .return ($P1088)
+  control_1075:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1089, exception, "payload"
+    .return ($P1089)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("67_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1088
-.annotate "line", 277
-    new $P1087, 'ExceptionHandler'
-    set_addr $P1087, control_1086
-    $P1087."handle_types"(57)
-    push_eh $P1087
-    .lex "self", self
-    .lex "$/", param_1088
-.annotate "line", 278
-    new $P1089, "Undef"
-    .lex "$past", $P1089
-    get_hll_global $P1090, ["PAST"], "Regex"
-.annotate "line", 279
-    find_lex $P1091, "$/"
-    unless_null $P1091, vivify_267
-    $P1091 = root_new ['parrot';'Hash']
+.sub "backslash:sym<e>"  :subid("67_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1093
+.annotate 'line', 277
+    new $P1092, 'ExceptionHandler'
+    set_addr $P1092, control_1091
+    $P1092."handle_types"(57)
+    push_eh $P1092
+    .lex "self", self
+    .lex "$/", param_1093
+.annotate 'line', 278
+    new $P1094, "Undef"
+    .lex "$past", $P1094
+    get_hll_global $P1095, ["PAST"], "Regex"
+.annotate 'line', 279
+    find_lex $P1096, "$/"
+    unless_null $P1096, vivify_267
+    $P1096 = root_new ['parrot';'Hash']
   vivify_267:
-    set $P1092, $P1091["sym"]
-    unless_null $P1092, vivify_268
-    new $P1092, "Undef"
+    set $P1097, $P1096["sym"]
+    unless_null $P1097, vivify_268
+    new $P1097, "Undef"
   vivify_268:
-    set $S1093, $P1092
-    iseq $I1094, $S1093, "E"
-    find_lex $P1095, "$/"
-    $P1096 = $P1090."new"("\e", "enumcharlist" :named("pasttype"), $I1094 :named("negate"), $P1095 :named("node"))
-.annotate "line", 278
-    store_lex "$past", $P1096
-.annotate "line", 280
-    find_lex $P1097, "$/"
-    find_lex $P1098, "$past"
-    $P1099 = $P1097."!make"($P1098)
-.annotate "line", 277
-    .return ($P1099)
-  control_1086:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1100, exception, "payload"
-    .return ($P1100)
+    set $S1098, $P1097
+    iseq $I1099, $S1098, "E"
+    find_lex $P1100, "$/"
+    $P1101 = $P1095."new"("\e", "enumcharlist" :named("pasttype"), $I1099 :named("negate"), $P1100 :named("node"))
+.annotate 'line', 278
+    store_lex "$past", $P1101
+.annotate 'line', 280
+    find_lex $P1102, "$/"
+    find_lex $P1103, "$past"
+    $P1104 = $P1102."!make"($P1103)
+.annotate 'line', 277
+    .return ($P1104)
+  control_1091:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1105, exception, "payload"
+    .return ($P1105)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("68_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1104
-.annotate "line", 283
-    new $P1103, 'ExceptionHandler'
-    set_addr $P1103, control_1102
-    $P1103."handle_types"(57)
-    push_eh $P1103
-    .lex "self", self
-    .lex "$/", param_1104
-.annotate "line", 284
-    new $P1105, "Undef"
-    .lex "$past", $P1105
-    get_hll_global $P1106, ["PAST"], "Regex"
-.annotate "line", 285
-    find_lex $P1107, "$/"
-    unless_null $P1107, vivify_269
-    $P1107 = root_new ['parrot';'Hash']
+.sub "backslash:sym<f>"  :subid("68_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1109
+.annotate 'line', 283
+    new $P1108, 'ExceptionHandler'
+    set_addr $P1108, control_1107
+    $P1108."handle_types"(57)
+    push_eh $P1108
+    .lex "self", self
+    .lex "$/", param_1109
+.annotate 'line', 284
+    new $P1110, "Undef"
+    .lex "$past", $P1110
+    get_hll_global $P1111, ["PAST"], "Regex"
+.annotate 'line', 285
+    find_lex $P1112, "$/"
+    unless_null $P1112, vivify_269
+    $P1112 = root_new ['parrot';'Hash']
   vivify_269:
-    set $P1108, $P1107["sym"]
-    unless_null $P1108, vivify_270
-    new $P1108, "Undef"
+    set $P1113, $P1112["sym"]
+    unless_null $P1113, vivify_270
+    new $P1113, "Undef"
   vivify_270:
-    set $S1109, $P1108
-    iseq $I1110, $S1109, "F"
-    find_lex $P1111, "$/"
-    $P1112 = $P1106."new"("\f", "enumcharlist" :named("pasttype"), $I1110 :named("negate"), $P1111 :named("node"))
-.annotate "line", 284
-    store_lex "$past", $P1112
-.annotate "line", 286
-    find_lex $P1113, "$/"
-    find_lex $P1114, "$past"
-    $P1115 = $P1113."!make"($P1114)
-.annotate "line", 283
-    .return ($P1115)
-  control_1102:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1116, exception, "payload"
-    .return ($P1116)
+    set $S1114, $P1113
+    iseq $I1115, $S1114, "F"
+    find_lex $P1116, "$/"
+    $P1117 = $P1111."new"("\f", "enumcharlist" :named("pasttype"), $I1115 :named("negate"), $P1116 :named("node"))
+.annotate 'line', 284
+    store_lex "$past", $P1117
+.annotate 'line', 286
+    find_lex $P1118, "$/"
+    find_lex $P1119, "$past"
+    $P1120 = $P1118."!make"($P1119)
+.annotate 'line', 283
+    .return ($P1120)
+  control_1107:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1121, exception, "payload"
+    .return ($P1121)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("69_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1120
-.annotate "line", 289
-    new $P1119, 'ExceptionHandler'
-    set_addr $P1119, control_1118
-    $P1119."handle_types"(57)
-    push_eh $P1119
-    .lex "self", self
-    .lex "$/", param_1120
-.annotate "line", 290
-    new $P1121, "Undef"
-    .lex "$past", $P1121
-    get_hll_global $P1122, ["PAST"], "Regex"
-.annotate "line", 291
-    find_lex $P1123, "$/"
-    unless_null $P1123, vivify_271
-    $P1123 = root_new ['parrot';'Hash']
+.sub "backslash:sym<h>"  :subid("69_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1125
+.annotate 'line', 289
+    new $P1124, 'ExceptionHandler'
+    set_addr $P1124, control_1123
+    $P1124."handle_types"(57)
+    push_eh $P1124
+    .lex "self", self
+    .lex "$/", param_1125
+.annotate 'line', 290
+    new $P1126, "Undef"
+    .lex "$past", $P1126
+    get_hll_global $P1127, ["PAST"], "Regex"
+.annotate 'line', 291
+    find_lex $P1128, "$/"
+    unless_null $P1128, vivify_271
+    $P1128 = root_new ['parrot';'Hash']
   vivify_271:
-    set $P1124, $P1123["sym"]
-    unless_null $P1124, vivify_272
-    new $P1124, "Undef"
+    set $P1129, $P1128["sym"]
+    unless_null $P1129, vivify_272
+    new $P1129, "Undef"
   vivify_272:
-    set $S1125, $P1124
-    iseq $I1126, $S1125, "H"
-    find_lex $P1127, "$/"
-    $P1128 = $P1122."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1126 :named("negate"), $P1127 :named("node"))
-.annotate "line", 290
-    store_lex "$past", $P1128
-.annotate "line", 292
-    find_lex $P1129, "$/"
-    find_lex $P1130, "$past"
-    $P1131 = $P1129."!make"($P1130)
-.annotate "line", 289
-    .return ($P1131)
-  control_1118:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1132, exception, "payload"
-    .return ($P1132)
+    set $S1130, $P1129
+    iseq $I1131, $S1130, "H"
+    find_lex $P1132, "$/"
+    $P1133 = $P1127."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1131 :named("negate"), $P1132 :named("node"))
+.annotate 'line', 290
+    store_lex "$past", $P1133
+.annotate 'line', 292
+    find_lex $P1134, "$/"
+    find_lex $P1135, "$past"
+    $P1136 = $P1134."!make"($P1135)
+.annotate 'line', 289
+    .return ($P1136)
+  control_1123:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1137, exception, "payload"
+    .return ($P1137)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("70_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1136
-.annotate "line", 295
-    new $P1135, 'ExceptionHandler'
-    set_addr $P1135, control_1134
-    $P1135."handle_types"(57)
-    push_eh $P1135
-    .lex "self", self
-    .lex "$/", param_1136
-.annotate "line", 296
-    new $P1137, "Undef"
-    .lex "$past", $P1137
-    get_hll_global $P1138, ["PAST"], "Regex"
-.annotate "line", 297
-    find_lex $P1139, "$/"
-    unless_null $P1139, vivify_273
-    $P1139 = root_new ['parrot';'Hash']
+.sub "backslash:sym<r>"  :subid("70_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1141
+.annotate 'line', 295
+    new $P1140, 'ExceptionHandler'
+    set_addr $P1140, control_1139
+    $P1140."handle_types"(57)
+    push_eh $P1140
+    .lex "self", self
+    .lex "$/", param_1141
+.annotate 'line', 296
+    new $P1142, "Undef"
+    .lex "$past", $P1142
+    get_hll_global $P1143, ["PAST"], "Regex"
+.annotate 'line', 297
+    find_lex $P1144, "$/"
+    unless_null $P1144, vivify_273
+    $P1144 = root_new ['parrot';'Hash']
   vivify_273:
-    set $P1140, $P1139["sym"]
-    unless_null $P1140, vivify_274
-    new $P1140, "Undef"
+    set $P1145, $P1144["sym"]
+    unless_null $P1145, vivify_274
+    new $P1145, "Undef"
   vivify_274:
-    set $S1141, $P1140
-    iseq $I1142, $S1141, "R"
-    find_lex $P1143, "$/"
-    $P1144 = $P1138."new"("\r", "enumcharlist" :named("pasttype"), $I1142 :named("negate"), $P1143 :named("node"))
-.annotate "line", 296
-    store_lex "$past", $P1144
-.annotate "line", 298
-    find_lex $P1145, "$/"
-    find_lex $P1146, "$past"
-    $P1147 = $P1145."!make"($P1146)
-.annotate "line", 295
-    .return ($P1147)
-  control_1134:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1148, exception, "payload"
-    .return ($P1148)
+    set $S1146, $P1145
+    iseq $I1147, $S1146, "R"
+    find_lex $P1148, "$/"
+    $P1149 = $P1143."new"("\r", "enumcharlist" :named("pasttype"), $I1147 :named("negate"), $P1148 :named("node"))
+.annotate 'line', 296
+    store_lex "$past", $P1149
+.annotate 'line', 298
+    find_lex $P1150, "$/"
+    find_lex $P1151, "$past"
+    $P1152 = $P1150."!make"($P1151)
+.annotate 'line', 295
+    .return ($P1152)
+  control_1139:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1153, exception, "payload"
+    .return ($P1153)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("71_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1152
-.annotate "line", 301
-    new $P1151, 'ExceptionHandler'
-    set_addr $P1151, control_1150
-    $P1151."handle_types"(57)
-    push_eh $P1151
-    .lex "self", self
-    .lex "$/", param_1152
-.annotate "line", 302
-    new $P1153, "Undef"
-    .lex "$past", $P1153
-    get_hll_global $P1154, ["PAST"], "Regex"
-.annotate "line", 303
-    find_lex $P1155, "$/"
-    unless_null $P1155, vivify_275
-    $P1155 = root_new ['parrot';'Hash']
+.sub "backslash:sym<t>"  :subid("71_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1157
+.annotate 'line', 301
+    new $P1156, 'ExceptionHandler'
+    set_addr $P1156, control_1155
+    $P1156."handle_types"(57)
+    push_eh $P1156
+    .lex "self", self
+    .lex "$/", param_1157
+.annotate 'line', 302
+    new $P1158, "Undef"
+    .lex "$past", $P1158
+    get_hll_global $P1159, ["PAST"], "Regex"
+.annotate 'line', 303
+    find_lex $P1160, "$/"
+    unless_null $P1160, vivify_275
+    $P1160 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P1156, $P1155["sym"]
-    unless_null $P1156, vivify_276
-    new $P1156, "Undef"
+    set $P1161, $P1160["sym"]
+    unless_null $P1161, vivify_276
+    new $P1161, "Undef"
   vivify_276:
-    set $S1157, $P1156
-    iseq $I1158, $S1157, "T"
-    find_lex $P1159, "$/"
-    $P1160 = $P1154."new"("\t", "enumcharlist" :named("pasttype"), $I1158 :named("negate"), $P1159 :named("node"))
-.annotate "line", 302
-    store_lex "$past", $P1160
-.annotate "line", 304
-    find_lex $P1161, "$/"
-    find_lex $P1162, "$past"
-    $P1163 = $P1161."!make"($P1162)
-.annotate "line", 301
-    .return ($P1163)
-  control_1150:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1164, exception, "payload"
-    .return ($P1164)
+    set $S1162, $P1161
+    iseq $I1163, $S1162, "T"
+    find_lex $P1164, "$/"
+    $P1165 = $P1159."new"("\t", "enumcharlist" :named("pasttype"), $I1163 :named("negate"), $P1164 :named("node"))
+.annotate 'line', 302
+    store_lex "$past", $P1165
+.annotate 'line', 304
+    find_lex $P1166, "$/"
+    find_lex $P1167, "$past"
+    $P1168 = $P1166."!make"($P1167)
+.annotate 'line', 301
+    .return ($P1168)
+  control_1155:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1169, exception, "payload"
+    .return ($P1169)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("72_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1168
-.annotate "line", 307
-    new $P1167, 'ExceptionHandler'
-    set_addr $P1167, control_1166
-    $P1167."handle_types"(57)
-    push_eh $P1167
-    .lex "self", self
-    .lex "$/", param_1168
-.annotate "line", 308
-    new $P1169, "Undef"
-    .lex "$past", $P1169
-    get_hll_global $P1170, ["PAST"], "Regex"
-.annotate "line", 310
-    find_lex $P1171, "$/"
-    unless_null $P1171, vivify_277
-    $P1171 = root_new ['parrot';'Hash']
+.sub "backslash:sym<v>"  :subid("72_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1173
+.annotate 'line', 307
+    new $P1172, 'ExceptionHandler'
+    set_addr $P1172, control_1171
+    $P1172."handle_types"(57)
+    push_eh $P1172
+    .lex "self", self
+    .lex "$/", param_1173
+.annotate 'line', 308
+    new $P1174, "Undef"
+    .lex "$past", $P1174
+    get_hll_global $P1175, ["PAST"], "Regex"
+.annotate 'line', 310
+    find_lex $P1176, "$/"
+    unless_null $P1176, vivify_277
+    $P1176 = root_new ['parrot';'Hash']
   vivify_277:
-    set $P1172, $P1171["sym"]
-    unless_null $P1172, vivify_278
-    new $P1172, "Undef"
+    set $P1177, $P1176["sym"]
+    unless_null $P1177, vivify_278
+    new $P1177, "Undef"
   vivify_278:
-    set $S1173, $P1172
-    iseq $I1174, $S1173, "V"
-    find_lex $P1175, "$/"
-    $P1176 = $P1170."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1174 :named("negate"), $P1175 :named("node"))
-.annotate "line", 308
-    store_lex "$past", $P1176
-.annotate "line", 311
-    find_lex $P1177, "$/"
-    find_lex $P1178, "$past"
-    $P1179 = $P1177."!make"($P1178)
-.annotate "line", 307
-    .return ($P1179)
-  control_1166:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1180, exception, "payload"
-    .return ($P1180)
+    set $S1178, $P1177
+    iseq $I1179, $S1178, "V"
+    find_lex $P1180, "$/"
+    $P1181 = $P1175."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1179 :named("negate"), $P1180 :named("node"))
+.annotate 'line', 308
+    store_lex "$past", $P1181
+.annotate 'line', 311
+    find_lex $P1182, "$/"
+    find_lex $P1183, "$past"
+    $P1184 = $P1182."!make"($P1183)
+.annotate 'line', 307
+    .return ($P1184)
+  control_1171:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1185, exception, "payload"
+    .return ($P1185)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("73_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1184
-.annotate "line", 314
-    new $P1183, 'ExceptionHandler'
-    set_addr $P1183, control_1182
-    $P1183."handle_types"(57)
-    push_eh $P1183
-    .lex "self", self
-    .lex "$/", param_1184
-.annotate "line", 315
-    new $P1185, "Undef"
-    .lex "$octlit", $P1185
-.annotate "line", 316
-    get_hll_global $P1186, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1189, "$/"
-    unless_null $P1189, vivify_279
-    $P1189 = root_new ['parrot';'Hash']
-  vivify_279:
-    set $P1190, $P1189["octint"]
-    unless_null $P1190, vivify_280
+.sub "backslash:sym<o>"  :subid("73_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1189
+.annotate 'line', 314
+    new $P1188, 'ExceptionHandler'
+    set_addr $P1188, control_1187
+    $P1188."handle_types"(57)
+    push_eh $P1188
+    .lex "self", self
+    .lex "$/", param_1189
+.annotate 'line', 315
     new $P1190, "Undef"
+    .lex "$octlit", $P1190
+.annotate 'line', 316
+    get_hll_global $P1191, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1194, "$/"
+    unless_null $P1194, vivify_279
+    $P1194 = root_new ['parrot';'Hash']
+  vivify_279:
+    set $P1195, $P1194["octint"]
+    unless_null $P1195, vivify_280
+    new $P1195, "Undef"
   vivify_280:
-    unless $P1190, unless_1188
-    set $P1187, $P1190
-    goto unless_1188_end
-  unless_1188:
-    find_lex $P1191, "$/"
-    unless_null $P1191, vivify_281
-    $P1191 = root_new ['parrot';'Hash']
+    unless $P1195, unless_1193
+    set $P1192, $P1195
+    goto unless_1193_end
+  unless_1193:
+    find_lex $P1196, "$/"
+    unless_null $P1196, vivify_281
+    $P1196 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P1192, $P1191["octints"]
-    unless_null $P1192, vivify_282
-    $P1192 = root_new ['parrot';'Hash']
+    set $P1197, $P1196["octints"]
+    unless_null $P1197, vivify_282
+    $P1197 = root_new ['parrot';'Hash']
   vivify_282:
-    set $P1193, $P1192["octint"]
-    unless_null $P1193, vivify_283
-    new $P1193, "Undef"
+    set $P1198, $P1197["octint"]
+    unless_null $P1198, vivify_283
+    new $P1198, "Undef"
   vivify_283:
-    set $P1187, $P1193
-  unless_1188_end:
-    $P1194 = $P1186($P1187)
-    store_lex "$octlit", $P1194
-.annotate "line", 317
-    find_lex $P1195, "$/"
-    find_lex $P1198, "$/"
-    unless_null $P1198, vivify_284
-    $P1198 = root_new ['parrot';'Hash']
+    set $P1192, $P1198
+  unless_1193_end:
+    $P1199 = $P1191($P1192)
+    store_lex "$octlit", $P1199
+.annotate 'line', 317
+    find_lex $P1200, "$/"
+    find_lex $P1203, "$/"
+    unless_null $P1203, vivify_284
+    $P1203 = root_new ['parrot';'Hash']
   vivify_284:
-    set $P1199, $P1198["sym"]
-    unless_null $P1199, vivify_285
-    new $P1199, "Undef"
+    set $P1204, $P1203["sym"]
+    unless_null $P1204, vivify_285
+    new $P1204, "Undef"
   vivify_285:
-    set $S1200, $P1199
-    iseq $I1201, $S1200, "O"
-    if $I1201, if_1197
-.annotate "line", 320
-    get_hll_global $P1206, ["PAST"], "Regex"
-    find_lex $P1207, "$octlit"
-    find_lex $P1208, "$/"
-    $P1209 = $P1206."new"($P1207, "literal" :named("pasttype"), $P1208 :named("node"))
-    set $P1196, $P1209
-.annotate "line", 317
-    goto if_1197_end
-  if_1197:
-.annotate "line", 318
-    get_hll_global $P1202, ["PAST"], "Regex"
-    find_lex $P1203, "$octlit"
-    find_lex $P1204, "$/"
-    $P1205 = $P1202."new"($P1203, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1204 :named("node"))
-    set $P1196, $P1205
-  if_1197_end:
-    $P1210 = $P1195."!make"($P1196)
-.annotate "line", 314
-    .return ($P1210)
-  control_1182:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1211, exception, "payload"
-    .return ($P1211)
+    set $S1205, $P1204
+    iseq $I1206, $S1205, "O"
+    if $I1206, if_1202
+.annotate 'line', 320
+    get_hll_global $P1211, ["PAST"], "Regex"
+    find_lex $P1212, "$octlit"
+    find_lex $P1213, "$/"
+    $P1214 = $P1211."new"($P1212, "literal" :named("pasttype"), $P1213 :named("node"))
+    set $P1201, $P1214
+.annotate 'line', 317
+    goto if_1202_end
+  if_1202:
+.annotate 'line', 318
+    get_hll_global $P1207, ["PAST"], "Regex"
+    find_lex $P1208, "$octlit"
+    find_lex $P1209, "$/"
+    $P1210 = $P1207."new"($P1208, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1209 :named("node"))
+    set $P1201, $P1210
+  if_1202_end:
+    $P1215 = $P1200."!make"($P1201)
+.annotate 'line', 314
+    .return ($P1215)
+  control_1187:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1216, exception, "payload"
+    .return ($P1216)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("74_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1215
-.annotate "line", 323
-    new $P1214, 'ExceptionHandler'
-    set_addr $P1214, control_1213
-    $P1214."handle_types"(57)
-    push_eh $P1214
-    .lex "self", self
-    .lex "$/", param_1215
-.annotate "line", 324
-    new $P1216, "Undef"
-    .lex "$hexlit", $P1216
-.annotate "line", 325
-    get_hll_global $P1217, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1220, "$/"
-    unless_null $P1220, vivify_286
-    $P1220 = root_new ['parrot';'Hash']
-  vivify_286:
-    set $P1221, $P1220["hexint"]
-    unless_null $P1221, vivify_287
+.sub "backslash:sym<x>"  :subid("74_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1220
+.annotate 'line', 323
+    new $P1219, 'ExceptionHandler'
+    set_addr $P1219, control_1218
+    $P1219."handle_types"(57)
+    push_eh $P1219
+    .lex "self", self
+    .lex "$/", param_1220
+.annotate 'line', 324
     new $P1221, "Undef"
+    .lex "$hexlit", $P1221
+.annotate 'line', 325
+    get_hll_global $P1222, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1225, "$/"
+    unless_null $P1225, vivify_286
+    $P1225 = root_new ['parrot';'Hash']
+  vivify_286:
+    set $P1226, $P1225["hexint"]
+    unless_null $P1226, vivify_287
+    new $P1226, "Undef"
   vivify_287:
-    unless $P1221, unless_1219
-    set $P1218, $P1221
-    goto unless_1219_end
-  unless_1219:
-    find_lex $P1222, "$/"
-    unless_null $P1222, vivify_288
-    $P1222 = root_new ['parrot';'Hash']
+    unless $P1226, unless_1224
+    set $P1223, $P1226
+    goto unless_1224_end
+  unless_1224:
+    find_lex $P1227, "$/"
+    unless_null $P1227, vivify_288
+    $P1227 = root_new ['parrot';'Hash']
   vivify_288:
-    set $P1223, $P1222["hexints"]
-    unless_null $P1223, vivify_289
-    $P1223 = root_new ['parrot';'Hash']
+    set $P1228, $P1227["hexints"]
+    unless_null $P1228, vivify_289
+    $P1228 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P1224, $P1223["hexint"]
-    unless_null $P1224, vivify_290
-    new $P1224, "Undef"
+    set $P1229, $P1228["hexint"]
+    unless_null $P1229, vivify_290
+    new $P1229, "Undef"
   vivify_290:
-    set $P1218, $P1224
-  unless_1219_end:
-    $P1225 = $P1217($P1218)
-    store_lex "$hexlit", $P1225
-.annotate "line", 326
-    find_lex $P1226, "$/"
-    find_lex $P1229, "$/"
-    unless_null $P1229, vivify_291
-    $P1229 = root_new ['parrot';'Hash']
+    set $P1223, $P1229
+  unless_1224_end:
+    $P1230 = $P1222($P1223)
+    store_lex "$hexlit", $P1230
+.annotate 'line', 326
+    find_lex $P1231, "$/"
+    find_lex $P1234, "$/"
+    unless_null $P1234, vivify_291
+    $P1234 = root_new ['parrot';'Hash']
   vivify_291:
-    set $P1230, $P1229["sym"]
-    unless_null $P1230, vivify_292
-    new $P1230, "Undef"
+    set $P1235, $P1234["sym"]
+    unless_null $P1235, vivify_292
+    new $P1235, "Undef"
   vivify_292:
-    set $S1231, $P1230
-    iseq $I1232, $S1231, "X"
-    if $I1232, if_1228
-.annotate "line", 329
-    get_hll_global $P1237, ["PAST"], "Regex"
-    find_lex $P1238, "$hexlit"
-    find_lex $P1239, "$/"
-    $P1240 = $P1237."new"($P1238, "literal" :named("pasttype"), $P1239 :named("node"))
-    set $P1227, $P1240
-.annotate "line", 326
-    goto if_1228_end
-  if_1228:
-.annotate "line", 327
-    get_hll_global $P1233, ["PAST"], "Regex"
-    find_lex $P1234, "$hexlit"
-    find_lex $P1235, "$/"
-    $P1236 = $P1233."new"($P1234, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1235 :named("node"))
-    set $P1227, $P1236
-  if_1228_end:
-    $P1241 = $P1226."!make"($P1227)
-.annotate "line", 323
-    .return ($P1241)
-  control_1213:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1242, exception, "payload"
-    .return ($P1242)
+    set $S1236, $P1235
+    iseq $I1237, $S1236, "X"
+    if $I1237, if_1233
+.annotate 'line', 329
+    get_hll_global $P1242, ["PAST"], "Regex"
+    find_lex $P1243, "$hexlit"
+    find_lex $P1244, "$/"
+    $P1245 = $P1242."new"($P1243, "literal" :named("pasttype"), $P1244 :named("node"))
+    set $P1232, $P1245
+.annotate 'line', 326
+    goto if_1233_end
+  if_1233:
+.annotate 'line', 327
+    get_hll_global $P1238, ["PAST"], "Regex"
+    find_lex $P1239, "$hexlit"
+    find_lex $P1240, "$/"
+    $P1241 = $P1238."new"($P1239, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1240 :named("node"))
+    set $P1232, $P1241
+  if_1233_end:
+    $P1246 = $P1231."!make"($P1232)
+.annotate 'line', 323
+    .return ($P1246)
+  control_1218:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1247, exception, "payload"
+    .return ($P1247)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>"  :subid("75_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1246
-.annotate "line", 332
-    new $P1245, 'ExceptionHandler'
-    set_addr $P1245, control_1244
-    $P1245."handle_types"(57)
-    push_eh $P1245
-    .lex "self", self
-    .lex "$/", param_1246
-.annotate "line", 333
-    find_lex $P1247, "$/"
-    get_hll_global $P1248, ["PAST"], "Regex"
-    find_lex $P1249, "$/"
-    unless_null $P1249, vivify_293
-    $P1249 = root_new ['parrot';'Hash']
+.sub "backslash:sym<c>"  :subid("75_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1251
+.annotate 'line', 332
+    new $P1250, 'ExceptionHandler'
+    set_addr $P1250, control_1249
+    $P1250."handle_types"(57)
+    push_eh $P1250
+    .lex "self", self
+    .lex "$/", param_1251
+.annotate 'line', 333
+    find_lex $P1252, "$/"
+    get_hll_global $P1253, ["PAST"], "Regex"
+    find_lex $P1254, "$/"
+    unless_null $P1254, vivify_293
+    $P1254 = root_new ['parrot';'Hash']
   vivify_293:
-    set $P1250, $P1249["charspec"]
-    unless_null $P1250, vivify_294
-    new $P1250, "Undef"
+    set $P1255, $P1254["charspec"]
+    unless_null $P1255, vivify_294
+    new $P1255, "Undef"
   vivify_294:
-    $P1251 = $P1250."ast"()
-    find_lex $P1252, "$/"
-    $P1253 = $P1248."new"($P1251, "literal" :named("pasttype"), $P1252 :named("node"))
-    $P1254 = $P1247."!make"($P1253)
-.annotate "line", 332
-    .return ($P1254)
-  control_1244:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1255, exception, "payload"
-    .return ($P1255)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("76_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1259
-.annotate "line", 336
-    new $P1258, 'ExceptionHandler'
-    set_addr $P1258, control_1257
-    $P1258."handle_types"(57)
-    push_eh $P1258
-    .lex "self", self
-    .lex "$/", param_1259
-.annotate "line", 337
-    new $P1260, "Undef"
-    .lex "$past", $P1260
-    get_hll_global $P1261, ["PAST"], "Regex"
-    find_lex $P1262, "$/"
-    set $S1263, $P1262
-    find_lex $P1264, "$/"
-    $P1265 = $P1261."new"($S1263, "literal" :named("pasttype"), $P1264 :named("node"))
-    store_lex "$past", $P1265
-.annotate "line", 338
-    find_lex $P1266, "$/"
-    find_lex $P1267, "$past"
-    $P1268 = $P1266."!make"($P1267)
-.annotate "line", 336
-    .return ($P1268)
-  control_1257:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1269, exception, "payload"
-    .return ($P1269)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("77_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1273
-.annotate "line", 342
-    new $P1272, 'ExceptionHandler'
-    set_addr $P1272, control_1271
-    $P1272."handle_types"(57)
-    push_eh $P1272
-    .lex "self", self
-    .lex "$/", param_1273
-.annotate "line", 343
-    new $P1274, "Undef"
-    .lex "$past", $P1274
-.annotate "line", 342
-    find_lex $P1275, "$past"
-.annotate "line", 344
-    find_lex $P1277, "$/"
-    unless_null $P1277, vivify_295
-    $P1277 = root_new ['parrot';'Hash']
+    $P1256 = $P1255."ast"()
+    find_lex $P1257, "$/"
+    $P1258 = $P1253."new"($P1256, "literal" :named("pasttype"), $P1257 :named("node"))
+    $P1259 = $P1252."!make"($P1258)
+.annotate 'line', 332
+    .return ($P1259)
+  control_1249:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1260, exception, "payload"
+    .return ($P1260)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "backslash:sym<misc>"  :subid("76_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1264
+.annotate 'line', 336
+    new $P1263, 'ExceptionHandler'
+    set_addr $P1263, control_1262
+    $P1263."handle_types"(57)
+    push_eh $P1263
+    .lex "self", self
+    .lex "$/", param_1264
+.annotate 'line', 337
+    new $P1265, "Undef"
+    .lex "$past", $P1265
+    get_hll_global $P1266, ["PAST"], "Regex"
+    find_lex $P1267, "$/"
+    set $S1268, $P1267
+    find_lex $P1269, "$/"
+    $P1270 = $P1266."new"($S1268, "literal" :named("pasttype"), $P1269 :named("node"))
+    store_lex "$past", $P1270
+.annotate 'line', 338
+    find_lex $P1271, "$/"
+    find_lex $P1272, "$past"
+    $P1273 = $P1271."!make"($P1272)
+.annotate 'line', 336
+    .return ($P1273)
+  control_1262:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1274, exception, "payload"
+    .return ($P1274)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "assertion:sym<?>"  :subid("77_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1278
+.annotate 'line', 342
+    new $P1277, 'ExceptionHandler'
+    set_addr $P1277, control_1276
+    $P1277."handle_types"(57)
+    push_eh $P1277
+    .lex "self", self
+    .lex "$/", param_1278
+.annotate 'line', 343
+    new $P1279, "Undef"
+    .lex "$past", $P1279
+.annotate 'line', 342
+    find_lex $P1280, "$past"
+.annotate 'line', 344
+    find_lex $P1282, "$/"
+    unless_null $P1282, vivify_295
+    $P1282 = root_new ['parrot';'Hash']
   vivify_295:
-    set $P1278, $P1277["assertion"]
-    unless_null $P1278, vivify_296
-    new $P1278, "Undef"
+    set $P1283, $P1282["assertion"]
+    unless_null $P1283, vivify_296
+    new $P1283, "Undef"
   vivify_296:
-    if $P1278, if_1276
-.annotate "line", 348
-    new $P1283, "Integer"
-    assign $P1283, 0
-    store_lex "$past", $P1283
-    goto if_1276_end
-  if_1276:
-.annotate "line", 345
-    find_lex $P1279, "$/"
-    unless_null $P1279, vivify_297
-    $P1279 = root_new ['parrot';'Hash']
+    if $P1283, if_1281
+.annotate 'line', 348
+    new $P1288, "Integer"
+    assign $P1288, 0
+    store_lex "$past", $P1288
+    goto if_1281_end
+  if_1281:
+.annotate 'line', 345
+    find_lex $P1284, "$/"
+    unless_null $P1284, vivify_297
+    $P1284 = root_new ['parrot';'Hash']
   vivify_297:
-    set $P1280, $P1279["assertion"]
-    unless_null $P1280, vivify_298
-    new $P1280, "Undef"
+    set $P1285, $P1284["assertion"]
+    unless_null $P1285, vivify_298
+    new $P1285, "Undef"
   vivify_298:
-    $P1281 = $P1280."ast"()
-    store_lex "$past", $P1281
-.annotate "line", 346
-    find_lex $P1282, "$past"
-    $P1282."subtype"("zerowidth")
-  if_1276_end:
-.annotate "line", 349
-    find_lex $P1284, "$/"
-    find_lex $P1285, "$past"
-    $P1286 = $P1284."!make"($P1285)
-.annotate "line", 342
-    .return ($P1286)
-  control_1271:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1287, exception, "payload"
-    .return ($P1287)
+    $P1286 = $P1285."ast"()
+    store_lex "$past", $P1286
+.annotate 'line', 346
+    find_lex $P1287, "$past"
+    $P1287."subtype"("zerowidth")
+  if_1281_end:
+.annotate 'line', 349
+    find_lex $P1289, "$/"
+    find_lex $P1290, "$past"
+    $P1291 = $P1289."!make"($P1290)
+.annotate 'line', 342
+    .return ($P1291)
+  control_1276:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1292, exception, "payload"
+    .return ($P1292)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("78_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1291
-.annotate "line", 352
-    new $P1290, 'ExceptionHandler'
-    set_addr $P1290, control_1289
-    $P1290."handle_types"(57)
-    push_eh $P1290
-    .lex "self", self
-    .lex "$/", param_1291
-.annotate "line", 353
-    new $P1292, "Undef"
-    .lex "$past", $P1292
-.annotate "line", 352
-    find_lex $P1293, "$past"
-.annotate "line", 354
-    find_lex $P1295, "$/"
-    unless_null $P1295, vivify_299
-    $P1295 = root_new ['parrot';'Hash']
+.sub "assertion:sym<!>"  :subid("78_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1296
+.annotate 'line', 352
+    new $P1295, 'ExceptionHandler'
+    set_addr $P1295, control_1294
+    $P1295."handle_types"(57)
+    push_eh $P1295
+    .lex "self", self
+    .lex "$/", param_1296
+.annotate 'line', 353
+    new $P1297, "Undef"
+    .lex "$past", $P1297
+.annotate 'line', 352
+    find_lex $P1298, "$past"
+.annotate 'line', 354
+    find_lex $P1300, "$/"
+    unless_null $P1300, vivify_299
+    $P1300 = root_new ['parrot';'Hash']
   vivify_299:
-    set $P1296, $P1295["assertion"]
-    unless_null $P1296, vivify_300
-    new $P1296, "Undef"
+    set $P1301, $P1300["assertion"]
+    unless_null $P1301, vivify_300
+    new $P1301, "Undef"
   vivify_300:
-    if $P1296, if_1294
-.annotate "line", 360
-    get_hll_global $P1305, ["PAST"], "Regex"
-    find_lex $P1306, "$/"
-    $P1307 = $P1305."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1306 :named("node"))
-    store_lex "$past", $P1307
-.annotate "line", 359
-    goto if_1294_end
-  if_1294:
-.annotate "line", 355
-    find_lex $P1297, "$/"
-    unless_null $P1297, vivify_301
-    $P1297 = root_new ['parrot';'Hash']
+    if $P1301, if_1299
+.annotate 'line', 360
+    get_hll_global $P1310, ["PAST"], "Regex"
+    find_lex $P1311, "$/"
+    $P1312 = $P1310."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1311 :named("node"))
+    store_lex "$past", $P1312
+.annotate 'line', 359
+    goto if_1299_end
+  if_1299:
+.annotate 'line', 355
+    find_lex $P1302, "$/"
+    unless_null $P1302, vivify_301
+    $P1302 = root_new ['parrot';'Hash']
   vivify_301:
-    set $P1298, $P1297["assertion"]
-    unless_null $P1298, vivify_302
-    new $P1298, "Undef"
+    set $P1303, $P1302["assertion"]
+    unless_null $P1303, vivify_302
+    new $P1303, "Undef"
   vivify_302:
-    $P1299 = $P1298."ast"()
-    store_lex "$past", $P1299
-.annotate "line", 356
-    find_lex $P1300, "$past"
-    find_lex $P1301, "$past"
-    $P1302 = $P1301."negate"()
-    isfalse $I1303, $P1302
-    $P1300."negate"($I1303)
-.annotate "line", 357
-    find_lex $P1304, "$past"
-    $P1304."subtype"("zerowidth")
-  if_1294_end:
-.annotate "line", 362
-    find_lex $P1308, "$/"
+    $P1304 = $P1303."ast"()
+    store_lex "$past", $P1304
+.annotate 'line', 356
+    find_lex $P1305, "$past"
+    find_lex $P1306, "$past"
+    $P1307 = $P1306."negate"()
+    isfalse $I1308, $P1307
+    $P1305."negate"($I1308)
+.annotate 'line', 357
     find_lex $P1309, "$past"
-    $P1310 = $P1308."!make"($P1309)
-.annotate "line", 352
-    .return ($P1310)
-  control_1289:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1311, exception, "payload"
-    .return ($P1311)
+    $P1309."subtype"("zerowidth")
+  if_1299_end:
+.annotate 'line', 362
+    find_lex $P1313, "$/"
+    find_lex $P1314, "$past"
+    $P1315 = $P1313."!make"($P1314)
+.annotate 'line', 352
+    .return ($P1315)
+  control_1294:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1316, exception, "payload"
+    .return ($P1316)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("79_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1315
-.annotate "line", 365
-    new $P1314, 'ExceptionHandler'
-    set_addr $P1314, control_1313
-    $P1314."handle_types"(57)
-    push_eh $P1314
-    .lex "self", self
-    .lex "$/", param_1315
-.annotate "line", 366
-    new $P1316, "Undef"
-    .lex "$past", $P1316
-    find_lex $P1317, "$/"
-    unless_null $P1317, vivify_303
-    $P1317 = root_new ['parrot';'Hash']
+.sub "assertion:sym<method>"  :subid("79_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1320
+.annotate 'line', 365
+    new $P1319, 'ExceptionHandler'
+    set_addr $P1319, control_1318
+    $P1319."handle_types"(57)
+    push_eh $P1319
+    .lex "self", self
+    .lex "$/", param_1320
+.annotate 'line', 366
+    new $P1321, "Undef"
+    .lex "$past", $P1321
+    find_lex $P1322, "$/"
+    unless_null $P1322, vivify_303
+    $P1322 = root_new ['parrot';'Hash']
   vivify_303:
-    set $P1318, $P1317["assertion"]
-    unless_null $P1318, vivify_304
-    new $P1318, "Undef"
+    set $P1323, $P1322["assertion"]
+    unless_null $P1323, vivify_304
+    new $P1323, "Undef"
   vivify_304:
-    $P1319 = $P1318."ast"()
-    store_lex "$past", $P1319
-.annotate "line", 367
-    find_lex $P1320, "$past"
-    $P1320."subtype"("method")
-.annotate "line", 368
-    find_lex $P1321, "$past"
-    $P1321."name"("")
-.annotate "line", 369
-    find_lex $P1322, "$/"
-    find_lex $P1323, "$past"
-    $P1324 = $P1322."!make"($P1323)
-.annotate "line", 365
-    .return ($P1324)
-  control_1313:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1325, exception, "payload"
-    .return ($P1325)
+    $P1324 = $P1323."ast"()
+    store_lex "$past", $P1324
+.annotate 'line', 367
+    find_lex $P1325, "$past"
+    $P1325."subtype"("method")
+.annotate 'line', 368
+    find_lex $P1326, "$past"
+    $P1326."name"("")
+.annotate 'line', 369
+    find_lex $P1327, "$/"
+    find_lex $P1328, "$past"
+    $P1329 = $P1327."!make"($P1328)
+.annotate 'line', 365
+    .return ($P1329)
+  control_1318:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1330, exception, "payload"
+    .return ($P1330)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("80_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1329
-.annotate "line", 372
-    .const 'Sub' $P1387 = "82_1272816836.73052" 
-    capture_lex $P1387
-    .const 'Sub' $P1351 = "81_1272816836.73052" 
-    capture_lex $P1351
-    new $P1328, 'ExceptionHandler'
-    set_addr $P1328, control_1327
-    $P1328."handle_types"(57)
-    push_eh $P1328
-    .lex "self", self
-    .lex "$/", param_1329
-.annotate "line", 373
-    new $P1330, "Undef"
-    .lex "$name", $P1330
-.annotate "line", 374
-    new $P1331, "Undef"
-    .lex "$past", $P1331
-.annotate "line", 373
-    find_lex $P1332, "$/"
-    unless_null $P1332, vivify_305
-    $P1332 = root_new ['parrot';'Hash']
+.sub "assertion:sym<name>"  :subid("80_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1334
+.annotate 'line', 372
+    .const 'Sub' $P1392 = "82_1273866373.83564" 
+    capture_lex $P1392
+    .const 'Sub' $P1356 = "81_1273866373.83564" 
+    capture_lex $P1356
+    new $P1333, 'ExceptionHandler'
+    set_addr $P1333, control_1332
+    $P1333."handle_types"(57)
+    push_eh $P1333
+    .lex "self", self
+    .lex "$/", param_1334
+.annotate 'line', 373
+    new $P1335, "Undef"
+    .lex "$name", $P1335
+.annotate 'line', 374
+    new $P1336, "Undef"
+    .lex "$past", $P1336
+.annotate 'line', 373
+    find_lex $P1337, "$/"
+    unless_null $P1337, vivify_305
+    $P1337 = root_new ['parrot';'Hash']
   vivify_305:
-    set $P1333, $P1332["longname"]
-    unless_null $P1333, vivify_306
-    new $P1333, "Undef"
+    set $P1338, $P1337["longname"]
+    unless_null $P1338, vivify_306
+    new $P1338, "Undef"
   vivify_306:
-    set $S1334, $P1333
-    new $P1335, 'String'
-    set $P1335, $S1334
-    store_lex "$name", $P1335
-    find_lex $P1336, "$past"
-.annotate "line", 375
-    find_lex $P1338, "$/"
-    unless_null $P1338, vivify_307
-    $P1338 = root_new ['parrot';'Hash']
+    set $S1339, $P1338
+    new $P1340, 'String'
+    set $P1340, $S1339
+    store_lex "$name", $P1340
+    find_lex $P1341, "$past"
+.annotate 'line', 375
+    find_lex $P1343, "$/"
+    unless_null $P1343, vivify_307
+    $P1343 = root_new ['parrot';'Hash']
   vivify_307:
-    set $P1339, $P1338["assertion"]
-    unless_null $P1339, vivify_308
-    new $P1339, "Undef"
+    set $P1344, $P1343["assertion"]
+    unless_null $P1344, vivify_308
+    new $P1344, "Undef"
   vivify_308:
-    if $P1339, if_1337
-.annotate "line", 379
-    find_lex $P1347, "$name"
-    set $S1348, $P1347
-    iseq $I1349, $S1348, "sym"
-    if $I1349, if_1346
-.annotate "line", 395
-    get_hll_global $P1361, ["PAST"], "Regex"
-    find_lex $P1362, "$name"
-    find_lex $P1363, "$name"
-    find_lex $P1364, "$/"
-    $P1365 = $P1361."new"($P1362, $P1363 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1364 :named("node"))
-    store_lex "$past", $P1365
-.annotate "line", 397
-    find_lex $P1367, "$/"
-    unless_null $P1367, vivify_309
-    $P1367 = root_new ['parrot';'Hash']
+    if $P1344, if_1342
+.annotate 'line', 379
+    find_lex $P1352, "$name"
+    set $S1353, $P1352
+    iseq $I1354, $S1353, "sym"
+    if $I1354, if_1351
+.annotate 'line', 395
+    get_hll_global $P1366, ["PAST"], "Regex"
+    find_lex $P1367, "$name"
+    find_lex $P1368, "$name"
+    find_lex $P1369, "$/"
+    $P1370 = $P1366."new"($P1367, $P1368 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1369 :named("node"))
+    store_lex "$past", $P1370
+.annotate 'line', 397
+    find_lex $P1372, "$/"
+    unless_null $P1372, vivify_309
+    $P1372 = root_new ['parrot';'Hash']
   vivify_309:
-    set $P1368, $P1367["nibbler"]
-    unless_null $P1368, vivify_310
-    new $P1368, "Undef"
+    set $P1373, $P1372["nibbler"]
+    unless_null $P1373, vivify_310
+    new $P1373, "Undef"
   vivify_310:
-    if $P1368, if_1366
-.annotate "line", 400
-    find_lex $P1376, "$/"
-    unless_null $P1376, vivify_311
-    $P1376 = root_new ['parrot';'Hash']
+    if $P1373, if_1371
+.annotate 'line', 400
+    find_lex $P1381, "$/"
+    unless_null $P1381, vivify_311
+    $P1381 = root_new ['parrot';'Hash']
   vivify_311:
-    set $P1377, $P1376["arglist"]
-    unless_null $P1377, vivify_312
-    new $P1377, "Undef"
+    set $P1382, $P1381["arglist"]
+    unless_null $P1382, vivify_312
+    new $P1382, "Undef"
   vivify_312:
-    unless $P1377, if_1375_end
-.annotate "line", 401
-    find_lex $P1379, "$/"
-    unless_null $P1379, vivify_313
-    $P1379 = root_new ['parrot';'Hash']
+    unless $P1382, if_1380_end
+.annotate 'line', 401
+    find_lex $P1384, "$/"
+    unless_null $P1384, vivify_313
+    $P1384 = root_new ['parrot';'Hash']
   vivify_313:
-    set $P1380, $P1379["arglist"]
-    unless_null $P1380, vivify_314
-    $P1380 = root_new ['parrot';'ResizablePMCArray']
+    set $P1385, $P1384["arglist"]
+    unless_null $P1385, vivify_314
+    $P1385 = root_new ['parrot';'ResizablePMCArray']
   vivify_314:
-    set $P1381, $P1380[0]
-    unless_null $P1381, vivify_315
-    new $P1381, "Undef"
+    set $P1386, $P1385[0]
+    unless_null $P1386, vivify_315
+    new $P1386, "Undef"
   vivify_315:
-    $P1382 = $P1381."ast"()
-    $P1383 = $P1382."list"()
-    defined $I1384, $P1383
-    unless $I1384, for_undef_316
-    iter $P1378, $P1383
-    new $P1393, 'ExceptionHandler'
-    set_addr $P1393, loop1392_handler
-    $P1393."handle_types"(64, 66, 65)
-    push_eh $P1393
-  loop1392_test:
-    unless $P1378, loop1392_done
-    shift $P1385, $P1378
-  loop1392_redo:
-    .const 'Sub' $P1387 = "82_1272816836.73052" 
-    capture_lex $P1387
-    $P1387($P1385)
-  loop1392_next:
-    goto loop1392_test
-  loop1392_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1394, exception, 'type'
-    eq $P1394, 64, loop1392_next
-    eq $P1394, 66, loop1392_redo
-  loop1392_done:
+    $P1387 = $P1386."ast"()
+    $P1388 = $P1387."list"()
+    defined $I1389, $P1388
+    unless $I1389, for_undef_316
+    iter $P1383, $P1388
+    new $P1398, 'ExceptionHandler'
+    set_addr $P1398, loop1397_handler
+    $P1398."handle_types"(64, 66, 65)
+    push_eh $P1398
+  loop1397_test:
+    unless $P1383, loop1397_done
+    shift $P1390, $P1383
+  loop1397_redo:
+    .const 'Sub' $P1392 = "82_1273866373.83564" 
+    capture_lex $P1392
+    $P1392($P1390)
+  loop1397_next:
+    goto loop1397_test
+  loop1397_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1399, exception, 'type'
+    eq $P1399, 64, loop1397_next
+    eq $P1399, 66, loop1397_redo
+  loop1397_done:
     pop_eh 
   for_undef_316:
-  if_1375_end:
-.annotate "line", 400
-    goto if_1366_end
-  if_1366:
-.annotate "line", 398
-    find_lex $P1369, "$past"
-    find_lex $P1370, "$/"
-    unless_null $P1370, vivify_317
-    $P1370 = root_new ['parrot';'Hash']
+  if_1380_end:
+.annotate 'line', 400
+    goto if_1371_end
+  if_1371:
+.annotate 'line', 398
+    find_lex $P1374, "$past"
+    find_lex $P1375, "$/"
+    unless_null $P1375, vivify_317
+    $P1375 = root_new ['parrot';'Hash']
   vivify_317:
-    set $P1371, $P1370["nibbler"]
-    unless_null $P1371, vivify_318
-    $P1371 = root_new ['parrot';'ResizablePMCArray']
+    set $P1376, $P1375["nibbler"]
+    unless_null $P1376, vivify_318
+    $P1376 = root_new ['parrot';'ResizablePMCArray']
   vivify_318:
-    set $P1372, $P1371[0]
-    unless_null $P1372, vivify_319
-    new $P1372, "Undef"
+    set $P1377, $P1376[0]
+    unless_null $P1377, vivify_319
+    new $P1377, "Undef"
   vivify_319:
-    $P1373 = $P1372."ast"()
-    $P1374 = "buildsub"($P1373)
-    $P1369."push"($P1374)
-  if_1366_end:
-.annotate "line", 394
-    goto if_1346_end
-  if_1346:
-.annotate "line", 379
-    .const 'Sub' $P1351 = "81_1272816836.73052" 
-    capture_lex $P1351
-    $P1351()
-  if_1346_end:
-    goto if_1337_end
-  if_1337:
-.annotate "line", 376
-    find_lex $P1340, "$/"
-    unless_null $P1340, vivify_320
-    $P1340 = root_new ['parrot';'Hash']
+    $P1378 = $P1377."ast"()
+    $P1379 = "buildsub"($P1378)
+    $P1374."push"($P1379)
+  if_1371_end:
+.annotate 'line', 394
+    goto if_1351_end
+  if_1351:
+.annotate 'line', 379
+    .const 'Sub' $P1356 = "81_1273866373.83564" 
+    capture_lex $P1356
+    $P1356()
+  if_1351_end:
+    goto if_1342_end
+  if_1342:
+.annotate 'line', 376
+    find_lex $P1345, "$/"
+    unless_null $P1345, vivify_320
+    $P1345 = root_new ['parrot';'Hash']
   vivify_320:
-    set $P1341, $P1340["assertion"]
-    unless_null $P1341, vivify_321
-    $P1341 = root_new ['parrot';'ResizablePMCArray']
+    set $P1346, $P1345["assertion"]
+    unless_null $P1346, vivify_321
+    $P1346 = root_new ['parrot';'ResizablePMCArray']
   vivify_321:
-    set $P1342, $P1341[0]
-    unless_null $P1342, vivify_322
-    new $P1342, "Undef"
+    set $P1347, $P1346[0]
+    unless_null $P1347, vivify_322
+    new $P1347, "Undef"
   vivify_322:
-    $P1343 = $P1342."ast"()
-    store_lex "$past", $P1343
-.annotate "line", 377
-    find_lex $P1344, "$past"
-    find_lex $P1345, "$name"
-    "subrule_alias"($P1344, $P1345)
-  if_1337_end:
-.annotate "line", 404
-    find_lex $P1395, "$/"
-    find_lex $P1396, "$past"
-    $P1397 = $P1395."!make"($P1396)
-.annotate "line", 372
-    .return ($P1397)
-  control_1327:
+    $P1348 = $P1347."ast"()
+    store_lex "$past", $P1348
+.annotate 'line', 377
+    find_lex $P1349, "$past"
+    find_lex $P1350, "$name"
+    "subrule_alias"($P1349, $P1350)
+  if_1342_end:
+.annotate 'line', 404
+    find_lex $P1400, "$/"
+    find_lex $P1401, "$past"
+    $P1402 = $P1400."!make"($P1401)
+.annotate 'line', 372
+    .return ($P1402)
+  control_1332:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1398, exception, "payload"
-    .return ($P1398)
+    getattribute $P1403, exception, "payload"
+    .return ($P1403)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1386"  :anon :subid("82_1272816836.73052") :outer("80_1272816836.73052")
-    .param pmc param_1388
-.annotate "line", 401
-    .lex "$_", param_1388
-    find_lex $P1389, "$past"
-    find_lex $P1390, "$_"
-    $P1391 = $P1389."push"($P1390)
-    .return ($P1391)
+.sub "_block1391"  :anon :subid("82_1273866373.83564") :outer("80_1273866373.83564")
+    .param pmc param_1393
+.annotate 'line', 401
+    .lex "$_", param_1393
+    find_lex $P1394, "$past"
+    find_lex $P1395, "$_"
+    $P1396 = $P1394."push"($P1395)
+    .return ($P1396)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1350"  :anon :subid("81_1272816836.73052") :outer("80_1272816836.73052")
-.annotate "line", 380
-    new $P1352, "Undef"
-    .lex "$regexsym", $P1352
+.sub "_block1355"  :anon :subid("81_1273866373.83564") :outer("80_1273866373.83564")
+.annotate 'line', 380
+    new $P1357, "Undef"
+    .lex "$regexsym", $P1357
 
             $P0 = get_global '$REGEXNAME'
             $S0 = $P0
@@ -11286,388 +11286,388 @@
             add $I0, 5
             $S0 = substr $S0, $I0
             $S0 = chopn $S0, 1
-            $P1353 = box $S0
+            $P1358 = box $S0
         
-    store_lex "$regexsym", $P1353
-.annotate "line", 389
-    get_hll_global $P1354, ["PAST"], "Regex"
-.annotate "line", 390
-    get_hll_global $P1355, ["PAST"], "Regex"
-    find_lex $P1356, "$regexsym"
-    $P1357 = $P1355."new"($P1356, "literal" :named("pasttype"))
-    find_lex $P1358, "$name"
-    find_lex $P1359, "$/"
-    $P1360 = $P1354."new"($P1357, $P1358 :named("name"), "subcapture" :named("pasttype"), $P1359 :named("node"))
-.annotate "line", 389
-    store_lex "$past", $P1360
-.annotate "line", 379
-    .return ($P1360)
+    store_lex "$regexsym", $P1358
+.annotate 'line', 389
+    get_hll_global $P1359, ["PAST"], "Regex"
+.annotate 'line', 390
+    get_hll_global $P1360, ["PAST"], "Regex"
+    find_lex $P1361, "$regexsym"
+    $P1362 = $P1360."new"($P1361, "literal" :named("pasttype"))
+    find_lex $P1363, "$name"
+    find_lex $P1364, "$/"
+    $P1365 = $P1359."new"($P1362, $P1363 :named("name"), "subcapture" :named("pasttype"), $P1364 :named("node"))
+.annotate 'line', 389
+    store_lex "$past", $P1365
+.annotate 'line', 379
+    .return ($P1365)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("83_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1402
-.annotate "line", 407
-    .const 'Sub' $P1437 = "84_1272816836.73052" 
-    capture_lex $P1437
-    new $P1401, 'ExceptionHandler'
-    set_addr $P1401, control_1400
-    $P1401."handle_types"(57)
-    push_eh $P1401
-    .lex "self", self
-    .lex "$/", param_1402
-.annotate "line", 408
-    new $P1403, "Undef"
-    .lex "$clist", $P1403
-.annotate "line", 409
-    new $P1404, "Undef"
-    .lex "$past", $P1404
-.annotate "line", 418
-    new $P1405, "Undef"
-    .lex "$i", $P1405
-.annotate "line", 419
-    new $P1406, "Undef"
-    .lex "$n", $P1406
-.annotate "line", 408
-    find_lex $P1407, "$/"
-    unless_null $P1407, vivify_323
-    $P1407 = root_new ['parrot';'Hash']
-  vivify_323:
-    set $P1408, $P1407["cclass_elem"]
-    unless_null $P1408, vivify_324
+.sub "assertion:sym<[>"  :subid("83_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1407
+.annotate 'line', 407
+    .const 'Sub' $P1442 = "84_1273866373.83564" 
+    capture_lex $P1442
+    new $P1406, 'ExceptionHandler'
+    set_addr $P1406, control_1405
+    $P1406."handle_types"(57)
+    push_eh $P1406
+    .lex "self", self
+    .lex "$/", param_1407
+.annotate 'line', 408
     new $P1408, "Undef"
+    .lex "$clist", $P1408
+.annotate 'line', 409
+    new $P1409, "Undef"
+    .lex "$past", $P1409
+.annotate 'line', 418
+    new $P1410, "Undef"
+    .lex "$i", $P1410
+.annotate 'line', 419
+    new $P1411, "Undef"
+    .lex "$n", $P1411
+.annotate 'line', 408
+    find_lex $P1412, "$/"
+    unless_null $P1412, vivify_323
+    $P1412 = root_new ['parrot';'Hash']
+  vivify_323:
+    set $P1413, $P1412["cclass_elem"]
+    unless_null $P1413, vivify_324
+    new $P1413, "Undef"
   vivify_324:
-    store_lex "$clist", $P1408
-.annotate "line", 409
-    find_lex $P1409, "$clist"
-    unless_null $P1409, vivify_325
-    $P1409 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$clist", $P1413
+.annotate 'line', 409
+    find_lex $P1414, "$clist"
+    unless_null $P1414, vivify_325
+    $P1414 = root_new ['parrot';'ResizablePMCArray']
   vivify_325:
-    set $P1410, $P1409[0]
-    unless_null $P1410, vivify_326
-    new $P1410, "Undef"
+    set $P1415, $P1414[0]
+    unless_null $P1415, vivify_326
+    new $P1415, "Undef"
   vivify_326:
-    $P1411 = $P1410."ast"()
-    store_lex "$past", $P1411
-.annotate "line", 410
-    find_lex $P1415, "$past"
-    $P1416 = $P1415."negate"()
-    if $P1416, if_1414
-    set $P1413, $P1416
-    goto if_1414_end
-  if_1414:
-    find_lex $P1417, "$past"
-    $S1418 = $P1417."pasttype"()
-    iseq $I1419, $S1418, "subrule"
-    new $P1413, 'Integer'
-    set $P1413, $I1419
-  if_1414_end:
-    unless $P1413, if_1412_end
-.annotate "line", 411
+    $P1416 = $P1415."ast"()
+    store_lex "$past", $P1416
+.annotate 'line', 410
     find_lex $P1420, "$past"
-    $P1420."subtype"("zerowidth")
-.annotate "line", 412
-    get_hll_global $P1421, ["PAST"], "Regex"
+    $P1421 = $P1420."negate"()
+    if $P1421, if_1419
+    set $P1418, $P1421
+    goto if_1419_end
+  if_1419:
     find_lex $P1422, "$past"
-.annotate "line", 414
-    get_hll_global $P1423, ["PAST"], "Regex"
-    $P1424 = $P1423."new"("charclass" :named("pasttype"), "." :named("subtype"))
-    find_lex $P1425, "$/"
-    $P1426 = $P1421."new"($P1422, $P1424, $P1425 :named("node"))
-.annotate "line", 412
-    store_lex "$past", $P1426
-  if_1412_end:
-.annotate "line", 418
-    new $P1427, "Integer"
-    assign $P1427, 1
-    store_lex "$i", $P1427
-.annotate "line", 419
-    find_lex $P1428, "$clist"
-    set $N1429, $P1428
-    new $P1430, 'Float'
-    set $P1430, $N1429
-    store_lex "$n", $P1430
-.annotate "line", 420
-    new $P1461, 'ExceptionHandler'
-    set_addr $P1461, loop1460_handler
-    $P1461."handle_types"(64, 66, 65)
-    push_eh $P1461
-  loop1460_test:
-    find_lex $P1431, "$i"
-    set $N1432, $P1431
-    find_lex $P1433, "$n"
+    $S1423 = $P1422."pasttype"()
+    iseq $I1424, $S1423, "subrule"
+    new $P1418, 'Integer'
+    set $P1418, $I1424
+  if_1419_end:
+    unless $P1418, if_1417_end
+.annotate 'line', 411
+    find_lex $P1425, "$past"
+    $P1425."subtype"("zerowidth")
+.annotate 'line', 412
+    get_hll_global $P1426, ["PAST"], "Regex"
+    find_lex $P1427, "$past"
+.annotate 'line', 414
+    get_hll_global $P1428, ["PAST"], "Regex"
+    $P1429 = $P1428."new"("charclass" :named("pasttype"), "." :named("subtype"))
+    find_lex $P1430, "$/"
+    $P1431 = $P1426."new"($P1427, $P1429, $P1430 :named("node"))
+.annotate 'line', 412
+    store_lex "$past", $P1431
+  if_1417_end:
+.annotate 'line', 418
+    new $P1432, "Integer"
+    assign $P1432, 1
+    store_lex "$i", $P1432
+.annotate 'line', 419
+    find_lex $P1433, "$clist"
     set $N1434, $P1433
-    islt $I1435, $N1432, $N1434
-    unless $I1435, loop1460_done
-  loop1460_redo:
-    .const 'Sub' $P1437 = "84_1272816836.73052" 
-    capture_lex $P1437
-    $P1437()
-  loop1460_next:
-    goto loop1460_test
-  loop1460_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1462, exception, 'type'
-    eq $P1462, 64, loop1460_next
-    eq $P1462, 66, loop1460_redo
-  loop1460_done:
+    new $P1435, 'Float'
+    set $P1435, $N1434
+    store_lex "$n", $P1435
+.annotate 'line', 420
+    new $P1466, 'ExceptionHandler'
+    set_addr $P1466, loop1465_handler
+    $P1466."handle_types"(64, 66, 65)
+    push_eh $P1466
+  loop1465_test:
+    find_lex $P1436, "$i"
+    set $N1437, $P1436
+    find_lex $P1438, "$n"
+    set $N1439, $P1438
+    islt $I1440, $N1437, $N1439
+    unless $I1440, loop1465_done
+  loop1465_redo:
+    .const 'Sub' $P1442 = "84_1273866373.83564" 
+    capture_lex $P1442
+    $P1442()
+  loop1465_next:
+    goto loop1465_test
+  loop1465_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1467, exception, 'type'
+    eq $P1467, 64, loop1465_next
+    eq $P1467, 66, loop1465_redo
+  loop1465_done:
     pop_eh 
-.annotate "line", 431
-    find_lex $P1463, "$/"
-    find_lex $P1464, "$past"
-    $P1465 = $P1463."!make"($P1464)
-.annotate "line", 407
-    .return ($P1465)
-  control_1400:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1466, exception, "payload"
-    .return ($P1466)
+.annotate 'line', 431
+    find_lex $P1468, "$/"
+    find_lex $P1469, "$past"
+    $P1470 = $P1468."!make"($P1469)
+.annotate 'line', 407
+    .return ($P1470)
+  control_1405:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1471, exception, "payload"
+    .return ($P1471)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1436"  :anon :subid("84_1272816836.73052") :outer("83_1272816836.73052")
-.annotate "line", 421
-    new $P1438, "Undef"
-    .lex "$ast", $P1438
-    find_lex $P1439, "$i"
-    set $I1440, $P1439
-    find_lex $P1441, "$clist"
-    unless_null $P1441, vivify_327
-    $P1441 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block1441"  :anon :subid("84_1273866373.83564") :outer("83_1273866373.83564")
+.annotate 'line', 421
+    new $P1443, "Undef"
+    .lex "$ast", $P1443
+    find_lex $P1444, "$i"
+    set $I1445, $P1444
+    find_lex $P1446, "$clist"
+    unless_null $P1446, vivify_327
+    $P1446 = root_new ['parrot';'ResizablePMCArray']
   vivify_327:
-    set $P1442, $P1441[$I1440]
-    unless_null $P1442, vivify_328
-    new $P1442, "Undef"
+    set $P1447, $P1446[$I1445]
+    unless_null $P1447, vivify_328
+    new $P1447, "Undef"
   vivify_328:
-    $P1443 = $P1442."ast"()
-    store_lex "$ast", $P1443
-.annotate "line", 422
-    find_lex $P1445, "$ast"
-    $P1446 = $P1445."negate"()
-    if $P1446, if_1444
-.annotate "line", 427
+    $P1448 = $P1447."ast"()
+    store_lex "$ast", $P1448
+.annotate 'line', 422
+    find_lex $P1450, "$ast"
+    $P1451 = $P1450."negate"()
+    if $P1451, if_1449
+.annotate 'line', 427
+    get_hll_global $P1458, ["PAST"], "Regex"
+    find_lex $P1459, "$past"
+    find_lex $P1460, "$ast"
+    find_lex $P1461, "$/"
+    $P1462 = $P1458."new"($P1459, $P1460, "alt" :named("pasttype"), $P1461 :named("node"))
+    store_lex "$past", $P1462
+.annotate 'line', 426
+    goto if_1449_end
+  if_1449:
+.annotate 'line', 423
+    find_lex $P1452, "$ast"
+    $P1452."subtype"("zerowidth")
+.annotate 'line', 424
     get_hll_global $P1453, ["PAST"], "Regex"
-    find_lex $P1454, "$past"
-    find_lex $P1455, "$ast"
+    find_lex $P1454, "$ast"
+    find_lex $P1455, "$past"
     find_lex $P1456, "$/"
-    $P1457 = $P1453."new"($P1454, $P1455, "alt" :named("pasttype"), $P1456 :named("node"))
+    $P1457 = $P1453."new"($P1454, $P1455, "concat" :named("pasttype"), $P1456 :named("node"))
     store_lex "$past", $P1457
-.annotate "line", 426
-    goto if_1444_end
-  if_1444:
-.annotate "line", 423
-    find_lex $P1447, "$ast"
-    $P1447."subtype"("zerowidth")
-.annotate "line", 424
-    get_hll_global $P1448, ["PAST"], "Regex"
-    find_lex $P1449, "$ast"
-    find_lex $P1450, "$past"
-    find_lex $P1451, "$/"
-    $P1452 = $P1448."new"($P1449, $P1450, "concat" :named("pasttype"), $P1451 :named("node"))
-    store_lex "$past", $P1452
-  if_1444_end:
-.annotate "line", 429
-    find_lex $P1458, "$i"
-    add $P1459, $P1458, 1
-    store_lex "$i", $P1459
-.annotate "line", 420
-    .return ($P1459)
+  if_1449_end:
+.annotate 'line', 429
+    find_lex $P1463, "$i"
+    add $P1464, $P1463, 1
+    store_lex "$i", $P1464
+.annotate 'line', 420
+    .return ($P1464)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("85_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1470
-.annotate "line", 434
-    .const 'Sub' $P1495 = "87_1272816836.73052" 
-    capture_lex $P1495
-    .const 'Sub' $P1479 = "86_1272816836.73052" 
-    capture_lex $P1479
-    new $P1469, 'ExceptionHandler'
-    set_addr $P1469, control_1468
-    $P1469."handle_types"(57)
-    push_eh $P1469
-    .lex "self", self
-    .lex "$/", param_1470
-.annotate "line", 435
-    new $P1471, "Undef"
-    .lex "$str", $P1471
-.annotate "line", 436
-    new $P1472, "Undef"
-    .lex "$past", $P1472
-.annotate "line", 435
-    new $P1473, "String"
-    assign $P1473, ""
-    store_lex "$str", $P1473
-    find_lex $P1474, "$past"
-.annotate "line", 437
-    find_lex $P1476, "$/"
-    unless_null $P1476, vivify_329
-    $P1476 = root_new ['parrot';'Hash']
-  vivify_329:
-    set $P1477, $P1476["name"]
-    unless_null $P1477, vivify_330
+.sub "cclass_elem"  :subid("85_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1475
+.annotate 'line', 434
+    .const 'Sub' $P1500 = "87_1273866373.83564" 
+    capture_lex $P1500
+    .const 'Sub' $P1484 = "86_1273866373.83564" 
+    capture_lex $P1484
+    new $P1474, 'ExceptionHandler'
+    set_addr $P1474, control_1473
+    $P1474."handle_types"(57)
+    push_eh $P1474
+    .lex "self", self
+    .lex "$/", param_1475
+.annotate 'line', 435
+    new $P1476, "Undef"
+    .lex "$str", $P1476
+.annotate 'line', 436
     new $P1477, "Undef"
+    .lex "$past", $P1477
+.annotate 'line', 435
+    new $P1478, "String"
+    assign $P1478, ""
+    store_lex "$str", $P1478
+    find_lex $P1479, "$past"
+.annotate 'line', 437
+    find_lex $P1481, "$/"
+    unless_null $P1481, vivify_329
+    $P1481 = root_new ['parrot';'Hash']
+  vivify_329:
+    set $P1482, $P1481["name"]
+    unless_null $P1482, vivify_330
+    new $P1482, "Undef"
   vivify_330:
-    if $P1477, if_1475
-.annotate "line", 441
-    find_lex $P1490, "$/"
-    unless_null $P1490, vivify_331
-    $P1490 = root_new ['parrot';'Hash']
+    if $P1482, if_1480
+.annotate 'line', 441
+    find_lex $P1495, "$/"
+    unless_null $P1495, vivify_331
+    $P1495 = root_new ['parrot';'Hash']
   vivify_331:
-    set $P1491, $P1490["charspec"]
-    unless_null $P1491, vivify_332
-    new $P1491, "Undef"
+    set $P1496, $P1495["charspec"]
+    unless_null $P1496, vivify_332
+    new $P1496, "Undef"
   vivify_332:
-    defined $I1492, $P1491
-    unless $I1492, for_undef_333
-    iter $P1489, $P1491
-    new $P1521, 'ExceptionHandler'
-    set_addr $P1521, loop1520_handler
-    $P1521."handle_types"(64, 66, 65)
-    push_eh $P1521
-  loop1520_test:
-    unless $P1489, loop1520_done
-    shift $P1493, $P1489
-  loop1520_redo:
-    .const 'Sub' $P1495 = "87_1272816836.73052" 
-    capture_lex $P1495
-    $P1495($P1493)
-  loop1520_next:
-    goto loop1520_test
-  loop1520_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1522, exception, 'type'
-    eq $P1522, 64, loop1520_next
-    eq $P1522, 66, loop1520_redo
-  loop1520_done:
+    defined $I1497, $P1496
+    unless $I1497, for_undef_333
+    iter $P1494, $P1496
+    new $P1526, 'ExceptionHandler'
+    set_addr $P1526, loop1525_handler
+    $P1526."handle_types"(64, 66, 65)
+    push_eh $P1526
+  loop1525_test:
+    unless $P1494, loop1525_done
+    shift $P1498, $P1494
+  loop1525_redo:
+    .const 'Sub' $P1500 = "87_1273866373.83564" 
+    capture_lex $P1500
+    $P1500($P1498)
+  loop1525_next:
+    goto loop1525_test
+  loop1525_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1527, exception, 'type'
+    eq $P1527, 64, loop1525_next
+    eq $P1527, 66, loop1525_redo
+  loop1525_done:
     pop_eh 
   for_undef_333:
-.annotate "line", 466
-    get_hll_global $P1523, ["PAST"], "Regex"
-    find_lex $P1524, "$str"
-    find_lex $P1525, "$/"
-    $P1526 = $P1523."new"($P1524, "enumcharlist" :named("pasttype"), $P1525 :named("node"))
-    store_lex "$past", $P1526
-.annotate "line", 440
-    goto if_1475_end
-  if_1475:
-.annotate "line", 437
-    .const 'Sub' $P1479 = "86_1272816836.73052" 
-    capture_lex $P1479
-    $P1479()
-  if_1475_end:
-.annotate "line", 468
-    find_lex $P1527, "$past"
-    find_lex $P1528, "$/"
-    unless_null $P1528, vivify_345
-    $P1528 = root_new ['parrot';'Hash']
+.annotate 'line', 466
+    get_hll_global $P1528, ["PAST"], "Regex"
+    find_lex $P1529, "$str"
+    find_lex $P1530, "$/"
+    $P1531 = $P1528."new"($P1529, "enumcharlist" :named("pasttype"), $P1530 :named("node"))
+    store_lex "$past", $P1531
+.annotate 'line', 440
+    goto if_1480_end
+  if_1480:
+.annotate 'line', 437
+    .const 'Sub' $P1484 = "86_1273866373.83564" 
+    capture_lex $P1484
+    $P1484()
+  if_1480_end:
+.annotate 'line', 468
+    find_lex $P1532, "$past"
+    find_lex $P1533, "$/"
+    unless_null $P1533, vivify_345
+    $P1533 = root_new ['parrot';'Hash']
   vivify_345:
-    set $P1529, $P1528["sign"]
-    unless_null $P1529, vivify_346
-    new $P1529, "Undef"
+    set $P1534, $P1533["sign"]
+    unless_null $P1534, vivify_346
+    new $P1534, "Undef"
   vivify_346:
-    set $S1530, $P1529
-    iseq $I1531, $S1530, "-"
-    $P1527."negate"($I1531)
-.annotate "line", 469
-    find_lex $P1532, "$/"
-    find_lex $P1533, "$past"
-    $P1534 = $P1532."!make"($P1533)
-.annotate "line", 434
-    .return ($P1534)
-  control_1468:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1535, exception, "payload"
-    .return ($P1535)
+    set $S1535, $P1534
+    iseq $I1536, $S1535, "-"
+    $P1532."negate"($I1536)
+.annotate 'line', 469
+    find_lex $P1537, "$/"
+    find_lex $P1538, "$past"
+    $P1539 = $P1537."!make"($P1538)
+.annotate 'line', 434
+    .return ($P1539)
+  control_1473:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1540, exception, "payload"
+    .return ($P1540)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1494"  :anon :subid("87_1272816836.73052") :outer("85_1272816836.73052")
-    .param pmc param_1496
-.annotate "line", 441
-    .const 'Sub' $P1502 = "88_1272816836.73052" 
-    capture_lex $P1502
-    .lex "$_", param_1496
-.annotate "line", 442
-    find_lex $P1499, "$_"
-    unless_null $P1499, vivify_334
-    $P1499 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block1499"  :anon :subid("87_1273866373.83564") :outer("85_1273866373.83564")
+    .param pmc param_1501
+.annotate 'line', 441
+    .const 'Sub' $P1507 = "88_1273866373.83564" 
+    capture_lex $P1507
+    .lex "$_", param_1501
+.annotate 'line', 442
+    find_lex $P1504, "$_"
+    unless_null $P1504, vivify_334
+    $P1504 = root_new ['parrot';'ResizablePMCArray']
   vivify_334:
-    set $P1500, $P1499[1]
-    unless_null $P1500, vivify_335
-    new $P1500, "Undef"
+    set $P1505, $P1504[1]
+    unless_null $P1505, vivify_335
+    new $P1505, "Undef"
   vivify_335:
-    if $P1500, if_1498
-.annotate "line", 464
-    find_lex $P1516, "$str"
-    find_lex $P1517, "$_"
-    unless_null $P1517, vivify_336
-    $P1517 = root_new ['parrot';'ResizablePMCArray']
+    if $P1505, if_1503
+.annotate 'line', 464
+    find_lex $P1521, "$str"
+    find_lex $P1522, "$_"
+    unless_null $P1522, vivify_336
+    $P1522 = root_new ['parrot';'ResizablePMCArray']
   vivify_336:
-    set $P1518, $P1517[0]
-    unless_null $P1518, vivify_337
-    new $P1518, "Undef"
+    set $P1523, $P1522[0]
+    unless_null $P1523, vivify_337
+    new $P1523, "Undef"
   vivify_337:
-    concat $P1519, $P1516, $P1518
-    store_lex "$str", $P1519
-    set $P1497, $P1519
-.annotate "line", 442
-    goto if_1498_end
-  if_1498:
-    .const 'Sub' $P1502 = "88_1272816836.73052" 
-    capture_lex $P1502
-    $P1515 = $P1502()
-    set $P1497, $P1515
-  if_1498_end:
-.annotate "line", 441
-    .return ($P1497)
+    concat $P1524, $P1521, $P1523
+    store_lex "$str", $P1524
+    set $P1502, $P1524
+.annotate 'line', 442
+    goto if_1503_end
+  if_1503:
+    .const 'Sub' $P1507 = "88_1273866373.83564" 
+    capture_lex $P1507
+    $P1520 = $P1507()
+    set $P1502, $P1520
+  if_1503_end:
+.annotate 'line', 441
+    .return ($P1502)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1501"  :anon :subid("88_1272816836.73052") :outer("87_1272816836.73052")
-.annotate "line", 443
-    new $P1503, "Undef"
-    .lex "$a", $P1503
-.annotate "line", 444
-    new $P1504, "Undef"
-    .lex "$b", $P1504
-.annotate "line", 445
-    new $P1505, "Undef"
-    .lex "$c", $P1505
-.annotate "line", 443
-    find_lex $P1506, "$_"
-    unless_null $P1506, vivify_338
-    $P1506 = root_new ['parrot';'ResizablePMCArray']
+.sub "_block1506"  :anon :subid("88_1273866373.83564") :outer("87_1273866373.83564")
+.annotate 'line', 443
+    new $P1508, "Undef"
+    .lex "$a", $P1508
+.annotate 'line', 444
+    new $P1509, "Undef"
+    .lex "$b", $P1509
+.annotate 'line', 445
+    new $P1510, "Undef"
+    .lex "$c", $P1510
+.annotate 'line', 443
+    find_lex $P1511, "$_"
+    unless_null $P1511, vivify_338
+    $P1511 = root_new ['parrot';'ResizablePMCArray']
   vivify_338:
-    set $P1507, $P1506[0]
-    unless_null $P1507, vivify_339
-    new $P1507, "Undef"
+    set $P1512, $P1511[0]
+    unless_null $P1512, vivify_339
+    new $P1512, "Undef"
   vivify_339:
-    store_lex "$a", $P1507
-.annotate "line", 444
-    find_lex $P1508, "$_"
-    unless_null $P1508, vivify_340
-    $P1508 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$a", $P1512
+.annotate 'line', 444
+    find_lex $P1513, "$_"
+    unless_null $P1513, vivify_340
+    $P1513 = root_new ['parrot';'ResizablePMCArray']
   vivify_340:
-    set $P1509, $P1508[1]
-    unless_null $P1509, vivify_341
-    $P1509 = root_new ['parrot';'ResizablePMCArray']
+    set $P1514, $P1513[1]
+    unless_null $P1514, vivify_341
+    $P1514 = root_new ['parrot';'ResizablePMCArray']
   vivify_341:
-    set $P1510, $P1509[0]
-    unless_null $P1510, vivify_342
-    new $P1510, "Undef"
+    set $P1515, $P1514[0]
+    unless_null $P1515, vivify_342
+    new $P1515, "Undef"
   vivify_342:
-    store_lex "$b", $P1510
-.annotate "line", 445
+    store_lex "$b", $P1515
+.annotate 'line', 445
 
                              $P0 = find_lex '$a'
                              $S0 = $P0
@@ -11683,142 +11683,142 @@
                              inc $I0
                              goto cclass_loop
                            cclass_done:
-                             $P1511 = box $S2
+                             $P1516 = box $S2
                          
-    store_lex "$c", $P1511
-.annotate "line", 462
-    find_lex $P1512, "$str"
-    find_lex $P1513, "$c"
-    concat $P1514, $P1512, $P1513
-    store_lex "$str", $P1514
-.annotate "line", 442
-    .return ($P1514)
+    store_lex "$c", $P1516
+.annotate 'line', 462
+    find_lex $P1517, "$str"
+    find_lex $P1518, "$c"
+    concat $P1519, $P1517, $P1518
+    store_lex "$str", $P1519
+.annotate 'line', 442
+    .return ($P1519)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1478"  :anon :subid("86_1272816836.73052") :outer("85_1272816836.73052")
-.annotate "line", 438
-    new $P1480, "Undef"
-    .lex "$name", $P1480
-    find_lex $P1481, "$/"
-    unless_null $P1481, vivify_343
-    $P1481 = root_new ['parrot';'Hash']
+.sub "_block1483"  :anon :subid("86_1273866373.83564") :outer("85_1273866373.83564")
+.annotate 'line', 438
+    new $P1485, "Undef"
+    .lex "$name", $P1485
+    find_lex $P1486, "$/"
+    unless_null $P1486, vivify_343
+    $P1486 = root_new ['parrot';'Hash']
   vivify_343:
-    set $P1482, $P1481["name"]
-    unless_null $P1482, vivify_344
-    new $P1482, "Undef"
+    set $P1487, $P1486["name"]
+    unless_null $P1487, vivify_344
+    new $P1487, "Undef"
   vivify_344:
-    set $S1483, $P1482
-    new $P1484, 'String'
-    set $P1484, $S1483
-    store_lex "$name", $P1484
-.annotate "line", 439
-    get_hll_global $P1485, ["PAST"], "Regex"
-    find_lex $P1486, "$name"
-    find_lex $P1487, "$/"
-    $P1488 = $P1485."new"($P1486, "subrule" :named("pasttype"), "method" :named("subtype"), $P1487 :named("node"))
-    store_lex "$past", $P1488
-.annotate "line", 437
-    .return ($P1488)
+    set $S1488, $P1487
+    new $P1489, 'String'
+    set $P1489, $S1488
+    store_lex "$name", $P1489
+.annotate 'line', 439
+    get_hll_global $P1490, ["PAST"], "Regex"
+    find_lex $P1491, "$name"
+    find_lex $P1492, "$/"
+    $P1493 = $P1490."new"($P1491, "subrule" :named("pasttype"), "method" :named("subtype"), $P1492 :named("node"))
+    store_lex "$past", $P1493
+.annotate 'line', 437
+    .return ($P1493)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("89_1272816836.73052") :method :outer("11_1272816836.73052")
-    .param pmc param_1539
-.annotate "line", 472
-    new $P1538, 'ExceptionHandler'
-    set_addr $P1538, control_1537
-    $P1538."handle_types"(57)
-    push_eh $P1538
-    .lex "self", self
-    .lex "$/", param_1539
-.annotate "line", 473
-    $P1540 = root_new ['parrot';'Hash']
-    .lex "%mods", $P1540
-.annotate "line", 474
-    new $P1541, "Undef"
-    .lex "$n", $P1541
-.annotate "line", 473
-    get_global $P1542, "@MODIFIERS"
-    unless_null $P1542, vivify_347
-    $P1542 = root_new ['parrot';'ResizablePMCArray']
-  vivify_347:
-    set $P1543, $P1542[0]
-    unless_null $P1543, vivify_348
-    new $P1543, "Undef"
-  vivify_348:
-    store_lex "%mods", $P1543
-.annotate "line", 474
-    find_lex $P1546, "$/"
-    unless_null $P1546, vivify_349
-    $P1546 = root_new ['parrot';'Hash']
-  vivify_349:
-    set $P1547, $P1546["n"]
-    unless_null $P1547, vivify_350
+.sub "mod_internal"  :subid("89_1273866373.83564") :method :outer("11_1273866373.83564")
+    .param pmc param_1544
+.annotate 'line', 472
+    new $P1543, 'ExceptionHandler'
+    set_addr $P1543, control_1542
+    $P1543."handle_types"(57)
+    push_eh $P1543
+    .lex "self", self
+    .lex "$/", param_1544
+.annotate 'line', 473
+    $P1545 = root_new ['parrot';'Hash']
+    .lex "%mods", $P1545
+.annotate 'line', 474
+    new $P1546, "Undef"
+    .lex "$n", $P1546
+.annotate 'line', 473
+    get_global $P1547, "@MODIFIERS"
+    unless_null $P1547, vivify_347
     $P1547 = root_new ['parrot';'ResizablePMCArray']
-  vivify_350:
+  vivify_347:
     set $P1548, $P1547[0]
-    unless_null $P1548, vivify_351
+    unless_null $P1548, vivify_348
     new $P1548, "Undef"
-  vivify_351:
-    set $S1549, $P1548
-    isgt $I1550, $S1549, ""
-    if $I1550, if_1545
-    new $P1555, "Integer"
-    assign $P1555, 1
-    set $P1544, $P1555
-    goto if_1545_end
-  if_1545:
+  vivify_348:
+    store_lex "%mods", $P1548
+.annotate 'line', 474
     find_lex $P1551, "$/"
-    unless_null $P1551, vivify_352
+    unless_null $P1551, vivify_349
     $P1551 = root_new ['parrot';'Hash']
-  vivify_352:
+  vivify_349:
     set $P1552, $P1551["n"]
-    unless_null $P1552, vivify_353
+    unless_null $P1552, vivify_350
     $P1552 = root_new ['parrot';'ResizablePMCArray']
-  vivify_353:
+  vivify_350:
     set $P1553, $P1552[0]
-    unless_null $P1553, vivify_354
+    unless_null $P1553, vivify_351
     new $P1553, "Undef"
+  vivify_351:
+    set $S1554, $P1553
+    isgt $I1555, $S1554, ""
+    if $I1555, if_1550
+    new $P1560, "Integer"
+    assign $P1560, 1
+    set $P1549, $P1560
+    goto if_1550_end
+  if_1550:
+    find_lex $P1556, "$/"
+    unless_null $P1556, vivify_352
+    $P1556 = root_new ['parrot';'Hash']
+  vivify_352:
+    set $P1557, $P1556["n"]
+    unless_null $P1557, vivify_353
+    $P1557 = root_new ['parrot';'ResizablePMCArray']
+  vivify_353:
+    set $P1558, $P1557[0]
+    unless_null $P1558, vivify_354
+    new $P1558, "Undef"
   vivify_354:
-    set $N1554, $P1553
-    new $P1544, 'Float'
-    set $P1544, $N1554
-  if_1545_end:
-    store_lex "$n", $P1544
-.annotate "line", 475
-    find_lex $P1556, "$n"
-    find_lex $P1557, "$/"
-    unless_null $P1557, vivify_355
-    $P1557 = root_new ['parrot';'Hash']
+    set $N1559, $P1558
+    new $P1549, 'Float'
+    set $P1549, $N1559
+  if_1550_end:
+    store_lex "$n", $P1549
+.annotate 'line', 475
+    find_lex $P1561, "$n"
+    find_lex $P1562, "$/"
+    unless_null $P1562, vivify_355
+    $P1562 = root_new ['parrot';'Hash']
   vivify_355:
-    set $P1558, $P1557["mod_ident"]
-    unless_null $P1558, vivify_356
-    $P1558 = root_new ['parrot';'Hash']
+    set $P1563, $P1562["mod_ident"]
+    unless_null $P1563, vivify_356
+    $P1563 = root_new ['parrot';'Hash']
   vivify_356:
-    set $P1559, $P1558["sym"]
-    unless_null $P1559, vivify_357
-    new $P1559, "Undef"
+    set $P1564, $P1563["sym"]
+    unless_null $P1564, vivify_357
+    new $P1564, "Undef"
   vivify_357:
-    set $S1560, $P1559
-    find_lex $P1561, "%mods"
-    unless_null $P1561, vivify_358
-    $P1561 = root_new ['parrot';'Hash']
-    store_lex "%mods", $P1561
+    set $S1565, $P1564
+    find_lex $P1566, "%mods"
+    unless_null $P1566, vivify_358
+    $P1566 = root_new ['parrot';'Hash']
+    store_lex "%mods", $P1566
   vivify_358:
-    set $P1561[$S1560], $P1556
-.annotate "line", 476
-    find_lex $P1562, "$/"
-    $P1563 = $P1562."!make"(0)
-.annotate "line", 472
-    .return ($P1563)
-  control_1537:
+    set $P1566[$S1565], $P1561
+.annotate 'line', 476
+    find_lex $P1567, "$/"
+    $P1568 = $P1567."!make"(0)
+.annotate 'line', 472
+    .return ($P1568)
+  control_1542:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1564, exception, "payload"
-    .return ($P1564)
+    getattribute $P1569, exception, "payload"
+    .return ($P1569)
 .end
 
 # .include 'src/cheats/p6regex-grammar.pir'

Modified: branches/ops_pct/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/ops_pct/ext/nqp-rx/src/stage0/Regex-s0.pir	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/Regex-s0.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -1921,7 +1921,7 @@
 # vim: expandtab shiftwidth=4 ft=pir:
 
 ### .include 'src/PAST/Regex.pir'
-# $Id$
+# $Id: Regex.pir 41578 2009-09-30 14:45:23Z pmichaud $
 
 =head1 NAME
 

Added: branches/ops_pct/ext/nqp-rx/src/stage0/nqp-setting.pm
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/ext/nqp-rx/src/stage0/nqp-setting.pm	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,233 @@
+
+# This file automatically generated by build/gen_setting.pl.
+
+# From src/setting/ResizablePMCArray.pm
+
+#! nqp
+
+=begin
+
+ResizablePMCArray Methods
+
+These methods extend Parrot's ResizablePMCArray type to include
+more methods typical of Perl 6 lists and arrays.
+
+=end
+
+module ResizablePMCArray {
+
+    =begin item join
+    Return all elements joined by $sep.
+    =end item
+
+    method join ($separator) {
+        pir::join($separator, self);
+    }
+
+    =begin item map
+    Return an array with the results of applying C<&code> to
+    each element of the invocant.  Note that NQP doesn't have
+    a flattening list context, so the number of elements returned
+    is exactly the same as the original.
+    =end item
+
+    method map (&code) {
+        my @mapped;
+        for self { @mapped.push( &code($_) ); }
+        @mapped;
+    }
+
+    =begin item reverse
+    Return a reversed copy of the invocant.
+    =end item
+
+    method reverse () {
+        my @reversed;
+        for self { @reversed.unshift($_); }
+        @reversed;
+    }
+}
+
+
+sub join ($separator, *@values) { @values.join($separator); }
+sub map (&code, *@values) { @values.map(&code); }
+sub list (*@values) { @values; }
+
+# vim: ft=perl6
+# From src/setting/Hash.pm
+
+#! nqp
+
+=begin
+
+Hash methods and functions
+
+These methods extend Parrot's Hash type to include more
+methods typical of Perl 6 hashes.
+
+=end
+
+module Hash {
+
+    =begin item delete
+    Delete C<$key> from the hash.
+    =end item
+
+    method delete($key) {
+        Q:PIR {
+            $P1 = find_lex '$key'
+            delete self[$P1]
+        }
+    }
+
+
+    =begin item exists
+    Returns true if C<$key> exists in the hash.
+    =end item
+
+    method exists($key) {
+        Q:PIR {
+            $P1 = find_lex '$key'
+            $I0 = exists self[$P1]
+            %r  = box $I0
+        }
+    }
+
+
+    =begin item keys
+    Returns a list of all of the keys in the hash.
+    =end item
+
+    method keys () {
+        my @keys;
+        for self { @keys.push($_.key); }
+        @keys;
+    }
+
+
+    =begin item kv
+    Return a list of key, value, key, value, ...
+    =end item
+
+    method kv () {
+        my @kv;
+        for self { @kv.push($_.key); @kv.push($_.value); }
+        @kv;
+    }
+
+
+    =begin item values
+    Returns a list of all of the values in the hash.
+    =end item
+
+    method values () {
+        my @values;
+        for self { @values.push($_.value); }
+        @values;
+    }
+
+}
+
+
+=begin item hash
+Construct a hash from named arguments.
+=end item
+
+sub hash(*%h) { %h }
+
+# vim: ft=perl6
+# From src/setting/Regex.pm
+
+#! nqp
+
+=begin
+
+Regex methods and functions
+
+=end
+
+=begin item match
+Match C<$text> against C<$regex>.  If the C<$global> flag is
+given, then return an array of all non-overlapping matches.
+=end
+
+sub match ($text, $regex, :$global?) {
+    my $match := $text ~~ regex;
+    if $global {
+        my @matches;
+        while $match {
+            @matches.push($match);
+            $match := $match.CURSOR.parse($text, :rule($regex), :c($match.to));
+        }
+        @matches;
+    }
+    else {
+        $match;
+    }
+}
+
+
+=begin item subst
+Substitute an match of C<$regex> in C<$text> with C<$replacement>,
+returning the substituted string.  If C<$global> is given, then
+perform the replacement on all matches of C<$text>.
+=end
+
+sub subst ($text, $regex, $repl, :$global?) {
+    my @matches := $global ?? match($text, $regex, :global)
+                           !! [ $text ~~ $regex ];
+    my $is_code := pir::isa($repl, 'Sub');
+    my $offset  := 0;
+    my @pieces;
+
+    for @matches -> $match {
+        my $repl_string := $is_code ?? $repl($match) !! $repl;
+        @pieces.push( pir::substr($text, $offset, $match.from - $offset))
+            if $match.from > $offset;
+        @pieces.push($replace_string);
+        $offset := $match.to;
+    }
+
+    my $chars := pir::length($text);
+    @pieces.push(pir::substr($text, $offset, $chars))
+        if $chars > $offset;
+
+    @pieces.join('');
+}
+
+# vim: ft=perl6
+# From src/setting/IO.pm
+
+#! nqp
+
+=begin
+
+IO Methods and Functions
+
+=end
+
+=begin item slurp
+Returns the contents of C<$filename> as a single string.
+=end
+
+sub slurp ($filename) {
+    my $handle := pir::open__Pss($file, 'r');
+    my $contents := $handle.readall;
+    pir::close($handle);
+    $contents;
+}
+
+
+=begin item spew
+Write the string value of C<$contents> to C<$filename>.
+=end item
+
+sub spew($filename, $contents) {
+    my $handle := pir::open__Pss($filename, 'w');
+    $handle.print($contents);
+    pir::close($handle);
+}
+
+# vim: ft=perl6
+
+# vim: set ft=perl6 nomodifiable :

Modified: branches/ops_pct/include/parrot/nci.h
==============================================================================
--- branches/ops_pct/include/parrot/nci.h	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/include/parrot/nci.h	Sat May 15 01:32:20 2010	(r46621)
@@ -15,7 +15,7 @@
 
 #include "parrot/parrot.h"
 
-typedef PMC *(*nci_fb_func_t)(PMC *user_data, STRING *signature);
+typedef PMC *(*nci_fb_func_t)(PARROT_INTERP, PMC *user_data, STRING *signature);
 typedef void (*nci_thunk_t)(PARROT_INTERP, PMC *, PMC *);
 
 void Parrot_nci_load_core_thunks(PARROT_INTERP);

Added: branches/ops_pct/lib/Parrot/Docs/Section/PCT_Tutorial.pm
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/lib/Parrot/Docs/Section/PCT_Tutorial.pm	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,81 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+Parrot::Docs::Section::PCT_Tutorial - Tutorial of Parrot Comiler Tools
+
+=head1 SYNOPSIS
+
+    use Parrot::Docs::Section::PCT_Tutorial;
+
+=head1 DESCRIPTION
+
+A tutorial series on building a compiler with the Parrot Compiler Tools.
+
+=head2 Class Methods
+
+=over
+
+=cut
+
+package Parrot::Docs::Section::PCT_Tutorial;
+
+use strict;
+use warnings;
+
+use base qw( Parrot::Docs::Section );
+
+use Parrot::Docs::Item;
+use Parrot::Docs::Group;
+
+=item C<new()>
+
+Returns a new section.
+
+=cut
+
+sub new {
+    my $self = shift;
+
+    return $self->SUPER::new(
+        'PCT Tutorial',
+        'PCT_Tutorial.html',
+        '',
+        $self->new_group(
+            'Tutorial of Parrot Compiler Tools',
+            '',
+            $self->new_item( 'Episode 1: Introduction',
+                'examples/languages/squaak/doc/tutorial_episode_1.pod'),
+            $self->new_item( 'Episode 2: Poking in Compiler Guts',
+                'examples/languages/squaak/doc/tutorial_episode_2.pod'),
+            $self->new_item( 'Episode 3: Squaak Details and First Steps',
+                'examples/languages/squaak/doc/tutorial_episode_3.pod'),
+            $self->new_item( 'Episode 4: PAST Nodes and More Statements',
+                'examples/languages/squaak/doc/tutorial_episode_4.pod'),
+            $self->new_item( 'Episode 5: Variable Declaration and Scope',
+                'examples/languages/squaak/doc/tutorial_episode_5.pod'),
+            $self->new_item( 'Episode 6: Scope and Subroutines',
+                'examples/languages/squaak/doc/tutorial_episode_6.pod'),
+            $self->new_item( 'Episode 7: Operators and Precedence',
+                'examples/languages/squaak/doc/tutorial_episode_7.pod'),
+            $self->new_item( 'Episode 8: Hashtables and Arrays',
+                'examples/languages/squaak/doc/tutorial_episode_8.pod'),
+            $self->new_item( 'Episode 9: Wrap up and Conclusion',
+                'examples/languages/squaak/doc/tutorial_episode_9.pod'),
+        ),
+    );
+}
+
+=back
+
+=cut
+
+1;
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/ops_pct/lib/Parrot/Docs/Section/Parrot.pm
==============================================================================
--- branches/ops_pct/lib/Parrot/Docs/Section/Parrot.pm	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/lib/Parrot/Docs/Section/Parrot.pm	Sat May 15 01:32:20 2010	(r46621)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2006, Parrot Foundation.
+# Copyright (C) 2004-2010, Parrot Foundation.
 # $Id$
 
 =head1 NAME
@@ -43,6 +43,7 @@
 #use Parrot::Docs::Section::Config;
 #use Parrot::Docs::Section::Tests;
 use Parrot::Docs::Section::PDDs;
+use Parrot::Docs::Section::PCT_Tutorial;
 
 =item C<new()>
 
@@ -81,6 +82,7 @@
             'Implementing Languages on Parrot',
             '',
             $self->new_item( 'Parrot Compiler Tools', 'docs/book/pct/ch03_compiler_tools.pod'),
+            Parrot::Docs::Section::PCT_Tutorial->new,
             $self->new_item( 'Parrot Grammar Engine', 'docs/book/pct/ch04_pge.pod'),
             $self->new_item( 'Not Quite Perl', 'docs/book/pct/ch05_nqp.pod'),
             $self->new_item( 'Compiler FAQ', 'docs/compiler_faq.pod'),

Modified: branches/ops_pct/lib/Parrot/IO/File.pm
==============================================================================
--- branches/ops_pct/lib/Parrot/IO/File.pm	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/lib/Parrot/IO/File.pm	Sat May 15 01:32:20 2010	(r46621)
@@ -229,7 +229,7 @@
 
 =item C<is_hidden()>
 
-Returns whether the file is "hidden", i.e. it's name starts with a dot.
+Returns whether the file is "hidden", i.e. its name starts with a dot.
 
 =cut
 

Modified: branches/ops_pct/lib/Parrot/OpTrans/C.pm
==============================================================================
--- branches/ops_pct/lib/Parrot/OpTrans/C.pm	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/lib/Parrot/OpTrans/C.pm	Sat May 15 01:32:20 2010	(r46621)
@@ -42,7 +42,6 @@
 sub defines {
     my $type = __PACKAGE__;
     return <<END;
-#include "pmc/pmc_callcontext.h"
 
 /* defines - $0 -> $type */
 #undef CONST

Added: branches/ops_pct/runtime/parrot/library/HTTP/Message.pir
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/runtime/parrot/library/HTTP/Message.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,385 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+LWP - The World-Wide Web library for Parrot
+
+=head2 DESCRIPTION
+
+Simplified port of LWP (version 5.834)
+see http://search.cpan.org/~gaas/libwww-perl/
+
+=head3 HTTP;Date
+
+=over 4
+
+=cut
+
+.namespace ['HTTP';'Date']
+
+.include 'tm.pasm'
+
+.sub 'time2str'
+    .param int time
+    $P0 = decodetime time
+    $P1 = new 'FixedPMCArray'
+    set $P1, 7
+    $I0 = $P0[.TM_WDAY]
+    $P2 = split ' ', 'Sun Mon Tue Wed Thu Fri Sat'
+    $S0 = $P2[$I0]
+    $P1[0] = $S0
+    $I0 = $P0[.TM_MDAY]
+    $P1[1] = $I0
+    $I0 = $P0[.TM_MON]
+    $P3 = split ' ', 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'
+    dec $I0
+    $S0 = $P3[$I0]
+    $P1[2] = $S0
+    $I0 = $P0[.TM_YEAR]
+    $P1[3] = $I0
+    $I0 = $P0[.TM_HOUR]
+    $P1[4] = $I0
+    $I0 = $P0[.TM_MIN]
+    $P1[5] = $I0
+    $I0 = $P0[.TM_SEC]
+    $P1[6] = $I0
+    $S0 = sprintf "%s, %02d %s %04d %02d:%02d:%02d GMT", $P1
+    .return ($S0)
+.end
+
+=head3 Class HTTP;Headers
+
+=over 4
+
+=cut
+
+.namespace ['HTTP';'Headers']
+
+.sub '' :init :load :anon
+    $P0 = subclass 'Hash', ['HTTP';'Headers']
+.end
+
+=back
+
+=head3 Class HTTP;Message
+
+=over 4
+
+=cut
+.namespace ['HTTP';'Message']
+
+.sub '' :init :load :anon
+    $P0 = newclass ['HTTP';'Message']
+    $P0.'add_attribute'('headers')
+    $P0.'add_attribute'('content')
+.end
+
+.sub 'init' :vtable :method
+    $P0 = new ['HTTP';'Headers']
+    setattribute self, 'headers', $P0
+    $P0 = box ''
+    setattribute self, 'content', $P0
+.end
+
+=item headers
+
+=cut
+
+.sub 'headers' :method
+    $P0 = getattribute self, 'headers'
+    .return ($P0)
+.end
+
+=item push_header
+
+=cut
+
+.sub 'push_header' :method
+    .param string key
+    .param string value
+    $P0 = getattribute self, 'headers'
+    $P0[key] = value
+.end
+
+=item get_header
+
+=cut
+
+.sub 'get_header' :method
+    .param string key
+    $P0 = getattribute self, 'headers'
+    $S0 = $P0[key]
+    .return ($S0)
+.end
+
+=item content
+
+=cut
+
+.sub 'content' :method
+    $P0 = getattribute self, 'content'
+    .return ($P0)
+.end
+
+=back
+
+=head3 Class HTTP;Request
+
+=over 4
+
+=cut
+
+.namespace ['HTTP';'Request']
+
+.sub '' :init :load :anon
+    load_bytecode 'URI.pir'
+    $P0 = subclass ['HTTP';'Message'], ['HTTP';'Request']
+    $P0.'add_attribute'('method')
+    $P0.'add_attribute'('uri')
+.end
+
+=item method
+
+=cut
+
+.sub 'method' :method
+    $P0 = getattribute self, 'method'
+    .return ($P0)
+.end
+
+=item uri
+
+=cut
+
+.sub 'uri' :method
+    $P0 = getattribute self, 'uri'
+    .return ($P0)
+.end
+
+=item GET
+
+=cut
+
+.sub 'GET'
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .tailcall _simple_req('GET', args :flat, kv :flat :named)
+.end
+
+=item HEAD
+
+=cut
+
+.sub 'HEAD'
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .tailcall _simple_req('HEAD', args :flat, kv :flat :named)
+.end
+
+=item PUT
+
+=cut
+
+.sub 'PUT'
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .tailcall _simple_req('PUT', args :flat, kv :flat :named)
+.end
+
+=item DELETE
+
+=cut
+
+.sub 'DELETE'
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .tailcall _simple_req('DELETE', args :flat, kv :flat :named)
+.end
+
+=item POST
+
+=cut
+
+.sub 'POST'
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .tailcall _simple_req('POST', args :flat, kv :flat :named)
+.end
+
+.sub '_simple_req'
+    .param string method
+    .param string url
+    .param pmc contents :slurpy
+    .param pmc headers :slurpy :named
+    .local pmc req
+    req = new ['HTTP';'Request']
+    $P0 = box method
+    setattribute req, 'method', $P0
+    $P0 = get_hll_global ['URI'], 'new_from_string'
+    $P1 = $P0(url)
+    setattribute req, 'uri', $P1
+    $P0 = iter headers
+  L1:
+    unless $P0 goto L2
+    $S0 = shift $P0
+    $S1 = headers[$S0]
+    req.'push_headers'($S0, $S1)
+    goto L1
+  L2:
+    $P0 = iter contents
+    unless $P0 goto L3
+    .local pmc content
+    content = getattribute req, 'content'
+  L4:
+    unless $P0 goto L5
+    $S0 = shift $P0
+    content .= $S0
+    goto L4
+  L5:
+    $S0 = req.'get_header'('Content-Length')
+    unless $S0 == '' goto L3
+    $S0 = content
+    $I0 = length $S0
+    req.'push_header'('Content-Length', $I0)
+  L3:
+    .return (req)
+.end
+
+=back
+
+=head3 Class HTTP;Response
+
+=over 4
+
+=cut
+
+.namespace ['HTTP';'Response']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['HTTP';'Message'], ['HTTP';'Response']
+    $P0.'add_attribute'('code')
+    $P0.'add_attribute'('message')
+    $P0.'add_attribute'('request')
+.end
+
+=item code
+
+=cut
+
+.sub 'code' :method
+    $P0 = getattribute self, 'code'
+    .return ($P0)
+.end
+
+=item message
+
+=cut
+
+.sub 'message' :method
+    $P0 = getattribute self, 'message'
+    .return ($P0)
+.end
+
+=item request
+
+=cut
+
+.sub 'request' :method
+    $P0 = getattribute self, 'request'
+    .return ($P0)
+.end
+
+=item status_line
+
+=cut
+
+.sub 'status_line' :method
+    $P0 = getattribute self, 'code'
+    $S0 = $P0
+    $P0 = getattribute self, 'message'
+    if null $P0 goto L1
+    $S1 = $P0
+    $S0 .= ' '
+    $S0 .= $S1
+  L1:
+    .return ($S0)
+.end
+
+=item is_info
+
+=cut
+
+.sub 'is_info' :method
+    $P0 = getattribute self, 'code'
+    .local int code
+    code = $P0
+    $I0 = 0
+    unless code >= 100 goto L1
+    unless code < 200 goto L1
+    $I0 = 1
+  L1:
+    .return ($I0)
+.end
+
+=item is_success
+
+=cut
+
+.sub 'is_success' :method
+    $P0 = getattribute self, 'code'
+    .local int code
+    code = $P0
+    $I0 = 0
+    unless code >= 200 goto L1
+    unless code < 300 goto L1
+    $I0 = 1
+  L1:
+    .return ($I0)
+.end
+
+=item is_redirect
+
+=cut
+
+.sub 'is_redirect' :method
+    $P0 = getattribute self, 'code'
+    .local int code
+    code = $P0
+    $I0 = 0
+    unless code >= 300 goto L1
+    unless code < 400 goto L1
+    $I0 = 1
+  L1:
+    .return ($I0)
+.end
+
+=item is_error
+
+=cut
+
+.sub 'is_error' :method
+    $P0 = getattribute self, 'code'
+    .local int code
+    code = $P0
+    $I0 = 0
+    unless code >= 400 goto L1
+    unless code < 600 goto L1
+    $I0 = 1
+  L1:
+    .return ($I0)
+.end
+
+=back
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Added: branches/ops_pct/runtime/parrot/library/LWP.pir
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/runtime/parrot/library/LWP.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,469 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+LWP - The World-Wide Web library for Parrot
+
+=head2 DESCRIPTION
+
+Simplified port of LWP (version 5.834)
+see http://search.cpan.org/~gaas/libwww-perl/
+
+=head3 Class LWP;UserAgent
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'UserAgent']
+
+.sub '' :init :load :anon
+    load_bytecode 'HTTP/Message.pir'
+    $P0 = newclass ['LWP';'UserAgent']
+    $P0.'add_attribute'('show_progress')
+    $P0.'add_attribute'('progress_start')
+    $P0.'add_attribute'('progress_lastp')
+    $P0.'add_attribute'('progress_ani')
+    .globalconst int RC_OK = 200
+    .globalconst int RC_BAD_REQUEST = 400
+    .globalconst int RC_NOT_FOUND = 404
+    .globalconst int RC_INTERNAL_SERVER_ERROR = 500
+    .globalconst int RC_NOT_IMPLEMENTED = 501
+.end
+
+.sub 'send_request' :method
+    .param pmc request
+    .local string method
+    method = request.'method'()
+    .local pmc url
+    url = request.'uri'()
+    .local string scheme
+    scheme = url.'scheme'()
+    self.'progress'('begin', request)
+    .local pmc protocol, response
+    $P0 =get_hll_global ['LWP';'Protocol'], 'create'
+    protocol = $P0(scheme, self)
+    unless null protocol goto L1
+    response = _new_response(request, RC_NOT_IMPLEMENTED, 'Not Implemented')
+    goto L2
+  L1:
+    response = protocol.'request'(request)
+    setattribute response, 'request', request
+    $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+    $I0 = time
+    $S0 = $P0($I0)
+    response.'push_header'('Client-Date', $S0)
+  L2:
+    self.'progress'('end', response)
+    .return (response)
+.end
+
+.sub 'simple_request' :method
+    .param pmc request
+    unless null request goto L1
+    die "No request object passed in"
+  L1:
+    $I0 = isa request, ['HTTP';'Request']
+    if $I0 goto L2
+    die "You need a ['HTTP';'Request']"
+  L2:
+    .tailcall self.'send_request'(request)
+.end
+
+.sub 'request' :method
+    .param pmc request
+    .local pmc response
+    response = self.'simple_request'(request)
+    .local int code
+    code = response.'code'()
+    .return (response)
+.end
+
+=item get
+
+=cut
+
+.sub 'get' :method
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .local pmc request
+    $P0 = get_hll_global ['HTTP';'Request'], 'GET'
+    request = $P0(args :flat, kv :flat :named)
+    .tailcall self.'request'(request)
+.end
+
+=item post
+
+=cut
+
+.sub 'post' :method
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .local pmc request
+    $P0 = get_hll_global ['HTTP';'Request'], 'POST'
+    request = $P0(args :flat, kv :flat :named)
+    .tailcall self.'request'(request)
+.end
+
+=item delete
+
+=cut
+
+.sub 'delete' :method
+    .param pmc args :slurpy
+    .param pmc kv :slurpy :named
+    .local pmc request
+    $P0 = get_hll_global ['HTTP';'Request'], 'DELETE'
+    request = $P0(args :flat, kv :flat :named)
+    .tailcall self.'request'(request)
+.end
+
+.sub 'progress' :method
+    .param string status
+    .param pmc msg
+    $P0 = getattribute self, 'show_progress'
+    if null $P0 goto L1
+    unless $P0 goto L1
+    unless status == 'begin' goto L2
+    printerr "** "
+    $P0 = getattribute msg, 'method'
+    printerr $P0
+    printerr " "
+    $P0 = getattribute msg, 'uri'
+    printerr $P0
+    printerr " ==> "
+    $N1 = time
+    $P0 = box $N1
+    setattribute self, 'progress_start', $P0
+    $P0 = box ''
+    setattribute self, 'progress_lastp', $P0
+    $P0 = box 0
+    setattribute self, 'progress_ani', $P0
+    goto L1
+  L2:
+    unless status == 'end' goto L3
+    $P0 = getattribute self, 'progress_start'
+    $N1 = $P0
+    $N2 = time
+    null $P0
+    setattribute self, 'progress_start', $P0
+    setattribute self, 'progress_lastp', $P0
+    setattribute self, 'progress_ani', $P0
+    $S0 = msg.'status_line'()
+    printerr $S0
+    $N0 =$N2 - $N1
+    $I0 = $N0
+    unless $I0 goto L4
+    printerr " ("
+    printerr $I0
+    printerr "s)"
+  L4:
+    printerr "\n"
+    goto L1
+  L3:
+    unless status == 'tick' goto L5
+
+    # work in progress
+
+    goto L1
+  L5:
+
+    # work in progress
+
+  L1:
+.end
+
+=item show_progress
+
+=cut
+
+.sub 'show_progress' :method
+    .param pmc val
+    setattribute self, 'show_progress', val
+.end
+
+=item env_provy
+
+=cut
+
+.sub 'env_proxy' :method
+    $P0 = new 'Env'
+    $P1 = iter $P0
+  L1:
+    unless $P1 goto L2
+    $S0 = shift $P1
+    $S1 = downcase $S0
+
+    # work in progress
+
+    goto L1
+  L2:
+.end
+
+.sub '_new_response'
+    .param pmc request
+    .param pmc code
+    .param pmc message
+    $P0 = new ['HTTP';'Response']
+    setattribute $P0, 'code', code
+    setattribute $P0, 'message', message
+    setattribute $P0, 'request', request
+    $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+    $I0 = time
+    $S0 = $P0($I0)
+    $P0.'push_header'('Client-Date', $S0)
+    $P0.'push_header'('Client-Warning', "Internal response")
+    $P0.'push_header'('Content-Type', 'text/plain')
+    $S0 = code
+    $S0 .= ' '
+    $S1 = message
+    $S0 .= $S1
+    $S0 .= "\n"
+    $P0 = box $S0
+    setattribute $P0, 'content', $P0
+    .return ($P0)
+.end
+
+=back
+
+=head3 Class LWP;Protocol
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'Protocol']
+
+.sub '' :init :load :anon
+    $P0 = newclass ['LWP';'Protocol']
+    $P0.'add_attribute'('scheme')
+    $P0.'add_attribute'('ua')
+.end
+
+=item create
+
+=cut
+
+.sub 'create'
+    .param string scheme
+    .param pmc ua
+    $P1 = new 'Key'
+    set $P1, 'LWP'
+    $P2 = new 'Key'
+    set $P2, 'Protocol'
+    push $P1, $P2
+    $P3 = new 'Key'
+    set $P3, scheme
+    push $P1, $P3
+    $P0 = get_class $P1
+    unless null $P0 goto L1
+    .return ($P0)
+  L1:
+    $P0 = new $P0
+    $P1 = box scheme
+    setattribute $P0, 'scheme', $P1
+    setattribute $P0, 'ua', ua
+    .return ($P0)
+.end
+
+.sub 'request' :method
+    .param pmc args :slurpy
+    die 'LWP::Protocol::request() needs to be overridden in subclasses'
+.end
+
+=back
+
+=head3 Class LWP;Protocol;file
+
+=cut
+
+.namespace ['LWP';'Protocol';'file']
+
+.include 'stat.pasm'
+
+.sub '' :init :load :anon
+    load_bytecode 'osutils.pbc'
+    $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'file']
+.end
+
+.sub 'request' :method
+    .param pmc request
+    .local string method
+    method = request.'method'()
+    $P0 = get_hll_global ['LWP';'Protocol';'file'], method
+    unless null $P0 goto L1
+    $P0 = new ['HTTP';'Response']
+    $P1 = box RC_BAD_REQUEST
+    setattribute $P0, 'code', $P1
+    $S0 = "Library does not allow method " . method
+    $S0 .= " for 'file:' URLs"
+    $P1 = box $S0
+    setattribute $P0, 'message', $P1
+    .return ($P0)
+  L1:
+    .local pmc url
+    url = request.'uri'()
+    .local string scheme
+    scheme = url.'scheme'()
+    if scheme == 'file' goto L2
+    $P0 = new ['HTTP';'Response']
+    $P1 = box RC_INTERNAL_SERVER_ERROR
+    setattribute $P0, 'code', $P1
+    $S0 = "LWP::Protocol::file::request called for '" . scheme
+    $S0 .= "'"
+    $P1 = box $S0
+    setattribute $P0, 'message', $P1
+    .return ($P0)
+  L2:
+    .tailcall $P0(self, request)
+.end
+
+.sub 'HEAD' :method :nsentry
+    .param pmc request
+    .tailcall self.'GET'(request)
+.end
+
+.sub 'GET' :method :nsentry
+    .param pmc request
+    .local pmc response
+    response = new ['HTTP';'Response']
+    .local string method
+    method = request.'method'()
+    .local pmc url
+    url = request.'uri'()
+    .local string path
+    path = url.'path'()
+
+    $I0 = stat path, .STAT_EXISTS
+    if $I0 goto L1
+    $P0 = box RC_NOT_FOUND
+    setattribute response, 'code', $P0
+    $S0 = "File `" . path
+    $S0 .= "' does not exist"
+    $P0 = box $S0
+    setattribute response, 'message', $P0
+    .return (response)
+  L1:
+
+    .local int mtime
+    mtime = stat path, .STAT_MODIFYTIME
+    $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+    $S0 = $P0(mtime)
+    response.'push_header'('Last-Modified', $S0)
+    .local int filesize
+    filesize = stat path, .STAT_FILESIZE
+    response.'push_header'('Content-Length', filesize)
+
+    if method == 'HEAD' goto L2
+    push_eh _handler
+    $S0 = slurp(path)
+    pop_eh
+    $P0 = box $S0
+    setattribute response, 'content', $P0
+  L2:
+    $P0 = box RC_OK
+    setattribute response, 'code', $P0
+    .return (response)
+
+  _handler:
+    .local pmc ex
+    .get_results (ex)
+    $P0 = box RC_INTERNAL_SERVER_ERROR
+    setattribute response, 'code', $P0
+    $S0 = ex
+    $P0 = box $S0
+    setattribute response, 'message', $P0
+    .return (response)
+.end
+
+.sub 'POST' :method :nsentry
+    .param pmc request
+    .local pmc response
+    response = new ['HTTP';'Response']
+    .local pmc url
+    url = request.'uri'()
+    .local string path
+    path = url.'path'()
+    .local string content
+    content = request.'content'()
+
+    push_eh _handler
+    $S0 = spew(path, content)
+    pop_eh
+
+    $P0 = box RC_OK
+    setattribute response, 'code', $P0
+    .return (response)
+
+  _handler:
+    .local pmc ex
+    .get_results (ex)
+    $P0 = box RC_INTERNAL_SERVER_ERROR
+    setattribute response, 'code', $P0
+    $S0 = ex
+    $P0 = box $S0
+    setattribute response, 'message', $P0
+    .return (response)
+.end
+
+.sub 'DELETE' :method :nsentry
+    .param pmc request
+    .local pmc response
+    response = new ['HTTP';'Response']
+    .local pmc url
+    url = request.'uri'()
+    .local string path
+    path = url.'path'()
+
+    $I0 = stat path, .STAT_EXISTS
+    if $I0 goto L1
+    $P0 = box RC_NOT_FOUND
+    setattribute response, 'code', $P0
+    $S0 = "File `" . path
+    $S0 .= "' does not exist"
+    $P0 = box $S0
+    setattribute response, 'message', $P0
+    .return (response)
+  L1:
+
+    push_eh _handler
+    $S0 = unlink(path)
+    pop_eh
+
+    $P0 = box RC_OK
+    setattribute response, 'code', $P0
+    .return (response)
+
+  _handler:
+    .local pmc ex
+    .get_results (ex)
+    $P0 = box RC_INTERNAL_SERVER_ERROR
+    setattribute response, 'code', $P0
+    $S0 = ex
+    $P0 = box $S0
+    setattribute response, 'message', $P0
+    .return (response)
+.end
+
+=head3 Class LWP;Protocol;http
+
+=cut
+
+.namespace ['LWP';'Protocol';'http']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'http']
+.end
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Added: branches/ops_pct/runtime/parrot/library/URI.pir
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/runtime/parrot/library/URI.pir	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,347 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+URI- Uniform Resource Identifiers
+
+=head2 DESCRIPTION
+
+Simplified port of URI (version 1.54)
+see L<http://search.cpan.org/~gaas/URI/>
+
+=head3 Class URI
+
+=over 4
+
+=cut
+
+.include 'cclass.pasm'
+
+.namespace ['URI']
+
+.sub '' :init :load :anon
+    $P0 = subclass 'String', 'URI'
+.end
+
+=item new_from_string
+
+=cut
+
+.sub 'new_from_string'
+    .param string str
+    .local string scheme
+    $I0 = index str, ':'
+    scheme = substr str, 0, $I0
+    $P1 = new 'Key'
+    set $P1, 'URI'
+    $P2 = new 'Key'
+    set $P2, scheme
+    push $P1, $P2
+    $P0 = get_class $P1
+    unless null $P0 goto L1
+    $P0 = get_class ['URI';'_generic']
+  L1:
+    $P0 = new $P0
+    set $P0, str
+    .return ($P0)
+.end
+
+=item scheme
+
+=cut
+
+.sub 'scheme' :method
+    $S0 = self
+    $S1 = ''
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $S1 = substr $S0, 0, $I0
+  L1:
+    .return ($S1)
+.end
+
+=item opaque
+
+=cut
+
+.sub 'opaque' :method
+    $S0 = self
+    $I2 = 0
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $I2 = $I0 + 1
+  L1:
+    $I1 = length $S0
+    $I3 = $I1 - $I2
+    $I0 = index $S0, '#', $I2
+    if $I0 < 0 goto L2
+    $I3 = $I0 - $I2
+  L2:
+    $S1 = substr $S0, $I2, $I3
+    .return ($S1)
+.end
+
+=item fragment
+
+=cut
+
+.sub 'fragment' :method
+    $S0 = self
+    $I0 = index $S0, '#'
+    $S1 = ''
+    if $I0 < 0 goto L1
+    inc $I0
+    $S1 = substr $S0, $I0
+  L1:
+    .return ($S1)
+.end
+
+=back
+
+=head3 Class URI,_generic
+
+=over 4
+
+=cut
+
+.namespace ['URI';'_generic']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['URI'], ['URI';'_generic']
+.end
+
+=item authority
+
+=cut
+
+.sub 'authority' :method
+    $S0 = self
+    $S1 = ''
+    $I1 = 0
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $I1 = $I0 + 1
+  L1:
+    $I0 = index $S0, '//', $I1
+    unless $I0 == $I1 goto L2
+    $I1 += 2
+    $I2 = length $S0
+    $I0 = index $S0, '/', $I1
+    if $I0 < 0 goto L3
+    $I2 = $I0
+  L3:
+    $I0 = index $S0, '?', $I1
+    if $I0 < 0 goto L4
+    unless $I0 < $I2 goto L4
+    $I2 = $I0
+  L4:
+    $I0 = index $S0, '#', $I1
+    if $I0 < 0 goto L5
+    unless $I0 < $I2 goto L5
+    $I2 = $I0
+  L5:
+    $I3 = $I2 - $I1
+    $S1 = substr $S0, $I1, $I3
+  L2:
+    .return ($S1)
+.end
+
+=item path
+
+=cut
+
+.sub 'path' :method
+    $S0 = self
+    $S1 = ''
+    $I1 = 0
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $I1 = $I0 + 1
+  L1:
+    $I0 = index $S0, '//', $I1
+    unless $I0 == $I1 goto L2
+    $I1 += 2
+    $I2 = length $S0
+    $I0 = index $S0, '/', $I1
+    if $I0 < 0 goto L3
+    $I2 = $I0
+  L3:
+    $I0 = index $S0, '?', $I1
+    if $I0 < 0 goto L4
+    unless $I0 < $I2 goto L4
+    $I2 = $I0
+  L4:
+    $I0 = index $S0, '#', $I1
+    if $I0 < 0 goto L5
+    unless $I0 < $I2 goto L5
+    $I2 = $I0
+  L5:
+    $I1 = $I2
+  L2:
+    $I2 = length $S0
+    $I0 = index $S0, '?', $I1
+    if $I0 < 0 goto L6
+    $I2 = $I0
+  L6:
+    $I0 = index $S0, '#', $I1
+    if $I0 < 0 goto L7
+    unless $I0 < $I2 goto L7
+    $I2 = $I0
+  L7:
+    $I3 = $I2 - $I1
+    $S1 = substr $S0, $I1, $I3
+    .return ($S1)
+.end
+
+=item path_query
+
+=cut
+
+.sub 'path_query' :method
+    $S0 = self
+    $S1 = ''
+    $I1 = 0
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $I1 = $I0 + 1
+  L1:
+    $I0 = index $S0, '//', $I1
+    unless $I0 == $I1 goto L2
+    $I1 += 2
+    $I2 = length $S0
+    $I0 = index $S0, '/', $I1
+    if $I0 < 0 goto L3
+    $I2 = $I0
+  L3:
+    $I0 = index $S0, '?', $I1
+    if $I0 < 0 goto L4
+    unless $I0 < $I2 goto L4
+    $I2 = $I0
+  L4:
+    $I0 = index $S0, '#', $I1
+    if $I0 < 0 goto L5
+    unless $I0 < $I2 goto L5
+    $I2 = $I0
+  L5:
+    $I1 = $I2
+  L2:
+    $I2 = length $S0
+    $I0 = index $S0, '#', $I1
+    if $I0 < 0 goto L6
+    $I2 = $I0
+  L6:
+    $I3 = $I2 - $I1
+    $S1 = substr $S0, $I1, $I3
+    .return ($S1)
+.end
+
+=back
+
+=head3 Class URI,file
+
+=over 4
+
+=cut
+
+.namespace ['URI';'file']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['URI';'_generic'], ['URI';'file']
+.end
+
+=item path
+
+=cut
+
+.sub 'path' :method
+    .tailcall self.'path_query'()
+.end
+
+=item host
+
+=cut
+
+.sub 'host' :method
+    .tailcall self.'authority'()
+.end
+
+=back
+
+=head3 Class URI,_server
+
+=over 4
+
+=cut
+
+.namespace ['URI';'_server']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['URI';'_generic'], ['URI';'_server']
+.end
+
+=item host
+
+=cut
+
+.sub 'host' :method
+    $S0 = self.'authority'()
+    $I0 = index $S0, ':'
+    if $I0 < 0 goto L1
+    $S0 = substr $S0, 0, $I0
+  L1:
+    .return ($S0)
+.end
+
+=item port
+
+=cut
+
+.sub 'port' :method
+    $S0 = self.'authority'()
+    .local int pos, lastpos
+    lastpos = length $S0
+    pos = index $S0, ':'
+    if pos < 0 goto L1
+    inc pos
+    $I0 = is_cclass .CCLASS_NUMERIC, $S0, pos
+    unless $I0 goto L1
+    $I0 = find_not_cclass .CCLASS_NUMERIC, $S0, pos, lastpos
+    unless $I0 == lastpos goto L1
+    $S1 = substr $S0, pos
+    .return ($S1)
+  L1:
+    .tailcall self.'default_port'()
+.end
+
+.sub 'default_port' :method
+    .return ('')
+.end
+
+=back
+
+=head3 Class URI;http
+
+=cut
+
+.namespace ['URI';'http']
+
+.sub '' :init :load :anon
+    $P0 = subclass ['URI';'_server'], ['URI';'http']
+.end
+
+.sub 'default_port' :method
+    .return ('80')
+.end
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Modified: branches/ops_pct/src/dynext.c
==============================================================================
--- branches/ops_pct/src/dynext.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/dynext.c	Sat May 15 01:32:20 2010	(r46621)
@@ -276,7 +276,7 @@
     if (lib == NULL) {
         *handle = Parrot_dlopen((char *)NULL, flags);
         if (*handle) {
-            return string_from_literal(interp, "");
+            return CONST_STRING(interp, "");
         }
         err = Parrot_dlerror();
         Parrot_warn(interp, PARROT_WARNINGS_DYNEXT_FLAG,
@@ -660,7 +660,7 @@
         lib_name = parrot_split_path_ext(interp, lib, &wo_ext, &ext);
     }
     else {
-        wo_ext   = string_from_literal(interp, "");
+        wo_ext   = CONST_STRING(interp, "");
         lib_name = NULL;
         ext      = NULL;
     }

Modified: branches/ops_pct/src/dynoplibs/Rules.in
==============================================================================
--- branches/ops_pct/src/dynoplibs/Rules.in	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/dynoplibs/Rules.in	Sat May 15 01:32:20 2010	(r46621)
@@ -7,7 +7,9 @@
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
 #IF(cygwin or hpux):	$(CHMOD) 0775 $@
 
-src/dynoplibs/obscure_ops$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops.c $(PARROT_H_HEADERS)
+src/dynoplibs/obscure_ops$(O): include/pmc/pmc_parrotlibrary.h \
+    src/dynoplibs/obscure_ops.c $(PARROT_H_HEADERS) \
+    include/parrot/runcore_api.h src/dynoplibs/obscure_ops.h
 
 src/dynoplibs/obscure_ops.h: src/dynoplibs/obscure_ops.c
 
@@ -22,7 +24,9 @@
 src/dynoplibs/math_ops.c: src/dynoplibs/math.ops $(OPS2C)
 	$(OPS2C) --dynamic src/dynoplibs/math.ops
 
-src/dynoplibs/math_ops$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops.c $(PARROT_H_HEADERS)
+src/dynoplibs/math_ops$(O): include/pmc/pmc_parrotlibrary.h \
+    src/dynoplibs/math_ops.c $(PARROT_H_HEADERS) \
+    include/parrot/runcore_api.h src/dynoplibs/math_ops.h
 
 src/dynoplibs/math_ops.h: src/dynoplibs/math_ops.c
 

Modified: branches/ops_pct/src/gc/api.c
==============================================================================
--- branches/ops_pct/src/gc/api.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/gc/api.c	Sat May 15 01:32:20 2010	(r46621)
@@ -890,7 +890,7 @@
 
 =item C<void Parrot_block_GC_mark(PARROT_INTERP)>
 
-Blocks the GC from performing it's mark phase.
+Blocks the GC from performing its mark phase.
 
 =item C<void Parrot_unblock_GC_mark(PARROT_INTERP)>
 
@@ -898,7 +898,7 @@
 
 =item C<void Parrot_block_GC_sweep(PARROT_INTERP)>
 
-Blocks the GC from performing it's sweep phase.
+Blocks the GC from performing its sweep phase.
 
 =item C<void Parrot_unblock_GC_sweep(PARROT_INTERP)>
 

Modified: branches/ops_pct/src/interp/inter_misc.c
==============================================================================
--- branches/ops_pct/src/interp/inter_misc.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/interp/inter_misc.c	Sat May 15 01:32:20 2010	(r46621)
@@ -321,7 +321,7 @@
             PMC * const exe_name = VTABLE_get_pmc_keyed_int(interp, interp->iglobals,
                     IGLOBALS_EXECUTABLE);
             if (PMC_IS_NULL(exe_name))
-                return string_from_literal(interp, "");
+                return CONST_STRING(interp, "");
             return VTABLE_get_string(interp, exe_name);
         }
         case EXECUTABLE_BASENAME: {
@@ -329,7 +329,7 @@
                                 interp->iglobals, IGLOBALS_EXECUTABLE);
 
             if (PMC_IS_NULL(exe_name))
-                return string_from_literal(interp, "");
+                return CONST_STRING(interp, "");
 
             else {
                 /* Need to strip back to what follows the final / or \. */
@@ -460,7 +460,7 @@
       default:
         break;
     }
-    return string_from_literal(interp, "");
+    return CONST_STRING(interp, "");
 }
 
 /*

Modified: branches/ops_pct/src/nci/api.c
==============================================================================
--- branches/ops_pct/src/nci/api.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/nci/api.c	Sat May 15 01:32:20 2010	(r46621)
@@ -68,14 +68,13 @@
             nci_fb_func_t cb = (nci_fb_func_t)D2FPTR(cb_ptr);
             if (cb_ptr) {
                 PMC *nci_fb_ud = VTABLE_get_pmc_keyed_int(interp, iglobals, IGLOBALS_NCI_FB_UD);
-                thunk = cb(nci_fb_ud, signature);
+                thunk = cb(interp, nci_fb_ud, signature);
             }
         }
     }
 
     if (!PMC_IS_NULL(thunk)) {
         PARROT_ASSERT(thunk->vtable);
-        PARROT_ASSERT(thunk->vtable->base_type == enum_class_UnManagedStruct);
         return thunk;
     }
 

Modified: branches/ops_pct/src/ops/experimental.ops
==============================================================================
--- branches/ops_pct/src/ops/experimental.ops	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/ops/experimental.ops	Sat May 15 01:32:20 2010	(r46621)
@@ -3,6 +3,14 @@
 ** experimental.ops
 */
 
+BEGIN_OPS_PREAMBLE
+
+#if PARROT_HAS_ICU
+#  include <unicode/uchar.h>
+#endif
+
+END_OPS_PREAMBLE
+
 =head1 NAME
 
 experimental.ops - Experimental Opcodes
@@ -304,8 +312,6 @@
 
 =item B<root_new>(out PMC, in PMC, in INT)
 
-=back
-
 =cut
 
 op root_new(out PMC, in PMC, in INT) {
@@ -340,6 +346,29 @@
     }
 }
 
+=item B<find_codepoint>(out INT, in STR)
+
+Set $1 to the codepoint with the name given in $2, or -1 if there is none.
+Requires ICU lib, otherwise exception is thrown.
+
+=cut
+
+op find_codepoint(out INT, in STR) {
+#if PARROT_HAS_ICU
+    UErrorCode   err       = U_ZERO_ERROR;
+    char * const cstr      = Parrot_str_to_cstring(interp, $2);
+    UChar32      codepoint = u_charFromName(U_EXTENDED_CHAR_NAME, cstr, &err);
+    Parrot_str_free_cstring(cstr);
+    $1 = U_SUCCESS(err) ? (INTVAL) codepoint : -1;
+#else
+    opcode_t * const dest = expr NEXT();
+    Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_LIBRARY_ERROR,
+        "no ICU lib loaded");
+#endif
+}
+
+=back
+
 =head1 COPYRIGHT
 
 Copyright (C) 2001-2010, Parrot Foundation.

Modified: branches/ops_pct/src/parrot_debugger.c
==============================================================================
--- branches/ops_pct/src/parrot_debugger.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/parrot_debugger.c	Sat May 15 01:32:20 2010	(r46621)
@@ -331,7 +331,7 @@
 
 =item * Start of rewrite - leo 2005.02.16
 
-The debugger now uses it's own interpreter. User code is run in
+The debugger now uses its own interpreter. User code is run in
 Interp* debugee. We have:
 
   debug_interp->pdb->debugee->debugger

Modified: branches/ops_pct/src/pmc/env.pmc
==============================================================================
--- branches/ops_pct/src/pmc/env.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/env.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -162,7 +162,7 @@
             }
         }
 
-        return string_from_literal(INTERP, "");
+        return CONST_STRING(interp, "");
     }
 
     VTABLE STRING *get_string_keyed(PMC *key) {
@@ -183,7 +183,7 @@
 
     VTABLE STRING *get_string_keyed_int(INTVAL pos) {
         if (pos < 0 || pos >= SELF.elements()) {
-            return string_from_literal(INTERP, "");
+            return CONST_STRING(interp, "");
         }
         else {
             const char * const envp = environ[pos];
@@ -217,7 +217,7 @@
         }
 
         if (!retval)
-            retval = string_from_literal(INTERP, "");
+            retval = CONST_STRING(interp, "");
 
         return_pmc = Parrot_pmc_new(INTERP, enum_class_String);
 

Modified: branches/ops_pct/src/pmc/imageio.pmc
==============================================================================
--- branches/ops_pct/src/pmc/imageio.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/imageio.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -634,8 +634,13 @@
             PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
             INTVAL i                   = STATICSELF.shift_integer();
 
-            if (i >= 0)
+            if (i >= 0) {
+                if (! table->constants[i])
+                    Parrot_ex_throw_from_c_args(interp, NULL,
+                            EXCEPTION_MALFORMED_PACKFILE,
+                            "Reference to constant not yet unpacked %d", i);
                 return table->constants[i]->u.string;
+        }
 
             /* XXX
              * only got here because constant table doesn't contain the string

Modified: branches/ops_pct/src/pmc/nci.pmc
==============================================================================
--- branches/ops_pct/src/pmc/nci.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/nci.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -56,61 +56,71 @@
 {
     ASSERT_ARGS(pcc_params)
 
-    char    param_buf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-    const int do_alloc = (sig_length > 7);
-    char   *param_sig    = !do_alloc
-                         ? param_buf
-                         : mem_gc_allocate_n_typed(interp, sig_length, char);
-    size_t  j            = 0;
-    size_t  i;
+    /* NCI and PCC have a 1 to 1 mapping except an
+       extra char in PCC for invocant and slurpy */
+    size_t       buf_length = sig_length + 2 + 1;
+
+    /* avoid malloc churn on common signatures */
+    char         static_buf[16];
+    char * const sig_buf = sig_length <= sizeof static_buf ?
+                            static_buf :
+                            (char *)mem_sys_allocate(buf_length);
 
-    for (i = 1; i < sig_length; ++i) {
+    size_t j = 0;
+    size_t i;
+
+    for (i = 0; i < sig_length; ++i) {
         const INTVAL c = Parrot_str_indexed(interp, sig, i);
 
+        PARROT_ASSERT(j < buf_length - 1);
+
         switch (c) {
           case (INTVAL)'0':    /* null ptr or such - doesn't consume a reg */
             break;
           case (INTVAL)'f':
           case (INTVAL)'N':
           case (INTVAL)'d':
-            param_sig[j++] = 'N';
+            sig_buf[j++] = 'N';
             break;
           case (INTVAL)'I':   /* INTVAL */
           case (INTVAL)'l':   /* long */
           case (INTVAL)'i':   /* int */
           case (INTVAL)'s':   /* short */
           case (INTVAL)'c':   /* char */
-            param_sig[j++] = 'I';
+            sig_buf[j++] = 'I';
             break;
           case (INTVAL)'S':
           case (INTVAL)'t':   /* string, pass a cstring */
-            param_sig[j++] = 'S';
+            sig_buf[j++] = 'S';
             break;
           case (INTVAL)'J':   /* interpreter */
             break;
           case (INTVAL)'p':   /* push pmc->data */
-          case (INTVAL)'O':   /* push PMC * object in P2 */
           case (INTVAL)'P':   /* push PMC * */
           case (INTVAL)'V':   /* push PMC * */
-            param_sig[j++] = 'P';
-          case (INTVAL)'v':
-            break;
-            /* I have no idea how to handle these */
           case (INTVAL)'2':
           case (INTVAL)'3':
           case (INTVAL)'4':
-            param_sig[j++] = 'I';
+            sig_buf[j++] = 'P';
+            break;
+          case (INTVAL)'v':
+            /* null return */
+            if (j == 0)
+                sig_buf[j++] = '\0';
+            break;
+          case (INTVAL)'O':   /* push PMC * invocant */
+            sig_buf[j++] = 'P';
+            sig_buf[j++] = 'i';
             break;
-          case (INTVAL)'@':
-            param_sig[j++] = '@';
+          case (INTVAL)'@':   /* push PMC * slurpy */
+            sig_buf[j++] = 'P';
+            sig_buf[j++] = 's';
             break;
           case (INTVAL)'b': /* buffer (void*) pass Buffer_bufstart(SReg) */
           case (INTVAL)'B': /* buffer (void**) pass &Buffer_bufstart(SReg) */
-            param_sig[j++] = 'S';
+            sig_buf[j++] = 'S';
             break;
           default:
-            if (do_alloc)
-                mem_gc_free(interp, param_sig);
             Parrot_ex_throw_from_c_args(interp, NULL,
                     EXCEPTION_JIT_ERROR,
                     "Unknown param Signature %c\n", (char)c);
@@ -118,18 +128,19 @@
         }
     }
 
-    PARROT_ASSERT(j <= sig_length);
+    PARROT_ASSERT(j < buf_length);
+    sig_buf[j++] = '\0';
 
-    /* use only the signature-significant part of the string buffer */
-    if (j) {
-        nci_info->pcc_params_signature = string_make(interp, param_sig, j,
-            NULL, PObj_constant_FLAG);
-    }
-    else
-        nci_info->pcc_params_signature = CONST_STRING(interp, "");
 
-    if (sig_length > 7)
-        mem_gc_free(interp, param_sig);
+    nci_info->pcc_return_signature =
+        Parrot_str_new(interp, sig_buf, 1);
+
+    nci_info->pcc_params_signature = j ?
+        Parrot_str_new(interp, sig_buf + 1, j - 1) :
+        CONST_STRING(interp, "");
+
+    if (sig_buf != static_buf)
+        mem_sys_free(sig_buf);
 }
 
 /* actually build the NCI thunk */
@@ -157,15 +168,20 @@
 
 
 pmclass NCI auto_attrs {
+    /* NCI thunk handling attributes */
     ATTR STRING    *signature;              /* The signature. */
     ATTR void      *func;                   /* Function pointer to call. */
     ATTR PMC       *fb_info;                /* Frame-builder info */
     ATTR void      *orig_func;              /* Function pointer
                                              * used to create func */
-    ATTR STRING    *pcc_params_signature;   /* The signature. */
+    /* Parrot Sub-ish attributes */
+    ATTR STRING    *pcc_params_signature;
+    ATTR STRING    *pcc_return_signature;
+    ATTR INTVAL     arity;                  /* Cached arity of the NCI. */
+
+    /* MMD fields */
     ATTR STRING    *long_signature;         /* The full signature. */
     ATTR PMC       *multi_sig;              /* type tuple array (?) */
-    ATTR INTVAL     arity;                  /* Cached arity of the NCI. */
 
 /*
 
@@ -268,6 +284,7 @@
             Parrot_gc_mark_PMC_alive(interp, nci_info->fb_info);
             Parrot_gc_mark_STRING_alive(interp, nci_info->signature);
             Parrot_gc_mark_STRING_alive(interp, nci_info->pcc_params_signature);
+            Parrot_gc_mark_STRING_alive(interp, nci_info->pcc_params_signature);
             Parrot_gc_mark_STRING_alive(interp, nci_info->long_signature);
             Parrot_gc_mark_PMC_alive(interp, nci_info->multi_sig);
         }
@@ -300,6 +317,7 @@
         nci_info_ret->orig_func             = nci_info_self->orig_func;
         nci_info_ret->signature             = nci_info_self->signature;
         nci_info_ret->pcc_params_signature  = nci_info_self->pcc_params_signature;
+        nci_info_ret->pcc_return_signature  = nci_info_self->pcc_params_signature;
         nci_info_ret->arity                 = nci_info_self->arity;
         PObj_get_FLAGS(ret)                |= (PObj_get_FLAGS(SELF) & 0x7);
 

Modified: branches/ops_pct/src/pmc/scheduler.pmc
==============================================================================
--- branches/ops_pct/src/pmc/scheduler.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/scheduler.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -252,7 +252,7 @@
     VTABLE void destroy() {
         Parrot_Scheduler_attributes * const core_struct = PARROT_SCHEDULER(SELF);
         /* TT #946: this line is causing an order-of-destruction error
-           because the scheduler is being freed before it's tasks.
+           because the scheduler is being freed before its tasks.
            Commenting this out till we get a real fix (although it's a hack) */
         /* MUTEX_DESTROY(core_struct->msg_lock); */
     }

Modified: branches/ops_pct/src/pmc/stringbuilder.pmc
==============================================================================
--- branches/ops_pct/src/pmc/stringbuilder.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/stringbuilder.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -62,11 +62,18 @@
 */
 
     VTABLE void init_int(INTVAL initial_size) {
-        STRING * const buffer = Parrot_str_new_init(INTERP, NULL, initial_size,
-                Parrot_default_encoding_ptr, Parrot_default_charset_ptr, 0);
+        STRING * const buffer = mem_gc_allocate_zeroed_typed(INTERP, STRING);
+        buffer->encoding  = Parrot_default_encoding_ptr;
+        buffer->charset   = Parrot_default_charset_ptr;
+        /* We need all string flags here because we use this buffer in substr_str */
+        buffer->flags     = PObj_is_string_FLAG | PObj_live_FLAG | PObj_external_FLAG;
+        buffer->_bufstart = buffer->strstart = mem_gc_allocate_n_typed(INTERP,
+                initial_size, char);
+        buffer->_buflen   = initial_size;
+
         SET_ATTR_buffer(INTERP, SELF, buffer);
 
-        PObj_custom_mark_SET(SELF);
+        PObj_custom_mark_destroy_SETALL(SELF);
     }
 
 /*
@@ -80,29 +87,35 @@
 */
 
     VTABLE void mark() {
+    }
+
+    VTABLE void destroy() {
         STRING *buffer;
 
         if (!PMC_data(SELF))
             return;
 
         GET_ATTR_buffer(INTERP, SELF, buffer);
-        Parrot_gc_mark_STRING_alive(INTERP, buffer);
+        if (buffer->_bufstart)
+            mem_gc_free(INTERP, buffer->_bufstart);
+        mem_gc_free(INTERP, buffer);
     }
 
 /*
 
 =item C<STRING *get_string()>
 
-Clones and returns current buffer. We need clone because outside of
-StringBuilder strings are immutable.
+Returns created string.
 
 =cut
 
 */
 
     VTABLE STRING *get_string() {
-        STRING *buffer, *retv;
+        STRING *buffer;
         GET_ATTR_buffer(INTERP, SELF, buffer);
+        /* We need to clone buffer because outside of StringBuilder strings */
+        /* are immutable */
         return Parrot_str_clone(INTERP, buffer);
     }
 
@@ -150,8 +163,11 @@
         total_size = calculate_capacity(INTERP, buffer->bufused, s->bufused);
 
         /* Reallocate if necessary */
-        if (total_size > Buffer_buflen(buffer))
-            Parrot_gc_reallocate_string_storage(INTERP, buffer, total_size);
+        if (total_size > Buffer_buflen(buffer)) {
+            buffer->_bufstart = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
+                    buffer->_bufstart, total_size, char);
+            buffer->_buflen   = total_size;
+        }
 
         /* Tack s on the end of buffer */
         mem_sys_memcopy((void *)((ptrcast_t)buffer->strstart + buffer->bufused),
@@ -160,6 +176,7 @@
         /* Update buffer */
         buffer->bufused += s->bufused;
         buffer->strlen  += Parrot_str_length(INTERP, s);
+        buffer->hashval = 0; /* hash is invalid */
 
         PARROT_ASSERT(buffer->bufused <= Buffer_buflen(buffer));
     }
@@ -177,31 +194,56 @@
 */
 
     VTABLE void i_concatenate_str(STRING *s) {
-        SELF.push_string(s);
+        STATICSELF.push_string(s);
     }
 
     VTABLE void i_concatenate(PMC *p) {
-        SELF.push_string(VTABLE_get_string(INTERP, p));
+        STATICSELF.push_string(VTABLE_get_string(INTERP, p));
     }
 
     VTABLE void push_pmc(PMC *p) {
-        SELF.push_string(VTABLE_get_string(INTERP, p));
+        STATICSELF.push_string(VTABLE_get_string(INTERP, p));
     }
 
 /*
 
-=item C<VTABLE set_string_native()>
+=item C<VTABLE set_string_native(STRING)>
+
+=item C<VTABLE set_pmc(PMC)>
 
-Set content of buffer to passed string
+Set content of buffer to passed string or PMC
 
 =cut
 
 */
     VTABLE void set_string_native(STRING *s) {
-        STRING * tmp = Parrot_str_clone(INTERP, s);
-        /* Unset hashval. We update this string all the time */
-        tmp->hashval = 0;
-        SET_ATTR_buffer(INTERP, SELF, tmp);
+        STRING * buffer;
+
+        /* Calculate (possibly new) total size */
+        size_t total_size = calculate_capacity(INTERP, 0, s->bufused);
+
+        GET_ATTR_buffer(INTERP, SELF, buffer);
+
+        /* Reallocate if necessary */
+        if (total_size > Buffer_buflen(buffer)) {
+            buffer->_bufstart = buffer->strstart = mem_gc_realloc_n_typed(INTERP,
+                    buffer->_bufstart, total_size, char);
+            buffer->_buflen   = total_size;
+        }
+
+        /* Tack s on the buffer */
+        mem_sys_memcopy((void *)((ptrcast_t)buffer->strstart),
+                s->strstart, s->bufused);
+
+        /* Update buffer */
+        buffer->bufused  = s->bufused;
+        buffer->strlen   = Parrot_str_length(INTERP, s);
+        buffer->encoding = s->encoding;
+        buffer->charset  = s->charset;
+    }
+
+    VTABLE void set_pmc(PMC *s) {
+        STATICSELF.set_string_native(VTABLE_get_string(INTERP, s));
     }
 
 
@@ -216,6 +258,7 @@
 =cut
 
 */
+
     INTVAL get_integer() {
         STRING *buffer;
         GET_ATTR_buffer(INTERP, SELF, buffer);
@@ -224,6 +267,122 @@
 
 /*
 
+=item C<VTABLE substr_str()>
+
+=cut
+
+*/
+
+    VTABLE STRING *substr_str(INTVAL offset, INTVAL length) {
+        STRING *buffer;
+        GET_ATTR_buffer(INTERP, SELF, buffer);
+        /* We must clone here becase we can reallocate buffer behind the scene... */
+        /* TODO Optimize it to avoid creation of redundant STRING */
+        return Parrot_str_clone(INTERP,
+                Parrot_str_substr(INTERP, buffer, offset, length));
+    }
+
+/*
+
+=item C<append_format(string fmt [, pmc args ] [, pmc hash ])>
+
+Add a line to a C<StringBuilder> object according to C<fmt>.
+The C<fmt> string can contain any number of "%-replacements"
+which are replaced by the corresponding values from C<args>
+or C<hash> prior to being appended to the string.  (Here
+C<args> is a slurpy array, and C<hash> is a slurpy hash.)
+
+The currently defined replacements include:
+
+    %0 %1 ... %9     the value from the args array at index 0..9
+    %,               the values of the args array separated by commas
+    %%               a percent sign
+
+A percent-sign followed by any other character that is a hash
+key receives the value of the hash element.
+
+=cut
+
+*/
+
+    METHOD append_format(STRING *fmt, PMC *args :slurpy, PMC *hash :slurpy :named) {
+        STRING * const percent     = CONST_STRING(INTERP, "%");
+        STRING * const comma       = CONST_STRING(INTERP, ",");
+        STRING * const comma_space = CONST_STRING(INTERP, ", ");
+        STRING * const newline     = CONST_STRING(INTERP, "\n");
+        STRING *key;
+        PMC    *stringbuilder = SELF;
+        INTVAL percentPos;
+        INTVAL pos = 0;
+
+        /* Loop over the format string, splitting it into chunks
+         * for the string builder. */
+        while (pos >= 0) {
+            /* Find the next % */
+            percentPos = Parrot_str_find_index(INTERP, fmt, percent, pos);
+
+            if (percentPos < 0) {
+                if (pos == 0) {
+                    VTABLE_push_string(INTERP, stringbuilder, fmt);
+                }
+                else {
+                    /* remaining string can be added as is. */
+                    VTABLE_push_string(INTERP, stringbuilder,
+                        Parrot_str_substr(INTERP, fmt, pos,
+                            Parrot_str_length(INTERP, fmt) -pos));
+                    }
+                break;
+            }
+            else {
+                /* slurp up to just before the % sign... */
+                VTABLE_push_string(INTERP, stringbuilder,
+                    Parrot_str_substr(INTERP, fmt, pos, percentPos - pos));
+                /* skip the % sign */
+                pos = percentPos + 1 ;
+            }
+
+            /* key is always a single character */
+            key = Parrot_str_substr(INTERP, fmt, pos++, 1);
+
+            if (VTABLE_exists_keyed_str(INTERP, hash, key)) {
+                VTABLE_push_string(INTERP, stringbuilder,
+                        VTABLE_get_string_keyed_str(INTERP, hash, key));
+            }
+            else if (Parrot_str_is_cclass(INTERP, enum_cclass_numeric, key, 0)) {
+                VTABLE_push_string(INTERP, stringbuilder,
+                    VTABLE_get_string_keyed_int(INTERP, args,
+                        Parrot_str_to_int(INTERP, key)));
+            }
+            else if (Parrot_str_equal(INTERP, key, comma)) {
+                INTVAL num_args = VTABLE_elements(INTERP, args);
+                INTVAL pos_args = 1;
+
+                VTABLE_push_string(INTERP, stringbuilder,
+                    VTABLE_get_string_keyed_int(INTERP, args, 0));
+
+                while (pos_args < num_args) {
+                    VTABLE_push_string(INTERP, stringbuilder, comma_space);
+                    VTABLE_push_string(INTERP, stringbuilder,
+                        VTABLE_get_string_keyed_int(INTERP, args, pos_args));
+                    pos_args++;
+                }
+            }
+            else if (Parrot_str_equal(INTERP, key, percent)) {
+                VTABLE_push_string(INTERP, stringbuilder, percent);
+            }
+            else {
+                /* %foo has no special meaning, pass it through unchanged */
+                VTABLE_push_string(INTERP, stringbuilder,
+                    Parrot_str_substr(INTERP, fmt, pos-2, 2));
+            }
+        }
+
+        RETURN(PMC *SELF);
+    }
+
+
+/*
+
 =back
 
 =cut

Modified: branches/ops_pct/src/pmc/sub.pmc
==============================================================================
--- branches/ops_pct/src/pmc/sub.pmc	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/pmc/sub.pmc	Sat May 15 01:32:20 2010	(r46621)
@@ -1074,6 +1074,9 @@
             sub->lex_info = Parrot_pmc_new_init(INTERP, lex_info_id, SELF);
         }
 
+        /* Clear any existing outer context */
+        sub->outer_ctx = PMCNULL;
+
         /* If we've got a context around for the outer sub, set it as the
          * outer context. */
         outer_ctx = CURRENT_CONTEXT(INTERP);

Modified: branches/ops_pct/src/string/api.c
==============================================================================
--- branches/ops_pct/src/string/api.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/string/api.c	Sat May 15 01:32:20 2010	(r46621)
@@ -867,6 +867,10 @@
     if (start >= (INTVAL)len)
         return -1;
 
+    /* Short circuit when s is the same as s2 */
+    if (s == s2)
+        return start == 0 ? 0 : -1;
+
     if (!Parrot_str_length(interp, s2))
         return -1;
     else {

Modified: branches/ops_pct/src/string/charset/ascii.c
==============================================================================
--- branches/ops_pct/src/string/charset/ascii.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/string/charset/ascii.c	Sat May 15 01:32:20 2010	(r46621)
@@ -531,43 +531,34 @@
     UINTVAL offs)
 {
     ASSERT_ARGS(mixed_cs_index)
-    String_iter src_iter, search_iter;
-    UINTVAL len, next_pos;
-    INTVAL found_at;
-
-    ENCODING_ITER_INIT(interp, src, &src_iter);
-    src_iter.set_position(interp, &src_iter, offs);
-    ENCODING_ITER_INIT(interp, search, &search_iter);
-    len = search->strlen;
-
-    found_at = -1;
-    next_pos = offs;
-
-    for (; len && offs < src->strlen ;) {
-        const UINTVAL c1 = src_iter.get_and_advance(interp, &src_iter);
-        const UINTVAL c2 = search_iter.get_and_advance(interp, &search_iter);
-
-        if (c1 == c2) {
-            --len;
-            if (found_at == -1)
-                found_at = offs;
-            ++offs;
-        }
-        else {
-            len = search->strlen;
-            ++offs;
-            ++next_pos;
-            if (offs != next_pos) {
-                src_iter.set_position(interp, &src_iter, next_pos);
-                offs = next_pos;
-            }
 
-            found_at = -1;
-            search_iter.set_position(interp, &search_iter, 0);
+    if (search->strlen <= src->strlen) {
+        String_iter src_iter, search_iter;
+        const UINTVAL maxpos = src->strlen - search->strlen + 1;
+        const UINTVAL cfirst = Parrot_str_indexed(interp, search, 0);
+
+        ENCODING_ITER_INIT(interp, src, &src_iter);
+        src_iter.set_position(interp, &src_iter, offs);
+        ENCODING_ITER_INIT(interp, search, &search_iter);
+
+        while (src_iter.charpos < maxpos) {
+            if (cfirst == src_iter.get_and_advance(interp, &src_iter)) {
+                const INTVAL next_pos = src_iter.charpos;
+                const INTVAL next_byte = src_iter.bytepos;
+                UINTVAL len;
+                search_iter.set_position(interp, &search_iter, 1);
+                for (len = search->strlen - 1; len; --len) {
+                    if ((src_iter.get_and_advance(interp, &src_iter)) !=
+                            (search_iter.get_and_advance(interp, &search_iter)))
+                        break;
+                }
+                if (len == 0)
+                    return next_pos - 1;
+                src_iter.charpos = next_pos;
+                src_iter.bytepos = next_byte;
+            }
         }
     }
-    if (len == 0)
-        return found_at;
     return -1;
 }
 
@@ -649,9 +640,10 @@
     ASSERT_ARGS(validate)
     INTVAL      offset;
     String_iter iter;
+    const INTVAL length = Parrot_str_length(interp, src);
 
     ENCODING_ITER_INIT(interp, src, &iter);
-    for (offset = 0; offset < Parrot_str_length(interp, src); ++offset) {
+    for (offset = 0; offset < length; ++offset) {
         const UINTVAL codepoint = iter.get_and_advance(interp, &iter);
         if (codepoint >= 0x80)
             return 0;

Modified: branches/ops_pct/src/string/charset/iso-8859-1.c
==============================================================================
--- branches/ops_pct/src/string/charset/iso-8859-1.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/string/charset/iso-8859-1.c	Sat May 15 01:32:20 2010	(r46621)
@@ -526,8 +526,9 @@
 {
     ASSERT_ARGS(validate)
     INTVAL offset;
+    const INTVAL length =  Parrot_str_length(interp, src);
 
-    for (offset = 0; offset < Parrot_str_length(interp, src); ++offset) {
+    for (offset = 0; offset < length; ++offset) {
         const UINTVAL codepoint = ENCODING_GET_CODEPOINT(interp, src, offset);
         if (codepoint >= 0x100)
             return 0;

Modified: branches/ops_pct/src/string/charset/unicode.c
==============================================================================
--- branches/ops_pct/src/string/charset/unicode.c	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/src/string/charset/unicode.c	Sat May 15 01:32:20 2010	(r46621)
@@ -718,9 +718,10 @@
     ASSERT_ARGS(validate)
     INTVAL      offset;
     String_iter iter;
+    const INTVAL length = Parrot_str_length(interp, src);
 
     ENCODING_ITER_INIT(interp, src, &iter);
-    for (offset = 0; offset < Parrot_str_length(interp, src); ++offset) {
+    for (offset = 0; offset < length; ++offset) {
         const UINTVAL codepoint = iter.get_and_advance(interp, &iter);
         /* Check for Unicode non-characters */
         if (codepoint >= 0xfdd0

Modified: branches/ops_pct/t/codingstd/pod_todo.t
==============================================================================
--- branches/ops_pct/t/codingstd/pod_todo.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/codingstd/pod_todo.t	Sat May 15 01:32:20 2010	(r46621)
@@ -1,5 +1,5 @@
 #! perl
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
 # $Id$
 
 use strict;
@@ -43,7 +43,6 @@
 diag("\nFound $nbad_files files with 'todo', 'fixme' or 'XXX' items.\n")
     if $nbad_files;
 }
-
 =head1 NAME
 
 t/doc/pod_todo.t - find todo items in pod files

Modified: branches/ops_pct/t/compilers/pge/p5regex/p5rx.t
==============================================================================
--- branches/ops_pct/t/compilers/pge/p5regex/p5rx.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/compilers/pge/p5regex/p5rx.t	Sat May 15 01:32:20 2010	(r46621)
@@ -789,7 +789,7 @@
 .end
 
 
-# given a single digit hex value, return it's int value.
+# given a single digit hex value, return its int value.
 .sub hex_val
     .param string digit
 

Modified: branches/ops_pct/t/compilers/pge/perl6regex/01-regex.t
==============================================================================
--- branches/ops_pct/t/compilers/pge/perl6regex/01-regex.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/compilers/pge/perl6regex/01-regex.t	Sat May 15 01:32:20 2010	(r46621)
@@ -409,7 +409,7 @@
 .end
 
 
-# given a single digit hex value, return it's int value.
+# given a single digit hex value, return its int value.
 .sub hex_val
   .param string digit
 

Added: branches/ops_pct/t/library/lwp.t
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/t/library/lwp.t	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,141 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/library/lwp.t
+
+=head1 DESCRIPTION
+
+Test the LWP library
+
+=head1 SYNOPSIS
+
+    % prove t/library/lwp.t
+
+=cut
+
+.sub 'main' :main
+    .include 'test_more.pir'
+
+    load_bytecode 'LWP.pir'
+
+    plan(30)
+    test_new()
+    test_file_not_found()
+    test_file()
+    test_file_post_delete()
+.end
+
+.sub 'test_new'
+    $P0 = new ['LWP';'UserAgent']
+    $I0 = isa $P0, ['LWP';'UserAgent']
+    ok($I0, "new ['LWP';'UserAgent']")
+
+    $P0 = new ['LWP';'Protocol';'file']
+    $I0 = isa $P0, ['LWP';'Protocol';'file']
+    ok($I0, "new ['LWP';'Protocol';'file']")
+    $I0 = isa $P0, ['LWP';'Protocol']
+    ok($I0, "isa ['LWP';'Protocol']")
+
+    $P0 = new ['LWP';'Protocol';'http']
+    $I0 = isa $P0, ['LWP';'Protocol';'http']
+    ok($I0, "new ['LWP';'Protocol';'http']")
+    $I0 = isa $P0, ['LWP';'Protocol']
+    ok($I0, "isa ['LWP';'Protocol']")
+
+    $P0 = new ['HTTP';'Request']
+    $I0 = isa $P0, ['HTTP';'Request']
+    ok($I0, "new ['HTTP';'Request']")
+    $I0 = isa $P0, ['HTTP';'Message']
+    ok($I0, "isa ['HTTP';'Message']")
+    $P0 = new ['HTTP';'Response']
+    $I0 = isa $P0, ['HTTP';'Response']
+    ok($I0, "new ['HTTP';'Response']")
+    $I0 = isa $P0, ['HTTP';'Message']
+    ok($I0, "isa ['HTTP';'Message']")
+.end
+
+.sub 'test_file_not_found'
+    unlink('t/no_file')
+    .local pmc ua, response
+    ua = new ['LWP';'UserAgent']
+    response = ua.'get'('file:t/no_file')
+    $I0 = isa response, ['HTTP';'Response']
+    ok($I0, "GET file:t/no_file")
+    $I0 = response.'code'()
+    is($I0, 404, "code")
+    $S0 = response.'message'()
+    is($S0, "File `t/no_file' does not exist", "message")
+    $I0 = response.'is_error'()
+    ok($I0, "is error")
+.end
+
+.sub 'test_file'
+    .local pmc ua, response
+    ua = new ['LWP';'UserAgent']
+    response = ua.'get'('file:t/library/lwp.t')
+    $I0 = isa response, ['HTTP';'Response']
+    ok($I0, "GET file:t/library/lwp.t")
+    $I0 = response.'code'()
+    is($I0, 200, "code")
+    $I0 = response.'is_success'()
+    ok($I0, "is success")
+    $S0 = response.'content'()
+    $I0 = index $S0, 'Test the LWP library'
+    $I0 = $I0 > 0
+    ok($I0, "content looks good")
+    $I0 = response.'get_header'('Content-Length')
+    $I0 = $I0 > 2000
+    ok($I0, "Content-Length")
+    $S0 = response.'get_header'('Last-Modified')
+    diag($S0)
+    $I0 = index $S0, 'GMT'
+    $I0 = $I0 > 0
+    ok($I0, "Last-Modified contains GMT")
+.end
+
+.sub 'test_file_post_delete'
+    .const string data = "the file contains some text"
+    .const string filename = 't/library/file.txt'
+    .const string url = 'file:t/library/file.txt'
+    unlink(filename)
+
+    .local pmc ua, response
+    ua = new ['LWP';'UserAgent']
+
+    response = ua.'post'(url, data)
+    $I0 = isa response, ['HTTP';'Response']
+    ok($I0, "POST file:t/library/file.txt")
+    $I0 = response.'code'()
+    is($I0, 200, "code")
+    $I0 = response.'is_success'()
+    ok($I0, "is success")
+    $S0 = slurp(filename)
+    is($S0, data, "file content comparison")
+
+    response = ua.'delete'(url)
+    $I0 = isa response, ['HTTP';'Response']
+    ok($I0, "DELETE file:t/library/file.txt")
+    $I0 = response.'code'()
+    is($I0, 200, "code")
+    $I0 = response.'is_success'()
+    ok($I0, "is success")
+
+    response = ua.'delete'(url)
+    $I0 = isa response, ['HTTP';'Response']
+    ok($I0, "DELETE file:t/library/file.txt")
+    $I0 = response.'code'()
+    is($I0, 404, "code")
+    $S0 = response.'message'()
+    is($S0, "File `t/library/file.txt' does not exist", "message")
+    $I0 = response.'is_error'()
+    ok($I0, "is error")
+.end
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Added: branches/ops_pct/t/library/uri.t
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/ops_pct/t/library/uri.t	Sat May 15 01:32:20 2010	(r46621)
@@ -0,0 +1,160 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/library/uri.t
+
+=head1 DESCRIPTION
+
+Test the URI library
+
+=head1 SYNOPSIS
+
+    % prove t/library/uri.t
+
+=cut
+
+.sub 'main' :main
+    .include 'test_more.pir'
+
+    load_bytecode 'URI.pir'
+
+    plan(47)
+    test_new()
+    test_uri()
+    test_file()
+    test_http()
+.end
+
+.sub 'test_new'
+    $P0 = new ['URI';'_generic']
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "new ['URI';'_generic']")
+    $I0 = isa $P0, ['URI']
+    ok($I0, "isa ['URI']")
+
+    $P0 = new ['URI';'file']
+    $I0 = isa $P0, ['URI';'file']
+    ok($I0, "new ['URI';'file']")
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "isa ['URI';'_generic']")
+
+    $P0 = new ['URI';'_server']
+    $I0 = isa $P0, ['URI';'_server']
+    ok($I0, "new ['URI';'_server']")
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "isa ['URI';'_generic']")
+
+    $P0 = new ['URI';'http']
+    $I0 = isa $P0, ['URI';'http']
+    ok($I0, "new ['URI';'http']")
+    $I0 = isa $P0, ['URI';'_server']
+    ok($I0, "isa ['URI';'_server']")
+.end
+
+.sub 'test_uri'
+    .local pmc factory
+    factory = get_hll_global ['URI'], 'new_from_string'
+
+    $P0 = factory('scheme:scheme-specific-part#fragment')
+    ok($P0, "scheme:scheme-specific-part#fragment")
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "isa ['URI';'_generic']")
+    $S0 = $P0.'scheme'()
+    is($S0, 'scheme', "scheme")
+    $S0 = $P0.'opaque'()
+    is($S0, 'scheme-specific-part', "opaque")
+    $S0 = $P0.'fragment'()
+    is($S0, 'fragment', "fragment")
+    $S0 = $P0.'authority'()
+    is($S0, '', "no authority")
+    $S0 = $P0.'path'()
+    is($S0, 'scheme-specific-part', "path")
+    $S0 = $P0.'path_query'()
+    is($S0, 'scheme-specific-part', "path_query")
+
+    $P0 = factory('scheme://authority/path?query#fragment')
+    ok($P0, "scheme://authority/path?query#fragment")
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "isa ['URI';'_generic']")
+    $S0 = $P0.'scheme'()
+    is($S0, 'scheme', "scheme")
+    $S0 = $P0.'opaque'()
+    is($S0, '//authority/path?query', "opaque")
+    $S0 = $P0.'fragment'()
+    is($S0, 'fragment', "fragment")
+    $S0 = $P0.'authority'()
+    is($S0, 'authority', "authority")
+    $S0 = $P0.'path'()
+    is($S0, '/path', "path")
+    $S0 = $P0.'path_query'()
+    is($S0, '/path?query', "path_query")
+
+    $P0 = factory('path?query#fragment')
+    ok($P0, "path?query#fragment")
+    $I0 = isa $P0, ['URI';'_generic']
+    ok($I0, "isa ['URI';'_generic']")
+    $S0 = $P0.'scheme'()
+    is($S0, '', "no scheme")
+    $S0 = $P0.'opaque'()
+    is($S0, 'path?query', "opaque")
+    $S0 = $P0.'fragment'()
+    is($S0, 'fragment', "fragment")
+    $S0 = $P0.'authority'()
+    is($S0, '', "no authority")
+    $S0 = $P0.'path'()
+    is($S0, 'path', "path")
+    $S0 = $P0.'path_query'()
+    is($S0, 'path?query', "path_query")
+.end
+
+.sub 'test_file'
+    .local pmc factory
+    factory = get_hll_global ['URI'], 'new_from_string'
+
+    $P0 = factory('file:/foo/bar')
+    ok($P0, "file:/foo/bar")
+    $I0 = isa $P0, ['URI';'file']
+    ok($I0, "isa ['URI';'file']")
+    $S0 = $P0.'scheme'()
+    is($S0, 'file', "scheme")
+    $S0 = $P0.'host'()
+    is($S0, '', 'no host')
+    $S0 = $P0.'path'()
+    is($S0, '/foo/bar', 'path')
+.end
+
+.sub 'test_http'
+    .local pmc factory
+    factory = get_hll_global ['URI'], 'new_from_string'
+
+    $P0 = factory('http://www.parrot.org')
+    ok($P0, "http://www.parrot.org")
+    $I0 = isa $P0, ['URI';'http']
+    ok($I0, "isa ['URI';'http']")
+    $S0 = $P0.'scheme'()
+    is($S0, 'http', "scheme")
+    $S0 = $P0.'host'()
+    is($S0, 'www.parrot.org', 'host')
+    $S0 = $P0.'port'()
+    is($S0, '80', 'port')
+
+    $P0 = factory('http://127.0.0.1:8080')
+    ok($P0, "http://127.0.0.1:8080")
+    $I0 = isa $P0, ['URI';'http']
+    ok($I0, "isa ['URI';'http']")
+    $S0 = $P0.'scheme'()
+    is($S0, 'http', "scheme")
+    $S0 = $P0.'host'()
+    is($S0, '127.0.0.1', 'host')
+    $S0 = $P0.'port'()
+    is($S0, '8080', 'port')
+.end
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Modified: branches/ops_pct/t/op/string.t
==============================================================================
--- branches/ops_pct/t/op/string.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/op/string.t	Sat May 15 01:32:20 2010	(r46621)
@@ -19,7 +19,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(369)
+    plan(374)
 
     set_s_s_sc()
     test_clone()
@@ -918,6 +918,20 @@
     set $S1, "bar"
     index $I1, $S0, $S1
     is( $I1, "-1", 'index, 3-arg form' )
+
+    # Ascii - Non-ascii, same content
+    set $S0, "hello"
+    set $S1, unicode:"hello"
+    index $I1, $S0, $S1
+    is( $I1, "0", 'index, 3-arg form' )
+    index $I1, $S1, $S0
+    is( $I1, "0", 'index, 3-arg form' )
+
+    # Non-ascii, source shorter than searched
+    set $S0, unicode:"-o"
+    set $S1, unicode:"@INC"
+    index $I1, $S0, $S1
+    is( $I1, "-1", 'index, 3-arg form' )
 .end
 
 .sub index_four_arg_form
@@ -932,6 +946,14 @@
     set $S1, "qwx"
     index $I1, $S0, $S1, 0
     is( $I1, "-1", 'index, 4-arg form' )
+
+    # Ascii - Non-ascii, same content
+    set $S0, "hello"
+    set $S1, unicode:"hello"
+    index $I1, $S0, $S1, 0
+    is( $I1, "0", 'index, 4-arg form' )
+    index $I1, $S1, $S0, 0
+    is( $I1, "0", 'index, 4-arg form' )
 .end
 
 .sub index_four_arg_form_bug_twenty_two_thousand_seven_hundred_and_eighteen

Modified: branches/ops_pct/t/op/stringu.t
==============================================================================
--- branches/ops_pct/t/op/stringu.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/op/stringu.t	Sat May 15 01:32:20 2010	(r46621)
@@ -6,7 +6,7 @@
 use warnings;
 use lib qw( . lib ../lib ../../lib );
 use Test::More;
-use Parrot::Test tests => 32;
+use Parrot::Test tests => 33;
 use Parrot::Config;
 
 =head1 NAME
@@ -574,6 +574,35 @@
 equal
 OUT
 
+SKIP: {
+    skip( 'no ICU lib', 1 ) unless $PConfig{has_icu};
+pir_output_is( <<'CODE', <<'OUT', 'find_codepoint opcode (experimental)');
+.sub 'main'
+    $I1 = find_codepoint 'THISISNOTTHENAMEOFNOTHING'
+    say $I1
+
+    .const string cpf = "0x%04x"
+    $P0 = new 'FixedIntegerArray', 1
+    $I0 = find_codepoint 'LATIN CAPITAL LETTER C'
+    $P0[0] = $I0
+    $S0 = sprintf cpf, $P0
+    say $S0
+    $I0 = find_codepoint 'MUSIC FLAT SIGN'
+    $P0[0] = $I0
+    $S0 = sprintf cpf, $P0
+    say $S0
+    $I0 = find_codepoint 'RECYCLING SYMBOL FOR TYPE-1 PLASTICS'
+    $P0[0] = $I0
+    $S0 = sprintf cpf, $P0
+    say $S0
+.end
+CODE
+-1
+0x0043
+0x266d
+0x2673
+OUT
+}
 
 # Local Variables:
 #   mode: cperl

Modified: branches/ops_pct/t/pmc/stringbuilder.t
==============================================================================
--- branches/ops_pct/t/pmc/stringbuilder.t	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/t/pmc/stringbuilder.t	Sat May 15 01:32:20 2010	(r46621)
@@ -20,7 +20,6 @@
 .sub 'main' :main
     .include 'test_more.pir'
 
-    plan(23)
     test_create()               # 2 tests
     test_push_string()          # 9 tests
     test_push_pmc()             # 4 tests
@@ -29,6 +28,13 @@
     test_set_string_native()    # 3 tests
     test_set_string_native_with_hash()    # 2 tests
 
+    emit_with_pos_args()
+    emit_with_percent_args()
+    emit_with_named_args()
+    emit_with_pos_and_named_args()
+
+    done_testing()
+
     # END_OF_TESTS
 .end
 
@@ -184,6 +190,61 @@
 
 .end
 
+.sub emit_with_pos_args
+    .local pmc code
+    code = new ["StringBuilder"]
+    code."append_format"("label_%0:\n",          1234)
+    code."append_format"("    say '%0, %1'\n",   "Hello", "World")
+    code."append_format"("    %0 = %2\n", "$I0", 24, 48)
+    is(code, <<'CODE', "code string with positional args looks fine")
+label_1234:
+    say 'Hello, World'
+    $I0 = 48
+CODE
+.end
+
+.sub emit_with_percent_args
+    .local pmc code
+    code = new ['StringBuilder']
+    code."append_format"("label_%0:\n",    1234)
+    code."append_format"("    say '%,'\n", "Hello")
+    code."append_format"("    say '%,'\n", "Hello", "World", "of", "Parrot")
+    code."append_format"("    say '%%0'\n")
+    is(code, <<'CODE', "code string with % args looks fine")
+label_1234:
+    say 'Hello'
+    say 'Hello, World, of, Parrot'
+    say '%0'
+CODE
+.end
+
+.sub emit_with_named_args
+    .local pmc code
+    code = new ['StringBuilder']
+    code."append_format"("label_%a:\n",         "a"=>1234)
+    code."append_format"("    say '%b, %c'\n",  "b"=>"Hello", "c"=>"World")
+    code."append_format"("    say '%d'\n",      "b"=>"Hello", "c"=>"World")
+    is(code, <<'CODE', "emit with named args looks fine")
+label_1234:
+    say 'Hello, World'
+    say '%d'
+CODE
+.end
+
+.sub emit_with_pos_and_named_args
+    .local pmc code
+    code = new ['StringBuilder']
+    code."append_format"("label_%a:\n", "a"=>1234)
+    code."append_format"("    %0 '%b, %c'\n", "say", "print", "b"=>"H", "c"=>"W")
+    code."append_format"("    say '%,, %c'\n", "alpha", "beta", "b"=>"H", "c"=>"W")
+    is(code, <<'CODE', "emit with pos + named args")
+label_1234:
+    say 'H, W'
+    say 'alpha, beta, W'
+CODE
+.end
+
+
 # Local Variables:
 #   mode: pir
 #   fill-column: 100

Modified: branches/ops_pct/tools/dev/checkdepend.pl
==============================================================================
--- branches/ops_pct/tools/dev/checkdepend.pl	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/tools/dev/checkdepend.pl	Sat May 15 01:32:20 2010	(r46621)
@@ -49,7 +49,7 @@
 
 foreach my $file (sort grep /\.[hc]$/, @incfiles) {
     # For now, skip any files that have generated dependencies
-    next if $file =~ m{src/(ops|dynoplibs|pmc)/};
+    next if $file =~ m{src/pmc/};
     next if $file =~ m{src/string/(charset|encoding)/};
 
     open my $fh, '<', $file;

Modified: branches/ops_pct/tools/dev/parrot_coverage.pl
==============================================================================
--- branches/ops_pct/tools/dev/parrot_coverage.pl	Sat May 15 01:17:03 2010	(r46620)
+++ branches/ops_pct/tools/dev/parrot_coverage.pl	Sat May 15 01:32:20 2010	(r46621)
@@ -93,7 +93,7 @@
     # we need to move to the appropriate place, alongside the
     # sourcefile that produced it.  Hence, as soon as we know the true
     # name of the object file being profiled, we rename the gcov log
-    # file.  The -o flag is necessary to help gcov locate it's basic
+    # file.  The -o flag is necessary to help gcov locate its basic
     # block (.bb) files.
     my $cmd = "gcov -f -b -o $dirname $src_filename";
     print "Running $cmd\n" if $DEBUG;


More information about the parrot-commits mailing list