diff --git a/DEPRECATED.pod b/DEPRECATED.pod index 6a06855b36..9cd1a88066 100644 --- a/DEPRECATED.pod +++ b/DEPRECATED.pod @@ -141,12 +141,25 @@ things that aren't really logical ops (don't do that!). L +=item Method is_tty in PMCs derived from Handle [eligible in 2.7] + +Use isatty instead. + +L + =back =head1 Opcodes =over 4 +=item open and close opcodes will be removed [eligible in 2.7] + +L + +These opcodes will be removed. The open/close methods on File or +the FileHandle PMC should be used instead. + =item get_addr and set_addr [eligible in 1.5] L diff --git a/MANIFEST b/MANIFEST index f5e2c24b0e..55f3f3b0dc 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,7 +1,7 @@ # ex: set ro: # $Id$ # -# generated by tools/dev/mk_manifest_and_skip.pl Sun Jun 20 14:27:22 2010 UT +# generated by tools/dev/mk_manifest_and_skip.pl Tue Jun 29 22:56:50 2010 UT # # See below for documentation on the format of this file. # @@ -278,7 +278,6 @@ config/gen/platform/ansi/time.c [] config/gen/platform/cygwin/math.c [] config/gen/platform/darwin/begin.c [] config/gen/platform/darwin/hires_timer.c [] -config/gen/platform/darwin/memalign.c [] config/gen/platform/generic/dl.c [] config/gen/platform/generic/dl.h [] config/gen/platform/generic/env.c [] @@ -288,7 +287,6 @@ config/gen/platform/generic/io.h [] config/gen/platform/generic/itimer.c [] config/gen/platform/generic/math.c [] config/gen/platform/generic/math.h [] -config/gen/platform/generic/memalign.c [] config/gen/platform/generic/memexec.c [] config/gen/platform/generic/platform_limits.h [] config/gen/platform/generic/signal.c [] diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP index 9e77d44706..79af5c3efa 100644 --- a/MANIFEST.SKIP +++ b/MANIFEST.SKIP @@ -1,6 +1,6 @@ # ex: set ro: # $Id$ -# generated by tools/dev/mk_manifest_and_skip.pl Thu May 27 15:25:37 2010 UT +# generated by tools/dev/mk_manifest_and_skip.pl Thu Jun 24 14:06:33 2010 UT # # This file should contain a transcript of the svn:ignore properties # of the directories in the Parrot subversion repository. (Needed for @@ -69,6 +69,8 @@ ^config_lib\.pir/ ^cover_db$ ^cover_db/ +^generated_hello\.pbc$ +^generated_hello\.pbc/ ^install_config\.fpmc$ ^install_config\.fpmc/ ^installable.*$ @@ -624,6 +626,9 @@ # generated from svn:ignore of 'runtime/parrot/library/Test/Builder/' ^runtime/parrot/library/Test/Builder/.*\.pbc$ ^runtime/parrot/library/Test/Builder/.*\.pbc/ +# generated from svn:ignore of 'runtime/parrot/library/URI/' +^runtime/parrot/library/URI/.*\.pbc$ +^runtime/parrot/library/URI/.*\.pbc/ # generated from svn:ignore of 'runtime/parrot/library/YAML/' ^runtime/parrot/library/YAML/.*\.pbc$ ^runtime/parrot/library/YAML/.*\.pbc/ diff --git a/NEWS b/NEWS index e3de571dd0..cf5f3fd13c 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,10 @@ # $Id$ +New in 2.6.0 +- Platforms + + The Fedora package 'parrot-devel' install the files for syntax-highlighting + and automatic indenting for the vim editor. + New in 2.5.0 - Core + Added ByteBuffer PMC to allow direct byte manipulation diff --git a/README b/README index 443f07ab0b..e075ca778e 100644 --- a/README +++ b/README @@ -79,7 +79,7 @@ You can install Parrot with: By default, this installs in /usr/local, with the Parrot executable in /usr/local/bin. If you want to install Parrot into another location use: - perl Configure.pl --prefix=/Users/foo/parrot-0.7.0 + perl Configure.pl --prefix=/home/joe/bird make install But please note that dynamic libs will not be found for non-standard diff --git a/compilers/imcc/pbc.c b/compilers/imcc/pbc.c index 56bf8015ad..55f1b734d8 100644 --- a/compilers/imcc/pbc.c +++ b/compilers/imcc/pbc.c @@ -901,7 +901,6 @@ IMCC_string_from_reg(PARROT_INTERP, ARGIN(const SymReg *r)) const CHARSET *s_charset; const ENCODING *s_encoding = NULL; const ENCODING *src_encoding; - const char *charset; #define MAX_NAME 31 char charset_name[MAX_NAME + 1]; char encoding_name[MAX_NAME + 1]; @@ -2090,10 +2089,10 @@ int e_pbc_end_sub(PARROT_INTERP, SHIM(void *param), ARGIN(IMC_Unit *unit)) { ASSERT_ARGS(e_pbc_end_sub) - Instruction *ins; + Instruction *ins = unit->instructions; int pragma; - if (!unit->instructions) + if (!ins) return 0; /* @@ -2101,7 +2100,6 @@ e_pbc_end_sub(PARROT_INTERP, SHIM(void *param), ARGIN(IMC_Unit *unit)) * This is *dangerous*: all possible global state can be messed * up, e.g. when that sub starts loading bytecode */ - ins = unit->instructions; /* we run only PCC subs */ if (!ins->symregs[0] || !ins->symregs[0]->pcc_sub) diff --git a/compilers/opsc/src/Ops/Trans/C.pm b/compilers/opsc/src/Ops/Trans/C.pm index 35c66704d2..77eebd4552 100644 --- a/compilers/opsc/src/Ops/Trans/C.pm +++ b/compilers/opsc/src/Ops/Trans/C.pm @@ -95,7 +95,7 @@ method goto_offset($offset) { "return (opcode_t *)cur_opcode + $offset"; } method expr_address($addr) { $addr; } -method expr_offset($offset) { "cur_opcode + $offset"; } +method expr_offset($offset) { " cur_opcode + $offset"; } =begin @@ -299,7 +299,10 @@ static void hop_deinit(PARROT_INTERP); * returns >= 0 (found idx into info_table), -1 if not */ -static size_t hash_str(const char *str) { +PARROT_PURE_FUNCTION +static +size_t hash_str(ARGIN(const char *str)) +{ size_t key = 0; const char *s = str; @@ -311,7 +314,8 @@ static size_t hash_str(const char *str) { return key; } -static void store_op(PARROT_INTERP, op_info_t *info, int full) { +static void store_op(PARROT_INTERP, op_info_t *info, int full) +{ HOP * const p = mem_gc_allocate_zeroed_typed(interp, HOP); const size_t hidx = hash_str(full ? info->full_name : info->name) % OP_HASH_SIZE; @@ -320,7 +324,9 @@ static void store_op(PARROT_INTERP, op_info_t *info, int full) { p->next = hop[hidx]; hop[hidx] = p; } -static int get_op(PARROT_INTERP, const char * name, int full) { + +static int get_op(PARROT_INTERP, const char * name, int full) +{ const HOP * p; const size_t hidx = hash_str(name) % OP_HASH_SIZE; if (!hop) { @@ -333,7 +339,9 @@ static int get_op(PARROT_INTERP, const char * name, int full) { } return -1; } -static void hop_init(PARROT_INTERP) { + +static void hop_init(PARROT_INTERP) +{ size_t i; op_info_t * const info = [[BS]]op_lib.op_info_table; /* store full names */ @@ -344,6 +352,7 @@ static void hop_init(PARROT_INTERP) { if (get_op(interp, info[i].name, 0) == -1) store_op(interp, info + i, 0); } + static void hop_deinit(PARROT_INTERP) { if (hop) { diff --git a/compilers/pct/src/PAST/Compiler.pir b/compilers/pct/src/PAST/Compiler.pir index 1fa86b831c..d21e2157b7 100644 --- a/compilers/pct/src/PAST/Compiler.pir +++ b/compilers/pct/src/PAST/Compiler.pir @@ -18,6 +18,7 @@ what sorts of conversions are allowed (or desired). The basic flags are: P,S,I,N PMC, string, int, or num register + Q keyed PMC, next flag indicates type of key s string register or constant i int register or constant n num register or constant @@ -27,6 +28,7 @@ basic flags are: + PMC, int register, num register, or numeric constant ~ PMC, string register, or string constant : argument (same as '*'), possibly with :named or :flat + 0-9 use the nth input operand as the output result of this operation These flags are used to describe signatures and desired return types for various operations. For example, if an opcode is @@ -67,11 +69,13 @@ any value type. piropsig['concat'] = 'PP~' piropsig['copy'] = '0PP' piropsig['defined'] = 'IP' + piropsig['delete'] = 'vQ*' piropsig['die'] = 'v~' piropsig['div'] = 'PP+' piropsig['does'] = 'IPs' piropsig['downcase'] = 'Ss' piropsig['elements'] = 'IP' + piropsig['exists'] = 'IQ*' piropsig['exit'] = 'vi' piropsig['fdiv'] = 'PP+' piropsig['find_codepoint'] = 'Is' @@ -430,6 +434,7 @@ third and subsequent children can be any value they wish. sigidx = 1 rtype = substr signature, sigidx, 1 iter_loop: + if rtype == 'Q' goto keyed_pos unless iter goto iter_end .local pmc cpast, cpost cpast = shift iter @@ -472,6 +477,31 @@ third and subsequent children can be any value they wish. inc sigidx rtype = substr signature, sigidx, 1 goto iter_loop + keyed_pos: + # rtype is 'Q', so construct a keyed pmc argument + # first, get the base PMC + unless iter goto iter_end + cpast = shift iter + cpost = self.'as_post'(cpast, 'rtype'=>'P') + cpost = self.'coerce'(cpost, 'P') + # now process the key arg + unless iter goto iter_end + .local pmc kpast, kpost + kpast = shift iter + inc sigidx + rtype = substr signature, sigidx, 1 + kpost = self.'as_post'(kpast, 'rtype'=>rtype) + kpost = self.'coerce'(kpost, rtype) + ops.'push'(kpost) + ops.'push'(cpost) + # now construct the keyed PMC + $S0 = cpost + concat $S0, '[' + $S1 = kpost + concat $S0, $S1 + concat $S0, ']' + push posargs, $S0 + goto iter_rtype iter_end: .return (ops, posargs, namedargs) .end @@ -1101,8 +1131,8 @@ a 'pasttype' of 'pirop'. signature = 'vP' have_signature: - .local pmc ops - ops = self.'post_children'(node, 'signature'=>signature) + .local pmc ops, posargs + (ops, posargs) = self.'post_children'(node, 'signature'=>signature) .local pmc arglist arglist = ops.'list'() @@ -1118,10 +1148,10 @@ a 'pasttype' of 'pirop'. .local string result result = self.'uniquereg'($S0) ops.'result'(result) - ops.'push_pirop'(pirop, result, arglist :flat) + ops.'push_pirop'(pirop, result, posargs :flat) .return (ops) pirop_void: - ops.'push_pirop'(pirop, arglist :flat) + ops.'push_pirop'(pirop, posargs :flat) .return (ops) .end diff --git a/compilers/pct/src/PAST/Node.pir b/compilers/pct/src/PAST/Node.pir index c0a4d47bd3..3af8b01ed2 100644 --- a/compilers/pct/src/PAST/Node.pir +++ b/compilers/pct/src/PAST/Node.pir @@ -406,14 +406,6 @@ PIR opcodes that PAST "knows" about is in F. Get/set whether this node is an lvalue, or treats its first child as an lvalue (e.g., for assignment). -=cut - -.sub 'lvalue' :method - .param pmc value :optional - .param int has_value :opt_flag - .tailcall self.'attr'('lvalue', value, has_value) -.end - =item inline([STRING code]) Get/set the code to be used for inline PIR when C is diff --git a/compilers/pct/src/POST/Node.pir b/compilers/pct/src/POST/Node.pir index b4582efe18..10db978071 100644 --- a/compilers/pct/src/POST/Node.pir +++ b/compilers/pct/src/POST/Node.pir @@ -46,10 +46,6 @@ C (see F). =over 4 -=item result([value]) - -Get/set - =cut .namespace [ 'POST';'Node' ] diff --git a/compilers/pirc/src/pircapi.c b/compilers/pirc/src/pircapi.c index 30a1f93979..d5fc2ee5e8 100644 --- a/compilers/pirc/src/pircapi.c +++ b/compilers/pirc/src/pircapi.c @@ -17,6 +17,9 @@ /* HEADERIZER BEGIN: static */ /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ +/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ +/* HEADERIZER END: static */ + /* @@ -72,16 +75,14 @@ open_file(ARGIN(char const * const filename), ARGIN(char const * const mode)) =item C -=cut - This will be the proper declaration after testing for thread-safety: void parse_file(int flexdebug, FILE *infile, char * const filename, int flags, char * const outputfile) -*/ - +=cut +*/ void parse_file(PARROT_INTERP, int flexdebug, ARGIN(FILE *infile), @@ -260,6 +261,8 @@ parse_string(PARROT_INTERP, ARGIN(char *pirstring), int flags, int pasminput, =item C +Returns NULL. + =cut */ @@ -274,8 +277,6 @@ pirc_compile_file(SHIM_INTERP, SHIM(const char *filename), } -/* HEADERIZER END: static */ - /* diff --git a/config/gen/core_pmcs.pm b/config/gen/core_pmcs.pm index 74c34a0bb3..24c8ac64bb 100644 --- a/config/gen/core_pmcs.pm +++ b/config/gen/core_pmcs.pm @@ -76,7 +76,7 @@ END_H END_H print {$OUT} coda(); - close $OUT or die "Can't close file: $!";; + close $OUT or die "Can't close file: $!"; move_if_diff( "$file.tmp", $file ); diff --git a/config/gen/makefiles/editor.in b/config/gen/makefiles/editor.in index ea508b7033..7fc604960d 100644 --- a/config/gen/makefiles/editor.in +++ b/config/gen/makefiles/editor.in @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2009, Parrot Foundation. +# Copyright (C) 2005-2010, Parrot Foundation. # $Id$ #IF(win32):VIM_DIR = $(USERPROFILE)/vimfiles @@ -13,6 +13,9 @@ CP = @cp@ MKPATH = @mkpath@ RM_F = @rm_f@ +SKEL_FILE_DIR = `$(PERL) -e 'print "$(SKELETON)" || "$(VIM_DIR)"'` +LINE = "au BufNewFile *.pir 0r $(SKEL_FILE_DIR)/skeleton.pir" + default: all all: pir.vim imc.kate skeleton.pir @@ -49,6 +52,7 @@ vim-install: pir.vim skeleton.pir $(CP) pmc.vim "$(VIM_SYN_DIR)" $(MKPATH) "$(VIM_FT_DIR)" $(CP) filetype_parrot.vim "$(VIM_FT_DIR)/parrot.vim" + echo $(LINE) >> "$(VIM_FT_DIR)/parrot.vim" $(MKPATH) "$(VIM_IN_DIR)" $(CP) indent_pir.vim "$(VIM_IN_DIR)/pir.vim" diff --git a/config/gen/makefiles/root.in b/config/gen/makefiles/root.in index ef6f86245e..a090644745 100644 --- a/config/gen/makefiles/root.in +++ b/config/gen/makefiles/root.in @@ -1217,7 +1217,8 @@ examples-clean: examples/mops/mops$(EXE) \ examples/pasm/hello.pbc \ examples/pasm/hello$(O) \ - examples/pasm/hello$(EXE) + examples/pasm/hello$(EXE) \ + generated_hello.pbc # hello hello: test_prep examples/pasm/hello$(EXE) @@ -2418,6 +2419,8 @@ release : MANIFEST MANIFEST.generated tar -zcv -T - -f parrot-$(VERSION).tar.gz $(PERL) -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' \ MANIFEST | tar -jcv -T - -f parrot-$(VERSION).tar.bz2 + sha256sum parrot-$(VERSION).tar.gz > parrot-$(VERSION).tar.gz.sha256 + sha256sum parrot-$(VERSION).tar.bz2 > parrot-$(VERSION).tar.bz2.sha256 mv MANIFEST.real MANIFEST rm parrot-$(VERSION) diff --git a/config/gen/opengl.pm b/config/gen/opengl.pm index 794d6458d8..548a7ea32e 100644 --- a/config/gen/opengl.pm +++ b/config/gen/opengl.pm @@ -245,6 +245,7 @@ my %C_TYPE = ( GLsizeiptr => 'ptrdiff_t', GLintptrARB => 'ptrdiff_t', GLsizeiptrARB => 'ptrdiff_t', + GLvdpauSurfaceNV => 'ptrdiff_t', ); my %NCI_TYPE = ( @@ -265,6 +266,7 @@ my %NCI_TYPE = ( 'short*' => 'p', 'int*' => 'p', 'long*' => 'p', + 'ptrdiff_t*' => 'p', 'longlong*' => 'p', 'float*' => 'p', 'double*' => 'p', diff --git a/config/gen/platform.pm b/config/gen/platform.pm index 864cfe56d8..daf58ad017 100644 --- a/config/gen/platform.pm +++ b/config/gen/platform.pm @@ -191,7 +191,6 @@ sub _set_implementations { dl.c stat.c math.c - memalign.c signal.c itimer.c memexec.c diff --git a/config/gen/platform/ansi/dl.c b/config/gen/platform/ansi/dl.c index 998fba0a3f..1d6b06e851 100644 --- a/config/gen/platform/ansi/dl.c +++ b/config/gen/platform/ansi/dl.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2007, Parrot Foundation. + * Copyright (C) 2007-2010, Parrot Foundation. */ /* @@ -11,20 +11,16 @@ config/gen/platform/ansi/dl.c =head1 DESCRIPTION -Dynlib stuff. (Currently, just placeholders.) +Parrot functions -- B -- which wrap around standard +library functions for handling dynamic libraries. =head2 Functions =over 4 -=cut - -*/ - -/* +=item C -=item C +Parrot wrapper around C. B =cut @@ -42,6 +38,8 @@ Parrot_dlopen(const char *filename, SHIM(Parrot_dlopen_flags flags)) =item C +Parrot wrapper around C. B + =cut */ @@ -57,6 +55,8 @@ Parrot_dlerror(void) =item C +Parrot wrapper around C. B + =cut */ @@ -73,6 +73,8 @@ Parrot_dlsym(void *handle, const char *symbol) =item C +Parrot wrapper around C. B + =cut */ diff --git a/config/gen/platform/ansi/exec.c b/config/gen/platform/ansi/exec.c index a7a1a770ec..c5633c9cc7 100644 --- a/config/gen/platform/ansi/exec.c +++ b/config/gen/platform/ansi/exec.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2008, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -25,7 +25,7 @@ Functions for dealing with child processes and Execs. (Currently not implemented =item C -Spawn a subprocess +B Spawn a subprocess. =cut @@ -43,6 +43,8 @@ Parrot_Run_OS_Command(PARROT_INTERP, STRING *command) =item C +B + =cut */ diff --git a/config/gen/platform/ansi/time.c b/config/gen/platform/ansi/time.c index 1d313c51a1..c054c55922 100644 --- a/config/gen/platform/ansi/time.c +++ b/config/gen/platform/ansi/time.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2007, Parrot Foundation. + * Copyright (C) 2007-2010, Parrot Foundation. */ /* @@ -27,6 +27,8 @@ Time-related functions. =item C +Parrot wrapper around standard library C function, returning an INTVAL. + =cut */ @@ -42,6 +44,9 @@ Parrot_intval_time(void) =item C +Note: We are unable to provide this level of precision under ANSI-C, so we +just fall back to intval time for this. + =cut */ @@ -49,8 +54,6 @@ Parrot_intval_time(void) FLOATVAL Parrot_floatval_time(void) { - /* unable to provide this level of precision under ANSI-C, so just fall - back to intval time for this. */ Parrot_warn(NULL, PARROT_WARNINGS_PLATFORM_FLAG, "Parrot_floatval_time not accurate"); return (FLOATVAL)Parrot_intval_time(); } diff --git a/config/gen/platform/darwin/memalign.c b/config/gen/platform/darwin/memalign.c deleted file mode 100644 index 3c0624ba08..0000000000 --- a/config/gen/platform/darwin/memalign.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2007-2008, Parrot Foundation. - */ - -/* - -=head1 NAME - -memalign.c - -=head1 DESCRIPTION - -memalign related stuff - -=head2 Functions - -=over 4 - -=cut - -*/ - -#include -#include - -/* - -=item C - -=cut - -*/ - -static unsigned long log2int(unsigned long x) { - return (x < 2) ? 0 : log2int(x >> 1) + 1; -} - -/* - -=item C - -=cut - -*/ - -static unsigned long roundDownPowerOf2(unsigned long x) { - return (1 << log2int(x)); -} - -/* - -=item C - -=cut - -*/ - -static unsigned long roundUpPowerOf2(unsigned long x) -{ - static unsigned long one = 1; - unsigned long log2Int = log2int(x); - - return ((one << log2Int) == x) ? x : (one << (log2Int + 1)); -} - -/* - -=item C - -=cut - -*/ - -static unsigned long roundUpToPageBoundary(unsigned long x) -{ - unsigned long roundedDown = trunc_page(x); - - return (roundedDown == x) ? x : (roundedDown + vm_page_size); -} - -typedef struct _memalign_marker_t { - vm_address_t start; - vm_size_t size; -} memalign_marker_t; - -/* - -=item C - -=cut - -*/ - -void * -Parrot_memalign(size_t align, size_t size) -{ - size_t effectiveAlign = align; - size_t padding = 0; - size_t amountToAllocate = 0; - - if (effectiveAlign < sizeof (void *)) - effectiveAlign = roundUpPowerOf2(sizeof (void *)); - else - effectiveAlign = roundUpPowerOf2(effectiveAlign); - - if (effectiveAlign < sizeof (memalign_marker_t)) - padding = sizeof (memalign_marker_t); - else - padding = effectiveAlign; - - amountToAllocate = roundUpToPageBoundary(size + padding); - - { - vm_address_t p = (vm_address_t)NULL; - kern_return_t status = vm_allocate(mach_task_self(), &p, - amountToAllocate, 1); - - if (status != KERN_SUCCESS) - return NULL; - else { - vm_size_t logEffectiveAlign = log2int(effectiveAlign); - vm_address_t lowestAvaliableAddress = - p + sizeof (memalign_marker_t); - vm_address_t roundedDownAddress = - ((lowestAvaliableAddress >> logEffectiveAlign) - << logEffectiveAlign); - vm_address_t returnAddress = - (roundedDownAddress == lowestAvaliableAddress) - ? lowestAvaliableAddress - : (roundedDownAddress + effectiveAlign); - vm_address_t firstUnneededPage = 0; - - memalign_marker_t *marker = - (memalign_marker_t *)returnAddress - 1; - - /* lowest address used, then round down to vm_page boundary */ - vm_address_t usedPageBase = trunc_page((vm_address_t)marker); - marker->start = usedPageBase; - marker->size = returnAddress + size - usedPageBase; - - if (usedPageBase > p) { - status = vm_deallocate(mach_task_self(), p, usedPageBase - p); - - if (status != KERN_SUCCESS) - fprintf(stderr, "Parrot_memalign(%zx, %zx) failed " - "to deallocate extra header space.\n", - align, size); - } - - firstUnneededPage = roundUpToPageBoundary(returnAddress + size); - - if (firstUnneededPage < p + amountToAllocate) { - status = vm_deallocate(mach_task_self(), firstUnneededPage, - p + amountToAllocate - firstUnneededPage); - - if (status != KERN_SUCCESS) { - fprintf(stderr, "Parrot_memalign(%zx, %zx) failed " - "to deallocate extra footer space.\n", - align, size); - } - } - - return (void *)returnAddress; - } - } -} - -/* - -=item C - -=cut - -*/ - -void -Parrot_free_memalign(void *p) -{ - memalign_marker_t *marker = (memalign_marker_t *)p - 1; - kern_return_t status = vm_deallocate(mach_task_self(), - marker->start, marker->size); - - if (status != KERN_SUCCESS) - fprintf(stderr, "Parrot_free_memalign(%p) failed!\n", p); -} - -/* - -=back - -=cut - -*/ - -/* - * Local variables: - * c-file-style: "parrot" - * End: - * vim: expandtab shiftwidth=4: - */ diff --git a/config/gen/platform/generic/dl.c b/config/gen/platform/generic/dl.c index cdae6e5160..bd5a78dbd1 100644 --- a/config/gen/platform/generic/dl.c +++ b/config/gen/platform/generic/dl.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2006, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ config/gen/platform/generic/dl.c =head1 DESCRIPTION -Dynlib stuff +Parrot functions which wrap around standard library functions for handling dynamic libraries. =head2 Functions @@ -31,6 +31,9 @@ Dynlib stuff =item C +Parrot wrapper around C. Loads dynamic library file named by first +argument and returns a handle to it. + =cut */ @@ -50,6 +53,9 @@ Parrot_dlopen(const char *filename, Parrot_dlopen_flags flags) =item C +Wrapper around C. System-dependent string that indicates most recent +failure in use of C, C or C. + =cut */ @@ -68,6 +74,9 @@ Parrot_dlerror(void) =item C +Wrapper around C. Takes a handle returned by C and +returns address where symbol is located. + =cut */ @@ -86,6 +95,9 @@ Parrot_dlsym(void *handle, const char *symbol) =item C +Wrapper around C. Releases reference to dynamic library specified +by argument. Returns C<0> on success and C<-1> on failure. + =cut */ diff --git a/config/gen/platform/generic/env.c b/config/gen/platform/generic/env.c index f5f7b1b523..44321a2414 100644 --- a/config/gen/platform/generic/env.c +++ b/config/gen/platform/generic/env.c @@ -74,13 +74,13 @@ UnSet Environment vars void Parrot_unsetenv(PARROT_INTERP, STRING *str_name) { - char * const name = Parrot_str_to_cstring(interp, str_name); #ifdef PARROT_HAS_UNSETENV + char * const name = Parrot_str_to_cstring(interp, str_name); unsetenv(name); + Parrot_str_free_cstring(name); #else - Parrot_setenv(name, ""); + Parrot_setenv(interp, str_name, Parrot_str_new(interp, "", 0)); #endif - Parrot_str_free_cstring(name); } /* diff --git a/config/gen/platform/generic/exec.c b/config/gen/platform/generic/exec.c index a8ae60d741..dd6d0b75d9 100644 --- a/config/gen/platform/generic/exec.c +++ b/config/gen/platform/generic/exec.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2009, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ config/gen/platform/generic/exec.c =head1 DESCRIPTION -system() stuff +Parrot functions to run operating system commands. =head2 Functions @@ -28,8 +28,8 @@ system() stuff =item C -Spawn off a subprocess and wait for the damn thing to complete, -returning the return value of the process +Spawn off a subprocess provided in a string. Wait for it to complete, +returning the return value of the process. =cut @@ -72,6 +72,9 @@ Parrot_Run_OS_Command(PARROT_INTERP, STRING *command) =item C +Spawn off a subprocess provided in command-line arguments. Wait for it to +complete, returning the return value of the process. + =cut */ @@ -124,6 +127,14 @@ Parrot_Run_OS_Command_Argv(PARROT_INTERP, PMC *cmdargs) return 1; /* make gcc happy */ } +/* + +=back + +=cut + +*/ + /* * Local variables: * c-file-style: "parrot" diff --git a/config/gen/platform/generic/math.c b/config/gen/platform/generic/math.c index 4473010b14..340af6757a 100644 --- a/config/gen/platform/generic/math.c +++ b/config/gen/platform/generic/math.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2007, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -11,29 +11,21 @@ config/gen/platform/generic/math.c =head1 DESCRIPTION -math stuff +Mathematical functions. =head2 Functions =over 4 -=cut - -*/ - -/* - =item C -return true if the Numval has a negative sign. +Return true if the Numval has a negative sign. This is mostly for handling the -0.0 case. =cut */ -/* - */ #if DOUBLE_SIZE == 2 * INT_SIZE extern int Parrot_signbit(double x) @@ -55,6 +47,8 @@ Parrot_signbit(double x) =item C +Like C, only taking long double instead of double. + =cut */ diff --git a/config/gen/platform/generic/memalign.c b/config/gen/platform/generic/memalign.c deleted file mode 100644 index d9a25b1388..0000000000 --- a/config/gen/platform/generic/memalign.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * $Id$ - * Copyright (C) 2004-2006, Parrot Foundation. - */ - -/* - -=head1 NAME - -config/gen/platform/generic/memalign.c - -=head1 DESCRIPTION - -memalign related stuff - -=head2 Functions - -=over 4 - -=cut - -*/ - -#if defined(PARROT_HAS_POSIX_MEMALIGN) -# include - -/* - -=item C - -=cut - -*/ - -void * -Parrot_memalign(size_t align, size_t size) -{ - void *p; - int i = posix_memalign(&p, align, size); - return i == 0 ? p : NULL; -} - -#elif defined(PARROT_HAS_MEMALIGN) - -# if defined(PARROT_HAS_HEADER_MALLOC) -# include -# else -# include -# endif - -/* - -=item C - -=cut - -*/ - -void * -Parrot_memalign(size_t align, size_t size) -{ - return memalign(align, size); -} - -#endif - -/* - -=item C - -=cut - -*/ - -void -Parrot_free_memalign(void *p) -{ - free(p); -} - -/* - -=back - -=cut - -*/ - -/* - * Local variables: - * c-file-style: "parrot" - * End: - * vim: expandtab shiftwidth=4: - */ diff --git a/config/gen/platform/generic/stat.c b/config/gen/platform/generic/stat.c index d98411934c..1d8eebcbf0 100644 --- a/config/gen/platform/generic/stat.c +++ b/config/gen/platform/generic/stat.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2007-2008, Parrot Foundation. + * Copyright (C) 2007-2010, Parrot Foundation. */ /* @@ -26,6 +26,8 @@ File stat stuff =item C +B Returns C. + =cut */ @@ -41,6 +43,8 @@ Parrot_stat_file(SHIM_INTERP, SHIM(STRING *filename)) =item C +B Returns C. + =cut */ @@ -56,6 +60,55 @@ Parrot_stat_info_pmc(SHIM_INTERP, SHIM(STRING *filename), SHIM(INTVAL thing)) =item C +Stats the file, and returns the information specified by C. C can +be one of: + +=over 4 + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=item * C + +=back + +C and C are not supported and will return C<-1>. + =cut */ @@ -141,6 +194,8 @@ stat_common(PARROT_INTERP, struct stat *statbuf, INTVAL thing, int status) =item C +Returns the stat field given by C of file C. + =cut */ @@ -164,6 +219,8 @@ Parrot_stat_info_intval(PARROT_INTERP, STRING *file, INTVAL thing) =item C +Returns the fstat field given by C from file identifier C. + =cut */ @@ -184,6 +241,8 @@ Parrot_fstat_info_intval(PARROT_INTERP, INTVAL file, INTVAL thing) =item C +Currently returns C<-1.0> and has no side effects. + =cut */ @@ -199,6 +258,8 @@ Parrot_stat_info_floatval(SHIM_INTERP, SHIM(STRING *filename), SHIM(INTVAL thing =item C +B Returns C. + =cut */ diff --git a/config/gen/platform/generic/time.c b/config/gen/platform/generic/time.c index 30a5185282..c144685591 100644 --- a/config/gen/platform/generic/time.c +++ b/config/gen/platform/generic/time.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2006, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ config/gen/platform/generic/time.c =head1 DESCRIPTION -Time stuff +Parrot time-related functions. =head2 Functions @@ -28,6 +28,8 @@ Time stuff =item C +Parrot wrapper around standard library C function, returning an INTVAL. + =cut */ @@ -43,6 +45,8 @@ Parrot_intval_time(void) =item C +Parrot wrapper around standard library C function, returning a FLOATVAL. + =cut */ @@ -59,6 +63,8 @@ Parrot_floatval_time(void) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -90,6 +96,8 @@ Parrot_usleep(unsigned int microseconds) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -105,6 +113,8 @@ Parrot_gmtime_r(const time_t *t, struct tm *tm) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -120,6 +130,8 @@ Parrot_localtime_r(const time_t *t, struct tm *tm) =item C +Parrot wrapper around standard library C function. + =cut */ diff --git a/config/gen/platform/netbsd/math.c b/config/gen/platform/netbsd/math.c index bb538cb809..23a369ce75 100644 --- a/config/gen/platform/netbsd/math.c +++ b/config/gen/platform/netbsd/math.c @@ -1,7 +1,7 @@ /* $Id$ */ /* - * Copyright (C) 2006-2007, Parrot Foundation. + * Copyright (C) 2006-2010, Parrot Foundation. */ /* @@ -12,7 +12,7 @@ math.c =head1 DESCRIPTION -math stuff +Mathematical functions. =head2 Functions @@ -29,7 +29,7 @@ math stuff =item C -return true if the Numval has a negative sign. +Return true if the Numval has a negative sign. This is mostly for handling the -0.0 case. =cut @@ -57,6 +57,8 @@ Parrot_signbit(double x) =item C +Like C, only taking long double instead of double. + =cut */ diff --git a/config/gen/platform/openbsd/math.c b/config/gen/platform/openbsd/math.c index 9c5d67c993..48fab8e2dc 100644 --- a/config/gen/platform/openbsd/math.c +++ b/config/gen/platform/openbsd/math.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2006-2007, Parrot Foundation. + * Copyright (C) 2006-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ math.c =head1 DESCRIPTION -math stuff +Mathematical functions. =head2 Functions @@ -37,7 +37,7 @@ _LIB_VERSION_TYPE _LIB_VERSION = _IEEE_; =item C -return true if the Numval has a negative sign. +Return true if the Numval has a negative sign. This is mostly for handling the -0.0 case. =cut @@ -65,6 +65,8 @@ Parrot_signbit(double x) =item C +Like C, only taking long double instead of double. + =cut */ diff --git a/config/gen/platform/solaris/math.c b/config/gen/platform/solaris/math.c index 0b49513b2e..c671fea3ca 100644 --- a/config/gen/platform/solaris/math.c +++ b/config/gen/platform/solaris/math.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2006-2007, Parrot Foundation. + * Copyright (C) 2006-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ math.c =head1 DESCRIPTION -math stuff +Mathematical functions. =head2 Functions @@ -35,7 +35,7 @@ math stuff =item C -return true if the Numval has a negative sign. +Return true if the Numval has a negative sign. This is mostly for handling the -0.0 case. =cut @@ -63,6 +63,8 @@ Parrot_signbit(double x) =item C +Like C, only taking long double instead of double. + =cut */ diff --git a/config/gen/platform/solaris/time.c b/config/gen/platform/solaris/time.c index 27ec08b4da..23877830d6 100644 --- a/config/gen/platform/solaris/time.c +++ b/config/gen/platform/solaris/time.c @@ -1,6 +1,6 @@ /* * $Id$ - * Copyright (C) 2004-2006, Parrot Foundation. + * Copyright (C) 2004-2010, Parrot Foundation. */ /* @@ -11,7 +11,7 @@ time.c =head1 DESCRIPTION -Time stuff +Parrot time-related functions. =head2 Functions @@ -28,6 +28,8 @@ Time stuff =item C +Parrot wrapper around standard library C function, returning an INTVAL. + =cut */ @@ -43,6 +45,8 @@ Parrot_intval_time(void) =item C +Parrot wrapper around standard library C function, returning a FLOATVAL. + =cut */ @@ -59,6 +63,8 @@ Parrot_floatval_time(void) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -90,6 +96,8 @@ Parrot_usleep(unsigned int microseconds) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -105,6 +113,8 @@ Parrot_gmtime_r(const time_t *t, struct tm *tm) =item C +Parrot wrapper around standard library C function. + =cut */ @@ -120,6 +130,8 @@ Parrot_localtime_r(const time_t *t, struct tm *tm) =item C +Parrot wrapper around standard library C function. + =cut */ diff --git a/docs/project/release_manager_guide.pod b/docs/project/release_manager_guide.pod index 504f6c3571..417eb605af 100644 --- a/docs/project/release_manager_guide.pod +++ b/docs/project/release_manager_guide.pod @@ -231,9 +231,11 @@ create the new directory in F<~/ftp/releases/supported> instead. $ mkdir ~/ftp/releases/supported/a.b.c -Copy the different compressed tarballs from your machine into the new directory. +Copy the different compressed tarballs and the according checksum files from +your machine into the new directory. $ scp parrot-a.b.c.tar.gz parrot-a.b.c.tar.bz2 \ + parrot-a.b.c.tar.gz.sha256 parrot-a.b.c.tar.bz2.sha256 \ @ftp-osl.osuosl.org:~/ftp/releases/devel/a.b.c/. (Or using C or whatever tool you prefer.) @@ -407,9 +409,13 @@ The calendar of releases is available at the comp.lang.parrot google calendar, visible at L. - - Jul 20, 2010 - 2.6* - coke - - Aug 17, 2010 - 2.7 - ?? - - Sep 21, 2010 - 2.8 - gerd + - Jul 20, 2010 - 2.6* - coke + - Aug 17, 2010 - 2.7 - mikehh + - Sep 21, 2010 - 2.8 - gerd + - Oct 19, 2010 - 2.9* - ?? + - Nov 16, 2010 - 2.10 - ?? + - Dec 21, 2010 - 2.11 - ?? + - Jan 18, 2010 - 3.0* - ?? =cut diff --git a/editor/README.pod b/editor/README.pod index 5ff31b499e..c8425ae39d 100644 --- a/editor/README.pod +++ b/editor/README.pod @@ -14,14 +14,20 @@ your favorite editor. For a summary on what is available do =head2 Vim -Calling C in the F directory will -install several files in F<~/.vim>. All these files have the F<.vim> +By default calling C in the F directory will +install several files in F<~/.vim>. You can use the variable C +on the command line by calling C to choose a different target directory +for the vim files. + + make vim-install [VIM_DIR=/vim_files_target_directory] + +All these files have the F<.vim> extension. F (generated from F), F, and F are syntax files; F is an indent plugin; and F is a filetype script that tells vim to associate the extensions .pir, .pasm, and .pmc with the right syntax. The syntax files are installed to F<~/.vim/syntax/>; -F is installed to F<~/.vim/ftdetect>; +F is installed to F<~/.vim/parrot.vim>; F is copied to F<~/.vim/indent/pir.vim>. If you want indenting, you should also place C somewhere in your F<~/.vimrc>. @@ -35,7 +41,8 @@ Run: in F to build it. -TODO: How do we install Kate syntax files? +Copy the file F to F<~/.kde/share/apps/katepart/systax>. +TODO: Not tested if this really works! =head2 Emacs diff --git a/editor/filetype_parrot.vim b/editor/filetype_parrot.vim index 74cb6cb7e5..12383b2164 100644 --- a/editor/filetype_parrot.vim +++ b/editor/filetype_parrot.vim @@ -1,4 +1,3 @@ au BufNewFile,BufRead *.pmc set ft=pmc cindent au BufNewFile,BufRead *.pasm set ft=pasm ai sw=4 au BufNewFile,BufRead *.pir set ft=pir ai sw=4 -au BufNewFile *.pir 0r ~/.vim/skeleton.pir diff --git a/editor/mk_skeleton.pir b/editor/mk_skeleton.pir index a4b6102463..f64ea13621 100644 --- a/editor/mk_skeleton.pir +++ b/editor/mk_skeleton.pir @@ -4,6 +4,7 @@ # Generate a skeleton PIR file that adheres to parrot developer standards. # intended for people who hack on parrot itself, not users of parrot. +.loadlib 'sys_ops' .include 'tm.pasm' .sub 'main' :main diff --git a/examples/compilers/japhc.c b/examples/compilers/japhc.c index 3d2c5b237b..18574cce9c 100644 --- a/examples/compilers/japhc.c +++ b/examples/compilers/japhc.c @@ -69,6 +69,8 @@ Parrot_lib_japhc_init(PARROT_INTERP, PMC* lib) =item C +Unescape a string. + =cut */ diff --git a/examples/pir/make_hello_pbc.pir b/examples/pir/make_hello_pbc.pir index 32aa2067a1..2da4369e10 100644 --- a/examples/pir/make_hello_pbc.pir +++ b/examples/pir/make_hello_pbc.pir @@ -66,6 +66,7 @@ $P0['ns_entry_name']= 'hello' $P0['method'] = '' $P0['HLL_id'] = 0 + $P0['vtable_index'] = -1 # It required to store sub in namespace $P1 = new 'Sub', $P0 # and store it in PackfileConstantTable diff --git a/ext/nqp-rx/src/stage0/HLL-s0.pir b/ext/nqp-rx/src/stage0/HLL-s0.pir index 0c7b0c127c..05359e60a7 100644 --- a/ext/nqp-rx/src/stage0/HLL-s0.pir +++ b/ext/nqp-rx/src/stage0/HLL-s0.pir @@ -902,7 +902,7 @@ An operator precedence parser. ### .include 'gen/hllgrammar-grammar.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996299.39152") +.sub "_block11" :anon :subid("10_1278500527.62277") .annotate 'line', 0 get_hll_global $P14, ["HLL";"Grammar"], "_block13" capture_lex $P14 @@ -919,15 +919,15 @@ An operator precedence parser. $P348 = $P14() .annotate 'line', 1 .return ($P348) - .const 'Sub' $P350 = "106_1276996299.39152" + .const 'Sub' $P350 = "106_1278500527.62277" .return ($P350) .end .namespace [] -.sub "" :load :init :subid("post107") :outer("10_1276996299.39152") +.sub "" :load :init :subid("post107") :outer("10_1278500527.62277") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996299.39152" + .const 'Sub' $P12 = "10_1278500527.62277" .local pmc block set block, $P12 $P353 = get_root_global ["parrot"], "P6metaclass" @@ -936,83 +936,83 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "_block13" :subid("11_1276996299.39152") :outer("10_1276996299.39152") +.sub "_block13" :subid("11_1278500527.62277") :outer("10_1278500527.62277") .annotate 'line', 5 - .const 'Sub' $P334 = "103_1276996299.39152" + .const 'Sub' $P334 = "103_1278500527.62277" capture_lex $P334 - .const 'Sub' $P327 = "101_1276996299.39152" + .const 'Sub' $P327 = "101_1278500527.62277" capture_lex $P327 - .const 'Sub' $P314 = "98_1276996299.39152" + .const 'Sub' $P314 = "98_1278500527.62277" capture_lex $P314 - .const 'Sub' $P282 = "93_1276996299.39152" + .const 'Sub' $P282 = "93_1278500527.62277" capture_lex $P282 - .const 'Sub' $P276 = "91_1276996299.39152" + .const 'Sub' $P276 = "91_1278500527.62277" capture_lex $P276 - .const 'Sub' $P271 = "89_1276996299.39152" + .const 'Sub' $P271 = "89_1278500527.62277" capture_lex $P271 - .const 'Sub' $P265 = "87_1276996299.39152" + .const 'Sub' $P265 = "87_1278500527.62277" capture_lex $P265 - .const 'Sub' $P259 = "85_1276996299.39152" + .const 'Sub' $P259 = "85_1278500527.62277" capture_lex $P259 - .const 'Sub' $P254 = "83_1276996299.39152" + .const 'Sub' $P254 = "83_1278500527.62277" capture_lex $P254 - .const 'Sub' $P249 = "81_1276996299.39152" + .const 'Sub' $P249 = "81_1278500527.62277" capture_lex $P249 - .const 'Sub' $P244 = "79_1276996299.39152" + .const 'Sub' $P244 = "79_1278500527.62277" capture_lex $P244 - .const 'Sub' $P239 = "77_1276996299.39152" + .const 'Sub' $P239 = "77_1278500527.62277" capture_lex $P239 - .const 'Sub' $P234 = "75_1276996299.39152" + .const 'Sub' $P234 = "75_1278500527.62277" capture_lex $P234 - .const 'Sub' $P229 = "73_1276996299.39152" + .const 'Sub' $P229 = "73_1278500527.62277" capture_lex $P229 - .const 'Sub' $P224 = "71_1276996299.39152" + .const 'Sub' $P224 = "71_1278500527.62277" capture_lex $P224 - .const 'Sub' $P219 = "69_1276996299.39152" + .const 'Sub' $P219 = "69_1278500527.62277" capture_lex $P219 - .const 'Sub' $P208 = "65_1276996299.39152" + .const 'Sub' $P208 = "65_1278500527.62277" capture_lex $P208 - .const 'Sub' $P195 = "63_1276996299.39152" + .const 'Sub' $P195 = "63_1278500527.62277" capture_lex $P195 - .const 'Sub' $P183 = "61_1276996299.39152" + .const 'Sub' $P183 = "61_1278500527.62277" capture_lex $P183 - .const 'Sub' $P176 = "59_1276996299.39152" + .const 'Sub' $P176 = "59_1278500527.62277" capture_lex $P176 - .const 'Sub' $P167 = "57_1276996299.39152" + .const 'Sub' $P167 = "57_1278500527.62277" capture_lex $P167 - .const 'Sub' $P160 = "55_1276996299.39152" + .const 'Sub' $P160 = "55_1278500527.62277" capture_lex $P160 - .const 'Sub' $P151 = "53_1276996299.39152" + .const 'Sub' $P151 = "53_1278500527.62277" capture_lex $P151 - .const 'Sub' $P144 = "51_1276996299.39152" + .const 'Sub' $P144 = "51_1278500527.62277" capture_lex $P144 - .const 'Sub' $P135 = "49_1276996299.39152" + .const 'Sub' $P135 = "49_1278500527.62277" capture_lex $P135 - .const 'Sub' $P128 = "47_1276996299.39152" + .const 'Sub' $P128 = "47_1278500527.62277" capture_lex $P128 - .const 'Sub' $P121 = "45_1276996299.39152" + .const 'Sub' $P121 = "45_1278500527.62277" capture_lex $P121 - .const 'Sub' $P111 = "43_1276996299.39152" + .const 'Sub' $P111 = "43_1278500527.62277" capture_lex $P111 - .const 'Sub' $P103 = "41_1276996299.39152" + .const 'Sub' $P103 = "41_1278500527.62277" capture_lex $P103 - .const 'Sub' $P93 = "40_1276996299.39152" + .const 'Sub' $P93 = "40_1278500527.62277" capture_lex $P93 - .const 'Sub' $P87 = "38_1276996299.39152" + .const 'Sub' $P87 = "38_1278500527.62277" capture_lex $P87 - .const 'Sub' $P82 = "36_1276996299.39152" + .const 'Sub' $P82 = "36_1278500527.62277" capture_lex $P82 - .const 'Sub' $P74 = "34_1276996299.39152" + .const 'Sub' $P74 = "34_1278500527.62277" capture_lex $P74 - .const 'Sub' $P68 = "32_1276996299.39152" + .const 'Sub' $P68 = "32_1278500527.62277" capture_lex $P68 - .const 'Sub' $P62 = "30_1276996299.39152" + .const 'Sub' $P62 = "30_1278500527.62277" capture_lex $P62 - .const 'Sub' $P56 = "28_1276996299.39152" + .const 'Sub' $P56 = "28_1278500527.62277" capture_lex $P56 - .const 'Sub' $P23 = "14_1276996299.39152" + .const 'Sub' $P23 = "14_1278500527.62277" capture_lex $P23 - .const 'Sub' $P15 = "12_1276996299.39152" + .const 'Sub' $P15 = "12_1278500527.62277" capture_lex $P15 $P0 = find_dynamic_lex "$*CTXSAVE" if null $P0 goto ctxsave_done @@ -1021,17 +1021,17 @@ An operator precedence parser. $P0."ctxsave"() ctxsave_done: .annotate 'line', 33 - .const 'Sub' $P334 = "103_1276996299.39152" + .const 'Sub' $P334 = "103_1278500527.62277" capture_lex $P334 .annotate 'line', 5 .return ($P334) - .const 'Sub' $P345 = "105_1276996299.39152" + .const 'Sub' $P345 = "105_1278500527.62277" .return ($P345) .end .namespace ["HLL";"Grammar"] -.sub "ws" :subid("12_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "ws" :subid("12_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx16_tgt .local int rx16_pos @@ -1116,7 +1116,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__ws" :subid("13_1276996299.39152") :method +.sub "!PREFIX__ws" :subid("13_1278500527.62277") :method .annotate 'line', 5 new $P18, "ResizablePMCArray" push $P18, "" @@ -1125,7 +1125,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "termish" :subid("14_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "termish" :subid("14_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx24_tgt .local int rx24_pos @@ -1135,7 +1135,7 @@ An operator precedence parser. .local pmc rx24_cur (rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"() rx24_cur."!cursor_debug"("START ", "termish") - rx24_cur."!cursor_caparray"("prefixish", "postfixish") + rx24_cur."!cursor_caparray"("postfixish", "prefixish") .lex unicode:"$\x{a2}", rx24_cur .local pmc match .lex "$/", match @@ -1218,7 +1218,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__termish" :subid("15_1276996299.39152") :method +.sub "!PREFIX__termish" :subid("15_1278500527.62277") :method .annotate 'line', 5 new $P26, "ResizablePMCArray" push $P26, "" @@ -1227,7 +1227,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "term" :subid("16_1276996299.39152") :method +.sub "term" :subid("16_1278500527.62277") :method .annotate 'line', 13 $P33 = self."!protoregex"("term") .return ($P33) @@ -1235,7 +1235,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__term" :subid("17_1276996299.39152") :method +.sub "!PREFIX__term" :subid("17_1278500527.62277") :method .annotate 'line', 13 $P35 = self."!PREFIX__!protoregex"("term") .return ($P35) @@ -1243,7 +1243,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "infix" :subid("18_1276996299.39152") :method +.sub "infix" :subid("18_1278500527.62277") :method .annotate 'line', 14 $P37 = self."!protoregex"("infix") .return ($P37) @@ -1251,7 +1251,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__infix" :subid("19_1276996299.39152") :method +.sub "!PREFIX__infix" :subid("19_1278500527.62277") :method .annotate 'line', 14 $P39 = self."!PREFIX__!protoregex"("infix") .return ($P39) @@ -1259,7 +1259,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "prefix" :subid("20_1276996299.39152") :method +.sub "prefix" :subid("20_1278500527.62277") :method .annotate 'line', 15 $P41 = self."!protoregex"("prefix") .return ($P41) @@ -1267,7 +1267,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__prefix" :subid("21_1276996299.39152") :method +.sub "!PREFIX__prefix" :subid("21_1278500527.62277") :method .annotate 'line', 15 $P43 = self."!PREFIX__!protoregex"("prefix") .return ($P43) @@ -1275,7 +1275,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "postfix" :subid("22_1276996299.39152") :method +.sub "postfix" :subid("22_1278500527.62277") :method .annotate 'line', 16 $P45 = self."!protoregex"("postfix") .return ($P45) @@ -1283,7 +1283,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__postfix" :subid("23_1276996299.39152") :method +.sub "!PREFIX__postfix" :subid("23_1278500527.62277") :method .annotate 'line', 16 $P47 = self."!PREFIX__!protoregex"("postfix") .return ($P47) @@ -1291,7 +1291,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "circumfix" :subid("24_1276996299.39152") :method +.sub "circumfix" :subid("24_1278500527.62277") :method .annotate 'line', 17 $P49 = self."!protoregex"("circumfix") .return ($P49) @@ -1299,7 +1299,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__circumfix" :subid("25_1276996299.39152") :method +.sub "!PREFIX__circumfix" :subid("25_1278500527.62277") :method .annotate 'line', 17 $P51 = self."!PREFIX__!protoregex"("circumfix") .return ($P51) @@ -1307,7 +1307,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "postcircumfix" :subid("26_1276996299.39152") :method +.sub "postcircumfix" :subid("26_1278500527.62277") :method .annotate 'line', 18 $P53 = self."!protoregex"("postcircumfix") .return ($P53) @@ -1315,7 +1315,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__postcircumfix" :subid("27_1276996299.39152") :method +.sub "!PREFIX__postcircumfix" :subid("27_1278500527.62277") :method .annotate 'line', 18 $P55 = self."!PREFIX__!protoregex"("postcircumfix") .return ($P55) @@ -1323,7 +1323,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "term:sym" :subid("28_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "term:sym" :subid("28_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx57_tgt .local int rx57_pos @@ -1382,7 +1382,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__term:sym" :subid("29_1276996299.39152") :method +.sub "!PREFIX__term:sym" :subid("29_1278500527.62277") :method .annotate 'line', 5 $P59 = self."!PREFIX__!subrule"("circumfix", "") new $P60, "ResizablePMCArray" @@ -1392,7 +1392,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "infixish" :subid("30_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "infixish" :subid("30_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx63_tgt .local int rx63_pos @@ -1451,7 +1451,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__infixish" :subid("31_1276996299.39152") :method +.sub "!PREFIX__infixish" :subid("31_1278500527.62277") :method .annotate 'line', 5 $P65 = self."!PREFIX__!subrule"("infix", "") new $P66, "ResizablePMCArray" @@ -1461,7 +1461,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "prefixish" :subid("32_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "prefixish" :subid("32_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx69_tgt .local int rx69_pos @@ -1525,7 +1525,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__prefixish" :subid("33_1276996299.39152") :method +.sub "!PREFIX__prefixish" :subid("33_1278500527.62277") :method .annotate 'line', 5 $P71 = self."!PREFIX__!subrule"("prefix", "") new $P72, "ResizablePMCArray" @@ -1535,7 +1535,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "postfixish" :subid("34_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "postfixish" :subid("34_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx75_tgt .local int rx75_pos @@ -1610,7 +1610,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__postfixish" :subid("35_1276996299.39152") :method +.sub "!PREFIX__postfixish" :subid("35_1278500527.62277") :method .annotate 'line', 5 $P77 = self."!PREFIX__!subrule"("postcircumfix", "") $P78 = self."!PREFIX__!subrule"("postfix", "") @@ -1622,7 +1622,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "nullterm" :subid("36_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "nullterm" :subid("36_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx83_tgt .local int rx83_pos @@ -1674,7 +1674,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__nullterm" :subid("37_1276996299.39152") :method +.sub "!PREFIX__nullterm" :subid("37_1278500527.62277") :method .annotate 'line', 5 new $P85, "ResizablePMCArray" push $P85, "" @@ -1683,7 +1683,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "nullterm_alt" :subid("38_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "nullterm_alt" :subid("38_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 5 .local string rx88_tgt .local int rx88_pos @@ -1742,7 +1742,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__nullterm_alt" :subid("39_1276996299.39152") :method +.sub "!PREFIX__nullterm_alt" :subid("39_1278500527.62277") :method .annotate 'line', 5 $P90 = self."!PREFIX__!subrule"("nullterm", "") new $P91, "ResizablePMCArray" @@ -1753,7 +1753,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] .include "except_types.pasm" -.sub "nulltermish" :subid("40_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "nulltermish" :subid("40_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 new $P95, 'ExceptionHandler' set_addr $P95, control_94 @@ -1780,7 +1780,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_delimited" :subid("41_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_delimited" :subid("41_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx104_tgt .local int rx104_pos @@ -1863,7 +1863,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_delimited" :subid("42_1276996299.39152") :method +.sub "!PREFIX__quote_delimited" :subid("42_1278500527.62277") :method .annotate 'line', 33 $P106 = self."!PREFIX__!subrule"("starter", "") new $P107, "ResizablePMCArray" @@ -1873,7 +1873,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_atom" :subid("43_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_atom" :subid("43_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx112_tgt .local int rx112_pos @@ -1965,7 +1965,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_atom" :subid("44_1276996299.39152") :method +.sub "!PREFIX__quote_atom" :subid("44_1278500527.62277") :method .annotate 'line', 33 new $P114, "ResizablePMCArray" push $P114, "" @@ -1974,7 +1974,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "decint" :subid("45_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "decint" :subid("45_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx122_tgt .local int rx122_pos @@ -2047,7 +2047,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__decint" :subid("46_1276996299.39152") :method +.sub "!PREFIX__decint" :subid("46_1278500527.62277") :method .annotate 'line', 33 new $P124, "ResizablePMCArray" push $P124, "" @@ -2056,7 +2056,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "decints" :subid("47_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "decints" :subid("47_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx129_tgt .local int rx129_pos @@ -2141,7 +2141,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__decints" :subid("48_1276996299.39152") :method +.sub "!PREFIX__decints" :subid("48_1278500527.62277") :method .annotate 'line', 33 new $P131, "ResizablePMCArray" push $P131, "" @@ -2150,7 +2150,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "hexint" :subid("49_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "hexint" :subid("49_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx136_tgt .local int rx136_pos @@ -2232,7 +2232,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__hexint" :subid("50_1276996299.39152") :method +.sub "!PREFIX__hexint" :subid("50_1278500527.62277") :method .annotate 'line', 33 new $P138, "ResizablePMCArray" push $P138, "" @@ -2241,7 +2241,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "hexints" :subid("51_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "hexints" :subid("51_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx145_tgt .local int rx145_pos @@ -2326,7 +2326,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__hexints" :subid("52_1276996299.39152") :method +.sub "!PREFIX__hexints" :subid("52_1278500527.62277") :method .annotate 'line', 33 new $P147, "ResizablePMCArray" push $P147, "" @@ -2335,7 +2335,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "octint" :subid("53_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "octint" :subid("53_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx152_tgt .local int rx152_pos @@ -2417,7 +2417,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__octint" :subid("54_1276996299.39152") :method +.sub "!PREFIX__octint" :subid("54_1278500527.62277") :method .annotate 'line', 33 new $P154, "ResizablePMCArray" push $P154, "" @@ -2426,7 +2426,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "octints" :subid("55_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "octints" :subid("55_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx161_tgt .local int rx161_pos @@ -2511,7 +2511,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__octints" :subid("56_1276996299.39152") :method +.sub "!PREFIX__octints" :subid("56_1278500527.62277") :method .annotate 'line', 33 new $P163, "ResizablePMCArray" push $P163, "" @@ -2520,7 +2520,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "binint" :subid("57_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "binint" :subid("57_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx168_tgt .local int rx168_pos @@ -2602,7 +2602,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__binint" :subid("58_1276996299.39152") :method +.sub "!PREFIX__binint" :subid("58_1278500527.62277") :method .annotate 'line', 33 new $P170, "ResizablePMCArray" push $P170, "" @@ -2611,7 +2611,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "binints" :subid("59_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "binints" :subid("59_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx177_tgt .local int rx177_pos @@ -2696,7 +2696,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__binints" :subid("60_1276996299.39152") :method +.sub "!PREFIX__binints" :subid("60_1278500527.62277") :method .annotate 'line', 33 new $P179, "ResizablePMCArray" push $P179, "" @@ -2705,7 +2705,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "integer" :subid("61_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "integer" :subid("61_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx184_tgt .local int rx184_pos @@ -2854,7 +2854,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__integer" :subid("62_1276996299.39152") :method +.sub "!PREFIX__integer" :subid("62_1278500527.62277") :method .annotate 'line', 33 $P186 = self."!PREFIX__!subrule"("decint", "") $P187 = self."!PREFIX__!subrule"("decint", "0d") @@ -2872,7 +2872,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "dec_number" :subid("63_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "dec_number" :subid("63_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx196_tgt .local int rx196_pos @@ -3052,7 +3052,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__dec_number" :subid("64_1276996299.39152") :method +.sub "!PREFIX__dec_number" :subid("64_1278500527.62277") :method .annotate 'line', 33 new $P198, "ResizablePMCArray" push $P198, "" @@ -3063,7 +3063,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "escale" :subid("65_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "escale" :subid("65_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx209_tgt .local int rx209_pos @@ -3141,7 +3141,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__escale" :subid("66_1276996299.39152") :method +.sub "!PREFIX__escale" :subid("66_1278500527.62277") :method .annotate 'line', 33 new $P211, "ResizablePMCArray" push $P211, "e" @@ -3151,7 +3151,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape" :subid("67_1276996299.39152") :method +.sub "quote_escape" :subid("67_1278500527.62277") :method .annotate 'line', 79 $P216 = self."!protoregex"("quote_escape") .return ($P216) @@ -3159,7 +3159,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape" :subid("68_1276996299.39152") :method +.sub "!PREFIX__quote_escape" :subid("68_1278500527.62277") :method .annotate 'line', 79 $P218 = self."!PREFIX__!protoregex"("quote_escape") .return ($P218) @@ -3167,7 +3167,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("69_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("69_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx220_tgt .local int rx220_pos @@ -3230,7 +3230,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("70_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("70_1278500527.62277") :method .annotate 'line', 33 new $P222, "ResizablePMCArray" push $P222, "\\\\" @@ -3239,7 +3239,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("71_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("71_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx225_tgt .local int rx225_pos @@ -3309,7 +3309,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("72_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("72_1278500527.62277") :method .annotate 'line', 33 new $P227, "ResizablePMCArray" push $P227, "\\" @@ -3318,7 +3318,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("73_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("73_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx230_tgt .local int rx230_pos @@ -3381,7 +3381,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("74_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("74_1278500527.62277") :method .annotate 'line', 33 new $P232, "ResizablePMCArray" push $P232, "\\b" @@ -3390,7 +3390,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("75_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("75_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx235_tgt .local int rx235_pos @@ -3453,7 +3453,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("76_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("76_1278500527.62277") :method .annotate 'line', 33 new $P237, "ResizablePMCArray" push $P237, "\\n" @@ -3462,7 +3462,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("77_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("77_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx240_tgt .local int rx240_pos @@ -3525,7 +3525,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("78_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("78_1278500527.62277") :method .annotate 'line', 33 new $P242, "ResizablePMCArray" push $P242, "\\r" @@ -3534,7 +3534,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("79_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("79_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx245_tgt .local int rx245_pos @@ -3597,7 +3597,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("80_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("80_1278500527.62277") :method .annotate 'line', 33 new $P247, "ResizablePMCArray" push $P247, "\\t" @@ -3606,7 +3606,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("81_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("81_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx250_tgt .local int rx250_pos @@ -3669,7 +3669,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("82_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("82_1278500527.62277") :method .annotate 'line', 33 new $P252, "ResizablePMCArray" push $P252, "\\f" @@ -3678,7 +3678,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("83_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("83_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx255_tgt .local int rx255_pos @@ -3741,7 +3741,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("84_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("84_1278500527.62277") :method .annotate 'line', 33 new $P257, "ResizablePMCArray" push $P257, "\\e" @@ -3750,7 +3750,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("85_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("85_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx260_tgt .local int rx260_pos @@ -3849,7 +3849,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("86_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("86_1278500527.62277") :method .annotate 'line', 33 new $P262, "ResizablePMCArray" push $P262, unicode:"\\x" @@ -3858,7 +3858,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("87_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("87_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx266_tgt .local int rx266_pos @@ -3957,7 +3957,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("88_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("88_1278500527.62277") :method .annotate 'line', 33 new $P268, "ResizablePMCArray" push $P268, "\\o" @@ -3966,7 +3966,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("89_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("89_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx272_tgt .local int rx272_pos @@ -4036,7 +4036,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("90_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("90_1278500527.62277") :method .annotate 'line', 33 new $P274, "ResizablePMCArray" push $P274, "\\c" @@ -4045,7 +4045,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym<0>" :subid("91_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym<0>" :subid("91_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx277_tgt .local int rx277_pos @@ -4129,7 +4129,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1278500527.62277") :method .annotate 'line', 33 new $P279, "ResizablePMCArray" push $P279, "\\0" @@ -4138,13 +4138,13 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "quote_escape:sym" :subid("93_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "quote_escape:sym" :subid("93_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 - .const 'Sub' $P302 = "97_1276996299.39152" + .const 'Sub' $P302 = "97_1278500527.62277" capture_lex $P302 - .const 'Sub' $P295 = "96_1276996299.39152" + .const 'Sub' $P295 = "96_1278500527.62277" capture_lex $P295 - .const 'Sub' $P290 = "95_1276996299.39152" + .const 'Sub' $P290 = "95_1278500527.62277" capture_lex $P290 .local string rx283_tgt .local int rx283_pos @@ -4181,7 +4181,7 @@ An operator precedence parser. find_lex $P287, unicode:"$\x{a2}" $P288 = $P287."MATCH"() store_lex "$/", $P288 - .const 'Sub' $P290 = "95_1276996299.39152" + .const 'Sub' $P290 = "95_1278500527.62277" capture_lex $P290 $P291 = $P290() # rx literal "\\" @@ -4207,7 +4207,7 @@ An operator precedence parser. .annotate 'line', 104 # rx subrule $P295 subtype=capture negate= rx283_cur."!cursor_pos"(rx283_pos) - .const 'Sub' $P295 = "96_1276996299.39152" + .const 'Sub' $P295 = "96_1278500527.62277" capture_lex $P295 $P10 = rx283_cur.$P295() unless $P10, rx283_fail @@ -4241,7 +4241,7 @@ An operator precedence parser. find_lex $P299, unicode:"$\x{a2}" $P300 = $P299."MATCH"() store_lex "$/", $P300 - .const 'Sub' $P302 = "97_1276996299.39152" + .const 'Sub' $P302 = "97_1278500527.62277" capture_lex $P302 $P312 = $P302() alt293_end: @@ -4287,7 +4287,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("94_1276996299.39152") :method +.sub "!PREFIX__quote_escape:sym" :subid("94_1278500527.62277") :method .annotate 'line', 33 new $P285, "ResizablePMCArray" push $P285, "" @@ -4296,14 +4296,14 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "_block289" :anon :subid("95_1276996299.39152") :outer("93_1276996299.39152") +.sub "_block289" :anon :subid("95_1278500527.62277") :outer("93_1278500527.62277") .annotate 'line', 100 .return () .end .namespace ["HLL";"Grammar"] -.sub "_block294" :anon :subid("96_1276996299.39152") :method :outer("93_1276996299.39152") +.sub "_block294" :anon :subid("96_1278500527.62277") :method :outer("93_1278500527.62277") .annotate 'line', 104 .local string rx296_tgt .local int rx296_pos @@ -4359,7 +4359,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "_block301" :anon :subid("97_1276996299.39152") :outer("93_1276996299.39152") +.sub "_block301" :anon :subid("97_1278500527.62277") :outer("93_1278500527.62277") .annotate 'line', 105 find_lex $P303, "$/" $P304 = $P303."CURSOR"() @@ -4382,9 +4382,9 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "charname" :subid("98_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "charname" :subid("98_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 - .const 'Sub' $P324 = "100_1276996299.39152" + .const 'Sub' $P324 = "100_1278500527.62277" capture_lex $P324 .local string rx315_tgt .local int rx315_pos @@ -4463,7 +4463,7 @@ An operator precedence parser. .annotate 'line', 114 # rx subrule "before" subtype=zerowidth negate= rx315_cur."!cursor_pos"(rx315_pos) - .const 'Sub' $P324 = "100_1276996299.39152" + .const 'Sub' $P324 = "100_1278500527.62277" capture_lex $P324 $P10 = rx315_cur."before"($P324) unless $P10, rx315_fail @@ -4488,7 +4488,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__charname" :subid("99_1276996299.39152") :method +.sub "!PREFIX__charname" :subid("99_1278500527.62277") :method .annotate 'line', 33 $P317 = self."!PREFIX__!subrule"("integer", "") new $P318, "ResizablePMCArray" @@ -4550,7 +4550,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "_block323" :anon :subid("100_1276996299.39152") :method :outer("98_1276996299.39152") +.sub "_block323" :anon :subid("100_1278500527.62277") :method :outer("98_1278500527.62277") .annotate 'line', 114 .local string rx325_tgt .local int rx325_pos @@ -4611,7 +4611,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "charnames" :subid("101_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "charnames" :subid("101_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx328_tgt .local int rx328_pos @@ -4696,7 +4696,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__charnames" :subid("102_1276996299.39152") :method +.sub "!PREFIX__charnames" :subid("102_1278500527.62277") :method .annotate 'line', 33 new $P330, "ResizablePMCArray" push $P330, "" @@ -4705,7 +4705,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "charspec" :subid("103_1276996299.39152") :method :outer("11_1276996299.39152") +.sub "charspec" :subid("103_1278500527.62277") :method :outer("11_1278500527.62277") .annotate 'line', 33 .local string rx335_tgt .local int rx335_pos @@ -4836,7 +4836,7 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "!PREFIX__charspec" :subid("104_1276996299.39152") :method +.sub "!PREFIX__charspec" :subid("104_1278500527.62277") :method .annotate 'line', 33 $P337 = self."!PREFIX__!subrule"("panic", "") $P338 = self."!PREFIX__!subrule"("charnames", "[") @@ -4877,18 +4877,18 @@ An operator precedence parser. .namespace ["HLL";"Grammar"] -.sub "_block344" :load :anon :subid("105_1276996299.39152") +.sub "_block344" :load :anon :subid("105_1278500527.62277") .annotate 'line', 5 - .const 'Sub' $P346 = "11_1276996299.39152" + .const 'Sub' $P346 = "11_1278500527.62277" $P347 = $P346() .return ($P347) .end .namespace [] -.sub "_block349" :load :anon :subid("106_1276996299.39152") +.sub "_block349" :load :anon :subid("106_1278500527.62277") .annotate 'line', 1 - .const 'Sub' $P351 = "10_1276996299.39152" + .const 'Sub' $P351 = "10_1278500527.62277" $P352 = $P351() .return ($P352) .end @@ -4896,7 +4896,7 @@ An operator precedence parser. ### .include 'gen/hllgrammar-actions.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996302.48722") +.sub "_block11" :anon :subid("10_1278500528.84129") .annotate 'line', 0 get_hll_global $P14, ["HLL";"Actions"], "_block13" capture_lex $P14 @@ -4913,15 +4913,15 @@ An operator precedence parser. $P627 = $P14() .annotate 'line', 1 .return ($P627) - .const 'Sub' $P629 = "55_1276996302.48722" + .const 'Sub' $P629 = "55_1278500528.84129" .return ($P629) .end .namespace [] -.sub "" :load :init :subid("post56") :outer("10_1276996302.48722") +.sub "" :load :init :subid("post56") :outer("10_1278500528.84129") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996302.48722" + .const 'Sub' $P12 = "10_1278500528.84129" .local pmc block set block, $P12 $P632 = get_root_global ["parrot"], "P6metaclass" @@ -4930,75 +4930,75 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block13" :subid("11_1276996302.48722") :outer("10_1276996302.48722") +.sub "_block13" :subid("11_1278500528.84129") :outer("10_1278500528.84129") .annotate 'line', 3 - .const 'Sub' $P605 = "53_1276996302.48722" + .const 'Sub' $P605 = "53_1278500528.84129" capture_lex $P605 - .const 'Sub' $P580 = "51_1276996302.48722" + .const 'Sub' $P580 = "51_1278500528.84129" capture_lex $P580 - .const 'Sub' $P550 = "50_1276996302.48722" + .const 'Sub' $P550 = "50_1278500528.84129" capture_lex $P550 - .const 'Sub' $P531 = "49_1276996302.48722" + .const 'Sub' $P531 = "49_1278500528.84129" capture_lex $P531 - .const 'Sub' $P524 = "48_1276996302.48722" + .const 'Sub' $P524 = "48_1278500528.84129" capture_lex $P524 - .const 'Sub' $P514 = "47_1276996302.48722" + .const 'Sub' $P514 = "47_1278500528.84129" capture_lex $P514 - .const 'Sub' $P497 = "46_1276996302.48722" + .const 'Sub' $P497 = "46_1278500528.84129" capture_lex $P497 - .const 'Sub' $P480 = "45_1276996302.48722" + .const 'Sub' $P480 = "45_1278500528.84129" capture_lex $P480 - .const 'Sub' $P473 = "44_1276996302.48722" + .const 'Sub' $P473 = "44_1278500528.84129" capture_lex $P473 - .const 'Sub' $P466 = "43_1276996302.48722" + .const 'Sub' $P466 = "43_1278500528.84129" capture_lex $P466 - .const 'Sub' $P459 = "42_1276996302.48722" + .const 'Sub' $P459 = "42_1278500528.84129" capture_lex $P459 - .const 'Sub' $P452 = "41_1276996302.48722" + .const 'Sub' $P452 = "41_1278500528.84129" capture_lex $P452 - .const 'Sub' $P445 = "40_1276996302.48722" + .const 'Sub' $P445 = "40_1278500528.84129" capture_lex $P445 - .const 'Sub' $P438 = "39_1276996302.48722" + .const 'Sub' $P438 = "39_1278500528.84129" capture_lex $P438 - .const 'Sub' $P428 = "38_1276996302.48722" + .const 'Sub' $P428 = "38_1278500528.84129" capture_lex $P428 - .const 'Sub' $P421 = "37_1276996302.48722" + .const 'Sub' $P421 = "37_1278500528.84129" capture_lex $P421 - .const 'Sub' $P405 = "36_1276996302.48722" + .const 'Sub' $P405 = "36_1278500528.84129" capture_lex $P405 - .const 'Sub' $P330 = "34_1276996302.48722" + .const 'Sub' $P330 = "34_1278500528.84129" capture_lex $P330 - .const 'Sub' $P267 = "31_1276996302.48722" + .const 'Sub' $P267 = "31_1278500528.84129" capture_lex $P267 - .const 'Sub' $P258 = "30_1276996302.48722" + .const 'Sub' $P258 = "30_1278500528.84129" capture_lex $P258 - .const 'Sub' $P249 = "29_1276996302.48722" + .const 'Sub' $P249 = "29_1278500528.84129" capture_lex $P249 - .const 'Sub' $P240 = "28_1276996302.48722" + .const 'Sub' $P240 = "28_1278500528.84129" capture_lex $P240 - .const 'Sub' $P231 = "27_1276996302.48722" + .const 'Sub' $P231 = "27_1278500528.84129" capture_lex $P231 - .const 'Sub' $P222 = "26_1276996302.48722" + .const 'Sub' $P222 = "26_1278500528.84129" capture_lex $P222 - .const 'Sub' $P212 = "25_1276996302.48722" + .const 'Sub' $P212 = "25_1278500528.84129" capture_lex $P212 - .const 'Sub' $P202 = "24_1276996302.48722" + .const 'Sub' $P202 = "24_1278500528.84129" capture_lex $P202 - .const 'Sub' $P194 = "23_1276996302.48722" + .const 'Sub' $P194 = "23_1278500528.84129" capture_lex $P194 - .const 'Sub' $P184 = "22_1276996302.48722" + .const 'Sub' $P184 = "22_1278500528.84129" capture_lex $P184 - .const 'Sub' $P174 = "21_1276996302.48722" + .const 'Sub' $P174 = "21_1278500528.84129" capture_lex $P174 - .const 'Sub' $P73 = "18_1276996302.48722" + .const 'Sub' $P73 = "18_1278500528.84129" capture_lex $P73 - .const 'Sub' $P35 = "15_1276996302.48722" + .const 'Sub' $P35 = "15_1278500528.84129" capture_lex $P35 - .const 'Sub' $P28 = "14_1276996302.48722" + .const 'Sub' $P28 = "14_1278500528.84129" capture_lex $P28 - .const 'Sub' $P22 = "13_1276996302.48722" + .const 'Sub' $P22 = "13_1278500528.84129" capture_lex $P22 - .const 'Sub' $P15 = "12_1276996302.48722" + .const 'Sub' $P15 = "12_1278500528.84129" capture_lex $P15 $P0 = find_dynamic_lex "$*CTXSAVE" if null $P0 goto ctxsave_done @@ -5007,18 +5007,18 @@ An operator precedence parser. $P0."ctxsave"() ctxsave_done: .annotate 'line', 225 - .const 'Sub' $P605 = "53_1276996302.48722" + .const 'Sub' $P605 = "53_1278500528.84129" newclosure $P622, $P605 .annotate 'line', 3 .return ($P622) - .const 'Sub' $P624 = "54_1276996302.48722" + .const 'Sub' $P624 = "54_1278500528.84129" .return ($P624) .end .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "string_to_int" :subid("12_1276996302.48722") :outer("11_1276996302.48722") +.sub "string_to_int" :subid("12_1278500528.84129") :outer("11_1278500528.84129") .param pmc param_18 .param pmc param_19 .annotate 'line', 3 @@ -5072,7 +5072,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "ints_to_string" :subid("13_1276996302.48722") :outer("11_1276996302.48722") +.sub "ints_to_string" :subid("13_1278500528.84129") :outer("11_1278500528.84129") .param pmc param_25 .annotate 'line', 37 new $P24, 'ExceptionHandler' @@ -5114,7 +5114,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "CTXSAVE" :subid("14_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "CTXSAVE" :subid("14_1278500528.84129") :method :outer("11_1278500528.84129") .annotate 'line', 62 new $P30, 'ExceptionHandler' set_addr $P30, control_29 @@ -5144,10 +5144,10 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "SET_BLOCK_OUTER_CTX" :subid("15_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "SET_BLOCK_OUTER_CTX" :subid("15_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_38 .annotate 'line', 76 - .const 'Sub' $P48 = "16_1276996302.48722" + .const 'Sub' $P48 = "16_1278500528.84129" capture_lex $P48 new $P37, 'ExceptionHandler' set_addr $P37, control_36 @@ -5182,7 +5182,7 @@ An operator precedence parser. set $P43, $I46 goto if_44_end if_44: - .const 'Sub' $P48 = "16_1276996302.48722" + .const 'Sub' $P48 = "16_1278500528.84129" capture_lex $P48 $P71 = $P48() set $P43, $P71 @@ -5199,9 +5199,9 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "_block47" :anon :subid("16_1276996302.48722") :outer("15_1276996302.48722") +.sub "_block47" :anon :subid("16_1278500528.84129") :outer("15_1278500528.84129") .annotate 'line', 78 - .const 'Sub' $P62 = "17_1276996302.48722" + .const 'Sub' $P62 = "17_1278500528.84129" capture_lex $P62 .annotate 'line', 79 $P49 = root_new ['parrot';'ResizablePMCArray'] @@ -5231,7 +5231,7 @@ An operator precedence parser. unless $P56, loop68_done shift $P60, $P56 loop68_redo: - .const 'Sub' $P62 = "17_1276996302.48722" + .const 'Sub' $P62 = "17_1278500528.84129" capture_lex $P62 $P62($P60) loop68_next: @@ -5251,7 +5251,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block61" :anon :subid("17_1276996302.48722") :outer("16_1276996302.48722") +.sub "_block61" :anon :subid("17_1278500528.84129") :outer("16_1278500528.84129") .param pmc param_63 .annotate 'line', 82 .lex "$_", param_63 @@ -5267,14 +5267,14 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "EXPR" :subid("18_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "EXPR" :subid("18_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_76 .param pmc param_77 :optional .param int has_param_77 :opt_flag .annotate 'line', 89 - .const 'Sub' $P156 = "20_1276996302.48722" + .const 'Sub' $P156 = "20_1278500528.84129" capture_lex $P156 - .const 'Sub' $P123 = "19_1276996302.48722" + .const 'Sub' $P123 = "19_1278500528.84129" capture_lex $P123 new $P75, 'ExceptionHandler' set_addr $P75, control_74 @@ -5409,7 +5409,7 @@ An operator precedence parser. find_lex $P120, "$past" $P121 = $P120."name"() if $P121, unless_119_end - .const 'Sub' $P123 = "19_1276996302.48722" + .const 'Sub' $P123 = "19_1278500528.84129" capture_lex $P123 $P123() unless_119_end: @@ -5433,7 +5433,7 @@ An operator precedence parser. unless $P150, loop167_done shift $P154, $P150 loop167_redo: - .const 'Sub' $P156 = "20_1276996302.48722" + .const 'Sub' $P156 = "20_1278500528.84129" capture_lex $P156 $P156($P154) loop167_next: @@ -5478,7 +5478,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block122" :anon :subid("19_1276996302.48722") :outer("18_1276996302.48722") +.sub "_block122" :anon :subid("19_1278500528.84129") :outer("18_1278500528.84129") .annotate 'line', 98 new $P124, "Undef" .lex "$name", $P124 @@ -5528,7 +5528,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block155" :anon :subid("20_1276996302.48722") :outer("18_1276996302.48722") +.sub "_block155" :anon :subid("20_1278500528.84129") :outer("18_1278500528.84129") .param pmc param_157 .annotate 'line', 109 .lex "$_", param_157 @@ -5552,7 +5552,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("21_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "term:sym" :subid("21_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_177 .annotate 'line', 114 new $P176, 'ExceptionHandler' @@ -5583,7 +5583,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "termish" :subid("22_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "termish" :subid("22_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_187 .annotate 'line', 116 new $P186, 'ExceptionHandler' @@ -5614,7 +5614,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "nullterm" :subid("23_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "nullterm" :subid("23_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_197 .annotate 'line', 117 new $P196, 'ExceptionHandler' @@ -5637,7 +5637,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "nullterm_alt" :subid("24_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "nullterm_alt" :subid("24_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_205 .annotate 'line', 118 new $P204, 'ExceptionHandler' @@ -5668,7 +5668,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "integer" :subid("25_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "integer" :subid("25_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_215 .annotate 'line', 120 new $P214, 'ExceptionHandler' @@ -5699,7 +5699,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "dec_number" :subid("26_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "dec_number" :subid("26_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_225 .annotate 'line', 122 new $P224, 'ExceptionHandler' @@ -5723,7 +5723,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "decint" :subid("27_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "decint" :subid("27_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_234 .annotate 'line', 124 new $P233, 'ExceptionHandler' @@ -5747,7 +5747,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "hexint" :subid("28_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "hexint" :subid("28_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_243 .annotate 'line', 125 new $P242, 'ExceptionHandler' @@ -5771,7 +5771,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "octint" :subid("29_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "octint" :subid("29_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_252 .annotate 'line', 126 new $P251, 'ExceptionHandler' @@ -5795,7 +5795,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "binint" :subid("30_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "binint" :subid("30_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_261 .annotate 'line', 127 new $P260, 'ExceptionHandler' @@ -5819,10 +5819,10 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_EXPR" :subid("31_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_EXPR" :subid("31_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_270 .annotate 'line', 129 - .const 'Sub' $P286 = "32_1276996302.48722" + .const 'Sub' $P286 = "32_1278500528.84129" capture_lex $P286 new $P269, 'ExceptionHandler' set_addr $P269, control_268 @@ -5854,7 +5854,7 @@ An operator precedence parser. $P282 = $P280."ACCEPTS"($P281) if $P282, if_279 .annotate 'line', 135 - .const 'Sub' $P286 = "32_1276996302.48722" + .const 'Sub' $P286 = "32_1278500528.84129" capture_lex $P286 $P286() goto if_279_end @@ -5894,9 +5894,9 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "_block285" :anon :subid("32_1276996302.48722") :outer("31_1276996302.48722") +.sub "_block285" :anon :subid("32_1278500528.84129") :outer("31_1278500528.84129") .annotate 'line', 135 - .const 'Sub' $P305 = "33_1276996302.48722" + .const 'Sub' $P305 = "33_1278500528.84129" capture_lex $P305 .annotate 'line', 136 $P287 = root_new ['parrot';'ResizablePMCArray'] @@ -5947,7 +5947,7 @@ An operator precedence parser. unless $P300, loop310_done shift $P303, $P300 loop310_redo: - .const 'Sub' $P305 = "33_1276996302.48722" + .const 'Sub' $P305 = "33_1278500528.84129" capture_lex $P305 $P305($P303) loop310_next: @@ -5970,7 +5970,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block304" :anon :subid("33_1276996302.48722") :outer("32_1276996302.48722") +.sub "_block304" :anon :subid("33_1278500528.84129") :outer("32_1278500528.84129") .param pmc param_306 .annotate 'line', 139 .lex "$_", param_306 @@ -5983,10 +5983,10 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_delimited" :subid("34_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_delimited" :subid("34_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_333 .annotate 'line', 152 - .const 'Sub' $P345 = "35_1276996302.48722" + .const 'Sub' $P345 = "35_1278500528.84129" capture_lex $P345 new $P332, 'ExceptionHandler' set_addr $P332, control_331 @@ -6029,7 +6029,7 @@ An operator precedence parser. unless $P339, loop377_done shift $P343, $P339 loop377_redo: - .const 'Sub' $P345 = "35_1276996302.48722" + .const 'Sub' $P345 = "35_1278500528.84129" capture_lex $P345 $P345($P343) loop377_next: @@ -6107,7 +6107,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block344" :anon :subid("35_1276996302.48722") :outer("34_1276996302.48722") +.sub "_block344" :anon :subid("35_1278500528.84129") :outer("34_1278500528.84129") .param pmc param_347 .annotate 'line', 156 new $P346, "Undef" @@ -6177,7 +6177,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_atom" :subid("36_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_atom" :subid("36_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_408 .annotate 'line', 177 new $P407, 'ExceptionHandler' @@ -6227,7 +6227,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("37_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("37_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_424 .annotate 'line', 181 new $P423, 'ExceptionHandler' @@ -6249,7 +6249,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("38_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("38_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_431 .annotate 'line', 182 new $P430, 'ExceptionHandler' @@ -6280,7 +6280,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("39_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("39_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_441 .annotate 'line', 184 new $P440, 'ExceptionHandler' @@ -6302,7 +6302,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("40_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("40_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_448 .annotate 'line', 185 new $P447, 'ExceptionHandler' @@ -6324,7 +6324,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("41_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("41_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_455 .annotate 'line', 186 new $P454, 'ExceptionHandler' @@ -6346,7 +6346,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("42_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("42_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_462 .annotate 'line', 187 new $P461, 'ExceptionHandler' @@ -6368,7 +6368,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("43_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("43_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_469 .annotate 'line', 188 new $P468, 'ExceptionHandler' @@ -6390,7 +6390,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("44_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("44_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_476 .annotate 'line', 189 new $P475, 'ExceptionHandler' @@ -6412,7 +6412,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("45_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("45_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_483 .annotate 'line', 191 new $P482, 'ExceptionHandler' @@ -6471,7 +6471,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("46_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("46_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_500 .annotate 'line', 195 new $P499, 'ExceptionHandler' @@ -6530,7 +6530,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("47_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("47_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_517 .annotate 'line', 199 new $P516, 'ExceptionHandler' @@ -6563,7 +6563,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym<0>" :subid("48_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym<0>" :subid("48_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_527 .annotate 'line', 203 new $P526, 'ExceptionHandler' @@ -6587,7 +6587,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("49_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "quote_escape:sym" :subid("49_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_534 .annotate 'line', 207 new $P533, 'ExceptionHandler' @@ -6646,7 +6646,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "charname" :subid("50_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "charname" :subid("50_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_553 .annotate 'line', 211 new $P552, 'ExceptionHandler' @@ -6720,10 +6720,10 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "charnames" :subid("51_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "charnames" :subid("51_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_583 .annotate 'line', 219 - .const 'Sub' $P592 = "52_1276996302.48722" + .const 'Sub' $P592 = "52_1278500528.84129" capture_lex $P592 new $P582, 'ExceptionHandler' set_addr $P582, control_581 @@ -6757,7 +6757,7 @@ An operator precedence parser. unless $P586, loop598_done shift $P590, $P586 loop598_redo: - .const 'Sub' $P592 = "52_1276996302.48722" + .const 'Sub' $P592 = "52_1278500528.84129" capture_lex $P592 $P592($P590) loop598_next: @@ -6786,7 +6786,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block591" :anon :subid("52_1276996302.48722") :outer("51_1276996302.48722") +.sub "_block591" :anon :subid("52_1278500528.84129") :outer("51_1278500528.84129") .param pmc param_593 .annotate 'line', 221 .lex "$_", param_593 @@ -6801,7 +6801,7 @@ An operator precedence parser. .namespace ["HLL";"Actions"] .include "except_types.pasm" -.sub "charspec" :subid("53_1276996302.48722") :method :outer("11_1276996302.48722") +.sub "charspec" :subid("53_1278500528.84129") :method :outer("11_1278500528.84129") .param pmc param_608 .annotate 'line', 225 new $P607, 'ExceptionHandler' @@ -6851,18 +6851,18 @@ An operator precedence parser. .namespace ["HLL";"Actions"] -.sub "_block623" :load :anon :subid("54_1276996302.48722") +.sub "_block623" :load :anon :subid("54_1278500528.84129") .annotate 'line', 3 - .const 'Sub' $P625 = "11_1276996302.48722" + .const 'Sub' $P625 = "11_1278500528.84129" $P626 = $P625() .return ($P626) .end .namespace [] -.sub "_block628" :load :anon :subid("55_1276996302.48722") +.sub "_block628" :load :anon :subid("55_1278500528.84129") .annotate 'line', 1 - .const 'Sub' $P630 = "10_1276996302.48722" + .const 'Sub' $P630 = "10_1278500528.84129" $P631 = $P630() .return ($P631) .end @@ -6870,7 +6870,7 @@ An operator precedence parser. ### .include 'gen/hllcompiler.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996304.507") +.sub "_block11" :anon :subid("10_1278500529.62668") .annotate 'line', 0 get_hll_global $P14, ["HLL";"Compiler"], "_block13" capture_lex $P14 @@ -6884,82 +6884,82 @@ An operator precedence parser. .annotate 'line', 6 get_hll_global $P14, ["HLL";"Compiler"], "_block13" capture_lex $P14 - $P492 = $P14() + $P497 = $P14() .annotate 'line', 1 - .return ($P492) - .const 'Sub' $P494 = "35_1276996304.507" - .return ($P494) + .return ($P497) + .const 'Sub' $P499 = "36_1278500529.62668" + .return ($P499) .end .namespace [] -.sub "" :load :init :subid("post36") :outer("10_1276996304.507") +.sub "" :load :init :subid("post37") :outer("10_1278500529.62668") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996304.507" + .const 'Sub' $P12 = "10_1278500529.62668" .local pmc block set block, $P12 .annotate 'line', 2 load_bytecode "PCT/HLLCompiler.pbc" .annotate 'line', 1 - $P497 = get_root_global ["parrot"], "P6metaclass" - new $P498, "ResizablePMCArray" - push $P498, "$!language" - $P497."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P498 :named("attr")) + $P502 = get_root_global ["parrot"], "P6metaclass" + new $P503, "ResizablePMCArray" + push $P503, "$!language" + $P502."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P503 :named("attr")) .end .namespace ["HLL";"Compiler"] -.sub "_block13" :subid("11_1276996304.507") :outer("10_1276996304.507") +.sub "_block13" :subid("11_1278500529.62668") :outer("10_1278500529.62668") .annotate 'line', 6 - .const 'Sub' $P484 = "34_1276996304.507" - capture_lex $P484 - .const 'Sub' $P442 = "32_1276996304.507" - capture_lex $P442 - .const 'Sub' $P298 = "26_1276996304.507" + .const 'Sub' $P489 = "35_1278500529.62668" + capture_lex $P489 + .const 'Sub' $P447 = "33_1278500529.62668" + capture_lex $P447 + .const 'Sub' $P298 = "26_1278500529.62668" capture_lex $P298 - .const 'Sub' $P283 = "25_1276996304.507" + .const 'Sub' $P283 = "25_1278500529.62668" capture_lex $P283 - .const 'Sub' $P188 = "20_1276996304.507" + .const 'Sub' $P188 = "20_1278500529.62668" capture_lex $P188 - .const 'Sub' $P153 = "18_1276996304.507" + .const 'Sub' $P153 = "18_1278500529.62668" capture_lex $P153 - .const 'Sub' $P138 = "17_1276996304.507" + .const 'Sub' $P138 = "17_1278500529.62668" capture_lex $P138 - .const 'Sub' $P122 = "16_1276996304.507" + .const 'Sub' $P122 = "16_1278500529.62668" capture_lex $P122 - .const 'Sub' $P33 = "13_1276996304.507" + .const 'Sub' $P33 = "13_1278500529.62668" capture_lex $P33 - .const 'Sub' $P15 = "12_1276996304.507" + .const 'Sub' $P15 = "12_1278500529.62668" capture_lex $P15 .annotate 'line', 14 - .const 'Sub' $P15 = "12_1276996304.507" + .const 'Sub' $P15 = "12_1278500529.62668" newclosure $P31, $P15 .lex "value_type", $P31 .annotate 'line', 10 find_lex $P32, "value_type" -.annotate 'line', 163 - .const 'Sub' $P484 = "34_1276996304.507" - newclosure $P490, $P484 +.annotate 'line', 165 + .const 'Sub' $P489 = "35_1278500529.62668" + newclosure $P495, $P489 .annotate 'line', 6 - .return ($P490) + .return ($P495) .end .namespace ["HLL";"Compiler"] -.sub "" :load :init :subid("post37") :outer("11_1276996304.507") +.sub "" :load :init :subid("post38") :outer("11_1278500529.62668") .annotate 'line', 6 get_hll_global $P14, ["HLL";"Compiler"], "_block13" .local pmc block set block, $P14 .annotate 'line', 11 - get_hll_global $P491, ["HLL"], "Compiler" - $P491."language"("parrot") + get_hll_global $P496, ["HLL"], "Compiler" + $P496."language"("parrot") .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "value_type" :subid("12_1276996304.507") :outer("11_1276996304.507") +.sub "value_type" :subid("12_1278500529.62668") :outer("11_1278500529.62668") .param pmc param_18 .annotate 'line', 14 new $P17, 'ExceptionHandler' @@ -7004,15 +7004,15 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "get_exports" :subid("13_1276996304.507") :method :outer("11_1276996304.507") +.sub "get_exports" :subid("13_1278500529.62668") :method :outer("11_1278500529.62668") .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_1276996304.507" + .const 'Sub' $P105 = "15_1278500529.62668" capture_lex $P105 - .const 'Sub' $P84 = "14_1276996304.507" + .const 'Sub' $P84 = "14_1278500529.62668" capture_lex $P84 new $P35, 'ExceptionHandler' set_addr $P35, control_34 @@ -7020,10 +7020,10 @@ An operator precedence parser. push_eh $P35 .lex "self", self .lex "$module", param_36 - if has_param_37, optparam_38 + if has_param_37, optparam_39 new $P38, "Undef" set param_37, $P38 - optparam_38: + optparam_39: .lex "$tagset", param_37 .lex "@symbols", param_39 .annotate 'line', 27 @@ -7069,17 +7069,17 @@ An operator precedence parser. find_lex $P60, "$tagset" set $S61, $P60 find_lex $P62, "$module" - unless_null $P62, vivify_39 + unless_null $P62, vivify_40 $P62 = root_new ['parrot';'Hash'] - vivify_39: + vivify_40: set $P63, $P62["EXPORT"] - unless_null $P63, vivify_40 + unless_null $P63, vivify_41 $P63 = root_new ['parrot';'Hash'] - vivify_40: + vivify_41: set $P64, $P63[$S61] - unless_null $P64, vivify_41 + unless_null $P64, vivify_42 new $P64, "Undef" - vivify_41: + vivify_42: store_lex "%source", $P64 .annotate 'line', 29 find_lex $P66, "%source" @@ -7108,7 +7108,7 @@ An operator precedence parser. .annotate 'line', 39 find_lex $P101, "%source" defined $I102, $P101 - unless $I102, for_undef_42 + unless $I102, for_undef_43 iter $P100, $P101 new $P118, 'ExceptionHandler' set_addr $P118, loop117_handler @@ -7118,7 +7118,7 @@ An operator precedence parser. unless $P100, loop117_done shift $P103, $P100 loop117_redo: - .const 'Sub' $P105 = "15_1276996304.507" + .const 'Sub' $P105 = "15_1278500529.62668" capture_lex $P105 $P105($P103) loop117_next: @@ -7131,14 +7131,14 @@ An operator precedence parser. eq $P119, .CONTROL_LOOP_REDO, loop117_redo loop117_done: pop_eh - for_undef_42: + for_undef_43: .annotate 'line', 38 goto if_77_end if_77: .annotate 'line', 33 find_lex $P80, "@symbols" defined $I81, $P80 - unless $I81, for_undef_45 + unless $I81, for_undef_46 iter $P79, $P80 new $P98, 'ExceptionHandler' set_addr $P98, loop97_handler @@ -7148,7 +7148,7 @@ An operator precedence parser. unless $P79, loop97_done shift $P82, $P79 loop97_redo: - .const 'Sub' $P84 = "14_1276996304.507" + .const 'Sub' $P84 = "14_1278500529.62668" capture_lex $P84 $P84($P82) loop97_next: @@ -7161,7 +7161,7 @@ An operator precedence parser. eq $P99, .CONTROL_LOOP_REDO, loop97_redo loop97_done: pop_eh - for_undef_45: + for_undef_46: if_77_end: .annotate 'line', 32 find_lex $P120, "%exports" @@ -7176,7 +7176,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] -.sub "_block104" :anon :subid("15_1276996304.507") :outer("13_1276996304.507") +.sub "_block104" :anon :subid("15_1278500529.62668") :outer("13_1278500529.62668") .param pmc param_107 .annotate 'line', 40 new $P106, "Undef" @@ -7192,15 +7192,15 @@ An operator precedence parser. find_lex $P113, "$value" $P114 = "value_type"($P113) find_lex $P115, "%exports" - unless_null $P115, vivify_43 + unless_null $P115, vivify_44 $P115 = root_new ['parrot';'Hash'] store_lex "%exports", $P115 - vivify_43: + vivify_44: set $P116, $P115[$P114] - unless_null $P116, vivify_44 + unless_null $P116, vivify_45 $P116 = root_new ['parrot';'Hash'] set $P115[$P114], $P116 - vivify_44: + vivify_45: set $P116[$P112], $P110 .annotate 'line', 39 .return ($P110) @@ -7208,7 +7208,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] -.sub "_block83" :anon :subid("14_1276996304.507") :outer("13_1276996304.507") +.sub "_block83" :anon :subid("14_1278500529.62668") :outer("13_1278500529.62668") .param pmc param_86 .annotate 'line', 34 new $P85, "Undef" @@ -7217,13 +7217,13 @@ An operator precedence parser. find_lex $P87, "$_" set $S88, $P87 find_lex $P89, "%source" - unless_null $P89, vivify_46 + unless_null $P89, vivify_47 $P89 = root_new ['parrot';'Hash'] - vivify_46: + vivify_47: set $P90, $P89[$S88] - unless_null $P90, vivify_47 + unless_null $P90, vivify_48 new $P90, "Undef" - vivify_47: + vivify_48: store_lex "$value", $P90 .annotate 'line', 35 find_lex $P91, "$value" @@ -7231,15 +7231,15 @@ An operator precedence parser. find_lex $P93, "$value" $P94 = "value_type"($P93) find_lex $P95, "%exports" - unless_null $P95, vivify_48 + unless_null $P95, vivify_49 $P95 = root_new ['parrot';'Hash'] store_lex "%exports", $P95 - vivify_48: + vivify_49: set $P96, $P95[$P94] - unless_null $P96, vivify_49 + unless_null $P96, vivify_50 $P96 = root_new ['parrot';'Hash'] set $P95[$P94], $P96 - vivify_49: + vivify_50: set $P96[$P92], $P91 .annotate 'line', 33 .return ($P91) @@ -7248,7 +7248,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "get_module" :subid("16_1276996304.507") :method :outer("11_1276996304.507") +.sub "get_module" :subid("16_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_125 .annotate 'line', 47 new $P124, 'ExceptionHandler' @@ -7268,9 +7268,9 @@ An operator precedence parser. find_lex $P130, "@name" find_lex $P131, "self" getattribute $P132, $P131, "$!language" - unless_null $P132, vivify_50 + unless_null $P132, vivify_51 new $P132, "Undef" - vivify_50: + vivify_51: set $S133, $P132 downcase $S134, $S133 $P130."unshift"($S134) @@ -7289,7 +7289,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "language" :subid("17_1276996304.507") :method :outer("11_1276996304.507") +.sub "language" :subid("17_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_141 :optional .param int has_param_141 :opt_flag .annotate 'line', 53 @@ -7298,10 +7298,10 @@ An operator precedence parser. $P140."handle_types"(.CONTROL_RETURN) push_eh $P140 .lex "self", self - if has_param_141, optparam_51 + if has_param_141, optparam_52 new $P142, "Undef" set param_141, $P142 - optparam_51: + optparam_52: .lex "$name", param_141 .annotate 'line', 54 find_lex $P144, "$name" @@ -7319,9 +7319,9 @@ An operator precedence parser. .annotate 'line', 54 find_lex $P150, "self" getattribute $P151, $P150, "$!language" - unless_null $P151, vivify_52 + unless_null $P151, vivify_53 new $P151, "Undef" - vivify_52: + vivify_53: .annotate 'line', 53 .return ($P151) control_139: @@ -7334,10 +7334,10 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "load_module" :subid("18_1276996304.507") :method :outer("11_1276996304.507") +.sub "load_module" :subid("18_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_156 .annotate 'line', 61 - .const 'Sub' $P166 = "19_1276996304.507" + .const 'Sub' $P166 = "19_1278500529.62668" capture_lex $P166 new $P155, 'ExceptionHandler' set_addr $P155, control_154 @@ -7364,7 +7364,7 @@ An operator precedence parser. assign $P164, 0 store_lex "$loaded", $P164 .annotate 'line', 64 - .const 'Sub' $P166 = "19_1276996304.507" + .const 'Sub' $P166 = "19_1278500529.62668" capture_lex $P166 $P166() .annotate 'line', 65 @@ -7394,7 +7394,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block165" :anon :subid("19_1276996304.507") :outer("18_1276996304.507") +.sub "_block165" :anon :subid("19_1278500529.62668") :outer("18_1278500529.62668") .annotate 'line', 64 new $P173, 'ExceptionHandler' set_addr $P173, control_172 @@ -7428,11 +7428,11 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "import" :subid("20_1276996304.507") :method :outer("11_1276996304.507") +.sub "import" :subid("20_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_191 .param pmc param_192 .annotate 'line', 69 - .const 'Sub' $P198 = "21_1276996304.507" + .const 'Sub' $P198 = "21_1278500529.62668" capture_lex $P198 new $P190, 'ExceptionHandler' set_addr $P190, control_189 @@ -7444,7 +7444,7 @@ An operator precedence parser. .annotate 'line', 70 find_lex $P194, "%exports" defined $I195, $P194 - unless $I195, for_undef_53 + unless $I195, for_undef_54 iter $P193, $P194 new $P280, 'ExceptionHandler' set_addr $P280, loop279_handler @@ -7454,7 +7454,7 @@ An operator precedence parser. unless $P193, loop279_done shift $P196, $P193 loop279_redo: - .const 'Sub' $P198 = "21_1276996304.507" + .const 'Sub' $P198 = "21_1278500529.62668" capture_lex $P198 $P198($P196) loop279_next: @@ -7467,7 +7467,7 @@ An operator precedence parser. eq $P281, .CONTROL_LOOP_REDO, loop279_redo loop279_done: pop_eh - for_undef_53: + for_undef_54: .annotate 'line', 69 .return ($P193) control_189: @@ -7480,14 +7480,14 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block197" :anon :subid("21_1276996304.507") :outer("20_1276996304.507") +.sub "_block197" :anon :subid("21_1278500529.62668") :outer("20_1278500529.62668") .param pmc param_201 .annotate 'line', 70 - .const 'Sub' $P268 = "24_1276996304.507" + .const 'Sub' $P268 = "24_1278500529.62668" capture_lex $P268 - .const 'Sub' $P248 = "23_1276996304.507" + .const 'Sub' $P248 = "23_1278500529.62668" capture_lex $P248 - .const 'Sub' $P219 = "22_1276996304.507" + .const 'Sub' $P219 = "22_1278500529.62668" capture_lex $P219 .annotate 'line', 71 new $P199, "Undef" @@ -7525,7 +7525,7 @@ An operator precedence parser. .annotate 'line', 80 find_lex $P264, "%items" defined $I265, $P264 - unless $I265, for_undef_54 + unless $I265, for_undef_55 iter $P263, $P264 new $P277, 'ExceptionHandler' set_addr $P277, loop276_handler @@ -7535,7 +7535,7 @@ An operator precedence parser. unless $P263, loop276_done shift $P266, $P263 loop276_redo: - .const 'Sub' $P268 = "24_1276996304.507" + .const 'Sub' $P268 = "24_1278500529.62668" capture_lex $P268 $P268($P266) loop276_next: @@ -7548,7 +7548,7 @@ An operator precedence parser. eq $P278, .CONTROL_LOOP_REDO, loop276_redo loop276_done: pop_eh - for_undef_54: + for_undef_55: .annotate 'line', 79 set $P235, $P263 .annotate 'line', 76 @@ -7557,7 +7557,7 @@ An operator precedence parser. .annotate 'line', 77 find_lex $P244, "%items" defined $I245, $P244 - unless $I245, for_undef_56 + unless $I245, for_undef_57 iter $P243, $P244 new $P261, 'ExceptionHandler' set_addr $P261, loop260_handler @@ -7567,7 +7567,7 @@ An operator precedence parser. unless $P243, loop260_done shift $P246, $P243 loop260_redo: - .const 'Sub' $P248 = "23_1276996304.507" + .const 'Sub' $P248 = "23_1278500529.62668" capture_lex $P248 $P248($P246) loop260_next: @@ -7580,7 +7580,7 @@ An operator precedence parser. eq $P262, .CONTROL_LOOP_REDO, loop260_redo loop260_done: pop_eh - for_undef_56: + for_undef_57: .annotate 'line', 76 set $P235, $P243 if_236_end: @@ -7591,7 +7591,7 @@ An operator precedence parser. .annotate 'line', 74 find_lex $P215, "%items" defined $I216, $P215 - unless $I216, for_undef_57 + unless $I216, for_undef_58 iter $P214, $P215 new $P233, 'ExceptionHandler' set_addr $P233, loop232_handler @@ -7601,7 +7601,7 @@ An operator precedence parser. unless $P214, loop232_done shift $P217, $P214 loop232_redo: - .const 'Sub' $P219 = "22_1276996304.507" + .const 'Sub' $P219 = "22_1278500529.62668" capture_lex $P219 $P219($P217) loop232_next: @@ -7614,7 +7614,7 @@ An operator precedence parser. eq $P234, .CONTROL_LOOP_REDO, loop232_redo loop232_done: pop_eh - for_undef_57: + for_undef_58: .annotate 'line', 73 set $P206, $P214 if_207_end: @@ -7624,7 +7624,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] -.sub "_block267" :anon :subid("24_1276996304.507") :outer("21_1276996304.507") +.sub "_block267" :anon :subid("24_1278500529.62668") :outer("21_1278500529.62668") .param pmc param_269 .annotate 'line', 80 .lex "$_", param_269 @@ -7634,17 +7634,17 @@ An operator precedence parser. $P273 = $P272."key"() set $S274, $P273 find_lex $P275, "$target" - unless_null $P275, vivify_55 + unless_null $P275, vivify_56 $P275 = root_new ['parrot';'Hash'] store_lex "$target", $P275 - vivify_55: + vivify_56: set $P275[$S274], $P271 .return ($P271) .end .namespace ["HLL";"Compiler"] -.sub "_block247" :anon :subid("23_1276996304.507") :outer("21_1276996304.507") +.sub "_block247" :anon :subid("23_1278500529.62668") :outer("21_1278500529.62668") .param pmc param_249 .annotate 'line', 77 .lex "$_", param_249 @@ -7664,7 +7664,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] -.sub "_block218" :anon :subid("22_1276996304.507") :outer("21_1276996304.507") +.sub "_block218" :anon :subid("22_1278500529.62668") :outer("21_1278500529.62668") .param pmc param_220 .annotate 'line', 74 .lex "$_", param_220 @@ -7686,7 +7686,7 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "autoprint" :subid("25_1276996304.507") :method :outer("11_1276996304.507") +.sub "autoprint" :subid("25_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_286 .annotate 'line', 85 new $P285, 'ExceptionHandler' @@ -7700,12 +7700,12 @@ An operator precedence parser. $P290 = $P289."stdhandle"(1) $N291 = $P290."tell"() find_dynamic_lex $P292, "$*AUTOPRINTPOS" - unless_null $P292, vivify_58 - get_hll_global $P292, "$AUTOPRINTPOS" unless_null $P292, vivify_59 + get_hll_global $P292, "$AUTOPRINTPOS" + unless_null $P292, vivify_60 die "Contextual $*AUTOPRINTPOS not found" + vivify_60: vivify_59: - vivify_58: set $N293, $P292 isgt $I294, $N291, $N293 unless $I294, unless_288 @@ -7730,11 +7730,11 @@ An operator precedence parser. .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "interactive" :subid("26_1276996304.507") :method :outer("11_1276996304.507") +.sub "interactive" :subid("26_1278500529.62668") :method :outer("11_1278500529.62668") .param pmc param_301 :slurpy :named .annotate 'line', 90 - .const 'Sub' $P331 = "27_1276996304.507" - capture_lex $P331 + .const 'Sub' $P333 = "27_1278500529.62668" + capture_lex $P333 new $P300, 'ExceptionHandler' set_addr $P300, control_299 $P300."handle_types"(.CONTROL_RETURN) @@ -7750,134 +7750,127 @@ An operator precedence parser. .annotate 'line', 96 new $P304, "Undef" .lex "$encoding", $P304 +.annotate 'line', 101 + new $P305, "Undef" + .lex "$save_ctx", $P305 .annotate 'line', 91 - find_lex $P305, "%adverbs" - unless_null $P305, vivify_60 - $P305 = root_new ['parrot';'Hash'] - vivify_60: - set $P306, $P305["target"] + find_lex $P306, "%adverbs" unless_null $P306, vivify_61 - new $P306, "Undef" + $P306 = root_new ['parrot';'Hash'] vivify_61: - set $S307, $P306 - downcase $S308, $S307 - new $P309, 'String' - set $P309, $S308 - store_lex "$target", $P309 + set $P307, $P306["target"] + unless_null $P307, vivify_62 + new $P307, "Undef" + vivify_62: + set $S308, $P307 + downcase $S309, $S308 + new $P310, 'String' + set $P310, $S309 + store_lex "$target", $P310 .annotate 'line', 93 - getinterp $P310 - $P311 = $P310."stdhandle"(2) - find_lex $P312, "self" - $S313 = $P312."commandline_banner"() - print $P311, $S313 + getinterp $P311 + $P312 = $P311."stdhandle"(2) + find_lex $P313, "self" + $S314 = $P313."commandline_banner"() + print $P312, $S314 .annotate 'line', 95 - getinterp $P314 - $P315 = $P314."stdhandle"(0) - store_lex "$stdin", $P315 + getinterp $P315 + $P316 = $P315."stdhandle"(0) + store_lex "$stdin", $P316 .annotate 'line', 96 - find_lex $P316, "%adverbs" - unless_null $P316, vivify_62 - $P316 = root_new ['parrot';'Hash'] - vivify_62: - set $P317, $P316["encoding"] + find_lex $P317, "%adverbs" unless_null $P317, vivify_63 - new $P317, "Undef" + $P317 = root_new ['parrot';'Hash'] vivify_63: - set $S318, $P317 - new $P319, 'String' - set $P319, $S318 - store_lex "$encoding", $P319 + set $P318, $P317["encoding"] + unless_null $P318, vivify_64 + new $P318, "Undef" + vivify_64: + set $S319, $P318 + new $P320, 'String' + set $P320, $S319 + store_lex "$encoding", $P320 .annotate 'line', 97 - find_lex $P323, "$encoding" - if $P323, if_322 - set $P321, $P323 - goto if_322_end - if_322: find_lex $P324, "$encoding" - set $S325, $P324 - isne $I326, $S325, "fixed_8" - new $P321, 'Integer' - set $P321, $I326 - if_322_end: - unless $P321, if_320_end + if $P324, if_323 + set $P322, $P324 + goto if_323_end + if_323: + find_lex $P325, "$encoding" + set $S326, $P325 + isne $I327, $S326, "fixed_8" + new $P322, 'Integer' + set $P322, $I327 + if_323_end: + unless $P322, if_321_end .annotate 'line', 98 - find_lex $P327, "$stdin" - find_lex $P328, "$encoding" - $P327."encoding"($P328) - if_320_end: -.annotate 'line', 101 - new $P439, 'ExceptionHandler' - set_addr $P439, loop438_handler - $P439."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P439 - loop438_test: - new $P329, "Integer" - assign $P329, 1 - unless $P329, loop438_done - loop438_redo: - .const 'Sub' $P331 = "27_1276996304.507" - capture_lex $P331 - $P331() - loop438_next: - goto loop438_test - loop438_handler: + find_lex $P328, "$stdin" + find_lex $P329, "$encoding" + $P328."encoding"($P329) + if_321_end: +.annotate 'line', 97 + find_lex $P330, "$save_ctx" +.annotate 'line', 102 + new $P444, 'ExceptionHandler' + set_addr $P444, loop443_handler + $P444."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P444 + loop443_test: + new $P331, "Integer" + assign $P331, 1 + unless $P331, loop443_done + loop443_redo: + .const 'Sub' $P333 = "27_1278500529.62668" + capture_lex $P333 + $P333() + loop443_next: + goto loop443_test + loop443_handler: .local pmc exception .get_results (exception) - getattribute $P440, exception, 'type' - eq $P440, .CONTROL_LOOP_NEXT, loop438_next - eq $P440, .CONTROL_LOOP_REDO, loop438_redo - loop438_done: + getattribute $P445, exception, 'type' + eq $P445, .CONTROL_LOOP_NEXT, loop443_next + eq $P445, .CONTROL_LOOP_REDO, loop443_redo + loop443_done: pop_eh .annotate 'line', 90 - .return ($P329) + .return ($P331) control_299: .local pmc exception .get_results (exception) - getattribute $P441, exception, "payload" - .return ($P441) + getattribute $P446, exception, "payload" + .return ($P446) .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block330" :anon :subid("27_1276996304.507") :outer("26_1276996304.507") -.annotate 'line', 101 - .const 'Sub' $P367 = "28_1276996304.507" - capture_lex $P367 -.annotate 'line', 104 - new $P332, "Undef" - .lex "$prompt", $P332 +.sub "_block332" :anon :subid("27_1278500529.62668") :outer("26_1278500529.62668") +.annotate 'line', 102 + .const 'Sub' $P365 = "28_1278500529.62668" + capture_lex $P365 .annotate 'line', 105 - new $P333, "Undef" - .lex "$code", $P333 -.annotate 'line', 110 new $P334, "Undef" - .lex "$*AUTOPRINTPOS", $P334 -.annotate 'line', 111 - get_global $P335, "$interactive_ctx" - unless_null $P335, vivify_64 + .lex "$prompt", $P334 +.annotate 'line', 106 new $P335, "Undef" - set_global "$interactive_ctx", $P335 - vivify_64: + .lex "$code", $P335 +.annotate 'line', 111 + new $P336, "Undef" + .lex "$*AUTOPRINTPOS", $P336 .annotate 'line', 112 - get_global $P336, "%interactive_pad" - unless_null $P336, vivify_65 - $P336 = root_new ['parrot';'Hash'] - set_global "%interactive_pad", $P336 - vivify_65: -.annotate 'line', 113 new $P337, "Undef" .lex "$*CTXSAVE", $P337 -.annotate 'line', 114 +.annotate 'line', 113 new $P338, "Undef" .lex "$*MAIN_CTX", $P338 -.annotate 'line', 102 +.annotate 'line', 103 find_lex $P340, "$stdin" if $P340, unless_339_end set $I341, .CONTROL_LOOP_LAST die 0, $I341 unless_339_end: -.annotate 'line', 104 +.annotate 'line', 105 find_lex $P343, "self" $P344 = $P343."commandline_prompt"() set $P342, $P344 @@ -7888,409 +7881,439 @@ An operator precedence parser. set $P342, $P347 default_345: store_lex "$prompt", $P342 -.annotate 'line', 105 +.annotate 'line', 106 find_lex $P348, "$stdin" find_lex $P349, "$prompt" set $S350, $P349 $P351 = $P348."readline_interactive"($S350) store_lex "$code", $P351 -.annotate 'line', 107 +.annotate 'line', 108 find_lex $P353, "$code" isnull $I354, $P353 unless $I354, if_352_end set $I355, .CONTROL_LOOP_LAST die 0, $I355 if_352_end: -.annotate 'line', 110 +.annotate 'line', 111 getinterp $P356 $P357 = $P356."stdhandle"(1) $P358 = $P357."tell"() store_lex "$*AUTOPRINTPOS", $P358 - get_global $P359, "$interactive_ctx" - get_global $P360, "%interactive_pad" -.annotate 'line', 113 - find_lex $P361, "self" - store_lex "$*CTXSAVE", $P361 - find_lex $P362, "$*MAIN_CTX" - unless_null $P362, vivify_66 - get_hll_global $P362, "$MAIN_CTX" - unless_null $P362, vivify_67 +.annotate 'line', 112 + find_lex $P359, "self" + store_lex "$*CTXSAVE", $P359 + find_lex $P360, "$*MAIN_CTX" + unless_null $P360, vivify_65 + get_hll_global $P360, "$MAIN_CTX" + unless_null $P360, vivify_66 die "Contextual $*MAIN_CTX not found" - vivify_67: vivify_66: -.annotate 'line', 116 - find_lex $P365, "$code" - if $P365, if_364 - set $P363, $P365 - goto if_364_end - if_364: - .const 'Sub' $P367 = "28_1276996304.507" - capture_lex $P367 - $P437 = $P367() - set $P363, $P437 - if_364_end: -.annotate 'line', 101 - .return ($P363) + vivify_65: +.annotate 'line', 115 + find_lex $P363, "$code" + if $P363, if_362 + set $P361, $P363 + goto if_362_end + if_362: + .const 'Sub' $P365 = "28_1278500529.62668" + capture_lex $P365 + $P442 = $P365() + set $P361, $P442 + if_362_end: +.annotate 'line', 102 + .return ($P361) .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block366" :anon :subid("28_1276996304.507") :outer("27_1276996304.507") +.sub "_block364" :anon :subid("28_1278500529.62668") :outer("27_1278500529.62668") +.annotate 'line', 115 + .const 'Sub' $P398 = "31_1278500529.62668" + capture_lex $P398 + .const 'Sub' $P371 = "29_1278500529.62668" + capture_lex $P371 +.annotate 'line', 117 + new $P366, "Undef" + .lex "$output", $P366 .annotate 'line', 116 - .const 'Sub' $P405 = "31_1276996304.507" - capture_lex $P405 - .const 'Sub' $P373 = "29_1276996304.507" - capture_lex $P373 + find_lex $P367, "$code" + concat $P368, $P367, "\n" + store_lex "$code", $P368 + find_lex $P369, "$output" .annotate 'line', 118 - new $P368, "Undef" - .lex "$output", $P368 -.annotate 'line', 117 - find_lex $P369, "$code" - concat $P370, $P369, "\n" - store_lex "$code", $P370 - find_lex $P371, "$output" -.annotate 'line', 119 - .const 'Sub' $P373 = "29_1276996304.507" - capture_lex $P373 - $P373() -.annotate 'line', 126 - find_dynamic_lex $P397, "$*MAIN_CTX" - unless_null $P397, vivify_68 - get_hll_global $P397, "$MAIN_CTX" - unless_null $P397, vivify_69 + .const 'Sub' $P371 = "29_1278500529.62668" + capture_lex $P371 + $P371() +.annotate 'line', 125 + find_dynamic_lex $P395, "$*MAIN_CTX" + unless_null $P395, vivify_67 + get_hll_global $P395, "$MAIN_CTX" + unless_null $P395, vivify_68 die "Contextual $*MAIN_CTX not found" - vivify_69: vivify_68: - defined $I398, $P397 - unless $I398, if_396_end -.annotate 'line', 127 - find_dynamic_lex $P400, "$*MAIN_CTX" - unless_null $P400, vivify_70 - get_hll_global $P400, "$MAIN_CTX" - unless_null $P400, vivify_71 - die "Contextual $*MAIN_CTX not found" - vivify_71: - vivify_70: - $P401 = $P400."lexpad_full"() - defined $I402, $P401 - unless $I402, for_undef_72 - iter $P399, $P401 - new $P413, 'ExceptionHandler' - set_addr $P413, loop412_handler - $P413."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P413 - loop412_test: - unless $P399, loop412_done - shift $P403, $P399 - loop412_redo: - .const 'Sub' $P405 = "31_1276996304.507" - capture_lex $P405 - $P405($P403) - loop412_next: - goto loop412_test - loop412_handler: - .local pmc exception - .get_results (exception) - getattribute $P414, exception, 'type' - eq $P414, .CONTROL_LOOP_NEXT, loop412_next - eq $P414, .CONTROL_LOOP_REDO, loop412_redo - loop412_done: - pop_eh - for_undef_72: - if_396_end: -.annotate 'line', 131 - find_lex $P416, "$output" - isnull $I417, $P416 - unless $I417, if_415_end - set $I418, .CONTROL_LOOP_NEXT - die 0, $I418 - if_415_end: + vivify_67: + defined $I396, $P395 + unless $I396, if_394_end + .const 'Sub' $P398 = "31_1278500529.62668" + capture_lex $P398 + $P398() + if_394_end: .annotate 'line', 133 - find_lex $P421, "$target" - isfalse $I422, $P421 - if $I422, if_420 + find_lex $P421, "$output" + isnull $I422, $P421 + unless $I422, if_420_end + set $I423, .CONTROL_LOOP_NEXT + die 0, $I423 + if_420_end: .annotate 'line', 135 - find_lex $P428, "$target" - set $S429, $P428 - iseq $I430, $S429, "pir" - if $I430, if_427 + find_lex $P426, "$target" + isfalse $I427, $P426 + if $I427, if_425 +.annotate 'line', 137 + find_lex $P433, "$target" + set $S434, $P433 + iseq $I435, $S434, "pir" + if $I435, if_432 +.annotate 'line', 140 + find_lex $P437, "self" + find_lex $P438, "$output" + find_lex $P439, "$target" + find_lex $P440, "%adverbs" + $P441 = $P437."dumper"($P438, $P439, $P440 :flat) +.annotate 'line', 139 + set $P431, $P441 +.annotate 'line', 137 + goto if_432_end + if_432: .annotate 'line', 138 - find_lex $P432, "self" - find_lex $P433, "$output" - find_lex $P434, "$target" - find_lex $P435, "%adverbs" - $P436 = $P432."dumper"($P433, $P434, $P435 :flat) + find_lex $P436, "$output" + say $P436 + if_432_end: .annotate 'line', 137 - set $P426, $P436 + set $P424, $P431 .annotate 'line', 135 - goto if_427_end - if_427: + goto if_425_end + if_425: .annotate 'line', 136 - find_lex $P431, "$output" - say $P431 - if_427_end: + find_lex $P428, "self" + find_lex $P429, "$output" + $P430 = $P428."autoprint"($P429) .annotate 'line', 135 - set $P419, $P426 -.annotate 'line', 133 - goto if_420_end - if_420: -.annotate 'line', 134 - find_lex $P423, "self" - find_lex $P424, "$output" - $P425 = $P423."autoprint"($P424) -.annotate 'line', 133 - set $P419, $P425 - if_420_end: -.annotate 'line', 116 - .return ($P419) + set $P424, $P430 + if_425_end: +.annotate 'line', 115 + .return ($P424) .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block372" :anon :subid("29_1276996304.507") :outer("28_1276996304.507") -.annotate 'line', 119 - .const 'Sub' $P385 = "30_1276996304.507" - capture_lex $P385 - new $P381, 'ExceptionHandler' - set_addr $P381, control_380 - $P381."handle_types_except"(.CONTROL_RETURN, .CONTROL_OK, .CONTROL_BREAK, .CONTROL_CONTINUE, .CONTROL_TAKE, .CONTROL_LEAVE, .CONTROL_EXIT, .CONTROL_LOOP_NEXT, .CONTROL_LOOP_LAST, .CONTROL_LOOP_REDO) - push_eh $P381 -.annotate 'line', 120 - find_lex $P374, "self" - find_lex $P375, "$code" - get_global $P376, "$interactive_ctx" - find_lex $P377, "%adverbs" - $P378 = $P374."eval"($P375, $P377 :flat, $P376 :named("outer_ctx")) - store_lex "$output", $P378 +.sub "_block370" :anon :subid("29_1278500529.62668") :outer("28_1278500529.62668") +.annotate 'line', 118 + .const 'Sub' $P383 = "30_1278500529.62668" + capture_lex $P383 + new $P379, 'ExceptionHandler' + set_addr $P379, control_378 + $P379."handle_types_except"(.CONTROL_RETURN, .CONTROL_OK, .CONTROL_BREAK, .CONTROL_CONTINUE, .CONTROL_TAKE, .CONTROL_LEAVE, .CONTROL_EXIT, .CONTROL_LOOP_NEXT, .CONTROL_LOOP_LAST, .CONTROL_LOOP_REDO) + push_eh $P379 .annotate 'line', 119 + find_lex $P372, "self" + find_lex $P373, "$code" + find_lex $P374, "$save_ctx" + find_lex $P375, "%adverbs" + $P376 = $P372."eval"($P373, $P375 :flat, $P374 :named("outer_ctx")) + store_lex "$output", $P376 +.annotate 'line', 118 pop_eh - goto skip_handler_379 - control_380: -.annotate 'line', 121 + goto skip_handler_377 + control_378: +.annotate 'line', 120 .local pmc exception .get_results (exception) - .const 'Sub' $P385 = "30_1276996304.507" - newclosure $P393, $P385 - $P393(exception) - new $P394, 'Integer' - set $P394, 1 - set exception["handled"], $P394 - set $I395, exception["handled"] - ne $I395, 1, nothandled_383 - handled_382: + .const 'Sub' $P383 = "30_1278500529.62668" + newclosure $P391, $P383 + $P391(exception) + new $P392, 'Integer' + set $P392, 1 + set exception["handled"], $P392 + set $I393, exception["handled"] + ne $I393, 1, nothandled_381 + handled_380: .return (exception) - nothandled_383: + nothandled_381: rethrow exception - skip_handler_379: -.annotate 'line', 119 + skip_handler_377: +.annotate 'line', 118 .return () .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "_block384" :anon :subid("30_1276996304.507") :outer("29_1276996304.507") - .param pmc param_386 +.sub "_block382" :anon :subid("30_1278500529.62668") :outer("29_1278500529.62668") + .param pmc param_384 +.annotate 'line', 120 + .lex "$_", param_384 + find_lex $P385, "$_" + .lex "$!", $P385 .annotate 'line', 121 - .lex "$_", param_386 - find_lex $P387, "$_" - .lex "$!", $P387 + find_lex $P386, "$!" + set $S387, $P386 + new $P388, 'String' + set $P388, $S387 + concat $P389, $P388, "\n" + print $P389 .annotate 'line', 122 - find_lex $P388, "$!" - set $S389, $P388 - new $P390, 'String' - set $P390, $S389 - concat $P391, $P390, "\n" - print $P391 -.annotate 'line', 123 - set $I392, .CONTROL_LOOP_NEXT - die 0, $I392 -.annotate 'line', 121 + set $I390, .CONTROL_LOOP_NEXT + die 0, $I390 +.annotate 'line', 120 .return () .end .namespace ["HLL";"Compiler"] -.sub "_block404" :anon :subid("31_1276996304.507") :outer("28_1276996304.507") - .param pmc param_406 +.include "except_types.pasm" +.sub "_block397" :anon :subid("31_1278500529.62668") :outer("28_1278500529.62668") +.annotate 'line', 125 + .const 'Sub' $P409 = "32_1278500529.62668" + capture_lex $P409 +.annotate 'line', 126 + get_global $P399, "$interactive_ctx" + unless_null $P399, vivify_69 + new $P399, "Undef" + set_global "$interactive_ctx", $P399 + vivify_69: .annotate 'line', 127 - .lex "$_", param_406 + get_global $P400, "%interactive_pad" + unless_null $P400, vivify_70 + $P400 = root_new ['parrot';'Hash'] + set_global "%interactive_pad", $P400 + vivify_70: +.annotate 'line', 125 + get_global $P401, "$interactive_ctx" + get_global $P402, "%interactive_pad" .annotate 'line', 128 - find_lex $P407, "$_" - $P408 = $P407."value"() - find_lex $P409, "$_" - $P410 = $P409."key"() - get_global $P411, "%interactive_pad" - unless_null $P411, vivify_73 - $P411 = root_new ['parrot';'Hash'] - set_global "%interactive_pad", $P411 - vivify_73: - set $P411[$P410], $P408 -.annotate 'line', 127 - .return ($P408) + find_dynamic_lex $P404, "$*MAIN_CTX" + unless_null $P404, vivify_71 + get_hll_global $P404, "$MAIN_CTX" + unless_null $P404, vivify_72 + die "Contextual $*MAIN_CTX not found" + vivify_72: + vivify_71: + $P405 = $P404."lexpad_full"() + defined $I406, $P405 + unless $I406, for_undef_73 + iter $P403, $P405 + new $P417, 'ExceptionHandler' + set_addr $P417, loop416_handler + $P417."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P417 + loop416_test: + unless $P403, loop416_done + shift $P407, $P403 + loop416_redo: + .const 'Sub' $P409 = "32_1278500529.62668" + capture_lex $P409 + $P409($P407) + loop416_next: + goto loop416_test + loop416_handler: + .local pmc exception + .get_results (exception) + getattribute $P418, exception, 'type' + eq $P418, .CONTROL_LOOP_NEXT, loop416_next + eq $P418, .CONTROL_LOOP_REDO, loop416_redo + loop416_done: + pop_eh + for_undef_73: +.annotate 'line', 131 + get_global $P419, "$interactive_ctx" + store_lex "$save_ctx", $P419 +.annotate 'line', 125 + .return ($P419) +.end + + +.namespace ["HLL";"Compiler"] +.sub "_block408" :anon :subid("32_1278500529.62668") :outer("31_1278500529.62668") + .param pmc param_410 +.annotate 'line', 128 + .lex "$_", param_410 +.annotate 'line', 129 + find_lex $P411, "$_" + $P412 = $P411."value"() + find_lex $P413, "$_" + $P414 = $P413."key"() + get_global $P415, "%interactive_pad" + unless_null $P415, vivify_74 + $P415 = root_new ['parrot';'Hash'] + set_global "%interactive_pad", $P415 + vivify_74: + set $P415[$P414], $P412 +.annotate 'line', 128 + .return ($P412) .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "eval" :subid("32_1276996304.507") :method :outer("11_1276996304.507") - .param pmc param_445 - .param pmc param_446 :slurpy - .param pmc param_447 :slurpy :named -.annotate 'line', 144 - .const 'Sub' $P466 = "33_1276996304.507" - capture_lex $P466 - new $P444, 'ExceptionHandler' - set_addr $P444, control_443 - $P444."handle_types"(.CONTROL_RETURN) - push_eh $P444 +.sub "eval" :subid("33_1278500529.62668") :method :outer("11_1278500529.62668") + .param pmc param_450 + .param pmc param_451 :slurpy + .param pmc param_452 :slurpy :named +.annotate 'line', 146 + .const 'Sub' $P471 = "34_1278500529.62668" + capture_lex $P471 + new $P449, 'ExceptionHandler' + set_addr $P449, control_448 + $P449."handle_types"(.CONTROL_RETURN) + push_eh $P449 .lex "self", self - .lex "$code", param_445 - .lex "@args", param_446 - .lex "%adverbs", param_447 -.annotate 'line', 145 - new $P448, "Undef" - .lex "$output", $P448 -.annotate 'line', 144 - find_lex $P449, "$output" + .lex "$code", param_450 + .lex "@args", param_451 + .lex "%adverbs", param_452 +.annotate 'line', 147 + new $P453, "Undef" + .lex "$output", $P453 .annotate 'line', 146 - find_lex $P450, "self" - find_lex $P451, "$code" - find_lex $P452, "%adverbs" - $P453 = $P450."compile"($P451, $P452 :flat) - store_lex "$output", $P453 + find_lex $P454, "$output" .annotate 'line', 148 - find_lex $P457, "$output" - isa $I458, $P457, "String" - new $P459, 'Integer' - set $P459, $I458 - isfalse $I460, $P459 - if $I460, if_456 - new $P455, 'Integer' - set $P455, $I460 - goto if_456_end - if_456: -.annotate 'line', 149 - find_lex $P461, "%adverbs" - unless_null $P461, vivify_74 - $P461 = root_new ['parrot';'Hash'] - vivify_74: - set $P462, $P461["target"] - unless_null $P462, vivify_75 - new $P462, "Undef" + find_lex $P455, "self" + find_lex $P456, "$code" + find_lex $P457, "%adverbs" + $P458 = $P455."compile"($P456, $P457 :flat) + store_lex "$output", $P458 +.annotate 'line', 150 + find_lex $P462, "$output" + isa $I463, $P462, "String" + new $P464, 'Integer' + set $P464, $I463 + isfalse $I465, $P464 + if $I465, if_461 + new $P460, 'Integer' + set $P460, $I465 + goto if_461_end + if_461: +.annotate 'line', 151 + find_lex $P466, "%adverbs" + unless_null $P466, vivify_75 + $P466 = root_new ['parrot';'Hash'] vivify_75: - set $S463, $P462 - iseq $I464, $S463, "" - new $P455, 'Integer' - set $P455, $I464 - if_456_end: - unless $P455, if_454_end - .const 'Sub' $P466 = "33_1276996304.507" - capture_lex $P466 - $P466() - if_454_end: -.annotate 'line', 148 - find_lex $P482, "$output" -.annotate 'line', 144 - .return ($P482) - control_443: + set $P467, $P466["target"] + unless_null $P467, vivify_76 + new $P467, "Undef" + vivify_76: + set $S468, $P467 + iseq $I469, $S468, "" + new $P460, 'Integer' + set $P460, $I469 + if_461_end: + unless $P460, if_459_end + .const 'Sub' $P471 = "34_1278500529.62668" + capture_lex $P471 + $P471() + if_459_end: +.annotate 'line', 150 + find_lex $P487, "$output" +.annotate 'line', 146 + .return ($P487) + control_448: .local pmc exception .get_results (exception) - getattribute $P483, exception, "payload" - .return ($P483) + getattribute $P488, exception, "payload" + .return ($P488) .end .namespace ["HLL";"Compiler"] -.sub "_block465" :anon :subid("33_1276996304.507") :outer("32_1276996304.507") -.annotate 'line', 150 - new $P467, "Undef" - .lex "$outer_ctx", $P467 - find_lex $P468, "%adverbs" - unless_null $P468, vivify_76 - $P468 = root_new ['parrot';'Hash'] - vivify_76: - set $P469, $P468["outer_ctx"] - unless_null $P469, vivify_77 - new $P469, "Undef" - vivify_77: - store_lex "$outer_ctx", $P469 -.annotate 'line', 151 - find_lex $P471, "$outer_ctx" - defined $I472, $P471 - unless $I472, if_470_end +.sub "_block470" :anon :subid("34_1278500529.62668") :outer("33_1278500529.62668") .annotate 'line', 152 - find_lex $P473, "$output" - unless_null $P473, vivify_78 - $P473 = root_new ['parrot';'ResizablePMCArray'] - vivify_78: - set $P474, $P473[0] - unless_null $P474, vivify_79 + new $P472, "Undef" + .lex "$outer_ctx", $P472 + find_lex $P473, "%adverbs" + unless_null $P473, vivify_77 + $P473 = root_new ['parrot';'Hash'] + vivify_77: + set $P474, $P473["outer_ctx"] + unless_null $P474, vivify_78 new $P474, "Undef" + vivify_78: + store_lex "$outer_ctx", $P474 +.annotate 'line', 153 + find_lex $P476, "$outer_ctx" + defined $I477, $P476 + unless $I477, if_475_end +.annotate 'line', 154 + find_lex $P478, "$output" + unless_null $P478, vivify_79 + $P478 = root_new ['parrot';'ResizablePMCArray'] vivify_79: - find_lex $P475, "$outer_ctx" - $P474."set_outer_ctx"($P475) - if_470_end: -.annotate 'line', 155 - find_lex $P476, "%adverbs" - unless_null $P476, vivify_80 - $P476 = root_new ['parrot';'Hash'] + set $P479, $P478[0] + unless_null $P479, vivify_80 + new $P479, "Undef" vivify_80: - set $P477, $P476["trace"] - unless_null $P477, vivify_81 - new $P477, "Undef" - vivify_81: - set $I478, $P477 - trace $I478 -.annotate 'line', 156 - find_lex $P479, "$output" - find_lex $P480, "@args" - $P481 = $P479($P480 :flat) - store_lex "$output", $P481 + find_lex $P480, "$outer_ctx" + $P479."set_outer_ctx"($P480) + if_475_end: .annotate 'line', 157 + find_lex $P481, "%adverbs" + unless_null $P481, vivify_81 + $P481 = root_new ['parrot';'Hash'] + vivify_81: + set $P482, $P481["trace"] + unless_null $P482, vivify_82 + new $P482, "Undef" + vivify_82: + set $I483, $P482 + trace $I483 +.annotate 'line', 158 + find_lex $P484, "$output" + find_lex $P485, "@args" + $P486 = $P484($P485 :flat) + store_lex "$output", $P486 +.annotate 'line', 159 trace 0 -.annotate 'line', 149 +.annotate 'line', 151 .return () .end .namespace ["HLL";"Compiler"] .include "except_types.pasm" -.sub "ctxsave" :subid("34_1276996304.507") :method :outer("11_1276996304.507") -.annotate 'line', 163 - new $P486, 'ExceptionHandler' - set_addr $P486, control_485 - $P486."handle_types"(.CONTROL_RETURN) - push_eh $P486 - .lex "self", self +.sub "ctxsave" :subid("35_1278500529.62668") :method :outer("11_1278500529.62668") .annotate 'line', 165 + new $P491, 'ExceptionHandler' + set_addr $P491, control_490 + $P491."handle_types"(.CONTROL_RETURN) + push_eh $P491 + .lex "self", self +.annotate 'line', 167 $P0 = getinterp - $P487 = $P0['context';1] + $P492 = $P0['context';1] - store_dynamic_lex "$*MAIN_CTX", $P487 -.annotate 'line', 169 - new $P488, "Integer" - assign $P488, 0 - store_dynamic_lex "$*CTXSAVE", $P488 -.annotate 'line', 163 - .return ($P488) - control_485: + store_dynamic_lex "$*MAIN_CTX", $P492 +.annotate 'line', 171 + new $P493, "Integer" + assign $P493, 0 + store_dynamic_lex "$*CTXSAVE", $P493 +.annotate 'line', 165 + .return ($P493) + control_490: .local pmc exception .get_results (exception) - getattribute $P489, exception, "payload" - .return ($P489) + getattribute $P494, exception, "payload" + .return ($P494) .end .namespace [] -.sub "_block493" :load :anon :subid("35_1276996304.507") +.sub "_block498" :load :anon :subid("36_1278500529.62668") .annotate 'line', 1 - .const 'Sub' $P495 = "10_1276996304.507" - $P496 = $P495() - .return ($P496) + .const 'Sub' $P500 = "10_1278500529.62668" + $P501 = $P500() + .return ($P501) .end diff --git a/ext/nqp-rx/src/stage0/NQP-s0.pir b/ext/nqp-rx/src/stage0/NQP-s0.pir index 57e6b302a3..33317cb566 100644 --- a/ext/nqp-rx/src/stage0/NQP-s0.pir +++ b/ext/nqp-rx/src/stage0/NQP-s0.pir @@ -15,7 +15,7 @@ NQP::Compiler - NQP compiler ### .include 'gen/nqp-grammar.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996322.81157") +.sub "_block11" :anon :subid("10_1278500537.15927") .annotate 'line', 0 get_hll_global $P14, ["NQP";"Grammar"], "_block13" capture_lex $P14 @@ -29,333 +29,341 @@ NQP::Compiler - NQP compiler .annotate 'line', 4 get_hll_global $P14, ["NQP";"Grammar"], "_block13" capture_lex $P14 - $P1424 = $P14() + $P1456 = $P14() .annotate 'line', 1 - .return ($P1424) - .const 'Sub' $P1426 = "363_1276996322.81157" - .return ($P1426) + .return ($P1456) + .const 'Sub' $P1458 = "371_1278500537.15927" + .return ($P1458) .end .namespace [] -.sub "" :load :init :subid("post364") :outer("10_1276996322.81157") +.sub "" :load :init :subid("post372") :outer("10_1278500537.15927") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996322.81157" + .const 'Sub' $P12 = "10_1278500537.15927" .local pmc block set block, $P12 - $P1429 = get_root_global ["parrot"], "P6metaclass" - $P1429."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent")) + $P1461 = get_root_global ["parrot"], "P6metaclass" + $P1461."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent")) .end .namespace ["NQP";"Grammar"] -.sub "_block13" :subid("11_1276996322.81157") :outer("10_1276996322.81157") +.sub "_block13" :subid("11_1278500537.15927") :outer("10_1278500537.15927") .annotate 'line', 4 - get_hll_global $P1340, ["NQP";"Regex"], "_block1339" + get_hll_global $P1372, ["NQP";"Regex"], "_block1371" + capture_lex $P1372 + .const 'Sub' $P1358 = "348_1278500537.15927" + capture_lex $P1358 + .const 'Sub' $P1352 = "346_1278500537.15927" + capture_lex $P1352 + .const 'Sub' $P1346 = "344_1278500537.15927" + capture_lex $P1346 + .const 'Sub' $P1340 = "342_1278500537.15927" capture_lex $P1340 - .const 'Sub' $P1326 = "340_1276996322.81157" - capture_lex $P1326 - .const 'Sub' $P1320 = "338_1276996322.81157" - capture_lex $P1320 - .const 'Sub' $P1314 = "336_1276996322.81157" + .const 'Sub' $P1334 = "340_1278500537.15927" + capture_lex $P1334 + .const 'Sub' $P1328 = "338_1278500537.15927" + capture_lex $P1328 + .const 'Sub' $P1321 = "336_1278500537.15927" + capture_lex $P1321 + .const 'Sub' $P1314 = "334_1278500537.15927" capture_lex $P1314 - .const 'Sub' $P1308 = "334_1276996322.81157" - capture_lex $P1308 - .const 'Sub' $P1302 = "332_1276996322.81157" - capture_lex $P1302 - .const 'Sub' $P1296 = "330_1276996322.81157" - capture_lex $P1296 - .const 'Sub' $P1289 = "328_1276996322.81157" - capture_lex $P1289 - .const 'Sub' $P1282 = "326_1276996322.81157" - capture_lex $P1282 - .const 'Sub' $P1275 = "324_1276996322.81157" - capture_lex $P1275 - .const 'Sub' $P1268 = "322_1276996322.81157" - capture_lex $P1268 - .const 'Sub' $P1262 = "320_1276996322.81157" - capture_lex $P1262 - .const 'Sub' $P1255 = "318_1276996322.81157" - capture_lex $P1255 - .const 'Sub' $P1248 = "316_1276996322.81157" - capture_lex $P1248 - .const 'Sub' $P1241 = "314_1276996322.81157" - capture_lex $P1241 - .const 'Sub' $P1234 = "312_1276996322.81157" - capture_lex $P1234 - .const 'Sub' $P1227 = "310_1276996322.81157" - capture_lex $P1227 - .const 'Sub' $P1220 = "308_1276996322.81157" - capture_lex $P1220 - .const 'Sub' $P1213 = "306_1276996322.81157" - capture_lex $P1213 - .const 'Sub' $P1206 = "304_1276996322.81157" - capture_lex $P1206 - .const 'Sub' $P1199 = "302_1276996322.81157" - capture_lex $P1199 - .const 'Sub' $P1192 = "300_1276996322.81157" - capture_lex $P1192 - .const 'Sub' $P1185 = "298_1276996322.81157" - capture_lex $P1185 - .const 'Sub' $P1178 = "296_1276996322.81157" - capture_lex $P1178 - .const 'Sub' $P1171 = "294_1276996322.81157" - capture_lex $P1171 - .const 'Sub' $P1164 = "292_1276996322.81157" - capture_lex $P1164 - .const 'Sub' $P1157 = "290_1276996322.81157" - capture_lex $P1157 - .const 'Sub' $P1150 = "288_1276996322.81157" - capture_lex $P1150 - .const 'Sub' $P1143 = "286_1276996322.81157" - capture_lex $P1143 - .const 'Sub' $P1136 = "284_1276996322.81157" - capture_lex $P1136 - .const 'Sub' $P1129 = "282_1276996322.81157" - capture_lex $P1129 - .const 'Sub' $P1122 = "280_1276996322.81157" - capture_lex $P1122 - .const 'Sub' $P1115 = "278_1276996322.81157" - capture_lex $P1115 - .const 'Sub' $P1108 = "276_1276996322.81157" - capture_lex $P1108 - .const 'Sub' $P1101 = "274_1276996322.81157" - capture_lex $P1101 - .const 'Sub' $P1094 = "272_1276996322.81157" - capture_lex $P1094 - .const 'Sub' $P1087 = "270_1276996322.81157" - capture_lex $P1087 - .const 'Sub' $P1080 = "268_1276996322.81157" - capture_lex $P1080 - .const 'Sub' $P1074 = "266_1276996322.81157" - capture_lex $P1074 - .const 'Sub' $P1067 = "264_1276996322.81157" - capture_lex $P1067 - .const 'Sub' $P1060 = "262_1276996322.81157" - capture_lex $P1060 - .const 'Sub' $P1053 = "260_1276996322.81157" - capture_lex $P1053 - .const 'Sub' $P1046 = "258_1276996322.81157" - capture_lex $P1046 - .const 'Sub' $P1039 = "256_1276996322.81157" - capture_lex $P1039 - .const 'Sub' $P1032 = "254_1276996322.81157" - capture_lex $P1032 - .const 'Sub' $P1025 = "252_1276996322.81157" - capture_lex $P1025 - .const 'Sub' $P1019 = "250_1276996322.81157" + .const 'Sub' $P1307 = "332_1278500537.15927" + capture_lex $P1307 + .const 'Sub' $P1300 = "330_1278500537.15927" + capture_lex $P1300 + .const 'Sub' $P1294 = "328_1278500537.15927" + capture_lex $P1294 + .const 'Sub' $P1287 = "326_1278500537.15927" + capture_lex $P1287 + .const 'Sub' $P1280 = "324_1278500537.15927" + capture_lex $P1280 + .const 'Sub' $P1273 = "322_1278500537.15927" + capture_lex $P1273 + .const 'Sub' $P1266 = "320_1278500537.15927" + capture_lex $P1266 + .const 'Sub' $P1259 = "318_1278500537.15927" + capture_lex $P1259 + .const 'Sub' $P1252 = "316_1278500537.15927" + capture_lex $P1252 + .const 'Sub' $P1245 = "314_1278500537.15927" + capture_lex $P1245 + .const 'Sub' $P1238 = "312_1278500537.15927" + capture_lex $P1238 + .const 'Sub' $P1231 = "310_1278500537.15927" + capture_lex $P1231 + .const 'Sub' $P1224 = "308_1278500537.15927" + capture_lex $P1224 + .const 'Sub' $P1217 = "306_1278500537.15927" + capture_lex $P1217 + .const 'Sub' $P1210 = "304_1278500537.15927" + capture_lex $P1210 + .const 'Sub' $P1203 = "302_1278500537.15927" + capture_lex $P1203 + .const 'Sub' $P1196 = "300_1278500537.15927" + capture_lex $P1196 + .const 'Sub' $P1189 = "298_1278500537.15927" + capture_lex $P1189 + .const 'Sub' $P1182 = "296_1278500537.15927" + capture_lex $P1182 + .const 'Sub' $P1175 = "294_1278500537.15927" + capture_lex $P1175 + .const 'Sub' $P1168 = "292_1278500537.15927" + capture_lex $P1168 + .const 'Sub' $P1161 = "290_1278500537.15927" + capture_lex $P1161 + .const 'Sub' $P1154 = "288_1278500537.15927" + capture_lex $P1154 + .const 'Sub' $P1147 = "286_1278500537.15927" + capture_lex $P1147 + .const 'Sub' $P1140 = "284_1278500537.15927" + capture_lex $P1140 + .const 'Sub' $P1133 = "282_1278500537.15927" + capture_lex $P1133 + .const 'Sub' $P1126 = "280_1278500537.15927" + capture_lex $P1126 + .const 'Sub' $P1119 = "278_1278500537.15927" + capture_lex $P1119 + .const 'Sub' $P1112 = "276_1278500537.15927" + capture_lex $P1112 + .const 'Sub' $P1105 = "274_1278500537.15927" + capture_lex $P1105 + .const 'Sub' $P1098 = "272_1278500537.15927" + capture_lex $P1098 + .const 'Sub' $P1091 = "270_1278500537.15927" + capture_lex $P1091 + .const 'Sub' $P1085 = "268_1278500537.15927" + capture_lex $P1085 + .const 'Sub' $P1078 = "266_1278500537.15927" + capture_lex $P1078 + .const 'Sub' $P1071 = "264_1278500537.15927" + capture_lex $P1071 + .const 'Sub' $P1064 = "262_1278500537.15927" + capture_lex $P1064 + .const 'Sub' $P1057 = "260_1278500537.15927" + capture_lex $P1057 + .const 'Sub' $P1050 = "258_1278500537.15927" + capture_lex $P1050 + .const 'Sub' $P1043 = "256_1278500537.15927" + capture_lex $P1043 + .const 'Sub' $P1036 = "254_1278500537.15927" + capture_lex $P1036 + .const 'Sub' $P1030 = "252_1278500537.15927" + capture_lex $P1030 + .const 'Sub' $P1024 = "250_1278500537.15927" + capture_lex $P1024 + .const 'Sub' $P1019 = "248_1278500537.15927" capture_lex $P1019 - .const 'Sub' $P1013 = "248_1276996322.81157" + .const 'Sub' $P1013 = "246_1278500537.15927" capture_lex $P1013 - .const 'Sub' $P1008 = "246_1276996322.81157" - capture_lex $P1008 - .const 'Sub' $P1002 = "244_1276996322.81157" + .const 'Sub' $P1007 = "244_1278500537.15927" + capture_lex $P1007 + .const 'Sub' $P1002 = "242_1278500537.15927" capture_lex $P1002 - .const 'Sub' $P996 = "242_1276996322.81157" - capture_lex $P996 - .const 'Sub' $P991 = "240_1276996322.81157" - capture_lex $P991 - .const 'Sub' $P986 = "238_1276996322.81157" - capture_lex $P986 - .const 'Sub' $P978 = "236_1276996322.81157" - capture_lex $P978 - .const 'Sub' $P970 = "234_1276996322.81157" - capture_lex $P970 - .const 'Sub' $P965 = "232_1276996322.81157" - capture_lex $P965 - .const 'Sub' $P960 = "230_1276996322.81157" - capture_lex $P960 - .const 'Sub' $P955 = "228_1276996322.81157" - capture_lex $P955 - .const 'Sub' $P947 = "226_1276996322.81157" - capture_lex $P947 - .const 'Sub' $P939 = "224_1276996322.81157" - capture_lex $P939 - .const 'Sub' $P934 = "222_1276996322.81157" - capture_lex $P934 - .const 'Sub' $P929 = "220_1276996322.81157" + .const 'Sub' $P997 = "240_1278500537.15927" + capture_lex $P997 + .const 'Sub' $P989 = "238_1278500537.15927" + capture_lex $P989 + .const 'Sub' $P981 = "236_1278500537.15927" + capture_lex $P981 + .const 'Sub' $P976 = "234_1278500537.15927" + capture_lex $P976 + .const 'Sub' $P971 = "232_1278500537.15927" + capture_lex $P971 + .const 'Sub' $P966 = "230_1278500537.15927" + capture_lex $P966 + .const 'Sub' $P958 = "228_1278500537.15927" + capture_lex $P958 + .const 'Sub' $P950 = "226_1278500537.15927" + capture_lex $P950 + .const 'Sub' $P945 = "224_1278500537.15927" + capture_lex $P945 + .const 'Sub' $P940 = "222_1278500537.15927" + capture_lex $P940 + .const 'Sub' $P935 = "220_1278500537.15927" + capture_lex $P935 + .const 'Sub' $P929 = "218_1278500537.15927" capture_lex $P929 - .const 'Sub' $P924 = "218_1276996322.81157" - capture_lex $P924 - .const 'Sub' $P918 = "216_1276996322.81157" - capture_lex $P918 - .const 'Sub' $P912 = "214_1276996322.81157" - capture_lex $P912 - .const 'Sub' $P906 = "212_1276996322.81157" - capture_lex $P906 - .const 'Sub' $P900 = "210_1276996322.81157" + .const 'Sub' $P923 = "216_1278500537.15927" + capture_lex $P923 + .const 'Sub' $P917 = "214_1278500537.15927" + capture_lex $P917 + .const 'Sub' $P911 = "212_1278500537.15927" + capture_lex $P911 + .const 'Sub' $P905 = "210_1278500537.15927" + capture_lex $P905 + .const 'Sub' $P900 = "208_1278500537.15927" capture_lex $P900 - .const 'Sub' $P894 = "208_1276996322.81157" - capture_lex $P894 - .const 'Sub' $P889 = "206_1276996322.81157" - capture_lex $P889 - .const 'Sub' $P884 = "204_1276996322.81157" - capture_lex $P884 - .const 'Sub' $P871 = "200_1276996322.81157" - capture_lex $P871 - .const 'Sub' $P863 = "198_1276996322.81157" - capture_lex $P863 - .const 'Sub' $P857 = "196_1276996322.81157" - capture_lex $P857 - .const 'Sub' $P850 = "194_1276996322.81157" - capture_lex $P850 - .const 'Sub' $P844 = "192_1276996322.81157" - capture_lex $P844 - .const 'Sub' $P836 = "190_1276996322.81157" - capture_lex $P836 - .const 'Sub' $P828 = "188_1276996322.81157" - capture_lex $P828 - .const 'Sub' $P822 = "186_1276996322.81157" - capture_lex $P822 - .const 'Sub' $P816 = "184_1276996322.81157" - capture_lex $P816 - .const 'Sub' $P801 = "180_1276996322.81157" - capture_lex $P801 - .const 'Sub' $P763 = "178_1276996322.81157" - capture_lex $P763 - .const 'Sub' $P754 = "176_1276996322.81157" - capture_lex $P754 - .const 'Sub' $P748 = "174_1276996322.81157" - capture_lex $P748 - .const 'Sub' $P738 = "172_1276996322.81157" - capture_lex $P738 - .const 'Sub' $P724 = "170_1276996322.81157" - capture_lex $P724 - .const 'Sub' $P715 = "168_1276996322.81157" - capture_lex $P715 - .const 'Sub' $P707 = "166_1276996322.81157" - capture_lex $P707 - .const 'Sub' $P697 = "164_1276996322.81157" - capture_lex $P697 - .const 'Sub' $P673 = "160_1276996322.81157" - capture_lex $P673 - .const 'Sub' $P648 = "158_1276996322.81157" - capture_lex $P648 - .const 'Sub' $P641 = "156_1276996322.81157" - capture_lex $P641 - .const 'Sub' $P634 = "154_1276996322.81157" - capture_lex $P634 - .const 'Sub' $P624 = "150_1276996322.81157" - capture_lex $P624 - .const 'Sub' $P616 = "148_1276996322.81157" - capture_lex $P616 - .const 'Sub' $P610 = "146_1276996322.81157" - capture_lex $P610 - .const 'Sub' $P597 = "144_1276996322.81157" - capture_lex $P597 - .const 'Sub' $P590 = "142_1276996322.81157" - capture_lex $P590 - .const 'Sub' $P583 = "140_1276996322.81157" - capture_lex $P583 - .const 'Sub' $P576 = "138_1276996322.81157" - capture_lex $P576 - .const 'Sub' $P548 = "134_1276996322.81157" - capture_lex $P548 - .const 'Sub' $P539 = "132_1276996322.81157" - capture_lex $P539 - .const 'Sub' $P532 = "130_1276996322.81157" - capture_lex $P532 - .const 'Sub' $P523 = "126_1276996322.81157" - capture_lex $P523 - .const 'Sub' $P518 = "124_1276996322.81157" - capture_lex $P518 - .const 'Sub' $P506 = "122_1276996322.81157" - capture_lex $P506 - .const 'Sub' $P494 = "120_1276996322.81157" - capture_lex $P494 - .const 'Sub' $P486 = "118_1276996322.81157" + .const 'Sub' $P895 = "206_1278500537.15927" + capture_lex $P895 + .const 'Sub' $P882 = "202_1278500537.15927" + capture_lex $P882 + .const 'Sub' $P874 = "200_1278500537.15927" + capture_lex $P874 + .const 'Sub' $P868 = "198_1278500537.15927" + capture_lex $P868 + .const 'Sub' $P861 = "196_1278500537.15927" + capture_lex $P861 + .const 'Sub' $P855 = "194_1278500537.15927" + capture_lex $P855 + .const 'Sub' $P847 = "192_1278500537.15927" + capture_lex $P847 + .const 'Sub' $P839 = "190_1278500537.15927" + capture_lex $P839 + .const 'Sub' $P833 = "188_1278500537.15927" + capture_lex $P833 + .const 'Sub' $P827 = "186_1278500537.15927" + capture_lex $P827 + .const 'Sub' $P812 = "182_1278500537.15927" + capture_lex $P812 + .const 'Sub' $P774 = "180_1278500537.15927" + capture_lex $P774 + .const 'Sub' $P765 = "178_1278500537.15927" + capture_lex $P765 + .const 'Sub' $P759 = "176_1278500537.15927" + capture_lex $P759 + .const 'Sub' $P749 = "174_1278500537.15927" + capture_lex $P749 + .const 'Sub' $P735 = "172_1278500537.15927" + capture_lex $P735 + .const 'Sub' $P726 = "170_1278500537.15927" + capture_lex $P726 + .const 'Sub' $P718 = "168_1278500537.15927" + capture_lex $P718 + .const 'Sub' $P708 = "166_1278500537.15927" + capture_lex $P708 + .const 'Sub' $P684 = "162_1278500537.15927" + capture_lex $P684 + .const 'Sub' $P659 = "160_1278500537.15927" + capture_lex $P659 + .const 'Sub' $P652 = "158_1278500537.15927" + capture_lex $P652 + .const 'Sub' $P645 = "156_1278500537.15927" + capture_lex $P645 + .const 'Sub' $P635 = "152_1278500537.15927" + capture_lex $P635 + .const 'Sub' $P627 = "150_1278500537.15927" + capture_lex $P627 + .const 'Sub' $P621 = "148_1278500537.15927" + capture_lex $P621 + .const 'Sub' $P608 = "146_1278500537.15927" + capture_lex $P608 + .const 'Sub' $P601 = "144_1278500537.15927" + capture_lex $P601 + .const 'Sub' $P594 = "142_1278500537.15927" + capture_lex $P594 + .const 'Sub' $P587 = "140_1278500537.15927" + capture_lex $P587 + .const 'Sub' $P559 = "136_1278500537.15927" + capture_lex $P559 + .const 'Sub' $P550 = "134_1278500537.15927" + capture_lex $P550 + .const 'Sub' $P543 = "132_1278500537.15927" + capture_lex $P543 + .const 'Sub' $P534 = "128_1278500537.15927" + capture_lex $P534 + .const 'Sub' $P529 = "126_1278500537.15927" + capture_lex $P529 + .const 'Sub' $P517 = "124_1278500537.15927" + capture_lex $P517 + .const 'Sub' $P505 = "122_1278500537.15927" + capture_lex $P505 + .const 'Sub' $P497 = "120_1278500537.15927" + capture_lex $P497 + .const 'Sub' $P492 = "118_1278500537.15927" + capture_lex $P492 + .const 'Sub' $P486 = "116_1278500537.15927" capture_lex $P486 - .const 'Sub' $P481 = "116_1276996322.81157" - capture_lex $P481 - .const 'Sub' $P475 = "114_1276996322.81157" - capture_lex $P475 - .const 'Sub' $P469 = "112_1276996322.81157" - capture_lex $P469 - .const 'Sub' $P459 = "109_1276996322.81157" - capture_lex $P459 - .const 'Sub' $P453 = "107_1276996322.81157" - capture_lex $P453 - .const 'Sub' $P447 = "105_1276996322.81157" - capture_lex $P447 - .const 'Sub' $P441 = "103_1276996322.81157" - capture_lex $P441 - .const 'Sub' $P435 = "101_1276996322.81157" - capture_lex $P435 - .const 'Sub' $P429 = "99_1276996322.81157" - capture_lex $P429 - .const 'Sub' $P423 = "97_1276996322.81157" - capture_lex $P423 - .const 'Sub' $P414 = "95_1276996322.81157" - capture_lex $P414 - .const 'Sub' $P405 = "93_1276996322.81157" - capture_lex $P405 - .const 'Sub' $P392 = "89_1276996322.81157" - capture_lex $P392 - .const 'Sub' $P383 = "87_1276996322.81157" - capture_lex $P383 - .const 'Sub' $P373 = "83_1276996322.81157" - capture_lex $P373 - .const 'Sub' $P366 = "81_1276996322.81157" - capture_lex $P366 - .const 'Sub' $P359 = "79_1276996322.81157" - capture_lex $P359 - .const 'Sub' $P347 = "75_1276996322.81157" - capture_lex $P347 - .const 'Sub' $P339 = "73_1276996322.81157" - capture_lex $P339 - .const 'Sub' $P331 = "71_1276996322.81157" - capture_lex $P331 - .const 'Sub' $P311 = "69_1276996322.81157" - capture_lex $P311 - .const 'Sub' $P302 = "67_1276996322.81157" - capture_lex $P302 - .const 'Sub' $P284 = "64_1276996322.81157" - capture_lex $P284 - .const 'Sub' $P264 = "62_1276996322.81157" - capture_lex $P264 - .const 'Sub' $P255 = "58_1276996322.81157" - capture_lex $P255 - .const 'Sub' $P250 = "56_1276996322.81157" - capture_lex $P250 - .const 'Sub' $P241 = "52_1276996322.81157" - capture_lex $P241 - .const 'Sub' $P236 = "50_1276996322.81157" - capture_lex $P236 - .const 'Sub' $P231 = "48_1276996322.81157" - capture_lex $P231 - .const 'Sub' $P223 = "46_1276996322.81157" - capture_lex $P223 - .const 'Sub' $P216 = "44_1276996322.81157" - capture_lex $P216 - .const 'Sub' $P210 = "42_1276996322.81157" - capture_lex $P210 - .const 'Sub' $P202 = "40_1276996322.81157" - capture_lex $P202 - .const 'Sub' $P196 = "38_1276996322.81157" - capture_lex $P196 - .const 'Sub' $P190 = "36_1276996322.81157" - capture_lex $P190 - .const 'Sub' $P174 = "33_1276996322.81157" - capture_lex $P174 - .const 'Sub' $P159 = "31_1276996322.81157" - capture_lex $P159 - .const 'Sub' $P152 = "29_1276996322.81157" - capture_lex $P152 - .const 'Sub' $P102 = "26_1276996322.81157" - capture_lex $P102 - .const 'Sub' $P84 = "23_1276996322.81157" - capture_lex $P84 - .const 'Sub' $P70 = "21_1276996322.81157" - capture_lex $P70 - .const 'Sub' $P56 = "19_1276996322.81157" - capture_lex $P56 - .const 'Sub' $P48 = "17_1276996322.81157" - capture_lex $P48 - .const 'Sub' $P41 = "15_1276996322.81157" - capture_lex $P41 - .const 'Sub' $P35 = "13_1276996322.81157" + .const 'Sub' $P480 = "114_1278500537.15927" + capture_lex $P480 + .const 'Sub' $P470 = "111_1278500537.15927" + capture_lex $P470 + .const 'Sub' $P464 = "109_1278500537.15927" + capture_lex $P464 + .const 'Sub' $P458 = "107_1278500537.15927" + capture_lex $P458 + .const 'Sub' $P452 = "105_1278500537.15927" + capture_lex $P452 + .const 'Sub' $P446 = "103_1278500537.15927" + capture_lex $P446 + .const 'Sub' $P440 = "101_1278500537.15927" + capture_lex $P440 + .const 'Sub' $P434 = "99_1278500537.15927" + capture_lex $P434 + .const 'Sub' $P425 = "97_1278500537.15927" + capture_lex $P425 + .const 'Sub' $P416 = "95_1278500537.15927" + capture_lex $P416 + .const 'Sub' $P407 = "93_1278500537.15927" + capture_lex $P407 + .const 'Sub' $P394 = "89_1278500537.15927" + capture_lex $P394 + .const 'Sub' $P385 = "87_1278500537.15927" + capture_lex $P385 + .const 'Sub' $P375 = "83_1278500537.15927" + capture_lex $P375 + .const 'Sub' $P368 = "81_1278500537.15927" + capture_lex $P368 + .const 'Sub' $P361 = "79_1278500537.15927" + capture_lex $P361 + .const 'Sub' $P349 = "75_1278500537.15927" + capture_lex $P349 + .const 'Sub' $P341 = "73_1278500537.15927" + capture_lex $P341 + .const 'Sub' $P333 = "71_1278500537.15927" + capture_lex $P333 + .const 'Sub' $P313 = "69_1278500537.15927" + capture_lex $P313 + .const 'Sub' $P304 = "67_1278500537.15927" + capture_lex $P304 + .const 'Sub' $P286 = "64_1278500537.15927" + capture_lex $P286 + .const 'Sub' $P266 = "62_1278500537.15927" + capture_lex $P266 + .const 'Sub' $P257 = "58_1278500537.15927" + capture_lex $P257 + .const 'Sub' $P252 = "56_1278500537.15927" + capture_lex $P252 + .const 'Sub' $P243 = "52_1278500537.15927" + capture_lex $P243 + .const 'Sub' $P238 = "50_1278500537.15927" + capture_lex $P238 + .const 'Sub' $P233 = "48_1278500537.15927" + capture_lex $P233 + .const 'Sub' $P225 = "46_1278500537.15927" + capture_lex $P225 + .const 'Sub' $P218 = "44_1278500537.15927" + capture_lex $P218 + .const 'Sub' $P212 = "42_1278500537.15927" + capture_lex $P212 + .const 'Sub' $P204 = "40_1278500537.15927" + capture_lex $P204 + .const 'Sub' $P198 = "38_1278500537.15927" + capture_lex $P198 + .const 'Sub' $P192 = "36_1278500537.15927" + capture_lex $P192 + .const 'Sub' $P176 = "33_1278500537.15927" + capture_lex $P176 + .const 'Sub' $P161 = "31_1278500537.15927" + capture_lex $P161 + .const 'Sub' $P154 = "29_1278500537.15927" + capture_lex $P154 + .const 'Sub' $P104 = "26_1278500537.15927" + capture_lex $P104 + .const 'Sub' $P86 = "23_1278500537.15927" + capture_lex $P86 + .const 'Sub' $P72 = "21_1278500537.15927" + capture_lex $P72 + .const 'Sub' $P58 = "19_1278500537.15927" + capture_lex $P58 + .const 'Sub' $P50 = "17_1278500537.15927" + capture_lex $P50 + .const 'Sub' $P43 = "15_1278500537.15927" + capture_lex $P43 + .const 'Sub' $P35 = "13_1278500537.15927" capture_lex $P35 - .const 'Sub' $P15 = "12_1276996322.81157" + .const 'Sub' $P15 = "12_1278500537.15927" capture_lex $P15 $P0 = find_dynamic_lex "$*CTXSAVE" if null $P0 goto ctxsave_done @@ -363,77 +371,77 @@ NQP::Compiler - NQP compiler unless $I0 goto ctxsave_done $P0."ctxsave"() ctxsave_done: -.annotate 'line', 563 - get_hll_global $P1340, ["NQP";"Regex"], "_block1339" - capture_lex $P1340 - $P1403 = $P1340() +.annotate 'line', 567 + get_hll_global $P1372, ["NQP";"Regex"], "_block1371" + capture_lex $P1372 + $P1435 = $P1372() .annotate 'line', 4 - .return ($P1403) - .const 'Sub' $P1405 = "362_1276996322.81157" - .return ($P1405) + .return ($P1435) + .const 'Sub' $P1437 = "370_1278500537.15927" + .return ($P1437) .end .namespace ["NQP";"Grammar"] -.sub "" :load :init :subid("post365") :outer("11_1276996322.81157") +.sub "" :load :init :subid("post373") :outer("11_1278500537.15927") .annotate 'line', 4 get_hll_global $P14, ["NQP";"Grammar"], "_block13" .local pmc block set block, $P14 -.annotate 'line', 447 - get_hll_global $P1408, ["NQP"], "Grammar" - $P1408."O"(":prec, :assoc", "%methodop") .annotate 'line', 448 - get_hll_global $P1409, ["NQP"], "Grammar" - $P1409."O"(":prec, :assoc", "%autoincrement") + get_hll_global $P1440, ["NQP"], "Grammar" + $P1440."O"(":prec, :assoc", "%methodop") .annotate 'line', 449 - get_hll_global $P1410, ["NQP"], "Grammar" - $P1410."O"(":prec, :assoc", "%exponentiation") + get_hll_global $P1441, ["NQP"], "Grammar" + $P1441."O"(":prec, :assoc", "%autoincrement") .annotate 'line', 450 - get_hll_global $P1411, ["NQP"], "Grammar" - $P1411."O"(":prec, :assoc", "%symbolic_unary") + get_hll_global $P1442, ["NQP"], "Grammar" + $P1442."O"(":prec, :assoc", "%exponentiation") .annotate 'line', 451 - get_hll_global $P1412, ["NQP"], "Grammar" - $P1412."O"(":prec, :assoc", "%multiplicative") + get_hll_global $P1443, ["NQP"], "Grammar" + $P1443."O"(":prec, :assoc", "%symbolic_unary") .annotate 'line', 452 - get_hll_global $P1413, ["NQP"], "Grammar" - $P1413."O"(":prec, :assoc", "%additive") + get_hll_global $P1444, ["NQP"], "Grammar" + $P1444."O"(":prec, :assoc", "%multiplicative") .annotate 'line', 453 - get_hll_global $P1414, ["NQP"], "Grammar" - $P1414."O"(":prec, :assoc", "%concatenation") + get_hll_global $P1445, ["NQP"], "Grammar" + $P1445."O"(":prec, :assoc", "%additive") .annotate 'line', 454 - get_hll_global $P1415, ["NQP"], "Grammar" - $P1415."O"(":prec, :assoc", "%relational") + get_hll_global $P1446, ["NQP"], "Grammar" + $P1446."O"(":prec, :assoc", "%concatenation") .annotate 'line', 455 - get_hll_global $P1416, ["NQP"], "Grammar" - $P1416."O"(":prec, :assoc", "%tight_and") + get_hll_global $P1447, ["NQP"], "Grammar" + $P1447."O"(":prec, :assoc", "%relational") .annotate 'line', 456 - get_hll_global $P1417, ["NQP"], "Grammar" - $P1417."O"(":prec, :assoc", "%tight_or") + get_hll_global $P1448, ["NQP"], "Grammar" + $P1448."O"(":prec, :assoc", "%tight_and") .annotate 'line', 457 - get_hll_global $P1418, ["NQP"], "Grammar" - $P1418."O"(":prec, :assoc", "%conditional") + get_hll_global $P1449, ["NQP"], "Grammar" + $P1449."O"(":prec, :assoc", "%tight_or") .annotate 'line', 458 - get_hll_global $P1419, ["NQP"], "Grammar" - $P1419."O"(":prec, :assoc", "%assignment") + get_hll_global $P1450, ["NQP"], "Grammar" + $P1450."O"(":prec, :assoc", "%conditional") .annotate 'line', 459 - get_hll_global $P1420, ["NQP"], "Grammar" - $P1420."O"(":prec, :assoc, :nextterm", "%comma") + get_hll_global $P1451, ["NQP"], "Grammar" + $P1451."O"(":prec, :assoc", "%assignment") .annotate 'line', 460 - get_hll_global $P1421, ["NQP"], "Grammar" - $P1421."O"(":prec, :assoc", "%list_infix") + get_hll_global $P1452, ["NQP"], "Grammar" + $P1452."O"(":prec, :assoc, :nextterm", "%comma") .annotate 'line', 461 - get_hll_global $P1422, ["NQP"], "Grammar" - $P1422."O"(":prec, :assoc", "%list_prefix") -.annotate 'line', 446 - $P1423 = get_root_global ["parrot"], "P6metaclass" - $P1423."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent")) + get_hll_global $P1453, ["NQP"], "Grammar" + $P1453."O"(":prec, :assoc", "%list_infix") +.annotate 'line', 462 + get_hll_global $P1454, ["NQP"], "Grammar" + $P1454."O"(":prec, :assoc", "%list_prefix") +.annotate 'line', 447 + $P1455 = get_root_global ["parrot"], "P6metaclass" + $P1455."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent")) .end .namespace ["NQP";"Grammar"] .include "except_types.pasm" -.sub "TOP" :subid("12_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "TOP" :subid("12_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 new $P17, 'ExceptionHandler' set_addr $P17, control_16 @@ -451,55 +459,55 @@ NQP::Compiler - NQP compiler .lex "$*MULTINESS", $P20 .annotate 'line', 4 find_lex $P21, "%*LANG" - unless_null $P21, vivify_366 + unless_null $P21, vivify_374 get_hll_global $P21, "%LANG" - unless_null $P21, vivify_367 + unless_null $P21, vivify_375 die "Contextual %*LANG not found" - vivify_367: - vivify_366: + vivify_375: + vivify_374: .annotate 'line', 6 get_hll_global $P22, ["NQP"], "Regex" find_lex $P23, "%*LANG" - unless_null $P23, vivify_368 + unless_null $P23, vivify_376 get_hll_global $P23, "%LANG" - unless_null $P23, vivify_369 + unless_null $P23, vivify_377 die "Contextual %*LANG not found" - vivify_369: + vivify_377: store_lex "%*LANG", $P23 - vivify_368: + vivify_376: set $P23["Regex"], $P22 .annotate 'line', 7 get_hll_global $P24, ["NQP"], "RegexActions" find_lex $P25, "%*LANG" - unless_null $P25, vivify_370 + unless_null $P25, vivify_378 get_hll_global $P25, "%LANG" - unless_null $P25, vivify_371 + unless_null $P25, vivify_379 die "Contextual %*LANG not found" - vivify_371: + vivify_379: store_lex "%*LANG", $P25 - vivify_370: + vivify_378: set $P25["Regex-actions"], $P24 .annotate 'line', 8 get_hll_global $P26, ["NQP"], "Grammar" find_lex $P27, "%*LANG" - unless_null $P27, vivify_372 + unless_null $P27, vivify_380 get_hll_global $P27, "%LANG" - unless_null $P27, vivify_373 + unless_null $P27, vivify_381 die "Contextual %*LANG not found" - vivify_373: + vivify_381: store_lex "%*LANG", $P27 - vivify_372: + vivify_380: set $P27["MAIN"], $P26 .annotate 'line', 9 get_hll_global $P28, ["NQP"], "Actions" find_lex $P29, "%*LANG" - unless_null $P29, vivify_374 + unless_null $P29, vivify_382 get_hll_global $P29, "%LANG" - unless_null $P29, vivify_375 + unless_null $P29, vivify_383 die "Contextual %*LANG not found" - vivify_375: + vivify_383: store_lex "%*LANG", $P29 - vivify_374: + vivify_382: set $P29["MAIN-actions"], $P28 .annotate 'line', 10 new $P30, "String" @@ -523,7 +531,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Grammar"] -.sub "identifier" :subid("13_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "identifier" :subid("13_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 .local string rx36_tgt .local int rx36_pos @@ -556,13 +564,31 @@ NQP::Compiler - NQP compiler rx36_cur."!mark_push"(0, rx36_pos, $I10) rxscan40_done: .annotate 'line', 17 - # rx subrule "ident" subtype=capture negate= + # rx subrule "ident" subtype=method negate= rx36_cur."!cursor_pos"(rx36_pos) $P10 = rx36_cur."ident"() unless $P10, rx36_fail - rx36_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("ident") rx36_pos = $P10."pos"() + # rx rxquantr41 ** 0..* + set_addr $I42, rxquantr41_done + rx36_cur."!mark_push"(0, rx36_pos, $I42) + rxquantr41_loop: + # rx enumcharlist negate=0 + ge rx36_pos, rx36_eos, rx36_fail + sub $I10, rx36_pos, rx36_off + substr $S10, rx36_tgt, $I10, 1 + index $I11, "-'", $S10 + lt $I11, 0, rx36_fail + inc rx36_pos + # rx subrule "ident" subtype=method negate= + rx36_cur."!cursor_pos"(rx36_pos) + $P10 = rx36_cur."ident"() + unless $P10, rx36_fail + rx36_pos = $P10."pos"() + (rx36_rep) = rx36_cur."!mark_commit"($I42) + rx36_cur."!mark_push"(rx36_rep, rx36_pos, $I42) + goto rxquantr41_loop + rxquantr41_done: # rx pass rx36_cur."!cursor_pass"(rx36_pos, "identifier") rx36_cur."!cursor_debug"("PASS ", "identifier", " at pos=", rx36_pos) @@ -582,7 +608,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Grammar"] -.sub "!PREFIX__identifier" :subid("14_1276996322.81157") :method +.sub "!PREFIX__identifier" :subid("14_1278500537.15927") :method .annotate 'line', 4 $P38 = self."!PREFIX__!subrule"("ident", "") new $P39, "ResizablePMCArray" @@ -592,5373 +618,5332 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Grammar"] -.sub "name" :subid("15_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "name" :subid("15_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx42_tgt - .local int rx42_pos - .local int rx42_off - .local int rx42_eos - .local int rx42_rep - .local pmc rx42_cur - (rx42_cur, rx42_pos, rx42_tgt) = self."!cursor_start"() - rx42_cur."!cursor_debug"("START ", "name") - rx42_cur."!cursor_caparray"("identifier") - .lex unicode:"$\x{a2}", rx42_cur + .local string rx44_tgt + .local int rx44_pos + .local int rx44_off + .local int rx44_eos + .local int rx44_rep + .local pmc rx44_cur + (rx44_cur, rx44_pos, rx44_tgt) = self."!cursor_start"() + rx44_cur."!cursor_debug"("START ", "name") + rx44_cur."!cursor_caparray"("identifier") + .lex unicode:"$\x{a2}", rx44_cur .local pmc match .lex "$/", match - length rx42_eos, rx42_tgt - gt rx42_pos, rx42_eos, rx42_done - set rx42_off, 0 - lt rx42_pos, 2, rx42_start - sub rx42_off, rx42_pos, 1 - substr rx42_tgt, rx42_tgt, rx42_off - rx42_start: + length rx44_eos, rx44_tgt + gt rx44_pos, rx44_eos, rx44_done + set rx44_off, 0 + lt rx44_pos, 2, rx44_start + sub rx44_off, rx44_pos, 1 + substr rx44_tgt, rx44_tgt, rx44_off + rx44_start: $I10 = self.'from'() - ne $I10, -1, rxscan45_done - goto rxscan45_scan - rxscan45_loop: - ($P10) = rx42_cur."from"() + ne $I10, -1, rxscan47_done + goto rxscan47_scan + rxscan47_loop: + ($P10) = rx44_cur."from"() inc $P10 - set rx42_pos, $P10 - ge rx42_pos, rx42_eos, rxscan45_done - rxscan45_scan: - set_addr $I10, rxscan45_loop - rx42_cur."!mark_push"(0, rx42_pos, $I10) - rxscan45_done: + set rx44_pos, $P10 + ge rx44_pos, rx44_eos, rxscan47_done + rxscan47_scan: + set_addr $I10, rxscan47_loop + rx44_cur."!mark_push"(0, rx44_pos, $I10) + rxscan47_done: .annotate 'line', 19 - # rx rxquantr46 ** 1..* - set_addr $I47, rxquantr46_done - rx42_cur."!mark_push"(0, -1, $I47) - rxquantr46_loop: + # rx rxquantr48 ** 1..* + set_addr $I49, rxquantr48_done + rx44_cur."!mark_push"(0, -1, $I49) + rxquantr48_loop: # rx subrule "identifier" subtype=capture negate= - rx42_cur."!cursor_pos"(rx42_pos) - $P10 = rx42_cur."identifier"() - unless $P10, rx42_fail - rx42_cur."!mark_push"(0, -1, 0, $P10) + rx44_cur."!cursor_pos"(rx44_pos) + $P10 = rx44_cur."identifier"() + unless $P10, rx44_fail + rx44_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx42_pos = $P10."pos"() - (rx42_rep) = rx42_cur."!mark_commit"($I47) - rx42_cur."!mark_push"(rx42_rep, rx42_pos, $I47) + rx44_pos = $P10."pos"() + (rx44_rep) = rx44_cur."!mark_commit"($I49) + rx44_cur."!mark_push"(rx44_rep, rx44_pos, $I49) # rx literal "::" - add $I11, rx42_pos, 2 - gt $I11, rx42_eos, rx42_fail - sub $I11, rx42_pos, rx42_off - substr $S10, rx42_tgt, $I11, 2 - ne $S10, "::", rx42_fail - add rx42_pos, 2 - goto rxquantr46_loop - rxquantr46_done: + add $I11, rx44_pos, 2 + gt $I11, rx44_eos, rx44_fail + sub $I11, rx44_pos, rx44_off + substr $S10, rx44_tgt, $I11, 2 + ne $S10, "::", rx44_fail + add rx44_pos, 2 + goto rxquantr48_loop + rxquantr48_done: # rx pass - rx42_cur."!cursor_pass"(rx42_pos, "name") - rx42_cur."!cursor_debug"("PASS ", "name", " at pos=", rx42_pos) - .return (rx42_cur) - rx42_fail: -.annotate 'line', 4 - (rx42_rep, rx42_pos, $I10, $P10) = rx42_cur."!mark_fail"(0) - lt rx42_pos, -1, rx42_done - eq rx42_pos, -1, rx42_fail + rx44_cur."!cursor_pass"(rx44_pos, "name") + rx44_cur."!cursor_debug"("PASS ", "name", " at pos=", rx44_pos) + .return (rx44_cur) + rx44_fail: +.annotate 'line', 4 + (rx44_rep, rx44_pos, $I10, $P10) = rx44_cur."!mark_fail"(0) + lt rx44_pos, -1, rx44_done + eq rx44_pos, -1, rx44_fail jump $I10 - rx42_done: - rx42_cur."!cursor_fail"() - rx42_cur."!cursor_debug"("FAIL ", "name") - .return (rx42_cur) + rx44_done: + rx44_cur."!cursor_fail"() + rx44_cur."!cursor_debug"("FAIL ", "name") + .return (rx44_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__name" :subid("16_1276996322.81157") :method +.sub "!PREFIX__name" :subid("16_1278500537.15927") :method .annotate 'line', 4 - new $P44, "ResizablePMCArray" - push $P44, "" - .return ($P44) + new $P46, "ResizablePMCArray" + push $P46, "" + .return ($P46) .end .namespace ["NQP";"Grammar"] -.sub "deflongname" :subid("17_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "deflongname" :subid("17_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx49_tgt - .local int rx49_pos - .local int rx49_off - .local int rx49_eos - .local int rx49_rep - .local pmc rx49_cur - (rx49_cur, rx49_pos, rx49_tgt) = self."!cursor_start"() - rx49_cur."!cursor_debug"("START ", "deflongname") - rx49_cur."!cursor_caparray"("colonpair") - .lex unicode:"$\x{a2}", rx49_cur + .local string rx51_tgt + .local int rx51_pos + .local int rx51_off + .local int rx51_eos + .local int rx51_rep + .local pmc rx51_cur + (rx51_cur, rx51_pos, rx51_tgt) = self."!cursor_start"() + rx51_cur."!cursor_debug"("START ", "deflongname") + rx51_cur."!cursor_caparray"("colonpair") + .lex unicode:"$\x{a2}", rx51_cur .local pmc match .lex "$/", match - length rx49_eos, rx49_tgt - gt rx49_pos, rx49_eos, rx49_done - set rx49_off, 0 - lt rx49_pos, 2, rx49_start - sub rx49_off, rx49_pos, 1 - substr rx49_tgt, rx49_tgt, rx49_off - rx49_start: + length rx51_eos, rx51_tgt + gt rx51_pos, rx51_eos, rx51_done + set rx51_off, 0 + lt rx51_pos, 2, rx51_start + sub rx51_off, rx51_pos, 1 + substr rx51_tgt, rx51_tgt, rx51_off + rx51_start: $I10 = self.'from'() - ne $I10, -1, rxscan53_done - goto rxscan53_scan - rxscan53_loop: - ($P10) = rx49_cur."from"() + ne $I10, -1, rxscan55_done + goto rxscan55_scan + rxscan55_loop: + ($P10) = rx51_cur."from"() inc $P10 - set rx49_pos, $P10 - ge rx49_pos, rx49_eos, rxscan53_done - rxscan53_scan: - set_addr $I10, rxscan53_loop - rx49_cur."!mark_push"(0, rx49_pos, $I10) - rxscan53_done: + set rx51_pos, $P10 + ge rx51_pos, rx51_eos, rxscan55_done + rxscan55_scan: + set_addr $I10, rxscan55_loop + rx51_cur."!mark_push"(0, rx51_pos, $I10) + rxscan55_done: .annotate 'line', 22 # rx subrule "identifier" subtype=capture negate= - rx49_cur."!cursor_pos"(rx49_pos) - $P10 = rx49_cur."identifier"() - unless $P10, rx49_fail - rx49_cur."!mark_push"(0, -1, 0, $P10) + rx51_cur."!cursor_pos"(rx51_pos) + $P10 = rx51_cur."identifier"() + unless $P10, rx51_fail + rx51_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx49_pos = $P10."pos"() - # rx rxquantr54 ** 0..1 - set_addr $I55, rxquantr54_done - rx49_cur."!mark_push"(0, rx49_pos, $I55) - rxquantr54_loop: + rx51_pos = $P10."pos"() + # rx rxquantr56 ** 0..1 + set_addr $I57, rxquantr56_done + rx51_cur."!mark_push"(0, rx51_pos, $I57) + rxquantr56_loop: # rx subrule "colonpair" subtype=capture negate= - rx49_cur."!cursor_pos"(rx49_pos) - $P10 = rx49_cur."colonpair"() - unless $P10, rx49_fail - rx49_cur."!mark_push"(0, -1, 0, $P10) + rx51_cur."!cursor_pos"(rx51_pos) + $P10 = rx51_cur."colonpair"() + unless $P10, rx51_fail + rx51_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("colonpair") - rx49_pos = $P10."pos"() - (rx49_rep) = rx49_cur."!mark_commit"($I55) - rxquantr54_done: + rx51_pos = $P10."pos"() + (rx51_rep) = rx51_cur."!mark_commit"($I57) + rxquantr56_done: .annotate 'line', 21 # rx pass - rx49_cur."!cursor_pass"(rx49_pos, "deflongname") - rx49_cur."!cursor_debug"("PASS ", "deflongname", " at pos=", rx49_pos) - .return (rx49_cur) - rx49_fail: -.annotate 'line', 4 - (rx49_rep, rx49_pos, $I10, $P10) = rx49_cur."!mark_fail"(0) - lt rx49_pos, -1, rx49_done - eq rx49_pos, -1, rx49_fail + rx51_cur."!cursor_pass"(rx51_pos, "deflongname") + rx51_cur."!cursor_debug"("PASS ", "deflongname", " at pos=", rx51_pos) + .return (rx51_cur) + rx51_fail: +.annotate 'line', 4 + (rx51_rep, rx51_pos, $I10, $P10) = rx51_cur."!mark_fail"(0) + lt rx51_pos, -1, rx51_done + eq rx51_pos, -1, rx51_fail jump $I10 - rx49_done: - rx49_cur."!cursor_fail"() - rx49_cur."!cursor_debug"("FAIL ", "deflongname") - .return (rx49_cur) + rx51_done: + rx51_cur."!cursor_fail"() + rx51_cur."!cursor_debug"("FAIL ", "deflongname") + .return (rx51_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__deflongname" :subid("18_1276996322.81157") :method +.sub "!PREFIX__deflongname" :subid("18_1278500537.15927") :method .annotate 'line', 4 - $P51 = self."!PREFIX__!subrule"("identifier", "") - new $P52, "ResizablePMCArray" - push $P52, $P51 - .return ($P52) + $P53 = self."!PREFIX__!subrule"("identifier", "") + new $P54, "ResizablePMCArray" + push $P54, $P53 + .return ($P54) .end .namespace ["NQP";"Grammar"] -.sub "ENDSTMT" :subid("19_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "ENDSTMT" :subid("19_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx57_tgt - .local int rx57_pos - .local int rx57_off - .local int rx57_eos - .local int rx57_rep - .local pmc rx57_cur - (rx57_cur, rx57_pos, rx57_tgt) = self."!cursor_start"() - rx57_cur."!cursor_debug"("START ", "ENDSTMT") - .lex unicode:"$\x{a2}", rx57_cur + .local string rx59_tgt + .local int rx59_pos + .local int rx59_off + .local int rx59_eos + .local int rx59_rep + .local pmc rx59_cur + (rx59_cur, rx59_pos, rx59_tgt) = self."!cursor_start"() + rx59_cur."!cursor_debug"("START ", "ENDSTMT") + .lex unicode:"$\x{a2}", rx59_cur .local pmc match .lex "$/", match - length rx57_eos, rx57_tgt - gt rx57_pos, rx57_eos, rx57_done - set rx57_off, 0 - lt rx57_pos, 2, rx57_start - sub rx57_off, rx57_pos, 1 - substr rx57_tgt, rx57_tgt, rx57_off - rx57_start: + length rx59_eos, rx59_tgt + gt rx59_pos, rx59_eos, rx59_done + set rx59_off, 0 + lt rx59_pos, 2, rx59_start + sub rx59_off, rx59_pos, 1 + substr rx59_tgt, rx59_tgt, rx59_off + rx59_start: $I10 = self.'from'() - ne $I10, -1, rxscan60_done - goto rxscan60_scan - rxscan60_loop: - ($P10) = rx57_cur."from"() + ne $I10, -1, rxscan62_done + goto rxscan62_scan + rxscan62_loop: + ($P10) = rx59_cur."from"() inc $P10 - set rx57_pos, $P10 - ge rx57_pos, rx57_eos, rxscan60_done - rxscan60_scan: - set_addr $I10, rxscan60_loop - rx57_cur."!mark_push"(0, rx57_pos, $I10) - rxscan60_done: + set rx59_pos, $P10 + ge rx59_pos, rx59_eos, rxscan62_done + rxscan62_scan: + set_addr $I10, rxscan62_loop + rx59_cur."!mark_push"(0, rx59_pos, $I10) + rxscan62_done: .annotate 'line', 29 - # rx rxquantr61 ** 0..1 - set_addr $I69, rxquantr61_done - rx57_cur."!mark_push"(0, rx57_pos, $I69) - rxquantr61_loop: - alt62_0: + # rx rxquantr63 ** 0..1 + set_addr $I71, rxquantr63_done + rx59_cur."!mark_push"(0, rx59_pos, $I71) + rxquantr63_loop: + alt64_0: .annotate 'line', 26 - set_addr $I10, alt62_1 - rx57_cur."!mark_push"(0, rx57_pos, $I10) + set_addr $I10, alt64_1 + rx59_cur."!mark_push"(0, rx59_pos, $I10) .annotate 'line', 27 - # rx rxquantr63 ** 0..* - set_addr $I64, rxquantr63_done - rx57_cur."!mark_push"(0, rx57_pos, $I64) - rxquantr63_loop: + # rx rxquantr65 ** 0..* + set_addr $I66, rxquantr65_done + rx59_cur."!mark_push"(0, rx59_pos, $I66) + rxquantr65_loop: # rx enumcharlist negate=0 - ge rx57_pos, rx57_eos, rx57_fail - sub $I10, rx57_pos, rx57_off - substr $S10, rx57_tgt, $I10, 1 + ge rx59_pos, rx59_eos, rx59_fail + sub $I10, rx59_pos, rx59_off + substr $S10, rx59_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, rx57_fail - inc rx57_pos - (rx57_rep) = rx57_cur."!mark_commit"($I64) - rx57_cur."!mark_push"(rx57_rep, rx57_pos, $I64) - goto rxquantr63_loop - rxquantr63_done: + lt $I11, 0, rx59_fail + inc rx59_pos + (rx59_rep) = rx59_cur."!mark_commit"($I66) + rx59_cur."!mark_push"(rx59_rep, rx59_pos, $I66) + goto rxquantr65_loop + rxquantr65_done: # rxanchor eol - sub $I10, rx57_pos, rx57_off - is_cclass $I11, 4096, rx57_tgt, $I10 - if $I11, rxanchor65_done - ne rx57_pos, rx57_eos, rx57_fail - eq rx57_pos, 0, rxanchor65_done + sub $I10, rx59_pos, rx59_off + is_cclass $I11, 4096, rx59_tgt, $I10 + if $I11, rxanchor67_done + ne rx59_pos, rx59_eos, rx59_fail + eq rx59_pos, 0, rxanchor67_done dec $I10 - is_cclass $I11, 4096, rx57_tgt, $I10 - if $I11, rx57_fail - rxanchor65_done: + is_cclass $I11, 4096, rx59_tgt, $I10 + if $I11, rx59_fail + rxanchor67_done: # rx subrule "ws" subtype=method negate= - rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."ws"() - unless $P10, rx57_fail - rx57_pos = $P10."pos"() + rx59_cur."!cursor_pos"(rx59_pos) + $P10 = rx59_cur."ws"() + unless $P10, rx59_fail + rx59_pos = $P10."pos"() # rx subrule "MARKER" subtype=zerowidth negate= - rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."MARKER"("endstmt") - unless $P10, rx57_fail - goto alt62_end - alt62_1: + rx59_cur."!cursor_pos"(rx59_pos) + $P10 = rx59_cur."MARKER"("endstmt") + unless $P10, rx59_fail + goto alt64_end + alt64_1: .annotate 'line', 28 - # rx rxquantr66 ** 0..1 - set_addr $I67, rxquantr66_done - rx57_cur."!mark_push"(0, rx57_pos, $I67) - rxquantr66_loop: + # rx rxquantr68 ** 0..1 + set_addr $I69, rxquantr68_done + rx59_cur."!mark_push"(0, rx59_pos, $I69) + rxquantr68_loop: # rx subrule "unv" subtype=method negate= - rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."unv"() - unless $P10, rx57_fail - rx57_pos = $P10."pos"() - (rx57_rep) = rx57_cur."!mark_commit"($I67) - rxquantr66_done: + rx59_cur."!cursor_pos"(rx59_pos) + $P10 = rx59_cur."unv"() + unless $P10, rx59_fail + rx59_pos = $P10."pos"() + (rx59_rep) = rx59_cur."!mark_commit"($I69) + rxquantr68_done: # rxanchor eol - sub $I10, rx57_pos, rx57_off - is_cclass $I11, 4096, rx57_tgt, $I10 - if $I11, rxanchor68_done - ne rx57_pos, rx57_eos, rx57_fail - eq rx57_pos, 0, rxanchor68_done + sub $I10, rx59_pos, rx59_off + is_cclass $I11, 4096, rx59_tgt, $I10 + if $I11, rxanchor70_done + ne rx59_pos, rx59_eos, rx59_fail + eq rx59_pos, 0, rxanchor70_done dec $I10 - is_cclass $I11, 4096, rx57_tgt, $I10 - if $I11, rx57_fail - rxanchor68_done: + is_cclass $I11, 4096, rx59_tgt, $I10 + if $I11, rx59_fail + rxanchor70_done: # rx subrule "ws" subtype=method negate= - rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."ws"() - unless $P10, rx57_fail - rx57_pos = $P10."pos"() + rx59_cur."!cursor_pos"(rx59_pos) + $P10 = rx59_cur."ws"() + unless $P10, rx59_fail + rx59_pos = $P10."pos"() # rx subrule "MARKER" subtype=zerowidth negate= - rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."MARKER"("endstmt") - unless $P10, rx57_fail - alt62_end: + rx59_cur."!cursor_pos"(rx59_pos) + $P10 = rx59_cur."MARKER"("endstmt") + unless $P10, rx59_fail + alt64_end: .annotate 'line', 29 - (rx57_rep) = rx57_cur."!mark_commit"($I69) - rxquantr61_done: + (rx59_rep) = rx59_cur."!mark_commit"($I71) + rxquantr63_done: .annotate 'line', 25 # rx pass - rx57_cur."!cursor_pass"(rx57_pos, "ENDSTMT") - rx57_cur."!cursor_debug"("PASS ", "ENDSTMT", " at pos=", rx57_pos) - .return (rx57_cur) - rx57_fail: -.annotate 'line', 4 - (rx57_rep, rx57_pos, $I10, $P10) = rx57_cur."!mark_fail"(0) - lt rx57_pos, -1, rx57_done - eq rx57_pos, -1, rx57_fail + rx59_cur."!cursor_pass"(rx59_pos, "ENDSTMT") + rx59_cur."!cursor_debug"("PASS ", "ENDSTMT", " at pos=", rx59_pos) + .return (rx59_cur) + rx59_fail: +.annotate 'line', 4 + (rx59_rep, rx59_pos, $I10, $P10) = rx59_cur."!mark_fail"(0) + lt rx59_pos, -1, rx59_done + eq rx59_pos, -1, rx59_fail jump $I10 - rx57_done: - rx57_cur."!cursor_fail"() - rx57_cur."!cursor_debug"("FAIL ", "ENDSTMT") - .return (rx57_cur) + rx59_done: + rx59_cur."!cursor_fail"() + rx59_cur."!cursor_debug"("FAIL ", "ENDSTMT") + .return (rx59_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__ENDSTMT" :subid("20_1276996322.81157") :method +.sub "!PREFIX__ENDSTMT" :subid("20_1278500537.15927") :method .annotate 'line', 4 - new $P59, "ResizablePMCArray" - push $P59, "" - .return ($P59) + new $P61, "ResizablePMCArray" + push $P61, "" + .return ($P61) .end .namespace ["NQP";"Grammar"] -.sub "ws" :subid("21_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "ws" :subid("21_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx71_tgt - .local int rx71_pos - .local int rx71_off - .local int rx71_eos - .local int rx71_rep - .local pmc rx71_cur - (rx71_cur, rx71_pos, rx71_tgt) = self."!cursor_start"() - rx71_cur."!cursor_debug"("START ", "ws") - .lex unicode:"$\x{a2}", rx71_cur + .local string rx73_tgt + .local int rx73_pos + .local int rx73_off + .local int rx73_eos + .local int rx73_rep + .local pmc rx73_cur + (rx73_cur, rx73_pos, rx73_tgt) = self."!cursor_start"() + rx73_cur."!cursor_debug"("START ", "ws") + .lex unicode:"$\x{a2}", rx73_cur .local pmc match .lex "$/", match - length rx71_eos, rx71_tgt - gt rx71_pos, rx71_eos, rx71_done - set rx71_off, 0 - lt rx71_pos, 2, rx71_start - sub rx71_off, rx71_pos, 1 - substr rx71_tgt, rx71_tgt, rx71_off - rx71_start: + length rx73_eos, rx73_tgt + gt rx73_pos, rx73_eos, rx73_done + set rx73_off, 0 + lt rx73_pos, 2, rx73_start + sub rx73_off, rx73_pos, 1 + substr rx73_tgt, rx73_tgt, rx73_off + rx73_start: $I10 = self.'from'() - ne $I10, -1, rxscan74_done - goto rxscan74_scan - rxscan74_loop: - ($P10) = rx71_cur."from"() + ne $I10, -1, rxscan76_done + goto rxscan76_scan + rxscan76_loop: + ($P10) = rx73_cur."from"() inc $P10 - set rx71_pos, $P10 - ge rx71_pos, rx71_eos, rxscan74_done - rxscan74_scan: - set_addr $I10, rxscan74_loop - rx71_cur."!mark_push"(0, rx71_pos, $I10) - rxscan74_done: - alt75_0: + set rx73_pos, $P10 + ge rx73_pos, rx73_eos, rxscan76_done + rxscan76_scan: + set_addr $I10, rxscan76_loop + rx73_cur."!mark_push"(0, rx73_pos, $I10) + rxscan76_done: + alt77_0: .annotate 'line', 32 - set_addr $I10, alt75_1 - rx71_cur."!mark_push"(0, rx71_pos, $I10) + set_addr $I10, alt77_1 + rx73_cur."!mark_push"(0, rx73_pos, $I10) .annotate 'line', 33 # rx subrule "MARKED" subtype=zerowidth negate= - rx71_cur."!cursor_pos"(rx71_pos) - $P10 = rx71_cur."MARKED"("ws") - unless $P10, rx71_fail - goto alt75_end - alt75_1: + rx73_cur."!cursor_pos"(rx73_pos) + $P10 = rx73_cur."MARKED"("ws") + unless $P10, rx73_fail + goto alt77_end + alt77_1: .annotate 'line', 34 # rx subrule "ww" subtype=zerowidth negate=1 - rx71_cur."!cursor_pos"(rx71_pos) - $P10 = rx71_cur."ww"() - if $P10, rx71_fail + rx73_cur."!cursor_pos"(rx73_pos) + $P10 = rx73_cur."ww"() + if $P10, rx73_fail .annotate 'line', 39 - # rx rxquantr76 ** 0..* - set_addr $I83, rxquantr76_done - rx71_cur."!mark_push"(0, rx71_pos, $I83) - rxquantr76_loop: - alt77_0: -.annotate 'line', 35 - set_addr $I10, alt77_1 - rx71_cur."!mark_push"(0, rx71_pos, $I10) - # rx rxquantr78 ** 1..* - set_addr $I79, rxquantr78_done - rx71_cur."!mark_push"(0, -1, $I79) + # rx rxquantr78 ** 0..* + set_addr $I85, rxquantr78_done + rx73_cur."!mark_push"(0, rx73_pos, $I85) rxquantr78_loop: + alt79_0: +.annotate 'line', 35 + set_addr $I10, alt79_1 + rx73_cur."!mark_push"(0, rx73_pos, $I10) + # rx rxquantr80 ** 1..* + set_addr $I81, rxquantr80_done + rx73_cur."!mark_push"(0, -1, $I81) + rxquantr80_loop: # rx enumcharlist negate=0 - ge rx71_pos, rx71_eos, rx71_fail - sub $I10, rx71_pos, rx71_off - substr $S10, rx71_tgt, $I10, 1 + ge rx73_pos, rx73_eos, rx73_fail + sub $I10, rx73_pos, rx73_off + substr $S10, rx73_tgt, $I10, 1 index $I11, unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", $S10 - lt $I11, 0, rx71_fail - inc rx71_pos - (rx71_rep) = rx71_cur."!mark_commit"($I79) - rx71_cur."!mark_push"(rx71_rep, rx71_pos, $I79) - goto rxquantr78_loop - rxquantr78_done: - goto alt77_end - alt77_1: - set_addr $I10, alt77_2 - rx71_cur."!mark_push"(0, rx71_pos, $I10) + lt $I11, 0, rx73_fail + inc rx73_pos + (rx73_rep) = rx73_cur."!mark_commit"($I81) + rx73_cur."!mark_push"(rx73_rep, rx73_pos, $I81) + goto rxquantr80_loop + rxquantr80_done: + goto alt79_end + alt79_1: + set_addr $I10, alt79_2 + rx73_cur."!mark_push"(0, rx73_pos, $I10) .annotate 'line', 36 # rx literal "#" - add $I11, rx71_pos, 1 - gt $I11, rx71_eos, rx71_fail - sub $I11, rx71_pos, rx71_off - substr $S10, rx71_tgt, $I11, 1 - ne $S10, "#", rx71_fail - add rx71_pos, 1 + add $I11, rx73_pos, 1 + gt $I11, rx73_eos, rx73_fail + sub $I11, rx73_pos, rx73_off + substr $S10, rx73_tgt, $I11, 1 + ne $S10, "#", rx73_fail + add rx73_pos, 1 # rx charclass_q N r 0..-1 - sub $I10, rx71_pos, rx71_off - find_cclass $I11, 4096, rx71_tgt, $I10, rx71_eos - add rx71_pos, rx71_off, $I11 - goto alt77_end - alt77_2: - set_addr $I10, alt77_3 - rx71_cur."!mark_push"(0, rx71_pos, $I10) + sub $I10, rx73_pos, rx73_off + find_cclass $I11, 4096, rx73_tgt, $I10, rx73_eos + add rx73_pos, rx73_off, $I11 + goto alt79_end + alt79_2: + set_addr $I10, alt79_3 + rx73_cur."!mark_push"(0, rx73_pos, $I10) .annotate 'line', 37 # rxanchor bol - eq rx71_pos, 0, rxanchor80_done - ge rx71_pos, rx71_eos, rx71_fail - sub $I10, rx71_pos, rx71_off + eq rx73_pos, 0, rxanchor82_done + ge rx73_pos, rx73_eos, rx73_fail + sub $I10, rx73_pos, rx73_off dec $I10 - is_cclass $I11, 4096, rx71_tgt, $I10 - unless $I11, rx71_fail - rxanchor80_done: + is_cclass $I11, 4096, rx73_tgt, $I10 + unless $I11, rx73_fail + rxanchor82_done: # rx subrule "pod_comment" subtype=method negate= - rx71_cur."!cursor_pos"(rx71_pos) - $P10 = rx71_cur."pod_comment"() - unless $P10, rx71_fail - rx71_pos = $P10."pos"() - goto alt77_end - alt77_3: + rx73_cur."!cursor_pos"(rx73_pos) + $P10 = rx73_cur."pod_comment"() + unless $P10, rx73_fail + rx73_pos = $P10."pos"() + goto alt79_end + alt79_3: .annotate 'line', 38 - # rx rxquantr81 ** 1..* - set_addr $I82, rxquantr81_done - rx71_cur."!mark_push"(0, -1, $I82) - rxquantr81_loop: + # rx rxquantr83 ** 1..* + set_addr $I84, rxquantr83_done + rx73_cur."!mark_push"(0, -1, $I84) + rxquantr83_loop: # rx enumcharlist negate=0 - ge rx71_pos, rx71_eos, rx71_fail - sub $I10, rx71_pos, rx71_off - substr $S10, rx71_tgt, $I10, 1 + ge rx73_pos, rx73_eos, rx73_fail + sub $I10, rx73_pos, rx73_off + substr $S10, rx73_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, rx71_fail - inc rx71_pos - (rx71_rep) = rx71_cur."!mark_commit"($I82) - rx71_cur."!mark_push"(rx71_rep, rx71_pos, $I82) - goto rxquantr81_loop - rxquantr81_done: - alt77_end: + lt $I11, 0, rx73_fail + inc rx73_pos + (rx73_rep) = rx73_cur."!mark_commit"($I84) + rx73_cur."!mark_push"(rx73_rep, rx73_pos, $I84) + goto rxquantr83_loop + rxquantr83_done: + alt79_end: .annotate 'line', 39 - (rx71_rep) = rx71_cur."!mark_commit"($I83) - rx71_cur."!mark_push"(rx71_rep, rx71_pos, $I83) - goto rxquantr76_loop - rxquantr76_done: + (rx73_rep) = rx73_cur."!mark_commit"($I85) + rx73_cur."!mark_push"(rx73_rep, rx73_pos, $I85) + goto rxquantr78_loop + rxquantr78_done: .annotate 'line', 40 # rx subrule "MARKER" subtype=zerowidth negate= - rx71_cur."!cursor_pos"(rx71_pos) - $P10 = rx71_cur."MARKER"("ws") - unless $P10, rx71_fail - alt75_end: + rx73_cur."!cursor_pos"(rx73_pos) + $P10 = rx73_cur."MARKER"("ws") + unless $P10, rx73_fail + alt77_end: .annotate 'line', 32 # rx pass - rx71_cur."!cursor_pass"(rx71_pos, "ws") - rx71_cur."!cursor_debug"("PASS ", "ws", " at pos=", rx71_pos) - .return (rx71_cur) - rx71_fail: -.annotate 'line', 4 - (rx71_rep, rx71_pos, $I10, $P10) = rx71_cur."!mark_fail"(0) - lt rx71_pos, -1, rx71_done - eq rx71_pos, -1, rx71_fail + rx73_cur."!cursor_pass"(rx73_pos, "ws") + rx73_cur."!cursor_debug"("PASS ", "ws", " at pos=", rx73_pos) + .return (rx73_cur) + rx73_fail: +.annotate 'line', 4 + (rx73_rep, rx73_pos, $I10, $P10) = rx73_cur."!mark_fail"(0) + lt rx73_pos, -1, rx73_done + eq rx73_pos, -1, rx73_fail jump $I10 - rx71_done: - rx71_cur."!cursor_fail"() - rx71_cur."!cursor_debug"("FAIL ", "ws") - .return (rx71_cur) + rx73_done: + rx73_cur."!cursor_fail"() + rx73_cur."!cursor_debug"("FAIL ", "ws") + .return (rx73_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__ws" :subid("22_1276996322.81157") :method +.sub "!PREFIX__ws" :subid("22_1278500537.15927") :method .annotate 'line', 4 - new $P73, "ResizablePMCArray" - push $P73, "" - push $P73, "" - .return ($P73) + new $P75, "ResizablePMCArray" + push $P75, "" + push $P75, "" + .return ($P75) .end .namespace ["NQP";"Grammar"] -.sub "unv" :subid("23_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "unv" :subid("23_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P92 = "25_1276996322.81157" - capture_lex $P92 - .local string rx85_tgt - .local int rx85_pos - .local int rx85_off - .local int rx85_eos - .local int rx85_rep - .local pmc rx85_cur - (rx85_cur, rx85_pos, rx85_tgt) = self."!cursor_start"() - rx85_cur."!cursor_debug"("START ", "unv") - .lex unicode:"$\x{a2}", rx85_cur + .const 'Sub' $P94 = "25_1278500537.15927" + capture_lex $P94 + .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 ", "unv") + .lex unicode:"$\x{a2}", rx87_cur .local pmc match .lex "$/", match - length rx85_eos, rx85_tgt - gt rx85_pos, rx85_eos, rx85_done - set rx85_off, 0 - lt rx85_pos, 2, rx85_start - sub rx85_off, rx85_pos, 1 - substr rx85_tgt, rx85_tgt, rx85_off - rx85_start: + length rx87_eos, rx87_tgt + gt rx87_pos, rx87_eos, rx87_done + 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) = rx85_cur."from"() + ne $I10, -1, rxscan90_done + goto rxscan90_scan + rxscan90_loop: + ($P10) = rx87_cur."from"() inc $P10 - set rx85_pos, $P10 - ge rx85_pos, rx85_eos, rxscan88_done - rxscan88_scan: - set_addr $I10, rxscan88_loop - rx85_cur."!mark_push"(0, rx85_pos, $I10) - rxscan88_done: - alt89_0: + set rx87_pos, $P10 + ge rx87_pos, rx87_eos, rxscan90_done + rxscan90_scan: + set_addr $I10, rxscan90_loop + rx87_cur."!mark_push"(0, rx87_pos, $I10) + rxscan90_done: + alt91_0: .annotate 'line', 45 - set_addr $I10, alt89_1 - rx85_cur."!mark_push"(0, rx85_pos, $I10) + set_addr $I10, alt91_1 + rx87_cur."!mark_push"(0, rx87_pos, $I10) .annotate 'line', 46 # rxanchor bol - eq rx85_pos, 0, rxanchor90_done - ge rx85_pos, rx85_eos, rx85_fail - sub $I10, rx85_pos, rx85_off + eq rx87_pos, 0, rxanchor92_done + ge rx87_pos, rx87_eos, rx87_fail + sub $I10, rx87_pos, rx87_off dec $I10 - is_cclass $I11, 4096, rx85_tgt, $I10 - unless $I11, rx85_fail - rxanchor90_done: + is_cclass $I11, 4096, rx87_tgt, $I10 + unless $I11, rx87_fail + rxanchor92_done: # rx subrule "before" subtype=zerowidth negate= - rx85_cur."!cursor_pos"(rx85_pos) - .const 'Sub' $P92 = "25_1276996322.81157" - capture_lex $P92 - $P10 = rx85_cur."before"($P92) - unless $P10, rx85_fail + rx87_cur."!cursor_pos"(rx87_pos) + .const 'Sub' $P94 = "25_1278500537.15927" + capture_lex $P94 + $P10 = rx87_cur."before"($P94) + unless $P10, rx87_fail # rx subrule "pod_comment" subtype=method negate= - rx85_cur."!cursor_pos"(rx85_pos) - $P10 = rx85_cur."pod_comment"() - unless $P10, rx85_fail - rx85_pos = $P10."pos"() - goto alt89_end - alt89_1: - set_addr $I10, alt89_2 - rx85_cur."!mark_push"(0, rx85_pos, $I10) + rx87_cur."!cursor_pos"(rx87_pos) + $P10 = rx87_cur."pod_comment"() + unless $P10, rx87_fail + rx87_pos = $P10."pos"() + goto alt91_end + alt91_1: + set_addr $I10, alt91_2 + rx87_cur."!mark_push"(0, rx87_pos, $I10) .annotate 'line', 47 - # rx rxquantr98 ** 0..* - set_addr $I99, rxquantr98_done - rx85_cur."!mark_push"(0, rx85_pos, $I99) - rxquantr98_loop: + # rx rxquantr100 ** 0..* + set_addr $I101, rxquantr100_done + rx87_cur."!mark_push"(0, rx87_pos, $I101) + rxquantr100_loop: # rx enumcharlist negate=0 - ge rx85_pos, rx85_eos, rx85_fail - sub $I10, rx85_pos, rx85_off - substr $S10, rx85_tgt, $I10, 1 + ge rx87_pos, rx87_eos, rx87_fail + sub $I10, rx87_pos, rx87_off + substr $S10, rx87_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, rx85_fail - inc rx85_pos - (rx85_rep) = rx85_cur."!mark_commit"($I99) - rx85_cur."!mark_push"(rx85_rep, rx85_pos, $I99) - goto rxquantr98_loop - rxquantr98_done: + lt $I11, 0, rx87_fail + inc rx87_pos + (rx87_rep) = rx87_cur."!mark_commit"($I101) + rx87_cur."!mark_push"(rx87_rep, rx87_pos, $I101) + goto rxquantr100_loop + rxquantr100_done: # rx literal "#" - add $I11, rx85_pos, 1 - gt $I11, rx85_eos, rx85_fail - sub $I11, rx85_pos, rx85_off - substr $S10, rx85_tgt, $I11, 1 - ne $S10, "#", rx85_fail - add rx85_pos, 1 + 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 # rx charclass_q N r 0..-1 - sub $I10, rx85_pos, rx85_off - find_cclass $I11, 4096, rx85_tgt, $I10, rx85_eos - add rx85_pos, rx85_off, $I11 - goto alt89_end - alt89_2: + sub $I10, rx87_pos, rx87_off + find_cclass $I11, 4096, rx87_tgt, $I10, rx87_eos + add rx87_pos, rx87_off, $I11 + goto alt91_end + alt91_2: .annotate 'line', 48 - # rx rxquantr100 ** 1..* - set_addr $I101, rxquantr100_done - rx85_cur."!mark_push"(0, -1, $I101) - rxquantr100_loop: + # rx rxquantr102 ** 1..* + set_addr $I103, rxquantr102_done + rx87_cur."!mark_push"(0, -1, $I103) + rxquantr102_loop: # rx enumcharlist negate=0 - ge rx85_pos, rx85_eos, rx85_fail - sub $I10, rx85_pos, rx85_off - substr $S10, rx85_tgt, $I10, 1 + ge rx87_pos, rx87_eos, rx87_fail + sub $I10, rx87_pos, rx87_off + substr $S10, rx87_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, rx85_fail - inc rx85_pos - (rx85_rep) = rx85_cur."!mark_commit"($I101) - rx85_cur."!mark_push"(rx85_rep, rx85_pos, $I101) - goto rxquantr100_loop - rxquantr100_done: - alt89_end: + lt $I11, 0, rx87_fail + inc rx87_pos + (rx87_rep) = rx87_cur."!mark_commit"($I103) + rx87_cur."!mark_push"(rx87_rep, rx87_pos, $I103) + goto rxquantr102_loop + rxquantr102_done: + alt91_end: .annotate 'line', 43 # rx pass - rx85_cur."!cursor_pass"(rx85_pos, "unv") - rx85_cur."!cursor_debug"("PASS ", "unv", " at pos=", rx85_pos) - .return (rx85_cur) - rx85_fail: -.annotate 'line', 4 - (rx85_rep, rx85_pos, $I10, $P10) = rx85_cur."!mark_fail"(0) - lt rx85_pos, -1, rx85_done - eq rx85_pos, -1, rx85_fail + rx87_cur."!cursor_pass"(rx87_pos, "unv") + rx87_cur."!cursor_debug"("PASS ", "unv", " at pos=", rx87_pos) + .return (rx87_cur) + rx87_fail: +.annotate 'line', 4 + (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 - rx85_done: - rx85_cur."!cursor_fail"() - rx85_cur."!cursor_debug"("FAIL ", "unv") - .return (rx85_cur) + rx87_done: + rx87_cur."!cursor_fail"() + rx87_cur."!cursor_debug"("FAIL ", "unv") + .return (rx87_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__unv" :subid("24_1276996322.81157") :method +.sub "!PREFIX__unv" :subid("24_1278500537.15927") :method .annotate 'line', 4 - new $P87, "ResizablePMCArray" - push $P87, "" - push $P87, "" - push $P87, "" - .return ($P87) + new $P89, "ResizablePMCArray" + push $P89, "" + push $P89, "" + push $P89, "" + .return ($P89) .end .namespace ["NQP";"Grammar"] -.sub "_block91" :anon :subid("25_1276996322.81157") :method :outer("23_1276996322.81157") +.sub "_block93" :anon :subid("25_1278500537.15927") :method :outer("23_1278500537.15927") .annotate 'line', 46 - .local string rx93_tgt - .local int rx93_pos - .local int rx93_off - .local int rx93_eos - .local int rx93_rep - .local pmc rx93_cur - (rx93_cur, rx93_pos, rx93_tgt) = self."!cursor_start"() - rx93_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx93_cur + .local string rx95_tgt + .local int rx95_pos + .local int rx95_off + .local int rx95_eos + .local int rx95_rep + .local pmc rx95_cur + (rx95_cur, rx95_pos, rx95_tgt) = self."!cursor_start"() + rx95_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx95_cur .local pmc match .lex "$/", match - length rx93_eos, rx93_tgt - gt rx93_pos, rx93_eos, rx93_done - set rx93_off, 0 - lt rx93_pos, 2, rx93_start - sub rx93_off, rx93_pos, 1 - substr rx93_tgt, rx93_tgt, rx93_off - rx93_start: + length rx95_eos, rx95_tgt + gt rx95_pos, rx95_eos, rx95_done + set rx95_off, 0 + lt rx95_pos, 2, rx95_start + sub rx95_off, rx95_pos, 1 + substr rx95_tgt, rx95_tgt, rx95_off + rx95_start: $I10 = self.'from'() - ne $I10, -1, rxscan94_done - goto rxscan94_scan - rxscan94_loop: - ($P10) = rx93_cur."from"() + ne $I10, -1, rxscan96_done + goto rxscan96_scan + rxscan96_loop: + ($P10) = rx95_cur."from"() inc $P10 - set rx93_pos, $P10 - ge rx93_pos, rx93_eos, rxscan94_done - rxscan94_scan: - set_addr $I10, rxscan94_loop - rx93_cur."!mark_push"(0, rx93_pos, $I10) - rxscan94_done: - # rx rxquantr95 ** 0..* - set_addr $I96, rxquantr95_done - rx93_cur."!mark_push"(0, rx93_pos, $I96) - rxquantr95_loop: + set rx95_pos, $P10 + ge rx95_pos, rx95_eos, rxscan96_done + rxscan96_scan: + set_addr $I10, rxscan96_loop + rx95_cur."!mark_push"(0, rx95_pos, $I10) + rxscan96_done: + # rx rxquantr97 ** 0..* + set_addr $I98, rxquantr97_done + rx95_cur."!mark_push"(0, rx95_pos, $I98) + rxquantr97_loop: # rx enumcharlist negate=0 - ge rx93_pos, rx93_eos, rx93_fail - sub $I10, rx93_pos, rx93_off - substr $S10, rx93_tgt, $I10, 1 + ge rx95_pos, rx95_eos, rx95_fail + sub $I10, rx95_pos, rx95_off + substr $S10, rx95_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, rx93_fail - inc rx93_pos - (rx93_rep) = rx93_cur."!mark_commit"($I96) - rx93_cur."!mark_push"(rx93_rep, rx93_pos, $I96) - goto rxquantr95_loop - rxquantr95_done: + lt $I11, 0, rx95_fail + inc rx95_pos + (rx95_rep) = rx95_cur."!mark_commit"($I98) + rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I98) + goto rxquantr97_loop + rxquantr97_done: # rx literal "=" - add $I11, rx93_pos, 1 - gt $I11, rx93_eos, rx93_fail - sub $I11, rx93_pos, rx93_off - substr $S10, rx93_tgt, $I11, 1 - ne $S10, "=", rx93_fail - add rx93_pos, 1 - alt97_0: - set_addr $I10, alt97_1 - rx93_cur."!mark_push"(0, rx93_pos, $I10) + add $I11, rx95_pos, 1 + gt $I11, rx95_eos, rx95_fail + sub $I11, rx95_pos, rx95_off + substr $S10, rx95_tgt, $I11, 1 + ne $S10, "=", rx95_fail + add rx95_pos, 1 + alt99_0: + set_addr $I10, alt99_1 + rx95_cur."!mark_push"(0, rx95_pos, $I10) # rx charclass w - ge rx93_pos, rx93_eos, rx93_fail - sub $I10, rx93_pos, rx93_off - is_cclass $I11, 8192, rx93_tgt, $I10 - unless $I11, rx93_fail - inc rx93_pos - goto alt97_end - alt97_1: + ge rx95_pos, rx95_eos, rx95_fail + sub $I10, rx95_pos, rx95_off + is_cclass $I11, 8192, rx95_tgt, $I10 + unless $I11, rx95_fail + inc rx95_pos + goto alt99_end + alt99_1: # rx literal "\\" - add $I11, rx93_pos, 1 - gt $I11, rx93_eos, rx93_fail - sub $I11, rx93_pos, rx93_off - substr $S10, rx93_tgt, $I11, 1 - ne $S10, "\\", rx93_fail - add rx93_pos, 1 - alt97_end: + add $I11, rx95_pos, 1 + gt $I11, rx95_eos, rx95_fail + sub $I11, rx95_pos, rx95_off + substr $S10, rx95_tgt, $I11, 1 + ne $S10, "\\", rx95_fail + add rx95_pos, 1 + alt99_end: # rx pass - rx93_cur."!cursor_pass"(rx93_pos, "") - rx93_cur."!cursor_debug"("PASS ", "", " at pos=", rx93_pos) - .return (rx93_cur) - rx93_fail: - (rx93_rep, rx93_pos, $I10, $P10) = rx93_cur."!mark_fail"(0) - lt rx93_pos, -1, rx93_done - eq rx93_pos, -1, rx93_fail + rx95_cur."!cursor_pass"(rx95_pos, "") + rx95_cur."!cursor_debug"("PASS ", "", " at pos=", rx95_pos) + .return (rx95_cur) + rx95_fail: + (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0) + lt rx95_pos, -1, rx95_done + eq rx95_pos, -1, rx95_fail jump $I10 - rx93_done: - rx93_cur."!cursor_fail"() - rx93_cur."!cursor_debug"("FAIL ", "") - .return (rx93_cur) + rx95_done: + rx95_cur."!cursor_fail"() + rx95_cur."!cursor_debug"("FAIL ", "") + .return (rx95_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "pod_comment" :subid("26_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "pod_comment" :subid("26_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P143 = "28_1276996322.81157" - capture_lex $P143 - .local string rx103_tgt - .local int rx103_pos - .local int rx103_off - .local int rx103_eos - .local int rx103_rep - .local pmc rx103_cur - (rx103_cur, rx103_pos, rx103_tgt) = self."!cursor_start"() - rx103_cur."!cursor_debug"("START ", "pod_comment") - .lex unicode:"$\x{a2}", rx103_cur + .const 'Sub' $P145 = "28_1278500537.15927" + capture_lex $P145 + .local string rx105_tgt + .local int rx105_pos + .local int rx105_off + .local int rx105_eos + .local int rx105_rep + .local pmc rx105_cur + (rx105_cur, rx105_pos, rx105_tgt) = self."!cursor_start"() + rx105_cur."!cursor_debug"("START ", "pod_comment") + .lex unicode:"$\x{a2}", rx105_cur .local pmc match .lex "$/", match - length rx103_eos, rx103_tgt - gt rx103_pos, rx103_eos, rx103_done - set rx103_off, 0 - lt rx103_pos, 2, rx103_start - sub rx103_off, rx103_pos, 1 - substr rx103_tgt, rx103_tgt, rx103_off - rx103_start: + length rx105_eos, rx105_tgt + gt rx105_pos, rx105_eos, rx105_done + set rx105_off, 0 + lt rx105_pos, 2, rx105_start + sub rx105_off, rx105_pos, 1 + substr rx105_tgt, rx105_tgt, rx105_off + rx105_start: $I10 = self.'from'() - ne $I10, -1, rxscan106_done - goto rxscan106_scan - rxscan106_loop: - ($P10) = rx103_cur."from"() + ne $I10, -1, rxscan108_done + goto rxscan108_scan + rxscan108_loop: + ($P10) = rx105_cur."from"() inc $P10 - set rx103_pos, $P10 - ge rx103_pos, rx103_eos, rxscan106_done - rxscan106_scan: - set_addr $I10, rxscan106_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - rxscan106_done: + set rx105_pos, $P10 + ge rx105_pos, rx105_eos, rxscan108_done + rxscan108_scan: + set_addr $I10, rxscan108_loop + rx105_cur."!mark_push"(0, rx105_pos, $I10) + rxscan108_done: .annotate 'line', 53 # rxanchor bol - eq rx103_pos, 0, rxanchor107_done - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off + eq rx105_pos, 0, rxanchor109_done + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off dec $I10 - is_cclass $I11, 4096, rx103_tgt, $I10 - unless $I11, rx103_fail - rxanchor107_done: - # rx rxquantr108 ** 0..* - set_addr $I109, rxquantr108_done - rx103_cur."!mark_push"(0, rx103_pos, $I109) - rxquantr108_loop: + is_cclass $I11, 4096, rx105_tgt, $I10 + unless $I11, rx105_fail + rxanchor109_done: + # rx rxquantr110 ** 0..* + set_addr $I111, rxquantr110_done + rx105_cur."!mark_push"(0, rx105_pos, $I111) + rxquantr110_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I109) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I109) - goto rxquantr108_loop - rxquantr108_done: + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I111) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I111) + goto rxquantr110_loop + rxquantr110_done: # rx literal "=" - add $I11, rx103_pos, 1 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 1 - ne $S10, "=", rx103_fail - add rx103_pos, 1 - alt110_0: + add $I11, rx105_pos, 1 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 1 + ne $S10, "=", rx105_fail + add rx105_pos, 1 + alt112_0: .annotate 'line', 54 - set_addr $I10, alt110_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + set_addr $I10, alt112_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 55 # rx literal "begin" - add $I11, rx103_pos, 5 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 5 - ne $S10, "begin", rx103_fail - add rx103_pos, 5 - # rx rxquantr111 ** 1..* - set_addr $I112, rxquantr111_done - rx103_cur."!mark_push"(0, -1, $I112) - rxquantr111_loop: + add $I11, rx105_pos, 5 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 5 + ne $S10, "begin", rx105_fail + add rx105_pos, 5 + # rx rxquantr113 ** 1..* + set_addr $I114, rxquantr113_done + rx105_cur."!mark_push"(0, -1, $I114) + rxquantr113_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I112) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I112) - goto rxquantr111_loop - rxquantr111_done: + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I114) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I114) + goto rxquantr113_loop + rxquantr113_done: # rx literal "END" - add $I11, rx103_pos, 3 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 3 - ne $S10, "END", rx103_fail - add rx103_pos, 3 + add $I11, rx105_pos, 3 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 3 + ne $S10, "END", rx105_fail + add rx105_pos, 3 # rxanchor rwb - le rx103_pos, 0, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 8192, rx103_tgt, $I10 - if $I11, rx103_fail + le rx105_pos, 0, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 8192, rx105_tgt, $I10 + if $I11, rx105_fail dec $I10 - is_cclass $I11, 8192, rx103_tgt, $I10 - unless $I11, rx103_fail - alt113_0: + is_cclass $I11, 8192, rx105_tgt, $I10 + unless $I11, rx105_fail + alt115_0: .annotate 'line', 56 - set_addr $I10, alt113_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) - # rx rxquantf114 ** 0..* - set_addr $I10, rxquantf114_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - goto rxquantf114_done - rxquantf114_loop: + set_addr $I10, alt115_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) + # rx rxquantf116 ** 0..* + set_addr $I10, rxquantf116_loop + rx105_cur."!mark_push"(0, rx105_pos, $I10) + goto rxquantf116_done + rxquantf116_loop: # rx charclass . - ge rx103_pos, rx103_eos, rx103_fail - inc rx103_pos - set_addr $I10, rxquantf114_loop - rx103_cur."!mark_push"($I115, rx103_pos, $I10) - rxquantf114_done: + ge rx105_pos, rx105_eos, rx105_fail + inc rx105_pos + set_addr $I10, rxquantf116_loop + rx105_cur."!mark_push"($I117, rx105_pos, $I10) + rxquantf116_done: # rx charclass nl - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 4096, rx103_tgt, $I10 - unless $I11, rx103_fail - substr $S10, rx103_tgt, $I10, 2 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 4096, rx105_tgt, $I10 + unless $I11, rx105_fail + substr $S10, rx105_tgt, $I10, 2 iseq $I11, $S10, "\r\n" - add rx103_pos, $I11 - inc rx103_pos - # rx rxquantr116 ** 0..* - set_addr $I117, rxquantr116_done - rx103_cur."!mark_push"(0, rx103_pos, $I117) - rxquantr116_loop: - # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I117) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I117) - goto rxquantr116_loop - rxquantr116_done: - # rx literal "=end" - add $I11, rx103_pos, 4 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 4 - ne $S10, "=end", rx103_fail - add rx103_pos, 4 - # rx rxquantr118 ** 1..* + add rx105_pos, $I11 + inc rx105_pos + # rx rxquantr118 ** 0..* set_addr $I119, rxquantr118_done - rx103_cur."!mark_push"(0, -1, $I119) + rx105_cur."!mark_push"(0, rx105_pos, $I119) rxquantr118_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I119) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I119) + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I119) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I119) goto rxquantr118_loop rxquantr118_done: + # rx literal "=end" + add $I11, rx105_pos, 4 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 4 + ne $S10, "=end", rx105_fail + add rx105_pos, 4 + # rx rxquantr120 ** 1..* + set_addr $I121, rxquantr120_done + rx105_cur."!mark_push"(0, -1, $I121) + rxquantr120_loop: + # rx enumcharlist negate=0 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I121) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I121) + goto rxquantr120_loop + rxquantr120_done: # rx literal "END" - add $I11, rx103_pos, 3 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 3 - ne $S10, "END", rx103_fail - add rx103_pos, 3 + add $I11, rx105_pos, 3 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 3 + ne $S10, "END", rx105_fail + add rx105_pos, 3 # rxanchor rwb - le rx103_pos, 0, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 8192, rx103_tgt, $I10 - if $I11, rx103_fail + le rx105_pos, 0, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 8192, rx105_tgt, $I10 + if $I11, rx105_fail dec $I10 - is_cclass $I11, 8192, rx103_tgt, $I10 - unless $I11, rx103_fail + is_cclass $I11, 8192, rx105_tgt, $I10 + unless $I11, rx105_fail # rx charclass_q N r 0..-1 - sub $I10, rx103_pos, rx103_off - find_cclass $I11, 4096, rx103_tgt, $I10, rx103_eos - add rx103_pos, rx103_off, $I11 - goto alt113_end - alt113_1: + sub $I10, rx105_pos, rx105_off + find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos + add rx105_pos, rx105_off, $I11 + goto alt115_end + alt115_1: # rx charclass_q . r 0..-1 - sub $I10, rx103_pos, rx103_off - find_not_cclass $I11, 65535, rx103_tgt, $I10, rx103_eos - add rx103_pos, rx103_off, $I11 - alt113_end: + sub $I10, rx105_pos, rx105_off + find_not_cclass $I11, 65535, rx105_tgt, $I10, rx105_eos + add rx105_pos, rx105_off, $I11 + alt115_end: .annotate 'line', 55 - goto alt110_end - alt110_1: - set_addr $I10, alt110_2 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + goto alt112_end + alt112_1: + set_addr $I10, alt112_2 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 57 # rx literal "begin" - add $I11, rx103_pos, 5 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 5 - ne $S10, "begin", rx103_fail - add rx103_pos, 5 - # rx rxquantr120 ** 1..* - set_addr $I121, rxquantr120_done - rx103_cur."!mark_push"(0, -1, $I121) - rxquantr120_loop: + add $I11, rx105_pos, 5 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 5 + ne $S10, "begin", rx105_fail + add rx105_pos, 5 + # rx rxquantr122 ** 1..* + set_addr $I123, rxquantr122_done + rx105_cur."!mark_push"(0, -1, $I123) + rxquantr122_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I121) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I121) - goto rxquantr120_loop - rxquantr120_done: + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I123) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I123) + goto rxquantr122_loop + rxquantr122_done: # rx subrule "identifier" subtype=capture negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."identifier"() - unless $P10, rx103_fail - rx103_cur."!mark_push"(0, -1, 0, $P10) + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."identifier"() + unless $P10, rx105_fail + rx105_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx103_pos = $P10."pos"() - alt122_0: + rx105_pos = $P10."pos"() + alt124_0: .annotate 'line', 58 - set_addr $I10, alt122_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + set_addr $I10, alt124_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 59 - # rx rxquantf123 ** 0..* - set_addr $I10, rxquantf123_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - goto rxquantf123_done - rxquantf123_loop: + # rx rxquantf125 ** 0..* + set_addr $I10, rxquantf125_loop + rx105_cur."!mark_push"(0, rx105_pos, $I10) + goto rxquantf125_done + rxquantf125_loop: # rx charclass . - ge rx103_pos, rx103_eos, rx103_fail - inc rx103_pos - set_addr $I10, rxquantf123_loop - rx103_cur."!mark_push"($I124, rx103_pos, $I10) - rxquantf123_done: + ge rx105_pos, rx105_eos, rx105_fail + inc rx105_pos + set_addr $I10, rxquantf125_loop + rx105_cur."!mark_push"($I126, rx105_pos, $I10) + rxquantf125_done: # rx charclass nl - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 4096, rx103_tgt, $I10 - unless $I11, rx103_fail - substr $S10, rx103_tgt, $I10, 2 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 4096, rx105_tgt, $I10 + unless $I11, rx105_fail + substr $S10, rx105_tgt, $I10, 2 iseq $I11, $S10, "\r\n" - add rx103_pos, $I11 - inc rx103_pos - # rx rxquantr125 ** 0..* - set_addr $I126, rxquantr125_done - rx103_cur."!mark_push"(0, rx103_pos, $I126) - rxquantr125_loop: - # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I126) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I126) - goto rxquantr125_loop - rxquantr125_done: - # rx literal "=end" - add $I11, rx103_pos, 4 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 4 - ne $S10, "=end", rx103_fail - add rx103_pos, 4 - # rx rxquantr127 ** 1..* + add rx105_pos, $I11 + inc rx105_pos + # rx rxquantr127 ** 0..* set_addr $I128, rxquantr127_done - rx103_cur."!mark_push"(0, -1, $I128) + rx105_cur."!mark_push"(0, rx105_pos, $I128) rxquantr127_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I128) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I128) + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I128) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I128) goto rxquantr127_loop rxquantr127_done: + # rx literal "=end" + add $I11, rx105_pos, 4 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 4 + ne $S10, "=end", rx105_fail + add rx105_pos, 4 + # rx rxquantr129 ** 1..* + set_addr $I130, rxquantr129_done + rx105_cur."!mark_push"(0, -1, $I130) + rxquantr129_loop: + # rx enumcharlist negate=0 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I130) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I130) + goto rxquantr129_loop + rxquantr129_done: # rx subrule "!BACKREF" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."!BACKREF"("identifier") - unless $P10, rx103_fail - rx103_pos = $P10."pos"() + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."!BACKREF"("identifier") + unless $P10, rx105_fail + rx105_pos = $P10."pos"() # rxanchor rwb - le rx103_pos, 0, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 8192, rx103_tgt, $I10 - if $I11, rx103_fail + le rx105_pos, 0, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 8192, rx105_tgt, $I10 + if $I11, rx105_fail dec $I10 - is_cclass $I11, 8192, rx103_tgt, $I10 - unless $I11, rx103_fail + is_cclass $I11, 8192, rx105_tgt, $I10 + unless $I11, rx105_fail # rx charclass_q N r 0..-1 - sub $I10, rx103_pos, rx103_off - find_cclass $I11, 4096, rx103_tgt, $I10, rx103_eos - add rx103_pos, rx103_off, $I11 - goto alt122_end - alt122_1: + sub $I10, rx105_pos, rx105_off + find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos + add rx105_pos, rx105_off, $I11 + goto alt124_end + alt124_1: .annotate 'line', 60 # rx subrule "panic" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."panic"("=begin without matching =end") - unless $P10, rx103_fail - rx103_pos = $P10."pos"() - alt122_end: + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."panic"("=begin without matching =end") + unless $P10, rx105_fail + rx105_pos = $P10."pos"() + alt124_end: .annotate 'line', 57 - goto alt110_end - alt110_2: - set_addr $I10, alt110_3 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + goto alt112_end + alt112_2: + set_addr $I10, alt112_3 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 62 # rx literal "begin" - add $I11, rx103_pos, 5 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 5 - ne $S10, "begin", rx103_fail - add rx103_pos, 5 + add $I11, rx105_pos, 5 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 5 + ne $S10, "begin", rx105_fail + add rx105_pos, 5 # rxanchor rwb - le rx103_pos, 0, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 8192, rx103_tgt, $I10 - if $I11, rx103_fail + le rx105_pos, 0, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 8192, rx105_tgt, $I10 + if $I11, rx105_fail dec $I10 - is_cclass $I11, 8192, rx103_tgt, $I10 - unless $I11, rx103_fail - # rx rxquantr130 ** 0..* - set_addr $I131, rxquantr130_done - rx103_cur."!mark_push"(0, rx103_pos, $I131) - rxquantr130_loop: + is_cclass $I11, 8192, rx105_tgt, $I10 + unless $I11, rx105_fail + # rx rxquantr132 ** 0..* + set_addr $I133, rxquantr132_done + rx105_cur."!mark_push"(0, rx105_pos, $I133) + rxquantr132_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I131) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I131) - goto rxquantr130_loop - rxquantr130_done: - alt132_0: + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I133) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I133) + goto rxquantr132_loop + rxquantr132_done: + alt134_0: .annotate 'line', 63 - set_addr $I10, alt132_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + set_addr $I10, alt134_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) # rxanchor eol - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 4096, rx103_tgt, $I10 - if $I11, rxanchor133_done - ne rx103_pos, rx103_eos, rx103_fail - eq rx103_pos, 0, rxanchor133_done + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 4096, rx105_tgt, $I10 + if $I11, rxanchor135_done + ne rx105_pos, rx105_eos, rx105_fail + eq rx105_pos, 0, rxanchor135_done dec $I10 - is_cclass $I11, 4096, rx103_tgt, $I10 - if $I11, rx103_fail - rxanchor133_done: - goto alt132_end - alt132_1: - set_addr $I10, alt132_2 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + is_cclass $I11, 4096, rx105_tgt, $I10 + if $I11, rx105_fail + rxanchor135_done: + goto alt134_end + alt134_1: + set_addr $I10, alt134_2 + rx105_cur."!mark_push"(0, rx105_pos, $I10) # rx literal "#" - add $I11, rx103_pos, 1 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 1 - ne $S10, "#", rx103_fail - add rx103_pos, 1 - goto alt132_end - alt132_2: + add $I11, rx105_pos, 1 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 1 + ne $S10, "#", rx105_fail + add rx105_pos, 1 + goto alt134_end + alt134_2: # rx subrule "panic" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."panic"("Unrecognized token after =begin") - unless $P10, rx103_fail - rx103_pos = $P10."pos"() - alt132_end: - alt134_0: + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."panic"("Unrecognized token after =begin") + unless $P10, rx105_fail + rx105_pos = $P10."pos"() + alt134_end: + alt136_0: .annotate 'line', 64 - set_addr $I10, alt134_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + set_addr $I10, alt136_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 65 - # rx rxquantf135 ** 0..* - set_addr $I10, rxquantf135_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - goto rxquantf135_done - rxquantf135_loop: + # rx rxquantf137 ** 0..* + set_addr $I10, rxquantf137_loop + rx105_cur."!mark_push"(0, rx105_pos, $I10) + goto rxquantf137_done + rxquantf137_loop: # rx charclass . - ge rx103_pos, rx103_eos, rx103_fail - inc rx103_pos - set_addr $I10, rxquantf135_loop - rx103_cur."!mark_push"($I136, rx103_pos, $I10) - rxquantf135_done: + ge rx105_pos, rx105_eos, rx105_fail + inc rx105_pos + set_addr $I10, rxquantf137_loop + rx105_cur."!mark_push"($I138, rx105_pos, $I10) + rxquantf137_done: # rx charclass nl - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 4096, rx103_tgt, $I10 - unless $I11, rx103_fail - substr $S10, rx103_tgt, $I10, 2 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 4096, rx105_tgt, $I10 + unless $I11, rx105_fail + substr $S10, rx105_tgt, $I10, 2 iseq $I11, $S10, "\r\n" - add rx103_pos, $I11 - inc rx103_pos - # rx rxquantr137 ** 0..* - set_addr $I138, rxquantr137_done - rx103_cur."!mark_push"(0, rx103_pos, $I138) - rxquantr137_loop: + add rx105_pos, $I11 + inc rx105_pos + # rx rxquantr139 ** 0..* + set_addr $I140, rxquantr139_done + rx105_cur."!mark_push"(0, rx105_pos, $I140) + rxquantr139_loop: # rx enumcharlist negate=0 - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I10, 1 + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + substr $S10, rx105_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, rx103_fail - inc rx103_pos - (rx103_rep) = rx103_cur."!mark_commit"($I138) - rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I138) - goto rxquantr137_loop - rxquantr137_done: + lt $I11, 0, rx105_fail + inc rx105_pos + (rx105_rep) = rx105_cur."!mark_commit"($I140) + rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I140) + goto rxquantr139_loop + rxquantr139_done: # rx literal "=end" - add $I11, rx103_pos, 4 - gt $I11, rx103_eos, rx103_fail - sub $I11, rx103_pos, rx103_off - substr $S10, rx103_tgt, $I11, 4 - ne $S10, "=end", rx103_fail - add rx103_pos, 4 + add $I11, rx105_pos, 4 + gt $I11, rx105_eos, rx105_fail + sub $I11, rx105_pos, rx105_off + substr $S10, rx105_tgt, $I11, 4 + ne $S10, "=end", rx105_fail + add rx105_pos, 4 # rxanchor rwb - le rx103_pos, 0, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 8192, rx103_tgt, $I10 - if $I11, rx103_fail + le rx105_pos, 0, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 8192, rx105_tgt, $I10 + if $I11, rx105_fail dec $I10 - is_cclass $I11, 8192, rx103_tgt, $I10 - unless $I11, rx103_fail + is_cclass $I11, 8192, rx105_tgt, $I10 + unless $I11, rx105_fail # rx charclass_q N r 0..-1 - sub $I10, rx103_pos, rx103_off - find_cclass $I11, 4096, rx103_tgt, $I10, rx103_eos - add rx103_pos, rx103_off, $I11 - goto alt134_end - alt134_1: + sub $I10, rx105_pos, rx105_off + find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos + add rx105_pos, rx105_off, $I11 + goto alt136_end + alt136_1: .annotate 'line', 66 # rx subrule "panic" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."panic"("=begin without matching =end") - unless $P10, rx103_fail - rx103_pos = $P10."pos"() - alt134_end: + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."panic"("=begin without matching =end") + unless $P10, rx105_fail + rx105_pos = $P10."pos"() + alt136_end: .annotate 'line', 62 - goto alt110_end - alt110_3: - set_addr $I10, alt110_4 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + goto alt112_end + alt112_3: + set_addr $I10, alt112_4 + rx105_cur."!mark_push"(0, rx105_pos, $I10) .annotate 'line', 68 # rx subrule "identifier" subtype=capture negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."identifier"() - unless $P10, rx103_fail - rx103_cur."!mark_push"(0, -1, 0, $P10) + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."identifier"() + unless $P10, rx105_fail + rx105_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx103_pos = $P10."pos"() + rx105_pos = $P10."pos"() .annotate 'line', 69 - # rx rxquantf139 ** 0..* - set_addr $I10, rxquantf139_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - goto rxquantf139_done - rxquantf139_loop: + # rx rxquantf141 ** 0..* + set_addr $I10, rxquantf141_loop + rx105_cur."!mark_push"(0, rx105_pos, $I10) + goto rxquantf141_done + rxquantf141_loop: # rx charclass . - ge rx103_pos, rx103_eos, rx103_fail - inc rx103_pos - set_addr $I10, rxquantf139_loop - rx103_cur."!mark_push"($I140, rx103_pos, $I10) - rxquantf139_done: + ge rx105_pos, rx105_eos, rx105_fail + inc rx105_pos + set_addr $I10, rxquantf141_loop + rx105_cur."!mark_push"($I142, rx105_pos, $I10) + rxquantf141_done: # rxanchor bol - eq rx103_pos, 0, rxanchor141_done - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off + eq rx105_pos, 0, rxanchor143_done + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off dec $I10 - is_cclass $I11, 4096, rx103_tgt, $I10 - unless $I11, rx103_fail - rxanchor141_done: + is_cclass $I11, 4096, rx105_tgt, $I10 + unless $I11, rx105_fail + rxanchor143_done: # rx subrule "before" subtype=zerowidth negate= - rx103_cur."!cursor_pos"(rx103_pos) - .const 'Sub' $P143 = "28_1276996322.81157" - capture_lex $P143 - $P10 = rx103_cur."before"($P143) - unless $P10, rx103_fail + rx105_cur."!cursor_pos"(rx105_pos) + .const 'Sub' $P145 = "28_1278500537.15927" + capture_lex $P145 + $P10 = rx105_cur."before"($P145) + unless $P10, rx105_fail .annotate 'line', 68 - goto alt110_end - alt110_4: - alt151_0: + goto alt112_end + alt112_4: + alt153_0: .annotate 'line', 75 - set_addr $I10, alt151_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + set_addr $I10, alt153_1 + rx105_cur."!mark_push"(0, rx105_pos, $I10) # rx charclass s - ge rx103_pos, rx103_eos, rx103_fail - sub $I10, rx103_pos, rx103_off - is_cclass $I11, 32, rx103_tgt, $I10 - unless $I11, rx103_fail - inc rx103_pos - goto alt151_end - alt151_1: + ge rx105_pos, rx105_eos, rx105_fail + sub $I10, rx105_pos, rx105_off + is_cclass $I11, 32, rx105_tgt, $I10 + unless $I11, rx105_fail + inc rx105_pos + goto alt153_end + alt153_1: # rx subrule "panic" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."panic"("Illegal pod directive") - unless $P10, rx103_fail - rx103_pos = $P10."pos"() - alt151_end: + rx105_cur."!cursor_pos"(rx105_pos) + $P10 = rx105_cur."panic"("Illegal pod directive") + unless $P10, rx105_fail + rx105_pos = $P10."pos"() + alt153_end: .annotate 'line', 76 # rx charclass_q N r 0..-1 - sub $I10, rx103_pos, rx103_off - find_cclass $I11, 4096, rx103_tgt, $I10, rx103_eos - add rx103_pos, rx103_off, $I11 - alt110_end: + sub $I10, rx105_pos, rx105_off + find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos + add rx105_pos, rx105_off, $I11 + alt112_end: .annotate 'line', 52 # rx pass - rx103_cur."!cursor_pass"(rx103_pos, "pod_comment") - rx103_cur."!cursor_debug"("PASS ", "pod_comment", " at pos=", rx103_pos) - .return (rx103_cur) - rx103_fail: -.annotate 'line', 4 - (rx103_rep, rx103_pos, $I10, $P10) = rx103_cur."!mark_fail"(0) - lt rx103_pos, -1, rx103_done - eq rx103_pos, -1, rx103_fail + rx105_cur."!cursor_pass"(rx105_pos, "pod_comment") + rx105_cur."!cursor_debug"("PASS ", "pod_comment", " at pos=", rx105_pos) + .return (rx105_cur) + rx105_fail: +.annotate 'line', 4 + (rx105_rep, rx105_pos, $I10, $P10) = rx105_cur."!mark_fail"(0) + lt rx105_pos, -1, rx105_done + eq rx105_pos, -1, rx105_fail jump $I10 - rx103_done: - rx103_cur."!cursor_fail"() - rx103_cur."!cursor_debug"("FAIL ", "pod_comment") - .return (rx103_cur) + rx105_done: + rx105_cur."!cursor_fail"() + rx105_cur."!cursor_debug"("FAIL ", "pod_comment") + .return (rx105_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__pod_comment" :subid("27_1276996322.81157") :method +.sub "!PREFIX__pod_comment" :subid("27_1278500537.15927") :method .annotate 'line', 4 - new $P105, "ResizablePMCArray" - push $P105, "" - .return ($P105) + new $P107, "ResizablePMCArray" + push $P107, "" + .return ($P107) .end .namespace ["NQP";"Grammar"] -.sub "_block142" :anon :subid("28_1276996322.81157") :method :outer("26_1276996322.81157") +.sub "_block144" :anon :subid("28_1278500537.15927") :method :outer("26_1278500537.15927") .annotate 'line', 69 - .local string rx144_tgt - .local int rx144_pos - .local int rx144_off - .local int rx144_eos - .local int rx144_rep - .local pmc rx144_cur - (rx144_cur, rx144_pos, rx144_tgt) = self."!cursor_start"() - rx144_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx144_cur + .local string rx146_tgt + .local int rx146_pos + .local int rx146_off + .local int rx146_eos + .local int rx146_rep + .local pmc rx146_cur + (rx146_cur, rx146_pos, rx146_tgt) = self."!cursor_start"() + rx146_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx146_cur .local pmc match .lex "$/", match - length rx144_eos, rx144_tgt - gt rx144_pos, rx144_eos, rx144_done - set rx144_off, 0 - lt rx144_pos, 2, rx144_start - sub rx144_off, rx144_pos, 1 - substr rx144_tgt, rx144_tgt, rx144_off - rx144_start: + length rx146_eos, rx146_tgt + gt rx146_pos, rx146_eos, rx146_done + set rx146_off, 0 + lt rx146_pos, 2, rx146_start + sub rx146_off, rx146_pos, 1 + substr rx146_tgt, rx146_tgt, rx146_off + rx146_start: $I10 = self.'from'() - ne $I10, -1, rxscan145_done - goto rxscan145_scan - rxscan145_loop: - ($P10) = rx144_cur."from"() + ne $I10, -1, rxscan147_done + goto rxscan147_scan + rxscan147_loop: + ($P10) = rx146_cur."from"() inc $P10 - set rx144_pos, $P10 - ge rx144_pos, rx144_eos, rxscan145_done - rxscan145_scan: - set_addr $I10, rxscan145_loop - rx144_cur."!mark_push"(0, rx144_pos, $I10) - rxscan145_done: - # rx rxquantr146 ** 0..* - set_addr $I147, rxquantr146_done - rx144_cur."!mark_push"(0, rx144_pos, $I147) - rxquantr146_loop: + set rx146_pos, $P10 + ge rx146_pos, rx146_eos, rxscan147_done + rxscan147_scan: + set_addr $I10, rxscan147_loop + rx146_cur."!mark_push"(0, rx146_pos, $I10) + rxscan147_done: + # rx rxquantr148 ** 0..* + set_addr $I149, rxquantr148_done + rx146_cur."!mark_push"(0, rx146_pos, $I149) + rxquantr148_loop: # rx enumcharlist negate=0 - ge rx144_pos, rx144_eos, rx144_fail - sub $I10, rx144_pos, rx144_off - substr $S10, rx144_tgt, $I10, 1 + ge rx146_pos, rx146_eos, rx146_fail + sub $I10, rx146_pos, rx146_off + substr $S10, rx146_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, rx144_fail - inc rx144_pos - (rx144_rep) = rx144_cur."!mark_commit"($I147) - rx144_cur."!mark_push"(rx144_rep, rx144_pos, $I147) - goto rxquantr146_loop - rxquantr146_done: - alt148_0: - set_addr $I10, alt148_1 - rx144_cur."!mark_push"(0, rx144_pos, $I10) + lt $I11, 0, rx146_fail + inc rx146_pos + (rx146_rep) = rx146_cur."!mark_commit"($I149) + rx146_cur."!mark_push"(rx146_rep, rx146_pos, $I149) + goto rxquantr148_loop + rxquantr148_done: + alt150_0: + set_addr $I10, alt150_1 + rx146_cur."!mark_push"(0, rx146_pos, $I10) .annotate 'line', 70 # rx literal "=" - add $I11, rx144_pos, 1 - gt $I11, rx144_eos, rx144_fail - sub $I11, rx144_pos, rx144_off - substr $S10, rx144_tgt, $I11, 1 - ne $S10, "=", rx144_fail - add rx144_pos, 1 + add $I11, rx146_pos, 1 + gt $I11, rx146_eos, rx146_fail + sub $I11, rx146_pos, rx146_off + substr $S10, rx146_tgt, $I11, 1 + ne $S10, "=", rx146_fail + add rx146_pos, 1 .annotate 'line', 72 - # rx rxquantr149 ** 0..1 - set_addr $I150, rxquantr149_done - rx144_cur."!mark_push"(0, rx144_pos, $I150) - rxquantr149_loop: + # rx rxquantr151 ** 0..1 + set_addr $I152, rxquantr151_done + rx146_cur."!mark_push"(0, rx146_pos, $I152) + rxquantr151_loop: .annotate 'line', 71 # rx literal "cut" - add $I11, rx144_pos, 3 - gt $I11, rx144_eos, rx144_fail - sub $I11, rx144_pos, rx144_off - substr $S10, rx144_tgt, $I11, 3 - ne $S10, "cut", rx144_fail - add rx144_pos, 3 + add $I11, rx146_pos, 3 + gt $I11, rx146_eos, rx146_fail + sub $I11, rx146_pos, rx146_off + substr $S10, rx146_tgt, $I11, 3 + ne $S10, "cut", rx146_fail + add rx146_pos, 3 # rxanchor rwb - le rx144_pos, 0, rx144_fail - sub $I10, rx144_pos, rx144_off - is_cclass $I11, 8192, rx144_tgt, $I10 - if $I11, rx144_fail + le rx146_pos, 0, rx146_fail + sub $I10, rx146_pos, rx146_off + is_cclass $I11, 8192, rx146_tgt, $I10 + if $I11, rx146_fail dec $I10 - is_cclass $I11, 8192, rx144_tgt, $I10 - unless $I11, rx144_fail + is_cclass $I11, 8192, rx146_tgt, $I10 + unless $I11, rx146_fail .annotate 'line', 72 # rx subrule "panic" subtype=method negate= - rx144_cur."!cursor_pos"(rx144_pos) - $P10 = rx144_cur."panic"("Obsolete pod format, please use =begin/=end instead") - unless $P10, rx144_fail - rx144_pos = $P10."pos"() - (rx144_rep) = rx144_cur."!mark_commit"($I150) - rxquantr149_done: + rx146_cur."!cursor_pos"(rx146_pos) + $P10 = rx146_cur."panic"("Obsolete pod format, please use =begin/=end instead") + unless $P10, rx146_fail + rx146_pos = $P10."pos"() + (rx146_rep) = rx146_cur."!mark_commit"($I152) + rxquantr151_done: .annotate 'line', 69 - goto alt148_end - alt148_1: + goto alt150_end + alt150_1: .annotate 'line', 73 # rx charclass nl - ge rx144_pos, rx144_eos, rx144_fail - sub $I10, rx144_pos, rx144_off - is_cclass $I11, 4096, rx144_tgt, $I10 - unless $I11, rx144_fail - substr $S10, rx144_tgt, $I10, 2 + ge rx146_pos, rx146_eos, rx146_fail + sub $I10, rx146_pos, rx146_off + is_cclass $I11, 4096, rx146_tgt, $I10 + unless $I11, rx146_fail + substr $S10, rx146_tgt, $I10, 2 iseq $I11, $S10, "\r\n" - add rx144_pos, $I11 - inc rx144_pos - alt148_end: + add rx146_pos, $I11 + inc rx146_pos + alt150_end: .annotate 'line', 69 # rx pass - rx144_cur."!cursor_pass"(rx144_pos, "") - rx144_cur."!cursor_debug"("PASS ", "", " at pos=", rx144_pos) - .return (rx144_cur) - rx144_fail: - (rx144_rep, rx144_pos, $I10, $P10) = rx144_cur."!mark_fail"(0) - lt rx144_pos, -1, rx144_done - eq rx144_pos, -1, rx144_fail + rx146_cur."!cursor_pass"(rx146_pos, "") + rx146_cur."!cursor_debug"("PASS ", "", " at pos=", rx146_pos) + .return (rx146_cur) + rx146_fail: + (rx146_rep, rx146_pos, $I10, $P10) = rx146_cur."!mark_fail"(0) + lt rx146_pos, -1, rx146_done + eq rx146_pos, -1, rx146_fail jump $I10 - rx144_done: - rx144_cur."!cursor_fail"() - rx144_cur."!cursor_debug"("FAIL ", "") - .return (rx144_cur) + rx146_done: + rx146_cur."!cursor_fail"() + rx146_cur."!cursor_debug"("FAIL ", "") + .return (rx146_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "comp_unit" :subid("29_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "comp_unit" :subid("29_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx153_tgt - .local int rx153_pos - .local int rx153_off - .local int rx153_eos - .local int rx153_rep - .local pmc rx153_cur - (rx153_cur, rx153_pos, rx153_tgt) = self."!cursor_start"() - rx153_cur."!cursor_debug"("START ", "comp_unit") - .lex unicode:"$\x{a2}", rx153_cur + .local string rx155_tgt + .local int rx155_pos + .local int rx155_off + .local int rx155_eos + .local int rx155_rep + .local pmc rx155_cur + (rx155_cur, rx155_pos, rx155_tgt) = self."!cursor_start"() + rx155_cur."!cursor_debug"("START ", "comp_unit") + .lex unicode:"$\x{a2}", rx155_cur .local pmc match .lex "$/", match - length rx153_eos, rx153_tgt - gt rx153_pos, rx153_eos, rx153_done - set rx153_off, 0 - lt rx153_pos, 2, rx153_start - sub rx153_off, rx153_pos, 1 - substr rx153_tgt, rx153_tgt, rx153_off - rx153_start: + length rx155_eos, rx155_tgt + gt rx155_pos, rx155_eos, rx155_done + set rx155_off, 0 + lt rx155_pos, 2, rx155_start + sub rx155_off, rx155_pos, 1 + substr rx155_tgt, rx155_tgt, rx155_off + rx155_start: $I10 = self.'from'() - ne $I10, -1, rxscan157_done - goto rxscan157_scan - rxscan157_loop: - ($P10) = rx153_cur."from"() + ne $I10, -1, rxscan159_done + goto rxscan159_scan + rxscan159_loop: + ($P10) = rx155_cur."from"() inc $P10 - set rx153_pos, $P10 - ge rx153_pos, rx153_eos, rxscan157_done - rxscan157_scan: - set_addr $I10, rxscan157_loop - rx153_cur."!mark_push"(0, rx153_pos, $I10) - rxscan157_done: + set rx155_pos, $P10 + ge rx155_pos, rx155_eos, rxscan159_done + rxscan159_scan: + set_addr $I10, rxscan159_loop + rx155_cur."!mark_push"(0, rx155_pos, $I10) + rxscan159_done: .annotate 'line', 84 # rx subrule "newpad" subtype=method negate= - rx153_cur."!cursor_pos"(rx153_pos) - $P10 = rx153_cur."newpad"() - unless $P10, rx153_fail - rx153_pos = $P10."pos"() + rx155_cur."!cursor_pos"(rx155_pos) + $P10 = rx155_cur."newpad"() + unless $P10, rx155_fail + rx155_pos = $P10."pos"() .annotate 'line', 85 # rx subrule "outerctx" subtype=method negate= - rx153_cur."!cursor_pos"(rx153_pos) - $P10 = rx153_cur."outerctx"() - unless $P10, rx153_fail - rx153_pos = $P10."pos"() + rx155_cur."!cursor_pos"(rx155_pos) + $P10 = rx155_cur."outerctx"() + unless $P10, rx155_fail + rx155_pos = $P10."pos"() .annotate 'line', 86 # rx subrule "statementlist" subtype=capture negate= - rx153_cur."!cursor_pos"(rx153_pos) - $P10 = rx153_cur."statementlist"() - unless $P10, rx153_fail - rx153_cur."!mark_push"(0, -1, 0, $P10) + rx155_cur."!cursor_pos"(rx155_pos) + $P10 = rx155_cur."statementlist"() + unless $P10, rx155_fail + rx155_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statementlist") - rx153_pos = $P10."pos"() - alt158_0: + rx155_pos = $P10."pos"() + alt160_0: .annotate 'line', 87 - set_addr $I10, alt158_1 - rx153_cur."!mark_push"(0, rx153_pos, $I10) + set_addr $I10, alt160_1 + rx155_cur."!mark_push"(0, rx155_pos, $I10) # rxanchor eos - ne rx153_pos, rx153_eos, rx153_fail - goto alt158_end - alt158_1: + ne rx155_pos, rx155_eos, rx155_fail + goto alt160_end + alt160_1: # rx subrule "panic" subtype=method negate= - rx153_cur."!cursor_pos"(rx153_pos) - $P10 = rx153_cur."panic"("Confused") - unless $P10, rx153_fail - rx153_pos = $P10."pos"() - alt158_end: + rx155_cur."!cursor_pos"(rx155_pos) + $P10 = rx155_cur."panic"("Confused") + unless $P10, rx155_fail + rx155_pos = $P10."pos"() + alt160_end: .annotate 'line', 83 # rx pass - rx153_cur."!cursor_pass"(rx153_pos, "comp_unit") - rx153_cur."!cursor_debug"("PASS ", "comp_unit", " at pos=", rx153_pos) - .return (rx153_cur) - rx153_fail: -.annotate 'line', 4 - (rx153_rep, rx153_pos, $I10, $P10) = rx153_cur."!mark_fail"(0) - lt rx153_pos, -1, rx153_done - eq rx153_pos, -1, rx153_fail + rx155_cur."!cursor_pass"(rx155_pos, "comp_unit") + rx155_cur."!cursor_debug"("PASS ", "comp_unit", " at pos=", rx155_pos) + .return (rx155_cur) + rx155_fail: +.annotate 'line', 4 + (rx155_rep, rx155_pos, $I10, $P10) = rx155_cur."!mark_fail"(0) + lt rx155_pos, -1, rx155_done + eq rx155_pos, -1, rx155_fail jump $I10 - rx153_done: - rx153_cur."!cursor_fail"() - rx153_cur."!cursor_debug"("FAIL ", "comp_unit") - .return (rx153_cur) + rx155_done: + rx155_cur."!cursor_fail"() + rx155_cur."!cursor_debug"("FAIL ", "comp_unit") + .return (rx155_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__comp_unit" :subid("30_1276996322.81157") :method +.sub "!PREFIX__comp_unit" :subid("30_1278500537.15927") :method .annotate 'line', 4 - $P155 = self."!PREFIX__!subrule"("newpad", "") - new $P156, "ResizablePMCArray" - push $P156, $P155 - .return ($P156) + $P157 = self."!PREFIX__!subrule"("newpad", "") + new $P158, "ResizablePMCArray" + push $P158, $P157 + .return ($P158) .end .namespace ["NQP";"Grammar"] -.sub "statementlist" :subid("31_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statementlist" :subid("31_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx160_tgt - .local int rx160_pos - .local int rx160_off - .local int rx160_eos - .local int rx160_rep - .local pmc rx160_cur - (rx160_cur, rx160_pos, rx160_tgt) = self."!cursor_start"() - rx160_cur."!cursor_debug"("START ", "statementlist") - rx160_cur."!cursor_caparray"("statement") - .lex unicode:"$\x{a2}", rx160_cur + .local string rx162_tgt + .local int rx162_pos + .local int rx162_off + .local int rx162_eos + .local int rx162_rep + .local pmc rx162_cur + (rx162_cur, rx162_pos, rx162_tgt) = self."!cursor_start"() + rx162_cur."!cursor_debug"("START ", "statementlist") + rx162_cur."!cursor_caparray"("statement") + .lex unicode:"$\x{a2}", rx162_cur .local pmc match .lex "$/", match - length rx160_eos, rx160_tgt - gt rx160_pos, rx160_eos, rx160_done - set rx160_off, 0 - lt rx160_pos, 2, rx160_start - sub rx160_off, rx160_pos, 1 - substr rx160_tgt, rx160_tgt, rx160_off - rx160_start: + length rx162_eos, rx162_tgt + gt rx162_pos, rx162_eos, rx162_done + set rx162_off, 0 + lt rx162_pos, 2, rx162_start + sub rx162_off, rx162_pos, 1 + substr rx162_tgt, rx162_tgt, rx162_off + rx162_start: $I10 = self.'from'() - ne $I10, -1, rxscan165_done - goto rxscan165_scan - rxscan165_loop: - ($P10) = rx160_cur."from"() + ne $I10, -1, rxscan167_done + goto rxscan167_scan + rxscan167_loop: + ($P10) = rx162_cur."from"() inc $P10 - set rx160_pos, $P10 - ge rx160_pos, rx160_eos, rxscan165_done - rxscan165_scan: - set_addr $I10, rxscan165_loop - rx160_cur."!mark_push"(0, rx160_pos, $I10) - rxscan165_done: - alt166_0: + set rx162_pos, $P10 + ge rx162_pos, rx162_eos, rxscan167_done + rxscan167_scan: + set_addr $I10, rxscan167_loop + rx162_cur."!mark_push"(0, rx162_pos, $I10) + rxscan167_done: + alt168_0: .annotate 'line', 90 - set_addr $I10, alt166_1 - rx160_cur."!mark_push"(0, rx160_pos, $I10) + set_addr $I10, alt168_1 + rx162_cur."!mark_push"(0, rx162_pos, $I10) .annotate 'line', 91 # rx subrule "ws" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."ws"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."ws"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() # rxanchor eos - ne rx160_pos, rx160_eos, rx160_fail + ne rx162_pos, rx162_eos, rx162_fail # rx subrule "ws" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."ws"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() - goto alt166_end - alt166_1: + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."ws"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() + goto alt168_end + alt168_1: .annotate 'line', 92 # rx subrule "ws" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."ws"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() - # rx rxquantr170 ** 0..* - set_addr $I172, rxquantr170_done - rx160_cur."!mark_push"(0, rx160_pos, $I172) - rxquantr170_loop: + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."ws"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() + # rx rxquantr172 ** 0..* + set_addr $I174, rxquantr172_done + rx162_cur."!mark_push"(0, rx162_pos, $I174) + rxquantr172_loop: # rx subrule "statement" subtype=capture negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."statement"() - unless $P10, rx160_fail - rx160_cur."!mark_push"(0, -1, 0, $P10) + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."statement"() + unless $P10, rx162_fail + rx162_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement") - rx160_pos = $P10."pos"() + rx162_pos = $P10."pos"() # rx subrule "eat_terminator" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."eat_terminator"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."eat_terminator"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."ws"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() - (rx160_rep) = rx160_cur."!mark_commit"($I172) - rx160_cur."!mark_push"(rx160_rep, rx160_pos, $I172) - goto rxquantr170_loop - rxquantr170_done: + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."ws"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() + (rx162_rep) = rx162_cur."!mark_commit"($I174) + rx162_cur."!mark_push"(rx162_rep, rx162_pos, $I174) + goto rxquantr172_loop + rxquantr172_done: # rx subrule "ws" subtype=method negate= - rx160_cur."!cursor_pos"(rx160_pos) - $P10 = rx160_cur."ws"() - unless $P10, rx160_fail - rx160_pos = $P10."pos"() - alt166_end: + rx162_cur."!cursor_pos"(rx162_pos) + $P10 = rx162_cur."ws"() + unless $P10, rx162_fail + rx162_pos = $P10."pos"() + alt168_end: .annotate 'line', 90 # rx pass - rx160_cur."!cursor_pass"(rx160_pos, "statementlist") - rx160_cur."!cursor_debug"("PASS ", "statementlist", " at pos=", rx160_pos) - .return (rx160_cur) - rx160_fail: -.annotate 'line', 4 - (rx160_rep, rx160_pos, $I10, $P10) = rx160_cur."!mark_fail"(0) - lt rx160_pos, -1, rx160_done - eq rx160_pos, -1, rx160_fail + rx162_cur."!cursor_pass"(rx162_pos, "statementlist") + rx162_cur."!cursor_debug"("PASS ", "statementlist", " at pos=", rx162_pos) + .return (rx162_cur) + rx162_fail: +.annotate 'line', 4 + (rx162_rep, rx162_pos, $I10, $P10) = rx162_cur."!mark_fail"(0) + lt rx162_pos, -1, rx162_done + eq rx162_pos, -1, rx162_fail jump $I10 - rx160_done: - rx160_cur."!cursor_fail"() - rx160_cur."!cursor_debug"("FAIL ", "statementlist") - .return (rx160_cur) + rx162_done: + rx162_cur."!cursor_fail"() + rx162_cur."!cursor_debug"("FAIL ", "statementlist") + .return (rx162_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statementlist" :subid("32_1276996322.81157") :method +.sub "!PREFIX__statementlist" :subid("32_1278500537.15927") :method .annotate 'line', 4 - $P162 = self."!PREFIX__!subrule"("ws", "") - $P163 = self."!PREFIX__!subrule"("ws", "") - new $P164, "ResizablePMCArray" - push $P164, $P162 - push $P164, $P163 - .return ($P164) + $P164 = self."!PREFIX__!subrule"("ws", "") + $P165 = self."!PREFIX__!subrule"("ws", "") + new $P166, "ResizablePMCArray" + push $P166, $P164 + push $P166, $P165 + .return ($P166) .end .namespace ["NQP";"Grammar"] -.sub "statement" :subid("33_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement" :subid("33_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P180 = "35_1276996322.81157" - capture_lex $P180 - .local string rx175_tgt - .local int rx175_pos - .local int rx175_off - .local int rx175_eos - .local int rx175_rep - .local pmc rx175_cur - (rx175_cur, rx175_pos, rx175_tgt) = self."!cursor_start"() - rx175_cur."!cursor_debug"("START ", "statement") - rx175_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond") - .lex unicode:"$\x{a2}", rx175_cur + .const 'Sub' $P182 = "35_1278500537.15927" + capture_lex $P182 + .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 ", "statement") + rx177_cur."!cursor_caparray"("statement_mod_cond", "statement_mod_loop") + .lex unicode:"$\x{a2}", rx177_cur .local pmc match .lex "$/", match - length rx175_eos, rx175_tgt - gt rx175_pos, rx175_eos, rx175_done - set rx175_off, 0 - lt rx175_pos, 2, rx175_start - sub rx175_off, rx175_pos, 1 - substr rx175_tgt, rx175_tgt, rx175_off - rx175_start: + length rx177_eos, rx177_tgt + gt rx177_pos, rx177_eos, rx177_done + 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) = rx175_cur."from"() + ne $I10, -1, rxscan180_done + goto rxscan180_scan + rxscan180_loop: + ($P10) = rx177_cur."from"() inc $P10 - set rx175_pos, $P10 - ge rx175_pos, rx175_eos, rxscan178_done - rxscan178_scan: - set_addr $I10, rxscan178_loop - rx175_cur."!mark_push"(0, rx175_pos, $I10) - rxscan178_done: + set rx177_pos, $P10 + ge rx177_pos, rx177_eos, rxscan180_done + rxscan180_scan: + set_addr $I10, rxscan180_loop + rx177_cur."!mark_push"(0, rx177_pos, $I10) + rxscan180_done: .annotate 'line', 96 # rx subrule "before" subtype=zerowidth negate=1 - rx175_cur."!cursor_pos"(rx175_pos) - .const 'Sub' $P180 = "35_1276996322.81157" - capture_lex $P180 - $P10 = rx175_cur."before"($P180) - if $P10, rx175_fail - alt184_0: + rx177_cur."!cursor_pos"(rx177_pos) + .const 'Sub' $P182 = "35_1278500537.15927" + capture_lex $P182 + $P10 = rx177_cur."before"($P182) + if $P10, rx177_fail + alt186_0: .annotate 'line', 97 - set_addr $I10, alt184_1 - rx175_cur."!mark_push"(0, rx175_pos, $I10) + set_addr $I10, alt186_1 + rx177_cur."!mark_push"(0, rx177_pos, $I10) .annotate 'line', 98 # rx subrule "statement_control" subtype=capture negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."statement_control"() - unless $P10, rx175_fail - rx175_cur."!mark_push"(0, -1, 0, $P10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."statement_control"() + unless $P10, rx177_fail + rx177_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement_control") - rx175_pos = $P10."pos"() - goto alt184_end - alt184_1: + rx177_pos = $P10."pos"() + goto alt186_end + alt186_1: .annotate 'line', 99 # rx subrule "EXPR" subtype=capture negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."EXPR"() - unless $P10, rx175_fail - rx175_cur."!mark_push"(0, -1, 0, $P10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."EXPR"() + unless $P10, rx177_fail + rx177_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx175_pos = $P10."pos"() + rx177_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."ws"() - unless $P10, rx175_fail - rx175_pos = $P10."pos"() + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."ws"() + unless $P10, rx177_fail + rx177_pos = $P10."pos"() .annotate 'line', 104 - # rx rxquantr185 ** 0..1 - set_addr $I189, rxquantr185_done - rx175_cur."!mark_push"(0, rx175_pos, $I189) - rxquantr185_loop: - alt186_0: + # rx rxquantr187 ** 0..1 + set_addr $I191, rxquantr187_done + rx177_cur."!mark_push"(0, rx177_pos, $I191) + rxquantr187_loop: + alt188_0: .annotate 'line', 100 - set_addr $I10, alt186_1 - rx175_cur."!mark_push"(0, rx175_pos, $I10) + set_addr $I10, alt188_1 + rx177_cur."!mark_push"(0, rx177_pos, $I10) .annotate 'line', 101 # rx subrule "MARKED" subtype=zerowidth negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."MARKED"("endstmt") - unless $P10, rx175_fail - goto alt186_end - alt186_1: - set_addr $I10, alt186_2 - rx175_cur."!mark_push"(0, rx175_pos, $I10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."MARKED"("endstmt") + unless $P10, rx177_fail + goto alt188_end + alt188_1: + set_addr $I10, alt188_2 + rx177_cur."!mark_push"(0, rx177_pos, $I10) .annotate 'line', 102 # rx subrule "statement_mod_cond" subtype=capture negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."statement_mod_cond"() - unless $P10, rx175_fail - rx175_cur."!mark_push"(0, -1, 0, $P10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."statement_mod_cond"() + unless $P10, rx177_fail + rx177_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement_mod_cond") - rx175_pos = $P10."pos"() - # rx rxquantr187 ** 0..1 - set_addr $I188, rxquantr187_done - rx175_cur."!mark_push"(0, rx175_pos, $I188) - rxquantr187_loop: + rx177_pos = $P10."pos"() + # rx rxquantr189 ** 0..1 + set_addr $I190, rxquantr189_done + rx177_cur."!mark_push"(0, rx177_pos, $I190) + rxquantr189_loop: # rx subrule "statement_mod_loop" subtype=capture negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."statement_mod_loop"() - unless $P10, rx175_fail - rx175_cur."!mark_push"(0, -1, 0, $P10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."statement_mod_loop"() + unless $P10, rx177_fail + rx177_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement_mod_loop") - rx175_pos = $P10."pos"() - (rx175_rep) = rx175_cur."!mark_commit"($I188) - rxquantr187_done: - goto alt186_end - alt186_2: + rx177_pos = $P10."pos"() + (rx177_rep) = rx177_cur."!mark_commit"($I190) + rxquantr189_done: + goto alt188_end + alt188_2: .annotate 'line', 103 # rx subrule "statement_mod_loop" subtype=capture negate= - rx175_cur."!cursor_pos"(rx175_pos) - $P10 = rx175_cur."statement_mod_loop"() - unless $P10, rx175_fail - rx175_cur."!mark_push"(0, -1, 0, $P10) + rx177_cur."!cursor_pos"(rx177_pos) + $P10 = rx177_cur."statement_mod_loop"() + unless $P10, rx177_fail + rx177_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement_mod_loop") - rx175_pos = $P10."pos"() - alt186_end: + rx177_pos = $P10."pos"() + alt188_end: .annotate 'line', 104 - (rx175_rep) = rx175_cur."!mark_commit"($I189) - rxquantr185_done: - alt184_end: + (rx177_rep) = rx177_cur."!mark_commit"($I191) + rxquantr187_done: + alt186_end: .annotate 'line', 95 # rx pass - rx175_cur."!cursor_pass"(rx175_pos, "statement") - rx175_cur."!cursor_debug"("PASS ", "statement", " at pos=", rx175_pos) - .return (rx175_cur) - rx175_fail: -.annotate 'line', 4 - (rx175_rep, rx175_pos, $I10, $P10) = rx175_cur."!mark_fail"(0) - lt rx175_pos, -1, rx175_done - eq rx175_pos, -1, rx175_fail + rx177_cur."!cursor_pass"(rx177_pos, "statement") + rx177_cur."!cursor_debug"("PASS ", "statement", " at pos=", rx177_pos) + .return (rx177_cur) + rx177_fail: +.annotate 'line', 4 + (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 - rx175_done: - rx175_cur."!cursor_fail"() - rx175_cur."!cursor_debug"("FAIL ", "statement") - .return (rx175_cur) + rx177_done: + rx177_cur."!cursor_fail"() + rx177_cur."!cursor_debug"("FAIL ", "statement") + .return (rx177_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement" :subid("34_1276996322.81157") :method +.sub "!PREFIX__statement" :subid("34_1278500537.15927") :method .annotate 'line', 4 - new $P177, "ResizablePMCArray" - push $P177, "" - .return ($P177) + new $P179, "ResizablePMCArray" + push $P179, "" + .return ($P179) .end .namespace ["NQP";"Grammar"] -.sub "_block179" :anon :subid("35_1276996322.81157") :method :outer("33_1276996322.81157") +.sub "_block181" :anon :subid("35_1278500537.15927") :method :outer("33_1278500537.15927") .annotate 'line', 96 - .local string rx181_tgt - .local int rx181_pos - .local int rx181_off - .local int rx181_eos - .local int rx181_rep - .local pmc rx181_cur - (rx181_cur, rx181_pos, rx181_tgt) = self."!cursor_start"() - rx181_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx181_cur + .local string rx183_tgt + .local int rx183_pos + .local int rx183_off + .local int rx183_eos + .local int rx183_rep + .local pmc rx183_cur + (rx183_cur, rx183_pos, rx183_tgt) = self."!cursor_start"() + rx183_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx183_cur .local pmc match .lex "$/", match - length rx181_eos, rx181_tgt - gt rx181_pos, rx181_eos, rx181_done - set rx181_off, 0 - lt rx181_pos, 2, rx181_start - sub rx181_off, rx181_pos, 1 - substr rx181_tgt, rx181_tgt, rx181_off - rx181_start: + length rx183_eos, rx183_tgt + gt rx183_pos, rx183_eos, rx183_done + set rx183_off, 0 + lt rx183_pos, 2, rx183_start + sub rx183_off, rx183_pos, 1 + substr rx183_tgt, rx183_tgt, rx183_off + rx183_start: $I10 = self.'from'() - ne $I10, -1, rxscan182_done - goto rxscan182_scan - rxscan182_loop: - ($P10) = rx181_cur."from"() + ne $I10, -1, rxscan184_done + goto rxscan184_scan + rxscan184_loop: + ($P10) = rx183_cur."from"() inc $P10 - set rx181_pos, $P10 - ge rx181_pos, rx181_eos, rxscan182_done - rxscan182_scan: - set_addr $I10, rxscan182_loop - rx181_cur."!mark_push"(0, rx181_pos, $I10) - rxscan182_done: - alt183_0: - set_addr $I10, alt183_1 - rx181_cur."!mark_push"(0, rx181_pos, $I10) + set rx183_pos, $P10 + ge rx183_pos, rx183_eos, rxscan184_done + rxscan184_scan: + set_addr $I10, rxscan184_loop + rx183_cur."!mark_push"(0, rx183_pos, $I10) + rxscan184_done: + alt185_0: + set_addr $I10, alt185_1 + rx183_cur."!mark_push"(0, rx183_pos, $I10) # rx enumcharlist negate=0 - ge rx181_pos, rx181_eos, rx181_fail - sub $I10, rx181_pos, rx181_off - substr $S10, rx181_tgt, $I10, 1 + ge rx183_pos, rx183_eos, rx183_fail + sub $I10, rx183_pos, rx183_off + substr $S10, rx183_tgt, $I10, 1 index $I11, "])}", $S10 - lt $I11, 0, rx181_fail - inc rx181_pos - goto alt183_end - alt183_1: + lt $I11, 0, rx183_fail + inc rx183_pos + goto alt185_end + alt185_1: # rxanchor eos - ne rx181_pos, rx181_eos, rx181_fail - alt183_end: + ne rx183_pos, rx183_eos, rx183_fail + alt185_end: # rx pass - rx181_cur."!cursor_pass"(rx181_pos, "") - rx181_cur."!cursor_debug"("PASS ", "", " at pos=", rx181_pos) - .return (rx181_cur) - rx181_fail: - (rx181_rep, rx181_pos, $I10, $P10) = rx181_cur."!mark_fail"(0) - lt rx181_pos, -1, rx181_done - eq rx181_pos, -1, rx181_fail + rx183_cur."!cursor_pass"(rx183_pos, "") + rx183_cur."!cursor_debug"("PASS ", "", " at pos=", rx183_pos) + .return (rx183_cur) + rx183_fail: + (rx183_rep, rx183_pos, $I10, $P10) = rx183_cur."!mark_fail"(0) + lt rx183_pos, -1, rx183_done + eq rx183_pos, -1, rx183_fail jump $I10 - rx181_done: - rx181_cur."!cursor_fail"() - rx181_cur."!cursor_debug"("FAIL ", "") - .return (rx181_cur) + rx183_done: + rx183_cur."!cursor_fail"() + rx183_cur."!cursor_debug"("FAIL ", "") + .return (rx183_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "eat_terminator" :subid("36_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "eat_terminator" :subid("36_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "eat_terminator") - .lex unicode:"$\x{a2}", rx191_cur + .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 ", "eat_terminator") + .lex unicode:"$\x{a2}", rx193_cur .local pmc match .lex "$/", match - length rx191_eos, rx191_tgt - gt rx191_pos, rx191_eos, rx191_done - 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: + length rx193_eos, rx193_tgt + gt rx193_pos, rx193_eos, rx193_done + 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, rxscan194_done - goto rxscan194_scan - rxscan194_loop: - ($P10) = rx191_cur."from"() + ne $I10, -1, rxscan196_done + goto rxscan196_scan + rxscan196_loop: + ($P10) = rx193_cur."from"() inc $P10 - set rx191_pos, $P10 - ge rx191_pos, rx191_eos, rxscan194_done - rxscan194_scan: - set_addr $I10, rxscan194_loop - rx191_cur."!mark_push"(0, rx191_pos, $I10) - rxscan194_done: - alt195_0: + set rx193_pos, $P10 + ge rx193_pos, rx193_eos, rxscan196_done + rxscan196_scan: + set_addr $I10, rxscan196_loop + rx193_cur."!mark_push"(0, rx193_pos, $I10) + rxscan196_done: + alt197_0: .annotate 'line', 108 - set_addr $I10, alt195_1 - rx191_cur."!mark_push"(0, rx191_pos, $I10) + set_addr $I10, alt197_1 + rx193_cur."!mark_push"(0, rx193_pos, $I10) .annotate 'line', 109 # rx literal ";" - add $I11, rx191_pos, 1 - gt $I11, rx191_eos, rx191_fail - sub $I11, rx191_pos, rx191_off - substr $S10, rx191_tgt, $I11, 1 - ne $S10, ";", rx191_fail - add rx191_pos, 1 - goto alt195_end - alt195_1: - set_addr $I10, alt195_2 - rx191_cur."!mark_push"(0, rx191_pos, $I10) + add $I11, rx193_pos, 1 + gt $I11, rx193_eos, rx193_fail + sub $I11, rx193_pos, rx193_off + substr $S10, rx193_tgt, $I11, 1 + ne $S10, ";", rx193_fail + add rx193_pos, 1 + goto alt197_end + alt197_1: + set_addr $I10, alt197_2 + rx193_cur."!mark_push"(0, rx193_pos, $I10) .annotate 'line', 110 # rx subrule "MARKED" subtype=zerowidth negate= - rx191_cur."!cursor_pos"(rx191_pos) - $P10 = rx191_cur."MARKED"("endstmt") - unless $P10, rx191_fail - goto alt195_end - alt195_2: - set_addr $I10, alt195_3 - rx191_cur."!mark_push"(0, rx191_pos, $I10) + rx193_cur."!cursor_pos"(rx193_pos) + $P10 = rx193_cur."MARKED"("endstmt") + unless $P10, rx193_fail + goto alt197_end + alt197_2: + set_addr $I10, alt197_3 + rx193_cur."!mark_push"(0, rx193_pos, $I10) .annotate 'line', 111 # rx subrule "terminator" subtype=zerowidth negate= - rx191_cur."!cursor_pos"(rx191_pos) - $P10 = rx191_cur."terminator"() - unless $P10, rx191_fail - goto alt195_end - alt195_3: + rx193_cur."!cursor_pos"(rx193_pos) + $P10 = rx193_cur."terminator"() + unless $P10, rx193_fail + goto alt197_end + alt197_3: .annotate 'line', 112 # rxanchor eos - ne rx191_pos, rx191_eos, rx191_fail - alt195_end: + ne rx193_pos, rx193_eos, rx193_fail + alt197_end: .annotate 'line', 108 # rx pass - rx191_cur."!cursor_pass"(rx191_pos, "eat_terminator") - rx191_cur."!cursor_debug"("PASS ", "eat_terminator", " 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, "eat_terminator") + rx193_cur."!cursor_debug"("PASS ", "eat_terminator", " 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 ", "eat_terminator") - .return (rx191_cur) + rx193_done: + rx193_cur."!cursor_fail"() + rx193_cur."!cursor_debug"("FAIL ", "eat_terminator") + .return (rx193_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__eat_terminator" :subid("37_1276996322.81157") :method +.sub "!PREFIX__eat_terminator" :subid("37_1278500537.15927") :method .annotate 'line', 4 - new $P193, "ResizablePMCArray" - push $P193, "" - push $P193, "" - push $P193, "" - push $P193, ";" - .return ($P193) + new $P195, "ResizablePMCArray" + push $P195, "" + push $P195, "" + push $P195, "" + push $P195, ";" + .return ($P195) .end .namespace ["NQP";"Grammar"] -.sub "xblock" :subid("38_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "xblock" :subid("38_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx197_tgt - .local int rx197_pos - .local int rx197_off - .local int rx197_eos - .local int rx197_rep - .local pmc rx197_cur - (rx197_cur, rx197_pos, rx197_tgt) = self."!cursor_start"() - rx197_cur."!cursor_debug"("START ", "xblock") - .lex unicode:"$\x{a2}", rx197_cur + .local string rx199_tgt + .local int rx199_pos + .local int rx199_off + .local int rx199_eos + .local int rx199_rep + .local pmc rx199_cur + (rx199_cur, rx199_pos, rx199_tgt) = self."!cursor_start"() + rx199_cur."!cursor_debug"("START ", "xblock") + .lex unicode:"$\x{a2}", rx199_cur .local pmc match .lex "$/", match - length rx197_eos, rx197_tgt - gt rx197_pos, rx197_eos, rx197_done - set rx197_off, 0 - lt rx197_pos, 2, rx197_start - sub rx197_off, rx197_pos, 1 - substr rx197_tgt, rx197_tgt, rx197_off - rx197_start: + length rx199_eos, rx199_tgt + gt rx199_pos, rx199_eos, rx199_done + set rx199_off, 0 + lt rx199_pos, 2, rx199_start + sub rx199_off, rx199_pos, 1 + substr rx199_tgt, rx199_tgt, rx199_off + rx199_start: $I10 = self.'from'() - ne $I10, -1, rxscan201_done - goto rxscan201_scan - rxscan201_loop: - ($P10) = rx197_cur."from"() + ne $I10, -1, rxscan203_done + goto rxscan203_scan + rxscan203_loop: + ($P10) = rx199_cur."from"() inc $P10 - set rx197_pos, $P10 - ge rx197_pos, rx197_eos, rxscan201_done - rxscan201_scan: - set_addr $I10, rxscan201_loop - rx197_cur."!mark_push"(0, rx197_pos, $I10) - rxscan201_done: + set rx199_pos, $P10 + ge rx199_pos, rx199_eos, rxscan203_done + rxscan203_scan: + set_addr $I10, rxscan203_loop + rx199_cur."!mark_push"(0, rx199_pos, $I10) + rxscan203_done: .annotate 'line', 116 # rx subrule "EXPR" subtype=capture negate= - rx197_cur."!cursor_pos"(rx197_pos) - $P10 = rx197_cur."EXPR"() - unless $P10, rx197_fail - rx197_cur."!mark_push"(0, -1, 0, $P10) + rx199_cur."!cursor_pos"(rx199_pos) + $P10 = rx199_cur."EXPR"() + unless $P10, rx199_fail + rx199_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx197_pos = $P10."pos"() + rx199_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx197_cur."!cursor_pos"(rx197_pos) - $P10 = rx197_cur."ws"() - unless $P10, rx197_fail - rx197_pos = $P10."pos"() + rx199_cur."!cursor_pos"(rx199_pos) + $P10 = rx199_cur."ws"() + unless $P10, rx199_fail + rx199_pos = $P10."pos"() # rx subrule "pblock" subtype=capture negate= - rx197_cur."!cursor_pos"(rx197_pos) - $P10 = rx197_cur."pblock"() - unless $P10, rx197_fail - rx197_cur."!mark_push"(0, -1, 0, $P10) + rx199_cur."!cursor_pos"(rx199_pos) + $P10 = rx199_cur."pblock"() + unless $P10, rx199_fail + rx199_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("pblock") - rx197_pos = $P10."pos"() + rx199_pos = $P10."pos"() .annotate 'line', 115 # rx pass - rx197_cur."!cursor_pass"(rx197_pos, "xblock") - rx197_cur."!cursor_debug"("PASS ", "xblock", " at pos=", rx197_pos) - .return (rx197_cur) - rx197_fail: -.annotate 'line', 4 - (rx197_rep, rx197_pos, $I10, $P10) = rx197_cur."!mark_fail"(0) - lt rx197_pos, -1, rx197_done - eq rx197_pos, -1, rx197_fail + rx199_cur."!cursor_pass"(rx199_pos, "xblock") + rx199_cur."!cursor_debug"("PASS ", "xblock", " at pos=", rx199_pos) + .return (rx199_cur) + rx199_fail: +.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 - rx197_done: - rx197_cur."!cursor_fail"() - rx197_cur."!cursor_debug"("FAIL ", "xblock") - .return (rx197_cur) + rx199_done: + rx199_cur."!cursor_fail"() + rx199_cur."!cursor_debug"("FAIL ", "xblock") + .return (rx199_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__xblock" :subid("39_1276996322.81157") :method +.sub "!PREFIX__xblock" :subid("39_1278500537.15927") :method .annotate 'line', 4 - $P199 = self."!PREFIX__!subrule"("EXPR", "") - new $P200, "ResizablePMCArray" - push $P200, $P199 - .return ($P200) + $P201 = self."!PREFIX__!subrule"("EXPR", "") + new $P202, "ResizablePMCArray" + push $P202, $P201 + .return ($P202) .end .namespace ["NQP";"Grammar"] -.sub "pblock" :subid("40_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "pblock" :subid("40_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx203_tgt - .local int rx203_pos - .local int rx203_off - .local int rx203_eos - .local int rx203_rep - .local pmc rx203_cur - (rx203_cur, rx203_pos, rx203_tgt) = self."!cursor_start"() - rx203_cur."!cursor_debug"("START ", "pblock") - .lex unicode:"$\x{a2}", rx203_cur + .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 ", "pblock") + .lex unicode:"$\x{a2}", rx205_cur .local pmc match .lex "$/", match - length rx203_eos, rx203_tgt - gt rx203_pos, rx203_eos, rx203_done - set rx203_off, 0 - lt rx203_pos, 2, rx203_start - sub rx203_off, rx203_pos, 1 - substr rx203_tgt, rx203_tgt, rx203_off - rx203_start: + length rx205_eos, rx205_tgt + gt rx205_pos, rx205_eos, rx205_done + 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, rxscan208_done - goto rxscan208_scan - rxscan208_loop: - ($P10) = rx203_cur."from"() + ne $I10, -1, rxscan210_done + goto rxscan210_scan + rxscan210_loop: + ($P10) = rx205_cur."from"() inc $P10 - set rx203_pos, $P10 - ge rx203_pos, rx203_eos, rxscan208_done - rxscan208_scan: - set_addr $I10, rxscan208_loop - rx203_cur."!mark_push"(0, rx203_pos, $I10) - rxscan208_done: - alt209_0: + set rx205_pos, $P10 + ge rx205_pos, rx205_eos, rxscan210_done + rxscan210_scan: + set_addr $I10, rxscan210_loop + rx205_cur."!mark_push"(0, rx205_pos, $I10) + rxscan210_done: + alt211_0: .annotate 'line', 119 - set_addr $I10, alt209_1 - rx203_cur."!mark_push"(0, rx203_pos, $I10) + set_addr $I10, alt211_1 + rx205_cur."!mark_push"(0, rx205_pos, $I10) .annotate 'line', 120 # rx subrule "lambda" subtype=method negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."lambda"() - unless $P10, rx203_fail - rx203_pos = $P10."pos"() + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."lambda"() + unless $P10, rx205_fail + rx205_pos = $P10."pos"() .annotate 'line', 121 # rx subrule "newpad" subtype=method negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."newpad"() - unless $P10, rx203_fail - rx203_pos = $P10."pos"() + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."newpad"() + unless $P10, rx205_fail + rx205_pos = $P10."pos"() .annotate 'line', 122 # rx subrule "signature" subtype=capture negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."signature"() - unless $P10, rx203_fail - rx203_cur."!mark_push"(0, -1, 0, $P10) + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."signature"() + unless $P10, rx205_fail + rx205_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("signature") - rx203_pos = $P10."pos"() + rx205_pos = $P10."pos"() .annotate 'line', 123 # rx subrule "blockoid" subtype=capture negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."blockoid"() - unless $P10, rx203_fail - rx203_cur."!mark_push"(0, -1, 0, $P10) + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."blockoid"() + unless $P10, rx205_fail + rx205_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blockoid") - rx203_pos = $P10."pos"() + rx205_pos = $P10."pos"() .annotate 'line', 120 - goto alt209_end - alt209_1: - set_addr $I10, alt209_2 - rx203_cur."!mark_push"(0, rx203_pos, $I10) + goto alt211_end + alt211_1: + set_addr $I10, alt211_2 + rx205_cur."!mark_push"(0, rx205_pos, $I10) .annotate 'line', 124 # rx enumcharlist negate=0 zerowidth - ge rx203_pos, rx203_eos, rx203_fail - sub $I10, rx203_pos, rx203_off - substr $S10, rx203_tgt, $I10, 1 + ge rx205_pos, rx205_eos, rx205_fail + sub $I10, rx205_pos, rx205_off + substr $S10, rx205_tgt, $I10, 1 index $I11, "{", $S10 - lt $I11, 0, rx203_fail + lt $I11, 0, rx205_fail .annotate 'line', 125 # rx subrule "newpad" subtype=method negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."newpad"() - unless $P10, rx203_fail - rx203_pos = $P10."pos"() + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."newpad"() + unless $P10, rx205_fail + rx205_pos = $P10."pos"() .annotate 'line', 126 # rx subrule "blockoid" subtype=capture negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."blockoid"() - unless $P10, rx203_fail - rx203_cur."!mark_push"(0, -1, 0, $P10) + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."blockoid"() + unless $P10, rx205_fail + rx205_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blockoid") - rx203_pos = $P10."pos"() + rx205_pos = $P10."pos"() .annotate 'line', 124 - goto alt209_end - alt209_2: + goto alt211_end + alt211_2: .annotate 'line', 127 # rx subrule "panic" subtype=method negate= - rx203_cur."!cursor_pos"(rx203_pos) - $P10 = rx203_cur."panic"("Missing block") - unless $P10, rx203_fail - rx203_pos = $P10."pos"() - alt209_end: + rx205_cur."!cursor_pos"(rx205_pos) + $P10 = rx205_cur."panic"("Missing block") + unless $P10, rx205_fail + rx205_pos = $P10."pos"() + alt211_end: .annotate 'line', 119 # rx pass - rx203_cur."!cursor_pass"(rx203_pos, "pblock") - rx203_cur."!cursor_debug"("PASS ", "pblock", " at pos=", rx203_pos) - .return (rx203_cur) - rx203_fail: -.annotate 'line', 4 - (rx203_rep, rx203_pos, $I10, $P10) = rx203_cur."!mark_fail"(0) - lt rx203_pos, -1, rx203_done - eq rx203_pos, -1, rx203_fail + rx205_cur."!cursor_pass"(rx205_pos, "pblock") + rx205_cur."!cursor_debug"("PASS ", "pblock", " 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 - rx203_done: - rx203_cur."!cursor_fail"() - rx203_cur."!cursor_debug"("FAIL ", "pblock") - .return (rx203_cur) + rx205_done: + rx205_cur."!cursor_fail"() + rx205_cur."!cursor_debug"("FAIL ", "pblock") + .return (rx205_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__pblock" :subid("41_1276996322.81157") :method +.sub "!PREFIX__pblock" :subid("41_1278500537.15927") :method .annotate 'line', 4 - $P205 = self."!PREFIX__!subrule"("panic", "") - $P206 = self."!PREFIX__!subrule"("lambda", "") - new $P207, "ResizablePMCArray" - push $P207, $P205 - push $P207, "{" - push $P207, $P206 - .return ($P207) + $P207 = self."!PREFIX__!subrule"("panic", "") + $P208 = self."!PREFIX__!subrule"("lambda", "") + new $P209, "ResizablePMCArray" + push $P209, $P207 + push $P209, "{" + push $P209, $P208 + .return ($P209) .end .namespace ["NQP";"Grammar"] -.sub "lambda" :subid("42_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "lambda" :subid("42_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx211_tgt - .local int rx211_pos - .local int rx211_off - .local int rx211_eos - .local int rx211_rep - .local pmc rx211_cur - (rx211_cur, rx211_pos, rx211_tgt) = self."!cursor_start"() - rx211_cur."!cursor_debug"("START ", "lambda") - .lex unicode:"$\x{a2}", rx211_cur + .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 ", "lambda") + .lex unicode:"$\x{a2}", rx213_cur .local pmc match .lex "$/", match - length rx211_eos, rx211_tgt - gt rx211_pos, rx211_eos, rx211_done - set rx211_off, 0 - lt rx211_pos, 2, rx211_start - sub rx211_off, rx211_pos, 1 - substr rx211_tgt, rx211_tgt, rx211_off - rx211_start: + length rx213_eos, rx213_tgt + gt rx213_pos, rx213_eos, rx213_done + 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, rxscan214_done - goto rxscan214_scan - rxscan214_loop: - ($P10) = rx211_cur."from"() + ne $I10, -1, rxscan216_done + goto rxscan216_scan + rxscan216_loop: + ($P10) = rx213_cur."from"() inc $P10 - set rx211_pos, $P10 - ge rx211_pos, rx211_eos, rxscan214_done - rxscan214_scan: - set_addr $I10, rxscan214_loop - rx211_cur."!mark_push"(0, rx211_pos, $I10) - rxscan214_done: - alt215_0: + set rx213_pos, $P10 + ge rx213_pos, rx213_eos, rxscan216_done + rxscan216_scan: + set_addr $I10, rxscan216_loop + rx213_cur."!mark_push"(0, rx213_pos, $I10) + rxscan216_done: + alt217_0: .annotate 'line', 130 - set_addr $I10, alt215_1 - rx211_cur."!mark_push"(0, rx211_pos, $I10) + set_addr $I10, alt217_1 + rx213_cur."!mark_push"(0, rx213_pos, $I10) # rx literal "->" - add $I11, rx211_pos, 2 - gt $I11, rx211_eos, rx211_fail - sub $I11, rx211_pos, rx211_off - substr $S10, rx211_tgt, $I11, 2 - ne $S10, "->", rx211_fail - add rx211_pos, 2 - goto alt215_end - alt215_1: + add $I11, rx213_pos, 2 + gt $I11, rx213_eos, rx213_fail + sub $I11, rx213_pos, rx213_off + substr $S10, rx213_tgt, $I11, 2 + ne $S10, "->", rx213_fail + add rx213_pos, 2 + goto alt217_end + alt217_1: # rx literal "<->" - add $I11, rx211_pos, 3 - gt $I11, rx211_eos, rx211_fail - sub $I11, rx211_pos, rx211_off - substr $S10, rx211_tgt, $I11, 3 - ne $S10, "<->", rx211_fail - add rx211_pos, 3 - alt215_end: + add $I11, rx213_pos, 3 + gt $I11, rx213_eos, rx213_fail + sub $I11, rx213_pos, rx213_off + substr $S10, rx213_tgt, $I11, 3 + ne $S10, "<->", rx213_fail + add rx213_pos, 3 + alt217_end: # rx pass - rx211_cur."!cursor_pass"(rx211_pos, "lambda") - rx211_cur."!cursor_debug"("PASS ", "lambda", " at pos=", rx211_pos) - .return (rx211_cur) - rx211_fail: -.annotate 'line', 4 - (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0) - lt rx211_pos, -1, rx211_done - eq rx211_pos, -1, rx211_fail + rx213_cur."!cursor_pass"(rx213_pos, "lambda") + rx213_cur."!cursor_debug"("PASS ", "lambda", " 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 - rx211_done: - rx211_cur."!cursor_fail"() - rx211_cur."!cursor_debug"("FAIL ", "lambda") - .return (rx211_cur) + rx213_done: + rx213_cur."!cursor_fail"() + rx213_cur."!cursor_debug"("FAIL ", "lambda") + .return (rx213_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__lambda" :subid("43_1276996322.81157") :method +.sub "!PREFIX__lambda" :subid("43_1278500537.15927") :method .annotate 'line', 4 - new $P213, "ResizablePMCArray" - push $P213, "<->" - push $P213, "->" - .return ($P213) + new $P215, "ResizablePMCArray" + push $P215, "<->" + push $P215, "->" + .return ($P215) .end .namespace ["NQP";"Grammar"] -.sub "block" :subid("44_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "block" :subid("44_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx217_tgt - .local int rx217_pos - .local int rx217_off - .local int rx217_eos - .local int rx217_rep - .local pmc rx217_cur - (rx217_cur, rx217_pos, rx217_tgt) = self."!cursor_start"() - rx217_cur."!cursor_debug"("START ", "block") - .lex unicode:"$\x{a2}", rx217_cur + .local string rx219_tgt + .local int rx219_pos + .local int rx219_off + .local int rx219_eos + .local int rx219_rep + .local pmc rx219_cur + (rx219_cur, rx219_pos, rx219_tgt) = self."!cursor_start"() + rx219_cur."!cursor_debug"("START ", "block") + .lex unicode:"$\x{a2}", rx219_cur .local pmc match .lex "$/", match - length rx217_eos, rx217_tgt - gt rx217_pos, rx217_eos, rx217_done - set rx217_off, 0 - lt rx217_pos, 2, rx217_start - sub rx217_off, rx217_pos, 1 - substr rx217_tgt, rx217_tgt, rx217_off - rx217_start: + length rx219_eos, rx219_tgt + gt rx219_pos, rx219_eos, rx219_done + set rx219_off, 0 + lt rx219_pos, 2, rx219_start + sub rx219_off, rx219_pos, 1 + substr rx219_tgt, rx219_tgt, rx219_off + rx219_start: $I10 = self.'from'() - ne $I10, -1, rxscan221_done - goto rxscan221_scan - rxscan221_loop: - ($P10) = rx217_cur."from"() + ne $I10, -1, rxscan223_done + goto rxscan223_scan + rxscan223_loop: + ($P10) = rx219_cur."from"() inc $P10 - set rx217_pos, $P10 - ge rx217_pos, rx217_eos, rxscan221_done - rxscan221_scan: - set_addr $I10, rxscan221_loop - rx217_cur."!mark_push"(0, rx217_pos, $I10) - rxscan221_done: - alt222_0: + set rx219_pos, $P10 + ge rx219_pos, rx219_eos, rxscan223_done + rxscan223_scan: + set_addr $I10, rxscan223_loop + rx219_cur."!mark_push"(0, rx219_pos, $I10) + rxscan223_done: + alt224_0: .annotate 'line', 133 - set_addr $I10, alt222_1 - rx217_cur."!mark_push"(0, rx217_pos, $I10) + set_addr $I10, alt224_1 + rx219_cur."!mark_push"(0, rx219_pos, $I10) # rx enumcharlist negate=0 zerowidth - ge rx217_pos, rx217_eos, rx217_fail - sub $I10, rx217_pos, rx217_off - substr $S10, rx217_tgt, $I10, 1 + ge rx219_pos, rx219_eos, rx219_fail + sub $I10, rx219_pos, rx219_off + substr $S10, rx219_tgt, $I10, 1 index $I11, "{", $S10 - lt $I11, 0, rx217_fail - goto alt222_end - alt222_1: + lt $I11, 0, rx219_fail + goto alt224_end + alt224_1: # rx subrule "panic" subtype=method negate= - rx217_cur."!cursor_pos"(rx217_pos) - $P10 = rx217_cur."panic"("Missing block") - unless $P10, rx217_fail - rx217_pos = $P10."pos"() - alt222_end: + rx219_cur."!cursor_pos"(rx219_pos) + $P10 = rx219_cur."panic"("Missing block") + unless $P10, rx219_fail + rx219_pos = $P10."pos"() + alt224_end: .annotate 'line', 134 # rx subrule "newpad" subtype=method negate= - rx217_cur."!cursor_pos"(rx217_pos) - $P10 = rx217_cur."newpad"() - unless $P10, rx217_fail - rx217_pos = $P10."pos"() + rx219_cur."!cursor_pos"(rx219_pos) + $P10 = rx219_cur."newpad"() + unless $P10, rx219_fail + rx219_pos = $P10."pos"() .annotate 'line', 135 # rx subrule "blockoid" subtype=capture negate= - rx217_cur."!cursor_pos"(rx217_pos) - $P10 = rx217_cur."blockoid"() - unless $P10, rx217_fail - rx217_cur."!mark_push"(0, -1, 0, $P10) + rx219_cur."!cursor_pos"(rx219_pos) + $P10 = rx219_cur."blockoid"() + unless $P10, rx219_fail + rx219_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blockoid") - rx217_pos = $P10."pos"() + rx219_pos = $P10."pos"() .annotate 'line', 132 # rx pass - rx217_cur."!cursor_pass"(rx217_pos, "block") - rx217_cur."!cursor_debug"("PASS ", "block", " at pos=", rx217_pos) - .return (rx217_cur) - rx217_fail: -.annotate 'line', 4 - (rx217_rep, rx217_pos, $I10, $P10) = rx217_cur."!mark_fail"(0) - lt rx217_pos, -1, rx217_done - eq rx217_pos, -1, rx217_fail + rx219_cur."!cursor_pass"(rx219_pos, "block") + rx219_cur."!cursor_debug"("PASS ", "block", " at pos=", rx219_pos) + .return (rx219_cur) + rx219_fail: +.annotate 'line', 4 + (rx219_rep, rx219_pos, $I10, $P10) = rx219_cur."!mark_fail"(0) + lt rx219_pos, -1, rx219_done + eq rx219_pos, -1, rx219_fail jump $I10 - rx217_done: - rx217_cur."!cursor_fail"() - rx217_cur."!cursor_debug"("FAIL ", "block") - .return (rx217_cur) + rx219_done: + rx219_cur."!cursor_fail"() + rx219_cur."!cursor_debug"("FAIL ", "block") + .return (rx219_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__block" :subid("45_1276996322.81157") :method +.sub "!PREFIX__block" :subid("45_1278500537.15927") :method .annotate 'line', 4 - $P219 = self."!PREFIX__!subrule"("panic", "") - new $P220, "ResizablePMCArray" - push $P220, $P219 - push $P220, "{" - .return ($P220) + $P221 = self."!PREFIX__!subrule"("panic", "") + new $P222, "ResizablePMCArray" + push $P222, $P221 + push $P222, "{" + .return ($P222) .end .namespace ["NQP";"Grammar"] -.sub "blockoid" :subid("46_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "blockoid" :subid("46_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx224_tgt - .local int rx224_pos - .local int rx224_off - .local int rx224_eos - .local int rx224_rep - .local pmc rx224_cur - (rx224_cur, rx224_pos, rx224_tgt) = self."!cursor_start"() - rx224_cur."!cursor_debug"("START ", "blockoid") - .lex unicode:"$\x{a2}", rx224_cur + .local string rx226_tgt + .local int rx226_pos + .local int rx226_off + .local int rx226_eos + .local int rx226_rep + .local pmc rx226_cur + (rx226_cur, rx226_pos, rx226_tgt) = self."!cursor_start"() + rx226_cur."!cursor_debug"("START ", "blockoid") + .lex unicode:"$\x{a2}", rx226_cur .local pmc match .lex "$/", match - length rx224_eos, rx224_tgt - gt rx224_pos, rx224_eos, rx224_done - set rx224_off, 0 - lt rx224_pos, 2, rx224_start - sub rx224_off, rx224_pos, 1 - substr rx224_tgt, rx224_tgt, rx224_off - rx224_start: + length rx226_eos, rx226_tgt + gt rx226_pos, rx226_eos, rx226_done + set rx226_off, 0 + lt rx226_pos, 2, rx226_start + sub rx226_off, rx226_pos, 1 + substr rx226_tgt, rx226_tgt, rx226_off + rx226_start: $I10 = self.'from'() - ne $I10, -1, rxscan228_done - goto rxscan228_scan - rxscan228_loop: - ($P10) = rx224_cur."from"() + ne $I10, -1, rxscan230_done + goto rxscan230_scan + rxscan230_loop: + ($P10) = rx226_cur."from"() inc $P10 - set rx224_pos, $P10 - ge rx224_pos, rx224_eos, rxscan228_done - rxscan228_scan: - set_addr $I10, rxscan228_loop - rx224_cur."!mark_push"(0, rx224_pos, $I10) - rxscan228_done: + set rx226_pos, $P10 + ge rx226_pos, rx226_eos, rxscan230_done + rxscan230_scan: + set_addr $I10, rxscan230_loop + rx226_cur."!mark_push"(0, rx226_pos, $I10) + rxscan230_done: .annotate 'line', 139 # rx subrule "finishpad" subtype=method negate= - rx224_cur."!cursor_pos"(rx224_pos) - $P10 = rx224_cur."finishpad"() - unless $P10, rx224_fail - rx224_pos = $P10."pos"() + rx226_cur."!cursor_pos"(rx226_pos) + $P10 = rx226_cur."finishpad"() + unless $P10, rx226_fail + rx226_pos = $P10."pos"() .annotate 'line', 140 # rx literal "{" - add $I11, rx224_pos, 1 - gt $I11, rx224_eos, rx224_fail - sub $I11, rx224_pos, rx224_off - substr $S10, rx224_tgt, $I11, 1 - ne $S10, "{", rx224_fail - add rx224_pos, 1 + add $I11, rx226_pos, 1 + gt $I11, rx226_eos, rx226_fail + sub $I11, rx226_pos, rx226_off + substr $S10, rx226_tgt, $I11, 1 + ne $S10, "{", rx226_fail + add rx226_pos, 1 # rx subrule "statementlist" subtype=capture negate= - rx224_cur."!cursor_pos"(rx224_pos) - $P10 = rx224_cur."statementlist"() - unless $P10, rx224_fail - rx224_cur."!mark_push"(0, -1, 0, $P10) + rx226_cur."!cursor_pos"(rx226_pos) + $P10 = rx226_cur."statementlist"() + unless $P10, rx226_fail + rx226_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statementlist") - rx224_pos = $P10."pos"() - alt229_0: - set_addr $I10, alt229_1 - rx224_cur."!mark_push"(0, rx224_pos, $I10) + rx226_pos = $P10."pos"() + alt231_0: + set_addr $I10, alt231_1 + rx226_cur."!mark_push"(0, rx226_pos, $I10) # rx literal "}" - add $I11, rx224_pos, 1 - gt $I11, rx224_eos, rx224_fail - sub $I11, rx224_pos, rx224_off - substr $S10, rx224_tgt, $I11, 1 - ne $S10, "}", rx224_fail - add rx224_pos, 1 - goto alt229_end - alt229_1: + add $I11, rx226_pos, 1 + gt $I11, rx226_eos, rx226_fail + sub $I11, rx226_pos, rx226_off + substr $S10, rx226_tgt, $I11, 1 + ne $S10, "}", rx226_fail + add rx226_pos, 1 + goto alt231_end + alt231_1: # rx subrule "FAILGOAL" subtype=method negate= - rx224_cur."!cursor_pos"(rx224_pos) - $P10 = rx224_cur."FAILGOAL"("'}'") - unless $P10, rx224_fail - rx224_pos = $P10."pos"() - alt229_end: + rx226_cur."!cursor_pos"(rx226_pos) + $P10 = rx226_cur."FAILGOAL"("'}'") + unless $P10, rx226_fail + rx226_pos = $P10."pos"() + alt231_end: .annotate 'line', 141 # rx subrule "ENDSTMT" subtype=zerowidth negate= - rx224_cur."!cursor_pos"(rx224_pos) - $P10 = rx224_cur."ENDSTMT"() - unless $P10, rx224_fail + rx226_cur."!cursor_pos"(rx226_pos) + $P10 = rx226_cur."ENDSTMT"() + unless $P10, rx226_fail .annotate 'line', 138 # rx pass - rx224_cur."!cursor_pass"(rx224_pos, "blockoid") - rx224_cur."!cursor_debug"("PASS ", "blockoid", " at pos=", rx224_pos) - .return (rx224_cur) - rx224_fail: -.annotate 'line', 4 - (rx224_rep, rx224_pos, $I10, $P10) = rx224_cur."!mark_fail"(0) - lt rx224_pos, -1, rx224_done - eq rx224_pos, -1, rx224_fail + rx226_cur."!cursor_pass"(rx226_pos, "blockoid") + rx226_cur."!cursor_debug"("PASS ", "blockoid", " at pos=", rx226_pos) + .return (rx226_cur) + rx226_fail: +.annotate 'line', 4 + (rx226_rep, rx226_pos, $I10, $P10) = rx226_cur."!mark_fail"(0) + lt rx226_pos, -1, rx226_done + eq rx226_pos, -1, rx226_fail jump $I10 - rx224_done: - rx224_cur."!cursor_fail"() - rx224_cur."!cursor_debug"("FAIL ", "blockoid") - .return (rx224_cur) + rx226_done: + rx226_cur."!cursor_fail"() + rx226_cur."!cursor_debug"("FAIL ", "blockoid") + .return (rx226_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__blockoid" :subid("47_1276996322.81157") :method +.sub "!PREFIX__blockoid" :subid("47_1278500537.15927") :method .annotate 'line', 4 - $P226 = self."!PREFIX__!subrule"("finishpad", "") - new $P227, "ResizablePMCArray" - push $P227, $P226 - .return ($P227) + $P228 = self."!PREFIX__!subrule"("finishpad", "") + new $P229, "ResizablePMCArray" + push $P229, $P228 + .return ($P229) .end .namespace ["NQP";"Grammar"] -.sub "newpad" :subid("48_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "newpad" :subid("48_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx232_tgt - .local int rx232_pos - .local int rx232_off - .local int rx232_eos - .local int rx232_rep - .local pmc rx232_cur - (rx232_cur, rx232_pos, rx232_tgt) = self."!cursor_start"() - rx232_cur."!cursor_debug"("START ", "newpad") - .lex unicode:"$\x{a2}", rx232_cur + .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 ", "newpad") + .lex unicode:"$\x{a2}", rx234_cur .local pmc match .lex "$/", match - length rx232_eos, rx232_tgt - gt rx232_pos, rx232_eos, rx232_done - set rx232_off, 0 - lt rx232_pos, 2, rx232_start - sub rx232_off, rx232_pos, 1 - substr rx232_tgt, rx232_tgt, rx232_off - rx232_start: + length rx234_eos, rx234_tgt + gt rx234_pos, rx234_eos, rx234_done + 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, rxscan235_done - goto rxscan235_scan - rxscan235_loop: - ($P10) = rx232_cur."from"() + ne $I10, -1, rxscan237_done + goto rxscan237_scan + rxscan237_loop: + ($P10) = rx234_cur."from"() inc $P10 - set rx232_pos, $P10 - ge rx232_pos, rx232_eos, rxscan235_done - rxscan235_scan: - set_addr $I10, rxscan235_loop - rx232_cur."!mark_push"(0, rx232_pos, $I10) - rxscan235_done: + 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', 144 # rx pass - rx232_cur."!cursor_pass"(rx232_pos, "newpad") - rx232_cur."!cursor_debug"("PASS ", "newpad", " at pos=", rx232_pos) - .return (rx232_cur) - rx232_fail: -.annotate 'line', 4 - (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0) - lt rx232_pos, -1, rx232_done - eq rx232_pos, -1, rx232_fail + rx234_cur."!cursor_pass"(rx234_pos, "newpad") + rx234_cur."!cursor_debug"("PASS ", "newpad", " 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 - rx232_done: - rx232_cur."!cursor_fail"() - rx232_cur."!cursor_debug"("FAIL ", "newpad") - .return (rx232_cur) + rx234_done: + rx234_cur."!cursor_fail"() + rx234_cur."!cursor_debug"("FAIL ", "newpad") + .return (rx234_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__newpad" :subid("49_1276996322.81157") :method +.sub "!PREFIX__newpad" :subid("49_1278500537.15927") :method .annotate 'line', 4 - new $P234, "ResizablePMCArray" - push $P234, "" - .return ($P234) + new $P236, "ResizablePMCArray" + push $P236, "" + .return ($P236) .end .namespace ["NQP";"Grammar"] -.sub "outerctx" :subid("50_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "outerctx" :subid("50_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx237_tgt - .local int rx237_pos - .local int rx237_off - .local int rx237_eos - .local int rx237_rep - .local pmc rx237_cur - (rx237_cur, rx237_pos, rx237_tgt) = self."!cursor_start"() - rx237_cur."!cursor_debug"("START ", "outerctx") - .lex unicode:"$\x{a2}", rx237_cur + .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 ", "outerctx") + .lex unicode:"$\x{a2}", rx239_cur .local pmc match .lex "$/", match - length rx237_eos, rx237_tgt - gt rx237_pos, rx237_eos, rx237_done - set rx237_off, 0 - lt rx237_pos, 2, rx237_start - sub rx237_off, rx237_pos, 1 - substr rx237_tgt, rx237_tgt, rx237_off - rx237_start: + length rx239_eos, rx239_tgt + gt rx239_pos, rx239_eos, rx239_done + 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, rxscan240_done - goto rxscan240_scan - rxscan240_loop: - ($P10) = rx237_cur."from"() + ne $I10, -1, rxscan242_done + goto rxscan242_scan + rxscan242_loop: + ($P10) = rx239_cur."from"() inc $P10 - set rx237_pos, $P10 - ge rx237_pos, rx237_eos, rxscan240_done - rxscan240_scan: - set_addr $I10, rxscan240_loop - rx237_cur."!mark_push"(0, rx237_pos, $I10) - rxscan240_done: + 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', 145 # rx pass - rx237_cur."!cursor_pass"(rx237_pos, "outerctx") - rx237_cur."!cursor_debug"("PASS ", "outerctx", " at pos=", rx237_pos) - .return (rx237_cur) - rx237_fail: -.annotate 'line', 4 - (rx237_rep, rx237_pos, $I10, $P10) = rx237_cur."!mark_fail"(0) - lt rx237_pos, -1, rx237_done - eq rx237_pos, -1, rx237_fail + rx239_cur."!cursor_pass"(rx239_pos, "outerctx") + rx239_cur."!cursor_debug"("PASS ", "outerctx", " 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 jump $I10 - rx237_done: - rx237_cur."!cursor_fail"() - rx237_cur."!cursor_debug"("FAIL ", "outerctx") - .return (rx237_cur) + rx239_done: + rx239_cur."!cursor_fail"() + rx239_cur."!cursor_debug"("FAIL ", "outerctx") + .return (rx239_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__outerctx" :subid("51_1276996322.81157") :method +.sub "!PREFIX__outerctx" :subid("51_1278500537.15927") :method .annotate 'line', 4 - new $P239, "ResizablePMCArray" - push $P239, "" - .return ($P239) + new $P241, "ResizablePMCArray" + push $P241, "" + .return ($P241) .end .namespace ["NQP";"Grammar"] -.sub "finishpad" :subid("52_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "finishpad" :subid("52_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "finishpad") - .lex unicode:"$\x{a2}", rx242_cur + .local string rx244_tgt + .local int rx244_pos + .local int rx244_off + .local int rx244_eos + .local int rx244_rep + .local pmc rx244_cur + (rx244_cur, rx244_pos, rx244_tgt) = self."!cursor_start"() + rx244_cur."!cursor_debug"("START ", "finishpad") + .lex unicode:"$\x{a2}", rx244_cur .local pmc match .lex "$/", match - length rx242_eos, rx242_tgt - gt rx242_pos, rx242_eos, rx242_done - 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: + length rx244_eos, rx244_tgt + gt rx244_pos, rx244_eos, rx244_done + set rx244_off, 0 + lt rx244_pos, 2, rx244_start + sub rx244_off, rx244_pos, 1 + substr rx244_tgt, rx244_tgt, rx244_off + rx244_start: $I10 = self.'from'() - ne $I10, -1, rxscan245_done - goto rxscan245_scan - rxscan245_loop: - ($P10) = rx242_cur."from"() + ne $I10, -1, rxscan247_done + goto rxscan247_scan + rxscan247_loop: + ($P10) = rx244_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: + set rx244_pos, $P10 + ge rx244_pos, rx244_eos, rxscan247_done + rxscan247_scan: + set_addr $I10, rxscan247_loop + rx244_cur."!mark_push"(0, rx244_pos, $I10) + rxscan247_done: .annotate 'line', 146 # rx pass - rx242_cur."!cursor_pass"(rx242_pos, "finishpad") - rx242_cur."!cursor_debug"("PASS ", "finishpad", " 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 + rx244_cur."!cursor_pass"(rx244_pos, "finishpad") + rx244_cur."!cursor_debug"("PASS ", "finishpad", " at pos=", rx244_pos) + .return (rx244_cur) + rx244_fail: +.annotate 'line', 4 + (rx244_rep, rx244_pos, $I10, $P10) = rx244_cur."!mark_fail"(0) + lt rx244_pos, -1, rx244_done + eq rx244_pos, -1, rx244_fail jump $I10 - rx242_done: - rx242_cur."!cursor_fail"() - rx242_cur."!cursor_debug"("FAIL ", "finishpad") - .return (rx242_cur) + rx244_done: + rx244_cur."!cursor_fail"() + rx244_cur."!cursor_debug"("FAIL ", "finishpad") + .return (rx244_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__finishpad" :subid("53_1276996322.81157") :method +.sub "!PREFIX__finishpad" :subid("53_1278500537.15927") :method .annotate 'line', 4 - new $P244, "ResizablePMCArray" - push $P244, "" - .return ($P244) + new $P246, "ResizablePMCArray" + push $P246, "" + .return ($P246) .end .namespace ["NQP";"Grammar"] -.sub "terminator" :subid("54_1276996322.81157") :method +.sub "terminator" :subid("54_1278500537.15927") :method .annotate 'line', 148 - $P247 = self."!protoregex"("terminator") - .return ($P247) + $P249 = self."!protoregex"("terminator") + .return ($P249) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__terminator" :subid("55_1276996322.81157") :method +.sub "!PREFIX__terminator" :subid("55_1278500537.15927") :method .annotate 'line', 148 - $P249 = self."!PREFIX__!protoregex"("terminator") - .return ($P249) + $P251 = self."!PREFIX__!protoregex"("terminator") + .return ($P251) .end .namespace ["NQP";"Grammar"] -.sub "terminator:sym<;>" :subid("56_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "terminator:sym<;>" :subid("56_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx251_tgt - .local int rx251_pos - .local int rx251_off - .local int rx251_eos - .local int rx251_rep - .local pmc rx251_cur - (rx251_cur, rx251_pos, rx251_tgt) = self."!cursor_start"() - rx251_cur."!cursor_debug"("START ", "terminator:sym<;>") - .lex unicode:"$\x{a2}", rx251_cur + .local string rx253_tgt + .local int rx253_pos + .local int rx253_off + .local int rx253_eos + .local int rx253_rep + .local pmc rx253_cur + (rx253_cur, rx253_pos, rx253_tgt) = self."!cursor_start"() + rx253_cur."!cursor_debug"("START ", "terminator:sym<;>") + .lex unicode:"$\x{a2}", rx253_cur .local pmc match .lex "$/", match - length rx251_eos, rx251_tgt - gt rx251_pos, rx251_eos, rx251_done - set rx251_off, 0 - lt rx251_pos, 2, rx251_start - sub rx251_off, rx251_pos, 1 - substr rx251_tgt, rx251_tgt, rx251_off - rx251_start: + length rx253_eos, rx253_tgt + gt rx253_pos, rx253_eos, rx253_done + set rx253_off, 0 + lt rx253_pos, 2, rx253_start + sub rx253_off, rx253_pos, 1 + substr rx253_tgt, rx253_tgt, rx253_off + rx253_start: $I10 = self.'from'() - ne $I10, -1, rxscan254_done - goto rxscan254_scan - rxscan254_loop: - ($P10) = rx251_cur."from"() + ne $I10, -1, rxscan256_done + goto rxscan256_scan + rxscan256_loop: + ($P10) = rx253_cur."from"() inc $P10 - set rx251_pos, $P10 - ge rx251_pos, rx251_eos, rxscan254_done - rxscan254_scan: - set_addr $I10, rxscan254_loop - rx251_cur."!mark_push"(0, rx251_pos, $I10) - rxscan254_done: + set rx253_pos, $P10 + ge rx253_pos, rx253_eos, rxscan256_done + rxscan256_scan: + set_addr $I10, rxscan256_loop + rx253_cur."!mark_push"(0, rx253_pos, $I10) + rxscan256_done: .annotate 'line', 150 # rx enumcharlist negate=0 zerowidth - ge rx251_pos, rx251_eos, rx251_fail - sub $I10, rx251_pos, rx251_off - substr $S10, rx251_tgt, $I10, 1 + ge rx253_pos, rx253_eos, rx253_fail + sub $I10, rx253_pos, rx253_off + substr $S10, rx253_tgt, $I10, 1 index $I11, ";", $S10 - lt $I11, 0, rx251_fail + lt $I11, 0, rx253_fail # rx pass - rx251_cur."!cursor_pass"(rx251_pos, "terminator:sym<;>") - rx251_cur."!cursor_debug"("PASS ", "terminator:sym<;>", " at pos=", rx251_pos) - .return (rx251_cur) - rx251_fail: -.annotate 'line', 4 - (rx251_rep, rx251_pos, $I10, $P10) = rx251_cur."!mark_fail"(0) - lt rx251_pos, -1, rx251_done - eq rx251_pos, -1, rx251_fail + rx253_cur."!cursor_pass"(rx253_pos, "terminator:sym<;>") + rx253_cur."!cursor_debug"("PASS ", "terminator:sym<;>", " at pos=", rx253_pos) + .return (rx253_cur) + rx253_fail: +.annotate 'line', 4 + (rx253_rep, rx253_pos, $I10, $P10) = rx253_cur."!mark_fail"(0) + lt rx253_pos, -1, rx253_done + eq rx253_pos, -1, rx253_fail jump $I10 - rx251_done: - rx251_cur."!cursor_fail"() - rx251_cur."!cursor_debug"("FAIL ", "terminator:sym<;>") - .return (rx251_cur) + rx253_done: + rx253_cur."!cursor_fail"() + rx253_cur."!cursor_debug"("FAIL ", "terminator:sym<;>") + .return (rx253_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__terminator:sym<;>" :subid("57_1276996322.81157") :method +.sub "!PREFIX__terminator:sym<;>" :subid("57_1278500537.15927") :method .annotate 'line', 4 - new $P253, "ResizablePMCArray" - push $P253, ";" - .return ($P253) + new $P255, "ResizablePMCArray" + push $P255, ";" + .return ($P255) .end .namespace ["NQP";"Grammar"] -.sub "terminator:sym<}>" :subid("58_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "terminator:sym<}>" :subid("58_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "terminator:sym<}>") - .lex unicode:"$\x{a2}", rx256_cur + .local string rx258_tgt + .local int rx258_pos + .local int rx258_off + .local int rx258_eos + .local int rx258_rep + .local pmc rx258_cur + (rx258_cur, rx258_pos, rx258_tgt) = self."!cursor_start"() + rx258_cur."!cursor_debug"("START ", "terminator:sym<}>") + .lex unicode:"$\x{a2}", rx258_cur .local pmc match .lex "$/", match - length rx256_eos, rx256_tgt - gt rx256_pos, rx256_eos, rx256_done - 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: + length rx258_eos, rx258_tgt + gt rx258_pos, rx258_eos, rx258_done + set rx258_off, 0 + lt rx258_pos, 2, rx258_start + sub rx258_off, rx258_pos, 1 + substr rx258_tgt, rx258_tgt, rx258_off + rx258_start: $I10 = self.'from'() - ne $I10, -1, rxscan259_done - goto rxscan259_scan - rxscan259_loop: - ($P10) = rx256_cur."from"() + ne $I10, -1, rxscan261_done + goto rxscan261_scan + rxscan261_loop: + ($P10) = rx258_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: + set rx258_pos, $P10 + ge rx258_pos, rx258_eos, rxscan261_done + rxscan261_scan: + set_addr $I10, rxscan261_loop + rx258_cur."!mark_push"(0, rx258_pos, $I10) + rxscan261_done: .annotate 'line', 151 # rx enumcharlist negate=0 zerowidth - ge rx256_pos, rx256_eos, rx256_fail - sub $I10, rx256_pos, rx256_off - substr $S10, rx256_tgt, $I10, 1 + ge rx258_pos, rx258_eos, rx258_fail + sub $I10, rx258_pos, rx258_off + substr $S10, rx258_tgt, $I10, 1 index $I11, "}", $S10 - lt $I11, 0, rx256_fail + lt $I11, 0, rx258_fail # rx pass - rx256_cur."!cursor_pass"(rx256_pos, "terminator:sym<}>") - rx256_cur."!cursor_debug"("PASS ", "terminator:sym<}>", " 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 + rx258_cur."!cursor_pass"(rx258_pos, "terminator:sym<}>") + rx258_cur."!cursor_debug"("PASS ", "terminator:sym<}>", " at pos=", rx258_pos) + .return (rx258_cur) + rx258_fail: +.annotate 'line', 4 + (rx258_rep, rx258_pos, $I10, $P10) = rx258_cur."!mark_fail"(0) + lt rx258_pos, -1, rx258_done + eq rx258_pos, -1, rx258_fail jump $I10 - rx256_done: - rx256_cur."!cursor_fail"() - rx256_cur."!cursor_debug"("FAIL ", "terminator:sym<}>") - .return (rx256_cur) + rx258_done: + rx258_cur."!cursor_fail"() + rx258_cur."!cursor_debug"("FAIL ", "terminator:sym<}>") + .return (rx258_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__terminator:sym<}>" :subid("59_1276996322.81157") :method +.sub "!PREFIX__terminator:sym<}>" :subid("59_1278500537.15927") :method .annotate 'line', 4 - new $P258, "ResizablePMCArray" - push $P258, "}" - .return ($P258) + new $P260, "ResizablePMCArray" + push $P260, "}" + .return ($P260) .end .namespace ["NQP";"Grammar"] -.sub "statement_control" :subid("60_1276996322.81157") :method +.sub "statement_control" :subid("60_1278500537.15927") :method .annotate 'line', 155 - $P261 = self."!protoregex"("statement_control") - .return ($P261) + $P263 = self."!protoregex"("statement_control") + .return ($P263) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control" :subid("61_1276996322.81157") :method +.sub "!PREFIX__statement_control" :subid("61_1278500537.15927") :method .annotate 'line', 155 - $P263 = self."!PREFIX__!protoregex"("statement_control") - .return ($P263) + $P265 = self."!PREFIX__!protoregex"("statement_control") + .return ($P265) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("62_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("62_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx265_tgt - .local int rx265_pos - .local int rx265_off - .local int rx265_eos - .local int rx265_rep - .local pmc rx265_cur - (rx265_cur, rx265_pos, rx265_tgt) = self."!cursor_start"() - rx265_cur."!cursor_debug"("START ", "statement_control:sym") - rx265_cur."!cursor_caparray"("else", "xblock") - .lex unicode:"$\x{a2}", rx265_cur + .local string rx267_tgt + .local int rx267_pos + .local int rx267_off + .local int rx267_eos + .local int rx267_rep + .local pmc rx267_cur + (rx267_cur, rx267_pos, rx267_tgt) = self."!cursor_start"() + rx267_cur."!cursor_debug"("START ", "statement_control:sym") + rx267_cur."!cursor_caparray"("else", "xblock") + .lex unicode:"$\x{a2}", rx267_cur .local pmc match .lex "$/", match - length rx265_eos, rx265_tgt - gt rx265_pos, rx265_eos, rx265_done - set rx265_off, 0 - lt rx265_pos, 2, rx265_start - sub rx265_off, rx265_pos, 1 - substr rx265_tgt, rx265_tgt, rx265_off - rx265_start: + length rx267_eos, rx267_tgt + gt rx267_pos, rx267_eos, rx267_done + set rx267_off, 0 + lt rx267_pos, 2, rx267_start + sub rx267_off, rx267_pos, 1 + substr rx267_tgt, rx267_tgt, rx267_off + rx267_start: $I10 = self.'from'() - ne $I10, -1, rxscan268_done - goto rxscan268_scan - rxscan268_loop: - ($P10) = rx265_cur."from"() + ne $I10, -1, rxscan270_done + goto rxscan270_scan + rxscan270_loop: + ($P10) = rx267_cur."from"() inc $P10 - set rx265_pos, $P10 - ge rx265_pos, rx265_eos, rxscan268_done - rxscan268_scan: - set_addr $I10, rxscan268_loop - rx265_cur."!mark_push"(0, rx265_pos, $I10) - rxscan268_done: + set rx267_pos, $P10 + ge rx267_pos, rx267_eos, rxscan270_done + rxscan270_scan: + set_addr $I10, rxscan270_loop + rx267_cur."!mark_push"(0, rx267_pos, $I10) + rxscan270_done: .annotate 'line', 158 # rx subcapture "sym" - set_addr $I10, rxcap_269_fail - rx265_cur."!mark_push"(0, rx265_pos, $I10) + set_addr $I10, rxcap_271_fail + rx267_cur."!mark_push"(0, rx267_pos, $I10) # rx literal "if" - add $I11, rx265_pos, 2 - gt $I11, rx265_eos, rx265_fail - sub $I11, rx265_pos, rx265_off - substr $S10, rx265_tgt, $I11, 2 - ne $S10, "if", rx265_fail - add rx265_pos, 2 - set_addr $I10, rxcap_269_fail - ($I12, $I11) = rx265_cur."!mark_peek"($I10) - rx265_cur."!cursor_pos"($I11) - ($P10) = rx265_cur."!cursor_start"() - $P10."!cursor_pass"(rx265_pos, "") - rx265_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx267_pos, 2 + gt $I11, rx267_eos, rx267_fail + sub $I11, rx267_pos, rx267_off + substr $S10, rx267_tgt, $I11, 2 + ne $S10, "if", rx267_fail + add rx267_pos, 2 + set_addr $I10, rxcap_271_fail + ($I12, $I11) = rx267_cur."!mark_peek"($I10) + rx267_cur."!cursor_pos"($I11) + ($P10) = rx267_cur."!cursor_start"() + $P10."!cursor_pass"(rx267_pos, "") + rx267_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_269_done - rxcap_269_fail: - goto rx265_fail - rxcap_269_done: + goto rxcap_271_done + rxcap_271_fail: + goto rx267_fail + rxcap_271_done: # rx charclass s - ge rx265_pos, rx265_eos, rx265_fail - sub $I10, rx265_pos, rx265_off - is_cclass $I11, 32, rx265_tgt, $I10 - unless $I11, rx265_fail - inc rx265_pos + ge rx267_pos, rx267_eos, rx267_fail + sub $I10, rx267_pos, rx267_off + is_cclass $I11, 32, rx267_tgt, $I10 + unless $I11, rx267_fail + inc rx267_pos # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() .annotate 'line', 159 # rx subrule "xblock" subtype=capture negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."xblock"() - unless $P10, rx265_fail - rx265_cur."!mark_push"(0, -1, 0, $P10) + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."xblock"() + unless $P10, rx267_fail + rx267_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx265_pos = $P10."pos"() + rx267_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() .annotate 'line', 160 - # rx rxquantr272 ** 0..* - set_addr $I276, rxquantr272_done - rx265_cur."!mark_push"(0, rx265_pos, $I276) - rxquantr272_loop: + # rx rxquantr274 ** 0..* + set_addr $I278, rxquantr274_done + rx267_cur."!mark_push"(0, rx267_pos, $I278) + rxquantr274_loop: # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() # rx literal "elsif" - add $I11, rx265_pos, 5 - gt $I11, rx265_eos, rx265_fail - sub $I11, rx265_pos, rx265_off - substr $S10, rx265_tgt, $I11, 5 - ne $S10, "elsif", rx265_fail - add rx265_pos, 5 + add $I11, rx267_pos, 5 + gt $I11, rx267_eos, rx267_fail + sub $I11, rx267_pos, rx267_off + substr $S10, rx267_tgt, $I11, 5 + ne $S10, "elsif", rx267_fail + add rx267_pos, 5 # rx charclass s - ge rx265_pos, rx265_eos, rx265_fail - sub $I10, rx265_pos, rx265_off - is_cclass $I11, 32, rx265_tgt, $I10 - unless $I11, rx265_fail - inc rx265_pos + ge rx267_pos, rx267_eos, rx267_fail + sub $I10, rx267_pos, rx267_off + is_cclass $I11, 32, rx267_tgt, $I10 + unless $I11, rx267_fail + inc rx267_pos # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() # rx subrule "xblock" subtype=capture negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."xblock"() - unless $P10, rx265_fail - rx265_cur."!mark_push"(0, -1, 0, $P10) + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."xblock"() + unless $P10, rx267_fail + rx267_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx265_pos = $P10."pos"() + rx267_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() - (rx265_rep) = rx265_cur."!mark_commit"($I276) - rx265_cur."!mark_push"(rx265_rep, rx265_pos, $I276) - goto rxquantr272_loop - rxquantr272_done: + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() + (rx267_rep) = rx267_cur."!mark_commit"($I278) + rx267_cur."!mark_push"(rx267_rep, rx267_pos, $I278) + goto rxquantr274_loop + rxquantr274_done: # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() .annotate 'line', 161 - # rx rxquantr278 ** 0..1 - set_addr $I282, rxquantr278_done - rx265_cur."!mark_push"(0, rx265_pos, $I282) - rxquantr278_loop: + # rx rxquantr280 ** 0..1 + set_addr $I284, rxquantr280_done + rx267_cur."!mark_push"(0, rx267_pos, $I284) + rxquantr280_loop: # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() # rx literal "else" - add $I11, rx265_pos, 4 - gt $I11, rx265_eos, rx265_fail - sub $I11, rx265_pos, rx265_off - substr $S10, rx265_tgt, $I11, 4 - ne $S10, "else", rx265_fail - add rx265_pos, 4 + add $I11, rx267_pos, 4 + gt $I11, rx267_eos, rx267_fail + sub $I11, rx267_pos, rx267_off + substr $S10, rx267_tgt, $I11, 4 + ne $S10, "else", rx267_fail + add rx267_pos, 4 # rx charclass s - ge rx265_pos, rx265_eos, rx265_fail - sub $I10, rx265_pos, rx265_off - is_cclass $I11, 32, rx265_tgt, $I10 - unless $I11, rx265_fail - inc rx265_pos + ge rx267_pos, rx267_eos, rx267_fail + sub $I10, rx267_pos, rx267_off + is_cclass $I11, 32, rx267_tgt, $I10 + unless $I11, rx267_fail + inc rx267_pos # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() # rx subrule "pblock" subtype=capture negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."pblock"() - unless $P10, rx265_fail - rx265_cur."!mark_push"(0, -1, 0, $P10) + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."pblock"() + unless $P10, rx267_fail + rx267_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("else") - rx265_pos = $P10."pos"() + rx267_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() - (rx265_rep) = rx265_cur."!mark_commit"($I282) - rxquantr278_done: + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() + (rx267_rep) = rx267_cur."!mark_commit"($I284) + rxquantr280_done: # rx subrule "ws" subtype=method negate= - rx265_cur."!cursor_pos"(rx265_pos) - $P10 = rx265_cur."ws"() - unless $P10, rx265_fail - rx265_pos = $P10."pos"() + rx267_cur."!cursor_pos"(rx267_pos) + $P10 = rx267_cur."ws"() + unless $P10, rx267_fail + rx267_pos = $P10."pos"() .annotate 'line', 157 # rx pass - rx265_cur."!cursor_pass"(rx265_pos, "statement_control:sym") - rx265_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx265_pos) - .return (rx265_cur) - rx265_fail: -.annotate 'line', 4 - (rx265_rep, rx265_pos, $I10, $P10) = rx265_cur."!mark_fail"(0) - lt rx265_pos, -1, rx265_done - eq rx265_pos, -1, rx265_fail + rx267_cur."!cursor_pass"(rx267_pos, "statement_control:sym") + rx267_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx267_pos) + .return (rx267_cur) + rx267_fail: +.annotate 'line', 4 + (rx267_rep, rx267_pos, $I10, $P10) = rx267_cur."!mark_fail"(0) + lt rx267_pos, -1, rx267_done + eq rx267_pos, -1, rx267_fail jump $I10 - rx265_done: - rx265_cur."!cursor_fail"() - rx265_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx265_cur) + rx267_done: + rx267_cur."!cursor_fail"() + rx267_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx267_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("63_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("63_1278500537.15927") :method .annotate 'line', 4 - new $P267, "ResizablePMCArray" - push $P267, "if" - .return ($P267) + new $P269, "ResizablePMCArray" + push $P269, "if" + .return ($P269) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("64_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("64_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P295 = "66_1276996322.81157" - capture_lex $P295 - .local string rx285_tgt - .local int rx285_pos - .local int rx285_off - .local int rx285_eos - .local int rx285_rep - .local pmc rx285_cur - (rx285_cur, rx285_pos, rx285_tgt) = self."!cursor_start"() - rx285_cur."!cursor_debug"("START ", "statement_control:sym") - .lex unicode:"$\x{a2}", rx285_cur + .const 'Sub' $P297 = "66_1278500537.15927" + capture_lex $P297 + .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 ", "statement_control:sym") + .lex unicode:"$\x{a2}", rx287_cur .local pmc match .lex "$/", match - length rx285_eos, rx285_tgt - gt rx285_pos, rx285_eos, rx285_done - set rx285_off, 0 - lt rx285_pos, 2, rx285_start - sub rx285_off, rx285_pos, 1 - substr rx285_tgt, rx285_tgt, rx285_off - rx285_start: + length rx287_eos, rx287_tgt + gt rx287_pos, rx287_eos, rx287_done + 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) = rx285_cur."from"() + ne $I10, -1, rxscan290_done + goto rxscan290_scan + rxscan290_loop: + ($P10) = rx287_cur."from"() inc $P10 - set rx285_pos, $P10 - ge rx285_pos, rx285_eos, rxscan288_done - rxscan288_scan: - set_addr $I10, rxscan288_loop - rx285_cur."!mark_push"(0, rx285_pos, $I10) - rxscan288_done: + set rx287_pos, $P10 + ge rx287_pos, rx287_eos, rxscan290_done + rxscan290_scan: + set_addr $I10, rxscan290_loop + rx287_cur."!mark_push"(0, rx287_pos, $I10) + rxscan290_done: .annotate 'line', 165 # rx subcapture "sym" - set_addr $I10, rxcap_289_fail - rx285_cur."!mark_push"(0, rx285_pos, $I10) + set_addr $I10, rxcap_291_fail + rx287_cur."!mark_push"(0, rx287_pos, $I10) # rx literal "unless" - add $I11, rx285_pos, 6 - gt $I11, rx285_eos, rx285_fail - sub $I11, rx285_pos, rx285_off - substr $S10, rx285_tgt, $I11, 6 - ne $S10, "unless", rx285_fail - add rx285_pos, 6 - set_addr $I10, rxcap_289_fail - ($I12, $I11) = rx285_cur."!mark_peek"($I10) - rx285_cur."!cursor_pos"($I11) - ($P10) = rx285_cur."!cursor_start"() - $P10."!cursor_pass"(rx285_pos, "") - rx285_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx287_pos, 6 + gt $I11, rx287_eos, rx287_fail + sub $I11, rx287_pos, rx287_off + substr $S10, rx287_tgt, $I11, 6 + ne $S10, "unless", rx287_fail + add rx287_pos, 6 + set_addr $I10, rxcap_291_fail + ($I12, $I11) = rx287_cur."!mark_peek"($I10) + rx287_cur."!cursor_pos"($I11) + ($P10) = rx287_cur."!cursor_start"() + $P10."!cursor_pass"(rx287_pos, "") + rx287_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_289_done - rxcap_289_fail: - goto rx285_fail - rxcap_289_done: + goto rxcap_291_done + rxcap_291_fail: + goto rx287_fail + rxcap_291_done: # rx charclass s - ge rx285_pos, rx285_eos, rx285_fail - sub $I10, rx285_pos, rx285_off - is_cclass $I11, 32, rx285_tgt, $I10 - unless $I11, rx285_fail - inc rx285_pos + ge rx287_pos, rx287_eos, rx287_fail + sub $I10, rx287_pos, rx287_off + is_cclass $I11, 32, rx287_tgt, $I10 + unless $I11, rx287_fail + inc rx287_pos # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() .annotate 'line', 166 # rx subrule "xblock" subtype=capture negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."xblock"() - unless $P10, rx285_fail - rx285_cur."!mark_push"(0, -1, 0, $P10) + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."xblock"() + unless $P10, rx287_fail + rx287_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx285_pos = $P10."pos"() + rx287_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() - alt292_0: + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() + alt294_0: .annotate 'line', 167 - set_addr $I10, alt292_1 - rx285_cur."!mark_push"(0, rx285_pos, $I10) + set_addr $I10, alt294_1 + rx287_cur."!mark_push"(0, rx287_pos, $I10) # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() # rx subrule "before" subtype=zerowidth negate=1 - rx285_cur."!cursor_pos"(rx285_pos) - .const 'Sub' $P295 = "66_1276996322.81157" - capture_lex $P295 - $P10 = rx285_cur."before"($P295) - if $P10, rx285_fail + rx287_cur."!cursor_pos"(rx287_pos) + .const 'Sub' $P297 = "66_1278500537.15927" + capture_lex $P297 + $P10 = rx287_cur."before"($P297) + if $P10, rx287_fail # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() - goto alt292_end - alt292_1: + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() + goto alt294_end + alt294_1: # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() # rx subrule "panic" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."panic"("unless does not take \"else\", please rewrite using \"if\"") - unless $P10, rx285_fail - rx285_pos = $P10."pos"() + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."panic"("unless does not take \"else\", please rewrite using \"if\"") + unless $P10, rx287_fail + rx287_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() - alt292_end: + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() + alt294_end: # rx subrule "ws" subtype=method negate= - rx285_cur."!cursor_pos"(rx285_pos) - $P10 = rx285_cur."ws"() - unless $P10, rx285_fail - rx285_pos = $P10."pos"() + rx287_cur."!cursor_pos"(rx287_pos) + $P10 = rx287_cur."ws"() + unless $P10, rx287_fail + rx287_pos = $P10."pos"() .annotate 'line', 164 # rx pass - rx285_cur."!cursor_pass"(rx285_pos, "statement_control:sym") - rx285_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx285_pos) - .return (rx285_cur) - rx285_fail: -.annotate 'line', 4 - (rx285_rep, rx285_pos, $I10, $P10) = rx285_cur."!mark_fail"(0) - lt rx285_pos, -1, rx285_done - eq rx285_pos, -1, rx285_fail + rx287_cur."!cursor_pass"(rx287_pos, "statement_control:sym") + rx287_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx287_pos) + .return (rx287_cur) + rx287_fail: +.annotate 'line', 4 + (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 - rx285_done: - rx285_cur."!cursor_fail"() - rx285_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx285_cur) + rx287_done: + rx287_cur."!cursor_fail"() + rx287_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx287_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("65_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("65_1278500537.15927") :method .annotate 'line', 4 - new $P287, "ResizablePMCArray" - push $P287, "unless" - .return ($P287) + new $P289, "ResizablePMCArray" + push $P289, "unless" + .return ($P289) .end .namespace ["NQP";"Grammar"] -.sub "_block294" :anon :subid("66_1276996322.81157") :method :outer("64_1276996322.81157") +.sub "_block296" :anon :subid("66_1278500537.15927") :method :outer("64_1278500537.15927") .annotate 'line', 167 - .local string rx296_tgt - .local int rx296_pos - .local int rx296_off - .local int rx296_eos - .local int rx296_rep - .local pmc rx296_cur - (rx296_cur, rx296_pos, rx296_tgt) = self."!cursor_start"() - rx296_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx296_cur + .local string rx298_tgt + .local int rx298_pos + .local int rx298_off + .local int rx298_eos + .local int rx298_rep + .local pmc rx298_cur + (rx298_cur, rx298_pos, rx298_tgt) = self."!cursor_start"() + rx298_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx298_cur .local pmc match .lex "$/", match - length rx296_eos, rx296_tgt - gt rx296_pos, rx296_eos, rx296_done - set rx296_off, 0 - lt rx296_pos, 2, rx296_start - sub rx296_off, rx296_pos, 1 - substr rx296_tgt, rx296_tgt, rx296_off - rx296_start: + length rx298_eos, rx298_tgt + gt rx298_pos, rx298_eos, rx298_done + set rx298_off, 0 + lt rx298_pos, 2, rx298_start + sub rx298_off, rx298_pos, 1 + substr rx298_tgt, rx298_tgt, rx298_off + rx298_start: $I10 = self.'from'() - ne $I10, -1, rxscan297_done - goto rxscan297_scan - rxscan297_loop: - ($P10) = rx296_cur."from"() + ne $I10, -1, rxscan299_done + goto rxscan299_scan + rxscan299_loop: + ($P10) = rx298_cur."from"() inc $P10 - set rx296_pos, $P10 - ge rx296_pos, rx296_eos, rxscan297_done - rxscan297_scan: - set_addr $I10, rxscan297_loop - rx296_cur."!mark_push"(0, rx296_pos, $I10) - rxscan297_done: + set rx298_pos, $P10 + ge rx298_pos, rx298_eos, rxscan299_done + rxscan299_scan: + set_addr $I10, rxscan299_loop + rx298_cur."!mark_push"(0, rx298_pos, $I10) + rxscan299_done: # rx literal "else" - add $I11, rx296_pos, 4 - gt $I11, rx296_eos, rx296_fail - sub $I11, rx296_pos, rx296_off - substr $S10, rx296_tgt, $I11, 4 - ne $S10, "else", rx296_fail - add rx296_pos, 4 + add $I11, rx298_pos, 4 + gt $I11, rx298_eos, rx298_fail + sub $I11, rx298_pos, rx298_off + substr $S10, rx298_tgt, $I11, 4 + ne $S10, "else", rx298_fail + add rx298_pos, 4 # rx pass - rx296_cur."!cursor_pass"(rx296_pos, "") - rx296_cur."!cursor_debug"("PASS ", "", " at pos=", rx296_pos) - .return (rx296_cur) - rx296_fail: - (rx296_rep, rx296_pos, $I10, $P10) = rx296_cur."!mark_fail"(0) - lt rx296_pos, -1, rx296_done - eq rx296_pos, -1, rx296_fail + rx298_cur."!cursor_pass"(rx298_pos, "") + rx298_cur."!cursor_debug"("PASS ", "", " at pos=", rx298_pos) + .return (rx298_cur) + rx298_fail: + (rx298_rep, rx298_pos, $I10, $P10) = rx298_cur."!mark_fail"(0) + lt rx298_pos, -1, rx298_done + eq rx298_pos, -1, rx298_fail jump $I10 - rx296_done: - rx296_cur."!cursor_fail"() - rx296_cur."!cursor_debug"("FAIL ", "") - .return (rx296_cur) + rx298_done: + rx298_cur."!cursor_fail"() + rx298_cur."!cursor_debug"("FAIL ", "") + .return (rx298_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("67_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("67_1278500537.15927") :method :outer("11_1278500537.15927") .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") - .lex unicode:"$\x{a2}", rx303_cur + .local string rx305_tgt + .local int rx305_pos + .local int rx305_off + .local int rx305_eos + .local int rx305_rep + .local pmc rx305_cur + (rx305_cur, rx305_pos, rx305_tgt) = self."!cursor_start"() + rx305_cur."!cursor_debug"("START ", "statement_control:sym") + .lex unicode:"$\x{a2}", rx305_cur .local pmc match .lex "$/", match - length rx303_eos, rx303_tgt - gt rx303_pos, rx303_eos, rx303_done - 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: + length rx305_eos, rx305_tgt + gt rx305_pos, rx305_eos, rx305_done + set rx305_off, 0 + lt rx305_pos, 2, rx305_start + sub rx305_off, rx305_pos, 1 + substr rx305_tgt, rx305_tgt, rx305_off + rx305_start: $I10 = self.'from'() - ne $I10, -1, rxscan306_done - goto rxscan306_scan - rxscan306_loop: - ($P10) = rx303_cur."from"() + ne $I10, -1, rxscan308_done + goto rxscan308_scan + rxscan308_loop: + ($P10) = rx305_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: + set rx305_pos, $P10 + ge rx305_pos, rx305_eos, rxscan308_done + rxscan308_scan: + set_addr $I10, rxscan308_loop + rx305_cur."!mark_push"(0, rx305_pos, $I10) + rxscan308_done: .annotate 'line', 171 # rx subcapture "sym" - set_addr $I10, rxcap_308_fail - rx303_cur."!mark_push"(0, rx303_pos, $I10) - alt307_0: - set_addr $I10, alt307_1 - rx303_cur."!mark_push"(0, rx303_pos, $I10) + set_addr $I10, rxcap_310_fail + rx305_cur."!mark_push"(0, rx305_pos, $I10) + alt309_0: + set_addr $I10, alt309_1 + rx305_cur."!mark_push"(0, rx305_pos, $I10) # rx literal "while" - 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 alt307_end - alt307_1: + add $I11, rx305_pos, 5 + gt $I11, rx305_eos, rx305_fail + sub $I11, rx305_pos, rx305_off + substr $S10, rx305_tgt, $I11, 5 + ne $S10, "while", rx305_fail + add rx305_pos, 5 + goto alt309_end + alt309_1: # rx literal "until" - 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 - alt307_end: - set_addr $I10, rxcap_308_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) + add $I11, rx305_pos, 5 + gt $I11, rx305_eos, rx305_fail + sub $I11, rx305_pos, rx305_off + substr $S10, rx305_tgt, $I11, 5 + ne $S10, "until", rx305_fail + add rx305_pos, 5 + alt309_end: + set_addr $I10, rxcap_310_fail + ($I12, $I11) = rx305_cur."!mark_peek"($I10) + rx305_cur."!cursor_pos"($I11) + ($P10) = rx305_cur."!cursor_start"() + $P10."!cursor_pass"(rx305_pos, "") + rx305_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_308_done - rxcap_308_fail: - goto rx303_fail - rxcap_308_done: + goto rxcap_310_done + rxcap_310_fail: + goto rx305_fail + rxcap_310_done: # rx charclass s - 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 + ge rx305_pos, rx305_eos, rx305_fail + sub $I10, rx305_pos, rx305_off + is_cclass $I11, 32, rx305_tgt, $I10 + unless $I11, rx305_fail + inc rx305_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"() + rx305_cur."!cursor_pos"(rx305_pos) + $P10 = rx305_cur."ws"() + unless $P10, rx305_fail + rx305_pos = $P10."pos"() .annotate 'line', 172 # rx subrule "xblock" subtype=capture negate= - rx303_cur."!cursor_pos"(rx303_pos) - $P10 = rx303_cur."xblock"() - unless $P10, rx303_fail - rx303_cur."!mark_push"(0, -1, 0, $P10) + rx305_cur."!cursor_pos"(rx305_pos) + $P10 = rx305_cur."xblock"() + unless $P10, rx305_fail + rx305_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx303_pos = $P10."pos"() + rx305_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"() + rx305_cur."!cursor_pos"(rx305_pos) + $P10 = rx305_cur."ws"() + unless $P10, rx305_fail + rx305_pos = $P10."pos"() .annotate 'line', 170 # rx pass - rx303_cur."!cursor_pass"(rx303_pos, "statement_control:sym") - rx303_cur."!cursor_debug"("PASS ", "statement_control:sym", " 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 + rx305_cur."!cursor_pass"(rx305_pos, "statement_control:sym") + rx305_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx305_pos) + .return (rx305_cur) + rx305_fail: +.annotate 'line', 4 + (rx305_rep, rx305_pos, $I10, $P10) = rx305_cur."!mark_fail"(0) + lt rx305_pos, -1, rx305_done + eq rx305_pos, -1, rx305_fail jump $I10 - rx303_done: - rx303_cur."!cursor_fail"() - rx303_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx303_cur) + rx305_done: + rx305_cur."!cursor_fail"() + rx305_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx305_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("68_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("68_1278500537.15927") :method .annotate 'line', 4 - new $P305, "ResizablePMCArray" - push $P305, "until" - push $P305, "while" - .return ($P305) + new $P307, "ResizablePMCArray" + push $P307, "until" + push $P307, "while" + .return ($P307) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("69_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("69_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx312_tgt - .local int rx312_pos - .local int rx312_off - .local int rx312_eos - .local int rx312_rep - .local pmc rx312_cur - (rx312_cur, rx312_pos, rx312_tgt) = self."!cursor_start"() - rx312_cur."!cursor_debug"("START ", "statement_control:sym") - .lex unicode:"$\x{a2}", rx312_cur + .local string rx314_tgt + .local int rx314_pos + .local int rx314_off + .local int rx314_eos + .local int rx314_rep + .local pmc rx314_cur + (rx314_cur, rx314_pos, rx314_tgt) = self."!cursor_start"() + rx314_cur."!cursor_debug"("START ", "statement_control:sym") + .lex unicode:"$\x{a2}", rx314_cur .local pmc match .lex "$/", match - length rx312_eos, rx312_tgt - gt rx312_pos, rx312_eos, rx312_done - set rx312_off, 0 - lt rx312_pos, 2, rx312_start - sub rx312_off, rx312_pos, 1 - substr rx312_tgt, rx312_tgt, rx312_off - rx312_start: + length rx314_eos, rx314_tgt + gt rx314_pos, rx314_eos, rx314_done + set rx314_off, 0 + lt rx314_pos, 2, rx314_start + sub rx314_off, rx314_pos, 1 + substr rx314_tgt, rx314_tgt, rx314_off + rx314_start: $I10 = self.'from'() - ne $I10, -1, rxscan315_done - goto rxscan315_scan - rxscan315_loop: - ($P10) = rx312_cur."from"() + ne $I10, -1, rxscan317_done + goto rxscan317_scan + rxscan317_loop: + ($P10) = rx314_cur."from"() inc $P10 - set rx312_pos, $P10 - ge rx312_pos, rx312_eos, rxscan315_done - rxscan315_scan: - set_addr $I10, rxscan315_loop - rx312_cur."!mark_push"(0, rx312_pos, $I10) - rxscan315_done: + set rx314_pos, $P10 + ge rx314_pos, rx314_eos, rxscan317_done + rxscan317_scan: + set_addr $I10, rxscan317_loop + rx314_cur."!mark_push"(0, rx314_pos, $I10) + rxscan317_done: .annotate 'line', 176 # rx subcapture "sym" - set_addr $I10, rxcap_316_fail - rx312_cur."!mark_push"(0, rx312_pos, $I10) + set_addr $I10, rxcap_318_fail + rx314_cur."!mark_push"(0, rx314_pos, $I10) # rx literal "repeat" - add $I11, rx312_pos, 6 - gt $I11, rx312_eos, rx312_fail - sub $I11, rx312_pos, rx312_off - substr $S10, rx312_tgt, $I11, 6 - ne $S10, "repeat", rx312_fail - add rx312_pos, 6 - set_addr $I10, rxcap_316_fail - ($I12, $I11) = rx312_cur."!mark_peek"($I10) - rx312_cur."!cursor_pos"($I11) - ($P10) = rx312_cur."!cursor_start"() - $P10."!cursor_pass"(rx312_pos, "") - rx312_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx314_pos, 6 + gt $I11, rx314_eos, rx314_fail + sub $I11, rx314_pos, rx314_off + substr $S10, rx314_tgt, $I11, 6 + ne $S10, "repeat", rx314_fail + add rx314_pos, 6 + set_addr $I10, rxcap_318_fail + ($I12, $I11) = rx314_cur."!mark_peek"($I10) + rx314_cur."!cursor_pos"($I11) + ($P10) = rx314_cur."!cursor_start"() + $P10."!cursor_pass"(rx314_pos, "") + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_316_done - rxcap_316_fail: - goto rx312_fail - rxcap_316_done: + goto rxcap_318_done + rxcap_318_fail: + goto rx314_fail + rxcap_318_done: # rx charclass s - ge rx312_pos, rx312_eos, rx312_fail - sub $I10, rx312_pos, rx312_off - is_cclass $I11, 32, rx312_tgt, $I10 - unless $I11, rx312_fail - inc rx312_pos + ge rx314_pos, rx314_eos, rx314_fail + sub $I10, rx314_pos, rx314_off + is_cclass $I11, 32, rx314_tgt, $I10 + unless $I11, rx314_fail + inc rx314_pos # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() - alt318_0: + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() + alt320_0: .annotate 'line', 177 - set_addr $I10, alt318_1 - rx312_cur."!mark_push"(0, rx312_pos, $I10) + set_addr $I10, alt320_1 + rx314_cur."!mark_push"(0, rx314_pos, $I10) .annotate 'line', 178 # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() # rx subcapture "wu" - set_addr $I10, rxcap_321_fail - rx312_cur."!mark_push"(0, rx312_pos, $I10) - alt320_0: - set_addr $I10, alt320_1 - rx312_cur."!mark_push"(0, rx312_pos, $I10) + set_addr $I10, rxcap_323_fail + rx314_cur."!mark_push"(0, rx314_pos, $I10) + alt322_0: + set_addr $I10, alt322_1 + rx314_cur."!mark_push"(0, rx314_pos, $I10) # rx literal "while" - add $I11, rx312_pos, 5 - gt $I11, rx312_eos, rx312_fail - sub $I11, rx312_pos, rx312_off - substr $S10, rx312_tgt, $I11, 5 - ne $S10, "while", rx312_fail - add rx312_pos, 5 - goto alt320_end - alt320_1: + add $I11, rx314_pos, 5 + gt $I11, rx314_eos, rx314_fail + sub $I11, rx314_pos, rx314_off + substr $S10, rx314_tgt, $I11, 5 + ne $S10, "while", rx314_fail + add rx314_pos, 5 + goto alt322_end + alt322_1: # rx literal "until" - add $I11, rx312_pos, 5 - gt $I11, rx312_eos, rx312_fail - sub $I11, rx312_pos, rx312_off - substr $S10, rx312_tgt, $I11, 5 - ne $S10, "until", rx312_fail - add rx312_pos, 5 - alt320_end: - set_addr $I10, rxcap_321_fail - ($I12, $I11) = rx312_cur."!mark_peek"($I10) - rx312_cur."!cursor_pos"($I11) - ($P10) = rx312_cur."!cursor_start"() - $P10."!cursor_pass"(rx312_pos, "") - rx312_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx314_pos, 5 + gt $I11, rx314_eos, rx314_fail + sub $I11, rx314_pos, rx314_off + substr $S10, rx314_tgt, $I11, 5 + ne $S10, "until", rx314_fail + add rx314_pos, 5 + alt322_end: + set_addr $I10, rxcap_323_fail + ($I12, $I11) = rx314_cur."!mark_peek"($I10) + rx314_cur."!cursor_pos"($I11) + ($P10) = rx314_cur."!cursor_start"() + $P10."!cursor_pass"(rx314_pos, "") + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("wu") - goto rxcap_321_done - rxcap_321_fail: - goto rx312_fail - rxcap_321_done: + goto rxcap_323_done + rxcap_323_fail: + goto rx314_fail + rxcap_323_done: # rx charclass s - ge rx312_pos, rx312_eos, rx312_fail - sub $I10, rx312_pos, rx312_off - is_cclass $I11, 32, rx312_tgt, $I10 - unless $I11, rx312_fail - inc rx312_pos + ge rx314_pos, rx314_eos, rx314_fail + sub $I10, rx314_pos, rx314_off + is_cclass $I11, 32, rx314_tgt, $I10 + unless $I11, rx314_fail + inc rx314_pos # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() # rx subrule "xblock" subtype=capture negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."xblock"() - unless $P10, rx312_fail - rx312_cur."!mark_push"(0, -1, 0, $P10) + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."xblock"() + unless $P10, rx314_fail + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx312_pos = $P10."pos"() + rx314_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() - goto alt318_end - alt318_1: + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() + goto alt320_end + alt320_1: .annotate 'line', 179 # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() # rx subrule "pblock" subtype=capture negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."pblock"() - unless $P10, rx312_fail - rx312_cur."!mark_push"(0, -1, 0, $P10) + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."pblock"() + unless $P10, rx314_fail + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("pblock") - rx312_pos = $P10."pos"() + rx314_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() # rx subcapture "wu" - set_addr $I10, rxcap_327_fail - rx312_cur."!mark_push"(0, rx312_pos, $I10) - alt326_0: - set_addr $I10, alt326_1 - rx312_cur."!mark_push"(0, rx312_pos, $I10) + set_addr $I10, rxcap_329_fail + rx314_cur."!mark_push"(0, rx314_pos, $I10) + alt328_0: + set_addr $I10, alt328_1 + rx314_cur."!mark_push"(0, rx314_pos, $I10) # rx literal "while" - add $I11, rx312_pos, 5 - gt $I11, rx312_eos, rx312_fail - sub $I11, rx312_pos, rx312_off - substr $S10, rx312_tgt, $I11, 5 - ne $S10, "while", rx312_fail - add rx312_pos, 5 - goto alt326_end - alt326_1: + add $I11, rx314_pos, 5 + gt $I11, rx314_eos, rx314_fail + sub $I11, rx314_pos, rx314_off + substr $S10, rx314_tgt, $I11, 5 + ne $S10, "while", rx314_fail + add rx314_pos, 5 + goto alt328_end + alt328_1: # rx literal "until" - add $I11, rx312_pos, 5 - gt $I11, rx312_eos, rx312_fail - sub $I11, rx312_pos, rx312_off - substr $S10, rx312_tgt, $I11, 5 - ne $S10, "until", rx312_fail - add rx312_pos, 5 - alt326_end: - set_addr $I10, rxcap_327_fail - ($I12, $I11) = rx312_cur."!mark_peek"($I10) - rx312_cur."!cursor_pos"($I11) - ($P10) = rx312_cur."!cursor_start"() - $P10."!cursor_pass"(rx312_pos, "") - rx312_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx314_pos, 5 + gt $I11, rx314_eos, rx314_fail + sub $I11, rx314_pos, rx314_off + substr $S10, rx314_tgt, $I11, 5 + ne $S10, "until", rx314_fail + add rx314_pos, 5 + alt328_end: + set_addr $I10, rxcap_329_fail + ($I12, $I11) = rx314_cur."!mark_peek"($I10) + rx314_cur."!cursor_pos"($I11) + ($P10) = rx314_cur."!cursor_start"() + $P10."!cursor_pass"(rx314_pos, "") + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("wu") - goto rxcap_327_done - rxcap_327_fail: - goto rx312_fail - rxcap_327_done: + goto rxcap_329_done + rxcap_329_fail: + goto rx314_fail + rxcap_329_done: # rx charclass s - ge rx312_pos, rx312_eos, rx312_fail - sub $I10, rx312_pos, rx312_off - is_cclass $I11, 32, rx312_tgt, $I10 - unless $I11, rx312_fail - inc rx312_pos + ge rx314_pos, rx314_eos, rx314_fail + sub $I10, rx314_pos, rx314_off + is_cclass $I11, 32, rx314_tgt, $I10 + unless $I11, rx314_fail + inc rx314_pos # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."EXPR"() - unless $P10, rx312_fail - rx312_cur."!mark_push"(0, -1, 0, $P10) + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."EXPR"() + unless $P10, rx314_fail + rx314_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx312_pos = $P10."pos"() + rx314_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() - alt318_end: + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() + alt320_end: .annotate 'line', 180 # rx subrule "ws" subtype=method negate= - rx312_cur."!cursor_pos"(rx312_pos) - $P10 = rx312_cur."ws"() - unless $P10, rx312_fail - rx312_pos = $P10."pos"() + rx314_cur."!cursor_pos"(rx314_pos) + $P10 = rx314_cur."ws"() + unless $P10, rx314_fail + rx314_pos = $P10."pos"() .annotate 'line', 175 # rx pass - rx312_cur."!cursor_pass"(rx312_pos, "statement_control:sym") - rx312_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx312_pos) - .return (rx312_cur) - rx312_fail: -.annotate 'line', 4 - (rx312_rep, rx312_pos, $I10, $P10) = rx312_cur."!mark_fail"(0) - lt rx312_pos, -1, rx312_done - eq rx312_pos, -1, rx312_fail + rx314_cur."!cursor_pass"(rx314_pos, "statement_control:sym") + rx314_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx314_pos) + .return (rx314_cur) + rx314_fail: +.annotate 'line', 4 + (rx314_rep, rx314_pos, $I10, $P10) = rx314_cur."!mark_fail"(0) + lt rx314_pos, -1, rx314_done + eq rx314_pos, -1, rx314_fail jump $I10 - rx312_done: - rx312_cur."!cursor_fail"() - rx312_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx312_cur) + rx314_done: + rx314_cur."!cursor_fail"() + rx314_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx314_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("70_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("70_1278500537.15927") :method .annotate 'line', 4 - new $P314, "ResizablePMCArray" - push $P314, "repeat" - .return ($P314) + new $P316, "ResizablePMCArray" + push $P316, "repeat" + .return ($P316) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("71_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("71_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx332_tgt - .local int rx332_pos - .local int rx332_off - .local int rx332_eos - .local int rx332_rep - .local pmc rx332_cur - (rx332_cur, rx332_pos, rx332_tgt) = self."!cursor_start"() - rx332_cur."!cursor_debug"("START ", "statement_control:sym") - .lex unicode:"$\x{a2}", rx332_cur + .local string rx334_tgt + .local int rx334_pos + .local int rx334_off + .local int rx334_eos + .local int rx334_rep + .local pmc rx334_cur + (rx334_cur, rx334_pos, rx334_tgt) = self."!cursor_start"() + rx334_cur."!cursor_debug"("START ", "statement_control:sym") + .lex unicode:"$\x{a2}", rx334_cur .local pmc match .lex "$/", match - length rx332_eos, rx332_tgt - gt rx332_pos, rx332_eos, rx332_done - set rx332_off, 0 - lt rx332_pos, 2, rx332_start - sub rx332_off, rx332_pos, 1 - substr rx332_tgt, rx332_tgt, rx332_off - rx332_start: + length rx334_eos, rx334_tgt + gt rx334_pos, rx334_eos, rx334_done + set rx334_off, 0 + lt rx334_pos, 2, rx334_start + sub rx334_off, rx334_pos, 1 + substr rx334_tgt, rx334_tgt, rx334_off + rx334_start: $I10 = self.'from'() - ne $I10, -1, rxscan335_done - goto rxscan335_scan - rxscan335_loop: - ($P10) = rx332_cur."from"() + ne $I10, -1, rxscan337_done + goto rxscan337_scan + rxscan337_loop: + ($P10) = rx334_cur."from"() inc $P10 - set rx332_pos, $P10 - ge rx332_pos, rx332_eos, rxscan335_done - rxscan335_scan: - set_addr $I10, rxscan335_loop - rx332_cur."!mark_push"(0, rx332_pos, $I10) - rxscan335_done: + set rx334_pos, $P10 + ge rx334_pos, rx334_eos, rxscan337_done + rxscan337_scan: + set_addr $I10, rxscan337_loop + rx334_cur."!mark_push"(0, rx334_pos, $I10) + rxscan337_done: .annotate 'line', 184 # rx subcapture "sym" - set_addr $I10, rxcap_336_fail - rx332_cur."!mark_push"(0, rx332_pos, $I10) + set_addr $I10, rxcap_338_fail + rx334_cur."!mark_push"(0, rx334_pos, $I10) # rx literal "for" - add $I11, rx332_pos, 3 - gt $I11, rx332_eos, rx332_fail - sub $I11, rx332_pos, rx332_off - substr $S10, rx332_tgt, $I11, 3 - ne $S10, "for", rx332_fail - add rx332_pos, 3 - set_addr $I10, rxcap_336_fail - ($I12, $I11) = rx332_cur."!mark_peek"($I10) - rx332_cur."!cursor_pos"($I11) - ($P10) = rx332_cur."!cursor_start"() - $P10."!cursor_pass"(rx332_pos, "") - rx332_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx334_pos, 3 + gt $I11, rx334_eos, rx334_fail + sub $I11, rx334_pos, rx334_off + substr $S10, rx334_tgt, $I11, 3 + ne $S10, "for", rx334_fail + add rx334_pos, 3 + set_addr $I10, rxcap_338_fail + ($I12, $I11) = rx334_cur."!mark_peek"($I10) + rx334_cur."!cursor_pos"($I11) + ($P10) = rx334_cur."!cursor_start"() + $P10."!cursor_pass"(rx334_pos, "") + rx334_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_336_done - rxcap_336_fail: - goto rx332_fail - rxcap_336_done: + goto rxcap_338_done + rxcap_338_fail: + goto rx334_fail + rxcap_338_done: # rx charclass s - ge rx332_pos, rx332_eos, rx332_fail - sub $I10, rx332_pos, rx332_off - is_cclass $I11, 32, rx332_tgt, $I10 - unless $I11, rx332_fail - inc rx332_pos + ge rx334_pos, rx334_eos, rx334_fail + sub $I10, rx334_pos, rx334_off + is_cclass $I11, 32, rx334_tgt, $I10 + unless $I11, rx334_fail + inc rx334_pos # rx subrule "ws" subtype=method negate= - rx332_cur."!cursor_pos"(rx332_pos) - $P10 = rx332_cur."ws"() - unless $P10, rx332_fail - rx332_pos = $P10."pos"() + rx334_cur."!cursor_pos"(rx334_pos) + $P10 = rx334_cur."ws"() + unless $P10, rx334_fail + rx334_pos = $P10."pos"() .annotate 'line', 185 # rx subrule "xblock" subtype=capture negate= - rx332_cur."!cursor_pos"(rx332_pos) - $P10 = rx332_cur."xblock"() - unless $P10, rx332_fail - rx332_cur."!mark_push"(0, -1, 0, $P10) + rx334_cur."!cursor_pos"(rx334_pos) + $P10 = rx334_cur."xblock"() + unless $P10, rx334_fail + rx334_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("xblock") - rx332_pos = $P10."pos"() + rx334_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx332_cur."!cursor_pos"(rx332_pos) - $P10 = rx332_cur."ws"() - unless $P10, rx332_fail - rx332_pos = $P10."pos"() + rx334_cur."!cursor_pos"(rx334_pos) + $P10 = rx334_cur."ws"() + unless $P10, rx334_fail + rx334_pos = $P10."pos"() .annotate 'line', 183 # rx pass - rx332_cur."!cursor_pass"(rx332_pos, "statement_control:sym") - rx332_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx332_pos) - .return (rx332_cur) - rx332_fail: -.annotate 'line', 4 - (rx332_rep, rx332_pos, $I10, $P10) = rx332_cur."!mark_fail"(0) - lt rx332_pos, -1, rx332_done - eq rx332_pos, -1, rx332_fail + rx334_cur."!cursor_pass"(rx334_pos, "statement_control:sym") + rx334_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx334_pos) + .return (rx334_cur) + rx334_fail: +.annotate 'line', 4 + (rx334_rep, rx334_pos, $I10, $P10) = rx334_cur."!mark_fail"(0) + lt rx334_pos, -1, rx334_done + eq rx334_pos, -1, rx334_fail jump $I10 - rx332_done: - rx332_cur."!cursor_fail"() - rx332_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx332_cur) + rx334_done: + rx334_cur."!cursor_fail"() + rx334_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx334_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("72_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("72_1278500537.15927") :method .annotate 'line', 4 - new $P334, "ResizablePMCArray" - push $P334, "for" - .return ($P334) + new $P336, "ResizablePMCArray" + push $P336, "for" + .return ($P336) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("73_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("73_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx340_tgt - .local int rx340_pos - .local int rx340_off - .local int rx340_eos - .local int rx340_rep - .local pmc rx340_cur - (rx340_cur, rx340_pos, rx340_tgt) = self."!cursor_start"() - rx340_cur."!cursor_debug"("START ", "statement_control:sym") - .lex unicode:"$\x{a2}", rx340_cur + .local string rx342_tgt + .local int rx342_pos + .local int rx342_off + .local int rx342_eos + .local int rx342_rep + .local pmc rx342_cur + (rx342_cur, rx342_pos, rx342_tgt) = self."!cursor_start"() + rx342_cur."!cursor_debug"("START ", "statement_control:sym") + .lex unicode:"$\x{a2}", rx342_cur .local pmc match .lex "$/", match - length rx340_eos, rx340_tgt - gt rx340_pos, rx340_eos, rx340_done - set rx340_off, 0 - lt rx340_pos, 2, rx340_start - sub rx340_off, rx340_pos, 1 - substr rx340_tgt, rx340_tgt, rx340_off - rx340_start: + length rx342_eos, rx342_tgt + gt rx342_pos, rx342_eos, rx342_done + set rx342_off, 0 + lt rx342_pos, 2, rx342_start + sub rx342_off, rx342_pos, 1 + substr rx342_tgt, rx342_tgt, rx342_off + rx342_start: $I10 = self.'from'() - ne $I10, -1, rxscan343_done - goto rxscan343_scan - rxscan343_loop: - ($P10) = rx340_cur."from"() + ne $I10, -1, rxscan345_done + goto rxscan345_scan + rxscan345_loop: + ($P10) = rx342_cur."from"() inc $P10 - set rx340_pos, $P10 - ge rx340_pos, rx340_eos, rxscan343_done - rxscan343_scan: - set_addr $I10, rxscan343_loop - rx340_cur."!mark_push"(0, rx340_pos, $I10) - rxscan343_done: + set rx342_pos, $P10 + ge rx342_pos, rx342_eos, rxscan345_done + rxscan345_scan: + set_addr $I10, rxscan345_loop + rx342_cur."!mark_push"(0, rx342_pos, $I10) + rxscan345_done: .annotate 'line', 189 # rx subcapture "sym" - set_addr $I10, rxcap_344_fail - rx340_cur."!mark_push"(0, rx340_pos, $I10) + set_addr $I10, rxcap_346_fail + rx342_cur."!mark_push"(0, rx342_pos, $I10) # rx literal "CATCH" - add $I11, rx340_pos, 5 - gt $I11, rx340_eos, rx340_fail - sub $I11, rx340_pos, rx340_off - substr $S10, rx340_tgt, $I11, 5 - ne $S10, "CATCH", rx340_fail - add rx340_pos, 5 - set_addr $I10, rxcap_344_fail - ($I12, $I11) = rx340_cur."!mark_peek"($I10) - rx340_cur."!cursor_pos"($I11) - ($P10) = rx340_cur."!cursor_start"() - $P10."!cursor_pass"(rx340_pos, "") - rx340_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx342_pos, 5 + gt $I11, rx342_eos, rx342_fail + sub $I11, rx342_pos, rx342_off + substr $S10, rx342_tgt, $I11, 5 + ne $S10, "CATCH", rx342_fail + add rx342_pos, 5 + set_addr $I10, rxcap_346_fail + ($I12, $I11) = rx342_cur."!mark_peek"($I10) + rx342_cur."!cursor_pos"($I11) + ($P10) = rx342_cur."!cursor_start"() + $P10."!cursor_pass"(rx342_pos, "") + rx342_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_344_done - rxcap_344_fail: - goto rx340_fail - rxcap_344_done: + goto rxcap_346_done + rxcap_346_fail: + goto rx342_fail + rxcap_346_done: # rx charclass s - ge rx340_pos, rx340_eos, rx340_fail - sub $I10, rx340_pos, rx340_off - is_cclass $I11, 32, rx340_tgt, $I10 - unless $I11, rx340_fail - inc rx340_pos + ge rx342_pos, rx342_eos, rx342_fail + sub $I10, rx342_pos, rx342_off + is_cclass $I11, 32, rx342_tgt, $I10 + unless $I11, rx342_fail + inc rx342_pos # rx subrule "ws" subtype=method negate= - rx340_cur."!cursor_pos"(rx340_pos) - $P10 = rx340_cur."ws"() - unless $P10, rx340_fail - rx340_pos = $P10."pos"() + rx342_cur."!cursor_pos"(rx342_pos) + $P10 = rx342_cur."ws"() + unless $P10, rx342_fail + rx342_pos = $P10."pos"() .annotate 'line', 190 # rx subrule "block" subtype=capture negate= - rx340_cur."!cursor_pos"(rx340_pos) - $P10 = rx340_cur."block"() - unless $P10, rx340_fail - rx340_cur."!mark_push"(0, -1, 0, $P10) + rx342_cur."!cursor_pos"(rx342_pos) + $P10 = rx342_cur."block"() + unless $P10, rx342_fail + rx342_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("block") - rx340_pos = $P10."pos"() + rx342_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx340_cur."!cursor_pos"(rx340_pos) - $P10 = rx340_cur."ws"() - unless $P10, rx340_fail - rx340_pos = $P10."pos"() + rx342_cur."!cursor_pos"(rx342_pos) + $P10 = rx342_cur."ws"() + unless $P10, rx342_fail + rx342_pos = $P10."pos"() .annotate 'line', 188 # rx pass - rx340_cur."!cursor_pass"(rx340_pos, "statement_control:sym") - rx340_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx340_pos) - .return (rx340_cur) - rx340_fail: -.annotate 'line', 4 - (rx340_rep, rx340_pos, $I10, $P10) = rx340_cur."!mark_fail"(0) - lt rx340_pos, -1, rx340_done - eq rx340_pos, -1, rx340_fail + rx342_cur."!cursor_pass"(rx342_pos, "statement_control:sym") + rx342_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx342_pos) + .return (rx342_cur) + rx342_fail: +.annotate 'line', 4 + (rx342_rep, rx342_pos, $I10, $P10) = rx342_cur."!mark_fail"(0) + lt rx342_pos, -1, rx342_done + eq rx342_pos, -1, rx342_fail jump $I10 - rx340_done: - rx340_cur."!cursor_fail"() - rx340_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx340_cur) + rx342_done: + rx342_cur."!cursor_fail"() + rx342_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx342_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("74_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("74_1278500537.15927") :method .annotate 'line', 4 - new $P342, "ResizablePMCArray" - push $P342, "CATCH" - .return ($P342) + new $P344, "ResizablePMCArray" + push $P344, "CATCH" + .return ($P344) .end .namespace ["NQP";"Grammar"] -.sub "statement_control:sym" :subid("75_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_control:sym" :subid("75_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx348_tgt - .local int rx348_pos - .local int rx348_off - .local int rx348_eos - .local int rx348_rep - .local pmc rx348_cur - (rx348_cur, rx348_pos, rx348_tgt) = self."!cursor_start"() - rx348_cur."!cursor_debug"("START ", "statement_control:sym") - .lex unicode:"$\x{a2}", rx348_cur + .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_control:sym") + .lex unicode:"$\x{a2}", rx350_cur .local pmc match .lex "$/", match - length rx348_eos, rx348_tgt - gt rx348_pos, rx348_eos, rx348_done - set rx348_off, 0 - lt rx348_pos, 2, rx348_start - sub rx348_off, rx348_pos, 1 - substr rx348_tgt, rx348_tgt, rx348_off - rx348_start: + length rx350_eos, rx350_tgt + gt rx350_pos, rx350_eos, rx350_done + 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, rxscan351_done - goto rxscan351_scan - rxscan351_loop: - ($P10) = rx348_cur."from"() + ne $I10, -1, rxscan353_done + goto rxscan353_scan + rxscan353_loop: + ($P10) = rx350_cur."from"() inc $P10 - set rx348_pos, $P10 - ge rx348_pos, rx348_eos, rxscan351_done - rxscan351_scan: - set_addr $I10, rxscan351_loop - rx348_cur."!mark_push"(0, rx348_pos, $I10) - rxscan351_done: + set rx350_pos, $P10 + ge rx350_pos, rx350_eos, rxscan353_done + rxscan353_scan: + set_addr $I10, rxscan353_loop + rx350_cur."!mark_push"(0, rx350_pos, $I10) + rxscan353_done: .annotate 'line', 194 # rx subcapture "sym" - set_addr $I10, rxcap_352_fail - rx348_cur."!mark_push"(0, rx348_pos, $I10) + set_addr $I10, rxcap_354_fail + rx350_cur."!mark_push"(0, rx350_pos, $I10) # rx literal "CONTROL" - add $I11, rx348_pos, 7 - gt $I11, rx348_eos, rx348_fail - sub $I11, rx348_pos, rx348_off - substr $S10, rx348_tgt, $I11, 7 - ne $S10, "CONTROL", rx348_fail - add rx348_pos, 7 - set_addr $I10, rxcap_352_fail - ($I12, $I11) = rx348_cur."!mark_peek"($I10) - rx348_cur."!cursor_pos"($I11) - ($P10) = rx348_cur."!cursor_start"() - $P10."!cursor_pass"(rx348_pos, "") - rx348_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx350_pos, 7 + gt $I11, rx350_eos, rx350_fail + sub $I11, rx350_pos, rx350_off + substr $S10, rx350_tgt, $I11, 7 + ne $S10, "CONTROL", rx350_fail + add rx350_pos, 7 + set_addr $I10, rxcap_354_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) $P10."!cursor_names"("sym") - goto rxcap_352_done - rxcap_352_fail: - goto rx348_fail - rxcap_352_done: + goto rxcap_354_done + rxcap_354_fail: + goto rx350_fail + rxcap_354_done: # rx charclass s - ge rx348_pos, rx348_eos, rx348_fail - sub $I10, rx348_pos, rx348_off - is_cclass $I11, 32, rx348_tgt, $I10 - unless $I11, rx348_fail - inc rx348_pos + ge rx350_pos, rx350_eos, rx350_fail + sub $I10, rx350_pos, rx350_off + is_cclass $I11, 32, rx350_tgt, $I10 + unless $I11, rx350_fail + inc rx350_pos # rx subrule "ws" subtype=method negate= - rx348_cur."!cursor_pos"(rx348_pos) - $P10 = rx348_cur."ws"() - unless $P10, rx348_fail - rx348_pos = $P10."pos"() + rx350_cur."!cursor_pos"(rx350_pos) + $P10 = rx350_cur."ws"() + unless $P10, rx350_fail + rx350_pos = $P10."pos"() .annotate 'line', 195 # rx subrule "block" subtype=capture negate= - rx348_cur."!cursor_pos"(rx348_pos) - $P10 = rx348_cur."block"() - unless $P10, rx348_fail - rx348_cur."!mark_push"(0, -1, 0, $P10) + rx350_cur."!cursor_pos"(rx350_pos) + $P10 = rx350_cur."block"() + unless $P10, rx350_fail + rx350_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("block") - rx348_pos = $P10."pos"() + rx350_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx348_cur."!cursor_pos"(rx348_pos) - $P10 = rx348_cur."ws"() - unless $P10, rx348_fail - rx348_pos = $P10."pos"() + rx350_cur."!cursor_pos"(rx350_pos) + $P10 = rx350_cur."ws"() + unless $P10, rx350_fail + rx350_pos = $P10."pos"() .annotate 'line', 193 # rx pass - rx348_cur."!cursor_pass"(rx348_pos, "statement_control:sym") - rx348_cur."!cursor_debug"("PASS ", "statement_control:sym", " at pos=", rx348_pos) - .return (rx348_cur) - rx348_fail: -.annotate 'line', 4 - (rx348_rep, rx348_pos, $I10, $P10) = rx348_cur."!mark_fail"(0) - lt rx348_pos, -1, rx348_done - eq rx348_pos, -1, rx348_fail + rx350_cur."!cursor_pass"(rx350_pos, "statement_control:sym") + rx350_cur."!cursor_debug"("PASS ", "statement_control:sym", " 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 - rx348_done: - rx348_cur."!cursor_fail"() - rx348_cur."!cursor_debug"("FAIL ", "statement_control:sym") - .return (rx348_cur) + rx350_done: + rx350_cur."!cursor_fail"() + rx350_cur."!cursor_debug"("FAIL ", "statement_control:sym") + .return (rx350_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_control:sym" :subid("76_1276996322.81157") :method +.sub "!PREFIX__statement_control:sym" :subid("76_1278500537.15927") :method .annotate 'line', 4 - new $P350, "ResizablePMCArray" - push $P350, "CONTROL" - .return ($P350) + new $P352, "ResizablePMCArray" + push $P352, "CONTROL" + .return ($P352) .end .namespace ["NQP";"Grammar"] -.sub "statement_prefix" :subid("77_1276996322.81157") :method +.sub "statement_prefix" :subid("77_1278500537.15927") :method .annotate 'line', 198 - $P356 = self."!protoregex"("statement_prefix") - .return ($P356) + $P358 = self."!protoregex"("statement_prefix") + .return ($P358) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_prefix" :subid("78_1276996322.81157") :method +.sub "!PREFIX__statement_prefix" :subid("78_1278500537.15927") :method .annotate 'line', 198 - $P358 = self."!PREFIX__!protoregex"("statement_prefix") - .return ($P358) + $P360 = self."!PREFIX__!protoregex"("statement_prefix") + .return ($P360) .end .namespace ["NQP";"Grammar"] -.sub "statement_prefix:sym" :subid("79_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_prefix:sym" :subid("79_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx360_tgt - .local int rx360_pos - .local int rx360_off - .local int rx360_eos - .local int rx360_rep - .local pmc rx360_cur - (rx360_cur, rx360_pos, rx360_tgt) = self."!cursor_start"() - rx360_cur."!cursor_debug"("START ", "statement_prefix:sym") - .lex unicode:"$\x{a2}", rx360_cur + .local string rx362_tgt + .local int rx362_pos + .local int rx362_off + .local int rx362_eos + .local int rx362_rep + .local pmc rx362_cur + (rx362_cur, rx362_pos, rx362_tgt) = self."!cursor_start"() + rx362_cur."!cursor_debug"("START ", "statement_prefix:sym") + .lex unicode:"$\x{a2}", rx362_cur .local pmc match .lex "$/", match - length rx360_eos, rx360_tgt - gt rx360_pos, rx360_eos, rx360_done - set rx360_off, 0 - lt rx360_pos, 2, rx360_start - sub rx360_off, rx360_pos, 1 - substr rx360_tgt, rx360_tgt, rx360_off - rx360_start: + length rx362_eos, rx362_tgt + gt rx362_pos, rx362_eos, rx362_done + set rx362_off, 0 + lt rx362_pos, 2, rx362_start + sub rx362_off, rx362_pos, 1 + substr rx362_tgt, rx362_tgt, rx362_off + rx362_start: $I10 = self.'from'() - ne $I10, -1, rxscan364_done - goto rxscan364_scan - rxscan364_loop: - ($P10) = rx360_cur."from"() + ne $I10, -1, rxscan366_done + goto rxscan366_scan + rxscan366_loop: + ($P10) = rx362_cur."from"() inc $P10 - set rx360_pos, $P10 - ge rx360_pos, rx360_eos, rxscan364_done - rxscan364_scan: - set_addr $I10, rxscan364_loop - rx360_cur."!mark_push"(0, rx360_pos, $I10) - rxscan364_done: + set rx362_pos, $P10 + ge rx362_pos, rx362_eos, rxscan366_done + rxscan366_scan: + set_addr $I10, rxscan366_loop + rx362_cur."!mark_push"(0, rx362_pos, $I10) + rxscan366_done: .annotate 'line', 199 # rx subcapture "sym" - set_addr $I10, rxcap_365_fail - rx360_cur."!mark_push"(0, rx360_pos, $I10) + set_addr $I10, rxcap_367_fail + rx362_cur."!mark_push"(0, rx362_pos, $I10) # rx literal "INIT" - add $I11, rx360_pos, 4 - gt $I11, rx360_eos, rx360_fail - sub $I11, rx360_pos, rx360_off - substr $S10, rx360_tgt, $I11, 4 - ne $S10, "INIT", rx360_fail - add rx360_pos, 4 - set_addr $I10, rxcap_365_fail - ($I12, $I11) = rx360_cur."!mark_peek"($I10) - rx360_cur."!cursor_pos"($I11) - ($P10) = rx360_cur."!cursor_start"() - $P10."!cursor_pass"(rx360_pos, "") - rx360_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx362_pos, 4 + gt $I11, rx362_eos, rx362_fail + sub $I11, rx362_pos, rx362_off + substr $S10, rx362_tgt, $I11, 4 + ne $S10, "INIT", rx362_fail + add rx362_pos, 4 + set_addr $I10, rxcap_367_fail + ($I12, $I11) = rx362_cur."!mark_peek"($I10) + rx362_cur."!cursor_pos"($I11) + ($P10) = rx362_cur."!cursor_start"() + $P10."!cursor_pass"(rx362_pos, "") + rx362_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_365_done - rxcap_365_fail: - goto rx360_fail - rxcap_365_done: + goto rxcap_367_done + rxcap_367_fail: + goto rx362_fail + rxcap_367_done: # rx subrule "blorst" subtype=capture negate= - rx360_cur."!cursor_pos"(rx360_pos) - $P10 = rx360_cur."blorst"() - unless $P10, rx360_fail - rx360_cur."!mark_push"(0, -1, 0, $P10) + rx362_cur."!cursor_pos"(rx362_pos) + $P10 = rx362_cur."blorst"() + unless $P10, rx362_fail + rx362_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blorst") - rx360_pos = $P10."pos"() + rx362_pos = $P10."pos"() # rx pass - rx360_cur."!cursor_pass"(rx360_pos, "statement_prefix:sym") - rx360_cur."!cursor_debug"("PASS ", "statement_prefix:sym", " at pos=", rx360_pos) - .return (rx360_cur) - rx360_fail: -.annotate 'line', 4 - (rx360_rep, rx360_pos, $I10, $P10) = rx360_cur."!mark_fail"(0) - lt rx360_pos, -1, rx360_done - eq rx360_pos, -1, rx360_fail + rx362_cur."!cursor_pass"(rx362_pos, "statement_prefix:sym") + rx362_cur."!cursor_debug"("PASS ", "statement_prefix:sym", " at pos=", rx362_pos) + .return (rx362_cur) + rx362_fail: +.annotate 'line', 4 + (rx362_rep, rx362_pos, $I10, $P10) = rx362_cur."!mark_fail"(0) + lt rx362_pos, -1, rx362_done + eq rx362_pos, -1, rx362_fail jump $I10 - rx360_done: - rx360_cur."!cursor_fail"() - rx360_cur."!cursor_debug"("FAIL ", "statement_prefix:sym") - .return (rx360_cur) + rx362_done: + rx362_cur."!cursor_fail"() + rx362_cur."!cursor_debug"("FAIL ", "statement_prefix:sym") + .return (rx362_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_prefix:sym" :subid("80_1276996322.81157") :method +.sub "!PREFIX__statement_prefix:sym" :subid("80_1278500537.15927") :method .annotate 'line', 4 - $P362 = self."!PREFIX__!subrule"("blorst", "INIT") - new $P363, "ResizablePMCArray" - push $P363, $P362 - .return ($P363) + $P364 = self."!PREFIX__!subrule"("blorst", "INIT") + new $P365, "ResizablePMCArray" + push $P365, $P364 + .return ($P365) .end .namespace ["NQP";"Grammar"] -.sub "statement_prefix:sym" :subid("81_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_prefix:sym" :subid("81_1278500537.15927") :method :outer("11_1278500537.15927") .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_prefix:sym") - .lex unicode:"$\x{a2}", rx367_cur + .local string rx369_tgt + .local int rx369_pos + .local int rx369_off + .local int rx369_eos + .local int rx369_rep + .local pmc rx369_cur + (rx369_cur, rx369_pos, rx369_tgt) = self."!cursor_start"() + rx369_cur."!cursor_debug"("START ", "statement_prefix:sym") + .lex unicode:"$\x{a2}", rx369_cur .local pmc match .lex "$/", match - length rx367_eos, rx367_tgt - gt rx367_pos, rx367_eos, rx367_done - 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: + length rx369_eos, rx369_tgt + gt rx369_pos, rx369_eos, rx369_done + set rx369_off, 0 + lt rx369_pos, 2, rx369_start + sub rx369_off, rx369_pos, 1 + substr rx369_tgt, rx369_tgt, rx369_off + rx369_start: $I10 = self.'from'() - ne $I10, -1, rxscan371_done - goto rxscan371_scan - rxscan371_loop: - ($P10) = rx367_cur."from"() + ne $I10, -1, rxscan373_done + goto rxscan373_scan + rxscan373_loop: + ($P10) = rx369_cur."from"() inc $P10 - set rx367_pos, $P10 - ge rx367_pos, rx367_eos, rxscan371_done - rxscan371_scan: - set_addr $I10, rxscan371_loop - rx367_cur."!mark_push"(0, rx367_pos, $I10) - rxscan371_done: + set rx369_pos, $P10 + ge rx369_pos, rx369_eos, rxscan373_done + rxscan373_scan: + set_addr $I10, rxscan373_loop + rx369_cur."!mark_push"(0, rx369_pos, $I10) + rxscan373_done: .annotate 'line', 202 # rx subcapture "sym" - set_addr $I10, rxcap_372_fail - rx367_cur."!mark_push"(0, rx367_pos, $I10) + set_addr $I10, rxcap_374_fail + rx369_cur."!mark_push"(0, rx369_pos, $I10) # rx literal "try" - add $I11, rx367_pos, 3 - gt $I11, rx367_eos, rx367_fail - sub $I11, rx367_pos, rx367_off - substr $S10, rx367_tgt, $I11, 3 - ne $S10, "try", rx367_fail - add rx367_pos, 3 - set_addr $I10, rxcap_372_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) + add $I11, rx369_pos, 3 + gt $I11, rx369_eos, rx369_fail + sub $I11, rx369_pos, rx369_off + substr $S10, rx369_tgt, $I11, 3 + ne $S10, "try", rx369_fail + add rx369_pos, 3 + set_addr $I10, rxcap_374_fail + ($I12, $I11) = rx369_cur."!mark_peek"($I10) + rx369_cur."!cursor_pos"($I11) + ($P10) = rx369_cur."!cursor_start"() + $P10."!cursor_pass"(rx369_pos, "") + rx369_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_372_done - rxcap_372_fail: - goto rx367_fail - rxcap_372_done: + goto rxcap_374_done + rxcap_374_fail: + goto rx369_fail + rxcap_374_done: .annotate 'line', 203 # rx subrule "blorst" subtype=capture negate= - rx367_cur."!cursor_pos"(rx367_pos) - $P10 = rx367_cur."blorst"() - unless $P10, rx367_fail - rx367_cur."!mark_push"(0, -1, 0, $P10) + rx369_cur."!cursor_pos"(rx369_pos) + $P10 = rx369_cur."blorst"() + unless $P10, rx369_fail + rx369_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blorst") - rx367_pos = $P10."pos"() + rx369_pos = $P10."pos"() .annotate 'line', 201 # rx pass - rx367_cur."!cursor_pass"(rx367_pos, "statement_prefix:sym") - rx367_cur."!cursor_debug"("PASS ", "statement_prefix:sym", " 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 + rx369_cur."!cursor_pass"(rx369_pos, "statement_prefix:sym") + rx369_cur."!cursor_debug"("PASS ", "statement_prefix:sym", " at pos=", rx369_pos) + .return (rx369_cur) + rx369_fail: +.annotate 'line', 4 + (rx369_rep, rx369_pos, $I10, $P10) = rx369_cur."!mark_fail"(0) + lt rx369_pos, -1, rx369_done + eq rx369_pos, -1, rx369_fail jump $I10 - rx367_done: - rx367_cur."!cursor_fail"() - rx367_cur."!cursor_debug"("FAIL ", "statement_prefix:sym") - .return (rx367_cur) + rx369_done: + rx369_cur."!cursor_fail"() + rx369_cur."!cursor_debug"("FAIL ", "statement_prefix:sym") + .return (rx369_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_prefix:sym" :subid("82_1276996322.81157") :method +.sub "!PREFIX__statement_prefix:sym" :subid("82_1278500537.15927") :method .annotate 'line', 4 - $P369 = self."!PREFIX__!subrule"("blorst", "try") - new $P370, "ResizablePMCArray" - push $P370, $P369 - .return ($P370) + $P371 = self."!PREFIX__!subrule"("blorst", "try") + new $P372, "ResizablePMCArray" + push $P372, $P371 + .return ($P372) .end .namespace ["NQP";"Grammar"] -.sub "blorst" :subid("83_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "blorst" :subid("83_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx374_tgt - .local int rx374_pos - .local int rx374_off - .local int rx374_eos - .local int rx374_rep - .local pmc rx374_cur - (rx374_cur, rx374_pos, rx374_tgt) = self."!cursor_start"() - rx374_cur."!cursor_debug"("START ", "blorst") - .lex unicode:"$\x{a2}", rx374_cur + .local string rx376_tgt + .local int rx376_pos + .local int rx376_off + .local int rx376_eos + .local int rx376_rep + .local pmc rx376_cur + (rx376_cur, rx376_pos, rx376_tgt) = self."!cursor_start"() + rx376_cur."!cursor_debug"("START ", "blorst") + .lex unicode:"$\x{a2}", rx376_cur .local pmc match .lex "$/", match - length rx374_eos, rx374_tgt - gt rx374_pos, rx374_eos, rx374_done - set rx374_off, 0 - lt rx374_pos, 2, rx374_start - sub rx374_off, rx374_pos, 1 - substr rx374_tgt, rx374_tgt, rx374_off - rx374_start: + length rx376_eos, rx376_tgt + gt rx376_pos, rx376_eos, rx376_done + set rx376_off, 0 + lt rx376_pos, 2, rx376_start + sub rx376_off, rx376_pos, 1 + substr rx376_tgt, rx376_tgt, rx376_off + rx376_start: $I10 = self.'from'() - ne $I10, -1, rxscan377_done - goto rxscan377_scan - rxscan377_loop: - ($P10) = rx374_cur."from"() + ne $I10, -1, rxscan379_done + goto rxscan379_scan + rxscan379_loop: + ($P10) = rx376_cur."from"() inc $P10 - set rx374_pos, $P10 - ge rx374_pos, rx374_eos, rxscan377_done - rxscan377_scan: - set_addr $I10, rxscan377_loop - rx374_cur."!mark_push"(0, rx374_pos, $I10) - rxscan377_done: + set rx376_pos, $P10 + ge rx376_pos, rx376_eos, rxscan379_done + rxscan379_scan: + set_addr $I10, rxscan379_loop + rx376_cur."!mark_push"(0, rx376_pos, $I10) + rxscan379_done: .annotate 'line', 207 # rx charclass s - ge rx374_pos, rx374_eos, rx374_fail - sub $I10, rx374_pos, rx374_off - is_cclass $I11, 32, rx374_tgt, $I10 - unless $I11, rx374_fail - inc rx374_pos + ge rx376_pos, rx376_eos, rx376_fail + sub $I10, rx376_pos, rx376_off + is_cclass $I11, 32, rx376_tgt, $I10 + unless $I11, rx376_fail + inc rx376_pos # rx subrule "ws" subtype=method negate= - rx374_cur."!cursor_pos"(rx374_pos) - $P10 = rx374_cur."ws"() - unless $P10, rx374_fail - rx374_pos = $P10."pos"() - alt378_0: - set_addr $I10, alt378_1 - rx374_cur."!mark_push"(0, rx374_pos, $I10) + rx376_cur."!cursor_pos"(rx376_pos) + $P10 = rx376_cur."ws"() + unless $P10, rx376_fail + rx376_pos = $P10."pos"() + alt380_0: + set_addr $I10, alt380_1 + rx376_cur."!mark_push"(0, rx376_pos, $I10) # rx enumcharlist negate=0 zerowidth - ge rx374_pos, rx374_eos, rx374_fail - sub $I10, rx374_pos, rx374_off - substr $S10, rx374_tgt, $I10, 1 + ge rx376_pos, rx376_eos, rx376_fail + sub $I10, rx376_pos, rx376_off + substr $S10, rx376_tgt, $I10, 1 index $I11, "{", $S10 - lt $I11, 0, rx374_fail + lt $I11, 0, rx376_fail # rx subrule "block" subtype=capture negate= - rx374_cur."!cursor_pos"(rx374_pos) - $P10 = rx374_cur."block"() - unless $P10, rx374_fail - rx374_cur."!mark_push"(0, -1, 0, $P10) + rx376_cur."!cursor_pos"(rx376_pos) + $P10 = rx376_cur."block"() + unless $P10, rx376_fail + rx376_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("block") - rx374_pos = $P10."pos"() - goto alt378_end - alt378_1: + rx376_pos = $P10."pos"() + goto alt380_end + alt380_1: # rx subrule "statement" subtype=capture negate= - rx374_cur."!cursor_pos"(rx374_pos) - $P10 = rx374_cur."statement"() - unless $P10, rx374_fail - rx374_cur."!mark_push"(0, -1, 0, $P10) + rx376_cur."!cursor_pos"(rx376_pos) + $P10 = rx376_cur."statement"() + unless $P10, rx376_fail + rx376_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("statement") - rx374_pos = $P10."pos"() - alt378_end: + rx376_pos = $P10."pos"() + alt380_end: .annotate 'line', 206 # rx pass - rx374_cur."!cursor_pass"(rx374_pos, "blorst") - rx374_cur."!cursor_debug"("PASS ", "blorst", " at pos=", rx374_pos) - .return (rx374_cur) - rx374_fail: -.annotate 'line', 4 - (rx374_rep, rx374_pos, $I10, $P10) = rx374_cur."!mark_fail"(0) - lt rx374_pos, -1, rx374_done - eq rx374_pos, -1, rx374_fail + rx376_cur."!cursor_pass"(rx376_pos, "blorst") + rx376_cur."!cursor_debug"("PASS ", "blorst", " at pos=", rx376_pos) + .return (rx376_cur) + rx376_fail: +.annotate 'line', 4 + (rx376_rep, rx376_pos, $I10, $P10) = rx376_cur."!mark_fail"(0) + lt rx376_pos, -1, rx376_done + eq rx376_pos, -1, rx376_fail jump $I10 - rx374_done: - rx374_cur."!cursor_fail"() - rx374_cur."!cursor_debug"("FAIL ", "blorst") - .return (rx374_cur) + rx376_done: + rx376_cur."!cursor_fail"() + rx376_cur."!cursor_debug"("FAIL ", "blorst") + .return (rx376_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__blorst" :subid("84_1276996322.81157") :method +.sub "!PREFIX__blorst" :subid("84_1278500537.15927") :method .annotate 'line', 4 - new $P376, "ResizablePMCArray" - push $P376, "" - .return ($P376) + new $P378, "ResizablePMCArray" + push $P378, "" + .return ($P378) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_cond" :subid("85_1276996322.81157") :method +.sub "statement_mod_cond" :subid("85_1278500537.15927") :method .annotate 'line', 212 - $P380 = self."!protoregex"("statement_mod_cond") - .return ($P380) + $P382 = self."!protoregex"("statement_mod_cond") + .return ($P382) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_cond" :subid("86_1276996322.81157") :method +.sub "!PREFIX__statement_mod_cond" :subid("86_1278500537.15927") :method .annotate 'line', 212 - $P382 = self."!PREFIX__!protoregex"("statement_mod_cond") - .return ($P382) + $P384 = self."!PREFIX__!protoregex"("statement_mod_cond") + .return ($P384) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_cond:sym" :subid("87_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_mod_cond:sym" :subid("87_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx384_tgt - .local int rx384_pos - .local int rx384_off - .local int rx384_eos - .local int rx384_rep - .local pmc rx384_cur - (rx384_cur, rx384_pos, rx384_tgt) = self."!cursor_start"() - rx384_cur."!cursor_debug"("START ", "statement_mod_cond:sym") - .lex unicode:"$\x{a2}", rx384_cur + .local string rx386_tgt + .local int rx386_pos + .local int rx386_off + .local int rx386_eos + .local int rx386_rep + .local pmc rx386_cur + (rx386_cur, rx386_pos, rx386_tgt) = self."!cursor_start"() + rx386_cur."!cursor_debug"("START ", "statement_mod_cond:sym") + .lex unicode:"$\x{a2}", rx386_cur .local pmc match .lex "$/", match - length rx384_eos, rx384_tgt - gt rx384_pos, rx384_eos, rx384_done - set rx384_off, 0 - lt rx384_pos, 2, rx384_start - sub rx384_off, rx384_pos, 1 - substr rx384_tgt, rx384_tgt, rx384_off - rx384_start: + length rx386_eos, rx386_tgt + gt rx386_pos, rx386_eos, rx386_done + set rx386_off, 0 + lt rx386_pos, 2, rx386_start + sub rx386_off, rx386_pos, 1 + substr rx386_tgt, rx386_tgt, rx386_off + rx386_start: $I10 = self.'from'() - ne $I10, -1, rxscan388_done - goto rxscan388_scan - rxscan388_loop: - ($P10) = rx384_cur."from"() + ne $I10, -1, rxscan390_done + goto rxscan390_scan + rxscan390_loop: + ($P10) = rx386_cur."from"() inc $P10 - set rx384_pos, $P10 - ge rx384_pos, rx384_eos, rxscan388_done - rxscan388_scan: - set_addr $I10, rxscan388_loop - rx384_cur."!mark_push"(0, rx384_pos, $I10) - rxscan388_done: + set rx386_pos, $P10 + ge rx386_pos, rx386_eos, rxscan390_done + rxscan390_scan: + set_addr $I10, rxscan390_loop + rx386_cur."!mark_push"(0, rx386_pos, $I10) + rxscan390_done: .annotate 'line', 214 # rx subcapture "sym" - set_addr $I10, rxcap_389_fail - rx384_cur."!mark_push"(0, rx384_pos, $I10) + set_addr $I10, rxcap_391_fail + rx386_cur."!mark_push"(0, rx386_pos, $I10) # rx literal "if" - add $I11, rx384_pos, 2 - gt $I11, rx384_eos, rx384_fail - sub $I11, rx384_pos, rx384_off - substr $S10, rx384_tgt, $I11, 2 - ne $S10, "if", rx384_fail - add rx384_pos, 2 - set_addr $I10, rxcap_389_fail - ($I12, $I11) = rx384_cur."!mark_peek"($I10) - rx384_cur."!cursor_pos"($I11) - ($P10) = rx384_cur."!cursor_start"() - $P10."!cursor_pass"(rx384_pos, "") - rx384_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx386_pos, 2 + gt $I11, rx386_eos, rx386_fail + sub $I11, rx386_pos, rx386_off + substr $S10, rx386_tgt, $I11, 2 + ne $S10, "if", rx386_fail + add rx386_pos, 2 + set_addr $I10, rxcap_391_fail + ($I12, $I11) = rx386_cur."!mark_peek"($I10) + rx386_cur."!cursor_pos"($I11) + ($P10) = rx386_cur."!cursor_start"() + $P10."!cursor_pass"(rx386_pos, "") + rx386_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_389_done - rxcap_389_fail: - goto rx384_fail - rxcap_389_done: + goto rxcap_391_done + rxcap_391_fail: + goto rx386_fail + rxcap_391_done: # rx subrule "ws" subtype=method negate= - rx384_cur."!cursor_pos"(rx384_pos) - $P10 = rx384_cur."ws"() - unless $P10, rx384_fail - rx384_pos = $P10."pos"() + rx386_cur."!cursor_pos"(rx386_pos) + $P10 = rx386_cur."ws"() + unless $P10, rx386_fail + rx386_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx384_cur."!cursor_pos"(rx384_pos) - $P10 = rx384_cur."EXPR"() - unless $P10, rx384_fail - rx384_cur."!mark_push"(0, -1, 0, $P10) + rx386_cur."!cursor_pos"(rx386_pos) + $P10 = rx386_cur."EXPR"() + unless $P10, rx386_fail + rx386_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("cond") - rx384_pos = $P10."pos"() + rx386_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx384_cur."!cursor_pos"(rx384_pos) - $P10 = rx384_cur."ws"() - unless $P10, rx384_fail - rx384_pos = $P10."pos"() + rx386_cur."!cursor_pos"(rx386_pos) + $P10 = rx386_cur."ws"() + unless $P10, rx386_fail + rx386_pos = $P10."pos"() # rx pass - rx384_cur."!cursor_pass"(rx384_pos, "statement_mod_cond:sym") - rx384_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym", " at pos=", rx384_pos) - .return (rx384_cur) - rx384_fail: -.annotate 'line', 4 - (rx384_rep, rx384_pos, $I10, $P10) = rx384_cur."!mark_fail"(0) - lt rx384_pos, -1, rx384_done - eq rx384_pos, -1, rx384_fail + rx386_cur."!cursor_pass"(rx386_pos, "statement_mod_cond:sym") + rx386_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym", " at pos=", rx386_pos) + .return (rx386_cur) + rx386_fail: +.annotate 'line', 4 + (rx386_rep, rx386_pos, $I10, $P10) = rx386_cur."!mark_fail"(0) + lt rx386_pos, -1, rx386_done + eq rx386_pos, -1, rx386_fail jump $I10 - rx384_done: - rx384_cur."!cursor_fail"() - rx384_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym") - .return (rx384_cur) + rx386_done: + rx386_cur."!cursor_fail"() + rx386_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym") + .return (rx386_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_cond:sym" :subid("88_1276996322.81157") :method +.sub "!PREFIX__statement_mod_cond:sym" :subid("88_1278500537.15927") :method .annotate 'line', 4 - $P386 = self."!PREFIX__!subrule"("ws", "if") - new $P387, "ResizablePMCArray" - push $P387, $P386 - .return ($P387) + $P388 = self."!PREFIX__!subrule"("ws", "if") + new $P389, "ResizablePMCArray" + push $P389, $P388 + .return ($P389) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_cond:sym" :subid("89_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_mod_cond:sym" :subid("89_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx393_tgt - .local int rx393_pos - .local int rx393_off - .local int rx393_eos - .local int rx393_rep - .local pmc rx393_cur - (rx393_cur, rx393_pos, rx393_tgt) = self."!cursor_start"() - rx393_cur."!cursor_debug"("START ", "statement_mod_cond:sym") - .lex unicode:"$\x{a2}", rx393_cur + .local string rx395_tgt + .local int rx395_pos + .local int rx395_off + .local int rx395_eos + .local int rx395_rep + .local pmc rx395_cur + (rx395_cur, rx395_pos, rx395_tgt) = self."!cursor_start"() + rx395_cur."!cursor_debug"("START ", "statement_mod_cond:sym") + .lex unicode:"$\x{a2}", rx395_cur .local pmc match .lex "$/", match - length rx393_eos, rx393_tgt - gt rx393_pos, rx393_eos, rx393_done - set rx393_off, 0 - lt rx393_pos, 2, rx393_start - sub rx393_off, rx393_pos, 1 - substr rx393_tgt, rx393_tgt, rx393_off - rx393_start: + length rx395_eos, rx395_tgt + gt rx395_pos, rx395_eos, rx395_done + set rx395_off, 0 + lt rx395_pos, 2, rx395_start + sub rx395_off, rx395_pos, 1 + substr rx395_tgt, rx395_tgt, rx395_off + rx395_start: $I10 = self.'from'() - ne $I10, -1, rxscan397_done - goto rxscan397_scan - rxscan397_loop: - ($P10) = rx393_cur."from"() + ne $I10, -1, rxscan399_done + goto rxscan399_scan + rxscan399_loop: + ($P10) = rx395_cur."from"() inc $P10 - set rx393_pos, $P10 - ge rx393_pos, rx393_eos, rxscan397_done - rxscan397_scan: - set_addr $I10, rxscan397_loop - rx393_cur."!mark_push"(0, rx393_pos, $I10) - rxscan397_done: + set rx395_pos, $P10 + ge rx395_pos, rx395_eos, rxscan399_done + rxscan399_scan: + set_addr $I10, rxscan399_loop + rx395_cur."!mark_push"(0, rx395_pos, $I10) + rxscan399_done: .annotate 'line', 215 # rx subcapture "sym" - set_addr $I10, rxcap_398_fail - rx393_cur."!mark_push"(0, rx393_pos, $I10) + set_addr $I10, rxcap_400_fail + rx395_cur."!mark_push"(0, rx395_pos, $I10) # rx literal "unless" - add $I11, rx393_pos, 6 - gt $I11, rx393_eos, rx393_fail - sub $I11, rx393_pos, rx393_off - substr $S10, rx393_tgt, $I11, 6 - ne $S10, "unless", rx393_fail - add rx393_pos, 6 - set_addr $I10, rxcap_398_fail - ($I12, $I11) = rx393_cur."!mark_peek"($I10) - rx393_cur."!cursor_pos"($I11) - ($P10) = rx393_cur."!cursor_start"() - $P10."!cursor_pass"(rx393_pos, "") - rx393_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx395_pos, 6 + gt $I11, rx395_eos, rx395_fail + sub $I11, rx395_pos, rx395_off + substr $S10, rx395_tgt, $I11, 6 + ne $S10, "unless", rx395_fail + add rx395_pos, 6 + set_addr $I10, rxcap_400_fail + ($I12, $I11) = rx395_cur."!mark_peek"($I10) + rx395_cur."!cursor_pos"($I11) + ($P10) = rx395_cur."!cursor_start"() + $P10."!cursor_pass"(rx395_pos, "") + rx395_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_398_done - rxcap_398_fail: - goto rx393_fail - rxcap_398_done: + goto rxcap_400_done + rxcap_400_fail: + goto rx395_fail + rxcap_400_done: # rx subrule "ws" subtype=method negate= - rx393_cur."!cursor_pos"(rx393_pos) - $P10 = rx393_cur."ws"() - unless $P10, rx393_fail - rx393_pos = $P10."pos"() + rx395_cur."!cursor_pos"(rx395_pos) + $P10 = rx395_cur."ws"() + unless $P10, rx395_fail + rx395_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx393_cur."!cursor_pos"(rx393_pos) - $P10 = rx393_cur."EXPR"() - unless $P10, rx393_fail - rx393_cur."!mark_push"(0, -1, 0, $P10) + rx395_cur."!cursor_pos"(rx395_pos) + $P10 = rx395_cur."EXPR"() + unless $P10, rx395_fail + rx395_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("cond") - rx393_pos = $P10."pos"() + rx395_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx393_cur."!cursor_pos"(rx393_pos) - $P10 = rx393_cur."ws"() - unless $P10, rx393_fail - rx393_pos = $P10."pos"() + rx395_cur."!cursor_pos"(rx395_pos) + $P10 = rx395_cur."ws"() + unless $P10, rx395_fail + rx395_pos = $P10."pos"() # rx pass - rx393_cur."!cursor_pass"(rx393_pos, "statement_mod_cond:sym") - rx393_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym", " at pos=", rx393_pos) - .return (rx393_cur) - rx393_fail: -.annotate 'line', 4 - (rx393_rep, rx393_pos, $I10, $P10) = rx393_cur."!mark_fail"(0) - lt rx393_pos, -1, rx393_done - eq rx393_pos, -1, rx393_fail + rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_cond:sym") + rx395_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym", " at pos=", rx395_pos) + .return (rx395_cur) + rx395_fail: +.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 - rx393_done: - rx393_cur."!cursor_fail"() - rx393_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym") - .return (rx393_cur) + rx395_done: + rx395_cur."!cursor_fail"() + rx395_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym") + .return (rx395_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_cond:sym" :subid("90_1276996322.81157") :method +.sub "!PREFIX__statement_mod_cond:sym" :subid("90_1278500537.15927") :method .annotate 'line', 4 - $P395 = self."!PREFIX__!subrule"("ws", "unless") - new $P396, "ResizablePMCArray" - push $P396, $P395 - .return ($P396) + $P397 = self."!PREFIX__!subrule"("ws", "unless") + new $P398, "ResizablePMCArray" + push $P398, $P397 + .return ($P398) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_loop" :subid("91_1276996322.81157") :method +.sub "statement_mod_loop" :subid("91_1278500537.15927") :method .annotate 'line', 217 - $P402 = self."!protoregex"("statement_mod_loop") - .return ($P402) + $P404 = self."!protoregex"("statement_mod_loop") + .return ($P404) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_loop" :subid("92_1276996322.81157") :method +.sub "!PREFIX__statement_mod_loop" :subid("92_1278500537.15927") :method .annotate 'line', 217 - $P404 = self."!PREFIX__!protoregex"("statement_mod_loop") - .return ($P404) + $P406 = self."!PREFIX__!protoregex"("statement_mod_loop") + .return ($P406) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_loop:sym" :subid("93_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_mod_loop:sym" :subid("93_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx406_tgt - .local int rx406_pos - .local int rx406_off - .local int rx406_eos - .local int rx406_rep - .local pmc rx406_cur - (rx406_cur, rx406_pos, rx406_tgt) = self."!cursor_start"() - rx406_cur."!cursor_debug"("START ", "statement_mod_loop:sym") - .lex unicode:"$\x{a2}", rx406_cur + .local string rx408_tgt + .local int rx408_pos + .local int rx408_off + .local int rx408_eos + .local int rx408_rep + .local pmc rx408_cur + (rx408_cur, rx408_pos, rx408_tgt) = self."!cursor_start"() + rx408_cur."!cursor_debug"("START ", "statement_mod_loop:sym") + .lex unicode:"$\x{a2}", rx408_cur .local pmc match .lex "$/", match - length rx406_eos, rx406_tgt - gt rx406_pos, rx406_eos, rx406_done - set rx406_off, 0 - lt rx406_pos, 2, rx406_start - sub rx406_off, rx406_pos, 1 - substr rx406_tgt, rx406_tgt, rx406_off - rx406_start: + length rx408_eos, rx408_tgt + gt rx408_pos, rx408_eos, rx408_done + set rx408_off, 0 + lt rx408_pos, 2, rx408_start + sub rx408_off, rx408_pos, 1 + substr rx408_tgt, rx408_tgt, rx408_off + rx408_start: $I10 = self.'from'() - ne $I10, -1, rxscan410_done - goto rxscan410_scan - rxscan410_loop: - ($P10) = rx406_cur."from"() + ne $I10, -1, rxscan412_done + goto rxscan412_scan + rxscan412_loop: + ($P10) = rx408_cur."from"() inc $P10 - set rx406_pos, $P10 - ge rx406_pos, rx406_eos, rxscan410_done - rxscan410_scan: - set_addr $I10, rxscan410_loop - rx406_cur."!mark_push"(0, rx406_pos, $I10) - rxscan410_done: + set rx408_pos, $P10 + ge rx408_pos, rx408_eos, rxscan412_done + rxscan412_scan: + set_addr $I10, rxscan412_loop + rx408_cur."!mark_push"(0, rx408_pos, $I10) + rxscan412_done: .annotate 'line', 219 # rx subcapture "sym" - set_addr $I10, rxcap_411_fail - rx406_cur."!mark_push"(0, rx406_pos, $I10) + set_addr $I10, rxcap_413_fail + rx408_cur."!mark_push"(0, rx408_pos, $I10) # rx literal "while" - add $I11, rx406_pos, 5 - gt $I11, rx406_eos, rx406_fail - sub $I11, rx406_pos, rx406_off - substr $S10, rx406_tgt, $I11, 5 - ne $S10, "while", rx406_fail - add rx406_pos, 5 - set_addr $I10, rxcap_411_fail - ($I12, $I11) = rx406_cur."!mark_peek"($I10) - rx406_cur."!cursor_pos"($I11) - ($P10) = rx406_cur."!cursor_start"() - $P10."!cursor_pass"(rx406_pos, "") - rx406_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx408_pos, 5 + gt $I11, rx408_eos, rx408_fail + sub $I11, rx408_pos, rx408_off + substr $S10, rx408_tgt, $I11, 5 + ne $S10, "while", rx408_fail + add rx408_pos, 5 + set_addr $I10, rxcap_413_fail + ($I12, $I11) = rx408_cur."!mark_peek"($I10) + rx408_cur."!cursor_pos"($I11) + ($P10) = rx408_cur."!cursor_start"() + $P10."!cursor_pass"(rx408_pos, "") + rx408_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_411_done - rxcap_411_fail: - goto rx406_fail - rxcap_411_done: + goto rxcap_413_done + rxcap_413_fail: + goto rx408_fail + rxcap_413_done: # rx subrule "ws" subtype=method negate= - rx406_cur."!cursor_pos"(rx406_pos) - $P10 = rx406_cur."ws"() - unless $P10, rx406_fail - rx406_pos = $P10."pos"() + rx408_cur."!cursor_pos"(rx408_pos) + $P10 = rx408_cur."ws"() + unless $P10, rx408_fail + rx408_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx406_cur."!cursor_pos"(rx406_pos) - $P10 = rx406_cur."EXPR"() - unless $P10, rx406_fail - rx406_cur."!mark_push"(0, -1, 0, $P10) + rx408_cur."!cursor_pos"(rx408_pos) + $P10 = rx408_cur."EXPR"() + unless $P10, rx408_fail + rx408_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("cond") - rx406_pos = $P10."pos"() + rx408_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx406_cur."!cursor_pos"(rx406_pos) - $P10 = rx406_cur."ws"() - unless $P10, rx406_fail - rx406_pos = $P10."pos"() + rx408_cur."!cursor_pos"(rx408_pos) + $P10 = rx408_cur."ws"() + unless $P10, rx408_fail + rx408_pos = $P10."pos"() # rx pass - rx406_cur."!cursor_pass"(rx406_pos, "statement_mod_loop:sym") - rx406_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym", " at pos=", rx406_pos) - .return (rx406_cur) - rx406_fail: -.annotate 'line', 4 - (rx406_rep, rx406_pos, $I10, $P10) = rx406_cur."!mark_fail"(0) - lt rx406_pos, -1, rx406_done - eq rx406_pos, -1, rx406_fail + rx408_cur."!cursor_pass"(rx408_pos, "statement_mod_loop:sym") + rx408_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym", " at pos=", rx408_pos) + .return (rx408_cur) + rx408_fail: +.annotate 'line', 4 + (rx408_rep, rx408_pos, $I10, $P10) = rx408_cur."!mark_fail"(0) + lt rx408_pos, -1, rx408_done + eq rx408_pos, -1, rx408_fail jump $I10 - rx406_done: - rx406_cur."!cursor_fail"() - rx406_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym") - .return (rx406_cur) + rx408_done: + rx408_cur."!cursor_fail"() + rx408_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym") + .return (rx408_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_loop:sym" :subid("94_1276996322.81157") :method +.sub "!PREFIX__statement_mod_loop:sym" :subid("94_1278500537.15927") :method .annotate 'line', 4 - $P408 = self."!PREFIX__!subrule"("ws", "while") - new $P409, "ResizablePMCArray" - push $P409, $P408 - .return ($P409) + $P410 = self."!PREFIX__!subrule"("ws", "while") + new $P411, "ResizablePMCArray" + push $P411, $P410 + .return ($P411) .end .namespace ["NQP";"Grammar"] -.sub "statement_mod_loop:sym" :subid("95_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_mod_loop:sym" :subid("95_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "statement_mod_loop:sym") - .lex unicode:"$\x{a2}", rx415_cur + .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 ", "statement_mod_loop:sym") + .lex unicode:"$\x{a2}", rx417_cur .local pmc match .lex "$/", match - length rx415_eos, rx415_tgt - gt rx415_pos, rx415_eos, rx415_done - 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: + length rx417_eos, rx417_tgt + gt rx417_pos, rx417_eos, rx417_done + 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, rxscan419_done - goto rxscan419_scan - rxscan419_loop: - ($P10) = rx415_cur."from"() + ne $I10, -1, rxscan421_done + goto rxscan421_scan + rxscan421_loop: + ($P10) = rx417_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: + 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', 220 # rx subcapture "sym" - set_addr $I10, rxcap_420_fail - rx415_cur."!mark_push"(0, rx415_pos, $I10) + set_addr $I10, rxcap_422_fail + rx417_cur."!mark_push"(0, rx417_pos, $I10) # rx literal "until" - add $I11, rx415_pos, 5 - gt $I11, rx415_eos, rx415_fail - sub $I11, rx415_pos, rx415_off - substr $S10, rx415_tgt, $I11, 5 - ne $S10, "until", rx415_fail - add rx415_pos, 5 - set_addr $I10, rxcap_420_fail - ($I12, $I11) = rx415_cur."!mark_peek"($I10) - rx415_cur."!cursor_pos"($I11) - ($P10) = rx415_cur."!cursor_start"() - $P10."!cursor_pass"(rx415_pos, "") - rx415_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx417_pos, 5 + gt $I11, rx417_eos, rx417_fail + sub $I11, rx417_pos, rx417_off + substr $S10, rx417_tgt, $I11, 5 + ne $S10, "until", rx417_fail + add rx417_pos, 5 + set_addr $I10, rxcap_422_fail + ($I12, $I11) = rx417_cur."!mark_peek"($I10) + rx417_cur."!cursor_pos"($I11) + ($P10) = rx417_cur."!cursor_start"() + $P10."!cursor_pass"(rx417_pos, "") + rx417_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_420_done - rxcap_420_fail: - goto rx415_fail - rxcap_420_done: + goto rxcap_422_done + rxcap_422_fail: + goto rx417_fail + rxcap_422_done: # rx subrule "ws" subtype=method negate= - rx415_cur."!cursor_pos"(rx415_pos) - $P10 = rx415_cur."ws"() - unless $P10, rx415_fail - rx415_pos = $P10."pos"() + rx417_cur."!cursor_pos"(rx417_pos) + $P10 = rx417_cur."ws"() + unless $P10, rx417_fail + rx417_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx415_cur."!cursor_pos"(rx415_pos) - $P10 = rx415_cur."EXPR"() - unless $P10, rx415_fail - rx415_cur."!mark_push"(0, -1, 0, $P10) + rx417_cur."!cursor_pos"(rx417_pos) + $P10 = rx417_cur."EXPR"() + unless $P10, rx417_fail + rx417_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("cond") - rx415_pos = $P10."pos"() + rx417_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx415_cur."!cursor_pos"(rx415_pos) - $P10 = rx415_cur."ws"() - unless $P10, rx415_fail - rx415_pos = $P10."pos"() + rx417_cur."!cursor_pos"(rx417_pos) + $P10 = rx417_cur."ws"() + unless $P10, rx417_fail + rx417_pos = $P10."pos"() # rx pass - rx415_cur."!cursor_pass"(rx415_pos, "statement_mod_loop:sym") - rx415_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym", " 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 + rx417_cur."!cursor_pass"(rx417_pos, "statement_mod_loop:sym") + rx417_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym", " 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 - rx415_done: - rx415_cur."!cursor_fail"() - rx415_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym") - .return (rx415_cur) + rx417_done: + rx417_cur."!cursor_fail"() + rx417_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym") + .return (rx417_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__statement_mod_loop:sym" :subid("96_1276996322.81157") :method +.sub "!PREFIX__statement_mod_loop:sym" :subid("96_1278500537.15927") :method .annotate 'line', 4 - $P417 = self."!PREFIX__!subrule"("ws", "until") - new $P418, "ResizablePMCArray" - push $P418, $P417 - .return ($P418) + $P419 = self."!PREFIX__!subrule"("ws", "until") + new $P420, "ResizablePMCArray" + push $P420, $P419 + .return ($P420) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("97_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "statement_mod_loop:sym" :subid("97_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx424_tgt - .local int rx424_pos - .local int rx424_off - .local int rx424_eos - .local int rx424_rep - .local pmc rx424_cur - (rx424_cur, rx424_pos, rx424_tgt) = self."!cursor_start"() - rx424_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx424_cur + .local string rx426_tgt + .local int rx426_pos + .local int rx426_off + .local int rx426_eos + .local int rx426_rep + .local pmc rx426_cur + (rx426_cur, rx426_pos, rx426_tgt) = self."!cursor_start"() + rx426_cur."!cursor_debug"("START ", "statement_mod_loop:sym") + .lex unicode:"$\x{a2}", rx426_cur .local pmc match .lex "$/", match - length rx424_eos, rx424_tgt - gt rx424_pos, rx424_eos, rx424_done - set rx424_off, 0 - lt rx424_pos, 2, rx424_start - sub rx424_off, rx424_pos, 1 - substr rx424_tgt, rx424_tgt, rx424_off - rx424_start: + length rx426_eos, rx426_tgt + gt rx426_pos, rx426_eos, rx426_done + set rx426_off, 0 + lt rx426_pos, 2, rx426_start + sub rx426_off, rx426_pos, 1 + substr rx426_tgt, rx426_tgt, rx426_off + rx426_start: $I10 = self.'from'() - ne $I10, -1, rxscan428_done - goto rxscan428_scan - rxscan428_loop: - ($P10) = rx424_cur."from"() + ne $I10, -1, rxscan430_done + goto rxscan430_scan + rxscan430_loop: + ($P10) = rx426_cur."from"() inc $P10 - set rx424_pos, $P10 - ge rx424_pos, rx424_eos, rxscan428_done - rxscan428_scan: - set_addr $I10, rxscan428_loop - rx424_cur."!mark_push"(0, rx424_pos, $I10) - rxscan428_done: -.annotate 'line', 224 - # rx subrule "fatarrow" subtype=capture negate= - rx424_cur."!cursor_pos"(rx424_pos) - $P10 = rx424_cur."fatarrow"() - unless $P10, rx424_fail - rx424_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("fatarrow") - rx424_pos = $P10."pos"() + set rx426_pos, $P10 + ge rx426_pos, rx426_eos, rxscan430_done + rxscan430_scan: + set_addr $I10, rxscan430_loop + rx426_cur."!mark_push"(0, rx426_pos, $I10) + rxscan430_done: +.annotate 'line', 221 + # rx subcapture "sym" + set_addr $I10, rxcap_431_fail + rx426_cur."!mark_push"(0, rx426_pos, $I10) + # rx literal "for" + add $I11, rx426_pos, 3 + gt $I11, rx426_eos, rx426_fail + sub $I11, rx426_pos, rx426_off + substr $S10, rx426_tgt, $I11, 3 + ne $S10, "for", rx426_fail + add rx426_pos, 3 + set_addr $I10, rxcap_431_fail + ($I12, $I11) = rx426_cur."!mark_peek"($I10) + rx426_cur."!cursor_pos"($I11) + ($P10) = rx426_cur."!cursor_start"() + $P10."!cursor_pass"(rx426_pos, "") + rx426_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_431_done + rxcap_431_fail: + goto rx426_fail + rxcap_431_done: + # rx subrule "ws" subtype=method negate= + rx426_cur."!cursor_pos"(rx426_pos) + $P10 = rx426_cur."ws"() + unless $P10, rx426_fail + rx426_pos = $P10."pos"() + # rx subrule "EXPR" subtype=capture negate= + rx426_cur."!cursor_pos"(rx426_pos) + $P10 = rx426_cur."EXPR"() + unless $P10, rx426_fail + rx426_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("cond") + rx426_pos = $P10."pos"() + # rx subrule "ws" subtype=method negate= + rx426_cur."!cursor_pos"(rx426_pos) + $P10 = rx426_cur."ws"() + unless $P10, rx426_fail + rx426_pos = $P10."pos"() # rx pass - rx424_cur."!cursor_pass"(rx424_pos, "term:sym") - rx424_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx424_pos) - .return (rx424_cur) - rx424_fail: -.annotate 'line', 4 - (rx424_rep, rx424_pos, $I10, $P10) = rx424_cur."!mark_fail"(0) - lt rx424_pos, -1, rx424_done - eq rx424_pos, -1, rx424_fail + rx426_cur."!cursor_pass"(rx426_pos, "statement_mod_loop:sym") + rx426_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym", " at pos=", rx426_pos) + .return (rx426_cur) + rx426_fail: +.annotate 'line', 4 + (rx426_rep, rx426_pos, $I10, $P10) = rx426_cur."!mark_fail"(0) + lt rx426_pos, -1, rx426_done + eq rx426_pos, -1, rx426_fail jump $I10 - rx424_done: - rx424_cur."!cursor_fail"() - rx424_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx424_cur) + rx426_done: + rx426_cur."!cursor_fail"() + rx426_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym") + .return (rx426_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("98_1276996322.81157") :method +.sub "!PREFIX__statement_mod_loop:sym" :subid("98_1278500537.15927") :method .annotate 'line', 4 - $P426 = self."!PREFIX__!subrule"("fatarrow", "") - new $P427, "ResizablePMCArray" - push $P427, $P426 - .return ($P427) + $P428 = self."!PREFIX__!subrule"("ws", "for") + new $P429, "ResizablePMCArray" + push $P429, $P428 + .return ($P429) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("99_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("99_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx430_tgt - .local int rx430_pos - .local int rx430_off - .local int rx430_eos - .local int rx430_rep - .local pmc rx430_cur - (rx430_cur, rx430_pos, rx430_tgt) = self."!cursor_start"() - rx430_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx430_cur + .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") + .lex unicode:"$\x{a2}", rx435_cur .local pmc match .lex "$/", match - length rx430_eos, rx430_tgt - gt rx430_pos, rx430_eos, rx430_done - set rx430_off, 0 - lt rx430_pos, 2, rx430_start - sub rx430_off, rx430_pos, 1 - substr rx430_tgt, rx430_tgt, rx430_off - rx430_start: + length rx435_eos, rx435_tgt + gt rx435_pos, rx435_eos, rx435_done + 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, rxscan434_done - goto rxscan434_scan - rxscan434_loop: - ($P10) = rx430_cur."from"() + ne $I10, -1, rxscan439_done + goto rxscan439_scan + rxscan439_loop: + ($P10) = rx435_cur."from"() inc $P10 - set rx430_pos, $P10 - ge rx430_pos, rx430_eos, rxscan434_done - rxscan434_scan: - set_addr $I10, rxscan434_loop - rx430_cur."!mark_push"(0, rx430_pos, $I10) - rxscan434_done: + 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 "colonpair" subtype=capture negate= - rx430_cur."!cursor_pos"(rx430_pos) - $P10 = rx430_cur."colonpair"() - unless $P10, rx430_fail - rx430_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("colonpair") - rx430_pos = $P10."pos"() + # rx subrule "fatarrow" subtype=capture negate= + rx435_cur."!cursor_pos"(rx435_pos) + $P10 = rx435_cur."fatarrow"() + unless $P10, rx435_fail + rx435_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("fatarrow") + rx435_pos = $P10."pos"() # rx pass - rx430_cur."!cursor_pass"(rx430_pos, "term:sym") - rx430_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx430_pos) - .return (rx430_cur) - rx430_fail: -.annotate 'line', 4 - (rx430_rep, rx430_pos, $I10, $P10) = rx430_cur."!mark_fail"(0) - lt rx430_pos, -1, rx430_done - eq rx430_pos, -1, rx430_fail + rx435_cur."!cursor_pass"(rx435_pos, "term:sym") + rx435_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx430_done: - rx430_cur."!cursor_fail"() - rx430_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx430_cur) + rx435_done: + rx435_cur."!cursor_fail"() + rx435_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx435_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("100_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("100_1278500537.15927") :method .annotate 'line', 4 - $P432 = self."!PREFIX__!subrule"("colonpair", "") - new $P433, "ResizablePMCArray" - push $P433, $P432 - .return ($P433) + $P437 = self."!PREFIX__!subrule"("fatarrow", "") + new $P438, "ResizablePMCArray" + push $P438, $P437 + .return ($P438) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("101_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("101_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx436_tgt - .local int rx436_pos - .local int rx436_off - .local int rx436_eos - .local int rx436_rep - .local pmc rx436_cur - (rx436_cur, rx436_pos, rx436_tgt) = self."!cursor_start"() - rx436_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx436_cur + .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") + .lex unicode:"$\x{a2}", rx441_cur .local pmc match .lex "$/", match - length rx436_eos, rx436_tgt - gt rx436_pos, rx436_eos, rx436_done - set rx436_off, 0 - lt rx436_pos, 2, rx436_start - sub rx436_off, rx436_pos, 1 - substr rx436_tgt, rx436_tgt, rx436_off - rx436_start: + length rx441_eos, rx441_tgt + gt rx441_pos, rx441_eos, rx441_done + 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, rxscan440_done - goto rxscan440_scan - rxscan440_loop: - ($P10) = rx436_cur."from"() + ne $I10, -1, rxscan445_done + goto rxscan445_scan + rxscan445_loop: + ($P10) = rx441_cur."from"() inc $P10 - set rx436_pos, $P10 - ge rx436_pos, rx436_eos, rxscan440_done - rxscan440_scan: - set_addr $I10, rxscan440_loop - rx436_cur."!mark_push"(0, rx436_pos, $I10) - rxscan440_done: + 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 "variable" subtype=capture negate= - rx436_cur."!cursor_pos"(rx436_pos) - $P10 = rx436_cur."variable"() - unless $P10, rx436_fail - rx436_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("variable") - rx436_pos = $P10."pos"() + # rx subrule "colonpair" subtype=capture negate= + rx441_cur."!cursor_pos"(rx441_pos) + $P10 = rx441_cur."colonpair"() + unless $P10, rx441_fail + rx441_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("colonpair") + rx441_pos = $P10."pos"() # rx pass - rx436_cur."!cursor_pass"(rx436_pos, "term:sym") - rx436_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx436_pos) - .return (rx436_cur) - rx436_fail: -.annotate 'line', 4 - (rx436_rep, rx436_pos, $I10, $P10) = rx436_cur."!mark_fail"(0) - lt rx436_pos, -1, rx436_done - eq rx436_pos, -1, rx436_fail + rx441_cur."!cursor_pass"(rx441_pos, "term:sym") + rx441_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx436_done: - rx436_cur."!cursor_fail"() - rx436_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx436_cur) + rx441_done: + rx441_cur."!cursor_fail"() + rx441_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx441_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("102_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("102_1278500537.15927") :method .annotate 'line', 4 - $P438 = self."!PREFIX__!subrule"("variable", "") - new $P439, "ResizablePMCArray" - push $P439, $P438 - .return ($P439) + $P443 = self."!PREFIX__!subrule"("colonpair", "") + new $P444, "ResizablePMCArray" + push $P444, $P443 + .return ($P444) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("103_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("103_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx442_tgt - .local int rx442_pos - .local int rx442_off - .local int rx442_eos - .local int rx442_rep - .local pmc rx442_cur - (rx442_cur, rx442_pos, rx442_tgt) = self."!cursor_start"() - rx442_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx442_cur + .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") + .lex unicode:"$\x{a2}", rx447_cur .local pmc match .lex "$/", match - length rx442_eos, rx442_tgt - gt rx442_pos, rx442_eos, rx442_done - set rx442_off, 0 - lt rx442_pos, 2, rx442_start - sub rx442_off, rx442_pos, 1 - substr rx442_tgt, rx442_tgt, rx442_off - rx442_start: + length rx447_eos, rx447_tgt + gt rx447_pos, rx447_eos, rx447_done + 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, rxscan446_done - goto rxscan446_scan - rxscan446_loop: - ($P10) = rx442_cur."from"() + ne $I10, -1, rxscan451_done + goto rxscan451_scan + rxscan451_loop: + ($P10) = rx447_cur."from"() inc $P10 - set rx442_pos, $P10 - ge rx442_pos, rx442_eos, rxscan446_done - rxscan446_scan: - set_addr $I10, rxscan446_loop - rx442_cur."!mark_push"(0, rx442_pos, $I10) - rxscan446_done: + 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 "package_declarator" subtype=capture negate= - rx442_cur."!cursor_pos"(rx442_pos) - $P10 = rx442_cur."package_declarator"() - unless $P10, rx442_fail - rx442_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("package_declarator") - rx442_pos = $P10."pos"() + # rx subrule "variable" subtype=capture negate= + rx447_cur."!cursor_pos"(rx447_pos) + $P10 = rx447_cur."variable"() + unless $P10, rx447_fail + rx447_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("variable") + rx447_pos = $P10."pos"() # rx pass - rx442_cur."!cursor_pass"(rx442_pos, "term:sym") - rx442_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx442_pos) - .return (rx442_cur) - rx442_fail: -.annotate 'line', 4 - (rx442_rep, rx442_pos, $I10, $P10) = rx442_cur."!mark_fail"(0) - lt rx442_pos, -1, rx442_done - eq rx442_pos, -1, rx442_fail + rx447_cur."!cursor_pass"(rx447_pos, "term:sym") + rx447_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx442_done: - rx442_cur."!cursor_fail"() - rx442_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx442_cur) + rx447_done: + rx447_cur."!cursor_fail"() + rx447_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx447_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("104_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("104_1278500537.15927") :method .annotate 'line', 4 - $P444 = self."!PREFIX__!subrule"("package_declarator", "") - new $P445, "ResizablePMCArray" - push $P445, $P444 - .return ($P445) + $P449 = self."!PREFIX__!subrule"("variable", "") + new $P450, "ResizablePMCArray" + push $P450, $P449 + .return ($P450) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("105_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("105_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx448_tgt - .local int rx448_pos - .local int rx448_off - .local int rx448_eos - .local int rx448_rep - .local pmc rx448_cur - (rx448_cur, rx448_pos, rx448_tgt) = self."!cursor_start"() - rx448_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx448_cur + .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") + .lex unicode:"$\x{a2}", rx453_cur .local pmc match .lex "$/", match - length rx448_eos, rx448_tgt - gt rx448_pos, rx448_eos, rx448_done - set rx448_off, 0 - lt rx448_pos, 2, rx448_start - sub rx448_off, rx448_pos, 1 - substr rx448_tgt, rx448_tgt, rx448_off - rx448_start: + length rx453_eos, rx453_tgt + gt rx453_pos, rx453_eos, rx453_done + 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, rxscan452_done - goto rxscan452_scan - rxscan452_loop: - ($P10) = rx448_cur."from"() + ne $I10, -1, rxscan457_done + goto rxscan457_scan + rxscan457_loop: + ($P10) = rx453_cur."from"() inc $P10 - set rx448_pos, $P10 - ge rx448_pos, rx448_eos, rxscan452_done - rxscan452_scan: - set_addr $I10, rxscan452_loop - rx448_cur."!mark_push"(0, rx448_pos, $I10) - rxscan452_done: + 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 "scope_declarator" subtype=capture negate= - rx448_cur."!cursor_pos"(rx448_pos) - $P10 = rx448_cur."scope_declarator"() - unless $P10, rx448_fail - rx448_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("scope_declarator") - rx448_pos = $P10."pos"() - # rx pass - rx448_cur."!cursor_pass"(rx448_pos, "term:sym") - rx448_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx448_pos) - .return (rx448_cur) - rx448_fail: -.annotate 'line', 4 - (rx448_rep, rx448_pos, $I10, $P10) = rx448_cur."!mark_fail"(0) - lt rx448_pos, -1, rx448_done - eq rx448_pos, -1, rx448_fail - jump $I10 - rx448_done: - rx448_cur."!cursor_fail"() - rx448_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx448_cur) - .return () -.end - - -.namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("106_1276996322.81157") :method -.annotate 'line', 4 - $P450 = self."!PREFIX__!subrule"("scope_declarator", "") - new $P451, "ResizablePMCArray" - push $P451, $P450 - .return ($P451) -.end - - -.namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("107_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 4 - .local string rx454_tgt - .local int rx454_pos - .local int rx454_off - .local int rx454_eos - .local int rx454_rep - .local pmc rx454_cur - (rx454_cur, rx454_pos, rx454_tgt) = self."!cursor_start"() - rx454_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx454_cur - .local pmc match - .lex "$/", match - length rx454_eos, rx454_tgt - gt rx454_pos, rx454_eos, rx454_done - set rx454_off, 0 - lt rx454_pos, 2, rx454_start - sub rx454_off, rx454_pos, 1 - substr rx454_tgt, rx454_tgt, rx454_off - rx454_start: - $I10 = self.'from'() - ne $I10, -1, rxscan458_done - goto rxscan458_scan - rxscan458_loop: - ($P10) = rx454_cur."from"() - inc $P10 - set rx454_pos, $P10 - ge rx454_pos, rx454_eos, rxscan458_done - rxscan458_scan: - set_addr $I10, rxscan458_loop - rx454_cur."!mark_push"(0, rx454_pos, $I10) - rxscan458_done: -.annotate 'line', 229 - # rx subrule "routine_declarator" subtype=capture negate= - rx454_cur."!cursor_pos"(rx454_pos) - $P10 = rx454_cur."routine_declarator"() - unless $P10, rx454_fail - rx454_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("routine_declarator") - rx454_pos = $P10."pos"() + # rx subrule "package_declarator" subtype=capture negate= + rx453_cur."!cursor_pos"(rx453_pos) + $P10 = rx453_cur."package_declarator"() + unless $P10, rx453_fail + rx453_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("package_declarator") + rx453_pos = $P10."pos"() # rx pass - rx454_cur."!cursor_pass"(rx454_pos, "term:sym") - rx454_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx454_pos) - .return (rx454_cur) - rx454_fail: -.annotate 'line', 4 - (rx454_rep, rx454_pos, $I10, $P10) = rx454_cur."!mark_fail"(0) - lt rx454_pos, -1, rx454_done - eq rx454_pos, -1, rx454_fail + rx453_cur."!cursor_pass"(rx453_pos, "term:sym") + rx453_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx454_done: - rx454_cur."!cursor_fail"() - rx454_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx454_cur) + rx453_done: + rx453_cur."!cursor_fail"() + rx453_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx453_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("108_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("106_1278500537.15927") :method .annotate 'line', 4 - $P456 = self."!PREFIX__!subrule"("routine_declarator", "") - new $P457, "ResizablePMCArray" - push $P457, $P456 - .return ($P457) + $P455 = self."!PREFIX__!subrule"("package_declarator", "") + new $P456, "ResizablePMCArray" + push $P456, $P455 + .return ($P456) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("109_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("107_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P465 = "111_1276996322.81157" - capture_lex $P465 - .local string rx460_tgt - .local int rx460_pos - .local int rx460_off - .local int rx460_eos - .local int rx460_rep - .local pmc rx460_cur - (rx460_cur, rx460_pos, rx460_tgt) = self."!cursor_start"() - rx460_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx460_cur + .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") + .lex unicode:"$\x{a2}", rx459_cur .local pmc match .lex "$/", match - length rx460_eos, rx460_tgt - gt rx460_pos, rx460_eos, rx460_done - set rx460_off, 0 - lt rx460_pos, 2, rx460_start - sub rx460_off, rx460_pos, 1 - substr rx460_tgt, rx460_tgt, rx460_off - rx460_start: + length rx459_eos, rx459_tgt + gt rx459_pos, rx459_eos, rx459_done + 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, rxscan463_done goto rxscan463_scan rxscan463_loop: - ($P10) = rx460_cur."from"() + ($P10) = rx459_cur."from"() inc $P10 - set rx460_pos, $P10 - ge rx460_pos, rx460_eos, rxscan463_done + set rx459_pos, $P10 + ge rx459_pos, rx459_eos, rxscan463_done rxscan463_scan: set_addr $I10, rxscan463_loop - rx460_cur."!mark_push"(0, rx460_pos, $I10) + rx459_cur."!mark_push"(0, rx459_pos, $I10) rxscan463_done: -.annotate 'line', 230 - # rx subrule "before" subtype=zerowidth negate= - rx460_cur."!cursor_pos"(rx460_pos) - .const 'Sub' $P465 = "111_1276996322.81157" - capture_lex $P465 - $P10 = rx460_cur."before"($P465) - unless $P10, rx460_fail - # rx subrule "multi_declarator" subtype=capture negate= - rx460_cur."!cursor_pos"(rx460_pos) - $P10 = rx460_cur."multi_declarator"() - unless $P10, rx460_fail - rx460_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("multi_declarator") - rx460_pos = $P10."pos"() +.annotate 'line', 229 + # rx subrule "scope_declarator" subtype=capture negate= + rx459_cur."!cursor_pos"(rx459_pos) + $P10 = rx459_cur."scope_declarator"() + unless $P10, rx459_fail + rx459_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("scope_declarator") + rx459_pos = $P10."pos"() # rx pass - rx460_cur."!cursor_pass"(rx460_pos, "term:sym") - rx460_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx460_pos) - .return (rx460_cur) - rx460_fail: -.annotate 'line', 4 - (rx460_rep, rx460_pos, $I10, $P10) = rx460_cur."!mark_fail"(0) - lt rx460_pos, -1, rx460_done - eq rx460_pos, -1, rx460_fail + rx459_cur."!cursor_pass"(rx459_pos, "term:sym") + rx459_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx460_done: - rx460_cur."!cursor_fail"() - rx460_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx460_cur) + rx459_done: + rx459_cur."!cursor_fail"() + rx459_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx459_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("110_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("108_1278500537.15927") :method .annotate 'line', 4 + $P461 = self."!PREFIX__!subrule"("scope_declarator", "") new $P462, "ResizablePMCArray" - push $P462, "" + push $P462, $P461 .return ($P462) .end .namespace ["NQP";"Grammar"] -.sub "_block464" :anon :subid("111_1276996322.81157") :method :outer("109_1276996322.81157") -.annotate 'line', 230 - .local string rx466_tgt - .local int rx466_pos - .local int rx466_off - .local int rx466_eos - .local int rx466_rep - .local pmc rx466_cur - (rx466_cur, rx466_pos, rx466_tgt) = self."!cursor_start"() - rx466_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx466_cur +.sub "term:sym" :subid("109_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 4 + .local string rx465_tgt + .local int rx465_pos + .local int rx465_off + .local int rx465_eos + .local int rx465_rep + .local pmc rx465_cur + (rx465_cur, rx465_pos, rx465_tgt) = self."!cursor_start"() + rx465_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx465_cur .local pmc match .lex "$/", match - length rx466_eos, rx466_tgt - gt rx466_pos, rx466_eos, rx466_done - set rx466_off, 0 - lt rx466_pos, 2, rx466_start - sub rx466_off, rx466_pos, 1 - substr rx466_tgt, rx466_tgt, rx466_off - rx466_start: + length rx465_eos, rx465_tgt + gt rx465_pos, rx465_eos, rx465_done + set rx465_off, 0 + lt rx465_pos, 2, rx465_start + sub rx465_off, rx465_pos, 1 + substr rx465_tgt, rx465_tgt, rx465_off + rx465_start: $I10 = self.'from'() - ne $I10, -1, rxscan467_done - goto rxscan467_scan - rxscan467_loop: - ($P10) = rx466_cur."from"() + ne $I10, -1, rxscan469_done + goto rxscan469_scan + rxscan469_loop: + ($P10) = rx465_cur."from"() inc $P10 - set rx466_pos, $P10 - ge rx466_pos, rx466_eos, rxscan467_done - rxscan467_scan: - set_addr $I10, rxscan467_loop - rx466_cur."!mark_push"(0, rx466_pos, $I10) - rxscan467_done: - alt468_0: - set_addr $I10, alt468_1 - rx466_cur."!mark_push"(0, rx466_pos, $I10) - # rx literal "multi" - add $I11, rx466_pos, 5 - gt $I11, rx466_eos, rx466_fail - sub $I11, rx466_pos, rx466_off - substr $S10, rx466_tgt, $I11, 5 - ne $S10, "multi", rx466_fail - add rx466_pos, 5 - goto alt468_end - alt468_1: - set_addr $I10, alt468_2 - rx466_cur."!mark_push"(0, rx466_pos, $I10) - # rx literal "proto" - add $I11, rx466_pos, 5 - gt $I11, rx466_eos, rx466_fail - sub $I11, rx466_pos, rx466_off - substr $S10, rx466_tgt, $I11, 5 - ne $S10, "proto", rx466_fail - add rx466_pos, 5 - goto alt468_end - alt468_2: - # rx literal "only" - add $I11, rx466_pos, 4 - gt $I11, rx466_eos, rx466_fail - sub $I11, rx466_pos, rx466_off - substr $S10, rx466_tgt, $I11, 4 - ne $S10, "only", rx466_fail - add rx466_pos, 4 - alt468_end: + set rx465_pos, $P10 + ge rx465_pos, rx465_eos, rxscan469_done + rxscan469_scan: + set_addr $I10, rxscan469_loop + rx465_cur."!mark_push"(0, rx465_pos, $I10) + rxscan469_done: +.annotate 'line', 230 + # rx subrule "routine_declarator" subtype=capture negate= + rx465_cur."!cursor_pos"(rx465_pos) + $P10 = rx465_cur."routine_declarator"() + unless $P10, rx465_fail + rx465_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("routine_declarator") + rx465_pos = $P10."pos"() # rx pass - rx466_cur."!cursor_pass"(rx466_pos, "") - rx466_cur."!cursor_debug"("PASS ", "", " at pos=", rx466_pos) - .return (rx466_cur) - rx466_fail: - (rx466_rep, rx466_pos, $I10, $P10) = rx466_cur."!mark_fail"(0) - lt rx466_pos, -1, rx466_done - eq rx466_pos, -1, rx466_fail + rx465_cur."!cursor_pass"(rx465_pos, "term:sym") + rx465_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx465_pos) + .return (rx465_cur) + rx465_fail: +.annotate 'line', 4 + (rx465_rep, rx465_pos, $I10, $P10) = rx465_cur."!mark_fail"(0) + lt rx465_pos, -1, rx465_done + eq rx465_pos, -1, rx465_fail jump $I10 - rx466_done: - rx466_cur."!cursor_fail"() - rx466_cur."!cursor_debug"("FAIL ", "") - .return (rx466_cur) + rx465_done: + rx465_cur."!cursor_fail"() + rx465_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx465_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("112_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "!PREFIX__term:sym" :subid("110_1278500537.15927") :method +.annotate 'line', 4 + $P467 = self."!PREFIX__!subrule"("routine_declarator", "") + new $P468, "ResizablePMCArray" + push $P468, $P467 + .return ($P468) +.end + + +.namespace ["NQP";"Grammar"] +.sub "term:sym" :subid("111_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx470_tgt - .local int rx470_pos - .local int rx470_off - .local int rx470_eos - .local int rx470_rep - .local pmc rx470_cur - (rx470_cur, rx470_pos, rx470_tgt) = self."!cursor_start"() - rx470_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx470_cur + .const 'Sub' $P476 = "113_1278500537.15927" + capture_lex $P476 + .local string rx471_tgt + .local int rx471_pos + .local int rx471_off + .local int rx471_eos + .local int rx471_rep + .local pmc rx471_cur + (rx471_cur, rx471_pos, rx471_tgt) = self."!cursor_start"() + rx471_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx471_cur .local pmc match .lex "$/", match - length rx470_eos, rx470_tgt - gt rx470_pos, rx470_eos, rx470_done - set rx470_off, 0 - lt rx470_pos, 2, rx470_start - sub rx470_off, rx470_pos, 1 - substr rx470_tgt, rx470_tgt, rx470_off - rx470_start: + length rx471_eos, rx471_tgt + gt rx471_pos, rx471_eos, rx471_done + set rx471_off, 0 + lt rx471_pos, 2, rx471_start + sub rx471_off, rx471_pos, 1 + substr rx471_tgt, rx471_tgt, rx471_off + rx471_start: $I10 = self.'from'() ne $I10, -1, rxscan474_done goto rxscan474_scan rxscan474_loop: - ($P10) = rx470_cur."from"() + ($P10) = rx471_cur."from"() inc $P10 - set rx470_pos, $P10 - ge rx470_pos, rx470_eos, rxscan474_done + set rx471_pos, $P10 + ge rx471_pos, rx471_eos, rxscan474_done rxscan474_scan: set_addr $I10, rxscan474_loop - rx470_cur."!mark_push"(0, rx470_pos, $I10) + rx471_cur."!mark_push"(0, rx471_pos, $I10) rxscan474_done: .annotate 'line', 231 - # rx subrule "regex_declarator" subtype=capture negate= - rx470_cur."!cursor_pos"(rx470_pos) - $P10 = rx470_cur."regex_declarator"() - unless $P10, rx470_fail - rx470_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("regex_declarator") - rx470_pos = $P10."pos"() + # rx subrule "before" subtype=zerowidth negate= + rx471_cur."!cursor_pos"(rx471_pos) + .const 'Sub' $P476 = "113_1278500537.15927" + capture_lex $P476 + $P10 = rx471_cur."before"($P476) + unless $P10, rx471_fail + # rx subrule "multi_declarator" subtype=capture negate= + rx471_cur."!cursor_pos"(rx471_pos) + $P10 = rx471_cur."multi_declarator"() + unless $P10, rx471_fail + rx471_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("multi_declarator") + rx471_pos = $P10."pos"() # rx pass - rx470_cur."!cursor_pass"(rx470_pos, "term:sym") - rx470_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx470_pos) - .return (rx470_cur) - rx470_fail: -.annotate 'line', 4 - (rx470_rep, rx470_pos, $I10, $P10) = rx470_cur."!mark_fail"(0) - lt rx470_pos, -1, rx470_done - eq rx470_pos, -1, rx470_fail + rx471_cur."!cursor_pass"(rx471_pos, "term:sym") + rx471_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx471_pos) + .return (rx471_cur) + rx471_fail: +.annotate 'line', 4 + (rx471_rep, rx471_pos, $I10, $P10) = rx471_cur."!mark_fail"(0) + lt rx471_pos, -1, rx471_done + eq rx471_pos, -1, rx471_fail jump $I10 - rx470_done: - rx470_cur."!cursor_fail"() - rx470_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx470_cur) + rx471_done: + rx471_cur."!cursor_fail"() + rx471_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx471_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("113_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("112_1278500537.15927") :method .annotate 'line', 4 - $P472 = self."!PREFIX__!subrule"("regex_declarator", "") new $P473, "ResizablePMCArray" - push $P473, $P472 + push $P473, "" .return ($P473) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("114_1276996322.81157") :method :outer("11_1276996322.81157") -.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 ", "term:sym") - .lex unicode:"$\x{a2}", rx476_cur +.sub "_block475" :anon :subid("113_1278500537.15927") :method :outer("111_1278500537.15927") +.annotate 'line', 231 + .local string rx477_tgt + .local int rx477_pos + .local int rx477_off + .local int rx477_eos + .local int rx477_rep + .local pmc rx477_cur + (rx477_cur, rx477_pos, rx477_tgt) = self."!cursor_start"() + rx477_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx477_cur .local pmc match .lex "$/", match - length rx476_eos, rx476_tgt - gt rx476_pos, rx476_eos, rx476_done - 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: + length rx477_eos, rx477_tgt + gt rx477_pos, rx477_eos, rx477_done + set rx477_off, 0 + lt rx477_pos, 2, rx477_start + sub rx477_off, rx477_pos, 1 + substr rx477_tgt, rx477_tgt, rx477_off + rx477_start: $I10 = self.'from'() - ne $I10, -1, rxscan480_done - goto rxscan480_scan - rxscan480_loop: - ($P10) = rx476_cur."from"() + ne $I10, -1, rxscan478_done + goto rxscan478_scan + rxscan478_loop: + ($P10) = rx477_cur."from"() inc $P10 - set rx476_pos, $P10 - ge rx476_pos, rx476_eos, rxscan480_done - rxscan480_scan: - set_addr $I10, rxscan480_loop - rx476_cur."!mark_push"(0, rx476_pos, $I10) - rxscan480_done: -.annotate 'line', 232 - # rx subrule "statement_prefix" subtype=capture negate= - rx476_cur."!cursor_pos"(rx476_pos) - $P10 = rx476_cur."statement_prefix"() - unless $P10, rx476_fail - rx476_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("statement_prefix") - rx476_pos = $P10."pos"() + set rx477_pos, $P10 + ge rx477_pos, rx477_eos, rxscan478_done + rxscan478_scan: + set_addr $I10, rxscan478_loop + rx477_cur."!mark_push"(0, rx477_pos, $I10) + rxscan478_done: + alt479_0: + set_addr $I10, alt479_1 + rx477_cur."!mark_push"(0, rx477_pos, $I10) + # rx literal "multi" + add $I11, rx477_pos, 5 + gt $I11, rx477_eos, rx477_fail + sub $I11, rx477_pos, rx477_off + substr $S10, rx477_tgt, $I11, 5 + ne $S10, "multi", rx477_fail + add rx477_pos, 5 + goto alt479_end + alt479_1: + set_addr $I10, alt479_2 + rx477_cur."!mark_push"(0, rx477_pos, $I10) + # rx literal "proto" + add $I11, rx477_pos, 5 + gt $I11, rx477_eos, rx477_fail + sub $I11, rx477_pos, rx477_off + substr $S10, rx477_tgt, $I11, 5 + ne $S10, "proto", rx477_fail + add rx477_pos, 5 + goto alt479_end + alt479_2: + # rx literal "only" + add $I11, rx477_pos, 4 + gt $I11, rx477_eos, rx477_fail + sub $I11, rx477_pos, rx477_off + substr $S10, rx477_tgt, $I11, 4 + ne $S10, "only", rx477_fail + add rx477_pos, 4 + alt479_end: # rx pass - rx476_cur."!cursor_pass"(rx476_pos, "term:sym") - rx476_cur."!cursor_debug"("PASS ", "term:sym", " 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 + rx477_cur."!cursor_pass"(rx477_pos, "") + rx477_cur."!cursor_debug"("PASS ", "", " at pos=", rx477_pos) + .return (rx477_cur) + rx477_fail: + (rx477_rep, rx477_pos, $I10, $P10) = rx477_cur."!mark_fail"(0) + lt rx477_pos, -1, rx477_done + eq rx477_pos, -1, rx477_fail jump $I10 - rx476_done: - rx476_cur."!cursor_fail"() - rx476_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx476_cur) + rx477_done: + rx477_cur."!cursor_fail"() + rx477_cur."!cursor_debug"("FAIL ", "") + .return (rx477_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("115_1276996322.81157") :method -.annotate 'line', 4 - $P478 = self."!PREFIX__!subrule"("statement_prefix", "") - new $P479, "ResizablePMCArray" - push $P479, $P478 - .return ($P479) -.end - - -.namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("116_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("114_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx482_tgt - .local int rx482_pos - .local int rx482_off - .local int rx482_eos - .local int rx482_rep - .local pmc rx482_cur - (rx482_cur, rx482_pos, rx482_tgt) = self."!cursor_start"() - rx482_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx482_cur + .local string rx481_tgt + .local int rx481_pos + .local int rx481_off + .local int rx481_eos + .local int rx481_rep + .local pmc rx481_cur + (rx481_cur, rx481_pos, rx481_tgt) = self."!cursor_start"() + rx481_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx481_cur .local pmc match .lex "$/", match - length rx482_eos, rx482_tgt - gt rx482_pos, rx482_eos, rx482_done - set rx482_off, 0 - lt rx482_pos, 2, rx482_start - sub rx482_off, rx482_pos, 1 - substr rx482_tgt, rx482_tgt, rx482_off - rx482_start: + length rx481_eos, rx481_tgt + gt rx481_pos, rx481_eos, rx481_done + set rx481_off, 0 + lt rx481_pos, 2, rx481_start + sub rx481_off, rx481_pos, 1 + substr rx481_tgt, rx481_tgt, rx481_off + rx481_start: $I10 = self.'from'() ne $I10, -1, rxscan485_done goto rxscan485_scan rxscan485_loop: - ($P10) = rx482_cur."from"() + ($P10) = rx481_cur."from"() inc $P10 - set rx482_pos, $P10 - ge rx482_pos, rx482_eos, rxscan485_done + set rx481_pos, $P10 + ge rx481_pos, rx481_eos, rxscan485_done rxscan485_scan: set_addr $I10, rxscan485_loop - rx482_cur."!mark_push"(0, rx482_pos, $I10) + rx481_cur."!mark_push"(0, rx481_pos, $I10) rxscan485_done: -.annotate 'line', 233 - # rx subrule "lambda" subtype=zerowidth negate= - rx482_cur."!cursor_pos"(rx482_pos) - $P10 = rx482_cur."lambda"() - unless $P10, rx482_fail - # rx subrule "pblock" subtype=capture negate= - rx482_cur."!cursor_pos"(rx482_pos) - $P10 = rx482_cur."pblock"() - unless $P10, rx482_fail - rx482_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("pblock") - rx482_pos = $P10."pos"() +.annotate 'line', 232 + # rx subrule "regex_declarator" subtype=capture negate= + rx481_cur."!cursor_pos"(rx481_pos) + $P10 = rx481_cur."regex_declarator"() + unless $P10, rx481_fail + rx481_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("regex_declarator") + rx481_pos = $P10."pos"() # rx pass - rx482_cur."!cursor_pass"(rx482_pos, "term:sym") - rx482_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx482_pos) - .return (rx482_cur) - rx482_fail: -.annotate 'line', 4 - (rx482_rep, rx482_pos, $I10, $P10) = rx482_cur."!mark_fail"(0) - lt rx482_pos, -1, rx482_done - eq rx482_pos, -1, rx482_fail + rx481_cur."!cursor_pass"(rx481_pos, "term:sym") + rx481_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx481_pos) + .return (rx481_cur) + rx481_fail: +.annotate 'line', 4 + (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0) + lt rx481_pos, -1, rx481_done + eq rx481_pos, -1, rx481_fail jump $I10 - rx482_done: - rx482_cur."!cursor_fail"() - rx482_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx482_cur) + rx481_done: + rx481_cur."!cursor_fail"() + rx481_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx481_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("117_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("115_1278500537.15927") :method .annotate 'line', 4 + $P483 = self."!PREFIX__!subrule"("regex_declarator", "") new $P484, "ResizablePMCArray" - push $P484, "" + push $P484, $P483 .return ($P484) .end .namespace ["NQP";"Grammar"] -.sub "fatarrow" :subid("118_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("116_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 .local string rx487_tgt .local int rx487_pos @@ -5967,7 +5952,7 @@ NQP::Compiler - NQP compiler .local int rx487_rep .local pmc rx487_cur (rx487_cur, rx487_pos, rx487_tgt) = self."!cursor_start"() - rx487_cur."!cursor_debug"("START ", "fatarrow") + rx487_cur."!cursor_debug"("START ", "term:sym") .lex unicode:"$\x{a2}", rx487_cur .local pmc match .lex "$/", match @@ -5990,52 +5975,17 @@ NQP::Compiler - NQP compiler set_addr $I10, rxscan491_loop rx487_cur."!mark_push"(0, rx487_pos, $I10) rxscan491_done: -.annotate 'line', 236 - # rx subrule "identifier" subtype=capture negate= +.annotate 'line', 233 + # rx subrule "statement_prefix" subtype=capture negate= rx487_cur."!cursor_pos"(rx487_pos) - $P10 = rx487_cur."identifier"() + $P10 = rx487_cur."statement_prefix"() unless $P10, rx487_fail rx487_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("key") + $P10."!cursor_names"("statement_prefix") rx487_pos = $P10."pos"() - # rx rxquantr492 ** 0..* - set_addr $I493, rxquantr492_done - rx487_cur."!mark_push"(0, rx487_pos, $I493) - rxquantr492_loop: - # rx enumcharlist negate=0 - ge rx487_pos, rx487_eos, rx487_fail - sub $I10, rx487_pos, rx487_off - substr $S10, rx487_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, rx487_fail - inc rx487_pos - (rx487_rep) = rx487_cur."!mark_commit"($I493) - rx487_cur."!mark_push"(rx487_rep, rx487_pos, $I493) - goto rxquantr492_loop - rxquantr492_done: - # rx literal "=>" - add $I11, rx487_pos, 2 - gt $I11, rx487_eos, rx487_fail - sub $I11, rx487_pos, rx487_off - substr $S10, rx487_tgt, $I11, 2 - ne $S10, "=>", rx487_fail - add rx487_pos, 2 - # rx subrule "ws" subtype=method negate= - rx487_cur."!cursor_pos"(rx487_pos) - $P10 = rx487_cur."ws"() - unless $P10, rx487_fail - rx487_pos = $P10."pos"() - # rx subrule "EXPR" subtype=capture negate= - rx487_cur."!cursor_pos"(rx487_pos) - $P10 = rx487_cur."EXPR"("i=") - unless $P10, rx487_fail - rx487_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("val") - rx487_pos = $P10."pos"() -.annotate 'line', 235 # rx pass - rx487_cur."!cursor_pass"(rx487_pos, "fatarrow") - rx487_cur."!cursor_debug"("PASS ", "fatarrow", " at pos=", rx487_pos) + rx487_cur."!cursor_pass"(rx487_pos, "term:sym") + rx487_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx487_pos) .return (rx487_cur) rx487_fail: .annotate 'line', 4 @@ -6045,16 +5995,16 @@ NQP::Compiler - NQP compiler jump $I10 rx487_done: rx487_cur."!cursor_fail"() - rx487_cur."!cursor_debug"("FAIL ", "fatarrow") + rx487_cur."!cursor_debug"("FAIL ", "term:sym") .return (rx487_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__fatarrow" :subid("119_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("117_1278500537.15927") :method .annotate 'line', 4 - $P489 = self."!PREFIX__!subrule"("identifier", "") + $P489 = self."!PREFIX__!subrule"("statement_prefix", "") new $P490, "ResizablePMCArray" push $P490, $P489 .return ($P490) @@ -6062,4553 +6012,4560 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Grammar"] -.sub "colonpair" :subid("120_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("118_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx495_tgt - .local int rx495_pos - .local int rx495_off - .local int rx495_eos - .local int rx495_rep - .local pmc rx495_cur - (rx495_cur, rx495_pos, rx495_tgt) = self."!cursor_start"() - rx495_cur."!cursor_debug"("START ", "colonpair") - rx495_cur."!cursor_caparray"("circumfix") - .lex unicode:"$\x{a2}", rx495_cur + .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 ", "term:sym") + .lex unicode:"$\x{a2}", rx493_cur .local pmc match .lex "$/", match - length rx495_eos, rx495_tgt - gt rx495_pos, rx495_eos, rx495_done - set rx495_off, 0 - lt rx495_pos, 2, rx495_start - sub rx495_off, rx495_pos, 1 - substr rx495_tgt, rx495_tgt, rx495_off - rx495_start: + length rx493_eos, rx493_tgt + gt rx493_pos, rx493_eos, rx493_done + 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, rxscan501_done - goto rxscan501_scan - rxscan501_loop: - ($P10) = rx495_cur."from"() + ne $I10, -1, rxscan496_done + goto rxscan496_scan + rxscan496_loop: + ($P10) = rx493_cur."from"() inc $P10 - set rx495_pos, $P10 - ge rx495_pos, rx495_eos, rxscan501_done - rxscan501_scan: - set_addr $I10, rxscan501_loop - rx495_cur."!mark_push"(0, rx495_pos, $I10) - rxscan501_done: -.annotate 'line', 240 - # rx literal ":" - add $I11, rx495_pos, 1 - gt $I11, rx495_eos, rx495_fail - sub $I11, rx495_pos, rx495_off - substr $S10, rx495_tgt, $I11, 1 - ne $S10, ":", rx495_fail - add rx495_pos, 1 - alt502_0: + 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', 234 + # rx subrule "lambda" subtype=zerowidth negate= + rx493_cur."!cursor_pos"(rx493_pos) + $P10 = rx493_cur."lambda"() + unless $P10, rx493_fail + # rx subrule "pblock" subtype=capture negate= + rx493_cur."!cursor_pos"(rx493_pos) + $P10 = rx493_cur."pblock"() + unless $P10, rx493_fail + rx493_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("pblock") + rx493_pos = $P10."pos"() + # rx pass + rx493_cur."!cursor_pass"(rx493_pos, "term:sym") + rx493_cur."!cursor_debug"("PASS ", "term:sym", " 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 + jump $I10 + rx493_done: + rx493_cur."!cursor_fail"() + rx493_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx493_cur) + .return () +.end + + +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__term:sym" :subid("119_1278500537.15927") :method +.annotate 'line', 4 + new $P495, "ResizablePMCArray" + push $P495, "" + .return ($P495) +.end + + +.namespace ["NQP";"Grammar"] +.sub "fatarrow" :subid("120_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 4 + .local string rx498_tgt + .local int rx498_pos + .local int rx498_off + .local int rx498_eos + .local int rx498_rep + .local pmc rx498_cur + (rx498_cur, rx498_pos, rx498_tgt) = self."!cursor_start"() + rx498_cur."!cursor_debug"("START ", "fatarrow") + .lex unicode:"$\x{a2}", rx498_cur + .local pmc match + .lex "$/", match + length rx498_eos, rx498_tgt + gt rx498_pos, rx498_eos, rx498_done + set rx498_off, 0 + lt rx498_pos, 2, rx498_start + sub rx498_off, rx498_pos, 1 + substr rx498_tgt, rx498_tgt, rx498_off + rx498_start: + $I10 = self.'from'() + ne $I10, -1, rxscan502_done + goto rxscan502_scan + rxscan502_loop: + ($P10) = rx498_cur."from"() + inc $P10 + set rx498_pos, $P10 + ge rx498_pos, rx498_eos, rxscan502_done + rxscan502_scan: + set_addr $I10, rxscan502_loop + rx498_cur."!mark_push"(0, rx498_pos, $I10) + rxscan502_done: +.annotate 'line', 237 + # rx subrule "identifier" subtype=capture negate= + rx498_cur."!cursor_pos"(rx498_pos) + $P10 = rx498_cur."identifier"() + unless $P10, rx498_fail + rx498_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("key") + rx498_pos = $P10."pos"() + # rx rxquantr503 ** 0..* + set_addr $I504, rxquantr503_done + rx498_cur."!mark_push"(0, rx498_pos, $I504) + rxquantr503_loop: + # rx enumcharlist negate=0 + ge rx498_pos, rx498_eos, rx498_fail + sub $I10, rx498_pos, rx498_off + substr $S10, rx498_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, rx498_fail + inc rx498_pos + (rx498_rep) = rx498_cur."!mark_commit"($I504) + rx498_cur."!mark_push"(rx498_rep, rx498_pos, $I504) + goto rxquantr503_loop + rxquantr503_done: + # rx literal "=>" + add $I11, rx498_pos, 2 + gt $I11, rx498_eos, rx498_fail + sub $I11, rx498_pos, rx498_off + substr $S10, rx498_tgt, $I11, 2 + ne $S10, "=>", rx498_fail + add rx498_pos, 2 + # rx subrule "ws" subtype=method negate= + rx498_cur."!cursor_pos"(rx498_pos) + $P10 = rx498_cur."ws"() + unless $P10, rx498_fail + rx498_pos = $P10."pos"() + # rx subrule "EXPR" subtype=capture negate= + rx498_cur."!cursor_pos"(rx498_pos) + $P10 = rx498_cur."EXPR"("i=") + unless $P10, rx498_fail + rx498_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("val") + rx498_pos = $P10."pos"() +.annotate 'line', 236 + # rx pass + rx498_cur."!cursor_pass"(rx498_pos, "fatarrow") + rx498_cur."!cursor_debug"("PASS ", "fatarrow", " at pos=", rx498_pos) + .return (rx498_cur) + rx498_fail: +.annotate 'line', 4 + (rx498_rep, rx498_pos, $I10, $P10) = rx498_cur."!mark_fail"(0) + lt rx498_pos, -1, rx498_done + eq rx498_pos, -1, rx498_fail + jump $I10 + rx498_done: + rx498_cur."!cursor_fail"() + rx498_cur."!cursor_debug"("FAIL ", "fatarrow") + .return (rx498_cur) + .return () +.end + + +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__fatarrow" :subid("121_1278500537.15927") :method +.annotate 'line', 4 + $P500 = self."!PREFIX__!subrule"("identifier", "") + new $P501, "ResizablePMCArray" + push $P501, $P500 + .return ($P501) +.end + + +.namespace ["NQP";"Grammar"] +.sub "colonpair" :subid("122_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 4 + .local string rx506_tgt + .local int rx506_pos + .local int rx506_off + .local int rx506_eos + .local int rx506_rep + .local pmc rx506_cur + (rx506_cur, rx506_pos, rx506_tgt) = self."!cursor_start"() + rx506_cur."!cursor_debug"("START ", "colonpair") + rx506_cur."!cursor_caparray"("circumfix") + .lex unicode:"$\x{a2}", rx506_cur + .local pmc match + .lex "$/", match + length rx506_eos, rx506_tgt + gt rx506_pos, rx506_eos, rx506_done + set rx506_off, 0 + lt rx506_pos, 2, rx506_start + sub rx506_off, rx506_pos, 1 + substr rx506_tgt, rx506_tgt, rx506_off + rx506_start: + $I10 = self.'from'() + ne $I10, -1, rxscan512_done + goto rxscan512_scan + rxscan512_loop: + ($P10) = rx506_cur."from"() + inc $P10 + set rx506_pos, $P10 + ge rx506_pos, rx506_eos, rxscan512_done + rxscan512_scan: + set_addr $I10, rxscan512_loop + rx506_cur."!mark_push"(0, rx506_pos, $I10) + rxscan512_done: .annotate 'line', 241 - set_addr $I10, alt502_1 - rx495_cur."!mark_push"(0, rx495_pos, $I10) + # rx literal ":" + add $I11, rx506_pos, 1 + gt $I11, rx506_eos, rx506_fail + sub $I11, rx506_pos, rx506_off + substr $S10, rx506_tgt, $I11, 1 + ne $S10, ":", rx506_fail + add rx506_pos, 1 + alt513_0: .annotate 'line', 242 + set_addr $I10, alt513_1 + rx506_cur."!mark_push"(0, rx506_pos, $I10) +.annotate 'line', 243 # rx subcapture "not" - set_addr $I10, rxcap_503_fail - rx495_cur."!mark_push"(0, rx495_pos, $I10) + set_addr $I10, rxcap_514_fail + rx506_cur."!mark_push"(0, rx506_pos, $I10) # rx literal "!" - add $I11, rx495_pos, 1 - gt $I11, rx495_eos, rx495_fail - sub $I11, rx495_pos, rx495_off - substr $S10, rx495_tgt, $I11, 1 - ne $S10, "!", rx495_fail - add rx495_pos, 1 - set_addr $I10, rxcap_503_fail - ($I12, $I11) = rx495_cur."!mark_peek"($I10) - rx495_cur."!cursor_pos"($I11) - ($P10) = rx495_cur."!cursor_start"() - $P10."!cursor_pass"(rx495_pos, "") - rx495_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx506_pos, 1 + gt $I11, rx506_eos, rx506_fail + sub $I11, rx506_pos, rx506_off + substr $S10, rx506_tgt, $I11, 1 + ne $S10, "!", rx506_fail + add rx506_pos, 1 + set_addr $I10, rxcap_514_fail + ($I12, $I11) = rx506_cur."!mark_peek"($I10) + rx506_cur."!cursor_pos"($I11) + ($P10) = rx506_cur."!cursor_start"() + $P10."!cursor_pass"(rx506_pos, "") + rx506_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("not") - goto rxcap_503_done - rxcap_503_fail: - goto rx495_fail - rxcap_503_done: + goto rxcap_514_done + rxcap_514_fail: + goto rx506_fail + rxcap_514_done: # rx subrule "identifier" subtype=capture negate= - rx495_cur."!cursor_pos"(rx495_pos) - $P10 = rx495_cur."identifier"() - unless $P10, rx495_fail - rx495_cur."!mark_push"(0, -1, 0, $P10) + rx506_cur."!cursor_pos"(rx506_pos) + $P10 = rx506_cur."identifier"() + unless $P10, rx506_fail + rx506_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx495_pos = $P10."pos"() - goto alt502_end - alt502_1: - set_addr $I10, alt502_2 - rx495_cur."!mark_push"(0, rx495_pos, $I10) -.annotate 'line', 243 + rx506_pos = $P10."pos"() + goto alt513_end + alt513_1: + set_addr $I10, alt513_2 + rx506_cur."!mark_push"(0, rx506_pos, $I10) +.annotate 'line', 244 # rx subrule "identifier" subtype=capture negate= - rx495_cur."!cursor_pos"(rx495_pos) - $P10 = rx495_cur."identifier"() - unless $P10, rx495_fail - rx495_cur."!mark_push"(0, -1, 0, $P10) + rx506_cur."!cursor_pos"(rx506_pos) + $P10 = rx506_cur."identifier"() + unless $P10, rx506_fail + rx506_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("identifier") - rx495_pos = $P10."pos"() - # rx rxquantr504 ** 0..1 - set_addr $I505, rxquantr504_done - rx495_cur."!mark_push"(0, rx495_pos, $I505) - rxquantr504_loop: + rx506_pos = $P10."pos"() + # rx rxquantr515 ** 0..1 + set_addr $I516, rxquantr515_done + rx506_cur."!mark_push"(0, rx506_pos, $I516) + rxquantr515_loop: # rx subrule "circumfix" subtype=capture negate= - rx495_cur."!cursor_pos"(rx495_pos) - $P10 = rx495_cur."circumfix"() - unless $P10, rx495_fail - rx495_cur."!mark_push"(0, -1, 0, $P10) + rx506_cur."!cursor_pos"(rx506_pos) + $P10 = rx506_cur."circumfix"() + unless $P10, rx506_fail + rx506_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("circumfix") - rx495_pos = $P10."pos"() - (rx495_rep) = rx495_cur."!mark_commit"($I505) - rxquantr504_done: - goto alt502_end - alt502_2: -.annotate 'line', 244 + rx506_pos = $P10."pos"() + (rx506_rep) = rx506_cur."!mark_commit"($I516) + rxquantr515_done: + goto alt513_end + alt513_2: +.annotate 'line', 245 # rx subrule "circumfix" subtype=capture negate= - rx495_cur."!cursor_pos"(rx495_pos) - $P10 = rx495_cur."circumfix"() - unless $P10, rx495_fail - rx495_cur."!mark_push"(0, -1, 0, $P10) + rx506_cur."!cursor_pos"(rx506_pos) + $P10 = rx506_cur."circumfix"() + unless $P10, rx506_fail + rx506_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("circumfix") - rx495_pos = $P10."pos"() - alt502_end: -.annotate 'line', 239 + rx506_pos = $P10."pos"() + alt513_end: +.annotate 'line', 240 # rx pass - rx495_cur."!cursor_pass"(rx495_pos, "colonpair") - rx495_cur."!cursor_debug"("PASS ", "colonpair", " at pos=", rx495_pos) - .return (rx495_cur) - rx495_fail: -.annotate 'line', 4 - (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0) - lt rx495_pos, -1, rx495_done - eq rx495_pos, -1, rx495_fail + rx506_cur."!cursor_pass"(rx506_pos, "colonpair") + rx506_cur."!cursor_debug"("PASS ", "colonpair", " at pos=", rx506_pos) + .return (rx506_cur) + rx506_fail: +.annotate 'line', 4 + (rx506_rep, rx506_pos, $I10, $P10) = rx506_cur."!mark_fail"(0) + lt rx506_pos, -1, rx506_done + eq rx506_pos, -1, rx506_fail jump $I10 - rx495_done: - rx495_cur."!cursor_fail"() - rx495_cur."!cursor_debug"("FAIL ", "colonpair") - .return (rx495_cur) + rx506_done: + rx506_cur."!cursor_fail"() + rx506_cur."!cursor_debug"("FAIL ", "colonpair") + .return (rx506_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__colonpair" :subid("121_1276996322.81157") :method +.sub "!PREFIX__colonpair" :subid("123_1278500537.15927") :method .annotate 'line', 4 - $P497 = self."!PREFIX__!subrule"("circumfix", ":") - $P498 = self."!PREFIX__!subrule"("identifier", ":") - $P499 = self."!PREFIX__!subrule"("identifier", ":!") - new $P500, "ResizablePMCArray" - push $P500, $P497 - push $P500, $P498 - push $P500, $P499 - .return ($P500) + $P508 = self."!PREFIX__!subrule"("circumfix", ":") + $P509 = self."!PREFIX__!subrule"("identifier", ":") + $P510 = self."!PREFIX__!subrule"("identifier", ":!") + new $P511, "ResizablePMCArray" + push $P511, $P508 + push $P511, $P509 + push $P511, $P510 + .return ($P511) .end .namespace ["NQP";"Grammar"] -.sub "variable" :subid("122_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "variable" :subid("124_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx507_tgt - .local int rx507_pos - .local int rx507_off - .local int rx507_eos - .local int rx507_rep - .local pmc rx507_cur - (rx507_cur, rx507_pos, rx507_tgt) = self."!cursor_start"() - rx507_cur."!cursor_debug"("START ", "variable") - rx507_cur."!cursor_caparray"("twigil") - .lex unicode:"$\x{a2}", rx507_cur + .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 ", "variable") + rx518_cur."!cursor_caparray"("twigil") + .lex unicode:"$\x{a2}", rx518_cur .local pmc match .lex "$/", match - length rx507_eos, rx507_tgt - gt rx507_pos, rx507_eos, rx507_done - set rx507_off, 0 - lt rx507_pos, 2, rx507_start - sub rx507_off, rx507_pos, 1 - substr rx507_tgt, rx507_tgt, rx507_off - rx507_start: + length rx518_eos, rx518_tgt + gt rx518_pos, rx518_eos, rx518_done + 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, rxscan512_done - goto rxscan512_scan - rxscan512_loop: - ($P10) = rx507_cur."from"() + ne $I10, -1, rxscan523_done + goto rxscan523_scan + rxscan523_loop: + ($P10) = rx518_cur."from"() inc $P10 - set rx507_pos, $P10 - ge rx507_pos, rx507_eos, rxscan512_done - rxscan512_scan: - set_addr $I10, rxscan512_loop - rx507_cur."!mark_push"(0, rx507_pos, $I10) - rxscan512_done: - alt513_0: -.annotate 'line', 248 - set_addr $I10, alt513_1 - rx507_cur."!mark_push"(0, rx507_pos, $I10) + set rx518_pos, $P10 + ge rx518_pos, rx518_eos, rxscan523_done + rxscan523_scan: + set_addr $I10, rxscan523_loop + rx518_cur."!mark_push"(0, rx518_pos, $I10) + rxscan523_done: + alt524_0: .annotate 'line', 249 + set_addr $I10, alt524_1 + rx518_cur."!mark_push"(0, rx518_pos, $I10) +.annotate 'line', 250 # rx subrule "sigil" subtype=capture negate= - rx507_cur."!cursor_pos"(rx507_pos) - $P10 = rx507_cur."sigil"() - unless $P10, rx507_fail - rx507_cur."!mark_push"(0, -1, 0, $P10) + rx518_cur."!cursor_pos"(rx518_pos) + $P10 = rx518_cur."sigil"() + unless $P10, rx518_fail + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sigil") - rx507_pos = $P10."pos"() - # rx rxquantr514 ** 0..1 - set_addr $I515, rxquantr514_done - rx507_cur."!mark_push"(0, rx507_pos, $I515) - rxquantr514_loop: + rx518_pos = $P10."pos"() + # rx rxquantr525 ** 0..1 + set_addr $I526, rxquantr525_done + rx518_cur."!mark_push"(0, rx518_pos, $I526) + rxquantr525_loop: # rx subrule "twigil" subtype=capture negate= - rx507_cur."!cursor_pos"(rx507_pos) - $P10 = rx507_cur."twigil"() - unless $P10, rx507_fail - rx507_cur."!mark_push"(0, -1, 0, $P10) + rx518_cur."!cursor_pos"(rx518_pos) + $P10 = rx518_cur."twigil"() + unless $P10, rx518_fail + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("twigil") - rx507_pos = $P10."pos"() - (rx507_rep) = rx507_cur."!mark_commit"($I515) - rxquantr514_done: + rx518_pos = $P10."pos"() + (rx518_rep) = rx518_cur."!mark_commit"($I526) + rxquantr525_done: # rx subrule "name" subtype=capture negate= - rx507_cur."!cursor_pos"(rx507_pos) - $P10 = rx507_cur."name"() - unless $P10, rx507_fail - rx507_cur."!mark_push"(0, -1, 0, $P10) + rx518_cur."!cursor_pos"(rx518_pos) + $P10 = rx518_cur."name"() + unless $P10, rx518_fail + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("desigilname") - rx507_pos = $P10."pos"() - goto alt513_end - alt513_1: - set_addr $I10, alt513_2 - rx507_cur."!mark_push"(0, rx507_pos, $I10) -.annotate 'line', 250 + rx518_pos = $P10."pos"() + goto alt524_end + alt524_1: + set_addr $I10, alt524_2 + rx518_cur."!mark_push"(0, rx518_pos, $I10) +.annotate 'line', 251 # rx subrule "sigil" subtype=capture negate= - rx507_cur."!cursor_pos"(rx507_pos) - $P10 = rx507_cur."sigil"() - unless $P10, rx507_fail - rx507_cur."!mark_push"(0, -1, 0, $P10) + rx518_cur."!cursor_pos"(rx518_pos) + $P10 = rx518_cur."sigil"() + unless $P10, rx518_fail + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sigil") - rx507_pos = $P10."pos"() + rx518_pos = $P10."pos"() # rx enumcharlist negate=0 zerowidth - ge rx507_pos, rx507_eos, rx507_fail - sub $I10, rx507_pos, rx507_off - substr $S10, rx507_tgt, $I10, 1 + ge rx518_pos, rx518_eos, rx518_fail + sub $I10, rx518_pos, rx518_off + substr $S10, rx518_tgt, $I10, 1 index $I11, "<[", $S10 - lt $I11, 0, rx507_fail + lt $I11, 0, rx518_fail # rx subrule "postcircumfix" subtype=capture negate= - rx507_cur."!cursor_pos"(rx507_pos) - $P10 = rx507_cur."postcircumfix"() - unless $P10, rx507_fail - rx507_cur."!mark_push"(0, -1, 0, $P10) + rx518_cur."!cursor_pos"(rx518_pos) + $P10 = rx518_cur."postcircumfix"() + unless $P10, rx518_fail + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("postcircumfix") - rx507_pos = $P10."pos"() - goto alt513_end - alt513_2: -.annotate 'line', 251 + rx518_pos = $P10."pos"() + goto alt524_end + alt524_2: +.annotate 'line', 252 # rx subcapture "sigil" - set_addr $I10, rxcap_516_fail - rx507_cur."!mark_push"(0, rx507_pos, $I10) + set_addr $I10, rxcap_527_fail + rx518_cur."!mark_push"(0, rx518_pos, $I10) # rx literal "$" - add $I11, rx507_pos, 1 - gt $I11, rx507_eos, rx507_fail - sub $I11, rx507_pos, rx507_off - substr $S10, rx507_tgt, $I11, 1 - ne $S10, "$", rx507_fail - add rx507_pos, 1 - set_addr $I10, rxcap_516_fail - ($I12, $I11) = rx507_cur."!mark_peek"($I10) - rx507_cur."!cursor_pos"($I11) - ($P10) = rx507_cur."!cursor_start"() - $P10."!cursor_pass"(rx507_pos, "") - rx507_cur."!mark_push"(0, -1, 0, $P10) + 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 + set_addr $I10, rxcap_527_fail + ($I12, $I11) = rx518_cur."!mark_peek"($I10) + rx518_cur."!cursor_pos"($I11) + ($P10) = rx518_cur."!cursor_start"() + $P10."!cursor_pass"(rx518_pos, "") + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sigil") - goto rxcap_516_done - rxcap_516_fail: - goto rx507_fail - rxcap_516_done: + goto rxcap_527_done + rxcap_527_fail: + goto rx518_fail + rxcap_527_done: # rx subcapture "desigilname" - set_addr $I10, rxcap_517_fail - rx507_cur."!mark_push"(0, rx507_pos, $I10) + set_addr $I10, rxcap_528_fail + rx518_cur."!mark_push"(0, rx518_pos, $I10) # rx enumcharlist negate=0 - ge rx507_pos, rx507_eos, rx507_fail - sub $I10, rx507_pos, rx507_off - substr $S10, rx507_tgt, $I10, 1 + ge rx518_pos, rx518_eos, rx518_fail + sub $I10, rx518_pos, rx518_off + substr $S10, rx518_tgt, $I10, 1 index $I11, "/_!", $S10 - lt $I11, 0, rx507_fail - inc rx507_pos - set_addr $I10, rxcap_517_fail - ($I12, $I11) = rx507_cur."!mark_peek"($I10) - rx507_cur."!cursor_pos"($I11) - ($P10) = rx507_cur."!cursor_start"() - $P10."!cursor_pass"(rx507_pos, "") - rx507_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx518_fail + inc rx518_pos + set_addr $I10, rxcap_528_fail + ($I12, $I11) = rx518_cur."!mark_peek"($I10) + rx518_cur."!cursor_pos"($I11) + ($P10) = rx518_cur."!cursor_start"() + $P10."!cursor_pass"(rx518_pos, "") + rx518_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("desigilname") - goto rxcap_517_done - rxcap_517_fail: - goto rx507_fail - rxcap_517_done: - alt513_end: -.annotate 'line', 248 + goto rxcap_528_done + rxcap_528_fail: + goto rx518_fail + rxcap_528_done: + alt524_end: +.annotate 'line', 249 # rx pass - rx507_cur."!cursor_pass"(rx507_pos, "variable") - rx507_cur."!cursor_debug"("PASS ", "variable", " at pos=", rx507_pos) - .return (rx507_cur) - rx507_fail: -.annotate 'line', 4 - (rx507_rep, rx507_pos, $I10, $P10) = rx507_cur."!mark_fail"(0) - lt rx507_pos, -1, rx507_done - eq rx507_pos, -1, rx507_fail + rx518_cur."!cursor_pass"(rx518_pos, "variable") + rx518_cur."!cursor_debug"("PASS ", "variable", " 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 jump $I10 - rx507_done: - rx507_cur."!cursor_fail"() - rx507_cur."!cursor_debug"("FAIL ", "variable") - .return (rx507_cur) + rx518_done: + rx518_cur."!cursor_fail"() + rx518_cur."!cursor_debug"("FAIL ", "variable") + .return (rx518_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__variable" :subid("123_1276996322.81157") :method +.sub "!PREFIX__variable" :subid("125_1278500537.15927") :method .annotate 'line', 4 - $P509 = self."!PREFIX__!subrule"("sigil", "") - $P510 = self."!PREFIX__!subrule"("sigil", "") - new $P511, "ResizablePMCArray" - push $P511, "$!" - push $P511, "$_" - push $P511, "$/" - push $P511, $P509 - push $P511, $P510 - .return ($P511) + $P520 = self."!PREFIX__!subrule"("sigil", "") + $P521 = self."!PREFIX__!subrule"("sigil", "") + new $P522, "ResizablePMCArray" + push $P522, "$!" + push $P522, "$_" + push $P522, "$/" + push $P522, $P520 + push $P522, $P521 + .return ($P522) .end .namespace ["NQP";"Grammar"] -.sub "sigil" :subid("124_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "sigil" :subid("126_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx519_tgt - .local int rx519_pos - .local int rx519_off - .local int rx519_eos - .local int rx519_rep - .local pmc rx519_cur - (rx519_cur, rx519_pos, rx519_tgt) = self."!cursor_start"() - rx519_cur."!cursor_debug"("START ", "sigil") - .lex unicode:"$\x{a2}", rx519_cur + .local string rx530_tgt + .local int rx530_pos + .local int rx530_off + .local int rx530_eos + .local int rx530_rep + .local pmc rx530_cur + (rx530_cur, rx530_pos, rx530_tgt) = self."!cursor_start"() + rx530_cur."!cursor_debug"("START ", "sigil") + .lex unicode:"$\x{a2}", rx530_cur .local pmc match .lex "$/", match - length rx519_eos, rx519_tgt - gt rx519_pos, rx519_eos, rx519_done - set rx519_off, 0 - lt rx519_pos, 2, rx519_start - sub rx519_off, rx519_pos, 1 - substr rx519_tgt, rx519_tgt, rx519_off - rx519_start: + length rx530_eos, rx530_tgt + gt rx530_pos, rx530_eos, rx530_done + set rx530_off, 0 + lt rx530_pos, 2, rx530_start + sub rx530_off, rx530_pos, 1 + substr rx530_tgt, rx530_tgt, rx530_off + rx530_start: $I10 = self.'from'() - ne $I10, -1, rxscan522_done - goto rxscan522_scan - rxscan522_loop: - ($P10) = rx519_cur."from"() + ne $I10, -1, rxscan533_done + goto rxscan533_scan + rxscan533_loop: + ($P10) = rx530_cur."from"() inc $P10 - set rx519_pos, $P10 - ge rx519_pos, rx519_eos, rxscan522_done - rxscan522_scan: - set_addr $I10, rxscan522_loop - rx519_cur."!mark_push"(0, rx519_pos, $I10) - rxscan522_done: -.annotate 'line', 254 + set rx530_pos, $P10 + ge rx530_pos, rx530_eos, rxscan533_done + rxscan533_scan: + set_addr $I10, rxscan533_loop + rx530_cur."!mark_push"(0, rx530_pos, $I10) + rxscan533_done: +.annotate 'line', 255 # rx enumcharlist negate=0 - ge rx519_pos, rx519_eos, rx519_fail - sub $I10, rx519_pos, rx519_off - substr $S10, rx519_tgt, $I10, 1 + ge rx530_pos, rx530_eos, rx530_fail + sub $I10, rx530_pos, rx530_off + substr $S10, rx530_tgt, $I10, 1 index $I11, "$@%&", $S10 - lt $I11, 0, rx519_fail - inc rx519_pos + lt $I11, 0, rx530_fail + inc rx530_pos # rx pass - rx519_cur."!cursor_pass"(rx519_pos, "sigil") - rx519_cur."!cursor_debug"("PASS ", "sigil", " at pos=", rx519_pos) - .return (rx519_cur) - rx519_fail: -.annotate 'line', 4 - (rx519_rep, rx519_pos, $I10, $P10) = rx519_cur."!mark_fail"(0) - lt rx519_pos, -1, rx519_done - eq rx519_pos, -1, rx519_fail + rx530_cur."!cursor_pass"(rx530_pos, "sigil") + rx530_cur."!cursor_debug"("PASS ", "sigil", " at pos=", rx530_pos) + .return (rx530_cur) + rx530_fail: +.annotate 'line', 4 + (rx530_rep, rx530_pos, $I10, $P10) = rx530_cur."!mark_fail"(0) + lt rx530_pos, -1, rx530_done + eq rx530_pos, -1, rx530_fail jump $I10 - rx519_done: - rx519_cur."!cursor_fail"() - rx519_cur."!cursor_debug"("FAIL ", "sigil") - .return (rx519_cur) + rx530_done: + rx530_cur."!cursor_fail"() + rx530_cur."!cursor_debug"("FAIL ", "sigil") + .return (rx530_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__sigil" :subid("125_1276996322.81157") :method +.sub "!PREFIX__sigil" :subid("127_1278500537.15927") :method .annotate 'line', 4 - new $P521, "ResizablePMCArray" - push $P521, "&" - push $P521, "%" - push $P521, "@" - push $P521, "$" - .return ($P521) + new $P532, "ResizablePMCArray" + push $P532, "&" + push $P532, "%" + push $P532, "@" + push $P532, "$" + .return ($P532) .end .namespace ["NQP";"Grammar"] -.sub "twigil" :subid("126_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "twigil" :subid("128_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx524_tgt - .local int rx524_pos - .local int rx524_off - .local int rx524_eos - .local int rx524_rep - .local pmc rx524_cur - (rx524_cur, rx524_pos, rx524_tgt) = self."!cursor_start"() - rx524_cur."!cursor_debug"("START ", "twigil") - .lex unicode:"$\x{a2}", rx524_cur + .local string rx535_tgt + .local int rx535_pos + .local int rx535_off + .local int rx535_eos + .local int rx535_rep + .local pmc rx535_cur + (rx535_cur, rx535_pos, rx535_tgt) = self."!cursor_start"() + rx535_cur."!cursor_debug"("START ", "twigil") + .lex unicode:"$\x{a2}", rx535_cur .local pmc match .lex "$/", match - length rx524_eos, rx524_tgt - gt rx524_pos, rx524_eos, rx524_done - set rx524_off, 0 - lt rx524_pos, 2, rx524_start - sub rx524_off, rx524_pos, 1 - substr rx524_tgt, rx524_tgt, rx524_off - rx524_start: + length rx535_eos, rx535_tgt + gt rx535_pos, rx535_eos, rx535_done + set rx535_off, 0 + lt rx535_pos, 2, rx535_start + sub rx535_off, rx535_pos, 1 + substr rx535_tgt, rx535_tgt, rx535_off + rx535_start: $I10 = self.'from'() - ne $I10, -1, rxscan527_done - goto rxscan527_scan - rxscan527_loop: - ($P10) = rx524_cur."from"() + ne $I10, -1, rxscan538_done + goto rxscan538_scan + rxscan538_loop: + ($P10) = rx535_cur."from"() inc $P10 - set rx524_pos, $P10 - ge rx524_pos, rx524_eos, rxscan527_done - rxscan527_scan: - set_addr $I10, rxscan527_loop - rx524_cur."!mark_push"(0, rx524_pos, $I10) - rxscan527_done: -.annotate 'line', 256 + set rx535_pos, $P10 + ge rx535_pos, rx535_eos, rxscan538_done + rxscan538_scan: + set_addr $I10, rxscan538_loop + rx535_cur."!mark_push"(0, rx535_pos, $I10) + rxscan538_done: +.annotate 'line', 257 # rx enumcharlist negate=0 - ge rx524_pos, rx524_eos, rx524_fail - sub $I10, rx524_pos, rx524_off - substr $S10, rx524_tgt, $I10, 1 + ge rx535_pos, rx535_eos, rx535_fail + sub $I10, rx535_pos, rx535_off + substr $S10, rx535_tgt, $I10, 1 index $I11, "*!?", $S10 - lt $I11, 0, rx524_fail - inc rx524_pos + lt $I11, 0, rx535_fail + inc rx535_pos # rx pass - rx524_cur."!cursor_pass"(rx524_pos, "twigil") - rx524_cur."!cursor_debug"("PASS ", "twigil", " at pos=", rx524_pos) - .return (rx524_cur) - rx524_fail: -.annotate 'line', 4 - (rx524_rep, rx524_pos, $I10, $P10) = rx524_cur."!mark_fail"(0) - lt rx524_pos, -1, rx524_done - eq rx524_pos, -1, rx524_fail + rx535_cur."!cursor_pass"(rx535_pos, "twigil") + rx535_cur."!cursor_debug"("PASS ", "twigil", " at pos=", rx535_pos) + .return (rx535_cur) + rx535_fail: +.annotate 'line', 4 + (rx535_rep, rx535_pos, $I10, $P10) = rx535_cur."!mark_fail"(0) + lt rx535_pos, -1, rx535_done + eq rx535_pos, -1, rx535_fail jump $I10 - rx524_done: - rx524_cur."!cursor_fail"() - rx524_cur."!cursor_debug"("FAIL ", "twigil") - .return (rx524_cur) + rx535_done: + rx535_cur."!cursor_fail"() + rx535_cur."!cursor_debug"("FAIL ", "twigil") + .return (rx535_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__twigil" :subid("127_1276996322.81157") :method +.sub "!PREFIX__twigil" :subid("129_1278500537.15927") :method .annotate 'line', 4 - new $P526, "ResizablePMCArray" - push $P526, "?" - push $P526, "!" - push $P526, "*" - .return ($P526) + new $P537, "ResizablePMCArray" + push $P537, "?" + push $P537, "!" + push $P537, "*" + .return ($P537) .end .namespace ["NQP";"Grammar"] -.sub "package_declarator" :subid("128_1276996322.81157") :method -.annotate 'line', 258 - $P529 = self."!protoregex"("package_declarator") - .return ($P529) +.sub "package_declarator" :subid("130_1278500537.15927") :method +.annotate 'line', 259 + $P540 = self."!protoregex"("package_declarator") + .return ($P540) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__package_declarator" :subid("129_1276996322.81157") :method -.annotate 'line', 258 - $P531 = self."!PREFIX__!protoregex"("package_declarator") - .return ($P531) +.sub "!PREFIX__package_declarator" :subid("131_1278500537.15927") :method +.annotate 'line', 259 + $P542 = self."!PREFIX__!protoregex"("package_declarator") + .return ($P542) .end .namespace ["NQP";"Grammar"] -.sub "package_declarator:sym" :subid("130_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "package_declarator:sym" :subid("132_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx533_tgt - .local int rx533_pos - .local int rx533_off - .local int rx533_eos - .local int rx533_rep - .local pmc rx533_cur - (rx533_cur, rx533_pos, rx533_tgt) = self."!cursor_start"() - rx533_cur."!cursor_debug"("START ", "package_declarator:sym") - .lex unicode:"$\x{a2}", rx533_cur + .local string rx544_tgt + .local int rx544_pos + .local int rx544_off + .local int rx544_eos + .local int rx544_rep + .local pmc rx544_cur + (rx544_cur, rx544_pos, rx544_tgt) = self."!cursor_start"() + rx544_cur."!cursor_debug"("START ", "package_declarator:sym") + .lex unicode:"$\x{a2}", rx544_cur .local pmc match .lex "$/", match - length rx533_eos, rx533_tgt - gt rx533_pos, rx533_eos, rx533_done - set rx533_off, 0 - lt rx533_pos, 2, rx533_start - sub rx533_off, rx533_pos, 1 - substr rx533_tgt, rx533_tgt, rx533_off - rx533_start: + length rx544_eos, rx544_tgt + gt rx544_pos, rx544_eos, rx544_done + set rx544_off, 0 + lt rx544_pos, 2, rx544_start + sub rx544_off, rx544_pos, 1 + substr rx544_tgt, rx544_tgt, rx544_off + rx544_start: $I10 = self.'from'() - ne $I10, -1, rxscan537_done - goto rxscan537_scan - rxscan537_loop: - ($P10) = rx533_cur."from"() + ne $I10, -1, rxscan548_done + goto rxscan548_scan + rxscan548_loop: + ($P10) = rx544_cur."from"() inc $P10 - set rx533_pos, $P10 - ge rx533_pos, rx533_eos, rxscan537_done - rxscan537_scan: - set_addr $I10, rxscan537_loop - rx533_cur."!mark_push"(0, rx533_pos, $I10) - rxscan537_done: -.annotate 'line', 259 + set rx544_pos, $P10 + ge rx544_pos, rx544_eos, rxscan548_done + rxscan548_scan: + set_addr $I10, rxscan548_loop + rx544_cur."!mark_push"(0, rx544_pos, $I10) + rxscan548_done: +.annotate 'line', 260 # rx subcapture "sym" - set_addr $I10, rxcap_538_fail - rx533_cur."!mark_push"(0, rx533_pos, $I10) + set_addr $I10, rxcap_549_fail + rx544_cur."!mark_push"(0, rx544_pos, $I10) # rx literal "module" - add $I11, rx533_pos, 6 - gt $I11, rx533_eos, rx533_fail - sub $I11, rx533_pos, rx533_off - substr $S10, rx533_tgt, $I11, 6 - ne $S10, "module", rx533_fail - add rx533_pos, 6 - set_addr $I10, rxcap_538_fail - ($I12, $I11) = rx533_cur."!mark_peek"($I10) - rx533_cur."!cursor_pos"($I11) - ($P10) = rx533_cur."!cursor_start"() - $P10."!cursor_pass"(rx533_pos, "") - rx533_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx544_pos, 6 + gt $I11, rx544_eos, rx544_fail + sub $I11, rx544_pos, rx544_off + substr $S10, rx544_tgt, $I11, 6 + ne $S10, "module", rx544_fail + add rx544_pos, 6 + set_addr $I10, rxcap_549_fail + ($I12, $I11) = rx544_cur."!mark_peek"($I10) + rx544_cur."!cursor_pos"($I11) + ($P10) = rx544_cur."!cursor_start"() + $P10."!cursor_pass"(rx544_pos, "") + rx544_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_538_done - rxcap_538_fail: - goto rx533_fail - rxcap_538_done: + goto rxcap_549_done + rxcap_549_fail: + goto rx544_fail + rxcap_549_done: # rx subrule "package_def" subtype=capture negate= - rx533_cur."!cursor_pos"(rx533_pos) - $P10 = rx533_cur."package_def"() - unless $P10, rx533_fail - rx533_cur."!mark_push"(0, -1, 0, $P10) + rx544_cur."!cursor_pos"(rx544_pos) + $P10 = rx544_cur."package_def"() + unless $P10, rx544_fail + rx544_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("package_def") - rx533_pos = $P10."pos"() + rx544_pos = $P10."pos"() # rx pass - rx533_cur."!cursor_pass"(rx533_pos, "package_declarator:sym") - rx533_cur."!cursor_debug"("PASS ", "package_declarator:sym", " at pos=", rx533_pos) - .return (rx533_cur) - rx533_fail: -.annotate 'line', 4 - (rx533_rep, rx533_pos, $I10, $P10) = rx533_cur."!mark_fail"(0) - lt rx533_pos, -1, rx533_done - eq rx533_pos, -1, rx533_fail + rx544_cur."!cursor_pass"(rx544_pos, "package_declarator:sym") + rx544_cur."!cursor_debug"("PASS ", "package_declarator:sym", " at pos=", rx544_pos) + .return (rx544_cur) + rx544_fail: +.annotate 'line', 4 + (rx544_rep, rx544_pos, $I10, $P10) = rx544_cur."!mark_fail"(0) + lt rx544_pos, -1, rx544_done + eq rx544_pos, -1, rx544_fail jump $I10 - rx533_done: - rx533_cur."!cursor_fail"() - rx533_cur."!cursor_debug"("FAIL ", "package_declarator:sym") - .return (rx533_cur) + rx544_done: + rx544_cur."!cursor_fail"() + rx544_cur."!cursor_debug"("FAIL ", "package_declarator:sym") + .return (rx544_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__package_declarator:sym" :subid("131_1276996322.81157") :method +.sub "!PREFIX__package_declarator:sym" :subid("133_1278500537.15927") :method .annotate 'line', 4 - $P535 = self."!PREFIX__!subrule"("package_def", "module") - new $P536, "ResizablePMCArray" - push $P536, $P535 - .return ($P536) + $P546 = self."!PREFIX__!subrule"("package_def", "module") + new $P547, "ResizablePMCArray" + push $P547, $P546 + .return ($P547) .end .namespace ["NQP";"Grammar"] -.sub "package_declarator:sym" :subid("132_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "package_declarator:sym" :subid("134_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx540_tgt - .local int rx540_pos - .local int rx540_off - .local int rx540_eos - .local int rx540_rep - .local pmc rx540_cur - (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"() - rx540_cur."!cursor_debug"("START ", "package_declarator:sym") - .lex unicode:"$\x{a2}", rx540_cur + .local string rx551_tgt + .local int rx551_pos + .local int rx551_off + .local int rx551_eos + .local int rx551_rep + .local pmc rx551_cur + (rx551_cur, rx551_pos, rx551_tgt) = self."!cursor_start"() + rx551_cur."!cursor_debug"("START ", "package_declarator:sym") + .lex unicode:"$\x{a2}", rx551_cur .local pmc match .lex "$/", match - length rx540_eos, rx540_tgt - gt rx540_pos, rx540_eos, rx540_done - set rx540_off, 0 - lt rx540_pos, 2, rx540_start - sub rx540_off, rx540_pos, 1 - substr rx540_tgt, rx540_tgt, rx540_off - rx540_start: + length rx551_eos, rx551_tgt + gt rx551_pos, rx551_eos, rx551_done + set rx551_off, 0 + lt rx551_pos, 2, rx551_start + sub rx551_off, rx551_pos, 1 + substr rx551_tgt, rx551_tgt, rx551_off + rx551_start: $I10 = self.'from'() - ne $I10, -1, rxscan545_done - goto rxscan545_scan - rxscan545_loop: - ($P10) = rx540_cur."from"() + ne $I10, -1, rxscan556_done + goto rxscan556_scan + rxscan556_loop: + ($P10) = rx551_cur."from"() inc $P10 - set rx540_pos, $P10 - ge rx540_pos, rx540_eos, rxscan545_done - rxscan545_scan: - set_addr $I10, rxscan545_loop - rx540_cur."!mark_push"(0, rx540_pos, $I10) - rxscan545_done: -.annotate 'line', 260 + set rx551_pos, $P10 + ge rx551_pos, rx551_eos, rxscan556_done + rxscan556_scan: + set_addr $I10, rxscan556_loop + rx551_cur."!mark_push"(0, rx551_pos, $I10) + rxscan556_done: +.annotate 'line', 261 # rx subcapture "sym" - set_addr $I10, rxcap_547_fail - rx540_cur."!mark_push"(0, rx540_pos, $I10) - alt546_0: - set_addr $I10, alt546_1 - rx540_cur."!mark_push"(0, rx540_pos, $I10) + set_addr $I10, rxcap_558_fail + rx551_cur."!mark_push"(0, rx551_pos, $I10) + alt557_0: + set_addr $I10, alt557_1 + rx551_cur."!mark_push"(0, rx551_pos, $I10) # rx literal "class" - add $I11, rx540_pos, 5 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 5 - ne $S10, "class", rx540_fail - add rx540_pos, 5 - goto alt546_end - alt546_1: + add $I11, rx551_pos, 5 + gt $I11, rx551_eos, rx551_fail + sub $I11, rx551_pos, rx551_off + substr $S10, rx551_tgt, $I11, 5 + ne $S10, "class", rx551_fail + add rx551_pos, 5 + goto alt557_end + alt557_1: # rx literal "grammar" - add $I11, rx540_pos, 7 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 7 - ne $S10, "grammar", rx540_fail - add rx540_pos, 7 - alt546_end: - set_addr $I10, rxcap_547_fail - ($I12, $I11) = rx540_cur."!mark_peek"($I10) - rx540_cur."!cursor_pos"($I11) - ($P10) = rx540_cur."!cursor_start"() - $P10."!cursor_pass"(rx540_pos, "") - rx540_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx551_pos, 7 + gt $I11, rx551_eos, rx551_fail + sub $I11, rx551_pos, rx551_off + substr $S10, rx551_tgt, $I11, 7 + ne $S10, "grammar", rx551_fail + add rx551_pos, 7 + alt557_end: + set_addr $I10, rxcap_558_fail + ($I12, $I11) = rx551_cur."!mark_peek"($I10) + rx551_cur."!cursor_pos"($I11) + ($P10) = rx551_cur."!cursor_start"() + $P10."!cursor_pass"(rx551_pos, "") + rx551_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_547_done - rxcap_547_fail: - goto rx540_fail - rxcap_547_done: + goto rxcap_558_done + rxcap_558_fail: + goto rx551_fail + rxcap_558_done: # rx subrule "package_def" subtype=capture negate= - rx540_cur."!cursor_pos"(rx540_pos) - $P10 = rx540_cur."package_def"() - unless $P10, rx540_fail - rx540_cur."!mark_push"(0, -1, 0, $P10) + rx551_cur."!cursor_pos"(rx551_pos) + $P10 = rx551_cur."package_def"() + unless $P10, rx551_fail + rx551_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("package_def") - rx540_pos = $P10."pos"() + rx551_pos = $P10."pos"() # rx pass - rx540_cur."!cursor_pass"(rx540_pos, "package_declarator:sym") - rx540_cur."!cursor_debug"("PASS ", "package_declarator:sym", " at pos=", rx540_pos) - .return (rx540_cur) - rx540_fail: -.annotate 'line', 4 - (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0) - lt rx540_pos, -1, rx540_done - eq rx540_pos, -1, rx540_fail + rx551_cur."!cursor_pass"(rx551_pos, "package_declarator:sym") + rx551_cur."!cursor_debug"("PASS ", "package_declarator:sym", " at pos=", rx551_pos) + .return (rx551_cur) + rx551_fail: +.annotate 'line', 4 + (rx551_rep, rx551_pos, $I10, $P10) = rx551_cur."!mark_fail"(0) + lt rx551_pos, -1, rx551_done + eq rx551_pos, -1, rx551_fail jump $I10 - rx540_done: - rx540_cur."!cursor_fail"() - rx540_cur."!cursor_debug"("FAIL ", "package_declarator:sym") - .return (rx540_cur) + rx551_done: + rx551_cur."!cursor_fail"() + rx551_cur."!cursor_debug"("FAIL ", "package_declarator:sym") + .return (rx551_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__package_declarator:sym" :subid("133_1276996322.81157") :method +.sub "!PREFIX__package_declarator:sym" :subid("135_1278500537.15927") :method .annotate 'line', 4 - $P542 = self."!PREFIX__!subrule"("package_def", "grammar") - $P543 = self."!PREFIX__!subrule"("package_def", "class") - new $P544, "ResizablePMCArray" - push $P544, $P542 - push $P544, $P543 - .return ($P544) + $P553 = self."!PREFIX__!subrule"("package_def", "grammar") + $P554 = self."!PREFIX__!subrule"("package_def", "class") + new $P555, "ResizablePMCArray" + push $P555, $P553 + push $P555, $P554 + .return ($P555) .end .namespace ["NQP";"Grammar"] -.sub "package_def" :subid("134_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "package_def" :subid("136_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx549_tgt - .local int rx549_pos - .local int rx549_off - .local int rx549_eos - .local int rx549_rep - .local pmc rx549_cur - (rx549_cur, rx549_pos, rx549_tgt) = self."!cursor_start"() - rx549_cur."!cursor_debug"("START ", "package_def") - rx549_cur."!cursor_caparray"("parent") - .lex unicode:"$\x{a2}", rx549_cur + .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 ", "package_def") + rx560_cur."!cursor_caparray"("parent") + .lex unicode:"$\x{a2}", rx560_cur .local pmc match .lex "$/", match - length rx549_eos, rx549_tgt - gt rx549_pos, rx549_eos, rx549_done - set rx549_off, 0 - lt rx549_pos, 2, rx549_start - sub rx549_off, rx549_pos, 1 - substr rx549_tgt, rx549_tgt, rx549_off - rx549_start: + length rx560_eos, rx560_tgt + gt rx560_pos, rx560_eos, rx560_done + 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, rxscan553_done - goto rxscan553_scan - rxscan553_loop: - ($P10) = rx549_cur."from"() + ne $I10, -1, rxscan564_done + goto rxscan564_scan + rxscan564_loop: + ($P10) = rx560_cur."from"() inc $P10 - set rx549_pos, $P10 - ge rx549_pos, rx549_eos, rxscan553_done - rxscan553_scan: - set_addr $I10, rxscan553_loop - rx549_cur."!mark_push"(0, rx549_pos, $I10) - rxscan553_done: -.annotate 'line', 262 - # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + 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', 263 + # rx subrule "ws" subtype=method negate= + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() +.annotate 'line', 264 # rx subrule "name" subtype=capture negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."name"() - unless $P10, rx549_fail - rx549_cur."!mark_push"(0, -1, 0, $P10) + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."name"() + unless $P10, rx560_fail + rx560_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - rx549_pos = $P10."pos"() + rx560_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() -.annotate 'line', 264 - # rx rxquantr556 ** 0..1 - set_addr $I560, rxquantr556_done - rx549_cur."!mark_push"(0, rx549_pos, $I560) - rxquantr556_loop: + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() +.annotate 'line', 265 + # rx rxquantr567 ** 0..1 + set_addr $I571, rxquantr567_done + rx560_cur."!mark_push"(0, rx560_pos, $I571) + rxquantr567_loop: # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx literal "is" - add $I11, rx549_pos, 2 - gt $I11, rx549_eos, rx549_fail - sub $I11, rx549_pos, rx549_off - substr $S10, rx549_tgt, $I11, 2 - ne $S10, "is", rx549_fail - add rx549_pos, 2 + add $I11, rx560_pos, 2 + gt $I11, rx560_eos, rx560_fail + sub $I11, rx560_pos, rx560_off + substr $S10, rx560_tgt, $I11, 2 + ne $S10, "is", rx560_fail + add rx560_pos, 2 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx subrule "name" subtype=capture negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."name"() - unless $P10, rx549_fail - rx549_cur."!mark_push"(0, -1, 0, $P10) + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."name"() + unless $P10, rx560_fail + rx560_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("parent") - rx549_pos = $P10."pos"() + rx560_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() - (rx549_rep) = rx549_cur."!mark_commit"($I560) - rxquantr556_done: + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() + (rx560_rep) = rx560_cur."!mark_commit"($I571) + rxquantr567_done: # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() - alt562_0: -.annotate 'line', 265 - set_addr $I10, alt562_1 - rx549_cur."!mark_push"(0, rx549_pos, $I10) + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() + alt573_0: .annotate 'line', 266 + set_addr $I10, alt573_1 + rx560_cur."!mark_push"(0, rx560_pos, $I10) +.annotate 'line', 267 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx literal ";" - add $I11, rx549_pos, 1 - gt $I11, rx549_eos, rx549_fail - sub $I11, rx549_pos, rx549_off - substr $S10, rx549_tgt, $I11, 1 - ne $S10, ";", rx549_fail - add rx549_pos, 1 + add $I11, rx560_pos, 1 + gt $I11, rx560_eos, rx560_fail + sub $I11, rx560_pos, rx560_off + substr $S10, rx560_tgt, $I11, 1 + ne $S10, ";", rx560_fail + add rx560_pos, 1 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx subrule "comp_unit" subtype=capture negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."comp_unit"() - unless $P10, rx549_fail - rx549_cur."!mark_push"(0, -1, 0, $P10) + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."comp_unit"() + unless $P10, rx560_fail + rx560_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("comp_unit") - rx549_pos = $P10."pos"() + rx560_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() - goto alt562_end - alt562_1: - set_addr $I10, alt562_2 - rx549_cur."!mark_push"(0, rx549_pos, $I10) -.annotate 'line', 267 + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() + goto alt573_end + alt573_1: + set_addr $I10, alt573_2 + rx560_cur."!mark_push"(0, rx560_pos, $I10) +.annotate 'line', 268 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx enumcharlist negate=0 zerowidth - ge rx549_pos, rx549_eos, rx549_fail - sub $I10, rx549_pos, rx549_off - substr $S10, rx549_tgt, $I10, 1 + ge rx560_pos, rx560_eos, rx560_fail + sub $I10, rx560_pos, rx560_off + substr $S10, rx560_tgt, $I10, 1 index $I11, "{", $S10 - lt $I11, 0, rx549_fail + lt $I11, 0, rx560_fail # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx subrule "block" subtype=capture negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."block"() - unless $P10, rx549_fail - rx549_cur."!mark_push"(0, -1, 0, $P10) + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."block"() + unless $P10, rx560_fail + rx560_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("block") - rx549_pos = $P10."pos"() + rx560_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() - goto alt562_end - alt562_2: -.annotate 'line', 268 + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() + goto alt573_end + alt573_2: +.annotate 'line', 269 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx subrule "panic" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."panic"("Malformed package declaration") - unless $P10, rx549_fail - rx549_pos = $P10."pos"() + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."panic"("Malformed package declaration") + unless $P10, rx560_fail + rx560_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() - alt562_end: -.annotate 'line', 269 + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() + alt573_end: +.annotate 'line', 270 # rx subrule "ws" subtype=method negate= - rx549_cur."!cursor_pos"(rx549_pos) - $P10 = rx549_cur."ws"() - unless $P10, rx549_fail - rx549_pos = $P10."pos"() -.annotate 'line', 262 + rx560_cur."!cursor_pos"(rx560_pos) + $P10 = rx560_cur."ws"() + unless $P10, rx560_fail + rx560_pos = $P10."pos"() +.annotate 'line', 263 # rx pass - rx549_cur."!cursor_pass"(rx549_pos, "package_def") - rx549_cur."!cursor_debug"("PASS ", "package_def", " at pos=", rx549_pos) - .return (rx549_cur) - rx549_fail: -.annotate 'line', 4 - (rx549_rep, rx549_pos, $I10, $P10) = rx549_cur."!mark_fail"(0) - lt rx549_pos, -1, rx549_done - eq rx549_pos, -1, rx549_fail + rx560_cur."!cursor_pass"(rx560_pos, "package_def") + rx560_cur."!cursor_debug"("PASS ", "package_def", " 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 - rx549_done: - rx549_cur."!cursor_fail"() - rx549_cur."!cursor_debug"("FAIL ", "package_def") - .return (rx549_cur) + rx560_done: + rx560_cur."!cursor_fail"() + rx560_cur."!cursor_debug"("FAIL ", "package_def") + .return (rx560_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__package_def" :subid("135_1276996322.81157") :method +.sub "!PREFIX__package_def" :subid("137_1278500537.15927") :method .annotate 'line', 4 - $P551 = self."!PREFIX__!subrule"("ws", "") - new $P552, "ResizablePMCArray" - push $P552, $P551 - .return ($P552) + $P562 = self."!PREFIX__!subrule"("ws", "") + new $P563, "ResizablePMCArray" + push $P563, $P562 + .return ($P563) .end .namespace ["NQP";"Grammar"] -.sub "scope_declarator" :subid("136_1276996322.81157") :method -.annotate 'line', 272 - $P573 = self."!protoregex"("scope_declarator") - .return ($P573) +.sub "scope_declarator" :subid("138_1278500537.15927") :method +.annotate 'line', 273 + $P584 = self."!protoregex"("scope_declarator") + .return ($P584) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__scope_declarator" :subid("137_1276996322.81157") :method -.annotate 'line', 272 - $P575 = self."!PREFIX__!protoregex"("scope_declarator") - .return ($P575) +.sub "!PREFIX__scope_declarator" :subid("139_1278500537.15927") :method +.annotate 'line', 273 + $P586 = self."!PREFIX__!protoregex"("scope_declarator") + .return ($P586) .end .namespace ["NQP";"Grammar"] -.sub "scope_declarator:sym" :subid("138_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "scope_declarator:sym" :subid("140_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "scope_declarator:sym") - .lex unicode:"$\x{a2}", rx577_cur + .local string rx588_tgt + .local int rx588_pos + .local int rx588_off + .local int rx588_eos + .local int rx588_rep + .local pmc rx588_cur + (rx588_cur, rx588_pos, rx588_tgt) = self."!cursor_start"() + rx588_cur."!cursor_debug"("START ", "scope_declarator:sym") + .lex unicode:"$\x{a2}", rx588_cur .local pmc match .lex "$/", match - length rx577_eos, rx577_tgt - gt rx577_pos, rx577_eos, rx577_done - 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: + length rx588_eos, rx588_tgt + gt rx588_pos, rx588_eos, rx588_done + set rx588_off, 0 + lt rx588_pos, 2, rx588_start + sub rx588_off, rx588_pos, 1 + substr rx588_tgt, rx588_tgt, rx588_off + rx588_start: $I10 = self.'from'() - ne $I10, -1, rxscan581_done - goto rxscan581_scan - rxscan581_loop: - ($P10) = rx577_cur."from"() + ne $I10, -1, rxscan592_done + goto rxscan592_scan + rxscan592_loop: + ($P10) = rx588_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', 273 + set rx588_pos, $P10 + ge rx588_pos, rx588_eos, rxscan592_done + rxscan592_scan: + set_addr $I10, rxscan592_loop + rx588_cur."!mark_push"(0, rx588_pos, $I10) + rxscan592_done: +.annotate 'line', 274 # rx subcapture "sym" - set_addr $I10, rxcap_582_fail - rx577_cur."!mark_push"(0, rx577_pos, $I10) + set_addr $I10, rxcap_593_fail + rx588_cur."!mark_push"(0, rx588_pos, $I10) # rx literal "my" - add $I11, rx577_pos, 2 - gt $I11, rx577_eos, rx577_fail - sub $I11, rx577_pos, rx577_off - substr $S10, rx577_tgt, $I11, 2 - ne $S10, "my", rx577_fail - add rx577_pos, 2 - set_addr $I10, rxcap_582_fail - ($I12, $I11) = rx577_cur."!mark_peek"($I10) - rx577_cur."!cursor_pos"($I11) - ($P10) = rx577_cur."!cursor_start"() - $P10."!cursor_pass"(rx577_pos, "") - rx577_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx588_pos, 2 + gt $I11, rx588_eos, rx588_fail + sub $I11, rx588_pos, rx588_off + substr $S10, rx588_tgt, $I11, 2 + ne $S10, "my", rx588_fail + add rx588_pos, 2 + set_addr $I10, rxcap_593_fail + ($I12, $I11) = rx588_cur."!mark_peek"($I10) + rx588_cur."!cursor_pos"($I11) + ($P10) = rx588_cur."!cursor_start"() + $P10."!cursor_pass"(rx588_pos, "") + rx588_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_582_done - rxcap_582_fail: - goto rx577_fail - rxcap_582_done: + goto rxcap_593_done + rxcap_593_fail: + goto rx588_fail + rxcap_593_done: # rx subrule "scoped" subtype=capture negate= - rx577_cur."!cursor_pos"(rx577_pos) - $P10 = rx577_cur."scoped"("my") - unless $P10, rx577_fail - rx577_cur."!mark_push"(0, -1, 0, $P10) + rx588_cur."!cursor_pos"(rx588_pos) + $P10 = rx588_cur."scoped"("my") + unless $P10, rx588_fail + rx588_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("scoped") - rx577_pos = $P10."pos"() + rx588_pos = $P10."pos"() # rx pass - rx577_cur."!cursor_pass"(rx577_pos, "scope_declarator:sym") - rx577_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " 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 + rx588_cur."!cursor_pass"(rx588_pos, "scope_declarator:sym") + rx588_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " at pos=", rx588_pos) + .return (rx588_cur) + rx588_fail: +.annotate 'line', 4 + (rx588_rep, rx588_pos, $I10, $P10) = rx588_cur."!mark_fail"(0) + lt rx588_pos, -1, rx588_done + eq rx588_pos, -1, rx588_fail jump $I10 - rx577_done: - rx577_cur."!cursor_fail"() - rx577_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") - .return (rx577_cur) + rx588_done: + rx588_cur."!cursor_fail"() + rx588_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") + .return (rx588_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__scope_declarator:sym" :subid("139_1276996322.81157") :method +.sub "!PREFIX__scope_declarator:sym" :subid("141_1278500537.15927") :method .annotate 'line', 4 - $P579 = self."!PREFIX__!subrule"("scoped", "my") - new $P580, "ResizablePMCArray" - push $P580, $P579 - .return ($P580) + $P590 = self."!PREFIX__!subrule"("scoped", "my") + new $P591, "ResizablePMCArray" + push $P591, $P590 + .return ($P591) .end .namespace ["NQP";"Grammar"] -.sub "scope_declarator:sym" :subid("140_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "scope_declarator:sym" :subid("142_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx584_tgt - .local int rx584_pos - .local int rx584_off - .local int rx584_eos - .local int rx584_rep - .local pmc rx584_cur - (rx584_cur, rx584_pos, rx584_tgt) = self."!cursor_start"() - rx584_cur."!cursor_debug"("START ", "scope_declarator:sym") - .lex unicode:"$\x{a2}", rx584_cur + .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 ", "scope_declarator:sym") + .lex unicode:"$\x{a2}", rx595_cur .local pmc match .lex "$/", match - length rx584_eos, rx584_tgt - gt rx584_pos, rx584_eos, rx584_done - set rx584_off, 0 - lt rx584_pos, 2, rx584_start - sub rx584_off, rx584_pos, 1 - substr rx584_tgt, rx584_tgt, rx584_off - rx584_start: + length rx595_eos, rx595_tgt + gt rx595_pos, rx595_eos, rx595_done + 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, rxscan588_done - goto rxscan588_scan - rxscan588_loop: - ($P10) = rx584_cur."from"() + ne $I10, -1, rxscan599_done + goto rxscan599_scan + rxscan599_loop: + ($P10) = rx595_cur."from"() inc $P10 - set rx584_pos, $P10 - ge rx584_pos, rx584_eos, rxscan588_done - rxscan588_scan: - set_addr $I10, rxscan588_loop - rx584_cur."!mark_push"(0, rx584_pos, $I10) - rxscan588_done: -.annotate 'line', 274 + 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', 275 # rx subcapture "sym" - set_addr $I10, rxcap_589_fail - rx584_cur."!mark_push"(0, rx584_pos, $I10) + set_addr $I10, rxcap_600_fail + rx595_cur."!mark_push"(0, rx595_pos, $I10) # rx literal "our" - add $I11, rx584_pos, 3 - gt $I11, rx584_eos, rx584_fail - sub $I11, rx584_pos, rx584_off - substr $S10, rx584_tgt, $I11, 3 - ne $S10, "our", rx584_fail - add rx584_pos, 3 - set_addr $I10, rxcap_589_fail - ($I12, $I11) = rx584_cur."!mark_peek"($I10) - rx584_cur."!cursor_pos"($I11) - ($P10) = rx584_cur."!cursor_start"() - $P10."!cursor_pass"(rx584_pos, "") - rx584_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, "our", 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_589_done - rxcap_589_fail: - goto rx584_fail - rxcap_589_done: + goto rxcap_600_done + rxcap_600_fail: + goto rx595_fail + rxcap_600_done: # rx subrule "scoped" subtype=capture negate= - rx584_cur."!cursor_pos"(rx584_pos) - $P10 = rx584_cur."scoped"("our") - unless $P10, rx584_fail - rx584_cur."!mark_push"(0, -1, 0, $P10) + rx595_cur."!cursor_pos"(rx595_pos) + $P10 = rx595_cur."scoped"("our") + unless $P10, rx595_fail + rx595_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("scoped") - rx584_pos = $P10."pos"() + rx595_pos = $P10."pos"() # rx pass - rx584_cur."!cursor_pass"(rx584_pos, "scope_declarator:sym") - rx584_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " at pos=", rx584_pos) - .return (rx584_cur) - rx584_fail: -.annotate 'line', 4 - (rx584_rep, rx584_pos, $I10, $P10) = rx584_cur."!mark_fail"(0) - lt rx584_pos, -1, rx584_done - eq rx584_pos, -1, rx584_fail + rx595_cur."!cursor_pass"(rx595_pos, "scope_declarator:sym") + rx595_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " 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 - rx584_done: - rx584_cur."!cursor_fail"() - rx584_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") - .return (rx584_cur) + rx595_done: + rx595_cur."!cursor_fail"() + rx595_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") + .return (rx595_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__scope_declarator:sym" :subid("141_1276996322.81157") :method +.sub "!PREFIX__scope_declarator:sym" :subid("143_1278500537.15927") :method .annotate 'line', 4 - $P586 = self."!PREFIX__!subrule"("scoped", "our") - new $P587, "ResizablePMCArray" - push $P587, $P586 - .return ($P587) + $P597 = self."!PREFIX__!subrule"("scoped", "our") + new $P598, "ResizablePMCArray" + push $P598, $P597 + .return ($P598) .end .namespace ["NQP";"Grammar"] -.sub "scope_declarator:sym" :subid("142_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "scope_declarator:sym" :subid("144_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx591_tgt - .local int rx591_pos - .local int rx591_off - .local int rx591_eos - .local int rx591_rep - .local pmc rx591_cur - (rx591_cur, rx591_pos, rx591_tgt) = self."!cursor_start"() - rx591_cur."!cursor_debug"("START ", "scope_declarator:sym") - .lex unicode:"$\x{a2}", rx591_cur + .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 ", "scope_declarator:sym") + .lex unicode:"$\x{a2}", rx602_cur .local pmc match .lex "$/", match - length rx591_eos, rx591_tgt - gt rx591_pos, rx591_eos, rx591_done - set rx591_off, 0 - lt rx591_pos, 2, rx591_start - sub rx591_off, rx591_pos, 1 - substr rx591_tgt, rx591_tgt, rx591_off - rx591_start: + length rx602_eos, rx602_tgt + gt rx602_pos, rx602_eos, rx602_done + 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, rxscan595_done - goto rxscan595_scan - rxscan595_loop: - ($P10) = rx591_cur."from"() + ne $I10, -1, rxscan606_done + goto rxscan606_scan + rxscan606_loop: + ($P10) = rx602_cur."from"() inc $P10 - set rx591_pos, $P10 - ge rx591_pos, rx591_eos, rxscan595_done - rxscan595_scan: - set_addr $I10, rxscan595_loop - rx591_cur."!mark_push"(0, rx591_pos, $I10) - rxscan595_done: -.annotate 'line', 275 + 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', 276 # rx subcapture "sym" - set_addr $I10, rxcap_596_fail - rx591_cur."!mark_push"(0, rx591_pos, $I10) + set_addr $I10, rxcap_607_fail + rx602_cur."!mark_push"(0, rx602_pos, $I10) # rx literal "has" - add $I11, rx591_pos, 3 - gt $I11, rx591_eos, rx591_fail - sub $I11, rx591_pos, rx591_off - substr $S10, rx591_tgt, $I11, 3 - ne $S10, "has", rx591_fail - add rx591_pos, 3 - set_addr $I10, rxcap_596_fail - ($I12, $I11) = rx591_cur."!mark_peek"($I10) - rx591_cur."!cursor_pos"($I11) - ($P10) = rx591_cur."!cursor_start"() - $P10."!cursor_pass"(rx591_pos, "") - rx591_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx602_pos, 3 + gt $I11, rx602_eos, rx602_fail + sub $I11, rx602_pos, rx602_off + substr $S10, rx602_tgt, $I11, 3 + ne $S10, "has", rx602_fail + add rx602_pos, 3 + 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_596_done - rxcap_596_fail: - goto rx591_fail - rxcap_596_done: + goto rxcap_607_done + rxcap_607_fail: + goto rx602_fail + rxcap_607_done: # rx subrule "scoped" subtype=capture negate= - rx591_cur."!cursor_pos"(rx591_pos) - $P10 = rx591_cur."scoped"("has") - unless $P10, rx591_fail - rx591_cur."!mark_push"(0, -1, 0, $P10) + rx602_cur."!cursor_pos"(rx602_pos) + $P10 = rx602_cur."scoped"("has") + unless $P10, rx602_fail + rx602_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("scoped") - rx591_pos = $P10."pos"() + rx602_pos = $P10."pos"() # rx pass - rx591_cur."!cursor_pass"(rx591_pos, "scope_declarator:sym") - rx591_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " at pos=", rx591_pos) - .return (rx591_cur) - rx591_fail: -.annotate 'line', 4 - (rx591_rep, rx591_pos, $I10, $P10) = rx591_cur."!mark_fail"(0) - lt rx591_pos, -1, rx591_done - eq rx591_pos, -1, rx591_fail + rx602_cur."!cursor_pass"(rx602_pos, "scope_declarator:sym") + rx602_cur."!cursor_debug"("PASS ", "scope_declarator:sym", " 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 - rx591_done: - rx591_cur."!cursor_fail"() - rx591_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") - .return (rx591_cur) + rx602_done: + rx602_cur."!cursor_fail"() + rx602_cur."!cursor_debug"("FAIL ", "scope_declarator:sym") + .return (rx602_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__scope_declarator:sym" :subid("143_1276996322.81157") :method +.sub "!PREFIX__scope_declarator:sym" :subid("145_1278500537.15927") :method .annotate 'line', 4 - $P593 = self."!PREFIX__!subrule"("scoped", "has") - new $P594, "ResizablePMCArray" - push $P594, $P593 - .return ($P594) + $P604 = self."!PREFIX__!subrule"("scoped", "has") + new $P605, "ResizablePMCArray" + push $P605, $P604 + .return ($P605) .end .namespace ["NQP";"Grammar"] -.sub "scoped" :subid("144_1276996322.81157") :method :outer("11_1276996322.81157") - .param pmc param_598 -.annotate 'line', 277 - .lex "$*SCOPE", param_598 -.annotate 'line', 4 - .local string rx599_tgt - .local int rx599_pos - .local int rx599_off - .local int rx599_eos - .local int rx599_rep - .local pmc rx599_cur - (rx599_cur, rx599_pos, rx599_tgt) = self."!cursor_start"() - rx599_cur."!cursor_debug"("START ", "scoped") - .lex unicode:"$\x{a2}", rx599_cur +.sub "scoped" :subid("146_1278500537.15927") :method :outer("11_1278500537.15927") + .param pmc param_609 +.annotate 'line', 278 + .lex "$*SCOPE", param_609 +.annotate 'line', 4 + .local string rx610_tgt + .local int rx610_pos + .local int rx610_off + .local int rx610_eos + .local int rx610_rep + .local pmc rx610_cur + (rx610_cur, rx610_pos, rx610_tgt) = self."!cursor_start"() + rx610_cur."!cursor_debug"("START ", "scoped") + .lex unicode:"$\x{a2}", rx610_cur .local pmc match .lex "$/", match - length rx599_eos, rx599_tgt - gt rx599_pos, rx599_eos, rx599_done - set rx599_off, 0 - lt rx599_pos, 2, rx599_start - sub rx599_off, rx599_pos, 1 - substr rx599_tgt, rx599_tgt, rx599_off - rx599_start: + length rx610_eos, rx610_tgt + gt rx610_pos, rx610_eos, rx610_done + set rx610_off, 0 + lt rx610_pos, 2, rx610_start + sub rx610_off, rx610_pos, 1 + substr rx610_tgt, rx610_tgt, rx610_off + rx610_start: $I10 = self.'from'() - ne $I10, -1, rxscan604_done - goto rxscan604_scan - rxscan604_loop: - ($P10) = rx599_cur."from"() + ne $I10, -1, rxscan615_done + goto rxscan615_scan + rxscan615_loop: + ($P10) = rx610_cur."from"() inc $P10 - set rx599_pos, $P10 - ge rx599_pos, rx599_eos, rxscan604_done - rxscan604_scan: - set_addr $I10, rxscan604_loop - rx599_cur."!mark_push"(0, rx599_pos, $I10) - rxscan604_done: - alt605_0: -.annotate 'line', 277 - set_addr $I10, alt605_1 - rx599_cur."!mark_push"(0, rx599_pos, $I10) + set rx610_pos, $P10 + ge rx610_pos, rx610_eos, rxscan615_done + rxscan615_scan: + set_addr $I10, rxscan615_loop + rx610_cur."!mark_push"(0, rx610_pos, $I10) + rxscan615_done: + alt616_0: .annotate 'line', 278 + set_addr $I10, alt616_1 + rx610_cur."!mark_push"(0, rx610_pos, $I10) +.annotate 'line', 279 # rx subrule "ws" subtype=method negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."ws"() - unless $P10, rx599_fail - rx599_pos = $P10."pos"() + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."ws"() + unless $P10, rx610_fail + rx610_pos = $P10."pos"() # rx subrule "declarator" subtype=capture negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."declarator"() - unless $P10, rx599_fail - rx599_cur."!mark_push"(0, -1, 0, $P10) + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."declarator"() + unless $P10, rx610_fail + rx610_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("declarator") - rx599_pos = $P10."pos"() + rx610_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."ws"() - unless $P10, rx599_fail - rx599_pos = $P10."pos"() - goto alt605_end - alt605_1: -.annotate 'line', 279 + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."ws"() + unless $P10, rx610_fail + rx610_pos = $P10."pos"() + goto alt616_end + alt616_1: +.annotate 'line', 280 # rx subrule "ws" subtype=method negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."ws"() - unless $P10, rx599_fail - rx599_pos = $P10."pos"() + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."ws"() + unless $P10, rx610_fail + rx610_pos = $P10."pos"() # rx subrule "multi_declarator" subtype=capture negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."multi_declarator"() - unless $P10, rx599_fail - rx599_cur."!mark_push"(0, -1, 0, $P10) + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."multi_declarator"() + unless $P10, rx610_fail + rx610_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("multi_declarator") - rx599_pos = $P10."pos"() + rx610_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx599_cur."!cursor_pos"(rx599_pos) - $P10 = rx599_cur."ws"() - unless $P10, rx599_fail - rx599_pos = $P10."pos"() - alt605_end: -.annotate 'line', 277 + rx610_cur."!cursor_pos"(rx610_pos) + $P10 = rx610_cur."ws"() + unless $P10, rx610_fail + rx610_pos = $P10."pos"() + alt616_end: +.annotate 'line', 278 # rx pass - rx599_cur."!cursor_pass"(rx599_pos, "scoped") - rx599_cur."!cursor_debug"("PASS ", "scoped", " at pos=", rx599_pos) - .return (rx599_cur) - rx599_fail: -.annotate 'line', 4 - (rx599_rep, rx599_pos, $I10, $P10) = rx599_cur."!mark_fail"(0) - lt rx599_pos, -1, rx599_done - eq rx599_pos, -1, rx599_fail + rx610_cur."!cursor_pass"(rx610_pos, "scoped") + rx610_cur."!cursor_debug"("PASS ", "scoped", " at pos=", rx610_pos) + .return (rx610_cur) + rx610_fail: +.annotate 'line', 4 + (rx610_rep, rx610_pos, $I10, $P10) = rx610_cur."!mark_fail"(0) + lt rx610_pos, -1, rx610_done + eq rx610_pos, -1, rx610_fail jump $I10 - rx599_done: - rx599_cur."!cursor_fail"() - rx599_cur."!cursor_debug"("FAIL ", "scoped") - .return (rx599_cur) + rx610_done: + rx610_cur."!cursor_fail"() + rx610_cur."!cursor_debug"("FAIL ", "scoped") + .return (rx610_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__scoped" :subid("145_1276996322.81157") :method +.sub "!PREFIX__scoped" :subid("147_1278500537.15927") :method .annotate 'line', 4 - $P601 = self."!PREFIX__!subrule"("ws", "") - $P602 = self."!PREFIX__!subrule"("ws", "") - new $P603, "ResizablePMCArray" - push $P603, $P601 - push $P603, $P602 - .return ($P603) + $P612 = self."!PREFIX__!subrule"("ws", "") + $P613 = self."!PREFIX__!subrule"("ws", "") + new $P614, "ResizablePMCArray" + push $P614, $P612 + push $P614, $P613 + .return ($P614) .end .namespace ["NQP";"Grammar"] -.sub "typename" :subid("146_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "typename" :subid("148_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx611_tgt - .local int rx611_pos - .local int rx611_off - .local int rx611_eos - .local int rx611_rep - .local pmc rx611_cur - (rx611_cur, rx611_pos, rx611_tgt) = self."!cursor_start"() - rx611_cur."!cursor_debug"("START ", "typename") - .lex unicode:"$\x{a2}", rx611_cur + .local string rx622_tgt + .local int rx622_pos + .local int rx622_off + .local int rx622_eos + .local int rx622_rep + .local pmc rx622_cur + (rx622_cur, rx622_pos, rx622_tgt) = self."!cursor_start"() + rx622_cur."!cursor_debug"("START ", "typename") + .lex unicode:"$\x{a2}", rx622_cur .local pmc match .lex "$/", match - length rx611_eos, rx611_tgt - gt rx611_pos, rx611_eos, rx611_done - set rx611_off, 0 - lt rx611_pos, 2, rx611_start - sub rx611_off, rx611_pos, 1 - substr rx611_tgt, rx611_tgt, rx611_off - rx611_start: + length rx622_eos, rx622_tgt + gt rx622_pos, rx622_eos, rx622_done + set rx622_off, 0 + lt rx622_pos, 2, rx622_start + sub rx622_off, rx622_pos, 1 + substr rx622_tgt, rx622_tgt, rx622_off + rx622_start: $I10 = self.'from'() - ne $I10, -1, rxscan615_done - goto rxscan615_scan - rxscan615_loop: - ($P10) = rx611_cur."from"() + ne $I10, -1, rxscan626_done + goto rxscan626_scan + rxscan626_loop: + ($P10) = rx622_cur."from"() inc $P10 - set rx611_pos, $P10 - ge rx611_pos, rx611_eos, rxscan615_done - rxscan615_scan: - set_addr $I10, rxscan615_loop - rx611_cur."!mark_push"(0, rx611_pos, $I10) - rxscan615_done: -.annotate 'line', 282 + set rx622_pos, $P10 + ge rx622_pos, rx622_eos, rxscan626_done + rxscan626_scan: + set_addr $I10, rxscan626_loop + rx622_cur."!mark_push"(0, rx622_pos, $I10) + rxscan626_done: +.annotate 'line', 283 # rx subrule "name" subtype=capture negate= - rx611_cur."!cursor_pos"(rx611_pos) - $P10 = rx611_cur."name"() - unless $P10, rx611_fail - rx611_cur."!mark_push"(0, -1, 0, $P10) + rx622_cur."!cursor_pos"(rx622_pos) + $P10 = rx622_cur."name"() + unless $P10, rx622_fail + rx622_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - rx611_pos = $P10."pos"() + rx622_pos = $P10."pos"() # rx pass - rx611_cur."!cursor_pass"(rx611_pos, "typename") - rx611_cur."!cursor_debug"("PASS ", "typename", " at pos=", rx611_pos) - .return (rx611_cur) - rx611_fail: -.annotate 'line', 4 - (rx611_rep, rx611_pos, $I10, $P10) = rx611_cur."!mark_fail"(0) - lt rx611_pos, -1, rx611_done - eq rx611_pos, -1, rx611_fail + rx622_cur."!cursor_pass"(rx622_pos, "typename") + rx622_cur."!cursor_debug"("PASS ", "typename", " at pos=", rx622_pos) + .return (rx622_cur) + rx622_fail: +.annotate 'line', 4 + (rx622_rep, rx622_pos, $I10, $P10) = rx622_cur."!mark_fail"(0) + lt rx622_pos, -1, rx622_done + eq rx622_pos, -1, rx622_fail jump $I10 - rx611_done: - rx611_cur."!cursor_fail"() - rx611_cur."!cursor_debug"("FAIL ", "typename") - .return (rx611_cur) + rx622_done: + rx622_cur."!cursor_fail"() + rx622_cur."!cursor_debug"("FAIL ", "typename") + .return (rx622_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__typename" :subid("147_1276996322.81157") :method +.sub "!PREFIX__typename" :subid("149_1278500537.15927") :method .annotate 'line', 4 - $P613 = self."!PREFIX__!subrule"("name", "") - new $P614, "ResizablePMCArray" - push $P614, $P613 - .return ($P614) + $P624 = self."!PREFIX__!subrule"("name", "") + new $P625, "ResizablePMCArray" + push $P625, $P624 + .return ($P625) .end .namespace ["NQP";"Grammar"] -.sub "declarator" :subid("148_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "declarator" :subid("150_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx617_tgt - .local int rx617_pos - .local int rx617_off - .local int rx617_eos - .local int rx617_rep - .local pmc rx617_cur - (rx617_cur, rx617_pos, rx617_tgt) = self."!cursor_start"() - rx617_cur."!cursor_debug"("START ", "declarator") - .lex unicode:"$\x{a2}", rx617_cur + .local string rx628_tgt + .local int rx628_pos + .local int rx628_off + .local int rx628_eos + .local int rx628_rep + .local pmc rx628_cur + (rx628_cur, rx628_pos, rx628_tgt) = self."!cursor_start"() + rx628_cur."!cursor_debug"("START ", "declarator") + .lex unicode:"$\x{a2}", rx628_cur .local pmc match .lex "$/", match - length rx617_eos, rx617_tgt - gt rx617_pos, rx617_eos, rx617_done - set rx617_off, 0 - lt rx617_pos, 2, rx617_start - sub rx617_off, rx617_pos, 1 - substr rx617_tgt, rx617_tgt, rx617_off - rx617_start: + length rx628_eos, rx628_tgt + gt rx628_pos, rx628_eos, rx628_done + set rx628_off, 0 + lt rx628_pos, 2, rx628_start + sub rx628_off, rx628_pos, 1 + substr rx628_tgt, rx628_tgt, rx628_off + rx628_start: $I10 = self.'from'() - ne $I10, -1, rxscan622_done - goto rxscan622_scan - rxscan622_loop: - ($P10) = rx617_cur."from"() + ne $I10, -1, rxscan633_done + goto rxscan633_scan + rxscan633_loop: + ($P10) = rx628_cur."from"() inc $P10 - set rx617_pos, $P10 - ge rx617_pos, rx617_eos, rxscan622_done - rxscan622_scan: - set_addr $I10, rxscan622_loop - rx617_cur."!mark_push"(0, rx617_pos, $I10) - rxscan622_done: - alt623_0: -.annotate 'line', 284 - set_addr $I10, alt623_1 - rx617_cur."!mark_push"(0, rx617_pos, $I10) + set rx628_pos, $P10 + ge rx628_pos, rx628_eos, rxscan633_done + rxscan633_scan: + set_addr $I10, rxscan633_loop + rx628_cur."!mark_push"(0, rx628_pos, $I10) + rxscan633_done: + alt634_0: .annotate 'line', 285 + set_addr $I10, alt634_1 + rx628_cur."!mark_push"(0, rx628_pos, $I10) +.annotate 'line', 286 # rx subrule "variable_declarator" subtype=capture negate= - rx617_cur."!cursor_pos"(rx617_pos) - $P10 = rx617_cur."variable_declarator"() - unless $P10, rx617_fail - rx617_cur."!mark_push"(0, -1, 0, $P10) + rx628_cur."!cursor_pos"(rx628_pos) + $P10 = rx628_cur."variable_declarator"() + unless $P10, rx628_fail + rx628_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("variable_declarator") - rx617_pos = $P10."pos"() - goto alt623_end - alt623_1: -.annotate 'line', 286 + rx628_pos = $P10."pos"() + goto alt634_end + alt634_1: +.annotate 'line', 287 # rx subrule "routine_declarator" subtype=capture negate= - rx617_cur."!cursor_pos"(rx617_pos) - $P10 = rx617_cur."routine_declarator"() - unless $P10, rx617_fail - rx617_cur."!mark_push"(0, -1, 0, $P10) + rx628_cur."!cursor_pos"(rx628_pos) + $P10 = rx628_cur."routine_declarator"() + unless $P10, rx628_fail + rx628_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("routine_declarator") - rx617_pos = $P10."pos"() - alt623_end: -.annotate 'line', 284 + rx628_pos = $P10."pos"() + alt634_end: +.annotate 'line', 285 # rx pass - rx617_cur."!cursor_pass"(rx617_pos, "declarator") - rx617_cur."!cursor_debug"("PASS ", "declarator", " at pos=", rx617_pos) - .return (rx617_cur) - rx617_fail: -.annotate 'line', 4 - (rx617_rep, rx617_pos, $I10, $P10) = rx617_cur."!mark_fail"(0) - lt rx617_pos, -1, rx617_done - eq rx617_pos, -1, rx617_fail + rx628_cur."!cursor_pass"(rx628_pos, "declarator") + rx628_cur."!cursor_debug"("PASS ", "declarator", " at pos=", rx628_pos) + .return (rx628_cur) + rx628_fail: +.annotate 'line', 4 + (rx628_rep, rx628_pos, $I10, $P10) = rx628_cur."!mark_fail"(0) + lt rx628_pos, -1, rx628_done + eq rx628_pos, -1, rx628_fail jump $I10 - rx617_done: - rx617_cur."!cursor_fail"() - rx617_cur."!cursor_debug"("FAIL ", "declarator") - .return (rx617_cur) + rx628_done: + rx628_cur."!cursor_fail"() + rx628_cur."!cursor_debug"("FAIL ", "declarator") + .return (rx628_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__declarator" :subid("149_1276996322.81157") :method +.sub "!PREFIX__declarator" :subid("151_1278500537.15927") :method .annotate 'line', 4 - $P619 = self."!PREFIX__!subrule"("routine_declarator", "") - $P620 = self."!PREFIX__!subrule"("variable_declarator", "") - new $P621, "ResizablePMCArray" - push $P621, $P619 - push $P621, $P620 - .return ($P621) + $P630 = self."!PREFIX__!subrule"("routine_declarator", "") + $P631 = self."!PREFIX__!subrule"("variable_declarator", "") + new $P632, "ResizablePMCArray" + push $P632, $P630 + push $P632, $P631 + .return ($P632) .end .namespace ["NQP";"Grammar"] -.sub "variable_declarator" :subid("150_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "variable_declarator" :subid("152_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "variable_declarator") - .lex unicode:"$\x{a2}", rx625_cur + .local string rx636_tgt + .local int rx636_pos + .local int rx636_off + .local int rx636_eos + .local int rx636_rep + .local pmc rx636_cur + (rx636_cur, rx636_pos, rx636_tgt) = self."!cursor_start"() + rx636_cur."!cursor_debug"("START ", "variable_declarator") + .lex unicode:"$\x{a2}", rx636_cur .local pmc match .lex "$/", match - length rx625_eos, rx625_tgt - gt rx625_pos, rx625_eos, rx625_done - 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: + length rx636_eos, rx636_tgt + gt rx636_pos, rx636_eos, rx636_done + set rx636_off, 0 + lt rx636_pos, 2, rx636_start + sub rx636_off, rx636_pos, 1 + substr rx636_tgt, rx636_tgt, rx636_off + rx636_start: $I10 = self.'from'() - ne $I10, -1, rxscan629_done - goto rxscan629_scan - rxscan629_loop: - ($P10) = rx625_cur."from"() + ne $I10, -1, rxscan640_done + goto rxscan640_scan + rxscan640_loop: + ($P10) = rx636_cur."from"() inc $P10 - set rx625_pos, $P10 - ge rx625_pos, rx625_eos, rxscan629_done - rxscan629_scan: - set_addr $I10, rxscan629_loop - rx625_cur."!mark_push"(0, rx625_pos, $I10) - rxscan629_done: -.annotate 'line', 289 + set rx636_pos, $P10 + ge rx636_pos, rx636_eos, rxscan640_done + rxscan640_scan: + set_addr $I10, rxscan640_loop + rx636_cur."!mark_push"(0, rx636_pos, $I10) + rxscan640_done: +.annotate 'line', 290 # rx subrule "variable" subtype=capture negate= - rx625_cur."!cursor_pos"(rx625_pos) - $P10 = rx625_cur."variable"() - unless $P10, rx625_fail - rx625_cur."!mark_push"(0, -1, 0, $P10) + rx636_cur."!cursor_pos"(rx636_pos) + $P10 = rx636_cur."variable"() + unless $P10, rx636_fail + rx636_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("variable") - rx625_pos = $P10."pos"() + rx636_pos = $P10."pos"() # rx pass - rx625_cur."!cursor_pass"(rx625_pos, "variable_declarator") - rx625_cur."!cursor_debug"("PASS ", "variable_declarator", " 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 + rx636_cur."!cursor_pass"(rx636_pos, "variable_declarator") + rx636_cur."!cursor_debug"("PASS ", "variable_declarator", " at pos=", rx636_pos) + .return (rx636_cur) + rx636_fail: +.annotate 'line', 4 + (rx636_rep, rx636_pos, $I10, $P10) = rx636_cur."!mark_fail"(0) + lt rx636_pos, -1, rx636_done + eq rx636_pos, -1, rx636_fail jump $I10 - rx625_done: - rx625_cur."!cursor_fail"() - rx625_cur."!cursor_debug"("FAIL ", "variable_declarator") - .return (rx625_cur) + rx636_done: + rx636_cur."!cursor_fail"() + rx636_cur."!cursor_debug"("FAIL ", "variable_declarator") + .return (rx636_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__variable_declarator" :subid("151_1276996322.81157") :method +.sub "!PREFIX__variable_declarator" :subid("153_1278500537.15927") :method .annotate 'line', 4 - $P627 = self."!PREFIX__!subrule"("variable", "") - new $P628, "ResizablePMCArray" - push $P628, $P627 - .return ($P628) + $P638 = self."!PREFIX__!subrule"("variable", "") + new $P639, "ResizablePMCArray" + push $P639, $P638 + .return ($P639) .end .namespace ["NQP";"Grammar"] -.sub "routine_declarator" :subid("152_1276996322.81157") :method -.annotate 'line', 291 - $P631 = self."!protoregex"("routine_declarator") - .return ($P631) +.sub "routine_declarator" :subid("154_1278500537.15927") :method +.annotate 'line', 292 + $P642 = self."!protoregex"("routine_declarator") + .return ($P642) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__routine_declarator" :subid("153_1276996322.81157") :method -.annotate 'line', 291 - $P633 = self."!PREFIX__!protoregex"("routine_declarator") - .return ($P633) +.sub "!PREFIX__routine_declarator" :subid("155_1278500537.15927") :method +.annotate 'line', 292 + $P644 = self."!PREFIX__!protoregex"("routine_declarator") + .return ($P644) .end .namespace ["NQP";"Grammar"] -.sub "routine_declarator:sym" :subid("154_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "routine_declarator:sym" :subid("156_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx635_tgt - .local int rx635_pos - .local int rx635_off - .local int rx635_eos - .local int rx635_rep - .local pmc rx635_cur - (rx635_cur, rx635_pos, rx635_tgt) = self."!cursor_start"() - rx635_cur."!cursor_debug"("START ", "routine_declarator:sym") - .lex unicode:"$\x{a2}", rx635_cur + .local string rx646_tgt + .local int rx646_pos + .local int rx646_off + .local int rx646_eos + .local int rx646_rep + .local pmc rx646_cur + (rx646_cur, rx646_pos, rx646_tgt) = self."!cursor_start"() + rx646_cur."!cursor_debug"("START ", "routine_declarator:sym") + .lex unicode:"$\x{a2}", rx646_cur .local pmc match .lex "$/", match - length rx635_eos, rx635_tgt - gt rx635_pos, rx635_eos, rx635_done - set rx635_off, 0 - lt rx635_pos, 2, rx635_start - sub rx635_off, rx635_pos, 1 - substr rx635_tgt, rx635_tgt, rx635_off - rx635_start: + length rx646_eos, rx646_tgt + gt rx646_pos, rx646_eos, rx646_done + set rx646_off, 0 + lt rx646_pos, 2, rx646_start + sub rx646_off, rx646_pos, 1 + substr rx646_tgt, rx646_tgt, rx646_off + rx646_start: $I10 = self.'from'() - ne $I10, -1, rxscan639_done - goto rxscan639_scan - rxscan639_loop: - ($P10) = rx635_cur."from"() + ne $I10, -1, rxscan650_done + goto rxscan650_scan + rxscan650_loop: + ($P10) = rx646_cur."from"() inc $P10 - set rx635_pos, $P10 - ge rx635_pos, rx635_eos, rxscan639_done - rxscan639_scan: - set_addr $I10, rxscan639_loop - rx635_cur."!mark_push"(0, rx635_pos, $I10) - rxscan639_done: -.annotate 'line', 292 + set rx646_pos, $P10 + ge rx646_pos, rx646_eos, rxscan650_done + rxscan650_scan: + set_addr $I10, rxscan650_loop + rx646_cur."!mark_push"(0, rx646_pos, $I10) + rxscan650_done: +.annotate 'line', 293 # rx subcapture "sym" - set_addr $I10, rxcap_640_fail - rx635_cur."!mark_push"(0, rx635_pos, $I10) + set_addr $I10, rxcap_651_fail + rx646_cur."!mark_push"(0, rx646_pos, $I10) # rx literal "sub" - add $I11, rx635_pos, 3 - gt $I11, rx635_eos, rx635_fail - sub $I11, rx635_pos, rx635_off - substr $S10, rx635_tgt, $I11, 3 - ne $S10, "sub", rx635_fail - add rx635_pos, 3 - set_addr $I10, rxcap_640_fail - ($I12, $I11) = rx635_cur."!mark_peek"($I10) - rx635_cur."!cursor_pos"($I11) - ($P10) = rx635_cur."!cursor_start"() - $P10."!cursor_pass"(rx635_pos, "") - rx635_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx646_pos, 3 + gt $I11, rx646_eos, rx646_fail + sub $I11, rx646_pos, rx646_off + substr $S10, rx646_tgt, $I11, 3 + ne $S10, "sub", rx646_fail + add rx646_pos, 3 + set_addr $I10, rxcap_651_fail + ($I12, $I11) = rx646_cur."!mark_peek"($I10) + rx646_cur."!cursor_pos"($I11) + ($P10) = rx646_cur."!cursor_start"() + $P10."!cursor_pass"(rx646_pos, "") + rx646_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_640_done - rxcap_640_fail: - goto rx635_fail - rxcap_640_done: + goto rxcap_651_done + rxcap_651_fail: + goto rx646_fail + rxcap_651_done: # rx subrule "routine_def" subtype=capture negate= - rx635_cur."!cursor_pos"(rx635_pos) - $P10 = rx635_cur."routine_def"() - unless $P10, rx635_fail - rx635_cur."!mark_push"(0, -1, 0, $P10) + rx646_cur."!cursor_pos"(rx646_pos) + $P10 = rx646_cur."routine_def"() + unless $P10, rx646_fail + rx646_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("routine_def") - rx635_pos = $P10."pos"() + rx646_pos = $P10."pos"() # rx pass - rx635_cur."!cursor_pass"(rx635_pos, "routine_declarator:sym") - rx635_cur."!cursor_debug"("PASS ", "routine_declarator:sym", " at pos=", rx635_pos) - .return (rx635_cur) - rx635_fail: -.annotate 'line', 4 - (rx635_rep, rx635_pos, $I10, $P10) = rx635_cur."!mark_fail"(0) - lt rx635_pos, -1, rx635_done - eq rx635_pos, -1, rx635_fail + rx646_cur."!cursor_pass"(rx646_pos, "routine_declarator:sym") + rx646_cur."!cursor_debug"("PASS ", "routine_declarator:sym", " at pos=", rx646_pos) + .return (rx646_cur) + rx646_fail: +.annotate 'line', 4 + (rx646_rep, rx646_pos, $I10, $P10) = rx646_cur."!mark_fail"(0) + lt rx646_pos, -1, rx646_done + eq rx646_pos, -1, rx646_fail jump $I10 - rx635_done: - rx635_cur."!cursor_fail"() - rx635_cur."!cursor_debug"("FAIL ", "routine_declarator:sym") - .return (rx635_cur) + rx646_done: + rx646_cur."!cursor_fail"() + rx646_cur."!cursor_debug"("FAIL ", "routine_declarator:sym") + .return (rx646_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__routine_declarator:sym" :subid("155_1276996322.81157") :method +.sub "!PREFIX__routine_declarator:sym" :subid("157_1278500537.15927") :method .annotate 'line', 4 - $P637 = self."!PREFIX__!subrule"("routine_def", "sub") - new $P638, "ResizablePMCArray" - push $P638, $P637 - .return ($P638) + $P648 = self."!PREFIX__!subrule"("routine_def", "sub") + new $P649, "ResizablePMCArray" + push $P649, $P648 + .return ($P649) .end .namespace ["NQP";"Grammar"] -.sub "routine_declarator:sym" :subid("156_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "routine_declarator:sym" :subid("158_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx642_tgt - .local int rx642_pos - .local int rx642_off - .local int rx642_eos - .local int rx642_rep - .local pmc rx642_cur - (rx642_cur, rx642_pos, rx642_tgt) = self."!cursor_start"() - rx642_cur."!cursor_debug"("START ", "routine_declarator:sym") - .lex unicode:"$\x{a2}", rx642_cur + .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 ", "routine_declarator:sym") + .lex unicode:"$\x{a2}", rx653_cur .local pmc match .lex "$/", match - length rx642_eos, rx642_tgt - gt rx642_pos, rx642_eos, rx642_done - set rx642_off, 0 - lt rx642_pos, 2, rx642_start - sub rx642_off, rx642_pos, 1 - substr rx642_tgt, rx642_tgt, rx642_off - rx642_start: + length rx653_eos, rx653_tgt + gt rx653_pos, rx653_eos, rx653_done + 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, rxscan646_done - goto rxscan646_scan - rxscan646_loop: - ($P10) = rx642_cur."from"() + ne $I10, -1, rxscan657_done + goto rxscan657_scan + rxscan657_loop: + ($P10) = rx653_cur."from"() inc $P10 - set rx642_pos, $P10 - ge rx642_pos, rx642_eos, rxscan646_done - rxscan646_scan: - set_addr $I10, rxscan646_loop - rx642_cur."!mark_push"(0, rx642_pos, $I10) - rxscan646_done: -.annotate 'line', 293 + set rx653_pos, $P10 + ge rx653_pos, rx653_eos, rxscan657_done + rxscan657_scan: + set_addr $I10, rxscan657_loop + rx653_cur."!mark_push"(0, rx653_pos, $I10) + rxscan657_done: +.annotate 'line', 294 # rx subcapture "sym" - set_addr $I10, rxcap_647_fail - rx642_cur."!mark_push"(0, rx642_pos, $I10) + set_addr $I10, rxcap_658_fail + rx653_cur."!mark_push"(0, rx653_pos, $I10) # rx literal "method" - add $I11, rx642_pos, 6 - gt $I11, rx642_eos, rx642_fail - sub $I11, rx642_pos, rx642_off - substr $S10, rx642_tgt, $I11, 6 - ne $S10, "method", rx642_fail - add rx642_pos, 6 - set_addr $I10, rxcap_647_fail - ($I12, $I11) = rx642_cur."!mark_peek"($I10) - rx642_cur."!cursor_pos"($I11) - ($P10) = rx642_cur."!cursor_start"() - $P10."!cursor_pass"(rx642_pos, "") - rx642_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx653_pos, 6 + gt $I11, rx653_eos, rx653_fail + sub $I11, rx653_pos, rx653_off + substr $S10, rx653_tgt, $I11, 6 + ne $S10, "method", rx653_fail + add rx653_pos, 6 + set_addr $I10, rxcap_658_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) $P10."!cursor_names"("sym") - goto rxcap_647_done - rxcap_647_fail: - goto rx642_fail - rxcap_647_done: + goto rxcap_658_done + rxcap_658_fail: + goto rx653_fail + rxcap_658_done: # rx subrule "method_def" subtype=capture negate= - rx642_cur."!cursor_pos"(rx642_pos) - $P10 = rx642_cur."method_def"() - unless $P10, rx642_fail - rx642_cur."!mark_push"(0, -1, 0, $P10) + rx653_cur."!cursor_pos"(rx653_pos) + $P10 = rx653_cur."method_def"() + unless $P10, rx653_fail + rx653_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("method_def") - rx642_pos = $P10."pos"() + rx653_pos = $P10."pos"() # rx pass - rx642_cur."!cursor_pass"(rx642_pos, "routine_declarator:sym") - rx642_cur."!cursor_debug"("PASS ", "routine_declarator:sym", " at pos=", rx642_pos) - .return (rx642_cur) - rx642_fail: -.annotate 'line', 4 - (rx642_rep, rx642_pos, $I10, $P10) = rx642_cur."!mark_fail"(0) - lt rx642_pos, -1, rx642_done - eq rx642_pos, -1, rx642_fail + rx653_cur."!cursor_pass"(rx653_pos, "routine_declarator:sym") + rx653_cur."!cursor_debug"("PASS ", "routine_declarator:sym", " 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 - rx642_done: - rx642_cur."!cursor_fail"() - rx642_cur."!cursor_debug"("FAIL ", "routine_declarator:sym") - .return (rx642_cur) + rx653_done: + rx653_cur."!cursor_fail"() + rx653_cur."!cursor_debug"("FAIL ", "routine_declarator:sym") + .return (rx653_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__routine_declarator:sym" :subid("157_1276996322.81157") :method +.sub "!PREFIX__routine_declarator:sym" :subid("159_1278500537.15927") :method .annotate 'line', 4 - $P644 = self."!PREFIX__!subrule"("method_def", "method") - new $P645, "ResizablePMCArray" - push $P645, $P644 - .return ($P645) + $P655 = self."!PREFIX__!subrule"("method_def", "method") + new $P656, "ResizablePMCArray" + push $P656, $P655 + .return ($P656) .end .namespace ["NQP";"Grammar"] -.sub "routine_def" :subid("158_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "routine_def" :subid("160_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx649_tgt - .local int rx649_pos - .local int rx649_off - .local int rx649_eos - .local int rx649_rep - .local pmc rx649_cur - (rx649_cur, rx649_pos, rx649_tgt) = self."!cursor_start"() - rx649_cur."!cursor_debug"("START ", "routine_def") - rx649_cur."!cursor_caparray"("deflongname", "sigil") - .lex unicode:"$\x{a2}", rx649_cur + .local string rx660_tgt + .local int rx660_pos + .local int rx660_off + .local int rx660_eos + .local int rx660_rep + .local pmc rx660_cur + (rx660_cur, rx660_pos, rx660_tgt) = self."!cursor_start"() + rx660_cur."!cursor_debug"("START ", "routine_def") + rx660_cur."!cursor_caparray"("deflongname", "sigil") + .lex unicode:"$\x{a2}", rx660_cur .local pmc match .lex "$/", match - length rx649_eos, rx649_tgt - gt rx649_pos, rx649_eos, rx649_done - set rx649_off, 0 - lt rx649_pos, 2, rx649_start - sub rx649_off, rx649_pos, 1 - substr rx649_tgt, rx649_tgt, rx649_off - rx649_start: + length rx660_eos, rx660_tgt + gt rx660_pos, rx660_eos, rx660_done + set rx660_off, 0 + lt rx660_pos, 2, rx660_start + sub rx660_off, rx660_pos, 1 + substr rx660_tgt, rx660_tgt, rx660_off + rx660_start: $I10 = self.'from'() - ne $I10, -1, rxscan653_done - goto rxscan653_scan - rxscan653_loop: - ($P10) = rx649_cur."from"() + ne $I10, -1, rxscan664_done + goto rxscan664_scan + rxscan664_loop: + ($P10) = rx660_cur."from"() inc $P10 - set rx649_pos, $P10 - ge rx649_pos, rx649_eos, rxscan653_done - rxscan653_scan: - set_addr $I10, rxscan653_loop - rx649_cur."!mark_push"(0, rx649_pos, $I10) - rxscan653_done: -.annotate 'line', 295 - # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + set rx660_pos, $P10 + ge rx660_pos, rx660_eos, rxscan664_done + rxscan664_scan: + set_addr $I10, rxscan664_loop + rx660_cur."!mark_push"(0, rx660_pos, $I10) + rxscan664_done: .annotate 'line', 296 - # rx rxquantr655 ** 0..1 - set_addr $I661, rxquantr655_done - rx649_cur."!mark_push"(0, rx649_pos, $I661) - rxquantr655_loop: # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() +.annotate 'line', 297 + # rx rxquantr666 ** 0..1 + set_addr $I672, rxquantr666_done + rx660_cur."!mark_push"(0, rx660_pos, $I672) + rxquantr666_loop: + # rx subrule "ws" subtype=method negate= + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx subcapture "sigil" - set_addr $I10, rxcap_659_fail - rx649_cur."!mark_push"(0, rx649_pos, $I10) - # rx rxquantr657 ** 0..1 - set_addr $I658, rxquantr657_done - rx649_cur."!mark_push"(0, rx649_pos, $I658) - rxquantr657_loop: + set_addr $I10, rxcap_670_fail + rx660_cur."!mark_push"(0, rx660_pos, $I10) + # rx rxquantr668 ** 0..1 + set_addr $I669, rxquantr668_done + rx660_cur."!mark_push"(0, rx660_pos, $I669) + rxquantr668_loop: # rx literal "&" - add $I11, rx649_pos, 1 - gt $I11, rx649_eos, rx649_fail - sub $I11, rx649_pos, rx649_off - substr $S10, rx649_tgt, $I11, 1 - ne $S10, "&", rx649_fail - add rx649_pos, 1 - (rx649_rep) = rx649_cur."!mark_commit"($I658) - rxquantr657_done: - set_addr $I10, rxcap_659_fail - ($I12, $I11) = rx649_cur."!mark_peek"($I10) - rx649_cur."!cursor_pos"($I11) - ($P10) = rx649_cur."!cursor_start"() - $P10."!cursor_pass"(rx649_pos, "") - rx649_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx660_pos, 1 + gt $I11, rx660_eos, rx660_fail + sub $I11, rx660_pos, rx660_off + substr $S10, rx660_tgt, $I11, 1 + ne $S10, "&", rx660_fail + add rx660_pos, 1 + (rx660_rep) = rx660_cur."!mark_commit"($I669) + rxquantr668_done: + set_addr $I10, rxcap_670_fail + ($I12, $I11) = rx660_cur."!mark_peek"($I10) + rx660_cur."!cursor_pos"($I11) + ($P10) = rx660_cur."!cursor_start"() + $P10."!cursor_pass"(rx660_pos, "") + rx660_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sigil") - goto rxcap_659_done - rxcap_659_fail: - goto rx649_fail - rxcap_659_done: + goto rxcap_670_done + rxcap_670_fail: + goto rx660_fail + rxcap_670_done: # rx subrule "deflongname" subtype=capture negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."deflongname"() - unless $P10, rx649_fail - rx649_cur."!mark_push"(0, -1, 0, $P10) + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."deflongname"() + unless $P10, rx660_fail + rx660_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("deflongname") - rx649_pos = $P10."pos"() + rx660_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() - (rx649_rep) = rx649_cur."!mark_commit"($I661) - rxquantr655_done: + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() + (rx660_rep) = rx660_cur."!mark_commit"($I672) + rxquantr666_done: # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() -.annotate 'line', 297 + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() +.annotate 'line', 298 # rx subrule "newpad" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."newpad"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."newpad"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() - alt664_0: -.annotate 'line', 298 - set_addr $I10, alt664_1 - rx649_cur."!mark_push"(0, rx649_pos, $I10) + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() + alt675_0: +.annotate 'line', 299 + set_addr $I10, alt675_1 + rx660_cur."!mark_push"(0, rx660_pos, $I10) # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx literal "(" - add $I11, rx649_pos, 1 - gt $I11, rx649_eos, rx649_fail - sub $I11, rx649_pos, rx649_off - substr $S10, rx649_tgt, $I11, 1 - ne $S10, "(", rx649_fail - add rx649_pos, 1 + add $I11, rx660_pos, 1 + gt $I11, rx660_eos, rx660_fail + sub $I11, rx660_pos, rx660_off + substr $S10, rx660_tgt, $I11, 1 + ne $S10, "(", rx660_fail + add rx660_pos, 1 # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx subrule "signature" subtype=capture negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."signature"() - unless $P10, rx649_fail - rx649_cur."!mark_push"(0, -1, 0, $P10) + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."signature"() + unless $P10, rx660_fail + rx660_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("signature") - rx649_pos = $P10."pos"() + rx660_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx literal ")" - add $I11, rx649_pos, 1 - gt $I11, rx649_eos, rx649_fail - sub $I11, rx649_pos, rx649_off - substr $S10, rx649_tgt, $I11, 1 - ne $S10, ")", rx649_fail - add rx649_pos, 1 + add $I11, rx660_pos, 1 + gt $I11, rx660_eos, rx660_fail + sub $I11, rx660_pos, rx660_off + substr $S10, rx660_tgt, $I11, 1 + ne $S10, ")", rx660_fail + add rx660_pos, 1 # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() - goto alt664_end - alt664_1: -.annotate 'line', 299 + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() + goto alt675_end + alt675_1: +.annotate 'line', 300 # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx subrule "panic" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."panic"("Routine declaration requires a signature") - unless $P10, rx649_fail - rx649_pos = $P10."pos"() + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."panic"("Routine declaration requires a signature") + unless $P10, rx660_fail + rx660_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() - alt664_end: + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() + alt675_end: # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() -.annotate 'line', 300 + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() +.annotate 'line', 301 # rx subrule "blockoid" subtype=capture negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."blockoid"() - unless $P10, rx649_fail - rx649_cur."!mark_push"(0, -1, 0, $P10) + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."blockoid"() + unless $P10, rx660_fail + rx660_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blockoid") - rx649_pos = $P10."pos"() + rx660_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx649_cur."!cursor_pos"(rx649_pos) - $P10 = rx649_cur."ws"() - unless $P10, rx649_fail - rx649_pos = $P10."pos"() -.annotate 'line', 295 + rx660_cur."!cursor_pos"(rx660_pos) + $P10 = rx660_cur."ws"() + unless $P10, rx660_fail + rx660_pos = $P10."pos"() +.annotate 'line', 296 # rx pass - rx649_cur."!cursor_pass"(rx649_pos, "routine_def") - rx649_cur."!cursor_debug"("PASS ", "routine_def", " at pos=", rx649_pos) - .return (rx649_cur) - rx649_fail: -.annotate 'line', 4 - (rx649_rep, rx649_pos, $I10, $P10) = rx649_cur."!mark_fail"(0) - lt rx649_pos, -1, rx649_done - eq rx649_pos, -1, rx649_fail + rx660_cur."!cursor_pass"(rx660_pos, "routine_def") + rx660_cur."!cursor_debug"("PASS ", "routine_def", " at pos=", rx660_pos) + .return (rx660_cur) + rx660_fail: +.annotate 'line', 4 + (rx660_rep, rx660_pos, $I10, $P10) = rx660_cur."!mark_fail"(0) + lt rx660_pos, -1, rx660_done + eq rx660_pos, -1, rx660_fail jump $I10 - rx649_done: - rx649_cur."!cursor_fail"() - rx649_cur."!cursor_debug"("FAIL ", "routine_def") - .return (rx649_cur) + rx660_done: + rx660_cur."!cursor_fail"() + rx660_cur."!cursor_debug"("FAIL ", "routine_def") + .return (rx660_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__routine_def" :subid("159_1276996322.81157") :method +.sub "!PREFIX__routine_def" :subid("161_1278500537.15927") :method .annotate 'line', 4 - $P651 = self."!PREFIX__!subrule"("ws", "") - new $P652, "ResizablePMCArray" - push $P652, $P651 - .return ($P652) + $P662 = self."!PREFIX__!subrule"("ws", "") + new $P663, "ResizablePMCArray" + push $P663, $P662 + .return ($P663) .end .namespace ["NQP";"Grammar"] -.sub "method_def" :subid("160_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "method_def" :subid("162_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx674_tgt - .local int rx674_pos - .local int rx674_off - .local int rx674_eos - .local int rx674_rep - .local pmc rx674_cur - (rx674_cur, rx674_pos, rx674_tgt) = self."!cursor_start"() - rx674_cur."!cursor_debug"("START ", "method_def") - rx674_cur."!cursor_caparray"("deflongname") - .lex unicode:"$\x{a2}", rx674_cur + .local string rx685_tgt + .local int rx685_pos + .local int rx685_off + .local int rx685_eos + .local int rx685_rep + .local pmc rx685_cur + (rx685_cur, rx685_pos, rx685_tgt) = self."!cursor_start"() + rx685_cur."!cursor_debug"("START ", "method_def") + rx685_cur."!cursor_caparray"("deflongname") + .lex unicode:"$\x{a2}", rx685_cur .local pmc match .lex "$/", match - length rx674_eos, rx674_tgt - gt rx674_pos, rx674_eos, rx674_done - set rx674_off, 0 - lt rx674_pos, 2, rx674_start - sub rx674_off, rx674_pos, 1 - substr rx674_tgt, rx674_tgt, rx674_off - rx674_start: + length rx685_eos, rx685_tgt + gt rx685_pos, rx685_eos, rx685_done + set rx685_off, 0 + lt rx685_pos, 2, rx685_start + sub rx685_off, rx685_pos, 1 + substr rx685_tgt, rx685_tgt, rx685_off + rx685_start: $I10 = self.'from'() - ne $I10, -1, rxscan678_done - goto rxscan678_scan - rxscan678_loop: - ($P10) = rx674_cur."from"() + ne $I10, -1, rxscan689_done + goto rxscan689_scan + rxscan689_loop: + ($P10) = rx685_cur."from"() inc $P10 - set rx674_pos, $P10 - ge rx674_pos, rx674_eos, rxscan678_done - rxscan678_scan: - set_addr $I10, rxscan678_loop - rx674_cur."!mark_push"(0, rx674_pos, $I10) - rxscan678_done: -.annotate 'line', 303 - # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + set rx685_pos, $P10 + ge rx685_pos, rx685_eos, rxscan689_done + rxscan689_scan: + set_addr $I10, rxscan689_loop + rx685_cur."!mark_push"(0, rx685_pos, $I10) + rxscan689_done: .annotate 'line', 304 - # rx rxquantr680 ** 0..1 - set_addr $I681, rxquantr680_done - rx674_cur."!mark_push"(0, rx674_pos, $I681) - rxquantr680_loop: + # rx subrule "ws" subtype=method negate= + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() +.annotate 'line', 305 + # rx rxquantr691 ** 0..1 + set_addr $I692, rxquantr691_done + rx685_cur."!mark_push"(0, rx685_pos, $I692) + rxquantr691_loop: # rx subrule "deflongname" subtype=capture negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."deflongname"() - unless $P10, rx674_fail - rx674_cur."!mark_push"(0, -1, 0, $P10) + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."deflongname"() + unless $P10, rx685_fail + rx685_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("deflongname") - rx674_pos = $P10."pos"() - (rx674_rep) = rx674_cur."!mark_commit"($I681) - rxquantr680_done: + rx685_pos = $P10."pos"() + (rx685_rep) = rx685_cur."!mark_commit"($I692) + rxquantr691_done: # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() -.annotate 'line', 305 + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() +.annotate 'line', 306 # rx subrule "newpad" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."newpad"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."newpad"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() - alt684_0: -.annotate 'line', 306 - set_addr $I10, alt684_1 - rx674_cur."!mark_push"(0, rx674_pos, $I10) + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() + alt695_0: +.annotate 'line', 307 + set_addr $I10, alt695_1 + rx685_cur."!mark_push"(0, rx685_pos, $I10) # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx literal "(" - add $I11, rx674_pos, 1 - gt $I11, rx674_eos, rx674_fail - sub $I11, rx674_pos, rx674_off - substr $S10, rx674_tgt, $I11, 1 - ne $S10, "(", rx674_fail - add rx674_pos, 1 + add $I11, rx685_pos, 1 + gt $I11, rx685_eos, rx685_fail + sub $I11, rx685_pos, rx685_off + substr $S10, rx685_tgt, $I11, 1 + ne $S10, "(", rx685_fail + add rx685_pos, 1 # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx subrule "signature" subtype=capture negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."signature"() - unless $P10, rx674_fail - rx674_cur."!mark_push"(0, -1, 0, $P10) + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."signature"() + unless $P10, rx685_fail + rx685_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("signature") - rx674_pos = $P10."pos"() + rx685_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx literal ")" - add $I11, rx674_pos, 1 - gt $I11, rx674_eos, rx674_fail - sub $I11, rx674_pos, rx674_off - substr $S10, rx674_tgt, $I11, 1 - ne $S10, ")", rx674_fail - add rx674_pos, 1 + add $I11, rx685_pos, 1 + gt $I11, rx685_eos, rx685_fail + sub $I11, rx685_pos, rx685_off + substr $S10, rx685_tgt, $I11, 1 + ne $S10, ")", rx685_fail + add rx685_pos, 1 # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() - goto alt684_end - alt684_1: -.annotate 'line', 307 + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() + goto alt695_end + alt695_1: +.annotate 'line', 308 # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx subrule "panic" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."panic"("Routine declaration requires a signature") - unless $P10, rx674_fail - rx674_pos = $P10."pos"() + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."panic"("Routine declaration requires a signature") + unless $P10, rx685_fail + rx685_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() - alt684_end: + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() + alt695_end: # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() -.annotate 'line', 308 + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() +.annotate 'line', 309 # rx subrule "blockoid" subtype=capture negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."blockoid"() - unless $P10, rx674_fail - rx674_cur."!mark_push"(0, -1, 0, $P10) + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."blockoid"() + unless $P10, rx685_fail + rx685_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("blockoid") - rx674_pos = $P10."pos"() + rx685_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx674_cur."!cursor_pos"(rx674_pos) - $P10 = rx674_cur."ws"() - unless $P10, rx674_fail - rx674_pos = $P10."pos"() -.annotate 'line', 303 + rx685_cur."!cursor_pos"(rx685_pos) + $P10 = rx685_cur."ws"() + unless $P10, rx685_fail + rx685_pos = $P10."pos"() +.annotate 'line', 304 # rx pass - rx674_cur."!cursor_pass"(rx674_pos, "method_def") - rx674_cur."!cursor_debug"("PASS ", "method_def", " at pos=", rx674_pos) - .return (rx674_cur) - rx674_fail: -.annotate 'line', 4 - (rx674_rep, rx674_pos, $I10, $P10) = rx674_cur."!mark_fail"(0) - lt rx674_pos, -1, rx674_done - eq rx674_pos, -1, rx674_fail + rx685_cur."!cursor_pass"(rx685_pos, "method_def") + rx685_cur."!cursor_debug"("PASS ", "method_def", " at pos=", rx685_pos) + .return (rx685_cur) + rx685_fail: +.annotate 'line', 4 + (rx685_rep, rx685_pos, $I10, $P10) = rx685_cur."!mark_fail"(0) + lt rx685_pos, -1, rx685_done + eq rx685_pos, -1, rx685_fail jump $I10 - rx674_done: - rx674_cur."!cursor_fail"() - rx674_cur."!cursor_debug"("FAIL ", "method_def") - .return (rx674_cur) + rx685_done: + rx685_cur."!cursor_fail"() + rx685_cur."!cursor_debug"("FAIL ", "method_def") + .return (rx685_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__method_def" :subid("161_1276996322.81157") :method +.sub "!PREFIX__method_def" :subid("163_1278500537.15927") :method .annotate 'line', 4 - $P676 = self."!PREFIX__!subrule"("ws", "") - new $P677, "ResizablePMCArray" - push $P677, $P676 - .return ($P677) + $P687 = self."!PREFIX__!subrule"("ws", "") + new $P688, "ResizablePMCArray" + push $P688, $P687 + .return ($P688) .end .namespace ["NQP";"Grammar"] -.sub "multi_declarator" :subid("162_1276996322.81157") :method -.annotate 'line', 311 - $P694 = self."!protoregex"("multi_declarator") - .return ($P694) +.sub "multi_declarator" :subid("164_1278500537.15927") :method +.annotate 'line', 312 + $P705 = self."!protoregex"("multi_declarator") + .return ($P705) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__multi_declarator" :subid("163_1276996322.81157") :method -.annotate 'line', 311 - $P696 = self."!PREFIX__!protoregex"("multi_declarator") - .return ($P696) +.sub "!PREFIX__multi_declarator" :subid("165_1278500537.15927") :method +.annotate 'line', 312 + $P707 = self."!PREFIX__!protoregex"("multi_declarator") + .return ($P707) .end .namespace ["NQP";"Grammar"] -.sub "multi_declarator:sym" :subid("164_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 313 - new $P698, "Undef" - .lex "$*MULTINESS", $P698 -.annotate 'line', 4 - .local string rx699_tgt - .local int rx699_pos - .local int rx699_off - .local int rx699_eos - .local int rx699_rep - .local pmc rx699_cur - (rx699_cur, rx699_pos, rx699_tgt) = self."!cursor_start"() - rx699_cur."!cursor_debug"("START ", "multi_declarator:sym") - .lex unicode:"$\x{a2}", rx699_cur +.sub "multi_declarator:sym" :subid("166_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 314 + new $P709, "Undef" + .lex "$*MULTINESS", $P709 +.annotate 'line', 4 + .local string rx710_tgt + .local int rx710_pos + .local int rx710_off + .local int rx710_eos + .local int rx710_rep + .local pmc rx710_cur + (rx710_cur, rx710_pos, rx710_tgt) = self."!cursor_start"() + rx710_cur."!cursor_debug"("START ", "multi_declarator:sym") + .lex unicode:"$\x{a2}", rx710_cur .local pmc match .lex "$/", match - length rx699_eos, rx699_tgt - gt rx699_pos, rx699_eos, rx699_done - set rx699_off, 0 - lt rx699_pos, 2, rx699_start - sub rx699_off, rx699_pos, 1 - substr rx699_tgt, rx699_tgt, rx699_off - rx699_start: + length rx710_eos, rx710_tgt + gt rx710_pos, rx710_eos, rx710_done + set rx710_off, 0 + lt rx710_pos, 2, rx710_start + sub rx710_off, rx710_pos, 1 + substr rx710_tgt, rx710_tgt, rx710_off + rx710_start: $I10 = self.'from'() - ne $I10, -1, rxscan703_done - goto rxscan703_scan - rxscan703_loop: - ($P10) = rx699_cur."from"() + ne $I10, -1, rxscan714_done + goto rxscan714_scan + rxscan714_loop: + ($P10) = rx710_cur."from"() inc $P10 - set rx699_pos, $P10 - ge rx699_pos, rx699_eos, rxscan703_done - rxscan703_scan: - set_addr $I10, rxscan703_loop - rx699_cur."!mark_push"(0, rx699_pos, $I10) - rxscan703_done: -.annotate 'line', 313 - rx699_cur."!cursor_pos"(rx699_pos) - new $P704, "String" - assign $P704, "multi" - store_lex "$*MULTINESS", $P704 + set rx710_pos, $P10 + ge rx710_pos, rx710_eos, rxscan714_done + rxscan714_scan: + set_addr $I10, rxscan714_loop + rx710_cur."!mark_push"(0, rx710_pos, $I10) + rxscan714_done: .annotate 'line', 314 + rx710_cur."!cursor_pos"(rx710_pos) + new $P715, "String" + assign $P715, "multi" + store_lex "$*MULTINESS", $P715 +.annotate 'line', 315 # rx subcapture "sym" - set_addr $I10, rxcap_705_fail - rx699_cur."!mark_push"(0, rx699_pos, $I10) + set_addr $I10, rxcap_716_fail + rx710_cur."!mark_push"(0, rx710_pos, $I10) # rx literal "multi" - add $I11, rx699_pos, 5 - gt $I11, rx699_eos, rx699_fail - sub $I11, rx699_pos, rx699_off - substr $S10, rx699_tgt, $I11, 5 - ne $S10, "multi", rx699_fail - add rx699_pos, 5 - set_addr $I10, rxcap_705_fail - ($I12, $I11) = rx699_cur."!mark_peek"($I10) - rx699_cur."!cursor_pos"($I11) - ($P10) = rx699_cur."!cursor_start"() - $P10."!cursor_pass"(rx699_pos, "") - rx699_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx710_pos, 5 + gt $I11, rx710_eos, rx710_fail + sub $I11, rx710_pos, rx710_off + substr $S10, rx710_tgt, $I11, 5 + ne $S10, "multi", rx710_fail + add rx710_pos, 5 + set_addr $I10, rxcap_716_fail + ($I12, $I11) = rx710_cur."!mark_peek"($I10) + rx710_cur."!cursor_pos"($I11) + ($P10) = rx710_cur."!cursor_start"() + $P10."!cursor_pass"(rx710_pos, "") + rx710_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_705_done - rxcap_705_fail: - goto rx699_fail - rxcap_705_done: -.annotate 'line', 315 + goto rxcap_716_done + rxcap_716_fail: + goto rx710_fail + rxcap_716_done: +.annotate 'line', 316 # rx subrule "ws" subtype=method negate= - rx699_cur."!cursor_pos"(rx699_pos) - $P10 = rx699_cur."ws"() - unless $P10, rx699_fail - rx699_pos = $P10."pos"() - alt706_0: - set_addr $I10, alt706_1 - rx699_cur."!mark_push"(0, rx699_pos, $I10) + rx710_cur."!cursor_pos"(rx710_pos) + $P10 = rx710_cur."ws"() + unless $P10, rx710_fail + rx710_pos = $P10."pos"() + alt717_0: + set_addr $I10, alt717_1 + rx710_cur."!mark_push"(0, rx710_pos, $I10) # rx subrule "declarator" subtype=capture negate= - rx699_cur."!cursor_pos"(rx699_pos) - $P10 = rx699_cur."declarator"() - unless $P10, rx699_fail - rx699_cur."!mark_push"(0, -1, 0, $P10) + rx710_cur."!cursor_pos"(rx710_pos) + $P10 = rx710_cur."declarator"() + unless $P10, rx710_fail + rx710_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("declarator") - rx699_pos = $P10."pos"() - goto alt706_end - alt706_1: - set_addr $I10, alt706_2 - rx699_cur."!mark_push"(0, rx699_pos, $I10) + rx710_pos = $P10."pos"() + goto alt717_end + alt717_1: + set_addr $I10, alt717_2 + rx710_cur."!mark_push"(0, rx710_pos, $I10) # rx subrule "routine_def" subtype=capture negate= - rx699_cur."!cursor_pos"(rx699_pos) - $P10 = rx699_cur."routine_def"() - unless $P10, rx699_fail - rx699_cur."!mark_push"(0, -1, 0, $P10) + rx710_cur."!cursor_pos"(rx710_pos) + $P10 = rx710_cur."routine_def"() + unless $P10, rx710_fail + rx710_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("routine_def") - rx699_pos = $P10."pos"() - goto alt706_end - alt706_2: + rx710_pos = $P10."pos"() + goto alt717_end + alt717_2: # rx subrule "panic" subtype=method negate= - rx699_cur."!cursor_pos"(rx699_pos) - $P10 = rx699_cur."panic"("Malformed multi") - unless $P10, rx699_fail - rx699_pos = $P10."pos"() - alt706_end: -.annotate 'line', 312 + rx710_cur."!cursor_pos"(rx710_pos) + $P10 = rx710_cur."panic"("Malformed multi") + unless $P10, rx710_fail + rx710_pos = $P10."pos"() + alt717_end: +.annotate 'line', 313 # rx pass - rx699_cur."!cursor_pass"(rx699_pos, "multi_declarator:sym") - rx699_cur."!cursor_debug"("PASS ", "multi_declarator:sym", " at pos=", rx699_pos) - .return (rx699_cur) - rx699_fail: -.annotate 'line', 4 - (rx699_rep, rx699_pos, $I10, $P10) = rx699_cur."!mark_fail"(0) - lt rx699_pos, -1, rx699_done - eq rx699_pos, -1, rx699_fail + rx710_cur."!cursor_pass"(rx710_pos, "multi_declarator:sym") + rx710_cur."!cursor_debug"("PASS ", "multi_declarator:sym", " at pos=", rx710_pos) + .return (rx710_cur) + rx710_fail: +.annotate 'line', 4 + (rx710_rep, rx710_pos, $I10, $P10) = rx710_cur."!mark_fail"(0) + lt rx710_pos, -1, rx710_done + eq rx710_pos, -1, rx710_fail jump $I10 - rx699_done: - rx699_cur."!cursor_fail"() - rx699_cur."!cursor_debug"("FAIL ", "multi_declarator:sym") - .return (rx699_cur) + rx710_done: + rx710_cur."!cursor_fail"() + rx710_cur."!cursor_debug"("FAIL ", "multi_declarator:sym") + .return (rx710_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__multi_declarator:sym" :subid("165_1276996322.81157") :method +.sub "!PREFIX__multi_declarator:sym" :subid("167_1278500537.15927") :method .annotate 'line', 4 - $P701 = self."!PREFIX__!subrule"("ws", "multi") - new $P702, "ResizablePMCArray" - push $P702, $P701 - .return ($P702) + $P712 = self."!PREFIX__!subrule"("ws", "multi") + new $P713, "ResizablePMCArray" + push $P713, $P712 + .return ($P713) .end .namespace ["NQP";"Grammar"] -.sub "multi_declarator:sym" :subid("166_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 318 - new $P708, "Undef" - .lex "$*MULTINESS", $P708 -.annotate 'line', 4 - .local string rx709_tgt - .local int rx709_pos - .local int rx709_off - .local int rx709_eos - .local int rx709_rep - .local pmc rx709_cur - (rx709_cur, rx709_pos, rx709_tgt) = self."!cursor_start"() - rx709_cur."!cursor_debug"("START ", "multi_declarator:sym") - .lex unicode:"$\x{a2}", rx709_cur +.sub "multi_declarator:sym" :subid("168_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 319 + new $P719, "Undef" + .lex "$*MULTINESS", $P719 +.annotate 'line', 4 + .local string rx720_tgt + .local int rx720_pos + .local int rx720_off + .local int rx720_eos + .local int rx720_rep + .local pmc rx720_cur + (rx720_cur, rx720_pos, rx720_tgt) = self."!cursor_start"() + rx720_cur."!cursor_debug"("START ", "multi_declarator:sym") + .lex unicode:"$\x{a2}", rx720_cur .local pmc match .lex "$/", match - length rx709_eos, rx709_tgt - gt rx709_pos, rx709_eos, rx709_done - set rx709_off, 0 - lt rx709_pos, 2, rx709_start - sub rx709_off, rx709_pos, 1 - substr rx709_tgt, rx709_tgt, rx709_off - rx709_start: + length rx720_eos, rx720_tgt + gt rx720_pos, rx720_eos, rx720_done + set rx720_off, 0 + lt rx720_pos, 2, rx720_start + sub rx720_off, rx720_pos, 1 + substr rx720_tgt, rx720_tgt, rx720_off + rx720_start: $I10 = self.'from'() - ne $I10, -1, rxscan713_done - goto rxscan713_scan - rxscan713_loop: - ($P10) = rx709_cur."from"() + ne $I10, -1, rxscan724_done + goto rxscan724_scan + rxscan724_loop: + ($P10) = rx720_cur."from"() inc $P10 - set rx709_pos, $P10 - ge rx709_pos, rx709_eos, rxscan713_done - rxscan713_scan: - set_addr $I10, rxscan713_loop - rx709_cur."!mark_push"(0, rx709_pos, $I10) - rxscan713_done: -.annotate 'line', 318 - rx709_cur."!cursor_pos"(rx709_pos) - new $P714, "String" - assign $P714, "" - store_lex "$*MULTINESS", $P714 + set rx720_pos, $P10 + ge rx720_pos, rx720_eos, rxscan724_done + rxscan724_scan: + set_addr $I10, rxscan724_loop + rx720_cur."!mark_push"(0, rx720_pos, $I10) + rxscan724_done: .annotate 'line', 319 + rx720_cur."!cursor_pos"(rx720_pos) + new $P725, "String" + assign $P725, "" + store_lex "$*MULTINESS", $P725 +.annotate 'line', 320 # rx subrule "declarator" subtype=capture negate= - rx709_cur."!cursor_pos"(rx709_pos) - $P10 = rx709_cur."declarator"() - unless $P10, rx709_fail - rx709_cur."!mark_push"(0, -1, 0, $P10) + rx720_cur."!cursor_pos"(rx720_pos) + $P10 = rx720_cur."declarator"() + unless $P10, rx720_fail + rx720_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("declarator") - rx709_pos = $P10."pos"() -.annotate 'line', 317 + rx720_pos = $P10."pos"() +.annotate 'line', 318 # rx pass - rx709_cur."!cursor_pass"(rx709_pos, "multi_declarator:sym") - rx709_cur."!cursor_debug"("PASS ", "multi_declarator:sym", " at pos=", rx709_pos) - .return (rx709_cur) - rx709_fail: -.annotate 'line', 4 - (rx709_rep, rx709_pos, $I10, $P10) = rx709_cur."!mark_fail"(0) - lt rx709_pos, -1, rx709_done - eq rx709_pos, -1, rx709_fail + rx720_cur."!cursor_pass"(rx720_pos, "multi_declarator:sym") + rx720_cur."!cursor_debug"("PASS ", "multi_declarator:sym", " at pos=", rx720_pos) + .return (rx720_cur) + rx720_fail: +.annotate 'line', 4 + (rx720_rep, rx720_pos, $I10, $P10) = rx720_cur."!mark_fail"(0) + lt rx720_pos, -1, rx720_done + eq rx720_pos, -1, rx720_fail jump $I10 - rx709_done: - rx709_cur."!cursor_fail"() - rx709_cur."!cursor_debug"("FAIL ", "multi_declarator:sym") - .return (rx709_cur) + rx720_done: + rx720_cur."!cursor_fail"() + rx720_cur."!cursor_debug"("FAIL ", "multi_declarator:sym") + .return (rx720_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__multi_declarator:sym" :subid("167_1276996322.81157") :method +.sub "!PREFIX__multi_declarator:sym" :subid("169_1278500537.15927") :method .annotate 'line', 4 - $P711 = self."!PREFIX__!subrule"("declarator", "") - new $P712, "ResizablePMCArray" - push $P712, $P711 - .return ($P712) + $P722 = self."!PREFIX__!subrule"("declarator", "") + new $P723, "ResizablePMCArray" + push $P723, $P722 + .return ($P723) .end .namespace ["NQP";"Grammar"] -.sub "signature" :subid("168_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "signature" :subid("170_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx716_tgt - .local int rx716_pos - .local int rx716_off - .local int rx716_eos - .local int rx716_rep - .local pmc rx716_cur - (rx716_cur, rx716_pos, rx716_tgt) = self."!cursor_start"() - rx716_cur."!cursor_debug"("START ", "signature") - rx716_cur."!cursor_caparray"("parameter") - .lex unicode:"$\x{a2}", rx716_cur + .local string rx727_tgt + .local int rx727_pos + .local int rx727_off + .local int rx727_eos + .local int rx727_rep + .local pmc rx727_cur + (rx727_cur, rx727_pos, rx727_tgt) = self."!cursor_start"() + rx727_cur."!cursor_debug"("START ", "signature") + rx727_cur."!cursor_caparray"("parameter") + .lex unicode:"$\x{a2}", rx727_cur .local pmc match .lex "$/", match - length rx716_eos, rx716_tgt - gt rx716_pos, rx716_eos, rx716_done - set rx716_off, 0 - lt rx716_pos, 2, rx716_start - sub rx716_off, rx716_pos, 1 - substr rx716_tgt, rx716_tgt, rx716_off - rx716_start: + length rx727_eos, rx727_tgt + gt rx727_pos, rx727_eos, rx727_done + set rx727_off, 0 + lt rx727_pos, 2, rx727_start + sub rx727_off, rx727_pos, 1 + substr rx727_tgt, rx727_tgt, rx727_off + rx727_start: $I10 = self.'from'() - ne $I10, -1, rxscan719_done - goto rxscan719_scan - rxscan719_loop: - ($P10) = rx716_cur."from"() + ne $I10, -1, rxscan730_done + goto rxscan730_scan + rxscan730_loop: + ($P10) = rx727_cur."from"() inc $P10 - set rx716_pos, $P10 - ge rx716_pos, rx716_eos, rxscan719_done - rxscan719_scan: - set_addr $I10, rxscan719_loop - rx716_cur."!mark_push"(0, rx716_pos, $I10) - rxscan719_done: -.annotate 'line', 322 - # rx rxquantr720 ** 0..1 - set_addr $I723, rxquantr720_done - rx716_cur."!mark_push"(0, rx716_pos, $I723) - rxquantr720_loop: - # rx rxquantr721 ** 1..* - set_addr $I722, rxquantr721_done - rx716_cur."!mark_push"(0, -1, $I722) - rxquantr721_loop: + set rx727_pos, $P10 + ge rx727_pos, rx727_eos, rxscan730_done + rxscan730_scan: + set_addr $I10, rxscan730_loop + rx727_cur."!mark_push"(0, rx727_pos, $I10) + rxscan730_done: +.annotate 'line', 323 + # rx rxquantr731 ** 0..1 + set_addr $I734, rxquantr731_done + rx727_cur."!mark_push"(0, rx727_pos, $I734) + rxquantr731_loop: + # rx rxquantr732 ** 1..* + set_addr $I733, rxquantr732_done + rx727_cur."!mark_push"(0, -1, $I733) + rxquantr732_loop: # rx subrule "ws" subtype=method negate= - rx716_cur."!cursor_pos"(rx716_pos) - $P10 = rx716_cur."ws"() - unless $P10, rx716_fail - rx716_pos = $P10."pos"() + rx727_cur."!cursor_pos"(rx727_pos) + $P10 = rx727_cur."ws"() + unless $P10, rx727_fail + rx727_pos = $P10."pos"() # rx subrule "parameter" subtype=capture negate= - rx716_cur."!cursor_pos"(rx716_pos) - $P10 = rx716_cur."parameter"() - unless $P10, rx716_fail - rx716_cur."!mark_push"(0, -1, 0, $P10) + rx727_cur."!cursor_pos"(rx727_pos) + $P10 = rx727_cur."parameter"() + unless $P10, rx727_fail + rx727_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("parameter") - rx716_pos = $P10."pos"() + rx727_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx716_cur."!cursor_pos"(rx716_pos) - $P10 = rx716_cur."ws"() - unless $P10, rx716_fail - rx716_pos = $P10."pos"() - (rx716_rep) = rx716_cur."!mark_commit"($I722) - rx716_cur."!mark_push"(rx716_rep, rx716_pos, $I722) + rx727_cur."!cursor_pos"(rx727_pos) + $P10 = rx727_cur."ws"() + unless $P10, rx727_fail + rx727_pos = $P10."pos"() + (rx727_rep) = rx727_cur."!mark_commit"($I733) + rx727_cur."!mark_push"(rx727_rep, rx727_pos, $I733) # rx literal "," - add $I11, rx716_pos, 1 - gt $I11, rx716_eos, rx716_fail - sub $I11, rx716_pos, rx716_off - substr $S10, rx716_tgt, $I11, 1 - ne $S10, ",", rx716_fail - add rx716_pos, 1 - goto rxquantr721_loop - rxquantr721_done: - (rx716_rep) = rx716_cur."!mark_commit"($I723) - rxquantr720_done: + add $I11, rx727_pos, 1 + gt $I11, rx727_eos, rx727_fail + sub $I11, rx727_pos, rx727_off + substr $S10, rx727_tgt, $I11, 1 + ne $S10, ",", rx727_fail + add rx727_pos, 1 + goto rxquantr732_loop + rxquantr732_done: + (rx727_rep) = rx727_cur."!mark_commit"($I734) + rxquantr731_done: # rx pass - rx716_cur."!cursor_pass"(rx716_pos, "signature") - rx716_cur."!cursor_debug"("PASS ", "signature", " at pos=", rx716_pos) - .return (rx716_cur) - rx716_fail: -.annotate 'line', 4 - (rx716_rep, rx716_pos, $I10, $P10) = rx716_cur."!mark_fail"(0) - lt rx716_pos, -1, rx716_done - eq rx716_pos, -1, rx716_fail + rx727_cur."!cursor_pass"(rx727_pos, "signature") + rx727_cur."!cursor_debug"("PASS ", "signature", " at pos=", rx727_pos) + .return (rx727_cur) + rx727_fail: +.annotate 'line', 4 + (rx727_rep, rx727_pos, $I10, $P10) = rx727_cur."!mark_fail"(0) + lt rx727_pos, -1, rx727_done + eq rx727_pos, -1, rx727_fail jump $I10 - rx716_done: - rx716_cur."!cursor_fail"() - rx716_cur."!cursor_debug"("FAIL ", "signature") - .return (rx716_cur) + rx727_done: + rx727_cur."!cursor_fail"() + rx727_cur."!cursor_debug"("FAIL ", "signature") + .return (rx727_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__signature" :subid("169_1276996322.81157") :method +.sub "!PREFIX__signature" :subid("171_1278500537.15927") :method .annotate 'line', 4 - new $P718, "ResizablePMCArray" - push $P718, "" - .return ($P718) + new $P729, "ResizablePMCArray" + push $P729, "" + .return ($P729) .end .namespace ["NQP";"Grammar"] -.sub "parameter" :subid("170_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "parameter" :subid("172_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx725_tgt - .local int rx725_pos - .local int rx725_off - .local int rx725_eos - .local int rx725_rep - .local pmc rx725_cur - (rx725_cur, rx725_pos, rx725_tgt) = self."!cursor_start"() - rx725_cur."!cursor_debug"("START ", "parameter") - rx725_cur."!cursor_caparray"("default_value", "typename") - .lex unicode:"$\x{a2}", rx725_cur + .local string rx736_tgt + .local int rx736_pos + .local int rx736_off + .local int rx736_eos + .local int rx736_rep + .local pmc rx736_cur + (rx736_cur, rx736_pos, rx736_tgt) = self."!cursor_start"() + rx736_cur."!cursor_debug"("START ", "parameter") + rx736_cur."!cursor_caparray"("default_value", "typename") + .lex unicode:"$\x{a2}", rx736_cur .local pmc match .lex "$/", match - length rx725_eos, rx725_tgt - gt rx725_pos, rx725_eos, rx725_done - set rx725_off, 0 - lt rx725_pos, 2, rx725_start - sub rx725_off, rx725_pos, 1 - substr rx725_tgt, rx725_tgt, rx725_off - rx725_start: + length rx736_eos, rx736_tgt + gt rx736_pos, rx736_eos, rx736_done + set rx736_off, 0 + lt rx736_pos, 2, rx736_start + sub rx736_off, rx736_pos, 1 + substr rx736_tgt, rx736_tgt, rx736_off + rx736_start: $I10 = self.'from'() - ne $I10, -1, rxscan728_done - goto rxscan728_scan - rxscan728_loop: - ($P10) = rx725_cur."from"() + ne $I10, -1, rxscan739_done + goto rxscan739_scan + rxscan739_loop: + ($P10) = rx736_cur."from"() inc $P10 - set rx725_pos, $P10 - ge rx725_pos, rx725_eos, rxscan728_done - rxscan728_scan: - set_addr $I10, rxscan728_loop - rx725_cur."!mark_push"(0, rx725_pos, $I10) - rxscan728_done: -.annotate 'line', 325 - # rx rxquantr729 ** 0..* - set_addr $I730, rxquantr729_done - rx725_cur."!mark_push"(0, rx725_pos, $I730) - rxquantr729_loop: + set rx736_pos, $P10 + ge rx736_pos, rx736_eos, rxscan739_done + rxscan739_scan: + set_addr $I10, rxscan739_loop + rx736_cur."!mark_push"(0, rx736_pos, $I10) + rxscan739_done: +.annotate 'line', 326 + # rx rxquantr740 ** 0..* + set_addr $I741, rxquantr740_done + rx736_cur."!mark_push"(0, rx736_pos, $I741) + rxquantr740_loop: # rx subrule "typename" subtype=capture negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."typename"() - unless $P10, rx725_fail - rx725_cur."!mark_push"(0, -1, 0, $P10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."typename"() + unless $P10, rx736_fail + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("typename") - rx725_pos = $P10."pos"() + rx736_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."ws"() - unless $P10, rx725_fail - rx725_pos = $P10."pos"() - (rx725_rep) = rx725_cur."!mark_commit"($I730) - rx725_cur."!mark_push"(rx725_rep, rx725_pos, $I730) - goto rxquantr729_loop - rxquantr729_done: - alt731_0: -.annotate 'line', 326 - set_addr $I10, alt731_1 - rx725_cur."!mark_push"(0, rx725_pos, $I10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."ws"() + unless $P10, rx736_fail + rx736_pos = $P10."pos"() + (rx736_rep) = rx736_cur."!mark_commit"($I741) + rx736_cur."!mark_push"(rx736_rep, rx736_pos, $I741) + goto rxquantr740_loop + rxquantr740_done: + alt742_0: .annotate 'line', 327 + set_addr $I10, alt742_1 + rx736_cur."!mark_push"(0, rx736_pos, $I10) +.annotate 'line', 328 # rx subcapture "quant" - set_addr $I10, rxcap_732_fail - rx725_cur."!mark_push"(0, rx725_pos, $I10) + set_addr $I10, rxcap_743_fail + rx736_cur."!mark_push"(0, rx736_pos, $I10) # rx literal "*" - add $I11, rx725_pos, 1 - gt $I11, rx725_eos, rx725_fail - sub $I11, rx725_pos, rx725_off - substr $S10, rx725_tgt, $I11, 1 - ne $S10, "*", rx725_fail - add rx725_pos, 1 - set_addr $I10, rxcap_732_fail - ($I12, $I11) = rx725_cur."!mark_peek"($I10) - rx725_cur."!cursor_pos"($I11) - ($P10) = rx725_cur."!cursor_start"() - $P10."!cursor_pass"(rx725_pos, "") - rx725_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx736_pos, 1 + gt $I11, rx736_eos, rx736_fail + sub $I11, rx736_pos, rx736_off + substr $S10, rx736_tgt, $I11, 1 + ne $S10, "*", rx736_fail + add rx736_pos, 1 + set_addr $I10, rxcap_743_fail + ($I12, $I11) = rx736_cur."!mark_peek"($I10) + rx736_cur."!cursor_pos"($I11) + ($P10) = rx736_cur."!cursor_start"() + $P10."!cursor_pass"(rx736_pos, "") + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quant") - goto rxcap_732_done - rxcap_732_fail: - goto rx725_fail - rxcap_732_done: + goto rxcap_743_done + rxcap_743_fail: + goto rx736_fail + rxcap_743_done: # rx subrule "param_var" subtype=capture negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."param_var"() - unless $P10, rx725_fail - rx725_cur."!mark_push"(0, -1, 0, $P10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."param_var"() + unless $P10, rx736_fail + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("param_var") - rx725_pos = $P10."pos"() - goto alt731_end - alt731_1: - alt733_0: -.annotate 'line', 328 - set_addr $I10, alt733_1 - rx725_cur."!mark_push"(0, rx725_pos, $I10) + rx736_pos = $P10."pos"() + goto alt742_end + alt742_1: + alt744_0: +.annotate 'line', 329 + set_addr $I10, alt744_1 + rx736_cur."!mark_push"(0, rx736_pos, $I10) # rx subrule "param_var" subtype=capture negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."param_var"() - unless $P10, rx725_fail - rx725_cur."!mark_push"(0, -1, 0, $P10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."param_var"() + unless $P10, rx736_fail + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("param_var") - rx725_pos = $P10."pos"() - goto alt733_end - alt733_1: + rx736_pos = $P10."pos"() + goto alt744_end + alt744_1: # rx subrule "named_param" subtype=capture negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."named_param"() - unless $P10, rx725_fail - rx725_cur."!mark_push"(0, -1, 0, $P10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."named_param"() + unless $P10, rx736_fail + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("named_param") - rx725_pos = $P10."pos"() - alt733_end: + rx736_pos = $P10."pos"() + alt744_end: # rx subcapture "quant" - set_addr $I10, rxcap_735_fail - rx725_cur."!mark_push"(0, rx725_pos, $I10) - alt734_0: - set_addr $I10, alt734_1 - rx725_cur."!mark_push"(0, rx725_pos, $I10) + set_addr $I10, rxcap_746_fail + rx736_cur."!mark_push"(0, rx736_pos, $I10) + alt745_0: + set_addr $I10, alt745_1 + rx736_cur."!mark_push"(0, rx736_pos, $I10) # rx literal "?" - add $I11, rx725_pos, 1 - gt $I11, rx725_eos, rx725_fail - sub $I11, rx725_pos, rx725_off - substr $S10, rx725_tgt, $I11, 1 - ne $S10, "?", rx725_fail - add rx725_pos, 1 - goto alt734_end - alt734_1: - set_addr $I10, alt734_2 - rx725_cur."!mark_push"(0, rx725_pos, $I10) + add $I11, rx736_pos, 1 + gt $I11, rx736_eos, rx736_fail + sub $I11, rx736_pos, rx736_off + substr $S10, rx736_tgt, $I11, 1 + ne $S10, "?", rx736_fail + add rx736_pos, 1 + goto alt745_end + alt745_1: + set_addr $I10, alt745_2 + rx736_cur."!mark_push"(0, rx736_pos, $I10) # rx literal "!" - add $I11, rx725_pos, 1 - gt $I11, rx725_eos, rx725_fail - sub $I11, rx725_pos, rx725_off - substr $S10, rx725_tgt, $I11, 1 - ne $S10, "!", rx725_fail - add rx725_pos, 1 - goto alt734_end - alt734_2: - alt734_end: - set_addr $I10, rxcap_735_fail - ($I12, $I11) = rx725_cur."!mark_peek"($I10) - rx725_cur."!cursor_pos"($I11) - ($P10) = rx725_cur."!cursor_start"() - $P10."!cursor_pass"(rx725_pos, "") - rx725_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx736_pos, 1 + gt $I11, rx736_eos, rx736_fail + sub $I11, rx736_pos, rx736_off + substr $S10, rx736_tgt, $I11, 1 + ne $S10, "!", rx736_fail + add rx736_pos, 1 + goto alt745_end + alt745_2: + alt745_end: + set_addr $I10, rxcap_746_fail + ($I12, $I11) = rx736_cur."!mark_peek"($I10) + rx736_cur."!cursor_pos"($I11) + ($P10) = rx736_cur."!cursor_start"() + $P10."!cursor_pass"(rx736_pos, "") + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quant") - goto rxcap_735_done - rxcap_735_fail: - goto rx725_fail - rxcap_735_done: - alt731_end: -.annotate 'line', 330 - # rx rxquantr736 ** 0..1 - set_addr $I737, rxquantr736_done - rx725_cur."!mark_push"(0, rx725_pos, $I737) - rxquantr736_loop: + goto rxcap_746_done + rxcap_746_fail: + goto rx736_fail + rxcap_746_done: + alt742_end: +.annotate 'line', 331 + # rx rxquantr747 ** 0..1 + set_addr $I748, rxquantr747_done + rx736_cur."!mark_push"(0, rx736_pos, $I748) + rxquantr747_loop: # rx subrule "default_value" subtype=capture negate= - rx725_cur."!cursor_pos"(rx725_pos) - $P10 = rx725_cur."default_value"() - unless $P10, rx725_fail - rx725_cur."!mark_push"(0, -1, 0, $P10) + rx736_cur."!cursor_pos"(rx736_pos) + $P10 = rx736_cur."default_value"() + unless $P10, rx736_fail + rx736_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("default_value") - rx725_pos = $P10."pos"() - (rx725_rep) = rx725_cur."!mark_commit"($I737) - rxquantr736_done: -.annotate 'line', 324 + rx736_pos = $P10."pos"() + (rx736_rep) = rx736_cur."!mark_commit"($I748) + rxquantr747_done: +.annotate 'line', 325 # rx pass - rx725_cur."!cursor_pass"(rx725_pos, "parameter") - rx725_cur."!cursor_debug"("PASS ", "parameter", " at pos=", rx725_pos) - .return (rx725_cur) - rx725_fail: -.annotate 'line', 4 - (rx725_rep, rx725_pos, $I10, $P10) = rx725_cur."!mark_fail"(0) - lt rx725_pos, -1, rx725_done - eq rx725_pos, -1, rx725_fail + rx736_cur."!cursor_pass"(rx736_pos, "parameter") + rx736_cur."!cursor_debug"("PASS ", "parameter", " at pos=", rx736_pos) + .return (rx736_cur) + rx736_fail: +.annotate 'line', 4 + (rx736_rep, rx736_pos, $I10, $P10) = rx736_cur."!mark_fail"(0) + lt rx736_pos, -1, rx736_done + eq rx736_pos, -1, rx736_fail jump $I10 - rx725_done: - rx725_cur."!cursor_fail"() - rx725_cur."!cursor_debug"("FAIL ", "parameter") - .return (rx725_cur) + rx736_done: + rx736_cur."!cursor_fail"() + rx736_cur."!cursor_debug"("FAIL ", "parameter") + .return (rx736_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__parameter" :subid("171_1276996322.81157") :method +.sub "!PREFIX__parameter" :subid("173_1278500537.15927") :method .annotate 'line', 4 - new $P727, "ResizablePMCArray" - push $P727, "" - .return ($P727) + new $P738, "ResizablePMCArray" + push $P738, "" + .return ($P738) .end .namespace ["NQP";"Grammar"] -.sub "param_var" :subid("172_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "param_var" :subid("174_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx739_tgt - .local int rx739_pos - .local int rx739_off - .local int rx739_eos - .local int rx739_rep - .local pmc rx739_cur - (rx739_cur, rx739_pos, rx739_tgt) = self."!cursor_start"() - rx739_cur."!cursor_debug"("START ", "param_var") - rx739_cur."!cursor_caparray"("twigil") - .lex unicode:"$\x{a2}", rx739_cur + .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 ", "param_var") + rx750_cur."!cursor_caparray"("twigil") + .lex unicode:"$\x{a2}", rx750_cur .local pmc match .lex "$/", match - length rx739_eos, rx739_tgt - gt rx739_pos, rx739_eos, rx739_done - set rx739_off, 0 - lt rx739_pos, 2, rx739_start - sub rx739_off, rx739_pos, 1 - substr rx739_tgt, rx739_tgt, rx739_off - rx739_start: + length rx750_eos, rx750_tgt + gt rx750_pos, rx750_eos, rx750_done + 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, rxscan743_done - goto rxscan743_scan - rxscan743_loop: - ($P10) = rx739_cur."from"() + ne $I10, -1, rxscan754_done + goto rxscan754_scan + rxscan754_loop: + ($P10) = rx750_cur."from"() inc $P10 - set rx739_pos, $P10 - ge rx739_pos, rx739_eos, rxscan743_done - rxscan743_scan: - set_addr $I10, rxscan743_loop - rx739_cur."!mark_push"(0, rx739_pos, $I10) - rxscan743_done: -.annotate 'line', 334 + 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', 335 # rx subrule "sigil" subtype=capture negate= - rx739_cur."!cursor_pos"(rx739_pos) - $P10 = rx739_cur."sigil"() - unless $P10, rx739_fail - rx739_cur."!mark_push"(0, -1, 0, $P10) + rx750_cur."!cursor_pos"(rx750_pos) + $P10 = rx750_cur."sigil"() + unless $P10, rx750_fail + rx750_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sigil") - rx739_pos = $P10."pos"() - # rx rxquantr744 ** 0..1 - set_addr $I745, rxquantr744_done - rx739_cur."!mark_push"(0, rx739_pos, $I745) - rxquantr744_loop: + rx750_pos = $P10."pos"() + # rx rxquantr755 ** 0..1 + set_addr $I756, rxquantr755_done + rx750_cur."!mark_push"(0, rx750_pos, $I756) + rxquantr755_loop: # rx subrule "twigil" subtype=capture negate= - rx739_cur."!cursor_pos"(rx739_pos) - $P10 = rx739_cur."twigil"() - unless $P10, rx739_fail - rx739_cur."!mark_push"(0, -1, 0, $P10) + rx750_cur."!cursor_pos"(rx750_pos) + $P10 = rx750_cur."twigil"() + unless $P10, rx750_fail + rx750_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("twigil") - rx739_pos = $P10."pos"() - (rx739_rep) = rx739_cur."!mark_commit"($I745) - rxquantr744_done: - alt746_0: -.annotate 'line', 335 - set_addr $I10, alt746_1 - rx739_cur."!mark_push"(0, rx739_pos, $I10) + rx750_pos = $P10."pos"() + (rx750_rep) = rx750_cur."!mark_commit"($I756) + rxquantr755_done: + alt757_0: +.annotate 'line', 336 + set_addr $I10, alt757_1 + rx750_cur."!mark_push"(0, rx750_pos, $I10) # rx subrule "ident" subtype=capture negate= - rx739_cur."!cursor_pos"(rx739_pos) - $P10 = rx739_cur."ident"() - unless $P10, rx739_fail - rx739_cur."!mark_push"(0, -1, 0, $P10) + rx750_cur."!cursor_pos"(rx750_pos) + $P10 = rx750_cur."ident"() + unless $P10, rx750_fail + rx750_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - rx739_pos = $P10."pos"() - goto alt746_end - alt746_1: + rx750_pos = $P10."pos"() + goto alt757_end + alt757_1: # rx subcapture "name" - set_addr $I10, rxcap_747_fail - rx739_cur."!mark_push"(0, rx739_pos, $I10) + set_addr $I10, rxcap_758_fail + rx750_cur."!mark_push"(0, rx750_pos, $I10) # rx enumcharlist negate=0 - ge rx739_pos, rx739_eos, rx739_fail - sub $I10, rx739_pos, rx739_off - substr $S10, rx739_tgt, $I10, 1 + ge rx750_pos, rx750_eos, rx750_fail + sub $I10, rx750_pos, rx750_off + substr $S10, rx750_tgt, $I10, 1 index $I11, "/!", $S10 - lt $I11, 0, rx739_fail - inc rx739_pos - set_addr $I10, rxcap_747_fail - ($I12, $I11) = rx739_cur."!mark_peek"($I10) - rx739_cur."!cursor_pos"($I11) - ($P10) = rx739_cur."!cursor_start"() - $P10."!cursor_pass"(rx739_pos, "") - rx739_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx750_fail + inc rx750_pos + set_addr $I10, rxcap_758_fail + ($I12, $I11) = rx750_cur."!mark_peek"($I10) + rx750_cur."!cursor_pos"($I11) + ($P10) = rx750_cur."!cursor_start"() + $P10."!cursor_pass"(rx750_pos, "") + rx750_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - goto rxcap_747_done - rxcap_747_fail: - goto rx739_fail - rxcap_747_done: - alt746_end: -.annotate 'line', 333 + goto rxcap_758_done + rxcap_758_fail: + goto rx750_fail + rxcap_758_done: + alt757_end: +.annotate 'line', 334 # rx pass - rx739_cur."!cursor_pass"(rx739_pos, "param_var") - rx739_cur."!cursor_debug"("PASS ", "param_var", " at pos=", rx739_pos) - .return (rx739_cur) - rx739_fail: -.annotate 'line', 4 - (rx739_rep, rx739_pos, $I10, $P10) = rx739_cur."!mark_fail"(0) - lt rx739_pos, -1, rx739_done - eq rx739_pos, -1, rx739_fail + rx750_cur."!cursor_pass"(rx750_pos, "param_var") + rx750_cur."!cursor_debug"("PASS ", "param_var", " 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 - rx739_done: - rx739_cur."!cursor_fail"() - rx739_cur."!cursor_debug"("FAIL ", "param_var") - .return (rx739_cur) + rx750_done: + rx750_cur."!cursor_fail"() + rx750_cur."!cursor_debug"("FAIL ", "param_var") + .return (rx750_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__param_var" :subid("173_1276996322.81157") :method +.sub "!PREFIX__param_var" :subid("175_1278500537.15927") :method .annotate 'line', 4 - $P741 = self."!PREFIX__!subrule"("sigil", "") - new $P742, "ResizablePMCArray" - push $P742, $P741 - .return ($P742) + $P752 = self."!PREFIX__!subrule"("sigil", "") + new $P753, "ResizablePMCArray" + push $P753, $P752 + .return ($P753) .end .namespace ["NQP";"Grammar"] -.sub "named_param" :subid("174_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "named_param" :subid("176_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx749_tgt - .local int rx749_pos - .local int rx749_off - .local int rx749_eos - .local int rx749_rep - .local pmc rx749_cur - (rx749_cur, rx749_pos, rx749_tgt) = self."!cursor_start"() - rx749_cur."!cursor_debug"("START ", "named_param") - .lex unicode:"$\x{a2}", rx749_cur + .local string rx760_tgt + .local int rx760_pos + .local int rx760_off + .local int rx760_eos + .local int rx760_rep + .local pmc rx760_cur + (rx760_cur, rx760_pos, rx760_tgt) = self."!cursor_start"() + rx760_cur."!cursor_debug"("START ", "named_param") + .lex unicode:"$\x{a2}", rx760_cur .local pmc match .lex "$/", match - length rx749_eos, rx749_tgt - gt rx749_pos, rx749_eos, rx749_done - set rx749_off, 0 - lt rx749_pos, 2, rx749_start - sub rx749_off, rx749_pos, 1 - substr rx749_tgt, rx749_tgt, rx749_off - rx749_start: + length rx760_eos, rx760_tgt + gt rx760_pos, rx760_eos, rx760_done + set rx760_off, 0 + lt rx760_pos, 2, rx760_start + sub rx760_off, rx760_pos, 1 + substr rx760_tgt, rx760_tgt, rx760_off + rx760_start: $I10 = self.'from'() - ne $I10, -1, rxscan753_done - goto rxscan753_scan - rxscan753_loop: - ($P10) = rx749_cur."from"() + ne $I10, -1, rxscan764_done + goto rxscan764_scan + rxscan764_loop: + ($P10) = rx760_cur."from"() inc $P10 - set rx749_pos, $P10 - ge rx749_pos, rx749_eos, rxscan753_done - rxscan753_scan: - set_addr $I10, rxscan753_loop - rx749_cur."!mark_push"(0, rx749_pos, $I10) - rxscan753_done: -.annotate 'line', 339 + set rx760_pos, $P10 + ge rx760_pos, rx760_eos, rxscan764_done + rxscan764_scan: + set_addr $I10, rxscan764_loop + rx760_cur."!mark_push"(0, rx760_pos, $I10) + rxscan764_done: +.annotate 'line', 340 # rx literal ":" - add $I11, rx749_pos, 1 - gt $I11, rx749_eos, rx749_fail - sub $I11, rx749_pos, rx749_off - substr $S10, rx749_tgt, $I11, 1 - ne $S10, ":", rx749_fail - add rx749_pos, 1 + add $I11, rx760_pos, 1 + gt $I11, rx760_eos, rx760_fail + sub $I11, rx760_pos, rx760_off + substr $S10, rx760_tgt, $I11, 1 + ne $S10, ":", rx760_fail + add rx760_pos, 1 # rx subrule "param_var" subtype=capture negate= - rx749_cur."!cursor_pos"(rx749_pos) - $P10 = rx749_cur."param_var"() - unless $P10, rx749_fail - rx749_cur."!mark_push"(0, -1, 0, $P10) + rx760_cur."!cursor_pos"(rx760_pos) + $P10 = rx760_cur."param_var"() + unless $P10, rx760_fail + rx760_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("param_var") - rx749_pos = $P10."pos"() -.annotate 'line', 338 + rx760_pos = $P10."pos"() +.annotate 'line', 339 # rx pass - rx749_cur."!cursor_pass"(rx749_pos, "named_param") - rx749_cur."!cursor_debug"("PASS ", "named_param", " at pos=", rx749_pos) - .return (rx749_cur) - rx749_fail: -.annotate 'line', 4 - (rx749_rep, rx749_pos, $I10, $P10) = rx749_cur."!mark_fail"(0) - lt rx749_pos, -1, rx749_done - eq rx749_pos, -1, rx749_fail + rx760_cur."!cursor_pass"(rx760_pos, "named_param") + rx760_cur."!cursor_debug"("PASS ", "named_param", " at pos=", rx760_pos) + .return (rx760_cur) + rx760_fail: +.annotate 'line', 4 + (rx760_rep, rx760_pos, $I10, $P10) = rx760_cur."!mark_fail"(0) + lt rx760_pos, -1, rx760_done + eq rx760_pos, -1, rx760_fail jump $I10 - rx749_done: - rx749_cur."!cursor_fail"() - rx749_cur."!cursor_debug"("FAIL ", "named_param") - .return (rx749_cur) + rx760_done: + rx760_cur."!cursor_fail"() + rx760_cur."!cursor_debug"("FAIL ", "named_param") + .return (rx760_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__named_param" :subid("175_1276996322.81157") :method +.sub "!PREFIX__named_param" :subid("177_1278500537.15927") :method .annotate 'line', 4 - $P751 = self."!PREFIX__!subrule"("param_var", ":") - new $P752, "ResizablePMCArray" - push $P752, $P751 - .return ($P752) + $P762 = self."!PREFIX__!subrule"("param_var", ":") + new $P763, "ResizablePMCArray" + push $P763, $P762 + .return ($P763) .end .namespace ["NQP";"Grammar"] -.sub "default_value" :subid("176_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "default_value" :subid("178_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx755_tgt - .local int rx755_pos - .local int rx755_off - .local int rx755_eos - .local int rx755_rep - .local pmc rx755_cur - (rx755_cur, rx755_pos, rx755_tgt) = self."!cursor_start"() - rx755_cur."!cursor_debug"("START ", "default_value") - .lex unicode:"$\x{a2}", rx755_cur + .local string rx766_tgt + .local int rx766_pos + .local int rx766_off + .local int rx766_eos + .local int rx766_rep + .local pmc rx766_cur + (rx766_cur, rx766_pos, rx766_tgt) = self."!cursor_start"() + rx766_cur."!cursor_debug"("START ", "default_value") + .lex unicode:"$\x{a2}", rx766_cur .local pmc match .lex "$/", match - length rx755_eos, rx755_tgt - gt rx755_pos, rx755_eos, rx755_done - set rx755_off, 0 - lt rx755_pos, 2, rx755_start - sub rx755_off, rx755_pos, 1 - substr rx755_tgt, rx755_tgt, rx755_off - rx755_start: + length rx766_eos, rx766_tgt + gt rx766_pos, rx766_eos, rx766_done + set rx766_off, 0 + lt rx766_pos, 2, rx766_start + sub rx766_off, rx766_pos, 1 + substr rx766_tgt, rx766_tgt, rx766_off + rx766_start: $I10 = self.'from'() - ne $I10, -1, rxscan759_done - goto rxscan759_scan - rxscan759_loop: - ($P10) = rx755_cur."from"() + ne $I10, -1, rxscan770_done + goto rxscan770_scan + rxscan770_loop: + ($P10) = rx766_cur."from"() inc $P10 - set rx755_pos, $P10 - ge rx755_pos, rx755_eos, rxscan759_done - rxscan759_scan: - set_addr $I10, rxscan759_loop - rx755_cur."!mark_push"(0, rx755_pos, $I10) - rxscan759_done: -.annotate 'line', 342 + set rx766_pos, $P10 + ge rx766_pos, rx766_eos, rxscan770_done + rxscan770_scan: + set_addr $I10, rxscan770_loop + rx766_cur."!mark_push"(0, rx766_pos, $I10) + rxscan770_done: +.annotate 'line', 343 # rx subrule "ws" subtype=method negate= - rx755_cur."!cursor_pos"(rx755_pos) - $P10 = rx755_cur."ws"() - unless $P10, rx755_fail - rx755_pos = $P10."pos"() + rx766_cur."!cursor_pos"(rx766_pos) + $P10 = rx766_cur."ws"() + unless $P10, rx766_fail + rx766_pos = $P10."pos"() # rx literal "=" - add $I11, rx755_pos, 1 - gt $I11, rx755_eos, rx755_fail - sub $I11, rx755_pos, rx755_off - substr $S10, rx755_tgt, $I11, 1 - ne $S10, "=", rx755_fail - add rx755_pos, 1 + add $I11, rx766_pos, 1 + gt $I11, rx766_eos, rx766_fail + sub $I11, rx766_pos, rx766_off + substr $S10, rx766_tgt, $I11, 1 + ne $S10, "=", rx766_fail + add rx766_pos, 1 # rx subrule "ws" subtype=method negate= - rx755_cur."!cursor_pos"(rx755_pos) - $P10 = rx755_cur."ws"() - unless $P10, rx755_fail - rx755_pos = $P10."pos"() + rx766_cur."!cursor_pos"(rx766_pos) + $P10 = rx766_cur."ws"() + unless $P10, rx766_fail + rx766_pos = $P10."pos"() # rx subrule "EXPR" subtype=capture negate= - rx755_cur."!cursor_pos"(rx755_pos) - $P10 = rx755_cur."EXPR"("i=") - unless $P10, rx755_fail - rx755_cur."!mark_push"(0, -1, 0, $P10) + rx766_cur."!cursor_pos"(rx766_pos) + $P10 = rx766_cur."EXPR"("i=") + unless $P10, rx766_fail + rx766_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx755_pos = $P10."pos"() + rx766_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx755_cur."!cursor_pos"(rx755_pos) - $P10 = rx755_cur."ws"() - unless $P10, rx755_fail - rx755_pos = $P10."pos"() + rx766_cur."!cursor_pos"(rx766_pos) + $P10 = rx766_cur."ws"() + unless $P10, rx766_fail + rx766_pos = $P10."pos"() # rx pass - rx755_cur."!cursor_pass"(rx755_pos, "default_value") - rx755_cur."!cursor_debug"("PASS ", "default_value", " at pos=", rx755_pos) - .return (rx755_cur) - rx755_fail: -.annotate 'line', 4 - (rx755_rep, rx755_pos, $I10, $P10) = rx755_cur."!mark_fail"(0) - lt rx755_pos, -1, rx755_done - eq rx755_pos, -1, rx755_fail + rx766_cur."!cursor_pass"(rx766_pos, "default_value") + rx766_cur."!cursor_debug"("PASS ", "default_value", " at pos=", rx766_pos) + .return (rx766_cur) + rx766_fail: +.annotate 'line', 4 + (rx766_rep, rx766_pos, $I10, $P10) = rx766_cur."!mark_fail"(0) + lt rx766_pos, -1, rx766_done + eq rx766_pos, -1, rx766_fail jump $I10 - rx755_done: - rx755_cur."!cursor_fail"() - rx755_cur."!cursor_debug"("FAIL ", "default_value") - .return (rx755_cur) + rx766_done: + rx766_cur."!cursor_fail"() + rx766_cur."!cursor_debug"("FAIL ", "default_value") + .return (rx766_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__default_value" :subid("177_1276996322.81157") :method +.sub "!PREFIX__default_value" :subid("179_1278500537.15927") :method .annotate 'line', 4 - $P757 = self."!PREFIX__!subrule"("ws", "") - new $P758, "ResizablePMCArray" - push $P758, $P757 - .return ($P758) + $P768 = self."!PREFIX__!subrule"("ws", "") + new $P769, "ResizablePMCArray" + push $P769, $P768 + .return ($P769) .end .namespace ["NQP";"Grammar"] -.sub "regex_declarator" :subid("178_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "regex_declarator" :subid("180_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx764_tgt - .local int rx764_pos - .local int rx764_off - .local int rx764_eos - .local int rx764_rep - .local pmc rx764_cur - (rx764_cur, rx764_pos, rx764_tgt) = self."!cursor_start"() - rx764_cur."!cursor_debug"("START ", "regex_declarator") - rx764_cur."!cursor_caparray"("signature") - .lex unicode:"$\x{a2}", rx764_cur + .local string rx775_tgt + .local int rx775_pos + .local int rx775_off + .local int rx775_eos + .local int rx775_rep + .local pmc rx775_cur + (rx775_cur, rx775_pos, rx775_tgt) = self."!cursor_start"() + rx775_cur."!cursor_debug"("START ", "regex_declarator") + rx775_cur."!cursor_caparray"("signature") + .lex unicode:"$\x{a2}", rx775_cur .local pmc match .lex "$/", match - length rx764_eos, rx764_tgt - gt rx764_pos, rx764_eos, rx764_done - set rx764_off, 0 - lt rx764_pos, 2, rx764_start - sub rx764_off, rx764_pos, 1 - substr rx764_tgt, rx764_tgt, rx764_off - rx764_start: + length rx775_eos, rx775_tgt + gt rx775_pos, rx775_eos, rx775_done + set rx775_off, 0 + lt rx775_pos, 2, rx775_start + sub rx775_off, rx775_pos, 1 + substr rx775_tgt, rx775_tgt, rx775_off + rx775_start: $I10 = self.'from'() - ne $I10, -1, rxscan768_done - goto rxscan768_scan - rxscan768_loop: - ($P10) = rx764_cur."from"() + ne $I10, -1, rxscan779_done + goto rxscan779_scan + rxscan779_loop: + ($P10) = rx775_cur."from"() inc $P10 - set rx764_pos, $P10 - ge rx764_pos, rx764_eos, rxscan768_done - rxscan768_scan: - set_addr $I10, rxscan768_loop - rx764_cur."!mark_push"(0, rx764_pos, $I10) - rxscan768_done: -.annotate 'line', 344 - # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - alt770_0: + set rx775_pos, $P10 + ge rx775_pos, rx775_eos, rxscan779_done + rxscan779_scan: + set_addr $I10, rxscan779_loop + rx775_cur."!mark_push"(0, rx775_pos, $I10) + rxscan779_done: .annotate 'line', 345 - set_addr $I10, alt770_1 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + # rx subrule "ws" subtype=method negate= + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + alt781_0: .annotate 'line', 346 + set_addr $I10, alt781_1 + rx775_cur."!mark_push"(0, rx775_pos, $I10) +.annotate 'line', 347 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subcapture "proto" - set_addr $I10, rxcap_772_fail - rx764_cur."!mark_push"(0, rx764_pos, $I10) + set_addr $I10, rxcap_783_fail + rx775_cur."!mark_push"(0, rx775_pos, $I10) # rx literal "proto" - 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, "proto", rx764_fail - add rx764_pos, 5 - set_addr $I10, rxcap_772_fail - ($I12, $I11) = rx764_cur."!mark_peek"($I10) - rx764_cur."!cursor_pos"($I11) - ($P10) = rx764_cur."!cursor_start"() - $P10."!cursor_pass"(rx764_pos, "") - rx764_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "proto", rx775_fail + add rx775_pos, 5 + set_addr $I10, rxcap_783_fail + ($I12, $I11) = rx775_cur."!mark_peek"($I10) + rx775_cur."!cursor_pos"($I11) + ($P10) = rx775_cur."!cursor_start"() + $P10."!cursor_pass"(rx775_pos, "") + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("proto") - goto rxcap_772_done - rxcap_772_fail: - goto rx764_fail - rxcap_772_done: + goto rxcap_783_done + rxcap_783_fail: + goto rx775_fail + rxcap_783_done: # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - alt774_0: - set_addr $I10, alt774_1 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + alt785_0: + set_addr $I10, alt785_1 + rx775_cur."!mark_push"(0, rx775_pos, $I10) # rx literal "regex" - 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, "regex", rx764_fail - add rx764_pos, 5 - goto alt774_end - alt774_1: - set_addr $I10, alt774_2 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "regex", rx775_fail + add rx775_pos, 5 + goto alt785_end + alt785_1: + set_addr $I10, alt785_2 + rx775_cur."!mark_push"(0, rx775_pos, $I10) # rx literal "token" - 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, "token", rx764_fail - add rx764_pos, 5 - goto alt774_end - alt774_2: + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "token", rx775_fail + add rx775_pos, 5 + goto alt785_end + alt785_2: # rx literal "rule" - add $I11, rx764_pos, 4 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 4 - ne $S10, "rule", rx764_fail - add rx764_pos, 4 - alt774_end: + add $I11, rx775_pos, 4 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 4 + ne $S10, "rule", rx775_fail + add rx775_pos, 4 + alt785_end: # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 347 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 348 # rx subrule "deflongname" subtype=capture negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."deflongname"() - unless $P10, rx764_fail - rx764_cur."!mark_push"(0, -1, 0, $P10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."deflongname"() + unless $P10, rx775_fail + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("deflongname") - rx764_pos = $P10."pos"() + rx775_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - alt777_0: -.annotate 'line', 348 - set_addr $I10, alt777_1 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + alt788_0: .annotate 'line', 349 + set_addr $I10, alt788_1 + rx775_cur."!mark_push"(0, rx775_pos, $I10) +.annotate 'line', 350 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx literal "{" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, "{", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, "{", rx775_fail + add rx775_pos, 1 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx literal "<...>" - 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, "<...>", rx764_fail - add rx764_pos, 5 + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "<...>", rx775_fail + add rx775_pos, 5 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx literal "}" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, "}", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, "}", rx775_fail + add rx775_pos, 1 # rx subrule "ENDSTMT" subtype=zerowidth negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ENDSTMT"() - unless $P10, rx764_fail + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ENDSTMT"() + unless $P10, rx775_fail # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - goto alt777_end - alt777_1: -.annotate 'line', 350 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + goto alt788_end + alt788_1: +.annotate 'line', 351 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subrule "panic" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."panic"("Proto regex body must be <...>") - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."panic"("Proto regex body must be <...>") + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - alt777_end: -.annotate 'line', 351 - # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 346 - goto alt770_end - alt770_1: + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + alt788_end: .annotate 'line', 352 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 347 + goto alt781_end + alt781_1: +.annotate 'line', 353 + # rx subrule "ws" subtype=method negate= + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subcapture "sym" - set_addr $I10, rxcap_787_fail - rx764_cur."!mark_push"(0, rx764_pos, $I10) - alt786_0: - set_addr $I10, alt786_1 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + set_addr $I10, rxcap_798_fail + rx775_cur."!mark_push"(0, rx775_pos, $I10) + alt797_0: + set_addr $I10, alt797_1 + rx775_cur."!mark_push"(0, rx775_pos, $I10) # rx literal "regex" - 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, "regex", rx764_fail - add rx764_pos, 5 - goto alt786_end - alt786_1: - set_addr $I10, alt786_2 - rx764_cur."!mark_push"(0, rx764_pos, $I10) + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "regex", rx775_fail + add rx775_pos, 5 + goto alt797_end + alt797_1: + set_addr $I10, alt797_2 + rx775_cur."!mark_push"(0, rx775_pos, $I10) # rx literal "token" - 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, "token", rx764_fail - add rx764_pos, 5 - goto alt786_end - alt786_2: + add $I11, rx775_pos, 5 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 5 + ne $S10, "token", rx775_fail + add rx775_pos, 5 + goto alt797_end + alt797_2: # rx literal "rule" - add $I11, rx764_pos, 4 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 4 - ne $S10, "rule", rx764_fail - add rx764_pos, 4 - alt786_end: - set_addr $I10, rxcap_787_fail - ($I12, $I11) = rx764_cur."!mark_peek"($I10) - rx764_cur."!cursor_pos"($I11) - ($P10) = rx764_cur."!cursor_start"() - $P10."!cursor_pass"(rx764_pos, "") - rx764_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx775_pos, 4 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 4 + ne $S10, "rule", rx775_fail + add rx775_pos, 4 + alt797_end: + set_addr $I10, rxcap_798_fail + ($I12, $I11) = rx775_cur."!mark_peek"($I10) + rx775_cur."!cursor_pos"($I11) + ($P10) = rx775_cur."!cursor_start"() + $P10."!cursor_pass"(rx775_pos, "") + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_787_done - rxcap_787_fail: - goto rx764_fail - rxcap_787_done: + goto rxcap_798_done + rxcap_798_fail: + goto rx775_fail + rxcap_798_done: # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 353 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 354 # rx subrule "deflongname" subtype=capture negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."deflongname"() - unless $P10, rx764_fail - rx764_cur."!mark_push"(0, -1, 0, $P10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."deflongname"() + unless $P10, rx775_fail + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("deflongname") - rx764_pos = $P10."pos"() + rx775_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 354 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 355 # rx subrule "newpad" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."newpad"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."newpad"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 355 - # rx rxquantr791 ** 0..1 - set_addr $I796, rxquantr791_done - rx764_cur."!mark_push"(0, rx764_pos, $I796) - rxquantr791_loop: + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 356 + # rx rxquantr802 ** 0..1 + set_addr $I807, rxquantr802_done + rx775_cur."!mark_push"(0, rx775_pos, $I807) + rxquantr802_loop: # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx literal "(" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, "(", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, "(", rx775_fail + add rx775_pos, 1 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx subrule "signature" subtype=capture negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."signature"() - unless $P10, rx764_fail - rx764_cur."!mark_push"(0, -1, 0, $P10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."signature"() + unless $P10, rx775_fail + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("signature") - rx764_pos = $P10."pos"() + rx775_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() # rx literal ")" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, ")", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, ")", rx775_fail + add rx775_pos, 1 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - (rx764_rep) = rx764_cur."!mark_commit"($I796) - rxquantr791_done: + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + (rx775_rep) = rx775_cur."!mark_commit"($I807) + rxquantr802_done: # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 356 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 357 # rx reduce name="regex_declarator" key="open" - rx764_cur."!cursor_pos"(rx764_pos) - rx764_cur."!reduce"("regex_declarator", "open") + rx775_cur."!cursor_pos"(rx775_pos) + rx775_cur."!reduce"("regex_declarator", "open") # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 357 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 358 # rx literal "{" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, "{", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, "{", rx775_fail + add rx775_pos, 1 # rx subrule "LANG" subtype=capture negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."LANG"("Regex", "nibbler") - unless $P10, rx764_fail - rx764_cur."!mark_push"(0, -1, 0, $P10) + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."LANG"("Regex", "nibbler") + unless $P10, rx775_fail + rx775_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("p6regex") - rx764_pos = $P10."pos"() + rx775_pos = $P10."pos"() # rx literal "}" - add $I11, rx764_pos, 1 - gt $I11, rx764_eos, rx764_fail - sub $I11, rx764_pos, rx764_off - substr $S10, rx764_tgt, $I11, 1 - ne $S10, "}", rx764_fail - add rx764_pos, 1 + add $I11, rx775_pos, 1 + gt $I11, rx775_eos, rx775_fail + sub $I11, rx775_pos, rx775_off + substr $S10, rx775_tgt, $I11, 1 + ne $S10, "}", rx775_fail + add rx775_pos, 1 # rx subrule "ENDSTMT" subtype=zerowidth negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ENDSTMT"() - unless $P10, rx764_fail + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ENDSTMT"() + unless $P10, rx775_fail # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() - alt770_end: -.annotate 'line', 358 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() + alt781_end: +.annotate 'line', 359 # rx subrule "ws" subtype=method negate= - rx764_cur."!cursor_pos"(rx764_pos) - $P10 = rx764_cur."ws"() - unless $P10, rx764_fail - rx764_pos = $P10."pos"() -.annotate 'line', 344 + rx775_cur."!cursor_pos"(rx775_pos) + $P10 = rx775_cur."ws"() + unless $P10, rx775_fail + rx775_pos = $P10."pos"() +.annotate 'line', 345 # rx pass - rx764_cur."!cursor_pass"(rx764_pos, "regex_declarator") - rx764_cur."!cursor_debug"("PASS ", "regex_declarator", " at pos=", rx764_pos) - .return (rx764_cur) - rx764_fail: -.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 + rx775_cur."!cursor_pass"(rx775_pos, "regex_declarator") + rx775_cur."!cursor_debug"("PASS ", "regex_declarator", " at pos=", rx775_pos) + .return (rx775_cur) + rx775_fail: +.annotate 'line', 4 + (rx775_rep, rx775_pos, $I10, $P10) = rx775_cur."!mark_fail"(0) + lt rx775_pos, -1, rx775_done + eq rx775_pos, -1, rx775_fail jump $I10 - rx764_done: - rx764_cur."!cursor_fail"() - rx764_cur."!cursor_debug"("FAIL ", "regex_declarator") - .return (rx764_cur) + rx775_done: + rx775_cur."!cursor_fail"() + rx775_cur."!cursor_debug"("FAIL ", "regex_declarator") + .return (rx775_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__regex_declarator" :subid("179_1276996322.81157") :method +.sub "!PREFIX__regex_declarator" :subid("181_1278500537.15927") :method .annotate 'line', 4 - $P766 = self."!PREFIX__!subrule"("ws", "") - new $P767, "ResizablePMCArray" - push $P767, $P766 - .return ($P767) + $P777 = self."!PREFIX__!subrule"("ws", "") + new $P778, "ResizablePMCArray" + push $P778, $P777 + .return ($P778) .end .namespace ["NQP";"Grammar"] -.sub "dotty" :subid("180_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "dotty" :subid("182_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx802_tgt - .local int rx802_pos - .local int rx802_off - .local int rx802_eos - .local int rx802_rep - .local pmc rx802_cur - (rx802_cur, rx802_pos, rx802_tgt) = self."!cursor_start"() - rx802_cur."!cursor_debug"("START ", "dotty") - rx802_cur."!cursor_caparray"("args") - .lex unicode:"$\x{a2}", rx802_cur + .local string rx813_tgt + .local int rx813_pos + .local int rx813_off + .local int rx813_eos + .local int rx813_rep + .local pmc rx813_cur + (rx813_cur, rx813_pos, rx813_tgt) = self."!cursor_start"() + rx813_cur."!cursor_debug"("START ", "dotty") + rx813_cur."!cursor_caparray"("args") + .lex unicode:"$\x{a2}", rx813_cur .local pmc match .lex "$/", match - length rx802_eos, rx802_tgt - gt rx802_pos, rx802_eos, rx802_done - set rx802_off, 0 - lt rx802_pos, 2, rx802_start - sub rx802_off, rx802_pos, 1 - substr rx802_tgt, rx802_tgt, rx802_off - rx802_start: + length rx813_eos, rx813_tgt + gt rx813_pos, rx813_eos, rx813_done + set rx813_off, 0 + lt rx813_pos, 2, rx813_start + sub rx813_off, rx813_pos, 1 + substr rx813_tgt, rx813_tgt, rx813_off + rx813_start: $I10 = self.'from'() - ne $I10, -1, rxscan806_done - goto rxscan806_scan - rxscan806_loop: - ($P10) = rx802_cur."from"() + ne $I10, -1, rxscan817_done + goto rxscan817_scan + rxscan817_loop: + ($P10) = rx813_cur."from"() inc $P10 - set rx802_pos, $P10 - ge rx802_pos, rx802_eos, rxscan806_done - rxscan806_scan: - set_addr $I10, rxscan806_loop - rx802_cur."!mark_push"(0, rx802_pos, $I10) - rxscan806_done: -.annotate 'line', 362 - # rx literal "." - add $I11, rx802_pos, 1 - gt $I11, rx802_eos, rx802_fail - sub $I11, rx802_pos, rx802_off - substr $S10, rx802_tgt, $I11, 1 - ne $S10, ".", rx802_fail - add rx802_pos, 1 - alt807_0: + set rx813_pos, $P10 + ge rx813_pos, rx813_eos, rxscan817_done + rxscan817_scan: + set_addr $I10, rxscan817_loop + rx813_cur."!mark_push"(0, rx813_pos, $I10) + rxscan817_done: .annotate 'line', 363 - set_addr $I10, alt807_1 - rx802_cur."!mark_push"(0, rx802_pos, $I10) + # rx literal "." + add $I11, rx813_pos, 1 + gt $I11, rx813_eos, rx813_fail + sub $I11, rx813_pos, rx813_off + substr $S10, rx813_tgt, $I11, 1 + ne $S10, ".", rx813_fail + add rx813_pos, 1 + alt818_0: +.annotate 'line', 364 + set_addr $I10, alt818_1 + rx813_cur."!mark_push"(0, rx813_pos, $I10) # rx subrule "deflongname" subtype=capture negate= - rx802_cur."!cursor_pos"(rx802_pos) - $P10 = rx802_cur."deflongname"() - unless $P10, rx802_fail - rx802_cur."!mark_push"(0, -1, 0, $P10) + rx813_cur."!cursor_pos"(rx813_pos) + $P10 = rx813_cur."deflongname"() + unless $P10, rx813_fail + rx813_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("longname=deflongname") - rx802_pos = $P10."pos"() - goto alt807_end - alt807_1: -.annotate 'line', 364 + rx813_pos = $P10."pos"() + goto alt818_end + alt818_1: +.annotate 'line', 365 # rx enumcharlist negate=0 zerowidth - ge rx802_pos, rx802_eos, rx802_fail - sub $I10, rx802_pos, rx802_off - substr $S10, rx802_tgt, $I10, 1 + ge rx813_pos, rx813_eos, rx813_fail + sub $I10, rx813_pos, rx813_off + substr $S10, rx813_tgt, $I10, 1 index $I11, "'\"", $S10 - lt $I11, 0, rx802_fail + lt $I11, 0, rx813_fail # rx subrule "quote" subtype=capture negate= - rx802_cur."!cursor_pos"(rx802_pos) - $P10 = rx802_cur."quote"() - unless $P10, rx802_fail - rx802_cur."!mark_push"(0, -1, 0, $P10) + rx813_cur."!cursor_pos"(rx813_pos) + $P10 = rx813_cur."quote"() + unless $P10, rx813_fail + rx813_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote") - rx802_pos = $P10."pos"() - alt808_0: -.annotate 'line', 365 - set_addr $I10, alt808_1 - rx802_cur."!mark_push"(0, rx802_pos, $I10) + rx813_pos = $P10."pos"() + alt819_0: +.annotate 'line', 366 + set_addr $I10, alt819_1 + rx813_cur."!mark_push"(0, rx813_pos, $I10) # rx enumcharlist negate=0 zerowidth - ge rx802_pos, rx802_eos, rx802_fail - sub $I10, rx802_pos, rx802_off - substr $S10, rx802_tgt, $I10, 1 + ge rx813_pos, rx813_eos, rx813_fail + sub $I10, rx813_pos, rx813_off + substr $S10, rx813_tgt, $I10, 1 index $I11, "(", $S10 - lt $I11, 0, rx802_fail - goto alt808_end - alt808_1: + lt $I11, 0, rx813_fail + goto alt819_end + alt819_1: # rx subrule "panic" subtype=method negate= - rx802_cur."!cursor_pos"(rx802_pos) - $P10 = rx802_cur."panic"("Quoted method name requires parenthesized arguments") - unless $P10, rx802_fail - rx802_pos = $P10."pos"() - alt808_end: - alt807_end: -.annotate 'line', 371 - # rx rxquantr809 ** 0..1 - set_addr $I811, rxquantr809_done - rx802_cur."!mark_push"(0, rx802_pos, $I811) - rxquantr809_loop: - alt810_0: -.annotate 'line', 368 - set_addr $I10, alt810_1 - rx802_cur."!mark_push"(0, rx802_pos, $I10) + rx813_cur."!cursor_pos"(rx813_pos) + $P10 = rx813_cur."panic"("Quoted method name requires parenthesized arguments") + unless $P10, rx813_fail + rx813_pos = $P10."pos"() + alt819_end: + alt818_end: +.annotate 'line', 372 + # rx rxquantr820 ** 0..1 + set_addr $I822, rxquantr820_done + rx813_cur."!mark_push"(0, rx813_pos, $I822) + rxquantr820_loop: + alt821_0: .annotate 'line', 369 + set_addr $I10, alt821_1 + rx813_cur."!mark_push"(0, rx813_pos, $I10) +.annotate 'line', 370 # rx enumcharlist negate=0 zerowidth - ge rx802_pos, rx802_eos, rx802_fail - sub $I10, rx802_pos, rx802_off - substr $S10, rx802_tgt, $I10, 1 + ge rx813_pos, rx813_eos, rx813_fail + sub $I10, rx813_pos, rx813_off + substr $S10, rx813_tgt, $I10, 1 index $I11, "(", $S10 - lt $I11, 0, rx802_fail + lt $I11, 0, rx813_fail # rx subrule "args" subtype=capture negate= - rx802_cur."!cursor_pos"(rx802_pos) - $P10 = rx802_cur."args"() - unless $P10, rx802_fail - rx802_cur."!mark_push"(0, -1, 0, $P10) + rx813_cur."!cursor_pos"(rx813_pos) + $P10 = rx813_cur."args"() + unless $P10, rx813_fail + rx813_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("args") - rx802_pos = $P10."pos"() - goto alt810_end - alt810_1: -.annotate 'line', 370 + rx813_pos = $P10."pos"() + goto alt821_end + alt821_1: +.annotate 'line', 371 # rx literal ":" - add $I11, rx802_pos, 1 - gt $I11, rx802_eos, rx802_fail - sub $I11, rx802_pos, rx802_off - substr $S10, rx802_tgt, $I11, 1 - ne $S10, ":", rx802_fail - add rx802_pos, 1 + add $I11, rx813_pos, 1 + gt $I11, rx813_eos, rx813_fail + sub $I11, rx813_pos, rx813_off + substr $S10, rx813_tgt, $I11, 1 + ne $S10, ":", rx813_fail + add rx813_pos, 1 # rx charclass s - ge rx802_pos, rx802_eos, rx802_fail - sub $I10, rx802_pos, rx802_off - is_cclass $I11, 32, rx802_tgt, $I10 - unless $I11, rx802_fail - inc rx802_pos + ge rx813_pos, rx813_eos, rx813_fail + sub $I10, rx813_pos, rx813_off + is_cclass $I11, 32, rx813_tgt, $I10 + unless $I11, rx813_fail + inc rx813_pos # rx subrule "arglist" subtype=capture negate= - rx802_cur."!cursor_pos"(rx802_pos) - $P10 = rx802_cur."arglist"() - unless $P10, rx802_fail - rx802_cur."!mark_push"(0, -1, 0, $P10) + rx813_cur."!cursor_pos"(rx813_pos) + $P10 = rx813_cur."arglist"() + unless $P10, rx813_fail + rx813_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("args") - rx802_pos = $P10."pos"() - alt810_end: -.annotate 'line', 371 - (rx802_rep) = rx802_cur."!mark_commit"($I811) - rxquantr809_done: -.annotate 'line', 361 + rx813_pos = $P10."pos"() + alt821_end: +.annotate 'line', 372 + (rx813_rep) = rx813_cur."!mark_commit"($I822) + rxquantr820_done: +.annotate 'line', 362 # rx pass - rx802_cur."!cursor_pass"(rx802_pos, "dotty") - rx802_cur."!cursor_debug"("PASS ", "dotty", " at pos=", rx802_pos) - .return (rx802_cur) - rx802_fail: -.annotate 'line', 4 - (rx802_rep, rx802_pos, $I10, $P10) = rx802_cur."!mark_fail"(0) - lt rx802_pos, -1, rx802_done - eq rx802_pos, -1, rx802_fail + rx813_cur."!cursor_pass"(rx813_pos, "dotty") + rx813_cur."!cursor_debug"("PASS ", "dotty", " at pos=", rx813_pos) + .return (rx813_cur) + rx813_fail: +.annotate 'line', 4 + (rx813_rep, rx813_pos, $I10, $P10) = rx813_cur."!mark_fail"(0) + lt rx813_pos, -1, rx813_done + eq rx813_pos, -1, rx813_fail jump $I10 - rx802_done: - rx802_cur."!cursor_fail"() - rx802_cur."!cursor_debug"("FAIL ", "dotty") - .return (rx802_cur) + rx813_done: + rx813_cur."!cursor_fail"() + rx813_cur."!cursor_debug"("FAIL ", "dotty") + .return (rx813_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__dotty" :subid("181_1276996322.81157") :method +.sub "!PREFIX__dotty" :subid("183_1278500537.15927") :method .annotate 'line', 4 - $P804 = self."!PREFIX__!subrule"("deflongname", ".") - new $P805, "ResizablePMCArray" - push $P805, "'" - push $P805, "\"" - push $P805, $P804 - .return ($P805) + $P815 = self."!PREFIX__!subrule"("deflongname", ".") + new $P816, "ResizablePMCArray" + push $P816, "'" + push $P816, "\"" + push $P816, $P815 + .return ($P816) .end .namespace ["NQP";"Grammar"] -.sub "term" :subid("182_1276996322.81157") :method -.annotate 'line', 375 - $P813 = self."!protoregex"("term") - .return ($P813) +.sub "term" :subid("184_1278500537.15927") :method +.annotate 'line', 376 + $P824 = self."!protoregex"("term") + .return ($P824) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term" :subid("183_1276996322.81157") :method -.annotate 'line', 375 - $P815 = self."!PREFIX__!protoregex"("term") - .return ($P815) +.sub "!PREFIX__term" :subid("185_1278500537.15927") :method +.annotate 'line', 376 + $P826 = self."!PREFIX__!protoregex"("term") + .return ($P826) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("184_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("186_1278500537.15927") :method :outer("11_1278500537.15927") .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 ", "term:sym") - .lex unicode:"$\x{a2}", rx817_cur + .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 ", "term:sym") + .lex unicode:"$\x{a2}", rx828_cur .local pmc match .lex "$/", match - length rx817_eos, rx817_tgt - gt rx817_pos, rx817_eos, rx817_done - 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: + length rx828_eos, rx828_tgt + gt rx828_pos, rx828_eos, rx828_done + 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, rxscan820_done - goto rxscan820_scan - rxscan820_loop: - ($P10) = rx817_cur."from"() + ne $I10, -1, rxscan831_done + goto rxscan831_scan + rxscan831_loop: + ($P10) = rx828_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', 377 + set rx828_pos, $P10 + ge rx828_pos, rx828_eos, rxscan831_done + rxscan831_scan: + set_addr $I10, rxscan831_loop + rx828_cur."!mark_push"(0, rx828_pos, $I10) + rxscan831_done: +.annotate 'line', 378 # rx subcapture "sym" - set_addr $I10, rxcap_821_fail - rx817_cur."!mark_push"(0, rx817_pos, $I10) + set_addr $I10, rxcap_832_fail + rx828_cur."!mark_push"(0, rx828_pos, $I10) # rx literal "self" - add $I11, rx817_pos, 4 - gt $I11, rx817_eos, rx817_fail - sub $I11, rx817_pos, rx817_off - substr $S10, rx817_tgt, $I11, 4 - ne $S10, "self", rx817_fail - add rx817_pos, 4 - set_addr $I10, rxcap_821_fail - ($I12, $I11) = rx817_cur."!mark_peek"($I10) - rx817_cur."!cursor_pos"($I11) - ($P10) = rx817_cur."!cursor_start"() - $P10."!cursor_pass"(rx817_pos, "") - rx817_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx828_pos, 4 + gt $I11, rx828_eos, rx828_fail + sub $I11, rx828_pos, rx828_off + substr $S10, rx828_tgt, $I11, 4 + ne $S10, "self", rx828_fail + add rx828_pos, 4 + set_addr $I10, rxcap_832_fail + ($I12, $I11) = rx828_cur."!mark_peek"($I10) + rx828_cur."!cursor_pos"($I11) + ($P10) = rx828_cur."!cursor_start"() + $P10."!cursor_pass"(rx828_pos, "") + rx828_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_821_done - rxcap_821_fail: - goto rx817_fail - rxcap_821_done: + goto rxcap_832_done + rxcap_832_fail: + goto rx828_fail + rxcap_832_done: # rxanchor rwb - le rx817_pos, 0, rx817_fail - sub $I10, rx817_pos, rx817_off - is_cclass $I11, 8192, rx817_tgt, $I10 - if $I11, rx817_fail + le rx828_pos, 0, rx828_fail + sub $I10, rx828_pos, rx828_off + is_cclass $I11, 8192, rx828_tgt, $I10 + if $I11, rx828_fail dec $I10 - is_cclass $I11, 8192, rx817_tgt, $I10 - unless $I11, rx817_fail + is_cclass $I11, 8192, rx828_tgt, $I10 + unless $I11, rx828_fail # rx pass - rx817_cur."!cursor_pass"(rx817_pos, "term:sym") - rx817_cur."!cursor_debug"("PASS ", "term:sym", " 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 + rx828_cur."!cursor_pass"(rx828_pos, "term:sym") + rx828_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx817_done: - rx817_cur."!cursor_fail"() - rx817_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx817_cur) + rx828_done: + rx828_cur."!cursor_fail"() + rx828_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx828_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("185_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("187_1278500537.15927") :method .annotate 'line', 4 - new $P819, "ResizablePMCArray" - push $P819, "self" - .return ($P819) + new $P830, "ResizablePMCArray" + push $P830, "self" + .return ($P830) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("186_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("188_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx823_tgt - .local int rx823_pos - .local int rx823_off - .local int rx823_eos - .local int rx823_rep - .local pmc rx823_cur - (rx823_cur, rx823_pos, rx823_tgt) = self."!cursor_start"() - rx823_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx823_cur + .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 ", "term:sym") + .lex unicode:"$\x{a2}", rx834_cur .local pmc match .lex "$/", match - length rx823_eos, rx823_tgt - gt rx823_pos, rx823_eos, rx823_done - set rx823_off, 0 - lt rx823_pos, 2, rx823_start - sub rx823_off, rx823_pos, 1 - substr rx823_tgt, rx823_tgt, rx823_off - rx823_start: + length rx834_eos, rx834_tgt + gt rx834_pos, rx834_eos, rx834_done + 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, rxscan827_done - goto rxscan827_scan - rxscan827_loop: - ($P10) = rx823_cur."from"() + ne $I10, -1, rxscan838_done + goto rxscan838_scan + rxscan838_loop: + ($P10) = rx834_cur."from"() inc $P10 - set rx823_pos, $P10 - ge rx823_pos, rx823_eos, rxscan827_done - rxscan827_scan: - set_addr $I10, rxscan827_loop - rx823_cur."!mark_push"(0, rx823_pos, $I10) - rxscan827_done: -.annotate 'line', 380 + 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', 381 # rx subrule "deflongname" subtype=capture negate= - rx823_cur."!cursor_pos"(rx823_pos) - $P10 = rx823_cur."deflongname"() - unless $P10, rx823_fail - rx823_cur."!mark_push"(0, -1, 0, $P10) + rx834_cur."!cursor_pos"(rx834_pos) + $P10 = rx834_cur."deflongname"() + unless $P10, rx834_fail + rx834_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("deflongname") - rx823_pos = $P10."pos"() + rx834_pos = $P10."pos"() # rx enumcharlist negate=0 zerowidth - ge rx823_pos, rx823_eos, rx823_fail - sub $I10, rx823_pos, rx823_off - substr $S10, rx823_tgt, $I10, 1 + ge rx834_pos, rx834_eos, rx834_fail + sub $I10, rx834_pos, rx834_off + substr $S10, rx834_tgt, $I10, 1 index $I11, "(", $S10 - lt $I11, 0, rx823_fail + lt $I11, 0, rx834_fail # rx subrule "args" subtype=capture negate= - rx823_cur."!cursor_pos"(rx823_pos) - $P10 = rx823_cur."args"() - unless $P10, rx823_fail - rx823_cur."!mark_push"(0, -1, 0, $P10) + rx834_cur."!cursor_pos"(rx834_pos) + $P10 = rx834_cur."args"() + unless $P10, rx834_fail + rx834_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("args") - rx823_pos = $P10."pos"() -.annotate 'line', 379 + rx834_pos = $P10."pos"() +.annotate 'line', 380 # rx pass - rx823_cur."!cursor_pass"(rx823_pos, "term:sym") - rx823_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx823_pos) - .return (rx823_cur) - rx823_fail: -.annotate 'line', 4 - (rx823_rep, rx823_pos, $I10, $P10) = rx823_cur."!mark_fail"(0) - lt rx823_pos, -1, rx823_done - eq rx823_pos, -1, rx823_fail + rx834_cur."!cursor_pass"(rx834_pos, "term:sym") + rx834_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx823_done: - rx823_cur."!cursor_fail"() - rx823_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx823_cur) + rx834_done: + rx834_cur."!cursor_fail"() + rx834_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx834_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("187_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("189_1278500537.15927") :method .annotate 'line', 4 - $P825 = self."!PREFIX__!subrule"("deflongname", "") - new $P826, "ResizablePMCArray" - push $P826, $P825 - .return ($P826) + $P836 = self."!PREFIX__!subrule"("deflongname", "") + new $P837, "ResizablePMCArray" + push $P837, $P836 + .return ($P837) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("188_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("190_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx829_tgt - .local int rx829_pos - .local int rx829_off - .local int rx829_eos - .local int rx829_rep - .local pmc rx829_cur - (rx829_cur, rx829_pos, rx829_tgt) = self."!cursor_start"() - rx829_cur."!cursor_debug"("START ", "term:sym") - rx829_cur."!cursor_caparray"("args") - .lex unicode:"$\x{a2}", rx829_cur + .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 ", "term:sym") + rx840_cur."!cursor_caparray"("args") + .lex unicode:"$\x{a2}", rx840_cur .local pmc match .lex "$/", match - length rx829_eos, rx829_tgt - gt rx829_pos, rx829_eos, rx829_done - set rx829_off, 0 - lt rx829_pos, 2, rx829_start - sub rx829_off, rx829_pos, 1 - substr rx829_tgt, rx829_tgt, rx829_off - rx829_start: + length rx840_eos, rx840_tgt + gt rx840_pos, rx840_eos, rx840_done + 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, rxscan833_done - goto rxscan833_scan - rxscan833_loop: - ($P10) = rx829_cur."from"() + ne $I10, -1, rxscan844_done + goto rxscan844_scan + rxscan844_loop: + ($P10) = rx840_cur."from"() inc $P10 - set rx829_pos, $P10 - ge rx829_pos, rx829_eos, rxscan833_done - rxscan833_scan: - set_addr $I10, rxscan833_loop - rx829_cur."!mark_push"(0, rx829_pos, $I10) - rxscan833_done: -.annotate 'line', 384 + 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', 385 # rx subrule "name" subtype=capture negate= - rx829_cur."!cursor_pos"(rx829_pos) - $P10 = rx829_cur."name"() - unless $P10, rx829_fail - rx829_cur."!mark_push"(0, -1, 0, $P10) + rx840_cur."!cursor_pos"(rx840_pos) + $P10 = rx840_cur."name"() + unless $P10, rx840_fail + rx840_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - rx829_pos = $P10."pos"() - # rx rxquantr834 ** 0..1 - set_addr $I835, rxquantr834_done - rx829_cur."!mark_push"(0, rx829_pos, $I835) - rxquantr834_loop: + rx840_pos = $P10."pos"() + # rx rxquantr845 ** 0..1 + set_addr $I846, rxquantr845_done + rx840_cur."!mark_push"(0, rx840_pos, $I846) + rxquantr845_loop: # rx subrule "args" subtype=capture negate= - rx829_cur."!cursor_pos"(rx829_pos) - $P10 = rx829_cur."args"() - unless $P10, rx829_fail - rx829_cur."!mark_push"(0, -1, 0, $P10) + rx840_cur."!cursor_pos"(rx840_pos) + $P10 = rx840_cur."args"() + unless $P10, rx840_fail + rx840_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("args") - rx829_pos = $P10."pos"() - (rx829_rep) = rx829_cur."!mark_commit"($I835) - rxquantr834_done: -.annotate 'line', 383 + rx840_pos = $P10."pos"() + (rx840_rep) = rx840_cur."!mark_commit"($I846) + rxquantr845_done: +.annotate 'line', 384 # rx pass - rx829_cur."!cursor_pass"(rx829_pos, "term:sym") - rx829_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx829_pos) - .return (rx829_cur) - rx829_fail: -.annotate 'line', 4 - (rx829_rep, rx829_pos, $I10, $P10) = rx829_cur."!mark_fail"(0) - lt rx829_pos, -1, rx829_done - eq rx829_pos, -1, rx829_fail + rx840_cur."!cursor_pass"(rx840_pos, "term:sym") + rx840_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx829_done: - rx829_cur."!cursor_fail"() - rx829_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx829_cur) + rx840_done: + rx840_cur."!cursor_fail"() + rx840_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx840_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("189_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("191_1278500537.15927") :method .annotate 'line', 4 - $P831 = self."!PREFIX__!subrule"("name", "") - new $P832, "ResizablePMCArray" - push $P832, $P831 - .return ($P832) + $P842 = self."!PREFIX__!subrule"("name", "") + new $P843, "ResizablePMCArray" + push $P843, $P842 + .return ($P843) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("190_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("192_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx837_tgt - .local int rx837_pos - .local int rx837_off - .local int rx837_eos - .local int rx837_rep - .local pmc rx837_cur - (rx837_cur, rx837_pos, rx837_tgt) = self."!cursor_start"() - rx837_cur."!cursor_debug"("START ", "term:sym") - rx837_cur."!cursor_caparray"("args") - .lex unicode:"$\x{a2}", rx837_cur + .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 ", "term:sym") + rx848_cur."!cursor_caparray"("args") + .lex unicode:"$\x{a2}", rx848_cur .local pmc match .lex "$/", match - length rx837_eos, rx837_tgt - gt rx837_pos, rx837_eos, rx837_done - set rx837_off, 0 - lt rx837_pos, 2, rx837_start - sub rx837_off, rx837_pos, 1 - substr rx837_tgt, rx837_tgt, rx837_off - rx837_start: + length rx848_eos, rx848_tgt + gt rx848_pos, rx848_eos, rx848_done + 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, rxscan840_done - goto rxscan840_scan - rxscan840_loop: - ($P10) = rx837_cur."from"() + ne $I10, -1, rxscan851_done + goto rxscan851_scan + rxscan851_loop: + ($P10) = rx848_cur."from"() inc $P10 - set rx837_pos, $P10 - ge rx837_pos, rx837_eos, rxscan840_done - rxscan840_scan: - set_addr $I10, rxscan840_loop - rx837_cur."!mark_push"(0, rx837_pos, $I10) - rxscan840_done: -.annotate 'line', 388 + set rx848_pos, $P10 + ge rx848_pos, rx848_eos, rxscan851_done + rxscan851_scan: + set_addr $I10, rxscan851_loop + rx848_cur."!mark_push"(0, rx848_pos, $I10) + rxscan851_done: +.annotate 'line', 389 # rx literal "pir::" - add $I11, rx837_pos, 5 - gt $I11, rx837_eos, rx837_fail - sub $I11, rx837_pos, rx837_off - substr $S10, rx837_tgt, $I11, 5 - ne $S10, "pir::", rx837_fail - add rx837_pos, 5 + 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, "pir::", rx848_fail + add rx848_pos, 5 # rx subcapture "op" - set_addr $I10, rxcap_841_fail - rx837_cur."!mark_push"(0, rx837_pos, $I10) + set_addr $I10, rxcap_852_fail + rx848_cur."!mark_push"(0, rx848_pos, $I10) # rx charclass_q w r 1..-1 - sub $I10, rx837_pos, rx837_off - find_not_cclass $I11, 8192, rx837_tgt, $I10, rx837_eos + sub $I10, rx848_pos, rx848_off + find_not_cclass $I11, 8192, rx848_tgt, $I10, rx848_eos add $I12, $I10, 1 - lt $I11, $I12, rx837_fail - add rx837_pos, rx837_off, $I11 - set_addr $I10, rxcap_841_fail - ($I12, $I11) = rx837_cur."!mark_peek"($I10) - rx837_cur."!cursor_pos"($I11) - ($P10) = rx837_cur."!cursor_start"() - $P10."!cursor_pass"(rx837_pos, "") - rx837_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx848_fail + add rx848_pos, rx848_off, $I11 + set_addr $I10, rxcap_852_fail + ($I12, $I11) = rx848_cur."!mark_peek"($I10) + rx848_cur."!cursor_pos"($I11) + ($P10) = rx848_cur."!cursor_start"() + $P10."!cursor_pass"(rx848_pos, "") + rx848_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("op") - goto rxcap_841_done - rxcap_841_fail: - goto rx837_fail - rxcap_841_done: - # rx rxquantr842 ** 0..1 - set_addr $I843, rxquantr842_done - rx837_cur."!mark_push"(0, rx837_pos, $I843) - rxquantr842_loop: + goto rxcap_852_done + rxcap_852_fail: + goto rx848_fail + rxcap_852_done: + # rx rxquantr853 ** 0..1 + set_addr $I854, rxquantr853_done + rx848_cur."!mark_push"(0, rx848_pos, $I854) + rxquantr853_loop: # rx subrule "args" subtype=capture negate= - rx837_cur."!cursor_pos"(rx837_pos) - $P10 = rx837_cur."args"() - unless $P10, rx837_fail - rx837_cur."!mark_push"(0, -1, 0, $P10) + rx848_cur."!cursor_pos"(rx848_pos) + $P10 = rx848_cur."args"() + unless $P10, rx848_fail + rx848_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("args") - rx837_pos = $P10."pos"() - (rx837_rep) = rx837_cur."!mark_commit"($I843) - rxquantr842_done: -.annotate 'line', 387 + rx848_pos = $P10."pos"() + (rx848_rep) = rx848_cur."!mark_commit"($I854) + rxquantr853_done: +.annotate 'line', 388 # rx pass - rx837_cur."!cursor_pass"(rx837_pos, "term:sym") - rx837_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx837_pos) - .return (rx837_cur) - rx837_fail: -.annotate 'line', 4 - (rx837_rep, rx837_pos, $I10, $P10) = rx837_cur."!mark_fail"(0) - lt rx837_pos, -1, rx837_done - eq rx837_pos, -1, rx837_fail + rx848_cur."!cursor_pass"(rx848_pos, "term:sym") + rx848_cur."!cursor_debug"("PASS ", "term:sym", " 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 - rx837_done: - rx837_cur."!cursor_fail"() - rx837_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx837_cur) + rx848_done: + rx848_cur."!cursor_fail"() + rx848_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx848_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("191_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("193_1278500537.15927") :method .annotate 'line', 4 - new $P839, "ResizablePMCArray" - push $P839, "pir::" - .return ($P839) + new $P850, "ResizablePMCArray" + push $P850, "pir::" + .return ($P850) .end .namespace ["NQP";"Grammar"] -.sub "args" :subid("192_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "args" :subid("194_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx845_tgt - .local int rx845_pos - .local int rx845_off - .local int rx845_eos - .local int rx845_rep - .local pmc rx845_cur - (rx845_cur, rx845_pos, rx845_tgt) = self."!cursor_start"() - rx845_cur."!cursor_debug"("START ", "args") - .lex unicode:"$\x{a2}", rx845_cur + .local string rx856_tgt + .local int rx856_pos + .local int rx856_off + .local int rx856_eos + .local int rx856_rep + .local pmc rx856_cur + (rx856_cur, rx856_pos, rx856_tgt) = self."!cursor_start"() + rx856_cur."!cursor_debug"("START ", "args") + .lex unicode:"$\x{a2}", rx856_cur .local pmc match .lex "$/", match - length rx845_eos, rx845_tgt - gt rx845_pos, rx845_eos, rx845_done - set rx845_off, 0 - lt rx845_pos, 2, rx845_start - sub rx845_off, rx845_pos, 1 - substr rx845_tgt, rx845_tgt, rx845_off - rx845_start: + length rx856_eos, rx856_tgt + gt rx856_pos, rx856_eos, rx856_done + set rx856_off, 0 + lt rx856_pos, 2, rx856_start + sub rx856_off, rx856_pos, 1 + substr rx856_tgt, rx856_tgt, rx856_off + rx856_start: $I10 = self.'from'() - ne $I10, -1, rxscan849_done - goto rxscan849_scan - rxscan849_loop: - ($P10) = rx845_cur."from"() + ne $I10, -1, rxscan860_done + goto rxscan860_scan + rxscan860_loop: + ($P10) = rx856_cur."from"() inc $P10 - set rx845_pos, $P10 - ge rx845_pos, rx845_eos, rxscan849_done - rxscan849_scan: - set_addr $I10, rxscan849_loop - rx845_cur."!mark_push"(0, rx845_pos, $I10) - rxscan849_done: -.annotate 'line', 392 + set rx856_pos, $P10 + ge rx856_pos, rx856_eos, rxscan860_done + rxscan860_scan: + set_addr $I10, rxscan860_loop + rx856_cur."!mark_push"(0, rx856_pos, $I10) + rxscan860_done: +.annotate 'line', 393 # rx literal "(" - add $I11, rx845_pos, 1 - gt $I11, rx845_eos, rx845_fail - sub $I11, rx845_pos, rx845_off - substr $S10, rx845_tgt, $I11, 1 - ne $S10, "(", rx845_fail - add rx845_pos, 1 + add $I11, rx856_pos, 1 + gt $I11, rx856_eos, rx856_fail + sub $I11, rx856_pos, rx856_off + substr $S10, rx856_tgt, $I11, 1 + ne $S10, "(", rx856_fail + add rx856_pos, 1 # rx subrule "arglist" subtype=capture negate= - rx845_cur."!cursor_pos"(rx845_pos) - $P10 = rx845_cur."arglist"() - unless $P10, rx845_fail - rx845_cur."!mark_push"(0, -1, 0, $P10) + rx856_cur."!cursor_pos"(rx856_pos) + $P10 = rx856_cur."arglist"() + unless $P10, rx856_fail + rx856_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arglist") - rx845_pos = $P10."pos"() + rx856_pos = $P10."pos"() # rx literal ")" - add $I11, rx845_pos, 1 - gt $I11, rx845_eos, rx845_fail - sub $I11, rx845_pos, rx845_off - substr $S10, rx845_tgt, $I11, 1 - ne $S10, ")", rx845_fail - add rx845_pos, 1 + add $I11, rx856_pos, 1 + gt $I11, rx856_eos, rx856_fail + sub $I11, rx856_pos, rx856_off + substr $S10, rx856_tgt, $I11, 1 + ne $S10, ")", rx856_fail + add rx856_pos, 1 # rx pass - rx845_cur."!cursor_pass"(rx845_pos, "args") - rx845_cur."!cursor_debug"("PASS ", "args", " at pos=", rx845_pos) - .return (rx845_cur) - rx845_fail: -.annotate 'line', 4 - (rx845_rep, rx845_pos, $I10, $P10) = rx845_cur."!mark_fail"(0) - lt rx845_pos, -1, rx845_done - eq rx845_pos, -1, rx845_fail + rx856_cur."!cursor_pass"(rx856_pos, "args") + rx856_cur."!cursor_debug"("PASS ", "args", " at pos=", rx856_pos) + .return (rx856_cur) + rx856_fail: +.annotate 'line', 4 + (rx856_rep, rx856_pos, $I10, $P10) = rx856_cur."!mark_fail"(0) + lt rx856_pos, -1, rx856_done + eq rx856_pos, -1, rx856_fail jump $I10 - rx845_done: - rx845_cur."!cursor_fail"() - rx845_cur."!cursor_debug"("FAIL ", "args") - .return (rx845_cur) + rx856_done: + rx856_cur."!cursor_fail"() + rx856_cur."!cursor_debug"("FAIL ", "args") + .return (rx856_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__args" :subid("193_1276996322.81157") :method +.sub "!PREFIX__args" :subid("195_1278500537.15927") :method .annotate 'line', 4 - $P847 = self."!PREFIX__!subrule"("arglist", "(") - new $P848, "ResizablePMCArray" - push $P848, $P847 - .return ($P848) + $P858 = self."!PREFIX__!subrule"("arglist", "(") + new $P859, "ResizablePMCArray" + push $P859, $P858 + .return ($P859) .end .namespace ["NQP";"Grammar"] -.sub "arglist" :subid("194_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "arglist" :subid("196_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx851_tgt - .local int rx851_pos - .local int rx851_off - .local int rx851_eos - .local int rx851_rep - .local pmc rx851_cur - (rx851_cur, rx851_pos, rx851_tgt) = self."!cursor_start"() - rx851_cur."!cursor_debug"("START ", "arglist") - .lex unicode:"$\x{a2}", rx851_cur + .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 ", "arglist") + .lex unicode:"$\x{a2}", rx862_cur .local pmc match .lex "$/", match - length rx851_eos, rx851_tgt - gt rx851_pos, rx851_eos, rx851_done - set rx851_off, 0 - lt rx851_pos, 2, rx851_start - sub rx851_off, rx851_pos, 1 - substr rx851_tgt, rx851_tgt, rx851_off - rx851_start: + length rx862_eos, rx862_tgt + gt rx862_pos, rx862_eos, rx862_done + 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, rxscan855_done - goto rxscan855_scan - rxscan855_loop: - ($P10) = rx851_cur."from"() + ne $I10, -1, rxscan866_done + goto rxscan866_scan + rxscan866_loop: + ($P10) = rx862_cur."from"() inc $P10 - set rx851_pos, $P10 - ge rx851_pos, rx851_eos, rxscan855_done - rxscan855_scan: - set_addr $I10, rxscan855_loop - rx851_cur."!mark_push"(0, rx851_pos, $I10) - rxscan855_done: -.annotate 'line', 396 - # rx subrule "ws" subtype=method negate= - rx851_cur."!cursor_pos"(rx851_pos) - $P10 = rx851_cur."ws"() - unless $P10, rx851_fail - rx851_pos = $P10."pos"() - alt856_0: + set rx862_pos, $P10 + ge rx862_pos, rx862_eos, rxscan866_done + rxscan866_scan: + set_addr $I10, rxscan866_loop + rx862_cur."!mark_push"(0, rx862_pos, $I10) + rxscan866_done: .annotate 'line', 397 - set_addr $I10, alt856_1 - rx851_cur."!mark_push"(0, rx851_pos, $I10) + # rx subrule "ws" subtype=method negate= + rx862_cur."!cursor_pos"(rx862_pos) + $P10 = rx862_cur."ws"() + unless $P10, rx862_fail + rx862_pos = $P10."pos"() + alt867_0: .annotate 'line', 398 + set_addr $I10, alt867_1 + rx862_cur."!mark_push"(0, rx862_pos, $I10) +.annotate 'line', 399 # rx subrule "EXPR" subtype=capture negate= - rx851_cur."!cursor_pos"(rx851_pos) - $P10 = rx851_cur."EXPR"("f=") - unless $P10, rx851_fail - rx851_cur."!mark_push"(0, -1, 0, $P10) + rx862_cur."!cursor_pos"(rx862_pos) + $P10 = rx862_cur."EXPR"("f=") + unless $P10, rx862_fail + rx862_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx851_pos = $P10."pos"() - goto alt856_end - alt856_1: - alt856_end: -.annotate 'line', 395 + rx862_pos = $P10."pos"() + goto alt867_end + alt867_1: + alt867_end: +.annotate 'line', 396 # rx pass - rx851_cur."!cursor_pass"(rx851_pos, "arglist") - rx851_cur."!cursor_debug"("PASS ", "arglist", " at pos=", rx851_pos) - .return (rx851_cur) - rx851_fail: -.annotate 'line', 4 - (rx851_rep, rx851_pos, $I10, $P10) = rx851_cur."!mark_fail"(0) - lt rx851_pos, -1, rx851_done - eq rx851_pos, -1, rx851_fail + rx862_cur."!cursor_pass"(rx862_pos, "arglist") + rx862_cur."!cursor_debug"("PASS ", "arglist", " 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 - rx851_done: - rx851_cur."!cursor_fail"() - rx851_cur."!cursor_debug"("FAIL ", "arglist") - .return (rx851_cur) + rx862_done: + rx862_cur."!cursor_fail"() + rx862_cur."!cursor_debug"("FAIL ", "arglist") + .return (rx862_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__arglist" :subid("195_1276996322.81157") :method +.sub "!PREFIX__arglist" :subid("197_1278500537.15927") :method .annotate 'line', 4 - $P853 = self."!PREFIX__!subrule"("ws", "") - new $P854, "ResizablePMCArray" - push $P854, $P853 - .return ($P854) + $P864 = self."!PREFIX__!subrule"("ws", "") + new $P865, "ResizablePMCArray" + push $P865, $P864 + .return ($P865) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("196_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "term:sym" :subid("198_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx858_tgt - .local int rx858_pos - .local int rx858_off - .local int rx858_eos - .local int rx858_rep - .local pmc rx858_cur - (rx858_cur, rx858_pos, rx858_tgt) = self."!cursor_start"() - rx858_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx858_cur + .local string rx869_tgt + .local int rx869_pos + .local int rx869_off + .local int rx869_eos + .local int rx869_rep + .local pmc rx869_cur + (rx869_cur, rx869_pos, rx869_tgt) = self."!cursor_start"() + rx869_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx869_cur .local pmc match .lex "$/", match - length rx858_eos, rx858_tgt - gt rx858_pos, rx858_eos, rx858_done - set rx858_off, 0 - lt rx858_pos, 2, rx858_start - sub rx858_off, rx858_pos, 1 - substr rx858_tgt, rx858_tgt, rx858_off - rx858_start: + length rx869_eos, rx869_tgt + gt rx869_pos, rx869_eos, rx869_done + set rx869_off, 0 + lt rx869_pos, 2, rx869_start + sub rx869_off, rx869_pos, 1 + substr rx869_tgt, rx869_tgt, rx869_off + rx869_start: $I10 = self.'from'() - ne $I10, -1, rxscan862_done - goto rxscan862_scan - rxscan862_loop: - ($P10) = rx858_cur."from"() + ne $I10, -1, rxscan873_done + goto rxscan873_scan + rxscan873_loop: + ($P10) = rx869_cur."from"() inc $P10 - set rx858_pos, $P10 - ge rx858_pos, rx858_eos, rxscan862_done - rxscan862_scan: - set_addr $I10, rxscan862_loop - rx858_cur."!mark_push"(0, rx858_pos, $I10) - rxscan862_done: -.annotate 'line', 404 + set rx869_pos, $P10 + ge rx869_pos, rx869_eos, rxscan873_done + rxscan873_scan: + set_addr $I10, rxscan873_loop + rx869_cur."!mark_push"(0, rx869_pos, $I10) + rxscan873_done: +.annotate 'line', 405 # rx subrule "value" subtype=capture negate= - rx858_cur."!cursor_pos"(rx858_pos) - $P10 = rx858_cur."value"() - unless $P10, rx858_fail - rx858_cur."!mark_push"(0, -1, 0, $P10) + rx869_cur."!cursor_pos"(rx869_pos) + $P10 = rx869_cur."value"() + unless $P10, rx869_fail + rx869_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("value") - rx858_pos = $P10."pos"() + rx869_pos = $P10."pos"() # rx pass - rx858_cur."!cursor_pass"(rx858_pos, "term:sym") - rx858_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx858_pos) - .return (rx858_cur) - rx858_fail: -.annotate 'line', 4 - (rx858_rep, rx858_pos, $I10, $P10) = rx858_cur."!mark_fail"(0) - lt rx858_pos, -1, rx858_done - eq rx858_pos, -1, rx858_fail + rx869_cur."!cursor_pass"(rx869_pos, "term:sym") + rx869_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx869_pos) + .return (rx869_cur) + rx869_fail: +.annotate 'line', 4 + (rx869_rep, rx869_pos, $I10, $P10) = rx869_cur."!mark_fail"(0) + lt rx869_pos, -1, rx869_done + eq rx869_pos, -1, rx869_fail jump $I10 - rx858_done: - rx858_cur."!cursor_fail"() - rx858_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx858_cur) + rx869_done: + rx869_cur."!cursor_fail"() + rx869_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx869_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("197_1276996322.81157") :method +.sub "!PREFIX__term:sym" :subid("199_1278500537.15927") :method .annotate 'line', 4 - $P860 = self."!PREFIX__!subrule"("value", "") - new $P861, "ResizablePMCArray" - push $P861, $P860 - .return ($P861) + $P871 = self."!PREFIX__!subrule"("value", "") + new $P872, "ResizablePMCArray" + push $P872, $P871 + .return ($P872) .end .namespace ["NQP";"Grammar"] -.sub "value" :subid("198_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "value" :subid("200_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx864_tgt - .local int rx864_pos - .local int rx864_off - .local int rx864_eos - .local int rx864_rep - .local pmc rx864_cur - (rx864_cur, rx864_pos, rx864_tgt) = self."!cursor_start"() - rx864_cur."!cursor_debug"("START ", "value") - .lex unicode:"$\x{a2}", rx864_cur + .local string rx875_tgt + .local int rx875_pos + .local int rx875_off + .local int rx875_eos + .local int rx875_rep + .local pmc rx875_cur + (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"() + rx875_cur."!cursor_debug"("START ", "value") + .lex unicode:"$\x{a2}", rx875_cur .local pmc match .lex "$/", match - length rx864_eos, rx864_tgt - gt rx864_pos, rx864_eos, rx864_done - set rx864_off, 0 - lt rx864_pos, 2, rx864_start - sub rx864_off, rx864_pos, 1 - substr rx864_tgt, rx864_tgt, rx864_off - rx864_start: + length rx875_eos, rx875_tgt + gt rx875_pos, rx875_eos, rx875_done + set rx875_off, 0 + lt rx875_pos, 2, rx875_start + sub rx875_off, rx875_pos, 1 + substr rx875_tgt, rx875_tgt, rx875_off + rx875_start: $I10 = self.'from'() - ne $I10, -1, rxscan869_done - goto rxscan869_scan - rxscan869_loop: - ($P10) = rx864_cur."from"() + ne $I10, -1, rxscan880_done + goto rxscan880_scan + rxscan880_loop: + ($P10) = rx875_cur."from"() inc $P10 - set rx864_pos, $P10 - ge rx864_pos, rx864_eos, rxscan869_done - rxscan869_scan: - set_addr $I10, rxscan869_loop - rx864_cur."!mark_push"(0, rx864_pos, $I10) - rxscan869_done: - alt870_0: -.annotate 'line', 406 - set_addr $I10, alt870_1 - rx864_cur."!mark_push"(0, rx864_pos, $I10) + set rx875_pos, $P10 + ge rx875_pos, rx875_eos, rxscan880_done + rxscan880_scan: + set_addr $I10, rxscan880_loop + rx875_cur."!mark_push"(0, rx875_pos, $I10) + rxscan880_done: + alt881_0: .annotate 'line', 407 + set_addr $I10, alt881_1 + rx875_cur."!mark_push"(0, rx875_pos, $I10) +.annotate 'line', 408 # rx subrule "quote" subtype=capture negate= - rx864_cur."!cursor_pos"(rx864_pos) - $P10 = rx864_cur."quote"() - unless $P10, rx864_fail - rx864_cur."!mark_push"(0, -1, 0, $P10) + rx875_cur."!cursor_pos"(rx875_pos) + $P10 = rx875_cur."quote"() + unless $P10, rx875_fail + rx875_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote") - rx864_pos = $P10."pos"() - goto alt870_end - alt870_1: -.annotate 'line', 408 + rx875_pos = $P10."pos"() + goto alt881_end + alt881_1: +.annotate 'line', 409 # rx subrule "number" subtype=capture negate= - rx864_cur."!cursor_pos"(rx864_pos) - $P10 = rx864_cur."number"() - unless $P10, rx864_fail - rx864_cur."!mark_push"(0, -1, 0, $P10) + rx875_cur."!cursor_pos"(rx875_pos) + $P10 = rx875_cur."number"() + unless $P10, rx875_fail + rx875_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("number") - rx864_pos = $P10."pos"() - alt870_end: -.annotate 'line', 406 + rx875_pos = $P10."pos"() + alt881_end: +.annotate 'line', 407 # rx pass - rx864_cur."!cursor_pass"(rx864_pos, "value") - rx864_cur."!cursor_debug"("PASS ", "value", " at pos=", rx864_pos) - .return (rx864_cur) - rx864_fail: -.annotate 'line', 4 - (rx864_rep, rx864_pos, $I10, $P10) = rx864_cur."!mark_fail"(0) - lt rx864_pos, -1, rx864_done - eq rx864_pos, -1, rx864_fail + rx875_cur."!cursor_pass"(rx875_pos, "value") + rx875_cur."!cursor_debug"("PASS ", "value", " at pos=", rx875_pos) + .return (rx875_cur) + rx875_fail: +.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 - rx864_done: - rx864_cur."!cursor_fail"() - rx864_cur."!cursor_debug"("FAIL ", "value") - .return (rx864_cur) + rx875_done: + rx875_cur."!cursor_fail"() + rx875_cur."!cursor_debug"("FAIL ", "value") + .return (rx875_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__value" :subid("199_1276996322.81157") :method +.sub "!PREFIX__value" :subid("201_1278500537.15927") :method .annotate 'line', 4 - $P866 = self."!PREFIX__!subrule"("number", "") - $P867 = self."!PREFIX__!subrule"("quote", "") - new $P868, "ResizablePMCArray" - push $P868, $P866 - push $P868, $P867 - .return ($P868) + $P877 = self."!PREFIX__!subrule"("number", "") + $P878 = self."!PREFIX__!subrule"("quote", "") + new $P879, "ResizablePMCArray" + push $P879, $P877 + push $P879, $P878 + .return ($P879) .end .namespace ["NQP";"Grammar"] -.sub "number" :subid("200_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "number" :subid("202_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx872_tgt - .local int rx872_pos - .local int rx872_off - .local int rx872_eos - .local int rx872_rep - .local pmc rx872_cur - (rx872_cur, rx872_pos, rx872_tgt) = self."!cursor_start"() - rx872_cur."!cursor_debug"("START ", "number") - .lex unicode:"$\x{a2}", rx872_cur + .local string rx883_tgt + .local int rx883_pos + .local int rx883_off + .local int rx883_eos + .local int rx883_rep + .local pmc rx883_cur + (rx883_cur, rx883_pos, rx883_tgt) = self."!cursor_start"() + rx883_cur."!cursor_debug"("START ", "number") + .lex unicode:"$\x{a2}", rx883_cur .local pmc match .lex "$/", match - length rx872_eos, rx872_tgt - gt rx872_pos, rx872_eos, rx872_done - set rx872_off, 0 - lt rx872_pos, 2, rx872_start - sub rx872_off, rx872_pos, 1 - substr rx872_tgt, rx872_tgt, rx872_off - rx872_start: + length rx883_eos, rx883_tgt + gt rx883_pos, rx883_eos, rx883_done + set rx883_off, 0 + lt rx883_pos, 2, rx883_start + sub rx883_off, rx883_pos, 1 + substr rx883_tgt, rx883_tgt, rx883_off + rx883_start: $I10 = self.'from'() - ne $I10, -1, rxscan875_done - goto rxscan875_scan - rxscan875_loop: - ($P10) = rx872_cur."from"() + ne $I10, -1, rxscan886_done + goto rxscan886_scan + rxscan886_loop: + ($P10) = rx883_cur."from"() inc $P10 - set rx872_pos, $P10 - ge rx872_pos, rx872_eos, rxscan875_done - rxscan875_scan: - set_addr $I10, rxscan875_loop - rx872_cur."!mark_push"(0, rx872_pos, $I10) - rxscan875_done: -.annotate 'line', 412 + set rx883_pos, $P10 + ge rx883_pos, rx883_eos, rxscan886_done + rxscan886_scan: + set_addr $I10, rxscan886_loop + rx883_cur."!mark_push"(0, rx883_pos, $I10) + rxscan886_done: +.annotate 'line', 413 # rx subcapture "sign" - set_addr $I10, rxcap_878_fail - rx872_cur."!mark_push"(0, rx872_pos, $I10) - # rx rxquantr876 ** 0..1 - set_addr $I877, rxquantr876_done - rx872_cur."!mark_push"(0, rx872_pos, $I877) - rxquantr876_loop: + set_addr $I10, rxcap_889_fail + rx883_cur."!mark_push"(0, rx883_pos, $I10) + # rx rxquantr887 ** 0..1 + set_addr $I888, rxquantr887_done + rx883_cur."!mark_push"(0, rx883_pos, $I888) + rxquantr887_loop: # rx enumcharlist negate=0 - ge rx872_pos, rx872_eos, rx872_fail - sub $I10, rx872_pos, rx872_off - substr $S10, rx872_tgt, $I10, 1 + 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, rx872_fail - inc rx872_pos - (rx872_rep) = rx872_cur."!mark_commit"($I877) - rxquantr876_done: - set_addr $I10, rxcap_878_fail - ($I12, $I11) = rx872_cur."!mark_peek"($I10) - rx872_cur."!cursor_pos"($I11) - ($P10) = rx872_cur."!cursor_start"() - $P10."!cursor_pass"(rx872_pos, "") - rx872_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx883_fail + inc rx883_pos + (rx883_rep) = rx883_cur."!mark_commit"($I888) + rxquantr887_done: + set_addr $I10, rxcap_889_fail + ($I12, $I11) = rx883_cur."!mark_peek"($I10) + rx883_cur."!cursor_pos"($I11) + ($P10) = rx883_cur."!cursor_start"() + $P10."!cursor_pass"(rx883_pos, "") + rx883_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sign") - goto rxcap_878_done - rxcap_878_fail: - goto rx872_fail - rxcap_878_done: - alt879_0: -.annotate 'line', 413 - set_addr $I10, alt879_1 - rx872_cur."!mark_push"(0, rx872_pos, $I10) + goto rxcap_889_done + rxcap_889_fail: + goto rx883_fail + rxcap_889_done: + alt890_0: +.annotate 'line', 414 + set_addr $I10, alt890_1 + rx883_cur."!mark_push"(0, rx883_pos, $I10) # rx subrule "dec_number" subtype=capture negate= - rx872_cur."!cursor_pos"(rx872_pos) - $P10 = rx872_cur."dec_number"() - unless $P10, rx872_fail - rx872_cur."!mark_push"(0, -1, 0, $P10) + rx883_cur."!cursor_pos"(rx883_pos) + $P10 = rx883_cur."dec_number"() + unless $P10, rx883_fail + rx883_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("dec_number") - rx872_pos = $P10."pos"() - goto alt879_end - alt879_1: + rx883_pos = $P10."pos"() + goto alt890_end + alt890_1: # rx subrule "integer" subtype=capture negate= - rx872_cur."!cursor_pos"(rx872_pos) - $P10 = rx872_cur."integer"() - unless $P10, rx872_fail - rx872_cur."!mark_push"(0, -1, 0, $P10) + rx883_cur."!cursor_pos"(rx883_pos) + $P10 = rx883_cur."integer"() + unless $P10, rx883_fail + rx883_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("integer") - rx872_pos = $P10."pos"() - alt879_end: -.annotate 'line', 411 + rx883_pos = $P10."pos"() + alt890_end: +.annotate 'line', 412 # rx pass - rx872_cur."!cursor_pass"(rx872_pos, "number") - rx872_cur."!cursor_debug"("PASS ", "number", " at pos=", rx872_pos) - .return (rx872_cur) - rx872_fail: -.annotate 'line', 4 - (rx872_rep, rx872_pos, $I10, $P10) = rx872_cur."!mark_fail"(0) - lt rx872_pos, -1, rx872_done - eq rx872_pos, -1, rx872_fail + rx883_cur."!cursor_pass"(rx883_pos, "number") + rx883_cur."!cursor_debug"("PASS ", "number", " at pos=", rx883_pos) + .return (rx883_cur) + rx883_fail: +.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 - rx872_done: - rx872_cur."!cursor_fail"() - rx872_cur."!cursor_debug"("FAIL ", "number") - .return (rx872_cur) + rx883_done: + rx883_cur."!cursor_fail"() + rx883_cur."!cursor_debug"("FAIL ", "number") + .return (rx883_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__number" :subid("201_1276996322.81157") :method +.sub "!PREFIX__number" :subid("203_1278500537.15927") :method .annotate 'line', 4 - new $P874, "ResizablePMCArray" - push $P874, "" - .return ($P874) -.end - - -.namespace ["NQP";"Grammar"] -.sub "quote" :subid("202_1276996322.81157") :method -.annotate 'line', 416 - $P881 = self."!protoregex"("quote") - .return ($P881) -.end - - -.namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote" :subid("203_1276996322.81157") :method -.annotate 'line', 416 - $P883 = self."!PREFIX__!protoregex"("quote") - .return ($P883) + new $P885, "ResizablePMCArray" + push $P885, "" + .return ($P885) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("204_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 4 - .local string rx885_tgt - .local int rx885_pos - .local int rx885_off - .local int rx885_eos - .local int rx885_rep - .local pmc rx885_cur - (rx885_cur, rx885_pos, rx885_tgt) = self."!cursor_start"() - rx885_cur."!cursor_debug"("START ", "quote:sym") - .lex unicode:"$\x{a2}", rx885_cur - .local pmc match - .lex "$/", match - length rx885_eos, rx885_tgt - gt rx885_pos, rx885_eos, rx885_done - set rx885_off, 0 - lt rx885_pos, 2, rx885_start - sub rx885_off, rx885_pos, 1 - substr rx885_tgt, rx885_tgt, rx885_off - rx885_start: - $I10 = self.'from'() - ne $I10, -1, rxscan888_done - goto rxscan888_scan - rxscan888_loop: - ($P10) = rx885_cur."from"() - inc $P10 - set rx885_pos, $P10 - ge rx885_pos, rx885_eos, rxscan888_done - rxscan888_scan: - set_addr $I10, rxscan888_loop - rx885_cur."!mark_push"(0, rx885_pos, $I10) - rxscan888_done: +.sub "quote" :subid("204_1278500537.15927") :method .annotate 'line', 417 - # rx enumcharlist negate=0 zerowidth - ge rx885_pos, rx885_eos, rx885_fail - sub $I10, rx885_pos, rx885_off - substr $S10, rx885_tgt, $I10, 1 - index $I11, "'", $S10 - lt $I11, 0, rx885_fail - # rx subrule "quote_EXPR" subtype=capture negate= - rx885_cur."!cursor_pos"(rx885_pos) - $P10 = rx885_cur."quote_EXPR"(":q") - unless $P10, rx885_fail - rx885_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") - rx885_pos = $P10."pos"() - # rx pass - rx885_cur."!cursor_pass"(rx885_pos, "quote:sym") - rx885_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx885_pos) - .return (rx885_cur) - rx885_fail: -.annotate 'line', 4 - (rx885_rep, rx885_pos, $I10, $P10) = rx885_cur."!mark_fail"(0) - lt rx885_pos, -1, rx885_done - eq rx885_pos, -1, rx885_fail - jump $I10 - rx885_done: - rx885_cur."!cursor_fail"() - rx885_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx885_cur) - .return () -.end - - -.namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("205_1276996322.81157") :method -.annotate 'line', 4 - new $P887, "ResizablePMCArray" - push $P887, "'" - .return ($P887) -.end - - -.namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("206_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 4 - .local string rx890_tgt - .local int rx890_pos - .local int rx890_off - .local int rx890_eos - .local int rx890_rep - .local pmc rx890_cur - (rx890_cur, rx890_pos, rx890_tgt) = self."!cursor_start"() - rx890_cur."!cursor_debug"("START ", "quote:sym") - .lex unicode:"$\x{a2}", rx890_cur - .local pmc match - .lex "$/", match - length rx890_eos, rx890_tgt - gt rx890_pos, rx890_eos, rx890_done - set rx890_off, 0 - lt rx890_pos, 2, rx890_start - sub rx890_off, rx890_pos, 1 - substr rx890_tgt, rx890_tgt, rx890_off - rx890_start: - $I10 = self.'from'() - ne $I10, -1, rxscan893_done - goto rxscan893_scan - rxscan893_loop: - ($P10) = rx890_cur."from"() - inc $P10 - set rx890_pos, $P10 - ge rx890_pos, rx890_eos, rxscan893_done - rxscan893_scan: - set_addr $I10, rxscan893_loop - rx890_cur."!mark_push"(0, rx890_pos, $I10) - rxscan893_done: -.annotate 'line', 418 - # rx enumcharlist negate=0 zerowidth - ge rx890_pos, rx890_eos, rx890_fail - sub $I10, rx890_pos, rx890_off - substr $S10, rx890_tgt, $I10, 1 - index $I11, "\"", $S10 - lt $I11, 0, rx890_fail - # rx subrule "quote_EXPR" subtype=capture negate= - rx890_cur."!cursor_pos"(rx890_pos) - $P10 = rx890_cur."quote_EXPR"(":qq") - unless $P10, rx890_fail - rx890_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") - rx890_pos = $P10."pos"() - # rx pass - rx890_cur."!cursor_pass"(rx890_pos, "quote:sym") - rx890_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx890_pos) - .return (rx890_cur) - rx890_fail: -.annotate 'line', 4 - (rx890_rep, rx890_pos, $I10, $P10) = rx890_cur."!mark_fail"(0) - lt rx890_pos, -1, rx890_done - eq rx890_pos, -1, rx890_fail - jump $I10 - rx890_done: - rx890_cur."!cursor_fail"() - rx890_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx890_cur) - .return () + $P892 = self."!protoregex"("quote") + .return ($P892) .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("207_1276996322.81157") :method -.annotate 'line', 4 - new $P892, "ResizablePMCArray" - push $P892, "\"" - .return ($P892) +.sub "!PREFIX__quote" :subid("205_1278500537.15927") :method +.annotate 'line', 417 + $P894 = self."!PREFIX__!protoregex"("quote") + .return ($P894) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("208_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("206_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx895_tgt - .local int rx895_pos - .local int rx895_off - .local int rx895_eos - .local int rx895_rep - .local pmc rx895_cur - (rx895_cur, rx895_pos, rx895_tgt) = self."!cursor_start"() - rx895_cur."!cursor_debug"("START ", "quote:sym") - .lex unicode:"$\x{a2}", rx895_cur + .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 ", "quote:sym") + .lex unicode:"$\x{a2}", rx896_cur .local pmc match .lex "$/", match - length rx895_eos, rx895_tgt - gt rx895_pos, rx895_eos, rx895_done - set rx895_off, 0 - lt rx895_pos, 2, rx895_start - sub rx895_off, rx895_pos, 1 - substr rx895_tgt, rx895_tgt, rx895_off - rx895_start: + length rx896_eos, rx896_tgt + gt rx896_pos, rx896_eos, rx896_done + 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) = rx895_cur."from"() + ($P10) = rx896_cur."from"() inc $P10 - set rx895_pos, $P10 - ge rx895_pos, rx895_eos, rxscan899_done + set rx896_pos, $P10 + ge rx896_pos, rx896_eos, rxscan899_done rxscan899_scan: set_addr $I10, rxscan899_loop - rx895_cur."!mark_push"(0, rx895_pos, $I10) + rx896_cur."!mark_push"(0, rx896_pos, $I10) rxscan899_done: -.annotate 'line', 419 - # rx literal "q" - add $I11, rx895_pos, 1 - gt $I11, rx895_eos, rx895_fail - sub $I11, rx895_pos, rx895_off - substr $S10, rx895_tgt, $I11, 1 - ne $S10, "q", rx895_fail - add rx895_pos, 1 - # rxanchor rwb - le rx895_pos, 0, rx895_fail - sub $I10, rx895_pos, rx895_off - is_cclass $I11, 8192, rx895_tgt, $I10 - if $I11, rx895_fail - dec $I10 - is_cclass $I11, 8192, rx895_tgt, $I10 - unless $I11, rx895_fail - # rx enumcharlist negate=1 zerowidth - ge rx895_pos, rx895_eos, rx895_fail - sub $I10, rx895_pos, rx895_off - substr $S10, rx895_tgt, $I10, 1 - index $I11, "(", $S10 - ge $I11, 0, rx895_fail - # rx subrule "ws" subtype=method negate= - rx895_cur."!cursor_pos"(rx895_pos) - $P10 = rx895_cur."ws"() - unless $P10, rx895_fail - rx895_pos = $P10."pos"() +.annotate 'line', 418 + # rx enumcharlist negate=0 zerowidth + ge rx896_pos, rx896_eos, rx896_fail + sub $I10, rx896_pos, rx896_off + substr $S10, rx896_tgt, $I10, 1 + index $I11, "'", $S10 + lt $I11, 0, rx896_fail # rx subrule "quote_EXPR" subtype=capture negate= - rx895_cur."!cursor_pos"(rx895_pos) - $P10 = rx895_cur."quote_EXPR"(":q") - unless $P10, rx895_fail - rx895_cur."!mark_push"(0, -1, 0, $P10) + rx896_cur."!cursor_pos"(rx896_pos) + $P10 = rx896_cur."quote_EXPR"(":q") + unless $P10, rx896_fail + rx896_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote_EXPR") - rx895_pos = $P10."pos"() + rx896_pos = $P10."pos"() # rx pass - rx895_cur."!cursor_pass"(rx895_pos, "quote:sym") - rx895_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx895_pos) - .return (rx895_cur) - rx895_fail: -.annotate 'line', 4 - (rx895_rep, rx895_pos, $I10, $P10) = rx895_cur."!mark_fail"(0) - lt rx895_pos, -1, rx895_done - eq rx895_pos, -1, rx895_fail + rx896_cur."!cursor_pass"(rx896_pos, "quote:sym") + rx896_cur."!cursor_debug"("PASS ", "quote:sym", " 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 - rx895_done: - rx895_cur."!cursor_fail"() - rx895_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx895_cur) + rx896_done: + rx896_cur."!cursor_fail"() + rx896_cur."!cursor_debug"("FAIL ", "quote:sym") + .return (rx896_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("209_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("207_1278500537.15927") :method .annotate 'line', 4 - $P897 = self."!PREFIX__!subrule"("ws", "q") new $P898, "ResizablePMCArray" - push $P898, $P897 + push $P898, "'" .return ($P898) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("210_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("208_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 .local string rx901_tgt .local int rx901_pos @@ -10617,7 +10574,7 @@ NQP::Compiler - NQP compiler .local int rx901_rep .local pmc rx901_cur (rx901_cur, rx901_pos, rx901_tgt) = self."!cursor_start"() - rx901_cur."!cursor_debug"("START ", "quote:sym") + rx901_cur."!cursor_debug"("START ", "quote:sym") .lex unicode:"$\x{a2}", rx901_cur .local pmc match .lex "$/", match @@ -10629,44 +10586,24 @@ NQP::Compiler - NQP compiler substr rx901_tgt, rx901_tgt, rx901_off rx901_start: $I10 = self.'from'() - ne $I10, -1, rxscan905_done - goto rxscan905_scan - rxscan905_loop: + 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, rxscan905_done - rxscan905_scan: - set_addr $I10, rxscan905_loop + ge rx901_pos, rx901_eos, rxscan904_done + rxscan904_scan: + set_addr $I10, rxscan904_loop rx901_cur."!mark_push"(0, rx901_pos, $I10) - rxscan905_done: -.annotate 'line', 420 - # rx literal "qq" - add $I11, rx901_pos, 2 - gt $I11, rx901_eos, rx901_fail - sub $I11, rx901_pos, rx901_off - substr $S10, rx901_tgt, $I11, 2 - ne $S10, "qq", rx901_fail - add rx901_pos, 2 - # rxanchor rwb - le rx901_pos, 0, rx901_fail - sub $I10, rx901_pos, rx901_off - is_cclass $I11, 8192, rx901_tgt, $I10 - if $I11, rx901_fail - dec $I10 - is_cclass $I11, 8192, rx901_tgt, $I10 - unless $I11, rx901_fail - # rx enumcharlist negate=1 zerowidth + rxscan904_done: +.annotate 'line', 419 + # 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 - ge $I11, 0, rx901_fail - # rx subrule "ws" subtype=method negate= - rx901_cur."!cursor_pos"(rx901_pos) - $P10 = rx901_cur."ws"() - unless $P10, rx901_fail - rx901_pos = $P10."pos"() + index $I11, "\"", $S10 + lt $I11, 0, rx901_fail # rx subrule "quote_EXPR" subtype=capture negate= rx901_cur."!cursor_pos"(rx901_pos) $P10 = rx901_cur."quote_EXPR"(":qq") @@ -10675,8 +10612,8 @@ NQP::Compiler - NQP compiler $P10."!cursor_names"("quote_EXPR") rx901_pos = $P10."pos"() # rx pass - rx901_cur."!cursor_pass"(rx901_pos, "quote:sym") - rx901_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx901_pos) + rx901_cur."!cursor_pass"(rx901_pos, "quote:sym") + rx901_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx901_pos) .return (rx901_cur) rx901_fail: .annotate 'line', 4 @@ -10686,374 +10623,389 @@ NQP::Compiler - NQP compiler jump $I10 rx901_done: rx901_cur."!cursor_fail"() - rx901_cur."!cursor_debug"("FAIL ", "quote:sym") + rx901_cur."!cursor_debug"("FAIL ", "quote:sym") .return (rx901_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("211_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("209_1278500537.15927") :method .annotate 'line', 4 - $P903 = self."!PREFIX__!subrule"("ws", "qq") - new $P904, "ResizablePMCArray" - push $P904, $P903 - .return ($P904) + new $P903, "ResizablePMCArray" + push $P903, "\"" + .return ($P903) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("212_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("210_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx907_tgt - .local int rx907_pos - .local int rx907_off - .local int rx907_eos - .local int rx907_rep - .local pmc rx907_cur - (rx907_cur, rx907_pos, rx907_tgt) = self."!cursor_start"() - rx907_cur."!cursor_debug"("START ", "quote:sym") - .lex unicode:"$\x{a2}", rx907_cur + .local string rx906_tgt + .local int rx906_pos + .local int rx906_off + .local int rx906_eos + .local int rx906_rep + .local pmc rx906_cur + (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"() + rx906_cur."!cursor_debug"("START ", "quote:sym") + .lex unicode:"$\x{a2}", rx906_cur .local pmc match .lex "$/", match - length rx907_eos, rx907_tgt - gt rx907_pos, rx907_eos, rx907_done - set rx907_off, 0 - lt rx907_pos, 2, rx907_start - sub rx907_off, rx907_pos, 1 - substr rx907_tgt, rx907_tgt, rx907_off - rx907_start: + length rx906_eos, rx906_tgt + gt rx906_pos, rx906_eos, rx906_done + set rx906_off, 0 + lt rx906_pos, 2, rx906_start + sub rx906_off, rx906_pos, 1 + substr rx906_tgt, rx906_tgt, rx906_off + rx906_start: $I10 = self.'from'() - ne $I10, -1, rxscan911_done - goto rxscan911_scan - rxscan911_loop: - ($P10) = rx907_cur."from"() + ne $I10, -1, rxscan910_done + goto rxscan910_scan + rxscan910_loop: + ($P10) = rx906_cur."from"() inc $P10 - set rx907_pos, $P10 - ge rx907_pos, rx907_eos, rxscan911_done - rxscan911_scan: - set_addr $I10, rxscan911_loop - rx907_cur."!mark_push"(0, rx907_pos, $I10) - rxscan911_done: -.annotate 'line', 421 - # rx literal "Q" - add $I11, rx907_pos, 1 - gt $I11, rx907_eos, rx907_fail - sub $I11, rx907_pos, rx907_off - substr $S10, rx907_tgt, $I11, 1 - ne $S10, "Q", rx907_fail - add rx907_pos, 1 + set rx906_pos, $P10 + ge rx906_pos, rx906_eos, rxscan910_done + rxscan910_scan: + set_addr $I10, rxscan910_loop + rx906_cur."!mark_push"(0, rx906_pos, $I10) + rxscan910_done: +.annotate 'line', 420 + # rx literal "q" + 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, "q", rx906_fail + add rx906_pos, 1 # rxanchor rwb - le rx907_pos, 0, rx907_fail - sub $I10, rx907_pos, rx907_off - is_cclass $I11, 8192, rx907_tgt, $I10 - if $I11, rx907_fail + le rx906_pos, 0, rx906_fail + sub $I10, rx906_pos, rx906_off + is_cclass $I11, 8192, rx906_tgt, $I10 + if $I11, rx906_fail dec $I10 - is_cclass $I11, 8192, rx907_tgt, $I10 - unless $I11, rx907_fail + is_cclass $I11, 8192, rx906_tgt, $I10 + unless $I11, rx906_fail # rx enumcharlist negate=1 zerowidth - ge rx907_pos, rx907_eos, rx907_fail - sub $I10, rx907_pos, rx907_off - substr $S10, rx907_tgt, $I10, 1 + ge rx906_pos, rx906_eos, rx906_fail + sub $I10, rx906_pos, rx906_off + substr $S10, rx906_tgt, $I10, 1 index $I11, "(", $S10 - ge $I11, 0, rx907_fail + ge $I11, 0, rx906_fail # rx subrule "ws" subtype=method negate= - rx907_cur."!cursor_pos"(rx907_pos) - $P10 = rx907_cur."ws"() - unless $P10, rx907_fail - rx907_pos = $P10."pos"() + rx906_cur."!cursor_pos"(rx906_pos) + $P10 = rx906_cur."ws"() + unless $P10, rx906_fail + rx906_pos = $P10."pos"() # rx subrule "quote_EXPR" subtype=capture negate= - rx907_cur."!cursor_pos"(rx907_pos) - $P10 = rx907_cur."quote_EXPR"() - unless $P10, rx907_fail - rx907_cur."!mark_push"(0, -1, 0, $P10) + rx906_cur."!cursor_pos"(rx906_pos) + $P10 = rx906_cur."quote_EXPR"(":q") + unless $P10, rx906_fail + rx906_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote_EXPR") - rx907_pos = $P10."pos"() + rx906_pos = $P10."pos"() # rx pass - rx907_cur."!cursor_pass"(rx907_pos, "quote:sym") - rx907_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx907_pos) - .return (rx907_cur) - rx907_fail: -.annotate 'line', 4 - (rx907_rep, rx907_pos, $I10, $P10) = rx907_cur."!mark_fail"(0) - lt rx907_pos, -1, rx907_done - eq rx907_pos, -1, rx907_fail + rx906_cur."!cursor_pass"(rx906_pos, "quote:sym") + rx906_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx906_pos) + .return (rx906_cur) + rx906_fail: +.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 - rx907_done: - rx907_cur."!cursor_fail"() - rx907_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx907_cur) + rx906_done: + rx906_cur."!cursor_fail"() + rx906_cur."!cursor_debug"("FAIL ", "quote:sym") + .return (rx906_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("213_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("211_1278500537.15927") :method .annotate 'line', 4 - $P909 = self."!PREFIX__!subrule"("ws", "Q") - new $P910, "ResizablePMCArray" - push $P910, $P909 - .return ($P910) + $P908 = self."!PREFIX__!subrule"("ws", "q") + new $P909, "ResizablePMCArray" + push $P909, $P908 + .return ($P909) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("214_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("212_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .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 ", "quote:sym") - .lex unicode:"$\x{a2}", rx913_cur + .local string rx912_tgt + .local int rx912_pos + .local int rx912_off + .local int rx912_eos + .local int rx912_rep + .local pmc rx912_cur + (rx912_cur, rx912_pos, rx912_tgt) = self."!cursor_start"() + rx912_cur."!cursor_debug"("START ", "quote:sym") + .lex unicode:"$\x{a2}", rx912_cur .local pmc match .lex "$/", match - length rx913_eos, rx913_tgt - gt rx913_pos, rx913_eos, rx913_done - 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: + length rx912_eos, rx912_tgt + gt rx912_pos, rx912_eos, rx912_done + set rx912_off, 0 + lt rx912_pos, 2, rx912_start + sub rx912_off, rx912_pos, 1 + substr rx912_tgt, rx912_tgt, rx912_off + rx912_start: $I10 = self.'from'() - ne $I10, -1, rxscan917_done - goto rxscan917_scan - rxscan917_loop: - ($P10) = rx913_cur."from"() + ne $I10, -1, rxscan916_done + goto rxscan916_scan + rxscan916_loop: + ($P10) = rx912_cur."from"() inc $P10 - set rx913_pos, $P10 - ge rx913_pos, rx913_eos, rxscan917_done - rxscan917_scan: - set_addr $I10, rxscan917_loop - rx913_cur."!mark_push"(0, rx913_pos, $I10) - rxscan917_done: -.annotate 'line', 422 - # rx literal "Q:PIR" - add $I11, rx913_pos, 5 - gt $I11, rx913_eos, rx913_fail - sub $I11, rx913_pos, rx913_off - substr $S10, rx913_tgt, $I11, 5 - ne $S10, "Q:PIR", rx913_fail - add rx913_pos, 5 + set rx912_pos, $P10 + ge rx912_pos, rx912_eos, rxscan916_done + rxscan916_scan: + set_addr $I10, rxscan916_loop + rx912_cur."!mark_push"(0, rx912_pos, $I10) + rxscan916_done: +.annotate 'line', 421 + # rx literal "qq" + add $I11, rx912_pos, 2 + gt $I11, rx912_eos, rx912_fail + sub $I11, rx912_pos, rx912_off + substr $S10, rx912_tgt, $I11, 2 + ne $S10, "qq", rx912_fail + add rx912_pos, 2 + # rxanchor rwb + le rx912_pos, 0, rx912_fail + sub $I10, rx912_pos, rx912_off + is_cclass $I11, 8192, rx912_tgt, $I10 + if $I11, rx912_fail + dec $I10 + is_cclass $I11, 8192, rx912_tgt, $I10 + unless $I11, rx912_fail + # rx enumcharlist negate=1 zerowidth + ge rx912_pos, rx912_eos, rx912_fail + sub $I10, rx912_pos, rx912_off + substr $S10, rx912_tgt, $I10, 1 + index $I11, "(", $S10 + ge $I11, 0, rx912_fail # rx subrule "ws" subtype=method negate= - rx913_cur."!cursor_pos"(rx913_pos) - $P10 = rx913_cur."ws"() - unless $P10, rx913_fail - rx913_pos = $P10."pos"() + rx912_cur."!cursor_pos"(rx912_pos) + $P10 = rx912_cur."ws"() + unless $P10, rx912_fail + rx912_pos = $P10."pos"() # rx subrule "quote_EXPR" subtype=capture negate= - rx913_cur."!cursor_pos"(rx913_pos) - $P10 = rx913_cur."quote_EXPR"() - unless $P10, rx913_fail - rx913_cur."!mark_push"(0, -1, 0, $P10) + rx912_cur."!cursor_pos"(rx912_pos) + $P10 = rx912_cur."quote_EXPR"(":qq") + unless $P10, rx912_fail + rx912_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote_EXPR") - rx913_pos = $P10."pos"() + rx912_pos = $P10."pos"() # rx pass - rx913_cur."!cursor_pass"(rx913_pos, "quote:sym") - rx913_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx913_pos) - .return (rx913_cur) - rx913_fail: -.annotate 'line', 4 - (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0) - lt rx913_pos, -1, rx913_done - eq rx913_pos, -1, rx913_fail + rx912_cur."!cursor_pass"(rx912_pos, "quote:sym") + rx912_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx912_pos) + .return (rx912_cur) + rx912_fail: +.annotate 'line', 4 + (rx912_rep, rx912_pos, $I10, $P10) = rx912_cur."!mark_fail"(0) + lt rx912_pos, -1, rx912_done + eq rx912_pos, -1, rx912_fail jump $I10 - rx913_done: - rx913_cur."!cursor_fail"() - rx913_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx913_cur) + rx912_done: + rx912_cur."!cursor_fail"() + rx912_cur."!cursor_debug"("FAIL ", "quote:sym") + .return (rx912_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("215_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("213_1278500537.15927") :method .annotate 'line', 4 - $P915 = self."!PREFIX__!subrule"("ws", "Q:PIR") - new $P916, "ResizablePMCArray" - push $P916, $P915 - .return ($P916) + $P914 = self."!PREFIX__!subrule"("ws", "qq") + new $P915, "ResizablePMCArray" + push $P915, $P914 + .return ($P915) .end .namespace ["NQP";"Grammar"] -.sub "quote:sym" :subid("216_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("214_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx919_tgt - .local int rx919_pos - .local int rx919_off - .local int rx919_eos - .local int rx919_rep - .local pmc rx919_cur - (rx919_cur, rx919_pos, rx919_tgt) = self."!cursor_start"() - rx919_cur."!cursor_debug"("START ", "quote:sym") - .lex unicode:"$\x{a2}", rx919_cur + .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 ", "quote:sym") + .lex unicode:"$\x{a2}", rx918_cur .local pmc match .lex "$/", match - length rx919_eos, rx919_tgt - gt rx919_pos, rx919_eos, rx919_done - set rx919_off, 0 - lt rx919_pos, 2, rx919_start - sub rx919_off, rx919_pos, 1 - substr rx919_tgt, rx919_tgt, rx919_off - rx919_start: + length rx918_eos, rx918_tgt + gt rx918_pos, rx918_eos, rx918_done + 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, rxscan923_done - goto rxscan923_scan - rxscan923_loop: - ($P10) = rx919_cur."from"() + ne $I10, -1, rxscan922_done + goto rxscan922_scan + rxscan922_loop: + ($P10) = rx918_cur."from"() inc $P10 - set rx919_pos, $P10 - ge rx919_pos, rx919_eos, rxscan923_done - rxscan923_scan: - set_addr $I10, rxscan923_loop - rx919_cur."!mark_push"(0, rx919_pos, $I10) - rxscan923_done: -.annotate 'line', 424 - # rx literal "/" - add $I11, rx919_pos, 1 - gt $I11, rx919_eos, rx919_fail - sub $I11, rx919_pos, rx919_off - substr $S10, rx919_tgt, $I11, 1 - ne $S10, "/", rx919_fail - add rx919_pos, 1 -.annotate 'line', 425 - # rx subrule "newpad" subtype=method negate= - rx919_cur."!cursor_pos"(rx919_pos) - $P10 = rx919_cur."newpad"() - unless $P10, rx919_fail - rx919_pos = $P10."pos"() -.annotate 'line', 426 - # rx reduce name="quote:sym" key="open" - rx919_cur."!cursor_pos"(rx919_pos) - rx919_cur."!reduce"("quote:sym", "open") -.annotate 'line', 427 - # rx subrule "LANG" subtype=capture negate= - rx919_cur."!cursor_pos"(rx919_pos) - $P10 = rx919_cur."LANG"("Regex", "nibbler") - unless $P10, rx919_fail - rx919_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("p6regex") - rx919_pos = $P10."pos"() -.annotate 'line', 428 - # rx literal "/" - add $I11, rx919_pos, 1 - gt $I11, rx919_eos, rx919_fail - sub $I11, rx919_pos, rx919_off - substr $S10, rx919_tgt, $I11, 1 - ne $S10, "/", rx919_fail - add rx919_pos, 1 -.annotate 'line', 423 + set rx918_pos, $P10 + ge rx918_pos, rx918_eos, rxscan922_done + rxscan922_scan: + set_addr $I10, rxscan922_loop + rx918_cur."!mark_push"(0, rx918_pos, $I10) + rxscan922_done: +.annotate 'line', 422 + # rx literal "Q" + add $I11, rx918_pos, 1 + gt $I11, rx918_eos, rx918_fail + sub $I11, rx918_pos, rx918_off + substr $S10, rx918_tgt, $I11, 1 + ne $S10, "Q", rx918_fail + add rx918_pos, 1 + # rxanchor rwb + le rx918_pos, 0, rx918_fail + sub $I10, rx918_pos, rx918_off + is_cclass $I11, 8192, rx918_tgt, $I10 + if $I11, rx918_fail + dec $I10 + is_cclass $I11, 8192, rx918_tgt, $I10 + unless $I11, rx918_fail + # rx enumcharlist negate=1 zerowidth + ge rx918_pos, rx918_eos, rx918_fail + sub $I10, rx918_pos, rx918_off + substr $S10, rx918_tgt, $I10, 1 + index $I11, "(", $S10 + ge $I11, 0, rx918_fail + # rx subrule "ws" subtype=method negate= + rx918_cur."!cursor_pos"(rx918_pos) + $P10 = rx918_cur."ws"() + unless $P10, rx918_fail + rx918_pos = $P10."pos"() + # rx subrule "quote_EXPR" subtype=capture negate= + rx918_cur."!cursor_pos"(rx918_pos) + $P10 = rx918_cur."quote_EXPR"() + unless $P10, rx918_fail + rx918_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx918_pos = $P10."pos"() # rx pass - rx919_cur."!cursor_pass"(rx919_pos, "quote:sym") - rx919_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx919_pos) - .return (rx919_cur) - rx919_fail: -.annotate 'line', 4 - (rx919_rep, rx919_pos, $I10, $P10) = rx919_cur."!mark_fail"(0) - lt rx919_pos, -1, rx919_done - eq rx919_pos, -1, rx919_fail + rx918_cur."!cursor_pass"(rx918_pos, "quote:sym") + rx918_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx918_pos) + .return (rx918_cur) + rx918_fail: +.annotate 'line', 4 + (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 - rx919_done: - rx919_cur."!cursor_fail"() - rx919_cur."!cursor_debug"("FAIL ", "quote:sym") - .return (rx919_cur) + rx918_done: + rx918_cur."!cursor_fail"() + rx918_cur."!cursor_debug"("FAIL ", "quote:sym") + .return (rx918_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote:sym" :subid("217_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("215_1278500537.15927") :method .annotate 'line', 4 - $P921 = self."!PREFIX__!subrule"("newpad", "/") - new $P922, "ResizablePMCArray" - push $P922, $P921 - .return ($P922) + $P920 = self."!PREFIX__!subrule"("ws", "Q") + new $P921, "ResizablePMCArray" + push $P921, $P920 + .return ($P921) .end .namespace ["NQP";"Grammar"] -.sub "quote_escape:sym<$>" :subid("218_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("216_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx925_tgt - .local int rx925_pos - .local int rx925_off - .local int rx925_eos - .local int rx925_rep - .local pmc rx925_cur - (rx925_cur, rx925_pos, rx925_tgt) = self."!cursor_start"() - rx925_cur."!cursor_debug"("START ", "quote_escape:sym<$>") - .lex unicode:"$\x{a2}", rx925_cur + .local string rx924_tgt + .local int rx924_pos + .local int rx924_off + .local int rx924_eos + .local int rx924_rep + .local pmc rx924_cur + (rx924_cur, rx924_pos, rx924_tgt) = self."!cursor_start"() + rx924_cur."!cursor_debug"("START ", "quote:sym") + .lex unicode:"$\x{a2}", rx924_cur .local pmc match .lex "$/", match - length rx925_eos, rx925_tgt - gt rx925_pos, rx925_eos, rx925_done - set rx925_off, 0 - lt rx925_pos, 2, rx925_start - sub rx925_off, rx925_pos, 1 - substr rx925_tgt, rx925_tgt, rx925_off - rx925_start: + length rx924_eos, rx924_tgt + gt rx924_pos, rx924_eos, rx924_done + set rx924_off, 0 + lt rx924_pos, 2, rx924_start + sub rx924_off, rx924_pos, 1 + substr rx924_tgt, rx924_tgt, rx924_off + rx924_start: $I10 = self.'from'() ne $I10, -1, rxscan928_done goto rxscan928_scan rxscan928_loop: - ($P10) = rx925_cur."from"() + ($P10) = rx924_cur."from"() inc $P10 - set rx925_pos, $P10 - ge rx925_pos, rx925_eos, rxscan928_done + set rx924_pos, $P10 + ge rx924_pos, rx924_eos, rxscan928_done rxscan928_scan: set_addr $I10, rxscan928_loop - rx925_cur."!mark_push"(0, rx925_pos, $I10) + rx924_cur."!mark_push"(0, rx924_pos, $I10) rxscan928_done: -.annotate 'line', 431 - # rx enumcharlist negate=0 zerowidth - ge rx925_pos, rx925_eos, rx925_fail - sub $I10, rx925_pos, rx925_off - substr $S10, rx925_tgt, $I10, 1 - index $I11, "$", $S10 - lt $I11, 0, rx925_fail - # rx subrule "quotemod_check" subtype=zerowidth negate= - rx925_cur."!cursor_pos"(rx925_pos) - $P10 = rx925_cur."quotemod_check"("s") - unless $P10, rx925_fail - # rx subrule "variable" subtype=capture negate= - rx925_cur."!cursor_pos"(rx925_pos) - $P10 = rx925_cur."variable"() - unless $P10, rx925_fail - rx925_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("variable") - rx925_pos = $P10."pos"() +.annotate 'line', 423 + # rx literal "Q:PIR" + add $I11, rx924_pos, 5 + gt $I11, rx924_eos, rx924_fail + sub $I11, rx924_pos, rx924_off + substr $S10, rx924_tgt, $I11, 5 + ne $S10, "Q:PIR", rx924_fail + add rx924_pos, 5 + # rx subrule "ws" subtype=method negate= + rx924_cur."!cursor_pos"(rx924_pos) + $P10 = rx924_cur."ws"() + unless $P10, rx924_fail + rx924_pos = $P10."pos"() + # rx subrule "quote_EXPR" subtype=capture negate= + rx924_cur."!cursor_pos"(rx924_pos) + $P10 = rx924_cur."quote_EXPR"() + unless $P10, rx924_fail + rx924_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx924_pos = $P10."pos"() # rx pass - rx925_cur."!cursor_pass"(rx925_pos, "quote_escape:sym<$>") - rx925_cur."!cursor_debug"("PASS ", "quote_escape:sym<$>", " at pos=", rx925_pos) - .return (rx925_cur) - rx925_fail: -.annotate 'line', 4 - (rx925_rep, rx925_pos, $I10, $P10) = rx925_cur."!mark_fail"(0) - lt rx925_pos, -1, rx925_done - eq rx925_pos, -1, rx925_fail + rx924_cur."!cursor_pass"(rx924_pos, "quote:sym") + rx924_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx924_pos) + .return (rx924_cur) + rx924_fail: +.annotate 'line', 4 + (rx924_rep, rx924_pos, $I10, $P10) = rx924_cur."!mark_fail"(0) + lt rx924_pos, -1, rx924_done + eq rx924_pos, -1, rx924_fail jump $I10 - rx925_done: - rx925_cur."!cursor_fail"() - rx925_cur."!cursor_debug"("FAIL ", "quote_escape:sym<$>") - .return (rx925_cur) + rx924_done: + rx924_cur."!cursor_fail"() + rx924_cur."!cursor_debug"("FAIL ", "quote:sym") + .return (rx924_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote_escape:sym<$>" :subid("219_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("217_1278500537.15927") :method .annotate 'line', 4 + $P926 = self."!PREFIX__!subrule"("ws", "Q:PIR") new $P927, "ResizablePMCArray" - push $P927, "$" + push $P927, $P926 .return ($P927) .end .namespace ["NQP";"Grammar"] -.sub "quote_escape:sym<{ }>" :subid("220_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote:sym" :subid("218_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 .local string rx930_tgt .local int rx930_pos @@ -11062,7 +11014,7 @@ NQP::Compiler - NQP compiler .local int rx930_rep .local pmc rx930_cur (rx930_cur, rx930_pos, rx930_tgt) = self."!cursor_start"() - rx930_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>") + rx930_cur."!cursor_debug"("START ", "quote:sym") .lex unicode:"$\x{a2}", rx930_cur .local pmc match .lex "$/", match @@ -11074,38 +11026,55 @@ NQP::Compiler - NQP compiler substr rx930_tgt, rx930_tgt, rx930_off rx930_start: $I10 = self.'from'() - ne $I10, -1, rxscan933_done - goto rxscan933_scan - rxscan933_loop: + ne $I10, -1, rxscan934_done + goto rxscan934_scan + rxscan934_loop: ($P10) = rx930_cur."from"() inc $P10 set rx930_pos, $P10 - ge rx930_pos, rx930_eos, rxscan933_done - rxscan933_scan: - set_addr $I10, rxscan933_loop + ge rx930_pos, rx930_eos, rxscan934_done + rxscan934_scan: + set_addr $I10, rxscan934_loop rx930_cur."!mark_push"(0, rx930_pos, $I10) - rxscan933_done: -.annotate 'line', 432 - # rx enumcharlist negate=0 zerowidth - ge rx930_pos, rx930_eos, rx930_fail - sub $I10, rx930_pos, rx930_off - substr $S10, rx930_tgt, $I10, 1 - index $I11, "{", $S10 - lt $I11, 0, rx930_fail - # rx subrule "quotemod_check" subtype=zerowidth negate= + rxscan934_done: +.annotate 'line', 425 + # rx literal "/" + add $I11, rx930_pos, 1 + gt $I11, rx930_eos, rx930_fail + sub $I11, rx930_pos, rx930_off + substr $S10, rx930_tgt, $I11, 1 + ne $S10, "/", rx930_fail + add rx930_pos, 1 +.annotate 'line', 426 + # rx subrule "newpad" subtype=method negate= rx930_cur."!cursor_pos"(rx930_pos) - $P10 = rx930_cur."quotemod_check"("c") + $P10 = rx930_cur."newpad"() unless $P10, rx930_fail - # rx subrule "block" subtype=capture negate= + rx930_pos = $P10."pos"() +.annotate 'line', 427 + # rx reduce name="quote:sym" key="open" + rx930_cur."!cursor_pos"(rx930_pos) + rx930_cur."!reduce"("quote:sym", "open") +.annotate 'line', 428 + # rx subrule "LANG" subtype=capture negate= rx930_cur."!cursor_pos"(rx930_pos) - $P10 = rx930_cur."block"() + $P10 = rx930_cur."LANG"("Regex", "nibbler") unless $P10, rx930_fail rx930_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("block") + $P10."!cursor_names"("p6regex") rx930_pos = $P10."pos"() +.annotate 'line', 429 + # rx literal "/" + add $I11, rx930_pos, 1 + gt $I11, rx930_eos, rx930_fail + sub $I11, rx930_pos, rx930_off + substr $S10, rx930_tgt, $I11, 1 + ne $S10, "/", rx930_fail + add rx930_pos, 1 +.annotate 'line', 424 # rx pass - rx930_cur."!cursor_pass"(rx930_pos, "quote_escape:sym<{ }>") - rx930_cur."!cursor_debug"("PASS ", "quote_escape:sym<{ }>", " at pos=", rx930_pos) + rx930_cur."!cursor_pass"(rx930_pos, "quote:sym") + rx930_cur."!cursor_debug"("PASS ", "quote:sym", " at pos=", rx930_pos) .return (rx930_cur) rx930_fail: .annotate 'line', 4 @@ -11115,922 +11084,917 @@ NQP::Compiler - NQP compiler jump $I10 rx930_done: rx930_cur."!cursor_fail"() - rx930_cur."!cursor_debug"("FAIL ", "quote_escape:sym<{ }>") + rx930_cur."!cursor_debug"("FAIL ", "quote:sym") .return (rx930_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote_escape:sym<{ }>" :subid("221_1276996322.81157") :method +.sub "!PREFIX__quote:sym" :subid("219_1278500537.15927") :method .annotate 'line', 4 - new $P932, "ResizablePMCArray" - push $P932, "{" - .return ($P932) + $P932 = self."!PREFIX__!subrule"("newpad", "/") + new $P933, "ResizablePMCArray" + push $P933, $P932 + .return ($P933) .end .namespace ["NQP";"Grammar"] -.sub "quote_escape:sym" :subid("222_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote_escape:sym<$>" :subid("220_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .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 ", "quote_escape:sym") - .lex unicode:"$\x{a2}", rx935_cur + .local string rx936_tgt + .local int rx936_pos + .local int rx936_off + .local int rx936_eos + .local int rx936_rep + .local pmc rx936_cur + (rx936_cur, rx936_pos, rx936_tgt) = self."!cursor_start"() + rx936_cur."!cursor_debug"("START ", "quote_escape:sym<$>") + .lex unicode:"$\x{a2}", rx936_cur .local pmc match .lex "$/", match - length rx935_eos, rx935_tgt - gt rx935_pos, rx935_eos, rx935_done - 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: + length rx936_eos, rx936_tgt + gt rx936_pos, rx936_eos, rx936_done + set rx936_off, 0 + lt rx936_pos, 2, rx936_start + sub rx936_off, rx936_pos, 1 + substr rx936_tgt, rx936_tgt, rx936_off + rx936_start: $I10 = self.'from'() - ne $I10, -1, rxscan938_done - goto rxscan938_scan - rxscan938_loop: - ($P10) = rx935_cur."from"() + ne $I10, -1, rxscan939_done + goto rxscan939_scan + rxscan939_loop: + ($P10) = rx936_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', 433 - # rx literal "\\e" - add $I11, rx935_pos, 2 - gt $I11, rx935_eos, rx935_fail - sub $I11, rx935_pos, rx935_off - substr $S10, rx935_tgt, $I11, 2 - ne $S10, "\\e", rx935_fail - add rx935_pos, 2 + set rx936_pos, $P10 + ge rx936_pos, rx936_eos, rxscan939_done + rxscan939_scan: + set_addr $I10, rxscan939_loop + rx936_cur."!mark_push"(0, rx936_pos, $I10) + rxscan939_done: +.annotate 'line', 432 + # rx enumcharlist negate=0 zerowidth + ge rx936_pos, rx936_eos, rx936_fail + sub $I10, rx936_pos, rx936_off + substr $S10, rx936_tgt, $I10, 1 + index $I11, "$", $S10 + lt $I11, 0, rx936_fail # rx subrule "quotemod_check" subtype=zerowidth negate= - rx935_cur."!cursor_pos"(rx935_pos) - $P10 = rx935_cur."quotemod_check"("b") - unless $P10, rx935_fail + rx936_cur."!cursor_pos"(rx936_pos) + $P10 = rx936_cur."quotemod_check"("s") + unless $P10, rx936_fail + # rx subrule "variable" subtype=capture negate= + rx936_cur."!cursor_pos"(rx936_pos) + $P10 = rx936_cur."variable"() + unless $P10, rx936_fail + rx936_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("variable") + rx936_pos = $P10."pos"() # rx pass - rx935_cur."!cursor_pass"(rx935_pos, "quote_escape:sym") - rx935_cur."!cursor_debug"("PASS ", "quote_escape:sym", " at pos=", rx935_pos) - .return (rx935_cur) - rx935_fail: -.annotate 'line', 4 - (rx935_rep, rx935_pos, $I10, $P10) = rx935_cur."!mark_fail"(0) - lt rx935_pos, -1, rx935_done - eq rx935_pos, -1, rx935_fail + rx936_cur."!cursor_pass"(rx936_pos, "quote_escape:sym<$>") + rx936_cur."!cursor_debug"("PASS ", "quote_escape:sym<$>", " at pos=", rx936_pos) + .return (rx936_cur) + rx936_fail: +.annotate 'line', 4 + (rx936_rep, rx936_pos, $I10, $P10) = rx936_cur."!mark_fail"(0) + lt rx936_pos, -1, rx936_done + eq rx936_pos, -1, rx936_fail jump $I10 - rx935_done: - rx935_cur."!cursor_fail"() - rx935_cur."!cursor_debug"("FAIL ", "quote_escape:sym") - .return (rx935_cur) + rx936_done: + rx936_cur."!cursor_fail"() + rx936_cur."!cursor_debug"("FAIL ", "quote_escape:sym<$>") + .return (rx936_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__quote_escape:sym" :subid("223_1276996322.81157") :method +.sub "!PREFIX__quote_escape:sym<$>" :subid("221_1278500537.15927") :method .annotate 'line', 4 - new $P937, "ResizablePMCArray" - push $P937, "\\e" - .return ($P937) + new $P938, "ResizablePMCArray" + push $P938, "$" + .return ($P938) .end .namespace ["NQP";"Grammar"] -.sub "circumfix:sym<( )>" :subid("224_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote_escape:sym<{ }>" :subid("222_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .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 ", "circumfix:sym<( )>") - rx940_cur."!cursor_caparray"("EXPR") - .lex unicode:"$\x{a2}", rx940_cur + .local string rx941_tgt + .local int rx941_pos + .local int rx941_off + .local int rx941_eos + .local int rx941_rep + .local pmc rx941_cur + (rx941_cur, rx941_pos, rx941_tgt) = self."!cursor_start"() + rx941_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>") + .lex unicode:"$\x{a2}", rx941_cur .local pmc match .lex "$/", match - length rx940_eos, rx940_tgt - gt rx940_pos, rx940_eos, rx940_done - 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: + length rx941_eos, rx941_tgt + gt rx941_pos, rx941_eos, rx941_done + set rx941_off, 0 + lt rx941_pos, 2, rx941_start + sub rx941_off, rx941_pos, 1 + substr rx941_tgt, rx941_tgt, rx941_off + rx941_start: $I10 = self.'from'() ne $I10, -1, rxscan944_done goto rxscan944_scan rxscan944_loop: - ($P10) = rx940_cur."from"() + ($P10) = rx941_cur."from"() inc $P10 - set rx940_pos, $P10 - ge rx940_pos, rx940_eos, rxscan944_done + set rx941_pos, $P10 + ge rx941_pos, rx941_eos, rxscan944_done rxscan944_scan: set_addr $I10, rxscan944_loop - rx940_cur."!mark_push"(0, rx940_pos, $I10) + rx941_cur."!mark_push"(0, rx941_pos, $I10) rxscan944_done: -.annotate 'line', 435 - # 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"() - # rx rxquantr945 ** 0..1 - set_addr $I946, rxquantr945_done - rx940_cur."!mark_push"(0, rx940_pos, $I946) - rxquantr945_loop: - # rx subrule "EXPR" subtype=capture negate= - rx940_cur."!cursor_pos"(rx940_pos) - $P10 = rx940_cur."EXPR"() - unless $P10, rx940_fail - rx940_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("EXPR") - rx940_pos = $P10."pos"() - (rx940_rep) = rx940_cur."!mark_commit"($I946) - rxquantr945_done: - # 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', 433 + # rx enumcharlist negate=0 zerowidth + ge rx941_pos, rx941_eos, rx941_fail + sub $I10, rx941_pos, rx941_off + substr $S10, rx941_tgt, $I10, 1 + index $I11, "{", $S10 + lt $I11, 0, rx941_fail + # rx subrule "quotemod_check" subtype=zerowidth negate= + rx941_cur."!cursor_pos"(rx941_pos) + $P10 = rx941_cur."quotemod_check"("c") + unless $P10, rx941_fail + # rx subrule "block" subtype=capture negate= + rx941_cur."!cursor_pos"(rx941_pos) + $P10 = rx941_cur."block"() + unless $P10, rx941_fail + rx941_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("block") + rx941_pos = $P10."pos"() # rx pass - rx940_cur."!cursor_pass"(rx940_pos, "circumfix:sym<( )>") - rx940_cur."!cursor_debug"("PASS ", "circumfix:sym<( )>", " at pos=", rx940_pos) - .return (rx940_cur) - rx940_fail: -.annotate 'line', 4 - (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0) - lt rx940_pos, -1, rx940_done - eq rx940_pos, -1, rx940_fail + rx941_cur."!cursor_pass"(rx941_pos, "quote_escape:sym<{ }>") + rx941_cur."!cursor_debug"("PASS ", "quote_escape:sym<{ }>", " at pos=", rx941_pos) + .return (rx941_cur) + rx941_fail: +.annotate 'line', 4 + (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0) + lt rx941_pos, -1, rx941_done + eq rx941_pos, -1, rx941_fail jump $I10 - rx940_done: - rx940_cur."!cursor_fail"() - rx940_cur."!cursor_debug"("FAIL ", "circumfix:sym<( )>") - .return (rx940_cur) + rx941_done: + rx941_cur."!cursor_fail"() + rx941_cur."!cursor_debug"("FAIL ", "quote_escape:sym<{ }>") + .return (rx941_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__circumfix:sym<( )>" :subid("225_1276996322.81157") :method +.sub "!PREFIX__quote_escape:sym<{ }>" :subid("223_1278500537.15927") :method .annotate 'line', 4 - $P942 = self."!PREFIX__!subrule"("ws", "(") new $P943, "ResizablePMCArray" - push $P943, $P942 + push $P943, "{" .return ($P943) .end .namespace ["NQP";"Grammar"] -.sub "circumfix:sym<[ ]>" :subid("226_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "quote_escape:sym" :subid("224_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .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 ", "circumfix:sym<[ ]>") - rx948_cur."!cursor_caparray"("EXPR") - .lex unicode:"$\x{a2}", rx948_cur + .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 ", "quote_escape:sym") + .lex unicode:"$\x{a2}", rx946_cur .local pmc match .lex "$/", match - length rx948_eos, rx948_tgt - gt rx948_pos, rx948_eos, rx948_done - 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: + length rx946_eos, rx946_tgt + gt rx946_pos, rx946_eos, rx946_done + 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, rxscan952_done - goto rxscan952_scan - rxscan952_loop: - ($P10) = rx948_cur."from"() + ne $I10, -1, rxscan949_done + goto rxscan949_scan + rxscan949_loop: + ($P10) = rx946_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', 436 - # rx literal "[" - 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 rxquantr953 ** 0..1 - set_addr $I954, rxquantr953_done - rx948_cur."!mark_push"(0, rx948_pos, $I954) - rxquantr953_loop: - # rx subrule "EXPR" subtype=capture negate= - rx948_cur."!cursor_pos"(rx948_pos) - $P10 = rx948_cur."EXPR"() - unless $P10, rx948_fail - rx948_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("EXPR") - rx948_pos = $P10."pos"() - (rx948_rep) = rx948_cur."!mark_commit"($I954) - rxquantr953_done: - # rx literal "]" - 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 + set rx946_pos, $P10 + ge rx946_pos, rx946_eos, rxscan949_done + rxscan949_scan: + set_addr $I10, rxscan949_loop + rx946_cur."!mark_push"(0, rx946_pos, $I10) + rxscan949_done: +.annotate 'line', 434 + # rx literal "\\e" + add $I11, rx946_pos, 2 + gt $I11, rx946_eos, rx946_fail + sub $I11, rx946_pos, rx946_off + substr $S10, rx946_tgt, $I11, 2 + ne $S10, "\\e", rx946_fail + add rx946_pos, 2 + # rx subrule "quotemod_check" subtype=zerowidth negate= + rx946_cur."!cursor_pos"(rx946_pos) + $P10 = rx946_cur."quotemod_check"("b") + unless $P10, rx946_fail # rx pass - rx948_cur."!cursor_pass"(rx948_pos, "circumfix:sym<[ ]>") - rx948_cur."!cursor_debug"("PASS ", "circumfix:sym<[ ]>", " at pos=", rx948_pos) - .return (rx948_cur) - rx948_fail: -.annotate 'line', 4 - (rx948_rep, rx948_pos, $I10, $P10) = rx948_cur."!mark_fail"(0) - lt rx948_pos, -1, rx948_done - eq rx948_pos, -1, rx948_fail + rx946_cur."!cursor_pass"(rx946_pos, "quote_escape:sym") + rx946_cur."!cursor_debug"("PASS ", "quote_escape:sym", " at pos=", rx946_pos) + .return (rx946_cur) + rx946_fail: +.annotate 'line', 4 + (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 - rx948_done: - rx948_cur."!cursor_fail"() - rx948_cur."!cursor_debug"("FAIL ", "circumfix:sym<[ ]>") - .return (rx948_cur) + rx946_done: + rx946_cur."!cursor_fail"() + rx946_cur."!cursor_debug"("FAIL ", "quote_escape:sym") + .return (rx946_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__circumfix:sym<[ ]>" :subid("227_1276996322.81157") :method +.sub "!PREFIX__quote_escape:sym" :subid("225_1278500537.15927") :method .annotate 'line', 4 - $P950 = self."!PREFIX__!subrule"("ws", "[") - new $P951, "ResizablePMCArray" - push $P951, $P950 - .return ($P951) + new $P948, "ResizablePMCArray" + push $P948, "\\e" + .return ($P948) .end .namespace ["NQP";"Grammar"] -.sub "circumfix:sym" :subid("228_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "circumfix:sym<( )>" :subid("226_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx956_tgt - .local int rx956_pos - .local int rx956_off - .local int rx956_eos - .local int rx956_rep - .local pmc rx956_cur - (rx956_cur, rx956_pos, rx956_tgt) = self."!cursor_start"() - rx956_cur."!cursor_debug"("START ", "circumfix:sym") - .lex unicode:"$\x{a2}", rx956_cur + .local string rx951_tgt + .local int rx951_pos + .local int rx951_off + .local int rx951_eos + .local int rx951_rep + .local pmc rx951_cur + (rx951_cur, rx951_pos, rx951_tgt) = self."!cursor_start"() + rx951_cur."!cursor_debug"("START ", "circumfix:sym<( )>") + rx951_cur."!cursor_caparray"("EXPR") + .lex unicode:"$\x{a2}", rx951_cur .local pmc match .lex "$/", match - length rx956_eos, rx956_tgt - gt rx956_pos, rx956_eos, rx956_done - set rx956_off, 0 - lt rx956_pos, 2, rx956_start - sub rx956_off, rx956_pos, 1 - substr rx956_tgt, rx956_tgt, rx956_off - rx956_start: + length rx951_eos, rx951_tgt + gt rx951_pos, rx951_eos, rx951_done + set rx951_off, 0 + lt rx951_pos, 2, rx951_start + sub rx951_off, rx951_pos, 1 + substr rx951_tgt, rx951_tgt, rx951_off + rx951_start: $I10 = self.'from'() - ne $I10, -1, rxscan959_done - goto rxscan959_scan - rxscan959_loop: - ($P10) = rx956_cur."from"() + ne $I10, -1, rxscan955_done + goto rxscan955_scan + rxscan955_loop: + ($P10) = rx951_cur."from"() inc $P10 - set rx956_pos, $P10 - ge rx956_pos, rx956_eos, rxscan959_done - rxscan959_scan: - set_addr $I10, rxscan959_loop - rx956_cur."!mark_push"(0, rx956_pos, $I10) - rxscan959_done: -.annotate 'line', 437 - # rx enumcharlist negate=0 zerowidth - ge rx956_pos, rx956_eos, rx956_fail - sub $I10, rx956_pos, rx956_off - substr $S10, rx956_tgt, $I10, 1 - index $I11, "<", $S10 - lt $I11, 0, rx956_fail - # rx subrule "quote_EXPR" subtype=capture negate= - rx956_cur."!cursor_pos"(rx956_pos) - $P10 = rx956_cur."quote_EXPR"(":q", ":w") - unless $P10, rx956_fail - rx956_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") - rx956_pos = $P10."pos"() + set rx951_pos, $P10 + ge rx951_pos, rx951_eos, rxscan955_done + rxscan955_scan: + set_addr $I10, rxscan955_loop + rx951_cur."!mark_push"(0, rx951_pos, $I10) + rxscan955_done: +.annotate 'line', 436 + # rx literal "(" + add $I11, rx951_pos, 1 + gt $I11, rx951_eos, rx951_fail + sub $I11, rx951_pos, rx951_off + substr $S10, rx951_tgt, $I11, 1 + ne $S10, "(", rx951_fail + add rx951_pos, 1 + # rx subrule "ws" subtype=method negate= + rx951_cur."!cursor_pos"(rx951_pos) + $P10 = rx951_cur."ws"() + unless $P10, rx951_fail + rx951_pos = $P10."pos"() + # rx rxquantr956 ** 0..1 + set_addr $I957, rxquantr956_done + rx951_cur."!mark_push"(0, rx951_pos, $I957) + rxquantr956_loop: + # rx subrule "EXPR" subtype=capture negate= + rx951_cur."!cursor_pos"(rx951_pos) + $P10 = rx951_cur."EXPR"() + unless $P10, rx951_fail + rx951_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("EXPR") + rx951_pos = $P10."pos"() + (rx951_rep) = rx951_cur."!mark_commit"($I957) + rxquantr956_done: + # rx literal ")" + add $I11, rx951_pos, 1 + gt $I11, rx951_eos, rx951_fail + sub $I11, rx951_pos, rx951_off + substr $S10, rx951_tgt, $I11, 1 + ne $S10, ")", rx951_fail + add rx951_pos, 1 # rx pass - rx956_cur."!cursor_pass"(rx956_pos, "circumfix:sym") - rx956_cur."!cursor_debug"("PASS ", "circumfix:sym", " at pos=", rx956_pos) - .return (rx956_cur) - rx956_fail: -.annotate 'line', 4 - (rx956_rep, rx956_pos, $I10, $P10) = rx956_cur."!mark_fail"(0) - lt rx956_pos, -1, rx956_done - eq rx956_pos, -1, rx956_fail + rx951_cur."!cursor_pass"(rx951_pos, "circumfix:sym<( )>") + rx951_cur."!cursor_debug"("PASS ", "circumfix:sym<( )>", " at pos=", rx951_pos) + .return (rx951_cur) + rx951_fail: +.annotate 'line', 4 + (rx951_rep, rx951_pos, $I10, $P10) = rx951_cur."!mark_fail"(0) + lt rx951_pos, -1, rx951_done + eq rx951_pos, -1, rx951_fail jump $I10 - rx956_done: - rx956_cur."!cursor_fail"() - rx956_cur."!cursor_debug"("FAIL ", "circumfix:sym") - .return (rx956_cur) + rx951_done: + rx951_cur."!cursor_fail"() + rx951_cur."!cursor_debug"("FAIL ", "circumfix:sym<( )>") + .return (rx951_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__circumfix:sym" :subid("229_1276996322.81157") :method +.sub "!PREFIX__circumfix:sym<( )>" :subid("227_1278500537.15927") :method .annotate 'line', 4 - new $P958, "ResizablePMCArray" - push $P958, "<" - .return ($P958) + $P953 = self."!PREFIX__!subrule"("ws", "(") + new $P954, "ResizablePMCArray" + push $P954, $P953 + .return ($P954) .end .namespace ["NQP";"Grammar"] -.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("230_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "circumfix:sym<[ ]>" :subid("228_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx961_tgt - .local int rx961_pos - .local int rx961_off - .local int rx961_eos - .local int rx961_rep - .local pmc rx961_cur - (rx961_cur, rx961_pos, rx961_tgt) = self."!cursor_start"() - rx961_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>") - .lex unicode:"$\x{a2}", rx961_cur + .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 ", "circumfix:sym<[ ]>") + rx959_cur."!cursor_caparray"("EXPR") + .lex unicode:"$\x{a2}", rx959_cur .local pmc match .lex "$/", match - length rx961_eos, rx961_tgt - gt rx961_pos, rx961_eos, rx961_done - set rx961_off, 0 - lt rx961_pos, 2, rx961_start - sub rx961_off, rx961_pos, 1 - substr rx961_tgt, rx961_tgt, rx961_off - rx961_start: + length rx959_eos, rx959_tgt + gt rx959_pos, rx959_eos, rx959_done + 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, rxscan964_done - goto rxscan964_scan - rxscan964_loop: - ($P10) = rx961_cur."from"() + ne $I10, -1, rxscan963_done + goto rxscan963_scan + rxscan963_loop: + ($P10) = rx959_cur."from"() inc $P10 - set rx961_pos, $P10 - ge rx961_pos, rx961_eos, rxscan964_done - rxscan964_scan: - set_addr $I10, rxscan964_loop - rx961_cur."!mark_push"(0, rx961_pos, $I10) - rxscan964_done: -.annotate 'line', 438 - # rx enumcharlist negate=0 zerowidth - ge rx961_pos, rx961_eos, rx961_fail - sub $I10, rx961_pos, rx961_off - substr $S10, rx961_tgt, $I10, 1 - index $I11, unicode:"\x{ab}", $S10 - lt $I11, 0, rx961_fail - # rx subrule "quote_EXPR" subtype=capture negate= - rx961_cur."!cursor_pos"(rx961_pos) - $P10 = rx961_cur."quote_EXPR"(":qq", ":w") - unless $P10, rx961_fail - rx961_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") - rx961_pos = $P10."pos"() + 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', 437 + # rx literal "[" + add $I11, rx959_pos, 1 + gt $I11, rx959_eos, rx959_fail + sub $I11, rx959_pos, rx959_off + substr $S10, rx959_tgt, $I11, 1 + ne $S10, "[", rx959_fail + add rx959_pos, 1 + # rx subrule "ws" subtype=method negate= + rx959_cur."!cursor_pos"(rx959_pos) + $P10 = rx959_cur."ws"() + unless $P10, rx959_fail + rx959_pos = $P10."pos"() + # rx rxquantr964 ** 0..1 + set_addr $I965, rxquantr964_done + rx959_cur."!mark_push"(0, rx959_pos, $I965) + rxquantr964_loop: + # rx subrule "EXPR" subtype=capture negate= + rx959_cur."!cursor_pos"(rx959_pos) + $P10 = rx959_cur."EXPR"() + unless $P10, rx959_fail + rx959_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("EXPR") + rx959_pos = $P10."pos"() + (rx959_rep) = rx959_cur."!mark_commit"($I965) + rxquantr964_done: + # rx literal "]" + add $I11, rx959_pos, 1 + gt $I11, rx959_eos, rx959_fail + sub $I11, rx959_pos, rx959_off + substr $S10, rx959_tgt, $I11, 1 + ne $S10, "]", rx959_fail + add rx959_pos, 1 # rx pass - rx961_cur."!cursor_pass"(rx961_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>") - rx961_cur."!cursor_debug"("PASS ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx961_pos) - .return (rx961_cur) - rx961_fail: -.annotate 'line', 4 - (rx961_rep, rx961_pos, $I10, $P10) = rx961_cur."!mark_fail"(0) - lt rx961_pos, -1, rx961_done - eq rx961_pos, -1, rx961_fail + rx959_cur."!cursor_pass"(rx959_pos, "circumfix:sym<[ ]>") + rx959_cur."!cursor_debug"("PASS ", "circumfix:sym<[ ]>", " at pos=", rx959_pos) + .return (rx959_cur) + rx959_fail: +.annotate 'line', 4 + (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 - rx961_done: - rx961_cur."!cursor_fail"() - rx961_cur."!cursor_debug"("FAIL ", unicode:"circumfix:sym<\x{ab} \x{bb}>") - .return (rx961_cur) + rx959_done: + rx959_cur."!cursor_fail"() + rx959_cur."!cursor_debug"("FAIL ", "circumfix:sym<[ ]>") + .return (rx959_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("231_1276996322.81157") :method +.sub "!PREFIX__circumfix:sym<[ ]>" :subid("229_1278500537.15927") :method .annotate 'line', 4 - new $P963, "ResizablePMCArray" - push $P963, unicode:"\x{ab}" - .return ($P963) + $P961 = self."!PREFIX__!subrule"("ws", "[") + new $P962, "ResizablePMCArray" + push $P962, $P961 + .return ($P962) .end .namespace ["NQP";"Grammar"] -.sub "circumfix:sym<{ }>" :subid("232_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "circumfix:sym" :subid("230_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .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 ", "circumfix:sym<{ }>") - .lex unicode:"$\x{a2}", rx966_cur + .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 ", "circumfix:sym") + .lex unicode:"$\x{a2}", rx967_cur .local pmc match .lex "$/", match - length rx966_eos, rx966_tgt - gt rx966_pos, rx966_eos, rx966_done - 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: + length rx967_eos, rx967_tgt + gt rx967_pos, rx967_eos, rx967_done + 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, rxscan969_done - goto rxscan969_scan - rxscan969_loop: - ($P10) = rx966_cur."from"() + ne $I10, -1, rxscan970_done + goto rxscan970_scan + rxscan970_loop: + ($P10) = rx967_cur."from"() inc $P10 - set rx966_pos, $P10 - ge rx966_pos, rx966_eos, rxscan969_done - rxscan969_scan: - set_addr $I10, rxscan969_loop - rx966_cur."!mark_push"(0, rx966_pos, $I10) - rxscan969_done: -.annotate 'line', 439 + set rx967_pos, $P10 + ge rx967_pos, rx967_eos, rxscan970_done + rxscan970_scan: + set_addr $I10, rxscan970_loop + rx967_cur."!mark_push"(0, rx967_pos, $I10) + rxscan970_done: +.annotate 'line', 438 # rx enumcharlist negate=0 zerowidth - ge rx966_pos, rx966_eos, rx966_fail - sub $I10, rx966_pos, rx966_off - substr $S10, rx966_tgt, $I10, 1 - index $I11, "{", $S10 - lt $I11, 0, rx966_fail - # rx subrule "pblock" subtype=capture negate= - rx966_cur."!cursor_pos"(rx966_pos) - $P10 = rx966_cur."pblock"() - unless $P10, rx966_fail - rx966_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("pblock") - rx966_pos = $P10."pos"() + ge rx967_pos, rx967_eos, rx967_fail + sub $I10, rx967_pos, rx967_off + substr $S10, rx967_tgt, $I10, 1 + index $I11, "<", $S10 + lt $I11, 0, rx967_fail + # rx subrule "quote_EXPR" subtype=capture negate= + rx967_cur."!cursor_pos"(rx967_pos) + $P10 = rx967_cur."quote_EXPR"(":q", ":w") + unless $P10, rx967_fail + rx967_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx967_pos = $P10."pos"() # rx pass - rx966_cur."!cursor_pass"(rx966_pos, "circumfix:sym<{ }>") - rx966_cur."!cursor_debug"("PASS ", "circumfix:sym<{ }>", " at pos=", rx966_pos) - .return (rx966_cur) - rx966_fail: -.annotate 'line', 4 - (rx966_rep, rx966_pos, $I10, $P10) = rx966_cur."!mark_fail"(0) - lt rx966_pos, -1, rx966_done - eq rx966_pos, -1, rx966_fail + rx967_cur."!cursor_pass"(rx967_pos, "circumfix:sym") + rx967_cur."!cursor_debug"("PASS ", "circumfix:sym", " at pos=", rx967_pos) + .return (rx967_cur) + rx967_fail: +.annotate 'line', 4 + (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 - rx966_done: - rx966_cur."!cursor_fail"() - rx966_cur."!cursor_debug"("FAIL ", "circumfix:sym<{ }>") - .return (rx966_cur) + rx967_done: + rx967_cur."!cursor_fail"() + rx967_cur."!cursor_debug"("FAIL ", "circumfix:sym") + .return (rx967_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__circumfix:sym<{ }>" :subid("233_1276996322.81157") :method +.sub "!PREFIX__circumfix:sym" :subid("231_1278500537.15927") :method .annotate 'line', 4 - new $P968, "ResizablePMCArray" - push $P968, "{" - .return ($P968) + new $P969, "ResizablePMCArray" + push $P969, "<" + .return ($P969) .end .namespace ["NQP";"Grammar"] -.sub "circumfix:sym" :subid("234_1276996322.81157") :method :outer("11_1276996322.81157") +.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("232_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx971_tgt - .local int rx971_pos - .local int rx971_off - .local int rx971_eos - .local int rx971_rep - .local pmc rx971_cur - (rx971_cur, rx971_pos, rx971_tgt) = self."!cursor_start"() - rx971_cur."!cursor_debug"("START ", "circumfix:sym") - .lex unicode:"$\x{a2}", rx971_cur + .local string rx972_tgt + .local int rx972_pos + .local int rx972_off + .local int rx972_eos + .local int rx972_rep + .local pmc rx972_cur + (rx972_cur, rx972_pos, rx972_tgt) = self."!cursor_start"() + rx972_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>") + .lex unicode:"$\x{a2}", rx972_cur .local pmc match .lex "$/", match - length rx971_eos, rx971_tgt - gt rx971_pos, rx971_eos, rx971_done - set rx971_off, 0 - lt rx971_pos, 2, rx971_start - sub rx971_off, rx971_pos, 1 - substr rx971_tgt, rx971_tgt, rx971_off - rx971_start: + length rx972_eos, rx972_tgt + gt rx972_pos, rx972_eos, rx972_done + set rx972_off, 0 + lt rx972_pos, 2, rx972_start + sub rx972_off, rx972_pos, 1 + substr rx972_tgt, rx972_tgt, rx972_off + rx972_start: $I10 = self.'from'() ne $I10, -1, rxscan975_done goto rxscan975_scan rxscan975_loop: - ($P10) = rx971_cur."from"() + ($P10) = rx972_cur."from"() inc $P10 - set rx971_pos, $P10 - ge rx971_pos, rx971_eos, rxscan975_done + set rx972_pos, $P10 + ge rx972_pos, rx972_eos, rxscan975_done rxscan975_scan: set_addr $I10, rxscan975_loop - rx971_cur."!mark_push"(0, rx971_pos, $I10) + rx972_cur."!mark_push"(0, rx972_pos, $I10) rxscan975_done: -.annotate 'line', 440 - # rx subrule "sigil" subtype=capture negate= - rx971_cur."!cursor_pos"(rx971_pos) - $P10 = rx971_cur."sigil"() - unless $P10, rx971_fail - rx971_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sigil") - rx971_pos = $P10."pos"() - # rx literal "(" - add $I11, rx971_pos, 1 - gt $I11, rx971_eos, rx971_fail - sub $I11, rx971_pos, rx971_off - substr $S10, rx971_tgt, $I11, 1 - ne $S10, "(", rx971_fail - add rx971_pos, 1 - # rx subrule "semilist" subtype=capture negate= - rx971_cur."!cursor_pos"(rx971_pos) - $P10 = rx971_cur."semilist"() - unless $P10, rx971_fail - rx971_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("semilist") - rx971_pos = $P10."pos"() - alt976_0: - set_addr $I10, alt976_1 - rx971_cur."!mark_push"(0, rx971_pos, $I10) - # rx literal ")" - add $I11, rx971_pos, 1 - gt $I11, rx971_eos, rx971_fail - sub $I11, rx971_pos, rx971_off - substr $S10, rx971_tgt, $I11, 1 - ne $S10, ")", rx971_fail - add rx971_pos, 1 - goto alt976_end - alt976_1: - # rx subrule "FAILGOAL" subtype=method negate= - rx971_cur."!cursor_pos"(rx971_pos) - $P10 = rx971_cur."FAILGOAL"("')'") - unless $P10, rx971_fail - rx971_pos = $P10."pos"() - alt976_end: +.annotate 'line', 439 + # rx enumcharlist negate=0 zerowidth + ge rx972_pos, rx972_eos, rx972_fail + sub $I10, rx972_pos, rx972_off + substr $S10, rx972_tgt, $I10, 1 + index $I11, unicode:"\x{ab}", $S10 + lt $I11, 0, rx972_fail + # rx subrule "quote_EXPR" subtype=capture negate= + rx972_cur."!cursor_pos"(rx972_pos) + $P10 = rx972_cur."quote_EXPR"(":qq", ":w") + unless $P10, rx972_fail + rx972_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx972_pos = $P10."pos"() # rx pass - rx971_cur."!cursor_pass"(rx971_pos, "circumfix:sym") - rx971_cur."!cursor_debug"("PASS ", "circumfix:sym", " at pos=", rx971_pos) - .return (rx971_cur) - rx971_fail: -.annotate 'line', 4 - (rx971_rep, rx971_pos, $I10, $P10) = rx971_cur."!mark_fail"(0) - lt rx971_pos, -1, rx971_done - eq rx971_pos, -1, rx971_fail + rx972_cur."!cursor_pass"(rx972_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>") + rx972_cur."!cursor_debug"("PASS ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx972_pos) + .return (rx972_cur) + rx972_fail: +.annotate 'line', 4 + (rx972_rep, rx972_pos, $I10, $P10) = rx972_cur."!mark_fail"(0) + lt rx972_pos, -1, rx972_done + eq rx972_pos, -1, rx972_fail jump $I10 - rx971_done: - rx971_cur."!cursor_fail"() - rx971_cur."!cursor_debug"("FAIL ", "circumfix:sym") - .return (rx971_cur) + rx972_done: + rx972_cur."!cursor_fail"() + rx972_cur."!cursor_debug"("FAIL ", unicode:"circumfix:sym<\x{ab} \x{bb}>") + .return (rx972_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__circumfix:sym" :subid("235_1276996322.81157") :method +.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("233_1278500537.15927") :method .annotate 'line', 4 - $P973 = self."!PREFIX__!subrule"("sigil", "") new $P974, "ResizablePMCArray" - push $P974, $P973 + push $P974, unicode:"\x{ab}" .return ($P974) .end .namespace ["NQP";"Grammar"] -.sub "semilist" :subid("236_1276996322.81157") :method :outer("11_1276996322.81157") +.sub "circumfix:sym<{ }>" :subid("234_1278500537.15927") :method :outer("11_1278500537.15927") .annotate 'line', 4 - .local string rx979_tgt - .local int rx979_pos - .local int rx979_off - .local int rx979_eos - .local int rx979_rep - .local pmc rx979_cur - (rx979_cur, rx979_pos, rx979_tgt) = self."!cursor_start"() - rx979_cur."!cursor_debug"("START ", "semilist") - .lex unicode:"$\x{a2}", rx979_cur + .local string rx977_tgt + .local int rx977_pos + .local int rx977_off + .local int rx977_eos + .local int rx977_rep + .local pmc rx977_cur + (rx977_cur, rx977_pos, rx977_tgt) = self."!cursor_start"() + rx977_cur."!cursor_debug"("START ", "circumfix:sym<{ }>") + .lex unicode:"$\x{a2}", rx977_cur .local pmc match .lex "$/", match - length rx979_eos, rx979_tgt - gt rx979_pos, rx979_eos, rx979_done - set rx979_off, 0 - lt rx979_pos, 2, rx979_start - sub rx979_off, rx979_pos, 1 - substr rx979_tgt, rx979_tgt, rx979_off - rx979_start: + length rx977_eos, rx977_tgt + gt rx977_pos, rx977_eos, rx977_done + set rx977_off, 0 + lt rx977_pos, 2, rx977_start + sub rx977_off, rx977_pos, 1 + substr rx977_tgt, rx977_tgt, rx977_off + rx977_start: $I10 = self.'from'() - ne $I10, -1, rxscan983_done - goto rxscan983_scan - rxscan983_loop: - ($P10) = rx979_cur."from"() + ne $I10, -1, rxscan980_done + goto rxscan980_scan + rxscan980_loop: + ($P10) = rx977_cur."from"() inc $P10 - set rx979_pos, $P10 - ge rx979_pos, rx979_eos, rxscan983_done - rxscan983_scan: - set_addr $I10, rxscan983_loop - rx979_cur."!mark_push"(0, rx979_pos, $I10) - rxscan983_done: -.annotate 'line', 442 - # rx subrule "ws" subtype=method negate= - rx979_cur."!cursor_pos"(rx979_pos) - $P10 = rx979_cur."ws"() - unless $P10, rx979_fail - rx979_pos = $P10."pos"() - # rx subrule "statement" subtype=capture negate= - rx979_cur."!cursor_pos"(rx979_pos) - $P10 = rx979_cur."statement"() - unless $P10, rx979_fail - rx979_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("statement") - rx979_pos = $P10."pos"() - # rx subrule "ws" subtype=method negate= - rx979_cur."!cursor_pos"(rx979_pos) - $P10 = rx979_cur."ws"() - unless $P10, rx979_fail - rx979_pos = $P10."pos"() + set rx977_pos, $P10 + ge rx977_pos, rx977_eos, rxscan980_done + rxscan980_scan: + set_addr $I10, rxscan980_loop + rx977_cur."!mark_push"(0, rx977_pos, $I10) + rxscan980_done: +.annotate 'line', 440 + # rx enumcharlist negate=0 zerowidth + ge rx977_pos, rx977_eos, rx977_fail + sub $I10, rx977_pos, rx977_off + substr $S10, rx977_tgt, $I10, 1 + index $I11, "{", $S10 + lt $I11, 0, rx977_fail + # rx subrule "pblock" subtype=capture negate= + rx977_cur."!cursor_pos"(rx977_pos) + $P10 = rx977_cur."pblock"() + unless $P10, rx977_fail + rx977_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("pblock") + rx977_pos = $P10."pos"() # rx pass - rx979_cur."!cursor_pass"(rx979_pos, "semilist") - rx979_cur."!cursor_debug"("PASS ", "semilist", " at pos=", rx979_pos) - .return (rx979_cur) - rx979_fail: -.annotate 'line', 4 - (rx979_rep, rx979_pos, $I10, $P10) = rx979_cur."!mark_fail"(0) - lt rx979_pos, -1, rx979_done - eq rx979_pos, -1, rx979_fail + rx977_cur."!cursor_pass"(rx977_pos, "circumfix:sym<{ }>") + rx977_cur."!cursor_debug"("PASS ", "circumfix:sym<{ }>", " at pos=", rx977_pos) + .return (rx977_cur) + rx977_fail: +.annotate 'line', 4 + (rx977_rep, rx977_pos, $I10, $P10) = rx977_cur."!mark_fail"(0) + lt rx977_pos, -1, rx977_done + eq rx977_pos, -1, rx977_fail jump $I10 - rx979_done: - rx979_cur."!cursor_fail"() - rx979_cur."!cursor_debug"("FAIL ", "semilist") - .return (rx979_cur) + rx977_done: + rx977_cur."!cursor_fail"() + rx977_cur."!cursor_debug"("FAIL ", "circumfix:sym<{ }>") + .return (rx977_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__semilist" :subid("237_1276996322.81157") :method +.sub "!PREFIX__circumfix:sym<{ }>" :subid("235_1278500537.15927") :method .annotate 'line', 4 - $P981 = self."!PREFIX__!subrule"("ws", "") - new $P982, "ResizablePMCArray" - push $P982, $P981 - .return ($P982) + new $P979, "ResizablePMCArray" + push $P979, "{" + .return ($P979) .end .namespace ["NQP";"Grammar"] -.sub "infixish" :subid("238_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infixish") - .lex unicode:"$\x{a2}", rx987_cur +.sub "circumfix:sym" :subid("236_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 4 + .local string rx982_tgt + .local int rx982_pos + .local int rx982_off + .local int rx982_eos + .local int rx982_rep + .local pmc rx982_cur + (rx982_cur, rx982_pos, rx982_tgt) = self."!cursor_start"() + rx982_cur."!cursor_debug"("START ", "circumfix:sym") + .lex unicode:"$\x{a2}", rx982_cur .local pmc match .lex "$/", match - length rx987_eos, rx987_tgt - gt rx987_pos, rx987_eos, rx987_done - 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: + length rx982_eos, rx982_tgt + gt rx982_pos, rx982_eos, rx982_done + set rx982_off, 0 + lt rx982_pos, 2, rx982_start + sub rx982_off, rx982_pos, 1 + substr rx982_tgt, rx982_tgt, rx982_off + rx982_start: $I10 = self.'from'() - ne $I10, -1, rxscan990_done - goto rxscan990_scan - rxscan990_loop: - ($P10) = rx987_cur."from"() + ne $I10, -1, rxscan986_done + goto rxscan986_scan + rxscan986_loop: + ($P10) = rx982_cur."from"() inc $P10 - set rx987_pos, $P10 - ge rx987_pos, rx987_eos, rxscan990_done - rxscan990_scan: - set_addr $I10, rxscan990_loop - rx987_cur."!mark_push"(0, rx987_pos, $I10) - rxscan990_done: -.annotate 'line', 465 - # rx subrule "infixstopper" subtype=zerowidth negate=1 - rx987_cur."!cursor_pos"(rx987_pos) - $P10 = rx987_cur."infixstopper"() - if $P10, rx987_fail - # rx subrule "infix" subtype=capture negate= - rx987_cur."!cursor_pos"(rx987_pos) - $P10 = rx987_cur."infix"() - unless $P10, rx987_fail - rx987_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("OPER=infix") - rx987_pos = $P10."pos"() + set rx982_pos, $P10 + ge rx982_pos, rx982_eos, rxscan986_done + rxscan986_scan: + set_addr $I10, rxscan986_loop + rx982_cur."!mark_push"(0, rx982_pos, $I10) + rxscan986_done: +.annotate 'line', 441 + # rx subrule "sigil" subtype=capture negate= + rx982_cur."!cursor_pos"(rx982_pos) + $P10 = rx982_cur."sigil"() + unless $P10, rx982_fail + rx982_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sigil") + rx982_pos = $P10."pos"() + # rx literal "(" + add $I11, rx982_pos, 1 + gt $I11, rx982_eos, rx982_fail + sub $I11, rx982_pos, rx982_off + substr $S10, rx982_tgt, $I11, 1 + ne $S10, "(", rx982_fail + add rx982_pos, 1 + # rx subrule "semilist" subtype=capture negate= + rx982_cur."!cursor_pos"(rx982_pos) + $P10 = rx982_cur."semilist"() + unless $P10, rx982_fail + rx982_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("semilist") + rx982_pos = $P10."pos"() + alt987_0: + set_addr $I10, alt987_1 + rx982_cur."!mark_push"(0, rx982_pos, $I10) + # rx literal ")" + add $I11, rx982_pos, 1 + gt $I11, rx982_eos, rx982_fail + sub $I11, rx982_pos, rx982_off + substr $S10, rx982_tgt, $I11, 1 + ne $S10, ")", rx982_fail + add rx982_pos, 1 + goto alt987_end + alt987_1: + # rx subrule "FAILGOAL" subtype=method negate= + rx982_cur."!cursor_pos"(rx982_pos) + $P10 = rx982_cur."FAILGOAL"("')'") + unless $P10, rx982_fail + rx982_pos = $P10."pos"() + alt987_end: # rx pass - rx987_cur."!cursor_pass"(rx987_pos, "infixish") - rx987_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx987_pos) - .return (rx987_cur) - rx987_fail: -.annotate 'line', 446 - (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0) - lt rx987_pos, -1, rx987_done - eq rx987_pos, -1, rx987_fail + rx982_cur."!cursor_pass"(rx982_pos, "circumfix:sym") + rx982_cur."!cursor_debug"("PASS ", "circumfix:sym", " at pos=", rx982_pos) + .return (rx982_cur) + rx982_fail: +.annotate 'line', 4 + (rx982_rep, rx982_pos, $I10, $P10) = rx982_cur."!mark_fail"(0) + lt rx982_pos, -1, rx982_done + eq rx982_pos, -1, rx982_fail jump $I10 - rx987_done: - rx987_cur."!cursor_fail"() - rx987_cur."!cursor_debug"("FAIL ", "infixish") - .return (rx987_cur) + rx982_done: + rx982_cur."!cursor_fail"() + rx982_cur."!cursor_debug"("FAIL ", "circumfix:sym") + .return (rx982_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infixish" :subid("239_1276996322.81157") :method -.annotate 'line', 446 - new $P989, "ResizablePMCArray" - push $P989, "" - .return ($P989) +.sub "!PREFIX__circumfix:sym" :subid("237_1278500537.15927") :method +.annotate 'line', 4 + $P984 = self."!PREFIX__!subrule"("sigil", "") + new $P985, "ResizablePMCArray" + push $P985, $P984 + .return ($P985) .end .namespace ["NQP";"Grammar"] -.sub "infixstopper" :subid("240_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx992_tgt - .local int rx992_pos - .local int rx992_off - .local int rx992_eos - .local int rx992_rep - .local pmc rx992_cur - (rx992_cur, rx992_pos, rx992_tgt) = self."!cursor_start"() - rx992_cur."!cursor_debug"("START ", "infixstopper") - .lex unicode:"$\x{a2}", rx992_cur +.sub "semilist" :subid("238_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 4 + .local string rx990_tgt + .local int rx990_pos + .local int rx990_off + .local int rx990_eos + .local int rx990_rep + .local pmc rx990_cur + (rx990_cur, rx990_pos, rx990_tgt) = self."!cursor_start"() + rx990_cur."!cursor_debug"("START ", "semilist") + .lex unicode:"$\x{a2}", rx990_cur .local pmc match .lex "$/", match - length rx992_eos, rx992_tgt - gt rx992_pos, rx992_eos, rx992_done - set rx992_off, 0 - lt rx992_pos, 2, rx992_start - sub rx992_off, rx992_pos, 1 - substr rx992_tgt, rx992_tgt, rx992_off - rx992_start: + length rx990_eos, rx990_tgt + gt rx990_pos, rx990_eos, rx990_done + set rx990_off, 0 + lt rx990_pos, 2, rx990_start + sub rx990_off, rx990_pos, 1 + substr rx990_tgt, rx990_tgt, rx990_off + rx990_start: $I10 = self.'from'() - ne $I10, -1, rxscan995_done - goto rxscan995_scan - rxscan995_loop: - ($P10) = rx992_cur."from"() + ne $I10, -1, rxscan994_done + goto rxscan994_scan + rxscan994_loop: + ($P10) = rx990_cur."from"() inc $P10 - set rx992_pos, $P10 - ge rx992_pos, rx992_eos, rxscan995_done - rxscan995_scan: - set_addr $I10, rxscan995_loop - rx992_cur."!mark_push"(0, rx992_pos, $I10) - rxscan995_done: -.annotate 'line', 466 - # rx subrule "lambda" subtype=zerowidth negate= - rx992_cur."!cursor_pos"(rx992_pos) - $P10 = rx992_cur."lambda"() - unless $P10, rx992_fail + set rx990_pos, $P10 + ge rx990_pos, rx990_eos, rxscan994_done + rxscan994_scan: + set_addr $I10, rxscan994_loop + rx990_cur."!mark_push"(0, rx990_pos, $I10) + rxscan994_done: +.annotate 'line', 443 + # rx subrule "ws" subtype=method negate= + rx990_cur."!cursor_pos"(rx990_pos) + $P10 = rx990_cur."ws"() + unless $P10, rx990_fail + rx990_pos = $P10."pos"() + # rx subrule "statement" subtype=capture negate= + rx990_cur."!cursor_pos"(rx990_pos) + $P10 = rx990_cur."statement"() + unless $P10, rx990_fail + rx990_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("statement") + rx990_pos = $P10."pos"() + # rx subrule "ws" subtype=method negate= + rx990_cur."!cursor_pos"(rx990_pos) + $P10 = rx990_cur."ws"() + unless $P10, rx990_fail + rx990_pos = $P10."pos"() # rx pass - rx992_cur."!cursor_pass"(rx992_pos, "infixstopper") - rx992_cur."!cursor_debug"("PASS ", "infixstopper", " at pos=", rx992_pos) - .return (rx992_cur) - rx992_fail: -.annotate 'line', 446 - (rx992_rep, rx992_pos, $I10, $P10) = rx992_cur."!mark_fail"(0) - lt rx992_pos, -1, rx992_done - eq rx992_pos, -1, rx992_fail + rx990_cur."!cursor_pass"(rx990_pos, "semilist") + rx990_cur."!cursor_debug"("PASS ", "semilist", " at pos=", rx990_pos) + .return (rx990_cur) + rx990_fail: +.annotate 'line', 4 + (rx990_rep, rx990_pos, $I10, $P10) = rx990_cur."!mark_fail"(0) + lt rx990_pos, -1, rx990_done + eq rx990_pos, -1, rx990_fail jump $I10 - rx992_done: - rx992_cur."!cursor_fail"() - rx992_cur."!cursor_debug"("FAIL ", "infixstopper") - .return (rx992_cur) + rx990_done: + rx990_cur."!cursor_fail"() + rx990_cur."!cursor_debug"("FAIL ", "semilist") + .return (rx990_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infixstopper" :subid("241_1276996322.81157") :method -.annotate 'line', 446 - new $P994, "ResizablePMCArray" - push $P994, "" - .return ($P994) +.sub "!PREFIX__semilist" :subid("239_1278500537.15927") :method +.annotate 'line', 4 + $P992 = self."!PREFIX__!subrule"("ws", "") + new $P993, "ResizablePMCArray" + push $P993, $P992 + .return ($P993) .end .namespace ["NQP";"Grammar"] -.sub "postcircumfix:sym<[ ]>" :subid("242_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx997_tgt - .local int rx997_pos - .local int rx997_off - .local int rx997_eos - .local int rx997_rep - .local pmc rx997_cur - (rx997_cur, rx997_pos, rx997_tgt) = self."!cursor_start"() - rx997_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>") - .lex unicode:"$\x{a2}", rx997_cur +.sub "infixish" :subid("240_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx998_tgt + .local int rx998_pos + .local int rx998_off + .local int rx998_eos + .local int rx998_rep + .local pmc rx998_cur + (rx998_cur, rx998_pos, rx998_tgt) = self."!cursor_start"() + rx998_cur."!cursor_debug"("START ", "infixish") + .lex unicode:"$\x{a2}", rx998_cur .local pmc match .lex "$/", match - length rx997_eos, rx997_tgt - gt rx997_pos, rx997_eos, rx997_done - set rx997_off, 0 - lt rx997_pos, 2, rx997_start - sub rx997_off, rx997_pos, 1 - substr rx997_tgt, rx997_tgt, rx997_off - rx997_start: + length rx998_eos, rx998_tgt + gt rx998_pos, rx998_eos, rx998_done + set rx998_off, 0 + lt rx998_pos, 2, rx998_start + sub rx998_off, rx998_pos, 1 + substr rx998_tgt, rx998_tgt, rx998_off + rx998_start: $I10 = self.'from'() ne $I10, -1, rxscan1001_done goto rxscan1001_scan rxscan1001_loop: - ($P10) = rx997_cur."from"() + ($P10) = rx998_cur."from"() inc $P10 - set rx997_pos, $P10 - ge rx997_pos, rx997_eos, rxscan1001_done + set rx998_pos, $P10 + ge rx998_pos, rx998_eos, rxscan1001_done rxscan1001_scan: set_addr $I10, rxscan1001_loop - rx997_cur."!mark_push"(0, rx997_pos, $I10) + rx998_cur."!mark_push"(0, rx998_pos, $I10) rxscan1001_done: -.annotate 'line', 469 - # rx literal "[" - add $I11, rx997_pos, 1 - gt $I11, rx997_eos, rx997_fail - sub $I11, rx997_pos, rx997_off - substr $S10, rx997_tgt, $I11, 1 - ne $S10, "[", rx997_fail - add rx997_pos, 1 - # rx subrule "ws" subtype=method negate= - rx997_cur."!cursor_pos"(rx997_pos) - $P10 = rx997_cur."ws"() - unless $P10, rx997_fail - rx997_pos = $P10."pos"() - # rx subrule "EXPR" subtype=capture negate= - rx997_cur."!cursor_pos"(rx997_pos) - $P10 = rx997_cur."EXPR"() - unless $P10, rx997_fail - rx997_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("EXPR") - rx997_pos = $P10."pos"() - # rx literal "]" - add $I11, rx997_pos, 1 - gt $I11, rx997_eos, rx997_fail - sub $I11, rx997_pos, rx997_off - substr $S10, rx997_tgt, $I11, 1 - ne $S10, "]", rx997_fail - add rx997_pos, 1 -.annotate 'line', 470 - # rx subrule "O" subtype=capture negate= - rx997_cur."!cursor_pos"(rx997_pos) - $P10 = rx997_cur."O"("%methodop") - unless $P10, rx997_fail - rx997_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("O") - rx997_pos = $P10."pos"() -.annotate 'line', 468 +.annotate 'line', 466 + # rx subrule "infixstopper" subtype=zerowidth negate=1 + rx998_cur."!cursor_pos"(rx998_pos) + $P10 = rx998_cur."infixstopper"() + if $P10, rx998_fail + # rx subrule "infix" subtype=capture negate= + rx998_cur."!cursor_pos"(rx998_pos) + $P10 = rx998_cur."infix"() + unless $P10, rx998_fail + rx998_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("OPER=infix") + rx998_pos = $P10."pos"() # rx pass - rx997_cur."!cursor_pass"(rx997_pos, "postcircumfix:sym<[ ]>") - rx997_cur."!cursor_debug"("PASS ", "postcircumfix:sym<[ ]>", " at pos=", rx997_pos) - .return (rx997_cur) - rx997_fail: -.annotate 'line', 446 - (rx997_rep, rx997_pos, $I10, $P10) = rx997_cur."!mark_fail"(0) - lt rx997_pos, -1, rx997_done - eq rx997_pos, -1, rx997_fail + rx998_cur."!cursor_pass"(rx998_pos, "infixish") + rx998_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx998_pos) + .return (rx998_cur) + rx998_fail: +.annotate 'line', 447 + (rx998_rep, rx998_pos, $I10, $P10) = rx998_cur."!mark_fail"(0) + lt rx998_pos, -1, rx998_done + eq rx998_pos, -1, rx998_fail jump $I10 - rx997_done: - rx997_cur."!cursor_fail"() - rx997_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<[ ]>") - .return (rx997_cur) + rx998_done: + rx998_cur."!cursor_fail"() + rx998_cur."!cursor_debug"("FAIL ", "infixish") + .return (rx998_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("243_1276996322.81157") :method -.annotate 'line', 446 - $P999 = self."!PREFIX__!subrule"("ws", "[") +.sub "!PREFIX__infixish" :subid("241_1278500537.15927") :method +.annotate 'line', 447 new $P1000, "ResizablePMCArray" - push $P1000, $P999 + push $P1000, "" .return ($P1000) .end .namespace ["NQP";"Grammar"] -.sub "postcircumfix:sym<{ }>" :subid("244_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 +.sub "infixstopper" :subid("242_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 .local string rx1003_tgt .local int rx1003_pos .local int rx1003_off @@ -12038,7 +12002,7 @@ NQP::Compiler - NQP compiler .local int rx1003_rep .local pmc rx1003_cur (rx1003_cur, rx1003_pos, rx1003_tgt) = self."!cursor_start"() - rx1003_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>") + rx1003_cur."!cursor_debug"("START ", "infixstopper") .lex unicode:"$\x{a2}", rx1003_cur .local pmc match .lex "$/", match @@ -12050,167 +12014,149 @@ NQP::Compiler - NQP compiler substr rx1003_tgt, rx1003_tgt, rx1003_off rx1003_start: $I10 = self.'from'() - ne $I10, -1, rxscan1007_done - goto rxscan1007_scan - rxscan1007_loop: + ne $I10, -1, rxscan1006_done + goto rxscan1006_scan + rxscan1006_loop: ($P10) = rx1003_cur."from"() inc $P10 set rx1003_pos, $P10 - ge rx1003_pos, rx1003_eos, rxscan1007_done - rxscan1007_scan: - set_addr $I10, rxscan1007_loop + ge rx1003_pos, rx1003_eos, rxscan1006_done + rxscan1006_scan: + set_addr $I10, rxscan1006_loop rx1003_cur."!mark_push"(0, rx1003_pos, $I10) - rxscan1007_done: -.annotate 'line', 474 - # rx literal "{" - add $I11, rx1003_pos, 1 - gt $I11, rx1003_eos, rx1003_fail - sub $I11, rx1003_pos, rx1003_off - substr $S10, rx1003_tgt, $I11, 1 - ne $S10, "{", rx1003_fail - add rx1003_pos, 1 - # rx subrule "ws" subtype=method negate= - rx1003_cur."!cursor_pos"(rx1003_pos) - $P10 = rx1003_cur."ws"() - unless $P10, rx1003_fail - rx1003_pos = $P10."pos"() - # rx subrule "EXPR" subtype=capture negate= - rx1003_cur."!cursor_pos"(rx1003_pos) - $P10 = rx1003_cur."EXPR"() - unless $P10, rx1003_fail - rx1003_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("EXPR") - rx1003_pos = $P10."pos"() - # rx literal "}" - add $I11, rx1003_pos, 1 - gt $I11, rx1003_eos, rx1003_fail - sub $I11, rx1003_pos, rx1003_off - substr $S10, rx1003_tgt, $I11, 1 - ne $S10, "}", rx1003_fail - add rx1003_pos, 1 -.annotate 'line', 475 - # rx subrule "O" subtype=capture negate= + rxscan1006_done: +.annotate 'line', 467 + # rx subrule "lambda" subtype=zerowidth negate= rx1003_cur."!cursor_pos"(rx1003_pos) - $P10 = rx1003_cur."O"("%methodop") + $P10 = rx1003_cur."lambda"() unless $P10, rx1003_fail - rx1003_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("O") - rx1003_pos = $P10."pos"() -.annotate 'line', 473 # rx pass - rx1003_cur."!cursor_pass"(rx1003_pos, "postcircumfix:sym<{ }>") - rx1003_cur."!cursor_debug"("PASS ", "postcircumfix:sym<{ }>", " at pos=", rx1003_pos) + rx1003_cur."!cursor_pass"(rx1003_pos, "infixstopper") + rx1003_cur."!cursor_debug"("PASS ", "infixstopper", " at pos=", rx1003_pos) .return (rx1003_cur) rx1003_fail: -.annotate 'line', 446 +.annotate 'line', 447 (rx1003_rep, rx1003_pos, $I10, $P10) = rx1003_cur."!mark_fail"(0) lt rx1003_pos, -1, rx1003_done eq rx1003_pos, -1, rx1003_fail jump $I10 rx1003_done: rx1003_cur."!cursor_fail"() - rx1003_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<{ }>") + rx1003_cur."!cursor_debug"("FAIL ", "infixstopper") .return (rx1003_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("245_1276996322.81157") :method -.annotate 'line', 446 - $P1005 = self."!PREFIX__!subrule"("ws", "{") - new $P1006, "ResizablePMCArray" - push $P1006, $P1005 - .return ($P1006) +.sub "!PREFIX__infixstopper" :subid("243_1278500537.15927") :method +.annotate 'line', 447 + new $P1005, "ResizablePMCArray" + push $P1005, "" + .return ($P1005) .end .namespace ["NQP";"Grammar"] -.sub "postcircumfix:sym" :subid("246_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "postcircumfix:sym") - .lex unicode:"$\x{a2}", rx1009_cur +.sub "postcircumfix:sym<[ ]>" :subid("244_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1008_tgt + .local int rx1008_pos + .local int rx1008_off + .local int rx1008_eos + .local int rx1008_rep + .local pmc rx1008_cur + (rx1008_cur, rx1008_pos, rx1008_tgt) = self."!cursor_start"() + rx1008_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>") + .lex unicode:"$\x{a2}", rx1008_cur .local pmc match .lex "$/", match - length rx1009_eos, rx1009_tgt - gt rx1009_pos, rx1009_eos, rx1009_done - 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: + length rx1008_eos, rx1008_tgt + gt rx1008_pos, rx1008_eos, rx1008_done + set rx1008_off, 0 + lt rx1008_pos, 2, rx1008_start + sub rx1008_off, rx1008_pos, 1 + substr rx1008_tgt, rx1008_tgt, rx1008_off + rx1008_start: $I10 = self.'from'() ne $I10, -1, rxscan1012_done goto rxscan1012_scan rxscan1012_loop: - ($P10) = rx1009_cur."from"() + ($P10) = rx1008_cur."from"() inc $P10 - set rx1009_pos, $P10 - ge rx1009_pos, rx1009_eos, rxscan1012_done + set rx1008_pos, $P10 + ge rx1008_pos, rx1008_eos, rxscan1012_done rxscan1012_scan: set_addr $I10, rxscan1012_loop - rx1009_cur."!mark_push"(0, rx1009_pos, $I10) + rx1008_cur."!mark_push"(0, rx1008_pos, $I10) rxscan1012_done: -.annotate 'line', 479 - # rx enumcharlist negate=0 zerowidth - ge rx1009_pos, rx1009_eos, rx1009_fail - sub $I10, rx1009_pos, rx1009_off - substr $S10, rx1009_tgt, $I10, 1 - index $I11, "<", $S10 - lt $I11, 0, rx1009_fail - # rx subrule "quote_EXPR" subtype=capture negate= - rx1009_cur."!cursor_pos"(rx1009_pos) - $P10 = rx1009_cur."quote_EXPR"(":q") - unless $P10, rx1009_fail - rx1009_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") - rx1009_pos = $P10."pos"() -.annotate 'line', 480 +.annotate 'line', 470 + # rx literal "[" + add $I11, rx1008_pos, 1 + gt $I11, rx1008_eos, rx1008_fail + sub $I11, rx1008_pos, rx1008_off + substr $S10, rx1008_tgt, $I11, 1 + ne $S10, "[", rx1008_fail + add rx1008_pos, 1 + # rx subrule "ws" subtype=method negate= + rx1008_cur."!cursor_pos"(rx1008_pos) + $P10 = rx1008_cur."ws"() + unless $P10, rx1008_fail + rx1008_pos = $P10."pos"() + # rx subrule "EXPR" subtype=capture negate= + rx1008_cur."!cursor_pos"(rx1008_pos) + $P10 = rx1008_cur."EXPR"() + unless $P10, rx1008_fail + rx1008_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("EXPR") + rx1008_pos = $P10."pos"() + # rx literal "]" + add $I11, rx1008_pos, 1 + gt $I11, rx1008_eos, rx1008_fail + sub $I11, rx1008_pos, rx1008_off + substr $S10, rx1008_tgt, $I11, 1 + ne $S10, "]", rx1008_fail + add rx1008_pos, 1 +.annotate 'line', 471 # rx subrule "O" subtype=capture negate= - rx1009_cur."!cursor_pos"(rx1009_pos) - $P10 = rx1009_cur."O"("%methodop") - unless $P10, rx1009_fail - rx1009_cur."!mark_push"(0, -1, 0, $P10) + rx1008_cur."!cursor_pos"(rx1008_pos) + $P10 = rx1008_cur."O"("%methodop") + unless $P10, rx1008_fail + rx1008_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1009_pos = $P10."pos"() -.annotate 'line', 478 + rx1008_pos = $P10."pos"() +.annotate 'line', 469 # rx pass - rx1009_cur."!cursor_pass"(rx1009_pos, "postcircumfix:sym") - rx1009_cur."!cursor_debug"("PASS ", "postcircumfix:sym", " at pos=", rx1009_pos) - .return (rx1009_cur) - rx1009_fail: -.annotate 'line', 446 - (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0) - lt rx1009_pos, -1, rx1009_done - eq rx1009_pos, -1, rx1009_fail + rx1008_cur."!cursor_pass"(rx1008_pos, "postcircumfix:sym<[ ]>") + rx1008_cur."!cursor_debug"("PASS ", "postcircumfix:sym<[ ]>", " at pos=", rx1008_pos) + .return (rx1008_cur) + rx1008_fail: +.annotate 'line', 447 + (rx1008_rep, rx1008_pos, $I10, $P10) = rx1008_cur."!mark_fail"(0) + lt rx1008_pos, -1, rx1008_done + eq rx1008_pos, -1, rx1008_fail jump $I10 - rx1009_done: - rx1009_cur."!cursor_fail"() - rx1009_cur."!cursor_debug"("FAIL ", "postcircumfix:sym") - .return (rx1009_cur) + rx1008_done: + rx1008_cur."!cursor_fail"() + rx1008_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<[ ]>") + .return (rx1008_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postcircumfix:sym" :subid("247_1276996322.81157") :method -.annotate 'line', 446 +.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("245_1278500537.15927") :method +.annotate 'line', 447 + $P1010 = self."!PREFIX__!subrule"("ws", "[") new $P1011, "ResizablePMCArray" - push $P1011, "<" + push $P1011, $P1010 .return ($P1011) .end .namespace ["NQP";"Grammar"] -.sub "postcircumfix:sym<( )>" :subid("248_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 +.sub "postcircumfix:sym<{ }>" :subid("246_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 .local string rx1014_tgt .local int rx1014_pos .local int rx1014_off @@ -12218,7 +12164,7 @@ NQP::Compiler - NQP compiler .local int rx1014_rep .local pmc rx1014_cur (rx1014_cur, rx1014_pos, rx1014_tgt) = self."!cursor_start"() - rx1014_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>") + rx1014_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>") .lex unicode:"$\x{a2}", rx1014_cur .local pmc match .lex "$/", match @@ -12241,34 +12187,34 @@ NQP::Compiler - NQP compiler set_addr $I10, rxscan1018_loop rx1014_cur."!mark_push"(0, rx1014_pos, $I10) rxscan1018_done: -.annotate 'line', 484 - # rx literal "(" +.annotate 'line', 475 + # 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 + ne $S10, "{", rx1014_fail add rx1014_pos, 1 # rx subrule "ws" subtype=method negate= rx1014_cur."!cursor_pos"(rx1014_pos) $P10 = rx1014_cur."ws"() unless $P10, rx1014_fail rx1014_pos = $P10."pos"() - # rx subrule "arglist" subtype=capture negate= + # rx subrule "EXPR" subtype=capture negate= rx1014_cur."!cursor_pos"(rx1014_pos) - $P10 = rx1014_cur."arglist"() + $P10 = rx1014_cur."EXPR"() unless $P10, rx1014_fail rx1014_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("arglist") + $P10."!cursor_names"("EXPR") rx1014_pos = $P10."pos"() - # rx literal ")" + # 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 + ne $S10, "}", rx1014_fail add rx1014_pos, 1 -.annotate 'line', 485 +.annotate 'line', 476 # rx subrule "O" subtype=capture negate= rx1014_cur."!cursor_pos"(rx1014_pos) $P10 = rx1014_cur."O"("%methodop") @@ -12276,29 +12222,29 @@ NQP::Compiler - NQP compiler rx1014_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") rx1014_pos = $P10."pos"() -.annotate 'line', 483 +.annotate 'line', 474 # rx pass - rx1014_cur."!cursor_pass"(rx1014_pos, "postcircumfix:sym<( )>") - rx1014_cur."!cursor_debug"("PASS ", "postcircumfix:sym<( )>", " at pos=", rx1014_pos) + rx1014_cur."!cursor_pass"(rx1014_pos, "postcircumfix:sym<{ }>") + rx1014_cur."!cursor_debug"("PASS ", "postcircumfix:sym<{ }>", " at pos=", rx1014_pos) .return (rx1014_cur) rx1014_fail: -.annotate 'line', 446 +.annotate 'line', 447 (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 ", "postcircumfix:sym<( )>") + rx1014_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<{ }>") .return (rx1014_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postcircumfix:sym<( )>" :subid("249_1276996322.81157") :method -.annotate 'line', 446 - $P1016 = self."!PREFIX__!subrule"("ws", "(") +.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("247_1278500537.15927") :method +.annotate 'line', 447 + $P1016 = self."!PREFIX__!subrule"("ws", "{") new $P1017, "ResizablePMCArray" push $P1017, $P1016 .return ($P1017) @@ -12306,8 +12252,8 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Grammar"] -.sub "postfix:sym<.>" :subid("250_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 +.sub "postcircumfix:sym" :subid("248_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 .local string rx1020_tgt .local int rx1020_pos .local int rx1020_off @@ -12315,7 +12261,7 @@ NQP::Compiler - NQP compiler .local int rx1020_rep .local pmc rx1020_cur (rx1020_cur, rx1020_pos, rx1020_tgt) = self."!cursor_start"() - rx1020_cur."!cursor_debug"("START ", "postfix:sym<.>") + rx1020_cur."!cursor_debug"("START ", "postcircumfix:sym") .lex unicode:"$\x{a2}", rx1020_cur .local pmc match .lex "$/", match @@ -12327,25 +12273,32 @@ NQP::Compiler - NQP compiler substr rx1020_tgt, rx1020_tgt, rx1020_off rx1020_start: $I10 = self.'from'() - ne $I10, -1, rxscan1024_done - goto rxscan1024_scan - rxscan1024_loop: + ne $I10, -1, rxscan1023_done + goto rxscan1023_scan + rxscan1023_loop: ($P10) = rx1020_cur."from"() inc $P10 set rx1020_pos, $P10 - ge rx1020_pos, rx1020_eos, rxscan1024_done - rxscan1024_scan: - set_addr $I10, rxscan1024_loop + ge rx1020_pos, rx1020_eos, rxscan1023_done + rxscan1023_scan: + set_addr $I10, rxscan1023_loop rx1020_cur."!mark_push"(0, rx1020_pos, $I10) - rxscan1024_done: -.annotate 'line', 488 - # rx subrule "dotty" subtype=capture negate= + rxscan1023_done: +.annotate 'line', 480 + # rx enumcharlist negate=0 zerowidth + ge rx1020_pos, rx1020_eos, rx1020_fail + sub $I10, rx1020_pos, rx1020_off + substr $S10, rx1020_tgt, $I10, 1 + index $I11, "<", $S10 + lt $I11, 0, rx1020_fail + # rx subrule "quote_EXPR" subtype=capture negate= rx1020_cur."!cursor_pos"(rx1020_pos) - $P10 = rx1020_cur."dotty"() + $P10 = rx1020_cur."quote_EXPR"(":q") unless $P10, rx1020_fail rx1020_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("dotty") + $P10."!cursor_names"("quote_EXPR") rx1020_pos = $P10."pos"() +.annotate 'line', 481 # rx subrule "O" subtype=capture negate= rx1020_cur."!cursor_pos"(rx1020_pos) $P10 = rx1020_cur."O"("%methodop") @@ -12353,3837 +12306,3828 @@ NQP::Compiler - NQP compiler rx1020_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") rx1020_pos = $P10."pos"() +.annotate 'line', 479 # rx pass - rx1020_cur."!cursor_pass"(rx1020_pos, "postfix:sym<.>") - rx1020_cur."!cursor_debug"("PASS ", "postfix:sym<.>", " at pos=", rx1020_pos) + rx1020_cur."!cursor_pass"(rx1020_pos, "postcircumfix:sym") + rx1020_cur."!cursor_debug"("PASS ", "postcircumfix:sym", " at pos=", rx1020_pos) .return (rx1020_cur) rx1020_fail: -.annotate 'line', 446 +.annotate 'line', 447 (rx1020_rep, rx1020_pos, $I10, $P10) = rx1020_cur."!mark_fail"(0) lt rx1020_pos, -1, rx1020_done eq rx1020_pos, -1, rx1020_fail jump $I10 rx1020_done: rx1020_cur."!cursor_fail"() - rx1020_cur."!cursor_debug"("FAIL ", "postfix:sym<.>") + rx1020_cur."!cursor_debug"("FAIL ", "postcircumfix:sym") .return (rx1020_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postfix:sym<.>" :subid("251_1276996322.81157") :method -.annotate 'line', 446 - $P1022 = self."!PREFIX__!subrule"("dotty", "") - new $P1023, "ResizablePMCArray" - push $P1023, $P1022 - .return ($P1023) +.sub "!PREFIX__postcircumfix:sym" :subid("249_1278500537.15927") :method +.annotate 'line', 447 + new $P1022, "ResizablePMCArray" + push $P1022, "<" + .return ($P1022) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<++>" :subid("252_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1026_tgt - .local int rx1026_pos - .local int rx1026_off - .local int rx1026_eos - .local int rx1026_rep - .local pmc rx1026_cur - (rx1026_cur, rx1026_pos, rx1026_tgt) = self."!cursor_start"() - rx1026_cur."!cursor_debug"("START ", "prefix:sym<++>") - .lex unicode:"$\x{a2}", rx1026_cur +.sub "postcircumfix:sym<( )>" :subid("250_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1025_tgt + .local int rx1025_pos + .local int rx1025_off + .local int rx1025_eos + .local int rx1025_rep + .local pmc rx1025_cur + (rx1025_cur, rx1025_pos, rx1025_tgt) = self."!cursor_start"() + rx1025_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>") + .lex unicode:"$\x{a2}", rx1025_cur .local pmc match .lex "$/", match - length rx1026_eos, rx1026_tgt - gt rx1026_pos, rx1026_eos, rx1026_done - set rx1026_off, 0 - lt rx1026_pos, 2, rx1026_start - sub rx1026_off, rx1026_pos, 1 - substr rx1026_tgt, rx1026_tgt, rx1026_off - rx1026_start: + length rx1025_eos, rx1025_tgt + gt rx1025_pos, rx1025_eos, rx1025_done + set rx1025_off, 0 + lt rx1025_pos, 2, rx1025_start + sub rx1025_off, rx1025_pos, 1 + substr rx1025_tgt, rx1025_tgt, rx1025_off + rx1025_start: $I10 = self.'from'() - ne $I10, -1, rxscan1030_done - goto rxscan1030_scan - rxscan1030_loop: - ($P10) = rx1026_cur."from"() + ne $I10, -1, rxscan1029_done + goto rxscan1029_scan + rxscan1029_loop: + ($P10) = rx1025_cur."from"() inc $P10 - set rx1026_pos, $P10 - ge rx1026_pos, rx1026_eos, rxscan1030_done - rxscan1030_scan: - set_addr $I10, rxscan1030_loop - rx1026_cur."!mark_push"(0, rx1026_pos, $I10) - rxscan1030_done: -.annotate 'line', 490 - # rx subcapture "sym" - set_addr $I10, rxcap_1031_fail - rx1026_cur."!mark_push"(0, rx1026_pos, $I10) - # rx literal "++" - add $I11, rx1026_pos, 2 - gt $I11, rx1026_eos, rx1026_fail - sub $I11, rx1026_pos, rx1026_off - substr $S10, rx1026_tgt, $I11, 2 - ne $S10, "++", rx1026_fail - add rx1026_pos, 2 - set_addr $I10, rxcap_1031_fail - ($I12, $I11) = rx1026_cur."!mark_peek"($I10) - rx1026_cur."!cursor_pos"($I11) - ($P10) = rx1026_cur."!cursor_start"() - $P10."!cursor_pass"(rx1026_pos, "") - rx1026_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_1031_done - rxcap_1031_fail: - goto rx1026_fail - rxcap_1031_done: + set rx1025_pos, $P10 + ge rx1025_pos, rx1025_eos, rxscan1029_done + rxscan1029_scan: + set_addr $I10, rxscan1029_loop + rx1025_cur."!mark_push"(0, rx1025_pos, $I10) + rxscan1029_done: +.annotate 'line', 485 + # rx literal "(" + add $I11, rx1025_pos, 1 + gt $I11, rx1025_eos, rx1025_fail + sub $I11, rx1025_pos, rx1025_off + substr $S10, rx1025_tgt, $I11, 1 + ne $S10, "(", rx1025_fail + add rx1025_pos, 1 + # rx subrule "ws" subtype=method negate= + rx1025_cur."!cursor_pos"(rx1025_pos) + $P10 = rx1025_cur."ws"() + unless $P10, rx1025_fail + rx1025_pos = $P10."pos"() + # rx subrule "arglist" subtype=capture negate= + rx1025_cur."!cursor_pos"(rx1025_pos) + $P10 = rx1025_cur."arglist"() + unless $P10, rx1025_fail + rx1025_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("arglist") + rx1025_pos = $P10."pos"() + # rx literal ")" + add $I11, rx1025_pos, 1 + gt $I11, rx1025_eos, rx1025_fail + sub $I11, rx1025_pos, rx1025_off + substr $S10, rx1025_tgt, $I11, 1 + ne $S10, ")", rx1025_fail + add rx1025_pos, 1 +.annotate 'line', 486 # rx subrule "O" subtype=capture negate= - rx1026_cur."!cursor_pos"(rx1026_pos) - $P10 = rx1026_cur."O"("%autoincrement, :pirop") - unless $P10, rx1026_fail - rx1026_cur."!mark_push"(0, -1, 0, $P10) + rx1025_cur."!cursor_pos"(rx1025_pos) + $P10 = rx1025_cur."O"("%methodop") + unless $P10, rx1025_fail + rx1025_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1026_pos = $P10."pos"() + rx1025_pos = $P10."pos"() +.annotate 'line', 484 # rx pass - rx1026_cur."!cursor_pass"(rx1026_pos, "prefix:sym<++>") - rx1026_cur."!cursor_debug"("PASS ", "prefix:sym<++>", " at pos=", rx1026_pos) - .return (rx1026_cur) - rx1026_fail: -.annotate 'line', 446 - (rx1026_rep, rx1026_pos, $I10, $P10) = rx1026_cur."!mark_fail"(0) - lt rx1026_pos, -1, rx1026_done - eq rx1026_pos, -1, rx1026_fail + rx1025_cur."!cursor_pass"(rx1025_pos, "postcircumfix:sym<( )>") + rx1025_cur."!cursor_debug"("PASS ", "postcircumfix:sym<( )>", " at pos=", rx1025_pos) + .return (rx1025_cur) + rx1025_fail: +.annotate 'line', 447 + (rx1025_rep, rx1025_pos, $I10, $P10) = rx1025_cur."!mark_fail"(0) + lt rx1025_pos, -1, rx1025_done + eq rx1025_pos, -1, rx1025_fail jump $I10 - rx1026_done: - rx1026_cur."!cursor_fail"() - rx1026_cur."!cursor_debug"("FAIL ", "prefix:sym<++>") - .return (rx1026_cur) + rx1025_done: + rx1025_cur."!cursor_fail"() + rx1025_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<( )>") + .return (rx1025_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<++>" :subid("253_1276996322.81157") :method -.annotate 'line', 446 - $P1028 = self."!PREFIX__!subrule"("O", "++") - new $P1029, "ResizablePMCArray" - push $P1029, $P1028 - .return ($P1029) +.sub "!PREFIX__postcircumfix:sym<( )>" :subid("251_1278500537.15927") :method +.annotate 'line', 447 + $P1027 = self."!PREFIX__!subrule"("ws", "(") + new $P1028, "ResizablePMCArray" + push $P1028, $P1027 + .return ($P1028) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<-->" :subid("254_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1033_tgt - .local int rx1033_pos - .local int rx1033_off - .local int rx1033_eos - .local int rx1033_rep - .local pmc rx1033_cur - (rx1033_cur, rx1033_pos, rx1033_tgt) = self."!cursor_start"() - rx1033_cur."!cursor_debug"("START ", "prefix:sym<-->") - .lex unicode:"$\x{a2}", rx1033_cur +.sub "postfix:sym<.>" :subid("252_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1031_tgt + .local int rx1031_pos + .local int rx1031_off + .local int rx1031_eos + .local int rx1031_rep + .local pmc rx1031_cur + (rx1031_cur, rx1031_pos, rx1031_tgt) = self."!cursor_start"() + rx1031_cur."!cursor_debug"("START ", "postfix:sym<.>") + .lex unicode:"$\x{a2}", rx1031_cur .local pmc match .lex "$/", match - length rx1033_eos, rx1033_tgt - gt rx1033_pos, rx1033_eos, rx1033_done - set rx1033_off, 0 - lt rx1033_pos, 2, rx1033_start - sub rx1033_off, rx1033_pos, 1 - substr rx1033_tgt, rx1033_tgt, rx1033_off - rx1033_start: + length rx1031_eos, rx1031_tgt + gt rx1031_pos, rx1031_eos, rx1031_done + set rx1031_off, 0 + lt rx1031_pos, 2, rx1031_start + sub rx1031_off, rx1031_pos, 1 + substr rx1031_tgt, rx1031_tgt, rx1031_off + rx1031_start: $I10 = self.'from'() - ne $I10, -1, rxscan1037_done - goto rxscan1037_scan - rxscan1037_loop: - ($P10) = rx1033_cur."from"() + ne $I10, -1, rxscan1035_done + goto rxscan1035_scan + rxscan1035_loop: + ($P10) = rx1031_cur."from"() inc $P10 - set rx1033_pos, $P10 - ge rx1033_pos, rx1033_eos, rxscan1037_done - rxscan1037_scan: - set_addr $I10, rxscan1037_loop - rx1033_cur."!mark_push"(0, rx1033_pos, $I10) - rxscan1037_done: -.annotate 'line', 491 - # rx subcapture "sym" - set_addr $I10, rxcap_1038_fail - rx1033_cur."!mark_push"(0, rx1033_pos, $I10) - # rx literal "--" - add $I11, rx1033_pos, 2 - gt $I11, rx1033_eos, rx1033_fail - sub $I11, rx1033_pos, rx1033_off - substr $S10, rx1033_tgt, $I11, 2 - ne $S10, "--", rx1033_fail - add rx1033_pos, 2 - set_addr $I10, rxcap_1038_fail - ($I12, $I11) = rx1033_cur."!mark_peek"($I10) - rx1033_cur."!cursor_pos"($I11) - ($P10) = rx1033_cur."!cursor_start"() - $P10."!cursor_pass"(rx1033_pos, "") - rx1033_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_1038_done - rxcap_1038_fail: - goto rx1033_fail - rxcap_1038_done: + set rx1031_pos, $P10 + ge rx1031_pos, rx1031_eos, rxscan1035_done + rxscan1035_scan: + set_addr $I10, rxscan1035_loop + rx1031_cur."!mark_push"(0, rx1031_pos, $I10) + rxscan1035_done: +.annotate 'line', 489 + # rx subrule "dotty" subtype=capture negate= + rx1031_cur."!cursor_pos"(rx1031_pos) + $P10 = rx1031_cur."dotty"() + unless $P10, rx1031_fail + rx1031_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("dotty") + rx1031_pos = $P10."pos"() # rx subrule "O" subtype=capture negate= - rx1033_cur."!cursor_pos"(rx1033_pos) - $P10 = rx1033_cur."O"("%autoincrement, :pirop") - unless $P10, rx1033_fail - rx1033_cur."!mark_push"(0, -1, 0, $P10) + rx1031_cur."!cursor_pos"(rx1031_pos) + $P10 = rx1031_cur."O"("%methodop") + unless $P10, rx1031_fail + rx1031_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1033_pos = $P10."pos"() + rx1031_pos = $P10."pos"() # rx pass - rx1033_cur."!cursor_pass"(rx1033_pos, "prefix:sym<-->") - rx1033_cur."!cursor_debug"("PASS ", "prefix:sym<-->", " at pos=", rx1033_pos) - .return (rx1033_cur) - rx1033_fail: -.annotate 'line', 446 - (rx1033_rep, rx1033_pos, $I10, $P10) = rx1033_cur."!mark_fail"(0) - lt rx1033_pos, -1, rx1033_done - eq rx1033_pos, -1, rx1033_fail + rx1031_cur."!cursor_pass"(rx1031_pos, "postfix:sym<.>") + rx1031_cur."!cursor_debug"("PASS ", "postfix:sym<.>", " at pos=", rx1031_pos) + .return (rx1031_cur) + rx1031_fail: +.annotate 'line', 447 + (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0) + lt rx1031_pos, -1, rx1031_done + eq rx1031_pos, -1, rx1031_fail jump $I10 - rx1033_done: - rx1033_cur."!cursor_fail"() - rx1033_cur."!cursor_debug"("FAIL ", "prefix:sym<-->") - .return (rx1033_cur) + rx1031_done: + rx1031_cur."!cursor_fail"() + rx1031_cur."!cursor_debug"("FAIL ", "postfix:sym<.>") + .return (rx1031_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<-->" :subid("255_1276996322.81157") :method -.annotate 'line', 446 - $P1035 = self."!PREFIX__!subrule"("O", "--") - new $P1036, "ResizablePMCArray" - push $P1036, $P1035 - .return ($P1036) +.sub "!PREFIX__postfix:sym<.>" :subid("253_1278500537.15927") :method +.annotate 'line', 447 + $P1033 = self."!PREFIX__!subrule"("dotty", "") + new $P1034, "ResizablePMCArray" + push $P1034, $P1033 + .return ($P1034) .end .namespace ["NQP";"Grammar"] -.sub "postfix:sym<++>" :subid("256_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1040_tgt - .local int rx1040_pos - .local int rx1040_off - .local int rx1040_eos - .local int rx1040_rep - .local pmc rx1040_cur - (rx1040_cur, rx1040_pos, rx1040_tgt) = self."!cursor_start"() - rx1040_cur."!cursor_debug"("START ", "postfix:sym<++>") - .lex unicode:"$\x{a2}", rx1040_cur +.sub "prefix:sym<++>" :subid("254_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1037_tgt + .local int rx1037_pos + .local int rx1037_off + .local int rx1037_eos + .local int rx1037_rep + .local pmc rx1037_cur + (rx1037_cur, rx1037_pos, rx1037_tgt) = self."!cursor_start"() + rx1037_cur."!cursor_debug"("START ", "prefix:sym<++>") + .lex unicode:"$\x{a2}", rx1037_cur .local pmc match .lex "$/", match - length rx1040_eos, rx1040_tgt - gt rx1040_pos, rx1040_eos, rx1040_done - set rx1040_off, 0 - lt rx1040_pos, 2, rx1040_start - sub rx1040_off, rx1040_pos, 1 - substr rx1040_tgt, rx1040_tgt, rx1040_off - rx1040_start: + length rx1037_eos, rx1037_tgt + gt rx1037_pos, rx1037_eos, rx1037_done + set rx1037_off, 0 + lt rx1037_pos, 2, rx1037_start + sub rx1037_off, rx1037_pos, 1 + substr rx1037_tgt, rx1037_tgt, rx1037_off + rx1037_start: $I10 = self.'from'() - ne $I10, -1, rxscan1044_done - goto rxscan1044_scan - rxscan1044_loop: - ($P10) = rx1040_cur."from"() + ne $I10, -1, rxscan1041_done + goto rxscan1041_scan + rxscan1041_loop: + ($P10) = rx1037_cur."from"() inc $P10 - set rx1040_pos, $P10 - ge rx1040_pos, rx1040_eos, rxscan1044_done - rxscan1044_scan: - set_addr $I10, rxscan1044_loop - rx1040_cur."!mark_push"(0, rx1040_pos, $I10) - rxscan1044_done: -.annotate 'line', 494 + set rx1037_pos, $P10 + ge rx1037_pos, rx1037_eos, rxscan1041_done + rxscan1041_scan: + set_addr $I10, rxscan1041_loop + rx1037_cur."!mark_push"(0, rx1037_pos, $I10) + rxscan1041_done: +.annotate 'line', 491 # rx subcapture "sym" - set_addr $I10, rxcap_1045_fail - rx1040_cur."!mark_push"(0, rx1040_pos, $I10) + set_addr $I10, rxcap_1042_fail + rx1037_cur."!mark_push"(0, rx1037_pos, $I10) # rx literal "++" - add $I11, rx1040_pos, 2 - gt $I11, rx1040_eos, rx1040_fail - sub $I11, rx1040_pos, rx1040_off - substr $S10, rx1040_tgt, $I11, 2 - ne $S10, "++", rx1040_fail - add rx1040_pos, 2 - set_addr $I10, rxcap_1045_fail - ($I12, $I11) = rx1040_cur."!mark_peek"($I10) - rx1040_cur."!cursor_pos"($I11) - ($P10) = rx1040_cur."!cursor_start"() - $P10."!cursor_pass"(rx1040_pos, "") - rx1040_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx1037_pos, 2 + gt $I11, rx1037_eos, rx1037_fail + sub $I11, rx1037_pos, rx1037_off + substr $S10, rx1037_tgt, $I11, 2 + ne $S10, "++", rx1037_fail + add rx1037_pos, 2 + set_addr $I10, rxcap_1042_fail + ($I12, $I11) = rx1037_cur."!mark_peek"($I10) + rx1037_cur."!cursor_pos"($I11) + ($P10) = rx1037_cur."!cursor_start"() + $P10."!cursor_pass"(rx1037_pos, "") + rx1037_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1045_done - rxcap_1045_fail: - goto rx1040_fail - rxcap_1045_done: + goto rxcap_1042_done + rxcap_1042_fail: + goto rx1037_fail + rxcap_1042_done: # rx subrule "O" subtype=capture negate= - rx1040_cur."!cursor_pos"(rx1040_pos) - $P10 = rx1040_cur."O"("%autoincrement") - unless $P10, rx1040_fail - rx1040_cur."!mark_push"(0, -1, 0, $P10) + rx1037_cur."!cursor_pos"(rx1037_pos) + $P10 = rx1037_cur."O"("%autoincrement, :pirop") + unless $P10, rx1037_fail + rx1037_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1040_pos = $P10."pos"() + rx1037_pos = $P10."pos"() # rx pass - rx1040_cur."!cursor_pass"(rx1040_pos, "postfix:sym<++>") - rx1040_cur."!cursor_debug"("PASS ", "postfix:sym<++>", " at pos=", rx1040_pos) - .return (rx1040_cur) - rx1040_fail: -.annotate 'line', 446 - (rx1040_rep, rx1040_pos, $I10, $P10) = rx1040_cur."!mark_fail"(0) - lt rx1040_pos, -1, rx1040_done - eq rx1040_pos, -1, rx1040_fail + rx1037_cur."!cursor_pass"(rx1037_pos, "prefix:sym<++>") + rx1037_cur."!cursor_debug"("PASS ", "prefix:sym<++>", " at pos=", rx1037_pos) + .return (rx1037_cur) + rx1037_fail: +.annotate 'line', 447 + (rx1037_rep, rx1037_pos, $I10, $P10) = rx1037_cur."!mark_fail"(0) + lt rx1037_pos, -1, rx1037_done + eq rx1037_pos, -1, rx1037_fail jump $I10 - rx1040_done: - rx1040_cur."!cursor_fail"() - rx1040_cur."!cursor_debug"("FAIL ", "postfix:sym<++>") - .return (rx1040_cur) + rx1037_done: + rx1037_cur."!cursor_fail"() + rx1037_cur."!cursor_debug"("FAIL ", "prefix:sym<++>") + .return (rx1037_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postfix:sym<++>" :subid("257_1276996322.81157") :method -.annotate 'line', 446 - $P1042 = self."!PREFIX__!subrule"("O", "++") - new $P1043, "ResizablePMCArray" - push $P1043, $P1042 - .return ($P1043) +.sub "!PREFIX__prefix:sym<++>" :subid("255_1278500537.15927") :method +.annotate 'line', 447 + $P1039 = self."!PREFIX__!subrule"("O", "++") + new $P1040, "ResizablePMCArray" + push $P1040, $P1039 + .return ($P1040) .end .namespace ["NQP";"Grammar"] -.sub "postfix:sym<-->" :subid("258_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1047_tgt - .local int rx1047_pos - .local int rx1047_off - .local int rx1047_eos - .local int rx1047_rep - .local pmc rx1047_cur - (rx1047_cur, rx1047_pos, rx1047_tgt) = self."!cursor_start"() - rx1047_cur."!cursor_debug"("START ", "postfix:sym<-->") - .lex unicode:"$\x{a2}", rx1047_cur +.sub "prefix:sym<-->" :subid("256_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1044_tgt + .local int rx1044_pos + .local int rx1044_off + .local int rx1044_eos + .local int rx1044_rep + .local pmc rx1044_cur + (rx1044_cur, rx1044_pos, rx1044_tgt) = self."!cursor_start"() + rx1044_cur."!cursor_debug"("START ", "prefix:sym<-->") + .lex unicode:"$\x{a2}", rx1044_cur .local pmc match .lex "$/", match - length rx1047_eos, rx1047_tgt - gt rx1047_pos, rx1047_eos, rx1047_done - set rx1047_off, 0 - lt rx1047_pos, 2, rx1047_start - sub rx1047_off, rx1047_pos, 1 - substr rx1047_tgt, rx1047_tgt, rx1047_off - rx1047_start: + length rx1044_eos, rx1044_tgt + gt rx1044_pos, rx1044_eos, rx1044_done + set rx1044_off, 0 + lt rx1044_pos, 2, rx1044_start + sub rx1044_off, rx1044_pos, 1 + substr rx1044_tgt, rx1044_tgt, rx1044_off + rx1044_start: $I10 = self.'from'() - ne $I10, -1, rxscan1051_done - goto rxscan1051_scan - rxscan1051_loop: - ($P10) = rx1047_cur."from"() + ne $I10, -1, rxscan1048_done + goto rxscan1048_scan + rxscan1048_loop: + ($P10) = rx1044_cur."from"() inc $P10 - set rx1047_pos, $P10 - ge rx1047_pos, rx1047_eos, rxscan1051_done - rxscan1051_scan: - set_addr $I10, rxscan1051_loop - rx1047_cur."!mark_push"(0, rx1047_pos, $I10) - rxscan1051_done: -.annotate 'line', 495 + set rx1044_pos, $P10 + ge rx1044_pos, rx1044_eos, rxscan1048_done + rxscan1048_scan: + set_addr $I10, rxscan1048_loop + rx1044_cur."!mark_push"(0, rx1044_pos, $I10) + rxscan1048_done: +.annotate 'line', 492 # rx subcapture "sym" - set_addr $I10, rxcap_1052_fail - rx1047_cur."!mark_push"(0, rx1047_pos, $I10) + set_addr $I10, rxcap_1049_fail + rx1044_cur."!mark_push"(0, rx1044_pos, $I10) # rx literal "--" - add $I11, rx1047_pos, 2 - gt $I11, rx1047_eos, rx1047_fail - sub $I11, rx1047_pos, rx1047_off - substr $S10, rx1047_tgt, $I11, 2 - ne $S10, "--", rx1047_fail - add rx1047_pos, 2 - set_addr $I10, rxcap_1052_fail - ($I12, $I11) = rx1047_cur."!mark_peek"($I10) - rx1047_cur."!cursor_pos"($I11) - ($P10) = rx1047_cur."!cursor_start"() - $P10."!cursor_pass"(rx1047_pos, "") - rx1047_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx1044_pos, 2 + gt $I11, rx1044_eos, rx1044_fail + sub $I11, rx1044_pos, rx1044_off + substr $S10, rx1044_tgt, $I11, 2 + ne $S10, "--", rx1044_fail + add rx1044_pos, 2 + set_addr $I10, rxcap_1049_fail + ($I12, $I11) = rx1044_cur."!mark_peek"($I10) + rx1044_cur."!cursor_pos"($I11) + ($P10) = rx1044_cur."!cursor_start"() + $P10."!cursor_pass"(rx1044_pos, "") + rx1044_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1052_done - rxcap_1052_fail: - goto rx1047_fail - rxcap_1052_done: + goto rxcap_1049_done + rxcap_1049_fail: + goto rx1044_fail + rxcap_1049_done: # rx subrule "O" subtype=capture negate= - rx1047_cur."!cursor_pos"(rx1047_pos) - $P10 = rx1047_cur."O"("%autoincrement") - unless $P10, rx1047_fail - rx1047_cur."!mark_push"(0, -1, 0, $P10) + rx1044_cur."!cursor_pos"(rx1044_pos) + $P10 = rx1044_cur."O"("%autoincrement, :pirop") + unless $P10, rx1044_fail + rx1044_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1047_pos = $P10."pos"() + rx1044_pos = $P10."pos"() # rx pass - rx1047_cur."!cursor_pass"(rx1047_pos, "postfix:sym<-->") - rx1047_cur."!cursor_debug"("PASS ", "postfix:sym<-->", " at pos=", rx1047_pos) - .return (rx1047_cur) - rx1047_fail: -.annotate 'line', 446 - (rx1047_rep, rx1047_pos, $I10, $P10) = rx1047_cur."!mark_fail"(0) - lt rx1047_pos, -1, rx1047_done - eq rx1047_pos, -1, rx1047_fail + rx1044_cur."!cursor_pass"(rx1044_pos, "prefix:sym<-->") + rx1044_cur."!cursor_debug"("PASS ", "prefix:sym<-->", " at pos=", rx1044_pos) + .return (rx1044_cur) + rx1044_fail: +.annotate 'line', 447 + (rx1044_rep, rx1044_pos, $I10, $P10) = rx1044_cur."!mark_fail"(0) + lt rx1044_pos, -1, rx1044_done + eq rx1044_pos, -1, rx1044_fail jump $I10 - rx1047_done: - rx1047_cur."!cursor_fail"() - rx1047_cur."!cursor_debug"("FAIL ", "postfix:sym<-->") - .return (rx1047_cur) + rx1044_done: + rx1044_cur."!cursor_fail"() + rx1044_cur."!cursor_debug"("FAIL ", "prefix:sym<-->") + .return (rx1044_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__postfix:sym<-->" :subid("259_1276996322.81157") :method -.annotate 'line', 446 - $P1049 = self."!PREFIX__!subrule"("O", "--") - new $P1050, "ResizablePMCArray" - push $P1050, $P1049 - .return ($P1050) +.sub "!PREFIX__prefix:sym<-->" :subid("257_1278500537.15927") :method +.annotate 'line', 447 + $P1046 = self."!PREFIX__!subrule"("O", "--") + new $P1047, "ResizablePMCArray" + push $P1047, $P1046 + .return ($P1047) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<**>" :subid("260_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1054_tgt - .local int rx1054_pos - .local int rx1054_off - .local int rx1054_eos - .local int rx1054_rep - .local pmc rx1054_cur - (rx1054_cur, rx1054_pos, rx1054_tgt) = self."!cursor_start"() - rx1054_cur."!cursor_debug"("START ", "infix:sym<**>") - .lex unicode:"$\x{a2}", rx1054_cur +.sub "postfix:sym<++>" :subid("258_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1051_tgt + .local int rx1051_pos + .local int rx1051_off + .local int rx1051_eos + .local int rx1051_rep + .local pmc rx1051_cur + (rx1051_cur, rx1051_pos, rx1051_tgt) = self."!cursor_start"() + rx1051_cur."!cursor_debug"("START ", "postfix:sym<++>") + .lex unicode:"$\x{a2}", rx1051_cur .local pmc match .lex "$/", match - length rx1054_eos, rx1054_tgt - gt rx1054_pos, rx1054_eos, rx1054_done - set rx1054_off, 0 - lt rx1054_pos, 2, rx1054_start - sub rx1054_off, rx1054_pos, 1 - substr rx1054_tgt, rx1054_tgt, rx1054_off - rx1054_start: + length rx1051_eos, rx1051_tgt + gt rx1051_pos, rx1051_eos, rx1051_done + set rx1051_off, 0 + lt rx1051_pos, 2, rx1051_start + sub rx1051_off, rx1051_pos, 1 + substr rx1051_tgt, rx1051_tgt, rx1051_off + rx1051_start: $I10 = self.'from'() - ne $I10, -1, rxscan1058_done - goto rxscan1058_scan - rxscan1058_loop: - ($P10) = rx1054_cur."from"() + ne $I10, -1, rxscan1055_done + goto rxscan1055_scan + rxscan1055_loop: + ($P10) = rx1051_cur."from"() inc $P10 - set rx1054_pos, $P10 - ge rx1054_pos, rx1054_eos, rxscan1058_done - rxscan1058_scan: - set_addr $I10, rxscan1058_loop - rx1054_cur."!mark_push"(0, rx1054_pos, $I10) - rxscan1058_done: -.annotate 'line', 497 + set rx1051_pos, $P10 + ge rx1051_pos, rx1051_eos, rxscan1055_done + rxscan1055_scan: + set_addr $I10, rxscan1055_loop + rx1051_cur."!mark_push"(0, rx1051_pos, $I10) + rxscan1055_done: +.annotate 'line', 495 # rx subcapture "sym" - set_addr $I10, rxcap_1059_fail - rx1054_cur."!mark_push"(0, rx1054_pos, $I10) - # rx literal "**" - add $I11, rx1054_pos, 2 - gt $I11, rx1054_eos, rx1054_fail - sub $I11, rx1054_pos, rx1054_off - substr $S10, rx1054_tgt, $I11, 2 - ne $S10, "**", rx1054_fail - add rx1054_pos, 2 - set_addr $I10, rxcap_1059_fail - ($I12, $I11) = rx1054_cur."!mark_peek"($I10) - rx1054_cur."!cursor_pos"($I11) - ($P10) = rx1054_cur."!cursor_start"() - $P10."!cursor_pass"(rx1054_pos, "") - rx1054_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1056_fail + rx1051_cur."!mark_push"(0, rx1051_pos, $I10) + # rx literal "++" + add $I11, rx1051_pos, 2 + gt $I11, rx1051_eos, rx1051_fail + sub $I11, rx1051_pos, rx1051_off + substr $S10, rx1051_tgt, $I11, 2 + ne $S10, "++", rx1051_fail + add rx1051_pos, 2 + set_addr $I10, rxcap_1056_fail + ($I12, $I11) = rx1051_cur."!mark_peek"($I10) + rx1051_cur."!cursor_pos"($I11) + ($P10) = rx1051_cur."!cursor_start"() + $P10."!cursor_pass"(rx1051_pos, "") + rx1051_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1059_done - rxcap_1059_fail: - goto rx1054_fail - rxcap_1059_done: + goto rxcap_1056_done + rxcap_1056_fail: + goto rx1051_fail + rxcap_1056_done: # rx subrule "O" subtype=capture negate= - rx1054_cur."!cursor_pos"(rx1054_pos) - $P10 = rx1054_cur."O"("%exponentiation, :pirop") - unless $P10, rx1054_fail - rx1054_cur."!mark_push"(0, -1, 0, $P10) + rx1051_cur."!cursor_pos"(rx1051_pos) + $P10 = rx1051_cur."O"("%autoincrement") + unless $P10, rx1051_fail + rx1051_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1054_pos = $P10."pos"() + rx1051_pos = $P10."pos"() # rx pass - rx1054_cur."!cursor_pass"(rx1054_pos, "infix:sym<**>") - rx1054_cur."!cursor_debug"("PASS ", "infix:sym<**>", " at pos=", rx1054_pos) - .return (rx1054_cur) - rx1054_fail: -.annotate 'line', 446 - (rx1054_rep, rx1054_pos, $I10, $P10) = rx1054_cur."!mark_fail"(0) - lt rx1054_pos, -1, rx1054_done - eq rx1054_pos, -1, rx1054_fail + rx1051_cur."!cursor_pass"(rx1051_pos, "postfix:sym<++>") + rx1051_cur."!cursor_debug"("PASS ", "postfix:sym<++>", " at pos=", rx1051_pos) + .return (rx1051_cur) + rx1051_fail: +.annotate 'line', 447 + (rx1051_rep, rx1051_pos, $I10, $P10) = rx1051_cur."!mark_fail"(0) + lt rx1051_pos, -1, rx1051_done + eq rx1051_pos, -1, rx1051_fail jump $I10 - rx1054_done: - rx1054_cur."!cursor_fail"() - rx1054_cur."!cursor_debug"("FAIL ", "infix:sym<**>") - .return (rx1054_cur) + rx1051_done: + rx1051_cur."!cursor_fail"() + rx1051_cur."!cursor_debug"("FAIL ", "postfix:sym<++>") + .return (rx1051_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<**>" :subid("261_1276996322.81157") :method -.annotate 'line', 446 - $P1056 = self."!PREFIX__!subrule"("O", "**") - new $P1057, "ResizablePMCArray" - push $P1057, $P1056 - .return ($P1057) +.sub "!PREFIX__postfix:sym<++>" :subid("259_1278500537.15927") :method +.annotate 'line', 447 + $P1053 = self."!PREFIX__!subrule"("O", "++") + new $P1054, "ResizablePMCArray" + push $P1054, $P1053 + .return ($P1054) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<+>" :subid("262_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1061_tgt - .local int rx1061_pos - .local int rx1061_off - .local int rx1061_eos - .local int rx1061_rep - .local pmc rx1061_cur - (rx1061_cur, rx1061_pos, rx1061_tgt) = self."!cursor_start"() - rx1061_cur."!cursor_debug"("START ", "prefix:sym<+>") - .lex unicode:"$\x{a2}", rx1061_cur +.sub "postfix:sym<-->" :subid("260_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1058_tgt + .local int rx1058_pos + .local int rx1058_off + .local int rx1058_eos + .local int rx1058_rep + .local pmc rx1058_cur + (rx1058_cur, rx1058_pos, rx1058_tgt) = self."!cursor_start"() + rx1058_cur."!cursor_debug"("START ", "postfix:sym<-->") + .lex unicode:"$\x{a2}", rx1058_cur .local pmc match .lex "$/", match - length rx1061_eos, rx1061_tgt - gt rx1061_pos, rx1061_eos, rx1061_done - set rx1061_off, 0 - lt rx1061_pos, 2, rx1061_start - sub rx1061_off, rx1061_pos, 1 - substr rx1061_tgt, rx1061_tgt, rx1061_off - rx1061_start: + length rx1058_eos, rx1058_tgt + gt rx1058_pos, rx1058_eos, rx1058_done + set rx1058_off, 0 + lt rx1058_pos, 2, rx1058_start + sub rx1058_off, rx1058_pos, 1 + substr rx1058_tgt, rx1058_tgt, rx1058_off + rx1058_start: $I10 = self.'from'() - ne $I10, -1, rxscan1065_done - goto rxscan1065_scan - rxscan1065_loop: - ($P10) = rx1061_cur."from"() + ne $I10, -1, rxscan1062_done + goto rxscan1062_scan + rxscan1062_loop: + ($P10) = rx1058_cur."from"() inc $P10 - set rx1061_pos, $P10 - ge rx1061_pos, rx1061_eos, rxscan1065_done - rxscan1065_scan: - set_addr $I10, rxscan1065_loop - rx1061_cur."!mark_push"(0, rx1061_pos, $I10) - rxscan1065_done: -.annotate 'line', 499 + set rx1058_pos, $P10 + ge rx1058_pos, rx1058_eos, rxscan1062_done + rxscan1062_scan: + set_addr $I10, rxscan1062_loop + rx1058_cur."!mark_push"(0, rx1058_pos, $I10) + rxscan1062_done: +.annotate 'line', 496 # rx subcapture "sym" - set_addr $I10, rxcap_1066_fail - rx1061_cur."!mark_push"(0, rx1061_pos, $I10) - # rx literal "+" - add $I11, rx1061_pos, 1 - gt $I11, rx1061_eos, rx1061_fail - sub $I11, rx1061_pos, rx1061_off - substr $S10, rx1061_tgt, $I11, 1 - ne $S10, "+", rx1061_fail - add rx1061_pos, 1 - set_addr $I10, rxcap_1066_fail - ($I12, $I11) = rx1061_cur."!mark_peek"($I10) - rx1061_cur."!cursor_pos"($I11) - ($P10) = rx1061_cur."!cursor_start"() - $P10."!cursor_pass"(rx1061_pos, "") - rx1061_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1063_fail + rx1058_cur."!mark_push"(0, rx1058_pos, $I10) + # rx literal "--" + add $I11, rx1058_pos, 2 + gt $I11, rx1058_eos, rx1058_fail + sub $I11, rx1058_pos, rx1058_off + substr $S10, rx1058_tgt, $I11, 2 + ne $S10, "--", rx1058_fail + add rx1058_pos, 2 + set_addr $I10, rxcap_1063_fail + ($I12, $I11) = rx1058_cur."!mark_peek"($I10) + rx1058_cur."!cursor_pos"($I11) + ($P10) = rx1058_cur."!cursor_start"() + $P10."!cursor_pass"(rx1058_pos, "") + rx1058_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1066_done - rxcap_1066_fail: - goto rx1061_fail - rxcap_1066_done: + goto rxcap_1063_done + rxcap_1063_fail: + goto rx1058_fail + rxcap_1063_done: # rx subrule "O" subtype=capture negate= - rx1061_cur."!cursor_pos"(rx1061_pos) - $P10 = rx1061_cur."O"("%symbolic_unary, :pirop") - unless $P10, rx1061_fail - rx1061_cur."!mark_push"(0, -1, 0, $P10) + rx1058_cur."!cursor_pos"(rx1058_pos) + $P10 = rx1058_cur."O"("%autoincrement") + unless $P10, rx1058_fail + rx1058_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1061_pos = $P10."pos"() + rx1058_pos = $P10."pos"() # rx pass - rx1061_cur."!cursor_pass"(rx1061_pos, "prefix:sym<+>") - rx1061_cur."!cursor_debug"("PASS ", "prefix:sym<+>", " at pos=", rx1061_pos) - .return (rx1061_cur) - rx1061_fail: -.annotate 'line', 446 - (rx1061_rep, rx1061_pos, $I10, $P10) = rx1061_cur."!mark_fail"(0) - lt rx1061_pos, -1, rx1061_done - eq rx1061_pos, -1, rx1061_fail + rx1058_cur."!cursor_pass"(rx1058_pos, "postfix:sym<-->") + rx1058_cur."!cursor_debug"("PASS ", "postfix:sym<-->", " at pos=", rx1058_pos) + .return (rx1058_cur) + rx1058_fail: +.annotate 'line', 447 + (rx1058_rep, rx1058_pos, $I10, $P10) = rx1058_cur."!mark_fail"(0) + lt rx1058_pos, -1, rx1058_done + eq rx1058_pos, -1, rx1058_fail jump $I10 - rx1061_done: - rx1061_cur."!cursor_fail"() - rx1061_cur."!cursor_debug"("FAIL ", "prefix:sym<+>") - .return (rx1061_cur) + rx1058_done: + rx1058_cur."!cursor_fail"() + rx1058_cur."!cursor_debug"("FAIL ", "postfix:sym<-->") + .return (rx1058_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<+>" :subid("263_1276996322.81157") :method -.annotate 'line', 446 - $P1063 = self."!PREFIX__!subrule"("O", "+") - new $P1064, "ResizablePMCArray" - push $P1064, $P1063 - .return ($P1064) +.sub "!PREFIX__postfix:sym<-->" :subid("261_1278500537.15927") :method +.annotate 'line', 447 + $P1060 = self."!PREFIX__!subrule"("O", "--") + new $P1061, "ResizablePMCArray" + push $P1061, $P1060 + .return ($P1061) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<~>" :subid("264_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1068_tgt - .local int rx1068_pos - .local int rx1068_off - .local int rx1068_eos - .local int rx1068_rep - .local pmc rx1068_cur - (rx1068_cur, rx1068_pos, rx1068_tgt) = self."!cursor_start"() - rx1068_cur."!cursor_debug"("START ", "prefix:sym<~>") - .lex unicode:"$\x{a2}", rx1068_cur +.sub "infix:sym<**>" :subid("262_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1065_tgt + .local int rx1065_pos + .local int rx1065_off + .local int rx1065_eos + .local int rx1065_rep + .local pmc rx1065_cur + (rx1065_cur, rx1065_pos, rx1065_tgt) = self."!cursor_start"() + rx1065_cur."!cursor_debug"("START ", "infix:sym<**>") + .lex unicode:"$\x{a2}", rx1065_cur .local pmc match .lex "$/", match - length rx1068_eos, rx1068_tgt - gt rx1068_pos, rx1068_eos, rx1068_done - set rx1068_off, 0 - lt rx1068_pos, 2, rx1068_start - sub rx1068_off, rx1068_pos, 1 - substr rx1068_tgt, rx1068_tgt, rx1068_off - rx1068_start: + length rx1065_eos, rx1065_tgt + gt rx1065_pos, rx1065_eos, rx1065_done + set rx1065_off, 0 + lt rx1065_pos, 2, rx1065_start + sub rx1065_off, rx1065_pos, 1 + substr rx1065_tgt, rx1065_tgt, rx1065_off + rx1065_start: $I10 = self.'from'() - ne $I10, -1, rxscan1072_done - goto rxscan1072_scan - rxscan1072_loop: - ($P10) = rx1068_cur."from"() + ne $I10, -1, rxscan1069_done + goto rxscan1069_scan + rxscan1069_loop: + ($P10) = rx1065_cur."from"() inc $P10 - set rx1068_pos, $P10 - ge rx1068_pos, rx1068_eos, rxscan1072_done - rxscan1072_scan: - set_addr $I10, rxscan1072_loop - rx1068_cur."!mark_push"(0, rx1068_pos, $I10) - rxscan1072_done: -.annotate 'line', 500 + set rx1065_pos, $P10 + ge rx1065_pos, rx1065_eos, rxscan1069_done + rxscan1069_scan: + set_addr $I10, rxscan1069_loop + rx1065_cur."!mark_push"(0, rx1065_pos, $I10) + rxscan1069_done: +.annotate 'line', 498 # rx subcapture "sym" - set_addr $I10, rxcap_1073_fail - rx1068_cur."!mark_push"(0, rx1068_pos, $I10) - # rx literal "~" - add $I11, rx1068_pos, 1 - gt $I11, rx1068_eos, rx1068_fail - sub $I11, rx1068_pos, rx1068_off - substr $S10, rx1068_tgt, $I11, 1 - ne $S10, "~", rx1068_fail - add rx1068_pos, 1 - set_addr $I10, rxcap_1073_fail - ($I12, $I11) = rx1068_cur."!mark_peek"($I10) - rx1068_cur."!cursor_pos"($I11) - ($P10) = rx1068_cur."!cursor_start"() - $P10."!cursor_pass"(rx1068_pos, "") - rx1068_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1070_fail + rx1065_cur."!mark_push"(0, rx1065_pos, $I10) + # rx literal "**" + add $I11, rx1065_pos, 2 + gt $I11, rx1065_eos, rx1065_fail + sub $I11, rx1065_pos, rx1065_off + substr $S10, rx1065_tgt, $I11, 2 + ne $S10, "**", rx1065_fail + add rx1065_pos, 2 + set_addr $I10, rxcap_1070_fail + ($I12, $I11) = rx1065_cur."!mark_peek"($I10) + rx1065_cur."!cursor_pos"($I11) + ($P10) = rx1065_cur."!cursor_start"() + $P10."!cursor_pass"(rx1065_pos, "") + rx1065_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1073_done - rxcap_1073_fail: - goto rx1068_fail - rxcap_1073_done: + goto rxcap_1070_done + rxcap_1070_fail: + goto rx1065_fail + rxcap_1070_done: # rx subrule "O" subtype=capture negate= - rx1068_cur."!cursor_pos"(rx1068_pos) - $P10 = rx1068_cur."O"("%symbolic_unary, :pirop") - unless $P10, rx1068_fail - rx1068_cur."!mark_push"(0, -1, 0, $P10) + rx1065_cur."!cursor_pos"(rx1065_pos) + $P10 = rx1065_cur."O"("%exponentiation, :pirop") + unless $P10, rx1065_fail + rx1065_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1068_pos = $P10."pos"() + rx1065_pos = $P10."pos"() # rx pass - rx1068_cur."!cursor_pass"(rx1068_pos, "prefix:sym<~>") - rx1068_cur."!cursor_debug"("PASS ", "prefix:sym<~>", " at pos=", rx1068_pos) - .return (rx1068_cur) - rx1068_fail: -.annotate 'line', 446 - (rx1068_rep, rx1068_pos, $I10, $P10) = rx1068_cur."!mark_fail"(0) - lt rx1068_pos, -1, rx1068_done - eq rx1068_pos, -1, rx1068_fail + rx1065_cur."!cursor_pass"(rx1065_pos, "infix:sym<**>") + rx1065_cur."!cursor_debug"("PASS ", "infix:sym<**>", " at pos=", rx1065_pos) + .return (rx1065_cur) + rx1065_fail: +.annotate 'line', 447 + (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0) + lt rx1065_pos, -1, rx1065_done + eq rx1065_pos, -1, rx1065_fail jump $I10 - rx1068_done: - rx1068_cur."!cursor_fail"() - rx1068_cur."!cursor_debug"("FAIL ", "prefix:sym<~>") - .return (rx1068_cur) + rx1065_done: + rx1065_cur."!cursor_fail"() + rx1065_cur."!cursor_debug"("FAIL ", "infix:sym<**>") + .return (rx1065_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<~>" :subid("265_1276996322.81157") :method -.annotate 'line', 446 - $P1070 = self."!PREFIX__!subrule"("O", "~") - new $P1071, "ResizablePMCArray" - push $P1071, $P1070 - .return ($P1071) +.sub "!PREFIX__infix:sym<**>" :subid("263_1278500537.15927") :method +.annotate 'line', 447 + $P1067 = self."!PREFIX__!subrule"("O", "**") + new $P1068, "ResizablePMCArray" + push $P1068, $P1067 + .return ($P1068) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<->" :subid("266_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1075_tgt - .local int rx1075_pos - .local int rx1075_off - .local int rx1075_eos - .local int rx1075_rep - .local pmc rx1075_cur - (rx1075_cur, rx1075_pos, rx1075_tgt) = self."!cursor_start"() - rx1075_cur."!cursor_debug"("START ", "prefix:sym<->") - .lex unicode:"$\x{a2}", rx1075_cur +.sub "prefix:sym<+>" :subid("264_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1072_tgt + .local int rx1072_pos + .local int rx1072_off + .local int rx1072_eos + .local int rx1072_rep + .local pmc rx1072_cur + (rx1072_cur, rx1072_pos, rx1072_tgt) = self."!cursor_start"() + rx1072_cur."!cursor_debug"("START ", "prefix:sym<+>") + .lex unicode:"$\x{a2}", rx1072_cur .local pmc match .lex "$/", match - length rx1075_eos, rx1075_tgt - gt rx1075_pos, rx1075_eos, rx1075_done - set rx1075_off, 0 - lt rx1075_pos, 2, rx1075_start - sub rx1075_off, rx1075_pos, 1 - substr rx1075_tgt, rx1075_tgt, rx1075_off - rx1075_start: + length rx1072_eos, rx1072_tgt + gt rx1072_pos, rx1072_eos, rx1072_done + set rx1072_off, 0 + lt rx1072_pos, 2, rx1072_start + sub rx1072_off, rx1072_pos, 1 + substr rx1072_tgt, rx1072_tgt, rx1072_off + rx1072_start: $I10 = self.'from'() - ne $I10, -1, rxscan1078_done - goto rxscan1078_scan - rxscan1078_loop: - ($P10) = rx1075_cur."from"() + ne $I10, -1, rxscan1076_done + goto rxscan1076_scan + rxscan1076_loop: + ($P10) = rx1072_cur."from"() inc $P10 - set rx1075_pos, $P10 - ge rx1075_pos, rx1075_eos, rxscan1078_done - rxscan1078_scan: - set_addr $I10, rxscan1078_loop - rx1075_cur."!mark_push"(0, rx1075_pos, $I10) - rxscan1078_done: -.annotate 'line', 501 + set rx1072_pos, $P10 + ge rx1072_pos, rx1072_eos, rxscan1076_done + rxscan1076_scan: + set_addr $I10, rxscan1076_loop + rx1072_cur."!mark_push"(0, rx1072_pos, $I10) + rxscan1076_done: +.annotate 'line', 500 # rx subcapture "sym" - set_addr $I10, rxcap_1079_fail - rx1075_cur."!mark_push"(0, rx1075_pos, $I10) - # rx literal "-" - add $I11, rx1075_pos, 1 - gt $I11, rx1075_eos, rx1075_fail - sub $I11, rx1075_pos, rx1075_off - substr $S10, rx1075_tgt, $I11, 1 - ne $S10, "-", rx1075_fail - add rx1075_pos, 1 - set_addr $I10, rxcap_1079_fail - ($I12, $I11) = rx1075_cur."!mark_peek"($I10) - rx1075_cur."!cursor_pos"($I11) - ($P10) = rx1075_cur."!cursor_start"() - $P10."!cursor_pass"(rx1075_pos, "") - rx1075_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1077_fail + rx1072_cur."!mark_push"(0, rx1072_pos, $I10) + # rx literal "+" + add $I11, rx1072_pos, 1 + gt $I11, rx1072_eos, rx1072_fail + sub $I11, rx1072_pos, rx1072_off + substr $S10, rx1072_tgt, $I11, 1 + ne $S10, "+", rx1072_fail + add rx1072_pos, 1 + set_addr $I10, rxcap_1077_fail + ($I12, $I11) = rx1072_cur."!mark_peek"($I10) + rx1072_cur."!cursor_pos"($I11) + ($P10) = rx1072_cur."!cursor_start"() + $P10."!cursor_pass"(rx1072_pos, "") + rx1072_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1079_done - rxcap_1079_fail: - goto rx1075_fail - rxcap_1079_done: - # rx enumcharlist negate=1 zerowidth - ge rx1075_pos, rx1075_eos, rx1075_fail - sub $I10, rx1075_pos, rx1075_off - substr $S10, rx1075_tgt, $I10, 1 - index $I11, ">", $S10 - ge $I11, 0, rx1075_fail - # rx subrule "number" subtype=zerowidth negate=1 - rx1075_cur."!cursor_pos"(rx1075_pos) - $P10 = rx1075_cur."number"() - if $P10, rx1075_fail + goto rxcap_1077_done + rxcap_1077_fail: + goto rx1072_fail + rxcap_1077_done: # rx subrule "O" subtype=capture negate= - rx1075_cur."!cursor_pos"(rx1075_pos) - $P10 = rx1075_cur."O"("%symbolic_unary, :pirop") - unless $P10, rx1075_fail - rx1075_cur."!mark_push"(0, -1, 0, $P10) + rx1072_cur."!cursor_pos"(rx1072_pos) + $P10 = rx1072_cur."O"("%symbolic_unary, :pirop") + unless $P10, rx1072_fail + rx1072_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1075_pos = $P10."pos"() + rx1072_pos = $P10."pos"() # rx pass - rx1075_cur."!cursor_pass"(rx1075_pos, "prefix:sym<->") - rx1075_cur."!cursor_debug"("PASS ", "prefix:sym<->", " at pos=", rx1075_pos) - .return (rx1075_cur) - rx1075_fail: -.annotate 'line', 446 - (rx1075_rep, rx1075_pos, $I10, $P10) = rx1075_cur."!mark_fail"(0) - lt rx1075_pos, -1, rx1075_done - eq rx1075_pos, -1, rx1075_fail + rx1072_cur."!cursor_pass"(rx1072_pos, "prefix:sym<+>") + rx1072_cur."!cursor_debug"("PASS ", "prefix:sym<+>", " at pos=", rx1072_pos) + .return (rx1072_cur) + rx1072_fail: +.annotate 'line', 447 + (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0) + lt rx1072_pos, -1, rx1072_done + eq rx1072_pos, -1, rx1072_fail jump $I10 - rx1075_done: - rx1075_cur."!cursor_fail"() - rx1075_cur."!cursor_debug"("FAIL ", "prefix:sym<->") - .return (rx1075_cur) + rx1072_done: + rx1072_cur."!cursor_fail"() + rx1072_cur."!cursor_debug"("FAIL ", "prefix:sym<+>") + .return (rx1072_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<->" :subid("267_1276996322.81157") :method -.annotate 'line', 446 - new $P1077, "ResizablePMCArray" - push $P1077, "-" - .return ($P1077) +.sub "!PREFIX__prefix:sym<+>" :subid("265_1278500537.15927") :method +.annotate 'line', 447 + $P1074 = self."!PREFIX__!subrule"("O", "+") + new $P1075, "ResizablePMCArray" + push $P1075, $P1074 + .return ($P1075) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym" :subid("268_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1081_tgt - .local int rx1081_pos - .local int rx1081_off - .local int rx1081_eos - .local int rx1081_rep - .local pmc rx1081_cur - (rx1081_cur, rx1081_pos, rx1081_tgt) = self."!cursor_start"() - rx1081_cur."!cursor_debug"("START ", "prefix:sym") - .lex unicode:"$\x{a2}", rx1081_cur +.sub "prefix:sym<~>" :subid("266_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1079_tgt + .local int rx1079_pos + .local int rx1079_off + .local int rx1079_eos + .local int rx1079_rep + .local pmc rx1079_cur + (rx1079_cur, rx1079_pos, rx1079_tgt) = self."!cursor_start"() + rx1079_cur."!cursor_debug"("START ", "prefix:sym<~>") + .lex unicode:"$\x{a2}", rx1079_cur .local pmc match .lex "$/", match - length rx1081_eos, rx1081_tgt - gt rx1081_pos, rx1081_eos, rx1081_done - set rx1081_off, 0 - lt rx1081_pos, 2, rx1081_start - sub rx1081_off, rx1081_pos, 1 - substr rx1081_tgt, rx1081_tgt, rx1081_off - rx1081_start: + length rx1079_eos, rx1079_tgt + gt rx1079_pos, rx1079_eos, rx1079_done + set rx1079_off, 0 + lt rx1079_pos, 2, rx1079_start + sub rx1079_off, rx1079_pos, 1 + substr rx1079_tgt, rx1079_tgt, rx1079_off + rx1079_start: $I10 = self.'from'() - ne $I10, -1, rxscan1085_done - goto rxscan1085_scan - rxscan1085_loop: - ($P10) = rx1081_cur."from"() + ne $I10, -1, rxscan1083_done + goto rxscan1083_scan + rxscan1083_loop: + ($P10) = rx1079_cur."from"() inc $P10 - set rx1081_pos, $P10 - ge rx1081_pos, rx1081_eos, rxscan1085_done - rxscan1085_scan: - set_addr $I10, rxscan1085_loop - rx1081_cur."!mark_push"(0, rx1081_pos, $I10) - rxscan1085_done: -.annotate 'line', 502 + set rx1079_pos, $P10 + ge rx1079_pos, rx1079_eos, rxscan1083_done + rxscan1083_scan: + set_addr $I10, rxscan1083_loop + rx1079_cur."!mark_push"(0, rx1079_pos, $I10) + rxscan1083_done: +.annotate 'line', 501 # rx subcapture "sym" - set_addr $I10, rxcap_1086_fail - rx1081_cur."!mark_push"(0, rx1081_pos, $I10) - # rx literal "?" - add $I11, rx1081_pos, 1 - gt $I11, rx1081_eos, rx1081_fail - sub $I11, rx1081_pos, rx1081_off - substr $S10, rx1081_tgt, $I11, 1 - ne $S10, "?", rx1081_fail - add rx1081_pos, 1 - set_addr $I10, rxcap_1086_fail - ($I12, $I11) = rx1081_cur."!mark_peek"($I10) - rx1081_cur."!cursor_pos"($I11) - ($P10) = rx1081_cur."!cursor_start"() - $P10."!cursor_pass"(rx1081_pos, "") - rx1081_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1084_fail + rx1079_cur."!mark_push"(0, rx1079_pos, $I10) + # rx literal "~" + add $I11, rx1079_pos, 1 + gt $I11, rx1079_eos, rx1079_fail + sub $I11, rx1079_pos, rx1079_off + substr $S10, rx1079_tgt, $I11, 1 + ne $S10, "~", rx1079_fail + add rx1079_pos, 1 + set_addr $I10, rxcap_1084_fail + ($I12, $I11) = rx1079_cur."!mark_peek"($I10) + rx1079_cur."!cursor_pos"($I11) + ($P10) = rx1079_cur."!cursor_start"() + $P10."!cursor_pass"(rx1079_pos, "") + rx1079_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1086_done - rxcap_1086_fail: - goto rx1081_fail - rxcap_1086_done: + goto rxcap_1084_done + rxcap_1084_fail: + goto rx1079_fail + rxcap_1084_done: # rx subrule "O" subtype=capture negate= - rx1081_cur."!cursor_pos"(rx1081_pos) - $P10 = rx1081_cur."O"("%symbolic_unary, :pirop") - unless $P10, rx1081_fail - rx1081_cur."!mark_push"(0, -1, 0, $P10) + rx1079_cur."!cursor_pos"(rx1079_pos) + $P10 = rx1079_cur."O"("%symbolic_unary, :pirop") + unless $P10, rx1079_fail + rx1079_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1081_pos = $P10."pos"() + rx1079_pos = $P10."pos"() # rx pass - rx1081_cur."!cursor_pass"(rx1081_pos, "prefix:sym") - rx1081_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1081_pos) - .return (rx1081_cur) - rx1081_fail: -.annotate 'line', 446 - (rx1081_rep, rx1081_pos, $I10, $P10) = rx1081_cur."!mark_fail"(0) - lt rx1081_pos, -1, rx1081_done - eq rx1081_pos, -1, rx1081_fail + rx1079_cur."!cursor_pass"(rx1079_pos, "prefix:sym<~>") + rx1079_cur."!cursor_debug"("PASS ", "prefix:sym<~>", " at pos=", rx1079_pos) + .return (rx1079_cur) + rx1079_fail: +.annotate 'line', 447 + (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0) + lt rx1079_pos, -1, rx1079_done + eq rx1079_pos, -1, rx1079_fail jump $I10 - rx1081_done: - rx1081_cur."!cursor_fail"() - rx1081_cur."!cursor_debug"("FAIL ", "prefix:sym") - .return (rx1081_cur) + rx1079_done: + rx1079_cur."!cursor_fail"() + rx1079_cur."!cursor_debug"("FAIL ", "prefix:sym<~>") + .return (rx1079_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym" :subid("269_1276996322.81157") :method -.annotate 'line', 446 - $P1083 = self."!PREFIX__!subrule"("O", "?") - new $P1084, "ResizablePMCArray" - push $P1084, $P1083 - .return ($P1084) +.sub "!PREFIX__prefix:sym<~>" :subid("267_1278500537.15927") :method +.annotate 'line', 447 + $P1081 = self."!PREFIX__!subrule"("O", "~") + new $P1082, "ResizablePMCArray" + push $P1082, $P1081 + .return ($P1082) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym" :subid("270_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1088_tgt - .local int rx1088_pos - .local int rx1088_off - .local int rx1088_eos - .local int rx1088_rep - .local pmc rx1088_cur - (rx1088_cur, rx1088_pos, rx1088_tgt) = self."!cursor_start"() - rx1088_cur."!cursor_debug"("START ", "prefix:sym") - .lex unicode:"$\x{a2}", rx1088_cur +.sub "prefix:sym<->" :subid("268_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1086_tgt + .local int rx1086_pos + .local int rx1086_off + .local int rx1086_eos + .local int rx1086_rep + .local pmc rx1086_cur + (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"() + rx1086_cur."!cursor_debug"("START ", "prefix:sym<->") + .lex unicode:"$\x{a2}", rx1086_cur + .local pmc match + .lex "$/", match + length rx1086_eos, rx1086_tgt + gt rx1086_pos, rx1086_eos, rx1086_done + set rx1086_off, 0 + lt rx1086_pos, 2, rx1086_start + sub rx1086_off, rx1086_pos, 1 + substr rx1086_tgt, rx1086_tgt, rx1086_off + rx1086_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1089_done + goto rxscan1089_scan + rxscan1089_loop: + ($P10) = rx1086_cur."from"() + inc $P10 + set rx1086_pos, $P10 + ge rx1086_pos, rx1086_eos, rxscan1089_done + rxscan1089_scan: + set_addr $I10, rxscan1089_loop + rx1086_cur."!mark_push"(0, rx1086_pos, $I10) + rxscan1089_done: +.annotate 'line', 502 + # rx subcapture "sym" + set_addr $I10, rxcap_1090_fail + rx1086_cur."!mark_push"(0, rx1086_pos, $I10) + # rx literal "-" + add $I11, rx1086_pos, 1 + gt $I11, rx1086_eos, rx1086_fail + sub $I11, rx1086_pos, rx1086_off + substr $S10, rx1086_tgt, $I11, 1 + ne $S10, "-", rx1086_fail + add rx1086_pos, 1 + set_addr $I10, rxcap_1090_fail + ($I12, $I11) = rx1086_cur."!mark_peek"($I10) + rx1086_cur."!cursor_pos"($I11) + ($P10) = rx1086_cur."!cursor_start"() + $P10."!cursor_pass"(rx1086_pos, "") + rx1086_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1090_done + rxcap_1090_fail: + goto rx1086_fail + rxcap_1090_done: + # rx enumcharlist negate=1 zerowidth + ge rx1086_pos, rx1086_eos, rx1086_fail + sub $I10, rx1086_pos, rx1086_off + substr $S10, rx1086_tgt, $I10, 1 + index $I11, ">", $S10 + ge $I11, 0, rx1086_fail + # rx subrule "number" subtype=zerowidth negate=1 + rx1086_cur."!cursor_pos"(rx1086_pos) + $P10 = rx1086_cur."number"() + if $P10, rx1086_fail + # rx subrule "O" subtype=capture negate= + rx1086_cur."!cursor_pos"(rx1086_pos) + $P10 = rx1086_cur."O"("%symbolic_unary, :pirop") + unless $P10, rx1086_fail + rx1086_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1086_pos = $P10."pos"() + # rx pass + rx1086_cur."!cursor_pass"(rx1086_pos, "prefix:sym<->") + rx1086_cur."!cursor_debug"("PASS ", "prefix:sym<->", " at pos=", rx1086_pos) + .return (rx1086_cur) + rx1086_fail: +.annotate 'line', 447 + (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0) + lt rx1086_pos, -1, rx1086_done + eq rx1086_pos, -1, rx1086_fail + jump $I10 + rx1086_done: + rx1086_cur."!cursor_fail"() + rx1086_cur."!cursor_debug"("FAIL ", "prefix:sym<->") + .return (rx1086_cur) + .return () +.end + + +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__prefix:sym<->" :subid("269_1278500537.15927") :method +.annotate 'line', 447 + new $P1088, "ResizablePMCArray" + push $P1088, "-" + .return ($P1088) +.end + + +.namespace ["NQP";"Grammar"] +.sub "prefix:sym" :subid("270_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 ", "prefix:sym") + .lex unicode:"$\x{a2}", rx1092_cur .local pmc match .lex "$/", match - length rx1088_eos, rx1088_tgt - gt rx1088_pos, rx1088_eos, rx1088_done - set rx1088_off, 0 - lt rx1088_pos, 2, rx1088_start - sub rx1088_off, rx1088_pos, 1 - substr rx1088_tgt, rx1088_tgt, rx1088_off - rx1088_start: + length rx1092_eos, rx1092_tgt + gt rx1092_pos, rx1092_eos, rx1092_done + 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, rxscan1092_done - goto rxscan1092_scan - rxscan1092_loop: - ($P10) = rx1088_cur."from"() + ne $I10, -1, rxscan1096_done + goto rxscan1096_scan + rxscan1096_loop: + ($P10) = rx1092_cur."from"() inc $P10 - set rx1088_pos, $P10 - ge rx1088_pos, rx1088_eos, rxscan1092_done - rxscan1092_scan: - set_addr $I10, rxscan1092_loop - rx1088_cur."!mark_push"(0, rx1088_pos, $I10) - rxscan1092_done: + 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', 503 # rx subcapture "sym" - set_addr $I10, rxcap_1093_fail - rx1088_cur."!mark_push"(0, rx1088_pos, $I10) - # rx literal "!" - add $I11, rx1088_pos, 1 - gt $I11, rx1088_eos, rx1088_fail - sub $I11, rx1088_pos, rx1088_off - substr $S10, rx1088_tgt, $I11, 1 - ne $S10, "!", rx1088_fail - add rx1088_pos, 1 - set_addr $I10, rxcap_1093_fail - ($I12, $I11) = rx1088_cur."!mark_peek"($I10) - rx1088_cur."!cursor_pos"($I11) - ($P10) = rx1088_cur."!cursor_start"() - $P10."!cursor_pass"(rx1088_pos, "") - rx1088_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1097_fail + rx1092_cur."!mark_push"(0, rx1092_pos, $I10) + # rx literal "?" + add $I11, rx1092_pos, 1 + gt $I11, rx1092_eos, rx1092_fail + sub $I11, rx1092_pos, rx1092_off + substr $S10, rx1092_tgt, $I11, 1 + ne $S10, "?", rx1092_fail + add rx1092_pos, 1 + 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_1093_done - rxcap_1093_fail: - goto rx1088_fail - rxcap_1093_done: + goto rxcap_1097_done + rxcap_1097_fail: + goto rx1092_fail + rxcap_1097_done: # rx subrule "O" subtype=capture negate= - rx1088_cur."!cursor_pos"(rx1088_pos) - $P10 = rx1088_cur."O"("%symbolic_unary, :pirop") - unless $P10, rx1088_fail - rx1088_cur."!mark_push"(0, -1, 0, $P10) + rx1092_cur."!cursor_pos"(rx1092_pos) + $P10 = rx1092_cur."O"("%symbolic_unary, :pirop") + unless $P10, rx1092_fail + rx1092_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1088_pos = $P10."pos"() + rx1092_pos = $P10."pos"() # rx pass - rx1088_cur."!cursor_pass"(rx1088_pos, "prefix:sym") - rx1088_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1088_pos) - .return (rx1088_cur) - rx1088_fail: -.annotate 'line', 446 - (rx1088_rep, rx1088_pos, $I10, $P10) = rx1088_cur."!mark_fail"(0) - lt rx1088_pos, -1, rx1088_done - eq rx1088_pos, -1, rx1088_fail + rx1092_cur."!cursor_pass"(rx1092_pos, "prefix:sym") + rx1092_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1092_pos) + .return (rx1092_cur) + rx1092_fail: +.annotate 'line', 447 + (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 - rx1088_done: - rx1088_cur."!cursor_fail"() - rx1088_cur."!cursor_debug"("FAIL ", "prefix:sym") - .return (rx1088_cur) + rx1092_done: + rx1092_cur."!cursor_fail"() + rx1092_cur."!cursor_debug"("FAIL ", "prefix:sym") + .return (rx1092_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym" :subid("271_1276996322.81157") :method -.annotate 'line', 446 - $P1090 = self."!PREFIX__!subrule"("O", "!") - new $P1091, "ResizablePMCArray" - push $P1091, $P1090 - .return ($P1091) +.sub "!PREFIX__prefix:sym" :subid("271_1278500537.15927") :method +.annotate 'line', 447 + $P1094 = self."!PREFIX__!subrule"("O", "?") + new $P1095, "ResizablePMCArray" + push $P1095, $P1094 + .return ($P1095) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym<|>" :subid("272_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1095_tgt - .local int rx1095_pos - .local int rx1095_off - .local int rx1095_eos - .local int rx1095_rep - .local pmc rx1095_cur - (rx1095_cur, rx1095_pos, rx1095_tgt) = self."!cursor_start"() - rx1095_cur."!cursor_debug"("START ", "prefix:sym<|>") - .lex unicode:"$\x{a2}", rx1095_cur +.sub "prefix:sym" :subid("272_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 ", "prefix:sym") + .lex unicode:"$\x{a2}", rx1099_cur .local pmc match .lex "$/", match - length rx1095_eos, rx1095_tgt - gt rx1095_pos, rx1095_eos, rx1095_done - set rx1095_off, 0 - lt rx1095_pos, 2, rx1095_start - sub rx1095_off, rx1095_pos, 1 - substr rx1095_tgt, rx1095_tgt, rx1095_off - rx1095_start: + length rx1099_eos, rx1099_tgt + gt rx1099_pos, rx1099_eos, rx1099_done + 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, rxscan1099_done - goto rxscan1099_scan - rxscan1099_loop: - ($P10) = rx1095_cur."from"() + ne $I10, -1, rxscan1103_done + goto rxscan1103_scan + rxscan1103_loop: + ($P10) = rx1099_cur."from"() inc $P10 - set rx1095_pos, $P10 - ge rx1095_pos, rx1095_eos, rxscan1099_done - rxscan1099_scan: - set_addr $I10, rxscan1099_loop - rx1095_cur."!mark_push"(0, rx1095_pos, $I10) - rxscan1099_done: + 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', 504 # rx subcapture "sym" - set_addr $I10, rxcap_1100_fail - rx1095_cur."!mark_push"(0, rx1095_pos, $I10) - # rx literal "|" - add $I11, rx1095_pos, 1 - gt $I11, rx1095_eos, rx1095_fail - sub $I11, rx1095_pos, rx1095_off - substr $S10, rx1095_tgt, $I11, 1 - ne $S10, "|", rx1095_fail - add rx1095_pos, 1 - set_addr $I10, rxcap_1100_fail - ($I12, $I11) = rx1095_cur."!mark_peek"($I10) - rx1095_cur."!cursor_pos"($I11) - ($P10) = rx1095_cur."!cursor_start"() - $P10."!cursor_pass"(rx1095_pos, "") - rx1095_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1104_fail + rx1099_cur."!mark_push"(0, rx1099_pos, $I10) + # rx literal "!" + add $I11, rx1099_pos, 1 + gt $I11, rx1099_eos, rx1099_fail + sub $I11, rx1099_pos, rx1099_off + substr $S10, rx1099_tgt, $I11, 1 + ne $S10, "!", rx1099_fail + add rx1099_pos, 1 + 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_1100_done - rxcap_1100_fail: - goto rx1095_fail - rxcap_1100_done: + goto rxcap_1104_done + rxcap_1104_fail: + goto rx1099_fail + rxcap_1104_done: # rx subrule "O" subtype=capture negate= - rx1095_cur."!cursor_pos"(rx1095_pos) - $P10 = rx1095_cur."O"("%symbolic_unary") - unless $P10, rx1095_fail - rx1095_cur."!mark_push"(0, -1, 0, $P10) + rx1099_cur."!cursor_pos"(rx1099_pos) + $P10 = rx1099_cur."O"("%symbolic_unary, :pirop") + unless $P10, rx1099_fail + rx1099_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1095_pos = $P10."pos"() + rx1099_pos = $P10."pos"() # rx pass - rx1095_cur."!cursor_pass"(rx1095_pos, "prefix:sym<|>") - rx1095_cur."!cursor_debug"("PASS ", "prefix:sym<|>", " at pos=", rx1095_pos) - .return (rx1095_cur) - rx1095_fail: -.annotate 'line', 446 - (rx1095_rep, rx1095_pos, $I10, $P10) = rx1095_cur."!mark_fail"(0) - lt rx1095_pos, -1, rx1095_done - eq rx1095_pos, -1, rx1095_fail + rx1099_cur."!cursor_pass"(rx1099_pos, "prefix:sym") + rx1099_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1099_pos) + .return (rx1099_cur) + rx1099_fail: +.annotate 'line', 447 + (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 - rx1095_done: - rx1095_cur."!cursor_fail"() - rx1095_cur."!cursor_debug"("FAIL ", "prefix:sym<|>") - .return (rx1095_cur) + rx1099_done: + rx1099_cur."!cursor_fail"() + rx1099_cur."!cursor_debug"("FAIL ", "prefix:sym") + .return (rx1099_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym<|>" :subid("273_1276996322.81157") :method -.annotate 'line', 446 - $P1097 = self."!PREFIX__!subrule"("O", "|") - new $P1098, "ResizablePMCArray" - push $P1098, $P1097 - .return ($P1098) +.sub "!PREFIX__prefix:sym" :subid("273_1278500537.15927") :method +.annotate 'line', 447 + $P1101 = self."!PREFIX__!subrule"("O", "!") + new $P1102, "ResizablePMCArray" + push $P1102, $P1101 + .return ($P1102) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<*>" :subid("274_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1102_tgt - .local int rx1102_pos - .local int rx1102_off - .local int rx1102_eos - .local int rx1102_rep - .local pmc rx1102_cur - (rx1102_cur, rx1102_pos, rx1102_tgt) = self."!cursor_start"() - rx1102_cur."!cursor_debug"("START ", "infix:sym<*>") - .lex unicode:"$\x{a2}", rx1102_cur +.sub "prefix:sym<|>" :subid("274_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 ", "prefix:sym<|>") + .lex unicode:"$\x{a2}", rx1106_cur .local pmc match .lex "$/", match - length rx1102_eos, rx1102_tgt - gt rx1102_pos, rx1102_eos, rx1102_done - set rx1102_off, 0 - lt rx1102_pos, 2, rx1102_start - sub rx1102_off, rx1102_pos, 1 - substr rx1102_tgt, rx1102_tgt, rx1102_off - rx1102_start: + length rx1106_eos, rx1106_tgt + gt rx1106_pos, rx1106_eos, rx1106_done + 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, rxscan1106_done - goto rxscan1106_scan - rxscan1106_loop: - ($P10) = rx1102_cur."from"() + ne $I10, -1, rxscan1110_done + goto rxscan1110_scan + rxscan1110_loop: + ($P10) = rx1106_cur."from"() inc $P10 - set rx1102_pos, $P10 - ge rx1102_pos, rx1102_eos, rxscan1106_done - rxscan1106_scan: - set_addr $I10, rxscan1106_loop - rx1102_cur."!mark_push"(0, rx1102_pos, $I10) - rxscan1106_done: -.annotate 'line', 506 + 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', 505 # rx subcapture "sym" - set_addr $I10, rxcap_1107_fail - rx1102_cur."!mark_push"(0, rx1102_pos, $I10) - # rx literal "*" - add $I11, rx1102_pos, 1 - gt $I11, rx1102_eos, rx1102_fail - sub $I11, rx1102_pos, rx1102_off - substr $S10, rx1102_tgt, $I11, 1 - ne $S10, "*", rx1102_fail - add rx1102_pos, 1 - set_addr $I10, rxcap_1107_fail - ($I12, $I11) = rx1102_cur."!mark_peek"($I10) - rx1102_cur."!cursor_pos"($I11) - ($P10) = rx1102_cur."!cursor_start"() - $P10."!cursor_pass"(rx1102_pos, "") - rx1102_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1111_fail + rx1106_cur."!mark_push"(0, rx1106_pos, $I10) + # rx literal "|" + 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_1107_done - rxcap_1107_fail: - goto rx1102_fail - rxcap_1107_done: + goto rxcap_1111_done + rxcap_1111_fail: + goto rx1106_fail + rxcap_1111_done: # rx subrule "O" subtype=capture negate= - rx1102_cur."!cursor_pos"(rx1102_pos) - $P10 = rx1102_cur."O"("%multiplicative, :pirop") - unless $P10, rx1102_fail - rx1102_cur."!mark_push"(0, -1, 0, $P10) + rx1106_cur."!cursor_pos"(rx1106_pos) + $P10 = rx1106_cur."O"("%symbolic_unary") + unless $P10, rx1106_fail + rx1106_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1102_pos = $P10."pos"() + rx1106_pos = $P10."pos"() # rx pass - rx1102_cur."!cursor_pass"(rx1102_pos, "infix:sym<*>") - rx1102_cur."!cursor_debug"("PASS ", "infix:sym<*>", " at pos=", rx1102_pos) - .return (rx1102_cur) - rx1102_fail: -.annotate 'line', 446 - (rx1102_rep, rx1102_pos, $I10, $P10) = rx1102_cur."!mark_fail"(0) - lt rx1102_pos, -1, rx1102_done - eq rx1102_pos, -1, rx1102_fail + rx1106_cur."!cursor_pass"(rx1106_pos, "prefix:sym<|>") + rx1106_cur."!cursor_debug"("PASS ", "prefix:sym<|>", " at pos=", rx1106_pos) + .return (rx1106_cur) + rx1106_fail: +.annotate 'line', 447 + (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 - rx1102_done: - rx1102_cur."!cursor_fail"() - rx1102_cur."!cursor_debug"("FAIL ", "infix:sym<*>") - .return (rx1102_cur) + rx1106_done: + rx1106_cur."!cursor_fail"() + rx1106_cur."!cursor_debug"("FAIL ", "prefix:sym<|>") + .return (rx1106_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<*>" :subid("275_1276996322.81157") :method -.annotate 'line', 446 - $P1104 = self."!PREFIX__!subrule"("O", "*") - new $P1105, "ResizablePMCArray" - push $P1105, $P1104 - .return ($P1105) +.sub "!PREFIX__prefix:sym<|>" :subid("275_1278500537.15927") :method +.annotate 'line', 447 + $P1108 = self."!PREFIX__!subrule"("O", "|") + new $P1109, "ResizablePMCArray" + push $P1109, $P1108 + .return ($P1109) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("276_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1109_tgt - .local int rx1109_pos - .local int rx1109_off - .local int rx1109_eos - .local int rx1109_rep - .local pmc rx1109_cur - (rx1109_cur, rx1109_pos, rx1109_tgt) = self."!cursor_start"() - rx1109_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1109_cur +.sub "infix:sym<*>" :subid("276_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1109_eos, rx1109_tgt - gt rx1109_pos, rx1109_eos, rx1109_done - set rx1109_off, 0 - lt rx1109_pos, 2, rx1109_start - sub rx1109_off, rx1109_pos, 1 - substr rx1109_tgt, rx1109_tgt, rx1109_off - rx1109_start: + length rx1113_eos, rx1113_tgt + gt rx1113_pos, rx1113_eos, rx1113_done + 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, rxscan1113_done - goto rxscan1113_scan - rxscan1113_loop: - ($P10) = rx1109_cur."from"() + ne $I10, -1, rxscan1117_done + goto rxscan1117_scan + rxscan1117_loop: + ($P10) = rx1113_cur."from"() inc $P10 - set rx1109_pos, $P10 - ge rx1109_pos, rx1109_eos, rxscan1113_done - rxscan1113_scan: - set_addr $I10, rxscan1113_loop - rx1109_cur."!mark_push"(0, rx1109_pos, $I10) - rxscan1113_done: + 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', 507 # rx subcapture "sym" - set_addr $I10, rxcap_1114_fail - rx1109_cur."!mark_push"(0, rx1109_pos, $I10) - # rx literal "/" - add $I11, rx1109_pos, 1 - gt $I11, rx1109_eos, rx1109_fail - sub $I11, rx1109_pos, rx1109_off - substr $S10, rx1109_tgt, $I11, 1 - ne $S10, "/", rx1109_fail - add rx1109_pos, 1 - set_addr $I10, rxcap_1114_fail - ($I12, $I11) = rx1109_cur."!mark_peek"($I10) - rx1109_cur."!cursor_pos"($I11) - ($P10) = rx1109_cur."!cursor_start"() - $P10."!cursor_pass"(rx1109_pos, "") - rx1109_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1118_fail + rx1113_cur."!mark_push"(0, rx1113_pos, $I10) + # rx literal "*" + 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_1114_done - rxcap_1114_fail: - goto rx1109_fail - rxcap_1114_done: + goto rxcap_1118_done + rxcap_1118_fail: + goto rx1113_fail + rxcap_1118_done: # rx subrule "O" subtype=capture negate= - rx1109_cur."!cursor_pos"(rx1109_pos) - $P10 = rx1109_cur."O"("%multiplicative, :pirop
") - unless $P10, rx1109_fail - rx1109_cur."!mark_push"(0, -1, 0, $P10) + rx1113_cur."!cursor_pos"(rx1113_pos) + $P10 = rx1113_cur."O"("%multiplicative, :pirop") + unless $P10, rx1113_fail + rx1113_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1109_pos = $P10."pos"() + rx1113_pos = $P10."pos"() # rx pass - rx1109_cur."!cursor_pass"(rx1109_pos, "infix:sym") - rx1109_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1109_pos) - .return (rx1109_cur) - rx1109_fail: -.annotate 'line', 446 - (rx1109_rep, rx1109_pos, $I10, $P10) = rx1109_cur."!mark_fail"(0) - lt rx1109_pos, -1, rx1109_done - eq rx1109_pos, -1, rx1109_fail + 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', 447 + (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 - rx1109_done: - rx1109_cur."!cursor_fail"() - rx1109_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1109_cur) + 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("277_1276996322.81157") :method -.annotate 'line', 446 - $P1111 = self."!PREFIX__!subrule"("O", "/") - new $P1112, "ResizablePMCArray" - push $P1112, $P1111 - .return ($P1112) +.sub "!PREFIX__infix:sym<*>" :subid("277_1278500537.15927") :method +.annotate 'line', 447 + $P1115 = self."!PREFIX__!subrule"("O", "*") + new $P1116, "ResizablePMCArray" + push $P1116, $P1115 + .return ($P1116) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<%>" :subid("278_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1116_tgt - .local int rx1116_pos - .local int rx1116_off - .local int rx1116_eos - .local int rx1116_rep - .local pmc rx1116_cur - (rx1116_cur, rx1116_pos, rx1116_tgt) = self."!cursor_start"() - rx1116_cur."!cursor_debug"("START ", "infix:sym<%>") - .lex unicode:"$\x{a2}", rx1116_cur +.sub "infix:sym" :subid("278_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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") + .lex unicode:"$\x{a2}", rx1120_cur .local pmc match .lex "$/", match - length rx1116_eos, rx1116_tgt - gt rx1116_pos, rx1116_eos, rx1116_done - set rx1116_off, 0 - lt rx1116_pos, 2, rx1116_start - sub rx1116_off, rx1116_pos, 1 - substr rx1116_tgt, rx1116_tgt, rx1116_off - rx1116_start: + length rx1120_eos, rx1120_tgt + gt rx1120_pos, rx1120_eos, rx1120_done + 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, rxscan1120_done - goto rxscan1120_scan - rxscan1120_loop: - ($P10) = rx1116_cur."from"() + ne $I10, -1, rxscan1124_done + goto rxscan1124_scan + rxscan1124_loop: + ($P10) = rx1120_cur."from"() inc $P10 - set rx1116_pos, $P10 - ge rx1116_pos, rx1116_eos, rxscan1120_done - rxscan1120_scan: - set_addr $I10, rxscan1120_loop - rx1116_cur."!mark_push"(0, rx1116_pos, $I10) - rxscan1120_done: + 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', 508 # rx subcapture "sym" - set_addr $I10, rxcap_1121_fail - rx1116_cur."!mark_push"(0, rx1116_pos, $I10) - # rx literal "%" - add $I11, rx1116_pos, 1 - gt $I11, rx1116_eos, rx1116_fail - sub $I11, rx1116_pos, rx1116_off - substr $S10, rx1116_tgt, $I11, 1 - ne $S10, "%", rx1116_fail - add rx1116_pos, 1 - set_addr $I10, rxcap_1121_fail - ($I12, $I11) = rx1116_cur."!mark_peek"($I10) - rx1116_cur."!cursor_pos"($I11) - ($P10) = rx1116_cur."!cursor_start"() - $P10."!cursor_pass"(rx1116_pos, "") - rx1116_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1125_fail + rx1120_cur."!mark_push"(0, rx1120_pos, $I10) + # rx literal "/" + add $I11, rx1120_pos, 1 + gt $I11, rx1120_eos, rx1120_fail + sub $I11, rx1120_pos, rx1120_off + substr $S10, rx1120_tgt, $I11, 1 + ne $S10, "/", rx1120_fail + add rx1120_pos, 1 + 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_1121_done - rxcap_1121_fail: - goto rx1116_fail - rxcap_1121_done: + goto rxcap_1125_done + rxcap_1125_fail: + goto rx1120_fail + rxcap_1125_done: # rx subrule "O" subtype=capture negate= - rx1116_cur."!cursor_pos"(rx1116_pos) - $P10 = rx1116_cur."O"("%multiplicative, :pirop") - unless $P10, rx1116_fail - rx1116_cur."!mark_push"(0, -1, 0, $P10) + rx1120_cur."!cursor_pos"(rx1120_pos) + $P10 = rx1120_cur."O"("%multiplicative, :pirop
") + unless $P10, rx1120_fail + rx1120_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1116_pos = $P10."pos"() + rx1120_pos = $P10."pos"() # rx pass - rx1116_cur."!cursor_pass"(rx1116_pos, "infix:sym<%>") - rx1116_cur."!cursor_debug"("PASS ", "infix:sym<%>", " at pos=", rx1116_pos) - .return (rx1116_cur) - rx1116_fail: -.annotate 'line', 446 - (rx1116_rep, rx1116_pos, $I10, $P10) = rx1116_cur."!mark_fail"(0) - lt rx1116_pos, -1, rx1116_done - eq rx1116_pos, -1, rx1116_fail + rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym") + rx1120_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1120_pos) + .return (rx1120_cur) + rx1120_fail: +.annotate 'line', 447 + (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 - rx1116_done: - rx1116_cur."!cursor_fail"() - rx1116_cur."!cursor_debug"("FAIL ", "infix:sym<%>") - .return (rx1116_cur) + rx1120_done: + rx1120_cur."!cursor_fail"() + rx1120_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1120_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<%>" :subid("279_1276996322.81157") :method -.annotate 'line', 446 - $P1118 = self."!PREFIX__!subrule"("O", "%") - new $P1119, "ResizablePMCArray" - push $P1119, $P1118 - .return ($P1119) +.sub "!PREFIX__infix:sym" :subid("279_1278500537.15927") :method +.annotate 'line', 447 + $P1122 = self."!PREFIX__!subrule"("O", "/") + new $P1123, "ResizablePMCArray" + push $P1123, $P1122 + .return ($P1123) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<+>" :subid("280_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1123_tgt - .local int rx1123_pos - .local int rx1123_off - .local int rx1123_eos - .local int rx1123_rep - .local pmc rx1123_cur - (rx1123_cur, rx1123_pos, rx1123_tgt) = self."!cursor_start"() - rx1123_cur."!cursor_debug"("START ", "infix:sym<+>") - .lex unicode:"$\x{a2}", rx1123_cur +.sub "infix:sym<%>" :subid("280_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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<%>") + .lex unicode:"$\x{a2}", rx1127_cur .local pmc match .lex "$/", match - length rx1123_eos, rx1123_tgt - gt rx1123_pos, rx1123_eos, rx1123_done - set rx1123_off, 0 - lt rx1123_pos, 2, rx1123_start - sub rx1123_off, rx1123_pos, 1 - substr rx1123_tgt, rx1123_tgt, rx1123_off - rx1123_start: + length rx1127_eos, rx1127_tgt + gt rx1127_pos, rx1127_eos, rx1127_done + 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, rxscan1127_done - goto rxscan1127_scan - rxscan1127_loop: - ($P10) = rx1123_cur."from"() + ne $I10, -1, rxscan1131_done + goto rxscan1131_scan + rxscan1131_loop: + ($P10) = rx1127_cur."from"() inc $P10 - set rx1123_pos, $P10 - ge rx1123_pos, rx1123_eos, rxscan1127_done - rxscan1127_scan: - set_addr $I10, rxscan1127_loop - rx1123_cur."!mark_push"(0, rx1123_pos, $I10) - rxscan1127_done: -.annotate 'line', 510 + 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', 509 # rx subcapture "sym" - set_addr $I10, rxcap_1128_fail - rx1123_cur."!mark_push"(0, rx1123_pos, $I10) - # rx literal "+" - add $I11, rx1123_pos, 1 - gt $I11, rx1123_eos, rx1123_fail - sub $I11, rx1123_pos, rx1123_off - substr $S10, rx1123_tgt, $I11, 1 - ne $S10, "+", rx1123_fail - add rx1123_pos, 1 - set_addr $I10, rxcap_1128_fail - ($I12, $I11) = rx1123_cur."!mark_peek"($I10) - rx1123_cur."!cursor_pos"($I11) - ($P10) = rx1123_cur."!cursor_start"() - $P10."!cursor_pass"(rx1123_pos, "") - rx1123_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1132_fail + rx1127_cur."!mark_push"(0, rx1127_pos, $I10) + # rx literal "%" + add $I11, rx1127_pos, 1 + gt $I11, rx1127_eos, rx1127_fail + sub $I11, rx1127_pos, rx1127_off + substr $S10, rx1127_tgt, $I11, 1 + ne $S10, "%", rx1127_fail + add rx1127_pos, 1 + 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_1128_done - rxcap_1128_fail: - goto rx1123_fail - rxcap_1128_done: + goto rxcap_1132_done + rxcap_1132_fail: + goto rx1127_fail + rxcap_1132_done: # rx subrule "O" subtype=capture negate= - rx1123_cur."!cursor_pos"(rx1123_pos) - $P10 = rx1123_cur."O"("%additive, :pirop") - unless $P10, rx1123_fail - rx1123_cur."!mark_push"(0, -1, 0, $P10) + rx1127_cur."!cursor_pos"(rx1127_pos) + $P10 = rx1127_cur."O"("%multiplicative, :pirop") + unless $P10, rx1127_fail + rx1127_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1123_pos = $P10."pos"() + rx1127_pos = $P10."pos"() # rx pass - rx1123_cur."!cursor_pass"(rx1123_pos, "infix:sym<+>") - rx1123_cur."!cursor_debug"("PASS ", "infix:sym<+>", " at pos=", rx1123_pos) - .return (rx1123_cur) - rx1123_fail: -.annotate 'line', 446 - (rx1123_rep, rx1123_pos, $I10, $P10) = rx1123_cur."!mark_fail"(0) - lt rx1123_pos, -1, rx1123_done - eq rx1123_pos, -1, rx1123_fail + rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<%>") + rx1127_cur."!cursor_debug"("PASS ", "infix:sym<%>", " at pos=", rx1127_pos) + .return (rx1127_cur) + rx1127_fail: +.annotate 'line', 447 + (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 - rx1123_done: - rx1123_cur."!cursor_fail"() - rx1123_cur."!cursor_debug"("FAIL ", "infix:sym<+>") - .return (rx1123_cur) + rx1127_done: + rx1127_cur."!cursor_fail"() + rx1127_cur."!cursor_debug"("FAIL ", "infix:sym<%>") + .return (rx1127_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<+>" :subid("281_1276996322.81157") :method -.annotate 'line', 446 - $P1125 = self."!PREFIX__!subrule"("O", "+") - new $P1126, "ResizablePMCArray" - push $P1126, $P1125 - .return ($P1126) +.sub "!PREFIX__infix:sym<%>" :subid("281_1278500537.15927") :method +.annotate 'line', 447 + $P1129 = self."!PREFIX__!subrule"("O", "%") + new $P1130, "ResizablePMCArray" + push $P1130, $P1129 + .return ($P1130) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<->" :subid("282_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1130_tgt - .local int rx1130_pos - .local int rx1130_off - .local int rx1130_eos - .local int rx1130_rep - .local pmc rx1130_cur - (rx1130_cur, rx1130_pos, rx1130_tgt) = self."!cursor_start"() - rx1130_cur."!cursor_debug"("START ", "infix:sym<->") - .lex unicode:"$\x{a2}", rx1130_cur +.sub "infix:sym<+&>" :subid("282_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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<+&>") + .lex unicode:"$\x{a2}", rx1134_cur .local pmc match .lex "$/", match - length rx1130_eos, rx1130_tgt - gt rx1130_pos, rx1130_eos, rx1130_done - set rx1130_off, 0 - lt rx1130_pos, 2, rx1130_start - sub rx1130_off, rx1130_pos, 1 - substr rx1130_tgt, rx1130_tgt, rx1130_off - rx1130_start: + length rx1134_eos, rx1134_tgt + gt rx1134_pos, rx1134_eos, rx1134_done + 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, rxscan1134_done - goto rxscan1134_scan - rxscan1134_loop: - ($P10) = rx1130_cur."from"() + ne $I10, -1, rxscan1138_done + goto rxscan1138_scan + rxscan1138_loop: + ($P10) = rx1134_cur."from"() inc $P10 - set rx1130_pos, $P10 - ge rx1130_pos, rx1130_eos, rxscan1134_done - rxscan1134_scan: - set_addr $I10, rxscan1134_loop - rx1130_cur."!mark_push"(0, rx1130_pos, $I10) - rxscan1134_done: -.annotate 'line', 511 + 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', 510 # rx subcapture "sym" - set_addr $I10, rxcap_1135_fail - rx1130_cur."!mark_push"(0, rx1130_pos, $I10) - # rx literal "-" - add $I11, rx1130_pos, 1 - gt $I11, rx1130_eos, rx1130_fail - sub $I11, rx1130_pos, rx1130_off - substr $S10, rx1130_tgt, $I11, 1 - ne $S10, "-", rx1130_fail - add rx1130_pos, 1 - set_addr $I10, rxcap_1135_fail - ($I12, $I11) = rx1130_cur."!mark_peek"($I10) - rx1130_cur."!cursor_pos"($I11) - ($P10) = rx1130_cur."!cursor_start"() - $P10."!cursor_pass"(rx1130_pos, "") - rx1130_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1139_fail + rx1134_cur."!mark_push"(0, rx1134_pos, $I10) + # rx literal "+&" + 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, "+&", 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_1135_done - rxcap_1135_fail: - goto rx1130_fail - rxcap_1135_done: + goto rxcap_1139_done + rxcap_1139_fail: + goto rx1134_fail + rxcap_1139_done: # rx subrule "O" subtype=capture negate= - rx1130_cur."!cursor_pos"(rx1130_pos) - $P10 = rx1130_cur."O"("%additive, :pirop") - unless $P10, rx1130_fail - rx1130_cur."!mark_push"(0, -1, 0, $P10) + rx1134_cur."!cursor_pos"(rx1134_pos) + $P10 = rx1134_cur."O"("%multiplicative, :pirop") + unless $P10, rx1134_fail + rx1134_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1130_pos = $P10."pos"() + rx1134_pos = $P10."pos"() # rx pass - rx1130_cur."!cursor_pass"(rx1130_pos, "infix:sym<->") - rx1130_cur."!cursor_debug"("PASS ", "infix:sym<->", " at pos=", rx1130_pos) - .return (rx1130_cur) - rx1130_fail: -.annotate 'line', 446 - (rx1130_rep, rx1130_pos, $I10, $P10) = rx1130_cur."!mark_fail"(0) - lt rx1130_pos, -1, rx1130_done - eq rx1130_pos, -1, rx1130_fail + rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<+&>") + rx1134_cur."!cursor_debug"("PASS ", "infix:sym<+&>", " at pos=", rx1134_pos) + .return (rx1134_cur) + rx1134_fail: +.annotate 'line', 447 + (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 - rx1130_done: - rx1130_cur."!cursor_fail"() - rx1130_cur."!cursor_debug"("FAIL ", "infix:sym<->") - .return (rx1130_cur) + rx1134_done: + rx1134_cur."!cursor_fail"() + rx1134_cur."!cursor_debug"("FAIL ", "infix:sym<+&>") + .return (rx1134_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<->" :subid("283_1276996322.81157") :method -.annotate 'line', 446 - $P1132 = self."!PREFIX__!subrule"("O", "-") - new $P1133, "ResizablePMCArray" - push $P1133, $P1132 - .return ($P1133) +.sub "!PREFIX__infix:sym<+&>" :subid("283_1278500537.15927") :method +.annotate 'line', 447 + $P1136 = self."!PREFIX__!subrule"("O", "+&") + new $P1137, "ResizablePMCArray" + push $P1137, $P1136 + .return ($P1137) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<~>" :subid("284_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1137_tgt - .local int rx1137_pos - .local int rx1137_off - .local int rx1137_eos - .local int rx1137_rep - .local pmc rx1137_cur - (rx1137_cur, rx1137_pos, rx1137_tgt) = self."!cursor_start"() - rx1137_cur."!cursor_debug"("START ", "infix:sym<~>") - .lex unicode:"$\x{a2}", rx1137_cur +.sub "infix:sym<+>" :subid("284_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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<+>") + .lex unicode:"$\x{a2}", rx1141_cur .local pmc match .lex "$/", match - length rx1137_eos, rx1137_tgt - gt rx1137_pos, rx1137_eos, rx1137_done - set rx1137_off, 0 - lt rx1137_pos, 2, rx1137_start - sub rx1137_off, rx1137_pos, 1 - substr rx1137_tgt, rx1137_tgt, rx1137_off - rx1137_start: + length rx1141_eos, rx1141_tgt + gt rx1141_pos, rx1141_eos, rx1141_done + 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, rxscan1141_done - goto rxscan1141_scan - rxscan1141_loop: - ($P10) = rx1137_cur."from"() + ne $I10, -1, rxscan1145_done + goto rxscan1145_scan + rxscan1145_loop: + ($P10) = rx1141_cur."from"() inc $P10 - set rx1137_pos, $P10 - ge rx1137_pos, rx1137_eos, rxscan1141_done - rxscan1141_scan: - set_addr $I10, rxscan1141_loop - rx1137_cur."!mark_push"(0, rx1137_pos, $I10) - rxscan1141_done: -.annotate 'line', 513 + 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', 512 # rx subcapture "sym" - set_addr $I10, rxcap_1142_fail - rx1137_cur."!mark_push"(0, rx1137_pos, $I10) - # rx literal "~" - add $I11, rx1137_pos, 1 - gt $I11, rx1137_eos, rx1137_fail - sub $I11, rx1137_pos, rx1137_off - substr $S10, rx1137_tgt, $I11, 1 - ne $S10, "~", rx1137_fail - add rx1137_pos, 1 - set_addr $I10, rxcap_1142_fail - ($I12, $I11) = rx1137_cur."!mark_peek"($I10) - rx1137_cur."!cursor_pos"($I11) - ($P10) = rx1137_cur."!cursor_start"() - $P10."!cursor_pass"(rx1137_pos, "") - rx1137_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1146_fail + rx1141_cur."!mark_push"(0, rx1141_pos, $I10) + # rx literal "+" + add $I11, rx1141_pos, 1 + gt $I11, rx1141_eos, rx1141_fail + sub $I11, rx1141_pos, rx1141_off + substr $S10, rx1141_tgt, $I11, 1 + ne $S10, "+", rx1141_fail + add rx1141_pos, 1 + 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_1142_done - rxcap_1142_fail: - goto rx1137_fail - rxcap_1142_done: + goto rxcap_1146_done + rxcap_1146_fail: + goto rx1141_fail + rxcap_1146_done: # rx subrule "O" subtype=capture negate= - rx1137_cur."!cursor_pos"(rx1137_pos) - $P10 = rx1137_cur."O"("%concatenation , :pirop") - unless $P10, rx1137_fail - rx1137_cur."!mark_push"(0, -1, 0, $P10) + rx1141_cur."!cursor_pos"(rx1141_pos) + $P10 = rx1141_cur."O"("%additive, :pirop") + unless $P10, rx1141_fail + rx1141_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1137_pos = $P10."pos"() + rx1141_pos = $P10."pos"() # rx pass - rx1137_cur."!cursor_pass"(rx1137_pos, "infix:sym<~>") - rx1137_cur."!cursor_debug"("PASS ", "infix:sym<~>", " at pos=", rx1137_pos) - .return (rx1137_cur) - rx1137_fail: -.annotate 'line', 446 - (rx1137_rep, rx1137_pos, $I10, $P10) = rx1137_cur."!mark_fail"(0) - lt rx1137_pos, -1, rx1137_done - eq rx1137_pos, -1, rx1137_fail + rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<+>") + rx1141_cur."!cursor_debug"("PASS ", "infix:sym<+>", " at pos=", rx1141_pos) + .return (rx1141_cur) + rx1141_fail: +.annotate 'line', 447 + (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 - rx1137_done: - rx1137_cur."!cursor_fail"() - rx1137_cur."!cursor_debug"("FAIL ", "infix:sym<~>") - .return (rx1137_cur) + rx1141_done: + rx1141_cur."!cursor_fail"() + rx1141_cur."!cursor_debug"("FAIL ", "infix:sym<+>") + .return (rx1141_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<~>" :subid("285_1276996322.81157") :method -.annotate 'line', 446 - $P1139 = self."!PREFIX__!subrule"("O", "~") - new $P1140, "ResizablePMCArray" - push $P1140, $P1139 - .return ($P1140) +.sub "!PREFIX__infix:sym<+>" :subid("285_1278500537.15927") :method +.annotate 'line', 447 + $P1143 = self."!PREFIX__!subrule"("O", "+") + new $P1144, "ResizablePMCArray" + push $P1144, $P1143 + .return ($P1144) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<==>" :subid("286_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1144_tgt - .local int rx1144_pos - .local int rx1144_off - .local int rx1144_eos - .local int rx1144_rep - .local pmc rx1144_cur - (rx1144_cur, rx1144_pos, rx1144_tgt) = self."!cursor_start"() - rx1144_cur."!cursor_debug"("START ", "infix:sym<==>") - .lex unicode:"$\x{a2}", rx1144_cur +.sub "infix:sym<->" :subid("286_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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<->") + .lex unicode:"$\x{a2}", rx1148_cur .local pmc match .lex "$/", match - length rx1144_eos, rx1144_tgt - gt rx1144_pos, rx1144_eos, rx1144_done - set rx1144_off, 0 - lt rx1144_pos, 2, rx1144_start - sub rx1144_off, rx1144_pos, 1 - substr rx1144_tgt, rx1144_tgt, rx1144_off - rx1144_start: + length rx1148_eos, rx1148_tgt + gt rx1148_pos, rx1148_eos, rx1148_done + 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, rxscan1148_done - goto rxscan1148_scan - rxscan1148_loop: - ($P10) = rx1144_cur."from"() + ne $I10, -1, rxscan1152_done + goto rxscan1152_scan + rxscan1152_loop: + ($P10) = rx1148_cur."from"() inc $P10 - set rx1144_pos, $P10 - ge rx1144_pos, rx1144_eos, rxscan1148_done - rxscan1148_scan: - set_addr $I10, rxscan1148_loop - rx1144_cur."!mark_push"(0, rx1144_pos, $I10) - rxscan1148_done: -.annotate 'line', 515 + 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', 513 # rx subcapture "sym" - set_addr $I10, rxcap_1149_fail - rx1144_cur."!mark_push"(0, rx1144_pos, $I10) - # rx literal "==" - add $I11, rx1144_pos, 2 - gt $I11, rx1144_eos, rx1144_fail - sub $I11, rx1144_pos, rx1144_off - substr $S10, rx1144_tgt, $I11, 2 - ne $S10, "==", rx1144_fail - add rx1144_pos, 2 - set_addr $I10, rxcap_1149_fail - ($I12, $I11) = rx1144_cur."!mark_peek"($I10) - rx1144_cur."!cursor_pos"($I11) - ($P10) = rx1144_cur."!cursor_start"() - $P10."!cursor_pass"(rx1144_pos, "") - rx1144_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1153_fail + rx1148_cur."!mark_push"(0, rx1148_pos, $I10) + # rx literal "-" + add $I11, rx1148_pos, 1 + gt $I11, rx1148_eos, rx1148_fail + sub $I11, rx1148_pos, rx1148_off + substr $S10, rx1148_tgt, $I11, 1 + ne $S10, "-", rx1148_fail + add rx1148_pos, 1 + 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_1149_done - rxcap_1149_fail: - goto rx1144_fail - rxcap_1149_done: + goto rxcap_1153_done + rxcap_1153_fail: + goto rx1148_fail + rxcap_1153_done: # rx subrule "O" subtype=capture negate= - rx1144_cur."!cursor_pos"(rx1144_pos) - $P10 = rx1144_cur."O"("%relational, :pirop") - unless $P10, rx1144_fail - rx1144_cur."!mark_push"(0, -1, 0, $P10) + rx1148_cur."!cursor_pos"(rx1148_pos) + $P10 = rx1148_cur."O"("%additive, :pirop") + unless $P10, rx1148_fail + rx1148_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1144_pos = $P10."pos"() + rx1148_pos = $P10."pos"() # rx pass - rx1144_cur."!cursor_pass"(rx1144_pos, "infix:sym<==>") - rx1144_cur."!cursor_debug"("PASS ", "infix:sym<==>", " at pos=", rx1144_pos) - .return (rx1144_cur) - rx1144_fail: -.annotate 'line', 446 - (rx1144_rep, rx1144_pos, $I10, $P10) = rx1144_cur."!mark_fail"(0) - lt rx1144_pos, -1, rx1144_done - eq rx1144_pos, -1, rx1144_fail + rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<->") + rx1148_cur."!cursor_debug"("PASS ", "infix:sym<->", " at pos=", rx1148_pos) + .return (rx1148_cur) + rx1148_fail: +.annotate 'line', 447 + (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 - rx1144_done: - rx1144_cur."!cursor_fail"() - rx1144_cur."!cursor_debug"("FAIL ", "infix:sym<==>") - .return (rx1144_cur) + rx1148_done: + rx1148_cur."!cursor_fail"() + rx1148_cur."!cursor_debug"("FAIL ", "infix:sym<->") + .return (rx1148_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<==>" :subid("287_1276996322.81157") :method -.annotate 'line', 446 - $P1146 = self."!PREFIX__!subrule"("O", "==") - new $P1147, "ResizablePMCArray" - push $P1147, $P1146 - .return ($P1147) +.sub "!PREFIX__infix:sym<->" :subid("287_1278500537.15927") :method +.annotate 'line', 447 + $P1150 = self."!PREFIX__!subrule"("O", "-") + new $P1151, "ResizablePMCArray" + push $P1151, $P1150 + .return ($P1151) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("288_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1151_tgt - .local int rx1151_pos - .local int rx1151_off - .local int rx1151_eos - .local int rx1151_rep - .local pmc rx1151_cur - (rx1151_cur, rx1151_pos, rx1151_tgt) = self."!cursor_start"() - rx1151_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1151_cur +.sub "infix:sym<+|>" :subid("288_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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<+|>") + .lex unicode:"$\x{a2}", rx1155_cur .local pmc match .lex "$/", match - length rx1151_eos, rx1151_tgt - gt rx1151_pos, rx1151_eos, rx1151_done - set rx1151_off, 0 - lt rx1151_pos, 2, rx1151_start - sub rx1151_off, rx1151_pos, 1 - substr rx1151_tgt, rx1151_tgt, rx1151_off - rx1151_start: + length rx1155_eos, rx1155_tgt + gt rx1155_pos, rx1155_eos, rx1155_done + 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, rxscan1155_done - goto rxscan1155_scan - rxscan1155_loop: - ($P10) = rx1151_cur."from"() + ne $I10, -1, rxscan1159_done + goto rxscan1159_scan + rxscan1159_loop: + ($P10) = rx1155_cur."from"() inc $P10 - set rx1151_pos, $P10 - ge rx1151_pos, rx1151_eos, rxscan1155_done - rxscan1155_scan: - set_addr $I10, rxscan1155_loop - rx1151_cur."!mark_push"(0, rx1151_pos, $I10) - rxscan1155_done: -.annotate 'line', 516 + 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', 514 # rx subcapture "sym" - set_addr $I10, rxcap_1156_fail - rx1151_cur."!mark_push"(0, rx1151_pos, $I10) - # rx literal "!=" - add $I11, rx1151_pos, 2 - gt $I11, rx1151_eos, rx1151_fail - sub $I11, rx1151_pos, rx1151_off - substr $S10, rx1151_tgt, $I11, 2 - ne $S10, "!=", rx1151_fail - add rx1151_pos, 2 - set_addr $I10, rxcap_1156_fail - ($I12, $I11) = rx1151_cur."!mark_peek"($I10) - rx1151_cur."!cursor_pos"($I11) - ($P10) = rx1151_cur."!cursor_start"() - $P10."!cursor_pass"(rx1151_pos, "") - rx1151_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1160_fail + rx1155_cur."!mark_push"(0, rx1155_pos, $I10) + # rx literal "+|" + 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, "+|", 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_1156_done - rxcap_1156_fail: - goto rx1151_fail - rxcap_1156_done: + goto rxcap_1160_done + rxcap_1160_fail: + goto rx1155_fail + rxcap_1160_done: # rx subrule "O" subtype=capture negate= - rx1151_cur."!cursor_pos"(rx1151_pos) - $P10 = rx1151_cur."O"("%relational, :pirop") - unless $P10, rx1151_fail - rx1151_cur."!mark_push"(0, -1, 0, $P10) + rx1155_cur."!cursor_pos"(rx1155_pos) + $P10 = rx1155_cur."O"("%additive, :pirop") + unless $P10, rx1155_fail + rx1155_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1151_pos = $P10."pos"() + rx1155_pos = $P10."pos"() # rx pass - rx1151_cur."!cursor_pass"(rx1151_pos, "infix:sym") - rx1151_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1151_pos) - .return (rx1151_cur) - rx1151_fail: -.annotate 'line', 446 - (rx1151_rep, rx1151_pos, $I10, $P10) = rx1151_cur."!mark_fail"(0) - lt rx1151_pos, -1, rx1151_done - eq rx1151_pos, -1, rx1151_fail + rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<+|>") + rx1155_cur."!cursor_debug"("PASS ", "infix:sym<+|>", " at pos=", rx1155_pos) + .return (rx1155_cur) + rx1155_fail: +.annotate 'line', 447 + (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 - rx1151_done: - rx1151_cur."!cursor_fail"() - rx1151_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1151_cur) + rx1155_done: + rx1155_cur."!cursor_fail"() + rx1155_cur."!cursor_debug"("FAIL ", "infix:sym<+|>") + .return (rx1155_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("289_1276996322.81157") :method -.annotate 'line', 446 - $P1153 = self."!PREFIX__!subrule"("O", "!=") - new $P1154, "ResizablePMCArray" - push $P1154, $P1153 - .return ($P1154) +.sub "!PREFIX__infix:sym<+|>" :subid("289_1278500537.15927") :method +.annotate 'line', 447 + $P1157 = self."!PREFIX__!subrule"("O", "+|") + new $P1158, "ResizablePMCArray" + push $P1158, $P1157 + .return ($P1158) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<<=>" :subid("290_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1158_tgt - .local int rx1158_pos - .local int rx1158_off - .local int rx1158_eos - .local int rx1158_rep - .local pmc rx1158_cur - (rx1158_cur, rx1158_pos, rx1158_tgt) = self."!cursor_start"() - rx1158_cur."!cursor_debug"("START ", "infix:sym<<=>") - .lex unicode:"$\x{a2}", rx1158_cur +.sub "infix:sym<+^>" :subid("290_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1158_eos, rx1158_tgt - gt rx1158_pos, rx1158_eos, rx1158_done - set rx1158_off, 0 - lt rx1158_pos, 2, rx1158_start - sub rx1158_off, rx1158_pos, 1 - substr rx1158_tgt, rx1158_tgt, rx1158_off - rx1158_start: + length rx1162_eos, rx1162_tgt + gt rx1162_pos, rx1162_eos, rx1162_done + 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, rxscan1162_done - goto rxscan1162_scan - rxscan1162_loop: - ($P10) = rx1158_cur."from"() + ne $I10, -1, rxscan1166_done + goto rxscan1166_scan + rxscan1166_loop: + ($P10) = rx1162_cur."from"() inc $P10 - set rx1158_pos, $P10 - ge rx1158_pos, rx1158_eos, rxscan1162_done - rxscan1162_scan: - set_addr $I10, rxscan1162_loop - rx1158_cur."!mark_push"(0, rx1158_pos, $I10) - rxscan1162_done: -.annotate 'line', 517 + 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', 515 # rx subcapture "sym" - set_addr $I10, rxcap_1163_fail - rx1158_cur."!mark_push"(0, rx1158_pos, $I10) - # rx literal "<=" - add $I11, rx1158_pos, 2 - gt $I11, rx1158_eos, rx1158_fail - sub $I11, rx1158_pos, rx1158_off - substr $S10, rx1158_tgt, $I11, 2 - ne $S10, "<=", rx1158_fail - add rx1158_pos, 2 - set_addr $I10, rxcap_1163_fail - ($I12, $I11) = rx1158_cur."!mark_peek"($I10) - rx1158_cur."!cursor_pos"($I11) - ($P10) = rx1158_cur."!cursor_start"() - $P10."!cursor_pass"(rx1158_pos, "") - rx1158_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1167_fail + rx1162_cur."!mark_push"(0, rx1162_pos, $I10) + # rx literal "+^" + add $I11, rx1162_pos, 2 + gt $I11, rx1162_eos, rx1162_fail + sub $I11, rx1162_pos, rx1162_off + substr $S10, rx1162_tgt, $I11, 2 + ne $S10, "+^", rx1162_fail + add rx1162_pos, 2 + 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_1163_done - rxcap_1163_fail: - goto rx1158_fail - rxcap_1163_done: + goto rxcap_1167_done + rxcap_1167_fail: + goto rx1162_fail + rxcap_1167_done: # rx subrule "O" subtype=capture negate= - rx1158_cur."!cursor_pos"(rx1158_pos) - $P10 = rx1158_cur."O"("%relational, :pirop") - unless $P10, rx1158_fail - rx1158_cur."!mark_push"(0, -1, 0, $P10) + rx1162_cur."!cursor_pos"(rx1162_pos) + $P10 = rx1162_cur."O"("%additive, :pirop") + unless $P10, rx1162_fail + rx1162_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1158_pos = $P10."pos"() + rx1162_pos = $P10."pos"() # rx pass - rx1158_cur."!cursor_pass"(rx1158_pos, "infix:sym<<=>") - rx1158_cur."!cursor_debug"("PASS ", "infix:sym<<=>", " at pos=", rx1158_pos) - .return (rx1158_cur) - rx1158_fail: -.annotate 'line', 446 - (rx1158_rep, rx1158_pos, $I10, $P10) = rx1158_cur."!mark_fail"(0) - lt rx1158_pos, -1, rx1158_done - eq rx1158_pos, -1, rx1158_fail + 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', 447 + (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 - rx1158_done: - rx1158_cur."!cursor_fail"() - rx1158_cur."!cursor_debug"("FAIL ", "infix:sym<<=>") - .return (rx1158_cur) + 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("291_1276996322.81157") :method -.annotate 'line', 446 - $P1160 = self."!PREFIX__!subrule"("O", "<=") - new $P1161, "ResizablePMCArray" - push $P1161, $P1160 - .return ($P1161) +.sub "!PREFIX__infix:sym<+^>" :subid("291_1278500537.15927") :method +.annotate 'line', 447 + $P1164 = self."!PREFIX__!subrule"("O", "+^") + new $P1165, "ResizablePMCArray" + push $P1165, $P1164 + .return ($P1165) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<>=>" :subid("292_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1165_tgt - .local int rx1165_pos - .local int rx1165_off - .local int rx1165_eos - .local int rx1165_rep - .local pmc rx1165_cur - (rx1165_cur, rx1165_pos, rx1165_tgt) = self."!cursor_start"() - rx1165_cur."!cursor_debug"("START ", "infix:sym<>=>") - .lex unicode:"$\x{a2}", rx1165_cur +.sub "infix:sym<~>" :subid("292_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1165_eos, rx1165_tgt - gt rx1165_pos, rx1165_eos, rx1165_done - set rx1165_off, 0 - lt rx1165_pos, 2, rx1165_start - sub rx1165_off, rx1165_pos, 1 - substr rx1165_tgt, rx1165_tgt, rx1165_off - rx1165_start: + length rx1169_eos, rx1169_tgt + gt rx1169_pos, rx1169_eos, rx1169_done + 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, rxscan1169_done - goto rxscan1169_scan - rxscan1169_loop: - ($P10) = rx1165_cur."from"() + ne $I10, -1, rxscan1173_done + goto rxscan1173_scan + rxscan1173_loop: + ($P10) = rx1169_cur."from"() inc $P10 - set rx1165_pos, $P10 - ge rx1165_pos, rx1165_eos, rxscan1169_done - rxscan1169_scan: - set_addr $I10, rxscan1169_loop - rx1165_cur."!mark_push"(0, rx1165_pos, $I10) - rxscan1169_done: -.annotate 'line', 518 + 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', 517 # rx subcapture "sym" - set_addr $I10, rxcap_1170_fail - rx1165_cur."!mark_push"(0, rx1165_pos, $I10) - # rx literal ">=" - add $I11, rx1165_pos, 2 - gt $I11, rx1165_eos, rx1165_fail - sub $I11, rx1165_pos, rx1165_off - substr $S10, rx1165_tgt, $I11, 2 - ne $S10, ">=", rx1165_fail - add rx1165_pos, 2 - set_addr $I10, rxcap_1170_fail - ($I12, $I11) = rx1165_cur."!mark_peek"($I10) - rx1165_cur."!cursor_pos"($I11) - ($P10) = rx1165_cur."!cursor_start"() - $P10."!cursor_pass"(rx1165_pos, "") - rx1165_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1174_fail + rx1169_cur."!mark_push"(0, rx1169_pos, $I10) + # rx literal "~" + add $I11, rx1169_pos, 1 + gt $I11, rx1169_eos, rx1169_fail + sub $I11, rx1169_pos, rx1169_off + substr $S10, rx1169_tgt, $I11, 1 + ne $S10, "~", rx1169_fail + add rx1169_pos, 1 + 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_1170_done - rxcap_1170_fail: - goto rx1165_fail - rxcap_1170_done: + goto rxcap_1174_done + rxcap_1174_fail: + goto rx1169_fail + rxcap_1174_done: # rx subrule "O" subtype=capture negate= - rx1165_cur."!cursor_pos"(rx1165_pos) - $P10 = rx1165_cur."O"("%relational, :pirop") - unless $P10, rx1165_fail - rx1165_cur."!mark_push"(0, -1, 0, $P10) + rx1169_cur."!cursor_pos"(rx1169_pos) + $P10 = rx1169_cur."O"("%concatenation , :pirop") + unless $P10, rx1169_fail + rx1169_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1165_pos = $P10."pos"() + rx1169_pos = $P10."pos"() # rx pass - rx1165_cur."!cursor_pass"(rx1165_pos, "infix:sym<>=>") - rx1165_cur."!cursor_debug"("PASS ", "infix:sym<>=>", " at pos=", rx1165_pos) - .return (rx1165_cur) - rx1165_fail: -.annotate 'line', 446 - (rx1165_rep, rx1165_pos, $I10, $P10) = rx1165_cur."!mark_fail"(0) - lt rx1165_pos, -1, rx1165_done - eq rx1165_pos, -1, rx1165_fail + 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', 447 + (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 - rx1165_done: - rx1165_cur."!cursor_fail"() - rx1165_cur."!cursor_debug"("FAIL ", "infix:sym<>=>") - .return (rx1165_cur) + 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("293_1276996322.81157") :method -.annotate 'line', 446 - $P1167 = self."!PREFIX__!subrule"("O", ">=") - new $P1168, "ResizablePMCArray" - push $P1168, $P1167 - .return ($P1168) +.sub "!PREFIX__infix:sym<~>" :subid("293_1278500537.15927") :method +.annotate 'line', 447 + $P1171 = self."!PREFIX__!subrule"("O", "~") + new $P1172, "ResizablePMCArray" + push $P1172, $P1171 + .return ($P1172) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<<>" :subid("294_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1172_tgt - .local int rx1172_pos - .local int rx1172_off - .local int rx1172_eos - .local int rx1172_rep - .local pmc rx1172_cur - (rx1172_cur, rx1172_pos, rx1172_tgt) = self."!cursor_start"() - rx1172_cur."!cursor_debug"("START ", "infix:sym<<>") - .lex unicode:"$\x{a2}", rx1172_cur +.sub "infix:sym<==>" :subid("294_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1172_eos, rx1172_tgt - gt rx1172_pos, rx1172_eos, rx1172_done - set rx1172_off, 0 - lt rx1172_pos, 2, rx1172_start - sub rx1172_off, rx1172_pos, 1 - substr rx1172_tgt, rx1172_tgt, rx1172_off - rx1172_start: + length rx1176_eos, rx1176_tgt + gt rx1176_pos, rx1176_eos, rx1176_done + 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, rxscan1176_done - goto rxscan1176_scan - rxscan1176_loop: - ($P10) = rx1172_cur."from"() + ne $I10, -1, rxscan1180_done + goto rxscan1180_scan + rxscan1180_loop: + ($P10) = rx1176_cur."from"() inc $P10 - set rx1172_pos, $P10 - ge rx1172_pos, rx1172_eos, rxscan1176_done - rxscan1176_scan: - set_addr $I10, rxscan1176_loop - rx1172_cur."!mark_push"(0, rx1172_pos, $I10) - rxscan1176_done: + 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', 519 # rx subcapture "sym" - set_addr $I10, rxcap_1177_fail - rx1172_cur."!mark_push"(0, rx1172_pos, $I10) - # rx literal "<" - add $I11, rx1172_pos, 1 - gt $I11, rx1172_eos, rx1172_fail - sub $I11, rx1172_pos, rx1172_off - substr $S10, rx1172_tgt, $I11, 1 - ne $S10, "<", rx1172_fail - add rx1172_pos, 1 - set_addr $I10, rxcap_1177_fail - ($I12, $I11) = rx1172_cur."!mark_peek"($I10) - rx1172_cur."!cursor_pos"($I11) - ($P10) = rx1172_cur."!cursor_start"() - $P10."!cursor_pass"(rx1172_pos, "") - rx1172_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1181_fail + rx1176_cur."!mark_push"(0, rx1176_pos, $I10) + # rx literal "==" + 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_1177_done - rxcap_1177_fail: - goto rx1172_fail - rxcap_1177_done: + goto rxcap_1181_done + rxcap_1181_fail: + goto rx1176_fail + rxcap_1181_done: # rx subrule "O" subtype=capture negate= - rx1172_cur."!cursor_pos"(rx1172_pos) - $P10 = rx1172_cur."O"("%relational, :pirop") - unless $P10, rx1172_fail - rx1172_cur."!mark_push"(0, -1, 0, $P10) + rx1176_cur."!cursor_pos"(rx1176_pos) + $P10 = rx1176_cur."O"("%relational, :pirop") + unless $P10, rx1176_fail + rx1176_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1172_pos = $P10."pos"() + rx1176_pos = $P10."pos"() # rx pass - rx1172_cur."!cursor_pass"(rx1172_pos, "infix:sym<<>") - rx1172_cur."!cursor_debug"("PASS ", "infix:sym<<>", " at pos=", rx1172_pos) - .return (rx1172_cur) - rx1172_fail: -.annotate 'line', 446 - (rx1172_rep, rx1172_pos, $I10, $P10) = rx1172_cur."!mark_fail"(0) - lt rx1172_pos, -1, rx1172_done - eq rx1172_pos, -1, rx1172_fail + 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', 447 + (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 - rx1172_done: - rx1172_cur."!cursor_fail"() - rx1172_cur."!cursor_debug"("FAIL ", "infix:sym<<>") - .return (rx1172_cur) + 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("295_1276996322.81157") :method -.annotate 'line', 446 - $P1174 = self."!PREFIX__!subrule"("O", "<") - new $P1175, "ResizablePMCArray" - push $P1175, $P1174 - .return ($P1175) +.sub "!PREFIX__infix:sym<==>" :subid("295_1278500537.15927") :method +.annotate 'line', 447 + $P1178 = self."!PREFIX__!subrule"("O", "==") + new $P1179, "ResizablePMCArray" + push $P1179, $P1178 + .return ($P1179) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<>>" :subid("296_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1179_tgt - .local int rx1179_pos - .local int rx1179_off - .local int rx1179_eos - .local int rx1179_rep - .local pmc rx1179_cur - (rx1179_cur, rx1179_pos, rx1179_tgt) = self."!cursor_start"() - rx1179_cur."!cursor_debug"("START ", "infix:sym<>>") - .lex unicode:"$\x{a2}", rx1179_cur +.sub "infix:sym" :subid("296_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1179_eos, rx1179_tgt - gt rx1179_pos, rx1179_eos, rx1179_done - set rx1179_off, 0 - lt rx1179_pos, 2, rx1179_start - sub rx1179_off, rx1179_pos, 1 - substr rx1179_tgt, rx1179_tgt, rx1179_off - rx1179_start: + length rx1183_eos, rx1183_tgt + gt rx1183_pos, rx1183_eos, rx1183_done + 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, rxscan1183_done - goto rxscan1183_scan - rxscan1183_loop: - ($P10) = rx1179_cur."from"() + ne $I10, -1, rxscan1187_done + goto rxscan1187_scan + rxscan1187_loop: + ($P10) = rx1183_cur."from"() inc $P10 - set rx1179_pos, $P10 - ge rx1179_pos, rx1179_eos, rxscan1183_done - rxscan1183_scan: - set_addr $I10, rxscan1183_loop - rx1179_cur."!mark_push"(0, rx1179_pos, $I10) - rxscan1183_done: + 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', 520 # rx subcapture "sym" - set_addr $I10, rxcap_1184_fail - rx1179_cur."!mark_push"(0, rx1179_pos, $I10) - # rx literal ">" - add $I11, rx1179_pos, 1 - gt $I11, rx1179_eos, rx1179_fail - sub $I11, rx1179_pos, rx1179_off - substr $S10, rx1179_tgt, $I11, 1 - ne $S10, ">", rx1179_fail - add rx1179_pos, 1 - set_addr $I10, rxcap_1184_fail - ($I12, $I11) = rx1179_cur."!mark_peek"($I10) - rx1179_cur."!cursor_pos"($I11) - ($P10) = rx1179_cur."!cursor_start"() - $P10."!cursor_pass"(rx1179_pos, "") - rx1179_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1188_fail + rx1183_cur."!mark_push"(0, rx1183_pos, $I10) + # rx literal "!=" + 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_1184_done - rxcap_1184_fail: - goto rx1179_fail - rxcap_1184_done: + goto rxcap_1188_done + rxcap_1188_fail: + goto rx1183_fail + rxcap_1188_done: # rx subrule "O" subtype=capture negate= - rx1179_cur."!cursor_pos"(rx1179_pos) - $P10 = rx1179_cur."O"("%relational, :pirop") - unless $P10, rx1179_fail - rx1179_cur."!mark_push"(0, -1, 0, $P10) + rx1183_cur."!cursor_pos"(rx1183_pos) + $P10 = rx1183_cur."O"("%relational, :pirop") + unless $P10, rx1183_fail + rx1183_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1179_pos = $P10."pos"() + rx1183_pos = $P10."pos"() # rx pass - rx1179_cur."!cursor_pass"(rx1179_pos, "infix:sym<>>") - rx1179_cur."!cursor_debug"("PASS ", "infix:sym<>>", " at pos=", rx1179_pos) - .return (rx1179_cur) - rx1179_fail: -.annotate 'line', 446 - (rx1179_rep, rx1179_pos, $I10, $P10) = rx1179_cur."!mark_fail"(0) - lt rx1179_pos, -1, rx1179_done - eq rx1179_pos, -1, rx1179_fail + 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', 447 + (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 - rx1179_done: - rx1179_cur."!cursor_fail"() - rx1179_cur."!cursor_debug"("FAIL ", "infix:sym<>>") - .return (rx1179_cur) + 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("297_1276996322.81157") :method -.annotate 'line', 446 - $P1181 = self."!PREFIX__!subrule"("O", ">") - new $P1182, "ResizablePMCArray" - push $P1182, $P1181 - .return ($P1182) +.sub "!PREFIX__infix:sym" :subid("297_1278500537.15927") :method +.annotate 'line', 447 + $P1185 = self."!PREFIX__!subrule"("O", "!=") + new $P1186, "ResizablePMCArray" + push $P1186, $P1185 + .return ($P1186) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("298_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1186_tgt - .local int rx1186_pos - .local int rx1186_off - .local int rx1186_eos - .local int rx1186_rep - .local pmc rx1186_cur - (rx1186_cur, rx1186_pos, rx1186_tgt) = self."!cursor_start"() - rx1186_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1186_cur +.sub "infix:sym<<=>" :subid("298_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1186_eos, rx1186_tgt - gt rx1186_pos, rx1186_eos, rx1186_done - set rx1186_off, 0 - lt rx1186_pos, 2, rx1186_start - sub rx1186_off, rx1186_pos, 1 - substr rx1186_tgt, rx1186_tgt, rx1186_off - rx1186_start: + length rx1190_eos, rx1190_tgt + gt rx1190_pos, rx1190_eos, rx1190_done + 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, rxscan1190_done - goto rxscan1190_scan - rxscan1190_loop: - ($P10) = rx1186_cur."from"() + ne $I10, -1, rxscan1194_done + goto rxscan1194_scan + rxscan1194_loop: + ($P10) = rx1190_cur."from"() inc $P10 - set rx1186_pos, $P10 - ge rx1186_pos, rx1186_eos, rxscan1190_done - rxscan1190_scan: - set_addr $I10, rxscan1190_loop - rx1186_cur."!mark_push"(0, rx1186_pos, $I10) - rxscan1190_done: + 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', 521 # rx subcapture "sym" - set_addr $I10, rxcap_1191_fail - rx1186_cur."!mark_push"(0, rx1186_pos, $I10) - # rx literal "eq" - add $I11, rx1186_pos, 2 - gt $I11, rx1186_eos, rx1186_fail - sub $I11, rx1186_pos, rx1186_off - substr $S10, rx1186_tgt, $I11, 2 - ne $S10, "eq", rx1186_fail - add rx1186_pos, 2 - set_addr $I10, rxcap_1191_fail - ($I12, $I11) = rx1186_cur."!mark_peek"($I10) - rx1186_cur."!cursor_pos"($I11) - ($P10) = rx1186_cur."!cursor_start"() - $P10."!cursor_pass"(rx1186_pos, "") - rx1186_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1195_fail + rx1190_cur."!mark_push"(0, rx1190_pos, $I10) + # rx literal "<=" + 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_1191_done - rxcap_1191_fail: - goto rx1186_fail - rxcap_1191_done: + goto rxcap_1195_done + rxcap_1195_fail: + goto rx1190_fail + rxcap_1195_done: # rx subrule "O" subtype=capture negate= - rx1186_cur."!cursor_pos"(rx1186_pos) - $P10 = rx1186_cur."O"("%relational, :pirop") - unless $P10, rx1186_fail - rx1186_cur."!mark_push"(0, -1, 0, $P10) + rx1190_cur."!cursor_pos"(rx1190_pos) + $P10 = rx1190_cur."O"("%relational, :pirop") + unless $P10, rx1190_fail + rx1190_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1186_pos = $P10."pos"() + rx1190_pos = $P10."pos"() # rx pass - rx1186_cur."!cursor_pass"(rx1186_pos, "infix:sym") - rx1186_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1186_pos) - .return (rx1186_cur) - rx1186_fail: -.annotate 'line', 446 - (rx1186_rep, rx1186_pos, $I10, $P10) = rx1186_cur."!mark_fail"(0) - lt rx1186_pos, -1, rx1186_done - eq rx1186_pos, -1, rx1186_fail + 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', 447 + (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 - rx1186_done: - rx1186_cur."!cursor_fail"() - rx1186_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1186_cur) + 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("299_1276996322.81157") :method -.annotate 'line', 446 - $P1188 = self."!PREFIX__!subrule"("O", "eq") - new $P1189, "ResizablePMCArray" - push $P1189, $P1188 - .return ($P1189) +.sub "!PREFIX__infix:sym<<=>" :subid("299_1278500537.15927") :method +.annotate 'line', 447 + $P1192 = self."!PREFIX__!subrule"("O", "<=") + new $P1193, "ResizablePMCArray" + push $P1193, $P1192 + .return ($P1193) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("300_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1193_tgt - .local int rx1193_pos - .local int rx1193_off - .local int rx1193_eos - .local int rx1193_rep - .local pmc rx1193_cur - (rx1193_cur, rx1193_pos, rx1193_tgt) = self."!cursor_start"() - rx1193_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1193_cur +.sub "infix:sym<>=>" :subid("300_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 rx1193_eos, rx1193_tgt - gt rx1193_pos, rx1193_eos, rx1193_done - set rx1193_off, 0 - lt rx1193_pos, 2, rx1193_start - sub rx1193_off, rx1193_pos, 1 - substr rx1193_tgt, rx1193_tgt, rx1193_off - rx1193_start: + length rx1197_eos, rx1197_tgt + gt rx1197_pos, rx1197_eos, rx1197_done + 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, rxscan1197_done - goto rxscan1197_scan - rxscan1197_loop: - ($P10) = rx1193_cur."from"() + ne $I10, -1, rxscan1201_done + goto rxscan1201_scan + rxscan1201_loop: + ($P10) = rx1197_cur."from"() inc $P10 - set rx1193_pos, $P10 - ge rx1193_pos, rx1193_eos, rxscan1197_done - rxscan1197_scan: - set_addr $I10, rxscan1197_loop - rx1193_cur."!mark_push"(0, rx1193_pos, $I10) - rxscan1197_done: + 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', 522 # rx subcapture "sym" - set_addr $I10, rxcap_1198_fail - rx1193_cur."!mark_push"(0, rx1193_pos, $I10) - # rx literal "ne" - add $I11, rx1193_pos, 2 - gt $I11, rx1193_eos, rx1193_fail - sub $I11, rx1193_pos, rx1193_off - substr $S10, rx1193_tgt, $I11, 2 - ne $S10, "ne", rx1193_fail - add rx1193_pos, 2 - set_addr $I10, rxcap_1198_fail - ($I12, $I11) = rx1193_cur."!mark_peek"($I10) - rx1193_cur."!cursor_pos"($I11) - ($P10) = rx1193_cur."!cursor_start"() - $P10."!cursor_pass"(rx1193_pos, "") - rx1193_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1202_fail + rx1197_cur."!mark_push"(0, rx1197_pos, $I10) + # rx literal ">=" + 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 + set_addr $I10, rxcap_1202_fail + ($I12, $I11) = rx1197_cur."!mark_peek"($I10) + rx1197_cur."!cursor_pos"($I11) + ($P10) = rx1197_cur."!cursor_start"() + $P10."!cursor_pass"(rx1197_pos, "") + rx1197_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1198_done - rxcap_1198_fail: - goto rx1193_fail - rxcap_1198_done: + goto rxcap_1202_done + rxcap_1202_fail: + goto rx1197_fail + rxcap_1202_done: # rx subrule "O" subtype=capture negate= - rx1193_cur."!cursor_pos"(rx1193_pos) - $P10 = rx1193_cur."O"("%relational, :pirop") - unless $P10, rx1193_fail - rx1193_cur."!mark_push"(0, -1, 0, $P10) + rx1197_cur."!cursor_pos"(rx1197_pos) + $P10 = rx1197_cur."O"("%relational, :pirop") + unless $P10, rx1197_fail + rx1197_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1193_pos = $P10."pos"() + rx1197_pos = $P10."pos"() # rx pass - rx1193_cur."!cursor_pass"(rx1193_pos, "infix:sym") - rx1193_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1193_pos) - .return (rx1193_cur) - rx1193_fail: -.annotate 'line', 446 - (rx1193_rep, rx1193_pos, $I10, $P10) = rx1193_cur."!mark_fail"(0) - lt rx1193_pos, -1, rx1193_done - eq rx1193_pos, -1, rx1193_fail + 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', 447 + (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 - rx1193_done: - rx1193_cur."!cursor_fail"() - rx1193_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1193_cur) + 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("301_1276996322.81157") :method -.annotate 'line', 446 - $P1195 = self."!PREFIX__!subrule"("O", "ne") - new $P1196, "ResizablePMCArray" - push $P1196, $P1195 - .return ($P1196) +.sub "!PREFIX__infix:sym<>=>" :subid("301_1278500537.15927") :method +.annotate 'line', 447 + $P1199 = self."!PREFIX__!subrule"("O", ">=") + new $P1200, "ResizablePMCArray" + push $P1200, $P1199 + .return ($P1200) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("302_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1200_tgt - .local int rx1200_pos - .local int rx1200_off - .local int rx1200_eos - .local int rx1200_rep - .local pmc rx1200_cur - (rx1200_cur, rx1200_pos, rx1200_tgt) = self."!cursor_start"() - rx1200_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1200_cur +.sub "infix:sym<<>" :subid("302_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1204_tgt + .local int rx1204_pos + .local int rx1204_off + .local int rx1204_eos + .local int rx1204_rep + .local pmc rx1204_cur + (rx1204_cur, rx1204_pos, rx1204_tgt) = self."!cursor_start"() + rx1204_cur."!cursor_debug"("START ", "infix:sym<<>") + .lex unicode:"$\x{a2}", rx1204_cur .local pmc match .lex "$/", match - length rx1200_eos, rx1200_tgt - gt rx1200_pos, rx1200_eos, rx1200_done - set rx1200_off, 0 - lt rx1200_pos, 2, rx1200_start - sub rx1200_off, rx1200_pos, 1 - substr rx1200_tgt, rx1200_tgt, rx1200_off - rx1200_start: + length rx1204_eos, rx1204_tgt + gt rx1204_pos, rx1204_eos, rx1204_done + set rx1204_off, 0 + lt rx1204_pos, 2, rx1204_start + sub rx1204_off, rx1204_pos, 1 + substr rx1204_tgt, rx1204_tgt, rx1204_off + rx1204_start: $I10 = self.'from'() - ne $I10, -1, rxscan1204_done - goto rxscan1204_scan - rxscan1204_loop: - ($P10) = rx1200_cur."from"() + ne $I10, -1, rxscan1208_done + goto rxscan1208_scan + rxscan1208_loop: + ($P10) = rx1204_cur."from"() inc $P10 - set rx1200_pos, $P10 - ge rx1200_pos, rx1200_eos, rxscan1204_done - rxscan1204_scan: - set_addr $I10, rxscan1204_loop - rx1200_cur."!mark_push"(0, rx1200_pos, $I10) - rxscan1204_done: + set rx1204_pos, $P10 + ge rx1204_pos, rx1204_eos, rxscan1208_done + rxscan1208_scan: + set_addr $I10, rxscan1208_loop + rx1204_cur."!mark_push"(0, rx1204_pos, $I10) + rxscan1208_done: .annotate 'line', 523 # rx subcapture "sym" - set_addr $I10, rxcap_1205_fail - rx1200_cur."!mark_push"(0, rx1200_pos, $I10) - # rx literal "le" - add $I11, rx1200_pos, 2 - gt $I11, rx1200_eos, rx1200_fail - sub $I11, rx1200_pos, rx1200_off - substr $S10, rx1200_tgt, $I11, 2 - ne $S10, "le", rx1200_fail - add rx1200_pos, 2 - set_addr $I10, rxcap_1205_fail - ($I12, $I11) = rx1200_cur."!mark_peek"($I10) - rx1200_cur."!cursor_pos"($I11) - ($P10) = rx1200_cur."!cursor_start"() - $P10."!cursor_pass"(rx1200_pos, "") - rx1200_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1209_fail + rx1204_cur."!mark_push"(0, rx1204_pos, $I10) + # rx literal "<" + add $I11, rx1204_pos, 1 + gt $I11, rx1204_eos, rx1204_fail + sub $I11, rx1204_pos, rx1204_off + substr $S10, rx1204_tgt, $I11, 1 + ne $S10, "<", rx1204_fail + add rx1204_pos, 1 + set_addr $I10, rxcap_1209_fail + ($I12, $I11) = rx1204_cur."!mark_peek"($I10) + rx1204_cur."!cursor_pos"($I11) + ($P10) = rx1204_cur."!cursor_start"() + $P10."!cursor_pass"(rx1204_pos, "") + rx1204_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1205_done - rxcap_1205_fail: - goto rx1200_fail - rxcap_1205_done: + goto rxcap_1209_done + rxcap_1209_fail: + goto rx1204_fail + rxcap_1209_done: # rx subrule "O" subtype=capture negate= - rx1200_cur."!cursor_pos"(rx1200_pos) - $P10 = rx1200_cur."O"("%relational, :pirop") - unless $P10, rx1200_fail - rx1200_cur."!mark_push"(0, -1, 0, $P10) + rx1204_cur."!cursor_pos"(rx1204_pos) + $P10 = rx1204_cur."O"("%relational, :pirop") + unless $P10, rx1204_fail + rx1204_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1200_pos = $P10."pos"() + rx1204_pos = $P10."pos"() # rx pass - rx1200_cur."!cursor_pass"(rx1200_pos, "infix:sym") - rx1200_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1200_pos) - .return (rx1200_cur) - rx1200_fail: -.annotate 'line', 446 - (rx1200_rep, rx1200_pos, $I10, $P10) = rx1200_cur."!mark_fail"(0) - lt rx1200_pos, -1, rx1200_done - eq rx1200_pos, -1, rx1200_fail + rx1204_cur."!cursor_pass"(rx1204_pos, "infix:sym<<>") + rx1204_cur."!cursor_debug"("PASS ", "infix:sym<<>", " at pos=", rx1204_pos) + .return (rx1204_cur) + rx1204_fail: +.annotate 'line', 447 + (rx1204_rep, rx1204_pos, $I10, $P10) = rx1204_cur."!mark_fail"(0) + lt rx1204_pos, -1, rx1204_done + eq rx1204_pos, -1, rx1204_fail jump $I10 - rx1200_done: - rx1200_cur."!cursor_fail"() - rx1200_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1200_cur) + rx1204_done: + rx1204_cur."!cursor_fail"() + rx1204_cur."!cursor_debug"("FAIL ", "infix:sym<<>") + .return (rx1204_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("303_1276996322.81157") :method -.annotate 'line', 446 - $P1202 = self."!PREFIX__!subrule"("O", "le") - new $P1203, "ResizablePMCArray" - push $P1203, $P1202 - .return ($P1203) +.sub "!PREFIX__infix:sym<<>" :subid("303_1278500537.15927") :method +.annotate 'line', 447 + $P1206 = self."!PREFIX__!subrule"("O", "<") + new $P1207, "ResizablePMCArray" + push $P1207, $P1206 + .return ($P1207) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("304_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1207_tgt - .local int rx1207_pos - .local int rx1207_off - .local int rx1207_eos - .local int rx1207_rep - .local pmc rx1207_cur - (rx1207_cur, rx1207_pos, rx1207_tgt) = self."!cursor_start"() - rx1207_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1207_cur +.sub "infix:sym<>>" :subid("304_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1211_tgt + .local int rx1211_pos + .local int rx1211_off + .local int rx1211_eos + .local int rx1211_rep + .local pmc rx1211_cur + (rx1211_cur, rx1211_pos, rx1211_tgt) = self."!cursor_start"() + rx1211_cur."!cursor_debug"("START ", "infix:sym<>>") + .lex unicode:"$\x{a2}", rx1211_cur .local pmc match .lex "$/", match - length rx1207_eos, rx1207_tgt - gt rx1207_pos, rx1207_eos, rx1207_done - set rx1207_off, 0 - lt rx1207_pos, 2, rx1207_start - sub rx1207_off, rx1207_pos, 1 - substr rx1207_tgt, rx1207_tgt, rx1207_off - rx1207_start: + length rx1211_eos, rx1211_tgt + gt rx1211_pos, rx1211_eos, rx1211_done + set rx1211_off, 0 + lt rx1211_pos, 2, rx1211_start + sub rx1211_off, rx1211_pos, 1 + substr rx1211_tgt, rx1211_tgt, rx1211_off + rx1211_start: $I10 = self.'from'() - ne $I10, -1, rxscan1211_done - goto rxscan1211_scan - rxscan1211_loop: - ($P10) = rx1207_cur."from"() + ne $I10, -1, rxscan1215_done + goto rxscan1215_scan + rxscan1215_loop: + ($P10) = rx1211_cur."from"() inc $P10 - set rx1207_pos, $P10 - ge rx1207_pos, rx1207_eos, rxscan1211_done - rxscan1211_scan: - set_addr $I10, rxscan1211_loop - rx1207_cur."!mark_push"(0, rx1207_pos, $I10) - rxscan1211_done: + set rx1211_pos, $P10 + ge rx1211_pos, rx1211_eos, rxscan1215_done + rxscan1215_scan: + set_addr $I10, rxscan1215_loop + rx1211_cur."!mark_push"(0, rx1211_pos, $I10) + rxscan1215_done: .annotate 'line', 524 # rx subcapture "sym" - set_addr $I10, rxcap_1212_fail - rx1207_cur."!mark_push"(0, rx1207_pos, $I10) - # rx literal "ge" - add $I11, rx1207_pos, 2 - gt $I11, rx1207_eos, rx1207_fail - sub $I11, rx1207_pos, rx1207_off - substr $S10, rx1207_tgt, $I11, 2 - ne $S10, "ge", rx1207_fail - add rx1207_pos, 2 - set_addr $I10, rxcap_1212_fail - ($I12, $I11) = rx1207_cur."!mark_peek"($I10) - rx1207_cur."!cursor_pos"($I11) - ($P10) = rx1207_cur."!cursor_start"() - $P10."!cursor_pass"(rx1207_pos, "") - rx1207_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1216_fail + rx1211_cur."!mark_push"(0, rx1211_pos, $I10) + # rx literal ">" + add $I11, rx1211_pos, 1 + gt $I11, rx1211_eos, rx1211_fail + sub $I11, rx1211_pos, rx1211_off + substr $S10, rx1211_tgt, $I11, 1 + ne $S10, ">", rx1211_fail + add rx1211_pos, 1 + set_addr $I10, rxcap_1216_fail + ($I12, $I11) = rx1211_cur."!mark_peek"($I10) + rx1211_cur."!cursor_pos"($I11) + ($P10) = rx1211_cur."!cursor_start"() + $P10."!cursor_pass"(rx1211_pos, "") + rx1211_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1212_done - rxcap_1212_fail: - goto rx1207_fail - rxcap_1212_done: + goto rxcap_1216_done + rxcap_1216_fail: + goto rx1211_fail + rxcap_1216_done: # rx subrule "O" subtype=capture negate= - rx1207_cur."!cursor_pos"(rx1207_pos) - $P10 = rx1207_cur."O"("%relational, :pirop") - unless $P10, rx1207_fail - rx1207_cur."!mark_push"(0, -1, 0, $P10) + rx1211_cur."!cursor_pos"(rx1211_pos) + $P10 = rx1211_cur."O"("%relational, :pirop") + unless $P10, rx1211_fail + rx1211_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1207_pos = $P10."pos"() + rx1211_pos = $P10."pos"() # rx pass - rx1207_cur."!cursor_pass"(rx1207_pos, "infix:sym") - rx1207_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1207_pos) - .return (rx1207_cur) - rx1207_fail: -.annotate 'line', 446 - (rx1207_rep, rx1207_pos, $I10, $P10) = rx1207_cur."!mark_fail"(0) - lt rx1207_pos, -1, rx1207_done - eq rx1207_pos, -1, rx1207_fail + rx1211_cur."!cursor_pass"(rx1211_pos, "infix:sym<>>") + rx1211_cur."!cursor_debug"("PASS ", "infix:sym<>>", " at pos=", rx1211_pos) + .return (rx1211_cur) + rx1211_fail: +.annotate 'line', 447 + (rx1211_rep, rx1211_pos, $I10, $P10) = rx1211_cur."!mark_fail"(0) + lt rx1211_pos, -1, rx1211_done + eq rx1211_pos, -1, rx1211_fail jump $I10 - rx1207_done: - rx1207_cur."!cursor_fail"() - rx1207_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1207_cur) + rx1211_done: + rx1211_cur."!cursor_fail"() + rx1211_cur."!cursor_debug"("FAIL ", "infix:sym<>>") + .return (rx1211_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("305_1276996322.81157") :method -.annotate 'line', 446 - $P1209 = self."!PREFIX__!subrule"("O", "ge") - new $P1210, "ResizablePMCArray" - push $P1210, $P1209 - .return ($P1210) +.sub "!PREFIX__infix:sym<>>" :subid("305_1278500537.15927") :method +.annotate 'line', 447 + $P1213 = self."!PREFIX__!subrule"("O", ">") + new $P1214, "ResizablePMCArray" + push $P1214, $P1213 + .return ($P1214) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("306_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1214_tgt - .local int rx1214_pos - .local int rx1214_off - .local int rx1214_eos - .local int rx1214_rep - .local pmc rx1214_cur - (rx1214_cur, rx1214_pos, rx1214_tgt) = self."!cursor_start"() - rx1214_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1214_cur +.sub "infix:sym" :subid("306_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1218_tgt + .local int rx1218_pos + .local int rx1218_off + .local int rx1218_eos + .local int rx1218_rep + .local pmc rx1218_cur + (rx1218_cur, rx1218_pos, rx1218_tgt) = self."!cursor_start"() + rx1218_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1218_cur .local pmc match .lex "$/", match - length rx1214_eos, rx1214_tgt - gt rx1214_pos, rx1214_eos, rx1214_done - set rx1214_off, 0 - lt rx1214_pos, 2, rx1214_start - sub rx1214_off, rx1214_pos, 1 - substr rx1214_tgt, rx1214_tgt, rx1214_off - rx1214_start: + length rx1218_eos, rx1218_tgt + gt rx1218_pos, rx1218_eos, rx1218_done + set rx1218_off, 0 + lt rx1218_pos, 2, rx1218_start + sub rx1218_off, rx1218_pos, 1 + substr rx1218_tgt, rx1218_tgt, rx1218_off + rx1218_start: $I10 = self.'from'() - ne $I10, -1, rxscan1218_done - goto rxscan1218_scan - rxscan1218_loop: - ($P10) = rx1214_cur."from"() + ne $I10, -1, rxscan1222_done + goto rxscan1222_scan + rxscan1222_loop: + ($P10) = rx1218_cur."from"() inc $P10 - set rx1214_pos, $P10 - ge rx1214_pos, rx1214_eos, rxscan1218_done - rxscan1218_scan: - set_addr $I10, rxscan1218_loop - rx1214_cur."!mark_push"(0, rx1214_pos, $I10) - rxscan1218_done: + set rx1218_pos, $P10 + ge rx1218_pos, rx1218_eos, rxscan1222_done + rxscan1222_scan: + set_addr $I10, rxscan1222_loop + rx1218_cur."!mark_push"(0, rx1218_pos, $I10) + rxscan1222_done: .annotate 'line', 525 # rx subcapture "sym" - set_addr $I10, rxcap_1219_fail - rx1214_cur."!mark_push"(0, rx1214_pos, $I10) - # rx literal "lt" - add $I11, rx1214_pos, 2 - gt $I11, rx1214_eos, rx1214_fail - sub $I11, rx1214_pos, rx1214_off - substr $S10, rx1214_tgt, $I11, 2 - ne $S10, "lt", rx1214_fail - add rx1214_pos, 2 - set_addr $I10, rxcap_1219_fail - ($I12, $I11) = rx1214_cur."!mark_peek"($I10) - rx1214_cur."!cursor_pos"($I11) - ($P10) = rx1214_cur."!cursor_start"() - $P10."!cursor_pass"(rx1214_pos, "") - rx1214_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1223_fail + rx1218_cur."!mark_push"(0, rx1218_pos, $I10) + # rx literal "eq" + add $I11, rx1218_pos, 2 + gt $I11, rx1218_eos, rx1218_fail + sub $I11, rx1218_pos, rx1218_off + substr $S10, rx1218_tgt, $I11, 2 + ne $S10, "eq", rx1218_fail + add rx1218_pos, 2 + set_addr $I10, rxcap_1223_fail + ($I12, $I11) = rx1218_cur."!mark_peek"($I10) + rx1218_cur."!cursor_pos"($I11) + ($P10) = rx1218_cur."!cursor_start"() + $P10."!cursor_pass"(rx1218_pos, "") + rx1218_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1219_done - rxcap_1219_fail: - goto rx1214_fail - rxcap_1219_done: + goto rxcap_1223_done + rxcap_1223_fail: + goto rx1218_fail + rxcap_1223_done: # rx subrule "O" subtype=capture negate= - rx1214_cur."!cursor_pos"(rx1214_pos) - $P10 = rx1214_cur."O"("%relational, :pirop") - unless $P10, rx1214_fail - rx1214_cur."!mark_push"(0, -1, 0, $P10) + rx1218_cur."!cursor_pos"(rx1218_pos) + $P10 = rx1218_cur."O"("%relational, :pirop") + unless $P10, rx1218_fail + rx1218_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1214_pos = $P10."pos"() + rx1218_pos = $P10."pos"() # rx pass - rx1214_cur."!cursor_pass"(rx1214_pos, "infix:sym") - rx1214_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1214_pos) - .return (rx1214_cur) - rx1214_fail: -.annotate 'line', 446 - (rx1214_rep, rx1214_pos, $I10, $P10) = rx1214_cur."!mark_fail"(0) - lt rx1214_pos, -1, rx1214_done - eq rx1214_pos, -1, rx1214_fail + rx1218_cur."!cursor_pass"(rx1218_pos, "infix:sym") + rx1218_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1218_pos) + .return (rx1218_cur) + rx1218_fail: +.annotate 'line', 447 + (rx1218_rep, rx1218_pos, $I10, $P10) = rx1218_cur."!mark_fail"(0) + lt rx1218_pos, -1, rx1218_done + eq rx1218_pos, -1, rx1218_fail jump $I10 - rx1214_done: - rx1214_cur."!cursor_fail"() - rx1214_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1214_cur) + rx1218_done: + rx1218_cur."!cursor_fail"() + rx1218_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1218_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("307_1276996322.81157") :method -.annotate 'line', 446 - $P1216 = self."!PREFIX__!subrule"("O", "lt") - new $P1217, "ResizablePMCArray" - push $P1217, $P1216 - .return ($P1217) +.sub "!PREFIX__infix:sym" :subid("307_1278500537.15927") :method +.annotate 'line', 447 + $P1220 = self."!PREFIX__!subrule"("O", "eq") + new $P1221, "ResizablePMCArray" + push $P1221, $P1220 + .return ($P1221) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("308_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1221_tgt - .local int rx1221_pos - .local int rx1221_off - .local int rx1221_eos - .local int rx1221_rep - .local pmc rx1221_cur - (rx1221_cur, rx1221_pos, rx1221_tgt) = self."!cursor_start"() - rx1221_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1221_cur +.sub "infix:sym" :subid("308_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1225_tgt + .local int rx1225_pos + .local int rx1225_off + .local int rx1225_eos + .local int rx1225_rep + .local pmc rx1225_cur + (rx1225_cur, rx1225_pos, rx1225_tgt) = self."!cursor_start"() + rx1225_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1225_cur .local pmc match .lex "$/", match - length rx1221_eos, rx1221_tgt - gt rx1221_pos, rx1221_eos, rx1221_done - set rx1221_off, 0 - lt rx1221_pos, 2, rx1221_start - sub rx1221_off, rx1221_pos, 1 - substr rx1221_tgt, rx1221_tgt, rx1221_off - rx1221_start: + length rx1225_eos, rx1225_tgt + gt rx1225_pos, rx1225_eos, rx1225_done + set rx1225_off, 0 + lt rx1225_pos, 2, rx1225_start + sub rx1225_off, rx1225_pos, 1 + substr rx1225_tgt, rx1225_tgt, rx1225_off + rx1225_start: $I10 = self.'from'() - ne $I10, -1, rxscan1225_done - goto rxscan1225_scan - rxscan1225_loop: - ($P10) = rx1221_cur."from"() + ne $I10, -1, rxscan1229_done + goto rxscan1229_scan + rxscan1229_loop: + ($P10) = rx1225_cur."from"() inc $P10 - set rx1221_pos, $P10 - ge rx1221_pos, rx1221_eos, rxscan1225_done - rxscan1225_scan: - set_addr $I10, rxscan1225_loop - rx1221_cur."!mark_push"(0, rx1221_pos, $I10) - rxscan1225_done: + set rx1225_pos, $P10 + ge rx1225_pos, rx1225_eos, rxscan1229_done + rxscan1229_scan: + set_addr $I10, rxscan1229_loop + rx1225_cur."!mark_push"(0, rx1225_pos, $I10) + rxscan1229_done: .annotate 'line', 526 # rx subcapture "sym" - set_addr $I10, rxcap_1226_fail - rx1221_cur."!mark_push"(0, rx1221_pos, $I10) - # rx literal "gt" - add $I11, rx1221_pos, 2 - gt $I11, rx1221_eos, rx1221_fail - sub $I11, rx1221_pos, rx1221_off - substr $S10, rx1221_tgt, $I11, 2 - ne $S10, "gt", rx1221_fail - add rx1221_pos, 2 - set_addr $I10, rxcap_1226_fail - ($I12, $I11) = rx1221_cur."!mark_peek"($I10) - rx1221_cur."!cursor_pos"($I11) - ($P10) = rx1221_cur."!cursor_start"() - $P10."!cursor_pass"(rx1221_pos, "") - rx1221_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1230_fail + rx1225_cur."!mark_push"(0, rx1225_pos, $I10) + # rx literal "ne" + add $I11, rx1225_pos, 2 + gt $I11, rx1225_eos, rx1225_fail + sub $I11, rx1225_pos, rx1225_off + substr $S10, rx1225_tgt, $I11, 2 + ne $S10, "ne", rx1225_fail + add rx1225_pos, 2 + set_addr $I10, rxcap_1230_fail + ($I12, $I11) = rx1225_cur."!mark_peek"($I10) + rx1225_cur."!cursor_pos"($I11) + ($P10) = rx1225_cur."!cursor_start"() + $P10."!cursor_pass"(rx1225_pos, "") + rx1225_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1226_done - rxcap_1226_fail: - goto rx1221_fail - rxcap_1226_done: + goto rxcap_1230_done + rxcap_1230_fail: + goto rx1225_fail + rxcap_1230_done: # rx subrule "O" subtype=capture negate= - rx1221_cur."!cursor_pos"(rx1221_pos) - $P10 = rx1221_cur."O"("%relational, :pirop") - unless $P10, rx1221_fail - rx1221_cur."!mark_push"(0, -1, 0, $P10) + rx1225_cur."!cursor_pos"(rx1225_pos) + $P10 = rx1225_cur."O"("%relational, :pirop") + unless $P10, rx1225_fail + rx1225_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1221_pos = $P10."pos"() + rx1225_pos = $P10."pos"() # rx pass - rx1221_cur."!cursor_pass"(rx1221_pos, "infix:sym") - rx1221_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1221_pos) - .return (rx1221_cur) - rx1221_fail: -.annotate 'line', 446 - (rx1221_rep, rx1221_pos, $I10, $P10) = rx1221_cur."!mark_fail"(0) - lt rx1221_pos, -1, rx1221_done - eq rx1221_pos, -1, rx1221_fail + rx1225_cur."!cursor_pass"(rx1225_pos, "infix:sym") + rx1225_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1225_pos) + .return (rx1225_cur) + rx1225_fail: +.annotate 'line', 447 + (rx1225_rep, rx1225_pos, $I10, $P10) = rx1225_cur."!mark_fail"(0) + lt rx1225_pos, -1, rx1225_done + eq rx1225_pos, -1, rx1225_fail jump $I10 - rx1221_done: - rx1221_cur."!cursor_fail"() - rx1221_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1221_cur) + rx1225_done: + rx1225_cur."!cursor_fail"() + rx1225_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1225_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("309_1276996322.81157") :method -.annotate 'line', 446 - $P1223 = self."!PREFIX__!subrule"("O", "gt") - new $P1224, "ResizablePMCArray" - push $P1224, $P1223 - .return ($P1224) +.sub "!PREFIX__infix:sym" :subid("309_1278500537.15927") :method +.annotate 'line', 447 + $P1227 = self."!PREFIX__!subrule"("O", "ne") + new $P1228, "ResizablePMCArray" + push $P1228, $P1227 + .return ($P1228) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<=:=>" :subid("310_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1228_tgt - .local int rx1228_pos - .local int rx1228_off - .local int rx1228_eos - .local int rx1228_rep - .local pmc rx1228_cur - (rx1228_cur, rx1228_pos, rx1228_tgt) = self."!cursor_start"() - rx1228_cur."!cursor_debug"("START ", "infix:sym<=:=>") - .lex unicode:"$\x{a2}", rx1228_cur +.sub "infix:sym" :subid("310_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1232_tgt + .local int rx1232_pos + .local int rx1232_off + .local int rx1232_eos + .local int rx1232_rep + .local pmc rx1232_cur + (rx1232_cur, rx1232_pos, rx1232_tgt) = self."!cursor_start"() + rx1232_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1232_cur .local pmc match .lex "$/", match - length rx1228_eos, rx1228_tgt - gt rx1228_pos, rx1228_eos, rx1228_done - set rx1228_off, 0 - lt rx1228_pos, 2, rx1228_start - sub rx1228_off, rx1228_pos, 1 - substr rx1228_tgt, rx1228_tgt, rx1228_off - rx1228_start: + length rx1232_eos, rx1232_tgt + gt rx1232_pos, rx1232_eos, rx1232_done + set rx1232_off, 0 + lt rx1232_pos, 2, rx1232_start + sub rx1232_off, rx1232_pos, 1 + substr rx1232_tgt, rx1232_tgt, rx1232_off + rx1232_start: $I10 = self.'from'() - ne $I10, -1, rxscan1232_done - goto rxscan1232_scan - rxscan1232_loop: - ($P10) = rx1228_cur."from"() + ne $I10, -1, rxscan1236_done + goto rxscan1236_scan + rxscan1236_loop: + ($P10) = rx1232_cur."from"() inc $P10 - set rx1228_pos, $P10 - ge rx1228_pos, rx1228_eos, rxscan1232_done - rxscan1232_scan: - set_addr $I10, rxscan1232_loop - rx1228_cur."!mark_push"(0, rx1228_pos, $I10) - rxscan1232_done: + set rx1232_pos, $P10 + ge rx1232_pos, rx1232_eos, rxscan1236_done + rxscan1236_scan: + set_addr $I10, rxscan1236_loop + rx1232_cur."!mark_push"(0, rx1232_pos, $I10) + rxscan1236_done: .annotate 'line', 527 # rx subcapture "sym" - set_addr $I10, rxcap_1233_fail - rx1228_cur."!mark_push"(0, rx1228_pos, $I10) - # rx literal "=:=" - add $I11, rx1228_pos, 3 - gt $I11, rx1228_eos, rx1228_fail - sub $I11, rx1228_pos, rx1228_off - substr $S10, rx1228_tgt, $I11, 3 - ne $S10, "=:=", rx1228_fail - add rx1228_pos, 3 - set_addr $I10, rxcap_1233_fail - ($I12, $I11) = rx1228_cur."!mark_peek"($I10) - rx1228_cur."!cursor_pos"($I11) - ($P10) = rx1228_cur."!cursor_start"() - $P10."!cursor_pass"(rx1228_pos, "") - rx1228_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1237_fail + rx1232_cur."!mark_push"(0, rx1232_pos, $I10) + # rx literal "le" + add $I11, rx1232_pos, 2 + gt $I11, rx1232_eos, rx1232_fail + sub $I11, rx1232_pos, rx1232_off + substr $S10, rx1232_tgt, $I11, 2 + ne $S10, "le", rx1232_fail + add rx1232_pos, 2 + set_addr $I10, rxcap_1237_fail + ($I12, $I11) = rx1232_cur."!mark_peek"($I10) + rx1232_cur."!cursor_pos"($I11) + ($P10) = rx1232_cur."!cursor_start"() + $P10."!cursor_pass"(rx1232_pos, "") + rx1232_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1233_done - rxcap_1233_fail: - goto rx1228_fail - rxcap_1233_done: + goto rxcap_1237_done + rxcap_1237_fail: + goto rx1232_fail + rxcap_1237_done: # rx subrule "O" subtype=capture negate= - rx1228_cur."!cursor_pos"(rx1228_pos) - $P10 = rx1228_cur."O"("%relational, :pirop") - unless $P10, rx1228_fail - rx1228_cur."!mark_push"(0, -1, 0, $P10) + rx1232_cur."!cursor_pos"(rx1232_pos) + $P10 = rx1232_cur."O"("%relational, :pirop") + unless $P10, rx1232_fail + rx1232_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1228_pos = $P10."pos"() + rx1232_pos = $P10."pos"() # rx pass - rx1228_cur."!cursor_pass"(rx1228_pos, "infix:sym<=:=>") - rx1228_cur."!cursor_debug"("PASS ", "infix:sym<=:=>", " at pos=", rx1228_pos) - .return (rx1228_cur) - rx1228_fail: -.annotate 'line', 446 - (rx1228_rep, rx1228_pos, $I10, $P10) = rx1228_cur."!mark_fail"(0) - lt rx1228_pos, -1, rx1228_done - eq rx1228_pos, -1, rx1228_fail + rx1232_cur."!cursor_pass"(rx1232_pos, "infix:sym") + rx1232_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1232_pos) + .return (rx1232_cur) + rx1232_fail: +.annotate 'line', 447 + (rx1232_rep, rx1232_pos, $I10, $P10) = rx1232_cur."!mark_fail"(0) + lt rx1232_pos, -1, rx1232_done + eq rx1232_pos, -1, rx1232_fail jump $I10 - rx1228_done: - rx1228_cur."!cursor_fail"() - rx1228_cur."!cursor_debug"("FAIL ", "infix:sym<=:=>") - .return (rx1228_cur) + rx1232_done: + rx1232_cur."!cursor_fail"() + rx1232_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1232_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<=:=>" :subid("311_1276996322.81157") :method -.annotate 'line', 446 - $P1230 = self."!PREFIX__!subrule"("O", "=:=") - new $P1231, "ResizablePMCArray" - push $P1231, $P1230 - .return ($P1231) +.sub "!PREFIX__infix:sym" :subid("311_1278500537.15927") :method +.annotate 'line', 447 + $P1234 = self."!PREFIX__!subrule"("O", "le") + new $P1235, "ResizablePMCArray" + push $P1235, $P1234 + .return ($P1235) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<~~>" :subid("312_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1235_tgt - .local int rx1235_pos - .local int rx1235_off - .local int rx1235_eos - .local int rx1235_rep - .local pmc rx1235_cur - (rx1235_cur, rx1235_pos, rx1235_tgt) = self."!cursor_start"() - rx1235_cur."!cursor_debug"("START ", "infix:sym<~~>") - .lex unicode:"$\x{a2}", rx1235_cur +.sub "infix:sym" :subid("312_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1239_tgt + .local int rx1239_pos + .local int rx1239_off + .local int rx1239_eos + .local int rx1239_rep + .local pmc rx1239_cur + (rx1239_cur, rx1239_pos, rx1239_tgt) = self."!cursor_start"() + rx1239_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1239_cur .local pmc match .lex "$/", match - length rx1235_eos, rx1235_tgt - gt rx1235_pos, rx1235_eos, rx1235_done - set rx1235_off, 0 - lt rx1235_pos, 2, rx1235_start - sub rx1235_off, rx1235_pos, 1 - substr rx1235_tgt, rx1235_tgt, rx1235_off - rx1235_start: + length rx1239_eos, rx1239_tgt + gt rx1239_pos, rx1239_eos, rx1239_done + set rx1239_off, 0 + lt rx1239_pos, 2, rx1239_start + sub rx1239_off, rx1239_pos, 1 + substr rx1239_tgt, rx1239_tgt, rx1239_off + rx1239_start: $I10 = self.'from'() - ne $I10, -1, rxscan1239_done - goto rxscan1239_scan - rxscan1239_loop: - ($P10) = rx1235_cur."from"() + ne $I10, -1, rxscan1243_done + goto rxscan1243_scan + rxscan1243_loop: + ($P10) = rx1239_cur."from"() inc $P10 - set rx1235_pos, $P10 - ge rx1235_pos, rx1235_eos, rxscan1239_done - rxscan1239_scan: - set_addr $I10, rxscan1239_loop - rx1235_cur."!mark_push"(0, rx1235_pos, $I10) - rxscan1239_done: + set rx1239_pos, $P10 + ge rx1239_pos, rx1239_eos, rxscan1243_done + rxscan1243_scan: + set_addr $I10, rxscan1243_loop + rx1239_cur."!mark_push"(0, rx1239_pos, $I10) + rxscan1243_done: .annotate 'line', 528 # rx subcapture "sym" - set_addr $I10, rxcap_1240_fail - rx1235_cur."!mark_push"(0, rx1235_pos, $I10) - # rx literal "~~" - add $I11, rx1235_pos, 2 - gt $I11, rx1235_eos, rx1235_fail - sub $I11, rx1235_pos, rx1235_off - substr $S10, rx1235_tgt, $I11, 2 - ne $S10, "~~", rx1235_fail - add rx1235_pos, 2 - set_addr $I10, rxcap_1240_fail - ($I12, $I11) = rx1235_cur."!mark_peek"($I10) - rx1235_cur."!cursor_pos"($I11) - ($P10) = rx1235_cur."!cursor_start"() - $P10."!cursor_pass"(rx1235_pos, "") - rx1235_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1244_fail + rx1239_cur."!mark_push"(0, rx1239_pos, $I10) + # rx literal "ge" + add $I11, rx1239_pos, 2 + gt $I11, rx1239_eos, rx1239_fail + sub $I11, rx1239_pos, rx1239_off + substr $S10, rx1239_tgt, $I11, 2 + ne $S10, "ge", rx1239_fail + add rx1239_pos, 2 + set_addr $I10, rxcap_1244_fail + ($I12, $I11) = rx1239_cur."!mark_peek"($I10) + rx1239_cur."!cursor_pos"($I11) + ($P10) = rx1239_cur."!cursor_start"() + $P10."!cursor_pass"(rx1239_pos, "") + rx1239_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1240_done - rxcap_1240_fail: - goto rx1235_fail - rxcap_1240_done: + goto rxcap_1244_done + rxcap_1244_fail: + goto rx1239_fail + rxcap_1244_done: # rx subrule "O" subtype=capture negate= - rx1235_cur."!cursor_pos"(rx1235_pos) - $P10 = rx1235_cur."O"("%relational, :reducecheck") - unless $P10, rx1235_fail - rx1235_cur."!mark_push"(0, -1, 0, $P10) + rx1239_cur."!cursor_pos"(rx1239_pos) + $P10 = rx1239_cur."O"("%relational, :pirop") + unless $P10, rx1239_fail + rx1239_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1235_pos = $P10."pos"() + rx1239_pos = $P10."pos"() # rx pass - rx1235_cur."!cursor_pass"(rx1235_pos, "infix:sym<~~>") - rx1235_cur."!cursor_debug"("PASS ", "infix:sym<~~>", " at pos=", rx1235_pos) - .return (rx1235_cur) - rx1235_fail: -.annotate 'line', 446 - (rx1235_rep, rx1235_pos, $I10, $P10) = rx1235_cur."!mark_fail"(0) - lt rx1235_pos, -1, rx1235_done - eq rx1235_pos, -1, rx1235_fail + rx1239_cur."!cursor_pass"(rx1239_pos, "infix:sym") + rx1239_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1239_pos) + .return (rx1239_cur) + rx1239_fail: +.annotate 'line', 447 + (rx1239_rep, rx1239_pos, $I10, $P10) = rx1239_cur."!mark_fail"(0) + lt rx1239_pos, -1, rx1239_done + eq rx1239_pos, -1, rx1239_fail jump $I10 - rx1235_done: - rx1235_cur."!cursor_fail"() - rx1235_cur."!cursor_debug"("FAIL ", "infix:sym<~~>") - .return (rx1235_cur) + rx1239_done: + rx1239_cur."!cursor_fail"() + rx1239_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1239_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<~~>" :subid("313_1276996322.81157") :method -.annotate 'line', 446 - $P1237 = self."!PREFIX__!subrule"("O", "~~") - new $P1238, "ResizablePMCArray" - push $P1238, $P1237 - .return ($P1238) +.sub "!PREFIX__infix:sym" :subid("313_1278500537.15927") :method +.annotate 'line', 447 + $P1241 = self."!PREFIX__!subrule"("O", "ge") + new $P1242, "ResizablePMCArray" + push $P1242, $P1241 + .return ($P1242) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<&&>" :subid("314_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1242_tgt - .local int rx1242_pos - .local int rx1242_off - .local int rx1242_eos - .local int rx1242_rep - .local pmc rx1242_cur - (rx1242_cur, rx1242_pos, rx1242_tgt) = self."!cursor_start"() - rx1242_cur."!cursor_debug"("START ", "infix:sym<&&>") - .lex unicode:"$\x{a2}", rx1242_cur +.sub "infix:sym" :subid("314_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1246_tgt + .local int rx1246_pos + .local int rx1246_off + .local int rx1246_eos + .local int rx1246_rep + .local pmc rx1246_cur + (rx1246_cur, rx1246_pos, rx1246_tgt) = self."!cursor_start"() + rx1246_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1246_cur .local pmc match .lex "$/", match - length rx1242_eos, rx1242_tgt - gt rx1242_pos, rx1242_eos, rx1242_done - set rx1242_off, 0 - lt rx1242_pos, 2, rx1242_start - sub rx1242_off, rx1242_pos, 1 - substr rx1242_tgt, rx1242_tgt, rx1242_off - rx1242_start: + length rx1246_eos, rx1246_tgt + gt rx1246_pos, rx1246_eos, rx1246_done + set rx1246_off, 0 + lt rx1246_pos, 2, rx1246_start + sub rx1246_off, rx1246_pos, 1 + substr rx1246_tgt, rx1246_tgt, rx1246_off + rx1246_start: $I10 = self.'from'() - ne $I10, -1, rxscan1246_done - goto rxscan1246_scan - rxscan1246_loop: - ($P10) = rx1242_cur."from"() + ne $I10, -1, rxscan1250_done + goto rxscan1250_scan + rxscan1250_loop: + ($P10) = rx1246_cur."from"() inc $P10 - set rx1242_pos, $P10 - ge rx1242_pos, rx1242_eos, rxscan1246_done - rxscan1246_scan: - set_addr $I10, rxscan1246_loop - rx1242_cur."!mark_push"(0, rx1242_pos, $I10) - rxscan1246_done: -.annotate 'line', 530 + set rx1246_pos, $P10 + ge rx1246_pos, rx1246_eos, rxscan1250_done + rxscan1250_scan: + set_addr $I10, rxscan1250_loop + rx1246_cur."!mark_push"(0, rx1246_pos, $I10) + rxscan1250_done: +.annotate 'line', 529 # rx subcapture "sym" - set_addr $I10, rxcap_1247_fail - rx1242_cur."!mark_push"(0, rx1242_pos, $I10) - # rx literal "&&" - add $I11, rx1242_pos, 2 - gt $I11, rx1242_eos, rx1242_fail - sub $I11, rx1242_pos, rx1242_off - substr $S10, rx1242_tgt, $I11, 2 - ne $S10, "&&", rx1242_fail - add rx1242_pos, 2 - set_addr $I10, rxcap_1247_fail - ($I12, $I11) = rx1242_cur."!mark_peek"($I10) - rx1242_cur."!cursor_pos"($I11) - ($P10) = rx1242_cur."!cursor_start"() - $P10."!cursor_pass"(rx1242_pos, "") - rx1242_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1251_fail + rx1246_cur."!mark_push"(0, rx1246_pos, $I10) + # rx literal "lt" + add $I11, rx1246_pos, 2 + gt $I11, rx1246_eos, rx1246_fail + sub $I11, rx1246_pos, rx1246_off + substr $S10, rx1246_tgt, $I11, 2 + ne $S10, "lt", rx1246_fail + add rx1246_pos, 2 + set_addr $I10, rxcap_1251_fail + ($I12, $I11) = rx1246_cur."!mark_peek"($I10) + rx1246_cur."!cursor_pos"($I11) + ($P10) = rx1246_cur."!cursor_start"() + $P10."!cursor_pass"(rx1246_pos, "") + rx1246_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1247_done - rxcap_1247_fail: - goto rx1242_fail - rxcap_1247_done: + goto rxcap_1251_done + rxcap_1251_fail: + goto rx1246_fail + rxcap_1251_done: # rx subrule "O" subtype=capture negate= - rx1242_cur."!cursor_pos"(rx1242_pos) - $P10 = rx1242_cur."O"("%tight_and, :pasttype") - unless $P10, rx1242_fail - rx1242_cur."!mark_push"(0, -1, 0, $P10) + rx1246_cur."!cursor_pos"(rx1246_pos) + $P10 = rx1246_cur."O"("%relational, :pirop") + unless $P10, rx1246_fail + rx1246_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1242_pos = $P10."pos"() + rx1246_pos = $P10."pos"() # rx pass - rx1242_cur."!cursor_pass"(rx1242_pos, "infix:sym<&&>") - rx1242_cur."!cursor_debug"("PASS ", "infix:sym<&&>", " at pos=", rx1242_pos) - .return (rx1242_cur) - rx1242_fail: -.annotate 'line', 446 - (rx1242_rep, rx1242_pos, $I10, $P10) = rx1242_cur."!mark_fail"(0) - lt rx1242_pos, -1, rx1242_done - eq rx1242_pos, -1, rx1242_fail + rx1246_cur."!cursor_pass"(rx1246_pos, "infix:sym") + rx1246_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1246_pos) + .return (rx1246_cur) + rx1246_fail: +.annotate 'line', 447 + (rx1246_rep, rx1246_pos, $I10, $P10) = rx1246_cur."!mark_fail"(0) + lt rx1246_pos, -1, rx1246_done + eq rx1246_pos, -1, rx1246_fail jump $I10 - rx1242_done: - rx1242_cur."!cursor_fail"() - rx1242_cur."!cursor_debug"("FAIL ", "infix:sym<&&>") - .return (rx1242_cur) + rx1246_done: + rx1246_cur."!cursor_fail"() + rx1246_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1246_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<&&>" :subid("315_1276996322.81157") :method -.annotate 'line', 446 - $P1244 = self."!PREFIX__!subrule"("O", "&&") - new $P1245, "ResizablePMCArray" - push $P1245, $P1244 - .return ($P1245) +.sub "!PREFIX__infix:sym" :subid("315_1278500537.15927") :method +.annotate 'line', 447 + $P1248 = self."!PREFIX__!subrule"("O", "lt") + new $P1249, "ResizablePMCArray" + push $P1249, $P1248 + .return ($P1249) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<||>" :subid("316_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infix:sym<||>") - .lex unicode:"$\x{a2}", rx1249_cur +.sub "infix:sym" :subid("316_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1253_tgt + .local int rx1253_pos + .local int rx1253_off + .local int rx1253_eos + .local int rx1253_rep + .local pmc rx1253_cur + (rx1253_cur, rx1253_pos, rx1253_tgt) = self."!cursor_start"() + rx1253_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1253_cur .local pmc match .lex "$/", match - length rx1249_eos, rx1249_tgt - gt rx1249_pos, rx1249_eos, rx1249_done - 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: + length rx1253_eos, rx1253_tgt + gt rx1253_pos, rx1253_eos, rx1253_done + set rx1253_off, 0 + lt rx1253_pos, 2, rx1253_start + sub rx1253_off, rx1253_pos, 1 + substr rx1253_tgt, rx1253_tgt, rx1253_off + rx1253_start: $I10 = self.'from'() - ne $I10, -1, rxscan1253_done - goto rxscan1253_scan - rxscan1253_loop: - ($P10) = rx1249_cur."from"() + ne $I10, -1, rxscan1257_done + goto rxscan1257_scan + rxscan1257_loop: + ($P10) = rx1253_cur."from"() inc $P10 - set rx1249_pos, $P10 - ge rx1249_pos, rx1249_eos, rxscan1253_done - rxscan1253_scan: - set_addr $I10, rxscan1253_loop - rx1249_cur."!mark_push"(0, rx1249_pos, $I10) - rxscan1253_done: -.annotate 'line', 532 + set rx1253_pos, $P10 + ge rx1253_pos, rx1253_eos, rxscan1257_done + rxscan1257_scan: + set_addr $I10, rxscan1257_loop + rx1253_cur."!mark_push"(0, rx1253_pos, $I10) + rxscan1257_done: +.annotate 'line', 530 # rx subcapture "sym" - set_addr $I10, rxcap_1254_fail - rx1249_cur."!mark_push"(0, rx1249_pos, $I10) - # rx literal "||" - add $I11, rx1249_pos, 2 - gt $I11, rx1249_eos, rx1249_fail - sub $I11, rx1249_pos, rx1249_off - substr $S10, rx1249_tgt, $I11, 2 - ne $S10, "||", rx1249_fail - add rx1249_pos, 2 - set_addr $I10, rxcap_1254_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) + set_addr $I10, rxcap_1258_fail + rx1253_cur."!mark_push"(0, rx1253_pos, $I10) + # rx literal "gt" + add $I11, rx1253_pos, 2 + gt $I11, rx1253_eos, rx1253_fail + sub $I11, rx1253_pos, rx1253_off + substr $S10, rx1253_tgt, $I11, 2 + ne $S10, "gt", rx1253_fail + add rx1253_pos, 2 + set_addr $I10, rxcap_1258_fail + ($I12, $I11) = rx1253_cur."!mark_peek"($I10) + rx1253_cur."!cursor_pos"($I11) + ($P10) = rx1253_cur."!cursor_start"() + $P10."!cursor_pass"(rx1253_pos, "") + rx1253_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1254_done - rxcap_1254_fail: - goto rx1249_fail - rxcap_1254_done: + goto rxcap_1258_done + rxcap_1258_fail: + goto rx1253_fail + rxcap_1258_done: # rx subrule "O" subtype=capture negate= - rx1249_cur."!cursor_pos"(rx1249_pos) - $P10 = rx1249_cur."O"("%tight_or, :pasttype") - unless $P10, rx1249_fail - rx1249_cur."!mark_push"(0, -1, 0, $P10) + rx1253_cur."!cursor_pos"(rx1253_pos) + $P10 = rx1253_cur."O"("%relational, :pirop") + unless $P10, rx1253_fail + rx1253_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1249_pos = $P10."pos"() + rx1253_pos = $P10."pos"() # rx pass - rx1249_cur."!cursor_pass"(rx1249_pos, "infix:sym<||>") - rx1249_cur."!cursor_debug"("PASS ", "infix:sym<||>", " at pos=", rx1249_pos) - .return (rx1249_cur) - rx1249_fail: -.annotate 'line', 446 - (rx1249_rep, rx1249_pos, $I10, $P10) = rx1249_cur."!mark_fail"(0) - lt rx1249_pos, -1, rx1249_done - eq rx1249_pos, -1, rx1249_fail + rx1253_cur."!cursor_pass"(rx1253_pos, "infix:sym") + rx1253_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1253_pos) + .return (rx1253_cur) + rx1253_fail: +.annotate 'line', 447 + (rx1253_rep, rx1253_pos, $I10, $P10) = rx1253_cur."!mark_fail"(0) + lt rx1253_pos, -1, rx1253_done + eq rx1253_pos, -1, rx1253_fail jump $I10 - rx1249_done: - rx1249_cur."!cursor_fail"() - rx1249_cur."!cursor_debug"("FAIL ", "infix:sym<||>") - .return (rx1249_cur) + rx1253_done: + rx1253_cur."!cursor_fail"() + rx1253_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1253_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<||>" :subid("317_1276996322.81157") :method -.annotate 'line', 446 - $P1251 = self."!PREFIX__!subrule"("O", "||") - new $P1252, "ResizablePMCArray" - push $P1252, $P1251 - .return ($P1252) +.sub "!PREFIX__infix:sym" :subid("317_1278500537.15927") :method +.annotate 'line', 447 + $P1255 = self."!PREFIX__!subrule"("O", "gt") + new $P1256, "ResizablePMCArray" + push $P1256, $P1255 + .return ($P1256) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("318_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infix:sym") - .lex unicode:"$\x{a2}", rx1256_cur +.sub "infix:sym<=:=>" :subid("318_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1260_tgt + .local int rx1260_pos + .local int rx1260_off + .local int rx1260_eos + .local int rx1260_rep + .local pmc rx1260_cur + (rx1260_cur, rx1260_pos, rx1260_tgt) = self."!cursor_start"() + rx1260_cur."!cursor_debug"("START ", "infix:sym<=:=>") + .lex unicode:"$\x{a2}", rx1260_cur .local pmc match .lex "$/", match - length rx1256_eos, rx1256_tgt - gt rx1256_pos, rx1256_eos, rx1256_done - 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: + length rx1260_eos, rx1260_tgt + gt rx1260_pos, rx1260_eos, rx1260_done + set rx1260_off, 0 + lt rx1260_pos, 2, rx1260_start + sub rx1260_off, rx1260_pos, 1 + substr rx1260_tgt, rx1260_tgt, rx1260_off + rx1260_start: $I10 = self.'from'() - ne $I10, -1, rxscan1260_done - goto rxscan1260_scan - rxscan1260_loop: - ($P10) = rx1256_cur."from"() + ne $I10, -1, rxscan1264_done + goto rxscan1264_scan + rxscan1264_loop: + ($P10) = rx1260_cur."from"() inc $P10 - set rx1256_pos, $P10 - ge rx1256_pos, rx1256_eos, rxscan1260_done - rxscan1260_scan: - set_addr $I10, rxscan1260_loop - rx1256_cur."!mark_push"(0, rx1256_pos, $I10) - rxscan1260_done: -.annotate 'line', 533 + set rx1260_pos, $P10 + ge rx1260_pos, rx1260_eos, rxscan1264_done + rxscan1264_scan: + set_addr $I10, rxscan1264_loop + rx1260_cur."!mark_push"(0, rx1260_pos, $I10) + rxscan1264_done: +.annotate 'line', 531 # rx subcapture "sym" - set_addr $I10, rxcap_1261_fail - rx1256_cur."!mark_push"(0, rx1256_pos, $I10) - # rx literal "//" - 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, "//", rx1256_fail - add rx1256_pos, 2 - set_addr $I10, rxcap_1261_fail - ($I12, $I11) = rx1256_cur."!mark_peek"($I10) - rx1256_cur."!cursor_pos"($I11) - ($P10) = rx1256_cur."!cursor_start"() - $P10."!cursor_pass"(rx1256_pos, "") - rx1256_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1265_fail + rx1260_cur."!mark_push"(0, rx1260_pos, $I10) + # rx literal "=:=" + add $I11, rx1260_pos, 3 + gt $I11, rx1260_eos, rx1260_fail + sub $I11, rx1260_pos, rx1260_off + substr $S10, rx1260_tgt, $I11, 3 + ne $S10, "=:=", rx1260_fail + add rx1260_pos, 3 + set_addr $I10, rxcap_1265_fail + ($I12, $I11) = rx1260_cur."!mark_peek"($I10) + rx1260_cur."!cursor_pos"($I11) + ($P10) = rx1260_cur."!cursor_start"() + $P10."!cursor_pass"(rx1260_pos, "") + rx1260_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1261_done - rxcap_1261_fail: - goto rx1256_fail - rxcap_1261_done: + goto rxcap_1265_done + rxcap_1265_fail: + goto rx1260_fail + rxcap_1265_done: # rx subrule "O" subtype=capture negate= - rx1256_cur."!cursor_pos"(rx1256_pos) - $P10 = rx1256_cur."O"("%tight_or, :pasttype") - unless $P10, rx1256_fail - rx1256_cur."!mark_push"(0, -1, 0, $P10) + rx1260_cur."!cursor_pos"(rx1260_pos) + $P10 = rx1260_cur."O"("%relational, :pirop") + unless $P10, rx1260_fail + rx1260_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1256_pos = $P10."pos"() + rx1260_pos = $P10."pos"() # rx pass - rx1256_cur."!cursor_pass"(rx1256_pos, "infix:sym") - rx1256_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1256_pos) - .return (rx1256_cur) - rx1256_fail: -.annotate 'line', 446 - (rx1256_rep, rx1256_pos, $I10, $P10) = rx1256_cur."!mark_fail"(0) - lt rx1256_pos, -1, rx1256_done - eq rx1256_pos, -1, rx1256_fail + rx1260_cur."!cursor_pass"(rx1260_pos, "infix:sym<=:=>") + rx1260_cur."!cursor_debug"("PASS ", "infix:sym<=:=>", " at pos=", rx1260_pos) + .return (rx1260_cur) + rx1260_fail: +.annotate 'line', 447 + (rx1260_rep, rx1260_pos, $I10, $P10) = rx1260_cur."!mark_fail"(0) + lt rx1260_pos, -1, rx1260_done + eq rx1260_pos, -1, rx1260_fail jump $I10 - rx1256_done: - rx1256_cur."!cursor_fail"() - rx1256_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1256_cur) + rx1260_done: + rx1260_cur."!cursor_fail"() + rx1260_cur."!cursor_debug"("FAIL ", "infix:sym<=:=>") + .return (rx1260_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("319_1276996322.81157") :method -.annotate 'line', 446 - $P1258 = self."!PREFIX__!subrule"("O", "//") - new $P1259, "ResizablePMCArray" - push $P1259, $P1258 - .return ($P1259) +.sub "!PREFIX__infix:sym<=:=>" :subid("319_1278500537.15927") :method +.annotate 'line', 447 + $P1262 = self."!PREFIX__!subrule"("O", "=:=") + new $P1263, "ResizablePMCArray" + push $P1263, $P1262 + .return ($P1263) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym" :subid("320_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1263_tgt - .local int rx1263_pos - .local int rx1263_off - .local int rx1263_eos - .local int rx1263_rep - .local pmc rx1263_cur - (rx1263_cur, rx1263_pos, rx1263_tgt) = self."!cursor_start"() - rx1263_cur."!cursor_debug"("START ", "infix:sym") - .lex unicode:"$\x{a2}", rx1263_cur +.sub "infix:sym<~~>" :subid("320_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1267_tgt + .local int rx1267_pos + .local int rx1267_off + .local int rx1267_eos + .local int rx1267_rep + .local pmc rx1267_cur + (rx1267_cur, rx1267_pos, rx1267_tgt) = self."!cursor_start"() + rx1267_cur."!cursor_debug"("START ", "infix:sym<~~>") + .lex unicode:"$\x{a2}", rx1267_cur .local pmc match .lex "$/", match - length rx1263_eos, rx1263_tgt - gt rx1263_pos, rx1263_eos, rx1263_done - set rx1263_off, 0 - lt rx1263_pos, 2, rx1263_start - sub rx1263_off, rx1263_pos, 1 - substr rx1263_tgt, rx1263_tgt, rx1263_off - rx1263_start: + length rx1267_eos, rx1267_tgt + gt rx1267_pos, rx1267_eos, rx1267_done + set rx1267_off, 0 + lt rx1267_pos, 2, rx1267_start + sub rx1267_off, rx1267_pos, 1 + substr rx1267_tgt, rx1267_tgt, rx1267_off + rx1267_start: $I10 = self.'from'() - ne $I10, -1, rxscan1267_done - goto rxscan1267_scan - rxscan1267_loop: - ($P10) = rx1263_cur."from"() + ne $I10, -1, rxscan1271_done + goto rxscan1271_scan + rxscan1271_loop: + ($P10) = rx1267_cur."from"() inc $P10 - set rx1263_pos, $P10 - ge rx1263_pos, rx1263_eos, rxscan1267_done - rxscan1267_scan: - set_addr $I10, rxscan1267_loop - rx1263_cur."!mark_push"(0, rx1263_pos, $I10) - rxscan1267_done: -.annotate 'line', 536 - # rx literal "??" - add $I11, rx1263_pos, 2 - gt $I11, rx1263_eos, rx1263_fail - sub $I11, rx1263_pos, rx1263_off - substr $S10, rx1263_tgt, $I11, 2 - ne $S10, "??", rx1263_fail - add rx1263_pos, 2 -.annotate 'line', 537 - # rx subrule "ws" subtype=method negate= - rx1263_cur."!cursor_pos"(rx1263_pos) - $P10 = rx1263_cur."ws"() - unless $P10, rx1263_fail - rx1263_pos = $P10."pos"() -.annotate 'line', 538 - # rx subrule "EXPR" subtype=capture negate= - rx1263_cur."!cursor_pos"(rx1263_pos) - $P10 = rx1263_cur."EXPR"("i=") - unless $P10, rx1263_fail - rx1263_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("EXPR") - rx1263_pos = $P10."pos"() -.annotate 'line', 539 - # rx literal "!!" - add $I11, rx1263_pos, 2 - gt $I11, rx1263_eos, rx1263_fail - sub $I11, rx1263_pos, rx1263_off - substr $S10, rx1263_tgt, $I11, 2 - ne $S10, "!!", rx1263_fail - add rx1263_pos, 2 -.annotate 'line', 540 - # rx subrule "O" subtype=capture negate= - rx1263_cur."!cursor_pos"(rx1263_pos) - $P10 = rx1263_cur."O"("%conditional, :reducecheck, :pasttype") - unless $P10, rx1263_fail - rx1263_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("O") - rx1263_pos = $P10."pos"() -.annotate 'line', 535 - # rx pass - rx1263_cur."!cursor_pass"(rx1263_pos, "infix:sym") - rx1263_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1263_pos) - .return (rx1263_cur) - rx1263_fail: -.annotate 'line', 446 - (rx1263_rep, rx1263_pos, $I10, $P10) = rx1263_cur."!mark_fail"(0) - lt rx1263_pos, -1, rx1263_done - eq rx1263_pos, -1, rx1263_fail - jump $I10 - rx1263_done: - rx1263_cur."!cursor_fail"() - rx1263_cur."!cursor_debug"("FAIL ", "infix:sym") - .return (rx1263_cur) - .return () -.end - - -.namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym" :subid("321_1276996322.81157") :method -.annotate 'line', 446 - $P1265 = self."!PREFIX__!subrule"("ws", "??") - new $P1266, "ResizablePMCArray" - push $P1266, $P1265 - .return ($P1266) -.end - - -.namespace ["NQP";"Grammar"] -.sub "infix:sym<=>" :subid("322_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infix:sym<=>") - .lex unicode:"$\x{a2}", rx1269_cur - .local pmc match - .lex "$/", match - length rx1269_eos, rx1269_tgt - gt rx1269_pos, rx1269_eos, rx1269_done - 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, rxscan1273_done - goto rxscan1273_scan - rxscan1273_loop: - ($P10) = rx1269_cur."from"() - inc $P10 - set rx1269_pos, $P10 - ge rx1269_pos, rx1269_eos, rxscan1273_done - rxscan1273_scan: - set_addr $I10, rxscan1273_loop - rx1269_cur."!mark_push"(0, rx1269_pos, $I10) - rxscan1273_done: -.annotate 'line', 544 + set rx1267_pos, $P10 + ge rx1267_pos, rx1267_eos, rxscan1271_done + rxscan1271_scan: + set_addr $I10, rxscan1271_loop + rx1267_cur."!mark_push"(0, rx1267_pos, $I10) + rxscan1271_done: +.annotate 'line', 532 # rx subcapture "sym" - set_addr $I10, rxcap_1274_fail - rx1269_cur."!mark_push"(0, rx1269_pos, $I10) - # 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 - set_addr $I10, rxcap_1274_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) + set_addr $I10, rxcap_1272_fail + rx1267_cur."!mark_push"(0, rx1267_pos, $I10) + # rx literal "~~" + add $I11, rx1267_pos, 2 + gt $I11, rx1267_eos, rx1267_fail + sub $I11, rx1267_pos, rx1267_off + substr $S10, rx1267_tgt, $I11, 2 + ne $S10, "~~", rx1267_fail + add rx1267_pos, 2 + set_addr $I10, rxcap_1272_fail + ($I12, $I11) = rx1267_cur."!mark_peek"($I10) + rx1267_cur."!cursor_pos"($I11) + ($P10) = rx1267_cur."!cursor_start"() + $P10."!cursor_pass"(rx1267_pos, "") + rx1267_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1274_done - rxcap_1274_fail: - goto rx1269_fail - rxcap_1274_done: - # rx subrule "panic" subtype=method negate= - rx1269_cur."!cursor_pos"(rx1269_pos) - $P10 = rx1269_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead") - unless $P10, rx1269_fail - rx1269_pos = $P10."pos"() -.annotate 'line', 543 + goto rxcap_1272_done + rxcap_1272_fail: + goto rx1267_fail + rxcap_1272_done: + # rx subrule "O" subtype=capture negate= + rx1267_cur."!cursor_pos"(rx1267_pos) + $P10 = rx1267_cur."O"("%relational, :reducecheck") + unless $P10, rx1267_fail + rx1267_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1267_pos = $P10."pos"() # rx pass - rx1269_cur."!cursor_pass"(rx1269_pos, "infix:sym<=>") - rx1269_cur."!cursor_debug"("PASS ", "infix:sym<=>", " at pos=", rx1269_pos) - .return (rx1269_cur) - rx1269_fail: -.annotate 'line', 446 - (rx1269_rep, rx1269_pos, $I10, $P10) = rx1269_cur."!mark_fail"(0) - lt rx1269_pos, -1, rx1269_done - eq rx1269_pos, -1, rx1269_fail + rx1267_cur."!cursor_pass"(rx1267_pos, "infix:sym<~~>") + rx1267_cur."!cursor_debug"("PASS ", "infix:sym<~~>", " at pos=", rx1267_pos) + .return (rx1267_cur) + rx1267_fail: +.annotate 'line', 447 + (rx1267_rep, rx1267_pos, $I10, $P10) = rx1267_cur."!mark_fail"(0) + lt rx1267_pos, -1, rx1267_done + eq rx1267_pos, -1, rx1267_fail jump $I10 - rx1269_done: - rx1269_cur."!cursor_fail"() - rx1269_cur."!cursor_debug"("FAIL ", "infix:sym<=>") - .return (rx1269_cur) + rx1267_done: + rx1267_cur."!cursor_fail"() + rx1267_cur."!cursor_debug"("FAIL ", "infix:sym<~~>") + .return (rx1267_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<=>" :subid("323_1276996322.81157") :method -.annotate 'line', 446 - $P1271 = self."!PREFIX__!subrule"("panic", "=") - new $P1272, "ResizablePMCArray" - push $P1272, $P1271 - .return ($P1272) +.sub "!PREFIX__infix:sym<~~>" :subid("321_1278500537.15927") :method +.annotate 'line', 447 + $P1269 = self."!PREFIX__!subrule"("O", "~~") + new $P1270, "ResizablePMCArray" + push $P1270, $P1269 + .return ($P1270) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<:=>" :subid("324_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infix:sym<:=>") - .lex unicode:"$\x{a2}", rx1276_cur +.sub "infix:sym<&&>" :subid("322_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1274_tgt + .local int rx1274_pos + .local int rx1274_off + .local int rx1274_eos + .local int rx1274_rep + .local pmc rx1274_cur + (rx1274_cur, rx1274_pos, rx1274_tgt) = self."!cursor_start"() + rx1274_cur."!cursor_debug"("START ", "infix:sym<&&>") + .lex unicode:"$\x{a2}", rx1274_cur .local pmc match .lex "$/", match - length rx1276_eos, rx1276_tgt - gt rx1276_pos, rx1276_eos, rx1276_done - 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: + length rx1274_eos, rx1274_tgt + gt rx1274_pos, rx1274_eos, rx1274_done + set rx1274_off, 0 + lt rx1274_pos, 2, rx1274_start + sub rx1274_off, rx1274_pos, 1 + substr rx1274_tgt, rx1274_tgt, rx1274_off + rx1274_start: $I10 = self.'from'() - ne $I10, -1, rxscan1280_done - goto rxscan1280_scan - rxscan1280_loop: - ($P10) = rx1276_cur."from"() + ne $I10, -1, rxscan1278_done + goto rxscan1278_scan + rxscan1278_loop: + ($P10) = rx1274_cur."from"() inc $P10 - set rx1276_pos, $P10 - ge rx1276_pos, rx1276_eos, rxscan1280_done - rxscan1280_scan: - set_addr $I10, rxscan1280_loop - rx1276_cur."!mark_push"(0, rx1276_pos, $I10) - rxscan1280_done: -.annotate 'line', 546 + set rx1274_pos, $P10 + ge rx1274_pos, rx1274_eos, rxscan1278_done + rxscan1278_scan: + set_addr $I10, rxscan1278_loop + rx1274_cur."!mark_push"(0, rx1274_pos, $I10) + rxscan1278_done: +.annotate 'line', 534 # rx subcapture "sym" - set_addr $I10, rxcap_1281_fail - rx1276_cur."!mark_push"(0, rx1276_pos, $I10) - # rx literal ":=" - add $I11, rx1276_pos, 2 - gt $I11, rx1276_eos, rx1276_fail - sub $I11, rx1276_pos, rx1276_off - substr $S10, rx1276_tgt, $I11, 2 - ne $S10, ":=", rx1276_fail - add rx1276_pos, 2 - set_addr $I10, rxcap_1281_fail - ($I12, $I11) = rx1276_cur."!mark_peek"($I10) - rx1276_cur."!cursor_pos"($I11) - ($P10) = rx1276_cur."!cursor_start"() - $P10."!cursor_pass"(rx1276_pos, "") - rx1276_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1279_fail + rx1274_cur."!mark_push"(0, rx1274_pos, $I10) + # rx literal "&&" + add $I11, rx1274_pos, 2 + gt $I11, rx1274_eos, rx1274_fail + sub $I11, rx1274_pos, rx1274_off + substr $S10, rx1274_tgt, $I11, 2 + ne $S10, "&&", rx1274_fail + add rx1274_pos, 2 + set_addr $I10, rxcap_1279_fail + ($I12, $I11) = rx1274_cur."!mark_peek"($I10) + rx1274_cur."!cursor_pos"($I11) + ($P10) = rx1274_cur."!cursor_start"() + $P10."!cursor_pass"(rx1274_pos, "") + rx1274_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1281_done - rxcap_1281_fail: - goto rx1276_fail - rxcap_1281_done: + goto rxcap_1279_done + rxcap_1279_fail: + goto rx1274_fail + rxcap_1279_done: # rx subrule "O" subtype=capture negate= - rx1276_cur."!cursor_pos"(rx1276_pos) - $P10 = rx1276_cur."O"("%assignment, :pasttype") - unless $P10, rx1276_fail - rx1276_cur."!mark_push"(0, -1, 0, $P10) + rx1274_cur."!cursor_pos"(rx1274_pos) + $P10 = rx1274_cur."O"("%tight_and, :pasttype") + unless $P10, rx1274_fail + rx1274_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1276_pos = $P10."pos"() + rx1274_pos = $P10."pos"() # rx pass - rx1276_cur."!cursor_pass"(rx1276_pos, "infix:sym<:=>") - rx1276_cur."!cursor_debug"("PASS ", "infix:sym<:=>", " at pos=", rx1276_pos) - .return (rx1276_cur) - rx1276_fail: -.annotate 'line', 446 - (rx1276_rep, rx1276_pos, $I10, $P10) = rx1276_cur."!mark_fail"(0) - lt rx1276_pos, -1, rx1276_done - eq rx1276_pos, -1, rx1276_fail + rx1274_cur."!cursor_pass"(rx1274_pos, "infix:sym<&&>") + rx1274_cur."!cursor_debug"("PASS ", "infix:sym<&&>", " at pos=", rx1274_pos) + .return (rx1274_cur) + rx1274_fail: +.annotate 'line', 447 + (rx1274_rep, rx1274_pos, $I10, $P10) = rx1274_cur."!mark_fail"(0) + lt rx1274_pos, -1, rx1274_done + eq rx1274_pos, -1, rx1274_fail jump $I10 - rx1276_done: - rx1276_cur."!cursor_fail"() - rx1276_cur."!cursor_debug"("FAIL ", "infix:sym<:=>") - .return (rx1276_cur) + rx1274_done: + rx1274_cur."!cursor_fail"() + rx1274_cur."!cursor_debug"("FAIL ", "infix:sym<&&>") + .return (rx1274_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<:=>" :subid("325_1276996322.81157") :method -.annotate 'line', 446 - $P1278 = self."!PREFIX__!subrule"("O", ":=") - new $P1279, "ResizablePMCArray" - push $P1279, $P1278 - .return ($P1279) +.sub "!PREFIX__infix:sym<&&>" :subid("323_1278500537.15927") :method +.annotate 'line', 447 + $P1276 = self."!PREFIX__!subrule"("O", "&&") + new $P1277, "ResizablePMCArray" + push $P1277, $P1276 + .return ($P1277) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<::=>" :subid("326_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1283_tgt - .local int rx1283_pos - .local int rx1283_off - .local int rx1283_eos - .local int rx1283_rep - .local pmc rx1283_cur - (rx1283_cur, rx1283_pos, rx1283_tgt) = self."!cursor_start"() - rx1283_cur."!cursor_debug"("START ", "infix:sym<::=>") - .lex unicode:"$\x{a2}", rx1283_cur +.sub "infix:sym<||>" :subid("324_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1281_tgt + .local int rx1281_pos + .local int rx1281_off + .local int rx1281_eos + .local int rx1281_rep + .local pmc rx1281_cur + (rx1281_cur, rx1281_pos, rx1281_tgt) = self."!cursor_start"() + rx1281_cur."!cursor_debug"("START ", "infix:sym<||>") + .lex unicode:"$\x{a2}", rx1281_cur .local pmc match .lex "$/", match - length rx1283_eos, rx1283_tgt - gt rx1283_pos, rx1283_eos, rx1283_done - set rx1283_off, 0 - lt rx1283_pos, 2, rx1283_start - sub rx1283_off, rx1283_pos, 1 - substr rx1283_tgt, rx1283_tgt, rx1283_off - rx1283_start: + length rx1281_eos, rx1281_tgt + gt rx1281_pos, rx1281_eos, rx1281_done + set rx1281_off, 0 + lt rx1281_pos, 2, rx1281_start + sub rx1281_off, rx1281_pos, 1 + substr rx1281_tgt, rx1281_tgt, rx1281_off + rx1281_start: $I10 = self.'from'() - ne $I10, -1, rxscan1287_done - goto rxscan1287_scan - rxscan1287_loop: - ($P10) = rx1283_cur."from"() + ne $I10, -1, rxscan1285_done + goto rxscan1285_scan + rxscan1285_loop: + ($P10) = rx1281_cur."from"() inc $P10 - set rx1283_pos, $P10 - ge rx1283_pos, rx1283_eos, rxscan1287_done - rxscan1287_scan: - set_addr $I10, rxscan1287_loop - rx1283_cur."!mark_push"(0, rx1283_pos, $I10) - rxscan1287_done: -.annotate 'line', 547 + set rx1281_pos, $P10 + ge rx1281_pos, rx1281_eos, rxscan1285_done + rxscan1285_scan: + set_addr $I10, rxscan1285_loop + rx1281_cur."!mark_push"(0, rx1281_pos, $I10) + rxscan1285_done: +.annotate 'line', 536 # rx subcapture "sym" - set_addr $I10, rxcap_1288_fail - rx1283_cur."!mark_push"(0, rx1283_pos, $I10) - # rx literal "::=" - add $I11, rx1283_pos, 3 - gt $I11, rx1283_eos, rx1283_fail - sub $I11, rx1283_pos, rx1283_off - substr $S10, rx1283_tgt, $I11, 3 - ne $S10, "::=", rx1283_fail - add rx1283_pos, 3 - set_addr $I10, rxcap_1288_fail - ($I12, $I11) = rx1283_cur."!mark_peek"($I10) - rx1283_cur."!cursor_pos"($I11) - ($P10) = rx1283_cur."!cursor_start"() - $P10."!cursor_pass"(rx1283_pos, "") - rx1283_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1286_fail + rx1281_cur."!mark_push"(0, rx1281_pos, $I10) + # rx literal "||" + add $I11, rx1281_pos, 2 + gt $I11, rx1281_eos, rx1281_fail + sub $I11, rx1281_pos, rx1281_off + substr $S10, rx1281_tgt, $I11, 2 + ne $S10, "||", rx1281_fail + add rx1281_pos, 2 + set_addr $I10, rxcap_1286_fail + ($I12, $I11) = rx1281_cur."!mark_peek"($I10) + rx1281_cur."!cursor_pos"($I11) + ($P10) = rx1281_cur."!cursor_start"() + $P10."!cursor_pass"(rx1281_pos, "") + rx1281_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1288_done - rxcap_1288_fail: - goto rx1283_fail - rxcap_1288_done: + goto rxcap_1286_done + rxcap_1286_fail: + goto rx1281_fail + rxcap_1286_done: # rx subrule "O" subtype=capture negate= - rx1283_cur."!cursor_pos"(rx1283_pos) - $P10 = rx1283_cur."O"("%assignment, :pasttype") - unless $P10, rx1283_fail - rx1283_cur."!mark_push"(0, -1, 0, $P10) + rx1281_cur."!cursor_pos"(rx1281_pos) + $P10 = rx1281_cur."O"("%tight_or, :pasttype") + unless $P10, rx1281_fail + rx1281_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1283_pos = $P10."pos"() + rx1281_pos = $P10."pos"() # rx pass - rx1283_cur."!cursor_pass"(rx1283_pos, "infix:sym<::=>") - rx1283_cur."!cursor_debug"("PASS ", "infix:sym<::=>", " at pos=", rx1283_pos) - .return (rx1283_cur) - rx1283_fail: -.annotate 'line', 446 - (rx1283_rep, rx1283_pos, $I10, $P10) = rx1283_cur."!mark_fail"(0) - lt rx1283_pos, -1, rx1283_done - eq rx1283_pos, -1, rx1283_fail + rx1281_cur."!cursor_pass"(rx1281_pos, "infix:sym<||>") + rx1281_cur."!cursor_debug"("PASS ", "infix:sym<||>", " at pos=", rx1281_pos) + .return (rx1281_cur) + rx1281_fail: +.annotate 'line', 447 + (rx1281_rep, rx1281_pos, $I10, $P10) = rx1281_cur."!mark_fail"(0) + lt rx1281_pos, -1, rx1281_done + eq rx1281_pos, -1, rx1281_fail jump $I10 - rx1283_done: - rx1283_cur."!cursor_fail"() - rx1283_cur."!cursor_debug"("FAIL ", "infix:sym<::=>") - .return (rx1283_cur) + rx1281_done: + rx1281_cur."!cursor_fail"() + rx1281_cur."!cursor_debug"("FAIL ", "infix:sym<||>") + .return (rx1281_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<::=>" :subid("327_1276996322.81157") :method -.annotate 'line', 446 - $P1285 = self."!PREFIX__!subrule"("O", "::=") - new $P1286, "ResizablePMCArray" - push $P1286, $P1285 - .return ($P1286) +.sub "!PREFIX__infix:sym<||>" :subid("325_1278500537.15927") :method +.annotate 'line', 447 + $P1283 = self."!PREFIX__!subrule"("O", "||") + new $P1284, "ResizablePMCArray" + push $P1284, $P1283 + .return ($P1284) .end .namespace ["NQP";"Grammar"] -.sub "infix:sym<,>" :subid("328_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .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 ", "infix:sym<,>") - .lex unicode:"$\x{a2}", rx1290_cur +.sub "infix:sym" :subid("326_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1288_tgt + .local int rx1288_pos + .local int rx1288_off + .local int rx1288_eos + .local int rx1288_rep + .local pmc rx1288_cur + (rx1288_cur, rx1288_pos, rx1288_tgt) = self."!cursor_start"() + rx1288_cur."!cursor_debug"("START ", "infix:sym") + .lex unicode:"$\x{a2}", rx1288_cur .local pmc match .lex "$/", match - length rx1290_eos, rx1290_tgt - gt rx1290_pos, rx1290_eos, rx1290_done - 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: + length rx1288_eos, rx1288_tgt + gt rx1288_pos, rx1288_eos, rx1288_done + set rx1288_off, 0 + lt rx1288_pos, 2, rx1288_start + sub rx1288_off, rx1288_pos, 1 + substr rx1288_tgt, rx1288_tgt, rx1288_off + rx1288_start: $I10 = self.'from'() - ne $I10, -1, rxscan1294_done - goto rxscan1294_scan - rxscan1294_loop: - ($P10) = rx1290_cur."from"() + ne $I10, -1, rxscan1292_done + goto rxscan1292_scan + rxscan1292_loop: + ($P10) = rx1288_cur."from"() inc $P10 - set rx1290_pos, $P10 - ge rx1290_pos, rx1290_eos, rxscan1294_done - rxscan1294_scan: - set_addr $I10, rxscan1294_loop - rx1290_cur."!mark_push"(0, rx1290_pos, $I10) - rxscan1294_done: -.annotate 'line', 549 + set rx1288_pos, $P10 + ge rx1288_pos, rx1288_eos, rxscan1292_done + rxscan1292_scan: + set_addr $I10, rxscan1292_loop + rx1288_cur."!mark_push"(0, rx1288_pos, $I10) + rxscan1292_done: +.annotate 'line', 537 # rx subcapture "sym" - set_addr $I10, rxcap_1295_fail - rx1290_cur."!mark_push"(0, rx1290_pos, $I10) - # rx literal "," - add $I11, rx1290_pos, 1 - gt $I11, rx1290_eos, rx1290_fail - sub $I11, rx1290_pos, rx1290_off - substr $S10, rx1290_tgt, $I11, 1 - ne $S10, ",", rx1290_fail - add rx1290_pos, 1 - set_addr $I10, rxcap_1295_fail - ($I12, $I11) = rx1290_cur."!mark_peek"($I10) - rx1290_cur."!cursor_pos"($I11) - ($P10) = rx1290_cur."!cursor_start"() - $P10."!cursor_pass"(rx1290_pos, "") - rx1290_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1293_fail + rx1288_cur."!mark_push"(0, rx1288_pos, $I10) + # rx literal "//" + add $I11, rx1288_pos, 2 + gt $I11, rx1288_eos, rx1288_fail + sub $I11, rx1288_pos, rx1288_off + substr $S10, rx1288_tgt, $I11, 2 + ne $S10, "//", rx1288_fail + add rx1288_pos, 2 + set_addr $I10, rxcap_1293_fail + ($I12, $I11) = rx1288_cur."!mark_peek"($I10) + rx1288_cur."!cursor_pos"($I11) + ($P10) = rx1288_cur."!cursor_start"() + $P10."!cursor_pass"(rx1288_pos, "") + rx1288_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1295_done - rxcap_1295_fail: - goto rx1290_fail - rxcap_1295_done: + goto rxcap_1293_done + rxcap_1293_fail: + goto rx1288_fail + rxcap_1293_done: # rx subrule "O" subtype=capture negate= - rx1290_cur."!cursor_pos"(rx1290_pos) - $P10 = rx1290_cur."O"("%comma, :pasttype") - unless $P10, rx1290_fail - rx1290_cur."!mark_push"(0, -1, 0, $P10) + rx1288_cur."!cursor_pos"(rx1288_pos) + $P10 = rx1288_cur."O"("%tight_or, :pasttype") + unless $P10, rx1288_fail + rx1288_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1290_pos = $P10."pos"() + rx1288_pos = $P10."pos"() # rx pass - rx1290_cur."!cursor_pass"(rx1290_pos, "infix:sym<,>") - rx1290_cur."!cursor_debug"("PASS ", "infix:sym<,>", " at pos=", rx1290_pos) - .return (rx1290_cur) - rx1290_fail: -.annotate 'line', 446 - (rx1290_rep, rx1290_pos, $I10, $P10) = rx1290_cur."!mark_fail"(0) - lt rx1290_pos, -1, rx1290_done - eq rx1290_pos, -1, rx1290_fail + rx1288_cur."!cursor_pass"(rx1288_pos, "infix:sym") + rx1288_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1288_pos) + .return (rx1288_cur) + rx1288_fail: +.annotate 'line', 447 + (rx1288_rep, rx1288_pos, $I10, $P10) = rx1288_cur."!mark_fail"(0) + lt rx1288_pos, -1, rx1288_done + eq rx1288_pos, -1, rx1288_fail jump $I10 - rx1290_done: - rx1290_cur."!cursor_fail"() - rx1290_cur."!cursor_debug"("FAIL ", "infix:sym<,>") - .return (rx1290_cur) + rx1288_done: + rx1288_cur."!cursor_fail"() + rx1288_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1288_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__infix:sym<,>" :subid("329_1276996322.81157") :method -.annotate 'line', 446 - $P1292 = self."!PREFIX__!subrule"("O", ",") - new $P1293, "ResizablePMCArray" - push $P1293, $P1292 - .return ($P1293) +.sub "!PREFIX__infix:sym" :subid("327_1278500537.15927") :method +.annotate 'line', 447 + $P1290 = self."!PREFIX__!subrule"("O", "//") + new $P1291, "ResizablePMCArray" + push $P1291, $P1290 + .return ($P1291) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym" :subid("330_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1297_tgt - .local int rx1297_pos - .local int rx1297_off - .local int rx1297_eos - .local int rx1297_rep - .local pmc rx1297_cur - (rx1297_cur, rx1297_pos, rx1297_tgt) = self."!cursor_start"() - rx1297_cur."!cursor_debug"("START ", "prefix:sym") - .lex unicode:"$\x{a2}", rx1297_cur +.sub "infix:sym" :subid("328_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 ", "infix:sym") + .lex unicode:"$\x{a2}", rx1295_cur .local pmc match .lex "$/", match - length rx1297_eos, rx1297_tgt - gt rx1297_pos, rx1297_eos, rx1297_done - set rx1297_off, 0 - lt rx1297_pos, 2, rx1297_start - sub rx1297_off, rx1297_pos, 1 - substr rx1297_tgt, rx1297_tgt, rx1297_off - rx1297_start: + length rx1295_eos, rx1295_tgt + gt rx1295_pos, rx1295_eos, rx1295_done + 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, rxscan1300_done - goto rxscan1300_scan - rxscan1300_loop: - ($P10) = rx1297_cur."from"() + ne $I10, -1, rxscan1299_done + goto rxscan1299_scan + rxscan1299_loop: + ($P10) = rx1295_cur."from"() inc $P10 - set rx1297_pos, $P10 - ge rx1297_pos, rx1297_eos, rxscan1300_done - rxscan1300_scan: - set_addr $I10, rxscan1300_loop - rx1297_cur."!mark_push"(0, rx1297_pos, $I10) - rxscan1300_done: -.annotate 'line', 551 - # rx subcapture "sym" - set_addr $I10, rxcap_1301_fail - rx1297_cur."!mark_push"(0, rx1297_pos, $I10) - # rx literal "return" - add $I11, rx1297_pos, 6 - gt $I11, rx1297_eos, rx1297_fail - sub $I11, rx1297_pos, rx1297_off - substr $S10, rx1297_tgt, $I11, 6 - ne $S10, "return", rx1297_fail - add rx1297_pos, 6 - set_addr $I10, rxcap_1301_fail - ($I12, $I11) = rx1297_cur."!mark_peek"($I10) - rx1297_cur."!cursor_pos"($I11) - ($P10) = rx1297_cur."!cursor_start"() - $P10."!cursor_pass"(rx1297_pos, "") - rx1297_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_1301_done - rxcap_1301_fail: - goto rx1297_fail - rxcap_1301_done: - # rx charclass s - ge rx1297_pos, rx1297_eos, rx1297_fail - sub $I10, rx1297_pos, rx1297_off - is_cclass $I11, 32, rx1297_tgt, $I10 - unless $I11, rx1297_fail - inc rx1297_pos + set rx1295_pos, $P10 + ge rx1295_pos, rx1295_eos, rxscan1299_done + rxscan1299_scan: + set_addr $I10, rxscan1299_loop + rx1295_cur."!mark_push"(0, rx1295_pos, $I10) + rxscan1299_done: +.annotate 'line', 540 + # rx literal "??" + add $I11, rx1295_pos, 2 + gt $I11, rx1295_eos, rx1295_fail + sub $I11, rx1295_pos, rx1295_off + substr $S10, rx1295_tgt, $I11, 2 + ne $S10, "??", rx1295_fail + add rx1295_pos, 2 +.annotate 'line', 541 + # rx subrule "ws" subtype=method negate= + rx1295_cur."!cursor_pos"(rx1295_pos) + $P10 = rx1295_cur."ws"() + unless $P10, rx1295_fail + rx1295_pos = $P10."pos"() +.annotate 'line', 542 + # rx subrule "EXPR" subtype=capture negate= + rx1295_cur."!cursor_pos"(rx1295_pos) + $P10 = rx1295_cur."EXPR"("i=") + unless $P10, rx1295_fail + rx1295_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("EXPR") + rx1295_pos = $P10."pos"() +.annotate 'line', 543 + # rx literal "!!" + add $I11, rx1295_pos, 2 + gt $I11, rx1295_eos, rx1295_fail + sub $I11, rx1295_pos, rx1295_off + substr $S10, rx1295_tgt, $I11, 2 + ne $S10, "!!", rx1295_fail + add rx1295_pos, 2 +.annotate 'line', 544 # rx subrule "O" subtype=capture negate= - rx1297_cur."!cursor_pos"(rx1297_pos) - $P10 = rx1297_cur."O"("%list_prefix, :pasttype") - unless $P10, rx1297_fail - rx1297_cur."!mark_push"(0, -1, 0, $P10) + rx1295_cur."!cursor_pos"(rx1295_pos) + $P10 = rx1295_cur."O"("%conditional, :reducecheck, :pasttype") + unless $P10, rx1295_fail + rx1295_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("O") - rx1297_pos = $P10."pos"() + rx1295_pos = $P10."pos"() +.annotate 'line', 539 # rx pass - rx1297_cur."!cursor_pass"(rx1297_pos, "prefix:sym") - rx1297_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1297_pos) - .return (rx1297_cur) - rx1297_fail: -.annotate 'line', 446 - (rx1297_rep, rx1297_pos, $I10, $P10) = rx1297_cur."!mark_fail"(0) - lt rx1297_pos, -1, rx1297_done - eq rx1297_pos, -1, rx1297_fail + rx1295_cur."!cursor_pass"(rx1295_pos, "infix:sym") + rx1295_cur."!cursor_debug"("PASS ", "infix:sym", " at pos=", rx1295_pos) + .return (rx1295_cur) + rx1295_fail: +.annotate 'line', 447 + (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 - rx1297_done: - rx1297_cur."!cursor_fail"() - rx1297_cur."!cursor_debug"("FAIL ", "prefix:sym") - .return (rx1297_cur) + rx1295_done: + rx1295_cur."!cursor_fail"() + rx1295_cur."!cursor_debug"("FAIL ", "infix:sym") + .return (rx1295_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym" :subid("331_1276996322.81157") :method -.annotate 'line', 446 - new $P1299, "ResizablePMCArray" - push $P1299, "return" - .return ($P1299) +.sub "!PREFIX__infix:sym" :subid("329_1278500537.15927") :method +.annotate 'line', 447 + $P1297 = self."!PREFIX__!subrule"("ws", "??") + new $P1298, "ResizablePMCArray" + push $P1298, $P1297 + .return ($P1298) .end .namespace ["NQP";"Grammar"] -.sub "prefix:sym" :subid("332_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1303_tgt - .local int rx1303_pos - .local int rx1303_off - .local int rx1303_eos - .local int rx1303_rep - .local pmc rx1303_cur - (rx1303_cur, rx1303_pos, rx1303_tgt) = self."!cursor_start"() - rx1303_cur."!cursor_debug"("START ", "prefix:sym") - .lex unicode:"$\x{a2}", rx1303_cur +.sub "infix:sym<=>" :subid("330_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1301_tgt + .local int rx1301_pos + .local int rx1301_off + .local int rx1301_eos + .local int rx1301_rep + .local pmc rx1301_cur + (rx1301_cur, rx1301_pos, rx1301_tgt) = self."!cursor_start"() + rx1301_cur."!cursor_debug"("START ", "infix:sym<=>") + .lex unicode:"$\x{a2}", rx1301_cur .local pmc match .lex "$/", match - length rx1303_eos, rx1303_tgt - gt rx1303_pos, rx1303_eos, rx1303_done - set rx1303_off, 0 - lt rx1303_pos, 2, rx1303_start - sub rx1303_off, rx1303_pos, 1 - substr rx1303_tgt, rx1303_tgt, rx1303_off - rx1303_start: + length rx1301_eos, rx1301_tgt + gt rx1301_pos, rx1301_eos, rx1301_done + set rx1301_off, 0 + lt rx1301_pos, 2, rx1301_start + sub rx1301_off, rx1301_pos, 1 + substr rx1301_tgt, rx1301_tgt, rx1301_off + rx1301_start: $I10 = self.'from'() - ne $I10, -1, rxscan1306_done - goto rxscan1306_scan - rxscan1306_loop: - ($P10) = rx1303_cur."from"() + ne $I10, -1, rxscan1305_done + goto rxscan1305_scan + rxscan1305_loop: + ($P10) = rx1301_cur."from"() inc $P10 - set rx1303_pos, $P10 - ge rx1303_pos, rx1303_eos, rxscan1306_done - rxscan1306_scan: - set_addr $I10, rxscan1306_loop - rx1303_cur."!mark_push"(0, rx1303_pos, $I10) - rxscan1306_done: -.annotate 'line', 552 + set rx1301_pos, $P10 + ge rx1301_pos, rx1301_eos, rxscan1305_done + rxscan1305_scan: + set_addr $I10, rxscan1305_loop + rx1301_cur."!mark_push"(0, rx1301_pos, $I10) + rxscan1305_done: +.annotate 'line', 548 # rx subcapture "sym" - set_addr $I10, rxcap_1307_fail - rx1303_cur."!mark_push"(0, rx1303_pos, $I10) - # rx literal "make" - add $I11, rx1303_pos, 4 - gt $I11, rx1303_eos, rx1303_fail - sub $I11, rx1303_pos, rx1303_off - substr $S10, rx1303_tgt, $I11, 4 - ne $S10, "make", rx1303_fail - add rx1303_pos, 4 - set_addr $I10, rxcap_1307_fail - ($I12, $I11) = rx1303_cur."!mark_peek"($I10) - rx1303_cur."!cursor_pos"($I11) - ($P10) = rx1303_cur."!cursor_start"() - $P10."!cursor_pass"(rx1303_pos, "") - rx1303_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1306_fail + rx1301_cur."!mark_push"(0, rx1301_pos, $I10) + # rx literal "=" + add $I11, rx1301_pos, 1 + gt $I11, rx1301_eos, rx1301_fail + sub $I11, rx1301_pos, rx1301_off + substr $S10, rx1301_tgt, $I11, 1 + ne $S10, "=", rx1301_fail + add rx1301_pos, 1 + set_addr $I10, rxcap_1306_fail + ($I12, $I11) = rx1301_cur."!mark_peek"($I10) + rx1301_cur."!cursor_pos"($I11) + ($P10) = rx1301_cur."!cursor_start"() + $P10."!cursor_pass"(rx1301_pos, "") + rx1301_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1307_done - rxcap_1307_fail: - goto rx1303_fail - rxcap_1307_done: - # rx charclass s - ge rx1303_pos, rx1303_eos, rx1303_fail - sub $I10, rx1303_pos, rx1303_off - is_cclass $I11, 32, rx1303_tgt, $I10 - unless $I11, rx1303_fail - inc rx1303_pos - # rx subrule "O" subtype=capture negate= - rx1303_cur."!cursor_pos"(rx1303_pos) - $P10 = rx1303_cur."O"("%list_prefix") - unless $P10, rx1303_fail - rx1303_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("O") - rx1303_pos = $P10."pos"() + goto rxcap_1306_done + rxcap_1306_fail: + goto rx1301_fail + rxcap_1306_done: + # rx subrule "panic" subtype=method negate= + rx1301_cur."!cursor_pos"(rx1301_pos) + $P10 = rx1301_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead") + unless $P10, rx1301_fail + rx1301_pos = $P10."pos"() +.annotate 'line', 547 # rx pass - rx1303_cur."!cursor_pass"(rx1303_pos, "prefix:sym") - rx1303_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1303_pos) - .return (rx1303_cur) - rx1303_fail: -.annotate 'line', 446 - (rx1303_rep, rx1303_pos, $I10, $P10) = rx1303_cur."!mark_fail"(0) - lt rx1303_pos, -1, rx1303_done - eq rx1303_pos, -1, rx1303_fail + rx1301_cur."!cursor_pass"(rx1301_pos, "infix:sym<=>") + rx1301_cur."!cursor_debug"("PASS ", "infix:sym<=>", " at pos=", rx1301_pos) + .return (rx1301_cur) + rx1301_fail: +.annotate 'line', 447 + (rx1301_rep, rx1301_pos, $I10, $P10) = rx1301_cur."!mark_fail"(0) + lt rx1301_pos, -1, rx1301_done + eq rx1301_pos, -1, rx1301_fail jump $I10 - rx1303_done: - rx1303_cur."!cursor_fail"() - rx1303_cur."!cursor_debug"("FAIL ", "prefix:sym") - .return (rx1303_cur) + rx1301_done: + rx1301_cur."!cursor_fail"() + rx1301_cur."!cursor_debug"("FAIL ", "infix:sym<=>") + .return (rx1301_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__prefix:sym" :subid("333_1276996322.81157") :method -.annotate 'line', 446 - new $P1305, "ResizablePMCArray" - push $P1305, "make" - .return ($P1305) +.sub "!PREFIX__infix:sym<=>" :subid("331_1278500537.15927") :method +.annotate 'line', 447 + $P1303 = self."!PREFIX__!subrule"("panic", "=") + new $P1304, "ResizablePMCArray" + push $P1304, $P1303 + .return ($P1304) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("334_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1309_tgt - .local int rx1309_pos - .local int rx1309_off - .local int rx1309_eos - .local int rx1309_rep - .local pmc rx1309_cur - (rx1309_cur, rx1309_pos, rx1309_tgt) = self."!cursor_start"() - rx1309_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx1309_cur +.sub "infix:sym<:=>" :subid("332_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .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 ", "infix:sym<:=>") + .lex unicode:"$\x{a2}", rx1308_cur .local pmc match .lex "$/", match - length rx1309_eos, rx1309_tgt - gt rx1309_pos, rx1309_eos, rx1309_done - set rx1309_off, 0 - lt rx1309_pos, 2, rx1309_start - sub rx1309_off, rx1309_pos, 1 - substr rx1309_tgt, rx1309_tgt, rx1309_off - rx1309_start: + length rx1308_eos, rx1308_tgt + gt rx1308_pos, rx1308_eos, rx1308_done + 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) = rx1309_cur."from"() + ($P10) = rx1308_cur."from"() inc $P10 - set rx1309_pos, $P10 - ge rx1309_pos, rx1309_eos, rxscan1312_done + set rx1308_pos, $P10 + ge rx1308_pos, rx1308_eos, rxscan1312_done rxscan1312_scan: set_addr $I10, rxscan1312_loop - rx1309_cur."!mark_push"(0, rx1309_pos, $I10) + rx1308_cur."!mark_push"(0, rx1308_pos, $I10) rxscan1312_done: -.annotate 'line', 553 +.annotate 'line', 550 # rx subcapture "sym" set_addr $I10, rxcap_1313_fail - rx1309_cur."!mark_push"(0, rx1309_pos, $I10) - # rx literal "last" - add $I11, rx1309_pos, 4 - gt $I11, rx1309_eos, rx1309_fail - sub $I11, rx1309_pos, rx1309_off - substr $S10, rx1309_tgt, $I11, 4 - ne $S10, "last", rx1309_fail - add rx1309_pos, 4 + rx1308_cur."!mark_push"(0, rx1308_pos, $I10) + # rx literal ":=" + add $I11, rx1308_pos, 2 + gt $I11, rx1308_eos, rx1308_fail + sub $I11, rx1308_pos, rx1308_off + substr $S10, rx1308_tgt, $I11, 2 + ne $S10, ":=", rx1308_fail + add rx1308_pos, 2 set_addr $I10, rxcap_1313_fail - ($I12, $I11) = rx1309_cur."!mark_peek"($I10) - rx1309_cur."!cursor_pos"($I11) - ($P10) = rx1309_cur."!cursor_start"() - $P10."!cursor_pass"(rx1309_pos, "") - rx1309_cur."!mark_push"(0, -1, 0, $P10) + ($I12, $I11) = rx1308_cur."!mark_peek"($I10) + rx1308_cur."!cursor_pos"($I11) + ($P10) = rx1308_cur."!cursor_start"() + $P10."!cursor_pass"(rx1308_pos, "") + rx1308_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") goto rxcap_1313_done rxcap_1313_fail: - goto rx1309_fail + goto rx1308_fail rxcap_1313_done: + # rx subrule "O" subtype=capture negate= + rx1308_cur."!cursor_pos"(rx1308_pos) + $P10 = rx1308_cur."O"("%assignment, :pasttype") + unless $P10, rx1308_fail + rx1308_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1308_pos = $P10."pos"() # rx pass - rx1309_cur."!cursor_pass"(rx1309_pos, "term:sym") - rx1309_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1309_pos) - .return (rx1309_cur) - rx1309_fail: -.annotate 'line', 446 - (rx1309_rep, rx1309_pos, $I10, $P10) = rx1309_cur."!mark_fail"(0) - lt rx1309_pos, -1, rx1309_done - eq rx1309_pos, -1, rx1309_fail + rx1308_cur."!cursor_pass"(rx1308_pos, "infix:sym<:=>") + rx1308_cur."!cursor_debug"("PASS ", "infix:sym<:=>", " at pos=", rx1308_pos) + .return (rx1308_cur) + rx1308_fail: +.annotate 'line', 447 + (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 - rx1309_done: - rx1309_cur."!cursor_fail"() - rx1309_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx1309_cur) + rx1308_done: + rx1308_cur."!cursor_fail"() + rx1308_cur."!cursor_debug"("FAIL ", "infix:sym<:=>") + .return (rx1308_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("335_1276996322.81157") :method -.annotate 'line', 446 +.sub "!PREFIX__infix:sym<:=>" :subid("333_1278500537.15927") :method +.annotate 'line', 447 + $P1310 = self."!PREFIX__!subrule"("O", ":=") new $P1311, "ResizablePMCArray" - push $P1311, "last" + push $P1311, $P1310 .return ($P1311) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("336_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 +.sub "infix:sym<::=>" :subid("334_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 .local string rx1315_tgt .local int rx1315_pos .local int rx1315_off @@ -16191,7 +16135,7 @@ NQP::Compiler - NQP compiler .local int rx1315_rep .local pmc rx1315_cur (rx1315_cur, rx1315_pos, rx1315_tgt) = self."!cursor_start"() - rx1315_cur."!cursor_debug"("START ", "term:sym") + rx1315_cur."!cursor_debug"("START ", "infix:sym<::=>") .lex unicode:"$\x{a2}", rx1315_cur .local pmc match .lex "$/", match @@ -16203,1237 +16147,1677 @@ NQP::Compiler - NQP compiler substr rx1315_tgt, rx1315_tgt, rx1315_off rx1315_start: $I10 = self.'from'() - ne $I10, -1, rxscan1318_done - goto rxscan1318_scan - rxscan1318_loop: + ne $I10, -1, rxscan1319_done + goto rxscan1319_scan + rxscan1319_loop: ($P10) = rx1315_cur."from"() inc $P10 set rx1315_pos, $P10 - ge rx1315_pos, rx1315_eos, rxscan1318_done - rxscan1318_scan: - set_addr $I10, rxscan1318_loop + ge rx1315_pos, rx1315_eos, rxscan1319_done + rxscan1319_scan: + set_addr $I10, rxscan1319_loop rx1315_cur."!mark_push"(0, rx1315_pos, $I10) - rxscan1318_done: -.annotate 'line', 554 + rxscan1319_done: +.annotate 'line', 551 # rx subcapture "sym" - set_addr $I10, rxcap_1319_fail + set_addr $I10, rxcap_1320_fail rx1315_cur."!mark_push"(0, rx1315_pos, $I10) - # rx literal "next" - add $I11, rx1315_pos, 4 + # rx literal "::=" + add $I11, rx1315_pos, 3 gt $I11, rx1315_eos, rx1315_fail sub $I11, rx1315_pos, rx1315_off - substr $S10, rx1315_tgt, $I11, 4 - ne $S10, "next", rx1315_fail - add rx1315_pos, 4 - set_addr $I10, rxcap_1319_fail + substr $S10, rx1315_tgt, $I11, 3 + ne $S10, "::=", rx1315_fail + add rx1315_pos, 3 + set_addr $I10, rxcap_1320_fail ($I12, $I11) = rx1315_cur."!mark_peek"($I10) rx1315_cur."!cursor_pos"($I11) ($P10) = rx1315_cur."!cursor_start"() $P10."!cursor_pass"(rx1315_pos, "") rx1315_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1319_done - rxcap_1319_fail: + goto rxcap_1320_done + rxcap_1320_fail: goto rx1315_fail - rxcap_1319_done: + rxcap_1320_done: + # rx subrule "O" subtype=capture negate= + rx1315_cur."!cursor_pos"(rx1315_pos) + $P10 = rx1315_cur."O"("%assignment, :pasttype") + unless $P10, rx1315_fail + rx1315_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1315_pos = $P10."pos"() # rx pass - rx1315_cur."!cursor_pass"(rx1315_pos, "term:sym") - rx1315_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1315_pos) + rx1315_cur."!cursor_pass"(rx1315_pos, "infix:sym<::=>") + rx1315_cur."!cursor_debug"("PASS ", "infix:sym<::=>", " at pos=", rx1315_pos) .return (rx1315_cur) rx1315_fail: -.annotate 'line', 446 +.annotate 'line', 447 (rx1315_rep, rx1315_pos, $I10, $P10) = rx1315_cur."!mark_fail"(0) lt rx1315_pos, -1, rx1315_done eq rx1315_pos, -1, rx1315_fail jump $I10 rx1315_done: rx1315_cur."!cursor_fail"() - rx1315_cur."!cursor_debug"("FAIL ", "term:sym") + rx1315_cur."!cursor_debug"("FAIL ", "infix:sym<::=>") .return (rx1315_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("337_1276996322.81157") :method -.annotate 'line', 446 - new $P1317, "ResizablePMCArray" - push $P1317, "next" - .return ($P1317) +.sub "!PREFIX__infix:sym<::=>" :subid("335_1278500537.15927") :method +.annotate 'line', 447 + $P1317 = self."!PREFIX__!subrule"("O", "::=") + new $P1318, "ResizablePMCArray" + push $P1318, $P1317 + .return ($P1318) .end .namespace ["NQP";"Grammar"] -.sub "term:sym" :subid("338_1276996322.81157") :method :outer("11_1276996322.81157") -.annotate 'line', 446 - .local string rx1321_tgt - .local int rx1321_pos - .local int rx1321_off - .local int rx1321_eos - .local int rx1321_rep - .local pmc rx1321_cur - (rx1321_cur, rx1321_pos, rx1321_tgt) = self."!cursor_start"() - rx1321_cur."!cursor_debug"("START ", "term:sym") - .lex unicode:"$\x{a2}", rx1321_cur +.sub "infix:sym<,>" :subid("336_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1322_tgt + .local int rx1322_pos + .local int rx1322_off + .local int rx1322_eos + .local int rx1322_rep + .local pmc rx1322_cur + (rx1322_cur, rx1322_pos, rx1322_tgt) = self."!cursor_start"() + rx1322_cur."!cursor_debug"("START ", "infix:sym<,>") + .lex unicode:"$\x{a2}", rx1322_cur .local pmc match .lex "$/", match - length rx1321_eos, rx1321_tgt - gt rx1321_pos, rx1321_eos, rx1321_done - set rx1321_off, 0 - lt rx1321_pos, 2, rx1321_start - sub rx1321_off, rx1321_pos, 1 - substr rx1321_tgt, rx1321_tgt, rx1321_off - rx1321_start: + length rx1322_eos, rx1322_tgt + gt rx1322_pos, rx1322_eos, rx1322_done + set rx1322_off, 0 + lt rx1322_pos, 2, rx1322_start + sub rx1322_off, rx1322_pos, 1 + substr rx1322_tgt, rx1322_tgt, rx1322_off + rx1322_start: $I10 = self.'from'() - ne $I10, -1, rxscan1324_done - goto rxscan1324_scan - rxscan1324_loop: - ($P10) = rx1321_cur."from"() + ne $I10, -1, rxscan1326_done + goto rxscan1326_scan + rxscan1326_loop: + ($P10) = rx1322_cur."from"() inc $P10 - set rx1321_pos, $P10 - ge rx1321_pos, rx1321_eos, rxscan1324_done - rxscan1324_scan: - set_addr $I10, rxscan1324_loop - rx1321_cur."!mark_push"(0, rx1321_pos, $I10) - rxscan1324_done: -.annotate 'line', 555 + set rx1322_pos, $P10 + ge rx1322_pos, rx1322_eos, rxscan1326_done + rxscan1326_scan: + set_addr $I10, rxscan1326_loop + rx1322_cur."!mark_push"(0, rx1322_pos, $I10) + rxscan1326_done: +.annotate 'line', 553 # rx subcapture "sym" - set_addr $I10, rxcap_1325_fail - rx1321_cur."!mark_push"(0, rx1321_pos, $I10) - # rx literal "redo" - add $I11, rx1321_pos, 4 - gt $I11, rx1321_eos, rx1321_fail - sub $I11, rx1321_pos, rx1321_off - substr $S10, rx1321_tgt, $I11, 4 - ne $S10, "redo", rx1321_fail - add rx1321_pos, 4 - set_addr $I10, rxcap_1325_fail - ($I12, $I11) = rx1321_cur."!mark_peek"($I10) - rx1321_cur."!cursor_pos"($I11) - ($P10) = rx1321_cur."!cursor_start"() - $P10."!cursor_pass"(rx1321_pos, "") - rx1321_cur."!mark_push"(0, -1, 0, $P10) + set_addr $I10, rxcap_1327_fail + rx1322_cur."!mark_push"(0, rx1322_pos, $I10) + # rx literal "," + add $I11, rx1322_pos, 1 + gt $I11, rx1322_eos, rx1322_fail + sub $I11, rx1322_pos, rx1322_off + substr $S10, rx1322_tgt, $I11, 1 + ne $S10, ",", rx1322_fail + add rx1322_pos, 1 + set_addr $I10, rxcap_1327_fail + ($I12, $I11) = rx1322_cur."!mark_peek"($I10) + rx1322_cur."!cursor_pos"($I11) + ($P10) = rx1322_cur."!cursor_start"() + $P10."!cursor_pass"(rx1322_pos, "") + rx1322_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_1325_done - rxcap_1325_fail: - goto rx1321_fail - rxcap_1325_done: + goto rxcap_1327_done + rxcap_1327_fail: + goto rx1322_fail + rxcap_1327_done: + # rx subrule "O" subtype=capture negate= + rx1322_cur."!cursor_pos"(rx1322_pos) + $P10 = rx1322_cur."O"("%comma, :pasttype") + unless $P10, rx1322_fail + rx1322_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1322_pos = $P10."pos"() # rx pass - rx1321_cur."!cursor_pass"(rx1321_pos, "term:sym") - rx1321_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1321_pos) - .return (rx1321_cur) - rx1321_fail: -.annotate 'line', 446 - (rx1321_rep, rx1321_pos, $I10, $P10) = rx1321_cur."!mark_fail"(0) - lt rx1321_pos, -1, rx1321_done - eq rx1321_pos, -1, rx1321_fail + rx1322_cur."!cursor_pass"(rx1322_pos, "infix:sym<,>") + rx1322_cur."!cursor_debug"("PASS ", "infix:sym<,>", " at pos=", rx1322_pos) + .return (rx1322_cur) + rx1322_fail: +.annotate 'line', 447 + (rx1322_rep, rx1322_pos, $I10, $P10) = rx1322_cur."!mark_fail"(0) + lt rx1322_pos, -1, rx1322_done + eq rx1322_pos, -1, rx1322_fail jump $I10 - rx1321_done: - rx1321_cur."!cursor_fail"() - rx1321_cur."!cursor_debug"("FAIL ", "term:sym") - .return (rx1321_cur) + rx1322_done: + rx1322_cur."!cursor_fail"() + rx1322_cur."!cursor_debug"("FAIL ", "infix:sym<,>") + .return (rx1322_cur) .return () .end .namespace ["NQP";"Grammar"] -.sub "!PREFIX__term:sym" :subid("339_1276996322.81157") :method -.annotate 'line', 446 - new $P1323, "ResizablePMCArray" - push $P1323, "redo" - .return ($P1323) +.sub "!PREFIX__infix:sym<,>" :subid("337_1278500537.15927") :method +.annotate 'line', 447 + $P1324 = self."!PREFIX__!subrule"("O", ",") + new $P1325, "ResizablePMCArray" + push $P1325, $P1324 + .return ($P1325) .end .namespace ["NQP";"Grammar"] -.include "except_types.pasm" -.sub "smartmatch" :subid("340_1276996322.81157") :method :outer("11_1276996322.81157") - .param pmc param_1329 -.annotate 'line', 557 - new $P1328, 'ExceptionHandler' - set_addr $P1328, control_1327 - $P1328."handle_types"(.CONTROL_RETURN) - push_eh $P1328 - .lex "self", self - .lex "$/", param_1329 -.annotate 'line', 559 - new $P1330, "Undef" - .lex "$t", $P1330 - find_lex $P1331, "$/" - unless_null $P1331, vivify_376 - $P1331 = root_new ['parrot';'ResizablePMCArray'] - vivify_376: - set $P1332, $P1331[0] - unless_null $P1332, vivify_377 - new $P1332, "Undef" - vivify_377: - store_lex "$t", $P1332 - find_lex $P1333, "$/" - unless_null $P1333, vivify_378 - $P1333 = root_new ['parrot';'ResizablePMCArray'] - vivify_378: - set $P1334, $P1333[1] - unless_null $P1334, vivify_379 - new $P1334, "Undef" - vivify_379: - find_lex $P1335, "$/" - unless_null $P1335, vivify_380 - $P1335 = root_new ['parrot';'ResizablePMCArray'] - store_lex "$/", $P1335 - vivify_380: - set $P1335[0], $P1334 - find_lex $P1336, "$t" - find_lex $P1337, "$/" - unless_null $P1337, vivify_381 - $P1337 = root_new ['parrot';'ResizablePMCArray'] - store_lex "$/", $P1337 - vivify_381: - set $P1337[1], $P1336 -.annotate 'line', 557 - .return ($P1336) - control_1327: - .local pmc exception - .get_results (exception) - getattribute $P1338, exception, "payload" - .return ($P1338) -.end - - -.namespace ["NQP";"Regex"] -.sub "_block1339" :subid("341_1276996322.81157") :outer("11_1276996322.81157") -.annotate 'line', 563 - .const 'Sub' $P1397 = "360_1276996322.81157" - capture_lex $P1397 - .const 'Sub' $P1392 = "358_1276996322.81157" - capture_lex $P1392 - .const 'Sub' $P1379 = "355_1276996322.81157" - capture_lex $P1379 - .const 'Sub' $P1369 = "352_1276996322.81157" - capture_lex $P1369 - .const 'Sub' $P1364 = "350_1276996322.81157" - capture_lex $P1364 - .const 'Sub' $P1355 = "347_1276996322.81157" - capture_lex $P1355 - .const 'Sub' $P1350 = "345_1276996322.81157" - capture_lex $P1350 - .const 'Sub' $P1341 = "342_1276996322.81157" - capture_lex $P1341 - .const 'Sub' $P1397 = "360_1276996322.81157" - capture_lex $P1397 - .return ($P1397) -.end - - -.namespace ["NQP";"Regex"] -.sub "metachar:sym<:my>" :subid("342_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .const 'Sub' $P1347 = "344_1276996322.81157" - capture_lex $P1347 - .local string rx1342_tgt - .local int rx1342_pos - .local int rx1342_off - .local int rx1342_eos - .local int rx1342_rep - .local pmc rx1342_cur - (rx1342_cur, rx1342_pos, rx1342_tgt) = self."!cursor_start"() - rx1342_cur."!cursor_debug"("START ", "metachar:sym<:my>") - .lex unicode:"$\x{a2}", rx1342_cur +.sub "prefix:sym" :subid("338_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1329_tgt + .local int rx1329_pos + .local int rx1329_off + .local int rx1329_eos + .local int rx1329_rep + .local pmc rx1329_cur + (rx1329_cur, rx1329_pos, rx1329_tgt) = self."!cursor_start"() + rx1329_cur."!cursor_debug"("START ", "prefix:sym") + .lex unicode:"$\x{a2}", rx1329_cur .local pmc match .lex "$/", match - length rx1342_eos, rx1342_tgt - gt rx1342_pos, rx1342_eos, rx1342_done - set rx1342_off, 0 - lt rx1342_pos, 2, rx1342_start - sub rx1342_off, rx1342_pos, 1 - substr rx1342_tgt, rx1342_tgt, rx1342_off - rx1342_start: + length rx1329_eos, rx1329_tgt + gt rx1329_pos, rx1329_eos, rx1329_done + set rx1329_off, 0 + lt rx1329_pos, 2, rx1329_start + sub rx1329_off, rx1329_pos, 1 + substr rx1329_tgt, rx1329_tgt, rx1329_off + rx1329_start: $I10 = self.'from'() - ne $I10, -1, rxscan1345_done - goto rxscan1345_scan - rxscan1345_loop: - ($P10) = rx1342_cur."from"() + ne $I10, -1, rxscan1332_done + goto rxscan1332_scan + rxscan1332_loop: + ($P10) = rx1329_cur."from"() inc $P10 - set rx1342_pos, $P10 - ge rx1342_pos, rx1342_eos, rxscan1345_done - rxscan1345_scan: - set_addr $I10, rxscan1345_loop - rx1342_cur."!mark_push"(0, rx1342_pos, $I10) - rxscan1345_done: -.annotate 'line', 565 - # rx literal ":" - add $I11, rx1342_pos, 1 - gt $I11, rx1342_eos, rx1342_fail - sub $I11, rx1342_pos, rx1342_off - substr $S10, rx1342_tgt, $I11, 1 - ne $S10, ":", rx1342_fail - add rx1342_pos, 1 - # rx subrule "before" subtype=zerowidth negate= - rx1342_cur."!cursor_pos"(rx1342_pos) - .const 'Sub' $P1347 = "344_1276996322.81157" - capture_lex $P1347 - $P10 = rx1342_cur."before"($P1347) - unless $P10, rx1342_fail - # rx subrule "LANG" subtype=capture negate= - rx1342_cur."!cursor_pos"(rx1342_pos) - $P10 = rx1342_cur."LANG"("MAIN", "statement") - unless $P10, rx1342_fail - rx1342_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("statement") - rx1342_pos = $P10."pos"() - # rx subrule "ws" subtype=method negate= - rx1342_cur."!cursor_pos"(rx1342_pos) - $P10 = rx1342_cur."ws"() - unless $P10, rx1342_fail - rx1342_pos = $P10."pos"() - # rx literal ";" - add $I11, rx1342_pos, 1 - gt $I11, rx1342_eos, rx1342_fail - sub $I11, rx1342_pos, rx1342_off - substr $S10, rx1342_tgt, $I11, 1 - ne $S10, ";", rx1342_fail - add rx1342_pos, 1 -.annotate 'line', 564 + set rx1329_pos, $P10 + ge rx1329_pos, rx1329_eos, rxscan1332_done + rxscan1332_scan: + set_addr $I10, rxscan1332_loop + rx1329_cur."!mark_push"(0, rx1329_pos, $I10) + rxscan1332_done: +.annotate 'line', 555 + # rx subcapture "sym" + set_addr $I10, rxcap_1333_fail + rx1329_cur."!mark_push"(0, rx1329_pos, $I10) + # rx literal "return" + add $I11, rx1329_pos, 6 + gt $I11, rx1329_eos, rx1329_fail + sub $I11, rx1329_pos, rx1329_off + substr $S10, rx1329_tgt, $I11, 6 + ne $S10, "return", rx1329_fail + add rx1329_pos, 6 + set_addr $I10, rxcap_1333_fail + ($I12, $I11) = rx1329_cur."!mark_peek"($I10) + rx1329_cur."!cursor_pos"($I11) + ($P10) = rx1329_cur."!cursor_start"() + $P10."!cursor_pass"(rx1329_pos, "") + rx1329_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1333_done + rxcap_1333_fail: + goto rx1329_fail + rxcap_1333_done: + # rx charclass s + ge rx1329_pos, rx1329_eos, rx1329_fail + sub $I10, rx1329_pos, rx1329_off + is_cclass $I11, 32, rx1329_tgt, $I10 + unless $I11, rx1329_fail + inc rx1329_pos + # rx subrule "O" subtype=capture negate= + rx1329_cur."!cursor_pos"(rx1329_pos) + $P10 = rx1329_cur."O"("%list_prefix, :pasttype") + unless $P10, rx1329_fail + rx1329_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1329_pos = $P10."pos"() # rx pass - rx1342_cur."!cursor_pass"(rx1342_pos, "metachar:sym<:my>") - rx1342_cur."!cursor_debug"("PASS ", "metachar:sym<:my>", " at pos=", rx1342_pos) - .return (rx1342_cur) - rx1342_fail: -.annotate 'line', 563 - (rx1342_rep, rx1342_pos, $I10, $P10) = rx1342_cur."!mark_fail"(0) - lt rx1342_pos, -1, rx1342_done - eq rx1342_pos, -1, rx1342_fail + rx1329_cur."!cursor_pass"(rx1329_pos, "prefix:sym") + rx1329_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1329_pos) + .return (rx1329_cur) + rx1329_fail: +.annotate 'line', 447 + (rx1329_rep, rx1329_pos, $I10, $P10) = rx1329_cur."!mark_fail"(0) + lt rx1329_pos, -1, rx1329_done + eq rx1329_pos, -1, rx1329_fail jump $I10 - rx1342_done: - rx1342_cur."!cursor_fail"() - rx1342_cur."!cursor_debug"("FAIL ", "metachar:sym<:my>") - .return (rx1342_cur) + rx1329_done: + rx1329_cur."!cursor_fail"() + rx1329_cur."!cursor_debug"("FAIL ", "prefix:sym") + .return (rx1329_cur) .return () .end -.namespace ["NQP";"Regex"] -.sub "!PREFIX__metachar:sym<:my>" :subid("343_1276996322.81157") :method -.annotate 'line', 563 - new $P1344, "ResizablePMCArray" - push $P1344, ":" - .return ($P1344) +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__prefix:sym" :subid("339_1278500537.15927") :method +.annotate 'line', 447 + new $P1331, "ResizablePMCArray" + push $P1331, "return" + .return ($P1331) .end -.namespace ["NQP";"Regex"] -.sub "_block1346" :anon :subid("344_1276996322.81157") :method :outer("342_1276996322.81157") -.annotate 'line', 565 - .local string rx1348_tgt - .local int rx1348_pos - .local int rx1348_off - .local int rx1348_eos - .local int rx1348_rep - .local pmc rx1348_cur - (rx1348_cur, rx1348_pos, rx1348_tgt) = self."!cursor_start"() - rx1348_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx1348_cur +.namespace ["NQP";"Grammar"] +.sub "prefix:sym" :subid("340_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1335_tgt + .local int rx1335_pos + .local int rx1335_off + .local int rx1335_eos + .local int rx1335_rep + .local pmc rx1335_cur + (rx1335_cur, rx1335_pos, rx1335_tgt) = self."!cursor_start"() + rx1335_cur."!cursor_debug"("START ", "prefix:sym") + .lex unicode:"$\x{a2}", rx1335_cur .local pmc match .lex "$/", match - length rx1348_eos, rx1348_tgt - gt rx1348_pos, rx1348_eos, rx1348_done - set rx1348_off, 0 - lt rx1348_pos, 2, rx1348_start - sub rx1348_off, rx1348_pos, 1 - substr rx1348_tgt, rx1348_tgt, rx1348_off - rx1348_start: + length rx1335_eos, rx1335_tgt + gt rx1335_pos, rx1335_eos, rx1335_done + set rx1335_off, 0 + lt rx1335_pos, 2, rx1335_start + sub rx1335_off, rx1335_pos, 1 + substr rx1335_tgt, rx1335_tgt, rx1335_off + rx1335_start: $I10 = self.'from'() - ne $I10, -1, rxscan1349_done - goto rxscan1349_scan - rxscan1349_loop: - ($P10) = rx1348_cur."from"() + ne $I10, -1, rxscan1338_done + goto rxscan1338_scan + rxscan1338_loop: + ($P10) = rx1335_cur."from"() inc $P10 - set rx1348_pos, $P10 - ge rx1348_pos, rx1348_eos, rxscan1349_done - rxscan1349_scan: - set_addr $I10, rxscan1349_loop - rx1348_cur."!mark_push"(0, rx1348_pos, $I10) - rxscan1349_done: - # rx literal "my" - add $I11, rx1348_pos, 2 - gt $I11, rx1348_eos, rx1348_fail - sub $I11, rx1348_pos, rx1348_off - substr $S10, rx1348_tgt, $I11, 2 - ne $S10, "my", rx1348_fail - add rx1348_pos, 2 + set rx1335_pos, $P10 + ge rx1335_pos, rx1335_eos, rxscan1338_done + rxscan1338_scan: + set_addr $I10, rxscan1338_loop + rx1335_cur."!mark_push"(0, rx1335_pos, $I10) + rxscan1338_done: +.annotate 'line', 556 + # rx subcapture "sym" + set_addr $I10, rxcap_1339_fail + rx1335_cur."!mark_push"(0, rx1335_pos, $I10) + # rx literal "make" + add $I11, rx1335_pos, 4 + gt $I11, rx1335_eos, rx1335_fail + sub $I11, rx1335_pos, rx1335_off + substr $S10, rx1335_tgt, $I11, 4 + ne $S10, "make", rx1335_fail + add rx1335_pos, 4 + set_addr $I10, rxcap_1339_fail + ($I12, $I11) = rx1335_cur."!mark_peek"($I10) + rx1335_cur."!cursor_pos"($I11) + ($P10) = rx1335_cur."!cursor_start"() + $P10."!cursor_pass"(rx1335_pos, "") + rx1335_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1339_done + rxcap_1339_fail: + goto rx1335_fail + rxcap_1339_done: + # rx charclass s + ge rx1335_pos, rx1335_eos, rx1335_fail + sub $I10, rx1335_pos, rx1335_off + is_cclass $I11, 32, rx1335_tgt, $I10 + unless $I11, rx1335_fail + inc rx1335_pos + # rx subrule "O" subtype=capture negate= + rx1335_cur."!cursor_pos"(rx1335_pos) + $P10 = rx1335_cur."O"("%list_prefix") + unless $P10, rx1335_fail + rx1335_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("O") + rx1335_pos = $P10."pos"() # rx pass - rx1348_cur."!cursor_pass"(rx1348_pos, "") - rx1348_cur."!cursor_debug"("PASS ", "", " at pos=", rx1348_pos) - .return (rx1348_cur) - rx1348_fail: - (rx1348_rep, rx1348_pos, $I10, $P10) = rx1348_cur."!mark_fail"(0) - lt rx1348_pos, -1, rx1348_done - eq rx1348_pos, -1, rx1348_fail + rx1335_cur."!cursor_pass"(rx1335_pos, "prefix:sym") + rx1335_cur."!cursor_debug"("PASS ", "prefix:sym", " at pos=", rx1335_pos) + .return (rx1335_cur) + rx1335_fail: +.annotate 'line', 447 + (rx1335_rep, rx1335_pos, $I10, $P10) = rx1335_cur."!mark_fail"(0) + lt rx1335_pos, -1, rx1335_done + eq rx1335_pos, -1, rx1335_fail jump $I10 - rx1348_done: - rx1348_cur."!cursor_fail"() - rx1348_cur."!cursor_debug"("FAIL ", "") - .return (rx1348_cur) + rx1335_done: + rx1335_cur."!cursor_fail"() + rx1335_cur."!cursor_debug"("FAIL ", "prefix:sym") + .return (rx1335_cur) .return () .end -.namespace ["NQP";"Regex"] -.sub "metachar:sym<{ }>" :subid("345_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .local string rx1351_tgt - .local int rx1351_pos - .local int rx1351_off - .local int rx1351_eos - .local int rx1351_rep - .local pmc rx1351_cur - (rx1351_cur, rx1351_pos, rx1351_tgt) = self."!cursor_start"() - rx1351_cur."!cursor_debug"("START ", "metachar:sym<{ }>") - .lex unicode:"$\x{a2}", rx1351_cur +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__prefix:sym" :subid("341_1278500537.15927") :method +.annotate 'line', 447 + new $P1337, "ResizablePMCArray" + push $P1337, "make" + .return ($P1337) +.end + + +.namespace ["NQP";"Grammar"] +.sub "term:sym" :subid("342_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1341_tgt + .local int rx1341_pos + .local int rx1341_off + .local int rx1341_eos + .local int rx1341_rep + .local pmc rx1341_cur + (rx1341_cur, rx1341_pos, rx1341_tgt) = self."!cursor_start"() + rx1341_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx1341_cur .local pmc match .lex "$/", match - length rx1351_eos, rx1351_tgt - gt rx1351_pos, rx1351_eos, rx1351_done - set rx1351_off, 0 - lt rx1351_pos, 2, rx1351_start - sub rx1351_off, rx1351_pos, 1 - substr rx1351_tgt, rx1351_tgt, rx1351_off - rx1351_start: + length rx1341_eos, rx1341_tgt + gt rx1341_pos, rx1341_eos, rx1341_done + set rx1341_off, 0 + lt rx1341_pos, 2, rx1341_start + sub rx1341_off, rx1341_pos, 1 + substr rx1341_tgt, rx1341_tgt, rx1341_off + rx1341_start: $I10 = self.'from'() - ne $I10, -1, rxscan1354_done - goto rxscan1354_scan - rxscan1354_loop: - ($P10) = rx1351_cur."from"() + ne $I10, -1, rxscan1344_done + goto rxscan1344_scan + rxscan1344_loop: + ($P10) = rx1341_cur."from"() inc $P10 - set rx1351_pos, $P10 - ge rx1351_pos, rx1351_eos, rxscan1354_done - rxscan1354_scan: - set_addr $I10, rxscan1354_loop - rx1351_cur."!mark_push"(0, rx1351_pos, $I10) - rxscan1354_done: -.annotate 'line', 569 - # rx enumcharlist negate=0 zerowidth - ge rx1351_pos, rx1351_eos, rx1351_fail - sub $I10, rx1351_pos, rx1351_off - substr $S10, rx1351_tgt, $I10, 1 - index $I11, "{", $S10 - lt $I11, 0, rx1351_fail - # rx subrule "codeblock" subtype=capture negate= - rx1351_cur."!cursor_pos"(rx1351_pos) - $P10 = rx1351_cur."codeblock"() - unless $P10, rx1351_fail - rx1351_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("codeblock") - rx1351_pos = $P10."pos"() -.annotate 'line', 568 + set rx1341_pos, $P10 + ge rx1341_pos, rx1341_eos, rxscan1344_done + rxscan1344_scan: + set_addr $I10, rxscan1344_loop + rx1341_cur."!mark_push"(0, rx1341_pos, $I10) + rxscan1344_done: +.annotate 'line', 557 + # rx subcapture "sym" + set_addr $I10, rxcap_1345_fail + rx1341_cur."!mark_push"(0, rx1341_pos, $I10) + # rx literal "last" + add $I11, rx1341_pos, 4 + gt $I11, rx1341_eos, rx1341_fail + sub $I11, rx1341_pos, rx1341_off + substr $S10, rx1341_tgt, $I11, 4 + ne $S10, "last", rx1341_fail + add rx1341_pos, 4 + set_addr $I10, rxcap_1345_fail + ($I12, $I11) = rx1341_cur."!mark_peek"($I10) + rx1341_cur."!cursor_pos"($I11) + ($P10) = rx1341_cur."!cursor_start"() + $P10."!cursor_pass"(rx1341_pos, "") + rx1341_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1345_done + rxcap_1345_fail: + goto rx1341_fail + rxcap_1345_done: # rx pass - rx1351_cur."!cursor_pass"(rx1351_pos, "metachar:sym<{ }>") - rx1351_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1351_pos) - .return (rx1351_cur) - rx1351_fail: -.annotate 'line', 563 - (rx1351_rep, rx1351_pos, $I10, $P10) = rx1351_cur."!mark_fail"(0) - lt rx1351_pos, -1, rx1351_done - eq rx1351_pos, -1, rx1351_fail + rx1341_cur."!cursor_pass"(rx1341_pos, "term:sym") + rx1341_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1341_pos) + .return (rx1341_cur) + rx1341_fail: +.annotate 'line', 447 + (rx1341_rep, rx1341_pos, $I10, $P10) = rx1341_cur."!mark_fail"(0) + lt rx1341_pos, -1, rx1341_done + eq rx1341_pos, -1, rx1341_fail jump $I10 - rx1351_done: - rx1351_cur."!cursor_fail"() - rx1351_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>") - .return (rx1351_cur) + rx1341_done: + rx1341_cur."!cursor_fail"() + rx1341_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx1341_cur) .return () .end -.namespace ["NQP";"Regex"] -.sub "!PREFIX__metachar:sym<{ }>" :subid("346_1276996322.81157") :method -.annotate 'line', 563 - new $P1353, "ResizablePMCArray" - push $P1353, "{" - .return ($P1353) +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__term:sym" :subid("343_1278500537.15927") :method +.annotate 'line', 447 + new $P1343, "ResizablePMCArray" + push $P1343, "last" + .return ($P1343) .end -.namespace ["NQP";"Regex"] -.sub "metachar:sym" :subid("347_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .const 'Sub' $P1361 = "349_1276996322.81157" - capture_lex $P1361 - .local string rx1356_tgt - .local int rx1356_pos - .local int rx1356_off - .local int rx1356_eos - .local int rx1356_rep - .local pmc rx1356_cur - (rx1356_cur, rx1356_pos, rx1356_tgt) = self."!cursor_start"() - rx1356_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx1356_cur +.namespace ["NQP";"Grammar"] +.sub "term:sym" :subid("344_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1347_tgt + .local int rx1347_pos + .local int rx1347_off + .local int rx1347_eos + .local int rx1347_rep + .local pmc rx1347_cur + (rx1347_cur, rx1347_pos, rx1347_tgt) = self."!cursor_start"() + rx1347_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx1347_cur .local pmc match .lex "$/", match - length rx1356_eos, rx1356_tgt - gt rx1356_pos, rx1356_eos, rx1356_done - set rx1356_off, 0 - lt rx1356_pos, 2, rx1356_start - sub rx1356_off, rx1356_pos, 1 - substr rx1356_tgt, rx1356_tgt, rx1356_off - rx1356_start: + length rx1347_eos, rx1347_tgt + gt rx1347_pos, rx1347_eos, rx1347_done + set rx1347_off, 0 + lt rx1347_pos, 2, rx1347_start + sub rx1347_off, rx1347_pos, 1 + substr rx1347_tgt, rx1347_tgt, rx1347_off + rx1347_start: $I10 = self.'from'() - ne $I10, -1, rxscan1359_done - goto rxscan1359_scan - rxscan1359_loop: - ($P10) = rx1356_cur."from"() + ne $I10, -1, rxscan1350_done + goto rxscan1350_scan + rxscan1350_loop: + ($P10) = rx1347_cur."from"() inc $P10 - set rx1356_pos, $P10 - ge rx1356_pos, rx1356_eos, rxscan1359_done - rxscan1359_scan: - set_addr $I10, rxscan1359_loop - rx1356_cur."!mark_push"(0, rx1356_pos, $I10) - rxscan1359_done: -.annotate 'line', 573 - # rx enumcharlist negate=0 zerowidth - ge rx1356_pos, rx1356_eos, rx1356_fail - sub $I10, rx1356_pos, rx1356_off - substr $S10, rx1356_tgt, $I10, 1 - index $I11, "$@", $S10 - lt $I11, 0, rx1356_fail - # rx subrule "before" subtype=zerowidth negate= - rx1356_cur."!cursor_pos"(rx1356_pos) - .const 'Sub' $P1361 = "349_1276996322.81157" - capture_lex $P1361 - $P10 = rx1356_cur."before"($P1361) - unless $P10, rx1356_fail - # rx subrule "LANG" subtype=capture negate= - rx1356_cur."!cursor_pos"(rx1356_pos) - $P10 = rx1356_cur."LANG"("MAIN", "variable") - unless $P10, rx1356_fail - rx1356_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("var") - rx1356_pos = $P10."pos"() -.annotate 'line', 572 + set rx1347_pos, $P10 + ge rx1347_pos, rx1347_eos, rxscan1350_done + rxscan1350_scan: + set_addr $I10, rxscan1350_loop + rx1347_cur."!mark_push"(0, rx1347_pos, $I10) + rxscan1350_done: +.annotate 'line', 558 + # rx subcapture "sym" + set_addr $I10, rxcap_1351_fail + rx1347_cur."!mark_push"(0, rx1347_pos, $I10) + # rx literal "next" + add $I11, rx1347_pos, 4 + gt $I11, rx1347_eos, rx1347_fail + sub $I11, rx1347_pos, rx1347_off + substr $S10, rx1347_tgt, $I11, 4 + ne $S10, "next", rx1347_fail + add rx1347_pos, 4 + set_addr $I10, rxcap_1351_fail + ($I12, $I11) = rx1347_cur."!mark_peek"($I10) + rx1347_cur."!cursor_pos"($I11) + ($P10) = rx1347_cur."!cursor_start"() + $P10."!cursor_pass"(rx1347_pos, "") + rx1347_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1351_done + rxcap_1351_fail: + goto rx1347_fail + rxcap_1351_done: # rx pass - rx1356_cur."!cursor_pass"(rx1356_pos, "metachar:sym") - rx1356_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx1356_pos) - .return (rx1356_cur) - rx1356_fail: -.annotate 'line', 563 - (rx1356_rep, rx1356_pos, $I10, $P10) = rx1356_cur."!mark_fail"(0) - lt rx1356_pos, -1, rx1356_done - eq rx1356_pos, -1, rx1356_fail + rx1347_cur."!cursor_pass"(rx1347_pos, "term:sym") + rx1347_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1347_pos) + .return (rx1347_cur) + rx1347_fail: +.annotate 'line', 447 + (rx1347_rep, rx1347_pos, $I10, $P10) = rx1347_cur."!mark_fail"(0) + lt rx1347_pos, -1, rx1347_done + eq rx1347_pos, -1, rx1347_fail jump $I10 - rx1356_done: - rx1356_cur."!cursor_fail"() - rx1356_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx1356_cur) + rx1347_done: + rx1347_cur."!cursor_fail"() + rx1347_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx1347_cur) .return () .end -.namespace ["NQP";"Regex"] -.sub "!PREFIX__metachar:sym" :subid("348_1276996322.81157") :method -.annotate 'line', 563 - new $P1358, "ResizablePMCArray" - push $P1358, "$" - push $P1358, "@" - .return ($P1358) +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__term:sym" :subid("345_1278500537.15927") :method +.annotate 'line', 447 + new $P1349, "ResizablePMCArray" + push $P1349, "next" + .return ($P1349) .end -.namespace ["NQP";"Regex"] -.sub "_block1360" :anon :subid("349_1276996322.81157") :method :outer("347_1276996322.81157") -.annotate 'line', 573 - .local string rx1362_tgt - .local int rx1362_pos - .local int rx1362_off - .local int rx1362_eos - .local int rx1362_rep - .local pmc rx1362_cur - (rx1362_cur, rx1362_pos, rx1362_tgt) = self."!cursor_start"() - rx1362_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx1362_cur +.namespace ["NQP";"Grammar"] +.sub "term:sym" :subid("346_1278500537.15927") :method :outer("11_1278500537.15927") +.annotate 'line', 447 + .local string rx1353_tgt + .local int rx1353_pos + .local int rx1353_off + .local int rx1353_eos + .local int rx1353_rep + .local pmc rx1353_cur + (rx1353_cur, rx1353_pos, rx1353_tgt) = self."!cursor_start"() + rx1353_cur."!cursor_debug"("START ", "term:sym") + .lex unicode:"$\x{a2}", rx1353_cur .local pmc match .lex "$/", match - length rx1362_eos, rx1362_tgt - gt rx1362_pos, rx1362_eos, rx1362_done - set rx1362_off, 0 - lt rx1362_pos, 2, rx1362_start - sub rx1362_off, rx1362_pos, 1 - substr rx1362_tgt, rx1362_tgt, rx1362_off - rx1362_start: + length rx1353_eos, rx1353_tgt + gt rx1353_pos, rx1353_eos, rx1353_done + set rx1353_off, 0 + lt rx1353_pos, 2, rx1353_start + sub rx1353_off, rx1353_pos, 1 + substr rx1353_tgt, rx1353_tgt, rx1353_off + rx1353_start: $I10 = self.'from'() - ne $I10, -1, rxscan1363_done - goto rxscan1363_scan - rxscan1363_loop: - ($P10) = rx1362_cur."from"() + ne $I10, -1, rxscan1356_done + goto rxscan1356_scan + rxscan1356_loop: + ($P10) = rx1353_cur."from"() inc $P10 - set rx1362_pos, $P10 - ge rx1362_pos, rx1362_eos, rxscan1363_done - rxscan1363_scan: - set_addr $I10, rxscan1363_loop - rx1362_cur."!mark_push"(0, rx1362_pos, $I10) - rxscan1363_done: - # rx charclass . - ge rx1362_pos, rx1362_eos, rx1362_fail - inc rx1362_pos - # rx charclass w - ge rx1362_pos, rx1362_eos, rx1362_fail - sub $I10, rx1362_pos, rx1362_off - is_cclass $I11, 8192, rx1362_tgt, $I10 - unless $I11, rx1362_fail - inc rx1362_pos + set rx1353_pos, $P10 + ge rx1353_pos, rx1353_eos, rxscan1356_done + rxscan1356_scan: + set_addr $I10, rxscan1356_loop + rx1353_cur."!mark_push"(0, rx1353_pos, $I10) + rxscan1356_done: +.annotate 'line', 559 + # rx subcapture "sym" + set_addr $I10, rxcap_1357_fail + rx1353_cur."!mark_push"(0, rx1353_pos, $I10) + # rx literal "redo" + add $I11, rx1353_pos, 4 + gt $I11, rx1353_eos, rx1353_fail + sub $I11, rx1353_pos, rx1353_off + substr $S10, rx1353_tgt, $I11, 4 + ne $S10, "redo", rx1353_fail + add rx1353_pos, 4 + set_addr $I10, rxcap_1357_fail + ($I12, $I11) = rx1353_cur."!mark_peek"($I10) + rx1353_cur."!cursor_pos"($I11) + ($P10) = rx1353_cur."!cursor_start"() + $P10."!cursor_pass"(rx1353_pos, "") + rx1353_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_1357_done + rxcap_1357_fail: + goto rx1353_fail + rxcap_1357_done: # rx pass - rx1362_cur."!cursor_pass"(rx1362_pos, "") - rx1362_cur."!cursor_debug"("PASS ", "", " at pos=", rx1362_pos) - .return (rx1362_cur) - rx1362_fail: - (rx1362_rep, rx1362_pos, $I10, $P10) = rx1362_cur."!mark_fail"(0) - lt rx1362_pos, -1, rx1362_done - eq rx1362_pos, -1, rx1362_fail + rx1353_cur."!cursor_pass"(rx1353_pos, "term:sym") + rx1353_cur."!cursor_debug"("PASS ", "term:sym", " at pos=", rx1353_pos) + .return (rx1353_cur) + rx1353_fail: +.annotate 'line', 447 + (rx1353_rep, rx1353_pos, $I10, $P10) = rx1353_cur."!mark_fail"(0) + lt rx1353_pos, -1, rx1353_done + eq rx1353_pos, -1, rx1353_fail jump $I10 - rx1362_done: - rx1362_cur."!cursor_fail"() - rx1362_cur."!cursor_debug"("FAIL ", "") - .return (rx1362_cur) + rx1353_done: + rx1353_cur."!cursor_fail"() + rx1353_cur."!cursor_debug"("FAIL ", "term:sym") + .return (rx1353_cur) .return () .end -.namespace ["NQP";"Regex"] -.sub "assertion:sym<{ }>" :subid("350_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .local string rx1365_tgt - .local int rx1365_pos - .local int rx1365_off - .local int rx1365_eos - .local int rx1365_rep - .local pmc rx1365_cur - (rx1365_cur, rx1365_pos, rx1365_tgt) = self."!cursor_start"() - rx1365_cur."!cursor_debug"("START ", "assertion:sym<{ }>") - .lex unicode:"$\x{a2}", rx1365_cur - .local pmc match - .lex "$/", match - length rx1365_eos, rx1365_tgt - gt rx1365_pos, rx1365_eos, rx1365_done - set rx1365_off, 0 - lt rx1365_pos, 2, rx1365_start - sub rx1365_off, rx1365_pos, 1 - substr rx1365_tgt, rx1365_tgt, rx1365_off - rx1365_start: +.namespace ["NQP";"Grammar"] +.sub "!PREFIX__term:sym" :subid("347_1278500537.15927") :method +.annotate 'line', 447 + new $P1355, "ResizablePMCArray" + push $P1355, "redo" + .return ($P1355) +.end + + +.namespace ["NQP";"Grammar"] +.include "except_types.pasm" +.sub "smartmatch" :subid("348_1278500537.15927") :method :outer("11_1278500537.15927") + .param pmc param_1361 +.annotate 'line', 561 + new $P1360, 'ExceptionHandler' + set_addr $P1360, control_1359 + $P1360."handle_types"(.CONTROL_RETURN) + push_eh $P1360 + .lex "self", self + .lex "$/", param_1361 +.annotate 'line', 563 + new $P1362, "Undef" + .lex "$t", $P1362 + find_lex $P1363, "$/" + unless_null $P1363, vivify_384 + $P1363 = root_new ['parrot';'ResizablePMCArray'] + vivify_384: + set $P1364, $P1363[0] + unless_null $P1364, vivify_385 + new $P1364, "Undef" + vivify_385: + store_lex "$t", $P1364 + find_lex $P1365, "$/" + unless_null $P1365, vivify_386 + $P1365 = root_new ['parrot';'ResizablePMCArray'] + vivify_386: + set $P1366, $P1365[1] + unless_null $P1366, vivify_387 + new $P1366, "Undef" + vivify_387: + find_lex $P1367, "$/" + unless_null $P1367, vivify_388 + $P1367 = root_new ['parrot';'ResizablePMCArray'] + store_lex "$/", $P1367 + vivify_388: + set $P1367[0], $P1366 + find_lex $P1368, "$t" + find_lex $P1369, "$/" + unless_null $P1369, vivify_389 + $P1369 = root_new ['parrot';'ResizablePMCArray'] + store_lex "$/", $P1369 + vivify_389: + set $P1369[1], $P1368 +.annotate 'line', 561 + .return ($P1368) + control_1359: + .local pmc exception + .get_results (exception) + getattribute $P1370, exception, "payload" + .return ($P1370) +.end + + +.namespace ["NQP";"Regex"] +.sub "_block1371" :subid("349_1278500537.15927") :outer("11_1278500537.15927") +.annotate 'line', 567 + .const 'Sub' $P1429 = "368_1278500537.15927" + capture_lex $P1429 + .const 'Sub' $P1424 = "366_1278500537.15927" + capture_lex $P1424 + .const 'Sub' $P1411 = "363_1278500537.15927" + capture_lex $P1411 + .const 'Sub' $P1401 = "360_1278500537.15927" + capture_lex $P1401 + .const 'Sub' $P1396 = "358_1278500537.15927" + capture_lex $P1396 + .const 'Sub' $P1387 = "355_1278500537.15927" + capture_lex $P1387 + .const 'Sub' $P1382 = "353_1278500537.15927" + capture_lex $P1382 + .const 'Sub' $P1373 = "350_1278500537.15927" + capture_lex $P1373 + .const 'Sub' $P1429 = "368_1278500537.15927" + capture_lex $P1429 + .return ($P1429) +.end + + +.namespace ["NQP";"Regex"] +.sub "metachar:sym<:my>" :subid("350_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .const 'Sub' $P1379 = "352_1278500537.15927" + capture_lex $P1379 + .local string rx1374_tgt + .local int rx1374_pos + .local int rx1374_off + .local int rx1374_eos + .local int rx1374_rep + .local pmc rx1374_cur + (rx1374_cur, rx1374_pos, rx1374_tgt) = self."!cursor_start"() + rx1374_cur."!cursor_debug"("START ", "metachar:sym<:my>") + .lex unicode:"$\x{a2}", rx1374_cur + .local pmc match + .lex "$/", match + length rx1374_eos, rx1374_tgt + gt rx1374_pos, rx1374_eos, rx1374_done + set rx1374_off, 0 + lt rx1374_pos, 2, rx1374_start + sub rx1374_off, rx1374_pos, 1 + substr rx1374_tgt, rx1374_tgt, rx1374_off + rx1374_start: $I10 = self.'from'() - ne $I10, -1, rxscan1368_done - goto rxscan1368_scan - rxscan1368_loop: - ($P10) = rx1365_cur."from"() + ne $I10, -1, rxscan1377_done + goto rxscan1377_scan + rxscan1377_loop: + ($P10) = rx1374_cur."from"() inc $P10 - set rx1365_pos, $P10 - ge rx1365_pos, rx1365_eos, rxscan1368_done - rxscan1368_scan: - set_addr $I10, rxscan1368_loop - rx1365_cur."!mark_push"(0, rx1365_pos, $I10) - rxscan1368_done: -.annotate 'line', 577 + set rx1374_pos, $P10 + ge rx1374_pos, rx1374_eos, rxscan1377_done + rxscan1377_scan: + set_addr $I10, rxscan1377_loop + rx1374_cur."!mark_push"(0, rx1374_pos, $I10) + rxscan1377_done: +.annotate 'line', 569 + # rx literal ":" + add $I11, rx1374_pos, 1 + gt $I11, rx1374_eos, rx1374_fail + sub $I11, rx1374_pos, rx1374_off + substr $S10, rx1374_tgt, $I11, 1 + ne $S10, ":", rx1374_fail + add rx1374_pos, 1 + # rx subrule "before" subtype=zerowidth negate= + rx1374_cur."!cursor_pos"(rx1374_pos) + .const 'Sub' $P1379 = "352_1278500537.15927" + capture_lex $P1379 + $P10 = rx1374_cur."before"($P1379) + unless $P10, rx1374_fail + # rx subrule "LANG" subtype=capture negate= + rx1374_cur."!cursor_pos"(rx1374_pos) + $P10 = rx1374_cur."LANG"("MAIN", "statement") + unless $P10, rx1374_fail + rx1374_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("statement") + rx1374_pos = $P10."pos"() + # rx subrule "ws" subtype=method negate= + rx1374_cur."!cursor_pos"(rx1374_pos) + $P10 = rx1374_cur."ws"() + unless $P10, rx1374_fail + rx1374_pos = $P10."pos"() + # rx literal ";" + add $I11, rx1374_pos, 1 + gt $I11, rx1374_eos, rx1374_fail + sub $I11, rx1374_pos, rx1374_off + substr $S10, rx1374_tgt, $I11, 1 + ne $S10, ";", rx1374_fail + add rx1374_pos, 1 +.annotate 'line', 568 + # rx pass + rx1374_cur."!cursor_pass"(rx1374_pos, "metachar:sym<:my>") + rx1374_cur."!cursor_debug"("PASS ", "metachar:sym<:my>", " at pos=", rx1374_pos) + .return (rx1374_cur) + rx1374_fail: +.annotate 'line', 567 + (rx1374_rep, rx1374_pos, $I10, $P10) = rx1374_cur."!mark_fail"(0) + lt rx1374_pos, -1, rx1374_done + eq rx1374_pos, -1, rx1374_fail + jump $I10 + rx1374_done: + rx1374_cur."!cursor_fail"() + rx1374_cur."!cursor_debug"("FAIL ", "metachar:sym<:my>") + .return (rx1374_cur) + .return () +.end + + +.namespace ["NQP";"Regex"] +.sub "!PREFIX__metachar:sym<:my>" :subid("351_1278500537.15927") :method +.annotate 'line', 567 + new $P1376, "ResizablePMCArray" + push $P1376, ":" + .return ($P1376) +.end + + +.namespace ["NQP";"Regex"] +.sub "_block1378" :anon :subid("352_1278500537.15927") :method :outer("350_1278500537.15927") +.annotate 'line', 569 + .local string rx1380_tgt + .local int rx1380_pos + .local int rx1380_off + .local int rx1380_eos + .local int rx1380_rep + .local pmc rx1380_cur + (rx1380_cur, rx1380_pos, rx1380_tgt) = self."!cursor_start"() + rx1380_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx1380_cur + .local pmc match + .lex "$/", match + length rx1380_eos, rx1380_tgt + gt rx1380_pos, rx1380_eos, rx1380_done + set rx1380_off, 0 + lt rx1380_pos, 2, rx1380_start + sub rx1380_off, rx1380_pos, 1 + substr rx1380_tgt, rx1380_tgt, rx1380_off + rx1380_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1381_done + goto rxscan1381_scan + rxscan1381_loop: + ($P10) = rx1380_cur."from"() + inc $P10 + set rx1380_pos, $P10 + ge rx1380_pos, rx1380_eos, rxscan1381_done + rxscan1381_scan: + set_addr $I10, rxscan1381_loop + rx1380_cur."!mark_push"(0, rx1380_pos, $I10) + rxscan1381_done: + # rx literal "my" + add $I11, rx1380_pos, 2 + gt $I11, rx1380_eos, rx1380_fail + sub $I11, rx1380_pos, rx1380_off + substr $S10, rx1380_tgt, $I11, 2 + ne $S10, "my", rx1380_fail + add rx1380_pos, 2 + # rx pass + rx1380_cur."!cursor_pass"(rx1380_pos, "") + rx1380_cur."!cursor_debug"("PASS ", "", " at pos=", rx1380_pos) + .return (rx1380_cur) + rx1380_fail: + (rx1380_rep, rx1380_pos, $I10, $P10) = rx1380_cur."!mark_fail"(0) + lt rx1380_pos, -1, rx1380_done + eq rx1380_pos, -1, rx1380_fail + jump $I10 + rx1380_done: + rx1380_cur."!cursor_fail"() + rx1380_cur."!cursor_debug"("FAIL ", "") + .return (rx1380_cur) + .return () +.end + + +.namespace ["NQP";"Regex"] +.sub "metachar:sym<{ }>" :subid("353_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .local string rx1383_tgt + .local int rx1383_pos + .local int rx1383_off + .local int rx1383_eos + .local int rx1383_rep + .local pmc rx1383_cur + (rx1383_cur, rx1383_pos, rx1383_tgt) = self."!cursor_start"() + rx1383_cur."!cursor_debug"("START ", "metachar:sym<{ }>") + .lex unicode:"$\x{a2}", rx1383_cur + .local pmc match + .lex "$/", match + length rx1383_eos, rx1383_tgt + gt rx1383_pos, rx1383_eos, rx1383_done + set rx1383_off, 0 + lt rx1383_pos, 2, rx1383_start + sub rx1383_off, rx1383_pos, 1 + substr rx1383_tgt, rx1383_tgt, rx1383_off + rx1383_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1386_done + goto rxscan1386_scan + rxscan1386_loop: + ($P10) = rx1383_cur."from"() + inc $P10 + set rx1383_pos, $P10 + ge rx1383_pos, rx1383_eos, rxscan1386_done + rxscan1386_scan: + set_addr $I10, rxscan1386_loop + rx1383_cur."!mark_push"(0, rx1383_pos, $I10) + rxscan1386_done: +.annotate 'line', 573 # rx enumcharlist negate=0 zerowidth - ge rx1365_pos, rx1365_eos, rx1365_fail - sub $I10, rx1365_pos, rx1365_off - substr $S10, rx1365_tgt, $I10, 1 + ge rx1383_pos, rx1383_eos, rx1383_fail + sub $I10, rx1383_pos, rx1383_off + substr $S10, rx1383_tgt, $I10, 1 index $I11, "{", $S10 - lt $I11, 0, rx1365_fail + lt $I11, 0, rx1383_fail # rx subrule "codeblock" subtype=capture negate= - rx1365_cur."!cursor_pos"(rx1365_pos) - $P10 = rx1365_cur."codeblock"() - unless $P10, rx1365_fail - rx1365_cur."!mark_push"(0, -1, 0, $P10) + rx1383_cur."!cursor_pos"(rx1383_pos) + $P10 = rx1383_cur."codeblock"() + unless $P10, rx1383_fail + rx1383_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("codeblock") - rx1365_pos = $P10."pos"() + rx1383_pos = $P10."pos"() +.annotate 'line', 572 + # rx pass + rx1383_cur."!cursor_pass"(rx1383_pos, "metachar:sym<{ }>") + rx1383_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1383_pos) + .return (rx1383_cur) + rx1383_fail: +.annotate 'line', 567 + (rx1383_rep, rx1383_pos, $I10, $P10) = rx1383_cur."!mark_fail"(0) + lt rx1383_pos, -1, rx1383_done + eq rx1383_pos, -1, rx1383_fail + jump $I10 + rx1383_done: + rx1383_cur."!cursor_fail"() + rx1383_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>") + .return (rx1383_cur) + .return () +.end + + +.namespace ["NQP";"Regex"] +.sub "!PREFIX__metachar:sym<{ }>" :subid("354_1278500537.15927") :method +.annotate 'line', 567 + new $P1385, "ResizablePMCArray" + push $P1385, "{" + .return ($P1385) +.end + + +.namespace ["NQP";"Regex"] +.sub "metachar:sym" :subid("355_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .const 'Sub' $P1393 = "357_1278500537.15927" + capture_lex $P1393 + .local string rx1388_tgt + .local int rx1388_pos + .local int rx1388_off + .local int rx1388_eos + .local int rx1388_rep + .local pmc rx1388_cur + (rx1388_cur, rx1388_pos, rx1388_tgt) = self."!cursor_start"() + rx1388_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx1388_cur + .local pmc match + .lex "$/", match + length rx1388_eos, rx1388_tgt + gt rx1388_pos, rx1388_eos, rx1388_done + set rx1388_off, 0 + lt rx1388_pos, 2, rx1388_start + sub rx1388_off, rx1388_pos, 1 + substr rx1388_tgt, rx1388_tgt, rx1388_off + rx1388_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1391_done + goto rxscan1391_scan + rxscan1391_loop: + ($P10) = rx1388_cur."from"() + inc $P10 + set rx1388_pos, $P10 + ge rx1388_pos, rx1388_eos, rxscan1391_done + rxscan1391_scan: + set_addr $I10, rxscan1391_loop + rx1388_cur."!mark_push"(0, rx1388_pos, $I10) + rxscan1391_done: +.annotate 'line', 577 + # rx enumcharlist negate=0 zerowidth + ge rx1388_pos, rx1388_eos, rx1388_fail + sub $I10, rx1388_pos, rx1388_off + substr $S10, rx1388_tgt, $I10, 1 + index $I11, "$@", $S10 + lt $I11, 0, rx1388_fail + # rx subrule "before" subtype=zerowidth negate= + rx1388_cur."!cursor_pos"(rx1388_pos) + .const 'Sub' $P1393 = "357_1278500537.15927" + capture_lex $P1393 + $P10 = rx1388_cur."before"($P1393) + unless $P10, rx1388_fail + # rx subrule "LANG" subtype=capture negate= + rx1388_cur."!cursor_pos"(rx1388_pos) + $P10 = rx1388_cur."LANG"("MAIN", "variable") + unless $P10, rx1388_fail + rx1388_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("var") + rx1388_pos = $P10."pos"() .annotate 'line', 576 # rx pass - rx1365_cur."!cursor_pass"(rx1365_pos, "assertion:sym<{ }>") - rx1365_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1365_pos) - .return (rx1365_cur) - rx1365_fail: -.annotate 'line', 563 - (rx1365_rep, rx1365_pos, $I10, $P10) = rx1365_cur."!mark_fail"(0) - lt rx1365_pos, -1, rx1365_done - eq rx1365_pos, -1, rx1365_fail + rx1388_cur."!cursor_pass"(rx1388_pos, "metachar:sym") + rx1388_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx1388_pos) + .return (rx1388_cur) + rx1388_fail: +.annotate 'line', 567 + (rx1388_rep, rx1388_pos, $I10, $P10) = rx1388_cur."!mark_fail"(0) + lt rx1388_pos, -1, rx1388_done + eq rx1388_pos, -1, rx1388_fail jump $I10 - rx1365_done: - rx1365_cur."!cursor_fail"() - rx1365_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>") - .return (rx1365_cur) + rx1388_done: + rx1388_cur."!cursor_fail"() + rx1388_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx1388_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "!PREFIX__assertion:sym<{ }>" :subid("351_1276996322.81157") :method -.annotate 'line', 563 - new $P1367, "ResizablePMCArray" - push $P1367, "{" - .return ($P1367) +.sub "!PREFIX__metachar:sym" :subid("356_1278500537.15927") :method +.annotate 'line', 567 + new $P1390, "ResizablePMCArray" + push $P1390, "$" + push $P1390, "@" + .return ($P1390) .end .namespace ["NQP";"Regex"] -.sub "assertion:sym" :subid("352_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .const 'Sub' $P1375 = "354_1276996322.81157" - capture_lex $P1375 - .local string rx1370_tgt - .local int rx1370_pos - .local int rx1370_off - .local int rx1370_eos - .local int rx1370_rep - .local pmc rx1370_cur - (rx1370_cur, rx1370_pos, rx1370_tgt) = self."!cursor_start"() - rx1370_cur."!cursor_debug"("START ", "assertion:sym") - .lex unicode:"$\x{a2}", rx1370_cur +.sub "_block1392" :anon :subid("357_1278500537.15927") :method :outer("355_1278500537.15927") +.annotate 'line', 577 + .local string rx1394_tgt + .local int rx1394_pos + .local int rx1394_off + .local int rx1394_eos + .local int rx1394_rep + .local pmc rx1394_cur + (rx1394_cur, rx1394_pos, rx1394_tgt) = self."!cursor_start"() + rx1394_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx1394_cur + .local pmc match + .lex "$/", match + length rx1394_eos, rx1394_tgt + gt rx1394_pos, rx1394_eos, rx1394_done + set rx1394_off, 0 + lt rx1394_pos, 2, rx1394_start + sub rx1394_off, rx1394_pos, 1 + substr rx1394_tgt, rx1394_tgt, rx1394_off + rx1394_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1395_done + goto rxscan1395_scan + rxscan1395_loop: + ($P10) = rx1394_cur."from"() + inc $P10 + set rx1394_pos, $P10 + ge rx1394_pos, rx1394_eos, rxscan1395_done + rxscan1395_scan: + set_addr $I10, rxscan1395_loop + rx1394_cur."!mark_push"(0, rx1394_pos, $I10) + rxscan1395_done: + # rx charclass . + ge rx1394_pos, rx1394_eos, rx1394_fail + inc rx1394_pos + # rx charclass w + ge rx1394_pos, rx1394_eos, rx1394_fail + sub $I10, rx1394_pos, rx1394_off + is_cclass $I11, 8192, rx1394_tgt, $I10 + unless $I11, rx1394_fail + inc rx1394_pos + # rx pass + rx1394_cur."!cursor_pass"(rx1394_pos, "") + rx1394_cur."!cursor_debug"("PASS ", "", " at pos=", rx1394_pos) + .return (rx1394_cur) + rx1394_fail: + (rx1394_rep, rx1394_pos, $I10, $P10) = rx1394_cur."!mark_fail"(0) + lt rx1394_pos, -1, rx1394_done + eq rx1394_pos, -1, rx1394_fail + jump $I10 + rx1394_done: + rx1394_cur."!cursor_fail"() + rx1394_cur."!cursor_debug"("FAIL ", "") + .return (rx1394_cur) + .return () +.end + + +.namespace ["NQP";"Regex"] +.sub "assertion:sym<{ }>" :subid("358_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .local string rx1397_tgt + .local int rx1397_pos + .local int rx1397_off + .local int rx1397_eos + .local int rx1397_rep + .local pmc rx1397_cur + (rx1397_cur, rx1397_pos, rx1397_tgt) = self."!cursor_start"() + rx1397_cur."!cursor_debug"("START ", "assertion:sym<{ }>") + .lex unicode:"$\x{a2}", rx1397_cur .local pmc match .lex "$/", match - length rx1370_eos, rx1370_tgt - gt rx1370_pos, rx1370_eos, rx1370_done - set rx1370_off, 0 - lt rx1370_pos, 2, rx1370_start - sub rx1370_off, rx1370_pos, 1 - substr rx1370_tgt, rx1370_tgt, rx1370_off - rx1370_start: + length rx1397_eos, rx1397_tgt + gt rx1397_pos, rx1397_eos, rx1397_done + set rx1397_off, 0 + lt rx1397_pos, 2, rx1397_start + sub rx1397_off, rx1397_pos, 1 + substr rx1397_tgt, rx1397_tgt, rx1397_off + rx1397_start: $I10 = self.'from'() - ne $I10, -1, rxscan1373_done - goto rxscan1373_scan - rxscan1373_loop: - ($P10) = rx1370_cur."from"() + ne $I10, -1, rxscan1400_done + goto rxscan1400_scan + rxscan1400_loop: + ($P10) = rx1397_cur."from"() inc $P10 - set rx1370_pos, $P10 - ge rx1370_pos, rx1370_eos, rxscan1373_done - rxscan1373_scan: - set_addr $I10, rxscan1373_loop - rx1370_cur."!mark_push"(0, rx1370_pos, $I10) - rxscan1373_done: + set rx1397_pos, $P10 + ge rx1397_pos, rx1397_eos, rxscan1400_done + rxscan1400_scan: + set_addr $I10, rxscan1400_loop + rx1397_cur."!mark_push"(0, rx1397_pos, $I10) + rxscan1400_done: .annotate 'line', 581 + # rx enumcharlist negate=0 zerowidth + ge rx1397_pos, rx1397_eos, rx1397_fail + sub $I10, rx1397_pos, rx1397_off + substr $S10, rx1397_tgt, $I10, 1 + index $I11, "{", $S10 + lt $I11, 0, rx1397_fail + # rx subrule "codeblock" subtype=capture negate= + rx1397_cur."!cursor_pos"(rx1397_pos) + $P10 = rx1397_cur."codeblock"() + unless $P10, rx1397_fail + rx1397_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("codeblock") + rx1397_pos = $P10."pos"() +.annotate 'line', 580 + # rx pass + rx1397_cur."!cursor_pass"(rx1397_pos, "assertion:sym<{ }>") + rx1397_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1397_pos) + .return (rx1397_cur) + rx1397_fail: +.annotate 'line', 567 + (rx1397_rep, rx1397_pos, $I10, $P10) = rx1397_cur."!mark_fail"(0) + lt rx1397_pos, -1, rx1397_done + eq rx1397_pos, -1, rx1397_fail + jump $I10 + rx1397_done: + rx1397_cur."!cursor_fail"() + rx1397_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>") + .return (rx1397_cur) + .return () +.end + + +.namespace ["NQP";"Regex"] +.sub "!PREFIX__assertion:sym<{ }>" :subid("359_1278500537.15927") :method +.annotate 'line', 567 + new $P1399, "ResizablePMCArray" + push $P1399, "{" + .return ($P1399) +.end + + +.namespace ["NQP";"Regex"] +.sub "assertion:sym" :subid("360_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .const 'Sub' $P1407 = "362_1278500537.15927" + capture_lex $P1407 + .local string rx1402_tgt + .local int rx1402_pos + .local int rx1402_off + .local int rx1402_eos + .local int rx1402_rep + .local pmc rx1402_cur + (rx1402_cur, rx1402_pos, rx1402_tgt) = self."!cursor_start"() + rx1402_cur."!cursor_debug"("START ", "assertion:sym") + .lex unicode:"$\x{a2}", rx1402_cur + .local pmc match + .lex "$/", match + length rx1402_eos, rx1402_tgt + gt rx1402_pos, rx1402_eos, rx1402_done + set rx1402_off, 0 + lt rx1402_pos, 2, rx1402_start + sub rx1402_off, rx1402_pos, 1 + substr rx1402_tgt, rx1402_tgt, rx1402_off + rx1402_start: + $I10 = self.'from'() + ne $I10, -1, rxscan1405_done + goto rxscan1405_scan + rxscan1405_loop: + ($P10) = rx1402_cur."from"() + inc $P10 + set rx1402_pos, $P10 + ge rx1402_pos, rx1402_eos, rxscan1405_done + rxscan1405_scan: + set_addr $I10, rxscan1405_loop + rx1402_cur."!mark_push"(0, rx1402_pos, $I10) + rxscan1405_done: +.annotate 'line', 585 # rx subcapture "zw" - set_addr $I10, rxcap_1378_fail - rx1370_cur."!mark_push"(0, rx1370_pos, $I10) + set_addr $I10, rxcap_1410_fail + rx1402_cur."!mark_push"(0, rx1402_pos, $I10) # rx enumcharlist negate=0 - ge rx1370_pos, rx1370_eos, rx1370_fail - sub $I10, rx1370_pos, rx1370_off - substr $S10, rx1370_tgt, $I10, 1 + ge rx1402_pos, rx1402_eos, rx1402_fail + sub $I10, rx1402_pos, rx1402_off + substr $S10, rx1402_tgt, $I10, 1 index $I11, "?!", $S10 - lt $I11, 0, rx1370_fail - inc rx1370_pos + lt $I11, 0, rx1402_fail + inc rx1402_pos # rx subrule "before" subtype=zerowidth negate= - rx1370_cur."!cursor_pos"(rx1370_pos) - .const 'Sub' $P1375 = "354_1276996322.81157" - capture_lex $P1375 - $P10 = rx1370_cur."before"($P1375) - unless $P10, rx1370_fail - set_addr $I10, rxcap_1378_fail - ($I12, $I11) = rx1370_cur."!mark_peek"($I10) - rx1370_cur."!cursor_pos"($I11) - ($P10) = rx1370_cur."!cursor_start"() - $P10."!cursor_pass"(rx1370_pos, "") - rx1370_cur."!mark_push"(0, -1, 0, $P10) + rx1402_cur."!cursor_pos"(rx1402_pos) + .const 'Sub' $P1407 = "362_1278500537.15927" + capture_lex $P1407 + $P10 = rx1402_cur."before"($P1407) + unless $P10, rx1402_fail + set_addr $I10, rxcap_1410_fail + ($I12, $I11) = rx1402_cur."!mark_peek"($I10) + rx1402_cur."!cursor_pos"($I11) + ($P10) = rx1402_cur."!cursor_start"() + $P10."!cursor_pass"(rx1402_pos, "") + rx1402_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("zw") - goto rxcap_1378_done - rxcap_1378_fail: - goto rx1370_fail - rxcap_1378_done: + goto rxcap_1410_done + rxcap_1410_fail: + goto rx1402_fail + rxcap_1410_done: # rx subrule "codeblock" subtype=capture negate= - rx1370_cur."!cursor_pos"(rx1370_pos) - $P10 = rx1370_cur."codeblock"() - unless $P10, rx1370_fail - rx1370_cur."!mark_push"(0, -1, 0, $P10) + rx1402_cur."!cursor_pos"(rx1402_pos) + $P10 = rx1402_cur."codeblock"() + unless $P10, rx1402_fail + rx1402_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("codeblock") - rx1370_pos = $P10."pos"() -.annotate 'line', 580 + rx1402_pos = $P10."pos"() +.annotate 'line', 584 # rx pass - rx1370_cur."!cursor_pass"(rx1370_pos, "assertion:sym") - rx1370_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1370_pos) - .return (rx1370_cur) - rx1370_fail: -.annotate 'line', 563 - (rx1370_rep, rx1370_pos, $I10, $P10) = rx1370_cur."!mark_fail"(0) - lt rx1370_pos, -1, rx1370_done - eq rx1370_pos, -1, rx1370_fail + rx1402_cur."!cursor_pass"(rx1402_pos, "assertion:sym") + rx1402_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1402_pos) + .return (rx1402_cur) + rx1402_fail: +.annotate 'line', 567 + (rx1402_rep, rx1402_pos, $I10, $P10) = rx1402_cur."!mark_fail"(0) + lt rx1402_pos, -1, rx1402_done + eq rx1402_pos, -1, rx1402_fail jump $I10 - rx1370_done: - rx1370_cur."!cursor_fail"() - rx1370_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx1370_cur) + rx1402_done: + rx1402_cur."!cursor_fail"() + rx1402_cur."!cursor_debug"("FAIL ", "assertion:sym") + .return (rx1402_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "!PREFIX__assertion:sym" :subid("353_1276996322.81157") :method -.annotate 'line', 563 - new $P1372, "ResizablePMCArray" - push $P1372, "!" - push $P1372, "?" - .return ($P1372) +.sub "!PREFIX__assertion:sym" :subid("361_1278500537.15927") :method +.annotate 'line', 567 + new $P1404, "ResizablePMCArray" + push $P1404, "!" + push $P1404, "?" + .return ($P1404) .end .namespace ["NQP";"Regex"] -.sub "_block1374" :anon :subid("354_1276996322.81157") :method :outer("352_1276996322.81157") -.annotate 'line', 581 - .local string rx1376_tgt - .local int rx1376_pos - .local int rx1376_off - .local int rx1376_eos - .local int rx1376_rep - .local pmc rx1376_cur - (rx1376_cur, rx1376_pos, rx1376_tgt) = self."!cursor_start"() - rx1376_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx1376_cur +.sub "_block1406" :anon :subid("362_1278500537.15927") :method :outer("360_1278500537.15927") +.annotate 'line', 585 + .local string rx1408_tgt + .local int rx1408_pos + .local int rx1408_off + .local int rx1408_eos + .local int rx1408_rep + .local pmc rx1408_cur + (rx1408_cur, rx1408_pos, rx1408_tgt) = self."!cursor_start"() + rx1408_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx1408_cur .local pmc match .lex "$/", match - length rx1376_eos, rx1376_tgt - gt rx1376_pos, rx1376_eos, rx1376_done - set rx1376_off, 0 - lt rx1376_pos, 2, rx1376_start - sub rx1376_off, rx1376_pos, 1 - substr rx1376_tgt, rx1376_tgt, rx1376_off - rx1376_start: + length rx1408_eos, rx1408_tgt + gt rx1408_pos, rx1408_eos, rx1408_done + set rx1408_off, 0 + lt rx1408_pos, 2, rx1408_start + sub rx1408_off, rx1408_pos, 1 + substr rx1408_tgt, rx1408_tgt, rx1408_off + rx1408_start: $I10 = self.'from'() - ne $I10, -1, rxscan1377_done - goto rxscan1377_scan - rxscan1377_loop: - ($P10) = rx1376_cur."from"() + ne $I10, -1, rxscan1409_done + goto rxscan1409_scan + rxscan1409_loop: + ($P10) = rx1408_cur."from"() inc $P10 - set rx1376_pos, $P10 - ge rx1376_pos, rx1376_eos, rxscan1377_done - rxscan1377_scan: - set_addr $I10, rxscan1377_loop - rx1376_cur."!mark_push"(0, rx1376_pos, $I10) - rxscan1377_done: + set rx1408_pos, $P10 + ge rx1408_pos, rx1408_eos, rxscan1409_done + rxscan1409_scan: + set_addr $I10, rxscan1409_loop + rx1408_cur."!mark_push"(0, rx1408_pos, $I10) + rxscan1409_done: # rx literal "{" - add $I11, rx1376_pos, 1 - gt $I11, rx1376_eos, rx1376_fail - sub $I11, rx1376_pos, rx1376_off - substr $S10, rx1376_tgt, $I11, 1 - ne $S10, "{", rx1376_fail - add rx1376_pos, 1 + add $I11, rx1408_pos, 1 + gt $I11, rx1408_eos, rx1408_fail + sub $I11, rx1408_pos, rx1408_off + substr $S10, rx1408_tgt, $I11, 1 + ne $S10, "{", rx1408_fail + add rx1408_pos, 1 # rx pass - rx1376_cur."!cursor_pass"(rx1376_pos, "") - rx1376_cur."!cursor_debug"("PASS ", "", " at pos=", rx1376_pos) - .return (rx1376_cur) - rx1376_fail: - (rx1376_rep, rx1376_pos, $I10, $P10) = rx1376_cur."!mark_fail"(0) - lt rx1376_pos, -1, rx1376_done - eq rx1376_pos, -1, rx1376_fail + rx1408_cur."!cursor_pass"(rx1408_pos, "") + rx1408_cur."!cursor_debug"("PASS ", "", " at pos=", rx1408_pos) + .return (rx1408_cur) + rx1408_fail: + (rx1408_rep, rx1408_pos, $I10, $P10) = rx1408_cur."!mark_fail"(0) + lt rx1408_pos, -1, rx1408_done + eq rx1408_pos, -1, rx1408_fail jump $I10 - rx1376_done: - rx1376_cur."!cursor_fail"() - rx1376_cur."!cursor_debug"("FAIL ", "") - .return (rx1376_cur) + rx1408_done: + rx1408_cur."!cursor_fail"() + rx1408_cur."!cursor_debug"("FAIL ", "") + .return (rx1408_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "assertion:sym" :subid("355_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .const 'Sub' $P1388 = "357_1276996322.81157" - capture_lex $P1388 - .local string rx1380_tgt - .local int rx1380_pos - .local int rx1380_off - .local int rx1380_eos - .local int rx1380_rep - .local pmc rx1380_cur - (rx1380_cur, rx1380_pos, rx1380_tgt) = self."!cursor_start"() - rx1380_cur."!cursor_debug"("START ", "assertion:sym") - rx1380_cur."!cursor_caparray"("assertion", "nibbler", "arglist") - .lex unicode:"$\x{a2}", rx1380_cur +.sub "assertion:sym" :subid("363_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .const 'Sub' $P1420 = "365_1278500537.15927" + capture_lex $P1420 + .local string rx1412_tgt + .local int rx1412_pos + .local int rx1412_off + .local int rx1412_eos + .local int rx1412_rep + .local pmc rx1412_cur + (rx1412_cur, rx1412_pos, rx1412_tgt) = self."!cursor_start"() + rx1412_cur."!cursor_debug"("START ", "assertion:sym") + rx1412_cur."!cursor_caparray"("nibbler", "arglist", "assertion") + .lex unicode:"$\x{a2}", rx1412_cur .local pmc match .lex "$/", match - length rx1380_eos, rx1380_tgt - gt rx1380_pos, rx1380_eos, rx1380_done - set rx1380_off, 0 - lt rx1380_pos, 2, rx1380_start - sub rx1380_off, rx1380_pos, 1 - substr rx1380_tgt, rx1380_tgt, rx1380_off - rx1380_start: + length rx1412_eos, rx1412_tgt + gt rx1412_pos, rx1412_eos, rx1412_done + set rx1412_off, 0 + lt rx1412_pos, 2, rx1412_start + sub rx1412_off, rx1412_pos, 1 + substr rx1412_tgt, rx1412_tgt, rx1412_off + rx1412_start: $I10 = self.'from'() - ne $I10, -1, rxscan1383_done - goto rxscan1383_scan - rxscan1383_loop: - ($P10) = rx1380_cur."from"() + ne $I10, -1, rxscan1416_done + goto rxscan1416_scan + rxscan1416_loop: + ($P10) = rx1412_cur."from"() inc $P10 - set rx1380_pos, $P10 - ge rx1380_pos, rx1380_eos, rxscan1383_done - rxscan1383_scan: - set_addr $I10, rxscan1383_loop - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) - rxscan1383_done: -.annotate 'line', 585 - # rx subcapture "longname" - set_addr $I10, rxcap_1384_fail - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) - # rx charclass_q w r 1..-1 - sub $I10, rx1380_pos, rx1380_off - find_not_cclass $I11, 8192, rx1380_tgt, $I10, rx1380_eos - add $I12, $I10, 1 - lt $I11, $I12, rx1380_fail - add rx1380_pos, rx1380_off, $I11 - set_addr $I10, rxcap_1384_fail - ($I12, $I11) = rx1380_cur."!mark_peek"($I10) - rx1380_cur."!cursor_pos"($I11) - ($P10) = rx1380_cur."!cursor_start"() - $P10."!cursor_pass"(rx1380_pos, "") - rx1380_cur."!mark_push"(0, -1, 0, $P10) + set rx1412_pos, $P10 + ge rx1412_pos, rx1412_eos, rxscan1416_done + rxscan1416_scan: + set_addr $I10, rxscan1416_loop + rx1412_cur."!mark_push"(0, rx1412_pos, $I10) + rxscan1416_done: +.annotate 'line', 589 + # rx subrule "identifier" subtype=capture negate= + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."identifier"() + unless $P10, rx1412_fail + rx1412_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("longname") - goto rxcap_1384_done - rxcap_1384_fail: - goto rx1380_fail - rxcap_1384_done: -.annotate 'line', 592 - # rx rxquantr1385 ** 0..1 - set_addr $I1391, rxquantr1385_done - rx1380_cur."!mark_push"(0, rx1380_pos, $I1391) - rxquantr1385_loop: - alt1386_0: -.annotate 'line', 586 - set_addr $I10, alt1386_1 - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) -.annotate 'line', 587 + rx1412_pos = $P10."pos"() +.annotate 'line', 596 + # rx rxquantr1417 ** 0..1 + set_addr $I1423, rxquantr1417_done + rx1412_cur."!mark_push"(0, rx1412_pos, $I1423) + rxquantr1417_loop: + alt1418_0: +.annotate 'line', 590 + set_addr $I10, alt1418_1 + rx1412_cur."!mark_push"(0, rx1412_pos, $I10) +.annotate 'line', 591 # rx subrule "before" subtype=zerowidth negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - .const 'Sub' $P1388 = "357_1276996322.81157" - capture_lex $P1388 - $P10 = rx1380_cur."before"($P1388) - unless $P10, rx1380_fail - goto alt1386_end - alt1386_1: - set_addr $I10, alt1386_2 - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) -.annotate 'line', 588 + rx1412_cur."!cursor_pos"(rx1412_pos) + .const 'Sub' $P1420 = "365_1278500537.15927" + capture_lex $P1420 + $P10 = rx1412_cur."before"($P1420) + unless $P10, rx1412_fail + goto alt1418_end + alt1418_1: + set_addr $I10, alt1418_2 + rx1412_cur."!mark_push"(0, rx1412_pos, $I10) +.annotate 'line', 592 # rx literal "=" - add $I11, rx1380_pos, 1 - gt $I11, rx1380_eos, rx1380_fail - sub $I11, rx1380_pos, rx1380_off - substr $S10, rx1380_tgt, $I11, 1 - ne $S10, "=", rx1380_fail - add rx1380_pos, 1 + add $I11, rx1412_pos, 1 + gt $I11, rx1412_eos, rx1412_fail + sub $I11, rx1412_pos, rx1412_off + substr $S10, rx1412_tgt, $I11, 1 + ne $S10, "=", rx1412_fail + add rx1412_pos, 1 # rx subrule "assertion" subtype=capture negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - $P10 = rx1380_cur."assertion"() - unless $P10, rx1380_fail - rx1380_cur."!mark_push"(0, -1, 0, $P10) + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."assertion"() + unless $P10, rx1412_fail + rx1412_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("assertion") - rx1380_pos = $P10."pos"() - goto alt1386_end - alt1386_2: - set_addr $I10, alt1386_3 - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) -.annotate 'line', 589 + rx1412_pos = $P10."pos"() + goto alt1418_end + alt1418_2: + set_addr $I10, alt1418_3 + rx1412_cur."!mark_push"(0, rx1412_pos, $I10) +.annotate 'line', 593 # rx literal ":" - add $I11, rx1380_pos, 1 - gt $I11, rx1380_eos, rx1380_fail - sub $I11, rx1380_pos, rx1380_off - substr $S10, rx1380_tgt, $I11, 1 - ne $S10, ":", rx1380_fail - add rx1380_pos, 1 + add $I11, rx1412_pos, 1 + gt $I11, rx1412_eos, rx1412_fail + sub $I11, rx1412_pos, rx1412_off + substr $S10, rx1412_tgt, $I11, 1 + ne $S10, ":", rx1412_fail + add rx1412_pos, 1 # rx subrule "arglist" subtype=capture negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - $P10 = rx1380_cur."arglist"() - unless $P10, rx1380_fail - rx1380_cur."!mark_push"(0, -1, 0, $P10) + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."arglist"() + unless $P10, rx1412_fail + rx1412_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arglist") - rx1380_pos = $P10."pos"() - goto alt1386_end - alt1386_3: - set_addr $I10, alt1386_4 - rx1380_cur."!mark_push"(0, rx1380_pos, $I10) -.annotate 'line', 590 + rx1412_pos = $P10."pos"() + goto alt1418_end + alt1418_3: + set_addr $I10, alt1418_4 + rx1412_cur."!mark_push"(0, rx1412_pos, $I10) +.annotate 'line', 594 # rx literal "(" - add $I11, rx1380_pos, 1 - gt $I11, rx1380_eos, rx1380_fail - sub $I11, rx1380_pos, rx1380_off - substr $S10, rx1380_tgt, $I11, 1 - ne $S10, "(", rx1380_fail - add rx1380_pos, 1 + add $I11, rx1412_pos, 1 + gt $I11, rx1412_eos, rx1412_fail + sub $I11, rx1412_pos, rx1412_off + substr $S10, rx1412_tgt, $I11, 1 + ne $S10, "(", rx1412_fail + add rx1412_pos, 1 # rx subrule "LANG" subtype=capture negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - $P10 = rx1380_cur."LANG"("MAIN", "arglist") - unless $P10, rx1380_fail - rx1380_cur."!mark_push"(0, -1, 0, $P10) + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."LANG"("MAIN", "arglist") + unless $P10, rx1412_fail + rx1412_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arglist") - rx1380_pos = $P10."pos"() + rx1412_pos = $P10."pos"() # rx literal ")" - add $I11, rx1380_pos, 1 - gt $I11, rx1380_eos, rx1380_fail - sub $I11, rx1380_pos, rx1380_off - substr $S10, rx1380_tgt, $I11, 1 - ne $S10, ")", rx1380_fail - add rx1380_pos, 1 - goto alt1386_end - alt1386_4: -.annotate 'line', 591 + add $I11, rx1412_pos, 1 + gt $I11, rx1412_eos, rx1412_fail + sub $I11, rx1412_pos, rx1412_off + substr $S10, rx1412_tgt, $I11, 1 + ne $S10, ")", rx1412_fail + add rx1412_pos, 1 + goto alt1418_end + alt1418_4: +.annotate 'line', 595 # rx subrule "normspace" subtype=method negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - $P10 = rx1380_cur."normspace"() - unless $P10, rx1380_fail - rx1380_pos = $P10."pos"() + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."normspace"() + unless $P10, rx1412_fail + rx1412_pos = $P10."pos"() # rx subrule "nibbler" subtype=capture negate= - rx1380_cur."!cursor_pos"(rx1380_pos) - $P10 = rx1380_cur."nibbler"() - unless $P10, rx1380_fail - rx1380_cur."!mark_push"(0, -1, 0, $P10) + rx1412_cur."!cursor_pos"(rx1412_pos) + $P10 = rx1412_cur."nibbler"() + unless $P10, rx1412_fail + rx1412_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("nibbler") - rx1380_pos = $P10."pos"() - alt1386_end: -.annotate 'line', 592 - (rx1380_rep) = rx1380_cur."!mark_commit"($I1391) - rxquantr1385_done: -.annotate 'line', 584 + rx1412_pos = $P10."pos"() + alt1418_end: +.annotate 'line', 596 + (rx1412_rep) = rx1412_cur."!mark_commit"($I1423) + rxquantr1417_done: +.annotate 'line', 588 # rx pass - rx1380_cur."!cursor_pass"(rx1380_pos, "assertion:sym") - rx1380_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1380_pos) - .return (rx1380_cur) - rx1380_fail: -.annotate 'line', 563 - (rx1380_rep, rx1380_pos, $I10, $P10) = rx1380_cur."!mark_fail"(0) - lt rx1380_pos, -1, rx1380_done - eq rx1380_pos, -1, rx1380_fail + rx1412_cur."!cursor_pass"(rx1412_pos, "assertion:sym") + rx1412_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1412_pos) + .return (rx1412_cur) + rx1412_fail: +.annotate 'line', 567 + (rx1412_rep, rx1412_pos, $I10, $P10) = rx1412_cur."!mark_fail"(0) + lt rx1412_pos, -1, rx1412_done + eq rx1412_pos, -1, rx1412_fail jump $I10 - rx1380_done: - rx1380_cur."!cursor_fail"() - rx1380_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx1380_cur) + rx1412_done: + rx1412_cur."!cursor_fail"() + rx1412_cur."!cursor_debug"("FAIL ", "assertion:sym") + .return (rx1412_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "!PREFIX__assertion:sym" :subid("356_1276996322.81157") :method -.annotate 'line', 563 - new $P1382, "ResizablePMCArray" - push $P1382, "" - .return ($P1382) +.sub "!PREFIX__assertion:sym" :subid("364_1278500537.15927") :method +.annotate 'line', 567 + $P1414 = self."!PREFIX__!subrule"("identifier", "") + new $P1415, "ResizablePMCArray" + push $P1415, $P1414 + .return ($P1415) .end .namespace ["NQP";"Regex"] -.sub "_block1387" :anon :subid("357_1276996322.81157") :method :outer("355_1276996322.81157") -.annotate 'line', 587 - .local string rx1389_tgt - .local int rx1389_pos - .local int rx1389_off - .local int rx1389_eos - .local int rx1389_rep - .local pmc rx1389_cur - (rx1389_cur, rx1389_pos, rx1389_tgt) = self."!cursor_start"() - rx1389_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx1389_cur +.sub "_block1419" :anon :subid("365_1278500537.15927") :method :outer("363_1278500537.15927") +.annotate 'line', 591 + .local string rx1421_tgt + .local int rx1421_pos + .local int rx1421_off + .local int rx1421_eos + .local int rx1421_rep + .local pmc rx1421_cur + (rx1421_cur, rx1421_pos, rx1421_tgt) = self."!cursor_start"() + rx1421_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx1421_cur .local pmc match .lex "$/", match - length rx1389_eos, rx1389_tgt - gt rx1389_pos, rx1389_eos, rx1389_done - set rx1389_off, 0 - lt rx1389_pos, 2, rx1389_start - sub rx1389_off, rx1389_pos, 1 - substr rx1389_tgt, rx1389_tgt, rx1389_off - rx1389_start: + length rx1421_eos, rx1421_tgt + gt rx1421_pos, rx1421_eos, rx1421_done + set rx1421_off, 0 + lt rx1421_pos, 2, rx1421_start + sub rx1421_off, rx1421_pos, 1 + substr rx1421_tgt, rx1421_tgt, rx1421_off + rx1421_start: $I10 = self.'from'() - ne $I10, -1, rxscan1390_done - goto rxscan1390_scan - rxscan1390_loop: - ($P10) = rx1389_cur."from"() + ne $I10, -1, rxscan1422_done + goto rxscan1422_scan + rxscan1422_loop: + ($P10) = rx1421_cur."from"() inc $P10 - set rx1389_pos, $P10 - ge rx1389_pos, rx1389_eos, rxscan1390_done - rxscan1390_scan: - set_addr $I10, rxscan1390_loop - rx1389_cur."!mark_push"(0, rx1389_pos, $I10) - rxscan1390_done: + set rx1421_pos, $P10 + ge rx1421_pos, rx1421_eos, rxscan1422_done + rxscan1422_scan: + set_addr $I10, rxscan1422_loop + rx1421_cur."!mark_push"(0, rx1421_pos, $I10) + rxscan1422_done: # rx literal ">" - add $I11, rx1389_pos, 1 - gt $I11, rx1389_eos, rx1389_fail - sub $I11, rx1389_pos, rx1389_off - substr $S10, rx1389_tgt, $I11, 1 - ne $S10, ">", rx1389_fail - add rx1389_pos, 1 + add $I11, rx1421_pos, 1 + gt $I11, rx1421_eos, rx1421_fail + sub $I11, rx1421_pos, rx1421_off + substr $S10, rx1421_tgt, $I11, 1 + ne $S10, ">", rx1421_fail + add rx1421_pos, 1 # rx pass - rx1389_cur."!cursor_pass"(rx1389_pos, "") - rx1389_cur."!cursor_debug"("PASS ", "", " at pos=", rx1389_pos) - .return (rx1389_cur) - rx1389_fail: - (rx1389_rep, rx1389_pos, $I10, $P10) = rx1389_cur."!mark_fail"(0) - lt rx1389_pos, -1, rx1389_done - eq rx1389_pos, -1, rx1389_fail + rx1421_cur."!cursor_pass"(rx1421_pos, "") + rx1421_cur."!cursor_debug"("PASS ", "", " at pos=", rx1421_pos) + .return (rx1421_cur) + rx1421_fail: + (rx1421_rep, rx1421_pos, $I10, $P10) = rx1421_cur."!mark_fail"(0) + lt rx1421_pos, -1, rx1421_done + eq rx1421_pos, -1, rx1421_fail jump $I10 - rx1389_done: - rx1389_cur."!cursor_fail"() - rx1389_cur."!cursor_debug"("FAIL ", "") - .return (rx1389_cur) + rx1421_done: + rx1421_cur."!cursor_fail"() + rx1421_cur."!cursor_debug"("FAIL ", "") + .return (rx1421_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "assertion:sym" :subid("358_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .local string rx1393_tgt - .local int rx1393_pos - .local int rx1393_off - .local int rx1393_eos - .local int rx1393_rep - .local pmc rx1393_cur - (rx1393_cur, rx1393_pos, rx1393_tgt) = self."!cursor_start"() - rx1393_cur."!cursor_debug"("START ", "assertion:sym") - .lex unicode:"$\x{a2}", rx1393_cur +.sub "assertion:sym" :subid("366_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .local string rx1425_tgt + .local int rx1425_pos + .local int rx1425_off + .local int rx1425_eos + .local int rx1425_rep + .local pmc rx1425_cur + (rx1425_cur, rx1425_pos, rx1425_tgt) = self."!cursor_start"() + rx1425_cur."!cursor_debug"("START ", "assertion:sym") + .lex unicode:"$\x{a2}", rx1425_cur .local pmc match .lex "$/", match - length rx1393_eos, rx1393_tgt - gt rx1393_pos, rx1393_eos, rx1393_done - set rx1393_off, 0 - lt rx1393_pos, 2, rx1393_start - sub rx1393_off, rx1393_pos, 1 - substr rx1393_tgt, rx1393_tgt, rx1393_off - rx1393_start: + length rx1425_eos, rx1425_tgt + gt rx1425_pos, rx1425_eos, rx1425_done + set rx1425_off, 0 + lt rx1425_pos, 2, rx1425_start + sub rx1425_off, rx1425_pos, 1 + substr rx1425_tgt, rx1425_tgt, rx1425_off + rx1425_start: $I10 = self.'from'() - ne $I10, -1, rxscan1396_done - goto rxscan1396_scan - rxscan1396_loop: - ($P10) = rx1393_cur."from"() + ne $I10, -1, rxscan1428_done + goto rxscan1428_scan + rxscan1428_loop: + ($P10) = rx1425_cur."from"() inc $P10 - set rx1393_pos, $P10 - ge rx1393_pos, rx1393_eos, rxscan1396_done - rxscan1396_scan: - set_addr $I10, rxscan1396_loop - rx1393_cur."!mark_push"(0, rx1393_pos, $I10) - rxscan1396_done: -.annotate 'line', 596 + set rx1425_pos, $P10 + ge rx1425_pos, rx1425_eos, rxscan1428_done + rxscan1428_scan: + set_addr $I10, rxscan1428_loop + rx1425_cur."!mark_push"(0, rx1425_pos, $I10) + rxscan1428_done: +.annotate 'line', 600 # rx enumcharlist negate=0 zerowidth - ge rx1393_pos, rx1393_eos, rx1393_fail - sub $I10, rx1393_pos, rx1393_off - substr $S10, rx1393_tgt, $I10, 1 + ge rx1425_pos, rx1425_eos, rx1425_fail + sub $I10, rx1425_pos, rx1425_off + substr $S10, rx1425_tgt, $I10, 1 index $I11, "$@", $S10 - lt $I11, 0, rx1393_fail + lt $I11, 0, rx1425_fail # rx subrule "LANG" subtype=capture negate= - rx1393_cur."!cursor_pos"(rx1393_pos) - $P10 = rx1393_cur."LANG"("MAIN", "variable") - unless $P10, rx1393_fail - rx1393_cur."!mark_push"(0, -1, 0, $P10) + rx1425_cur."!cursor_pos"(rx1425_pos) + $P10 = rx1425_cur."LANG"("MAIN", "variable") + unless $P10, rx1425_fail + rx1425_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("var") - rx1393_pos = $P10."pos"() -.annotate 'line', 595 + rx1425_pos = $P10."pos"() +.annotate 'line', 599 # rx pass - rx1393_cur."!cursor_pass"(rx1393_pos, "assertion:sym") - rx1393_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1393_pos) - .return (rx1393_cur) - rx1393_fail: -.annotate 'line', 563 - (rx1393_rep, rx1393_pos, $I10, $P10) = rx1393_cur."!mark_fail"(0) - lt rx1393_pos, -1, rx1393_done - eq rx1393_pos, -1, rx1393_fail + rx1425_cur."!cursor_pass"(rx1425_pos, "assertion:sym") + rx1425_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx1425_pos) + .return (rx1425_cur) + rx1425_fail: +.annotate 'line', 567 + (rx1425_rep, rx1425_pos, $I10, $P10) = rx1425_cur."!mark_fail"(0) + lt rx1425_pos, -1, rx1425_done + eq rx1425_pos, -1, rx1425_fail jump $I10 - rx1393_done: - rx1393_cur."!cursor_fail"() - rx1393_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx1393_cur) + rx1425_done: + rx1425_cur."!cursor_fail"() + rx1425_cur."!cursor_debug"("FAIL ", "assertion:sym") + .return (rx1425_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "!PREFIX__assertion:sym" :subid("359_1276996322.81157") :method -.annotate 'line', 563 - new $P1395, "ResizablePMCArray" - push $P1395, "$" - push $P1395, "@" - .return ($P1395) +.sub "!PREFIX__assertion:sym" :subid("367_1278500537.15927") :method +.annotate 'line', 567 + new $P1427, "ResizablePMCArray" + push $P1427, "$" + push $P1427, "@" + .return ($P1427) .end .namespace ["NQP";"Regex"] -.sub "codeblock" :subid("360_1276996322.81157") :method :outer("341_1276996322.81157") -.annotate 'line', 563 - .local string rx1398_tgt - .local int rx1398_pos - .local int rx1398_off - .local int rx1398_eos - .local int rx1398_rep - .local pmc rx1398_cur - (rx1398_cur, rx1398_pos, rx1398_tgt) = self."!cursor_start"() - rx1398_cur."!cursor_debug"("START ", "codeblock") - .lex unicode:"$\x{a2}", rx1398_cur +.sub "codeblock" :subid("368_1278500537.15927") :method :outer("349_1278500537.15927") +.annotate 'line', 567 + .local string rx1430_tgt + .local int rx1430_pos + .local int rx1430_off + .local int rx1430_eos + .local int rx1430_rep + .local pmc rx1430_cur + (rx1430_cur, rx1430_pos, rx1430_tgt) = self."!cursor_start"() + rx1430_cur."!cursor_debug"("START ", "codeblock") + .lex unicode:"$\x{a2}", rx1430_cur .local pmc match .lex "$/", match - length rx1398_eos, rx1398_tgt - gt rx1398_pos, rx1398_eos, rx1398_done - set rx1398_off, 0 - lt rx1398_pos, 2, rx1398_start - sub rx1398_off, rx1398_pos, 1 - substr rx1398_tgt, rx1398_tgt, rx1398_off - rx1398_start: + length rx1430_eos, rx1430_tgt + gt rx1430_pos, rx1430_eos, rx1430_done + set rx1430_off, 0 + lt rx1430_pos, 2, rx1430_start + sub rx1430_off, rx1430_pos, 1 + substr rx1430_tgt, rx1430_tgt, rx1430_off + rx1430_start: $I10 = self.'from'() - ne $I10, -1, rxscan1402_done - goto rxscan1402_scan - rxscan1402_loop: - ($P10) = rx1398_cur."from"() + ne $I10, -1, rxscan1434_done + goto rxscan1434_scan + rxscan1434_loop: + ($P10) = rx1430_cur."from"() inc $P10 - set rx1398_pos, $P10 - ge rx1398_pos, rx1398_eos, rxscan1402_done - rxscan1402_scan: - set_addr $I10, rxscan1402_loop - rx1398_cur."!mark_push"(0, rx1398_pos, $I10) - rxscan1402_done: -.annotate 'line', 600 + set rx1430_pos, $P10 + ge rx1430_pos, rx1430_eos, rxscan1434_done + rxscan1434_scan: + set_addr $I10, rxscan1434_loop + rx1430_cur."!mark_push"(0, rx1430_pos, $I10) + rxscan1434_done: +.annotate 'line', 604 # rx subrule "LANG" subtype=capture negate= - rx1398_cur."!cursor_pos"(rx1398_pos) - $P10 = rx1398_cur."LANG"("MAIN", "pblock") - unless $P10, rx1398_fail - rx1398_cur."!mark_push"(0, -1, 0, $P10) + rx1430_cur."!cursor_pos"(rx1430_pos) + $P10 = rx1430_cur."LANG"("MAIN", "pblock") + unless $P10, rx1430_fail + rx1430_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("block") - rx1398_pos = $P10."pos"() -.annotate 'line', 599 + rx1430_pos = $P10."pos"() +.annotate 'line', 603 # rx pass - rx1398_cur."!cursor_pass"(rx1398_pos, "codeblock") - rx1398_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1398_pos) - .return (rx1398_cur) - rx1398_fail: -.annotate 'line', 563 - (rx1398_rep, rx1398_pos, $I10, $P10) = rx1398_cur."!mark_fail"(0) - lt rx1398_pos, -1, rx1398_done - eq rx1398_pos, -1, rx1398_fail + rx1430_cur."!cursor_pass"(rx1430_pos, "codeblock") + rx1430_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1430_pos) + .return (rx1430_cur) + rx1430_fail: +.annotate 'line', 567 + (rx1430_rep, rx1430_pos, $I10, $P10) = rx1430_cur."!mark_fail"(0) + lt rx1430_pos, -1, rx1430_done + eq rx1430_pos, -1, rx1430_fail jump $I10 - rx1398_done: - rx1398_cur."!cursor_fail"() - rx1398_cur."!cursor_debug"("FAIL ", "codeblock") - .return (rx1398_cur) + rx1430_done: + rx1430_cur."!cursor_fail"() + rx1430_cur."!cursor_debug"("FAIL ", "codeblock") + .return (rx1430_cur) .return () .end .namespace ["NQP";"Regex"] -.sub "!PREFIX__codeblock" :subid("361_1276996322.81157") :method -.annotate 'line', 563 - $P1400 = self."!PREFIX__!subrule"("LANG", "") - new $P1401, "ResizablePMCArray" - push $P1401, $P1400 - .return ($P1401) +.sub "!PREFIX__codeblock" :subid("369_1278500537.15927") :method +.annotate 'line', 567 + $P1432 = self."!PREFIX__!subrule"("LANG", "") + new $P1433, "ResizablePMCArray" + push $P1433, $P1432 + .return ($P1433) .end .namespace ["NQP";"Grammar"] -.sub "_block1404" :load :anon :subid("362_1276996322.81157") +.sub "_block1436" :load :anon :subid("370_1278500537.15927") .annotate 'line', 4 - .const 'Sub' $P1406 = "11_1276996322.81157" - $P1407 = $P1406() - .return ($P1407) + .const 'Sub' $P1438 = "11_1278500537.15927" + $P1439 = $P1438() + .return ($P1439) .end .namespace [] -.sub "_block1425" :load :anon :subid("363_1276996322.81157") +.sub "_block1457" :load :anon :subid("371_1278500537.15927") .annotate 'line', 1 - .const 'Sub' $P1427 = "10_1276996322.81157" - $P1428 = $P1427() - .return ($P1428) + .const 'Sub' $P1459 = "10_1278500537.15927" + $P1460 = $P1459() + .return ($P1460) .end ### .include 'gen/nqp-actions.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996335.94529") +.sub "_block11" :anon :subid("10_1278500542.82783") .annotate 'line', 0 get_hll_global $P14, ["NQP";"Actions"], "_block13" capture_lex $P14 @@ -17447,237 +17831,237 @@ NQP::Compiler - NQP compiler .annotate 'line', 3 get_hll_global $P14, ["NQP";"Actions"], "_block13" capture_lex $P14 - $P2424 = $P14() + $P2447 = $P14() .annotate 'line', 1 - .return ($P2424) - .const 'Sub' $P2426 = "143_1276996335.94529" - .return ($P2426) + .return ($P2447) + .const 'Sub' $P2449 = "143_1278500542.82783" + .return ($P2449) .end .namespace [] -.sub "" :load :init :subid("post144") :outer("10_1276996335.94529") +.sub "" :load :init :subid("post144") :outer("10_1278500542.82783") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996335.94529" + .const 'Sub' $P12 = "10_1278500542.82783" .local pmc block set block, $P12 - $P2429 = get_root_global ["parrot"], "P6metaclass" - $P2429."new_class"("NQP::Actions", "HLL::Actions" :named("parent")) + $P2452 = get_root_global ["parrot"], "P6metaclass" + $P2452."new_class"("NQP::Actions", "HLL::Actions" :named("parent")) .end .namespace ["NQP";"Actions"] -.sub "_block13" :subid("11_1276996335.94529") :outer("10_1276996335.94529") +.sub "_block13" :subid("11_1278500542.82783") :outer("10_1278500542.82783") .annotate 'line', 3 - .const 'Sub' $P2420 = "142_1276996335.94529" - capture_lex $P2420 - get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" - capture_lex $P2303 - .const 'Sub' $P2292 = "132_1276996335.94529" - capture_lex $P2292 - .const 'Sub' $P2285 = "131_1276996335.94529" - capture_lex $P2285 - .const 'Sub' $P2278 = "130_1276996335.94529" - capture_lex $P2278 - .const 'Sub' $P2271 = "129_1276996335.94529" + .const 'Sub' $P2443 = "142_1278500542.82783" + capture_lex $P2443 + get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" + capture_lex $P2326 + .const 'Sub' $P2315 = "132_1278500542.82783" + capture_lex $P2315 + .const 'Sub' $P2308 = "131_1278500542.82783" + capture_lex $P2308 + .const 'Sub' $P2301 = "130_1278500542.82783" + capture_lex $P2301 + .const 'Sub' $P2294 = "129_1278500542.82783" + capture_lex $P2294 + .const 'Sub' $P2281 = "128_1278500542.82783" + capture_lex $P2281 + .const 'Sub' $P2271 = "127_1278500542.82783" capture_lex $P2271 - .const 'Sub' $P2258 = "128_1276996335.94529" - capture_lex $P2258 - .const 'Sub' $P2248 = "127_1276996335.94529" - capture_lex $P2248 - .const 'Sub' $P2238 = "126_1276996335.94529" - capture_lex $P2238 - .const 'Sub' $P2228 = "125_1276996335.94529" - capture_lex $P2228 - .const 'Sub' $P2221 = "124_1276996335.94529" - capture_lex $P2221 - .const 'Sub' $P2207 = "123_1276996335.94529" - capture_lex $P2207 - .const 'Sub' $P2197 = "122_1276996335.94529" - capture_lex $P2197 - .const 'Sub' $P2160 = "121_1276996335.94529" - capture_lex $P2160 - .const 'Sub' $P2146 = "120_1276996335.94529" - capture_lex $P2146 - .const 'Sub' $P2136 = "119_1276996335.94529" - capture_lex $P2136 - .const 'Sub' $P2126 = "118_1276996335.94529" - capture_lex $P2126 - .const 'Sub' $P2116 = "117_1276996335.94529" - capture_lex $P2116 - .const 'Sub' $P2106 = "116_1276996335.94529" - capture_lex $P2106 - .const 'Sub' $P2096 = "115_1276996335.94529" - capture_lex $P2096 - .const 'Sub' $P2068 = "114_1276996335.94529" - capture_lex $P2068 - .const 'Sub' $P2051 = "113_1276996335.94529" + .const 'Sub' $P2261 = "126_1278500542.82783" + capture_lex $P2261 + .const 'Sub' $P2251 = "125_1278500542.82783" + capture_lex $P2251 + .const 'Sub' $P2244 = "124_1278500542.82783" + capture_lex $P2244 + .const 'Sub' $P2230 = "123_1278500542.82783" + capture_lex $P2230 + .const 'Sub' $P2220 = "122_1278500542.82783" + capture_lex $P2220 + .const 'Sub' $P2183 = "121_1278500542.82783" + capture_lex $P2183 + .const 'Sub' $P2169 = "120_1278500542.82783" + capture_lex $P2169 + .const 'Sub' $P2159 = "119_1278500542.82783" + capture_lex $P2159 + .const 'Sub' $P2149 = "118_1278500542.82783" + capture_lex $P2149 + .const 'Sub' $P2139 = "117_1278500542.82783" + capture_lex $P2139 + .const 'Sub' $P2129 = "116_1278500542.82783" + capture_lex $P2129 + .const 'Sub' $P2119 = "115_1278500542.82783" + capture_lex $P2119 + .const 'Sub' $P2091 = "114_1278500542.82783" + capture_lex $P2091 + .const 'Sub' $P2074 = "113_1278500542.82783" + capture_lex $P2074 + .const 'Sub' $P2064 = "112_1278500542.82783" + capture_lex $P2064 + .const 'Sub' $P2051 = "111_1278500542.82783" capture_lex $P2051 - .const 'Sub' $P2041 = "112_1276996335.94529" - capture_lex $P2041 - .const 'Sub' $P2028 = "111_1276996335.94529" - capture_lex $P2028 - .const 'Sub' $P2015 = "110_1276996335.94529" + .const 'Sub' $P2038 = "110_1278500542.82783" + capture_lex $P2038 + .const 'Sub' $P2025 = "109_1278500542.82783" + capture_lex $P2025 + .const 'Sub' $P2015 = "108_1278500542.82783" capture_lex $P2015 - .const 'Sub' $P2002 = "109_1276996335.94529" - capture_lex $P2002 - .const 'Sub' $P1992 = "108_1276996335.94529" - capture_lex $P1992 - .const 'Sub' $P1963 = "107_1276996335.94529" - capture_lex $P1963 - .const 'Sub' $P1939 = "106_1276996335.94529" - capture_lex $P1939 - .const 'Sub' $P1929 = "105_1276996335.94529" - capture_lex $P1929 - .const 'Sub' $P1919 = "104_1276996335.94529" - capture_lex $P1919 - .const 'Sub' $P1892 = "103_1276996335.94529" - capture_lex $P1892 - .const 'Sub' $P1874 = "102_1276996335.94529" - capture_lex $P1874 - .const 'Sub' $P1864 = "101_1276996335.94529" - capture_lex $P1864 - .const 'Sub' $P1760 = "98_1276996335.94529" - capture_lex $P1760 - .const 'Sub' $P1750 = "97_1276996335.94529" - capture_lex $P1750 - .const 'Sub' $P1721 = "96_1276996335.94529" - capture_lex $P1721 - .const 'Sub' $P1679 = "95_1276996335.94529" - capture_lex $P1679 - .const 'Sub' $P1663 = "94_1276996335.94529" - capture_lex $P1663 - .const 'Sub' $P1654 = "93_1276996335.94529" - capture_lex $P1654 - .const 'Sub' $P1622 = "92_1276996335.94529" - capture_lex $P1622 - .const 'Sub' $P1523 = "89_1276996335.94529" - capture_lex $P1523 - .const 'Sub' $P1506 = "88_1276996335.94529" - capture_lex $P1506 - .const 'Sub' $P1486 = "87_1276996335.94529" - capture_lex $P1486 - .const 'Sub' $P1374 = "84_1276996335.94529" - capture_lex $P1374 - .const 'Sub' $P1317 = "80_1276996335.94529" - capture_lex $P1317 - .const 'Sub' $P1277 = "78_1276996335.94529" - capture_lex $P1277 - .const 'Sub' $P1227 = "76_1276996335.94529" - capture_lex $P1227 - .const 'Sub' $P1217 = "75_1276996335.94529" - capture_lex $P1217 - .const 'Sub' $P1207 = "74_1276996335.94529" - capture_lex $P1207 - .const 'Sub' $P1136 = "72_1276996335.94529" - capture_lex $P1136 - .const 'Sub' $P1126 = "71_1276996335.94529" - capture_lex $P1126 - .const 'Sub' $P1109 = "70_1276996335.94529" - capture_lex $P1109 - .const 'Sub' $P1092 = "69_1276996335.94529" - capture_lex $P1092 - .const 'Sub' $P1075 = "68_1276996335.94529" - capture_lex $P1075 - .const 'Sub' $P1065 = "67_1276996335.94529" - capture_lex $P1065 - .const 'Sub' $P1055 = "66_1276996335.94529" - capture_lex $P1055 - .const 'Sub' $P1045 = "65_1276996335.94529" - capture_lex $P1045 - .const 'Sub' $P1021 = "64_1276996335.94529" - capture_lex $P1021 - .const 'Sub' $P968 = "63_1276996335.94529" - capture_lex $P968 - .const 'Sub' $P958 = "62_1276996335.94529" - capture_lex $P958 - .const 'Sub' $P869 = "60_1276996335.94529" - capture_lex $P869 - .const 'Sub' $P843 = "59_1276996335.94529" - capture_lex $P843 - .const 'Sub' $P827 = "58_1276996335.94529" - capture_lex $P827 - .const 'Sub' $P817 = "57_1276996335.94529" - capture_lex $P817 - .const 'Sub' $P807 = "56_1276996335.94529" - capture_lex $P807 - .const 'Sub' $P797 = "55_1276996335.94529" - capture_lex $P797 - .const 'Sub' $P787 = "54_1276996335.94529" - capture_lex $P787 - .const 'Sub' $P777 = "53_1276996335.94529" - capture_lex $P777 - .const 'Sub' $P767 = "52_1276996335.94529" - capture_lex $P767 - .const 'Sub' $P757 = "51_1276996335.94529" - capture_lex $P757 - .const 'Sub' $P747 = "50_1276996335.94529" - capture_lex $P747 - .const 'Sub' $P737 = "49_1276996335.94529" - capture_lex $P737 - .const 'Sub' $P727 = "48_1276996335.94529" - capture_lex $P727 - .const 'Sub' $P717 = "47_1276996335.94529" - capture_lex $P717 - .const 'Sub' $P707 = "46_1276996335.94529" - capture_lex $P707 - .const 'Sub' $P697 = "45_1276996335.94529" - capture_lex $P697 - .const 'Sub' $P679 = "44_1276996335.94529" - capture_lex $P679 - .const 'Sub' $P644 = "43_1276996335.94529" - capture_lex $P644 - .const 'Sub' $P628 = "42_1276996335.94529" - capture_lex $P628 - .const 'Sub' $P607 = "41_1276996335.94529" - capture_lex $P607 - .const 'Sub' $P587 = "40_1276996335.94529" - capture_lex $P587 - .const 'Sub' $P574 = "39_1276996335.94529" - capture_lex $P574 - .const 'Sub' $P548 = "38_1276996335.94529" - capture_lex $P548 - .const 'Sub' $P512 = "37_1276996335.94529" - capture_lex $P512 - .const 'Sub' $P495 = "36_1276996335.94529" - capture_lex $P495 - .const 'Sub' $P481 = "35_1276996335.94529" - capture_lex $P481 - .const 'Sub' $P428 = "33_1276996335.94529" - capture_lex $P428 - .const 'Sub' $P417 = "32_1276996335.94529" - capture_lex $P417 - .const 'Sub' $P404 = "31_1276996335.94529" - capture_lex $P404 - .const 'Sub' $P384 = "30_1276996335.94529" - capture_lex $P384 - .const 'Sub' $P374 = "29_1276996335.94529" - capture_lex $P374 - .const 'Sub' $P364 = "28_1276996335.94529" - capture_lex $P364 - .const 'Sub' $P348 = "27_1276996335.94529" - capture_lex $P348 - .const 'Sub' $P288 = "25_1276996335.94529" + .const 'Sub' $P1986 = "107_1278500542.82783" + capture_lex $P1986 + .const 'Sub' $P1962 = "106_1278500542.82783" + capture_lex $P1962 + .const 'Sub' $P1952 = "105_1278500542.82783" + capture_lex $P1952 + .const 'Sub' $P1942 = "104_1278500542.82783" + capture_lex $P1942 + .const 'Sub' $P1915 = "103_1278500542.82783" + capture_lex $P1915 + .const 'Sub' $P1897 = "102_1278500542.82783" + capture_lex $P1897 + .const 'Sub' $P1887 = "101_1278500542.82783" + capture_lex $P1887 + .const 'Sub' $P1783 = "98_1278500542.82783" + capture_lex $P1783 + .const 'Sub' $P1773 = "97_1278500542.82783" + capture_lex $P1773 + .const 'Sub' $P1744 = "96_1278500542.82783" + capture_lex $P1744 + .const 'Sub' $P1702 = "95_1278500542.82783" + capture_lex $P1702 + .const 'Sub' $P1686 = "94_1278500542.82783" + capture_lex $P1686 + .const 'Sub' $P1677 = "93_1278500542.82783" + capture_lex $P1677 + .const 'Sub' $P1645 = "92_1278500542.82783" + capture_lex $P1645 + .const 'Sub' $P1546 = "89_1278500542.82783" + capture_lex $P1546 + .const 'Sub' $P1529 = "88_1278500542.82783" + capture_lex $P1529 + .const 'Sub' $P1509 = "87_1278500542.82783" + capture_lex $P1509 + .const 'Sub' $P1397 = "84_1278500542.82783" + capture_lex $P1397 + .const 'Sub' $P1340 = "80_1278500542.82783" + capture_lex $P1340 + .const 'Sub' $P1300 = "78_1278500542.82783" + capture_lex $P1300 + .const 'Sub' $P1250 = "76_1278500542.82783" + capture_lex $P1250 + .const 'Sub' $P1240 = "75_1278500542.82783" + capture_lex $P1240 + .const 'Sub' $P1230 = "74_1278500542.82783" + capture_lex $P1230 + .const 'Sub' $P1159 = "72_1278500542.82783" + capture_lex $P1159 + .const 'Sub' $P1149 = "71_1278500542.82783" + capture_lex $P1149 + .const 'Sub' $P1132 = "70_1278500542.82783" + capture_lex $P1132 + .const 'Sub' $P1115 = "69_1278500542.82783" + capture_lex $P1115 + .const 'Sub' $P1098 = "68_1278500542.82783" + capture_lex $P1098 + .const 'Sub' $P1088 = "67_1278500542.82783" + capture_lex $P1088 + .const 'Sub' $P1078 = "66_1278500542.82783" + capture_lex $P1078 + .const 'Sub' $P1068 = "65_1278500542.82783" + capture_lex $P1068 + .const 'Sub' $P1044 = "64_1278500542.82783" + capture_lex $P1044 + .const 'Sub' $P991 = "63_1278500542.82783" + capture_lex $P991 + .const 'Sub' $P981 = "62_1278500542.82783" + capture_lex $P981 + .const 'Sub' $P892 = "60_1278500542.82783" + capture_lex $P892 + .const 'Sub' $P866 = "59_1278500542.82783" + capture_lex $P866 + .const 'Sub' $P850 = "58_1278500542.82783" + capture_lex $P850 + .const 'Sub' $P840 = "57_1278500542.82783" + capture_lex $P840 + .const 'Sub' $P830 = "56_1278500542.82783" + capture_lex $P830 + .const 'Sub' $P820 = "55_1278500542.82783" + capture_lex $P820 + .const 'Sub' $P810 = "54_1278500542.82783" + capture_lex $P810 + .const 'Sub' $P800 = "53_1278500542.82783" + capture_lex $P800 + .const 'Sub' $P790 = "52_1278500542.82783" + capture_lex $P790 + .const 'Sub' $P780 = "51_1278500542.82783" + capture_lex $P780 + .const 'Sub' $P770 = "50_1278500542.82783" + capture_lex $P770 + .const 'Sub' $P760 = "49_1278500542.82783" + capture_lex $P760 + .const 'Sub' $P750 = "48_1278500542.82783" + capture_lex $P750 + .const 'Sub' $P740 = "47_1278500542.82783" + capture_lex $P740 + .const 'Sub' $P730 = "46_1278500542.82783" + capture_lex $P730 + .const 'Sub' $P720 = "45_1278500542.82783" + capture_lex $P720 + .const 'Sub' $P702 = "44_1278500542.82783" + capture_lex $P702 + .const 'Sub' $P667 = "43_1278500542.82783" + capture_lex $P667 + .const 'Sub' $P651 = "42_1278500542.82783" + capture_lex $P651 + .const 'Sub' $P630 = "41_1278500542.82783" + capture_lex $P630 + .const 'Sub' $P610 = "40_1278500542.82783" + capture_lex $P610 + .const 'Sub' $P597 = "39_1278500542.82783" + capture_lex $P597 + .const 'Sub' $P571 = "38_1278500542.82783" + capture_lex $P571 + .const 'Sub' $P535 = "37_1278500542.82783" + capture_lex $P535 + .const 'Sub' $P518 = "36_1278500542.82783" + capture_lex $P518 + .const 'Sub' $P504 = "35_1278500542.82783" + capture_lex $P504 + .const 'Sub' $P451 = "33_1278500542.82783" + capture_lex $P451 + .const 'Sub' $P440 = "32_1278500542.82783" + capture_lex $P440 + .const 'Sub' $P427 = "31_1278500542.82783" + capture_lex $P427 + .const 'Sub' $P407 = "30_1278500542.82783" + capture_lex $P407 + .const 'Sub' $P397 = "29_1278500542.82783" + capture_lex $P397 + .const 'Sub' $P387 = "28_1278500542.82783" + capture_lex $P387 + .const 'Sub' $P371 = "27_1278500542.82783" + capture_lex $P371 + .const 'Sub' $P288 = "25_1278500542.82783" capture_lex $P288 - .const 'Sub' $P245 = "23_1276996335.94529" + .const 'Sub' $P245 = "23_1278500542.82783" capture_lex $P245 - .const 'Sub' $P213 = "22_1276996335.94529" + .const 'Sub' $P213 = "22_1278500542.82783" capture_lex $P213 - .const 'Sub' $P180 = "21_1276996335.94529" + .const 'Sub' $P180 = "21_1278500542.82783" capture_lex $P180 - .const 'Sub' $P170 = "20_1276996335.94529" + .const 'Sub' $P170 = "20_1278500542.82783" capture_lex $P170 - .const 'Sub' $P151 = "19_1276996335.94529" + .const 'Sub' $P151 = "19_1278500542.82783" capture_lex $P151 - .const 'Sub' $P100 = "18_1276996335.94529" + .const 'Sub' $P100 = "18_1278500542.82783" capture_lex $P100 - .const 'Sub' $P84 = "17_1276996335.94529" + .const 'Sub' $P84 = "17_1278500542.82783" capture_lex $P84 - .const 'Sub' $P63 = "16_1276996335.94529" + .const 'Sub' $P63 = "16_1278500542.82783" capture_lex $P63 - .const 'Sub' $P27 = "13_1276996335.94529" + .const 'Sub' $P27 = "13_1278500542.82783" capture_lex $P27 - .const 'Sub' $P16 = "12_1276996335.94529" + .const 'Sub' $P16 = "12_1278500542.82783" capture_lex $P16 get_global $P15, "@BLOCK" unless_null $P15, vivify_147 @@ -17685,27 +18069,27 @@ NQP::Compiler - NQP compiler set_global "@BLOCK", $P15 vivify_147: .annotate 'line', 9 - .const 'Sub' $P16 = "12_1276996335.94529" + .const 'Sub' $P16 = "12_1278500542.82783" newclosure $P26, $P16 .lex "xblock_immediate", $P26 .annotate 'line', 14 - .const 'Sub' $P27 = "13_1276996335.94529" + .const 'Sub' $P27 = "13_1278500542.82783" newclosure $P62, $P27 .lex "block_immediate", $P62 .annotate 'line', 24 - .const 'Sub' $P63 = "16_1276996335.94529" + .const 'Sub' $P63 = "16_1278500542.82783" newclosure $P83, $P63 .lex "vivitype", $P83 .annotate 'line', 43 - .const 'Sub' $P84 = "17_1276996335.94529" + .const 'Sub' $P84 = "17_1278500542.82783" newclosure $P99, $P84 .lex "colonpair_str", $P99 -.annotate 'line', 213 - .const 'Sub' $P100 = "18_1276996335.94529" +.annotate 'line', 223 + .const 'Sub' $P100 = "18_1278500542.82783" newclosure $P150, $P100 .lex "push_block_handler", $P150 -.annotate 'line', 822 - .const 'Sub' $P151 = "19_1276996335.94529" +.annotate 'line', 832 + .const 'Sub' $P151 = "19_1278500542.82783" newclosure $P165, $P151 .lex "control", $P165 .annotate 'line', 3 @@ -17722,54 +18106,54 @@ NQP::Compiler - NQP compiler find_lex $P169, "vivitype" .annotate 'line', 35 find_lex $P212, "colonpair_str" -.annotate 'line', 206 - find_lex $P627, "push_block_handler" -.annotate 'line', 813 - find_lex $P2270, "control" -.annotate 'line', 840 - get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" - capture_lex $P2303 - $P2414 = $P2303() +.annotate 'line', 216 + find_lex $P650, "push_block_handler" +.annotate 'line', 823 + find_lex $P2293, "control" +.annotate 'line', 850 + get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" + capture_lex $P2326 + $P2437 = $P2326() .annotate 'line', 3 - .return ($P2414) - .const 'Sub' $P2416 = "141_1276996335.94529" - .return ($P2416) + .return ($P2437) + .const 'Sub' $P2439 = "141_1278500542.82783" + .return ($P2439) .end .namespace ["NQP";"Actions"] -.sub "" :load :init :subid("post145") :outer("11_1276996335.94529") +.sub "" :load :init :subid("post145") :outer("11_1278500542.82783") .annotate 'line', 3 get_hll_global $P14, ["NQP";"Actions"], "_block13" .local pmc block set block, $P14 .annotate 'line', 5 - .const 'Sub' $P2420 = "142_1276996335.94529" - capture_lex $P2420 - $P2420() - $P2423 = get_root_global ["parrot"], "P6metaclass" - $P2423."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent")) + .const 'Sub' $P2443 = "142_1278500542.82783" + capture_lex $P2443 + $P2443() + $P2446 = get_root_global ["parrot"], "P6metaclass" + $P2446."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent")) .end .namespace ["NQP";"Actions"] -.sub "_block2419" :anon :subid("142_1276996335.94529") :outer("11_1276996335.94529") +.sub "_block2442" :anon :subid("142_1278500542.82783") :outer("11_1278500542.82783") .annotate 'line', 6 - get_global $P2421, "@BLOCK" - unless_null $P2421, vivify_146 - $P2421 = root_new ['parrot';'ResizablePMCArray'] - set_global "@BLOCK", $P2421 + get_global $P2444, "@BLOCK" + unless_null $P2444, vivify_146 + $P2444 = root_new ['parrot';'ResizablePMCArray'] + set_global "@BLOCK", $P2444 vivify_146: - $P2422 = new ['ResizablePMCArray'] - set_global "@BLOCK", $P2422 + $P2445 = new ['ResizablePMCArray'] + set_global "@BLOCK", $P2445 .annotate 'line', 5 - .return ($P2422) + .return ($P2445) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "xblock_immediate" :subid("12_1276996335.94529") :outer("11_1276996335.94529") +.sub "xblock_immediate" :subid("12_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_19 .annotate 'line', 9 new $P18, 'ExceptionHandler' @@ -17806,10 +18190,10 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "block_immediate" :subid("13_1276996335.94529") :outer("11_1276996335.94529") +.sub "block_immediate" :subid("13_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_30 .annotate 'line', 14 - .const 'Sub' $P40 = "14_1276996335.94529" + .const 'Sub' $P40 = "14_1278500542.82783" capture_lex $P40 new $P29, 'ExceptionHandler' set_addr $P29, control_28 @@ -17831,7 +18215,7 @@ NQP::Compiler - NQP compiler set $P33, $P38 unless_34_end: if $P33, unless_32_end - .const 'Sub' $P40 = "14_1276996335.94529" + .const 'Sub' $P40 = "14_1278500542.82783" capture_lex $P40 $P40() unless_32_end: @@ -17848,9 +18232,9 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "_block39" :anon :subid("14_1276996335.94529") :outer("13_1276996335.94529") +.sub "_block39" :anon :subid("14_1278500542.82783") :outer("13_1278500542.82783") .annotate 'line', 16 - .const 'Sub' $P51 = "15_1276996335.94529" + .const 'Sub' $P51 = "15_1278500542.82783" capture_lex $P51 .annotate 'line', 17 new $P41, "Undef" @@ -17873,7 +18257,7 @@ NQP::Compiler - NQP compiler unless $P45, loop56_done shift $P49, $P45 loop56_redo: - .const 'Sub' $P51 = "15_1276996335.94529" + .const 'Sub' $P51 = "15_1278500542.82783" capture_lex $P51 $P51($P49) loop56_next: @@ -17896,7 +18280,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] -.sub "_block50" :anon :subid("15_1276996335.94529") :outer("14_1276996335.94529") +.sub "_block50" :anon :subid("15_1278500542.82783") :outer("14_1278500542.82783") .param pmc param_52 .annotate 'line', 18 .lex "$_", param_52 @@ -17909,7 +18293,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "vivitype" :subid("16_1276996335.94529") :outer("11_1276996335.94529") +.sub "vivitype" :subid("16_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_66 .annotate 'line', 24 new $P65, 'ExceptionHandler' @@ -17958,7 +18342,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "colonpair_str" :subid("17_1276996335.94529") :outer("11_1276996335.94529") +.sub "colonpair_str" :subid("17_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_87 .annotate 'line', 43 new $P86, 'ExceptionHandler' @@ -17997,17 +18381,17 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "push_block_handler" :subid("18_1276996335.94529") :outer("11_1276996335.94529") +.sub "push_block_handler" :subid("18_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_103 .param pmc param_104 -.annotate 'line', 213 +.annotate 'line', 223 new $P102, 'ExceptionHandler' set_addr $P102, control_101 $P102."handle_types"(.CONTROL_RETURN) push_eh $P102 .lex "$/", param_103 .lex "$block", param_104 -.annotate 'line', 214 +.annotate 'line', 224 get_global $P106, "@BLOCK" unless_null $P106, vivify_152 $P106 = root_new ['parrot';'ResizablePMCArray'] @@ -18018,7 +18402,7 @@ NQP::Compiler - NQP compiler vivify_153: $P108 = $P107."handlers"() if $P108, unless_105_end -.annotate 'line', 215 +.annotate 'line', 225 get_global $P109, "@BLOCK" unless_null $P109, vivify_154 $P109 = root_new ['parrot';'ResizablePMCArray'] @@ -18030,42 +18414,42 @@ NQP::Compiler - NQP compiler new $P111, "ResizablePMCArray" $P110."handlers"($P111) unless_105_end: -.annotate 'line', 217 +.annotate 'line', 227 find_lex $P113, "$block" $P114 = $P113."arity"() if $P114, unless_112_end -.annotate 'line', 218 +.annotate 'line', 228 find_lex $P115, "$block" -.annotate 'line', 219 +.annotate 'line', 229 get_hll_global $P116, ["PAST"], "Op" -.annotate 'line', 220 +.annotate 'line', 230 get_hll_global $P117, ["PAST"], "Var" $P118 = $P117."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl")) -.annotate 'line', 221 +.annotate 'line', 231 get_hll_global $P119, ["PAST"], "Var" $P120 = $P119."new"("lexical" :named("scope"), "$_" :named("name")) $P121 = $P116."new"($P118, $P120, "bind" :named("pasttype")) -.annotate 'line', 219 +.annotate 'line', 229 $P115."unshift"($P121) -.annotate 'line', 224 +.annotate 'line', 234 find_lex $P122, "$block" get_hll_global $P123, ["PAST"], "Var" $P124 = $P123."new"("$_" :named("name"), "parameter" :named("scope")) $P122."unshift"($P124) -.annotate 'line', 225 +.annotate 'line', 235 find_lex $P125, "$block" $P125."symbol"("$_", "lexical" :named("scope")) -.annotate 'line', 226 +.annotate 'line', 236 find_lex $P126, "$block" $P126."symbol"("$!", "lexical" :named("scope")) -.annotate 'line', 227 +.annotate 'line', 237 find_lex $P127, "$block" $P127."arity"(1) unless_112_end: -.annotate 'line', 229 +.annotate 'line', 239 find_lex $P128, "$block" $P128."blocktype"("declaration") -.annotate 'line', 230 +.annotate 'line', 240 get_global $P129, "@BLOCK" unless_null $P129, vivify_156 $P129 = root_new ['parrot';'ResizablePMCArray'] @@ -18075,35 +18459,35 @@ NQP::Compiler - NQP compiler new $P130, "Undef" vivify_157: $P131 = $P130."handlers"() -.annotate 'line', 231 +.annotate 'line', 241 get_hll_global $P132, ["PAST"], "Control" find_lex $P133, "$/" -.annotate 'line', 233 +.annotate 'line', 243 get_hll_global $P134, ["PAST"], "Stmts" -.annotate 'line', 234 +.annotate 'line', 244 get_hll_global $P135, ["PAST"], "Op" find_lex $P136, "$block" -.annotate 'line', 236 +.annotate 'line', 246 get_hll_global $P137, ["PAST"], "Var" $P138 = $P137."new"("register" :named("scope"), "exception" :named("name")) $P139 = $P135."new"($P136, $P138, "call" :named("pasttype")) -.annotate 'line', 238 +.annotate 'line', 248 get_hll_global $P140, ["PAST"], "Op" -.annotate 'line', 239 +.annotate 'line', 249 get_hll_global $P141, ["PAST"], "Var" -.annotate 'line', 240 +.annotate 'line', 250 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', 239 +.annotate 'line', 249 $P145 = $P140."new"($P144, 1, "bind" :named("pasttype")) -.annotate 'line', 238 +.annotate 'line', 248 $P146 = $P134."new"($P139, $P145) -.annotate 'line', 233 +.annotate 'line', 243 $P147 = $P132."new"($P146, $P133 :named("node")) -.annotate 'line', 231 +.annotate 'line', 241 $P148 = $P131."unshift"($P147) -.annotate 'line', 213 +.annotate 'line', 223 .return ($P148) control_101: .local pmc exception @@ -18115,28 +18499,28 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "control" :subid("19_1276996335.94529") :outer("11_1276996335.94529") +.sub "control" :subid("19_1278500542.82783") :outer("11_1278500542.82783") .param pmc param_154 .param pmc param_155 -.annotate 'line', 822 +.annotate 'line', 832 new $P153, 'ExceptionHandler' set_addr $P153, control_152 $P153."handle_types"(.CONTROL_RETURN) push_eh $P153 .lex "$/", param_154 .lex "$type", param_155 -.annotate 'line', 823 +.annotate 'line', 833 find_lex $P156, "$/" get_hll_global $P157, ["PAST"], "Op" find_lex $P158, "$/" -.annotate 'line', 827 +.annotate 'line', 837 get_hll_global $P159, ["PAST"], "Val" find_lex $P160, "$type" $P161 = $P159."new"($P160 :named("value"), "!except_types" :named("returns")) $P162 = $P157."new"(0, $P161, $P158 :named("node"), "die__vii" :named("pirop")) -.annotate 'line', 823 +.annotate 'line', 833 $P163 = $P156."!make"($P162) -.annotate 'line', 822 +.annotate 'line', 832 .return ($P163) control_152: .local pmc exception @@ -18148,7 +18532,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "TOP" :subid("20_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "TOP" :subid("20_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_173 .annotate 'line', 33 new $P172, 'ExceptionHandler' @@ -18179,7 +18563,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "deflongname" :subid("21_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "deflongname" :subid("21_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_183 .annotate 'line', 35 new $P182, 'ExceptionHandler' @@ -18269,7 +18653,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "comp_unit" :subid("22_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "comp_unit" :subid("22_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_216 .annotate 'line', 49 new $P215, 'ExceptionHandler' @@ -18344,10 +18728,10 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statementlist" :subid("23_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "statementlist" :subid("23_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_248 .annotate 'line', 76 - .const 'Sub' $P262 = "24_1276996335.94529" + .const 'Sub' $P262 = "24_1278500542.82783" capture_lex $P262 new $P247, 'ExceptionHandler' set_addr $P247, control_246 @@ -18392,7 +18776,7 @@ NQP::Compiler - NQP compiler unless $P256, loop281_done shift $P260, $P256 loop281_redo: - .const 'Sub' $P262 = "24_1276996335.94529" + .const 'Sub' $P262 = "24_1278500542.82783" capture_lex $P262 $P262($P260) loop281_next: @@ -18422,7 +18806,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] -.sub "_block261" :anon :subid("24_1276996335.94529") :outer("23_1276996335.94529") +.sub "_block261" :anon :subid("24_1278500542.82783") :outer("23_1278500542.82783") .param pmc param_264 .annotate 'line', 80 new $P263, "Undef" @@ -18477,12 +18861,12 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement" :subid("25_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "statement" :subid("25_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_291 .param pmc param_292 :optional .param int has_param_292 :opt_flag .annotate 'line', 89 - .const 'Sub' $P300 = "26_1276996335.94529" + .const 'Sub' $P300 = "26_1278500542.82783" capture_lex $P300 new $P290, 'ExceptionHandler' set_addr $P290, control_289 @@ -18510,57 +18894,57 @@ NQP::Compiler - NQP compiler new $P298, "Undef" vivify_185: if $P298, if_296 -.annotate 'line', 102 - find_lex $P338, "$/" - unless_null $P338, vivify_186 - $P338 = root_new ['parrot';'Hash'] +.annotate 'line', 112 + find_lex $P361, "$/" + unless_null $P361, vivify_186 + $P361 = root_new ['parrot';'Hash'] vivify_186: - set $P339, $P338["statement_control"] - unless_null $P339, vivify_187 - new $P339, "Undef" + set $P362, $P361["statement_control"] + unless_null $P362, vivify_187 + new $P362, "Undef" vivify_187: - if $P339, if_337 -.annotate 'line', 103 - new $P343, "Integer" - assign $P343, 0 - store_lex "$past", $P343 - goto if_337_end - if_337: -.annotate 'line', 102 - find_lex $P340, "$/" - unless_null $P340, vivify_188 - $P340 = root_new ['parrot';'Hash'] + if $P362, if_360 +.annotate 'line', 113 + new $P366, "Integer" + assign $P366, 0 + store_lex "$past", $P366 + goto if_360_end + if_360: +.annotate 'line', 112 + find_lex $P363, "$/" + unless_null $P363, vivify_188 + $P363 = root_new ['parrot';'Hash'] vivify_188: - set $P341, $P340["statement_control"] - unless_null $P341, vivify_189 - new $P341, "Undef" + set $P364, $P363["statement_control"] + unless_null $P364, vivify_189 + new $P364, "Undef" vivify_189: - $P342 = $P341."ast"() - store_lex "$past", $P342 - if_337_end: + $P365 = $P364."ast"() + store_lex "$past", $P365 + if_360_end: goto if_296_end if_296: .annotate 'line', 91 - .const 'Sub' $P300 = "26_1276996335.94529" + .const 'Sub' $P300 = "26_1278500542.82783" capture_lex $P300 $P300() if_296_end: -.annotate 'line', 104 - find_lex $P344, "$/" - find_lex $P345, "$past" - $P346 = $P344."!make"($P345) +.annotate 'line', 114 + find_lex $P367, "$/" + find_lex $P368, "$past" + $P369 = $P367."!make"($P368) .annotate 'line', 89 - .return ($P346) + .return ($P369) control_289: .local pmc exception .get_results (exception) - getattribute $P347, exception, "payload" - .return ($P347) + getattribute $P370, exception, "payload" + .return ($P370) .end .namespace ["NQP";"Actions"] -.sub "_block299" :anon :subid("26_1276996335.94529") :outer("25_1276996335.94529") +.sub "_block299" :anon :subid("26_1278500542.82783") :outer("25_1278500542.82783") .annotate 'line', 92 new $P301, "Undef" .lex "$mc", $P301 @@ -18641,31 +19025,90 @@ NQP::Compiler - NQP compiler goto if_325_end if_325: .annotate 'line', 99 - get_hll_global $P327, ["PAST"], "Op" - find_lex $P328, "$ml" - unless_null $P328, vivify_202 - $P328 = root_new ['parrot';'Hash'] + find_lex $P329, "$ml" + unless_null $P329, vivify_202 + $P329 = root_new ['parrot';'Hash'] vivify_202: - set $P329, $P328["cond"] - unless_null $P329, vivify_203 - new $P329, "Undef" + set $P330, $P329["sym"] + unless_null $P330, vivify_203 + new $P330, "Undef" vivify_203: - $P330 = $P329."ast"() - find_lex $P331, "$past" - find_lex $P332, "$ml" - unless_null $P332, vivify_204 - $P332 = root_new ['parrot';'Hash'] + set $S331, $P330 + iseq $I332, $S331, "for" + if $I332, if_328 +.annotate 'line', 108 + get_hll_global $P350, ["PAST"], "Op" + find_lex $P351, "$ml" + unless_null $P351, vivify_204 + $P351 = root_new ['parrot';'Hash'] vivify_204: - set $P333, $P332["sym"] - unless_null $P333, vivify_205 - new $P333, "Undef" + set $P352, $P351["cond"] + unless_null $P352, vivify_205 + new $P352, "Undef" vivify_205: - set $S334, $P333 - find_lex $P335, "$/" - $P336 = $P327."new"($P330, $P331, $S334 :named("pasttype"), $P335 :named("node")) - store_lex "$past", $P336 + $P353 = $P352."ast"() + find_lex $P354, "$past" + find_lex $P355, "$ml" + unless_null $P355, vivify_206 + $P355 = root_new ['parrot';'Hash'] + vivify_206: + set $P356, $P355["sym"] + unless_null $P356, vivify_207 + new $P356, "Undef" + vivify_207: + set $S357, $P356 + find_lex $P358, "$/" + $P359 = $P350."new"($P353, $P354, $S357 :named("pasttype"), $P358 :named("node")) + store_lex "$past", $P359 +.annotate 'line', 107 + set $P327, $P359 +.annotate 'line', 99 + goto if_328_end + if_328: +.annotate 'line', 100 + get_hll_global $P333, ["PAST"], "Block" +.annotate 'line', 101 + get_hll_global $P334, ["PAST"], "Var" + $P335 = $P334."new"("$_" :named("name"), "parameter" :named("scope"), 1 :named("isdecl")) + find_lex $P336, "$past" + $P337 = $P333."new"($P335, $P336, "immediate" :named("blocktype")) +.annotate 'line', 100 + store_lex "$past", $P337 +.annotate 'line', 103 + find_lex $P338, "$past" + $P338."symbol"("$_", "lexical" :named("scope")) +.annotate 'line', 104 + find_lex $P339, "$past" + $P339."arity"(1) +.annotate 'line', 105 + get_hll_global $P340, ["PAST"], "Op" + find_lex $P341, "$ml" + unless_null $P341, vivify_208 + $P341 = root_new ['parrot';'Hash'] + vivify_208: + set $P342, $P341["cond"] + unless_null $P342, vivify_209 + new $P342, "Undef" + vivify_209: + $P343 = $P342."ast"() + find_lex $P344, "$past" + find_lex $P345, "$ml" + unless_null $P345, vivify_210 + $P345 = root_new ['parrot';'Hash'] + vivify_210: + set $P346, $P345["sym"] + unless_null $P346, vivify_211 + new $P346, "Undef" + vivify_211: + set $S347, $P346 + find_lex $P348, "$/" + $P349 = $P340."new"($P343, $P344, $S347 :named("pasttype"), $P348 :named("node")) + store_lex "$past", $P349 +.annotate 'line', 99 + set $P327, $P349 + if_328_end: .annotate 'line', 98 - set $P324, $P336 + set $P324, $P327 if_325_end: .annotate 'line', 91 .return ($P324) @@ -18674,4944 +19117,4875 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "xblock" :subid("27_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_351 -.annotate 'line', 107 - new $P350, 'ExceptionHandler' - set_addr $P350, control_349 - $P350."handle_types"(.CONTROL_RETURN) - push_eh $P350 +.sub "xblock" :subid("27_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_374 +.annotate 'line', 117 + new $P373, 'ExceptionHandler' + set_addr $P373, control_372 + $P373."handle_types"(.CONTROL_RETURN) + push_eh $P373 .lex "self", self - .lex "$/", param_351 -.annotate 'line', 108 - find_lex $P352, "$/" - get_hll_global $P353, ["PAST"], "Op" - find_lex $P354, "$/" - unless_null $P354, vivify_206 - $P354 = root_new ['parrot';'Hash'] - vivify_206: - set $P355, $P354["EXPR"] - unless_null $P355, vivify_207 - new $P355, "Undef" - vivify_207: - $P356 = $P355."ast"() - find_lex $P357, "$/" - unless_null $P357, vivify_208 - $P357 = root_new ['parrot';'Hash'] - vivify_208: - set $P358, $P357["pblock"] - unless_null $P358, vivify_209 - new $P358, "Undef" - vivify_209: - $P359 = $P358."ast"() - find_lex $P360, "$/" - $P361 = $P353."new"($P356, $P359, "if" :named("pasttype"), $P360 :named("node")) - $P362 = $P352."!make"($P361) -.annotate 'line', 107 - .return ($P362) - control_349: + .lex "$/", param_374 +.annotate 'line', 118 + find_lex $P375, "$/" + get_hll_global $P376, ["PAST"], "Op" + find_lex $P377, "$/" + unless_null $P377, vivify_212 + $P377 = root_new ['parrot';'Hash'] + vivify_212: + set $P378, $P377["EXPR"] + unless_null $P378, vivify_213 + new $P378, "Undef" + vivify_213: + $P379 = $P378."ast"() + find_lex $P380, "$/" + unless_null $P380, vivify_214 + $P380 = root_new ['parrot';'Hash'] + vivify_214: + set $P381, $P380["pblock"] + unless_null $P381, vivify_215 + new $P381, "Undef" + vivify_215: + $P382 = $P381."ast"() + find_lex $P383, "$/" + $P384 = $P376."new"($P379, $P382, "if" :named("pasttype"), $P383 :named("node")) + $P385 = $P375."!make"($P384) +.annotate 'line', 117 + .return ($P385) + control_372: .local pmc exception .get_results (exception) - getattribute $P363, exception, "payload" - .return ($P363) + getattribute $P386, exception, "payload" + .return ($P386) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "pblock" :subid("28_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_367 -.annotate 'line', 111 - new $P366, 'ExceptionHandler' - set_addr $P366, control_365 - $P366."handle_types"(.CONTROL_RETURN) - push_eh $P366 +.sub "pblock" :subid("28_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_390 +.annotate 'line', 121 + new $P389, 'ExceptionHandler' + set_addr $P389, control_388 + $P389."handle_types"(.CONTROL_RETURN) + push_eh $P389 .lex "self", self - .lex "$/", param_367 -.annotate 'line', 112 - find_lex $P368, "$/" - find_lex $P369, "$/" - unless_null $P369, vivify_210 - $P369 = root_new ['parrot';'Hash'] - vivify_210: - set $P370, $P369["blockoid"] - unless_null $P370, vivify_211 - new $P370, "Undef" - vivify_211: - $P371 = $P370."ast"() - $P372 = $P368."!make"($P371) -.annotate 'line', 111 - .return ($P372) - control_365: + .lex "$/", param_390 +.annotate 'line', 122 + find_lex $P391, "$/" + find_lex $P392, "$/" + unless_null $P392, vivify_216 + $P392 = root_new ['parrot';'Hash'] + vivify_216: + set $P393, $P392["blockoid"] + unless_null $P393, vivify_217 + new $P393, "Undef" + vivify_217: + $P394 = $P393."ast"() + $P395 = $P391."!make"($P394) +.annotate 'line', 121 + .return ($P395) + control_388: .local pmc exception .get_results (exception) - getattribute $P373, exception, "payload" - .return ($P373) + getattribute $P396, exception, "payload" + .return ($P396) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "block" :subid("29_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_377 -.annotate 'line', 115 - new $P376, 'ExceptionHandler' - set_addr $P376, control_375 - $P376."handle_types"(.CONTROL_RETURN) - push_eh $P376 +.sub "block" :subid("29_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_400 +.annotate 'line', 125 + new $P399, 'ExceptionHandler' + set_addr $P399, control_398 + $P399."handle_types"(.CONTROL_RETURN) + push_eh $P399 .lex "self", self - .lex "$/", param_377 -.annotate 'line', 116 - find_lex $P378, "$/" - find_lex $P379, "$/" - unless_null $P379, vivify_212 - $P379 = root_new ['parrot';'Hash'] - vivify_212: - set $P380, $P379["blockoid"] - unless_null $P380, vivify_213 - new $P380, "Undef" - vivify_213: - $P381 = $P380."ast"() - $P382 = $P378."!make"($P381) -.annotate 'line', 115 - .return ($P382) - control_375: + .lex "$/", param_400 +.annotate 'line', 126 + find_lex $P401, "$/" + find_lex $P402, "$/" + unless_null $P402, vivify_218 + $P402 = root_new ['parrot';'Hash'] + vivify_218: + set $P403, $P402["blockoid"] + unless_null $P403, vivify_219 + new $P403, "Undef" + vivify_219: + $P404 = $P403."ast"() + $P405 = $P401."!make"($P404) +.annotate 'line', 125 + .return ($P405) + control_398: .local pmc exception .get_results (exception) - getattribute $P383, exception, "payload" - .return ($P383) + getattribute $P406, exception, "payload" + .return ($P406) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "blockoid" :subid("30_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_387 -.annotate 'line', 119 - new $P386, 'ExceptionHandler' - set_addr $P386, control_385 - $P386."handle_types"(.CONTROL_RETURN) - push_eh $P386 +.sub "blockoid" :subid("30_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_410 +.annotate 'line', 129 + new $P409, 'ExceptionHandler' + set_addr $P409, control_408 + $P409."handle_types"(.CONTROL_RETURN) + push_eh $P409 .lex "self", self - .lex "$/", param_387 -.annotate 'line', 120 - new $P388, "Undef" - .lex "$past", $P388 -.annotate 'line', 121 - new $P389, "Undef" - .lex "$BLOCK", $P389 -.annotate 'line', 120 - find_lex $P390, "$/" - unless_null $P390, vivify_214 - $P390 = root_new ['parrot';'Hash'] - vivify_214: - set $P391, $P390["statementlist"] - unless_null $P391, vivify_215 - new $P391, "Undef" - vivify_215: - $P392 = $P391."ast"() - store_lex "$past", $P392 -.annotate 'line', 121 - get_global $P393, "@BLOCK" - $P394 = $P393."shift"() - store_lex "$BLOCK", $P394 -.annotate 'line', 122 - find_lex $P395, "$BLOCK" - find_lex $P396, "$past" - $P395."push"($P396) -.annotate 'line', 123 - find_lex $P397, "$BLOCK" - find_lex $P398, "$/" - $P397."node"($P398) -.annotate 'line', 124 - find_lex $P399, "$BLOCK" - $P399."closure"(1) -.annotate 'line', 125 - find_lex $P400, "$/" - find_lex $P401, "$BLOCK" - $P402 = $P400."!make"($P401) -.annotate 'line', 119 - .return ($P402) - control_385: + .lex "$/", param_410 +.annotate 'line', 130 + new $P411, "Undef" + .lex "$past", $P411 +.annotate 'line', 131 + new $P412, "Undef" + .lex "$BLOCK", $P412 +.annotate 'line', 130 + find_lex $P413, "$/" + unless_null $P413, vivify_220 + $P413 = root_new ['parrot';'Hash'] + vivify_220: + set $P414, $P413["statementlist"] + unless_null $P414, vivify_221 + new $P414, "Undef" + vivify_221: + $P415 = $P414."ast"() + store_lex "$past", $P415 +.annotate 'line', 131 + get_global $P416, "@BLOCK" + $P417 = $P416."shift"() + store_lex "$BLOCK", $P417 +.annotate 'line', 132 + find_lex $P418, "$BLOCK" + find_lex $P419, "$past" + $P418."push"($P419) +.annotate 'line', 133 + find_lex $P420, "$BLOCK" + find_lex $P421, "$/" + $P420."node"($P421) +.annotate 'line', 134 + find_lex $P422, "$BLOCK" + $P422."closure"(1) +.annotate 'line', 135 + find_lex $P423, "$/" + find_lex $P424, "$BLOCK" + $P425 = $P423."!make"($P424) +.annotate 'line', 129 + .return ($P425) + control_408: .local pmc exception .get_results (exception) - getattribute $P403, exception, "payload" - .return ($P403) + getattribute $P426, exception, "payload" + .return ($P426) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "newpad" :subid("31_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_407 -.annotate 'line', 128 - new $P406, 'ExceptionHandler' - set_addr $P406, control_405 - $P406."handle_types"(.CONTROL_RETURN) - push_eh $P406 +.sub "newpad" :subid("31_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_430 +.annotate 'line', 138 + new $P429, 'ExceptionHandler' + set_addr $P429, control_428 + $P429."handle_types"(.CONTROL_RETURN) + push_eh $P429 .lex "self", self - .lex "$/", param_407 -.annotate 'line', 129 - get_global $P408, "@BLOCK" - unless_null $P408, vivify_216 - $P408 = root_new ['parrot';'ResizablePMCArray'] - set_global "@BLOCK", $P408 - vivify_216: -.annotate 'line', 128 - get_global $P409, "@BLOCK" -.annotate 'line', 130 - get_global $P410, "@BLOCK" - get_hll_global $P411, ["PAST"], "Block" - get_hll_global $P412, ["PAST"], "Stmts" - $P413 = $P412."new"() - $P414 = $P411."new"($P413) - $P415 = $P410."unshift"($P414) -.annotate 'line', 128 - .return ($P415) - control_405: + .lex "$/", param_430 +.annotate 'line', 139 + get_global $P431, "@BLOCK" + unless_null $P431, vivify_222 + $P431 = root_new ['parrot';'ResizablePMCArray'] + set_global "@BLOCK", $P431 + vivify_222: +.annotate 'line', 138 + get_global $P432, "@BLOCK" +.annotate 'line', 140 + get_global $P433, "@BLOCK" + get_hll_global $P434, ["PAST"], "Block" + get_hll_global $P435, ["PAST"], "Stmts" + $P436 = $P435."new"() + $P437 = $P434."new"($P436) + $P438 = $P433."unshift"($P437) +.annotate 'line', 138 + .return ($P438) + control_428: .local pmc exception .get_results (exception) - getattribute $P416, exception, "payload" - .return ($P416) + getattribute $P439, exception, "payload" + .return ($P439) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "outerctx" :subid("32_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_420 -.annotate 'line', 133 - new $P419, 'ExceptionHandler' - set_addr $P419, control_418 - $P419."handle_types"(.CONTROL_RETURN) - push_eh $P419 +.sub "outerctx" :subid("32_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_443 +.annotate 'line', 143 + new $P442, 'ExceptionHandler' + set_addr $P442, control_441 + $P442."handle_types"(.CONTROL_RETURN) + push_eh $P442 .lex "self", self - .lex "$/", param_420 -.annotate 'line', 134 - get_global $P421, "@BLOCK" - unless_null $P421, vivify_217 - $P421 = root_new ['parrot';'ResizablePMCArray'] - set_global "@BLOCK", $P421 - vivify_217: -.annotate 'line', 133 - get_global $P422, "@BLOCK" -.annotate 'line', 135 - find_lex $P423, "self" - get_global $P424, "@BLOCK" - unless_null $P424, vivify_218 - $P424 = root_new ['parrot';'ResizablePMCArray'] - vivify_218: - set $P425, $P424[0] - unless_null $P425, vivify_219 - new $P425, "Undef" - vivify_219: - $P426 = $P423."SET_BLOCK_OUTER_CTX"($P425) -.annotate 'line', 133 - .return ($P426) - control_418: + .lex "$/", param_443 +.annotate 'line', 144 + get_global $P444, "@BLOCK" + unless_null $P444, vivify_223 + $P444 = root_new ['parrot';'ResizablePMCArray'] + set_global "@BLOCK", $P444 + vivify_223: +.annotate 'line', 143 + get_global $P445, "@BLOCK" +.annotate 'line', 145 + find_lex $P446, "self" + get_global $P447, "@BLOCK" + unless_null $P447, vivify_224 + $P447 = root_new ['parrot';'ResizablePMCArray'] + vivify_224: + set $P448, $P447[0] + unless_null $P448, vivify_225 + new $P448, "Undef" + vivify_225: + $P449 = $P446."SET_BLOCK_OUTER_CTX"($P448) +.annotate 'line', 143 + .return ($P449) + control_441: .local pmc exception .get_results (exception) - getattribute $P427, exception, "payload" - .return ($P427) + getattribute $P450, exception, "payload" + .return ($P450) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("33_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_431 -.annotate 'line', 140 - .const 'Sub' $P459 = "34_1276996335.94529" - capture_lex $P459 - new $P430, 'ExceptionHandler' - set_addr $P430, control_429 - $P430."handle_types"(.CONTROL_RETURN) - push_eh $P430 +.sub "statement_control:sym" :subid("33_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_454 +.annotate 'line', 150 + .const 'Sub' $P482 = "34_1278500542.82783" + capture_lex $P482 + new $P453, 'ExceptionHandler' + set_addr $P453, control_452 + $P453."handle_types"(.CONTROL_RETURN) + push_eh $P453 .lex "self", self - .lex "$/", param_431 -.annotate 'line', 141 - new $P432, "Undef" - .lex "$count", $P432 -.annotate 'line', 142 - new $P433, "Undef" - .lex "$past", $P433 -.annotate 'line', 141 - find_lex $P434, "$/" - unless_null $P434, vivify_220 - $P434 = root_new ['parrot';'Hash'] - vivify_220: - set $P435, $P434["xblock"] - unless_null $P435, vivify_221 - new $P435, "Undef" - vivify_221: - set $N436, $P435 - new $P437, 'Float' - set $P437, $N436 - sub $P438, $P437, 1 - store_lex "$count", $P438 -.annotate 'line', 142 - find_lex $P439, "$count" - set $I440, $P439 - find_lex $P441, "$/" - unless_null $P441, vivify_222 - $P441 = root_new ['parrot';'Hash'] - vivify_222: - set $P442, $P441["xblock"] - unless_null $P442, vivify_223 - $P442 = root_new ['parrot';'ResizablePMCArray'] - vivify_223: - set $P443, $P442[$I440] - unless_null $P443, vivify_224 - new $P443, "Undef" - vivify_224: - $P444 = $P443."ast"() - $P445 = "xblock_immediate"($P444) - store_lex "$past", $P445 -.annotate 'line', 143 - find_lex $P447, "$/" - unless_null $P447, vivify_225 - $P447 = root_new ['parrot';'Hash'] - vivify_225: - set $P448, $P447["else"] - unless_null $P448, vivify_226 - new $P448, "Undef" + .lex "$/", param_454 +.annotate 'line', 151 + new $P455, "Undef" + .lex "$count", $P455 +.annotate 'line', 152 + new $P456, "Undef" + .lex "$past", $P456 +.annotate 'line', 151 + find_lex $P457, "$/" + unless_null $P457, vivify_226 + $P457 = root_new ['parrot';'Hash'] vivify_226: - unless $P448, if_446_end -.annotate 'line', 144 - find_lex $P449, "$past" - find_lex $P450, "$/" - unless_null $P450, vivify_227 - $P450 = root_new ['parrot';'Hash'] + set $P458, $P457["xblock"] + unless_null $P458, vivify_227 + new $P458, "Undef" vivify_227: - set $P451, $P450["else"] - unless_null $P451, vivify_228 - $P451 = root_new ['parrot';'ResizablePMCArray'] + set $N459, $P458 + new $P460, 'Float' + set $P460, $N459 + sub $P461, $P460, 1 + store_lex "$count", $P461 +.annotate 'line', 152 + find_lex $P462, "$count" + set $I463, $P462 + find_lex $P464, "$/" + unless_null $P464, vivify_228 + $P464 = root_new ['parrot';'Hash'] vivify_228: - set $P452, $P451[0] - unless_null $P452, vivify_229 - new $P452, "Undef" + set $P465, $P464["xblock"] + unless_null $P465, vivify_229 + $P465 = root_new ['parrot';'ResizablePMCArray'] vivify_229: - $P453 = $P452."ast"() - $P454 = "block_immediate"($P453) - $P449."push"($P454) - if_446_end: -.annotate 'line', 147 - new $P475, 'ExceptionHandler' - set_addr $P475, loop474_handler - $P475."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P475 - loop474_test: - find_lex $P455, "$count" - set $N456, $P455 - isgt $I457, $N456, 0.0 - unless $I457, loop474_done - loop474_redo: - .const 'Sub' $P459 = "34_1276996335.94529" - capture_lex $P459 - $P459() - loop474_next: - goto loop474_test - loop474_handler: + set $P466, $P465[$I463] + unless_null $P466, vivify_230 + new $P466, "Undef" + vivify_230: + $P467 = $P466."ast"() + $P468 = "xblock_immediate"($P467) + store_lex "$past", $P468 +.annotate 'line', 153 + find_lex $P470, "$/" + unless_null $P470, vivify_231 + $P470 = root_new ['parrot';'Hash'] + vivify_231: + set $P471, $P470["else"] + unless_null $P471, vivify_232 + new $P471, "Undef" + vivify_232: + unless $P471, if_469_end +.annotate 'line', 154 + find_lex $P472, "$past" + find_lex $P473, "$/" + unless_null $P473, vivify_233 + $P473 = root_new ['parrot';'Hash'] + vivify_233: + set $P474, $P473["else"] + unless_null $P474, vivify_234 + $P474 = root_new ['parrot';'ResizablePMCArray'] + vivify_234: + set $P475, $P474[0] + unless_null $P475, vivify_235 + new $P475, "Undef" + vivify_235: + $P476 = $P475."ast"() + $P477 = "block_immediate"($P476) + $P472."push"($P477) + if_469_end: +.annotate 'line', 157 + new $P498, 'ExceptionHandler' + set_addr $P498, loop497_handler + $P498."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P498 + loop497_test: + find_lex $P478, "$count" + set $N479, $P478 + isgt $I480, $N479, 0.0 + unless $I480, loop497_done + loop497_redo: + .const 'Sub' $P482 = "34_1278500542.82783" + capture_lex $P482 + $P482() + loop497_next: + goto loop497_test + loop497_handler: .local pmc exception .get_results (exception) - getattribute $P476, exception, 'type' - eq $P476, .CONTROL_LOOP_NEXT, loop474_next - eq $P476, .CONTROL_LOOP_REDO, loop474_redo - loop474_done: + getattribute $P499, exception, 'type' + eq $P499, .CONTROL_LOOP_NEXT, loop497_next + eq $P499, .CONTROL_LOOP_REDO, loop497_redo + loop497_done: pop_eh -.annotate 'line', 153 - find_lex $P477, "$/" - find_lex $P478, "$past" - $P479 = $P477."!make"($P478) -.annotate 'line', 140 - .return ($P479) - control_429: +.annotate 'line', 163 + find_lex $P500, "$/" + find_lex $P501, "$past" + $P502 = $P500."!make"($P501) +.annotate 'line', 150 + .return ($P502) + control_452: .local pmc exception .get_results (exception) - getattribute $P480, exception, "payload" - .return ($P480) + getattribute $P503, exception, "payload" + .return ($P503) .end .namespace ["NQP";"Actions"] -.sub "_block458" :anon :subid("34_1276996335.94529") :outer("33_1276996335.94529") -.annotate 'line', 149 - new $P460, "Undef" - .lex "$else", $P460 -.annotate 'line', 147 - find_lex $P461, "$count" - clone $P462, $P461 - dec $P461 -.annotate 'line', 149 - find_lex $P463, "$past" - store_lex "$else", $P463 -.annotate 'line', 150 - find_lex $P464, "$count" - set $I465, $P464 - find_lex $P466, "$/" - unless_null $P466, vivify_230 - $P466 = root_new ['parrot';'Hash'] - vivify_230: - set $P467, $P466["xblock"] - unless_null $P467, vivify_231 - $P467 = root_new ['parrot';'ResizablePMCArray'] - vivify_231: - set $P468, $P467[$I465] - unless_null $P468, vivify_232 - new $P468, "Undef" - vivify_232: - $P469 = $P468."ast"() - $P470 = "xblock_immediate"($P469) - store_lex "$past", $P470 -.annotate 'line', 151 - find_lex $P471, "$past" - find_lex $P472, "$else" - $P473 = $P471."push"($P472) -.annotate 'line', 147 - .return ($P473) +.sub "_block481" :anon :subid("34_1278500542.82783") :outer("33_1278500542.82783") +.annotate 'line', 159 + new $P483, "Undef" + .lex "$else", $P483 +.annotate 'line', 157 + find_lex $P484, "$count" + clone $P485, $P484 + dec $P484 +.annotate 'line', 159 + find_lex $P486, "$past" + store_lex "$else", $P486 +.annotate 'line', 160 + find_lex $P487, "$count" + set $I488, $P487 + find_lex $P489, "$/" + unless_null $P489, vivify_236 + $P489 = root_new ['parrot';'Hash'] + vivify_236: + set $P490, $P489["xblock"] + unless_null $P490, vivify_237 + $P490 = root_new ['parrot';'ResizablePMCArray'] + vivify_237: + set $P491, $P490[$I488] + unless_null $P491, vivify_238 + new $P491, "Undef" + vivify_238: + $P492 = $P491."ast"() + $P493 = "xblock_immediate"($P492) + store_lex "$past", $P493 +.annotate 'line', 161 + find_lex $P494, "$past" + find_lex $P495, "$else" + $P496 = $P494."push"($P495) +.annotate 'line', 157 + .return ($P496) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("35_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_484 -.annotate 'line', 156 - new $P483, 'ExceptionHandler' - set_addr $P483, control_482 - $P483."handle_types"(.CONTROL_RETURN) - push_eh $P483 +.sub "statement_control:sym" :subid("35_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_507 +.annotate 'line', 166 + new $P506, 'ExceptionHandler' + set_addr $P506, control_505 + $P506."handle_types"(.CONTROL_RETURN) + push_eh $P506 .lex "self", self - .lex "$/", param_484 -.annotate 'line', 157 - new $P485, "Undef" - .lex "$past", $P485 - find_lex $P486, "$/" - unless_null $P486, vivify_233 - $P486 = root_new ['parrot';'Hash'] - vivify_233: - set $P487, $P486["xblock"] - unless_null $P487, vivify_234 - new $P487, "Undef" - vivify_234: - $P488 = $P487."ast"() - $P489 = "xblock_immediate"($P488) - store_lex "$past", $P489 -.annotate 'line', 158 - find_lex $P490, "$past" - $P490."pasttype"("unless") -.annotate 'line', 159 - find_lex $P491, "$/" - find_lex $P492, "$past" - $P493 = $P491."!make"($P492) -.annotate 'line', 156 - .return ($P493) - control_482: + .lex "$/", param_507 +.annotate 'line', 167 + new $P508, "Undef" + .lex "$past", $P508 + find_lex $P509, "$/" + unless_null $P509, vivify_239 + $P509 = root_new ['parrot';'Hash'] + vivify_239: + set $P510, $P509["xblock"] + unless_null $P510, vivify_240 + new $P510, "Undef" + vivify_240: + $P511 = $P510."ast"() + $P512 = "xblock_immediate"($P511) + store_lex "$past", $P512 +.annotate 'line', 168 + find_lex $P513, "$past" + $P513."pasttype"("unless") +.annotate 'line', 169 + find_lex $P514, "$/" + find_lex $P515, "$past" + $P516 = $P514."!make"($P515) +.annotate 'line', 166 + .return ($P516) + control_505: .local pmc exception .get_results (exception) - getattribute $P494, exception, "payload" - .return ($P494) + getattribute $P517, exception, "payload" + .return ($P517) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("36_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_498 -.annotate 'line', 162 - new $P497, 'ExceptionHandler' - set_addr $P497, control_496 - $P497."handle_types"(.CONTROL_RETURN) - push_eh $P497 +.sub "statement_control:sym" :subid("36_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_521 +.annotate 'line', 172 + new $P520, 'ExceptionHandler' + set_addr $P520, control_519 + $P520."handle_types"(.CONTROL_RETURN) + push_eh $P520 .lex "self", self - .lex "$/", param_498 -.annotate 'line', 163 - new $P499, "Undef" - .lex "$past", $P499 - find_lex $P500, "$/" - unless_null $P500, vivify_235 - $P500 = root_new ['parrot';'Hash'] - vivify_235: - set $P501, $P500["xblock"] - unless_null $P501, vivify_236 - new $P501, "Undef" - vivify_236: - $P502 = $P501."ast"() - $P503 = "xblock_immediate"($P502) - store_lex "$past", $P503 -.annotate 'line', 164 - find_lex $P504, "$past" - find_lex $P505, "$/" - unless_null $P505, vivify_237 - $P505 = root_new ['parrot';'Hash'] - vivify_237: - set $P506, $P505["sym"] - unless_null $P506, vivify_238 - new $P506, "Undef" - vivify_238: - set $S507, $P506 - $P504."pasttype"($S507) -.annotate 'line', 165 - find_lex $P508, "$/" - find_lex $P509, "$past" - $P510 = $P508."!make"($P509) -.annotate 'line', 162 - .return ($P510) - control_496: + .lex "$/", param_521 +.annotate 'line', 173 + new $P522, "Undef" + .lex "$past", $P522 + find_lex $P523, "$/" + unless_null $P523, vivify_241 + $P523 = root_new ['parrot';'Hash'] + vivify_241: + set $P524, $P523["xblock"] + unless_null $P524, vivify_242 + new $P524, "Undef" + vivify_242: + $P525 = $P524."ast"() + $P526 = "xblock_immediate"($P525) + store_lex "$past", $P526 +.annotate 'line', 174 + find_lex $P527, "$past" + find_lex $P528, "$/" + unless_null $P528, vivify_243 + $P528 = root_new ['parrot';'Hash'] + vivify_243: + set $P529, $P528["sym"] + unless_null $P529, vivify_244 + new $P529, "Undef" + vivify_244: + set $S530, $P529 + $P527."pasttype"($S530) +.annotate 'line', 175 + find_lex $P531, "$/" + find_lex $P532, "$past" + $P533 = $P531."!make"($P532) +.annotate 'line', 172 + .return ($P533) + control_519: .local pmc exception .get_results (exception) - getattribute $P511, exception, "payload" - .return ($P511) + getattribute $P534, exception, "payload" + .return ($P534) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("37_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_515 -.annotate 'line', 168 - new $P514, 'ExceptionHandler' - set_addr $P514, control_513 - $P514."handle_types"(.CONTROL_RETURN) - push_eh $P514 +.sub "statement_control:sym" :subid("37_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_538 +.annotate 'line', 178 + new $P537, 'ExceptionHandler' + set_addr $P537, control_536 + $P537."handle_types"(.CONTROL_RETURN) + push_eh $P537 .lex "self", self - .lex "$/", param_515 -.annotate 'line', 169 - new $P516, "Undef" - .lex "$pasttype", $P516 -.annotate 'line', 170 - new $P517, "Undef" - .lex "$past", $P517 -.annotate 'line', 169 - new $P518, "String" - assign $P518, "repeat_" - find_lex $P519, "$/" - unless_null $P519, vivify_239 - $P519 = root_new ['parrot';'Hash'] - vivify_239: - set $P520, $P519["wu"] - unless_null $P520, vivify_240 - new $P520, "Undef" - vivify_240: - set $S521, $P520 - concat $P522, $P518, $S521 - store_lex "$pasttype", $P522 - find_lex $P523, "$past" -.annotate 'line', 171 - find_lex $P525, "$/" - unless_null $P525, vivify_241 - $P525 = root_new ['parrot';'Hash'] - vivify_241: - set $P526, $P525["xblock"] - unless_null $P526, vivify_242 - new $P526, "Undef" - vivify_242: - if $P526, if_524 -.annotate 'line', 176 - get_hll_global $P533, ["PAST"], "Op" - find_lex $P534, "$/" - unless_null $P534, vivify_243 - $P534 = root_new ['parrot';'Hash'] - vivify_243: - set $P535, $P534["EXPR"] - unless_null $P535, vivify_244 - new $P535, "Undef" - vivify_244: - $P536 = $P535."ast"() - find_lex $P537, "$/" - unless_null $P537, vivify_245 - $P537 = root_new ['parrot';'Hash'] + .lex "$/", param_538 +.annotate 'line', 179 + new $P539, "Undef" + .lex "$pasttype", $P539 +.annotate 'line', 180 + new $P540, "Undef" + .lex "$past", $P540 +.annotate 'line', 179 + new $P541, "String" + assign $P541, "repeat_" + find_lex $P542, "$/" + unless_null $P542, vivify_245 + $P542 = root_new ['parrot';'Hash'] vivify_245: - set $P538, $P537["pblock"] - unless_null $P538, vivify_246 - new $P538, "Undef" + set $P543, $P542["wu"] + unless_null $P543, vivify_246 + new $P543, "Undef" vivify_246: - $P539 = $P538."ast"() - $P540 = "block_immediate"($P539) - find_lex $P541, "$pasttype" - find_lex $P542, "$/" - $P543 = $P533."new"($P536, $P540, $P541 :named("pasttype"), $P542 :named("node")) - store_lex "$past", $P543 -.annotate 'line', 175 - goto if_524_end - if_524: -.annotate 'line', 172 - find_lex $P527, "$/" - unless_null $P527, vivify_247 - $P527 = root_new ['parrot';'Hash'] + set $S544, $P543 + concat $P545, $P541, $S544 + store_lex "$pasttype", $P545 + find_lex $P546, "$past" +.annotate 'line', 181 + find_lex $P548, "$/" + unless_null $P548, vivify_247 + $P548 = root_new ['parrot';'Hash'] vivify_247: - set $P528, $P527["xblock"] - unless_null $P528, vivify_248 - new $P528, "Undef" + set $P549, $P548["xblock"] + unless_null $P549, vivify_248 + new $P549, "Undef" vivify_248: - $P529 = $P528."ast"() - $P530 = "xblock_immediate"($P529) - store_lex "$past", $P530 -.annotate 'line', 173 - find_lex $P531, "$past" - find_lex $P532, "$pasttype" - $P531."pasttype"($P532) - if_524_end: -.annotate 'line', 179 - find_lex $P544, "$/" - find_lex $P545, "$past" - $P546 = $P544."!make"($P545) -.annotate 'line', 168 - .return ($P546) - control_513: - .local pmc exception - .get_results (exception) - getattribute $P547, exception, "payload" - .return ($P547) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "statement_control:sym" :subid("38_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_551 -.annotate 'line', 182 - new $P550, 'ExceptionHandler' - set_addr $P550, control_549 - $P550."handle_types"(.CONTROL_RETURN) - push_eh $P550 - .lex "self", self - .lex "$/", param_551 -.annotate 'line', 183 - new $P552, "Undef" - .lex "$past", $P552 -.annotate 'line', 185 - new $P553, "Undef" - .lex "$block", $P553 -.annotate 'line', 183 - find_lex $P554, "$/" - unless_null $P554, vivify_249 - $P554 = root_new ['parrot';'Hash'] + if $P549, if_547 +.annotate 'line', 186 + get_hll_global $P556, ["PAST"], "Op" + find_lex $P557, "$/" + unless_null $P557, vivify_249 + $P557 = root_new ['parrot';'Hash'] vivify_249: - set $P555, $P554["xblock"] - unless_null $P555, vivify_250 - new $P555, "Undef" + set $P558, $P557["EXPR"] + unless_null $P558, vivify_250 + new $P558, "Undef" vivify_250: - $P556 = $P555."ast"() - store_lex "$past", $P556 -.annotate 'line', 184 - find_lex $P557, "$past" - $P557."pasttype"("for") -.annotate 'line', 185 - find_lex $P558, "$past" - unless_null $P558, vivify_251 - $P558 = root_new ['parrot';'ResizablePMCArray'] + $P559 = $P558."ast"() + find_lex $P560, "$/" + unless_null $P560, vivify_251 + $P560 = root_new ['parrot';'Hash'] vivify_251: - set $P559, $P558[1] - unless_null $P559, vivify_252 - new $P559, "Undef" + set $P561, $P560["pblock"] + unless_null $P561, vivify_252 + new $P561, "Undef" vivify_252: - store_lex "$block", $P559 -.annotate 'line', 186 - find_lex $P561, "$block" - $P562 = $P561."arity"() - if $P562, unless_560_end -.annotate 'line', 187 - find_lex $P563, "$block" - unless_null $P563, vivify_253 - $P563 = root_new ['parrot';'ResizablePMCArray'] + $P562 = $P561."ast"() + $P563 = "block_immediate"($P562) + find_lex $P564, "$pasttype" + find_lex $P565, "$/" + $P566 = $P556."new"($P559, $P563, $P564 :named("pasttype"), $P565 :named("node")) + store_lex "$past", $P566 +.annotate 'line', 185 + goto if_547_end + if_547: +.annotate 'line', 182 + find_lex $P550, "$/" + unless_null $P550, vivify_253 + $P550 = root_new ['parrot';'Hash'] vivify_253: - set $P564, $P563[0] - unless_null $P564, vivify_254 - new $P564, "Undef" + set $P551, $P550["xblock"] + unless_null $P551, vivify_254 + new $P551, "Undef" vivify_254: - get_hll_global $P565, ["PAST"], "Var" - $P566 = $P565."new"("$_" :named("name"), "parameter" :named("scope")) - $P564."push"($P566) -.annotate 'line', 188 - find_lex $P567, "$block" - $P567."symbol"("$_", "lexical" :named("scope")) + $P552 = $P551."ast"() + $P553 = "xblock_immediate"($P552) + store_lex "$past", $P553 +.annotate 'line', 183 + find_lex $P554, "$past" + find_lex $P555, "$pasttype" + $P554."pasttype"($P555) + if_547_end: .annotate 'line', 189 - find_lex $P568, "$block" - $P568."arity"(1) - unless_560_end: -.annotate 'line', 191 - find_lex $P569, "$block" - $P569."blocktype"("immediate") -.annotate 'line', 192 - find_lex $P570, "$/" - find_lex $P571, "$past" - $P572 = $P570."!make"($P571) -.annotate 'line', 182 - .return ($P572) - control_549: + find_lex $P567, "$/" + find_lex $P568, "$past" + $P569 = $P567."!make"($P568) +.annotate 'line', 178 + .return ($P569) + control_536: .local pmc exception .get_results (exception) - getattribute $P573, exception, "payload" - .return ($P573) + getattribute $P570, exception, "payload" + .return ($P570) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("39_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_577 -.annotate 'line', 195 - new $P576, 'ExceptionHandler' - set_addr $P576, control_575 - $P576."handle_types"(.CONTROL_RETURN) - push_eh $P576 +.sub "statement_control:sym" :subid("38_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_574 +.annotate 'line', 192 + new $P573, 'ExceptionHandler' + set_addr $P573, control_572 + $P573."handle_types"(.CONTROL_RETURN) + push_eh $P573 .lex "self", self - .lex "$/", param_577 -.annotate 'line', 196 - find_lex $P578, "$/" - get_hll_global $P579, ["PAST"], "Op" - find_lex $P580, "$/" - unless_null $P580, vivify_255 - $P580 = root_new ['parrot';'Hash'] + .lex "$/", param_574 +.annotate 'line', 193 + new $P575, "Undef" + .lex "$past", $P575 +.annotate 'line', 195 + new $P576, "Undef" + .lex "$block", $P576 +.annotate 'line', 193 + find_lex $P577, "$/" + unless_null $P577, vivify_255 + $P577 = root_new ['parrot';'Hash'] vivify_255: - set $P581, $P580["EXPR"] - unless_null $P581, vivify_256 - new $P581, "Undef" + set $P578, $P577["xblock"] + unless_null $P578, vivify_256 + new $P578, "Undef" vivify_256: - $P582 = $P581."ast"() - find_lex $P583, "$/" - $P584 = $P579."new"($P582, "return" :named("pasttype"), $P583 :named("node")) - $P585 = $P578."!make"($P584) + $P579 = $P578."ast"() + store_lex "$past", $P579 +.annotate 'line', 194 + find_lex $P580, "$past" + $P580."pasttype"("for") .annotate 'line', 195 - .return ($P585) - control_575: + find_lex $P581, "$past" + unless_null $P581, vivify_257 + $P581 = root_new ['parrot';'ResizablePMCArray'] + vivify_257: + set $P582, $P581[1] + unless_null $P582, vivify_258 + new $P582, "Undef" + vivify_258: + store_lex "$block", $P582 +.annotate 'line', 196 + find_lex $P584, "$block" + $P585 = $P584."arity"() + if $P585, unless_583_end +.annotate 'line', 197 + find_lex $P586, "$block" + unless_null $P586, vivify_259 + $P586 = root_new ['parrot';'ResizablePMCArray'] + vivify_259: + set $P587, $P586[0] + unless_null $P587, vivify_260 + new $P587, "Undef" + vivify_260: + get_hll_global $P588, ["PAST"], "Var" + $P589 = $P588."new"("$_" :named("name"), "parameter" :named("scope")) + $P587."push"($P589) +.annotate 'line', 198 + find_lex $P590, "$block" + $P590."symbol"("$_", "lexical" :named("scope")) +.annotate 'line', 199 + find_lex $P591, "$block" + $P591."arity"(1) + unless_583_end: +.annotate 'line', 201 + find_lex $P592, "$block" + $P592."blocktype"("immediate") +.annotate 'line', 202 + find_lex $P593, "$/" + find_lex $P594, "$past" + $P595 = $P593."!make"($P594) +.annotate 'line', 192 + .return ($P595) + control_572: .local pmc exception .get_results (exception) - getattribute $P586, exception, "payload" - .return ($P586) + getattribute $P596, exception, "payload" + .return ($P596) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("40_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_590 -.annotate 'line', 199 - new $P589, 'ExceptionHandler' - set_addr $P589, control_588 - $P589."handle_types"(.CONTROL_RETURN) - push_eh $P589 +.sub "statement_control:sym" :subid("39_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_600 +.annotate 'line', 205 + new $P599, 'ExceptionHandler' + set_addr $P599, control_598 + $P599."handle_types"(.CONTROL_RETURN) + push_eh $P599 .lex "self", self - .lex "$/", param_590 -.annotate 'line', 200 - new $P591, "Undef" - .lex "$block", $P591 - find_lex $P592, "$/" - unless_null $P592, vivify_257 - $P592 = root_new ['parrot';'Hash'] - vivify_257: - set $P593, $P592["block"] - unless_null $P593, vivify_258 - new $P593, "Undef" - vivify_258: - $P594 = $P593."ast"() - store_lex "$block", $P594 -.annotate 'line', 201 - find_lex $P595, "$/" - find_lex $P596, "$block" - "push_block_handler"($P595, $P596) -.annotate 'line', 202 - get_global $P597, "@BLOCK" - unless_null $P597, vivify_259 - $P597 = root_new ['parrot';'ResizablePMCArray'] - vivify_259: - set $P598, $P597[0] - unless_null $P598, vivify_260 - new $P598, "Undef" - vivify_260: - $P599 = $P598."handlers"() - set $P600, $P599[0] - unless_null $P600, vivify_261 - new $P600, "Undef" - vivify_261: - $P600."handle_types_except"("CONTROL") -.annotate 'line', 203 + .lex "$/", param_600 +.annotate 'line', 206 find_lex $P601, "$/" - get_hll_global $P602, ["PAST"], "Stmts" + get_hll_global $P602, ["PAST"], "Op" find_lex $P603, "$/" - $P604 = $P602."new"($P603 :named("node")) - $P605 = $P601."!make"($P604) -.annotate 'line', 199 - .return ($P605) - control_588: + unless_null $P603, vivify_261 + $P603 = root_new ['parrot';'Hash'] + vivify_261: + set $P604, $P603["EXPR"] + unless_null $P604, vivify_262 + new $P604, "Undef" + vivify_262: + $P605 = $P604."ast"() + find_lex $P606, "$/" + $P607 = $P602."new"($P605, "return" :named("pasttype"), $P606 :named("node")) + $P608 = $P601."!make"($P607) +.annotate 'line', 205 + .return ($P608) + control_598: .local pmc exception .get_results (exception) - getattribute $P606, exception, "payload" - .return ($P606) + getattribute $P609, exception, "payload" + .return ($P609) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_control:sym" :subid("41_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_610 -.annotate 'line', 206 - new $P609, 'ExceptionHandler' - set_addr $P609, control_608 - $P609."handle_types"(.CONTROL_RETURN) - push_eh $P609 +.sub "statement_control:sym" :subid("40_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_613 +.annotate 'line', 209 + new $P612, 'ExceptionHandler' + set_addr $P612, control_611 + $P612."handle_types"(.CONTROL_RETURN) + push_eh $P612 .lex "self", self - .lex "$/", param_610 -.annotate 'line', 207 - new $P611, "Undef" - .lex "$block", $P611 - find_lex $P612, "$/" - unless_null $P612, vivify_262 - $P612 = root_new ['parrot';'Hash'] - vivify_262: - set $P613, $P612["block"] - unless_null $P613, vivify_263 - new $P613, "Undef" - vivify_263: - $P614 = $P613."ast"() - store_lex "$block", $P614 -.annotate 'line', 208 + .lex "$/", param_613 +.annotate 'line', 210 + new $P614, "Undef" + .lex "$block", $P614 find_lex $P615, "$/" - find_lex $P616, "$block" - "push_block_handler"($P615, $P616) -.annotate 'line', 209 - get_global $P617, "@BLOCK" - unless_null $P617, vivify_264 - $P617 = root_new ['parrot';'ResizablePMCArray'] + unless_null $P615, vivify_263 + $P615 = root_new ['parrot';'Hash'] + vivify_263: + set $P616, $P615["block"] + unless_null $P616, vivify_264 + new $P616, "Undef" vivify_264: - set $P618, $P617[0] - unless_null $P618, vivify_265 - new $P618, "Undef" + $P617 = $P616."ast"() + store_lex "$block", $P617 +.annotate 'line', 211 + find_lex $P618, "$/" + find_lex $P619, "$block" + "push_block_handler"($P618, $P619) +.annotate 'line', 212 + get_global $P620, "@BLOCK" + unless_null $P620, vivify_265 + $P620 = root_new ['parrot';'ResizablePMCArray'] vivify_265: - $P619 = $P618."handlers"() - set $P620, $P619[0] - unless_null $P620, vivify_266 - new $P620, "Undef" + set $P621, $P620[0] + unless_null $P621, vivify_266 + new $P621, "Undef" vivify_266: - $P620."handle_types"("CONTROL") -.annotate 'line', 210 - find_lex $P621, "$/" - get_hll_global $P622, ["PAST"], "Stmts" - find_lex $P623, "$/" - $P624 = $P622."new"($P623 :named("node")) - $P625 = $P621."!make"($P624) -.annotate 'line', 206 - .return ($P625) - control_608: + $P622 = $P621."handlers"() + set $P623, $P622[0] + unless_null $P623, vivify_267 + new $P623, "Undef" + vivify_267: + $P623."handle_types_except"("CONTROL") +.annotate 'line', 213 + find_lex $P624, "$/" + get_hll_global $P625, ["PAST"], "Stmts" + find_lex $P626, "$/" + $P627 = $P625."new"($P626 :named("node")) + $P628 = $P624."!make"($P627) +.annotate 'line', 209 + .return ($P628) + control_611: .local pmc exception .get_results (exception) - getattribute $P626, exception, "payload" - .return ($P626) + getattribute $P629, exception, "payload" + .return ($P629) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_prefix:sym" :subid("42_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_631 -.annotate 'line', 250 - new $P630, 'ExceptionHandler' - set_addr $P630, control_629 - $P630."handle_types"(.CONTROL_RETURN) - push_eh $P630 +.sub "statement_control:sym" :subid("41_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_633 +.annotate 'line', 216 + new $P632, 'ExceptionHandler' + set_addr $P632, control_631 + $P632."handle_types"(.CONTROL_RETURN) + push_eh $P632 .lex "self", self - .lex "$/", param_631 -.annotate 'line', 251 - get_global $P632, "@BLOCK" - unless_null $P632, vivify_267 - $P632 = root_new ['parrot';'ResizablePMCArray'] - vivify_267: - set $P633, $P632[0] - unless_null $P633, vivify_268 - new $P633, "Undef" - vivify_268: - $P634 = $P633."loadinit"() + .lex "$/", param_633 +.annotate 'line', 217 + new $P634, "Undef" + .lex "$block", $P634 find_lex $P635, "$/" - unless_null $P635, vivify_269 + unless_null $P635, vivify_268 $P635 = root_new ['parrot';'Hash'] - vivify_269: - set $P636, $P635["blorst"] - unless_null $P636, vivify_270 + vivify_268: + set $P636, $P635["block"] + unless_null $P636, vivify_269 new $P636, "Undef" - vivify_270: + vivify_269: $P637 = $P636."ast"() - $P634."push"($P637) -.annotate 'line', 252 + store_lex "$block", $P637 +.annotate 'line', 218 find_lex $P638, "$/" - get_hll_global $P639, ["PAST"], "Stmts" - find_lex $P640, "$/" - $P641 = $P639."new"($P640 :named("node")) - $P642 = $P638."!make"($P641) -.annotate 'line', 250 - .return ($P642) - control_629: - .local pmc exception - .get_results (exception) - getattribute $P643, exception, "payload" - .return ($P643) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "statement_prefix:sym" :subid("43_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_647 -.annotate 'line', 255 - new $P646, 'ExceptionHandler' - set_addr $P646, control_645 - $P646."handle_types"(.CONTROL_RETURN) - push_eh $P646 - .lex "self", self - .lex "$/", param_647 -.annotate 'line', 256 - new $P648, "Undef" - .lex "$past", $P648 - find_lex $P649, "$/" - unless_null $P649, vivify_271 - $P649 = root_new ['parrot';'Hash'] + find_lex $P639, "$block" + "push_block_handler"($P638, $P639) +.annotate 'line', 219 + get_global $P640, "@BLOCK" + unless_null $P640, vivify_270 + $P640 = root_new ['parrot';'ResizablePMCArray'] + vivify_270: + set $P641, $P640[0] + unless_null $P641, vivify_271 + new $P641, "Undef" vivify_271: - set $P650, $P649["blorst"] - unless_null $P650, vivify_272 - new $P650, "Undef" + $P642 = $P641."handlers"() + set $P643, $P642[0] + unless_null $P643, vivify_272 + new $P643, "Undef" vivify_272: - $P651 = $P650."ast"() - store_lex "$past", $P651 -.annotate 'line', 257 - find_lex $P653, "$past" - $S654 = $P653."WHAT"() - isne $I655, $S654, "PAST::Block()" - unless $I655, if_652_end -.annotate 'line', 258 - get_hll_global $P656, ["PAST"], "Block" - find_lex $P657, "$past" - find_lex $P658, "$/" - $P659 = $P656."new"($P657, "immediate" :named("blocktype"), $P658 :named("node")) - store_lex "$past", $P659 - if_652_end: -.annotate 'line', 260 - find_lex $P661, "$past" - $P662 = $P661."handlers"() - if $P662, unless_660_end -.annotate 'line', 261 - find_lex $P663, "$past" - get_hll_global $P664, ["PAST"], "Control" -.annotate 'line', 263 - get_hll_global $P665, ["PAST"], "Stmts" -.annotate 'line', 264 - get_hll_global $P666, ["PAST"], "Op" -.annotate 'line', 265 - get_hll_global $P667, ["PAST"], "Var" -.annotate 'line', 266 - get_hll_global $P668, ["PAST"], "Var" - $P669 = $P668."new"("register" :named("scope"), "exception" :named("name")) - $P670 = $P667."new"($P669, "handled", "keyed" :named("scope")) -.annotate 'line', 265 - $P671 = $P666."new"($P670, 1, "bind" :named("pasttype")) -.annotate 'line', 264 - $P672 = $P665."new"($P671) -.annotate 'line', 263 - $P673 = $P664."new"($P672, "CONTROL" :named("handle_types_except")) -.annotate 'line', 261 - new $P674, "ResizablePMCArray" - push $P674, $P673 - $P663."handlers"($P674) - unless_660_end: -.annotate 'line', 275 - find_lex $P675, "$/" - find_lex $P676, "$past" - $P677 = $P675."!make"($P676) -.annotate 'line', 255 - .return ($P677) - control_645: + $P643."handle_types"("CONTROL") +.annotate 'line', 220 + find_lex $P644, "$/" + get_hll_global $P645, ["PAST"], "Stmts" + find_lex $P646, "$/" + $P647 = $P645."new"($P646 :named("node")) + $P648 = $P644."!make"($P647) +.annotate 'line', 216 + .return ($P648) + control_631: .local pmc exception .get_results (exception) - getattribute $P678, exception, "payload" - .return ($P678) + getattribute $P649, exception, "payload" + .return ($P649) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "blorst" :subid("44_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_682 -.annotate 'line', 278 - new $P681, 'ExceptionHandler' - set_addr $P681, control_680 - $P681."handle_types"(.CONTROL_RETURN) - push_eh $P681 +.sub "statement_prefix:sym" :subid("42_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_654 +.annotate 'line', 260 + new $P653, 'ExceptionHandler' + set_addr $P653, control_652 + $P653."handle_types"(.CONTROL_RETURN) + push_eh $P653 .lex "self", self - .lex "$/", param_682 -.annotate 'line', 279 - find_lex $P683, "$/" -.annotate 'line', 280 - find_lex $P686, "$/" - unless_null $P686, vivify_273 - $P686 = root_new ['parrot';'Hash'] + .lex "$/", param_654 +.annotate 'line', 261 + get_global $P655, "@BLOCK" + unless_null $P655, vivify_273 + $P655 = root_new ['parrot';'ResizablePMCArray'] vivify_273: - set $P687, $P686["block"] - unless_null $P687, vivify_274 - new $P687, "Undef" + set $P656, $P655[0] + unless_null $P656, vivify_274 + new $P656, "Undef" vivify_274: - if $P687, if_685 -.annotate 'line', 281 - find_lex $P692, "$/" - unless_null $P692, vivify_275 - $P692 = root_new ['parrot';'Hash'] + $P657 = $P656."loadinit"() + find_lex $P658, "$/" + unless_null $P658, vivify_275 + $P658 = root_new ['parrot';'Hash'] vivify_275: - set $P693, $P692["statement"] - unless_null $P693, vivify_276 - new $P693, "Undef" + set $P659, $P658["blorst"] + unless_null $P659, vivify_276 + new $P659, "Undef" vivify_276: - $P694 = $P693."ast"() - set $P684, $P694 -.annotate 'line', 280 - goto if_685_end - if_685: - find_lex $P688, "$/" - unless_null $P688, vivify_277 - $P688 = root_new ['parrot';'Hash'] - vivify_277: - set $P689, $P688["block"] - unless_null $P689, vivify_278 - new $P689, "Undef" - vivify_278: - $P690 = $P689."ast"() - $P691 = "block_immediate"($P690) - set $P684, $P691 - if_685_end: - $P695 = $P683."!make"($P684) -.annotate 'line', 278 - .return ($P695) - control_680: + $P660 = $P659."ast"() + $P657."push"($P660) +.annotate 'line', 262 + find_lex $P661, "$/" + get_hll_global $P662, ["PAST"], "Stmts" + find_lex $P663, "$/" + $P664 = $P662."new"($P663 :named("node")) + $P665 = $P661."!make"($P664) +.annotate 'line', 260 + .return ($P665) + control_652: .local pmc exception .get_results (exception) - getattribute $P696, exception, "payload" - .return ($P696) + getattribute $P666, exception, "payload" + .return ($P666) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_mod_cond:sym" :subid("45_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_700 -.annotate 'line', 286 - new $P699, 'ExceptionHandler' - set_addr $P699, control_698 - $P699."handle_types"(.CONTROL_RETURN) - push_eh $P699 +.sub "statement_prefix:sym" :subid("43_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_670 +.annotate 'line', 265 + new $P669, 'ExceptionHandler' + set_addr $P669, control_668 + $P669."handle_types"(.CONTROL_RETURN) + push_eh $P669 .lex "self", self - .lex "$/", param_700 - find_lex $P701, "$/" - find_lex $P702, "$/" - unless_null $P702, vivify_279 - $P702 = root_new ['parrot';'Hash'] - vivify_279: - set $P703, $P702["cond"] - unless_null $P703, vivify_280 - new $P703, "Undef" - vivify_280: - $P704 = $P703."ast"() - $P705 = $P701."!make"($P704) - .return ($P705) - control_698: + .lex "$/", param_670 +.annotate 'line', 266 + new $P671, "Undef" + .lex "$past", $P671 + find_lex $P672, "$/" + unless_null $P672, vivify_277 + $P672 = root_new ['parrot';'Hash'] + vivify_277: + set $P673, $P672["blorst"] + unless_null $P673, vivify_278 + new $P673, "Undef" + vivify_278: + $P674 = $P673."ast"() + store_lex "$past", $P674 +.annotate 'line', 267 + find_lex $P676, "$past" + $S677 = $P676."WHAT"() + isne $I678, $S677, "PAST::Block()" + unless $I678, if_675_end +.annotate 'line', 268 + get_hll_global $P679, ["PAST"], "Block" + find_lex $P680, "$past" + find_lex $P681, "$/" + $P682 = $P679."new"($P680, "immediate" :named("blocktype"), $P681 :named("node")) + store_lex "$past", $P682 + if_675_end: +.annotate 'line', 270 + find_lex $P684, "$past" + $P685 = $P684."handlers"() + if $P685, unless_683_end +.annotate 'line', 271 + find_lex $P686, "$past" + get_hll_global $P687, ["PAST"], "Control" +.annotate 'line', 273 + get_hll_global $P688, ["PAST"], "Stmts" +.annotate 'line', 274 + get_hll_global $P689, ["PAST"], "Op" +.annotate 'line', 275 + get_hll_global $P690, ["PAST"], "Var" +.annotate 'line', 276 + get_hll_global $P691, ["PAST"], "Var" + $P692 = $P691."new"("register" :named("scope"), "exception" :named("name")) + $P693 = $P690."new"($P692, "handled", "keyed" :named("scope")) +.annotate 'line', 275 + $P694 = $P689."new"($P693, 1, "bind" :named("pasttype")) +.annotate 'line', 274 + $P695 = $P688."new"($P694) +.annotate 'line', 273 + $P696 = $P687."new"($P695, "CONTROL" :named("handle_types_except")) +.annotate 'line', 271 + new $P697, "ResizablePMCArray" + push $P697, $P696 + $P686."handlers"($P697) + unless_683_end: +.annotate 'line', 285 + find_lex $P698, "$/" + find_lex $P699, "$past" + $P700 = $P698."!make"($P699) +.annotate 'line', 265 + .return ($P700) + control_668: .local pmc exception .get_results (exception) - getattribute $P706, exception, "payload" - .return ($P706) + getattribute $P701, exception, "payload" + .return ($P701) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_mod_cond:sym" :subid("46_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_710 -.annotate 'line', 287 - new $P709, 'ExceptionHandler' - set_addr $P709, control_708 - $P709."handle_types"(.CONTROL_RETURN) - push_eh $P709 +.sub "blorst" :subid("44_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_705 +.annotate 'line', 288 + new $P704, 'ExceptionHandler' + set_addr $P704, control_703 + $P704."handle_types"(.CONTROL_RETURN) + push_eh $P704 .lex "self", self - .lex "$/", param_710 - find_lex $P711, "$/" - find_lex $P712, "$/" - unless_null $P712, vivify_281 - $P712 = root_new ['parrot';'Hash'] + .lex "$/", param_705 +.annotate 'line', 289 + find_lex $P706, "$/" +.annotate 'line', 290 + find_lex $P709, "$/" + unless_null $P709, vivify_279 + $P709 = root_new ['parrot';'Hash'] + vivify_279: + set $P710, $P709["block"] + unless_null $P710, vivify_280 + new $P710, "Undef" + vivify_280: + if $P710, if_708 +.annotate 'line', 291 + find_lex $P715, "$/" + unless_null $P715, vivify_281 + $P715 = root_new ['parrot';'Hash'] vivify_281: - set $P713, $P712["cond"] - unless_null $P713, vivify_282 - new $P713, "Undef" + set $P716, $P715["statement"] + unless_null $P716, vivify_282 + new $P716, "Undef" vivify_282: - $P714 = $P713."ast"() - $P715 = $P711."!make"($P714) - .return ($P715) - control_708: - .local pmc exception - .get_results (exception) - getattribute $P716, exception, "payload" - .return ($P716) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "statement_mod_loop:sym" :subid("47_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_720 -.annotate 'line', 289 - new $P719, 'ExceptionHandler' - set_addr $P719, control_718 - $P719."handle_types"(.CONTROL_RETURN) - push_eh $P719 - .lex "self", self - .lex "$/", param_720 - find_lex $P721, "$/" - find_lex $P722, "$/" - unless_null $P722, vivify_283 - $P722 = root_new ['parrot';'Hash'] + $P717 = $P716."ast"() + set $P707, $P717 +.annotate 'line', 290 + goto if_708_end + if_708: + find_lex $P711, "$/" + unless_null $P711, vivify_283 + $P711 = root_new ['parrot';'Hash'] vivify_283: - set $P723, $P722["cond"] - unless_null $P723, vivify_284 - new $P723, "Undef" + set $P712, $P711["block"] + unless_null $P712, vivify_284 + new $P712, "Undef" vivify_284: - $P724 = $P723."ast"() - $P725 = $P721."!make"($P724) - .return ($P725) - control_718: + $P713 = $P712."ast"() + $P714 = "block_immediate"($P713) + set $P707, $P714 + if_708_end: + $P718 = $P706."!make"($P707) +.annotate 'line', 288 + .return ($P718) + control_703: .local pmc exception .get_results (exception) - getattribute $P726, exception, "payload" - .return ($P726) + getattribute $P719, exception, "payload" + .return ($P719) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "statement_mod_loop:sym" :subid("48_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_730 -.annotate 'line', 290 - new $P729, 'ExceptionHandler' - set_addr $P729, control_728 - $P729."handle_types"(.CONTROL_RETURN) - push_eh $P729 +.sub "statement_mod_cond:sym" :subid("45_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_723 +.annotate 'line', 296 + new $P722, 'ExceptionHandler' + set_addr $P722, control_721 + $P722."handle_types"(.CONTROL_RETURN) + push_eh $P722 .lex "self", self - .lex "$/", param_730 - find_lex $P731, "$/" - find_lex $P732, "$/" - unless_null $P732, vivify_285 - $P732 = root_new ['parrot';'Hash'] + .lex "$/", param_723 + find_lex $P724, "$/" + find_lex $P725, "$/" + unless_null $P725, vivify_285 + $P725 = root_new ['parrot';'Hash'] vivify_285: - set $P733, $P732["cond"] - unless_null $P733, vivify_286 - new $P733, "Undef" + set $P726, $P725["cond"] + unless_null $P726, vivify_286 + new $P726, "Undef" vivify_286: - $P734 = $P733."ast"() - $P735 = $P731."!make"($P734) - .return ($P735) - control_728: + $P727 = $P726."ast"() + $P728 = $P724."!make"($P727) + .return ($P728) + control_721: .local pmc exception .get_results (exception) - getattribute $P736, exception, "payload" - .return ($P736) + getattribute $P729, exception, "payload" + .return ($P729) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("49_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_740 -.annotate 'line', 294 - new $P739, 'ExceptionHandler' - set_addr $P739, control_738 - $P739."handle_types"(.CONTROL_RETURN) - push_eh $P739 +.sub "statement_mod_cond:sym" :subid("46_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_733 +.annotate 'line', 297 + new $P732, 'ExceptionHandler' + set_addr $P732, control_731 + $P732."handle_types"(.CONTROL_RETURN) + push_eh $P732 .lex "self", self - .lex "$/", param_740 - find_lex $P741, "$/" - find_lex $P742, "$/" - unless_null $P742, vivify_287 - $P742 = root_new ['parrot';'Hash'] + .lex "$/", param_733 + find_lex $P734, "$/" + find_lex $P735, "$/" + unless_null $P735, vivify_287 + $P735 = root_new ['parrot';'Hash'] vivify_287: - set $P743, $P742["fatarrow"] - unless_null $P743, vivify_288 - new $P743, "Undef" + set $P736, $P735["cond"] + unless_null $P736, vivify_288 + new $P736, "Undef" vivify_288: - $P744 = $P743."ast"() - $P745 = $P741."!make"($P744) - .return ($P745) - control_738: + $P737 = $P736."ast"() + $P738 = $P734."!make"($P737) + .return ($P738) + control_731: .local pmc exception .get_results (exception) - getattribute $P746, exception, "payload" - .return ($P746) + getattribute $P739, exception, "payload" + .return ($P739) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("50_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_750 -.annotate 'line', 295 - new $P749, 'ExceptionHandler' - set_addr $P749, control_748 - $P749."handle_types"(.CONTROL_RETURN) - push_eh $P749 +.sub "statement_mod_loop:sym" :subid("47_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_743 +.annotate 'line', 299 + new $P742, 'ExceptionHandler' + set_addr $P742, control_741 + $P742."handle_types"(.CONTROL_RETURN) + push_eh $P742 .lex "self", self - .lex "$/", param_750 - find_lex $P751, "$/" - find_lex $P752, "$/" - unless_null $P752, vivify_289 - $P752 = root_new ['parrot';'Hash'] + .lex "$/", param_743 + find_lex $P744, "$/" + find_lex $P745, "$/" + unless_null $P745, vivify_289 + $P745 = root_new ['parrot';'Hash'] vivify_289: - set $P753, $P752["colonpair"] - unless_null $P753, vivify_290 - new $P753, "Undef" + set $P746, $P745["cond"] + unless_null $P746, vivify_290 + new $P746, "Undef" vivify_290: - $P754 = $P753."ast"() - $P755 = $P751."!make"($P754) - .return ($P755) - control_748: + $P747 = $P746."ast"() + $P748 = $P744."!make"($P747) + .return ($P748) + control_741: .local pmc exception .get_results (exception) - getattribute $P756, exception, "payload" - .return ($P756) + getattribute $P749, exception, "payload" + .return ($P749) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("51_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_760 -.annotate 'line', 296 - new $P759, 'ExceptionHandler' - set_addr $P759, control_758 - $P759."handle_types"(.CONTROL_RETURN) - push_eh $P759 +.sub "statement_mod_loop:sym" :subid("48_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_753 +.annotate 'line', 300 + new $P752, 'ExceptionHandler' + set_addr $P752, control_751 + $P752."handle_types"(.CONTROL_RETURN) + push_eh $P752 .lex "self", self - .lex "$/", param_760 - find_lex $P761, "$/" - find_lex $P762, "$/" - unless_null $P762, vivify_291 - $P762 = root_new ['parrot';'Hash'] + .lex "$/", param_753 + find_lex $P754, "$/" + find_lex $P755, "$/" + unless_null $P755, vivify_291 + $P755 = root_new ['parrot';'Hash'] vivify_291: - set $P763, $P762["variable"] - unless_null $P763, vivify_292 - new $P763, "Undef" + set $P756, $P755["cond"] + unless_null $P756, vivify_292 + new $P756, "Undef" vivify_292: - $P764 = $P763."ast"() - $P765 = $P761."!make"($P764) - .return ($P765) - control_758: + $P757 = $P756."ast"() + $P758 = $P754."!make"($P757) + .return ($P758) + control_751: .local pmc exception .get_results (exception) - getattribute $P766, exception, "payload" - .return ($P766) + getattribute $P759, exception, "payload" + .return ($P759) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("52_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_770 -.annotate 'line', 297 - new $P769, 'ExceptionHandler' - set_addr $P769, control_768 - $P769."handle_types"(.CONTROL_RETURN) - push_eh $P769 +.sub "term:sym" :subid("49_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_763 +.annotate 'line', 304 + new $P762, 'ExceptionHandler' + set_addr $P762, control_761 + $P762."handle_types"(.CONTROL_RETURN) + push_eh $P762 .lex "self", self - .lex "$/", param_770 - find_lex $P771, "$/" - find_lex $P772, "$/" - unless_null $P772, vivify_293 - $P772 = root_new ['parrot';'Hash'] + .lex "$/", param_763 + find_lex $P764, "$/" + find_lex $P765, "$/" + unless_null $P765, vivify_293 + $P765 = root_new ['parrot';'Hash'] vivify_293: - set $P773, $P772["package_declarator"] - unless_null $P773, vivify_294 - new $P773, "Undef" + set $P766, $P765["fatarrow"] + unless_null $P766, vivify_294 + new $P766, "Undef" vivify_294: - $P774 = $P773."ast"() - $P775 = $P771."!make"($P774) - .return ($P775) - control_768: + $P767 = $P766."ast"() + $P768 = $P764."!make"($P767) + .return ($P768) + control_761: .local pmc exception .get_results (exception) - getattribute $P776, exception, "payload" - .return ($P776) + getattribute $P769, exception, "payload" + .return ($P769) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("53_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_780 -.annotate 'line', 298 - new $P779, 'ExceptionHandler' - set_addr $P779, control_778 - $P779."handle_types"(.CONTROL_RETURN) - push_eh $P779 +.sub "term:sym" :subid("50_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_773 +.annotate 'line', 305 + new $P772, 'ExceptionHandler' + set_addr $P772, control_771 + $P772."handle_types"(.CONTROL_RETURN) + push_eh $P772 .lex "self", self - .lex "$/", param_780 - find_lex $P781, "$/" - find_lex $P782, "$/" - unless_null $P782, vivify_295 - $P782 = root_new ['parrot';'Hash'] + .lex "$/", param_773 + find_lex $P774, "$/" + find_lex $P775, "$/" + unless_null $P775, vivify_295 + $P775 = root_new ['parrot';'Hash'] vivify_295: - set $P783, $P782["scope_declarator"] - unless_null $P783, vivify_296 - new $P783, "Undef" + set $P776, $P775["colonpair"] + unless_null $P776, vivify_296 + new $P776, "Undef" vivify_296: - $P784 = $P783."ast"() - $P785 = $P781."!make"($P784) - .return ($P785) - control_778: + $P777 = $P776."ast"() + $P778 = $P774."!make"($P777) + .return ($P778) + control_771: .local pmc exception .get_results (exception) - getattribute $P786, exception, "payload" - .return ($P786) + getattribute $P779, exception, "payload" + .return ($P779) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("54_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_790 -.annotate 'line', 299 - new $P789, 'ExceptionHandler' - set_addr $P789, control_788 - $P789."handle_types"(.CONTROL_RETURN) - push_eh $P789 +.sub "term:sym" :subid("51_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_783 +.annotate 'line', 306 + new $P782, 'ExceptionHandler' + set_addr $P782, control_781 + $P782."handle_types"(.CONTROL_RETURN) + push_eh $P782 .lex "self", self - .lex "$/", param_790 - find_lex $P791, "$/" - find_lex $P792, "$/" - unless_null $P792, vivify_297 - $P792 = root_new ['parrot';'Hash'] + .lex "$/", param_783 + find_lex $P784, "$/" + find_lex $P785, "$/" + unless_null $P785, vivify_297 + $P785 = root_new ['parrot';'Hash'] vivify_297: - set $P793, $P792["routine_declarator"] - unless_null $P793, vivify_298 - new $P793, "Undef" + set $P786, $P785["variable"] + unless_null $P786, vivify_298 + new $P786, "Undef" vivify_298: - $P794 = $P793."ast"() - $P795 = $P791."!make"($P794) - .return ($P795) - control_788: + $P787 = $P786."ast"() + $P788 = $P784."!make"($P787) + .return ($P788) + control_781: .local pmc exception .get_results (exception) - getattribute $P796, exception, "payload" - .return ($P796) + getattribute $P789, exception, "payload" + .return ($P789) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("55_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_800 -.annotate 'line', 300 - new $P799, 'ExceptionHandler' - set_addr $P799, control_798 - $P799."handle_types"(.CONTROL_RETURN) - push_eh $P799 +.sub "term:sym" :subid("52_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_793 +.annotate 'line', 307 + new $P792, 'ExceptionHandler' + set_addr $P792, control_791 + $P792."handle_types"(.CONTROL_RETURN) + push_eh $P792 .lex "self", self - .lex "$/", param_800 - find_lex $P801, "$/" - find_lex $P802, "$/" - unless_null $P802, vivify_299 - $P802 = root_new ['parrot';'Hash'] + .lex "$/", param_793 + find_lex $P794, "$/" + find_lex $P795, "$/" + unless_null $P795, vivify_299 + $P795 = root_new ['parrot';'Hash'] vivify_299: - set $P803, $P802["regex_declarator"] - unless_null $P803, vivify_300 - new $P803, "Undef" + set $P796, $P795["package_declarator"] + unless_null $P796, vivify_300 + new $P796, "Undef" vivify_300: - $P804 = $P803."ast"() - $P805 = $P801."!make"($P804) - .return ($P805) - control_798: + $P797 = $P796."ast"() + $P798 = $P794."!make"($P797) + .return ($P798) + control_791: .local pmc exception .get_results (exception) - getattribute $P806, exception, "payload" - .return ($P806) + getattribute $P799, exception, "payload" + .return ($P799) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("56_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_810 -.annotate 'line', 301 - new $P809, 'ExceptionHandler' - set_addr $P809, control_808 - $P809."handle_types"(.CONTROL_RETURN) - push_eh $P809 +.sub "term:sym" :subid("53_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_803 +.annotate 'line', 308 + new $P802, 'ExceptionHandler' + set_addr $P802, control_801 + $P802."handle_types"(.CONTROL_RETURN) + push_eh $P802 .lex "self", self - .lex "$/", param_810 - find_lex $P811, "$/" - find_lex $P812, "$/" - unless_null $P812, vivify_301 - $P812 = root_new ['parrot';'Hash'] + .lex "$/", param_803 + find_lex $P804, "$/" + find_lex $P805, "$/" + unless_null $P805, vivify_301 + $P805 = root_new ['parrot';'Hash'] vivify_301: - set $P813, $P812["statement_prefix"] - unless_null $P813, vivify_302 - new $P813, "Undef" + set $P806, $P805["scope_declarator"] + unless_null $P806, vivify_302 + new $P806, "Undef" vivify_302: - $P814 = $P813."ast"() - $P815 = $P811."!make"($P814) - .return ($P815) - control_808: + $P807 = $P806."ast"() + $P808 = $P804."!make"($P807) + .return ($P808) + control_801: .local pmc exception .get_results (exception) - getattribute $P816, exception, "payload" - .return ($P816) + getattribute $P809, exception, "payload" + .return ($P809) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("57_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_820 -.annotate 'line', 302 - new $P819, 'ExceptionHandler' - set_addr $P819, control_818 - $P819."handle_types"(.CONTROL_RETURN) - push_eh $P819 +.sub "term:sym" :subid("54_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_813 +.annotate 'line', 309 + new $P812, 'ExceptionHandler' + set_addr $P812, control_811 + $P812."handle_types"(.CONTROL_RETURN) + push_eh $P812 .lex "self", self - .lex "$/", param_820 - find_lex $P821, "$/" - find_lex $P822, "$/" - unless_null $P822, vivify_303 - $P822 = root_new ['parrot';'Hash'] + .lex "$/", param_813 + find_lex $P814, "$/" + find_lex $P815, "$/" + unless_null $P815, vivify_303 + $P815 = root_new ['parrot';'Hash'] vivify_303: - set $P823, $P822["pblock"] - unless_null $P823, vivify_304 - new $P823, "Undef" + set $P816, $P815["routine_declarator"] + unless_null $P816, vivify_304 + new $P816, "Undef" vivify_304: - $P824 = $P823."ast"() - $P825 = $P821."!make"($P824) - .return ($P825) - control_818: + $P817 = $P816."ast"() + $P818 = $P814."!make"($P817) + .return ($P818) + control_811: .local pmc exception .get_results (exception) - getattribute $P826, exception, "payload" - .return ($P826) + getattribute $P819, exception, "payload" + .return ($P819) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "fatarrow" :subid("58_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_830 -.annotate 'line', 304 - new $P829, 'ExceptionHandler' - set_addr $P829, control_828 - $P829."handle_types"(.CONTROL_RETURN) - push_eh $P829 +.sub "term:sym" :subid("55_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_823 +.annotate 'line', 310 + new $P822, 'ExceptionHandler' + set_addr $P822, control_821 + $P822."handle_types"(.CONTROL_RETURN) + push_eh $P822 .lex "self", self - .lex "$/", param_830 -.annotate 'line', 305 - new $P831, "Undef" - .lex "$past", $P831 - find_lex $P832, "$/" - unless_null $P832, vivify_305 - $P832 = root_new ['parrot';'Hash'] + .lex "$/", param_823 + find_lex $P824, "$/" + find_lex $P825, "$/" + unless_null $P825, vivify_305 + $P825 = root_new ['parrot';'Hash'] vivify_305: - set $P833, $P832["val"] - unless_null $P833, vivify_306 - new $P833, "Undef" + set $P826, $P825["regex_declarator"] + unless_null $P826, vivify_306 + new $P826, "Undef" vivify_306: - $P834 = $P833."ast"() - store_lex "$past", $P834 -.annotate 'line', 306 - find_lex $P835, "$past" - find_lex $P836, "$/" - unless_null $P836, vivify_307 - $P836 = root_new ['parrot';'Hash'] + $P827 = $P826."ast"() + $P828 = $P824."!make"($P827) + .return ($P828) + control_821: + .local pmc exception + .get_results (exception) + getattribute $P829, exception, "payload" + .return ($P829) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "term:sym" :subid("56_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_833 +.annotate 'line', 311 + new $P832, 'ExceptionHandler' + set_addr $P832, control_831 + $P832."handle_types"(.CONTROL_RETURN) + push_eh $P832 + .lex "self", self + .lex "$/", param_833 + find_lex $P834, "$/" + find_lex $P835, "$/" + unless_null $P835, vivify_307 + $P835 = root_new ['parrot';'Hash'] vivify_307: - set $P837, $P836["key"] - unless_null $P837, vivify_308 - new $P837, "Undef" + set $P836, $P835["statement_prefix"] + unless_null $P836, vivify_308 + new $P836, "Undef" vivify_308: - $P838 = $P837."Str"() - $P835."named"($P838) -.annotate 'line', 307 - find_lex $P839, "$/" - find_lex $P840, "$past" - $P841 = $P839."!make"($P840) -.annotate 'line', 304 - .return ($P841) - control_828: + $P837 = $P836."ast"() + $P838 = $P834."!make"($P837) + .return ($P838) + control_831: .local pmc exception .get_results (exception) - getattribute $P842, exception, "payload" - .return ($P842) + getattribute $P839, exception, "payload" + .return ($P839) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "colonpair" :subid("59_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_846 -.annotate 'line', 310 - new $P845, 'ExceptionHandler' - set_addr $P845, control_844 - $P845."handle_types"(.CONTROL_RETURN) - push_eh $P845 - .lex "self", self - .lex "$/", param_846 -.annotate 'line', 311 - new $P847, "Undef" - .lex "$past", $P847 +.sub "term:sym" :subid("57_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_843 .annotate 'line', 312 - find_lex $P850, "$/" - unless_null $P850, vivify_309 - $P850 = root_new ['parrot';'Hash'] + new $P842, 'ExceptionHandler' + set_addr $P842, control_841 + $P842."handle_types"(.CONTROL_RETURN) + push_eh $P842 + .lex "self", self + .lex "$/", param_843 + find_lex $P844, "$/" + find_lex $P845, "$/" + unless_null $P845, vivify_309 + $P845 = root_new ['parrot';'Hash'] vivify_309: - set $P851, $P850["circumfix"] - unless_null $P851, vivify_310 - new $P851, "Undef" + set $P846, $P845["pblock"] + unless_null $P846, vivify_310 + new $P846, "Undef" vivify_310: - if $P851, if_849 -.annotate 'line', 313 - get_hll_global $P856, ["PAST"], "Val" - find_lex $P857, "$/" - unless_null $P857, vivify_311 - $P857 = root_new ['parrot';'Hash'] + $P847 = $P846."ast"() + $P848 = $P844."!make"($P847) + .return ($P848) + control_841: + .local pmc exception + .get_results (exception) + getattribute $P849, exception, "payload" + .return ($P849) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "fatarrow" :subid("58_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_853 +.annotate 'line', 314 + new $P852, 'ExceptionHandler' + set_addr $P852, control_851 + $P852."handle_types"(.CONTROL_RETURN) + push_eh $P852 + .lex "self", self + .lex "$/", param_853 +.annotate 'line', 315 + new $P854, "Undef" + .lex "$past", $P854 + find_lex $P855, "$/" + unless_null $P855, vivify_311 + $P855 = root_new ['parrot';'Hash'] vivify_311: - set $P858, $P857["not"] - unless_null $P858, vivify_312 - new $P858, "Undef" + set $P856, $P855["val"] + unless_null $P856, vivify_312 + new $P856, "Undef" vivify_312: - isfalse $I859, $P858 - $P860 = $P856."new"($I859 :named("value")) - set $P848, $P860 -.annotate 'line', 312 - goto if_849_end - if_849: - find_lex $P852, "$/" - unless_null $P852, vivify_313 - $P852 = root_new ['parrot';'Hash'] + $P857 = $P856."ast"() + store_lex "$past", $P857 +.annotate 'line', 316 + find_lex $P858, "$past" + find_lex $P859, "$/" + unless_null $P859, vivify_313 + $P859 = root_new ['parrot';'Hash'] vivify_313: - set $P853, $P852["circumfix"] - unless_null $P853, vivify_314 - $P853 = root_new ['parrot';'ResizablePMCArray'] + set $P860, $P859["key"] + unless_null $P860, vivify_314 + new $P860, "Undef" vivify_314: - set $P854, $P853[0] - unless_null $P854, vivify_315 - new $P854, "Undef" - vivify_315: - $P855 = $P854."ast"() - set $P848, $P855 - if_849_end: - store_lex "$past", $P848 -.annotate 'line', 314 - find_lex $P861, "$past" + $P861 = $P860."Str"() + $P858."named"($P861) +.annotate 'line', 317 find_lex $P862, "$/" - unless_null $P862, vivify_316 - $P862 = root_new ['parrot';'Hash'] - vivify_316: - set $P863, $P862["identifier"] - unless_null $P863, vivify_317 - new $P863, "Undef" - vivify_317: - set $S864, $P863 - $P861."named"($S864) -.annotate 'line', 315 - find_lex $P865, "$/" - find_lex $P866, "$past" - $P867 = $P865."!make"($P866) -.annotate 'line', 310 - .return ($P867) - control_844: + find_lex $P863, "$past" + $P864 = $P862."!make"($P863) +.annotate 'line', 314 + .return ($P864) + control_851: .local pmc exception .get_results (exception) - getattribute $P868, exception, "payload" - .return ($P868) + getattribute $P865, exception, "payload" + .return ($P865) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "variable" :subid("60_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_872 -.annotate 'line', 318 - .const 'Sub' $P885 = "61_1276996335.94529" - capture_lex $P885 - new $P871, 'ExceptionHandler' - set_addr $P871, control_870 - $P871."handle_types"(.CONTROL_RETURN) - push_eh $P871 - .lex "self", self - .lex "$/", param_872 -.annotate 'line', 319 - new $P873, "Undef" - .lex "$past", $P873 -.annotate 'line', 318 - find_lex $P874, "$past" +.sub "colonpair" :subid("59_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_869 .annotate 'line', 320 - find_lex $P876, "$/" - unless_null $P876, vivify_318 - $P876 = root_new ['parrot';'Hash'] - vivify_318: - set $P877, $P876["postcircumfix"] - unless_null $P877, vivify_319 - new $P877, "Undef" - vivify_319: - if $P877, if_875 -.annotate 'line', 324 - .const 'Sub' $P885 = "61_1276996335.94529" - capture_lex $P885 - $P885() - goto if_875_end - if_875: + new $P868, 'ExceptionHandler' + set_addr $P868, control_867 + $P868."handle_types"(.CONTROL_RETURN) + push_eh $P868 + .lex "self", self + .lex "$/", param_869 .annotate 'line', 321 - find_lex $P878, "$/" - unless_null $P878, vivify_336 - $P878 = root_new ['parrot';'Hash'] - vivify_336: - set $P879, $P878["postcircumfix"] - unless_null $P879, vivify_337 - new $P879, "Undef" - vivify_337: - $P880 = $P879."ast"() - store_lex "$past", $P880 + new $P870, "Undef" + .lex "$past", $P870 .annotate 'line', 322 - find_lex $P881, "$past" - get_hll_global $P882, ["PAST"], "Var" - $P883 = $P882."new"("$/" :named("name")) - $P881."unshift"($P883) - if_875_end: -.annotate 'line', 353 - find_lex $P954, "$/" - find_lex $P955, "$past" - $P956 = $P954."!make"($P955) -.annotate 'line', 318 - .return ($P956) - control_870: + find_lex $P873, "$/" + unless_null $P873, vivify_315 + $P873 = root_new ['parrot';'Hash'] + vivify_315: + set $P874, $P873["circumfix"] + unless_null $P874, vivify_316 + new $P874, "Undef" + vivify_316: + if $P874, if_872 +.annotate 'line', 323 + get_hll_global $P879, ["PAST"], "Val" + find_lex $P880, "$/" + unless_null $P880, vivify_317 + $P880 = root_new ['parrot';'Hash'] + vivify_317: + set $P881, $P880["not"] + unless_null $P881, vivify_318 + new $P881, "Undef" + vivify_318: + isfalse $I882, $P881 + $P883 = $P879."new"($I882 :named("value")) + set $P871, $P883 +.annotate 'line', 322 + goto if_872_end + if_872: + find_lex $P875, "$/" + unless_null $P875, vivify_319 + $P875 = root_new ['parrot';'Hash'] + vivify_319: + set $P876, $P875["circumfix"] + unless_null $P876, vivify_320 + $P876 = root_new ['parrot';'ResizablePMCArray'] + vivify_320: + set $P877, $P876[0] + unless_null $P877, vivify_321 + new $P877, "Undef" + vivify_321: + $P878 = $P877."ast"() + set $P871, $P878 + if_872_end: + store_lex "$past", $P871 +.annotate 'line', 324 + find_lex $P884, "$past" + find_lex $P885, "$/" + unless_null $P885, vivify_322 + $P885 = root_new ['parrot';'Hash'] + vivify_322: + set $P886, $P885["identifier"] + unless_null $P886, vivify_323 + new $P886, "Undef" + vivify_323: + set $S887, $P886 + $P884."named"($S887) +.annotate 'line', 325 + find_lex $P888, "$/" + find_lex $P889, "$past" + $P890 = $P888."!make"($P889) +.annotate 'line', 320 + .return ($P890) + control_867: .local pmc exception .get_results (exception) - getattribute $P957, exception, "payload" - .return ($P957) + getattribute $P891, exception, "payload" + .return ($P891) .end .namespace ["NQP";"Actions"] -.sub "_block884" :anon :subid("61_1276996335.94529") :outer("60_1276996335.94529") -.annotate 'line', 325 - $P886 = root_new ['parrot';'ResizablePMCArray'] - .lex "@name", $P886 - get_hll_global $P887, ["NQP"], "Compiler" - find_lex $P888, "$/" - set $S889, $P888 - $P890 = $P887."parse_name"($S889) - store_lex "@name", $P890 -.annotate 'line', 326 - get_hll_global $P891, ["PAST"], "Var" - find_lex $P892, "@name" - $P893 = $P892."pop"() - set $S894, $P893 - $P895 = $P891."new"($S894 :named("name")) - store_lex "$past", $P895 -.annotate 'line', 327 - find_lex $P897, "@name" - unless $P897, if_896_end +.include "except_types.pasm" +.sub "variable" :subid("60_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_895 .annotate 'line', 328 - find_lex $P899, "@name" - unless_null $P899, vivify_320 - $P899 = root_new ['parrot';'ResizablePMCArray'] - vivify_320: - set $P900, $P899[0] - unless_null $P900, vivify_321 - new $P900, "Undef" - vivify_321: - set $S901, $P900 - iseq $I902, $S901, "GLOBAL" - unless $I902, if_898_end - find_lex $P903, "@name" - $P903."shift"() - if_898_end: + .const 'Sub' $P908 = "61_1278500542.82783" + capture_lex $P908 + new $P894, 'ExceptionHandler' + set_addr $P894, control_893 + $P894."handle_types"(.CONTROL_RETURN) + push_eh $P894 + .lex "self", self + .lex "$/", param_895 .annotate 'line', 329 - find_lex $P904, "$past" - find_lex $P905, "@name" - $P904."namespace"($P905) + new $P896, "Undef" + .lex "$past", $P896 +.annotate 'line', 328 + find_lex $P897, "$past" .annotate 'line', 330 - find_lex $P906, "$past" - $P906."scope"("package") -.annotate 'line', 331 - find_lex $P907, "$past" - find_lex $P908, "$/" - unless_null $P908, vivify_322 - $P908 = root_new ['parrot';'Hash'] - vivify_322: - set $P909, $P908["sigil"] - unless_null $P909, vivify_323 - new $P909, "Undef" - vivify_323: - $P910 = "vivitype"($P909) - $P907."viviself"($P910) -.annotate 'line', 332 - find_lex $P911, "$past" - $P911."lvalue"(1) - if_896_end: -.annotate 'line', 334 - find_lex $P914, "$/" - unless_null $P914, vivify_324 - $P914 = root_new ['parrot';'Hash'] + find_lex $P899, "$/" + unless_null $P899, vivify_324 + $P899 = root_new ['parrot';'Hash'] vivify_324: - set $P915, $P914["twigil"] - unless_null $P915, vivify_325 - $P915 = root_new ['parrot';'ResizablePMCArray'] + set $P900, $P899["postcircumfix"] + unless_null $P900, vivify_325 + new $P900, "Undef" vivify_325: - set $P916, $P915[0] - unless_null $P916, vivify_326 - new $P916, "Undef" - vivify_326: + if $P900, if_898 +.annotate 'line', 334 + .const 'Sub' $P908 = "61_1278500542.82783" + capture_lex $P908 + $P908() + goto if_898_end + if_898: +.annotate 'line', 331 + find_lex $P901, "$/" + unless_null $P901, vivify_342 + $P901 = root_new ['parrot';'Hash'] + vivify_342: + set $P902, $P901["postcircumfix"] + unless_null $P902, vivify_343 + new $P902, "Undef" + vivify_343: + $P903 = $P902."ast"() + store_lex "$past", $P903 +.annotate 'line', 332 + find_lex $P904, "$past" + get_hll_global $P905, ["PAST"], "Var" + $P906 = $P905."new"("$/" :named("name")) + $P904."unshift"($P906) + if_898_end: +.annotate 'line', 363 + find_lex $P977, "$/" + find_lex $P978, "$past" + $P979 = $P977."!make"($P978) +.annotate 'line', 328 + .return ($P979) + control_893: + .local pmc exception + .get_results (exception) + getattribute $P980, exception, "payload" + .return ($P980) +.end + + +.namespace ["NQP";"Actions"] +.sub "_block907" :anon :subid("61_1278500542.82783") :outer("60_1278500542.82783") +.annotate 'line', 335 + $P909 = root_new ['parrot';'ResizablePMCArray'] + .lex "@name", $P909 + get_hll_global $P910, ["NQP"], "Compiler" + find_lex $P911, "$/" + set $S912, $P911 + $P913 = $P910."parse_name"($S912) + store_lex "@name", $P913 +.annotate 'line', 336 + get_hll_global $P914, ["PAST"], "Var" + find_lex $P915, "@name" + $P916 = $P915."pop"() set $S917, $P916 - iseq $I918, $S917, "*" - if $I918, if_913 -.annotate 'line', 347 - find_lex $P940, "$/" - unless_null $P940, vivify_327 - $P940 = root_new ['parrot';'Hash'] + $P918 = $P914."new"($S917 :named("name")) + store_lex "$past", $P918 +.annotate 'line', 337 + find_lex $P920, "@name" + unless $P920, if_919_end +.annotate 'line', 338 + find_lex $P922, "@name" + unless_null $P922, vivify_326 + $P922 = root_new ['parrot';'ResizablePMCArray'] + vivify_326: + set $P923, $P922[0] + unless_null $P923, vivify_327 + new $P923, "Undef" vivify_327: - set $P941, $P940["twigil"] - unless_null $P941, vivify_328 - $P941 = root_new ['parrot';'ResizablePMCArray'] + set $S924, $P923 + iseq $I925, $S924, "GLOBAL" + unless $I925, if_921_end + find_lex $P926, "@name" + $P926."shift"() + if_921_end: +.annotate 'line', 339 + find_lex $P927, "$past" + find_lex $P928, "@name" + $P927."namespace"($P928) +.annotate 'line', 340 + find_lex $P929, "$past" + $P929."scope"("package") +.annotate 'line', 341 + find_lex $P930, "$past" + find_lex $P931, "$/" + unless_null $P931, vivify_328 + $P931 = root_new ['parrot';'Hash'] vivify_328: - set $P942, $P941[0] - unless_null $P942, vivify_329 - new $P942, "Undef" + set $P932, $P931["sigil"] + unless_null $P932, vivify_329 + new $P932, "Undef" vivify_329: - set $S943, $P942 - iseq $I944, $S943, "!" - if $I944, if_939 - new $P938, 'Integer' - set $P938, $I944 - goto if_939_end - if_939: -.annotate 'line', 348 - find_lex $P945, "$past" - get_hll_global $P946, ["PAST"], "Var" - $P947 = $P946."new"("self" :named("name")) - $P945."push"($P947) -.annotate 'line', 349 - find_lex $P948, "$past" - $P948."scope"("attribute") -.annotate 'line', 350 - find_lex $P949, "$past" - find_lex $P950, "$/" - unless_null $P950, vivify_330 - $P950 = root_new ['parrot';'Hash'] + $P933 = "vivitype"($P932) + $P930."viviself"($P933) +.annotate 'line', 342 + find_lex $P934, "$past" + $P934."lvalue"(1) + if_919_end: +.annotate 'line', 344 + find_lex $P937, "$/" + unless_null $P937, vivify_330 + $P937 = root_new ['parrot';'Hash'] vivify_330: - set $P951, $P950["sigil"] - unless_null $P951, vivify_331 - new $P951, "Undef" + set $P938, $P937["twigil"] + unless_null $P938, vivify_331 + $P938 = root_new ['parrot';'ResizablePMCArray'] vivify_331: - $P952 = "vivitype"($P951) - $P953 = $P949."viviself"($P952) -.annotate 'line', 347 - set $P938, $P953 - if_939_end: - set $P912, $P938 -.annotate 'line', 334 - goto if_913_end - if_913: -.annotate 'line', 335 - find_lex $P919, "$past" - $P919."scope"("contextual") -.annotate 'line', 336 - find_lex $P920, "$past" -.annotate 'line', 337 - get_hll_global $P921, ["PAST"], "Var" -.annotate 'line', 339 - find_lex $P922, "$/" - unless_null $P922, vivify_332 - $P922 = root_new ['parrot';'Hash'] + set $P939, $P938[0] + unless_null $P939, vivify_332 + new $P939, "Undef" vivify_332: - set $P923, $P922["sigil"] - unless_null $P923, vivify_333 - new $P923, "Undef" + set $S940, $P939 + iseq $I941, $S940, "*" + if $I941, if_936 +.annotate 'line', 357 + find_lex $P963, "$/" + unless_null $P963, vivify_333 + $P963 = root_new ['parrot';'Hash'] vivify_333: - set $S924, $P923 - new $P925, 'String' - set $P925, $S924 - find_lex $P926, "$/" - unless_null $P926, vivify_334 - $P926 = root_new ['parrot';'Hash'] + set $P964, $P963["twigil"] + unless_null $P964, vivify_334 + $P964 = root_new ['parrot';'ResizablePMCArray'] vivify_334: - set $P927, $P926["desigilname"] - unless_null $P927, vivify_335 - new $P927, "Undef" + set $P965, $P964[0] + unless_null $P965, vivify_335 + new $P965, "Undef" vivify_335: - concat $P928, $P925, $P927 -.annotate 'line', 341 - get_hll_global $P929, ["PAST"], "Op" - new $P930, "String" - assign $P930, "Contextual " - find_lex $P931, "$/" - set $S932, $P931 - concat $P933, $P930, $S932 - concat $P934, $P933, " not found" - $P935 = $P929."new"($P934, "die" :named("pirop")) - $P936 = $P921."new"("package" :named("scope"), "" :named("namespace"), $P928 :named("name"), $P935 :named("viviself")) -.annotate 'line', 337 - $P937 = $P920."viviself"($P936) + set $S966, $P965 + iseq $I967, $S966, "!" + if $I967, if_962 + new $P961, 'Integer' + set $P961, $I967 + goto if_962_end + if_962: +.annotate 'line', 358 + find_lex $P968, "$past" + get_hll_global $P969, ["PAST"], "Var" + $P970 = $P969."new"("self" :named("name")) + $P968."push"($P970) +.annotate 'line', 359 + find_lex $P971, "$past" + $P971."scope"("attribute") +.annotate 'line', 360 + find_lex $P972, "$past" + find_lex $P973, "$/" + unless_null $P973, vivify_336 + $P973 = root_new ['parrot';'Hash'] + vivify_336: + set $P974, $P973["sigil"] + unless_null $P974, vivify_337 + new $P974, "Undef" + vivify_337: + $P975 = "vivitype"($P974) + $P976 = $P972."viviself"($P975) +.annotate 'line', 357 + set $P961, $P976 + if_962_end: + set $P935, $P961 +.annotate 'line', 344 + goto if_936_end + if_936: +.annotate 'line', 345 + find_lex $P942, "$past" + $P942."scope"("contextual") +.annotate 'line', 346 + find_lex $P943, "$past" +.annotate 'line', 347 + get_hll_global $P944, ["PAST"], "Var" +.annotate 'line', 349 + find_lex $P945, "$/" + unless_null $P945, vivify_338 + $P945 = root_new ['parrot';'Hash'] + vivify_338: + set $P946, $P945["sigil"] + unless_null $P946, vivify_339 + new $P946, "Undef" + vivify_339: + set $S947, $P946 + new $P948, 'String' + set $P948, $S947 + find_lex $P949, "$/" + unless_null $P949, vivify_340 + $P949 = root_new ['parrot';'Hash'] + vivify_340: + set $P950, $P949["desigilname"] + unless_null $P950, vivify_341 + new $P950, "Undef" + vivify_341: + concat $P951, $P948, $P950 +.annotate 'line', 351 + get_hll_global $P952, ["PAST"], "Op" + new $P953, "String" + assign $P953, "Contextual " + find_lex $P954, "$/" + set $S955, $P954 + concat $P956, $P953, $S955 + concat $P957, $P956, " not found" + $P958 = $P952."new"($P957, "die" :named("pirop")) + $P959 = $P944."new"("package" :named("scope"), "" :named("namespace"), $P951 :named("name"), $P958 :named("viviself")) +.annotate 'line', 347 + $P960 = $P943."viviself"($P959) +.annotate 'line', 344 + set $P935, $P960 + if_936_end: .annotate 'line', 334 - set $P912, $P937 - if_913_end: -.annotate 'line', 324 - .return ($P912) + .return ($P935) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "package_declarator:sym" :subid("62_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_961 -.annotate 'line', 356 - new $P960, 'ExceptionHandler' - set_addr $P960, control_959 - $P960."handle_types"(.CONTROL_RETURN) - push_eh $P960 +.sub "package_declarator:sym" :subid("62_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_984 +.annotate 'line', 366 + new $P983, 'ExceptionHandler' + set_addr $P983, control_982 + $P983."handle_types"(.CONTROL_RETURN) + push_eh $P983 .lex "self", self - .lex "$/", param_961 - find_lex $P962, "$/" - find_lex $P963, "$/" - unless_null $P963, vivify_338 - $P963 = root_new ['parrot';'Hash'] - vivify_338: - set $P964, $P963["package_def"] - unless_null $P964, vivify_339 - new $P964, "Undef" - vivify_339: - $P965 = $P964."ast"() - $P966 = $P962."!make"($P965) - .return ($P966) - control_959: + .lex "$/", param_984 + find_lex $P985, "$/" + find_lex $P986, "$/" + unless_null $P986, vivify_344 + $P986 = root_new ['parrot';'Hash'] + vivify_344: + set $P987, $P986["package_def"] + unless_null $P987, vivify_345 + new $P987, "Undef" + vivify_345: + $P988 = $P987."ast"() + $P989 = $P985."!make"($P988) + .return ($P989) + control_982: .local pmc exception .get_results (exception) - getattribute $P967, exception, "payload" - .return ($P967) + getattribute $P990, exception, "payload" + .return ($P990) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "package_declarator:sym" :subid("63_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_971 -.annotate 'line', 357 - new $P970, 'ExceptionHandler' - set_addr $P970, control_969 - $P970."handle_types"(.CONTROL_RETURN) - push_eh $P970 +.sub "package_declarator:sym" :subid("63_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_994 +.annotate 'line', 367 + new $P993, 'ExceptionHandler' + set_addr $P993, control_992 + $P993."handle_types"(.CONTROL_RETURN) + push_eh $P993 .lex "self", self - .lex "$/", param_971 -.annotate 'line', 358 - new $P972, "Undef" - .lex "$past", $P972 -.annotate 'line', 359 - new $P973, "Undef" - .lex "$classinit", $P973 + .lex "$/", param_994 .annotate 'line', 368 - new $P974, "Undef" - .lex "$parent", $P974 -.annotate 'line', 358 - find_lex $P975, "$/" - unless_null $P975, vivify_340 - $P975 = root_new ['parrot';'Hash'] - vivify_340: - set $P976, $P975["package_def"] - unless_null $P976, vivify_341 - new $P976, "Undef" - vivify_341: - $P977 = $P976."ast"() - store_lex "$past", $P977 -.annotate 'line', 360 - get_hll_global $P978, ["PAST"], "Op" -.annotate 'line', 361 - get_hll_global $P979, ["PAST"], "Op" - $P980 = $P979."new"(" %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline")) -.annotate 'line', 364 - find_lex $P981, "$/" - unless_null $P981, vivify_342 - $P981 = root_new ['parrot';'Hash'] - vivify_342: - set $P982, $P981["package_def"] - unless_null $P982, vivify_343 - $P982 = root_new ['parrot';'Hash'] - vivify_343: - set $P983, $P982["name"] - unless_null $P983, vivify_344 - new $P983, "Undef" - vivify_344: - set $S984, $P983 - $P985 = $P978."new"($P980, $S984, "new_class" :named("name"), "callmethod" :named("pasttype")) -.annotate 'line', 360 - store_lex "$classinit", $P985 + new $P995, "Undef" + .lex "$past", $P995 +.annotate 'line', 369 + new $P996, "Undef" + .lex "$classinit", $P996 +.annotate 'line', 378 + new $P997, "Undef" + .lex "$parent", $P997 .annotate 'line', 368 - find_lex $P988, "$/" - unless_null $P988, vivify_345 - $P988 = root_new ['parrot';'Hash'] - vivify_345: - set $P989, $P988["package_def"] - unless_null $P989, vivify_346 - $P989 = root_new ['parrot';'Hash'] + find_lex $P998, "$/" + unless_null $P998, vivify_346 + $P998 = root_new ['parrot';'Hash'] vivify_346: - set $P990, $P989["parent"] - unless_null $P990, vivify_347 - $P990 = root_new ['parrot';'ResizablePMCArray'] + set $P999, $P998["package_def"] + unless_null $P999, vivify_347 + new $P999, "Undef" vivify_347: - set $P991, $P990[0] - unless_null $P991, vivify_348 - new $P991, "Undef" + $P1000 = $P999."ast"() + store_lex "$past", $P1000 +.annotate 'line', 370 + get_hll_global $P1001, ["PAST"], "Op" +.annotate 'line', 371 + get_hll_global $P1002, ["PAST"], "Op" + $P1003 = $P1002."new"(" %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline")) +.annotate 'line', 374 + find_lex $P1004, "$/" + unless_null $P1004, vivify_348 + $P1004 = root_new ['parrot';'Hash'] vivify_348: - set $S992, $P991 - unless $S992, unless_987 - new $P986, 'String' - set $P986, $S992 - goto unless_987_end - unless_987: -.annotate 'line', 369 - find_lex $P995, "$/" - unless_null $P995, vivify_349 - $P995 = root_new ['parrot';'Hash'] + set $P1005, $P1004["package_def"] + unless_null $P1005, vivify_349 + $P1005 = root_new ['parrot';'Hash'] vivify_349: - set $P996, $P995["sym"] - unless_null $P996, vivify_350 - new $P996, "Undef" + set $P1006, $P1005["name"] + unless_null $P1006, vivify_350 + new $P1006, "Undef" vivify_350: - set $S997, $P996 - iseq $I998, $S997, "grammar" - if $I998, if_994 - new $P1000, "String" - assign $P1000, "" - set $P993, $P1000 - goto if_994_end - if_994: - new $P999, "String" - assign $P999, "Regex::Cursor" - set $P993, $P999 - if_994_end: - set $P986, $P993 - unless_987_end: - store_lex "$parent", $P986 + set $S1007, $P1006 + $P1008 = $P1001."new"($P1003, $S1007, "new_class" :named("name"), "callmethod" :named("pasttype")) .annotate 'line', 370 - find_lex $P1002, "$parent" - unless $P1002, if_1001_end -.annotate 'line', 371 - find_lex $P1003, "$classinit" - get_hll_global $P1004, ["PAST"], "Val" - find_lex $P1005, "$parent" - $P1006 = $P1004."new"($P1005 :named("value"), "parent" :named("named")) - $P1003."push"($P1006) - if_1001_end: -.annotate 'line', 373 - find_lex $P1008, "$past" - unless_null $P1008, vivify_351 - $P1008 = root_new ['parrot';'Hash'] + store_lex "$classinit", $P1008 +.annotate 'line', 378 + find_lex $P1011, "$/" + unless_null $P1011, vivify_351 + $P1011 = root_new ['parrot';'Hash'] vivify_351: - set $P1009, $P1008["attributes"] - unless_null $P1009, vivify_352 - new $P1009, "Undef" + set $P1012, $P1011["package_def"] + unless_null $P1012, vivify_352 + $P1012 = root_new ['parrot';'Hash'] vivify_352: - unless $P1009, if_1007_end -.annotate 'line', 374 - find_lex $P1010, "$classinit" - find_lex $P1011, "$past" - unless_null $P1011, vivify_353 - $P1011 = root_new ['parrot';'Hash'] - vivify_353: - set $P1012, $P1011["attributes"] - unless_null $P1012, vivify_354 - new $P1012, "Undef" - vivify_354: - $P1010."push"($P1012) - if_1007_end: -.annotate 'line', 376 - get_global $P1013, "@BLOCK" - unless_null $P1013, vivify_355 + set $P1013, $P1012["parent"] + unless_null $P1013, vivify_353 $P1013 = root_new ['parrot';'ResizablePMCArray'] - vivify_355: + vivify_353: set $P1014, $P1013[0] - unless_null $P1014, vivify_356 + unless_null $P1014, vivify_354 new $P1014, "Undef" + vivify_354: + set $S1015, $P1014 + unless $S1015, unless_1010 + new $P1009, 'String' + set $P1009, $S1015 + goto unless_1010_end + unless_1010: +.annotate 'line', 379 + find_lex $P1018, "$/" + unless_null $P1018, vivify_355 + $P1018 = root_new ['parrot';'Hash'] + vivify_355: + set $P1019, $P1018["sym"] + unless_null $P1019, vivify_356 + new $P1019, "Undef" vivify_356: - $P1015 = $P1014."loadinit"() - find_lex $P1016, "$classinit" - $P1015."push"($P1016) -.annotate 'line', 377 - find_lex $P1017, "$/" - find_lex $P1018, "$past" - $P1019 = $P1017."!make"($P1018) -.annotate 'line', 357 - .return ($P1019) - control_969: - .local pmc exception - .get_results (exception) - getattribute $P1020, exception, "payload" - .return ($P1020) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "package_def" :subid("64_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1024 + set $S1020, $P1019 + iseq $I1021, $S1020, "grammar" + if $I1021, if_1017 + new $P1023, "String" + assign $P1023, "" + set $P1016, $P1023 + goto if_1017_end + if_1017: + new $P1022, "String" + assign $P1022, "Regex::Cursor" + set $P1016, $P1022 + if_1017_end: + set $P1009, $P1016 + unless_1010_end: + store_lex "$parent", $P1009 .annotate 'line', 380 - new $P1023, 'ExceptionHandler' - set_addr $P1023, control_1022 - $P1023."handle_types"(.CONTROL_RETURN) - push_eh $P1023 - .lex "self", self - .lex "$/", param_1024 + find_lex $P1025, "$parent" + unless $P1025, if_1024_end .annotate 'line', 381 - new $P1025, "Undef" - .lex "$past", $P1025 - find_lex $P1028, "$/" - unless_null $P1028, vivify_357 - $P1028 = root_new ['parrot';'Hash'] + find_lex $P1026, "$classinit" + get_hll_global $P1027, ["PAST"], "Val" + find_lex $P1028, "$parent" + $P1029 = $P1027."new"($P1028 :named("value"), "parent" :named("named")) + $P1026."push"($P1029) + if_1024_end: +.annotate 'line', 383 + find_lex $P1031, "$past" + unless_null $P1031, vivify_357 + $P1031 = root_new ['parrot';'Hash'] vivify_357: - set $P1029, $P1028["block"] - unless_null $P1029, vivify_358 - new $P1029, "Undef" + set $P1032, $P1031["attributes"] + unless_null $P1032, vivify_358 + new $P1032, "Undef" vivify_358: - if $P1029, if_1027 - find_lex $P1033, "$/" - unless_null $P1033, vivify_359 - $P1033 = root_new ['parrot';'Hash'] + unless $P1032, if_1030_end +.annotate 'line', 384 + find_lex $P1033, "$classinit" + find_lex $P1034, "$past" + unless_null $P1034, vivify_359 + $P1034 = root_new ['parrot';'Hash'] vivify_359: - set $P1034, $P1033["comp_unit"] - unless_null $P1034, vivify_360 - new $P1034, "Undef" + set $P1035, $P1034["attributes"] + unless_null $P1035, vivify_360 + new $P1035, "Undef" vivify_360: - $P1035 = $P1034."ast"() - set $P1026, $P1035 - goto if_1027_end - if_1027: - find_lex $P1030, "$/" - unless_null $P1030, vivify_361 - $P1030 = root_new ['parrot';'Hash'] + $P1033."push"($P1035) + if_1030_end: +.annotate 'line', 386 + get_global $P1036, "@BLOCK" + unless_null $P1036, vivify_361 + $P1036 = root_new ['parrot';'ResizablePMCArray'] vivify_361: - set $P1031, $P1030["block"] - unless_null $P1031, vivify_362 - new $P1031, "Undef" + set $P1037, $P1036[0] + unless_null $P1037, vivify_362 + new $P1037, "Undef" vivify_362: - $P1032 = $P1031."ast"() - set $P1026, $P1032 - if_1027_end: - store_lex "$past", $P1026 -.annotate 'line', 382 - find_lex $P1036, "$past" - find_lex $P1037, "$/" - unless_null $P1037, vivify_363 - $P1037 = root_new ['parrot';'Hash'] - vivify_363: - set $P1038, $P1037["name"] - unless_null $P1038, vivify_364 - $P1038 = root_new ['parrot';'Hash'] - vivify_364: - set $P1039, $P1038["identifier"] - unless_null $P1039, vivify_365 - new $P1039, "Undef" - vivify_365: - $P1036."namespace"($P1039) -.annotate 'line', 383 - find_lex $P1040, "$past" - $P1040."blocktype"("immediate") -.annotate 'line', 384 - find_lex $P1041, "$/" - find_lex $P1042, "$past" - $P1043 = $P1041."!make"($P1042) -.annotate 'line', 380 - .return ($P1043) - control_1022: + $P1038 = $P1037."loadinit"() + find_lex $P1039, "$classinit" + $P1038."push"($P1039) +.annotate 'line', 387 + find_lex $P1040, "$/" + find_lex $P1041, "$past" + $P1042 = $P1040."!make"($P1041) +.annotate 'line', 367 + .return ($P1042) + control_992: .local pmc exception .get_results (exception) - getattribute $P1044, exception, "payload" - .return ($P1044) + getattribute $P1043, exception, "payload" + .return ($P1043) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "scope_declarator:sym" :subid("65_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1048 -.annotate 'line', 387 - new $P1047, 'ExceptionHandler' - set_addr $P1047, control_1046 - $P1047."handle_types"(.CONTROL_RETURN) - push_eh $P1047 +.sub "package_def" :subid("64_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1047 +.annotate 'line', 390 + new $P1046, 'ExceptionHandler' + set_addr $P1046, control_1045 + $P1046."handle_types"(.CONTROL_RETURN) + push_eh $P1046 .lex "self", self - .lex "$/", param_1048 - find_lex $P1049, "$/" - find_lex $P1050, "$/" - unless_null $P1050, vivify_366 - $P1050 = root_new ['parrot';'Hash'] + .lex "$/", param_1047 +.annotate 'line', 391 + new $P1048, "Undef" + .lex "$past", $P1048 + find_lex $P1051, "$/" + unless_null $P1051, vivify_363 + $P1051 = root_new ['parrot';'Hash'] + vivify_363: + set $P1052, $P1051["block"] + unless_null $P1052, vivify_364 + new $P1052, "Undef" + vivify_364: + if $P1052, if_1050 + find_lex $P1056, "$/" + unless_null $P1056, vivify_365 + $P1056 = root_new ['parrot';'Hash'] + vivify_365: + set $P1057, $P1056["comp_unit"] + unless_null $P1057, vivify_366 + new $P1057, "Undef" vivify_366: - set $P1051, $P1050["scoped"] - unless_null $P1051, vivify_367 - new $P1051, "Undef" + $P1058 = $P1057."ast"() + set $P1049, $P1058 + goto if_1050_end + if_1050: + find_lex $P1053, "$/" + unless_null $P1053, vivify_367 + $P1053 = root_new ['parrot';'Hash'] vivify_367: - $P1052 = $P1051."ast"() - $P1053 = $P1049."!make"($P1052) - .return ($P1053) - control_1046: + set $P1054, $P1053["block"] + unless_null $P1054, vivify_368 + new $P1054, "Undef" + vivify_368: + $P1055 = $P1054."ast"() + set $P1049, $P1055 + if_1050_end: + store_lex "$past", $P1049 +.annotate 'line', 392 + find_lex $P1059, "$past" + find_lex $P1060, "$/" + unless_null $P1060, vivify_369 + $P1060 = root_new ['parrot';'Hash'] + vivify_369: + set $P1061, $P1060["name"] + unless_null $P1061, vivify_370 + $P1061 = root_new ['parrot';'Hash'] + vivify_370: + set $P1062, $P1061["identifier"] + unless_null $P1062, vivify_371 + new $P1062, "Undef" + vivify_371: + $P1059."namespace"($P1062) +.annotate 'line', 393 + find_lex $P1063, "$past" + $P1063."blocktype"("immediate") +.annotate 'line', 394 + find_lex $P1064, "$/" + find_lex $P1065, "$past" + $P1066 = $P1064."!make"($P1065) +.annotate 'line', 390 + .return ($P1066) + control_1045: .local pmc exception .get_results (exception) - getattribute $P1054, exception, "payload" - .return ($P1054) + getattribute $P1067, exception, "payload" + .return ($P1067) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "scope_declarator:sym" :subid("66_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1058 -.annotate 'line', 388 - new $P1057, 'ExceptionHandler' - set_addr $P1057, control_1056 - $P1057."handle_types"(.CONTROL_RETURN) - push_eh $P1057 +.sub "scope_declarator:sym" :subid("65_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1071 +.annotate 'line', 397 + new $P1070, 'ExceptionHandler' + set_addr $P1070, control_1069 + $P1070."handle_types"(.CONTROL_RETURN) + push_eh $P1070 .lex "self", self - .lex "$/", param_1058 - find_lex $P1059, "$/" - find_lex $P1060, "$/" - unless_null $P1060, vivify_368 - $P1060 = root_new ['parrot';'Hash'] - vivify_368: - set $P1061, $P1060["scoped"] - unless_null $P1061, vivify_369 - new $P1061, "Undef" - vivify_369: - $P1062 = $P1061."ast"() - $P1063 = $P1059."!make"($P1062) - .return ($P1063) - control_1056: + .lex "$/", param_1071 + find_lex $P1072, "$/" + find_lex $P1073, "$/" + unless_null $P1073, vivify_372 + $P1073 = root_new ['parrot';'Hash'] + vivify_372: + set $P1074, $P1073["scoped"] + unless_null $P1074, vivify_373 + new $P1074, "Undef" + vivify_373: + $P1075 = $P1074."ast"() + $P1076 = $P1072."!make"($P1075) + .return ($P1076) + control_1069: .local pmc exception .get_results (exception) - getattribute $P1064, exception, "payload" - .return ($P1064) + getattribute $P1077, exception, "payload" + .return ($P1077) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "scope_declarator:sym" :subid("67_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1068 -.annotate 'line', 389 - new $P1067, 'ExceptionHandler' - set_addr $P1067, control_1066 - $P1067."handle_types"(.CONTROL_RETURN) - push_eh $P1067 +.sub "scope_declarator:sym" :subid("66_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1081 +.annotate 'line', 398 + new $P1080, 'ExceptionHandler' + set_addr $P1080, control_1079 + $P1080."handle_types"(.CONTROL_RETURN) + push_eh $P1080 .lex "self", self - .lex "$/", param_1068 - find_lex $P1069, "$/" - find_lex $P1070, "$/" - unless_null $P1070, vivify_370 - $P1070 = root_new ['parrot';'Hash'] - vivify_370: - set $P1071, $P1070["scoped"] - unless_null $P1071, vivify_371 - new $P1071, "Undef" - vivify_371: - $P1072 = $P1071."ast"() - $P1073 = $P1069."!make"($P1072) - .return ($P1073) - control_1066: + .lex "$/", param_1081 + find_lex $P1082, "$/" + find_lex $P1083, "$/" + unless_null $P1083, vivify_374 + $P1083 = root_new ['parrot';'Hash'] + vivify_374: + set $P1084, $P1083["scoped"] + unless_null $P1084, vivify_375 + new $P1084, "Undef" + vivify_375: + $P1085 = $P1084."ast"() + $P1086 = $P1082."!make"($P1085) + .return ($P1086) + control_1079: .local pmc exception .get_results (exception) - getattribute $P1074, exception, "payload" - .return ($P1074) + getattribute $P1087, exception, "payload" + .return ($P1087) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "scoped" :subid("68_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1078 -.annotate 'line', 391 - new $P1077, 'ExceptionHandler' - set_addr $P1077, control_1076 - $P1077."handle_types"(.CONTROL_RETURN) - push_eh $P1077 +.sub "scope_declarator:sym" :subid("67_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1091 +.annotate 'line', 399 + new $P1090, 'ExceptionHandler' + set_addr $P1090, control_1089 + $P1090."handle_types"(.CONTROL_RETURN) + push_eh $P1090 .lex "self", self - .lex "$/", param_1078 -.annotate 'line', 392 - find_lex $P1079, "$/" -.annotate 'line', 393 - find_lex $P1082, "$/" - unless_null $P1082, vivify_372 - $P1082 = root_new ['parrot';'Hash'] - vivify_372: - set $P1083, $P1082["declarator"] - unless_null $P1083, vivify_373 - new $P1083, "Undef" - vivify_373: - if $P1083, if_1081 -.annotate 'line', 394 - find_lex $P1087, "$/" - unless_null $P1087, vivify_374 - $P1087 = root_new ['parrot';'Hash'] - vivify_374: - set $P1088, $P1087["multi_declarator"] - unless_null $P1088, vivify_375 - new $P1088, "Undef" - vivify_375: - $P1089 = $P1088."ast"() - set $P1080, $P1089 -.annotate 'line', 393 - goto if_1081_end - if_1081: - find_lex $P1084, "$/" - unless_null $P1084, vivify_376 - $P1084 = root_new ['parrot';'Hash'] + .lex "$/", param_1091 + find_lex $P1092, "$/" + find_lex $P1093, "$/" + unless_null $P1093, vivify_376 + $P1093 = root_new ['parrot';'Hash'] vivify_376: - set $P1085, $P1084["declarator"] - unless_null $P1085, vivify_377 - new $P1085, "Undef" + set $P1094, $P1093["scoped"] + unless_null $P1094, vivify_377 + new $P1094, "Undef" vivify_377: - $P1086 = $P1085."ast"() - set $P1080, $P1086 - if_1081_end: - $P1090 = $P1079."!make"($P1080) -.annotate 'line', 391 - .return ($P1090) - control_1076: + $P1095 = $P1094."ast"() + $P1096 = $P1092."!make"($P1095) + .return ($P1096) + control_1089: .local pmc exception .get_results (exception) - getattribute $P1091, exception, "payload" - .return ($P1091) + getattribute $P1097, exception, "payload" + .return ($P1097) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "declarator" :subid("69_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1095 -.annotate 'line', 397 - new $P1094, 'ExceptionHandler' - set_addr $P1094, control_1093 - $P1094."handle_types"(.CONTROL_RETURN) - push_eh $P1094 +.sub "scoped" :subid("68_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1101 +.annotate 'line', 401 + new $P1100, 'ExceptionHandler' + set_addr $P1100, control_1099 + $P1100."handle_types"(.CONTROL_RETURN) + push_eh $P1100 .lex "self", self - .lex "$/", param_1095 -.annotate 'line', 398 - find_lex $P1096, "$/" -.annotate 'line', 399 - find_lex $P1099, "$/" - unless_null $P1099, vivify_378 - $P1099 = root_new ['parrot';'Hash'] + .lex "$/", param_1101 +.annotate 'line', 402 + find_lex $P1102, "$/" +.annotate 'line', 403 + find_lex $P1105, "$/" + unless_null $P1105, vivify_378 + $P1105 = root_new ['parrot';'Hash'] vivify_378: - set $P1100, $P1099["routine_declarator"] - unless_null $P1100, vivify_379 - new $P1100, "Undef" + set $P1106, $P1105["declarator"] + unless_null $P1106, vivify_379 + new $P1106, "Undef" vivify_379: - if $P1100, if_1098 -.annotate 'line', 400 - find_lex $P1104, "$/" - unless_null $P1104, vivify_380 - $P1104 = root_new ['parrot';'Hash'] + if $P1106, if_1104 +.annotate 'line', 404 + find_lex $P1110, "$/" + unless_null $P1110, vivify_380 + $P1110 = root_new ['parrot';'Hash'] vivify_380: - set $P1105, $P1104["variable_declarator"] - unless_null $P1105, vivify_381 - new $P1105, "Undef" + set $P1111, $P1110["multi_declarator"] + unless_null $P1111, vivify_381 + new $P1111, "Undef" vivify_381: - $P1106 = $P1105."ast"() - set $P1097, $P1106 -.annotate 'line', 399 - goto if_1098_end - if_1098: - find_lex $P1101, "$/" - unless_null $P1101, vivify_382 - $P1101 = root_new ['parrot';'Hash'] + $P1112 = $P1111."ast"() + set $P1103, $P1112 +.annotate 'line', 403 + goto if_1104_end + if_1104: + find_lex $P1107, "$/" + unless_null $P1107, vivify_382 + $P1107 = root_new ['parrot';'Hash'] vivify_382: - set $P1102, $P1101["routine_declarator"] - unless_null $P1102, vivify_383 - new $P1102, "Undef" + set $P1108, $P1107["declarator"] + unless_null $P1108, vivify_383 + new $P1108, "Undef" vivify_383: - $P1103 = $P1102."ast"() - set $P1097, $P1103 - if_1098_end: - $P1107 = $P1096."!make"($P1097) -.annotate 'line', 397 - .return ($P1107) - control_1093: + $P1109 = $P1108."ast"() + set $P1103, $P1109 + if_1104_end: + $P1113 = $P1102."!make"($P1103) +.annotate 'line', 401 + .return ($P1113) + control_1099: .local pmc exception .get_results (exception) - getattribute $P1108, exception, "payload" - .return ($P1108) + getattribute $P1114, exception, "payload" + .return ($P1114) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "multi_declarator:sym" :subid("70_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1112 -.annotate 'line', 403 - new $P1111, 'ExceptionHandler' - set_addr $P1111, control_1110 - $P1111."handle_types"(.CONTROL_RETURN) - push_eh $P1111 +.sub "declarator" :subid("69_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1118 +.annotate 'line', 407 + new $P1117, 'ExceptionHandler' + set_addr $P1117, control_1116 + $P1117."handle_types"(.CONTROL_RETURN) + push_eh $P1117 .lex "self", self - .lex "$/", param_1112 - find_lex $P1113, "$/" - find_lex $P1116, "$/" - unless_null $P1116, vivify_384 - $P1116 = root_new ['parrot';'Hash'] + .lex "$/", param_1118 +.annotate 'line', 408 + find_lex $P1119, "$/" +.annotate 'line', 409 + find_lex $P1122, "$/" + unless_null $P1122, vivify_384 + $P1122 = root_new ['parrot';'Hash'] vivify_384: - set $P1117, $P1116["declarator"] - unless_null $P1117, vivify_385 - new $P1117, "Undef" + set $P1123, $P1122["routine_declarator"] + unless_null $P1123, vivify_385 + new $P1123, "Undef" vivify_385: - if $P1117, if_1115 - find_lex $P1121, "$/" - unless_null $P1121, vivify_386 - $P1121 = root_new ['parrot';'Hash'] + if $P1123, if_1121 +.annotate 'line', 410 + find_lex $P1127, "$/" + unless_null $P1127, vivify_386 + $P1127 = root_new ['parrot';'Hash'] vivify_386: - set $P1122, $P1121["routine_def"] - unless_null $P1122, vivify_387 - new $P1122, "Undef" + set $P1128, $P1127["variable_declarator"] + unless_null $P1128, vivify_387 + new $P1128, "Undef" vivify_387: - $P1123 = $P1122."ast"() - set $P1114, $P1123 - goto if_1115_end - if_1115: - find_lex $P1118, "$/" - unless_null $P1118, vivify_388 - $P1118 = root_new ['parrot';'Hash'] + $P1129 = $P1128."ast"() + set $P1120, $P1129 +.annotate 'line', 409 + goto if_1121_end + if_1121: + find_lex $P1124, "$/" + unless_null $P1124, vivify_388 + $P1124 = root_new ['parrot';'Hash'] vivify_388: - set $P1119, $P1118["declarator"] - unless_null $P1119, vivify_389 - new $P1119, "Undef" + set $P1125, $P1124["routine_declarator"] + unless_null $P1125, vivify_389 + new $P1125, "Undef" vivify_389: - $P1120 = $P1119."ast"() - set $P1114, $P1120 - if_1115_end: - $P1124 = $P1113."!make"($P1114) - .return ($P1124) - control_1110: + $P1126 = $P1125."ast"() + set $P1120, $P1126 + if_1121_end: + $P1130 = $P1119."!make"($P1120) +.annotate 'line', 407 + .return ($P1130) + control_1116: .local pmc exception .get_results (exception) - getattribute $P1125, exception, "payload" - .return ($P1125) + getattribute $P1131, exception, "payload" + .return ($P1131) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "multi_declarator:sym" :subid("71_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1129 -.annotate 'line', 404 - new $P1128, 'ExceptionHandler' - set_addr $P1128, control_1127 - $P1128."handle_types"(.CONTROL_RETURN) - push_eh $P1128 +.sub "multi_declarator:sym" :subid("70_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1135 +.annotate 'line', 413 + new $P1134, 'ExceptionHandler' + set_addr $P1134, control_1133 + $P1134."handle_types"(.CONTROL_RETURN) + push_eh $P1134 .lex "self", self - .lex "$/", param_1129 - find_lex $P1130, "$/" - find_lex $P1131, "$/" - unless_null $P1131, vivify_390 - $P1131 = root_new ['parrot';'Hash'] + .lex "$/", param_1135 + find_lex $P1136, "$/" + find_lex $P1139, "$/" + unless_null $P1139, vivify_390 + $P1139 = root_new ['parrot';'Hash'] vivify_390: - set $P1132, $P1131["declarator"] - unless_null $P1132, vivify_391 - new $P1132, "Undef" - vivify_391: - $P1133 = $P1132."ast"() - $P1134 = $P1130."!make"($P1133) - .return ($P1134) - control_1127: - .local pmc exception - .get_results (exception) - getattribute $P1135, exception, "payload" - .return ($P1135) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "variable_declarator" :subid("72_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1139 -.annotate 'line', 407 - .const 'Sub' $P1179 = "73_1276996335.94529" - capture_lex $P1179 - new $P1138, 'ExceptionHandler' - set_addr $P1138, control_1137 - $P1138."handle_types"(.CONTROL_RETURN) - push_eh $P1138 - .lex "self", self - .lex "$/", param_1139 -.annotate 'line', 408 + set $P1140, $P1139["declarator"] + unless_null $P1140, vivify_391 new $P1140, "Undef" - .lex "$past", $P1140 -.annotate 'line', 409 - new $P1141, "Undef" - .lex "$sigil", $P1141 -.annotate 'line', 410 - new $P1142, "Undef" - .lex "$name", $P1142 -.annotate 'line', 411 - new $P1143, "Undef" - .lex "$BLOCK", $P1143 -.annotate 'line', 408 + vivify_391: + if $P1140, if_1138 find_lex $P1144, "$/" unless_null $P1144, vivify_392 $P1144 = root_new ['parrot';'Hash'] vivify_392: - set $P1145, $P1144["variable"] + set $P1145, $P1144["routine_def"] unless_null $P1145, vivify_393 new $P1145, "Undef" vivify_393: $P1146 = $P1145."ast"() - store_lex "$past", $P1146 -.annotate 'line', 409 - find_lex $P1147, "$/" - unless_null $P1147, vivify_394 - $P1147 = root_new ['parrot';'Hash'] + set $P1137, $P1146 + goto if_1138_end + if_1138: + find_lex $P1141, "$/" + unless_null $P1141, vivify_394 + $P1141 = root_new ['parrot';'Hash'] vivify_394: - set $P1148, $P1147["variable"] - unless_null $P1148, vivify_395 - $P1148 = root_new ['parrot';'Hash'] + set $P1142, $P1141["declarator"] + unless_null $P1142, vivify_395 + new $P1142, "Undef" vivify_395: - set $P1149, $P1148["sigil"] - unless_null $P1149, vivify_396 - new $P1149, "Undef" + $P1143 = $P1142."ast"() + set $P1137, $P1143 + if_1138_end: + $P1147 = $P1136."!make"($P1137) + .return ($P1147) + control_1133: + .local pmc exception + .get_results (exception) + getattribute $P1148, exception, "payload" + .return ($P1148) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "multi_declarator:sym" :subid("71_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1152 +.annotate 'line', 414 + new $P1151, 'ExceptionHandler' + set_addr $P1151, control_1150 + $P1151."handle_types"(.CONTROL_RETURN) + push_eh $P1151 + .lex "self", self + .lex "$/", param_1152 + find_lex $P1153, "$/" + find_lex $P1154, "$/" + unless_null $P1154, vivify_396 + $P1154 = root_new ['parrot';'Hash'] vivify_396: - store_lex "$sigil", $P1149 -.annotate 'line', 410 - find_lex $P1150, "$past" - $P1151 = $P1150."name"() - store_lex "$name", $P1151 -.annotate 'line', 411 - get_global $P1152, "@BLOCK" - unless_null $P1152, vivify_397 - $P1152 = root_new ['parrot';'ResizablePMCArray'] + set $P1155, $P1154["declarator"] + unless_null $P1155, vivify_397 + new $P1155, "Undef" vivify_397: - set $P1153, $P1152[0] - unless_null $P1153, vivify_398 - new $P1153, "Undef" - vivify_398: - store_lex "$BLOCK", $P1153 -.annotate 'line', 412 - find_lex $P1155, "$BLOCK" - find_lex $P1156, "$name" - $P1157 = $P1155."symbol"($P1156) - unless $P1157, if_1154_end -.annotate 'line', 413 - find_lex $P1158, "$/" - $P1159 = $P1158."CURSOR"() - find_lex $P1160, "$name" - $P1159."panic"("Redeclaration of symbol ", $P1160) - if_1154_end: -.annotate 'line', 415 - find_dynamic_lex $P1162, "$*SCOPE" - unless_null $P1162, vivify_399 - get_hll_global $P1162, "$SCOPE" - unless_null $P1162, vivify_400 - die "Contextual $*SCOPE not found" - vivify_400: - vivify_399: - set $S1163, $P1162 - iseq $I1164, $S1163, "has" - if $I1164, if_1161 -.annotate 'line', 424 - .const 'Sub' $P1179 = "73_1276996335.94529" - capture_lex $P1179 - $P1179() - goto if_1161_end - if_1161: -.annotate 'line', 416 - find_lex $P1165, "$BLOCK" - find_lex $P1166, "$name" - $P1165."symbol"($P1166, "attribute" :named("scope")) -.annotate 'line', 417 - find_lex $P1168, "$BLOCK" - unless_null $P1168, vivify_405 - $P1168 = root_new ['parrot';'Hash'] - vivify_405: - set $P1169, $P1168["attributes"] - unless_null $P1169, vivify_406 - new $P1169, "Undef" - vivify_406: - if $P1169, unless_1167_end -.annotate 'line', 419 - get_hll_global $P1170, ["PAST"], "Op" - $P1171 = $P1170."new"("list" :named("pasttype"), "attr" :named("named")) - find_lex $P1172, "$BLOCK" - unless_null $P1172, vivify_407 - $P1172 = root_new ['parrot';'Hash'] - store_lex "$BLOCK", $P1172 - vivify_407: - set $P1172["attributes"], $P1171 - unless_1167_end: -.annotate 'line', 421 - find_lex $P1173, "$BLOCK" - unless_null $P1173, vivify_408 - $P1173 = root_new ['parrot';'Hash'] - vivify_408: - set $P1174, $P1173["attributes"] - unless_null $P1174, vivify_409 - new $P1174, "Undef" - vivify_409: - find_lex $P1175, "$name" - $P1174."push"($P1175) -.annotate 'line', 422 - get_hll_global $P1176, ["PAST"], "Stmts" - $P1177 = $P1176."new"() - store_lex "$past", $P1177 - if_1161_end: -.annotate 'line', 432 - find_lex $P1203, "$/" - find_lex $P1204, "$past" - $P1205 = $P1203."!make"($P1204) -.annotate 'line', 407 - .return ($P1205) - control_1137: + $P1156 = $P1155."ast"() + $P1157 = $P1153."!make"($P1156) + .return ($P1157) + control_1150: .local pmc exception .get_results (exception) - getattribute $P1206, exception, "payload" - .return ($P1206) + getattribute $P1158, exception, "payload" + .return ($P1158) .end .namespace ["NQP";"Actions"] -.sub "_block1178" :anon :subid("73_1276996335.94529") :outer("72_1276996335.94529") -.annotate 'line', 425 - new $P1180, "Undef" - .lex "$scope", $P1180 -.annotate 'line', 426 - new $P1181, "Undef" - .lex "$decl", $P1181 +.include "except_types.pasm" +.sub "variable_declarator" :subid("72_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1162 +.annotate 'line', 417 + .const 'Sub' $P1202 = "73_1278500542.82783" + capture_lex $P1202 + new $P1161, 'ExceptionHandler' + set_addr $P1161, control_1160 + $P1161."handle_types"(.CONTROL_RETURN) + push_eh $P1161 + .lex "self", self + .lex "$/", param_1162 +.annotate 'line', 418 + new $P1163, "Undef" + .lex "$past", $P1163 +.annotate 'line', 419 + new $P1164, "Undef" + .lex "$sigil", $P1164 +.annotate 'line', 420 + new $P1165, "Undef" + .lex "$name", $P1165 +.annotate 'line', 421 + new $P1166, "Undef" + .lex "$BLOCK", $P1166 +.annotate 'line', 418 + find_lex $P1167, "$/" + unless_null $P1167, vivify_398 + $P1167 = root_new ['parrot';'Hash'] + vivify_398: + set $P1168, $P1167["variable"] + unless_null $P1168, vivify_399 + new $P1168, "Undef" + vivify_399: + $P1169 = $P1168."ast"() + store_lex "$past", $P1169 +.annotate 'line', 419 + find_lex $P1170, "$/" + unless_null $P1170, vivify_400 + $P1170 = root_new ['parrot';'Hash'] + vivify_400: + set $P1171, $P1170["variable"] + unless_null $P1171, vivify_401 + $P1171 = root_new ['parrot';'Hash'] + vivify_401: + set $P1172, $P1171["sigil"] + unless_null $P1172, vivify_402 + new $P1172, "Undef" + vivify_402: + store_lex "$sigil", $P1172 +.annotate 'line', 420 + find_lex $P1173, "$past" + $P1174 = $P1173."name"() + store_lex "$name", $P1174 +.annotate 'line', 421 + get_global $P1175, "@BLOCK" + unless_null $P1175, vivify_403 + $P1175 = root_new ['parrot';'ResizablePMCArray'] + vivify_403: + set $P1176, $P1175[0] + unless_null $P1176, vivify_404 + new $P1176, "Undef" + vivify_404: + store_lex "$BLOCK", $P1176 +.annotate 'line', 422 + find_lex $P1178, "$BLOCK" + find_lex $P1179, "$name" + $P1180 = $P1178."symbol"($P1179) + unless $P1180, if_1177_end +.annotate 'line', 423 + find_lex $P1181, "$/" + $P1182 = $P1181."CURSOR"() + find_lex $P1183, "$name" + $P1182."panic"("Redeclaration of symbol ", $P1183) + if_1177_end: .annotate 'line', 425 - find_dynamic_lex $P1184, "$*SCOPE" - unless_null $P1184, vivify_401 - get_hll_global $P1184, "$SCOPE" - unless_null $P1184, vivify_402 + find_dynamic_lex $P1185, "$*SCOPE" + unless_null $P1185, vivify_405 + get_hll_global $P1185, "$SCOPE" + unless_null $P1185, vivify_406 die "Contextual $*SCOPE not found" - vivify_402: - vivify_401: - set $S1185, $P1184 - iseq $I1186, $S1185, "our" - if $I1186, if_1183 - new $P1188, "String" - assign $P1188, "lexical" - set $P1182, $P1188 - goto if_1183_end - if_1183: - new $P1187, "String" - assign $P1187, "package" - set $P1182, $P1187 - if_1183_end: - store_lex "$scope", $P1182 + vivify_406: + vivify_405: + set $S1186, $P1185 + iseq $I1187, $S1186, "has" + if $I1187, if_1184 +.annotate 'line', 434 + .const 'Sub' $P1202 = "73_1278500542.82783" + capture_lex $P1202 + $P1202() + goto if_1184_end + if_1184: .annotate 'line', 426 - get_hll_global $P1189, ["PAST"], "Var" - find_lex $P1190, "$name" - find_lex $P1191, "$scope" + find_lex $P1188, "$BLOCK" + find_lex $P1189, "$name" + $P1188."symbol"($P1189, "attribute" :named("scope")) .annotate 'line', 427 - find_lex $P1192, "$sigil" - $P1193 = "vivitype"($P1192) - find_lex $P1194, "$/" - $P1195 = $P1189."new"($P1190 :named("name"), $P1191 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1193 :named("viviself"), $P1194 :named("node")) -.annotate 'line', 426 - store_lex "$decl", $P1195 + find_lex $P1191, "$BLOCK" + unless_null $P1191, vivify_411 + $P1191 = root_new ['parrot';'Hash'] + vivify_411: + set $P1192, $P1191["attributes"] + unless_null $P1192, vivify_412 + new $P1192, "Undef" + vivify_412: + if $P1192, unless_1190_end .annotate 'line', 429 + get_hll_global $P1193, ["PAST"], "Op" + $P1194 = $P1193."new"("list" :named("pasttype"), "attr" :named("named")) + find_lex $P1195, "$BLOCK" + unless_null $P1195, vivify_413 + $P1195 = root_new ['parrot';'Hash'] + store_lex "$BLOCK", $P1195 + vivify_413: + set $P1195["attributes"], $P1194 + unless_1190_end: +.annotate 'line', 431 find_lex $P1196, "$BLOCK" - find_lex $P1197, "$name" - find_lex $P1198, "$scope" - $P1196."symbol"($P1197, $P1198 :named("scope")) -.annotate 'line', 430 - find_lex $P1199, "$BLOCK" - unless_null $P1199, vivify_403 - $P1199 = root_new ['parrot';'ResizablePMCArray'] - vivify_403: - set $P1200, $P1199[0] - unless_null $P1200, vivify_404 - new $P1200, "Undef" - vivify_404: - find_lex $P1201, "$decl" - $P1202 = $P1200."push"($P1201) -.annotate 'line', 424 - .return ($P1202) + unless_null $P1196, vivify_414 + $P1196 = root_new ['parrot';'Hash'] + vivify_414: + set $P1197, $P1196["attributes"] + unless_null $P1197, vivify_415 + new $P1197, "Undef" + vivify_415: + find_lex $P1198, "$name" + $P1197."push"($P1198) +.annotate 'line', 432 + get_hll_global $P1199, ["PAST"], "Stmts" + $P1200 = $P1199."new"() + store_lex "$past", $P1200 + if_1184_end: +.annotate 'line', 442 + find_lex $P1226, "$/" + find_lex $P1227, "$past" + $P1228 = $P1226."!make"($P1227) +.annotate 'line', 417 + .return ($P1228) + control_1160: + .local pmc exception + .get_results (exception) + getattribute $P1229, exception, "payload" + .return ($P1229) .end .namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "routine_declarator:sym" :subid("74_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1210 +.sub "_block1201" :anon :subid("73_1278500542.82783") :outer("72_1278500542.82783") .annotate 'line', 435 - new $P1209, 'ExceptionHandler' - set_addr $P1209, control_1208 - $P1209."handle_types"(.CONTROL_RETURN) - push_eh $P1209 - .lex "self", self - .lex "$/", param_1210 - find_lex $P1211, "$/" - find_lex $P1212, "$/" - unless_null $P1212, vivify_410 - $P1212 = root_new ['parrot';'Hash'] + new $P1203, "Undef" + .lex "$scope", $P1203 +.annotate 'line', 436 + new $P1204, "Undef" + .lex "$decl", $P1204 +.annotate 'line', 435 + find_dynamic_lex $P1207, "$*SCOPE" + unless_null $P1207, vivify_407 + get_hll_global $P1207, "$SCOPE" + unless_null $P1207, vivify_408 + die "Contextual $*SCOPE not found" + vivify_408: + vivify_407: + set $S1208, $P1207 + iseq $I1209, $S1208, "our" + if $I1209, if_1206 + new $P1211, "String" + assign $P1211, "lexical" + set $P1205, $P1211 + goto if_1206_end + if_1206: + new $P1210, "String" + assign $P1210, "package" + set $P1205, $P1210 + if_1206_end: + store_lex "$scope", $P1205 +.annotate 'line', 436 + get_hll_global $P1212, ["PAST"], "Var" + find_lex $P1213, "$name" + find_lex $P1214, "$scope" +.annotate 'line', 437 + find_lex $P1215, "$sigil" + $P1216 = "vivitype"($P1215) + find_lex $P1217, "$/" + $P1218 = $P1212."new"($P1213 :named("name"), $P1214 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1216 :named("viviself"), $P1217 :named("node")) +.annotate 'line', 436 + store_lex "$decl", $P1218 +.annotate 'line', 439 + find_lex $P1219, "$BLOCK" + find_lex $P1220, "$name" + find_lex $P1221, "$scope" + $P1219."symbol"($P1220, $P1221 :named("scope")) +.annotate 'line', 440 + find_lex $P1222, "$BLOCK" + unless_null $P1222, vivify_409 + $P1222 = root_new ['parrot';'ResizablePMCArray'] + vivify_409: + set $P1223, $P1222[0] + unless_null $P1223, vivify_410 + new $P1223, "Undef" vivify_410: - set $P1213, $P1212["routine_def"] - unless_null $P1213, vivify_411 - new $P1213, "Undef" - vivify_411: - $P1214 = $P1213."ast"() - $P1215 = $P1211."!make"($P1214) - .return ($P1215) - control_1208: - .local pmc exception - .get_results (exception) - getattribute $P1216, exception, "payload" - .return ($P1216) + find_lex $P1224, "$decl" + $P1225 = $P1223."push"($P1224) +.annotate 'line', 434 + .return ($P1225) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "routine_declarator:sym" :subid("75_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1220 -.annotate 'line', 436 - new $P1219, 'ExceptionHandler' - set_addr $P1219, control_1218 - $P1219."handle_types"(.CONTROL_RETURN) - push_eh $P1219 +.sub "routine_declarator:sym" :subid("74_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1233 +.annotate 'line', 445 + new $P1232, 'ExceptionHandler' + set_addr $P1232, control_1231 + $P1232."handle_types"(.CONTROL_RETURN) + push_eh $P1232 .lex "self", self - .lex "$/", param_1220 - find_lex $P1221, "$/" - find_lex $P1222, "$/" - unless_null $P1222, vivify_412 - $P1222 = root_new ['parrot';'Hash'] - vivify_412: - set $P1223, $P1222["method_def"] - unless_null $P1223, vivify_413 - new $P1223, "Undef" - vivify_413: - $P1224 = $P1223."ast"() - $P1225 = $P1221."!make"($P1224) - .return ($P1225) - control_1218: + .lex "$/", param_1233 + find_lex $P1234, "$/" + find_lex $P1235, "$/" + unless_null $P1235, vivify_416 + $P1235 = root_new ['parrot';'Hash'] + vivify_416: + set $P1236, $P1235["routine_def"] + unless_null $P1236, vivify_417 + new $P1236, "Undef" + vivify_417: + $P1237 = $P1236."ast"() + $P1238 = $P1234."!make"($P1237) + .return ($P1238) + control_1231: .local pmc exception .get_results (exception) - getattribute $P1226, exception, "payload" - .return ($P1226) + getattribute $P1239, exception, "payload" + .return ($P1239) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "routine_def" :subid("76_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1230 -.annotate 'line', 438 - .const 'Sub' $P1241 = "77_1276996335.94529" - capture_lex $P1241 - new $P1229, 'ExceptionHandler' - set_addr $P1229, control_1228 - $P1229."handle_types"(.CONTROL_RETURN) - push_eh $P1229 +.sub "routine_declarator:sym" :subid("75_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1243 +.annotate 'line', 446 + new $P1242, 'ExceptionHandler' + set_addr $P1242, control_1241 + $P1242."handle_types"(.CONTROL_RETURN) + push_eh $P1242 .lex "self", self - .lex "$/", param_1230 -.annotate 'line', 439 - new $P1231, "Undef" - .lex "$past", $P1231 - find_lex $P1232, "$/" - unless_null $P1232, vivify_414 - $P1232 = root_new ['parrot';'Hash'] - vivify_414: - set $P1233, $P1232["blockoid"] - unless_null $P1233, vivify_415 - new $P1233, "Undef" - vivify_415: - $P1234 = $P1233."ast"() - store_lex "$past", $P1234 -.annotate 'line', 440 - find_lex $P1235, "$past" - $P1235."blocktype"("declaration") -.annotate 'line', 441 - find_lex $P1236, "$past" - $P1236."control"("return_pir") -.annotate 'line', 442 - find_lex $P1238, "$/" - unless_null $P1238, vivify_416 - $P1238 = root_new ['parrot';'Hash'] - vivify_416: - set $P1239, $P1238["deflongname"] - unless_null $P1239, vivify_417 - new $P1239, "Undef" - vivify_417: - unless $P1239, if_1237_end - .const 'Sub' $P1241 = "77_1276996335.94529" - capture_lex $P1241 - $P1241() - if_1237_end: -.annotate 'line', 452 - find_lex $P1273, "$/" - find_lex $P1274, "$past" - $P1275 = $P1273."!make"($P1274) -.annotate 'line', 438 - .return ($P1275) - control_1228: + .lex "$/", param_1243 + find_lex $P1244, "$/" + find_lex $P1245, "$/" + unless_null $P1245, vivify_418 + $P1245 = root_new ['parrot';'Hash'] + vivify_418: + set $P1246, $P1245["method_def"] + unless_null $P1246, vivify_419 + new $P1246, "Undef" + vivify_419: + $P1247 = $P1246."ast"() + $P1248 = $P1244."!make"($P1247) + .return ($P1248) + control_1241: .local pmc exception .get_results (exception) - getattribute $P1276, exception, "payload" - .return ($P1276) + getattribute $P1249, exception, "payload" + .return ($P1249) .end .namespace ["NQP";"Actions"] -.sub "_block1240" :anon :subid("77_1276996335.94529") :outer("76_1276996335.94529") -.annotate 'line', 443 - new $P1242, "Undef" - .lex "$name", $P1242 - find_lex $P1243, "$/" - unless_null $P1243, vivify_418 - $P1243 = root_new ['parrot';'Hash'] - vivify_418: - set $P1244, $P1243["sigil"] - unless_null $P1244, vivify_419 - $P1244 = root_new ['parrot';'ResizablePMCArray'] - vivify_419: - set $P1245, $P1244[0] - unless_null $P1245, vivify_420 - new $P1245, "Undef" +.include "except_types.pasm" +.sub "routine_def" :subid("76_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1253 +.annotate 'line', 448 + .const 'Sub' $P1264 = "77_1278500542.82783" + capture_lex $P1264 + new $P1252, 'ExceptionHandler' + set_addr $P1252, control_1251 + $P1252."handle_types"(.CONTROL_RETURN) + push_eh $P1252 + .lex "self", self + .lex "$/", param_1253 +.annotate 'line', 449 + new $P1254, "Undef" + .lex "$past", $P1254 + find_lex $P1255, "$/" + unless_null $P1255, vivify_420 + $P1255 = root_new ['parrot';'Hash'] vivify_420: - set $S1246, $P1245 - new $P1247, 'String' - set $P1247, $S1246 - find_lex $P1248, "$/" - unless_null $P1248, vivify_421 - $P1248 = root_new ['parrot';'Hash'] + set $P1256, $P1255["blockoid"] + unless_null $P1256, vivify_421 + new $P1256, "Undef" vivify_421: - set $P1249, $P1248["deflongname"] - unless_null $P1249, vivify_422 - $P1249 = root_new ['parrot';'ResizablePMCArray'] + $P1257 = $P1256."ast"() + store_lex "$past", $P1257 +.annotate 'line', 450 + find_lex $P1258, "$past" + $P1258."blocktype"("declaration") +.annotate 'line', 451 + find_lex $P1259, "$past" + $P1259."control"("return_pir") +.annotate 'line', 452 + find_lex $P1261, "$/" + unless_null $P1261, vivify_422 + $P1261 = root_new ['parrot';'Hash'] vivify_422: - set $P1250, $P1249[0] - unless_null $P1250, vivify_423 - new $P1250, "Undef" + set $P1262, $P1261["deflongname"] + unless_null $P1262, vivify_423 + new $P1262, "Undef" vivify_423: - $S1251 = $P1250."ast"() - concat $P1252, $P1247, $S1251 - store_lex "$name", $P1252 -.annotate 'line', 444 - find_lex $P1253, "$past" - find_lex $P1254, "$name" - $P1253."name"($P1254) -.annotate 'line', 445 - find_dynamic_lex $P1257, "$*SCOPE" - unless_null $P1257, vivify_424 - get_hll_global $P1257, "$SCOPE" - unless_null $P1257, vivify_425 - die "Contextual $*SCOPE not found" - vivify_425: + unless $P1262, if_1260_end + .const 'Sub' $P1264 = "77_1278500542.82783" + capture_lex $P1264 + $P1264() + if_1260_end: +.annotate 'line', 462 + find_lex $P1296, "$/" + find_lex $P1297, "$past" + $P1298 = $P1296."!make"($P1297) +.annotate 'line', 448 + .return ($P1298) + control_1251: + .local pmc exception + .get_results (exception) + getattribute $P1299, exception, "payload" + .return ($P1299) +.end + + +.namespace ["NQP";"Actions"] +.sub "_block1263" :anon :subid("77_1278500542.82783") :outer("76_1278500542.82783") +.annotate 'line', 453 + new $P1265, "Undef" + .lex "$name", $P1265 + find_lex $P1266, "$/" + unless_null $P1266, vivify_424 + $P1266 = root_new ['parrot';'Hash'] vivify_424: - set $S1258, $P1257 - isne $I1259, $S1258, "our" - if $I1259, if_1256 - new $P1255, 'Integer' - set $P1255, $I1259 - goto if_1256_end - if_1256: -.annotate 'line', 446 - get_global $P1260, "@BLOCK" - unless_null $P1260, vivify_426 - $P1260 = root_new ['parrot';'ResizablePMCArray'] + set $P1267, $P1266["sigil"] + unless_null $P1267, vivify_425 + $P1267 = root_new ['parrot';'ResizablePMCArray'] + vivify_425: + set $P1268, $P1267[0] + unless_null $P1268, vivify_426 + new $P1268, "Undef" vivify_426: - set $P1261, $P1260[0] - unless_null $P1261, vivify_427 - $P1261 = root_new ['parrot';'ResizablePMCArray'] + set $S1269, $P1268 + new $P1270, 'String' + set $P1270, $S1269 + find_lex $P1271, "$/" + unless_null $P1271, vivify_427 + $P1271 = root_new ['parrot';'Hash'] vivify_427: - set $P1262, $P1261[0] - unless_null $P1262, vivify_428 - new $P1262, "Undef" + set $P1272, $P1271["deflongname"] + unless_null $P1272, vivify_428 + $P1272 = root_new ['parrot';'ResizablePMCArray'] vivify_428: - get_hll_global $P1263, ["PAST"], "Var" - find_lex $P1264, "$name" - find_lex $P1265, "$past" - $P1266 = $P1263."new"($P1264 :named("name"), 1 :named("isdecl"), $P1265 :named("viviself"), "lexical" :named("scope")) - $P1262."push"($P1266) -.annotate 'line', 448 - get_global $P1267, "@BLOCK" - unless_null $P1267, vivify_429 - $P1267 = root_new ['parrot';'ResizablePMCArray'] + set $P1273, $P1272[0] + unless_null $P1273, vivify_429 + new $P1273, "Undef" vivify_429: - set $P1268, $P1267[0] - unless_null $P1268, vivify_430 - new $P1268, "Undef" + $S1274 = $P1273."ast"() + concat $P1275, $P1270, $S1274 + store_lex "$name", $P1275 +.annotate 'line', 454 + find_lex $P1276, "$past" + find_lex $P1277, "$name" + $P1276."name"($P1277) +.annotate 'line', 455 + find_dynamic_lex $P1280, "$*SCOPE" + unless_null $P1280, vivify_430 + get_hll_global $P1280, "$SCOPE" + unless_null $P1280, vivify_431 + die "Contextual $*SCOPE not found" + vivify_431: vivify_430: - find_lex $P1269, "$name" - $P1268."symbol"($P1269, "lexical" :named("scope")) -.annotate 'line', 449 - get_hll_global $P1270, ["PAST"], "Var" - find_lex $P1271, "$name" - $P1272 = $P1270."new"($P1271 :named("name")) - store_lex "$past", $P1272 -.annotate 'line', 445 - set $P1255, $P1272 - if_1256_end: -.annotate 'line', 442 - .return ($P1255) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "method_def" :subid("78_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1280 + set $S1281, $P1280 + isne $I1282, $S1281, "our" + if $I1282, if_1279 + new $P1278, 'Integer' + set $P1278, $I1282 + goto if_1279_end + if_1279: .annotate 'line', 456 - .const 'Sub' $P1296 = "79_1276996335.94529" - capture_lex $P1296 - new $P1279, 'ExceptionHandler' - set_addr $P1279, control_1278 - $P1279."handle_types"(.CONTROL_RETURN) - push_eh $P1279 - .lex "self", self - .lex "$/", param_1280 -.annotate 'line', 457 - new $P1281, "Undef" - .lex "$past", $P1281 - find_lex $P1282, "$/" - unless_null $P1282, vivify_431 - $P1282 = root_new ['parrot';'Hash'] - vivify_431: - set $P1283, $P1282["blockoid"] + get_global $P1283, "@BLOCK" unless_null $P1283, vivify_432 - new $P1283, "Undef" + $P1283 = root_new ['parrot';'ResizablePMCArray'] vivify_432: - $P1284 = $P1283."ast"() - store_lex "$past", $P1284 -.annotate 'line', 458 - find_lex $P1285, "$past" - $P1285."blocktype"("method") -.annotate 'line', 459 - find_lex $P1286, "$past" - $P1286."control"("return_pir") -.annotate 'line', 460 - find_lex $P1287, "$past" - unless_null $P1287, vivify_433 - $P1287 = root_new ['parrot';'ResizablePMCArray'] + set $P1284, $P1283[0] + unless_null $P1284, vivify_433 + $P1284 = root_new ['parrot';'ResizablePMCArray'] vivify_433: - set $P1288, $P1287[0] - unless_null $P1288, vivify_434 - new $P1288, "Undef" + set $P1285, $P1284[0] + unless_null $P1285, vivify_434 + new $P1285, "Undef" vivify_434: - get_hll_global $P1289, ["PAST"], "Op" - $P1290 = $P1289."new"(" .lex \"self\", self" :named("inline")) - $P1288."unshift"($P1290) -.annotate 'line', 461 - find_lex $P1291, "$past" - $P1291."symbol"("self", "lexical" :named("scope")) -.annotate 'line', 462 - find_lex $P1293, "$/" - unless_null $P1293, vivify_435 - $P1293 = root_new ['parrot';'Hash'] + get_hll_global $P1286, ["PAST"], "Var" + find_lex $P1287, "$name" + find_lex $P1288, "$past" + $P1289 = $P1286."new"($P1287 :named("name"), 1 :named("isdecl"), $P1288 :named("viviself"), "lexical" :named("scope")) + $P1285."push"($P1289) +.annotate 'line', 458 + get_global $P1290, "@BLOCK" + unless_null $P1290, vivify_435 + $P1290 = root_new ['parrot';'ResizablePMCArray'] vivify_435: - set $P1294, $P1293["deflongname"] - unless_null $P1294, vivify_436 - new $P1294, "Undef" + set $P1291, $P1290[0] + unless_null $P1291, vivify_436 + new $P1291, "Undef" vivify_436: - unless $P1294, if_1292_end - .const 'Sub' $P1296 = "79_1276996335.94529" - capture_lex $P1296 - $P1296() - if_1292_end: + find_lex $P1292, "$name" + $P1291."symbol"($P1292, "lexical" :named("scope")) +.annotate 'line', 459 + get_hll_global $P1293, ["PAST"], "Var" + find_lex $P1294, "$name" + $P1295 = $P1293."new"($P1294 :named("name")) + store_lex "$past", $P1295 +.annotate 'line', 455 + set $P1278, $P1295 + if_1279_end: +.annotate 'line', 452 + .return ($P1278) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "method_def" :subid("78_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1303 .annotate 'line', 466 - find_dynamic_lex $P1308, "$*MULTINESS" - unless_null $P1308, vivify_440 - get_hll_global $P1308, "$MULTINESS" - unless_null $P1308, vivify_441 - die "Contextual $*MULTINESS not found" - vivify_441: - vivify_440: - set $S1309, $P1308 - iseq $I1310, $S1309, "multi" - unless $I1310, if_1307_end - find_lex $P1311, "$past" - $P1312 = $P1311."multi"() - $P1312."unshift"("_") - if_1307_end: + .const 'Sub' $P1319 = "79_1278500542.82783" + capture_lex $P1319 + new $P1302, 'ExceptionHandler' + set_addr $P1302, control_1301 + $P1302."handle_types"(.CONTROL_RETURN) + push_eh $P1302 + .lex "self", self + .lex "$/", param_1303 .annotate 'line', 467 - find_lex $P1313, "$/" + new $P1304, "Undef" + .lex "$past", $P1304 + find_lex $P1305, "$/" + unless_null $P1305, vivify_437 + $P1305 = root_new ['parrot';'Hash'] + vivify_437: + set $P1306, $P1305["blockoid"] + unless_null $P1306, vivify_438 + new $P1306, "Undef" + vivify_438: + $P1307 = $P1306."ast"() + store_lex "$past", $P1307 +.annotate 'line', 468 + find_lex $P1308, "$past" + $P1308."blocktype"("method") +.annotate 'line', 469 + find_lex $P1309, "$past" + $P1309."control"("return_pir") +.annotate 'line', 470 + find_lex $P1310, "$past" + unless_null $P1310, vivify_439 + $P1310 = root_new ['parrot';'ResizablePMCArray'] + vivify_439: + set $P1311, $P1310[0] + unless_null $P1311, vivify_440 + new $P1311, "Undef" + vivify_440: + get_hll_global $P1312, ["PAST"], "Op" + $P1313 = $P1312."new"(" .lex \"self\", self" :named("inline")) + $P1311."unshift"($P1313) +.annotate 'line', 471 find_lex $P1314, "$past" - $P1315 = $P1313."!make"($P1314) -.annotate 'line', 456 - .return ($P1315) - control_1278: + $P1314."symbol"("self", "lexical" :named("scope")) +.annotate 'line', 472 + find_lex $P1316, "$/" + unless_null $P1316, vivify_441 + $P1316 = root_new ['parrot';'Hash'] + vivify_441: + set $P1317, $P1316["deflongname"] + unless_null $P1317, vivify_442 + new $P1317, "Undef" + vivify_442: + unless $P1317, if_1315_end + .const 'Sub' $P1319 = "79_1278500542.82783" + capture_lex $P1319 + $P1319() + if_1315_end: +.annotate 'line', 476 + find_dynamic_lex $P1331, "$*MULTINESS" + unless_null $P1331, vivify_446 + get_hll_global $P1331, "$MULTINESS" + unless_null $P1331, vivify_447 + die "Contextual $*MULTINESS not found" + vivify_447: + vivify_446: + set $S1332, $P1331 + iseq $I1333, $S1332, "multi" + unless $I1333, if_1330_end + find_lex $P1334, "$past" + $P1335 = $P1334."multi"() + $P1335."unshift"("_") + if_1330_end: +.annotate 'line', 477 + find_lex $P1336, "$/" + find_lex $P1337, "$past" + $P1338 = $P1336."!make"($P1337) +.annotate 'line', 466 + .return ($P1338) + control_1301: .local pmc exception .get_results (exception) - getattribute $P1316, exception, "payload" - .return ($P1316) + getattribute $P1339, exception, "payload" + .return ($P1339) .end .namespace ["NQP";"Actions"] -.sub "_block1295" :anon :subid("79_1276996335.94529") :outer("78_1276996335.94529") -.annotate 'line', 463 - new $P1297, "Undef" - .lex "$name", $P1297 - find_lex $P1298, "$/" - unless_null $P1298, vivify_437 - $P1298 = root_new ['parrot';'Hash'] - vivify_437: - set $P1299, $P1298["deflongname"] - unless_null $P1299, vivify_438 - $P1299 = root_new ['parrot';'ResizablePMCArray'] - vivify_438: - set $P1300, $P1299[0] - unless_null $P1300, vivify_439 - new $P1300, "Undef" - vivify_439: - $P1301 = $P1300."ast"() - set $S1302, $P1301 - new $P1303, 'String' - set $P1303, $S1302 - store_lex "$name", $P1303 -.annotate 'line', 464 - find_lex $P1304, "$past" - find_lex $P1305, "$name" - $P1306 = $P1304."name"($P1305) -.annotate 'line', 462 - .return ($P1306) +.sub "_block1318" :anon :subid("79_1278500542.82783") :outer("78_1278500542.82783") +.annotate 'line', 473 + new $P1320, "Undef" + .lex "$name", $P1320 + find_lex $P1321, "$/" + unless_null $P1321, vivify_443 + $P1321 = root_new ['parrot';'Hash'] + vivify_443: + set $P1322, $P1321["deflongname"] + unless_null $P1322, vivify_444 + $P1322 = root_new ['parrot';'ResizablePMCArray'] + vivify_444: + set $P1323, $P1322[0] + unless_null $P1323, vivify_445 + new $P1323, "Undef" + vivify_445: + $P1324 = $P1323."ast"() + set $S1325, $P1324 + new $P1326, 'String' + set $P1326, $S1325 + store_lex "$name", $P1326 +.annotate 'line', 474 + find_lex $P1327, "$past" + find_lex $P1328, "$name" + $P1329 = $P1327."name"($P1328) +.annotate 'line', 472 + .return ($P1329) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "signature" :subid("80_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1320 -.annotate 'line', 471 - .const 'Sub' $P1346 = "82_1276996335.94529" - capture_lex $P1346 - .const 'Sub' $P1331 = "81_1276996335.94529" - capture_lex $P1331 - new $P1319, 'ExceptionHandler' - set_addr $P1319, control_1318 - $P1319."handle_types"(.CONTROL_RETURN) - push_eh $P1319 +.sub "signature" :subid("80_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1343 +.annotate 'line', 481 + .const 'Sub' $P1369 = "82_1278500542.82783" + capture_lex $P1369 + .const 'Sub' $P1354 = "81_1278500542.82783" + capture_lex $P1354 + new $P1342, 'ExceptionHandler' + set_addr $P1342, control_1341 + $P1342."handle_types"(.CONTROL_RETURN) + push_eh $P1342 .lex "self", self - .lex "$/", param_1320 -.annotate 'line', 472 - new $P1321, "Undef" - .lex "$BLOCKINIT", $P1321 - get_global $P1322, "@BLOCK" - unless_null $P1322, vivify_442 - $P1322 = root_new ['parrot';'ResizablePMCArray'] - vivify_442: - set $P1323, $P1322[0] - unless_null $P1323, vivify_443 - $P1323 = root_new ['parrot';'ResizablePMCArray'] - vivify_443: - set $P1324, $P1323[0] - unless_null $P1324, vivify_444 - new $P1324, "Undef" - vivify_444: - store_lex "$BLOCKINIT", $P1324 -.annotate 'line', 474 - find_lex $P1326, "$/" - unless_null $P1326, vivify_445 - $P1326 = root_new ['parrot';'Hash'] - vivify_445: - set $P1327, $P1326["parameter"] - unless_null $P1327, vivify_446 - new $P1327, "Undef" - vivify_446: - defined $I1328, $P1327 - unless $I1328, for_undef_447 - iter $P1325, $P1327 - new $P1338, 'ExceptionHandler' - set_addr $P1338, loop1337_handler - $P1338."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1338 - loop1337_test: - unless $P1325, loop1337_done - shift $P1329, $P1325 - loop1337_redo: - .const 'Sub' $P1331 = "81_1276996335.94529" - capture_lex $P1331 - $P1331($P1329) - loop1337_next: - goto loop1337_test - loop1337_handler: + .lex "$/", param_1343 +.annotate 'line', 482 + new $P1344, "Undef" + .lex "$BLOCKINIT", $P1344 + get_global $P1345, "@BLOCK" + unless_null $P1345, vivify_448 + $P1345 = root_new ['parrot';'ResizablePMCArray'] + vivify_448: + set $P1346, $P1345[0] + unless_null $P1346, vivify_449 + $P1346 = root_new ['parrot';'ResizablePMCArray'] + vivify_449: + set $P1347, $P1346[0] + unless_null $P1347, vivify_450 + new $P1347, "Undef" + vivify_450: + store_lex "$BLOCKINIT", $P1347 +.annotate 'line', 484 + find_lex $P1349, "$/" + unless_null $P1349, vivify_451 + $P1349 = root_new ['parrot';'Hash'] + vivify_451: + set $P1350, $P1349["parameter"] + unless_null $P1350, vivify_452 + new $P1350, "Undef" + vivify_452: + defined $I1351, $P1350 + unless $I1351, for_undef_453 + iter $P1348, $P1350 + new $P1361, 'ExceptionHandler' + set_addr $P1361, loop1360_handler + $P1361."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1361 + loop1360_test: + unless $P1348, loop1360_done + shift $P1352, $P1348 + loop1360_redo: + .const 'Sub' $P1354 = "81_1278500542.82783" + capture_lex $P1354 + $P1354($P1352) + loop1360_next: + goto loop1360_test + loop1360_handler: .local pmc exception .get_results (exception) - getattribute $P1339, exception, 'type' - eq $P1339, .CONTROL_LOOP_NEXT, loop1337_next - eq $P1339, .CONTROL_LOOP_REDO, loop1337_redo - loop1337_done: + getattribute $P1362, exception, 'type' + eq $P1362, .CONTROL_LOOP_NEXT, loop1360_next + eq $P1362, .CONTROL_LOOP_REDO, loop1360_redo + loop1360_done: pop_eh - for_undef_447: -.annotate 'line', 477 - find_dynamic_lex $P1342, "$*MULTINESS" - unless_null $P1342, vivify_448 - get_hll_global $P1342, "$MULTINESS" - unless_null $P1342, vivify_449 + for_undef_453: +.annotate 'line', 487 + find_dynamic_lex $P1365, "$*MULTINESS" + unless_null $P1365, vivify_454 + get_hll_global $P1365, "$MULTINESS" + unless_null $P1365, vivify_455 die "Contextual $*MULTINESS not found" - vivify_449: - vivify_448: - set $S1343, $P1342 - iseq $I1344, $S1343, "multi" - if $I1344, if_1341 - new $P1340, 'Integer' - set $P1340, $I1344 - goto if_1341_end - if_1341: - .const 'Sub' $P1346 = "82_1276996335.94529" - capture_lex $P1346 - $P1372 = $P1346() - set $P1340, $P1372 - if_1341_end: -.annotate 'line', 471 - .return ($P1340) - control_1318: + vivify_455: + vivify_454: + set $S1366, $P1365 + iseq $I1367, $S1366, "multi" + if $I1367, if_1364 + new $P1363, 'Integer' + set $P1363, $I1367 + goto if_1364_end + if_1364: + .const 'Sub' $P1369 = "82_1278500542.82783" + capture_lex $P1369 + $P1395 = $P1369() + set $P1363, $P1395 + if_1364_end: +.annotate 'line', 481 + .return ($P1363) + control_1341: .local pmc exception .get_results (exception) - getattribute $P1373, exception, "payload" - .return ($P1373) + getattribute $P1396, exception, "payload" + .return ($P1396) .end .namespace ["NQP";"Actions"] -.sub "_block1330" :anon :subid("81_1276996335.94529") :outer("80_1276996335.94529") - .param pmc param_1332 -.annotate 'line', 474 - .lex "$_", param_1332 - find_lex $P1333, "$BLOCKINIT" - find_lex $P1334, "$_" - $P1335 = $P1334."ast"() - $P1336 = $P1333."push"($P1335) - .return ($P1336) +.sub "_block1353" :anon :subid("81_1278500542.82783") :outer("80_1278500542.82783") + .param pmc param_1355 +.annotate 'line', 484 + .lex "$_", param_1355 + find_lex $P1356, "$BLOCKINIT" + find_lex $P1357, "$_" + $P1358 = $P1357."ast"() + $P1359 = $P1356."push"($P1358) + .return ($P1359) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "_block1345" :anon :subid("82_1276996335.94529") :outer("80_1276996335.94529") -.annotate 'line', 477 - .const 'Sub' $P1355 = "83_1276996335.94529" - capture_lex $P1355 -.annotate 'line', 478 - $P1347 = root_new ['parrot';'ResizablePMCArray'] - .lex "@params", $P1347 -.annotate 'line', 477 - find_lex $P1348, "@params" -.annotate 'line', 479 - find_lex $P1350, "$BLOCKINIT" - $P1351 = $P1350."list"() - defined $I1352, $P1351 - unless $I1352, for_undef_450 - iter $P1349, $P1351 - new $P1366, 'ExceptionHandler' - set_addr $P1366, loop1365_handler - $P1366."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1366 - loop1365_test: - unless $P1349, loop1365_done - shift $P1353, $P1349 - loop1365_redo: - .const 'Sub' $P1355 = "83_1276996335.94529" - capture_lex $P1355 - $P1355($P1353) - loop1365_next: - goto loop1365_test - loop1365_handler: +.sub "_block1368" :anon :subid("82_1278500542.82783") :outer("80_1278500542.82783") +.annotate 'line', 487 + .const 'Sub' $P1378 = "83_1278500542.82783" + capture_lex $P1378 +.annotate 'line', 488 + $P1370 = root_new ['parrot';'ResizablePMCArray'] + .lex "@params", $P1370 +.annotate 'line', 487 + find_lex $P1371, "@params" +.annotate 'line', 489 + find_lex $P1373, "$BLOCKINIT" + $P1374 = $P1373."list"() + defined $I1375, $P1374 + unless $I1375, for_undef_456 + iter $P1372, $P1374 + new $P1389, 'ExceptionHandler' + set_addr $P1389, loop1388_handler + $P1389."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1389 + loop1388_test: + unless $P1372, loop1388_done + shift $P1376, $P1372 + loop1388_redo: + .const 'Sub' $P1378 = "83_1278500542.82783" + capture_lex $P1378 + $P1378($P1376) + loop1388_next: + goto loop1388_test + loop1388_handler: .local pmc exception .get_results (exception) - getattribute $P1367, exception, 'type' - eq $P1367, .CONTROL_LOOP_NEXT, loop1365_next - eq $P1367, .CONTROL_LOOP_REDO, loop1365_redo - loop1365_done: + getattribute $P1390, exception, 'type' + eq $P1390, .CONTROL_LOOP_NEXT, loop1388_next + eq $P1390, .CONTROL_LOOP_REDO, loop1388_redo + loop1388_done: pop_eh - for_undef_450: -.annotate 'line', 482 - get_global $P1368, "@BLOCK" - unless_null $P1368, vivify_451 - $P1368 = root_new ['parrot';'ResizablePMCArray'] - vivify_451: - set $P1369, $P1368[0] - unless_null $P1369, vivify_452 - new $P1369, "Undef" - vivify_452: - find_lex $P1370, "@params" - $P1371 = $P1369."multi"($P1370) -.annotate 'line', 477 - .return ($P1371) + for_undef_456: +.annotate 'line', 492 + get_global $P1391, "@BLOCK" + unless_null $P1391, vivify_457 + $P1391 = root_new ['parrot';'ResizablePMCArray'] + vivify_457: + set $P1392, $P1391[0] + unless_null $P1392, vivify_458 + new $P1392, "Undef" + vivify_458: + find_lex $P1393, "@params" + $P1394 = $P1392."multi"($P1393) +.annotate 'line', 487 + .return ($P1394) .end .namespace ["NQP";"Actions"] -.sub "_block1354" :anon :subid("83_1276996335.94529") :outer("82_1276996335.94529") - .param pmc param_1356 -.annotate 'line', 479 - .lex "$_", param_1356 -.annotate 'line', 480 - find_lex $P1357, "@params" - find_lex $P1359, "$_" - $P1360 = $P1359."multitype"() - set $P1358, $P1360 - defined $I1362, $P1358 - if $I1362, default_1361 - new $P1363, "String" - assign $P1363, "_" - set $P1358, $P1363 - default_1361: - $P1364 = $P1357."push"($P1358) -.annotate 'line', 479 - .return ($P1364) +.sub "_block1377" :anon :subid("83_1278500542.82783") :outer("82_1278500542.82783") + .param pmc param_1379 +.annotate 'line', 489 + .lex "$_", param_1379 +.annotate 'line', 490 + find_lex $P1380, "@params" + find_lex $P1382, "$_" + $P1383 = $P1382."multitype"() + set $P1381, $P1383 + defined $I1385, $P1381 + if $I1385, default_1384 + new $P1386, "String" + assign $P1386, "_" + set $P1381, $P1386 + default_1384: + $P1387 = $P1380."push"($P1381) +.annotate 'line', 489 + .return ($P1387) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "parameter" :subid("84_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1377 -.annotate 'line', 486 - .const 'Sub' $P1458 = "85_1276996335.94529" - capture_lex $P1458 - new $P1376, 'ExceptionHandler' - set_addr $P1376, control_1375 - $P1376."handle_types"(.CONTROL_RETURN) - push_eh $P1376 - .lex "self", self - .lex "$/", param_1377 -.annotate 'line', 487 - new $P1378, "Undef" - .lex "$quant", $P1378 -.annotate 'line', 488 - new $P1379, "Undef" - .lex "$past", $P1379 -.annotate 'line', 487 - find_lex $P1380, "$/" - unless_null $P1380, vivify_453 - $P1380 = root_new ['parrot';'Hash'] - vivify_453: - set $P1381, $P1380["quant"] - unless_null $P1381, vivify_454 - new $P1381, "Undef" - vivify_454: - store_lex "$quant", $P1381 - find_lex $P1382, "$past" -.annotate 'line', 489 - find_lex $P1384, "$/" - unless_null $P1384, vivify_455 - $P1384 = root_new ['parrot';'Hash'] - vivify_455: - set $P1385, $P1384["named_param"] - unless_null $P1385, vivify_456 - new $P1385, "Undef" - vivify_456: - if $P1385, if_1383 +.sub "parameter" :subid("84_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1400 .annotate 'line', 496 - find_lex $P1399, "$/" - unless_null $P1399, vivify_457 - $P1399 = root_new ['parrot';'Hash'] - vivify_457: - set $P1400, $P1399["param_var"] - unless_null $P1400, vivify_458 - new $P1400, "Undef" - vivify_458: - $P1401 = $P1400."ast"() - store_lex "$past", $P1401 + .const 'Sub' $P1481 = "85_1278500542.82783" + capture_lex $P1481 + new $P1399, 'ExceptionHandler' + set_addr $P1399, control_1398 + $P1399."handle_types"(.CONTROL_RETURN) + push_eh $P1399 + .lex "self", self + .lex "$/", param_1400 .annotate 'line', 497 - find_lex $P1403, "$quant" - set $S1404, $P1403 - iseq $I1405, $S1404, "*" - if $I1405, if_1402 -.annotate 'line', 501 - find_lex $P1414, "$quant" - set $S1415, $P1414 - iseq $I1416, $S1415, "?" - unless $I1416, if_1413_end -.annotate 'line', 502 - find_lex $P1417, "$past" - find_lex $P1418, "$/" - unless_null $P1418, vivify_459 - $P1418 = root_new ['parrot';'Hash'] + new $P1401, "Undef" + .lex "$quant", $P1401 +.annotate 'line', 498 + new $P1402, "Undef" + .lex "$past", $P1402 +.annotate 'line', 497 + find_lex $P1403, "$/" + unless_null $P1403, vivify_459 + $P1403 = root_new ['parrot';'Hash'] vivify_459: - set $P1419, $P1418["param_var"] - unless_null $P1419, vivify_460 - $P1419 = root_new ['parrot';'Hash'] + set $P1404, $P1403["quant"] + unless_null $P1404, vivify_460 + new $P1404, "Undef" vivify_460: - set $P1420, $P1419["sigil"] - unless_null $P1420, vivify_461 - new $P1420, "Undef" - vivify_461: - $P1421 = "vivitype"($P1420) - $P1417."viviself"($P1421) - if_1413_end: -.annotate 'line', 501 - goto if_1402_end - if_1402: -.annotate 'line', 498 - find_lex $P1406, "$past" - $P1406."slurpy"(1) + store_lex "$quant", $P1404 + find_lex $P1405, "$past" .annotate 'line', 499 - find_lex $P1407, "$past" - find_lex $P1408, "$/" + find_lex $P1407, "$/" + unless_null $P1407, vivify_461 + $P1407 = root_new ['parrot';'Hash'] + vivify_461: + set $P1408, $P1407["named_param"] unless_null $P1408, vivify_462 - $P1408 = root_new ['parrot';'Hash'] + new $P1408, "Undef" vivify_462: - set $P1409, $P1408["param_var"] - unless_null $P1409, vivify_463 - $P1409 = root_new ['parrot';'Hash'] + if $P1408, if_1406 +.annotate 'line', 506 + find_lex $P1422, "$/" + unless_null $P1422, vivify_463 + $P1422 = root_new ['parrot';'Hash'] vivify_463: - set $P1410, $P1409["sigil"] - unless_null $P1410, vivify_464 - new $P1410, "Undef" + set $P1423, $P1422["param_var"] + unless_null $P1423, vivify_464 + new $P1423, "Undef" vivify_464: - set $S1411, $P1410 - iseq $I1412, $S1411, "%" - $P1407."named"($I1412) - if_1402_end: -.annotate 'line', 495 - goto if_1383_end - if_1383: -.annotate 'line', 490 - find_lex $P1386, "$/" - unless_null $P1386, vivify_465 - $P1386 = root_new ['parrot';'Hash'] + $P1424 = $P1423."ast"() + store_lex "$past", $P1424 +.annotate 'line', 507 + find_lex $P1426, "$quant" + set $S1427, $P1426 + iseq $I1428, $S1427, "*" + if $I1428, if_1425 +.annotate 'line', 511 + find_lex $P1437, "$quant" + set $S1438, $P1437 + iseq $I1439, $S1438, "?" + unless $I1439, if_1436_end +.annotate 'line', 512 + find_lex $P1440, "$past" + find_lex $P1441, "$/" + unless_null $P1441, vivify_465 + $P1441 = root_new ['parrot';'Hash'] vivify_465: - set $P1387, $P1386["named_param"] - unless_null $P1387, vivify_466 - new $P1387, "Undef" + set $P1442, $P1441["param_var"] + unless_null $P1442, vivify_466 + $P1442 = root_new ['parrot';'Hash'] vivify_466: - $P1388 = $P1387."ast"() - store_lex "$past", $P1388 -.annotate 'line', 491 - find_lex $P1390, "$quant" - set $S1391, $P1390 - isne $I1392, $S1391, "!" - unless $I1392, if_1389_end -.annotate 'line', 492 - find_lex $P1393, "$past" - find_lex $P1394, "$/" - unless_null $P1394, vivify_467 - $P1394 = root_new ['parrot';'Hash'] + set $P1443, $P1442["sigil"] + unless_null $P1443, vivify_467 + new $P1443, "Undef" vivify_467: - set $P1395, $P1394["named_param"] - unless_null $P1395, vivify_468 - $P1395 = root_new ['parrot';'Hash'] + $P1444 = "vivitype"($P1443) + $P1440."viviself"($P1444) + if_1436_end: +.annotate 'line', 511 + goto if_1425_end + if_1425: +.annotate 'line', 508 + find_lex $P1429, "$past" + $P1429."slurpy"(1) +.annotate 'line', 509 + find_lex $P1430, "$past" + find_lex $P1431, "$/" + unless_null $P1431, vivify_468 + $P1431 = root_new ['parrot';'Hash'] vivify_468: - set $P1396, $P1395["param_var"] - unless_null $P1396, vivify_469 - $P1396 = root_new ['parrot';'Hash'] + set $P1432, $P1431["param_var"] + unless_null $P1432, vivify_469 + $P1432 = root_new ['parrot';'Hash'] vivify_469: - set $P1397, $P1396["sigil"] - unless_null $P1397, vivify_470 - new $P1397, "Undef" + set $P1433, $P1432["sigil"] + unless_null $P1433, vivify_470 + new $P1433, "Undef" vivify_470: - $P1398 = "vivitype"($P1397) - $P1393."viviself"($P1398) - if_1389_end: - if_1383_end: + set $S1434, $P1433 + iseq $I1435, $S1434, "%" + $P1430."named"($I1435) + if_1425_end: .annotate 'line', 505 - find_lex $P1423, "$/" - unless_null $P1423, vivify_471 - $P1423 = root_new ['parrot';'Hash'] + goto if_1406_end + if_1406: +.annotate 'line', 500 + find_lex $P1409, "$/" + unless_null $P1409, vivify_471 + $P1409 = root_new ['parrot';'Hash'] vivify_471: - set $P1424, $P1423["default_value"] - unless_null $P1424, vivify_472 - new $P1424, "Undef" + set $P1410, $P1409["named_param"] + unless_null $P1410, vivify_472 + new $P1410, "Undef" vivify_472: - unless $P1424, if_1422_end -.annotate 'line', 506 - find_lex $P1426, "$quant" - set $S1427, $P1426 - iseq $I1428, $S1427, "*" - unless $I1428, if_1425_end -.annotate 'line', 507 - find_lex $P1429, "$/" - $P1430 = $P1429."CURSOR"() - $P1430."panic"("Can't put default on slurpy parameter") - if_1425_end: -.annotate 'line', 509 - find_lex $P1432, "$quant" - set $S1433, $P1432 - iseq $I1434, $S1433, "!" - unless $I1434, if_1431_end -.annotate 'line', 510 - find_lex $P1435, "$/" - $P1436 = $P1435."CURSOR"() - $P1436."panic"("Can't put default on required parameter") - if_1431_end: -.annotate 'line', 512 - find_lex $P1437, "$past" - find_lex $P1438, "$/" - unless_null $P1438, vivify_473 - $P1438 = root_new ['parrot';'Hash'] + $P1411 = $P1410."ast"() + store_lex "$past", $P1411 +.annotate 'line', 501 + find_lex $P1413, "$quant" + set $S1414, $P1413 + isne $I1415, $S1414, "!" + unless $I1415, if_1412_end +.annotate 'line', 502 + find_lex $P1416, "$past" + find_lex $P1417, "$/" + unless_null $P1417, vivify_473 + $P1417 = root_new ['parrot';'Hash'] vivify_473: - set $P1439, $P1438["default_value"] - unless_null $P1439, vivify_474 - $P1439 = root_new ['parrot';'ResizablePMCArray'] + set $P1418, $P1417["named_param"] + unless_null $P1418, vivify_474 + $P1418 = root_new ['parrot';'Hash'] vivify_474: - set $P1440, $P1439[0] - unless_null $P1440, vivify_475 - $P1440 = root_new ['parrot';'Hash'] + set $P1419, $P1418["param_var"] + unless_null $P1419, vivify_475 + $P1419 = root_new ['parrot';'Hash'] vivify_475: - set $P1441, $P1440["EXPR"] - unless_null $P1441, vivify_476 - new $P1441, "Undef" + set $P1420, $P1419["sigil"] + unless_null $P1420, vivify_476 + new $P1420, "Undef" vivify_476: - $P1442 = $P1441."ast"() - $P1437."viviself"($P1442) - if_1422_end: -.annotate 'line', 514 - find_lex $P1444, "$past" - $P1445 = $P1444."viviself"() - if $P1445, unless_1443_end - get_global $P1446, "@BLOCK" + $P1421 = "vivitype"($P1420) + $P1416."viviself"($P1421) + if_1412_end: + if_1406_end: +.annotate 'line', 515 + find_lex $P1446, "$/" unless_null $P1446, vivify_477 - $P1446 = root_new ['parrot';'ResizablePMCArray'] + $P1446 = root_new ['parrot';'Hash'] vivify_477: - set $P1447, $P1446[0] + set $P1447, $P1446["default_value"] unless_null $P1447, vivify_478 new $P1447, "Undef" vivify_478: - get_global $P1448, "@BLOCK" - unless_null $P1448, vivify_479 - $P1448 = root_new ['parrot';'ResizablePMCArray'] + unless $P1447, if_1445_end +.annotate 'line', 516 + find_lex $P1449, "$quant" + set $S1450, $P1449 + iseq $I1451, $S1450, "*" + unless $I1451, if_1448_end +.annotate 'line', 517 + find_lex $P1452, "$/" + $P1453 = $P1452."CURSOR"() + $P1453."panic"("Can't put default on slurpy parameter") + if_1448_end: +.annotate 'line', 519 + find_lex $P1455, "$quant" + set $S1456, $P1455 + iseq $I1457, $S1456, "!" + unless $I1457, if_1454_end +.annotate 'line', 520 + find_lex $P1458, "$/" + $P1459 = $P1458."CURSOR"() + $P1459."panic"("Can't put default on required parameter") + if_1454_end: +.annotate 'line', 522 + find_lex $P1460, "$past" + find_lex $P1461, "$/" + unless_null $P1461, vivify_479 + $P1461 = root_new ['parrot';'Hash'] vivify_479: - set $P1449, $P1448[0] - unless_null $P1449, vivify_480 - new $P1449, "Undef" + set $P1462, $P1461["default_value"] + unless_null $P1462, vivify_480 + $P1462 = root_new ['parrot';'ResizablePMCArray'] vivify_480: - $P1450 = $P1449."arity"() - set $N1451, $P1450 - new $P1452, 'Float' - set $P1452, $N1451 - add $P1453, $P1452, 1 - $P1447."arity"($P1453) - unless_1443_end: -.annotate 'line', 517 - find_lex $P1455, "$/" - unless_null $P1455, vivify_481 - $P1455 = root_new ['parrot';'Hash'] + set $P1463, $P1462[0] + unless_null $P1463, vivify_481 + $P1463 = root_new ['parrot';'Hash'] vivify_481: - set $P1456, $P1455["typename"] - unless_null $P1456, vivify_482 - new $P1456, "Undef" + set $P1464, $P1463["EXPR"] + unless_null $P1464, vivify_482 + new $P1464, "Undef" vivify_482: - unless $P1456, if_1454_end - .const 'Sub' $P1458 = "85_1276996335.94529" - capture_lex $P1458 - $P1458() - if_1454_end: -.annotate 'line', 523 - find_lex $P1482, "$/" - find_lex $P1483, "$past" - $P1484 = $P1482."!make"($P1483) -.annotate 'line', 486 - .return ($P1484) - control_1375: - .local pmc exception - .get_results (exception) - getattribute $P1485, exception, "payload" - .return ($P1485) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "_block1457" :anon :subid("85_1276996335.94529") :outer("84_1276996335.94529") -.annotate 'line', 517 - .const 'Sub' $P1470 = "86_1276996335.94529" - capture_lex $P1470 -.annotate 'line', 518 - $P1459 = root_new ['parrot';'ResizablePMCArray'] - .lex "@multitype", $P1459 -.annotate 'line', 517 - find_lex $P1460, "@multitype" -.annotate 'line', 519 - find_lex $P1462, "$/" - unless_null $P1462, vivify_483 - $P1462 = root_new ['parrot';'Hash'] + $P1465 = $P1464."ast"() + $P1460."viviself"($P1465) + if_1445_end: +.annotate 'line', 524 + find_lex $P1467, "$past" + $P1468 = $P1467."viviself"() + if $P1468, unless_1466_end + get_global $P1469, "@BLOCK" + unless_null $P1469, vivify_483 + $P1469 = root_new ['parrot';'ResizablePMCArray'] vivify_483: - set $P1463, $P1462["typename"] - unless_null $P1463, vivify_484 - $P1463 = root_new ['parrot';'ResizablePMCArray'] + set $P1470, $P1469[0] + unless_null $P1470, vivify_484 + new $P1470, "Undef" vivify_484: - set $P1464, $P1463[0] - unless_null $P1464, vivify_485 - $P1464 = root_new ['parrot';'Hash'] + get_global $P1471, "@BLOCK" + unless_null $P1471, vivify_485 + $P1471 = root_new ['parrot';'ResizablePMCArray'] vivify_485: - set $P1465, $P1464["name"] - unless_null $P1465, vivify_486 - $P1465 = root_new ['parrot';'Hash'] + set $P1472, $P1471[0] + unless_null $P1472, vivify_486 + new $P1472, "Undef" vivify_486: - set $P1466, $P1465["identifier"] - unless_null $P1466, vivify_487 - new $P1466, "Undef" + $P1473 = $P1472."arity"() + set $N1474, $P1473 + new $P1475, 'Float' + set $P1475, $N1474 + add $P1476, $P1475, 1 + $P1470."arity"($P1476) + unless_1466_end: +.annotate 'line', 527 + find_lex $P1478, "$/" + unless_null $P1478, vivify_487 + $P1478 = root_new ['parrot';'Hash'] vivify_487: - defined $I1467, $P1466 - unless $I1467, for_undef_488 - iter $P1461, $P1466 - new $P1477, 'ExceptionHandler' - set_addr $P1477, loop1476_handler - $P1477."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1477 - loop1476_test: - unless $P1461, loop1476_done - shift $P1468, $P1461 - loop1476_redo: - .const 'Sub' $P1470 = "86_1276996335.94529" - capture_lex $P1470 - $P1470($P1468) - loop1476_next: - goto loop1476_test - loop1476_handler: + set $P1479, $P1478["typename"] + unless_null $P1479, vivify_488 + new $P1479, "Undef" + vivify_488: + unless $P1479, if_1477_end + .const 'Sub' $P1481 = "85_1278500542.82783" + capture_lex $P1481 + $P1481() + if_1477_end: +.annotate 'line', 533 + find_lex $P1505, "$/" + find_lex $P1506, "$past" + $P1507 = $P1505."!make"($P1506) +.annotate 'line', 496 + .return ($P1507) + control_1398: .local pmc exception .get_results (exception) - getattribute $P1478, exception, 'type' - eq $P1478, .CONTROL_LOOP_NEXT, loop1476_next - eq $P1478, .CONTROL_LOOP_REDO, loop1476_redo - loop1476_done: - pop_eh - for_undef_488: -.annotate 'line', 520 - find_lex $P1479, "$past" - find_lex $P1480, "@multitype" - $P1481 = $P1479."multitype"($P1480) -.annotate 'line', 517 - .return ($P1481) -.end - - -.namespace ["NQP";"Actions"] -.sub "_block1469" :anon :subid("86_1276996335.94529") :outer("85_1276996335.94529") - .param pmc param_1471 -.annotate 'line', 519 - .lex "$_", param_1471 - find_lex $P1472, "@multitype" - find_lex $P1473, "$_" - set $S1474, $P1473 - $P1475 = $P1472."push"($S1474) - .return ($P1475) + getattribute $P1508, exception, "payload" + .return ($P1508) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "param_var" :subid("87_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1489 -.annotate 'line', 526 - new $P1488, 'ExceptionHandler' - set_addr $P1488, control_1487 - $P1488."handle_types"(.CONTROL_RETURN) - push_eh $P1488 - .lex "self", self - .lex "$/", param_1489 +.sub "_block1480" :anon :subid("85_1278500542.82783") :outer("84_1278500542.82783") .annotate 'line', 527 - new $P1490, "Undef" - .lex "$name", $P1490 + .const 'Sub' $P1493 = "86_1278500542.82783" + capture_lex $P1493 .annotate 'line', 528 - new $P1491, "Undef" - .lex "$past", $P1491 + $P1482 = root_new ['parrot';'ResizablePMCArray'] + .lex "@multitype", $P1482 .annotate 'line', 527 - find_lex $P1492, "$/" - set $S1493, $P1492 - new $P1494, 'String' - set $P1494, $S1493 - store_lex "$name", $P1494 -.annotate 'line', 528 - get_hll_global $P1495, ["PAST"], "Var" - find_lex $P1496, "$name" - find_lex $P1497, "$/" - $P1498 = $P1495."new"($P1496 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1497 :named("node")) - store_lex "$past", $P1498 -.annotate 'line', 530 - get_global $P1499, "@BLOCK" - unless_null $P1499, vivify_489 - $P1499 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1483, "@multitype" +.annotate 'line', 529 + find_lex $P1485, "$/" + unless_null $P1485, vivify_489 + $P1485 = root_new ['parrot';'Hash'] vivify_489: - set $P1500, $P1499[0] - unless_null $P1500, vivify_490 - new $P1500, "Undef" + set $P1486, $P1485["typename"] + unless_null $P1486, vivify_490 + $P1486 = root_new ['parrot';'ResizablePMCArray'] vivify_490: - find_lex $P1501, "$name" - $P1500."symbol"($P1501, "lexical" :named("scope")) -.annotate 'line', 531 - find_lex $P1502, "$/" - find_lex $P1503, "$past" - $P1504 = $P1502."!make"($P1503) -.annotate 'line', 526 - .return ($P1504) - control_1487: + set $P1487, $P1486[0] + unless_null $P1487, vivify_491 + $P1487 = root_new ['parrot';'Hash'] + vivify_491: + set $P1488, $P1487["name"] + unless_null $P1488, vivify_492 + $P1488 = root_new ['parrot';'Hash'] + vivify_492: + set $P1489, $P1488["identifier"] + unless_null $P1489, vivify_493 + new $P1489, "Undef" + vivify_493: + defined $I1490, $P1489 + unless $I1490, for_undef_494 + iter $P1484, $P1489 + new $P1500, 'ExceptionHandler' + set_addr $P1500, loop1499_handler + $P1500."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1500 + loop1499_test: + unless $P1484, loop1499_done + shift $P1491, $P1484 + loop1499_redo: + .const 'Sub' $P1493 = "86_1278500542.82783" + capture_lex $P1493 + $P1493($P1491) + loop1499_next: + goto loop1499_test + loop1499_handler: .local pmc exception .get_results (exception) - getattribute $P1505, exception, "payload" - .return ($P1505) + getattribute $P1501, exception, 'type' + eq $P1501, .CONTROL_LOOP_NEXT, loop1499_next + eq $P1501, .CONTROL_LOOP_REDO, loop1499_redo + loop1499_done: + pop_eh + for_undef_494: +.annotate 'line', 530 + find_lex $P1502, "$past" + find_lex $P1503, "@multitype" + $P1504 = $P1502."multitype"($P1503) +.annotate 'line', 527 + .return ($P1504) +.end + + +.namespace ["NQP";"Actions"] +.sub "_block1492" :anon :subid("86_1278500542.82783") :outer("85_1278500542.82783") + .param pmc param_1494 +.annotate 'line', 529 + .lex "$_", param_1494 + find_lex $P1495, "@multitype" + find_lex $P1496, "$_" + set $S1497, $P1496 + $P1498 = $P1495."push"($S1497) + .return ($P1498) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "named_param" :subid("88_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1509 -.annotate 'line', 534 - new $P1508, 'ExceptionHandler' - set_addr $P1508, control_1507 - $P1508."handle_types"(.CONTROL_RETURN) - push_eh $P1508 - .lex "self", self - .lex "$/", param_1509 -.annotate 'line', 535 - new $P1510, "Undef" - .lex "$past", $P1510 - find_lex $P1511, "$/" - unless_null $P1511, vivify_491 - $P1511 = root_new ['parrot';'Hash'] - vivify_491: - set $P1512, $P1511["param_var"] - unless_null $P1512, vivify_492 - new $P1512, "Undef" - vivify_492: - $P1513 = $P1512."ast"() - store_lex "$past", $P1513 +.sub "param_var" :subid("87_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1512 .annotate 'line', 536 - find_lex $P1514, "$past" + new $P1511, 'ExceptionHandler' + set_addr $P1511, control_1510 + $P1511."handle_types"(.CONTROL_RETURN) + push_eh $P1511 + .lex "self", self + .lex "$/", param_1512 +.annotate 'line', 537 + new $P1513, "Undef" + .lex "$name", $P1513 +.annotate 'line', 538 + new $P1514, "Undef" + .lex "$past", $P1514 +.annotate 'line', 537 find_lex $P1515, "$/" - unless_null $P1515, vivify_493 - $P1515 = root_new ['parrot';'Hash'] - vivify_493: - set $P1516, $P1515["param_var"] - unless_null $P1516, vivify_494 - $P1516 = root_new ['parrot';'Hash'] - vivify_494: - set $P1517, $P1516["name"] - unless_null $P1517, vivify_495 - new $P1517, "Undef" + set $S1516, $P1515 + new $P1517, 'String' + set $P1517, $S1516 + store_lex "$name", $P1517 +.annotate 'line', 538 + get_hll_global $P1518, ["PAST"], "Var" + find_lex $P1519, "$name" + find_lex $P1520, "$/" + $P1521 = $P1518."new"($P1519 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1520 :named("node")) + store_lex "$past", $P1521 +.annotate 'line', 540 + get_global $P1522, "@BLOCK" + unless_null $P1522, vivify_495 + $P1522 = root_new ['parrot';'ResizablePMCArray'] vivify_495: - set $S1518, $P1517 - $P1514."named"($S1518) -.annotate 'line', 537 - find_lex $P1519, "$/" - find_lex $P1520, "$past" - $P1521 = $P1519."!make"($P1520) -.annotate 'line', 534 - .return ($P1521) - control_1507: + set $P1523, $P1522[0] + unless_null $P1523, vivify_496 + new $P1523, "Undef" + vivify_496: + find_lex $P1524, "$name" + $P1523."symbol"($P1524, "lexical" :named("scope")) +.annotate 'line', 541 + find_lex $P1525, "$/" + find_lex $P1526, "$past" + $P1527 = $P1525."!make"($P1526) +.annotate 'line', 536 + .return ($P1527) + control_1510: .local pmc exception .get_results (exception) - getattribute $P1522, exception, "payload" - .return ($P1522) + getattribute $P1528, exception, "payload" + .return ($P1528) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "regex_declarator" :subid("89_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1526 - .param pmc param_1527 :optional - .param int has_param_1527 :opt_flag -.annotate 'line', 540 - .const 'Sub' $P1597 = "91_1276996335.94529" - capture_lex $P1597 - .const 'Sub' $P1569 = "90_1276996335.94529" - capture_lex $P1569 - new $P1525, 'ExceptionHandler' - set_addr $P1525, control_1524 - $P1525."handle_types"(.CONTROL_RETURN) - push_eh $P1525 - .lex "self", self - .lex "$/", param_1526 - if has_param_1527, optparam_496 - new $P1528, "Undef" - set param_1527, $P1528 - optparam_496: - .lex "$key", param_1527 -.annotate 'line', 541 - $P1529 = root_new ['parrot';'ResizablePMCArray'] - .lex "@MODIFIERS", $P1529 +.sub "named_param" :subid("88_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1532 .annotate 'line', 544 - new $P1530, "Undef" - .lex "$name", $P1530 + new $P1531, 'ExceptionHandler' + set_addr $P1531, control_1530 + $P1531."handle_types"(.CONTROL_RETURN) + push_eh $P1531 + .lex "self", self + .lex "$/", param_1532 .annotate 'line', 545 - new $P1531, "Undef" - .lex "$past", $P1531 -.annotate 'line', 541 - - $P1532 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS' - - store_lex "@MODIFIERS", $P1532 -.annotate 'line', 544 - find_lex $P1533, "$/" - unless_null $P1533, vivify_497 - $P1533 = root_new ['parrot';'Hash'] + new $P1533, "Undef" + .lex "$past", $P1533 + find_lex $P1534, "$/" + unless_null $P1534, vivify_497 + $P1534 = root_new ['parrot';'Hash'] vivify_497: - set $P1534, $P1533["deflongname"] - unless_null $P1534, vivify_498 - new $P1534, "Undef" + set $P1535, $P1534["param_var"] + unless_null $P1535, vivify_498 + new $P1535, "Undef" vivify_498: - $P1535 = $P1534."ast"() - set $S1536, $P1535 - new $P1537, 'String' - set $P1537, $S1536 - store_lex "$name", $P1537 - find_lex $P1538, "$past" + $P1536 = $P1535."ast"() + store_lex "$past", $P1536 .annotate 'line', 546 - find_lex $P1540, "$/" - unless_null $P1540, vivify_499 - $P1540 = root_new ['parrot';'Hash'] + find_lex $P1537, "$past" + find_lex $P1538, "$/" + unless_null $P1538, vivify_499 + $P1538 = root_new ['parrot';'Hash'] vivify_499: - set $P1541, $P1540["proto"] - unless_null $P1541, vivify_500 - new $P1541, "Undef" + set $P1539, $P1538["param_var"] + unless_null $P1539, vivify_500 + $P1539 = root_new ['parrot';'Hash'] vivify_500: - if $P1541, if_1539 -.annotate 'line', 573 - find_lex $P1565, "$key" - set $S1566, $P1565 - iseq $I1567, $S1566, "open" - if $I1567, if_1564 -.annotate 'line', 586 - .const 'Sub' $P1597 = "91_1276996335.94529" - capture_lex $P1597 - $P1597() - goto if_1564_end - if_1564: -.annotate 'line', 573 - .const 'Sub' $P1569 = "90_1276996335.94529" - capture_lex $P1569 - $P1569() - if_1564_end: - goto if_1539_end - if_1539: -.annotate 'line', 548 - get_hll_global $P1542, ["PAST"], "Stmts" -.annotate 'line', 549 - get_hll_global $P1543, ["PAST"], "Block" - find_lex $P1544, "$name" + set $P1540, $P1539["name"] + unless_null $P1540, vivify_501 + new $P1540, "Undef" + vivify_501: + set $S1541, $P1540 + $P1537."named"($S1541) +.annotate 'line', 547 + find_lex $P1542, "$/" + find_lex $P1543, "$past" + $P1544 = $P1542."!make"($P1543) +.annotate 'line', 544 + .return ($P1544) + control_1530: + .local pmc exception + .get_results (exception) + getattribute $P1545, exception, "payload" + .return ($P1545) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "regex_declarator" :subid("89_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1549 + .param pmc param_1550 :optional + .param int has_param_1550 :opt_flag .annotate 'line', 550 - get_hll_global $P1545, ["PAST"], "Op" + .const 'Sub' $P1620 = "91_1278500542.82783" + capture_lex $P1620 + .const 'Sub' $P1592 = "90_1278500542.82783" + capture_lex $P1592 + new $P1548, 'ExceptionHandler' + set_addr $P1548, control_1547 + $P1548."handle_types"(.CONTROL_RETURN) + push_eh $P1548 + .lex "self", self + .lex "$/", param_1549 + if has_param_1550, optparam_502 + new $P1551, "Undef" + set param_1550, $P1551 + optparam_502: + .lex "$key", param_1550 .annotate 'line', 551 - get_hll_global $P1546, ["PAST"], "Var" - $P1547 = $P1546."new"("self" :named("name"), "register" :named("scope")) - find_lex $P1548, "$name" - $P1549 = $P1545."new"($P1547, $P1548, "!protoregex" :named("name"), "callmethod" :named("pasttype")) -.annotate 'line', 550 - find_lex $P1550, "$/" - $P1551 = $P1543."new"($P1549, $P1544 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1550 :named("node")) + $P1552 = root_new ['parrot';'ResizablePMCArray'] + .lex "@MODIFIERS", $P1552 +.annotate 'line', 554 + new $P1553, "Undef" + .lex "$name", $P1553 +.annotate 'line', 555 + new $P1554, "Undef" + .lex "$past", $P1554 +.annotate 'line', 551 + + $P1555 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS' + + store_lex "@MODIFIERS", $P1555 +.annotate 'line', 554 + find_lex $P1556, "$/" + unless_null $P1556, vivify_503 + $P1556 = root_new ['parrot';'Hash'] + vivify_503: + set $P1557, $P1556["deflongname"] + unless_null $P1557, vivify_504 + new $P1557, "Undef" + vivify_504: + $P1558 = $P1557."ast"() + set $S1559, $P1558 + new $P1560, 'String' + set $P1560, $S1559 + store_lex "$name", $P1560 + find_lex $P1561, "$past" +.annotate 'line', 556 + find_lex $P1563, "$/" + unless_null $P1563, vivify_505 + $P1563 = root_new ['parrot';'Hash'] + vivify_505: + set $P1564, $P1563["proto"] + unless_null $P1564, vivify_506 + new $P1564, "Undef" + vivify_506: + if $P1564, if_1562 +.annotate 'line', 583 + find_lex $P1588, "$key" + set $S1589, $P1588 + iseq $I1590, $S1589, "open" + if $I1590, if_1587 +.annotate 'line', 596 + .const 'Sub' $P1620 = "91_1278500542.82783" + capture_lex $P1620 + $P1620() + goto if_1587_end + if_1587: +.annotate 'line', 583 + .const 'Sub' $P1592 = "90_1278500542.82783" + capture_lex $P1592 + $P1592() + if_1587_end: + goto if_1562_end + if_1562: +.annotate 'line', 558 + get_hll_global $P1565, ["PAST"], "Stmts" +.annotate 'line', 559 + get_hll_global $P1566, ["PAST"], "Block" + find_lex $P1567, "$name" .annotate 'line', 560 - get_hll_global $P1552, ["PAST"], "Block" - new $P1553, "String" - assign $P1553, "!PREFIX__" - find_lex $P1554, "$name" - concat $P1555, $P1553, $P1554 + get_hll_global $P1568, ["PAST"], "Op" .annotate 'line', 561 - get_hll_global $P1556, ["PAST"], "Op" -.annotate 'line', 562 - get_hll_global $P1557, ["PAST"], "Var" - $P1558 = $P1557."new"("self" :named("name"), "register" :named("scope")) - find_lex $P1559, "$name" - $P1560 = $P1556."new"($P1558, $P1559, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype")) -.annotate 'line', 561 - find_lex $P1561, "$/" - $P1562 = $P1552."new"($P1560, $P1555 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1561 :named("node")) + get_hll_global $P1569, ["PAST"], "Var" + $P1570 = $P1569."new"("self" :named("name"), "register" :named("scope")) + find_lex $P1571, "$name" + $P1572 = $P1568."new"($P1570, $P1571, "!protoregex" :named("name"), "callmethod" :named("pasttype")) .annotate 'line', 560 - $P1563 = $P1542."new"($P1551, $P1562) -.annotate 'line', 548 - store_lex "$past", $P1563 - if_1539_end: -.annotate 'line', 600 - find_lex $P1618, "$/" - find_lex $P1619, "$past" - $P1620 = $P1618."!make"($P1619) -.annotate 'line', 540 - .return ($P1620) - control_1524: + find_lex $P1573, "$/" + $P1574 = $P1566."new"($P1572, $P1567 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1573 :named("node")) +.annotate 'line', 570 + get_hll_global $P1575, ["PAST"], "Block" + new $P1576, "String" + assign $P1576, "!PREFIX__" + find_lex $P1577, "$name" + concat $P1578, $P1576, $P1577 +.annotate 'line', 571 + get_hll_global $P1579, ["PAST"], "Op" +.annotate 'line', 572 + get_hll_global $P1580, ["PAST"], "Var" + $P1581 = $P1580."new"("self" :named("name"), "register" :named("scope")) + find_lex $P1582, "$name" + $P1583 = $P1579."new"($P1581, $P1582, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype")) +.annotate 'line', 571 + find_lex $P1584, "$/" + $P1585 = $P1575."new"($P1583, $P1578 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1584 :named("node")) +.annotate 'line', 570 + $P1586 = $P1565."new"($P1574, $P1585) +.annotate 'line', 558 + store_lex "$past", $P1586 + if_1562_end: +.annotate 'line', 610 + find_lex $P1641, "$/" + find_lex $P1642, "$past" + $P1643 = $P1641."!make"($P1642) +.annotate 'line', 550 + .return ($P1643) + control_1547: .local pmc exception .get_results (exception) - getattribute $P1621, exception, "payload" - .return ($P1621) + getattribute $P1644, exception, "payload" + .return ($P1644) .end .namespace ["NQP";"Actions"] -.sub "_block1596" :anon :subid("91_1276996335.94529") :outer("89_1276996335.94529") -.annotate 'line', 587 - new $P1598, "Undef" - .lex "$regex", $P1598 -.annotate 'line', 588 - get_hll_global $P1599, ["Regex";"P6Regex";"Actions"], "buildsub" - find_lex $P1600, "$/" - unless_null $P1600, vivify_501 - $P1600 = root_new ['parrot';'Hash'] - vivify_501: - set $P1601, $P1600["p6regex"] - unless_null $P1601, vivify_502 - new $P1601, "Undef" - vivify_502: - $P1602 = $P1601."ast"() - get_global $P1603, "@BLOCK" - $P1604 = $P1603."shift"() - $P1605 = $P1599($P1602, $P1604) - store_lex "$regex", $P1605 -.annotate 'line', 589 - find_lex $P1606, "$regex" - find_lex $P1607, "$name" - $P1606."name"($P1607) -.annotate 'line', 591 - get_hll_global $P1608, ["PAST"], "Op" -.annotate 'line', 593 - get_hll_global $P1609, ["PAST"], "Var" - new $P1610, "ResizablePMCArray" - push $P1610, "Regex" - $P1611 = $P1609."new"("Method" :named("name"), $P1610 :named("namespace"), "package" :named("scope")) - find_lex $P1612, "$regex" - $P1613 = $P1608."new"($P1611, $P1612, "callmethod" :named("pasttype"), "new" :named("name")) -.annotate 'line', 591 - store_lex "$past", $P1613 +.sub "_block1619" :anon :subid("91_1278500542.82783") :outer("89_1278500542.82783") .annotate 'line', 597 - find_lex $P1614, "$regex" - find_lex $P1615, "$past" - unless_null $P1615, vivify_503 - $P1615 = root_new ['parrot';'Hash'] - store_lex "$past", $P1615 - vivify_503: - set $P1615["sink"], $P1614 + new $P1621, "Undef" + .lex "$regex", $P1621 .annotate 'line', 598 - find_lex $P1616, "@MODIFIERS" - $P1617 = $P1616."shift"() -.annotate 'line', 586 - .return ($P1617) + get_hll_global $P1622, ["Regex";"P6Regex";"Actions"], "buildsub" + find_lex $P1623, "$/" + unless_null $P1623, vivify_507 + $P1623 = root_new ['parrot';'Hash'] + vivify_507: + set $P1624, $P1623["p6regex"] + unless_null $P1624, vivify_508 + new $P1624, "Undef" + vivify_508: + $P1625 = $P1624."ast"() + get_global $P1626, "@BLOCK" + $P1627 = $P1626."shift"() + $P1628 = $P1622($P1625, $P1627) + store_lex "$regex", $P1628 +.annotate 'line', 599 + find_lex $P1629, "$regex" + find_lex $P1630, "$name" + $P1629."name"($P1630) +.annotate 'line', 601 + get_hll_global $P1631, ["PAST"], "Op" +.annotate 'line', 603 + get_hll_global $P1632, ["PAST"], "Var" + new $P1633, "ResizablePMCArray" + push $P1633, "Regex" + $P1634 = $P1632."new"("Method" :named("name"), $P1633 :named("namespace"), "package" :named("scope")) + find_lex $P1635, "$regex" + $P1636 = $P1631."new"($P1634, $P1635, "callmethod" :named("pasttype"), "new" :named("name")) +.annotate 'line', 601 + store_lex "$past", $P1636 +.annotate 'line', 607 + find_lex $P1637, "$regex" + find_lex $P1638, "$past" + unless_null $P1638, vivify_509 + $P1638 = root_new ['parrot';'Hash'] + store_lex "$past", $P1638 + vivify_509: + set $P1638["sink"], $P1637 +.annotate 'line', 608 + find_lex $P1639, "@MODIFIERS" + $P1640 = $P1639."shift"() +.annotate 'line', 596 + .return ($P1640) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "_block1568" :anon :subid("90_1276996335.94529") :outer("89_1276996335.94529") -.annotate 'line', 574 - $P1570 = root_new ['parrot';'Hash'] - .lex "%h", $P1570 -.annotate 'line', 573 - find_lex $P1571, "%h" -.annotate 'line', 575 - find_lex $P1573, "$/" - unless_null $P1573, vivify_504 - $P1573 = root_new ['parrot';'Hash'] - vivify_504: - set $P1574, $P1573["sym"] - unless_null $P1574, vivify_505 - new $P1574, "Undef" - vivify_505: - set $S1575, $P1574 - iseq $I1576, $S1575, "token" - unless $I1576, if_1572_end - new $P1577, "Integer" - assign $P1577, 1 - find_lex $P1578, "%h" - unless_null $P1578, vivify_506 - $P1578 = root_new ['parrot';'Hash'] - store_lex "%h", $P1578 - vivify_506: - set $P1578["r"], $P1577 - if_1572_end: -.annotate 'line', 576 - find_lex $P1580, "$/" - unless_null $P1580, vivify_507 - $P1580 = root_new ['parrot';'Hash'] - vivify_507: - set $P1581, $P1580["sym"] - unless_null $P1581, vivify_508 - new $P1581, "Undef" - vivify_508: - set $S1582, $P1581 - iseq $I1583, $S1582, "rule" - unless $I1583, if_1579_end - new $P1584, "Integer" - assign $P1584, 1 - find_lex $P1585, "%h" - unless_null $P1585, vivify_509 - $P1585 = root_new ['parrot';'Hash'] - store_lex "%h", $P1585 - vivify_509: - set $P1585["r"], $P1584 - new $P1586, "Integer" - assign $P1586, 1 - find_lex $P1587, "%h" - unless_null $P1587, vivify_510 - $P1587 = root_new ['parrot';'Hash'] - store_lex "%h", $P1587 +.sub "_block1591" :anon :subid("90_1278500542.82783") :outer("89_1278500542.82783") +.annotate 'line', 584 + $P1593 = root_new ['parrot';'Hash'] + .lex "%h", $P1593 +.annotate 'line', 583 + find_lex $P1594, "%h" +.annotate 'line', 585 + find_lex $P1596, "$/" + unless_null $P1596, vivify_510 + $P1596 = root_new ['parrot';'Hash'] vivify_510: - set $P1587["s"], $P1586 - if_1579_end: -.annotate 'line', 577 - find_lex $P1588, "@MODIFIERS" - find_lex $P1589, "%h" - $P1588."unshift"($P1589) -.annotate 'line', 578 + set $P1597, $P1596["sym"] + unless_null $P1597, vivify_511 + new $P1597, "Undef" + vivify_511: + set $S1598, $P1597 + iseq $I1599, $S1598, "token" + unless $I1599, if_1595_end + new $P1600, "Integer" + assign $P1600, 1 + find_lex $P1601, "%h" + unless_null $P1601, vivify_512 + $P1601 = root_new ['parrot';'Hash'] + store_lex "%h", $P1601 + vivify_512: + set $P1601["r"], $P1600 + if_1595_end: +.annotate 'line', 586 + find_lex $P1603, "$/" + unless_null $P1603, vivify_513 + $P1603 = root_new ['parrot';'Hash'] + vivify_513: + set $P1604, $P1603["sym"] + unless_null $P1604, vivify_514 + new $P1604, "Undef" + vivify_514: + set $S1605, $P1604 + iseq $I1606, $S1605, "rule" + unless $I1606, if_1602_end + new $P1607, "Integer" + assign $P1607, 1 + find_lex $P1608, "%h" + unless_null $P1608, vivify_515 + $P1608 = root_new ['parrot';'Hash'] + store_lex "%h", $P1608 + vivify_515: + set $P1608["r"], $P1607 + new $P1609, "Integer" + assign $P1609, 1 + find_lex $P1610, "%h" + unless_null $P1610, vivify_516 + $P1610 = root_new ['parrot';'Hash'] + store_lex "%h", $P1610 + vivify_516: + set $P1610["s"], $P1609 + if_1602_end: +.annotate 'line', 587 + find_lex $P1611, "@MODIFIERS" + find_lex $P1612, "%h" + $P1611."unshift"($P1612) +.annotate 'line', 588 $P0 = find_lex '$name' set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0 -.annotate 'line', 582 - get_global $P1590, "@BLOCK" - unless_null $P1590, vivify_511 - $P1590 = root_new ['parrot';'ResizablePMCArray'] - vivify_511: - set $P1591, $P1590[0] - unless_null $P1591, vivify_512 - new $P1591, "Undef" - vivify_512: - $P1591."symbol"(unicode:"$\x{a2}", "lexical" :named("scope")) +.annotate 'line', 592 + get_global $P1613, "@BLOCK" + unless_null $P1613, vivify_517 + $P1613 = root_new ['parrot';'ResizablePMCArray'] + vivify_517: + set $P1614, $P1613[0] + unless_null $P1614, vivify_518 + new $P1614, "Undef" + vivify_518: + $P1614."symbol"(unicode:"$\x{a2}", "lexical" :named("scope")) +.annotate 'line', 593 + get_global $P1615, "@BLOCK" + unless_null $P1615, vivify_519 + $P1615 = root_new ['parrot';'ResizablePMCArray'] + vivify_519: + set $P1616, $P1615[0] + unless_null $P1616, vivify_520 + new $P1616, "Undef" + vivify_520: + $P1616."symbol"("$/", "lexical" :named("scope")) +.annotate 'line', 594 + new $P1617, "Exception" + set $P1617['type'], .CONTROL_RETURN + new $P1618, "Integer" + assign $P1618, 0 + setattribute $P1617, 'payload', $P1618 + throw $P1617 .annotate 'line', 583 - get_global $P1592, "@BLOCK" - unless_null $P1592, vivify_513 - $P1592 = root_new ['parrot';'ResizablePMCArray'] - vivify_513: - set $P1593, $P1592[0] - unless_null $P1593, vivify_514 - new $P1593, "Undef" - vivify_514: - $P1593."symbol"("$/", "lexical" :named("scope")) -.annotate 'line', 584 - new $P1594, "Exception" - set $P1594['type'], .CONTROL_RETURN - new $P1595, "Integer" - assign $P1595, 0 - setattribute $P1594, 'payload', $P1595 - throw $P1594 -.annotate 'line', 573 .return () .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "dotty" :subid("92_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1625 -.annotate 'line', 604 - new $P1624, 'ExceptionHandler' - set_addr $P1624, control_1623 - $P1624."handle_types"(.CONTROL_RETURN) - push_eh $P1624 +.sub "dotty" :subid("92_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1648 +.annotate 'line', 614 + new $P1647, 'ExceptionHandler' + set_addr $P1647, control_1646 + $P1647."handle_types"(.CONTROL_RETURN) + push_eh $P1647 .lex "self", self - .lex "$/", param_1625 -.annotate 'line', 605 - new $P1626, "Undef" - .lex "$past", $P1626 - find_lex $P1629, "$/" - unless_null $P1629, vivify_515 - $P1629 = root_new ['parrot';'Hash'] - vivify_515: - set $P1630, $P1629["args"] - unless_null $P1630, vivify_516 - new $P1630, "Undef" - vivify_516: - if $P1630, if_1628 - get_hll_global $P1635, ["PAST"], "Op" - find_lex $P1636, "$/" - $P1637 = $P1635."new"($P1636 :named("node")) - set $P1627, $P1637 - goto if_1628_end - if_1628: - find_lex $P1631, "$/" - unless_null $P1631, vivify_517 - $P1631 = root_new ['parrot';'Hash'] - vivify_517: - set $P1632, $P1631["args"] - unless_null $P1632, vivify_518 - $P1632 = root_new ['parrot';'ResizablePMCArray'] - vivify_518: - set $P1633, $P1632[0] - unless_null $P1633, vivify_519 - new $P1633, "Undef" - vivify_519: - $P1634 = $P1633."ast"() - set $P1627, $P1634 - if_1628_end: - store_lex "$past", $P1627 -.annotate 'line', 606 - find_lex $P1638, "$past" - find_lex $P1641, "$/" - unless_null $P1641, vivify_520 - $P1641 = root_new ['parrot';'Hash'] - vivify_520: - set $P1642, $P1641["quote"] - unless_null $P1642, vivify_521 - new $P1642, "Undef" + .lex "$/", param_1648 +.annotate 'line', 615 + new $P1649, "Undef" + .lex "$past", $P1649 + find_lex $P1652, "$/" + unless_null $P1652, vivify_521 + $P1652 = root_new ['parrot';'Hash'] vivify_521: - if $P1642, if_1640 - find_lex $P1646, "$/" - unless_null $P1646, vivify_522 - $P1646 = root_new ['parrot';'Hash'] + set $P1653, $P1652["args"] + unless_null $P1653, vivify_522 + new $P1653, "Undef" vivify_522: - set $P1647, $P1646["longname"] - unless_null $P1647, vivify_523 - new $P1647, "Undef" + if $P1653, if_1651 + get_hll_global $P1658, ["PAST"], "Op" + find_lex $P1659, "$/" + $P1660 = $P1658."new"($P1659 :named("node")) + set $P1650, $P1660 + goto if_1651_end + if_1651: + find_lex $P1654, "$/" + unless_null $P1654, vivify_523 + $P1654 = root_new ['parrot';'Hash'] vivify_523: - set $S1648, $P1647 - new $P1639, 'String' - set $P1639, $S1648 - goto if_1640_end - if_1640: - find_lex $P1643, "$/" - unless_null $P1643, vivify_524 - $P1643 = root_new ['parrot';'Hash'] + set $P1655, $P1654["args"] + unless_null $P1655, vivify_524 + $P1655 = root_new ['parrot';'ResizablePMCArray'] vivify_524: - set $P1644, $P1643["quote"] - unless_null $P1644, vivify_525 - new $P1644, "Undef" + set $P1656, $P1655[0] + unless_null $P1656, vivify_525 + new $P1656, "Undef" vivify_525: - $P1645 = $P1644."ast"() - set $P1639, $P1645 - if_1640_end: - $P1638."name"($P1639) -.annotate 'line', 607 - find_lex $P1649, "$past" - $P1649."pasttype"("callmethod") -.annotate 'line', 608 - find_lex $P1650, "$/" - find_lex $P1651, "$past" - $P1652 = $P1650."!make"($P1651) -.annotate 'line', 604 - .return ($P1652) - control_1623: + $P1657 = $P1656."ast"() + set $P1650, $P1657 + if_1651_end: + store_lex "$past", $P1650 +.annotate 'line', 616 + find_lex $P1661, "$past" + find_lex $P1664, "$/" + unless_null $P1664, vivify_526 + $P1664 = root_new ['parrot';'Hash'] + vivify_526: + set $P1665, $P1664["quote"] + unless_null $P1665, vivify_527 + new $P1665, "Undef" + vivify_527: + if $P1665, if_1663 + find_lex $P1669, "$/" + unless_null $P1669, vivify_528 + $P1669 = root_new ['parrot';'Hash'] + vivify_528: + set $P1670, $P1669["longname"] + unless_null $P1670, vivify_529 + new $P1670, "Undef" + vivify_529: + set $S1671, $P1670 + new $P1662, 'String' + set $P1662, $S1671 + goto if_1663_end + if_1663: + find_lex $P1666, "$/" + unless_null $P1666, vivify_530 + $P1666 = root_new ['parrot';'Hash'] + vivify_530: + set $P1667, $P1666["quote"] + unless_null $P1667, vivify_531 + new $P1667, "Undef" + vivify_531: + $P1668 = $P1667."ast"() + set $P1662, $P1668 + if_1663_end: + $P1661."name"($P1662) +.annotate 'line', 617 + find_lex $P1672, "$past" + $P1672."pasttype"("callmethod") +.annotate 'line', 618 + find_lex $P1673, "$/" + find_lex $P1674, "$past" + $P1675 = $P1673."!make"($P1674) +.annotate 'line', 614 + .return ($P1675) + control_1646: .local pmc exception .get_results (exception) - getattribute $P1653, exception, "payload" - .return ($P1653) + getattribute $P1676, exception, "payload" + .return ($P1676) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("93_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1657 -.annotate 'line', 613 - new $P1656, 'ExceptionHandler' - set_addr $P1656, control_1655 - $P1656."handle_types"(.CONTROL_RETURN) - push_eh $P1656 +.sub "term:sym" :subid("93_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1680 +.annotate 'line', 623 + new $P1679, 'ExceptionHandler' + set_addr $P1679, control_1678 + $P1679."handle_types"(.CONTROL_RETURN) + push_eh $P1679 .lex "self", self - .lex "$/", param_1657 -.annotate 'line', 614 - find_lex $P1658, "$/" - get_hll_global $P1659, ["PAST"], "Var" - $P1660 = $P1659."new"("self" :named("name")) - $P1661 = $P1658."!make"($P1660) -.annotate 'line', 613 - .return ($P1661) - control_1655: + .lex "$/", param_1680 +.annotate 'line', 624 + find_lex $P1681, "$/" + get_hll_global $P1682, ["PAST"], "Var" + $P1683 = $P1682."new"("self" :named("name")) + $P1684 = $P1681."!make"($P1683) +.annotate 'line', 623 + .return ($P1684) + control_1678: .local pmc exception .get_results (exception) - getattribute $P1662, exception, "payload" - .return ($P1662) + getattribute $P1685, exception, "payload" + .return ($P1685) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("94_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1666 -.annotate 'line', 617 - new $P1665, 'ExceptionHandler' - set_addr $P1665, control_1664 - $P1665."handle_types"(.CONTROL_RETURN) - push_eh $P1665 +.sub "term:sym" :subid("94_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1689 +.annotate 'line', 627 + new $P1688, 'ExceptionHandler' + set_addr $P1688, control_1687 + $P1688."handle_types"(.CONTROL_RETURN) + push_eh $P1688 .lex "self", self - .lex "$/", param_1666 -.annotate 'line', 618 - new $P1667, "Undef" - .lex "$past", $P1667 - find_lex $P1668, "$/" - unless_null $P1668, vivify_526 - $P1668 = root_new ['parrot';'Hash'] - vivify_526: - set $P1669, $P1668["args"] - unless_null $P1669, vivify_527 - new $P1669, "Undef" - vivify_527: - $P1670 = $P1669."ast"() - store_lex "$past", $P1670 -.annotate 'line', 619 - find_lex $P1671, "$past" - find_lex $P1672, "$/" - unless_null $P1672, vivify_528 - $P1672 = root_new ['parrot';'Hash'] - vivify_528: - set $P1673, $P1672["deflongname"] - unless_null $P1673, vivify_529 - new $P1673, "Undef" - vivify_529: - set $S1674, $P1673 - $P1671."name"($S1674) -.annotate 'line', 620 - find_lex $P1675, "$/" - find_lex $P1676, "$past" - $P1677 = $P1675."!make"($P1676) -.annotate 'line', 617 - .return ($P1677) - control_1664: + .lex "$/", param_1689 +.annotate 'line', 628 + new $P1690, "Undef" + .lex "$past", $P1690 + find_lex $P1691, "$/" + unless_null $P1691, vivify_532 + $P1691 = root_new ['parrot';'Hash'] + vivify_532: + set $P1692, $P1691["args"] + unless_null $P1692, vivify_533 + new $P1692, "Undef" + vivify_533: + $P1693 = $P1692."ast"() + store_lex "$past", $P1693 +.annotate 'line', 629 + find_lex $P1694, "$past" + find_lex $P1695, "$/" + unless_null $P1695, vivify_534 + $P1695 = root_new ['parrot';'Hash'] + vivify_534: + set $P1696, $P1695["deflongname"] + unless_null $P1696, vivify_535 + new $P1696, "Undef" + vivify_535: + set $S1697, $P1696 + $P1694."name"($S1697) +.annotate 'line', 630 + find_lex $P1698, "$/" + find_lex $P1699, "$past" + $P1700 = $P1698."!make"($P1699) +.annotate 'line', 627 + .return ($P1700) + control_1687: .local pmc exception .get_results (exception) - getattribute $P1678, exception, "payload" - .return ($P1678) + getattribute $P1701, exception, "payload" + .return ($P1701) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("95_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1682 -.annotate 'line', 623 - new $P1681, 'ExceptionHandler' - set_addr $P1681, control_1680 - $P1681."handle_types"(.CONTROL_RETURN) - push_eh $P1681 +.sub "term:sym" :subid("95_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1705 +.annotate 'line', 633 + new $P1704, 'ExceptionHandler' + set_addr $P1704, control_1703 + $P1704."handle_types"(.CONTROL_RETURN) + push_eh $P1704 .lex "self", self - .lex "$/", param_1682 -.annotate 'line', 624 - $P1683 = root_new ['parrot';'ResizablePMCArray'] - .lex "@ns", $P1683 -.annotate 'line', 625 - new $P1684, "Undef" - .lex "$name", $P1684 -.annotate 'line', 627 - new $P1685, "Undef" - .lex "$var", $P1685 -.annotate 'line', 629 - new $P1686, "Undef" - .lex "$past", $P1686 -.annotate 'line', 624 - find_lex $P1687, "$/" - unless_null $P1687, vivify_530 - $P1687 = root_new ['parrot';'Hash'] - vivify_530: - set $P1688, $P1687["name"] - unless_null $P1688, vivify_531 - $P1688 = root_new ['parrot';'Hash'] - vivify_531: - set $P1689, $P1688["identifier"] - unless_null $P1689, vivify_532 - new $P1689, "Undef" - vivify_532: - clone $P1690, $P1689 - store_lex "@ns", $P1690 -.annotate 'line', 625 - find_lex $P1691, "@ns" - $P1692 = $P1691."pop"() - store_lex "$name", $P1692 -.annotate 'line', 626 - find_lex $P1696, "@ns" - if $P1696, if_1695 - set $P1694, $P1696 - goto if_1695_end - if_1695: - find_lex $P1697, "@ns" - unless_null $P1697, vivify_533 - $P1697 = root_new ['parrot';'ResizablePMCArray'] - vivify_533: - set $P1698, $P1697[0] - unless_null $P1698, vivify_534 - new $P1698, "Undef" - vivify_534: - set $S1699, $P1698 - iseq $I1700, $S1699, "GLOBAL" - new $P1694, 'Integer' - set $P1694, $I1700 - if_1695_end: - unless $P1694, if_1693_end - find_lex $P1701, "@ns" - $P1701."shift"() - if_1693_end: -.annotate 'line', 628 - get_hll_global $P1702, ["PAST"], "Var" - find_lex $P1703, "$name" - set $S1704, $P1703 - find_lex $P1705, "@ns" - $P1706 = $P1702."new"($S1704 :named("name"), $P1705 :named("namespace"), "package" :named("scope")) - store_lex "$var", $P1706 -.annotate 'line', 629 - find_lex $P1707, "$var" - store_lex "$past", $P1707 -.annotate 'line', 630 - find_lex $P1709, "$/" - unless_null $P1709, vivify_535 - $P1709 = root_new ['parrot';'Hash'] - vivify_535: - set $P1710, $P1709["args"] + .lex "$/", param_1705 +.annotate 'line', 634 + $P1706 = root_new ['parrot';'ResizablePMCArray'] + .lex "@ns", $P1706 +.annotate 'line', 635 + new $P1707, "Undef" + .lex "$name", $P1707 +.annotate 'line', 637 + new $P1708, "Undef" + .lex "$var", $P1708 +.annotate 'line', 639 + new $P1709, "Undef" + .lex "$past", $P1709 +.annotate 'line', 634 + find_lex $P1710, "$/" unless_null $P1710, vivify_536 - new $P1710, "Undef" + $P1710 = root_new ['parrot';'Hash'] vivify_536: - unless $P1710, if_1708_end -.annotate 'line', 631 - find_lex $P1711, "$/" + set $P1711, $P1710["name"] unless_null $P1711, vivify_537 $P1711 = root_new ['parrot';'Hash'] vivify_537: - set $P1712, $P1711["args"] + set $P1712, $P1711["identifier"] unless_null $P1712, vivify_538 - $P1712 = root_new ['parrot';'ResizablePMCArray'] + new $P1712, "Undef" vivify_538: - set $P1713, $P1712[0] - unless_null $P1713, vivify_539 - new $P1713, "Undef" + clone $P1713, $P1712 + store_lex "@ns", $P1713 +.annotate 'line', 635 + find_lex $P1714, "@ns" + $P1715 = $P1714."pop"() + store_lex "$name", $P1715 +.annotate 'line', 636 + find_lex $P1719, "@ns" + if $P1719, if_1718 + set $P1717, $P1719 + goto if_1718_end + if_1718: + find_lex $P1720, "@ns" + unless_null $P1720, vivify_539 + $P1720 = root_new ['parrot';'ResizablePMCArray'] vivify_539: - $P1714 = $P1713."ast"() - store_lex "$past", $P1714 -.annotate 'line', 632 - find_lex $P1715, "$past" - find_lex $P1716, "$var" - $P1715."unshift"($P1716) - if_1708_end: -.annotate 'line', 634 - find_lex $P1717, "$/" - find_lex $P1718, "$past" - $P1719 = $P1717."!make"($P1718) -.annotate 'line', 623 - .return ($P1719) - control_1680: + set $P1721, $P1720[0] + unless_null $P1721, vivify_540 + new $P1721, "Undef" + vivify_540: + set $S1722, $P1721 + iseq $I1723, $S1722, "GLOBAL" + new $P1717, 'Integer' + set $P1717, $I1723 + if_1718_end: + unless $P1717, if_1716_end + find_lex $P1724, "@ns" + $P1724."shift"() + if_1716_end: +.annotate 'line', 638 + get_hll_global $P1725, ["PAST"], "Var" + find_lex $P1726, "$name" + set $S1727, $P1726 + find_lex $P1728, "@ns" + $P1729 = $P1725."new"($S1727 :named("name"), $P1728 :named("namespace"), "package" :named("scope")) + store_lex "$var", $P1729 +.annotate 'line', 639 + find_lex $P1730, "$var" + store_lex "$past", $P1730 +.annotate 'line', 640 + find_lex $P1732, "$/" + unless_null $P1732, vivify_541 + $P1732 = root_new ['parrot';'Hash'] + vivify_541: + set $P1733, $P1732["args"] + unless_null $P1733, vivify_542 + new $P1733, "Undef" + vivify_542: + unless $P1733, if_1731_end +.annotate 'line', 641 + find_lex $P1734, "$/" + unless_null $P1734, vivify_543 + $P1734 = root_new ['parrot';'Hash'] + vivify_543: + set $P1735, $P1734["args"] + unless_null $P1735, vivify_544 + $P1735 = root_new ['parrot';'ResizablePMCArray'] + vivify_544: + set $P1736, $P1735[0] + unless_null $P1736, vivify_545 + new $P1736, "Undef" + vivify_545: + $P1737 = $P1736."ast"() + store_lex "$past", $P1737 +.annotate 'line', 642 + find_lex $P1738, "$past" + find_lex $P1739, "$var" + $P1738."unshift"($P1739) + if_1731_end: +.annotate 'line', 644 + find_lex $P1740, "$/" + find_lex $P1741, "$past" + $P1742 = $P1740."!make"($P1741) +.annotate 'line', 633 + .return ($P1742) + control_1703: .local pmc exception .get_results (exception) - getattribute $P1720, exception, "payload" - .return ($P1720) + getattribute $P1743, exception, "payload" + .return ($P1743) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("96_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1724 -.annotate 'line', 637 - new $P1723, 'ExceptionHandler' - set_addr $P1723, control_1722 - $P1723."handle_types"(.CONTROL_RETURN) - push_eh $P1723 +.sub "term:sym" :subid("96_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1747 +.annotate 'line', 647 + new $P1746, 'ExceptionHandler' + set_addr $P1746, control_1745 + $P1746."handle_types"(.CONTROL_RETURN) + push_eh $P1746 .lex "self", self - .lex "$/", param_1724 -.annotate 'line', 638 - new $P1725, "Undef" - .lex "$past", $P1725 -.annotate 'line', 639 - new $P1726, "Undef" - .lex "$pirop", $P1726 -.annotate 'line', 638 - find_lex $P1729, "$/" - unless_null $P1729, vivify_540 - $P1729 = root_new ['parrot';'Hash'] - vivify_540: - set $P1730, $P1729["args"] - unless_null $P1730, vivify_541 - new $P1730, "Undef" - vivify_541: - if $P1730, if_1728 - get_hll_global $P1735, ["PAST"], "Op" - find_lex $P1736, "$/" - $P1737 = $P1735."new"($P1736 :named("node")) - set $P1727, $P1737 - goto if_1728_end - if_1728: - find_lex $P1731, "$/" - unless_null $P1731, vivify_542 - $P1731 = root_new ['parrot';'Hash'] - vivify_542: - set $P1732, $P1731["args"] - unless_null $P1732, vivify_543 - $P1732 = root_new ['parrot';'ResizablePMCArray'] - vivify_543: - set $P1733, $P1732[0] - unless_null $P1733, vivify_544 - new $P1733, "Undef" - vivify_544: - $P1734 = $P1733."ast"() - set $P1727, $P1734 - if_1728_end: - store_lex "$past", $P1727 -.annotate 'line', 639 - find_lex $P1738, "$/" - unless_null $P1738, vivify_545 - $P1738 = root_new ['parrot';'Hash'] - vivify_545: - set $P1739, $P1738["op"] - unless_null $P1739, vivify_546 - new $P1739, "Undef" + .lex "$/", param_1747 +.annotate 'line', 648 + new $P1748, "Undef" + .lex "$past", $P1748 +.annotate 'line', 649 + new $P1749, "Undef" + .lex "$pirop", $P1749 +.annotate 'line', 648 + find_lex $P1752, "$/" + unless_null $P1752, vivify_546 + $P1752 = root_new ['parrot';'Hash'] vivify_546: - set $S1740, $P1739 - new $P1741, 'String' - set $P1741, $S1740 - store_lex "$pirop", $P1741 -.annotate 'line', 640 + set $P1753, $P1752["args"] + unless_null $P1753, vivify_547 + new $P1753, "Undef" + vivify_547: + if $P1753, if_1751 + get_hll_global $P1758, ["PAST"], "Op" + find_lex $P1759, "$/" + $P1760 = $P1758."new"($P1759 :named("node")) + set $P1750, $P1760 + goto if_1751_end + if_1751: + find_lex $P1754, "$/" + unless_null $P1754, vivify_548 + $P1754 = root_new ['parrot';'Hash'] + vivify_548: + set $P1755, $P1754["args"] + unless_null $P1755, vivify_549 + $P1755 = root_new ['parrot';'ResizablePMCArray'] + vivify_549: + set $P1756, $P1755[0] + unless_null $P1756, vivify_550 + new $P1756, "Undef" + vivify_550: + $P1757 = $P1756."ast"() + set $P1750, $P1757 + if_1751_end: + store_lex "$past", $P1750 +.annotate 'line', 649 + find_lex $P1761, "$/" + unless_null $P1761, vivify_551 + $P1761 = root_new ['parrot';'Hash'] + vivify_551: + set $P1762, $P1761["op"] + unless_null $P1762, vivify_552 + new $P1762, "Undef" + vivify_552: + set $S1763, $P1762 + new $P1764, 'String' + set $P1764, $S1763 + store_lex "$pirop", $P1764 +.annotate 'line', 650 $P0 = find_lex '$pirop' $S0 = $P0 $P0 = split '__', $S0 $S0 = join ' ', $P0 - $P1742 = box $S0 + $P1765 = box $S0 - store_lex "$pirop", $P1742 + store_lex "$pirop", $P1765 +.annotate 'line', 657 + find_lex $P1766, "$past" + find_lex $P1767, "$pirop" + $P1766."pirop"($P1767) +.annotate 'line', 658 + find_lex $P1768, "$past" + $P1768."pasttype"("pirop") +.annotate 'line', 659 + find_lex $P1769, "$/" + find_lex $P1770, "$past" + $P1771 = $P1769."!make"($P1770) .annotate 'line', 647 - find_lex $P1743, "$past" - find_lex $P1744, "$pirop" - $P1743."pirop"($P1744) -.annotate 'line', 648 - find_lex $P1745, "$past" - $P1745."pasttype"("pirop") -.annotate 'line', 649 - find_lex $P1746, "$/" - find_lex $P1747, "$past" - $P1748 = $P1746."!make"($P1747) -.annotate 'line', 637 - .return ($P1748) - control_1722: + .return ($P1771) + control_1745: .local pmc exception .get_results (exception) - getattribute $P1749, exception, "payload" - .return ($P1749) + getattribute $P1772, exception, "payload" + .return ($P1772) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "args" :subid("97_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1753 -.annotate 'line', 652 - new $P1752, 'ExceptionHandler' - set_addr $P1752, control_1751 - $P1752."handle_types"(.CONTROL_RETURN) - push_eh $P1752 +.sub "args" :subid("97_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1776 +.annotate 'line', 662 + new $P1775, 'ExceptionHandler' + set_addr $P1775, control_1774 + $P1775."handle_types"(.CONTROL_RETURN) + push_eh $P1775 .lex "self", self - .lex "$/", param_1753 - find_lex $P1754, "$/" - find_lex $P1755, "$/" - unless_null $P1755, vivify_547 - $P1755 = root_new ['parrot';'Hash'] - vivify_547: - set $P1756, $P1755["arglist"] - unless_null $P1756, vivify_548 - new $P1756, "Undef" - vivify_548: - $P1757 = $P1756."ast"() - $P1758 = $P1754."!make"($P1757) - .return ($P1758) - control_1751: + .lex "$/", param_1776 + find_lex $P1777, "$/" + find_lex $P1778, "$/" + unless_null $P1778, vivify_553 + $P1778 = root_new ['parrot';'Hash'] + vivify_553: + set $P1779, $P1778["arglist"] + unless_null $P1779, vivify_554 + new $P1779, "Undef" + vivify_554: + $P1780 = $P1779."ast"() + $P1781 = $P1777."!make"($P1780) + .return ($P1781) + control_1774: .local pmc exception .get_results (exception) - getattribute $P1759, exception, "payload" - .return ($P1759) + getattribute $P1782, exception, "payload" + .return ($P1782) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "arglist" :subid("98_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1763 -.annotate 'line', 654 - .const 'Sub' $P1774 = "99_1276996335.94529" - capture_lex $P1774 - new $P1762, 'ExceptionHandler' - set_addr $P1762, control_1761 - $P1762."handle_types"(.CONTROL_RETURN) - push_eh $P1762 - .lex "self", self - .lex "$/", param_1763 -.annotate 'line', 655 - new $P1764, "Undef" - .lex "$past", $P1764 -.annotate 'line', 663 - new $P1765, "Undef" - .lex "$i", $P1765 +.sub "arglist" :subid("98_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1786 .annotate 'line', 664 - new $P1766, "Undef" - .lex "$n", $P1766 -.annotate 'line', 655 - get_hll_global $P1767, ["PAST"], "Op" - find_lex $P1768, "$/" - $P1769 = $P1767."new"("call" :named("pasttype"), $P1768 :named("node")) - store_lex "$past", $P1769 -.annotate 'line', 656 - find_lex $P1771, "$/" - unless_null $P1771, vivify_549 - $P1771 = root_new ['parrot';'Hash'] - vivify_549: - set $P1772, $P1771["EXPR"] - unless_null $P1772, vivify_550 - new $P1772, "Undef" - vivify_550: - unless $P1772, if_1770_end - .const 'Sub' $P1774 = "99_1276996335.94529" - capture_lex $P1774 - $P1774() - if_1770_end: -.annotate 'line', 663 - new $P1806, "Integer" - assign $P1806, 0 - store_lex "$i", $P1806 -.annotate 'line', 664 - find_lex $P1807, "$past" - $P1808 = $P1807."list"() - set $N1809, $P1808 - new $P1810, 'Float' - set $P1810, $N1809 - store_lex "$n", $P1810 + .const 'Sub' $P1797 = "99_1278500542.82783" + capture_lex $P1797 + new $P1785, 'ExceptionHandler' + set_addr $P1785, control_1784 + $P1785."handle_types"(.CONTROL_RETURN) + push_eh $P1785 + .lex "self", self + .lex "$/", param_1786 .annotate 'line', 665 - new $P1858, 'ExceptionHandler' - set_addr $P1858, loop1857_handler - $P1858."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1858 - loop1857_test: - find_lex $P1811, "$i" - set $N1812, $P1811 - find_lex $P1813, "$n" - set $N1814, $P1813 - islt $I1815, $N1812, $N1814 - unless $I1815, loop1857_done - loop1857_redo: + new $P1787, "Undef" + .lex "$past", $P1787 +.annotate 'line', 673 + new $P1788, "Undef" + .lex "$i", $P1788 +.annotate 'line', 674 + new $P1789, "Undef" + .lex "$n", $P1789 +.annotate 'line', 665 + get_hll_global $P1790, ["PAST"], "Op" + find_lex $P1791, "$/" + $P1792 = $P1790."new"("call" :named("pasttype"), $P1791 :named("node")) + store_lex "$past", $P1792 .annotate 'line', 666 - find_lex $P1817, "$i" - set $I1818, $P1817 - find_lex $P1819, "$past" - unless_null $P1819, vivify_554 - $P1819 = root_new ['parrot';'ResizablePMCArray'] - vivify_554: - set $P1820, $P1819[$I1818] - unless_null $P1820, vivify_555 - new $P1820, "Undef" + find_lex $P1794, "$/" + unless_null $P1794, vivify_555 + $P1794 = root_new ['parrot';'Hash'] vivify_555: - $S1821 = $P1820."name"() - iseq $I1822, $S1821, "&prefix:<|>" - unless $I1822, if_1816_end -.annotate 'line', 667 - find_lex $P1823, "$i" - set $I1824, $P1823 - find_lex $P1825, "$past" - unless_null $P1825, vivify_556 - $P1825 = root_new ['parrot';'ResizablePMCArray'] + set $P1795, $P1794["EXPR"] + unless_null $P1795, vivify_556 + new $P1795, "Undef" vivify_556: - set $P1826, $P1825[$I1824] - unless_null $P1826, vivify_557 - $P1826 = root_new ['parrot';'ResizablePMCArray'] - vivify_557: - set $P1827, $P1826[0] - unless_null $P1827, vivify_558 - new $P1827, "Undef" - vivify_558: - find_lex $P1828, "$i" - set $I1829, $P1828 + unless $P1795, if_1793_end + .const 'Sub' $P1797 = "99_1278500542.82783" + capture_lex $P1797 + $P1797() + if_1793_end: +.annotate 'line', 673 + new $P1829, "Integer" + assign $P1829, 0 + store_lex "$i", $P1829 +.annotate 'line', 674 find_lex $P1830, "$past" - unless_null $P1830, vivify_559 - $P1830 = root_new ['parrot';'ResizablePMCArray'] - store_lex "$past", $P1830 - vivify_559: - set $P1830[$I1829], $P1827 -.annotate 'line', 668 - find_lex $P1831, "$i" - set $I1832, $P1831 - find_lex $P1833, "$past" - unless_null $P1833, vivify_560 - $P1833 = root_new ['parrot';'ResizablePMCArray'] + $P1831 = $P1830."list"() + set $N1832, $P1831 + new $P1833, 'Float' + set $P1833, $N1832 + store_lex "$n", $P1833 +.annotate 'line', 675 + new $P1881, 'ExceptionHandler' + set_addr $P1881, loop1880_handler + $P1881."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1881 + loop1880_test: + find_lex $P1834, "$i" + set $N1835, $P1834 + find_lex $P1836, "$n" + set $N1837, $P1836 + islt $I1838, $N1835, $N1837 + unless $I1838, loop1880_done + loop1880_redo: +.annotate 'line', 676 + find_lex $P1840, "$i" + set $I1841, $P1840 + find_lex $P1842, "$past" + unless_null $P1842, vivify_560 + $P1842 = root_new ['parrot';'ResizablePMCArray'] vivify_560: - set $P1834, $P1833[$I1832] - unless_null $P1834, vivify_561 - new $P1834, "Undef" + set $P1843, $P1842[$I1841] + unless_null $P1843, vivify_561 + new $P1843, "Undef" vivify_561: - $P1834."flat"(1) -.annotate 'line', 669 - find_lex $P1838, "$i" - set $I1839, $P1838 - find_lex $P1840, "$past" - unless_null $P1840, vivify_562 - $P1840 = root_new ['parrot';'ResizablePMCArray'] + $S1844 = $P1843."name"() + iseq $I1845, $S1844, "&prefix:<|>" + unless $I1845, if_1839_end +.annotate 'line', 677 + find_lex $P1846, "$i" + set $I1847, $P1846 + find_lex $P1848, "$past" + unless_null $P1848, vivify_562 + $P1848 = root_new ['parrot';'ResizablePMCArray'] vivify_562: - set $P1841, $P1840[$I1839] - unless_null $P1841, vivify_563 - new $P1841, "Undef" + set $P1849, $P1848[$I1847] + unless_null $P1849, vivify_563 + $P1849 = root_new ['parrot';'ResizablePMCArray'] vivify_563: - get_hll_global $P1842, ["PAST"], "Val" - $P1843 = $P1841."isa"($P1842) - if $P1843, if_1837 - set $P1836, $P1843 - goto if_1837_end - if_1837: -.annotate 'line', 670 - find_lex $P1844, "$i" - set $I1845, $P1844 - find_lex $P1846, "$past" - unless_null $P1846, vivify_564 - $P1846 = root_new ['parrot';'ResizablePMCArray'] + set $P1850, $P1849[0] + unless_null $P1850, vivify_564 + new $P1850, "Undef" vivify_564: - set $P1847, $P1846[$I1845] - unless_null $P1847, vivify_565 - new $P1847, "Undef" - vivify_565: - $S1848 = $P1847."name"() - substr $S1849, $S1848, 0, 1 - iseq $I1850, $S1849, "%" - new $P1836, 'Integer' - set $P1836, $I1850 - if_1837_end: - unless $P1836, if_1835_end -.annotate 'line', 671 find_lex $P1851, "$i" set $I1852, $P1851 find_lex $P1853, "$past" - unless_null $P1853, vivify_566 + unless_null $P1853, vivify_565 $P1853 = root_new ['parrot';'ResizablePMCArray'] + store_lex "$past", $P1853 + vivify_565: + set $P1853[$I1852], $P1850 +.annotate 'line', 678 + find_lex $P1854, "$i" + set $I1855, $P1854 + find_lex $P1856, "$past" + unless_null $P1856, vivify_566 + $P1856 = root_new ['parrot';'ResizablePMCArray'] vivify_566: - set $P1854, $P1853[$I1852] - unless_null $P1854, vivify_567 - new $P1854, "Undef" + set $P1857, $P1856[$I1855] + unless_null $P1857, vivify_567 + new $P1857, "Undef" vivify_567: - $P1854."named"(1) - if_1835_end: - if_1816_end: -.annotate 'line', 666 - find_lex $P1855, "$i" - clone $P1856, $P1855 - inc $P1855 - loop1857_next: -.annotate 'line', 665 - goto loop1857_test - loop1857_handler: + $P1857."flat"(1) +.annotate 'line', 679 + find_lex $P1861, "$i" + set $I1862, $P1861 + find_lex $P1863, "$past" + unless_null $P1863, vivify_568 + $P1863 = root_new ['parrot';'ResizablePMCArray'] + vivify_568: + set $P1864, $P1863[$I1862] + unless_null $P1864, vivify_569 + new $P1864, "Undef" + vivify_569: + get_hll_global $P1865, ["PAST"], "Val" + $P1866 = $P1864."isa"($P1865) + if $P1866, if_1860 + set $P1859, $P1866 + goto if_1860_end + if_1860: +.annotate 'line', 680 + find_lex $P1867, "$i" + set $I1868, $P1867 + find_lex $P1869, "$past" + unless_null $P1869, vivify_570 + $P1869 = root_new ['parrot';'ResizablePMCArray'] + vivify_570: + set $P1870, $P1869[$I1868] + unless_null $P1870, vivify_571 + new $P1870, "Undef" + vivify_571: + $S1871 = $P1870."name"() + substr $S1872, $S1871, 0, 1 + iseq $I1873, $S1872, "%" + new $P1859, 'Integer' + set $P1859, $I1873 + if_1860_end: + unless $P1859, if_1858_end +.annotate 'line', 681 + find_lex $P1874, "$i" + set $I1875, $P1874 + find_lex $P1876, "$past" + unless_null $P1876, vivify_572 + $P1876 = root_new ['parrot';'ResizablePMCArray'] + vivify_572: + set $P1877, $P1876[$I1875] + unless_null $P1877, vivify_573 + new $P1877, "Undef" + vivify_573: + $P1877."named"(1) + if_1858_end: + if_1839_end: +.annotate 'line', 676 + find_lex $P1878, "$i" + clone $P1879, $P1878 + inc $P1878 + loop1880_next: +.annotate 'line', 675 + goto loop1880_test + loop1880_handler: .local pmc exception .get_results (exception) - getattribute $P1859, exception, 'type' - eq $P1859, .CONTROL_LOOP_NEXT, loop1857_next - eq $P1859, .CONTROL_LOOP_REDO, loop1857_redo - loop1857_done: + getattribute $P1882, exception, 'type' + eq $P1882, .CONTROL_LOOP_NEXT, loop1880_next + eq $P1882, .CONTROL_LOOP_REDO, loop1880_redo + loop1880_done: pop_eh -.annotate 'line', 676 - find_lex $P1860, "$/" - find_lex $P1861, "$past" - $P1862 = $P1860."!make"($P1861) -.annotate 'line', 654 - .return ($P1862) - control_1761: +.annotate 'line', 686 + find_lex $P1883, "$/" + find_lex $P1884, "$past" + $P1885 = $P1883."!make"($P1884) +.annotate 'line', 664 + .return ($P1885) + control_1784: .local pmc exception .get_results (exception) - getattribute $P1863, exception, "payload" - .return ($P1863) + getattribute $P1886, exception, "payload" + .return ($P1886) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "_block1773" :anon :subid("99_1276996335.94529") :outer("98_1276996335.94529") -.annotate 'line', 656 - .const 'Sub' $P1795 = "100_1276996335.94529" - capture_lex $P1795 -.annotate 'line', 657 - new $P1775, "Undef" - .lex "$expr", $P1775 - find_lex $P1776, "$/" - unless_null $P1776, vivify_551 - $P1776 = root_new ['parrot';'Hash'] - vivify_551: - set $P1777, $P1776["EXPR"] - unless_null $P1777, vivify_552 - new $P1777, "Undef" - vivify_552: - $P1778 = $P1777."ast"() - store_lex "$expr", $P1778 -.annotate 'line', 658 - find_lex $P1783, "$expr" - $S1784 = $P1783."name"() - iseq $I1785, $S1784, "&infix:<,>" - if $I1785, if_1782 - new $P1781, 'Integer' - set $P1781, $I1785 - goto if_1782_end - if_1782: - find_lex $P1786, "$expr" - $P1787 = $P1786."named"() - isfalse $I1788, $P1787 - new $P1781, 'Integer' - set $P1781, $I1788 - if_1782_end: - if $P1781, if_1780 -.annotate 'line', 661 - find_lex $P1803, "$past" - find_lex $P1804, "$expr" - $P1805 = $P1803."push"($P1804) - set $P1779, $P1805 -.annotate 'line', 658 - goto if_1780_end - if_1780: -.annotate 'line', 659 - find_lex $P1790, "$expr" - $P1791 = $P1790."list"() - defined $I1792, $P1791 - unless $I1792, for_undef_553 - iter $P1789, $P1791 - new $P1801, 'ExceptionHandler' - set_addr $P1801, loop1800_handler - $P1801."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1801 - loop1800_test: - unless $P1789, loop1800_done - shift $P1793, $P1789 - loop1800_redo: - .const 'Sub' $P1795 = "100_1276996335.94529" - capture_lex $P1795 - $P1795($P1793) - loop1800_next: - goto loop1800_test - loop1800_handler: +.sub "_block1796" :anon :subid("99_1278500542.82783") :outer("98_1278500542.82783") +.annotate 'line', 666 + .const 'Sub' $P1818 = "100_1278500542.82783" + capture_lex $P1818 +.annotate 'line', 667 + new $P1798, "Undef" + .lex "$expr", $P1798 + find_lex $P1799, "$/" + unless_null $P1799, vivify_557 + $P1799 = root_new ['parrot';'Hash'] + vivify_557: + set $P1800, $P1799["EXPR"] + unless_null $P1800, vivify_558 + new $P1800, "Undef" + vivify_558: + $P1801 = $P1800."ast"() + store_lex "$expr", $P1801 +.annotate 'line', 668 + find_lex $P1806, "$expr" + $S1807 = $P1806."name"() + iseq $I1808, $S1807, "&infix:<,>" + if $I1808, if_1805 + new $P1804, 'Integer' + set $P1804, $I1808 + goto if_1805_end + if_1805: + find_lex $P1809, "$expr" + $P1810 = $P1809."named"() + isfalse $I1811, $P1810 + new $P1804, 'Integer' + set $P1804, $I1811 + if_1805_end: + if $P1804, if_1803 +.annotate 'line', 671 + find_lex $P1826, "$past" + find_lex $P1827, "$expr" + $P1828 = $P1826."push"($P1827) + set $P1802, $P1828 +.annotate 'line', 668 + goto if_1803_end + if_1803: +.annotate 'line', 669 + find_lex $P1813, "$expr" + $P1814 = $P1813."list"() + defined $I1815, $P1814 + unless $I1815, for_undef_559 + iter $P1812, $P1814 + new $P1824, 'ExceptionHandler' + set_addr $P1824, loop1823_handler + $P1824."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1824 + loop1823_test: + unless $P1812, loop1823_done + shift $P1816, $P1812 + loop1823_redo: + .const 'Sub' $P1818 = "100_1278500542.82783" + capture_lex $P1818 + $P1818($P1816) + loop1823_next: + goto loop1823_test + loop1823_handler: .local pmc exception .get_results (exception) - getattribute $P1802, exception, 'type' - eq $P1802, .CONTROL_LOOP_NEXT, loop1800_next - eq $P1802, .CONTROL_LOOP_REDO, loop1800_redo - loop1800_done: + getattribute $P1825, exception, 'type' + eq $P1825, .CONTROL_LOOP_NEXT, loop1823_next + eq $P1825, .CONTROL_LOOP_REDO, loop1823_redo + loop1823_done: pop_eh - for_undef_553: -.annotate 'line', 658 - set $P1779, $P1789 - if_1780_end: -.annotate 'line', 656 - .return ($P1779) -.end - - -.namespace ["NQP";"Actions"] -.sub "_block1794" :anon :subid("100_1276996335.94529") :outer("99_1276996335.94529") - .param pmc param_1796 -.annotate 'line', 659 - .lex "$_", param_1796 - find_lex $P1797, "$past" - find_lex $P1798, "$_" - $P1799 = $P1797."push"($P1798) - .return ($P1799) + for_undef_559: +.annotate 'line', 668 + set $P1802, $P1812 + if_1803_end: +.annotate 'line', 666 + .return ($P1802) .end .namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "term:sym" :subid("101_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1867 -.annotate 'line', 680 - new $P1866, 'ExceptionHandler' - set_addr $P1866, control_1865 - $P1866."handle_types"(.CONTROL_RETURN) - push_eh $P1866 - .lex "self", self - .lex "$/", param_1867 - find_lex $P1868, "$/" - find_lex $P1869, "$/" - unless_null $P1869, vivify_568 - $P1869 = root_new ['parrot';'Hash'] - vivify_568: - set $P1870, $P1869["value"] - unless_null $P1870, vivify_569 - new $P1870, "Undef" - vivify_569: - $P1871 = $P1870."ast"() - $P1872 = $P1868."!make"($P1871) - .return ($P1872) - control_1865: - .local pmc exception - .get_results (exception) - getattribute $P1873, exception, "payload" - .return ($P1873) +.sub "_block1817" :anon :subid("100_1278500542.82783") :outer("99_1278500542.82783") + .param pmc param_1819 +.annotate 'line', 669 + .lex "$_", param_1819 + find_lex $P1820, "$past" + find_lex $P1821, "$_" + $P1822 = $P1820."push"($P1821) + .return ($P1822) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "circumfix:sym<( )>" :subid("102_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1877 -.annotate 'line', 682 - new $P1876, 'ExceptionHandler' - set_addr $P1876, control_1875 - $P1876."handle_types"(.CONTROL_RETURN) - push_eh $P1876 +.sub "term:sym" :subid("101_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1890 +.annotate 'line', 690 + new $P1889, 'ExceptionHandler' + set_addr $P1889, control_1888 + $P1889."handle_types"(.CONTROL_RETURN) + push_eh $P1889 .lex "self", self - .lex "$/", param_1877 -.annotate 'line', 683 - find_lex $P1878, "$/" -.annotate 'line', 684 - find_lex $P1881, "$/" - unless_null $P1881, vivify_570 - $P1881 = root_new ['parrot';'Hash'] - vivify_570: - set $P1882, $P1881["EXPR"] - unless_null $P1882, vivify_571 - new $P1882, "Undef" - vivify_571: - if $P1882, if_1880 -.annotate 'line', 685 - get_hll_global $P1887, ["PAST"], "Op" - find_lex $P1888, "$/" - $P1889 = $P1887."new"("list" :named("pasttype"), $P1888 :named("node")) - set $P1879, $P1889 -.annotate 'line', 684 - goto if_1880_end - if_1880: - find_lex $P1883, "$/" - unless_null $P1883, vivify_572 - $P1883 = root_new ['parrot';'Hash'] - vivify_572: - set $P1884, $P1883["EXPR"] - unless_null $P1884, vivify_573 - $P1884 = root_new ['parrot';'ResizablePMCArray'] - vivify_573: - set $P1885, $P1884[0] - unless_null $P1885, vivify_574 - new $P1885, "Undef" + .lex "$/", param_1890 + find_lex $P1891, "$/" + find_lex $P1892, "$/" + unless_null $P1892, vivify_574 + $P1892 = root_new ['parrot';'Hash'] vivify_574: - $P1886 = $P1885."ast"() - set $P1879, $P1886 - if_1880_end: - $P1890 = $P1878."!make"($P1879) -.annotate 'line', 682 - .return ($P1890) - control_1875: + set $P1893, $P1892["value"] + unless_null $P1893, vivify_575 + new $P1893, "Undef" + vivify_575: + $P1894 = $P1893."ast"() + $P1895 = $P1891."!make"($P1894) + .return ($P1895) + control_1888: .local pmc exception .get_results (exception) - getattribute $P1891, exception, "payload" - .return ($P1891) + getattribute $P1896, exception, "payload" + .return ($P1896) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "circumfix:sym<[ ]>" :subid("103_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1895 -.annotate 'line', 688 - new $P1894, 'ExceptionHandler' - set_addr $P1894, control_1893 - $P1894."handle_types"(.CONTROL_RETURN) - push_eh $P1894 +.sub "circumfix:sym<( )>" :subid("102_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1900 +.annotate 'line', 692 + new $P1899, 'ExceptionHandler' + set_addr $P1899, control_1898 + $P1899."handle_types"(.CONTROL_RETURN) + push_eh $P1899 .lex "self", self - .lex "$/", param_1895 -.annotate 'line', 689 - new $P1896, "Undef" - .lex "$past", $P1896 -.annotate 'line', 688 - find_lex $P1897, "$past" -.annotate 'line', 690 - find_lex $P1899, "$/" - unless_null $P1899, vivify_575 - $P1899 = root_new ['parrot';'Hash'] - vivify_575: - set $P1900, $P1899["EXPR"] - unless_null $P1900, vivify_576 - new $P1900, "Undef" - vivify_576: - if $P1900, if_1898 -.annotate 'line', 697 - get_hll_global $P1912, ["PAST"], "Op" - $P1913 = $P1912."new"("list" :named("pasttype")) - store_lex "$past", $P1913 -.annotate 'line', 696 - goto if_1898_end - if_1898: -.annotate 'line', 691 + .lex "$/", param_1900 +.annotate 'line', 693 find_lex $P1901, "$/" - unless_null $P1901, vivify_577 - $P1901 = root_new ['parrot';'Hash'] +.annotate 'line', 694 + find_lex $P1904, "$/" + unless_null $P1904, vivify_576 + $P1904 = root_new ['parrot';'Hash'] + vivify_576: + set $P1905, $P1904["EXPR"] + unless_null $P1905, vivify_577 + new $P1905, "Undef" vivify_577: - set $P1902, $P1901["EXPR"] - unless_null $P1902, vivify_578 - $P1902 = root_new ['parrot';'ResizablePMCArray'] + if $P1905, if_1903 +.annotate 'line', 695 + get_hll_global $P1910, ["PAST"], "Op" + find_lex $P1911, "$/" + $P1912 = $P1910."new"("list" :named("pasttype"), $P1911 :named("node")) + set $P1902, $P1912 +.annotate 'line', 694 + goto if_1903_end + if_1903: + find_lex $P1906, "$/" + unless_null $P1906, vivify_578 + $P1906 = root_new ['parrot';'Hash'] vivify_578: - set $P1903, $P1902[0] - unless_null $P1903, vivify_579 - new $P1903, "Undef" + set $P1907, $P1906["EXPR"] + unless_null $P1907, vivify_579 + $P1907 = root_new ['parrot';'ResizablePMCArray'] vivify_579: - $P1904 = $P1903."ast"() - store_lex "$past", $P1904 + set $P1908, $P1907[0] + unless_null $P1908, vivify_580 + new $P1908, "Undef" + vivify_580: + $P1909 = $P1908."ast"() + set $P1902, $P1909 + if_1903_end: + $P1913 = $P1901."!make"($P1902) .annotate 'line', 692 - find_lex $P1906, "$past" - $S1907 = $P1906."name"() - isne $I1908, $S1907, "&infix:<,>" - unless $I1908, if_1905_end -.annotate 'line', 693 - get_hll_global $P1909, ["PAST"], "Op" - find_lex $P1910, "$past" - $P1911 = $P1909."new"($P1910, "list" :named("pasttype")) - store_lex "$past", $P1911 - if_1905_end: - if_1898_end: -.annotate 'line', 699 - find_lex $P1914, "$past" - $P1914."name"("&circumfix:<[ ]>") -.annotate 'line', 700 - find_lex $P1915, "$/" - find_lex $P1916, "$past" - $P1917 = $P1915."!make"($P1916) -.annotate 'line', 688 - .return ($P1917) - control_1893: + .return ($P1913) + control_1898: .local pmc exception .get_results (exception) - getattribute $P1918, exception, "payload" - .return ($P1918) + getattribute $P1914, exception, "payload" + .return ($P1914) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "circumfix:sym" :subid("104_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1922 -.annotate 'line', 703 - new $P1921, 'ExceptionHandler' - set_addr $P1921, control_1920 - $P1921."handle_types"(.CONTROL_RETURN) - push_eh $P1921 +.sub "circumfix:sym<[ ]>" :subid("103_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1918 +.annotate 'line', 698 + new $P1917, 'ExceptionHandler' + set_addr $P1917, control_1916 + $P1917."handle_types"(.CONTROL_RETURN) + push_eh $P1917 .lex "self", self - .lex "$/", param_1922 - find_lex $P1923, "$/" + .lex "$/", param_1918 +.annotate 'line', 699 + new $P1919, "Undef" + .lex "$past", $P1919 +.annotate 'line', 698 + find_lex $P1920, "$past" +.annotate 'line', 700 + find_lex $P1922, "$/" + unless_null $P1922, vivify_581 + $P1922 = root_new ['parrot';'Hash'] + vivify_581: + set $P1923, $P1922["EXPR"] + unless_null $P1923, vivify_582 + new $P1923, "Undef" + vivify_582: + if $P1923, if_1921 +.annotate 'line', 707 + get_hll_global $P1935, ["PAST"], "Op" + $P1936 = $P1935."new"("list" :named("pasttype")) + store_lex "$past", $P1936 +.annotate 'line', 706 + goto if_1921_end + if_1921: +.annotate 'line', 701 find_lex $P1924, "$/" - unless_null $P1924, vivify_580 + unless_null $P1924, vivify_583 $P1924 = root_new ['parrot';'Hash'] - vivify_580: - set $P1925, $P1924["quote_EXPR"] - unless_null $P1925, vivify_581 - new $P1925, "Undef" - vivify_581: - $P1926 = $P1925."ast"() - $P1927 = $P1923."!make"($P1926) - .return ($P1927) - control_1920: + vivify_583: + set $P1925, $P1924["EXPR"] + unless_null $P1925, vivify_584 + $P1925 = root_new ['parrot';'ResizablePMCArray'] + vivify_584: + set $P1926, $P1925[0] + unless_null $P1926, vivify_585 + new $P1926, "Undef" + vivify_585: + $P1927 = $P1926."ast"() + store_lex "$past", $P1927 +.annotate 'line', 702 + find_lex $P1929, "$past" + $S1930 = $P1929."name"() + isne $I1931, $S1930, "&infix:<,>" + unless $I1931, if_1928_end +.annotate 'line', 703 + get_hll_global $P1932, ["PAST"], "Op" + find_lex $P1933, "$past" + $P1934 = $P1932."new"($P1933, "list" :named("pasttype")) + store_lex "$past", $P1934 + if_1928_end: + if_1921_end: +.annotate 'line', 709 + find_lex $P1937, "$past" + $P1937."name"("&circumfix:<[ ]>") +.annotate 'line', 710 + find_lex $P1938, "$/" + find_lex $P1939, "$past" + $P1940 = $P1938."!make"($P1939) +.annotate 'line', 698 + .return ($P1940) + control_1916: .local pmc exception .get_results (exception) - getattribute $P1928, exception, "payload" - .return ($P1928) + getattribute $P1941, exception, "payload" + .return ($P1941) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("105_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1932 -.annotate 'line', 704 - new $P1931, 'ExceptionHandler' - set_addr $P1931, control_1930 - $P1931."handle_types"(.CONTROL_RETURN) - push_eh $P1931 +.sub "circumfix:sym" :subid("104_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1945 +.annotate 'line', 713 + new $P1944, 'ExceptionHandler' + set_addr $P1944, control_1943 + $P1944."handle_types"(.CONTROL_RETURN) + push_eh $P1944 .lex "self", self - .lex "$/", param_1932 - find_lex $P1933, "$/" - find_lex $P1934, "$/" - unless_null $P1934, vivify_582 - $P1934 = root_new ['parrot';'Hash'] - vivify_582: - set $P1935, $P1934["quote_EXPR"] - unless_null $P1935, vivify_583 - new $P1935, "Undef" - vivify_583: - $P1936 = $P1935."ast"() - $P1937 = $P1933."!make"($P1936) - .return ($P1937) - control_1930: + .lex "$/", param_1945 + find_lex $P1946, "$/" + find_lex $P1947, "$/" + unless_null $P1947, vivify_586 + $P1947 = root_new ['parrot';'Hash'] + vivify_586: + set $P1948, $P1947["quote_EXPR"] + unless_null $P1948, vivify_587 + new $P1948, "Undef" + vivify_587: + $P1949 = $P1948."ast"() + $P1950 = $P1946."!make"($P1949) + .return ($P1950) + control_1943: .local pmc exception .get_results (exception) - getattribute $P1938, exception, "payload" - .return ($P1938) + getattribute $P1951, exception, "payload" + .return ($P1951) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "circumfix:sym<{ }>" :subid("106_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1942 -.annotate 'line', 706 - new $P1941, 'ExceptionHandler' - set_addr $P1941, control_1940 - $P1941."handle_types"(.CONTROL_RETURN) - push_eh $P1941 +.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("105_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1955 +.annotate 'line', 714 + new $P1954, 'ExceptionHandler' + set_addr $P1954, control_1953 + $P1954."handle_types"(.CONTROL_RETURN) + push_eh $P1954 .lex "self", self - .lex "$/", param_1942 -.annotate 'line', 707 - new $P1943, "Undef" - .lex "$past", $P1943 - find_lex $P1946, "$/" - unless_null $P1946, vivify_584 - $P1946 = root_new ['parrot';'Hash'] - vivify_584: - set $P1947, $P1946["pblock"] - unless_null $P1947, vivify_585 - $P1947 = root_new ['parrot';'Hash'] - vivify_585: - set $P1948, $P1947["blockoid"] - unless_null $P1948, vivify_586 - $P1948 = root_new ['parrot';'Hash'] - vivify_586: - set $P1949, $P1948["statementlist"] - unless_null $P1949, vivify_587 - $P1949 = root_new ['parrot';'Hash'] - vivify_587: - set $P1950, $P1949["statement"] - unless_null $P1950, vivify_588 - new $P1950, "Undef" + .lex "$/", param_1955 + find_lex $P1956, "$/" + find_lex $P1957, "$/" + unless_null $P1957, vivify_588 + $P1957 = root_new ['parrot';'Hash'] vivify_588: - set $N1951, $P1950 - isgt $I1952, $N1951, 0.0 - if $I1952, if_1945 -.annotate 'line', 709 - $P1956 = "vivitype"("%") - set $P1944, $P1956 -.annotate 'line', 707 - goto if_1945_end - if_1945: -.annotate 'line', 708 - find_lex $P1953, "$/" - unless_null $P1953, vivify_589 - $P1953 = root_new ['parrot';'Hash'] + set $P1958, $P1957["quote_EXPR"] + unless_null $P1958, vivify_589 + new $P1958, "Undef" vivify_589: - set $P1954, $P1953["pblock"] - unless_null $P1954, vivify_590 - new $P1954, "Undef" - vivify_590: - $P1955 = $P1954."ast"() - set $P1944, $P1955 - if_1945_end: - store_lex "$past", $P1944 -.annotate 'line', 710 - new $P1957, "Integer" - assign $P1957, 1 - find_lex $P1958, "$past" - unless_null $P1958, vivify_591 - $P1958 = root_new ['parrot';'Hash'] - store_lex "$past", $P1958 - vivify_591: - set $P1958["bareblock"], $P1957 -.annotate 'line', 711 - find_lex $P1959, "$/" - find_lex $P1960, "$past" - $P1961 = $P1959."!make"($P1960) -.annotate 'line', 706 - .return ($P1961) - control_1940: + $P1959 = $P1958."ast"() + $P1960 = $P1956."!make"($P1959) + .return ($P1960) + control_1953: .local pmc exception .get_results (exception) - getattribute $P1962, exception, "payload" - .return ($P1962) + getattribute $P1961, exception, "payload" + .return ($P1961) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "circumfix:sym" :subid("107_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1966 -.annotate 'line', 714 - new $P1965, 'ExceptionHandler' - set_addr $P1965, control_1964 - $P1965."handle_types"(.CONTROL_RETURN) - push_eh $P1965 +.sub "circumfix:sym<{ }>" :subid("106_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1965 +.annotate 'line', 716 + new $P1964, 'ExceptionHandler' + set_addr $P1964, control_1963 + $P1964."handle_types"(.CONTROL_RETURN) + push_eh $P1964 .lex "self", self - .lex "$/", param_1966 -.annotate 'line', 715 - new $P1967, "Undef" - .lex "$name", $P1967 - find_lex $P1970, "$/" - unless_null $P1970, vivify_592 + .lex "$/", param_1965 +.annotate 'line', 717 + new $P1966, "Undef" + .lex "$past", $P1966 + find_lex $P1969, "$/" + unless_null $P1969, vivify_590 + $P1969 = root_new ['parrot';'Hash'] + vivify_590: + set $P1970, $P1969["pblock"] + unless_null $P1970, vivify_591 $P1970 = root_new ['parrot';'Hash'] + vivify_591: + set $P1971, $P1970["blockoid"] + unless_null $P1971, vivify_592 + $P1971 = root_new ['parrot';'Hash'] vivify_592: - set $P1971, $P1970["sigil"] - unless_null $P1971, vivify_593 - new $P1971, "Undef" + set $P1972, $P1971["statementlist"] + unless_null $P1972, vivify_593 + $P1972 = root_new ['parrot';'Hash'] vivify_593: - set $S1972, $P1971 - iseq $I1973, $S1972, "@" - if $I1973, if_1969 -.annotate 'line', 716 - find_lex $P1977, "$/" - unless_null $P1977, vivify_594 - $P1977 = root_new ['parrot';'Hash'] + set $P1973, $P1972["statement"] + unless_null $P1973, vivify_594 + new $P1973, "Undef" vivify_594: - set $P1978, $P1977["sigil"] - unless_null $P1978, vivify_595 - new $P1978, "Undef" - vivify_595: - set $S1979, $P1978 - iseq $I1980, $S1979, "%" - if $I1980, if_1976 - new $P1982, "String" - assign $P1982, "item" - set $P1975, $P1982 - goto if_1976_end - if_1976: - new $P1981, "String" - assign $P1981, "hash" - set $P1975, $P1981 - if_1976_end: - set $P1968, $P1975 -.annotate 'line', 715 - goto if_1969_end - if_1969: - new $P1974, "String" - assign $P1974, "list" - set $P1968, $P1974 - if_1969_end: - store_lex "$name", $P1968 + set $N1974, $P1973 + isgt $I1975, $N1974, 0.0 + if $I1975, if_1968 +.annotate 'line', 719 + $P1979 = "vivitype"("%") + set $P1967, $P1979 +.annotate 'line', 717 + goto if_1968_end + if_1968: .annotate 'line', 718 - find_lex $P1983, "$/" - get_hll_global $P1984, ["PAST"], "Op" - find_lex $P1985, "$name" - find_lex $P1986, "$/" - unless_null $P1986, vivify_596 - $P1986 = root_new ['parrot';'Hash'] + find_lex $P1976, "$/" + unless_null $P1976, vivify_595 + $P1976 = root_new ['parrot';'Hash'] + vivify_595: + set $P1977, $P1976["pblock"] + unless_null $P1977, vivify_596 + new $P1977, "Undef" vivify_596: - set $P1987, $P1986["semilist"] - unless_null $P1987, vivify_597 - new $P1987, "Undef" + $P1978 = $P1977."ast"() + set $P1967, $P1978 + if_1968_end: + store_lex "$past", $P1967 +.annotate 'line', 720 + new $P1980, "Integer" + assign $P1980, 1 + find_lex $P1981, "$past" + unless_null $P1981, vivify_597 + $P1981 = root_new ['parrot';'Hash'] + store_lex "$past", $P1981 vivify_597: - $P1988 = $P1987."ast"() - $P1989 = $P1984."new"($P1988, "callmethod" :named("pasttype"), $P1985 :named("name")) - $P1990 = $P1983."!make"($P1989) -.annotate 'line', 714 - .return ($P1990) - control_1964: + set $P1981["bareblock"], $P1980 +.annotate 'line', 721 + find_lex $P1982, "$/" + find_lex $P1983, "$past" + $P1984 = $P1982."!make"($P1983) +.annotate 'line', 716 + .return ($P1984) + control_1963: .local pmc exception .get_results (exception) - getattribute $P1991, exception, "payload" - .return ($P1991) + getattribute $P1985, exception, "payload" + .return ($P1985) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "semilist" :subid("108_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_1995 -.annotate 'line', 721 - new $P1994, 'ExceptionHandler' - set_addr $P1994, control_1993 - $P1994."handle_types"(.CONTROL_RETURN) - push_eh $P1994 +.sub "circumfix:sym" :subid("107_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_1989 +.annotate 'line', 724 + new $P1988, 'ExceptionHandler' + set_addr $P1988, control_1987 + $P1988."handle_types"(.CONTROL_RETURN) + push_eh $P1988 .lex "self", self - .lex "$/", param_1995 - find_lex $P1996, "$/" - find_lex $P1997, "$/" - unless_null $P1997, vivify_598 - $P1997 = root_new ['parrot';'Hash'] + .lex "$/", param_1989 +.annotate 'line', 725 + new $P1990, "Undef" + .lex "$name", $P1990 + find_lex $P1993, "$/" + unless_null $P1993, vivify_598 + $P1993 = root_new ['parrot';'Hash'] vivify_598: - set $P1998, $P1997["statement"] - unless_null $P1998, vivify_599 - new $P1998, "Undef" + set $P1994, $P1993["sigil"] + unless_null $P1994, vivify_599 + new $P1994, "Undef" vivify_599: - $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"] -.include "except_types.pasm" -.sub "postcircumfix:sym<[ ]>" :subid("109_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2005 -.annotate 'line', 723 - new $P2004, 'ExceptionHandler' - set_addr $P2004, control_2003 - $P2004."handle_types"(.CONTROL_RETURN) - push_eh $P2004 - .lex "self", self - .lex "$/", param_2005 -.annotate 'line', 724 - find_lex $P2006, "$/" - get_hll_global $P2007, ["PAST"], "Var" - find_lex $P2008, "$/" - unless_null $P2008, vivify_600 - $P2008 = root_new ['parrot';'Hash'] + set $S1995, $P1994 + iseq $I1996, $S1995, "@" + if $I1996, if_1992 +.annotate 'line', 726 + find_lex $P2000, "$/" + unless_null $P2000, vivify_600 + $P2000 = root_new ['parrot';'Hash'] vivify_600: - set $P2009, $P2008["EXPR"] - unless_null $P2009, vivify_601 - new $P2009, "Undef" + set $P2001, $P2000["sigil"] + unless_null $P2001, vivify_601 + new $P2001, "Undef" vivify_601: - $P2010 = $P2009."ast"() -.annotate 'line', 726 - $P2011 = "vivitype"("@") - $P2012 = $P2007."new"($P2010, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2011 :named("vivibase")) -.annotate 'line', 724 + set $S2002, $P2001 + iseq $I2003, $S2002, "%" + if $I2003, if_1999 + new $P2005, "String" + assign $P2005, "item" + set $P1998, $P2005 + goto if_1999_end + if_1999: + new $P2004, "String" + assign $P2004, "hash" + set $P1998, $P2004 + if_1999_end: + set $P1991, $P1998 +.annotate 'line', 725 + goto if_1992_end + if_1992: + new $P1997, "String" + assign $P1997, "list" + set $P1991, $P1997 + if_1992_end: + store_lex "$name", $P1991 +.annotate 'line', 728 + find_lex $P2006, "$/" + get_hll_global $P2007, ["PAST"], "Op" + find_lex $P2008, "$name" + find_lex $P2009, "$/" + unless_null $P2009, vivify_602 + $P2009 = root_new ['parrot';'Hash'] + vivify_602: + set $P2010, $P2009["semilist"] + unless_null $P2010, vivify_603 + new $P2010, "Undef" + vivify_603: + $P2011 = $P2010."ast"() + $P2012 = $P2007."new"($P2011, "callmethod" :named("pasttype"), $P2008 :named("name")) $P2013 = $P2006."!make"($P2012) -.annotate 'line', 723 +.annotate 'line', 724 .return ($P2013) - control_2003: + control_1987: .local pmc exception .get_results (exception) getattribute $P2014, exception, "payload" @@ -23621,106 +23995,104 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postcircumfix:sym<{ }>" :subid("110_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "semilist" :subid("108_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_2018 -.annotate 'line', 729 +.annotate 'line', 731 new $P2017, 'ExceptionHandler' set_addr $P2017, control_2016 $P2017."handle_types"(.CONTROL_RETURN) push_eh $P2017 .lex "self", self .lex "$/", param_2018 -.annotate 'line', 730 find_lex $P2019, "$/" - get_hll_global $P2020, ["PAST"], "Var" - find_lex $P2021, "$/" - unless_null $P2021, vivify_602 - $P2021 = root_new ['parrot';'Hash'] - vivify_602: - set $P2022, $P2021["EXPR"] - unless_null $P2022, vivify_603 - new $P2022, "Undef" - vivify_603: - $P2023 = $P2022."ast"() -.annotate 'line', 732 - $P2024 = "vivitype"("%") - $P2025 = $P2020."new"($P2023, "keyed" :named("scope"), "Undef" :named("viviself"), $P2024 :named("vivibase")) -.annotate 'line', 730 - $P2026 = $P2019."!make"($P2025) -.annotate 'line', 729 - .return ($P2026) + find_lex $P2020, "$/" + unless_null $P2020, vivify_604 + $P2020 = root_new ['parrot';'Hash'] + vivify_604: + set $P2021, $P2020["statement"] + unless_null $P2021, vivify_605 + new $P2021, "Undef" + vivify_605: + $P2022 = $P2021."ast"() + $P2023 = $P2019."!make"($P2022) + .return ($P2023) control_2016: .local pmc exception .get_results (exception) - getattribute $P2027, exception, "payload" - .return ($P2027) + getattribute $P2024, exception, "payload" + .return ($P2024) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postcircumfix:sym" :subid("111_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2031 -.annotate 'line', 735 - new $P2030, 'ExceptionHandler' - set_addr $P2030, control_2029 - $P2030."handle_types"(.CONTROL_RETURN) - push_eh $P2030 +.sub "postcircumfix:sym<[ ]>" :subid("109_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2028 +.annotate 'line', 733 + new $P2027, 'ExceptionHandler' + set_addr $P2027, control_2026 + $P2027."handle_types"(.CONTROL_RETURN) + push_eh $P2027 .lex "self", self - .lex "$/", param_2031 -.annotate 'line', 736 - find_lex $P2032, "$/" - get_hll_global $P2033, ["PAST"], "Var" - find_lex $P2034, "$/" - unless_null $P2034, vivify_604 - $P2034 = root_new ['parrot';'Hash'] - vivify_604: - set $P2035, $P2034["quote_EXPR"] - unless_null $P2035, vivify_605 - new $P2035, "Undef" - vivify_605: - $P2036 = $P2035."ast"() -.annotate 'line', 738 - $P2037 = "vivitype"("%") - $P2038 = $P2033."new"($P2036, "keyed" :named("scope"), "Undef" :named("viviself"), $P2037 :named("vivibase")) + .lex "$/", param_2028 +.annotate 'line', 734 + find_lex $P2029, "$/" + get_hll_global $P2030, ["PAST"], "Var" + find_lex $P2031, "$/" + unless_null $P2031, vivify_606 + $P2031 = root_new ['parrot';'Hash'] + vivify_606: + set $P2032, $P2031["EXPR"] + unless_null $P2032, vivify_607 + new $P2032, "Undef" + vivify_607: + $P2033 = $P2032."ast"() .annotate 'line', 736 - $P2039 = $P2032."!make"($P2038) -.annotate 'line', 735 - .return ($P2039) - control_2029: + $P2034 = "vivitype"("@") + $P2035 = $P2030."new"($P2033, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2034 :named("vivibase")) +.annotate 'line', 734 + $P2036 = $P2029."!make"($P2035) +.annotate 'line', 733 + .return ($P2036) + control_2026: .local pmc exception .get_results (exception) - getattribute $P2040, exception, "payload" - .return ($P2040) + getattribute $P2037, exception, "payload" + .return ($P2037) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postcircumfix:sym<( )>" :subid("112_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2044 -.annotate 'line', 741 - new $P2043, 'ExceptionHandler' - set_addr $P2043, control_2042 - $P2043."handle_types"(.CONTROL_RETURN) - push_eh $P2043 +.sub "postcircumfix:sym<{ }>" :subid("110_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2041 +.annotate 'line', 739 + new $P2040, 'ExceptionHandler' + set_addr $P2040, control_2039 + $P2040."handle_types"(.CONTROL_RETURN) + push_eh $P2040 .lex "self", self - .lex "$/", param_2044 + .lex "$/", param_2041 +.annotate 'line', 740 + find_lex $P2042, "$/" + get_hll_global $P2043, ["PAST"], "Var" + find_lex $P2044, "$/" + unless_null $P2044, vivify_608 + $P2044 = root_new ['parrot';'Hash'] + vivify_608: + set $P2045, $P2044["EXPR"] + unless_null $P2045, vivify_609 + new $P2045, "Undef" + vivify_609: + $P2046 = $P2045."ast"() .annotate 'line', 742 - find_lex $P2045, "$/" - find_lex $P2046, "$/" - unless_null $P2046, vivify_606 - $P2046 = root_new ['parrot';'Hash'] - vivify_606: - set $P2047, $P2046["arglist"] - unless_null $P2047, vivify_607 - new $P2047, "Undef" - vivify_607: - $P2048 = $P2047."ast"() - $P2049 = $P2045."!make"($P2048) -.annotate 'line', 741 + $P2047 = "vivitype"("%") + $P2048 = $P2043."new"($P2046, "keyed" :named("scope"), "Undef" :named("viviself"), $P2047 :named("vivibase")) +.annotate 'line', 740 + $P2049 = $P2042."!make"($P2048) +.annotate 'line', 739 .return ($P2049) - control_2042: + control_2039: .local pmc exception .get_results (exception) getattribute $P2050, exception, "payload" @@ -23730,7 +24102,7 @@ NQP::Compiler - NQP compiler .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "value" :subid("113_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "postcircumfix:sym" :subid("111_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_2054 .annotate 'line', 745 new $P2053, 'ExceptionHandler' @@ -23741,1077 +24113,1148 @@ NQP::Compiler - NQP compiler .lex "$/", param_2054 .annotate 'line', 746 find_lex $P2055, "$/" - find_lex $P2058, "$/" - unless_null $P2058, vivify_608 - $P2058 = root_new ['parrot';'Hash'] - vivify_608: - set $P2059, $P2058["quote"] - unless_null $P2059, vivify_609 - new $P2059, "Undef" - vivify_609: - if $P2059, if_2057 - find_lex $P2063, "$/" - unless_null $P2063, vivify_610 - $P2063 = root_new ['parrot';'Hash'] + get_hll_global $P2056, ["PAST"], "Var" + find_lex $P2057, "$/" + unless_null $P2057, vivify_610 + $P2057 = root_new ['parrot';'Hash'] vivify_610: - set $P2064, $P2063["number"] - unless_null $P2064, vivify_611 - new $P2064, "Undef" + set $P2058, $P2057["quote_EXPR"] + unless_null $P2058, vivify_611 + new $P2058, "Undef" vivify_611: - $P2065 = $P2064."ast"() - set $P2056, $P2065 - goto if_2057_end - if_2057: - find_lex $P2060, "$/" - unless_null $P2060, vivify_612 - $P2060 = root_new ['parrot';'Hash'] - vivify_612: - set $P2061, $P2060["quote"] - unless_null $P2061, vivify_613 - new $P2061, "Undef" - vivify_613: - $P2062 = $P2061."ast"() - set $P2056, $P2062 - if_2057_end: - $P2066 = $P2055."!make"($P2056) + $P2059 = $P2058."ast"() +.annotate 'line', 748 + $P2060 = "vivitype"("%") + $P2061 = $P2056."new"($P2059, "keyed" :named("scope"), "Undef" :named("viviself"), $P2060 :named("vivibase")) +.annotate 'line', 746 + $P2062 = $P2055."!make"($P2061) .annotate 'line', 745 - .return ($P2066) + .return ($P2062) control_2052: .local pmc exception .get_results (exception) - getattribute $P2067, exception, "payload" - .return ($P2067) + getattribute $P2063, exception, "payload" + .return ($P2063) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "number" :subid("114_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2071 -.annotate 'line', 749 - new $P2070, 'ExceptionHandler' - set_addr $P2070, control_2069 - $P2070."handle_types"(.CONTROL_RETURN) - push_eh $P2070 - .lex "self", self - .lex "$/", param_2071 -.annotate 'line', 750 - new $P2072, "Undef" - .lex "$value", $P2072 - find_lex $P2075, "$/" - unless_null $P2075, vivify_614 - $P2075 = root_new ['parrot';'Hash'] - vivify_614: - set $P2076, $P2075["dec_number"] - unless_null $P2076, vivify_615 - new $P2076, "Undef" - vivify_615: - if $P2076, if_2074 - find_lex $P2080, "$/" - unless_null $P2080, vivify_616 - $P2080 = root_new ['parrot';'Hash'] - vivify_616: - set $P2081, $P2080["integer"] - unless_null $P2081, vivify_617 - new $P2081, "Undef" - vivify_617: - $P2082 = $P2081."ast"() - set $P2073, $P2082 - goto if_2074_end - if_2074: - find_lex $P2077, "$/" - unless_null $P2077, vivify_618 - $P2077 = root_new ['parrot';'Hash'] - vivify_618: - set $P2078, $P2077["dec_number"] - unless_null $P2078, vivify_619 - new $P2078, "Undef" - vivify_619: - $P2079 = $P2078."ast"() - set $P2073, $P2079 - if_2074_end: - store_lex "$value", $P2073 +.sub "postcircumfix:sym<( )>" :subid("112_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2067 .annotate 'line', 751 - find_lex $P2084, "$/" - unless_null $P2084, vivify_620 - $P2084 = root_new ['parrot';'Hash'] - vivify_620: - set $P2085, $P2084["sign"] - unless_null $P2085, vivify_621 - new $P2085, "Undef" - vivify_621: - set $S2086, $P2085 - iseq $I2087, $S2086, "-" - unless $I2087, if_2083_end - find_lex $P2088, "$value" - neg $P2089, $P2088 - store_lex "$value", $P2089 - if_2083_end: + new $P2066, 'ExceptionHandler' + set_addr $P2066, control_2065 + $P2066."handle_types"(.CONTROL_RETURN) + push_eh $P2066 + .lex "self", self + .lex "$/", param_2067 .annotate 'line', 752 - find_lex $P2090, "$/" - get_hll_global $P2091, ["PAST"], "Val" - find_lex $P2092, "$value" - $P2093 = $P2091."new"($P2092 :named("value")) - $P2094 = $P2090."!make"($P2093) -.annotate 'line', 749 - .return ($P2094) - control_2069: + find_lex $P2068, "$/" + find_lex $P2069, "$/" + unless_null $P2069, vivify_612 + $P2069 = root_new ['parrot';'Hash'] + vivify_612: + set $P2070, $P2069["arglist"] + unless_null $P2070, vivify_613 + new $P2070, "Undef" + vivify_613: + $P2071 = $P2070."ast"() + $P2072 = $P2068."!make"($P2071) +.annotate 'line', 751 + .return ($P2072) + control_2065: .local pmc exception .get_results (exception) - getattribute $P2095, exception, "payload" - .return ($P2095) + getattribute $P2073, exception, "payload" + .return ($P2073) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("115_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2099 +.sub "value" :subid("113_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2077 .annotate 'line', 755 - new $P2098, 'ExceptionHandler' - set_addr $P2098, control_2097 - $P2098."handle_types"(.CONTROL_RETURN) - push_eh $P2098 + new $P2076, 'ExceptionHandler' + set_addr $P2076, control_2075 + $P2076."handle_types"(.CONTROL_RETURN) + push_eh $P2076 .lex "self", self - .lex "$/", param_2099 - find_lex $P2100, "$/" - find_lex $P2101, "$/" - unless_null $P2101, vivify_622 - $P2101 = root_new ['parrot';'Hash'] - vivify_622: - set $P2102, $P2101["quote_EXPR"] - unless_null $P2102, vivify_623 - new $P2102, "Undef" - vivify_623: - $P2103 = $P2102."ast"() - $P2104 = $P2100."!make"($P2103) - .return ($P2104) - control_2097: + .lex "$/", param_2077 +.annotate 'line', 756 + find_lex $P2078, "$/" + find_lex $P2081, "$/" + unless_null $P2081, vivify_614 + $P2081 = root_new ['parrot';'Hash'] + vivify_614: + set $P2082, $P2081["quote"] + unless_null $P2082, vivify_615 + new $P2082, "Undef" + vivify_615: + if $P2082, if_2080 + find_lex $P2086, "$/" + unless_null $P2086, vivify_616 + $P2086 = root_new ['parrot';'Hash'] + vivify_616: + set $P2087, $P2086["number"] + unless_null $P2087, vivify_617 + new $P2087, "Undef" + vivify_617: + $P2088 = $P2087."ast"() + set $P2079, $P2088 + goto if_2080_end + if_2080: + find_lex $P2083, "$/" + unless_null $P2083, vivify_618 + $P2083 = root_new ['parrot';'Hash'] + vivify_618: + set $P2084, $P2083["quote"] + unless_null $P2084, vivify_619 + new $P2084, "Undef" + vivify_619: + $P2085 = $P2084."ast"() + set $P2079, $P2085 + if_2080_end: + $P2089 = $P2078."!make"($P2079) +.annotate 'line', 755 + .return ($P2089) + control_2075: .local pmc exception .get_results (exception) - getattribute $P2105, exception, "payload" - .return ($P2105) + getattribute $P2090, exception, "payload" + .return ($P2090) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("116_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2109 -.annotate 'line', 756 - new $P2108, 'ExceptionHandler' - set_addr $P2108, control_2107 - $P2108."handle_types"(.CONTROL_RETURN) - push_eh $P2108 +.sub "number" :subid("114_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2094 +.annotate 'line', 759 + new $P2093, 'ExceptionHandler' + set_addr $P2093, control_2092 + $P2093."handle_types"(.CONTROL_RETURN) + push_eh $P2093 .lex "self", self - .lex "$/", param_2109 - find_lex $P2110, "$/" - find_lex $P2111, "$/" - unless_null $P2111, vivify_624 - $P2111 = root_new ['parrot';'Hash'] + .lex "$/", param_2094 +.annotate 'line', 760 + new $P2095, "Undef" + .lex "$value", $P2095 + find_lex $P2098, "$/" + unless_null $P2098, vivify_620 + $P2098 = root_new ['parrot';'Hash'] + vivify_620: + set $P2099, $P2098["dec_number"] + unless_null $P2099, vivify_621 + new $P2099, "Undef" + vivify_621: + if $P2099, if_2097 + find_lex $P2103, "$/" + unless_null $P2103, vivify_622 + $P2103 = root_new ['parrot';'Hash'] + vivify_622: + set $P2104, $P2103["integer"] + unless_null $P2104, vivify_623 + new $P2104, "Undef" + vivify_623: + $P2105 = $P2104."ast"() + set $P2096, $P2105 + goto if_2097_end + if_2097: + find_lex $P2100, "$/" + unless_null $P2100, vivify_624 + $P2100 = root_new ['parrot';'Hash'] vivify_624: - set $P2112, $P2111["quote_EXPR"] - unless_null $P2112, vivify_625 - new $P2112, "Undef" + set $P2101, $P2100["dec_number"] + unless_null $P2101, vivify_625 + new $P2101, "Undef" vivify_625: - $P2113 = $P2112."ast"() - $P2114 = $P2110."!make"($P2113) - .return ($P2114) - control_2107: - .local pmc exception - .get_results (exception) - getattribute $P2115, exception, "payload" - .return ($P2115) -.end - - -.namespace ["NQP";"Actions"] -.include "except_types.pasm" -.sub "quote:sym" :subid("117_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2119 -.annotate 'line', 757 - new $P2118, 'ExceptionHandler' - set_addr $P2118, control_2117 - $P2118."handle_types"(.CONTROL_RETURN) - push_eh $P2118 - .lex "self", self - .lex "$/", param_2119 - find_lex $P2120, "$/" - find_lex $P2121, "$/" - unless_null $P2121, vivify_626 - $P2121 = root_new ['parrot';'Hash'] + $P2102 = $P2101."ast"() + set $P2096, $P2102 + if_2097_end: + store_lex "$value", $P2096 +.annotate 'line', 761 + find_lex $P2107, "$/" + unless_null $P2107, vivify_626 + $P2107 = root_new ['parrot';'Hash'] vivify_626: - set $P2122, $P2121["quote_EXPR"] - unless_null $P2122, vivify_627 - new $P2122, "Undef" + set $P2108, $P2107["sign"] + unless_null $P2108, vivify_627 + new $P2108, "Undef" vivify_627: - $P2123 = $P2122."ast"() - $P2124 = $P2120."!make"($P2123) - .return ($P2124) - control_2117: + set $S2109, $P2108 + iseq $I2110, $S2109, "-" + unless $I2110, if_2106_end + find_lex $P2111, "$value" + neg $P2112, $P2111 + store_lex "$value", $P2112 + if_2106_end: +.annotate 'line', 762 + find_lex $P2113, "$/" + get_hll_global $P2114, ["PAST"], "Val" + find_lex $P2115, "$value" + $P2116 = $P2114."new"($P2115 :named("value")) + $P2117 = $P2113."!make"($P2116) +.annotate 'line', 759 + .return ($P2117) + control_2092: .local pmc exception .get_results (exception) - getattribute $P2125, exception, "payload" - .return ($P2125) + getattribute $P2118, exception, "payload" + .return ($P2118) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("118_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2129 -.annotate 'line', 758 - new $P2128, 'ExceptionHandler' - set_addr $P2128, control_2127 - $P2128."handle_types"(.CONTROL_RETURN) - push_eh $P2128 +.sub "quote:sym" :subid("115_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2122 +.annotate 'line', 765 + new $P2121, 'ExceptionHandler' + set_addr $P2121, control_2120 + $P2121."handle_types"(.CONTROL_RETURN) + push_eh $P2121 .lex "self", self - .lex "$/", param_2129 - find_lex $P2130, "$/" - find_lex $P2131, "$/" - unless_null $P2131, vivify_628 - $P2131 = root_new ['parrot';'Hash'] + .lex "$/", param_2122 + find_lex $P2123, "$/" + find_lex $P2124, "$/" + unless_null $P2124, vivify_628 + $P2124 = root_new ['parrot';'Hash'] vivify_628: - set $P2132, $P2131["quote_EXPR"] - unless_null $P2132, vivify_629 - new $P2132, "Undef" + set $P2125, $P2124["quote_EXPR"] + unless_null $P2125, vivify_629 + new $P2125, "Undef" vivify_629: - $P2133 = $P2132."ast"() - $P2134 = $P2130."!make"($P2133) - .return ($P2134) - control_2127: + $P2126 = $P2125."ast"() + $P2127 = $P2123."!make"($P2126) + .return ($P2127) + control_2120: .local pmc exception .get_results (exception) - getattribute $P2135, exception, "payload" - .return ($P2135) + getattribute $P2128, exception, "payload" + .return ($P2128) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("119_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2139 -.annotate 'line', 759 - new $P2138, 'ExceptionHandler' - set_addr $P2138, control_2137 - $P2138."handle_types"(.CONTROL_RETURN) - push_eh $P2138 +.sub "quote:sym" :subid("116_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2132 +.annotate 'line', 766 + new $P2131, 'ExceptionHandler' + set_addr $P2131, control_2130 + $P2131."handle_types"(.CONTROL_RETURN) + push_eh $P2131 .lex "self", self - .lex "$/", param_2139 - find_lex $P2140, "$/" - find_lex $P2141, "$/" - unless_null $P2141, vivify_630 - $P2141 = root_new ['parrot';'Hash'] + .lex "$/", param_2132 + find_lex $P2133, "$/" + find_lex $P2134, "$/" + unless_null $P2134, vivify_630 + $P2134 = root_new ['parrot';'Hash'] vivify_630: - set $P2142, $P2141["quote_EXPR"] - unless_null $P2142, vivify_631 - new $P2142, "Undef" + set $P2135, $P2134["quote_EXPR"] + unless_null $P2135, vivify_631 + new $P2135, "Undef" vivify_631: - $P2143 = $P2142."ast"() - $P2144 = $P2140."!make"($P2143) - .return ($P2144) - control_2137: + $P2136 = $P2135."ast"() + $P2137 = $P2133."!make"($P2136) + .return ($P2137) + control_2130: .local pmc exception .get_results (exception) - getattribute $P2145, exception, "payload" - .return ($P2145) + getattribute $P2138, exception, "payload" + .return ($P2138) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("120_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2149 -.annotate 'line', 760 - new $P2148, 'ExceptionHandler' - set_addr $P2148, control_2147 - $P2148."handle_types"(.CONTROL_RETURN) - push_eh $P2148 +.sub "quote:sym" :subid("117_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2142 +.annotate 'line', 767 + new $P2141, 'ExceptionHandler' + set_addr $P2141, control_2140 + $P2141."handle_types"(.CONTROL_RETURN) + push_eh $P2141 .lex "self", self - .lex "$/", param_2149 -.annotate 'line', 761 - find_lex $P2150, "$/" - get_hll_global $P2151, ["PAST"], "Op" - find_lex $P2152, "$/" - unless_null $P2152, vivify_632 - $P2152 = root_new ['parrot';'Hash'] + .lex "$/", param_2142 + find_lex $P2143, "$/" + find_lex $P2144, "$/" + unless_null $P2144, vivify_632 + $P2144 = root_new ['parrot';'Hash'] vivify_632: - set $P2153, $P2152["quote_EXPR"] - unless_null $P2153, vivify_633 - new $P2153, "Undef" + set $P2145, $P2144["quote_EXPR"] + unless_null $P2145, vivify_633 + new $P2145, "Undef" vivify_633: - $P2154 = $P2153."ast"() - $P2155 = $P2154."value"() - find_lex $P2156, "$/" - $P2157 = $P2151."new"($P2155 :named("inline"), "inline" :named("pasttype"), $P2156 :named("node")) - $P2158 = $P2150."!make"($P2157) -.annotate 'line', 760 - .return ($P2158) - control_2147: + $P2146 = $P2145."ast"() + $P2147 = $P2143."!make"($P2146) + .return ($P2147) + control_2140: .local pmc exception .get_results (exception) - getattribute $P2159, exception, "payload" - .return ($P2159) + getattribute $P2148, exception, "payload" + .return ($P2148) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote:sym" :subid("121_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2163 - .param pmc param_2164 :optional - .param int has_param_2164 :opt_flag -.annotate 'line', 766 - new $P2162, 'ExceptionHandler' - set_addr $P2162, control_2161 - $P2162."handle_types"(.CONTROL_RETURN) - push_eh $P2162 - .lex "self", self - .lex "$/", param_2163 - if has_param_2164, optparam_634 - new $P2165, "Undef" - set param_2164, $P2165 - optparam_634: - .lex "$key", param_2164 -.annotate 'line', 776 - new $P2166, "Undef" - .lex "$regex", $P2166 -.annotate 'line', 778 - new $P2167, "Undef" - .lex "$past", $P2167 -.annotate 'line', 767 - find_lex $P2169, "$key" - set $S2170, $P2169 - iseq $I2171, $S2170, "open" - unless $I2171, if_2168_end +.sub "quote:sym" :subid("118_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2152 .annotate 'line', 768 - - null $P0 - set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0 - -.annotate 'line', 772 - get_global $P2172, "@BLOCK" - unless_null $P2172, vivify_635 - $P2172 = root_new ['parrot';'ResizablePMCArray'] + new $P2151, 'ExceptionHandler' + set_addr $P2151, control_2150 + $P2151."handle_types"(.CONTROL_RETURN) + push_eh $P2151 + .lex "self", self + .lex "$/", param_2152 + find_lex $P2153, "$/" + find_lex $P2154, "$/" + unless_null $P2154, vivify_634 + $P2154 = root_new ['parrot';'Hash'] + vivify_634: + set $P2155, $P2154["quote_EXPR"] + unless_null $P2155, vivify_635 + new $P2155, "Undef" vivify_635: - set $P2173, $P2172[0] - unless_null $P2173, vivify_636 - new $P2173, "Undef" + $P2156 = $P2155."ast"() + $P2157 = $P2153."!make"($P2156) + .return ($P2157) + control_2150: + .local pmc exception + .get_results (exception) + getattribute $P2158, exception, "payload" + .return ($P2158) +.end + + +.namespace ["NQP";"Actions"] +.include "except_types.pasm" +.sub "quote:sym" :subid("119_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2162 +.annotate 'line', 769 + new $P2161, 'ExceptionHandler' + set_addr $P2161, control_2160 + $P2161."handle_types"(.CONTROL_RETURN) + push_eh $P2161 + .lex "self", self + .lex "$/", param_2162 + find_lex $P2163, "$/" + find_lex $P2164, "$/" + unless_null $P2164, vivify_636 + $P2164 = root_new ['parrot';'Hash'] vivify_636: - $P2173."symbol"(unicode:"$\x{a2}", "lexical" :named("scope")) -.annotate 'line', 773 - get_global $P2174, "@BLOCK" - unless_null $P2174, vivify_637 - $P2174 = root_new ['parrot';'ResizablePMCArray'] + set $P2165, $P2164["quote_EXPR"] + unless_null $P2165, vivify_637 + new $P2165, "Undef" vivify_637: - set $P2175, $P2174[0] - unless_null $P2175, vivify_638 - new $P2175, "Undef" - vivify_638: - $P2175."symbol"("$/", "lexical" :named("scope")) -.annotate 'line', 774 - new $P2176, "Exception" - set $P2176['type'], .CONTROL_RETURN - new $P2177, "Integer" - assign $P2177, 0 - setattribute $P2176, 'payload', $P2177 - throw $P2176 - if_2168_end: -.annotate 'line', 777 - get_hll_global $P2178, ["Regex";"P6Regex";"Actions"], "buildsub" - find_lex $P2179, "$/" - unless_null $P2179, vivify_639 - $P2179 = root_new ['parrot';'Hash'] - vivify_639: - set $P2180, $P2179["p6regex"] - unless_null $P2180, vivify_640 - new $P2180, "Undef" - vivify_640: - $P2181 = $P2180."ast"() - get_global $P2182, "@BLOCK" - $P2183 = $P2182."shift"() - $P2184 = $P2178($P2181, $P2183) - store_lex "$regex", $P2184 -.annotate 'line', 779 - get_hll_global $P2185, ["PAST"], "Op" -.annotate 'line', 781 - get_hll_global $P2186, ["PAST"], "Var" - new $P2187, "ResizablePMCArray" - push $P2187, "Regex" - $P2188 = $P2186."new"("Regex" :named("name"), $P2187 :named("namespace"), "package" :named("scope")) - find_lex $P2189, "$regex" - $P2190 = $P2185."new"($P2188, $P2189, "callmethod" :named("pasttype"), "new" :named("name")) -.annotate 'line', 779 - store_lex "$past", $P2190 -.annotate 'line', 785 - find_lex $P2191, "$regex" - find_lex $P2192, "$past" - unless_null $P2192, vivify_641 - $P2192 = root_new ['parrot';'Hash'] - store_lex "$past", $P2192 - vivify_641: - set $P2192["sink"], $P2191 -.annotate 'line', 786 - find_lex $P2193, "$/" - find_lex $P2194, "$past" - $P2195 = $P2193."!make"($P2194) -.annotate 'line', 766 - .return ($P2195) - control_2161: + $P2166 = $P2165."ast"() + $P2167 = $P2163."!make"($P2166) + .return ($P2167) + control_2160: .local pmc exception .get_results (exception) - getattribute $P2196, exception, "payload" - .return ($P2196) + getattribute $P2168, exception, "payload" + .return ($P2168) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym<$>" :subid("122_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2200 -.annotate 'line', 789 - new $P2199, 'ExceptionHandler' - set_addr $P2199, control_2198 - $P2199."handle_types"(.CONTROL_RETURN) - push_eh $P2199 +.sub "quote:sym" :subid("120_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2172 +.annotate 'line', 770 + new $P2171, 'ExceptionHandler' + set_addr $P2171, control_2170 + $P2171."handle_types"(.CONTROL_RETURN) + push_eh $P2171 .lex "self", self - .lex "$/", param_2200 - find_lex $P2201, "$/" - find_lex $P2202, "$/" - unless_null $P2202, vivify_642 - $P2202 = root_new ['parrot';'Hash'] - vivify_642: - set $P2203, $P2202["variable"] - unless_null $P2203, vivify_643 - new $P2203, "Undef" - vivify_643: - $P2204 = $P2203."ast"() - $P2205 = $P2201."!make"($P2204) - .return ($P2205) - control_2198: + .lex "$/", param_2172 +.annotate 'line', 771 + find_lex $P2173, "$/" + get_hll_global $P2174, ["PAST"], "Op" + find_lex $P2175, "$/" + unless_null $P2175, vivify_638 + $P2175 = root_new ['parrot';'Hash'] + vivify_638: + set $P2176, $P2175["quote_EXPR"] + unless_null $P2176, vivify_639 + new $P2176, "Undef" + vivify_639: + $P2177 = $P2176."ast"() + $P2178 = $P2177."value"() + find_lex $P2179, "$/" + $P2180 = $P2174."new"($P2178 :named("inline"), "inline" :named("pasttype"), $P2179 :named("node")) + $P2181 = $P2173."!make"($P2180) +.annotate 'line', 770 + .return ($P2181) + control_2170: .local pmc exception .get_results (exception) - getattribute $P2206, exception, "payload" - .return ($P2206) + getattribute $P2182, exception, "payload" + .return ($P2182) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym<{ }>" :subid("123_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2210 -.annotate 'line', 790 - new $P2209, 'ExceptionHandler' - set_addr $P2209, control_2208 - $P2209."handle_types"(.CONTROL_RETURN) - push_eh $P2209 +.sub "quote:sym" :subid("121_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2186 + .param pmc param_2187 :optional + .param int has_param_2187 :opt_flag +.annotate 'line', 776 + new $P2185, 'ExceptionHandler' + set_addr $P2185, control_2184 + $P2185."handle_types"(.CONTROL_RETURN) + push_eh $P2185 .lex "self", self - .lex "$/", param_2210 -.annotate 'line', 791 - find_lex $P2211, "$/" - get_hll_global $P2212, ["PAST"], "Op" -.annotate 'line', 792 - find_lex $P2213, "$/" - unless_null $P2213, vivify_644 - $P2213 = root_new ['parrot';'Hash'] + .lex "$/", param_2186 + if has_param_2187, optparam_640 + new $P2188, "Undef" + set param_2187, $P2188 + optparam_640: + .lex "$key", param_2187 +.annotate 'line', 786 + new $P2189, "Undef" + .lex "$regex", $P2189 +.annotate 'line', 788 + new $P2190, "Undef" + .lex "$past", $P2190 +.annotate 'line', 777 + find_lex $P2192, "$key" + set $S2193, $P2192 + iseq $I2194, $S2193, "open" + unless $I2194, if_2191_end +.annotate 'line', 778 + + null $P0 + set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0 + +.annotate 'line', 782 + get_global $P2195, "@BLOCK" + unless_null $P2195, vivify_641 + $P2195 = root_new ['parrot';'ResizablePMCArray'] + vivify_641: + set $P2196, $P2195[0] + unless_null $P2196, vivify_642 + new $P2196, "Undef" + vivify_642: + $P2196."symbol"(unicode:"$\x{a2}", "lexical" :named("scope")) +.annotate 'line', 783 + get_global $P2197, "@BLOCK" + unless_null $P2197, vivify_643 + $P2197 = root_new ['parrot';'ResizablePMCArray'] + vivify_643: + set $P2198, $P2197[0] + unless_null $P2198, vivify_644 + new $P2198, "Undef" vivify_644: - set $P2214, $P2213["block"] - unless_null $P2214, vivify_645 - new $P2214, "Undef" + $P2198."symbol"("$/", "lexical" :named("scope")) +.annotate 'line', 784 + new $P2199, "Exception" + set $P2199['type'], .CONTROL_RETURN + new $P2200, "Integer" + assign $P2200, 0 + setattribute $P2199, 'payload', $P2200 + throw $P2199 + if_2191_end: +.annotate 'line', 787 + get_hll_global $P2201, ["Regex";"P6Regex";"Actions"], "buildsub" + find_lex $P2202, "$/" + unless_null $P2202, vivify_645 + $P2202 = root_new ['parrot';'Hash'] vivify_645: - $P2215 = $P2214."ast"() - $P2216 = "block_immediate"($P2215) - find_lex $P2217, "$/" - $P2218 = $P2212."new"($P2216, "set S*" :named("pirop"), $P2217 :named("node")) + set $P2203, $P2202["p6regex"] + unless_null $P2203, vivify_646 + new $P2203, "Undef" + vivify_646: + $P2204 = $P2203."ast"() + get_global $P2205, "@BLOCK" + $P2206 = $P2205."shift"() + $P2207 = $P2201($P2204, $P2206) + store_lex "$regex", $P2207 +.annotate 'line', 789 + get_hll_global $P2208, ["PAST"], "Op" .annotate 'line', 791 - $P2219 = $P2211."!make"($P2218) -.annotate 'line', 790 - .return ($P2219) - control_2208: + get_hll_global $P2209, ["PAST"], "Var" + new $P2210, "ResizablePMCArray" + push $P2210, "Regex" + $P2211 = $P2209."new"("Regex" :named("name"), $P2210 :named("namespace"), "package" :named("scope")) + find_lex $P2212, "$regex" + $P2213 = $P2208."new"($P2211, $P2212, "callmethod" :named("pasttype"), "new" :named("name")) +.annotate 'line', 789 + store_lex "$past", $P2213 +.annotate 'line', 795 + find_lex $P2214, "$regex" + find_lex $P2215, "$past" + unless_null $P2215, vivify_647 + $P2215 = root_new ['parrot';'Hash'] + store_lex "$past", $P2215 + vivify_647: + set $P2215["sink"], $P2214 +.annotate 'line', 796 + find_lex $P2216, "$/" + find_lex $P2217, "$past" + $P2218 = $P2216."!make"($P2217) +.annotate 'line', 776 + .return ($P2218) + control_2184: .local pmc exception .get_results (exception) - getattribute $P2220, exception, "payload" - .return ($P2220) + getattribute $P2219, exception, "payload" + .return ($P2219) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "quote_escape:sym" :subid("124_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2224 -.annotate 'line', 795 - new $P2223, 'ExceptionHandler' - set_addr $P2223, control_2222 - $P2223."handle_types"(.CONTROL_RETURN) - push_eh $P2223 +.sub "quote_escape:sym<$>" :subid("122_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2223 +.annotate 'line', 799 + new $P2222, 'ExceptionHandler' + set_addr $P2222, control_2221 + $P2222."handle_types"(.CONTROL_RETURN) + push_eh $P2222 .lex "self", self - .lex "$/", param_2224 + .lex "$/", param_2223 + find_lex $P2224, "$/" find_lex $P2225, "$/" - $P2226 = $P2225."!make"("\e") - .return ($P2226) - control_2222: + unless_null $P2225, vivify_648 + $P2225 = root_new ['parrot';'Hash'] + vivify_648: + set $P2226, $P2225["variable"] + unless_null $P2226, vivify_649 + new $P2226, "Undef" + vivify_649: + $P2227 = $P2226."ast"() + $P2228 = $P2224."!make"($P2227) + .return ($P2228) + control_2221: .local pmc exception .get_results (exception) - getattribute $P2227, exception, "payload" - .return ($P2227) + getattribute $P2229, exception, "payload" + .return ($P2229) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postfix:sym<.>" :subid("125_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2231 -.annotate 'line', 799 - new $P2230, 'ExceptionHandler' - set_addr $P2230, control_2229 - $P2230."handle_types"(.CONTROL_RETURN) - push_eh $P2230 +.sub "quote_escape:sym<{ }>" :subid("123_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2233 +.annotate 'line', 800 + new $P2232, 'ExceptionHandler' + set_addr $P2232, control_2231 + $P2232."handle_types"(.CONTROL_RETURN) + push_eh $P2232 .lex "self", self - .lex "$/", param_2231 - find_lex $P2232, "$/" - find_lex $P2233, "$/" - unless_null $P2233, vivify_646 - $P2233 = root_new ['parrot';'Hash'] - vivify_646: - set $P2234, $P2233["dotty"] - unless_null $P2234, vivify_647 - new $P2234, "Undef" - vivify_647: - $P2235 = $P2234."ast"() - $P2236 = $P2232."!make"($P2235) - .return ($P2236) - control_2229: + .lex "$/", param_2233 +.annotate 'line', 801 + find_lex $P2234, "$/" + get_hll_global $P2235, ["PAST"], "Op" +.annotate 'line', 802 + find_lex $P2236, "$/" + unless_null $P2236, vivify_650 + $P2236 = root_new ['parrot';'Hash'] + vivify_650: + set $P2237, $P2236["block"] + unless_null $P2237, vivify_651 + new $P2237, "Undef" + vivify_651: + $P2238 = $P2237."ast"() + $P2239 = "block_immediate"($P2238) + find_lex $P2240, "$/" + $P2241 = $P2235."new"($P2239, "set S*" :named("pirop"), $P2240 :named("node")) +.annotate 'line', 801 + $P2242 = $P2234."!make"($P2241) +.annotate 'line', 800 + .return ($P2242) + control_2231: .local pmc exception .get_results (exception) - getattribute $P2237, exception, "payload" - .return ($P2237) + getattribute $P2243, exception, "payload" + .return ($P2243) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postfix:sym<++>" :subid("126_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2241 -.annotate 'line', 801 - new $P2240, 'ExceptionHandler' - set_addr $P2240, control_2239 - $P2240."handle_types"(.CONTROL_RETURN) - push_eh $P2240 +.sub "quote_escape:sym" :subid("124_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2247 +.annotate 'line', 805 + new $P2246, 'ExceptionHandler' + set_addr $P2246, control_2245 + $P2246."handle_types"(.CONTROL_RETURN) + push_eh $P2246 .lex "self", self - .lex "$/", param_2241 -.annotate 'line', 802 - find_lex $P2242, "$/" - get_hll_global $P2243, ["PAST"], "Op" -.annotate 'line', 803 - new $P2244, "ResizablePMCArray" - push $P2244, " clone %r, %0" - push $P2244, " inc %0" - $P2245 = $P2243."new"("postfix:<++>" :named("name"), $P2244 :named("inline"), "inline" :named("pasttype")) -.annotate 'line', 802 - $P2246 = $P2242."!make"($P2245) -.annotate 'line', 801 - .return ($P2246) - control_2239: + .lex "$/", param_2247 + find_lex $P2248, "$/" + $P2249 = $P2248."!make"("\e") + .return ($P2249) + control_2245: .local pmc exception .get_results (exception) - getattribute $P2247, exception, "payload" - .return ($P2247) + getattribute $P2250, exception, "payload" + .return ($P2250) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "postfix:sym<-->" :subid("127_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2251 -.annotate 'line', 807 - new $P2250, 'ExceptionHandler' - set_addr $P2250, control_2249 - $P2250."handle_types"(.CONTROL_RETURN) - push_eh $P2250 - .lex "self", self - .lex "$/", param_2251 -.annotate 'line', 808 - find_lex $P2252, "$/" - get_hll_global $P2253, ["PAST"], "Op" +.sub "postfix:sym<.>" :subid("125_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2254 .annotate 'line', 809 - new $P2254, "ResizablePMCArray" - push $P2254, " clone %r, %0" - push $P2254, " dec %0" - $P2255 = $P2253."new"("postfix:<-->" :named("name"), $P2254 :named("inline"), "inline" :named("pasttype")) -.annotate 'line', 808 - $P2256 = $P2252."!make"($P2255) -.annotate 'line', 807 - .return ($P2256) - control_2249: + new $P2253, 'ExceptionHandler' + set_addr $P2253, control_2252 + $P2253."handle_types"(.CONTROL_RETURN) + push_eh $P2253 + .lex "self", self + .lex "$/", param_2254 + find_lex $P2255, "$/" + find_lex $P2256, "$/" + unless_null $P2256, vivify_652 + $P2256 = root_new ['parrot';'Hash'] + vivify_652: + set $P2257, $P2256["dotty"] + unless_null $P2257, vivify_653 + new $P2257, "Undef" + vivify_653: + $P2258 = $P2257."ast"() + $P2259 = $P2255."!make"($P2258) + .return ($P2259) + control_2252: .local pmc exception .get_results (exception) - getattribute $P2257, exception, "payload" - .return ($P2257) + getattribute $P2260, exception, "payload" + .return ($P2260) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "prefix:sym" :subid("128_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2261 -.annotate 'line', 813 - new $P2260, 'ExceptionHandler' - set_addr $P2260, control_2259 - $P2260."handle_types"(.CONTROL_RETURN) - push_eh $P2260 +.sub "postfix:sym<++>" :subid("126_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2264 +.annotate 'line', 811 + new $P2263, 'ExceptionHandler' + set_addr $P2263, control_2262 + $P2263."handle_types"(.CONTROL_RETURN) + push_eh $P2263 .lex "self", self - .lex "$/", param_2261 -.annotate 'line', 814 - find_lex $P2262, "$/" - get_hll_global $P2263, ["PAST"], "Op" -.annotate 'line', 815 - get_hll_global $P2264, ["PAST"], "Var" - $P2265 = $P2264."new"("$/" :named("name"), "contextual" :named("scope")) - find_lex $P2266, "$/" - $P2267 = $P2263."new"($P2265, "callmethod" :named("pasttype"), "!make" :named("name"), $P2266 :named("node")) -.annotate 'line', 814 - $P2268 = $P2262."!make"($P2267) + .lex "$/", param_2264 +.annotate 'line', 812 + find_lex $P2265, "$/" + get_hll_global $P2266, ["PAST"], "Op" .annotate 'line', 813 - .return ($P2268) - control_2259: + new $P2267, "ResizablePMCArray" + push $P2267, " clone %r, %0" + push $P2267, " inc %0" + $P2268 = $P2266."new"("postfix:<++>" :named("name"), $P2267 :named("inline"), "inline" :named("pasttype")) +.annotate 'line', 812 + $P2269 = $P2265."!make"($P2268) +.annotate 'line', 811 + .return ($P2269) + control_2262: .local pmc exception .get_results (exception) - getattribute $P2269, exception, "payload" - .return ($P2269) + getattribute $P2270, exception, "payload" + .return ($P2270) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("129_1276996335.94529") :method :outer("11_1276996335.94529") +.sub "postfix:sym<-->" :subid("127_1278500542.82783") :method :outer("11_1278500542.82783") .param pmc param_2274 -.annotate 'line', 831 +.annotate 'line', 817 new $P2273, 'ExceptionHandler' set_addr $P2273, control_2272 $P2273."handle_types"(.CONTROL_RETURN) push_eh $P2273 .lex "self", self .lex "$/", param_2274 +.annotate 'line', 818 find_lex $P2275, "$/" - $P2276 = "control"($P2275, "CONTROL_LOOP_NEXT") - .return ($P2276) + get_hll_global $P2276, ["PAST"], "Op" +.annotate 'line', 819 + new $P2277, "ResizablePMCArray" + push $P2277, " clone %r, %0" + push $P2277, " dec %0" + $P2278 = $P2276."new"("postfix:<-->" :named("name"), $P2277 :named("inline"), "inline" :named("pasttype")) +.annotate 'line', 818 + $P2279 = $P2275."!make"($P2278) +.annotate 'line', 817 + .return ($P2279) control_2272: .local pmc exception .get_results (exception) - getattribute $P2277, exception, "payload" - .return ($P2277) + getattribute $P2280, exception, "payload" + .return ($P2280) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("130_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2281 -.annotate 'line', 832 - new $P2280, 'ExceptionHandler' - set_addr $P2280, control_2279 - $P2280."handle_types"(.CONTROL_RETURN) - push_eh $P2280 +.sub "prefix:sym" :subid("128_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2284 +.annotate 'line', 823 + new $P2283, 'ExceptionHandler' + set_addr $P2283, control_2282 + $P2283."handle_types"(.CONTROL_RETURN) + push_eh $P2283 .lex "self", self - .lex "$/", param_2281 - find_lex $P2282, "$/" - $P2283 = "control"($P2282, "CONTROL_LOOP_LAST") - .return ($P2283) - control_2279: + .lex "$/", param_2284 +.annotate 'line', 824 + find_lex $P2285, "$/" + get_hll_global $P2286, ["PAST"], "Op" +.annotate 'line', 825 + get_hll_global $P2287, ["PAST"], "Var" + $P2288 = $P2287."new"("$/" :named("name"), "contextual" :named("scope")) + find_lex $P2289, "$/" + $P2290 = $P2286."new"($P2288, "callmethod" :named("pasttype"), "!make" :named("name"), $P2289 :named("node")) +.annotate 'line', 824 + $P2291 = $P2285."!make"($P2290) +.annotate 'line', 823 + .return ($P2291) + control_2282: .local pmc exception .get_results (exception) - getattribute $P2284, exception, "payload" - .return ($P2284) + getattribute $P2292, exception, "payload" + .return ($P2292) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "term:sym" :subid("131_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2288 -.annotate 'line', 833 - new $P2287, 'ExceptionHandler' - set_addr $P2287, control_2286 - $P2287."handle_types"(.CONTROL_RETURN) - push_eh $P2287 +.sub "term:sym" :subid("129_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2297 +.annotate 'line', 841 + new $P2296, 'ExceptionHandler' + set_addr $P2296, control_2295 + $P2296."handle_types"(.CONTROL_RETURN) + push_eh $P2296 .lex "self", self - .lex "$/", param_2288 - find_lex $P2289, "$/" - $P2290 = "control"($P2289, "CONTROL_LOOP_REDO") - .return ($P2290) - control_2286: + .lex "$/", param_2297 + find_lex $P2298, "$/" + $P2299 = "control"($P2298, "CONTROL_LOOP_NEXT") + .return ($P2299) + control_2295: .local pmc exception .get_results (exception) - getattribute $P2291, exception, "payload" - .return ($P2291) + getattribute $P2300, exception, "payload" + .return ($P2300) .end .namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "infix:sym<~~>" :subid("132_1276996335.94529") :method :outer("11_1276996335.94529") - .param pmc param_2295 -.annotate 'line', 835 - new $P2294, 'ExceptionHandler' - set_addr $P2294, control_2293 - $P2294."handle_types"(.CONTROL_RETURN) - push_eh $P2294 +.sub "term:sym" :subid("130_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2304 +.annotate 'line', 842 + new $P2303, 'ExceptionHandler' + set_addr $P2303, control_2302 + $P2303."handle_types"(.CONTROL_RETURN) + push_eh $P2303 .lex "self", self - .lex "$/", param_2295 -.annotate 'line', 836 - find_lex $P2296, "$/" - get_hll_global $P2297, ["PAST"], "Op" - find_lex $P2298, "$/" - $P2299 = $P2297."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2298 :named("node")) - $P2300 = $P2296."!make"($P2299) -.annotate 'line', 835 - .return ($P2300) - control_2293: + .lex "$/", param_2304 + find_lex $P2305, "$/" + $P2306 = "control"($P2305, "CONTROL_LOOP_LAST") + .return ($P2306) + control_2302: .local pmc exception .get_results (exception) - getattribute $P2301, exception, "payload" - .return ($P2301) -.end - - -.namespace ["NQP";"RegexActions"] -.sub "_block2302" :subid("133_1276996335.94529") :outer("11_1276996335.94529") -.annotate 'line', 840 - .const 'Sub' $P2388 = "140_1276996335.94529" - capture_lex $P2388 - .const 'Sub' $P2375 = "139_1276996335.94529" - capture_lex $P2375 - .const 'Sub' $P2358 = "138_1276996335.94529" - capture_lex $P2358 - .const 'Sub' $P2345 = "137_1276996335.94529" - capture_lex $P2345 - .const 'Sub' $P2332 = "136_1276996335.94529" - capture_lex $P2332 - .const 'Sub' $P2319 = "135_1276996335.94529" - capture_lex $P2319 - .const 'Sub' $P2304 = "134_1276996335.94529" - capture_lex $P2304 -.annotate 'line', 874 - .const 'Sub' $P2388 = "140_1276996335.94529" - newclosure $P2413, $P2388 -.annotate 'line', 840 - .return ($P2413) + getattribute $P2307, exception, "payload" + .return ($P2307) .end -.namespace ["NQP";"RegexActions"] +.namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<:my>" :subid("134_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2307 -.annotate 'line', 842 - new $P2306, 'ExceptionHandler' - set_addr $P2306, control_2305 - $P2306."handle_types"(.CONTROL_RETURN) - push_eh $P2306 - .lex "self", self - .lex "$/", param_2307 +.sub "term:sym" :subid("131_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2311 .annotate 'line', 843 - new $P2308, "Undef" - .lex "$past", $P2308 - find_lex $P2309, "$/" - unless_null $P2309, vivify_648 - $P2309 = root_new ['parrot';'Hash'] - vivify_648: - set $P2310, $P2309["statement"] - unless_null $P2310, vivify_649 - new $P2310, "Undef" - vivify_649: - $P2311 = $P2310."ast"() - store_lex "$past", $P2311 -.annotate 'line', 844 + new $P2310, 'ExceptionHandler' + set_addr $P2310, control_2309 + $P2310."handle_types"(.CONTROL_RETURN) + push_eh $P2310 + .lex "self", self + .lex "$/", param_2311 find_lex $P2312, "$/" - get_hll_global $P2313, ["PAST"], "Regex" - find_lex $P2314, "$past" - find_lex $P2315, "$/" - $P2316 = $P2313."new"($P2314, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2315 :named("node")) - $P2317 = $P2312."!make"($P2316) -.annotate 'line', 842 - .return ($P2317) - control_2305: + $P2313 = "control"($P2312, "CONTROL_LOOP_REDO") + .return ($P2313) + control_2309: .local pmc exception .get_results (exception) - getattribute $P2318, exception, "payload" - .return ($P2318) + getattribute $P2314, exception, "payload" + .return ($P2314) .end -.namespace ["NQP";"RegexActions"] +.namespace ["NQP";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<{ }>" :subid("135_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2322 -.annotate 'line', 848 - new $P2321, 'ExceptionHandler' - set_addr $P2321, control_2320 - $P2321."handle_types"(.CONTROL_RETURN) - push_eh $P2321 +.sub "infix:sym<~~>" :subid("132_1278500542.82783") :method :outer("11_1278500542.82783") + .param pmc param_2318 +.annotate 'line', 845 + new $P2317, 'ExceptionHandler' + set_addr $P2317, control_2316 + $P2317."handle_types"(.CONTROL_RETURN) + push_eh $P2317 .lex "self", self - .lex "$/", param_2322 -.annotate 'line', 849 - find_lex $P2323, "$/" - get_hll_global $P2324, ["PAST"], "Regex" - find_lex $P2325, "$/" - unless_null $P2325, vivify_650 - $P2325 = root_new ['parrot';'Hash'] - vivify_650: - set $P2326, $P2325["codeblock"] - unless_null $P2326, vivify_651 - new $P2326, "Undef" - vivify_651: - $P2327 = $P2326."ast"() - find_lex $P2328, "$/" - $P2329 = $P2324."new"($P2327, "pastnode" :named("pasttype"), $P2328 :named("node")) - $P2330 = $P2323."!make"($P2329) -.annotate 'line', 848 - .return ($P2330) - control_2320: + .lex "$/", param_2318 +.annotate 'line', 846 + find_lex $P2319, "$/" + get_hll_global $P2320, ["PAST"], "Op" + find_lex $P2321, "$/" + $P2322 = $P2320."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2321 :named("node")) + $P2323 = $P2319."!make"($P2322) +.annotate 'line', 845 + .return ($P2323) + control_2316: .local pmc exception .get_results (exception) - getattribute $P2331, exception, "payload" - .return ($P2331) + getattribute $P2324, exception, "payload" + .return ($P2324) +.end + + +.namespace ["NQP";"RegexActions"] +.sub "_block2325" :subid("133_1278500542.82783") :outer("11_1278500542.82783") +.annotate 'line', 850 + .const 'Sub' $P2411 = "140_1278500542.82783" + capture_lex $P2411 + .const 'Sub' $P2398 = "139_1278500542.82783" + capture_lex $P2398 + .const 'Sub' $P2381 = "138_1278500542.82783" + capture_lex $P2381 + .const 'Sub' $P2368 = "137_1278500542.82783" + capture_lex $P2368 + .const 'Sub' $P2355 = "136_1278500542.82783" + capture_lex $P2355 + .const 'Sub' $P2342 = "135_1278500542.82783" + capture_lex $P2342 + .const 'Sub' $P2327 = "134_1278500542.82783" + capture_lex $P2327 +.annotate 'line', 884 + .const 'Sub' $P2411 = "140_1278500542.82783" + newclosure $P2436, $P2411 +.annotate 'line', 850 + .return ($P2436) .end .namespace ["NQP";"RegexActions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("136_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2335 -.annotate 'line', 853 - new $P2334, 'ExceptionHandler' - set_addr $P2334, control_2333 - $P2334."handle_types"(.CONTROL_RETURN) - push_eh $P2334 +.sub "metachar:sym<:my>" :subid("134_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2330 +.annotate 'line', 852 + new $P2329, 'ExceptionHandler' + set_addr $P2329, control_2328 + $P2329."handle_types"(.CONTROL_RETURN) + push_eh $P2329 .lex "self", self - .lex "$/", param_2335 + .lex "$/", param_2330 +.annotate 'line', 853 + new $P2331, "Undef" + .lex "$past", $P2331 + find_lex $P2332, "$/" + unless_null $P2332, vivify_654 + $P2332 = root_new ['parrot';'Hash'] + vivify_654: + set $P2333, $P2332["statement"] + unless_null $P2333, vivify_655 + new $P2333, "Undef" + vivify_655: + $P2334 = $P2333."ast"() + store_lex "$past", $P2334 .annotate 'line', 854 - find_lex $P2336, "$/" - get_hll_global $P2337, ["PAST"], "Regex" + find_lex $P2335, "$/" + get_hll_global $P2336, ["PAST"], "Regex" + find_lex $P2337, "$past" find_lex $P2338, "$/" - unless_null $P2338, vivify_652 - $P2338 = root_new ['parrot';'Hash'] - vivify_652: - set $P2339, $P2338["var"] - unless_null $P2339, vivify_653 - new $P2339, "Undef" - vivify_653: - $P2340 = $P2339."ast"() - find_lex $P2341, "$/" - $P2342 = $P2337."new"("!INTERPOLATE", $P2340, "subrule" :named("pasttype"), "method" :named("subtype"), $P2341 :named("node")) - $P2343 = $P2336."!make"($P2342) -.annotate 'line', 853 - .return ($P2343) - control_2333: + $P2339 = $P2336."new"($P2337, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2338 :named("node")) + $P2340 = $P2335."!make"($P2339) +.annotate 'line', 852 + .return ($P2340) + control_2328: .local pmc exception .get_results (exception) - getattribute $P2344, exception, "payload" - .return ($P2344) + getattribute $P2341, exception, "payload" + .return ($P2341) .end .namespace ["NQP";"RegexActions"] .include "except_types.pasm" -.sub "assertion:sym<{ }>" :subid("137_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2348 +.sub "metachar:sym<{ }>" :subid("135_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2345 .annotate 'line', 858 - new $P2347, 'ExceptionHandler' - set_addr $P2347, control_2346 - $P2347."handle_types"(.CONTROL_RETURN) - push_eh $P2347 + new $P2344, 'ExceptionHandler' + set_addr $P2344, control_2343 + $P2344."handle_types"(.CONTROL_RETURN) + push_eh $P2344 .lex "self", self - .lex "$/", param_2348 + .lex "$/", param_2345 .annotate 'line', 859 - find_lex $P2349, "$/" - get_hll_global $P2350, ["PAST"], "Regex" + find_lex $P2346, "$/" + get_hll_global $P2347, ["PAST"], "Regex" + find_lex $P2348, "$/" + unless_null $P2348, vivify_656 + $P2348 = root_new ['parrot';'Hash'] + vivify_656: + set $P2349, $P2348["codeblock"] + unless_null $P2349, vivify_657 + new $P2349, "Undef" + vivify_657: + $P2350 = $P2349."ast"() find_lex $P2351, "$/" - unless_null $P2351, vivify_654 - $P2351 = root_new ['parrot';'Hash'] - vivify_654: - set $P2352, $P2351["codeblock"] - unless_null $P2352, vivify_655 - new $P2352, "Undef" - vivify_655: - $P2353 = $P2352."ast"() - find_lex $P2354, "$/" - $P2355 = $P2350."new"("!INTERPOLATE_REGEX", $P2353, "subrule" :named("pasttype"), "method" :named("subtype"), $P2354 :named("node")) - $P2356 = $P2349."!make"($P2355) + $P2352 = $P2347."new"($P2350, "pastnode" :named("pasttype"), $P2351 :named("node")) + $P2353 = $P2346."!make"($P2352) .annotate 'line', 858 - .return ($P2356) - control_2346: + .return ($P2353) + control_2343: .local pmc exception .get_results (exception) - getattribute $P2357, exception, "payload" - .return ($P2357) + getattribute $P2354, exception, "payload" + .return ($P2354) .end .namespace ["NQP";"RegexActions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("138_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2361 +.sub "metachar:sym" :subid("136_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2358 .annotate 'line', 863 - new $P2360, 'ExceptionHandler' - set_addr $P2360, control_2359 - $P2360."handle_types"(.CONTROL_RETURN) - push_eh $P2360 + new $P2357, 'ExceptionHandler' + set_addr $P2357, control_2356 + $P2357."handle_types"(.CONTROL_RETURN) + push_eh $P2357 .lex "self", self - .lex "$/", param_2361 + .lex "$/", param_2358 .annotate 'line', 864 - find_lex $P2362, "$/" - get_hll_global $P2363, ["PAST"], "Regex" - find_lex $P2364, "$/" - unless_null $P2364, vivify_656 - $P2364 = root_new ['parrot';'Hash'] - vivify_656: - set $P2365, $P2364["codeblock"] - unless_null $P2365, vivify_657 - new $P2365, "Undef" - vivify_657: - $P2366 = $P2365."ast"() -.annotate 'line', 865 - find_lex $P2367, "$/" - unless_null $P2367, vivify_658 - $P2367 = root_new ['parrot';'Hash'] + find_lex $P2359, "$/" + get_hll_global $P2360, ["PAST"], "Regex" + find_lex $P2361, "$/" + unless_null $P2361, vivify_658 + $P2361 = root_new ['parrot';'Hash'] vivify_658: - set $P2368, $P2367["zw"] - unless_null $P2368, vivify_659 - new $P2368, "Undef" + set $P2362, $P2361["var"] + unless_null $P2362, vivify_659 + new $P2362, "Undef" vivify_659: - set $S2369, $P2368 - iseq $I2370, $S2369, "!" - find_lex $P2371, "$/" - $P2372 = $P2363."new"($P2366, "zerowidth" :named("subtype"), $I2370 :named("negate"), "pastnode" :named("pasttype"), $P2371 :named("node")) -.annotate 'line', 864 - $P2373 = $P2362."!make"($P2372) + $P2363 = $P2362."ast"() + find_lex $P2364, "$/" + $P2365 = $P2360."new"("!INTERPOLATE", $P2363, "subrule" :named("pasttype"), "method" :named("subtype"), $P2364 :named("node")) + $P2366 = $P2359."!make"($P2365) .annotate 'line', 863 - .return ($P2373) - control_2359: + .return ($P2366) + control_2356: .local pmc exception .get_results (exception) - getattribute $P2374, exception, "payload" - .return ($P2374) + getattribute $P2367, exception, "payload" + .return ($P2367) .end .namespace ["NQP";"RegexActions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("139_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2378 -.annotate 'line', 869 - new $P2377, 'ExceptionHandler' - set_addr $P2377, control_2376 - $P2377."handle_types"(.CONTROL_RETURN) - push_eh $P2377 +.sub "assertion:sym<{ }>" :subid("137_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2371 +.annotate 'line', 868 + new $P2370, 'ExceptionHandler' + set_addr $P2370, control_2369 + $P2370."handle_types"(.CONTROL_RETURN) + push_eh $P2370 .lex "self", self - .lex "$/", param_2378 -.annotate 'line', 870 - find_lex $P2379, "$/" - get_hll_global $P2380, ["PAST"], "Regex" - find_lex $P2381, "$/" - unless_null $P2381, vivify_660 - $P2381 = root_new ['parrot';'Hash'] + .lex "$/", param_2371 +.annotate 'line', 869 + find_lex $P2372, "$/" + get_hll_global $P2373, ["PAST"], "Regex" + find_lex $P2374, "$/" + unless_null $P2374, vivify_660 + $P2374 = root_new ['parrot';'Hash'] vivify_660: - set $P2382, $P2381["var"] - unless_null $P2382, vivify_661 - new $P2382, "Undef" + set $P2375, $P2374["codeblock"] + unless_null $P2375, vivify_661 + new $P2375, "Undef" vivify_661: - $P2383 = $P2382."ast"() - find_lex $P2384, "$/" - $P2385 = $P2380."new"("!INTERPOLATE_REGEX", $P2383, "subrule" :named("pasttype"), "method" :named("subtype"), $P2384 :named("node")) - $P2386 = $P2379."!make"($P2385) -.annotate 'line', 869 - .return ($P2386) - control_2376: + $P2376 = $P2375."ast"() + find_lex $P2377, "$/" + $P2378 = $P2373."new"("!INTERPOLATE_REGEX", $P2376, "subrule" :named("pasttype"), "method" :named("subtype"), $P2377 :named("node")) + $P2379 = $P2372."!make"($P2378) +.annotate 'line', 868 + .return ($P2379) + control_2369: .local pmc exception .get_results (exception) - getattribute $P2387, exception, "payload" - .return ($P2387) + getattribute $P2380, exception, "payload" + .return ($P2380) .end .namespace ["NQP";"RegexActions"] .include "except_types.pasm" -.sub "codeblock" :subid("140_1276996335.94529") :method :outer("133_1276996335.94529") - .param pmc param_2391 -.annotate 'line', 874 - new $P2390, 'ExceptionHandler' - set_addr $P2390, control_2389 - $P2390."handle_types"(.CONTROL_RETURN) - push_eh $P2390 +.sub "assertion:sym" :subid("138_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2384 +.annotate 'line', 873 + new $P2383, 'ExceptionHandler' + set_addr $P2383, control_2382 + $P2383."handle_types"(.CONTROL_RETURN) + push_eh $P2383 .lex "self", self - .lex "$/", param_2391 -.annotate 'line', 875 - new $P2392, "Undef" - .lex "$block", $P2392 -.annotate 'line', 877 - new $P2393, "Undef" - .lex "$past", $P2393 -.annotate 'line', 875 - find_lex $P2394, "$/" - unless_null $P2394, vivify_662 - $P2394 = root_new ['parrot';'Hash'] + .lex "$/", param_2384 +.annotate 'line', 874 + find_lex $P2385, "$/" + get_hll_global $P2386, ["PAST"], "Regex" + find_lex $P2387, "$/" + unless_null $P2387, vivify_662 + $P2387 = root_new ['parrot';'Hash'] vivify_662: - set $P2395, $P2394["block"] - unless_null $P2395, vivify_663 - new $P2395, "Undef" + set $P2388, $P2387["codeblock"] + unless_null $P2388, vivify_663 + new $P2388, "Undef" vivify_663: - $P2396 = $P2395."ast"() - store_lex "$block", $P2396 -.annotate 'line', 876 - find_lex $P2397, "$block" - $P2397."blocktype"("immediate") -.annotate 'line', 878 - get_hll_global $P2398, ["PAST"], "Stmts" + $P2389 = $P2388."ast"() +.annotate 'line', 875 + find_lex $P2390, "$/" + unless_null $P2390, vivify_664 + $P2390 = root_new ['parrot';'Hash'] + vivify_664: + set $P2391, $P2390["zw"] + unless_null $P2391, vivify_665 + new $P2391, "Undef" + vivify_665: + set $S2392, $P2391 + iseq $I2393, $S2392, "!" + find_lex $P2394, "$/" + $P2395 = $P2386."new"($P2389, "zerowidth" :named("subtype"), $I2393 :named("negate"), "pastnode" :named("pasttype"), $P2394 :named("node")) +.annotate 'line', 874 + $P2396 = $P2385."!make"($P2395) +.annotate 'line', 873 + .return ($P2396) + control_2382: + .local pmc exception + .get_results (exception) + getattribute $P2397, exception, "payload" + .return ($P2397) +.end + + +.namespace ["NQP";"RegexActions"] +.include "except_types.pasm" +.sub "assertion:sym" :subid("139_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2401 .annotate 'line', 879 - get_hll_global $P2399, ["PAST"], "Op" + new $P2400, 'ExceptionHandler' + set_addr $P2400, control_2399 + $P2400."handle_types"(.CONTROL_RETURN) + push_eh $P2400 + .lex "self", self + .lex "$/", param_2401 .annotate 'line', 880 - get_hll_global $P2400, ["PAST"], "Var" - $P2401 = $P2400."new"("$/" :named("name")) -.annotate 'line', 881 - get_hll_global $P2402, ["PAST"], "Op" -.annotate 'line', 882 - get_hll_global $P2403, ["PAST"], "Var" - $P2404 = $P2403."new"(unicode:"$\x{a2}" :named("name")) - $P2405 = $P2402."new"($P2404, "MATCH" :named("name"), "callmethod" :named("pasttype")) -.annotate 'line', 881 - $P2406 = $P2399."new"($P2401, $P2405, "bind" :named("pasttype")) + find_lex $P2402, "$/" + get_hll_global $P2403, ["PAST"], "Regex" + find_lex $P2404, "$/" + unless_null $P2404, vivify_666 + $P2404 = root_new ['parrot';'Hash'] + vivify_666: + set $P2405, $P2404["var"] + unless_null $P2405, vivify_667 + new $P2405, "Undef" + vivify_667: + $P2406 = $P2405."ast"() + find_lex $P2407, "$/" + $P2408 = $P2403."new"("!INTERPOLATE_REGEX", $P2406, "subrule" :named("pasttype"), "method" :named("subtype"), $P2407 :named("node")) + $P2409 = $P2402."!make"($P2408) .annotate 'line', 879 - find_lex $P2407, "$block" - $P2408 = $P2398."new"($P2406, $P2407) -.annotate 'line', 878 - store_lex "$past", $P2408 + .return ($P2409) + control_2399: + .local pmc exception + .get_results (exception) + getattribute $P2410, exception, "payload" + .return ($P2410) +.end + + +.namespace ["NQP";"RegexActions"] +.include "except_types.pasm" +.sub "codeblock" :subid("140_1278500542.82783") :method :outer("133_1278500542.82783") + .param pmc param_2414 +.annotate 'line', 884 + new $P2413, 'ExceptionHandler' + set_addr $P2413, control_2412 + $P2413."handle_types"(.CONTROL_RETURN) + push_eh $P2413 + .lex "self", self + .lex "$/", param_2414 +.annotate 'line', 885 + new $P2415, "Undef" + .lex "$block", $P2415 +.annotate 'line', 887 + new $P2416, "Undef" + .lex "$past", $P2416 +.annotate 'line', 885 + find_lex $P2417, "$/" + unless_null $P2417, vivify_668 + $P2417 = root_new ['parrot';'Hash'] + vivify_668: + set $P2418, $P2417["block"] + unless_null $P2418, vivify_669 + new $P2418, "Undef" + vivify_669: + $P2419 = $P2418."ast"() + store_lex "$block", $P2419 +.annotate 'line', 886 + find_lex $P2420, "$block" + $P2420."blocktype"("immediate") +.annotate 'line', 888 + get_hll_global $P2421, ["PAST"], "Stmts" +.annotate 'line', 889 + get_hll_global $P2422, ["PAST"], "Op" .annotate 'line', 890 - find_lex $P2409, "$/" - find_lex $P2410, "$past" - $P2411 = $P2409."!make"($P2410) -.annotate 'line', 874 - .return ($P2411) - control_2389: + get_hll_global $P2423, ["PAST"], "Var" + $P2424 = $P2423."new"("$/" :named("name")) +.annotate 'line', 891 + get_hll_global $P2425, ["PAST"], "Op" +.annotate 'line', 892 + get_hll_global $P2426, ["PAST"], "Var" + $P2427 = $P2426."new"(unicode:"$\x{a2}" :named("name")) + $P2428 = $P2425."new"($P2427, "MATCH" :named("name"), "callmethod" :named("pasttype")) +.annotate 'line', 891 + $P2429 = $P2422."new"($P2424, $P2428, "bind" :named("pasttype")) +.annotate 'line', 889 + find_lex $P2430, "$block" + $P2431 = $P2421."new"($P2429, $P2430) +.annotate 'line', 888 + store_lex "$past", $P2431 +.annotate 'line', 900 + find_lex $P2432, "$/" + find_lex $P2433, "$past" + $P2434 = $P2432."!make"($P2433) +.annotate 'line', 884 + .return ($P2434) + control_2412: .local pmc exception .get_results (exception) - getattribute $P2412, exception, "payload" - .return ($P2412) + getattribute $P2435, exception, "payload" + .return ($P2435) .end .namespace ["NQP";"Actions"] -.sub "_block2415" :load :anon :subid("141_1276996335.94529") +.sub "_block2438" :load :anon :subid("141_1278500542.82783") .annotate 'line', 3 - .const 'Sub' $P2417 = "11_1276996335.94529" - $P2418 = $P2417() - .return ($P2418) + .const 'Sub' $P2440 = "11_1278500542.82783" + $P2441 = $P2440() + .return ($P2441) .end .namespace [] -.sub "_block2425" :load :anon :subid("143_1276996335.94529") +.sub "_block2448" :load :anon :subid("143_1278500542.82783") .annotate 'line', 1 - .const 'Sub' $P2427 = "10_1276996335.94529" - $P2428 = $P2427() - .return ($P2428) + .const 'Sub' $P2450 = "10_1278500542.82783" + $P2451 = $P2450() + .return ($P2451) .end ### .include 'src/cheats/nqp-builtins.pir' diff --git a/ext/nqp-rx/src/stage0/P6Regex-s0.pir b/ext/nqp-rx/src/stage0/P6Regex-s0.pir index 6fc2e768f8..bc0f495517 100644 --- a/ext/nqp-rx/src/stage0/P6Regex-s0.pir +++ b/ext/nqp-rx/src/stage0/P6Regex-s0.pir @@ -16,7 +16,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes ### .include 'gen/p6regex-grammar.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996307.3412") +.sub "_block11" :anon :subid("10_1278500530.77787") .annotate 'line', 0 get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" capture_lex $P14 @@ -30,151 +30,153 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .annotate 'line', 3 get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" capture_lex $P14 - $P588 = $P14() + $P596 = $P14() .annotate 'line', 1 - .return ($P588) - .const 'Sub' $P590 = "159_1276996307.3412" - .return ($P590) + .return ($P596) + .const 'Sub' $P598 = "161_1278500530.77787" + .return ($P598) .end .namespace [] -.sub "" :load :init :subid("post160") :outer("10_1276996307.3412") +.sub "" :load :init :subid("post162") :outer("10_1278500530.77787") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996307.3412" + .const 'Sub' $P12 = "10_1278500530.77787" .local pmc block set block, $P12 - $P593 = get_root_global ["parrot"], "P6metaclass" - $P593."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent")) + $P601 = get_root_global ["parrot"], "P6metaclass" + $P601."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent")) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block13" :subid("11_1276996307.3412") :outer("10_1276996307.3412") +.sub "_block13" :subid("11_1278500530.77787") :outer("10_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P576 = "156_1276996307.3412" + .const 'Sub' $P584 = "158_1278500530.77787" + capture_lex $P584 + .const 'Sub' $P576 = "156_1278500530.77787" capture_lex $P576 - .const 'Sub' $P568 = "154_1276996307.3412" + .const 'Sub' $P568 = "154_1278500530.77787" capture_lex $P568 - .const 'Sub' $P560 = "152_1276996307.3412" - capture_lex $P560 - .const 'Sub' $P539 = "147_1276996307.3412" - capture_lex $P539 - .const 'Sub' $P504 = "141_1276996307.3412" - capture_lex $P504 - .const 'Sub' $P492 = "138_1276996307.3412" - capture_lex $P492 - .const 'Sub' $P479 = "135_1276996307.3412" - capture_lex $P479 - .const 'Sub' $P473 = "133_1276996307.3412" - capture_lex $P473 - .const 'Sub' $P462 = "130_1276996307.3412" - capture_lex $P462 - .const 'Sub' $P451 = "127_1276996307.3412" - capture_lex $P451 - .const 'Sub' $P442 = "123_1276996307.3412" - capture_lex $P442 - .const 'Sub' $P436 = "121_1276996307.3412" - capture_lex $P436 - .const 'Sub' $P430 = "119_1276996307.3412" - capture_lex $P430 - .const 'Sub' $P424 = "117_1276996307.3412" - capture_lex $P424 - .const 'Sub' $P418 = "115_1276996307.3412" + .const 'Sub' $P547 = "149_1278500530.77787" + capture_lex $P547 + .const 'Sub' $P512 = "143_1278500530.77787" + capture_lex $P512 + .const 'Sub' $P500 = "140_1278500530.77787" + capture_lex $P500 + .const 'Sub' $P487 = "137_1278500530.77787" + capture_lex $P487 + .const 'Sub' $P481 = "135_1278500530.77787" + capture_lex $P481 + .const 'Sub' $P470 = "132_1278500530.77787" + capture_lex $P470 + .const 'Sub' $P459 = "129_1278500530.77787" + capture_lex $P459 + .const 'Sub' $P450 = "125_1278500530.77787" + capture_lex $P450 + .const 'Sub' $P444 = "123_1278500530.77787" + capture_lex $P444 + .const 'Sub' $P438 = "121_1278500530.77787" + capture_lex $P438 + .const 'Sub' $P432 = "119_1278500530.77787" + capture_lex $P432 + .const 'Sub' $P426 = "117_1278500530.77787" + capture_lex $P426 + .const 'Sub' $P418 = "115_1278500530.77787" capture_lex $P418 - .const 'Sub' $P410 = "113_1276996307.3412" - capture_lex $P410 - .const 'Sub' $P399 = "111_1276996307.3412" - capture_lex $P399 - .const 'Sub' $P388 = "109_1276996307.3412" - capture_lex $P388 - .const 'Sub' $P382 = "107_1276996307.3412" - capture_lex $P382 - .const 'Sub' $P376 = "105_1276996307.3412" - capture_lex $P376 - .const 'Sub' $P370 = "103_1276996307.3412" - capture_lex $P370 - .const 'Sub' $P364 = "101_1276996307.3412" - capture_lex $P364 - .const 'Sub' $P358 = "99_1276996307.3412" - capture_lex $P358 - .const 'Sub' $P352 = "97_1276996307.3412" - capture_lex $P352 - .const 'Sub' $P346 = "95_1276996307.3412" - capture_lex $P346 - .const 'Sub' $P340 = "93_1276996307.3412" - capture_lex $P340 - .const 'Sub' $P328 = "89_1276996307.3412" - capture_lex $P328 - .const 'Sub' $P316 = "87_1276996307.3412" - capture_lex $P316 - .const 'Sub' $P309 = "85_1276996307.3412" - capture_lex $P309 - .const 'Sub' $P292 = "83_1276996307.3412" - capture_lex $P292 - .const 'Sub' $P285 = "81_1276996307.3412" - capture_lex $P285 - .const 'Sub' $P279 = "79_1276996307.3412" - capture_lex $P279 - .const 'Sub' $P273 = "77_1276996307.3412" - capture_lex $P273 - .const 'Sub' $P266 = "75_1276996307.3412" - capture_lex $P266 - .const 'Sub' $P259 = "73_1276996307.3412" - capture_lex $P259 - .const 'Sub' $P252 = "71_1276996307.3412" - capture_lex $P252 - .const 'Sub' $P245 = "69_1276996307.3412" - capture_lex $P245 - .const 'Sub' $P239 = "67_1276996307.3412" - capture_lex $P239 - .const 'Sub' $P233 = "65_1276996307.3412" - capture_lex $P233 - .const 'Sub' $P227 = "63_1276996307.3412" - capture_lex $P227 - .const 'Sub' $P221 = "61_1276996307.3412" - capture_lex $P221 - .const 'Sub' $P215 = "59_1276996307.3412" - capture_lex $P215 - .const 'Sub' $P210 = "57_1276996307.3412" - capture_lex $P210 - .const 'Sub' $P205 = "55_1276996307.3412" - capture_lex $P205 - .const 'Sub' $P199 = "53_1276996307.3412" - capture_lex $P199 - .const 'Sub' $P193 = "51_1276996307.3412" - capture_lex $P193 - .const 'Sub' $P187 = "49_1276996307.3412" - capture_lex $P187 - .const 'Sub' $P171 = "44_1276996307.3412" - capture_lex $P171 - .const 'Sub' $P155 = "42_1276996307.3412" - capture_lex $P155 - .const 'Sub' $P148 = "40_1276996307.3412" - capture_lex $P148 - .const 'Sub' $P141 = "38_1276996307.3412" - capture_lex $P141 - .const 'Sub' $P134 = "36_1276996307.3412" - capture_lex $P134 - .const 'Sub' $P115 = "31_1276996307.3412" - capture_lex $P115 - .const 'Sub' $P102 = "28_1276996307.3412" - capture_lex $P102 - .const 'Sub' $P95 = "26_1276996307.3412" - capture_lex $P95 - .const 'Sub' $P83 = "24_1276996307.3412" - capture_lex $P83 - .const 'Sub' $P76 = "22_1276996307.3412" - capture_lex $P76 - .const 'Sub' $P63 = "20_1276996307.3412" - capture_lex $P63 - .const 'Sub' $P56 = "18_1276996307.3412" + .const 'Sub' $P407 = "113_1278500530.77787" + capture_lex $P407 + .const 'Sub' $P396 = "111_1278500530.77787" + capture_lex $P396 + .const 'Sub' $P390 = "109_1278500530.77787" + capture_lex $P390 + .const 'Sub' $P384 = "107_1278500530.77787" + capture_lex $P384 + .const 'Sub' $P378 = "105_1278500530.77787" + capture_lex $P378 + .const 'Sub' $P372 = "103_1278500530.77787" + capture_lex $P372 + .const 'Sub' $P366 = "101_1278500530.77787" + capture_lex $P366 + .const 'Sub' $P360 = "99_1278500530.77787" + capture_lex $P360 + .const 'Sub' $P354 = "97_1278500530.77787" + capture_lex $P354 + .const 'Sub' $P348 = "95_1278500530.77787" + capture_lex $P348 + .const 'Sub' $P336 = "91_1278500530.77787" + capture_lex $P336 + .const 'Sub' $P324 = "89_1278500530.77787" + capture_lex $P324 + .const 'Sub' $P317 = "87_1278500530.77787" + capture_lex $P317 + .const 'Sub' $P300 = "85_1278500530.77787" + capture_lex $P300 + .const 'Sub' $P293 = "83_1278500530.77787" + capture_lex $P293 + .const 'Sub' $P287 = "81_1278500530.77787" + capture_lex $P287 + .const 'Sub' $P281 = "79_1278500530.77787" + capture_lex $P281 + .const 'Sub' $P274 = "77_1278500530.77787" + capture_lex $P274 + .const 'Sub' $P267 = "75_1278500530.77787" + capture_lex $P267 + .const 'Sub' $P260 = "73_1278500530.77787" + capture_lex $P260 + .const 'Sub' $P253 = "71_1278500530.77787" + capture_lex $P253 + .const 'Sub' $P247 = "69_1278500530.77787" + capture_lex $P247 + .const 'Sub' $P241 = "67_1278500530.77787" + capture_lex $P241 + .const 'Sub' $P235 = "65_1278500530.77787" + capture_lex $P235 + .const 'Sub' $P229 = "63_1278500530.77787" + capture_lex $P229 + .const 'Sub' $P223 = "61_1278500530.77787" + capture_lex $P223 + .const 'Sub' $P218 = "59_1278500530.77787" + capture_lex $P218 + .const 'Sub' $P213 = "57_1278500530.77787" + capture_lex $P213 + .const 'Sub' $P207 = "55_1278500530.77787" + capture_lex $P207 + .const 'Sub' $P201 = "53_1278500530.77787" + capture_lex $P201 + .const 'Sub' $P195 = "51_1278500530.77787" + capture_lex $P195 + .const 'Sub' $P179 = "46_1278500530.77787" + capture_lex $P179 + .const 'Sub' $P163 = "44_1278500530.77787" + capture_lex $P163 + .const 'Sub' $P156 = "42_1278500530.77787" + capture_lex $P156 + .const 'Sub' $P149 = "40_1278500530.77787" + capture_lex $P149 + .const 'Sub' $P142 = "38_1278500530.77787" + capture_lex $P142 + .const 'Sub' $P123 = "33_1278500530.77787" + capture_lex $P123 + .const 'Sub' $P110 = "30_1278500530.77787" + capture_lex $P110 + .const 'Sub' $P103 = "28_1278500530.77787" + capture_lex $P103 + .const 'Sub' $P91 = "26_1278500530.77787" + capture_lex $P91 + .const 'Sub' $P84 = "24_1278500530.77787" + capture_lex $P84 + .const 'Sub' $P71 = "22_1278500530.77787" + capture_lex $P71 + .const 'Sub' $P64 = "20_1278500530.77787" + capture_lex $P64 + .const 'Sub' $P56 = "18_1278500530.77787" capture_lex $P56 - .const 'Sub' $P46 = "15_1276996307.3412" + .const 'Sub' $P46 = "15_1278500530.77787" capture_lex $P46 - .const 'Sub' $P38 = "13_1276996307.3412" + .const 'Sub' $P38 = "13_1278500530.77787" capture_lex $P38 - .const 'Sub' $P15 = "12_1276996307.3412" + .const 'Sub' $P15 = "12_1278500530.77787" capture_lex $P15 $P0 = find_dynamic_lex "$*CTXSAVE" if null $P0 goto ctxsave_done @@ -182,17 +184,17 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $I0 goto ctxsave_done $P0."ctxsave"() ctxsave_done: - .const 'Sub' $P576 = "156_1276996307.3412" - capture_lex $P576 - .return ($P576) - .const 'Sub' $P585 = "158_1276996307.3412" - .return ($P585) + .const 'Sub' $P584 = "158_1278500530.77787" + capture_lex $P584 + .return ($P584) + .const 'Sub' $P593 = "160_1278500530.77787" + .return ($P593) .end .namespace ["Regex";"P6Regex";"Grammar"] .include "except_types.pasm" -.sub "obs" :subid("12_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "obs" :subid("12_1278500530.77787") :method :outer("11_1278500530.77787") .param pmc param_18 .param pmc param_19 .param pmc param_20 :optional @@ -205,11 +207,11 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .lex "self", self .lex "$old", param_18 .lex "$new", param_19 - if has_param_20, optparam_161 + if has_param_20, optparam_163 new $P21, "String" assign $P21, "in Perl 6" set param_20, $P21 - optparam_161: + optparam_163: .lex "$when", param_20 .annotate 'line', 4 find_lex $P22, "self" @@ -240,7 +242,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "ws" :subid("13_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "ws" :subid("13_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 .local string rx39_tgt .local int rx39_pos @@ -323,7 +325,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__ws" :subid("14_1276996307.3412") :method +.sub "!PREFIX__ws" :subid("14_1278500530.77787") :method .annotate 'line', 3 new $P41, "ResizablePMCArray" push $P41, "" @@ -332,9 +334,9 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "normspace" :subid("15_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "normspace" :subid("15_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P52 = "17_1276996307.3412" + .const 'Sub' $P52 = "17_1278500530.77787" capture_lex $P52 .local string rx47_tgt .local int rx47_pos @@ -369,7 +371,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .annotate 'line', 10 # rx subrule "before" subtype=zerowidth negate= rx47_cur."!cursor_pos"(rx47_pos) - .const 'Sub' $P52 = "17_1276996307.3412" + .const 'Sub' $P52 = "17_1278500530.77787" capture_lex $P52 $P10 = rx47_cur."before"($P52) unless $P10, rx47_fail @@ -397,7 +399,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__normspace" :subid("16_1276996307.3412") :method +.sub "!PREFIX__normspace" :subid("16_1278500530.77787") :method .annotate 'line', 3 new $P49, "ResizablePMCArray" push $P49, "" @@ -406,7 +408,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block51" :anon :subid("17_1276996307.3412") :method :outer("15_1276996307.3412") +.sub "_block51" :anon :subid("17_1278500530.77787") :method :outer("15_1278500530.77787") .annotate 'line', 10 .local string rx53_tgt .local int rx53_pos @@ -475,7 +477,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Grammar"] -.sub "arg" :subid("18_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "identifier" :subid("18_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 .local string rx57_tgt .local int rx57_pos @@ -484,7 +486,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx57_rep .local pmc rx57_cur (rx57_cur, rx57_pos, rx57_tgt) = self."!cursor_start"() - rx57_cur."!cursor_debug"("START ", "arg") + rx57_cur."!cursor_debug"("START ", "identifier") .lex unicode:"$\x{a2}", rx57_cur .local pmc match .lex "$/", match @@ -496,81 +498,46 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx57_tgt, rx57_tgt, rx57_off rx57_start: $I10 = self.'from'() - ne $I10, -1, rxscan60_done - goto rxscan60_scan - rxscan60_loop: + ne $I10, -1, rxscan61_done + goto rxscan61_scan + rxscan61_loop: ($P10) = rx57_cur."from"() inc $P10 set rx57_pos, $P10 - ge rx57_pos, rx57_eos, rxscan60_done - rxscan60_scan: - set_addr $I10, rxscan60_loop - rx57_cur."!mark_push"(0, rx57_pos, $I10) - rxscan60_done: - alt61_0: -.annotate 'line', 13 - set_addr $I10, alt61_1 + ge rx57_pos, rx57_eos, rxscan61_done + rxscan61_scan: + set_addr $I10, rxscan61_loop rx57_cur."!mark_push"(0, rx57_pos, $I10) -.annotate 'line', 14 - # rx enumcharlist negate=0 zerowidth - ge rx57_pos, rx57_eos, rx57_fail - sub $I10, rx57_pos, rx57_off - substr $S10, rx57_tgt, $I10, 1 - index $I11, "'", $S10 - lt $I11, 0, rx57_fail - # rx subrule "quote_EXPR" subtype=capture negate= + rxscan61_done: +.annotate 'line', 12 + # rx subrule "ident" subtype=method negate= rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."quote_EXPR"(":q") + $P10 = rx57_cur."ident"() unless $P10, rx57_fail - rx57_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") rx57_pos = $P10."pos"() - goto alt61_end - alt61_1: - set_addr $I10, alt61_2 - rx57_cur."!mark_push"(0, rx57_pos, $I10) -.annotate 'line', 15 - # rx enumcharlist negate=0 zerowidth + # rx rxquantr62 ** 0..* + set_addr $I63, rxquantr62_done + rx57_cur."!mark_push"(0, rx57_pos, $I63) + rxquantr62_loop: + # rx enumcharlist negate=0 ge rx57_pos, rx57_eos, rx57_fail sub $I10, rx57_pos, rx57_off substr $S10, rx57_tgt, $I10, 1 - index $I11, "\"", $S10 + index $I11, "-'", $S10 lt $I11, 0, rx57_fail - # rx subrule "quote_EXPR" subtype=capture negate= + inc rx57_pos + # rx subrule "ident" subtype=method negate= rx57_cur."!cursor_pos"(rx57_pos) - $P10 = rx57_cur."quote_EXPR"(":qq") + $P10 = rx57_cur."ident"() unless $P10, rx57_fail - rx57_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("quote_EXPR") rx57_pos = $P10."pos"() - goto alt61_end - alt61_2: -.annotate 'line', 16 - # rx subcapture "val" - set_addr $I10, rxcap_62_fail - rx57_cur."!mark_push"(0, rx57_pos, $I10) - # rx charclass_q d r 1..-1 - sub $I10, rx57_pos, rx57_off - find_not_cclass $I11, 8, rx57_tgt, $I10, rx57_eos - add $I12, $I10, 1 - lt $I11, $I12, rx57_fail - add rx57_pos, rx57_off, $I11 - set_addr $I10, rxcap_62_fail - ($I12, $I11) = rx57_cur."!mark_peek"($I10) - rx57_cur."!cursor_pos"($I11) - ($P10) = rx57_cur."!cursor_start"() - $P10."!cursor_pass"(rx57_pos, "") - rx57_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("val") - goto rxcap_62_done - rxcap_62_fail: - goto rx57_fail - rxcap_62_done: - alt61_end: -.annotate 'line', 12 + (rx57_rep) = rx57_cur."!mark_commit"($I63) + rx57_cur."!mark_push"(rx57_rep, rx57_pos, $I63) + goto rxquantr62_loop + rxquantr62_done: # rx pass - rx57_cur."!cursor_pass"(rx57_pos, "arg") - rx57_cur."!cursor_debug"("PASS ", "arg", " at pos=", rx57_pos) + rx57_cur."!cursor_pass"(rx57_pos, "identifier") + rx57_cur."!cursor_debug"("PASS ", "identifier", " at pos=", rx57_pos) .return (rx57_cur) rx57_fail: .annotate 'line', 3 @@ -580,837 +547,887 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes jump $I10 rx57_done: rx57_cur."!cursor_fail"() - rx57_cur."!cursor_debug"("FAIL ", "arg") + rx57_cur."!cursor_debug"("FAIL ", "identifier") .return (rx57_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__arg" :subid("19_1276996307.3412") :method +.sub "!PREFIX__identifier" :subid("19_1278500530.77787") :method .annotate 'line', 3 - new $P59, "ResizablePMCArray" - push $P59, "" - push $P59, "\"" - push $P59, "'" - .return ($P59) + $P59 = self."!PREFIX__!subrule"("ident", "") + new $P60, "ResizablePMCArray" + push $P60, $P59 + .return ($P60) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "arglist" :subid("20_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "arg" :subid("20_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx64_tgt - .local int rx64_pos - .local int rx64_off - .local int rx64_eos - .local int rx64_rep - .local pmc rx64_cur - (rx64_cur, rx64_pos, rx64_tgt) = self."!cursor_start"() - rx64_cur."!cursor_debug"("START ", "arglist") - rx64_cur."!cursor_caparray"("arg") - .lex unicode:"$\x{a2}", rx64_cur + .local string rx65_tgt + .local int rx65_pos + .local int rx65_off + .local int rx65_eos + .local int rx65_rep + .local pmc rx65_cur + (rx65_cur, rx65_pos, rx65_tgt) = self."!cursor_start"() + rx65_cur."!cursor_debug"("START ", "arg") + .lex unicode:"$\x{a2}", rx65_cur .local pmc match .lex "$/", match - length rx64_eos, rx64_tgt - gt rx64_pos, rx64_eos, rx64_done - set rx64_off, 0 - lt rx64_pos, 2, rx64_start - sub rx64_off, rx64_pos, 1 - substr rx64_tgt, rx64_tgt, rx64_off - rx64_start: + length rx65_eos, rx65_tgt + gt rx65_pos, rx65_eos, rx65_done + set rx65_off, 0 + lt rx65_pos, 2, rx65_start + sub rx65_off, rx65_pos, 1 + substr rx65_tgt, rx65_tgt, rx65_off + rx65_start: $I10 = self.'from'() ne $I10, -1, rxscan68_done goto rxscan68_scan rxscan68_loop: - ($P10) = rx64_cur."from"() + ($P10) = rx65_cur."from"() inc $P10 - set rx64_pos, $P10 - ge rx64_pos, rx64_eos, rxscan68_done + set rx65_pos, $P10 + ge rx65_pos, rx65_eos, rxscan68_done rxscan68_scan: set_addr $I10, rxscan68_loop - rx64_cur."!mark_push"(0, rx64_pos, $I10) + rx65_cur."!mark_push"(0, rx65_pos, $I10) rxscan68_done: -.annotate 'line', 20 + alt69_0: +.annotate 'line', 15 + set_addr $I10, alt69_1 + rx65_cur."!mark_push"(0, rx65_pos, $I10) +.annotate 'line', 16 + # rx enumcharlist negate=0 zerowidth + ge rx65_pos, rx65_eos, rx65_fail + sub $I10, rx65_pos, rx65_off + substr $S10, rx65_tgt, $I10, 1 + index $I11, "'", $S10 + lt $I11, 0, rx65_fail + # rx subrule "quote_EXPR" subtype=capture negate= + rx65_cur."!cursor_pos"(rx65_pos) + $P10 = rx65_cur."quote_EXPR"(":q") + unless $P10, rx65_fail + rx65_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx65_pos = $P10."pos"() + goto alt69_end + alt69_1: + set_addr $I10, alt69_2 + rx65_cur."!mark_push"(0, rx65_pos, $I10) +.annotate 'line', 17 + # rx enumcharlist negate=0 zerowidth + ge rx65_pos, rx65_eos, rx65_fail + sub $I10, rx65_pos, rx65_off + substr $S10, rx65_tgt, $I10, 1 + index $I11, "\"", $S10 + lt $I11, 0, rx65_fail + # rx subrule "quote_EXPR" subtype=capture negate= + rx65_cur."!cursor_pos"(rx65_pos) + $P10 = rx65_cur."quote_EXPR"(":qq") + unless $P10, rx65_fail + rx65_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("quote_EXPR") + rx65_pos = $P10."pos"() + goto alt69_end + alt69_2: +.annotate 'line', 18 + # rx subcapture "val" + set_addr $I10, rxcap_70_fail + rx65_cur."!mark_push"(0, rx65_pos, $I10) + # rx charclass_q d r 1..-1 + sub $I10, rx65_pos, rx65_off + find_not_cclass $I11, 8, rx65_tgt, $I10, rx65_eos + add $I12, $I10, 1 + lt $I11, $I12, rx65_fail + add rx65_pos, rx65_off, $I11 + set_addr $I10, rxcap_70_fail + ($I12, $I11) = rx65_cur."!mark_peek"($I10) + rx65_cur."!cursor_pos"($I11) + ($P10) = rx65_cur."!cursor_start"() + $P10."!cursor_pass"(rx65_pos, "") + rx65_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("val") + goto rxcap_70_done + rxcap_70_fail: + goto rx65_fail + rxcap_70_done: + alt69_end: +.annotate 'line', 14 + # rx pass + rx65_cur."!cursor_pass"(rx65_pos, "arg") + rx65_cur."!cursor_debug"("PASS ", "arg", " at pos=", rx65_pos) + .return (rx65_cur) + rx65_fail: +.annotate 'line', 3 + (rx65_rep, rx65_pos, $I10, $P10) = rx65_cur."!mark_fail"(0) + lt rx65_pos, -1, rx65_done + eq rx65_pos, -1, rx65_fail + jump $I10 + rx65_done: + rx65_cur."!cursor_fail"() + rx65_cur."!cursor_debug"("FAIL ", "arg") + .return (rx65_cur) + .return () +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "!PREFIX__arg" :subid("21_1278500530.77787") :method +.annotate 'line', 3 + new $P67, "ResizablePMCArray" + push $P67, "" + push $P67, "\"" + push $P67, "'" + .return ($P67) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "arglist" :subid("22_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .local string rx72_tgt + .local int rx72_pos + .local int rx72_off + .local int rx72_eos + .local int rx72_rep + .local pmc rx72_cur + (rx72_cur, rx72_pos, rx72_tgt) = self."!cursor_start"() + rx72_cur."!cursor_debug"("START ", "arglist") + rx72_cur."!cursor_caparray"("arg") + .lex unicode:"$\x{a2}", rx72_cur + .local pmc match + .lex "$/", match + length rx72_eos, rx72_tgt + gt rx72_pos, rx72_eos, rx72_done + set rx72_off, 0 + lt rx72_pos, 2, rx72_start + sub rx72_off, rx72_pos, 1 + substr rx72_tgt, rx72_tgt, rx72_off + rx72_start: + $I10 = self.'from'() + ne $I10, -1, rxscan76_done + goto rxscan76_scan + rxscan76_loop: + ($P10) = rx72_cur."from"() + inc $P10 + set rx72_pos, $P10 + ge rx72_pos, rx72_eos, rxscan76_done + rxscan76_scan: + set_addr $I10, rxscan76_loop + rx72_cur."!mark_push"(0, rx72_pos, $I10) + rxscan76_done: +.annotate 'line', 22 # rx subrule "ws" subtype=method negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."ws"() - unless $P10, rx64_fail - rx64_pos = $P10."pos"() + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."ws"() + unless $P10, rx72_fail + rx72_pos = $P10."pos"() # rx subrule "arg" subtype=capture negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."arg"() - unless $P10, rx64_fail - rx64_cur."!mark_push"(0, -1, 0, $P10) + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."arg"() + unless $P10, rx72_fail + rx72_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arg") - rx64_pos = $P10."pos"() + rx72_pos = $P10."pos"() # rx subrule "ws" subtype=method negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."ws"() - unless $P10, rx64_fail - rx64_pos = $P10."pos"() - # rx rxquantr71 ** 0..* - set_addr $I74, rxquantr71_done - rx64_cur."!mark_push"(0, rx64_pos, $I74) - rxquantr71_loop: + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."ws"() + unless $P10, rx72_fail + rx72_pos = $P10."pos"() + # rx rxquantr79 ** 0..* + set_addr $I82, rxquantr79_done + rx72_cur."!mark_push"(0, rx72_pos, $I82) + rxquantr79_loop: # rx subrule "ws" subtype=method negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."ws"() - unless $P10, rx64_fail - rx64_pos = $P10."pos"() + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."ws"() + unless $P10, rx72_fail + rx72_pos = $P10."pos"() # rx literal "," - add $I11, rx64_pos, 1 - gt $I11, rx64_eos, rx64_fail - sub $I11, rx64_pos, rx64_off - substr $S10, rx64_tgt, $I11, 1 - ne $S10, ",", rx64_fail - add rx64_pos, 1 + add $I11, rx72_pos, 1 + gt $I11, rx72_eos, rx72_fail + sub $I11, rx72_pos, rx72_off + substr $S10, rx72_tgt, $I11, 1 + ne $S10, ",", rx72_fail + add rx72_pos, 1 # rx subrule "ws" subtype=method negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."ws"() - unless $P10, rx64_fail - rx64_pos = $P10."pos"() + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."ws"() + unless $P10, rx72_fail + rx72_pos = $P10."pos"() # rx subrule "arg" subtype=capture negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."arg"() - unless $P10, rx64_fail - rx64_cur."!mark_push"(0, -1, 0, $P10) + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."arg"() + unless $P10, rx72_fail + rx72_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arg") - rx64_pos = $P10."pos"() - (rx64_rep) = rx64_cur."!mark_commit"($I74) - rx64_cur."!mark_push"(rx64_rep, rx64_pos, $I74) - goto rxquantr71_loop - rxquantr71_done: + rx72_pos = $P10."pos"() + (rx72_rep) = rx72_cur."!mark_commit"($I82) + rx72_cur."!mark_push"(rx72_rep, rx72_pos, $I82) + goto rxquantr79_loop + rxquantr79_done: # rx subrule "ws" subtype=method negate= - rx64_cur."!cursor_pos"(rx64_pos) - $P10 = rx64_cur."ws"() - unless $P10, rx64_fail - rx64_pos = $P10."pos"() + rx72_cur."!cursor_pos"(rx72_pos) + $P10 = rx72_cur."ws"() + unless $P10, rx72_fail + rx72_pos = $P10."pos"() # rx pass - rx64_cur."!cursor_pass"(rx64_pos, "arglist") - rx64_cur."!cursor_debug"("PASS ", "arglist", " at pos=", rx64_pos) - .return (rx64_cur) - rx64_fail: -.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 + rx72_cur."!cursor_pass"(rx72_pos, "arglist") + rx72_cur."!cursor_debug"("PASS ", "arglist", " at pos=", rx72_pos) + .return (rx72_cur) + rx72_fail: +.annotate 'line', 3 + (rx72_rep, rx72_pos, $I10, $P10) = rx72_cur."!mark_fail"(0) + lt rx72_pos, -1, rx72_done + eq rx72_pos, -1, rx72_fail jump $I10 - rx64_done: - rx64_cur."!cursor_fail"() - rx64_cur."!cursor_debug"("FAIL ", "arglist") - .return (rx64_cur) + rx72_done: + rx72_cur."!cursor_fail"() + rx72_cur."!cursor_debug"("FAIL ", "arglist") + .return (rx72_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__arglist" :subid("21_1276996307.3412") :method +.sub "!PREFIX__arglist" :subid("23_1278500530.77787") :method .annotate 'line', 3 - $P66 = self."!PREFIX__!subrule"("ws", "") - new $P67, "ResizablePMCArray" - push $P67, $P66 - .return ($P67) + $P74 = self."!PREFIX__!subrule"("ws", "") + new $P75, "ResizablePMCArray" + push $P75, $P74 + .return ($P75) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "TOP" :subid("22_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "TOP" :subid("24_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx77_tgt - .local int rx77_pos - .local int rx77_off - .local int rx77_eos - .local int rx77_rep - .local pmc rx77_cur - (rx77_cur, rx77_pos, rx77_tgt) = self."!cursor_start"() - rx77_cur."!cursor_debug"("START ", "TOP") - .lex unicode:"$\x{a2}", rx77_cur + .local string rx85_tgt + .local int rx85_pos + .local int rx85_off + .local int rx85_eos + .local int rx85_rep + .local pmc rx85_cur + (rx85_cur, rx85_pos, rx85_tgt) = self."!cursor_start"() + rx85_cur."!cursor_debug"("START ", "TOP") + .lex unicode:"$\x{a2}", rx85_cur .local pmc match .lex "$/", match - length rx77_eos, rx77_tgt - gt rx77_pos, rx77_eos, rx77_done - set rx77_off, 0 - lt rx77_pos, 2, rx77_start - sub rx77_off, rx77_pos, 1 - substr rx77_tgt, rx77_tgt, rx77_off - rx77_start: + length rx85_eos, rx85_tgt + gt rx85_pos, rx85_eos, rx85_done + set rx85_off, 0 + lt rx85_pos, 2, rx85_start + sub rx85_off, rx85_pos, 1 + substr rx85_tgt, rx85_tgt, rx85_off + rx85_start: $I10 = self.'from'() - ne $I10, -1, rxscan81_done - goto rxscan81_scan - rxscan81_loop: - ($P10) = rx77_cur."from"() + ne $I10, -1, rxscan89_done + goto rxscan89_scan + rxscan89_loop: + ($P10) = rx85_cur."from"() inc $P10 - set rx77_pos, $P10 - ge rx77_pos, rx77_eos, rxscan81_done - rxscan81_scan: - set_addr $I10, rxscan81_loop - rx77_cur."!mark_push"(0, rx77_pos, $I10) - rxscan81_done: -.annotate 'line', 23 + set rx85_pos, $P10 + ge rx85_pos, rx85_eos, rxscan89_done + rxscan89_scan: + set_addr $I10, rxscan89_loop + rx85_cur."!mark_push"(0, rx85_pos, $I10) + rxscan89_done: +.annotate 'line', 25 # rx subrule "nibbler" subtype=capture negate= - rx77_cur."!cursor_pos"(rx77_pos) - $P10 = rx77_cur."nibbler"() - unless $P10, rx77_fail - rx77_cur."!mark_push"(0, -1, 0, $P10) + rx85_cur."!cursor_pos"(rx85_pos) + $P10 = rx85_cur."nibbler"() + unless $P10, rx85_fail + rx85_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("nibbler") - rx77_pos = $P10."pos"() - alt82_0: -.annotate 'line', 24 - set_addr $I10, alt82_1 - rx77_cur."!mark_push"(0, rx77_pos, $I10) + rx85_pos = $P10."pos"() + alt90_0: +.annotate 'line', 26 + set_addr $I10, alt90_1 + rx85_cur."!mark_push"(0, rx85_pos, $I10) # rxanchor eos - ne rx77_pos, rx77_eos, rx77_fail - goto alt82_end - alt82_1: + ne rx85_pos, rx85_eos, rx85_fail + goto alt90_end + alt90_1: # rx subrule "panic" subtype=method negate= - rx77_cur."!cursor_pos"(rx77_pos) - $P10 = rx77_cur."panic"("Confused") - unless $P10, rx77_fail - rx77_pos = $P10."pos"() - alt82_end: -.annotate 'line', 22 + rx85_cur."!cursor_pos"(rx85_pos) + $P10 = rx85_cur."panic"("Confused") + unless $P10, rx85_fail + rx85_pos = $P10."pos"() + alt90_end: +.annotate 'line', 24 # rx pass - rx77_cur."!cursor_pass"(rx77_pos, "TOP") - rx77_cur."!cursor_debug"("PASS ", "TOP", " at pos=", rx77_pos) - .return (rx77_cur) - rx77_fail: -.annotate 'line', 3 - (rx77_rep, rx77_pos, $I10, $P10) = rx77_cur."!mark_fail"(0) - lt rx77_pos, -1, rx77_done - eq rx77_pos, -1, rx77_fail + rx85_cur."!cursor_pass"(rx85_pos, "TOP") + rx85_cur."!cursor_debug"("PASS ", "TOP", " at pos=", rx85_pos) + .return (rx85_cur) + rx85_fail: +.annotate 'line', 3 + (rx85_rep, rx85_pos, $I10, $P10) = rx85_cur."!mark_fail"(0) + lt rx85_pos, -1, rx85_done + eq rx85_pos, -1, rx85_fail jump $I10 - rx77_done: - rx77_cur."!cursor_fail"() - rx77_cur."!cursor_debug"("FAIL ", "TOP") - .return (rx77_cur) + rx85_done: + rx85_cur."!cursor_fail"() + rx85_cur."!cursor_debug"("FAIL ", "TOP") + .return (rx85_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__TOP" :subid("23_1276996307.3412") :method +.sub "!PREFIX__TOP" :subid("25_1278500530.77787") :method .annotate 'line', 3 - $P79 = self."!PREFIX__!subrule"("nibbler", "") - new $P80, "ResizablePMCArray" - push $P80, $P79 - .return ($P80) + $P87 = self."!PREFIX__!subrule"("nibbler", "") + new $P88, "ResizablePMCArray" + push $P88, $P87 + .return ($P88) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "nibbler" :subid("24_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "nibbler" :subid("26_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx84_tgt - .local int rx84_pos - .local int rx84_off - .local int rx84_eos - .local int rx84_rep - .local pmc rx84_cur - (rx84_cur, rx84_pos, rx84_tgt) = self."!cursor_start"() - rx84_cur."!cursor_debug"("START ", "nibbler") - rx84_cur."!cursor_caparray"("termish") - .lex unicode:"$\x{a2}", rx84_cur + .local string rx92_tgt + .local int rx92_pos + .local int rx92_off + .local int rx92_eos + .local int rx92_rep + .local pmc rx92_cur + (rx92_cur, rx92_pos, rx92_tgt) = self."!cursor_start"() + rx92_cur."!cursor_debug"("START ", "nibbler") + rx92_cur."!cursor_caparray"("termish") + .lex unicode:"$\x{a2}", rx92_cur .local pmc match .lex "$/", match - length rx84_eos, rx84_tgt - gt rx84_pos, rx84_eos, rx84_done - set rx84_off, 0 - lt rx84_pos, 2, rx84_start - sub rx84_off, rx84_pos, 1 - substr rx84_tgt, rx84_tgt, rx84_off - rx84_start: + length rx92_eos, rx92_tgt + gt rx92_pos, rx92_eos, rx92_done + set rx92_off, 0 + lt rx92_pos, 2, rx92_start + sub rx92_off, rx92_pos, 1 + substr rx92_tgt, rx92_tgt, rx92_off + rx92_start: $I10 = self.'from'() - ne $I10, -1, rxscan87_done - goto rxscan87_scan - rxscan87_loop: - ($P10) = rx84_cur."from"() + ne $I10, -1, rxscan95_done + goto rxscan95_scan + rxscan95_loop: + ($P10) = rx92_cur."from"() inc $P10 - set rx84_pos, $P10 - ge rx84_pos, rx84_eos, rxscan87_done - rxscan87_scan: - set_addr $I10, rxscan87_loop - rx84_cur."!mark_push"(0, rx84_pos, $I10) - rxscan87_done: -.annotate 'line', 28 + set rx92_pos, $P10 + ge rx92_pos, rx92_eos, rxscan95_done + rxscan95_scan: + set_addr $I10, rxscan95_loop + rx92_cur."!mark_push"(0, rx92_pos, $I10) + rxscan95_done: +.annotate 'line', 30 # rx reduce name="nibbler" key="open" - rx84_cur."!cursor_pos"(rx84_pos) - rx84_cur."!reduce"("nibbler", "open") -.annotate 'line', 29 - # rx rxquantr88 ** 0..1 - set_addr $I90, rxquantr88_done - rx84_cur."!mark_push"(0, rx84_pos, $I90) - rxquantr88_loop: + rx92_cur."!cursor_pos"(rx92_pos) + rx92_cur."!reduce"("nibbler", "open") +.annotate 'line', 31 + # rx rxquantr96 ** 0..1 + set_addr $I98, rxquantr96_done + rx92_cur."!mark_push"(0, rx92_pos, $I98) + rxquantr96_loop: # rx subrule "ws" subtype=method negate= - rx84_cur."!cursor_pos"(rx84_pos) - $P10 = rx84_cur."ws"() - unless $P10, rx84_fail - rx84_pos = $P10."pos"() - alt89_0: - set_addr $I10, alt89_1 - rx84_cur."!mark_push"(0, rx84_pos, $I10) + rx92_cur."!cursor_pos"(rx92_pos) + $P10 = rx92_cur."ws"() + unless $P10, rx92_fail + rx92_pos = $P10."pos"() + alt97_0: + set_addr $I10, alt97_1 + rx92_cur."!mark_push"(0, rx92_pos, $I10) # rx literal "||" - add $I11, rx84_pos, 2 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 2 - ne $S10, "||", rx84_fail - add rx84_pos, 2 - goto alt89_end - alt89_1: - set_addr $I10, alt89_2 - rx84_cur."!mark_push"(0, rx84_pos, $I10) + add $I11, rx92_pos, 2 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 2 + ne $S10, "||", rx92_fail + add rx92_pos, 2 + goto alt97_end + alt97_1: + set_addr $I10, alt97_2 + rx92_cur."!mark_push"(0, rx92_pos, $I10) # rx literal "|" - add $I11, rx84_pos, 1 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 1 - ne $S10, "|", rx84_fail - add rx84_pos, 1 - goto alt89_end - alt89_2: - set_addr $I10, alt89_3 - rx84_cur."!mark_push"(0, rx84_pos, $I10) + add $I11, rx92_pos, 1 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 1 + ne $S10, "|", rx92_fail + add rx92_pos, 1 + goto alt97_end + alt97_2: + set_addr $I10, alt97_3 + rx92_cur."!mark_push"(0, rx92_pos, $I10) # rx literal "&&" - add $I11, rx84_pos, 2 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 2 - ne $S10, "&&", rx84_fail - add rx84_pos, 2 - goto alt89_end - alt89_3: + add $I11, rx92_pos, 2 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 2 + ne $S10, "&&", rx92_fail + add rx92_pos, 2 + goto alt97_end + alt97_3: # rx literal "&" - add $I11, rx84_pos, 1 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 1 - ne $S10, "&", rx84_fail - add rx84_pos, 1 - alt89_end: - (rx84_rep) = rx84_cur."!mark_commit"($I90) - rxquantr88_done: -.annotate 'line', 30 + add $I11, rx92_pos, 1 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 1 + ne $S10, "&", rx92_fail + add rx92_pos, 1 + alt97_end: + (rx92_rep) = rx92_cur."!mark_commit"($I98) + rxquantr96_done: +.annotate 'line', 32 # rx subrule "termish" subtype=capture negate= - rx84_cur."!cursor_pos"(rx84_pos) - $P10 = rx84_cur."termish"() - unless $P10, rx84_fail - rx84_cur."!mark_push"(0, -1, 0, $P10) + rx92_cur."!cursor_pos"(rx92_pos) + $P10 = rx92_cur."termish"() + unless $P10, rx92_fail + rx92_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("termish") - rx84_pos = $P10."pos"() + rx92_pos = $P10."pos"() +.annotate 'line', 35 + # rx rxquantr99 ** 0..* + set_addr $I102, rxquantr99_done + rx92_cur."!mark_push"(0, rx92_pos, $I102) + rxquantr99_loop: + alt100_0: .annotate 'line', 33 - # rx rxquantr91 ** 0..* - set_addr $I94, rxquantr91_done - rx84_cur."!mark_push"(0, rx84_pos, $I94) - rxquantr91_loop: - alt92_0: -.annotate 'line', 31 - set_addr $I10, alt92_1 - rx84_cur."!mark_push"(0, rx84_pos, $I10) + set_addr $I10, alt100_1 + rx92_cur."!mark_push"(0, rx92_pos, $I10) # rx literal "||" - add $I11, rx84_pos, 2 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 2 - ne $S10, "||", rx84_fail - add rx84_pos, 2 - goto alt92_end - alt92_1: + add $I11, rx92_pos, 2 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 2 + ne $S10, "||", rx92_fail + add rx92_pos, 2 + goto alt100_end + alt100_1: # rx literal "|" - add $I11, rx84_pos, 1 - gt $I11, rx84_eos, rx84_fail - sub $I11, rx84_pos, rx84_off - substr $S10, rx84_tgt, $I11, 1 - ne $S10, "|", rx84_fail - add rx84_pos, 1 - alt92_end: - alt93_0: -.annotate 'line', 32 - set_addr $I10, alt93_1 - rx84_cur."!mark_push"(0, rx84_pos, $I10) + add $I11, rx92_pos, 1 + gt $I11, rx92_eos, rx92_fail + sub $I11, rx92_pos, rx92_off + substr $S10, rx92_tgt, $I11, 1 + ne $S10, "|", rx92_fail + add rx92_pos, 1 + alt100_end: + alt101_0: +.annotate 'line', 34 + set_addr $I10, alt101_1 + rx92_cur."!mark_push"(0, rx92_pos, $I10) # rx subrule "termish" subtype=capture negate= - rx84_cur."!cursor_pos"(rx84_pos) - $P10 = rx84_cur."termish"() - unless $P10, rx84_fail - rx84_cur."!mark_push"(0, -1, 0, $P10) + rx92_cur."!cursor_pos"(rx92_pos) + $P10 = rx92_cur."termish"() + unless $P10, rx92_fail + rx92_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("termish") - rx84_pos = $P10."pos"() - goto alt93_end - alt93_1: + rx92_pos = $P10."pos"() + goto alt101_end + alt101_1: # rx subrule "panic" subtype=method negate= - rx84_cur."!cursor_pos"(rx84_pos) - $P10 = rx84_cur."panic"("Null pattern not allowed") - unless $P10, rx84_fail - rx84_pos = $P10."pos"() - alt93_end: -.annotate 'line', 33 - (rx84_rep) = rx84_cur."!mark_commit"($I94) - rx84_cur."!mark_push"(rx84_rep, rx84_pos, $I94) - goto rxquantr91_loop - rxquantr91_done: -.annotate 'line', 27 + rx92_cur."!cursor_pos"(rx92_pos) + $P10 = rx92_cur."panic"("Null pattern not allowed") + unless $P10, rx92_fail + rx92_pos = $P10."pos"() + alt101_end: +.annotate 'line', 35 + (rx92_rep) = rx92_cur."!mark_commit"($I102) + rx92_cur."!mark_push"(rx92_rep, rx92_pos, $I102) + goto rxquantr99_loop + rxquantr99_done: +.annotate 'line', 29 # rx pass - rx84_cur."!cursor_pass"(rx84_pos, "nibbler") - rx84_cur."!cursor_debug"("PASS ", "nibbler", " at pos=", rx84_pos) - .return (rx84_cur) - rx84_fail: -.annotate 'line', 3 - (rx84_rep, rx84_pos, $I10, $P10) = rx84_cur."!mark_fail"(0) - lt rx84_pos, -1, rx84_done - eq rx84_pos, -1, rx84_fail + rx92_cur."!cursor_pass"(rx92_pos, "nibbler") + rx92_cur."!cursor_debug"("PASS ", "nibbler", " at pos=", rx92_pos) + .return (rx92_cur) + rx92_fail: +.annotate 'line', 3 + (rx92_rep, rx92_pos, $I10, $P10) = rx92_cur."!mark_fail"(0) + lt rx92_pos, -1, rx92_done + eq rx92_pos, -1, rx92_fail jump $I10 - rx84_done: - rx84_cur."!cursor_fail"() - rx84_cur."!cursor_debug"("FAIL ", "nibbler") - .return (rx84_cur) + rx92_done: + rx92_cur."!cursor_fail"() + rx92_cur."!cursor_debug"("FAIL ", "nibbler") + .return (rx92_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__nibbler" :subid("25_1276996307.3412") :method +.sub "!PREFIX__nibbler" :subid("27_1278500530.77787") :method .annotate 'line', 3 - new $P86, "ResizablePMCArray" - push $P86, "" - .return ($P86) + new $P94, "ResizablePMCArray" + push $P94, "" + .return ($P94) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "termish" :subid("26_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "termish" :subid("28_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx96_tgt - .local int rx96_pos - .local int rx96_off - .local int rx96_eos - .local int rx96_rep - .local pmc rx96_cur - (rx96_cur, rx96_pos, rx96_tgt) = self."!cursor_start"() - rx96_cur."!cursor_debug"("START ", "termish") - rx96_cur."!cursor_caparray"("noun") - .lex unicode:"$\x{a2}", rx96_cur + .local string rx104_tgt + .local int rx104_pos + .local int rx104_off + .local int rx104_eos + .local int rx104_rep + .local pmc rx104_cur + (rx104_cur, rx104_pos, rx104_tgt) = self."!cursor_start"() + rx104_cur."!cursor_debug"("START ", "termish") + rx104_cur."!cursor_caparray"("noun") + .lex unicode:"$\x{a2}", rx104_cur .local pmc match .lex "$/", match - length rx96_eos, rx96_tgt - gt rx96_pos, rx96_eos, rx96_done - set rx96_off, 0 - lt rx96_pos, 2, rx96_start - sub rx96_off, rx96_pos, 1 - substr rx96_tgt, rx96_tgt, rx96_off - rx96_start: + length rx104_eos, rx104_tgt + gt rx104_pos, rx104_eos, rx104_done + set rx104_off, 0 + lt rx104_pos, 2, rx104_start + sub rx104_off, rx104_pos, 1 + substr rx104_tgt, rx104_tgt, rx104_off + rx104_start: $I10 = self.'from'() - ne $I10, -1, rxscan99_done - goto rxscan99_scan - rxscan99_loop: - ($P10) = rx96_cur."from"() + ne $I10, -1, rxscan107_done + goto rxscan107_scan + rxscan107_loop: + ($P10) = rx104_cur."from"() inc $P10 - set rx96_pos, $P10 - ge rx96_pos, rx96_eos, rxscan99_done - rxscan99_scan: - set_addr $I10, rxscan99_loop - rx96_cur."!mark_push"(0, rx96_pos, $I10) - rxscan99_done: -.annotate 'line', 37 - # rx rxquantr100 ** 1..* - set_addr $I101, rxquantr100_done - rx96_cur."!mark_push"(0, -1, $I101) - rxquantr100_loop: + set rx104_pos, $P10 + ge rx104_pos, rx104_eos, rxscan107_done + rxscan107_scan: + set_addr $I10, rxscan107_loop + rx104_cur."!mark_push"(0, rx104_pos, $I10) + rxscan107_done: +.annotate 'line', 39 + # rx rxquantr108 ** 1..* + set_addr $I109, rxquantr108_done + rx104_cur."!mark_push"(0, -1, $I109) + rxquantr108_loop: # rx subrule "quantified_atom" subtype=capture negate= - rx96_cur."!cursor_pos"(rx96_pos) - $P10 = rx96_cur."quantified_atom"() - unless $P10, rx96_fail - rx96_cur."!mark_push"(0, -1, 0, $P10) + rx104_cur."!cursor_pos"(rx104_pos) + $P10 = rx104_cur."quantified_atom"() + unless $P10, rx104_fail + rx104_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("noun") - rx96_pos = $P10."pos"() - (rx96_rep) = rx96_cur."!mark_commit"($I101) - rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I101) - goto rxquantr100_loop - rxquantr100_done: -.annotate 'line', 36 + rx104_pos = $P10."pos"() + (rx104_rep) = rx104_cur."!mark_commit"($I109) + rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I109) + goto rxquantr108_loop + rxquantr108_done: +.annotate 'line', 38 # rx pass - rx96_cur."!cursor_pass"(rx96_pos, "termish") - rx96_cur."!cursor_debug"("PASS ", "termish", " at pos=", rx96_pos) - .return (rx96_cur) - rx96_fail: -.annotate 'line', 3 - (rx96_rep, rx96_pos, $I10, $P10) = rx96_cur."!mark_fail"(0) - lt rx96_pos, -1, rx96_done - eq rx96_pos, -1, rx96_fail + rx104_cur."!cursor_pass"(rx104_pos, "termish") + rx104_cur."!cursor_debug"("PASS ", "termish", " at pos=", rx104_pos) + .return (rx104_cur) + rx104_fail: +.annotate 'line', 3 + (rx104_rep, rx104_pos, $I10, $P10) = rx104_cur."!mark_fail"(0) + lt rx104_pos, -1, rx104_done + eq rx104_pos, -1, rx104_fail jump $I10 - rx96_done: - rx96_cur."!cursor_fail"() - rx96_cur."!cursor_debug"("FAIL ", "termish") - .return (rx96_cur) + rx104_done: + rx104_cur."!cursor_fail"() + rx104_cur."!cursor_debug"("FAIL ", "termish") + .return (rx104_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__termish" :subid("27_1276996307.3412") :method +.sub "!PREFIX__termish" :subid("29_1278500530.77787") :method .annotate 'line', 3 - new $P98, "ResizablePMCArray" - push $P98, "" - .return ($P98) + new $P106, "ResizablePMCArray" + push $P106, "" + .return ($P106) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantified_atom" :subid("28_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "quantified_atom" :subid("30_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P111 = "30_1276996307.3412" - capture_lex $P111 - .local string rx103_tgt - .local int rx103_pos - .local int rx103_off - .local int rx103_eos - .local int rx103_rep - .local pmc rx103_cur - (rx103_cur, rx103_pos, rx103_tgt) = self."!cursor_start"() - rx103_cur."!cursor_debug"("START ", "quantified_atom") - rx103_cur."!cursor_caparray"("quantifier", "backmod") - .lex unicode:"$\x{a2}", rx103_cur + .const 'Sub' $P119 = "32_1278500530.77787" + capture_lex $P119 + .local string rx111_tgt + .local int rx111_pos + .local int rx111_off + .local int rx111_eos + .local int rx111_rep + .local pmc rx111_cur + (rx111_cur, rx111_pos, rx111_tgt) = self."!cursor_start"() + rx111_cur."!cursor_debug"("START ", "quantified_atom") + rx111_cur."!cursor_caparray"("quantifier", "backmod") + .lex unicode:"$\x{a2}", rx111_cur .local pmc match .lex "$/", match - length rx103_eos, rx103_tgt - gt rx103_pos, rx103_eos, rx103_done - set rx103_off, 0 - lt rx103_pos, 2, rx103_start - sub rx103_off, rx103_pos, 1 - substr rx103_tgt, rx103_tgt, rx103_off - rx103_start: + length rx111_eos, rx111_tgt + gt rx111_pos, rx111_eos, rx111_done + set rx111_off, 0 + lt rx111_pos, 2, rx111_start + sub rx111_off, rx111_pos, 1 + substr rx111_tgt, rx111_tgt, rx111_off + rx111_start: $I10 = self.'from'() - ne $I10, -1, rxscan107_done - goto rxscan107_scan - rxscan107_loop: - ($P10) = rx103_cur."from"() + ne $I10, -1, rxscan115_done + goto rxscan115_scan + rxscan115_loop: + ($P10) = rx111_cur."from"() inc $P10 - set rx103_pos, $P10 - ge rx103_pos, rx103_eos, rxscan107_done - rxscan107_scan: - set_addr $I10, rxscan107_loop - rx103_cur."!mark_push"(0, rx103_pos, $I10) - rxscan107_done: -.annotate 'line', 41 + set rx111_pos, $P10 + ge rx111_pos, rx111_eos, rxscan115_done + rxscan115_scan: + set_addr $I10, rxscan115_loop + rx111_cur."!mark_push"(0, rx111_pos, $I10) + rxscan115_done: +.annotate 'line', 43 # rx subrule "atom" subtype=capture negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."atom"() - unless $P10, rx103_fail - rx103_cur."!mark_push"(0, -1, 0, $P10) + rx111_cur."!cursor_pos"(rx111_pos) + $P10 = rx111_cur."atom"() + unless $P10, rx111_fail + rx111_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("atom") - rx103_pos = $P10."pos"() - # rx rxquantr108 ** 0..1 - set_addr $I114, rxquantr108_done - rx103_cur."!mark_push"(0, rx103_pos, $I114) - rxquantr108_loop: + rx111_pos = $P10."pos"() + # rx rxquantr116 ** 0..1 + set_addr $I122, rxquantr116_done + rx111_cur."!mark_push"(0, rx111_pos, $I122) + rxquantr116_loop: # rx subrule "ws" subtype=method negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."ws"() - unless $P10, rx103_fail - rx103_pos = $P10."pos"() - alt109_0: - set_addr $I10, alt109_1 - rx103_cur."!mark_push"(0, rx103_pos, $I10) + rx111_cur."!cursor_pos"(rx111_pos) + $P10 = rx111_cur."ws"() + unless $P10, rx111_fail + rx111_pos = $P10."pos"() + alt117_0: + set_addr $I10, alt117_1 + rx111_cur."!mark_push"(0, rx111_pos, $I10) # rx subrule "quantifier" subtype=capture negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."quantifier"() - unless $P10, rx103_fail - rx103_cur."!mark_push"(0, -1, 0, $P10) + rx111_cur."!cursor_pos"(rx111_pos) + $P10 = rx111_cur."quantifier"() + unless $P10, rx111_fail + rx111_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quantifier") - rx103_pos = $P10."pos"() - goto alt109_end - alt109_1: + rx111_pos = $P10."pos"() + goto alt117_end + alt117_1: # rx subrule "before" subtype=zerowidth negate= - rx103_cur."!cursor_pos"(rx103_pos) - .const 'Sub' $P111 = "30_1276996307.3412" - capture_lex $P111 - $P10 = rx103_cur."before"($P111) - unless $P10, rx103_fail + rx111_cur."!cursor_pos"(rx111_pos) + .const 'Sub' $P119 = "32_1278500530.77787" + capture_lex $P119 + $P10 = rx111_cur."before"($P119) + unless $P10, rx111_fail # rx subrule "backmod" subtype=capture negate= - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."backmod"() - unless $P10, rx103_fail - rx103_cur."!mark_push"(0, -1, 0, $P10) + rx111_cur."!cursor_pos"(rx111_pos) + $P10 = rx111_cur."backmod"() + unless $P10, rx111_fail + rx111_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("backmod") - rx103_pos = $P10."pos"() + rx111_pos = $P10."pos"() # rx subrule "alpha" subtype=zerowidth negate=1 - rx103_cur."!cursor_pos"(rx103_pos) - $P10 = rx103_cur."alpha"() - if $P10, rx103_fail - alt109_end: - (rx103_rep) = rx103_cur."!mark_commit"($I114) - rxquantr108_done: -.annotate 'line', 40 + rx111_cur."!cursor_pos"(rx111_pos) + $P10 = rx111_cur."alpha"() + if $P10, rx111_fail + alt117_end: + (rx111_rep) = rx111_cur."!mark_commit"($I122) + rxquantr116_done: +.annotate 'line', 42 # rx pass - rx103_cur."!cursor_pass"(rx103_pos, "quantified_atom") - rx103_cur."!cursor_debug"("PASS ", "quantified_atom", " at pos=", rx103_pos) - .return (rx103_cur) - rx103_fail: -.annotate 'line', 3 - (rx103_rep, rx103_pos, $I10, $P10) = rx103_cur."!mark_fail"(0) - lt rx103_pos, -1, rx103_done - eq rx103_pos, -1, rx103_fail + rx111_cur."!cursor_pass"(rx111_pos, "quantified_atom") + rx111_cur."!cursor_debug"("PASS ", "quantified_atom", " at pos=", rx111_pos) + .return (rx111_cur) + rx111_fail: +.annotate 'line', 3 + (rx111_rep, rx111_pos, $I10, $P10) = rx111_cur."!mark_fail"(0) + lt rx111_pos, -1, rx111_done + eq rx111_pos, -1, rx111_fail jump $I10 - rx103_done: - rx103_cur."!cursor_fail"() - rx103_cur."!cursor_debug"("FAIL ", "quantified_atom") - .return (rx103_cur) + rx111_done: + rx111_cur."!cursor_fail"() + rx111_cur."!cursor_debug"("FAIL ", "quantified_atom") + .return (rx111_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantified_atom" :subid("29_1276996307.3412") :method +.sub "!PREFIX__quantified_atom" :subid("31_1278500530.77787") :method .annotate 'line', 3 - $P105 = self."!PREFIX__!subrule"("atom", "") - new $P106, "ResizablePMCArray" - push $P106, $P105 - .return ($P106) + $P113 = self."!PREFIX__!subrule"("atom", "") + new $P114, "ResizablePMCArray" + push $P114, $P113 + .return ($P114) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block110" :anon :subid("30_1276996307.3412") :method :outer("28_1276996307.3412") -.annotate 'line', 41 - .local string rx112_tgt - .local int rx112_pos - .local int rx112_off - .local int rx112_eos - .local int rx112_rep - .local pmc rx112_cur - (rx112_cur, rx112_pos, rx112_tgt) = self."!cursor_start"() - rx112_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx112_cur +.sub "_block118" :anon :subid("32_1278500530.77787") :method :outer("30_1278500530.77787") +.annotate 'line', 43 + .local string rx120_tgt + .local int rx120_pos + .local int rx120_off + .local int rx120_eos + .local int rx120_rep + .local pmc rx120_cur + (rx120_cur, rx120_pos, rx120_tgt) = self."!cursor_start"() + rx120_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx120_cur .local pmc match .lex "$/", match - length rx112_eos, rx112_tgt - gt rx112_pos, rx112_eos, rx112_done - set rx112_off, 0 - lt rx112_pos, 2, rx112_start - sub rx112_off, rx112_pos, 1 - substr rx112_tgt, rx112_tgt, rx112_off - rx112_start: + length rx120_eos, rx120_tgt + gt rx120_pos, rx120_eos, rx120_done + set rx120_off, 0 + lt rx120_pos, 2, rx120_start + sub rx120_off, rx120_pos, 1 + substr rx120_tgt, rx120_tgt, rx120_off + rx120_start: $I10 = self.'from'() - ne $I10, -1, rxscan113_done - goto rxscan113_scan - rxscan113_loop: - ($P10) = rx112_cur."from"() + ne $I10, -1, rxscan121_done + goto rxscan121_scan + rxscan121_loop: + ($P10) = rx120_cur."from"() inc $P10 - set rx112_pos, $P10 - ge rx112_pos, rx112_eos, rxscan113_done - rxscan113_scan: - set_addr $I10, rxscan113_loop - rx112_cur."!mark_push"(0, rx112_pos, $I10) - rxscan113_done: + set rx120_pos, $P10 + ge rx120_pos, rx120_eos, rxscan121_done + rxscan121_scan: + set_addr $I10, rxscan121_loop + rx120_cur."!mark_push"(0, rx120_pos, $I10) + rxscan121_done: # rx literal ":" - add $I11, rx112_pos, 1 - gt $I11, rx112_eos, rx112_fail - sub $I11, rx112_pos, rx112_off - substr $S10, rx112_tgt, $I11, 1 - ne $S10, ":", rx112_fail - add rx112_pos, 1 - # rx pass - rx112_cur."!cursor_pass"(rx112_pos, "") - rx112_cur."!cursor_debug"("PASS ", "", " at pos=", rx112_pos) - .return (rx112_cur) - rx112_fail: - (rx112_rep, rx112_pos, $I10, $P10) = rx112_cur."!mark_fail"(0) - lt rx112_pos, -1, rx112_done - eq rx112_pos, -1, rx112_fail - jump $I10 - rx112_done: - rx112_cur."!cursor_fail"() - rx112_cur."!cursor_debug"("FAIL ", "") - .return (rx112_cur) - .return () -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "atom" :subid("31_1276996307.3412") :method :outer("11_1276996307.3412") -.annotate 'line', 3 - .const 'Sub' $P126 = "33_1276996307.3412" - capture_lex $P126 - .local string rx116_tgt - .local int rx116_pos - .local int rx116_off - .local int rx116_eos - .local int rx116_rep - .local pmc rx116_cur - (rx116_cur, rx116_pos, rx116_tgt) = self."!cursor_start"() - rx116_cur."!cursor_debug"("START ", "atom") - .lex unicode:"$\x{a2}", rx116_cur - .local pmc match - .lex "$/", match - length rx116_eos, rx116_tgt - gt rx116_pos, rx116_eos, rx116_done - set rx116_off, 0 - lt rx116_pos, 2, rx116_start - sub rx116_off, rx116_pos, 1 - substr rx116_tgt, rx116_tgt, rx116_off - rx116_start: - $I10 = self.'from'() - ne $I10, -1, rxscan120_done - goto rxscan120_scan - rxscan120_loop: - ($P10) = rx116_cur."from"() - inc $P10 - set rx116_pos, $P10 - ge rx116_pos, rx116_eos, rxscan120_done - rxscan120_scan: - set_addr $I10, rxscan120_loop - rx116_cur."!mark_push"(0, rx116_pos, $I10) - rxscan120_done: - alt121_0: -.annotate 'line', 46 - set_addr $I10, alt121_1 - rx116_cur."!mark_push"(0, rx116_pos, $I10) -.annotate 'line', 47 - # rx charclass w - ge rx116_pos, rx116_eos, rx116_fail - sub $I10, rx116_pos, rx116_off - is_cclass $I11, 8192, rx116_tgt, $I10 - unless $I11, rx116_fail - inc rx116_pos - # rx rxquantr122 ** 0..1 - set_addr $I129, rxquantr122_done - rx116_cur."!mark_push"(0, rx116_pos, $I129) - rxquantr122_loop: - # rx rxquantg123 ** 1..* - set_addr $I124, rxquantg123_done - rxquantg123_loop: - # rx charclass w - ge rx116_pos, rx116_eos, rx116_fail - sub $I10, rx116_pos, rx116_off - is_cclass $I11, 8192, rx116_tgt, $I10 - unless $I11, rx116_fail - inc rx116_pos - rx116_cur."!mark_push"(rx116_rep, rx116_pos, $I124) - goto rxquantg123_loop - rxquantg123_done: - # rx subrule "before" subtype=zerowidth negate= - rx116_cur."!cursor_pos"(rx116_pos) - .const 'Sub' $P126 = "33_1276996307.3412" - capture_lex $P126 - $P10 = rx116_cur."before"($P126) - unless $P10, rx116_fail - (rx116_rep) = rx116_cur."!mark_commit"($I129) - rxquantr122_done: - goto alt121_end - alt121_1: -.annotate 'line', 48 - # rx subrule "metachar" subtype=capture negate= - rx116_cur."!cursor_pos"(rx116_pos) - $P10 = rx116_cur."metachar"() - unless $P10, rx116_fail - rx116_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("metachar") - rx116_pos = $P10."pos"() - alt121_end: -.annotate 'line', 44 + add $I11, rx120_pos, 1 + gt $I11, rx120_eos, rx120_fail + sub $I11, rx120_pos, rx120_off + substr $S10, rx120_tgt, $I11, 1 + ne $S10, ":", rx120_fail + add rx120_pos, 1 # rx pass - rx116_cur."!cursor_pass"(rx116_pos, "atom") - rx116_cur."!cursor_debug"("PASS ", "atom", " at pos=", rx116_pos) - .return (rx116_cur) - rx116_fail: -.annotate 'line', 3 - (rx116_rep, rx116_pos, $I10, $P10) = rx116_cur."!mark_fail"(0) - lt rx116_pos, -1, rx116_done - eq rx116_pos, -1, rx116_fail + rx120_cur."!cursor_pass"(rx120_pos, "") + rx120_cur."!cursor_debug"("PASS ", "", " at pos=", rx120_pos) + .return (rx120_cur) + rx120_fail: + (rx120_rep, rx120_pos, $I10, $P10) = rx120_cur."!mark_fail"(0) + lt rx120_pos, -1, rx120_done + eq rx120_pos, -1, rx120_fail jump $I10 - rx116_done: - rx116_cur."!cursor_fail"() - rx116_cur."!cursor_debug"("FAIL ", "atom") - .return (rx116_cur) + rx120_done: + rx120_cur."!cursor_fail"() + rx120_cur."!cursor_debug"("FAIL ", "") + .return (rx120_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__atom" :subid("32_1276996307.3412") :method +.sub "atom" :subid("33_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - $P118 = self."!PREFIX__!subrule"("metachar", "") - new $P119, "ResizablePMCArray" - push $P119, $P118 - push $P119, "" - .return ($P119) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block125" :anon :subid("33_1276996307.3412") :method :outer("31_1276996307.3412") -.annotate 'line', 47 - .local string rx127_tgt - .local int rx127_pos - .local int rx127_off - .local int rx127_eos - .local int rx127_rep - .local pmc rx127_cur - (rx127_cur, rx127_pos, rx127_tgt) = self."!cursor_start"() - rx127_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx127_cur + .const 'Sub' $P134 = "35_1278500530.77787" + capture_lex $P134 + .local string rx124_tgt + .local int rx124_pos + .local int rx124_off + .local int rx124_eos + .local int rx124_rep + .local pmc rx124_cur + (rx124_cur, rx124_pos, rx124_tgt) = self."!cursor_start"() + rx124_cur."!cursor_debug"("START ", "atom") + .lex unicode:"$\x{a2}", rx124_cur .local pmc match .lex "$/", match - length rx127_eos, rx127_tgt - gt rx127_pos, rx127_eos, rx127_done - set rx127_off, 0 - lt rx127_pos, 2, rx127_start - sub rx127_off, rx127_pos, 1 - substr rx127_tgt, rx127_tgt, rx127_off - rx127_start: + length rx124_eos, rx124_tgt + gt rx124_pos, rx124_eos, rx124_done + set rx124_off, 0 + lt rx124_pos, 2, rx124_start + sub rx124_off, rx124_pos, 1 + substr rx124_tgt, rx124_tgt, rx124_off + rx124_start: $I10 = self.'from'() ne $I10, -1, rxscan128_done goto rxscan128_scan rxscan128_loop: - ($P10) = rx127_cur."from"() + ($P10) = rx124_cur."from"() inc $P10 - set rx127_pos, $P10 - ge rx127_pos, rx127_eos, rxscan128_done + set rx124_pos, $P10 + ge rx124_pos, rx124_eos, rxscan128_done rxscan128_scan: set_addr $I10, rxscan128_loop - rx127_cur."!mark_push"(0, rx127_pos, $I10) + rx124_cur."!mark_push"(0, rx124_pos, $I10) rxscan128_done: + alt129_0: +.annotate 'line', 48 + set_addr $I10, alt129_1 + rx124_cur."!mark_push"(0, rx124_pos, $I10) +.annotate 'line', 49 + # rx charclass w + ge rx124_pos, rx124_eos, rx124_fail + sub $I10, rx124_pos, rx124_off + is_cclass $I11, 8192, rx124_tgt, $I10 + unless $I11, rx124_fail + inc rx124_pos + # rx rxquantr130 ** 0..1 + set_addr $I137, rxquantr130_done + rx124_cur."!mark_push"(0, rx124_pos, $I137) + rxquantr130_loop: + # rx rxquantg131 ** 1..* + set_addr $I132, rxquantg131_done + rxquantg131_loop: # rx charclass w - ge rx127_pos, rx127_eos, rx127_fail - sub $I10, rx127_pos, rx127_off - is_cclass $I11, 8192, rx127_tgt, $I10 - unless $I11, rx127_fail - inc rx127_pos + ge rx124_pos, rx124_eos, rx124_fail + sub $I10, rx124_pos, rx124_off + is_cclass $I11, 8192, rx124_tgt, $I10 + unless $I11, rx124_fail + inc rx124_pos + rx124_cur."!mark_push"(rx124_rep, rx124_pos, $I132) + goto rxquantg131_loop + rxquantg131_done: + # rx subrule "before" subtype=zerowidth negate= + rx124_cur."!cursor_pos"(rx124_pos) + .const 'Sub' $P134 = "35_1278500530.77787" + capture_lex $P134 + $P10 = rx124_cur."before"($P134) + unless $P10, rx124_fail + (rx124_rep) = rx124_cur."!mark_commit"($I137) + rxquantr130_done: + goto alt129_end + alt129_1: +.annotate 'line', 50 + # rx subrule "metachar" subtype=capture negate= + rx124_cur."!cursor_pos"(rx124_pos) + $P10 = rx124_cur."metachar"() + unless $P10, rx124_fail + rx124_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("metachar") + rx124_pos = $P10."pos"() + alt129_end: +.annotate 'line', 46 # rx pass - rx127_cur."!cursor_pass"(rx127_pos, "") - rx127_cur."!cursor_debug"("PASS ", "", " at pos=", rx127_pos) - .return (rx127_cur) - rx127_fail: - (rx127_rep, rx127_pos, $I10, $P10) = rx127_cur."!mark_fail"(0) - lt rx127_pos, -1, rx127_done - eq rx127_pos, -1, rx127_fail + rx124_cur."!cursor_pass"(rx124_pos, "atom") + rx124_cur."!cursor_debug"("PASS ", "atom", " at pos=", rx124_pos) + .return (rx124_cur) + rx124_fail: +.annotate 'line', 3 + (rx124_rep, rx124_pos, $I10, $P10) = rx124_cur."!mark_fail"(0) + lt rx124_pos, -1, rx124_done + eq rx124_pos, -1, rx124_fail jump $I10 - rx127_done: - rx127_cur."!cursor_fail"() - rx127_cur."!cursor_debug"("FAIL ", "") - .return (rx127_cur) + rx124_done: + rx124_cur."!cursor_fail"() + rx124_cur."!cursor_debug"("FAIL ", "atom") + .return (rx124_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantifier" :subid("34_1276996307.3412") :method -.annotate 'line', 52 - $P131 = self."!protoregex"("quantifier") - .return ($P131) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantifier" :subid("35_1276996307.3412") :method -.annotate 'line', 52 - $P133 = self."!PREFIX__!protoregex"("quantifier") - .return ($P133) +.sub "!PREFIX__atom" :subid("34_1278500530.77787") :method +.annotate 'line', 3 + $P126 = self."!PREFIX__!subrule"("metachar", "") + new $P127, "ResizablePMCArray" + push $P127, $P126 + push $P127, "" + .return ($P127) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantifier:sym<*>" :subid("36_1276996307.3412") :method :outer("11_1276996307.3412") -.annotate 'line', 3 +.sub "_block133" :anon :subid("35_1278500530.77787") :method :outer("33_1278500530.77787") +.annotate 'line', 49 .local string rx135_tgt .local int rx135_pos .local int rx135_off @@ -1418,7 +1435,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx135_rep .local pmc rx135_cur (rx135_cur, rx135_pos, rx135_tgt) = self."!cursor_start"() - rx135_cur."!cursor_debug"("START ", "quantifier:sym<*>") + rx135_cur."!cursor_debug"("START ", "") .lex unicode:"$\x{a2}", rx135_cur .local pmc match .lex "$/", match @@ -1430,3637 +1447,3617 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx135_tgt, rx135_tgt, rx135_off rx135_start: $I10 = self.'from'() - ne $I10, -1, rxscan139_done - goto rxscan139_scan - rxscan139_loop: + ne $I10, -1, rxscan136_done + goto rxscan136_scan + rxscan136_loop: ($P10) = rx135_cur."from"() inc $P10 set rx135_pos, $P10 - ge rx135_pos, rx135_eos, rxscan139_done - rxscan139_scan: - set_addr $I10, rxscan139_loop - rx135_cur."!mark_push"(0, rx135_pos, $I10) - rxscan139_done: -.annotate 'line', 53 - # rx subcapture "sym" - set_addr $I10, rxcap_140_fail + ge rx135_pos, rx135_eos, rxscan136_done + rxscan136_scan: + set_addr $I10, rxscan136_loop rx135_cur."!mark_push"(0, rx135_pos, $I10) - # rx literal "*" - add $I11, rx135_pos, 1 - gt $I11, rx135_eos, rx135_fail - sub $I11, rx135_pos, rx135_off - substr $S10, rx135_tgt, $I11, 1 - ne $S10, "*", rx135_fail - add rx135_pos, 1 - set_addr $I10, rxcap_140_fail - ($I12, $I11) = rx135_cur."!mark_peek"($I10) - rx135_cur."!cursor_pos"($I11) - ($P10) = rx135_cur."!cursor_start"() - $P10."!cursor_pass"(rx135_pos, "") - rx135_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_140_done - rxcap_140_fail: - goto rx135_fail - rxcap_140_done: - # rx subrule "backmod" subtype=capture negate= - rx135_cur."!cursor_pos"(rx135_pos) - $P10 = rx135_cur."backmod"() - unless $P10, rx135_fail - rx135_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("backmod") - rx135_pos = $P10."pos"() + rxscan136_done: + # rx charclass w + ge rx135_pos, rx135_eos, rx135_fail + sub $I10, rx135_pos, rx135_off + is_cclass $I11, 8192, rx135_tgt, $I10 + unless $I11, rx135_fail + inc rx135_pos # rx pass - rx135_cur."!cursor_pass"(rx135_pos, "quantifier:sym<*>") - rx135_cur."!cursor_debug"("PASS ", "quantifier:sym<*>", " at pos=", rx135_pos) + rx135_cur."!cursor_pass"(rx135_pos, "") + rx135_cur."!cursor_debug"("PASS ", "", " at pos=", rx135_pos) .return (rx135_cur) rx135_fail: -.annotate 'line', 3 (rx135_rep, rx135_pos, $I10, $P10) = rx135_cur."!mark_fail"(0) lt rx135_pos, -1, rx135_done eq rx135_pos, -1, rx135_fail jump $I10 rx135_done: rx135_cur."!cursor_fail"() - rx135_cur."!cursor_debug"("FAIL ", "quantifier:sym<*>") + rx135_cur."!cursor_debug"("FAIL ", "") .return (rx135_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantifier:sym<*>" :subid("37_1276996307.3412") :method +.sub "quantifier" :subid("36_1278500530.77787") :method +.annotate 'line', 54 + $P139 = self."!protoregex"("quantifier") + .return ($P139) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "!PREFIX__quantifier" :subid("37_1278500530.77787") :method +.annotate 'line', 54 + $P141 = self."!PREFIX__!protoregex"("quantifier") + .return ($P141) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "quantifier:sym<*>" :subid("38_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .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 ", "quantifier:sym<*>") + .lex unicode:"$\x{a2}", rx143_cur + .local pmc match + .lex "$/", match + length rx143_eos, rx143_tgt + gt rx143_pos, rx143_eos, rx143_done + 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', 55 + # rx subcapture "sym" + set_addr $I10, rxcap_148_fail + rx143_cur."!mark_push"(0, rx143_pos, $I10) + # rx literal "*" + add $I11, rx143_pos, 1 + gt $I11, rx143_eos, rx143_fail + sub $I11, rx143_pos, rx143_off + substr $S10, rx143_tgt, $I11, 1 + ne $S10, "*", rx143_fail + add rx143_pos, 1 + set_addr $I10, rxcap_148_fail + ($I12, $I11) = rx143_cur."!mark_peek"($I10) + rx143_cur."!cursor_pos"($I11) + ($P10) = rx143_cur."!cursor_start"() + $P10."!cursor_pass"(rx143_pos, "") + rx143_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_148_done + rxcap_148_fail: + goto rx143_fail + rxcap_148_done: + # rx subrule "backmod" subtype=capture negate= + rx143_cur."!cursor_pos"(rx143_pos) + $P10 = rx143_cur."backmod"() + unless $P10, rx143_fail + rx143_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("backmod") + rx143_pos = $P10."pos"() + # rx pass + rx143_cur."!cursor_pass"(rx143_pos, "quantifier:sym<*>") + rx143_cur."!cursor_debug"("PASS ", "quantifier:sym<*>", " at pos=", rx143_pos) + .return (rx143_cur) + rx143_fail: +.annotate 'line', 3 + (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 ", "quantifier:sym<*>") + .return (rx143_cur) + .return () +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "!PREFIX__quantifier:sym<*>" :subid("39_1278500530.77787") :method .annotate 'line', 3 - $P137 = self."!PREFIX__!subrule"("backmod", "*") - new $P138, "ResizablePMCArray" - push $P138, $P137 - .return ($P138) + $P145 = self."!PREFIX__!subrule"("backmod", "*") + new $P146, "ResizablePMCArray" + push $P146, $P145 + .return ($P146) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantifier:sym<+>" :subid("38_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "quantifier:sym<+>" :subid("40_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "quantifier:sym<+>") - .lex unicode:"$\x{a2}", rx142_cur + .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 ", "quantifier:sym<+>") + .lex unicode:"$\x{a2}", rx150_cur .local pmc match .lex "$/", match - length rx142_eos, rx142_tgt - gt rx142_pos, rx142_eos, rx142_done - 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: + length rx150_eos, rx150_tgt + gt rx150_pos, rx150_eos, rx150_done + 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, rxscan146_done - goto rxscan146_scan - rxscan146_loop: - ($P10) = rx142_cur."from"() + ne $I10, -1, rxscan154_done + goto rxscan154_scan + rxscan154_loop: + ($P10) = rx150_cur."from"() inc $P10 - set rx142_pos, $P10 - ge rx142_pos, rx142_eos, rxscan146_done - rxscan146_scan: - set_addr $I10, rxscan146_loop - rx142_cur."!mark_push"(0, rx142_pos, $I10) - rxscan146_done: -.annotate 'line', 54 + set rx150_pos, $P10 + ge rx150_pos, rx150_eos, rxscan154_done + rxscan154_scan: + set_addr $I10, rxscan154_loop + rx150_cur."!mark_push"(0, rx150_pos, $I10) + rxscan154_done: +.annotate 'line', 56 # rx subcapture "sym" - set_addr $I10, rxcap_147_fail - rx142_cur."!mark_push"(0, rx142_pos, $I10) + set_addr $I10, rxcap_155_fail + rx150_cur."!mark_push"(0, rx150_pos, $I10) # rx literal "+" - 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 - set_addr $I10, rxcap_147_fail - ($I12, $I11) = rx142_cur."!mark_peek"($I10) - rx142_cur."!cursor_pos"($I11) - ($P10) = rx142_cur."!cursor_start"() - $P10."!cursor_pass"(rx142_pos, "") - rx142_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx150_pos, 1 + gt $I11, rx150_eos, rx150_fail + sub $I11, rx150_pos, rx150_off + substr $S10, rx150_tgt, $I11, 1 + ne $S10, "+", rx150_fail + add rx150_pos, 1 + set_addr $I10, rxcap_155_fail + ($I12, $I11) = rx150_cur."!mark_peek"($I10) + rx150_cur."!cursor_pos"($I11) + ($P10) = rx150_cur."!cursor_start"() + $P10."!cursor_pass"(rx150_pos, "") + rx150_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_147_done - rxcap_147_fail: - goto rx142_fail - rxcap_147_done: + goto rxcap_155_done + rxcap_155_fail: + goto rx150_fail + rxcap_155_done: # rx subrule "backmod" subtype=capture negate= - rx142_cur."!cursor_pos"(rx142_pos) - $P10 = rx142_cur."backmod"() - unless $P10, rx142_fail - rx142_cur."!mark_push"(0, -1, 0, $P10) + rx150_cur."!cursor_pos"(rx150_pos) + $P10 = rx150_cur."backmod"() + unless $P10, rx150_fail + rx150_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("backmod") - rx142_pos = $P10."pos"() + rx150_pos = $P10."pos"() # rx pass - rx142_cur."!cursor_pass"(rx142_pos, "quantifier:sym<+>") - rx142_cur."!cursor_debug"("PASS ", "quantifier:sym<+>", " at pos=", rx142_pos) - .return (rx142_cur) - rx142_fail: -.annotate 'line', 3 - (rx142_rep, rx142_pos, $I10, $P10) = rx142_cur."!mark_fail"(0) - lt rx142_pos, -1, rx142_done - eq rx142_pos, -1, rx142_fail + rx150_cur."!cursor_pass"(rx150_pos, "quantifier:sym<+>") + rx150_cur."!cursor_debug"("PASS ", "quantifier:sym<+>", " at pos=", rx150_pos) + .return (rx150_cur) + rx150_fail: +.annotate 'line', 3 + (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 - rx142_done: - rx142_cur."!cursor_fail"() - rx142_cur."!cursor_debug"("FAIL ", "quantifier:sym<+>") - .return (rx142_cur) + rx150_done: + rx150_cur."!cursor_fail"() + rx150_cur."!cursor_debug"("FAIL ", "quantifier:sym<+>") + .return (rx150_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantifier:sym<+>" :subid("39_1276996307.3412") :method +.sub "!PREFIX__quantifier:sym<+>" :subid("41_1278500530.77787") :method .annotate 'line', 3 - $P144 = self."!PREFIX__!subrule"("backmod", "+") - new $P145, "ResizablePMCArray" - push $P145, $P144 - .return ($P145) + $P152 = self."!PREFIX__!subrule"("backmod", "+") + new $P153, "ResizablePMCArray" + push $P153, $P152 + .return ($P153) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantifier:sym" :subid("40_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "quantifier:sym" :subid("42_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx149_tgt - .local int rx149_pos - .local int rx149_off - .local int rx149_eos - .local int rx149_rep - .local pmc rx149_cur - (rx149_cur, rx149_pos, rx149_tgt) = self."!cursor_start"() - rx149_cur."!cursor_debug"("START ", "quantifier:sym") - .lex unicode:"$\x{a2}", rx149_cur + .local string rx157_tgt + .local int rx157_pos + .local int rx157_off + .local int rx157_eos + .local int rx157_rep + .local pmc rx157_cur + (rx157_cur, rx157_pos, rx157_tgt) = self."!cursor_start"() + rx157_cur."!cursor_debug"("START ", "quantifier:sym") + .lex unicode:"$\x{a2}", rx157_cur .local pmc match .lex "$/", match - length rx149_eos, rx149_tgt - gt rx149_pos, rx149_eos, rx149_done - set rx149_off, 0 - lt rx149_pos, 2, rx149_start - sub rx149_off, rx149_pos, 1 - substr rx149_tgt, rx149_tgt, rx149_off - rx149_start: + length rx157_eos, rx157_tgt + gt rx157_pos, rx157_eos, rx157_done + set rx157_off, 0 + lt rx157_pos, 2, rx157_start + sub rx157_off, rx157_pos, 1 + substr rx157_tgt, rx157_tgt, rx157_off + rx157_start: $I10 = self.'from'() - ne $I10, -1, rxscan153_done - goto rxscan153_scan - rxscan153_loop: - ($P10) = rx149_cur."from"() + ne $I10, -1, rxscan161_done + goto rxscan161_scan + rxscan161_loop: + ($P10) = rx157_cur."from"() inc $P10 - set rx149_pos, $P10 - ge rx149_pos, rx149_eos, rxscan153_done - rxscan153_scan: - set_addr $I10, rxscan153_loop - rx149_cur."!mark_push"(0, rx149_pos, $I10) - rxscan153_done: -.annotate 'line', 55 + set rx157_pos, $P10 + ge rx157_pos, rx157_eos, rxscan161_done + rxscan161_scan: + set_addr $I10, rxscan161_loop + rx157_cur."!mark_push"(0, rx157_pos, $I10) + rxscan161_done: +.annotate 'line', 57 # rx subcapture "sym" - set_addr $I10, rxcap_154_fail - rx149_cur."!mark_push"(0, rx149_pos, $I10) + set_addr $I10, rxcap_162_fail + rx157_cur."!mark_push"(0, rx157_pos, $I10) # rx literal "?" - add $I11, rx149_pos, 1 - gt $I11, rx149_eos, rx149_fail - sub $I11, rx149_pos, rx149_off - substr $S10, rx149_tgt, $I11, 1 - ne $S10, "?", rx149_fail - add rx149_pos, 1 - set_addr $I10, rxcap_154_fail - ($I12, $I11) = rx149_cur."!mark_peek"($I10) - rx149_cur."!cursor_pos"($I11) - ($P10) = rx149_cur."!cursor_start"() - $P10."!cursor_pass"(rx149_pos, "") - rx149_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx157_pos, 1 + gt $I11, rx157_eos, rx157_fail + sub $I11, rx157_pos, rx157_off + substr $S10, rx157_tgt, $I11, 1 + ne $S10, "?", rx157_fail + add rx157_pos, 1 + set_addr $I10, rxcap_162_fail + ($I12, $I11) = rx157_cur."!mark_peek"($I10) + rx157_cur."!cursor_pos"($I11) + ($P10) = rx157_cur."!cursor_start"() + $P10."!cursor_pass"(rx157_pos, "") + rx157_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_154_done - rxcap_154_fail: - goto rx149_fail - rxcap_154_done: + goto rxcap_162_done + rxcap_162_fail: + goto rx157_fail + rxcap_162_done: # rx subrule "backmod" subtype=capture negate= - rx149_cur."!cursor_pos"(rx149_pos) - $P10 = rx149_cur."backmod"() - unless $P10, rx149_fail - rx149_cur."!mark_push"(0, -1, 0, $P10) + rx157_cur."!cursor_pos"(rx157_pos) + $P10 = rx157_cur."backmod"() + unless $P10, rx157_fail + rx157_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("backmod") - rx149_pos = $P10."pos"() + rx157_pos = $P10."pos"() # rx pass - rx149_cur."!cursor_pass"(rx149_pos, "quantifier:sym") - rx149_cur."!cursor_debug"("PASS ", "quantifier:sym", " at pos=", rx149_pos) - .return (rx149_cur) - rx149_fail: -.annotate 'line', 3 - (rx149_rep, rx149_pos, $I10, $P10) = rx149_cur."!mark_fail"(0) - lt rx149_pos, -1, rx149_done - eq rx149_pos, -1, rx149_fail + rx157_cur."!cursor_pass"(rx157_pos, "quantifier:sym") + rx157_cur."!cursor_debug"("PASS ", "quantifier:sym", " at pos=", rx157_pos) + .return (rx157_cur) + rx157_fail: +.annotate 'line', 3 + (rx157_rep, rx157_pos, $I10, $P10) = rx157_cur."!mark_fail"(0) + lt rx157_pos, -1, rx157_done + eq rx157_pos, -1, rx157_fail jump $I10 - rx149_done: - rx149_cur."!cursor_fail"() - rx149_cur."!cursor_debug"("FAIL ", "quantifier:sym") - .return (rx149_cur) + rx157_done: + rx157_cur."!cursor_fail"() + rx157_cur."!cursor_debug"("FAIL ", "quantifier:sym") + .return (rx157_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantifier:sym" :subid("41_1276996307.3412") :method +.sub "!PREFIX__quantifier:sym" :subid("43_1278500530.77787") :method .annotate 'line', 3 - $P151 = self."!PREFIX__!subrule"("backmod", "?") - new $P152, "ResizablePMCArray" - push $P152, $P151 - .return ($P152) + $P159 = self."!PREFIX__!subrule"("backmod", "?") + new $P160, "ResizablePMCArray" + push $P160, $P159 + .return ($P160) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "quantifier:sym<**>" :subid("42_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "quantifier:sym<**>" :subid("44_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx156_tgt - .local int rx156_pos - .local int rx156_off - .local int rx156_eos - .local int rx156_rep - .local pmc rx156_cur - (rx156_cur, rx156_pos, rx156_tgt) = self."!cursor_start"() - rx156_cur."!cursor_debug"("START ", "quantifier:sym<**>") - rx156_cur."!cursor_caparray"("normspace", "max") - .lex unicode:"$\x{a2}", rx156_cur + .local string rx164_tgt + .local int rx164_pos + .local int rx164_off + .local int rx164_eos + .local int rx164_rep + .local pmc rx164_cur + (rx164_cur, rx164_pos, rx164_tgt) = self."!cursor_start"() + rx164_cur."!cursor_debug"("START ", "quantifier:sym<**>") + rx164_cur."!cursor_caparray"("normspace", "max") + .lex unicode:"$\x{a2}", rx164_cur .local pmc match .lex "$/", match - length rx156_eos, rx156_tgt - gt rx156_pos, rx156_eos, rx156_done - set rx156_off, 0 - lt rx156_pos, 2, rx156_start - sub rx156_off, rx156_pos, 1 - substr rx156_tgt, rx156_tgt, rx156_off - rx156_start: + length rx164_eos, rx164_tgt + gt rx164_pos, rx164_eos, rx164_done + set rx164_off, 0 + lt rx164_pos, 2, rx164_start + sub rx164_off, rx164_pos, 1 + substr rx164_tgt, rx164_tgt, rx164_off + rx164_start: $I10 = self.'from'() - ne $I10, -1, rxscan159_done - goto rxscan159_scan - rxscan159_loop: - ($P10) = rx156_cur."from"() + ne $I10, -1, rxscan167_done + goto rxscan167_scan + rxscan167_loop: + ($P10) = rx164_cur."from"() inc $P10 - set rx156_pos, $P10 - ge rx156_pos, rx156_eos, rxscan159_done - rxscan159_scan: - set_addr $I10, rxscan159_loop - rx156_cur."!mark_push"(0, rx156_pos, $I10) - rxscan159_done: -.annotate 'line', 57 + set rx164_pos, $P10 + ge rx164_pos, rx164_eos, rxscan167_done + rxscan167_scan: + set_addr $I10, rxscan167_loop + rx164_cur."!mark_push"(0, rx164_pos, $I10) + rxscan167_done: +.annotate 'line', 59 # rx subcapture "sym" - set_addr $I10, rxcap_160_fail - rx156_cur."!mark_push"(0, rx156_pos, $I10) + set_addr $I10, rxcap_168_fail + rx164_cur."!mark_push"(0, rx164_pos, $I10) # rx literal "**" - add $I11, rx156_pos, 2 - gt $I11, rx156_eos, rx156_fail - sub $I11, rx156_pos, rx156_off - substr $S10, rx156_tgt, $I11, 2 - ne $S10, "**", rx156_fail - add rx156_pos, 2 - set_addr $I10, rxcap_160_fail - ($I12, $I11) = rx156_cur."!mark_peek"($I10) - rx156_cur."!cursor_pos"($I11) - ($P10) = rx156_cur."!cursor_start"() - $P10."!cursor_pass"(rx156_pos, "") - rx156_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx164_pos, 2 + gt $I11, rx164_eos, rx164_fail + sub $I11, rx164_pos, rx164_off + substr $S10, rx164_tgt, $I11, 2 + ne $S10, "**", rx164_fail + add rx164_pos, 2 + set_addr $I10, rxcap_168_fail + ($I12, $I11) = rx164_cur."!mark_peek"($I10) + rx164_cur."!cursor_pos"($I11) + ($P10) = rx164_cur."!cursor_start"() + $P10."!cursor_pass"(rx164_pos, "") + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_160_done - rxcap_160_fail: - goto rx156_fail - rxcap_160_done: - # rx rxquantr161 ** 0..1 - set_addr $I162, rxquantr161_done - rx156_cur."!mark_push"(0, rx156_pos, $I162) - rxquantr161_loop: + goto rxcap_168_done + rxcap_168_fail: + goto rx164_fail + rxcap_168_done: + # rx rxquantr169 ** 0..1 + set_addr $I170, rxquantr169_done + rx164_cur."!mark_push"(0, rx164_pos, $I170) + rxquantr169_loop: # rx subrule "normspace" subtype=capture negate= - rx156_cur."!cursor_pos"(rx156_pos) - $P10 = rx156_cur."normspace"() - unless $P10, rx156_fail - rx156_cur."!mark_push"(0, -1, 0, $P10) + rx164_cur."!cursor_pos"(rx164_pos) + $P10 = rx164_cur."normspace"() + unless $P10, rx164_fail + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("normspace") - rx156_pos = $P10."pos"() - (rx156_rep) = rx156_cur."!mark_commit"($I162) - rxquantr161_done: + rx164_pos = $P10."pos"() + (rx164_rep) = rx164_cur."!mark_commit"($I170) + rxquantr169_done: # rx subrule "backmod" subtype=capture negate= - rx156_cur."!cursor_pos"(rx156_pos) - $P10 = rx156_cur."backmod"() - unless $P10, rx156_fail - rx156_cur."!mark_push"(0, -1, 0, $P10) + rx164_cur."!cursor_pos"(rx164_pos) + $P10 = rx164_cur."backmod"() + unless $P10, rx164_fail + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("backmod") - rx156_pos = $P10."pos"() - # rx rxquantr163 ** 0..1 - set_addr $I164, rxquantr163_done - rx156_cur."!mark_push"(0, rx156_pos, $I164) - rxquantr163_loop: + rx164_pos = $P10."pos"() + # rx rxquantr171 ** 0..1 + set_addr $I172, rxquantr171_done + rx164_cur."!mark_push"(0, rx164_pos, $I172) + rxquantr171_loop: # rx subrule "normspace" subtype=capture negate= - rx156_cur."!cursor_pos"(rx156_pos) - $P10 = rx156_cur."normspace"() - unless $P10, rx156_fail - rx156_cur."!mark_push"(0, -1, 0, $P10) + rx164_cur."!cursor_pos"(rx164_pos) + $P10 = rx164_cur."normspace"() + unless $P10, rx164_fail + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("normspace") - rx156_pos = $P10."pos"() - (rx156_rep) = rx156_cur."!mark_commit"($I164) - rxquantr163_done: - alt165_0: -.annotate 'line', 58 - set_addr $I10, alt165_1 - rx156_cur."!mark_push"(0, rx156_pos, $I10) -.annotate 'line', 59 + rx164_pos = $P10."pos"() + (rx164_rep) = rx164_cur."!mark_commit"($I172) + rxquantr171_done: + alt173_0: +.annotate 'line', 60 + set_addr $I10, alt173_1 + rx164_cur."!mark_push"(0, rx164_pos, $I10) +.annotate 'line', 61 # rx subcapture "min" - set_addr $I10, rxcap_166_fail - rx156_cur."!mark_push"(0, rx156_pos, $I10) + set_addr $I10, rxcap_174_fail + rx164_cur."!mark_push"(0, rx164_pos, $I10) # rx charclass_q d r 1..-1 - sub $I10, rx156_pos, rx156_off - find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos + sub $I10, rx164_pos, rx164_off + find_not_cclass $I11, 8, rx164_tgt, $I10, rx164_eos add $I12, $I10, 1 - lt $I11, $I12, rx156_fail - add rx156_pos, rx156_off, $I11 - set_addr $I10, rxcap_166_fail - ($I12, $I11) = rx156_cur."!mark_peek"($I10) - rx156_cur."!cursor_pos"($I11) - ($P10) = rx156_cur."!cursor_start"() - $P10."!cursor_pass"(rx156_pos, "") - rx156_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx164_fail + add rx164_pos, rx164_off, $I11 + set_addr $I10, rxcap_174_fail + ($I12, $I11) = rx164_cur."!mark_peek"($I10) + rx164_cur."!cursor_pos"($I11) + ($P10) = rx164_cur."!cursor_start"() + $P10."!cursor_pass"(rx164_pos, "") + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("min") - goto rxcap_166_done - rxcap_166_fail: - goto rx156_fail - rxcap_166_done: -.annotate 'line', 66 - # rx rxquantr167 ** 0..1 - set_addr $I170, rxquantr167_done - rx156_cur."!mark_push"(0, rx156_pos, $I170) - rxquantr167_loop: -.annotate 'line', 60 + goto rxcap_174_done + rxcap_174_fail: + goto rx164_fail + rxcap_174_done: +.annotate 'line', 68 + # rx rxquantr175 ** 0..1 + set_addr $I178, rxquantr175_done + rx164_cur."!mark_push"(0, rx164_pos, $I178) + rxquantr175_loop: +.annotate 'line', 62 # rx literal ".." - add $I11, rx156_pos, 2 - gt $I11, rx156_eos, rx156_fail - sub $I11, rx156_pos, rx156_off - substr $S10, rx156_tgt, $I11, 2 - ne $S10, "..", rx156_fail - add rx156_pos, 2 -.annotate 'line', 61 + add $I11, rx164_pos, 2 + gt $I11, rx164_eos, rx164_fail + sub $I11, rx164_pos, rx164_off + substr $S10, rx164_tgt, $I11, 2 + ne $S10, "..", rx164_fail + add rx164_pos, 2 +.annotate 'line', 63 # rx subcapture "max" - set_addr $I10, rxcap_169_fail - rx156_cur."!mark_push"(0, rx156_pos, $I10) - alt168_0: - set_addr $I10, alt168_1 - rx156_cur."!mark_push"(0, rx156_pos, $I10) -.annotate 'line', 62 + set_addr $I10, rxcap_177_fail + rx164_cur."!mark_push"(0, rx164_pos, $I10) + alt176_0: + set_addr $I10, alt176_1 + rx164_cur."!mark_push"(0, rx164_pos, $I10) +.annotate 'line', 64 # rx charclass_q d r 1..-1 - sub $I10, rx156_pos, rx156_off - find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos + sub $I10, rx164_pos, rx164_off + find_not_cclass $I11, 8, rx164_tgt, $I10, rx164_eos add $I12, $I10, 1 - lt $I11, $I12, rx156_fail - add rx156_pos, rx156_off, $I11 - goto alt168_end - alt168_1: - set_addr $I10, alt168_2 - rx156_cur."!mark_push"(0, rx156_pos, $I10) -.annotate 'line', 63 + lt $I11, $I12, rx164_fail + add rx164_pos, rx164_off, $I11 + goto alt176_end + alt176_1: + set_addr $I10, alt176_2 + rx164_cur."!mark_push"(0, rx164_pos, $I10) +.annotate 'line', 65 # rx literal "*" - add $I11, rx156_pos, 1 - gt $I11, rx156_eos, rx156_fail - sub $I11, rx156_pos, rx156_off - substr $S10, rx156_tgt, $I11, 1 - ne $S10, "*", rx156_fail - add rx156_pos, 1 - goto alt168_end - alt168_2: -.annotate 'line', 64 + add $I11, rx164_pos, 1 + gt $I11, rx164_eos, rx164_fail + sub $I11, rx164_pos, rx164_off + substr $S10, rx164_tgt, $I11, 1 + ne $S10, "*", rx164_fail + add rx164_pos, 1 + goto alt176_end + alt176_2: +.annotate 'line', 66 # rx subrule "panic" subtype=method negate= - rx156_cur."!cursor_pos"(rx156_pos) - $P10 = rx156_cur."panic"("Only integers or '*' allowed as range quantifier endpoint") - unless $P10, rx156_fail - rx156_pos = $P10."pos"() - alt168_end: -.annotate 'line', 61 - set_addr $I10, rxcap_169_fail - ($I12, $I11) = rx156_cur."!mark_peek"($I10) - rx156_cur."!cursor_pos"($I11) - ($P10) = rx156_cur."!cursor_start"() - $P10."!cursor_pass"(rx156_pos, "") - rx156_cur."!mark_push"(0, -1, 0, $P10) + rx164_cur."!cursor_pos"(rx164_pos) + $P10 = rx164_cur."panic"("Only integers or '*' allowed as range quantifier endpoint") + unless $P10, rx164_fail + rx164_pos = $P10."pos"() + alt176_end: +.annotate 'line', 63 + set_addr $I10, rxcap_177_fail + ($I12, $I11) = rx164_cur."!mark_peek"($I10) + rx164_cur."!cursor_pos"($I11) + ($P10) = rx164_cur."!cursor_start"() + $P10."!cursor_pass"(rx164_pos, "") + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("max") - goto rxcap_169_done - rxcap_169_fail: - goto rx156_fail - rxcap_169_done: -.annotate 'line', 66 - (rx156_rep) = rx156_cur."!mark_commit"($I170) - rxquantr167_done: -.annotate 'line', 59 - goto alt165_end - alt165_1: -.annotate 'line', 67 + goto rxcap_177_done + rxcap_177_fail: + goto rx164_fail + rxcap_177_done: +.annotate 'line', 68 + (rx164_rep) = rx164_cur."!mark_commit"($I178) + rxquantr175_done: +.annotate 'line', 61 + goto alt173_end + alt173_1: +.annotate 'line', 69 # rx subrule "quantified_atom" subtype=capture negate= - rx156_cur."!cursor_pos"(rx156_pos) - $P10 = rx156_cur."quantified_atom"() - unless $P10, rx156_fail - rx156_cur."!mark_push"(0, -1, 0, $P10) + rx164_cur."!cursor_pos"(rx164_pos) + $P10 = rx164_cur."quantified_atom"() + unless $P10, rx164_fail + rx164_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quantified_atom") - rx156_pos = $P10."pos"() - alt165_end: -.annotate 'line', 56 + rx164_pos = $P10."pos"() + alt173_end: +.annotate 'line', 58 # rx pass - rx156_cur."!cursor_pass"(rx156_pos, "quantifier:sym<**>") - rx156_cur."!cursor_debug"("PASS ", "quantifier:sym<**>", " at pos=", rx156_pos) - .return (rx156_cur) - rx156_fail: -.annotate 'line', 3 - (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0) - lt rx156_pos, -1, rx156_done - eq rx156_pos, -1, rx156_fail + rx164_cur."!cursor_pass"(rx164_pos, "quantifier:sym<**>") + rx164_cur."!cursor_debug"("PASS ", "quantifier:sym<**>", " at pos=", rx164_pos) + .return (rx164_cur) + rx164_fail: +.annotate 'line', 3 + (rx164_rep, rx164_pos, $I10, $P10) = rx164_cur."!mark_fail"(0) + lt rx164_pos, -1, rx164_done + eq rx164_pos, -1, rx164_fail jump $I10 - rx156_done: - rx156_cur."!cursor_fail"() - rx156_cur."!cursor_debug"("FAIL ", "quantifier:sym<**>") - .return (rx156_cur) + rx164_done: + rx164_cur."!cursor_fail"() + rx164_cur."!cursor_debug"("FAIL ", "quantifier:sym<**>") + .return (rx164_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__quantifier:sym<**>" :subid("43_1276996307.3412") :method +.sub "!PREFIX__quantifier:sym<**>" :subid("45_1278500530.77787") :method .annotate 'line', 3 - new $P158, "ResizablePMCArray" - push $P158, "**" - .return ($P158) + new $P166, "ResizablePMCArray" + push $P166, "**" + .return ($P166) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backmod" :subid("44_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backmod" :subid("46_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P180 = "46_1276996307.3412" - capture_lex $P180 - .local string rx172_tgt - .local int rx172_pos - .local int rx172_off - .local int rx172_eos - .local int rx172_rep - .local pmc rx172_cur - (rx172_cur, rx172_pos, rx172_tgt) = self."!cursor_start"() - rx172_cur."!cursor_debug"("START ", "backmod") - .lex unicode:"$\x{a2}", rx172_cur + .const 'Sub' $P188 = "48_1278500530.77787" + capture_lex $P188 + .local string rx180_tgt + .local int rx180_pos + .local int rx180_off + .local int rx180_eos + .local int rx180_rep + .local pmc rx180_cur + (rx180_cur, rx180_pos, rx180_tgt) = self."!cursor_start"() + rx180_cur."!cursor_debug"("START ", "backmod") + .lex unicode:"$\x{a2}", rx180_cur .local pmc match .lex "$/", match - length rx172_eos, rx172_tgt - gt rx172_pos, rx172_eos, rx172_done - set rx172_off, 0 - lt rx172_pos, 2, rx172_start - sub rx172_off, rx172_pos, 1 - substr rx172_tgt, rx172_tgt, rx172_off - rx172_start: + length rx180_eos, rx180_tgt + gt rx180_pos, rx180_eos, rx180_done + set rx180_off, 0 + lt rx180_pos, 2, rx180_start + sub rx180_off, rx180_pos, 1 + substr rx180_tgt, rx180_tgt, rx180_off + rx180_start: $I10 = self.'from'() - ne $I10, -1, rxscan175_done - goto rxscan175_scan - rxscan175_loop: - ($P10) = rx172_cur."from"() + ne $I10, -1, rxscan183_done + goto rxscan183_scan + rxscan183_loop: + ($P10) = rx180_cur."from"() inc $P10 - set rx172_pos, $P10 - ge rx172_pos, rx172_eos, rxscan175_done - rxscan175_scan: - set_addr $I10, rxscan175_loop - rx172_cur."!mark_push"(0, rx172_pos, $I10) - rxscan175_done: -.annotate 'line', 71 - # rx rxquantr176 ** 0..1 - set_addr $I177, rxquantr176_done - rx172_cur."!mark_push"(0, rx172_pos, $I177) - rxquantr176_loop: + set rx180_pos, $P10 + ge rx180_pos, rx180_eos, rxscan183_done + rxscan183_scan: + set_addr $I10, rxscan183_loop + rx180_cur."!mark_push"(0, rx180_pos, $I10) + rxscan183_done: +.annotate 'line', 73 + # rx rxquantr184 ** 0..1 + set_addr $I185, rxquantr184_done + rx180_cur."!mark_push"(0, rx180_pos, $I185) + rxquantr184_loop: # rx literal ":" - add $I11, rx172_pos, 1 - gt $I11, rx172_eos, rx172_fail - sub $I11, rx172_pos, rx172_off - substr $S10, rx172_tgt, $I11, 1 - ne $S10, ":", rx172_fail - add rx172_pos, 1 - (rx172_rep) = rx172_cur."!mark_commit"($I177) - rxquantr176_done: - alt178_0: - set_addr $I10, alt178_1 - rx172_cur."!mark_push"(0, rx172_pos, $I10) + add $I11, rx180_pos, 1 + gt $I11, rx180_eos, rx180_fail + sub $I11, rx180_pos, rx180_off + substr $S10, rx180_tgt, $I11, 1 + ne $S10, ":", rx180_fail + add rx180_pos, 1 + (rx180_rep) = rx180_cur."!mark_commit"($I185) + rxquantr184_done: + alt186_0: + set_addr $I10, alt186_1 + rx180_cur."!mark_push"(0, rx180_pos, $I10) # rx literal "?" - add $I11, rx172_pos, 1 - gt $I11, rx172_eos, rx172_fail - sub $I11, rx172_pos, rx172_off - substr $S10, rx172_tgt, $I11, 1 - ne $S10, "?", rx172_fail - add rx172_pos, 1 - goto alt178_end - alt178_1: - set_addr $I10, alt178_2 - rx172_cur."!mark_push"(0, rx172_pos, $I10) + add $I11, rx180_pos, 1 + gt $I11, rx180_eos, rx180_fail + sub $I11, rx180_pos, rx180_off + substr $S10, rx180_tgt, $I11, 1 + ne $S10, "?", rx180_fail + add rx180_pos, 1 + goto alt186_end + alt186_1: + set_addr $I10, alt186_2 + rx180_cur."!mark_push"(0, rx180_pos, $I10) # rx literal "!" - add $I11, rx172_pos, 1 - gt $I11, rx172_eos, rx172_fail - sub $I11, rx172_pos, rx172_off - substr $S10, rx172_tgt, $I11, 1 - ne $S10, "!", rx172_fail - add rx172_pos, 1 - goto alt178_end - alt178_2: + add $I11, rx180_pos, 1 + gt $I11, rx180_eos, rx180_fail + sub $I11, rx180_pos, rx180_off + substr $S10, rx180_tgt, $I11, 1 + ne $S10, "!", rx180_fail + add rx180_pos, 1 + goto alt186_end + alt186_2: # rx subrule "before" subtype=zerowidth negate=1 - rx172_cur."!cursor_pos"(rx172_pos) - .const 'Sub' $P180 = "46_1276996307.3412" - capture_lex $P180 - $P10 = rx172_cur."before"($P180) - if $P10, rx172_fail - alt178_end: + rx180_cur."!cursor_pos"(rx180_pos) + .const 'Sub' $P188 = "48_1278500530.77787" + capture_lex $P188 + $P10 = rx180_cur."before"($P188) + if $P10, rx180_fail + alt186_end: # rx pass - rx172_cur."!cursor_pass"(rx172_pos, "backmod") - rx172_cur."!cursor_debug"("PASS ", "backmod", " at pos=", rx172_pos) - .return (rx172_cur) - rx172_fail: -.annotate 'line', 3 - (rx172_rep, rx172_pos, $I10, $P10) = rx172_cur."!mark_fail"(0) - lt rx172_pos, -1, rx172_done - eq rx172_pos, -1, rx172_fail + rx180_cur."!cursor_pass"(rx180_pos, "backmod") + rx180_cur."!cursor_debug"("PASS ", "backmod", " at pos=", rx180_pos) + .return (rx180_cur) + rx180_fail: +.annotate 'line', 3 + (rx180_rep, rx180_pos, $I10, $P10) = rx180_cur."!mark_fail"(0) + lt rx180_pos, -1, rx180_done + eq rx180_pos, -1, rx180_fail jump $I10 - rx172_done: - rx172_cur."!cursor_fail"() - rx172_cur."!cursor_debug"("FAIL ", "backmod") - .return (rx172_cur) + rx180_done: + rx180_cur."!cursor_fail"() + rx180_cur."!cursor_debug"("FAIL ", "backmod") + .return (rx180_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backmod" :subid("45_1276996307.3412") :method +.sub "!PREFIX__backmod" :subid("47_1278500530.77787") :method .annotate 'line', 3 - new $P174, "ResizablePMCArray" - push $P174, "" - .return ($P174) + new $P182, "ResizablePMCArray" + push $P182, "" + .return ($P182) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block179" :anon :subid("46_1276996307.3412") :method :outer("44_1276996307.3412") -.annotate 'line', 71 - .local string rx181_tgt - .local int rx181_pos - .local int rx181_off - .local int rx181_eos - .local int rx181_rep - .local pmc rx181_cur - (rx181_cur, rx181_pos, rx181_tgt) = self."!cursor_start"() - rx181_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx181_cur +.sub "_block187" :anon :subid("48_1278500530.77787") :method :outer("46_1278500530.77787") +.annotate 'line', 73 + .local string rx189_tgt + .local int rx189_pos + .local int rx189_off + .local int rx189_eos + .local int rx189_rep + .local pmc rx189_cur + (rx189_cur, rx189_pos, rx189_tgt) = self."!cursor_start"() + rx189_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx189_cur .local pmc match .lex "$/", match - length rx181_eos, rx181_tgt - gt rx181_pos, rx181_eos, rx181_done - set rx181_off, 0 - lt rx181_pos, 2, rx181_start - sub rx181_off, rx181_pos, 1 - substr rx181_tgt, rx181_tgt, rx181_off - rx181_start: + length rx189_eos, rx189_tgt + gt rx189_pos, rx189_eos, rx189_done + set rx189_off, 0 + lt rx189_pos, 2, rx189_start + sub rx189_off, rx189_pos, 1 + substr rx189_tgt, rx189_tgt, rx189_off + rx189_start: $I10 = self.'from'() - ne $I10, -1, rxscan182_done - goto rxscan182_scan - rxscan182_loop: - ($P10) = rx181_cur."from"() + ne $I10, -1, rxscan190_done + goto rxscan190_scan + rxscan190_loop: + ($P10) = rx189_cur."from"() inc $P10 - set rx181_pos, $P10 - ge rx181_pos, rx181_eos, rxscan182_done - rxscan182_scan: - set_addr $I10, rxscan182_loop - rx181_cur."!mark_push"(0, rx181_pos, $I10) - rxscan182_done: + set rx189_pos, $P10 + ge rx189_pos, rx189_eos, rxscan190_done + rxscan190_scan: + set_addr $I10, rxscan190_loop + rx189_cur."!mark_push"(0, rx189_pos, $I10) + rxscan190_done: # rx literal ":" - add $I11, rx181_pos, 1 - gt $I11, rx181_eos, rx181_fail - sub $I11, rx181_pos, rx181_off - substr $S10, rx181_tgt, $I11, 1 - ne $S10, ":", rx181_fail - add rx181_pos, 1 + add $I11, rx189_pos, 1 + gt $I11, rx189_eos, rx189_fail + sub $I11, rx189_pos, rx189_off + substr $S10, rx189_tgt, $I11, 1 + ne $S10, ":", rx189_fail + add rx189_pos, 1 # rx pass - rx181_cur."!cursor_pass"(rx181_pos, "") - rx181_cur."!cursor_debug"("PASS ", "", " at pos=", rx181_pos) - .return (rx181_cur) - rx181_fail: - (rx181_rep, rx181_pos, $I10, $P10) = rx181_cur."!mark_fail"(0) - lt rx181_pos, -1, rx181_done - eq rx181_pos, -1, rx181_fail + rx189_cur."!cursor_pass"(rx189_pos, "") + rx189_cur."!cursor_debug"("PASS ", "", " at pos=", rx189_pos) + .return (rx189_cur) + rx189_fail: + (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0) + lt rx189_pos, -1, rx189_done + eq rx189_pos, -1, rx189_fail jump $I10 - rx181_done: - rx181_cur."!cursor_fail"() - rx181_cur."!cursor_debug"("FAIL ", "") - .return (rx181_cur) + rx189_done: + rx189_cur."!cursor_fail"() + rx189_cur."!cursor_debug"("FAIL ", "") + .return (rx189_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar" :subid("47_1276996307.3412") :method -.annotate 'line', 73 - $P184 = self."!protoregex"("metachar") - .return ($P184) +.sub "metachar" :subid("49_1278500530.77787") :method +.annotate 'line', 75 + $P192 = self."!protoregex"("metachar") + .return ($P192) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar" :subid("48_1276996307.3412") :method -.annotate 'line', 73 - $P186 = self."!PREFIX__!protoregex"("metachar") - .return ($P186) +.sub "!PREFIX__metachar" :subid("50_1278500530.77787") :method +.annotate 'line', 75 + $P194 = self."!PREFIX__!protoregex"("metachar") + .return ($P194) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("49_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("51_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx188_tgt - .local int rx188_pos - .local int rx188_off - .local int rx188_eos - .local int rx188_rep - .local pmc rx188_cur - (rx188_cur, rx188_pos, rx188_tgt) = self."!cursor_start"() - rx188_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx188_cur + .local string rx196_tgt + .local int rx196_pos + .local int rx196_off + .local int rx196_eos + .local int rx196_rep + .local pmc rx196_cur + (rx196_cur, rx196_pos, rx196_tgt) = self."!cursor_start"() + rx196_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx196_cur .local pmc match .lex "$/", match - length rx188_eos, rx188_tgt - gt rx188_pos, rx188_eos, rx188_done - set rx188_off, 0 - lt rx188_pos, 2, rx188_start - sub rx188_off, rx188_pos, 1 - substr rx188_tgt, rx188_tgt, rx188_off - rx188_start: + length rx196_eos, rx196_tgt + gt rx196_pos, rx196_eos, rx196_done + set rx196_off, 0 + lt rx196_pos, 2, rx196_start + sub rx196_off, rx196_pos, 1 + substr rx196_tgt, rx196_tgt, rx196_off + rx196_start: $I10 = self.'from'() - ne $I10, -1, rxscan192_done - goto rxscan192_scan - rxscan192_loop: - ($P10) = rx188_cur."from"() + ne $I10, -1, rxscan200_done + goto rxscan200_scan + rxscan200_loop: + ($P10) = rx196_cur."from"() inc $P10 - set rx188_pos, $P10 - ge rx188_pos, rx188_eos, rxscan192_done - rxscan192_scan: - set_addr $I10, rxscan192_loop - rx188_cur."!mark_push"(0, rx188_pos, $I10) - rxscan192_done: -.annotate 'line', 74 + set rx196_pos, $P10 + ge rx196_pos, rx196_eos, rxscan200_done + rxscan200_scan: + set_addr $I10, rxscan200_loop + rx196_cur."!mark_push"(0, rx196_pos, $I10) + rxscan200_done: +.annotate 'line', 76 # rx subrule "normspace" subtype=method negate= - rx188_cur."!cursor_pos"(rx188_pos) - $P10 = rx188_cur."normspace"() - unless $P10, rx188_fail - rx188_pos = $P10."pos"() + rx196_cur."!cursor_pos"(rx196_pos) + $P10 = rx196_cur."normspace"() + unless $P10, rx196_fail + rx196_pos = $P10."pos"() # rx pass - rx188_cur."!cursor_pass"(rx188_pos, "metachar:sym") - rx188_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx188_pos) - .return (rx188_cur) - rx188_fail: -.annotate 'line', 3 - (rx188_rep, rx188_pos, $I10, $P10) = rx188_cur."!mark_fail"(0) - lt rx188_pos, -1, rx188_done - eq rx188_pos, -1, rx188_fail + rx196_cur."!cursor_pass"(rx196_pos, "metachar:sym") + rx196_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx196_pos) + .return (rx196_cur) + rx196_fail: +.annotate 'line', 3 + (rx196_rep, rx196_pos, $I10, $P10) = rx196_cur."!mark_fail"(0) + lt rx196_pos, -1, rx196_done + eq rx196_pos, -1, rx196_fail jump $I10 - rx188_done: - rx188_cur."!cursor_fail"() - rx188_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx188_cur) + rx196_done: + rx196_cur."!cursor_fail"() + rx196_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx196_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("50_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("52_1278500530.77787") :method .annotate 'line', 3 - $P190 = self."!PREFIX__!subrule"("normspace", "") - new $P191, "ResizablePMCArray" - push $P191, $P190 - .return ($P191) + $P198 = self."!PREFIX__!subrule"("normspace", "") + new $P199, "ResizablePMCArray" + push $P199, $P198 + .return ($P199) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<[ ]>" :subid("51_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<[ ]>" :subid("53_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx194_tgt - .local int rx194_pos - .local int rx194_off - .local int rx194_eos - .local int rx194_rep - .local pmc rx194_cur - (rx194_cur, rx194_pos, rx194_tgt) = self."!cursor_start"() - rx194_cur."!cursor_debug"("START ", "metachar:sym<[ ]>") - .lex unicode:"$\x{a2}", rx194_cur + .local string rx202_tgt + .local int rx202_pos + .local int rx202_off + .local int rx202_eos + .local int rx202_rep + .local pmc rx202_cur + (rx202_cur, rx202_pos, rx202_tgt) = self."!cursor_start"() + rx202_cur."!cursor_debug"("START ", "metachar:sym<[ ]>") + .lex unicode:"$\x{a2}", rx202_cur .local pmc match .lex "$/", match - length rx194_eos, rx194_tgt - gt rx194_pos, rx194_eos, rx194_done - set rx194_off, 0 - lt rx194_pos, 2, rx194_start - sub rx194_off, rx194_pos, 1 - substr rx194_tgt, rx194_tgt, rx194_off - rx194_start: + length rx202_eos, rx202_tgt + gt rx202_pos, rx202_eos, rx202_done + set rx202_off, 0 + lt rx202_pos, 2, rx202_start + sub rx202_off, rx202_pos, 1 + substr rx202_tgt, rx202_tgt, rx202_off + rx202_start: $I10 = self.'from'() - ne $I10, -1, rxscan198_done - goto rxscan198_scan - rxscan198_loop: - ($P10) = rx194_cur."from"() + ne $I10, -1, rxscan206_done + goto rxscan206_scan + rxscan206_loop: + ($P10) = rx202_cur."from"() inc $P10 - set rx194_pos, $P10 - ge rx194_pos, rx194_eos, rxscan198_done - rxscan198_scan: - set_addr $I10, rxscan198_loop - rx194_cur."!mark_push"(0, rx194_pos, $I10) - rxscan198_done: -.annotate 'line', 75 + set rx202_pos, $P10 + ge rx202_pos, rx202_eos, rxscan206_done + rxscan206_scan: + set_addr $I10, rxscan206_loop + rx202_cur."!mark_push"(0, rx202_pos, $I10) + rxscan206_done: +.annotate 'line', 77 # rx literal "[" - add $I11, rx194_pos, 1 - gt $I11, rx194_eos, rx194_fail - sub $I11, rx194_pos, rx194_off - substr $S10, rx194_tgt, $I11, 1 - ne $S10, "[", rx194_fail - add rx194_pos, 1 + add $I11, rx202_pos, 1 + gt $I11, rx202_eos, rx202_fail + sub $I11, rx202_pos, rx202_off + substr $S10, rx202_tgt, $I11, 1 + ne $S10, "[", rx202_fail + add rx202_pos, 1 # rx subrule "nibbler" subtype=capture negate= - rx194_cur."!cursor_pos"(rx194_pos) - $P10 = rx194_cur."nibbler"() - unless $P10, rx194_fail - rx194_cur."!mark_push"(0, -1, 0, $P10) + rx202_cur."!cursor_pos"(rx202_pos) + $P10 = rx202_cur."nibbler"() + unless $P10, rx202_fail + rx202_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("nibbler") - rx194_pos = $P10."pos"() + rx202_pos = $P10."pos"() # rx literal "]" - add $I11, rx194_pos, 1 - gt $I11, rx194_eos, rx194_fail - sub $I11, rx194_pos, rx194_off - substr $S10, rx194_tgt, $I11, 1 - ne $S10, "]", rx194_fail - add rx194_pos, 1 + add $I11, rx202_pos, 1 + gt $I11, rx202_eos, rx202_fail + sub $I11, rx202_pos, rx202_off + substr $S10, rx202_tgt, $I11, 1 + ne $S10, "]", rx202_fail + add rx202_pos, 1 # rx pass - rx194_cur."!cursor_pass"(rx194_pos, "metachar:sym<[ ]>") - rx194_cur."!cursor_debug"("PASS ", "metachar:sym<[ ]>", " at pos=", rx194_pos) - .return (rx194_cur) - rx194_fail: -.annotate 'line', 3 - (rx194_rep, rx194_pos, $I10, $P10) = rx194_cur."!mark_fail"(0) - lt rx194_pos, -1, rx194_done - eq rx194_pos, -1, rx194_fail + rx202_cur."!cursor_pass"(rx202_pos, "metachar:sym<[ ]>") + rx202_cur."!cursor_debug"("PASS ", "metachar:sym<[ ]>", " at pos=", rx202_pos) + .return (rx202_cur) + rx202_fail: +.annotate 'line', 3 + (rx202_rep, rx202_pos, $I10, $P10) = rx202_cur."!mark_fail"(0) + lt rx202_pos, -1, rx202_done + eq rx202_pos, -1, rx202_fail jump $I10 - rx194_done: - rx194_cur."!cursor_fail"() - rx194_cur."!cursor_debug"("FAIL ", "metachar:sym<[ ]>") - .return (rx194_cur) + rx202_done: + rx202_cur."!cursor_fail"() + rx202_cur."!cursor_debug"("FAIL ", "metachar:sym<[ ]>") + .return (rx202_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<[ ]>" :subid("54_1278500530.77787") :method .annotate 'line', 3 - $P196 = self."!PREFIX__!subrule"("nibbler", "[") - new $P197, "ResizablePMCArray" - push $P197, $P196 - .return ($P197) + $P204 = self."!PREFIX__!subrule"("nibbler", "[") + new $P205, "ResizablePMCArray" + push $P205, $P204 + .return ($P205) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<( )>" :subid("53_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<( )>" :subid("55_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx200_tgt - .local int rx200_pos - .local int rx200_off - .local int rx200_eos - .local int rx200_rep - .local pmc rx200_cur - (rx200_cur, rx200_pos, rx200_tgt) = self."!cursor_start"() - rx200_cur."!cursor_debug"("START ", "metachar:sym<( )>") - .lex unicode:"$\x{a2}", rx200_cur + .local string rx208_tgt + .local int rx208_pos + .local int rx208_off + .local int rx208_eos + .local int rx208_rep + .local pmc rx208_cur + (rx208_cur, rx208_pos, rx208_tgt) = self."!cursor_start"() + rx208_cur."!cursor_debug"("START ", "metachar:sym<( )>") + .lex unicode:"$\x{a2}", rx208_cur .local pmc match .lex "$/", match - length rx200_eos, rx200_tgt - gt rx200_pos, rx200_eos, rx200_done - set rx200_off, 0 - lt rx200_pos, 2, rx200_start - sub rx200_off, rx200_pos, 1 - substr rx200_tgt, rx200_tgt, rx200_off - rx200_start: + length rx208_eos, rx208_tgt + gt rx208_pos, rx208_eos, rx208_done + set rx208_off, 0 + lt rx208_pos, 2, rx208_start + sub rx208_off, rx208_pos, 1 + substr rx208_tgt, rx208_tgt, rx208_off + rx208_start: $I10 = self.'from'() - ne $I10, -1, rxscan204_done - goto rxscan204_scan - rxscan204_loop: - ($P10) = rx200_cur."from"() + ne $I10, -1, rxscan212_done + goto rxscan212_scan + rxscan212_loop: + ($P10) = rx208_cur."from"() inc $P10 - set rx200_pos, $P10 - ge rx200_pos, rx200_eos, rxscan204_done - rxscan204_scan: - set_addr $I10, rxscan204_loop - rx200_cur."!mark_push"(0, rx200_pos, $I10) - rxscan204_done: -.annotate 'line', 76 + set rx208_pos, $P10 + ge rx208_pos, rx208_eos, rxscan212_done + rxscan212_scan: + set_addr $I10, rxscan212_loop + rx208_cur."!mark_push"(0, rx208_pos, $I10) + rxscan212_done: +.annotate 'line', 78 # rx literal "(" - add $I11, rx200_pos, 1 - gt $I11, rx200_eos, rx200_fail - sub $I11, rx200_pos, rx200_off - substr $S10, rx200_tgt, $I11, 1 - ne $S10, "(", rx200_fail - add rx200_pos, 1 + add $I11, rx208_pos, 1 + gt $I11, rx208_eos, rx208_fail + sub $I11, rx208_pos, rx208_off + substr $S10, rx208_tgt, $I11, 1 + ne $S10, "(", rx208_fail + add rx208_pos, 1 # rx subrule "nibbler" subtype=capture negate= - rx200_cur."!cursor_pos"(rx200_pos) - $P10 = rx200_cur."nibbler"() - unless $P10, rx200_fail - rx200_cur."!mark_push"(0, -1, 0, $P10) + rx208_cur."!cursor_pos"(rx208_pos) + $P10 = rx208_cur."nibbler"() + unless $P10, rx208_fail + rx208_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("nibbler") - rx200_pos = $P10."pos"() + rx208_pos = $P10."pos"() # rx literal ")" - add $I11, rx200_pos, 1 - gt $I11, rx200_eos, rx200_fail - sub $I11, rx200_pos, rx200_off - substr $S10, rx200_tgt, $I11, 1 - ne $S10, ")", rx200_fail - add rx200_pos, 1 + add $I11, rx208_pos, 1 + gt $I11, rx208_eos, rx208_fail + sub $I11, rx208_pos, rx208_off + substr $S10, rx208_tgt, $I11, 1 + ne $S10, ")", rx208_fail + add rx208_pos, 1 # rx pass - rx200_cur."!cursor_pass"(rx200_pos, "metachar:sym<( )>") - rx200_cur."!cursor_debug"("PASS ", "metachar:sym<( )>", " at pos=", rx200_pos) - .return (rx200_cur) - rx200_fail: -.annotate 'line', 3 - (rx200_rep, rx200_pos, $I10, $P10) = rx200_cur."!mark_fail"(0) - lt rx200_pos, -1, rx200_done - eq rx200_pos, -1, rx200_fail + rx208_cur."!cursor_pass"(rx208_pos, "metachar:sym<( )>") + rx208_cur."!cursor_debug"("PASS ", "metachar:sym<( )>", " at pos=", rx208_pos) + .return (rx208_cur) + rx208_fail: +.annotate 'line', 3 + (rx208_rep, rx208_pos, $I10, $P10) = rx208_cur."!mark_fail"(0) + lt rx208_pos, -1, rx208_done + eq rx208_pos, -1, rx208_fail jump $I10 - rx200_done: - rx200_cur."!cursor_fail"() - rx200_cur."!cursor_debug"("FAIL ", "metachar:sym<( )>") - .return (rx200_cur) + rx208_done: + rx208_cur."!cursor_fail"() + rx208_cur."!cursor_debug"("FAIL ", "metachar:sym<( )>") + .return (rx208_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<( )>" :subid("54_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<( )>" :subid("56_1278500530.77787") :method .annotate 'line', 3 - $P202 = self."!PREFIX__!subrule"("nibbler", "(") - new $P203, "ResizablePMCArray" - push $P203, $P202 - .return ($P203) + $P210 = self."!PREFIX__!subrule"("nibbler", "(") + new $P211, "ResizablePMCArray" + push $P211, $P210 + .return ($P211) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<'>" :subid("55_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<'>" :subid("57_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx206_tgt - .local int rx206_pos - .local int rx206_off - .local int rx206_eos - .local int rx206_rep - .local pmc rx206_cur - (rx206_cur, rx206_pos, rx206_tgt) = self."!cursor_start"() - rx206_cur."!cursor_debug"("START ", "metachar:sym<'>") - .lex unicode:"$\x{a2}", rx206_cur + .local string rx214_tgt + .local int rx214_pos + .local int rx214_off + .local int rx214_eos + .local int rx214_rep + .local pmc rx214_cur + (rx214_cur, rx214_pos, rx214_tgt) = self."!cursor_start"() + rx214_cur."!cursor_debug"("START ", "metachar:sym<'>") + .lex unicode:"$\x{a2}", rx214_cur .local pmc match .lex "$/", match - length rx206_eos, rx206_tgt - gt rx206_pos, rx206_eos, rx206_done - set rx206_off, 0 - lt rx206_pos, 2, rx206_start - sub rx206_off, rx206_pos, 1 - substr rx206_tgt, rx206_tgt, rx206_off - rx206_start: + length rx214_eos, rx214_tgt + gt rx214_pos, rx214_eos, rx214_done + set rx214_off, 0 + lt rx214_pos, 2, rx214_start + sub rx214_off, rx214_pos, 1 + substr rx214_tgt, rx214_tgt, rx214_off + rx214_start: $I10 = self.'from'() - ne $I10, -1, rxscan209_done - goto rxscan209_scan - rxscan209_loop: - ($P10) = rx206_cur."from"() + ne $I10, -1, rxscan217_done + goto rxscan217_scan + rxscan217_loop: + ($P10) = rx214_cur."from"() inc $P10 - set rx206_pos, $P10 - ge rx206_pos, rx206_eos, rxscan209_done - rxscan209_scan: - set_addr $I10, rxscan209_loop - rx206_cur."!mark_push"(0, rx206_pos, $I10) - rxscan209_done: -.annotate 'line', 77 + set rx214_pos, $P10 + ge rx214_pos, rx214_eos, rxscan217_done + rxscan217_scan: + set_addr $I10, rxscan217_loop + rx214_cur."!mark_push"(0, rx214_pos, $I10) + rxscan217_done: +.annotate 'line', 79 # rx enumcharlist negate=0 zerowidth - ge rx206_pos, rx206_eos, rx206_fail - sub $I10, rx206_pos, rx206_off - substr $S10, rx206_tgt, $I10, 1 + ge rx214_pos, rx214_eos, rx214_fail + sub $I10, rx214_pos, rx214_off + substr $S10, rx214_tgt, $I10, 1 index $I11, "'", $S10 - lt $I11, 0, rx206_fail + lt $I11, 0, rx214_fail # rx subrule "quote_EXPR" subtype=capture negate= - rx206_cur."!cursor_pos"(rx206_pos) - $P10 = rx206_cur."quote_EXPR"(":q") - unless $P10, rx206_fail - rx206_cur."!mark_push"(0, -1, 0, $P10) + rx214_cur."!cursor_pos"(rx214_pos) + $P10 = rx214_cur."quote_EXPR"(":q") + unless $P10, rx214_fail + rx214_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote_EXPR") - rx206_pos = $P10."pos"() + rx214_pos = $P10."pos"() # rx pass - rx206_cur."!cursor_pass"(rx206_pos, "metachar:sym<'>") - rx206_cur."!cursor_debug"("PASS ", "metachar:sym<'>", " at pos=", rx206_pos) - .return (rx206_cur) - rx206_fail: -.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 + rx214_cur."!cursor_pass"(rx214_pos, "metachar:sym<'>") + rx214_cur."!cursor_debug"("PASS ", "metachar:sym<'>", " at pos=", rx214_pos) + .return (rx214_cur) + rx214_fail: +.annotate 'line', 3 + (rx214_rep, rx214_pos, $I10, $P10) = rx214_cur."!mark_fail"(0) + lt rx214_pos, -1, rx214_done + eq rx214_pos, -1, rx214_fail jump $I10 - rx206_done: - rx206_cur."!cursor_fail"() - rx206_cur."!cursor_debug"("FAIL ", "metachar:sym<'>") - .return (rx206_cur) + rx214_done: + rx214_cur."!cursor_fail"() + rx214_cur."!cursor_debug"("FAIL ", "metachar:sym<'>") + .return (rx214_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<'>" :subid("56_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<'>" :subid("58_1278500530.77787") :method .annotate 'line', 3 - new $P208, "ResizablePMCArray" - push $P208, "'" - .return ($P208) + new $P216, "ResizablePMCArray" + push $P216, "'" + .return ($P216) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<\">" :subid("57_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<\">" :subid("59_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx211_tgt - .local int rx211_pos - .local int rx211_off - .local int rx211_eos - .local int rx211_rep - .local pmc rx211_cur - (rx211_cur, rx211_pos, rx211_tgt) = self."!cursor_start"() - rx211_cur."!cursor_debug"("START ", "metachar:sym<\">") - .lex unicode:"$\x{a2}", rx211_cur + .local string rx219_tgt + .local int rx219_pos + .local int rx219_off + .local int rx219_eos + .local int rx219_rep + .local pmc rx219_cur + (rx219_cur, rx219_pos, rx219_tgt) = self."!cursor_start"() + rx219_cur."!cursor_debug"("START ", "metachar:sym<\">") + .lex unicode:"$\x{a2}", rx219_cur .local pmc match .lex "$/", match - length rx211_eos, rx211_tgt - gt rx211_pos, rx211_eos, rx211_done - set rx211_off, 0 - lt rx211_pos, 2, rx211_start - sub rx211_off, rx211_pos, 1 - substr rx211_tgt, rx211_tgt, rx211_off - rx211_start: + length rx219_eos, rx219_tgt + gt rx219_pos, rx219_eos, rx219_done + set rx219_off, 0 + lt rx219_pos, 2, rx219_start + sub rx219_off, rx219_pos, 1 + substr rx219_tgt, rx219_tgt, rx219_off + rx219_start: $I10 = self.'from'() - ne $I10, -1, rxscan214_done - goto rxscan214_scan - rxscan214_loop: - ($P10) = rx211_cur."from"() + ne $I10, -1, rxscan222_done + goto rxscan222_scan + rxscan222_loop: + ($P10) = rx219_cur."from"() inc $P10 - set rx211_pos, $P10 - ge rx211_pos, rx211_eos, rxscan214_done - rxscan214_scan: - set_addr $I10, rxscan214_loop - rx211_cur."!mark_push"(0, rx211_pos, $I10) - rxscan214_done: -.annotate 'line', 78 + set rx219_pos, $P10 + ge rx219_pos, rx219_eos, rxscan222_done + rxscan222_scan: + set_addr $I10, rxscan222_loop + rx219_cur."!mark_push"(0, rx219_pos, $I10) + rxscan222_done: +.annotate 'line', 80 # rx enumcharlist negate=0 zerowidth - ge rx211_pos, rx211_eos, rx211_fail - sub $I10, rx211_pos, rx211_off - substr $S10, rx211_tgt, $I10, 1 + ge rx219_pos, rx219_eos, rx219_fail + sub $I10, rx219_pos, rx219_off + substr $S10, rx219_tgt, $I10, 1 index $I11, "\"", $S10 - lt $I11, 0, rx211_fail + lt $I11, 0, rx219_fail # rx subrule "quote_EXPR" subtype=capture negate= - rx211_cur."!cursor_pos"(rx211_pos) - $P10 = rx211_cur."quote_EXPR"(":qq") - unless $P10, rx211_fail - rx211_cur."!mark_push"(0, -1, 0, $P10) + rx219_cur."!cursor_pos"(rx219_pos) + $P10 = rx219_cur."quote_EXPR"(":qq") + unless $P10, rx219_fail + rx219_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quote_EXPR") - rx211_pos = $P10."pos"() + rx219_pos = $P10."pos"() # rx pass - rx211_cur."!cursor_pass"(rx211_pos, "metachar:sym<\">") - rx211_cur."!cursor_debug"("PASS ", "metachar:sym<\">", " at pos=", rx211_pos) - .return (rx211_cur) - rx211_fail: -.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 + rx219_cur."!cursor_pass"(rx219_pos, "metachar:sym<\">") + rx219_cur."!cursor_debug"("PASS ", "metachar:sym<\">", " at pos=", rx219_pos) + .return (rx219_cur) + rx219_fail: +.annotate 'line', 3 + (rx219_rep, rx219_pos, $I10, $P10) = rx219_cur."!mark_fail"(0) + lt rx219_pos, -1, rx219_done + eq rx219_pos, -1, rx219_fail jump $I10 - rx211_done: - rx211_cur."!cursor_fail"() - rx211_cur."!cursor_debug"("FAIL ", "metachar:sym<\">") - .return (rx211_cur) + rx219_done: + rx219_cur."!cursor_fail"() + rx219_cur."!cursor_debug"("FAIL ", "metachar:sym<\">") + .return (rx219_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<\">" :subid("58_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<\">" :subid("60_1278500530.77787") :method .annotate 'line', 3 - new $P213, "ResizablePMCArray" - push $P213, "\"" - .return ($P213) + new $P221, "ResizablePMCArray" + push $P221, "\"" + .return ($P221) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<.>" :subid("59_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<.>" :subid("61_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx216_tgt - .local int rx216_pos - .local int rx216_off - .local int rx216_eos - .local int rx216_rep - .local pmc rx216_cur - (rx216_cur, rx216_pos, rx216_tgt) = self."!cursor_start"() - rx216_cur."!cursor_debug"("START ", "metachar:sym<.>") - .lex unicode:"$\x{a2}", rx216_cur + .local string rx224_tgt + .local int rx224_pos + .local int rx224_off + .local int rx224_eos + .local int rx224_rep + .local pmc rx224_cur + (rx224_cur, rx224_pos, rx224_tgt) = self."!cursor_start"() + rx224_cur."!cursor_debug"("START ", "metachar:sym<.>") + .lex unicode:"$\x{a2}", rx224_cur .local pmc match .lex "$/", match - length rx216_eos, rx216_tgt - gt rx216_pos, rx216_eos, rx216_done - set rx216_off, 0 - lt rx216_pos, 2, rx216_start - sub rx216_off, rx216_pos, 1 - substr rx216_tgt, rx216_tgt, rx216_off - rx216_start: + length rx224_eos, rx224_tgt + gt rx224_pos, rx224_eos, rx224_done + set rx224_off, 0 + lt rx224_pos, 2, rx224_start + sub rx224_off, rx224_pos, 1 + substr rx224_tgt, rx224_tgt, rx224_off + rx224_start: $I10 = self.'from'() - ne $I10, -1, rxscan219_done - goto rxscan219_scan - rxscan219_loop: - ($P10) = rx216_cur."from"() + ne $I10, -1, rxscan227_done + goto rxscan227_scan + rxscan227_loop: + ($P10) = rx224_cur."from"() inc $P10 - set rx216_pos, $P10 - ge rx216_pos, rx216_eos, rxscan219_done - rxscan219_scan: - set_addr $I10, rxscan219_loop - rx216_cur."!mark_push"(0, rx216_pos, $I10) - rxscan219_done: -.annotate 'line', 79 + set rx224_pos, $P10 + ge rx224_pos, rx224_eos, rxscan227_done + rxscan227_scan: + set_addr $I10, rxscan227_loop + rx224_cur."!mark_push"(0, rx224_pos, $I10) + rxscan227_done: +.annotate 'line', 81 # rx subcapture "sym" - set_addr $I10, rxcap_220_fail - rx216_cur."!mark_push"(0, rx216_pos, $I10) + set_addr $I10, rxcap_228_fail + rx224_cur."!mark_push"(0, rx224_pos, $I10) # rx literal "." - add $I11, rx216_pos, 1 - gt $I11, rx216_eos, rx216_fail - sub $I11, rx216_pos, rx216_off - substr $S10, rx216_tgt, $I11, 1 - ne $S10, ".", rx216_fail - add rx216_pos, 1 - set_addr $I10, rxcap_220_fail - ($I12, $I11) = rx216_cur."!mark_peek"($I10) - rx216_cur."!cursor_pos"($I11) - ($P10) = rx216_cur."!cursor_start"() - $P10."!cursor_pass"(rx216_pos, "") - rx216_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx224_pos, 1 + gt $I11, rx224_eos, rx224_fail + sub $I11, rx224_pos, rx224_off + substr $S10, rx224_tgt, $I11, 1 + ne $S10, ".", rx224_fail + add rx224_pos, 1 + set_addr $I10, rxcap_228_fail + ($I12, $I11) = rx224_cur."!mark_peek"($I10) + rx224_cur."!cursor_pos"($I11) + ($P10) = rx224_cur."!cursor_start"() + $P10."!cursor_pass"(rx224_pos, "") + rx224_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_220_done - rxcap_220_fail: - goto rx216_fail - rxcap_220_done: + goto rxcap_228_done + rxcap_228_fail: + goto rx224_fail + rxcap_228_done: # rx pass - rx216_cur."!cursor_pass"(rx216_pos, "metachar:sym<.>") - rx216_cur."!cursor_debug"("PASS ", "metachar:sym<.>", " at pos=", rx216_pos) - .return (rx216_cur) - rx216_fail: -.annotate 'line', 3 - (rx216_rep, rx216_pos, $I10, $P10) = rx216_cur."!mark_fail"(0) - lt rx216_pos, -1, rx216_done - eq rx216_pos, -1, rx216_fail + rx224_cur."!cursor_pass"(rx224_pos, "metachar:sym<.>") + rx224_cur."!cursor_debug"("PASS ", "metachar:sym<.>", " at pos=", rx224_pos) + .return (rx224_cur) + rx224_fail: +.annotate 'line', 3 + (rx224_rep, rx224_pos, $I10, $P10) = rx224_cur."!mark_fail"(0) + lt rx224_pos, -1, rx224_done + eq rx224_pos, -1, rx224_fail jump $I10 - rx216_done: - rx216_cur."!cursor_fail"() - rx216_cur."!cursor_debug"("FAIL ", "metachar:sym<.>") - .return (rx216_cur) + rx224_done: + rx224_cur."!cursor_fail"() + rx224_cur."!cursor_debug"("FAIL ", "metachar:sym<.>") + .return (rx224_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<.>" :subid("60_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<.>" :subid("62_1278500530.77787") :method .annotate 'line', 3 - new $P218, "ResizablePMCArray" - push $P218, "." - .return ($P218) + new $P226, "ResizablePMCArray" + push $P226, "." + .return ($P226) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<^>" :subid("61_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<^>" :subid("63_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx222_tgt - .local int rx222_pos - .local int rx222_off - .local int rx222_eos - .local int rx222_rep - .local pmc rx222_cur - (rx222_cur, rx222_pos, rx222_tgt) = self."!cursor_start"() - rx222_cur."!cursor_debug"("START ", "metachar:sym<^>") - .lex unicode:"$\x{a2}", rx222_cur + .local string rx230_tgt + .local int rx230_pos + .local int rx230_off + .local int rx230_eos + .local int rx230_rep + .local pmc rx230_cur + (rx230_cur, rx230_pos, rx230_tgt) = self."!cursor_start"() + rx230_cur."!cursor_debug"("START ", "metachar:sym<^>") + .lex unicode:"$\x{a2}", rx230_cur .local pmc match .lex "$/", match - length rx222_eos, rx222_tgt - gt rx222_pos, rx222_eos, rx222_done - set rx222_off, 0 - lt rx222_pos, 2, rx222_start - sub rx222_off, rx222_pos, 1 - substr rx222_tgt, rx222_tgt, rx222_off - rx222_start: + length rx230_eos, rx230_tgt + gt rx230_pos, rx230_eos, rx230_done + set rx230_off, 0 + lt rx230_pos, 2, rx230_start + sub rx230_off, rx230_pos, 1 + substr rx230_tgt, rx230_tgt, rx230_off + rx230_start: $I10 = self.'from'() - ne $I10, -1, rxscan225_done - goto rxscan225_scan - rxscan225_loop: - ($P10) = rx222_cur."from"() + ne $I10, -1, rxscan233_done + goto rxscan233_scan + rxscan233_loop: + ($P10) = rx230_cur."from"() inc $P10 - set rx222_pos, $P10 - ge rx222_pos, rx222_eos, rxscan225_done - rxscan225_scan: - set_addr $I10, rxscan225_loop - rx222_cur."!mark_push"(0, rx222_pos, $I10) - rxscan225_done: -.annotate 'line', 80 + set rx230_pos, $P10 + ge rx230_pos, rx230_eos, rxscan233_done + rxscan233_scan: + set_addr $I10, rxscan233_loop + rx230_cur."!mark_push"(0, rx230_pos, $I10) + rxscan233_done: +.annotate 'line', 82 # rx subcapture "sym" - set_addr $I10, rxcap_226_fail - rx222_cur."!mark_push"(0, rx222_pos, $I10) + set_addr $I10, rxcap_234_fail + rx230_cur."!mark_push"(0, rx230_pos, $I10) # rx literal "^" - add $I11, rx222_pos, 1 - gt $I11, rx222_eos, rx222_fail - sub $I11, rx222_pos, rx222_off - substr $S10, rx222_tgt, $I11, 1 - ne $S10, "^", rx222_fail - add rx222_pos, 1 - set_addr $I10, rxcap_226_fail - ($I12, $I11) = rx222_cur."!mark_peek"($I10) - rx222_cur."!cursor_pos"($I11) - ($P10) = rx222_cur."!cursor_start"() - $P10."!cursor_pass"(rx222_pos, "") - rx222_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx230_pos, 1 + gt $I11, rx230_eos, rx230_fail + sub $I11, rx230_pos, rx230_off + substr $S10, rx230_tgt, $I11, 1 + ne $S10, "^", rx230_fail + add rx230_pos, 1 + set_addr $I10, rxcap_234_fail + ($I12, $I11) = rx230_cur."!mark_peek"($I10) + rx230_cur."!cursor_pos"($I11) + ($P10) = rx230_cur."!cursor_start"() + $P10."!cursor_pass"(rx230_pos, "") + rx230_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_226_done - rxcap_226_fail: - goto rx222_fail - rxcap_226_done: + goto rxcap_234_done + rxcap_234_fail: + goto rx230_fail + rxcap_234_done: # rx pass - rx222_cur."!cursor_pass"(rx222_pos, "metachar:sym<^>") - rx222_cur."!cursor_debug"("PASS ", "metachar:sym<^>", " at pos=", rx222_pos) - .return (rx222_cur) - rx222_fail: -.annotate 'line', 3 - (rx222_rep, rx222_pos, $I10, $P10) = rx222_cur."!mark_fail"(0) - lt rx222_pos, -1, rx222_done - eq rx222_pos, -1, rx222_fail + rx230_cur."!cursor_pass"(rx230_pos, "metachar:sym<^>") + rx230_cur."!cursor_debug"("PASS ", "metachar:sym<^>", " at pos=", rx230_pos) + .return (rx230_cur) + rx230_fail: +.annotate 'line', 3 + (rx230_rep, rx230_pos, $I10, $P10) = rx230_cur."!mark_fail"(0) + lt rx230_pos, -1, rx230_done + eq rx230_pos, -1, rx230_fail jump $I10 - rx222_done: - rx222_cur."!cursor_fail"() - rx222_cur."!cursor_debug"("FAIL ", "metachar:sym<^>") - .return (rx222_cur) + rx230_done: + rx230_cur."!cursor_fail"() + rx230_cur."!cursor_debug"("FAIL ", "metachar:sym<^>") + .return (rx230_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<^>" :subid("62_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<^>" :subid("64_1278500530.77787") :method .annotate 'line', 3 - new $P224, "ResizablePMCArray" - push $P224, "^" - .return ($P224) + new $P232, "ResizablePMCArray" + push $P232, "^" + .return ($P232) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<^^>" :subid("63_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<^^>" :subid("65_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "metachar:sym<^^>") - .lex unicode:"$\x{a2}", rx228_cur + .local string rx236_tgt + .local int rx236_pos + .local int rx236_off + .local int rx236_eos + .local int rx236_rep + .local pmc rx236_cur + (rx236_cur, rx236_pos, rx236_tgt) = self."!cursor_start"() + rx236_cur."!cursor_debug"("START ", "metachar:sym<^^>") + .lex unicode:"$\x{a2}", rx236_cur .local pmc match .lex "$/", match - length rx228_eos, rx228_tgt - gt rx228_pos, rx228_eos, rx228_done - 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: + length rx236_eos, rx236_tgt + gt rx236_pos, rx236_eos, rx236_done + set rx236_off, 0 + lt rx236_pos, 2, rx236_start + sub rx236_off, rx236_pos, 1 + substr rx236_tgt, rx236_tgt, rx236_off + rx236_start: $I10 = self.'from'() - ne $I10, -1, rxscan231_done - goto rxscan231_scan - rxscan231_loop: - ($P10) = rx228_cur."from"() + ne $I10, -1, rxscan239_done + goto rxscan239_scan + rxscan239_loop: + ($P10) = rx236_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', 81 + set rx236_pos, $P10 + ge rx236_pos, rx236_eos, rxscan239_done + rxscan239_scan: + set_addr $I10, rxscan239_loop + rx236_cur."!mark_push"(0, rx236_pos, $I10) + rxscan239_done: +.annotate 'line', 83 # rx subcapture "sym" - set_addr $I10, rxcap_232_fail - rx228_cur."!mark_push"(0, rx228_pos, $I10) + set_addr $I10, rxcap_240_fail + rx236_cur."!mark_push"(0, rx236_pos, $I10) # rx literal "^^" - add $I11, rx228_pos, 2 - gt $I11, rx228_eos, rx228_fail - sub $I11, rx228_pos, rx228_off - substr $S10, rx228_tgt, $I11, 2 - ne $S10, "^^", rx228_fail - add rx228_pos, 2 - set_addr $I10, rxcap_232_fail - ($I12, $I11) = rx228_cur."!mark_peek"($I10) - rx228_cur."!cursor_pos"($I11) - ($P10) = rx228_cur."!cursor_start"() - $P10."!cursor_pass"(rx228_pos, "") - rx228_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx236_pos, 2 + gt $I11, rx236_eos, rx236_fail + sub $I11, rx236_pos, rx236_off + substr $S10, rx236_tgt, $I11, 2 + ne $S10, "^^", rx236_fail + add rx236_pos, 2 + set_addr $I10, rxcap_240_fail + ($I12, $I11) = rx236_cur."!mark_peek"($I10) + rx236_cur."!cursor_pos"($I11) + ($P10) = rx236_cur."!cursor_start"() + $P10."!cursor_pass"(rx236_pos, "") + rx236_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_232_done - rxcap_232_fail: - goto rx228_fail - rxcap_232_done: + goto rxcap_240_done + rxcap_240_fail: + goto rx236_fail + rxcap_240_done: # rx pass - rx228_cur."!cursor_pass"(rx228_pos, "metachar:sym<^^>") - rx228_cur."!cursor_debug"("PASS ", "metachar:sym<^^>", " at pos=", rx228_pos) - .return (rx228_cur) - rx228_fail: -.annotate 'line', 3 - (rx228_rep, rx228_pos, $I10, $P10) = rx228_cur."!mark_fail"(0) - lt rx228_pos, -1, rx228_done - eq rx228_pos, -1, rx228_fail + rx236_cur."!cursor_pass"(rx236_pos, "metachar:sym<^^>") + rx236_cur."!cursor_debug"("PASS ", "metachar:sym<^^>", " at pos=", rx236_pos) + .return (rx236_cur) + rx236_fail: +.annotate 'line', 3 + (rx236_rep, rx236_pos, $I10, $P10) = rx236_cur."!mark_fail"(0) + lt rx236_pos, -1, rx236_done + eq rx236_pos, -1, rx236_fail jump $I10 - rx228_done: - rx228_cur."!cursor_fail"() - rx228_cur."!cursor_debug"("FAIL ", "metachar:sym<^^>") - .return (rx228_cur) + rx236_done: + rx236_cur."!cursor_fail"() + rx236_cur."!cursor_debug"("FAIL ", "metachar:sym<^^>") + .return (rx236_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<^^>" :subid("64_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<^^>" :subid("66_1278500530.77787") :method .annotate 'line', 3 - new $P230, "ResizablePMCArray" - push $P230, "^^" - .return ($P230) + new $P238, "ResizablePMCArray" + push $P238, "^^" + .return ($P238) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<$>" :subid("65_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<$>" :subid("67_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "metachar:sym<$>") - .lex unicode:"$\x{a2}", rx234_cur + .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 ", "metachar:sym<$>") + .lex unicode:"$\x{a2}", rx242_cur .local pmc match .lex "$/", match - length rx234_eos, rx234_tgt - gt rx234_pos, rx234_eos, rx234_done - 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: + length rx242_eos, rx242_tgt + gt rx242_pos, rx242_eos, rx242_done + 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, rxscan237_done - goto rxscan237_scan - rxscan237_loop: - ($P10) = rx234_cur."from"() + ne $I10, -1, rxscan245_done + goto rxscan245_scan + rxscan245_loop: + ($P10) = rx242_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', 82 + 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', 84 # rx subcapture "sym" - set_addr $I10, rxcap_238_fail - rx234_cur."!mark_push"(0, rx234_pos, $I10) + set_addr $I10, rxcap_246_fail + rx242_cur."!mark_push"(0, rx242_pos, $I10) # rx literal "$" - add $I11, rx234_pos, 1 - gt $I11, rx234_eos, rx234_fail - sub $I11, rx234_pos, rx234_off - substr $S10, rx234_tgt, $I11, 1 - ne $S10, "$", rx234_fail - add rx234_pos, 1 - set_addr $I10, rxcap_238_fail - ($I12, $I11) = rx234_cur."!mark_peek"($I10) - rx234_cur."!cursor_pos"($I11) - ($P10) = rx234_cur."!cursor_start"() - $P10."!cursor_pass"(rx234_pos, "") - rx234_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx242_pos, 1 + gt $I11, rx242_eos, rx242_fail + sub $I11, rx242_pos, rx242_off + substr $S10, rx242_tgt, $I11, 1 + ne $S10, "$", rx242_fail + add rx242_pos, 1 + set_addr $I10, rxcap_246_fail + ($I12, $I11) = rx242_cur."!mark_peek"($I10) + rx242_cur."!cursor_pos"($I11) + ($P10) = rx242_cur."!cursor_start"() + $P10."!cursor_pass"(rx242_pos, "") + rx242_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_238_done - rxcap_238_fail: - goto rx234_fail - rxcap_238_done: + goto rxcap_246_done + rxcap_246_fail: + goto rx242_fail + rxcap_246_done: # rx pass - rx234_cur."!cursor_pass"(rx234_pos, "metachar:sym<$>") - rx234_cur."!cursor_debug"("PASS ", "metachar:sym<$>", " at pos=", rx234_pos) - .return (rx234_cur) - rx234_fail: -.annotate 'line', 3 - (rx234_rep, rx234_pos, $I10, $P10) = rx234_cur."!mark_fail"(0) - lt rx234_pos, -1, rx234_done - eq rx234_pos, -1, rx234_fail + rx242_cur."!cursor_pass"(rx242_pos, "metachar:sym<$>") + rx242_cur."!cursor_debug"("PASS ", "metachar:sym<$>", " at pos=", rx242_pos) + .return (rx242_cur) + rx242_fail: +.annotate 'line', 3 + (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 - rx234_done: - rx234_cur."!cursor_fail"() - rx234_cur."!cursor_debug"("FAIL ", "metachar:sym<$>") - .return (rx234_cur) + rx242_done: + rx242_cur."!cursor_fail"() + rx242_cur."!cursor_debug"("FAIL ", "metachar:sym<$>") + .return (rx242_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<$>" :subid("66_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<$>" :subid("68_1278500530.77787") :method .annotate 'line', 3 - new $P236, "ResizablePMCArray" - push $P236, "$" - .return ($P236) + new $P244, "ResizablePMCArray" + push $P244, "$" + .return ($P244) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<$$>" :subid("67_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<$$>" :subid("69_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx240_tgt - .local int rx240_pos - .local int rx240_off - .local int rx240_eos - .local int rx240_rep - .local pmc rx240_cur - (rx240_cur, rx240_pos, rx240_tgt) = self."!cursor_start"() - rx240_cur."!cursor_debug"("START ", "metachar:sym<$$>") - .lex unicode:"$\x{a2}", rx240_cur + .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 ", "metachar:sym<$$>") + .lex unicode:"$\x{a2}", rx248_cur .local pmc match .lex "$/", match - length rx240_eos, rx240_tgt - gt rx240_pos, rx240_eos, rx240_done - set rx240_off, 0 - lt rx240_pos, 2, rx240_start - sub rx240_off, rx240_pos, 1 - substr rx240_tgt, rx240_tgt, rx240_off - rx240_start: + length rx248_eos, rx248_tgt + gt rx248_pos, rx248_eos, rx248_done + 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, rxscan243_done - goto rxscan243_scan - rxscan243_loop: - ($P10) = rx240_cur."from"() + ne $I10, -1, rxscan251_done + goto rxscan251_scan + rxscan251_loop: + ($P10) = rx248_cur."from"() inc $P10 - set rx240_pos, $P10 - ge rx240_pos, rx240_eos, rxscan243_done - rxscan243_scan: - set_addr $I10, rxscan243_loop - rx240_cur."!mark_push"(0, rx240_pos, $I10) - rxscan243_done: -.annotate 'line', 83 + 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', 85 # rx subcapture "sym" - set_addr $I10, rxcap_244_fail - rx240_cur."!mark_push"(0, rx240_pos, $I10) + set_addr $I10, rxcap_252_fail + rx248_cur."!mark_push"(0, rx248_pos, $I10) # rx literal "$$" - add $I11, rx240_pos, 2 - gt $I11, rx240_eos, rx240_fail - sub $I11, rx240_pos, rx240_off - substr $S10, rx240_tgt, $I11, 2 - ne $S10, "$$", rx240_fail - add rx240_pos, 2 - set_addr $I10, rxcap_244_fail - ($I12, $I11) = rx240_cur."!mark_peek"($I10) - rx240_cur."!cursor_pos"($I11) - ($P10) = rx240_cur."!cursor_start"() - $P10."!cursor_pass"(rx240_pos, "") - rx240_cur."!mark_push"(0, -1, 0, $P10) + 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, "$$", 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) $P10."!cursor_names"("sym") - goto rxcap_244_done - rxcap_244_fail: - goto rx240_fail - rxcap_244_done: + goto rxcap_252_done + rxcap_252_fail: + goto rx248_fail + rxcap_252_done: # rx pass - rx240_cur."!cursor_pass"(rx240_pos, "metachar:sym<$$>") - rx240_cur."!cursor_debug"("PASS ", "metachar:sym<$$>", " at pos=", rx240_pos) - .return (rx240_cur) - rx240_fail: -.annotate 'line', 3 - (rx240_rep, rx240_pos, $I10, $P10) = rx240_cur."!mark_fail"(0) - lt rx240_pos, -1, rx240_done - eq rx240_pos, -1, rx240_fail + rx248_cur."!cursor_pass"(rx248_pos, "metachar:sym<$$>") + rx248_cur."!cursor_debug"("PASS ", "metachar:sym<$$>", " at pos=", rx248_pos) + .return (rx248_cur) + rx248_fail: +.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 jump $I10 - rx240_done: - rx240_cur."!cursor_fail"() - rx240_cur."!cursor_debug"("FAIL ", "metachar:sym<$$>") - .return (rx240_cur) + rx248_done: + rx248_cur."!cursor_fail"() + rx248_cur."!cursor_debug"("FAIL ", "metachar:sym<$$>") + .return (rx248_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<$$>" :subid("68_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<$$>" :subid("70_1278500530.77787") :method .annotate 'line', 3 - new $P242, "ResizablePMCArray" - push $P242, "$$" - .return ($P242) + new $P250, "ResizablePMCArray" + push $P250, "$$" + .return ($P250) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<:::>" :subid("69_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<:::>" :subid("71_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx246_tgt - .local int rx246_pos - .local int rx246_off - .local int rx246_eos - .local int rx246_rep - .local pmc rx246_cur - (rx246_cur, rx246_pos, rx246_tgt) = self."!cursor_start"() - rx246_cur."!cursor_debug"("START ", "metachar:sym<:::>") - .lex unicode:"$\x{a2}", rx246_cur + .local string rx254_tgt + .local int rx254_pos + .local int rx254_off + .local int rx254_eos + .local int rx254_rep + .local pmc rx254_cur + (rx254_cur, rx254_pos, rx254_tgt) = self."!cursor_start"() + rx254_cur."!cursor_debug"("START ", "metachar:sym<:::>") + .lex unicode:"$\x{a2}", rx254_cur .local pmc match .lex "$/", match - length rx246_eos, rx246_tgt - gt rx246_pos, rx246_eos, rx246_done - set rx246_off, 0 - lt rx246_pos, 2, rx246_start - sub rx246_off, rx246_pos, 1 - substr rx246_tgt, rx246_tgt, rx246_off - rx246_start: + length rx254_eos, rx254_tgt + gt rx254_pos, rx254_eos, rx254_done + set rx254_off, 0 + lt rx254_pos, 2, rx254_start + sub rx254_off, rx254_pos, 1 + substr rx254_tgt, rx254_tgt, rx254_off + rx254_start: $I10 = self.'from'() - ne $I10, -1, rxscan250_done - goto rxscan250_scan - rxscan250_loop: - ($P10) = rx246_cur."from"() + ne $I10, -1, rxscan258_done + goto rxscan258_scan + rxscan258_loop: + ($P10) = rx254_cur."from"() inc $P10 - set rx246_pos, $P10 - ge rx246_pos, rx246_eos, rxscan250_done - rxscan250_scan: - set_addr $I10, rxscan250_loop - rx246_cur."!mark_push"(0, rx246_pos, $I10) - rxscan250_done: -.annotate 'line', 84 + set rx254_pos, $P10 + ge rx254_pos, rx254_eos, rxscan258_done + rxscan258_scan: + set_addr $I10, rxscan258_loop + rx254_cur."!mark_push"(0, rx254_pos, $I10) + rxscan258_done: +.annotate 'line', 86 # rx subcapture "sym" - set_addr $I10, rxcap_251_fail - rx246_cur."!mark_push"(0, rx246_pos, $I10) + set_addr $I10, rxcap_259_fail + rx254_cur."!mark_push"(0, rx254_pos, $I10) # rx literal ":::" - add $I11, rx246_pos, 3 - gt $I11, rx246_eos, rx246_fail - sub $I11, rx246_pos, rx246_off - substr $S10, rx246_tgt, $I11, 3 - ne $S10, ":::", rx246_fail - add rx246_pos, 3 - set_addr $I10, rxcap_251_fail - ($I12, $I11) = rx246_cur."!mark_peek"($I10) - rx246_cur."!cursor_pos"($I11) - ($P10) = rx246_cur."!cursor_start"() - $P10."!cursor_pass"(rx246_pos, "") - rx246_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx254_pos, 3 + gt $I11, rx254_eos, rx254_fail + sub $I11, rx254_pos, rx254_off + substr $S10, rx254_tgt, $I11, 3 + ne $S10, ":::", rx254_fail + add rx254_pos, 3 + set_addr $I10, rxcap_259_fail + ($I12, $I11) = rx254_cur."!mark_peek"($I10) + rx254_cur."!cursor_pos"($I11) + ($P10) = rx254_cur."!cursor_start"() + $P10."!cursor_pass"(rx254_pos, "") + rx254_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_251_done - rxcap_251_fail: - goto rx246_fail - rxcap_251_done: + goto rxcap_259_done + rxcap_259_fail: + goto rx254_fail + rxcap_259_done: # rx subrule "panic" subtype=method negate= - rx246_cur."!cursor_pos"(rx246_pos) - $P10 = rx246_cur."panic"("::: not yet implemented") - unless $P10, rx246_fail - rx246_pos = $P10."pos"() + rx254_cur."!cursor_pos"(rx254_pos) + $P10 = rx254_cur."panic"("::: not yet implemented") + unless $P10, rx254_fail + rx254_pos = $P10."pos"() # rx pass - rx246_cur."!cursor_pass"(rx246_pos, "metachar:sym<:::>") - rx246_cur."!cursor_debug"("PASS ", "metachar:sym<:::>", " at pos=", rx246_pos) - .return (rx246_cur) - rx246_fail: -.annotate 'line', 3 - (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0) - lt rx246_pos, -1, rx246_done - eq rx246_pos, -1, rx246_fail + rx254_cur."!cursor_pass"(rx254_pos, "metachar:sym<:::>") + rx254_cur."!cursor_debug"("PASS ", "metachar:sym<:::>", " at pos=", rx254_pos) + .return (rx254_cur) + rx254_fail: +.annotate 'line', 3 + (rx254_rep, rx254_pos, $I10, $P10) = rx254_cur."!mark_fail"(0) + lt rx254_pos, -1, rx254_done + eq rx254_pos, -1, rx254_fail jump $I10 - rx246_done: - rx246_cur."!cursor_fail"() - rx246_cur."!cursor_debug"("FAIL ", "metachar:sym<:::>") - .return (rx246_cur) + rx254_done: + rx254_cur."!cursor_fail"() + rx254_cur."!cursor_debug"("FAIL ", "metachar:sym<:::>") + .return (rx254_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<:::>" :subid("70_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<:::>" :subid("72_1278500530.77787") :method .annotate 'line', 3 - $P248 = self."!PREFIX__!subrule"("panic", ":::") - new $P249, "ResizablePMCArray" - push $P249, $P248 - .return ($P249) + $P256 = self."!PREFIX__!subrule"("panic", ":::") + new $P257, "ResizablePMCArray" + push $P257, $P256 + .return ($P257) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<::>" :subid("71_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<::>" :subid("73_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx253_tgt - .local int rx253_pos - .local int rx253_off - .local int rx253_eos - .local int rx253_rep - .local pmc rx253_cur - (rx253_cur, rx253_pos, rx253_tgt) = self."!cursor_start"() - rx253_cur."!cursor_debug"("START ", "metachar:sym<::>") - .lex unicode:"$\x{a2}", rx253_cur + .local string rx261_tgt + .local int rx261_pos + .local int rx261_off + .local int rx261_eos + .local int rx261_rep + .local pmc rx261_cur + (rx261_cur, rx261_pos, rx261_tgt) = self."!cursor_start"() + rx261_cur."!cursor_debug"("START ", "metachar:sym<::>") + .lex unicode:"$\x{a2}", rx261_cur .local pmc match .lex "$/", match - length rx253_eos, rx253_tgt - gt rx253_pos, rx253_eos, rx253_done - set rx253_off, 0 - lt rx253_pos, 2, rx253_start - sub rx253_off, rx253_pos, 1 - substr rx253_tgt, rx253_tgt, rx253_off - rx253_start: + length rx261_eos, rx261_tgt + gt rx261_pos, rx261_eos, rx261_done + set rx261_off, 0 + lt rx261_pos, 2, rx261_start + sub rx261_off, rx261_pos, 1 + substr rx261_tgt, rx261_tgt, rx261_off + rx261_start: $I10 = self.'from'() - ne $I10, -1, rxscan257_done - goto rxscan257_scan - rxscan257_loop: - ($P10) = rx253_cur."from"() + ne $I10, -1, rxscan265_done + goto rxscan265_scan + rxscan265_loop: + ($P10) = rx261_cur."from"() inc $P10 - set rx253_pos, $P10 - ge rx253_pos, rx253_eos, rxscan257_done - rxscan257_scan: - set_addr $I10, rxscan257_loop - rx253_cur."!mark_push"(0, rx253_pos, $I10) - rxscan257_done: -.annotate 'line', 85 + set rx261_pos, $P10 + ge rx261_pos, rx261_eos, rxscan265_done + rxscan265_scan: + set_addr $I10, rxscan265_loop + rx261_cur."!mark_push"(0, rx261_pos, $I10) + rxscan265_done: +.annotate 'line', 87 # rx subcapture "sym" - set_addr $I10, rxcap_258_fail - rx253_cur."!mark_push"(0, rx253_pos, $I10) + set_addr $I10, rxcap_266_fail + rx261_cur."!mark_push"(0, rx261_pos, $I10) # rx literal "::" - add $I11, rx253_pos, 2 - gt $I11, rx253_eos, rx253_fail - sub $I11, rx253_pos, rx253_off - substr $S10, rx253_tgt, $I11, 2 - ne $S10, "::", rx253_fail - add rx253_pos, 2 - set_addr $I10, rxcap_258_fail - ($I12, $I11) = rx253_cur."!mark_peek"($I10) - rx253_cur."!cursor_pos"($I11) - ($P10) = rx253_cur."!cursor_start"() - $P10."!cursor_pass"(rx253_pos, "") - rx253_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx261_pos, 2 + gt $I11, rx261_eos, rx261_fail + sub $I11, rx261_pos, rx261_off + substr $S10, rx261_tgt, $I11, 2 + ne $S10, "::", rx261_fail + add rx261_pos, 2 + set_addr $I10, rxcap_266_fail + ($I12, $I11) = rx261_cur."!mark_peek"($I10) + rx261_cur."!cursor_pos"($I11) + ($P10) = rx261_cur."!cursor_start"() + $P10."!cursor_pass"(rx261_pos, "") + rx261_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_258_done - rxcap_258_fail: - goto rx253_fail - rxcap_258_done: + goto rxcap_266_done + rxcap_266_fail: + goto rx261_fail + rxcap_266_done: # rx subrule "panic" subtype=method negate= - rx253_cur."!cursor_pos"(rx253_pos) - $P10 = rx253_cur."panic"(":: not yet implemented") - unless $P10, rx253_fail - rx253_pos = $P10."pos"() + rx261_cur."!cursor_pos"(rx261_pos) + $P10 = rx261_cur."panic"(":: not yet implemented") + unless $P10, rx261_fail + rx261_pos = $P10."pos"() # rx pass - rx253_cur."!cursor_pass"(rx253_pos, "metachar:sym<::>") - rx253_cur."!cursor_debug"("PASS ", "metachar:sym<::>", " at pos=", rx253_pos) - .return (rx253_cur) - rx253_fail: -.annotate 'line', 3 - (rx253_rep, rx253_pos, $I10, $P10) = rx253_cur."!mark_fail"(0) - lt rx253_pos, -1, rx253_done - eq rx253_pos, -1, rx253_fail + rx261_cur."!cursor_pass"(rx261_pos, "metachar:sym<::>") + rx261_cur."!cursor_debug"("PASS ", "metachar:sym<::>", " at pos=", rx261_pos) + .return (rx261_cur) + rx261_fail: +.annotate 'line', 3 + (rx261_rep, rx261_pos, $I10, $P10) = rx261_cur."!mark_fail"(0) + lt rx261_pos, -1, rx261_done + eq rx261_pos, -1, rx261_fail jump $I10 - rx253_done: - rx253_cur."!cursor_fail"() - rx253_cur."!cursor_debug"("FAIL ", "metachar:sym<::>") - .return (rx253_cur) + rx261_done: + rx261_cur."!cursor_fail"() + rx261_cur."!cursor_debug"("FAIL ", "metachar:sym<::>") + .return (rx261_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<::>" :subid("72_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<::>" :subid("74_1278500530.77787") :method .annotate 'line', 3 - $P255 = self."!PREFIX__!subrule"("panic", "::") - new $P256, "ResizablePMCArray" - push $P256, $P255 - .return ($P256) + $P263 = self."!PREFIX__!subrule"("panic", "::") + new $P264, "ResizablePMCArray" + push $P264, $P263 + .return ($P264) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("73_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("75_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx260_tgt - .local int rx260_pos - .local int rx260_off - .local int rx260_eos - .local int rx260_rep - .local pmc rx260_cur - (rx260_cur, rx260_pos, rx260_tgt) = self."!cursor_start"() - rx260_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx260_cur + .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 ", "metachar:sym") + .lex unicode:"$\x{a2}", rx268_cur .local pmc match .lex "$/", match - length rx260_eos, rx260_tgt - gt rx260_pos, rx260_eos, rx260_done - set rx260_off, 0 - lt rx260_pos, 2, rx260_start - sub rx260_off, rx260_pos, 1 - substr rx260_tgt, rx260_tgt, rx260_off - rx260_start: + length rx268_eos, rx268_tgt + gt rx268_pos, rx268_eos, rx268_done + 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, rxscan263_done - goto rxscan263_scan - rxscan263_loop: - ($P10) = rx260_cur."from"() + ne $I10, -1, rxscan271_done + goto rxscan271_scan + rxscan271_loop: + ($P10) = rx268_cur."from"() inc $P10 - set rx260_pos, $P10 - ge rx260_pos, rx260_eos, rxscan263_done - rxscan263_scan: - set_addr $I10, rxscan263_loop - rx260_cur."!mark_push"(0, rx260_pos, $I10) - rxscan263_done: -.annotate 'line', 86 + 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', 88 # rx subcapture "sym" - set_addr $I10, rxcap_265_fail - rx260_cur."!mark_push"(0, rx260_pos, $I10) - alt264_0: - set_addr $I10, alt264_1 - rx260_cur."!mark_push"(0, rx260_pos, $I10) + set_addr $I10, rxcap_273_fail + rx268_cur."!mark_push"(0, rx268_pos, $I10) + alt272_0: + set_addr $I10, alt272_1 + rx268_cur."!mark_push"(0, rx268_pos, $I10) # rx literal "<<" - add $I11, rx260_pos, 2 - gt $I11, rx260_eos, rx260_fail - sub $I11, rx260_pos, rx260_off - substr $S10, rx260_tgt, $I11, 2 - ne $S10, "<<", rx260_fail - add rx260_pos, 2 - goto alt264_end - alt264_1: + add $I11, rx268_pos, 2 + gt $I11, rx268_eos, rx268_fail + sub $I11, rx268_pos, rx268_off + substr $S10, rx268_tgt, $I11, 2 + ne $S10, "<<", rx268_fail + add rx268_pos, 2 + goto alt272_end + alt272_1: # rx literal unicode:"\x{ab}" - add $I11, rx260_pos, 1 - gt $I11, rx260_eos, rx260_fail - sub $I11, rx260_pos, rx260_off - substr $S10, rx260_tgt, $I11, 1 - ne $S10, unicode:"\x{ab}", rx260_fail - add rx260_pos, 1 - alt264_end: - set_addr $I10, rxcap_265_fail - ($I12, $I11) = rx260_cur."!mark_peek"($I10) - rx260_cur."!cursor_pos"($I11) - ($P10) = rx260_cur."!cursor_start"() - $P10."!cursor_pass"(rx260_pos, "") - rx260_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx268_pos, 1 + gt $I11, rx268_eos, rx268_fail + sub $I11, rx268_pos, rx268_off + substr $S10, rx268_tgt, $I11, 1 + ne $S10, unicode:"\x{ab}", rx268_fail + add rx268_pos, 1 + alt272_end: + set_addr $I10, rxcap_273_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) $P10."!cursor_names"("sym") - goto rxcap_265_done - rxcap_265_fail: - goto rx260_fail - rxcap_265_done: + goto rxcap_273_done + rxcap_273_fail: + goto rx268_fail + rxcap_273_done: # rx pass - rx260_cur."!cursor_pass"(rx260_pos, "metachar:sym") - rx260_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx260_pos) - .return (rx260_cur) - rx260_fail: -.annotate 'line', 3 - (rx260_rep, rx260_pos, $I10, $P10) = rx260_cur."!mark_fail"(0) - lt rx260_pos, -1, rx260_done - eq rx260_pos, -1, rx260_fail + rx268_cur."!cursor_pass"(rx268_pos, "metachar:sym") + rx268_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx268_pos) + .return (rx268_cur) + rx268_fail: +.annotate 'line', 3 + (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 - rx260_done: - rx260_cur."!cursor_fail"() - rx260_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx260_cur) + rx268_done: + rx268_cur."!cursor_fail"() + rx268_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx268_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("74_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("76_1278500530.77787") :method .annotate 'line', 3 - new $P262, "ResizablePMCArray" - push $P262, unicode:"\x{ab}" - push $P262, "<<" - .return ($P262) + new $P270, "ResizablePMCArray" + push $P270, unicode:"\x{ab}" + push $P270, "<<" + .return ($P270) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("75_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("77_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx267_tgt - .local int rx267_pos - .local int rx267_off - .local int rx267_eos - .local int rx267_rep - .local pmc rx267_cur - (rx267_cur, rx267_pos, rx267_tgt) = self."!cursor_start"() - rx267_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx267_cur + .local string rx275_tgt + .local int rx275_pos + .local int rx275_off + .local int rx275_eos + .local int rx275_rep + .local pmc rx275_cur + (rx275_cur, rx275_pos, rx275_tgt) = self."!cursor_start"() + rx275_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx275_cur .local pmc match .lex "$/", match - length rx267_eos, rx267_tgt - gt rx267_pos, rx267_eos, rx267_done - set rx267_off, 0 - lt rx267_pos, 2, rx267_start - sub rx267_off, rx267_pos, 1 - substr rx267_tgt, rx267_tgt, rx267_off - rx267_start: + length rx275_eos, rx275_tgt + gt rx275_pos, rx275_eos, rx275_done + set rx275_off, 0 + lt rx275_pos, 2, rx275_start + sub rx275_off, rx275_pos, 1 + substr rx275_tgt, rx275_tgt, rx275_off + rx275_start: $I10 = self.'from'() - ne $I10, -1, rxscan270_done - goto rxscan270_scan - rxscan270_loop: - ($P10) = rx267_cur."from"() + ne $I10, -1, rxscan278_done + goto rxscan278_scan + rxscan278_loop: + ($P10) = rx275_cur."from"() inc $P10 - set rx267_pos, $P10 - ge rx267_pos, rx267_eos, rxscan270_done - rxscan270_scan: - set_addr $I10, rxscan270_loop - rx267_cur."!mark_push"(0, rx267_pos, $I10) - rxscan270_done: -.annotate 'line', 87 + set rx275_pos, $P10 + ge rx275_pos, rx275_eos, rxscan278_done + rxscan278_scan: + set_addr $I10, rxscan278_loop + rx275_cur."!mark_push"(0, rx275_pos, $I10) + rxscan278_done: +.annotate 'line', 89 # rx subcapture "sym" - set_addr $I10, rxcap_272_fail - rx267_cur."!mark_push"(0, rx267_pos, $I10) - alt271_0: - set_addr $I10, alt271_1 - rx267_cur."!mark_push"(0, rx267_pos, $I10) + set_addr $I10, rxcap_280_fail + rx275_cur."!mark_push"(0, rx275_pos, $I10) + alt279_0: + set_addr $I10, alt279_1 + rx275_cur."!mark_push"(0, rx275_pos, $I10) # rx literal ">>" - add $I11, rx267_pos, 2 - gt $I11, rx267_eos, rx267_fail - sub $I11, rx267_pos, rx267_off - substr $S10, rx267_tgt, $I11, 2 - ne $S10, ">>", rx267_fail - add rx267_pos, 2 - goto alt271_end - alt271_1: + add $I11, rx275_pos, 2 + gt $I11, rx275_eos, rx275_fail + sub $I11, rx275_pos, rx275_off + substr $S10, rx275_tgt, $I11, 2 + ne $S10, ">>", rx275_fail + add rx275_pos, 2 + goto alt279_end + alt279_1: # rx literal unicode:"\x{bb}" - add $I11, rx267_pos, 1 - gt $I11, rx267_eos, rx267_fail - sub $I11, rx267_pos, rx267_off - substr $S10, rx267_tgt, $I11, 1 - ne $S10, unicode:"\x{bb}", rx267_fail - add rx267_pos, 1 - alt271_end: - set_addr $I10, rxcap_272_fail - ($I12, $I11) = rx267_cur."!mark_peek"($I10) - rx267_cur."!cursor_pos"($I11) - ($P10) = rx267_cur."!cursor_start"() - $P10."!cursor_pass"(rx267_pos, "") - rx267_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx275_pos, 1 + gt $I11, rx275_eos, rx275_fail + sub $I11, rx275_pos, rx275_off + substr $S10, rx275_tgt, $I11, 1 + ne $S10, unicode:"\x{bb}", rx275_fail + add rx275_pos, 1 + alt279_end: + set_addr $I10, rxcap_280_fail + ($I12, $I11) = rx275_cur."!mark_peek"($I10) + rx275_cur."!cursor_pos"($I11) + ($P10) = rx275_cur."!cursor_start"() + $P10."!cursor_pass"(rx275_pos, "") + rx275_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_272_done - rxcap_272_fail: - goto rx267_fail - rxcap_272_done: + goto rxcap_280_done + rxcap_280_fail: + goto rx275_fail + rxcap_280_done: # rx pass - rx267_cur."!cursor_pass"(rx267_pos, "metachar:sym") - rx267_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx267_pos) - .return (rx267_cur) - rx267_fail: -.annotate 'line', 3 - (rx267_rep, rx267_pos, $I10, $P10) = rx267_cur."!mark_fail"(0) - lt rx267_pos, -1, rx267_done - eq rx267_pos, -1, rx267_fail + rx275_cur."!cursor_pass"(rx275_pos, "metachar:sym") + rx275_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx275_pos) + .return (rx275_cur) + rx275_fail: +.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 jump $I10 - rx267_done: - rx267_cur."!cursor_fail"() - rx267_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx267_cur) + rx275_done: + rx275_cur."!cursor_fail"() + rx275_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx275_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("76_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("78_1278500530.77787") :method .annotate 'line', 3 - new $P269, "ResizablePMCArray" - push $P269, unicode:"\x{bb}" - push $P269, ">>" - .return ($P269) + new $P277, "ResizablePMCArray" + push $P277, unicode:"\x{bb}" + push $P277, ">>" + .return ($P277) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("77_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("79_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx274_tgt - .local int rx274_pos - .local int rx274_off - .local int rx274_eos - .local int rx274_rep - .local pmc rx274_cur - (rx274_cur, rx274_pos, rx274_tgt) = self."!cursor_start"() - rx274_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx274_cur + .local string rx282_tgt + .local int rx282_pos + .local int rx282_off + .local int rx282_eos + .local int rx282_rep + .local pmc rx282_cur + (rx282_cur, rx282_pos, rx282_tgt) = self."!cursor_start"() + rx282_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx282_cur .local pmc match .lex "$/", match - length rx274_eos, rx274_tgt - gt rx274_pos, rx274_eos, rx274_done - set rx274_off, 0 - lt rx274_pos, 2, rx274_start - sub rx274_off, rx274_pos, 1 - substr rx274_tgt, rx274_tgt, rx274_off - rx274_start: + length rx282_eos, rx282_tgt + gt rx282_pos, rx282_eos, rx282_done + set rx282_off, 0 + lt rx282_pos, 2, rx282_start + sub rx282_off, rx282_pos, 1 + substr rx282_tgt, rx282_tgt, rx282_off + rx282_start: $I10 = self.'from'() - ne $I10, -1, rxscan278_done - goto rxscan278_scan - rxscan278_loop: - ($P10) = rx274_cur."from"() + ne $I10, -1, rxscan286_done + goto rxscan286_scan + rxscan286_loop: + ($P10) = rx282_cur."from"() inc $P10 - set rx274_pos, $P10 - ge rx274_pos, rx274_eos, rxscan278_done - rxscan278_scan: - set_addr $I10, rxscan278_loop - rx274_cur."!mark_push"(0, rx274_pos, $I10) - rxscan278_done: -.annotate 'line', 88 + set rx282_pos, $P10 + ge rx282_pos, rx282_eos, rxscan286_done + rxscan286_scan: + set_addr $I10, rxscan286_loop + rx282_cur."!mark_push"(0, rx282_pos, $I10) + rxscan286_done: +.annotate 'line', 90 # rx literal "\\" - add $I11, rx274_pos, 1 - gt $I11, rx274_eos, rx274_fail - sub $I11, rx274_pos, rx274_off - substr $S10, rx274_tgt, $I11, 1 - ne $S10, "\\", rx274_fail - add rx274_pos, 1 + add $I11, rx282_pos, 1 + gt $I11, rx282_eos, rx282_fail + sub $I11, rx282_pos, rx282_off + substr $S10, rx282_tgt, $I11, 1 + ne $S10, "\\", rx282_fail + add rx282_pos, 1 # rx subrule "backslash" subtype=capture negate= - rx274_cur."!cursor_pos"(rx274_pos) - $P10 = rx274_cur."backslash"() - unless $P10, rx274_fail - rx274_cur."!mark_push"(0, -1, 0, $P10) + rx282_cur."!cursor_pos"(rx282_pos) + $P10 = rx282_cur."backslash"() + unless $P10, rx282_fail + rx282_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("backslash") - rx274_pos = $P10."pos"() + rx282_pos = $P10."pos"() # rx pass - rx274_cur."!cursor_pass"(rx274_pos, "metachar:sym") - rx274_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx274_pos) - .return (rx274_cur) - rx274_fail: -.annotate 'line', 3 - (rx274_rep, rx274_pos, $I10, $P10) = rx274_cur."!mark_fail"(0) - lt rx274_pos, -1, rx274_done - eq rx274_pos, -1, rx274_fail + rx282_cur."!cursor_pass"(rx282_pos, "metachar:sym") + rx282_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx282_pos) + .return (rx282_cur) + rx282_fail: +.annotate 'line', 3 + (rx282_rep, rx282_pos, $I10, $P10) = rx282_cur."!mark_fail"(0) + lt rx282_pos, -1, rx282_done + eq rx282_pos, -1, rx282_fail jump $I10 - rx274_done: - rx274_cur."!cursor_fail"() - rx274_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx274_cur) + rx282_done: + rx282_cur."!cursor_fail"() + rx282_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx282_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("78_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("80_1278500530.77787") :method .annotate 'line', 3 - $P276 = self."!PREFIX__!subrule"("backslash", "\\") - new $P277, "ResizablePMCArray" - push $P277, $P276 - .return ($P277) + $P284 = self."!PREFIX__!subrule"("backslash", "\\") + new $P285, "ResizablePMCArray" + push $P285, $P284 + .return ($P285) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("79_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("81_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx280_tgt - .local int rx280_pos - .local int rx280_off - .local int rx280_eos - .local int rx280_rep - .local pmc rx280_cur - (rx280_cur, rx280_pos, rx280_tgt) = self."!cursor_start"() - rx280_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx280_cur + .local string rx288_tgt + .local int rx288_pos + .local int rx288_off + .local int rx288_eos + .local int rx288_rep + .local pmc rx288_cur + (rx288_cur, rx288_pos, rx288_tgt) = self."!cursor_start"() + rx288_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx288_cur .local pmc match .lex "$/", match - length rx280_eos, rx280_tgt - gt rx280_pos, rx280_eos, rx280_done - set rx280_off, 0 - lt rx280_pos, 2, rx280_start - sub rx280_off, rx280_pos, 1 - substr rx280_tgt, rx280_tgt, rx280_off - rx280_start: + length rx288_eos, rx288_tgt + gt rx288_pos, rx288_eos, rx288_done + set rx288_off, 0 + lt rx288_pos, 2, rx288_start + sub rx288_off, rx288_pos, 1 + substr rx288_tgt, rx288_tgt, rx288_off + rx288_start: $I10 = self.'from'() - ne $I10, -1, rxscan284_done - goto rxscan284_scan - rxscan284_loop: - ($P10) = rx280_cur."from"() + ne $I10, -1, rxscan292_done + goto rxscan292_scan + rxscan292_loop: + ($P10) = rx288_cur."from"() inc $P10 - set rx280_pos, $P10 - ge rx280_pos, rx280_eos, rxscan284_done - rxscan284_scan: - set_addr $I10, rxscan284_loop - rx280_cur."!mark_push"(0, rx280_pos, $I10) - rxscan284_done: -.annotate 'line', 89 + set rx288_pos, $P10 + ge rx288_pos, rx288_eos, rxscan292_done + rxscan292_scan: + set_addr $I10, rxscan292_loop + rx288_cur."!mark_push"(0, rx288_pos, $I10) + rxscan292_done: +.annotate 'line', 91 # rx subrule "mod_internal" subtype=capture negate= - rx280_cur."!cursor_pos"(rx280_pos) - $P10 = rx280_cur."mod_internal"() - unless $P10, rx280_fail - rx280_cur."!mark_push"(0, -1, 0, $P10) + rx288_cur."!cursor_pos"(rx288_pos) + $P10 = rx288_cur."mod_internal"() + unless $P10, rx288_fail + rx288_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("mod_internal") - rx280_pos = $P10."pos"() + rx288_pos = $P10."pos"() # rx pass - rx280_cur."!cursor_pass"(rx280_pos, "metachar:sym") - rx280_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx280_pos) - .return (rx280_cur) - rx280_fail: -.annotate 'line', 3 - (rx280_rep, rx280_pos, $I10, $P10) = rx280_cur."!mark_fail"(0) - lt rx280_pos, -1, rx280_done - eq rx280_pos, -1, rx280_fail + 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 + (rx288_rep, rx288_pos, $I10, $P10) = rx288_cur."!mark_fail"(0) + lt rx288_pos, -1, rx288_done + eq rx288_pos, -1, rx288_fail jump $I10 - rx280_done: - rx280_cur."!cursor_fail"() - rx280_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx280_cur) + rx288_done: + rx288_cur."!cursor_fail"() + rx288_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx288_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("80_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("82_1278500530.77787") :method .annotate 'line', 3 - $P282 = self."!PREFIX__!subrule"("mod_internal", "") - new $P283, "ResizablePMCArray" - push $P283, $P282 - .return ($P283) + $P290 = self."!PREFIX__!subrule"("mod_internal", "") + new $P291, "ResizablePMCArray" + push $P291, $P290 + .return ($P291) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<~>" :subid("81_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<~>" :subid("83_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "metachar:sym<~>") - .lex unicode:"$\x{a2}", rx286_cur + .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 ", "metachar:sym<~>") + .lex unicode:"$\x{a2}", rx294_cur .local pmc match .lex "$/", match - length rx286_eos, rx286_tgt - gt rx286_pos, rx286_eos, rx286_done - 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: + length rx294_eos, rx294_tgt + gt rx294_pos, rx294_eos, rx294_done + 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, rxscan290_done - goto rxscan290_scan - rxscan290_loop: - ($P10) = rx286_cur."from"() + ne $I10, -1, rxscan298_done + goto rxscan298_scan + rxscan298_loop: + ($P10) = rx294_cur."from"() inc $P10 - set rx286_pos, $P10 - ge rx286_pos, rx286_eos, rxscan290_done - rxscan290_scan: - set_addr $I10, rxscan290_loop - rx286_cur."!mark_push"(0, rx286_pos, $I10) - rxscan290_done: -.annotate 'line', 93 + set rx294_pos, $P10 + ge rx294_pos, rx294_eos, rxscan298_done + rxscan298_scan: + set_addr $I10, rxscan298_loop + rx294_cur."!mark_push"(0, rx294_pos, $I10) + rxscan298_done: +.annotate 'line', 95 # rx subcapture "sym" - set_addr $I10, rxcap_291_fail - rx286_cur."!mark_push"(0, rx286_pos, $I10) + set_addr $I10, rxcap_299_fail + rx294_cur."!mark_push"(0, rx294_pos, $I10) # rx literal "~" - add $I11, rx286_pos, 1 - gt $I11, rx286_eos, rx286_fail - sub $I11, rx286_pos, rx286_off - substr $S10, rx286_tgt, $I11, 1 - ne $S10, "~", rx286_fail - add rx286_pos, 1 - 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, 1 + gt $I11, rx294_eos, rx294_fail + sub $I11, rx294_pos, rx294_off + substr $S10, rx294_tgt, $I11, 1 + ne $S10, "~", rx294_fail + add rx294_pos, 1 + 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: -.annotate 'line', 94 + goto rxcap_299_done + rxcap_299_fail: + goto rx294_fail + rxcap_299_done: +.annotate 'line', 96 # rx subrule "ws" subtype=method negate= - rx286_cur."!cursor_pos"(rx286_pos) - $P10 = rx286_cur."ws"() - unless $P10, rx286_fail - rx286_pos = $P10."pos"() + rx294_cur."!cursor_pos"(rx294_pos) + $P10 = rx294_cur."ws"() + unless $P10, rx294_fail + rx294_pos = $P10."pos"() # rx subrule "quantified_atom" subtype=capture negate= - rx286_cur."!cursor_pos"(rx286_pos) - $P10 = rx286_cur."quantified_atom"() - unless $P10, rx286_fail - rx286_cur."!mark_push"(0, -1, 0, $P10) + rx294_cur."!cursor_pos"(rx294_pos) + $P10 = rx294_cur."quantified_atom"() + unless $P10, rx294_fail + rx294_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("GOAL") - rx286_pos = $P10."pos"() -.annotate 'line', 95 + rx294_pos = $P10."pos"() +.annotate 'line', 97 # rx subrule "ws" subtype=method negate= - rx286_cur."!cursor_pos"(rx286_pos) - $P10 = rx286_cur."ws"() - unless $P10, rx286_fail - rx286_pos = $P10."pos"() + rx294_cur."!cursor_pos"(rx294_pos) + $P10 = rx294_cur."ws"() + unless $P10, rx294_fail + rx294_pos = $P10."pos"() # rx subrule "quantified_atom" subtype=capture negate= - rx286_cur."!cursor_pos"(rx286_pos) - $P10 = rx286_cur."quantified_atom"() - unless $P10, rx286_fail - rx286_cur."!mark_push"(0, -1, 0, $P10) + rx294_cur."!cursor_pos"(rx294_pos) + $P10 = rx294_cur."quantified_atom"() + unless $P10, rx294_fail + rx294_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("EXPR") - rx286_pos = $P10."pos"() -.annotate 'line', 92 + rx294_pos = $P10."pos"() +.annotate 'line', 94 # rx pass - rx286_cur."!cursor_pass"(rx286_pos, "metachar:sym<~>") - rx286_cur."!cursor_debug"("PASS ", "metachar:sym<~>", " at pos=", rx286_pos) - .return (rx286_cur) - rx286_fail: -.annotate 'line', 3 - (rx286_rep, rx286_pos, $I10, $P10) = rx286_cur."!mark_fail"(0) - lt rx286_pos, -1, rx286_done - eq rx286_pos, -1, rx286_fail + rx294_cur."!cursor_pass"(rx294_pos, "metachar:sym<~>") + rx294_cur."!cursor_debug"("PASS ", "metachar:sym<~>", " at pos=", rx294_pos) + .return (rx294_cur) + rx294_fail: +.annotate 'line', 3 + (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 - rx286_done: - rx286_cur."!cursor_fail"() - rx286_cur."!cursor_debug"("FAIL ", "metachar:sym<~>") - .return (rx286_cur) + rx294_done: + rx294_cur."!cursor_fail"() + rx294_cur."!cursor_debug"("FAIL ", "metachar:sym<~>") + .return (rx294_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<~>" :subid("82_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<~>" :subid("84_1278500530.77787") :method .annotate 'line', 3 - $P288 = self."!PREFIX__!subrule"("ws", "~") - new $P289, "ResizablePMCArray" - push $P289, $P288 - .return ($P289) + $P296 = self."!PREFIX__!subrule"("ws", "~") + new $P297, "ResizablePMCArray" + push $P297, $P296 + .return ($P297) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym<{*}>" :subid("83_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym<{*}>" :subid("85_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx293_tgt - .local int rx293_pos - .local int rx293_off - .local int rx293_eos - .local int rx293_rep - .local pmc rx293_cur - (rx293_cur, rx293_pos, rx293_tgt) = self."!cursor_start"() - rx293_cur."!cursor_debug"("START ", "metachar:sym<{*}>") - rx293_cur."!cursor_caparray"("key") - .lex unicode:"$\x{a2}", rx293_cur + .local string rx301_tgt + .local int rx301_pos + .local int rx301_off + .local int rx301_eos + .local int rx301_rep + .local pmc rx301_cur + (rx301_cur, rx301_pos, rx301_tgt) = self."!cursor_start"() + rx301_cur."!cursor_debug"("START ", "metachar:sym<{*}>") + rx301_cur."!cursor_caparray"("key") + .lex unicode:"$\x{a2}", rx301_cur .local pmc match .lex "$/", match - length rx293_eos, rx293_tgt - gt rx293_pos, rx293_eos, rx293_done - set rx293_off, 0 - lt rx293_pos, 2, rx293_start - sub rx293_off, rx293_pos, 1 - substr rx293_tgt, rx293_tgt, rx293_off - rx293_start: + length rx301_eos, rx301_tgt + gt rx301_pos, rx301_eos, rx301_done + set rx301_off, 0 + lt rx301_pos, 2, rx301_start + sub rx301_off, rx301_pos, 1 + substr rx301_tgt, rx301_tgt, rx301_off + rx301_start: $I10 = self.'from'() - ne $I10, -1, rxscan296_done - goto rxscan296_scan - rxscan296_loop: - ($P10) = rx293_cur."from"() + ne $I10, -1, rxscan304_done + goto rxscan304_scan + rxscan304_loop: + ($P10) = rx301_cur."from"() inc $P10 - set rx293_pos, $P10 - ge rx293_pos, rx293_eos, rxscan296_done - rxscan296_scan: - set_addr $I10, rxscan296_loop - rx293_cur."!mark_push"(0, rx293_pos, $I10) - rxscan296_done: -.annotate 'line', 99 + set rx301_pos, $P10 + ge rx301_pos, rx301_eos, rxscan304_done + rxscan304_scan: + set_addr $I10, rxscan304_loop + rx301_cur."!mark_push"(0, rx301_pos, $I10) + rxscan304_done: +.annotate 'line', 101 # rx subcapture "sym" - set_addr $I10, rxcap_297_fail - rx293_cur."!mark_push"(0, rx293_pos, $I10) + set_addr $I10, rxcap_305_fail + rx301_cur."!mark_push"(0, rx301_pos, $I10) # rx literal "{*}" - add $I11, rx293_pos, 3 - gt $I11, rx293_eos, rx293_fail - sub $I11, rx293_pos, rx293_off - substr $S10, rx293_tgt, $I11, 3 - ne $S10, "{*}", rx293_fail - add rx293_pos, 3 - set_addr $I10, rxcap_297_fail - ($I12, $I11) = rx293_cur."!mark_peek"($I10) - rx293_cur."!cursor_pos"($I11) - ($P10) = rx293_cur."!cursor_start"() - $P10."!cursor_pass"(rx293_pos, "") - rx293_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx301_pos, 3 + gt $I11, rx301_eos, rx301_fail + sub $I11, rx301_pos, rx301_off + substr $S10, rx301_tgt, $I11, 3 + ne $S10, "{*}", rx301_fail + add rx301_pos, 3 + set_addr $I10, rxcap_305_fail + ($I12, $I11) = rx301_cur."!mark_peek"($I10) + rx301_cur."!cursor_pos"($I11) + ($P10) = rx301_cur."!cursor_start"() + $P10."!cursor_pass"(rx301_pos, "") + rx301_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_297_done - rxcap_297_fail: - goto rx293_fail - rxcap_297_done: -.annotate 'line', 100 - # rx rxquantr298 ** 0..1 - set_addr $I308, rxquantr298_done - rx293_cur."!mark_push"(0, rx293_pos, $I308) - rxquantr298_loop: - # rx rxquantr299 ** 0..* - set_addr $I300, rxquantr299_done - rx293_cur."!mark_push"(0, rx293_pos, $I300) - rxquantr299_loop: + goto rxcap_305_done + rxcap_305_fail: + goto rx301_fail + rxcap_305_done: +.annotate 'line', 102 + # rx rxquantr306 ** 0..1 + set_addr $I316, rxquantr306_done + rx301_cur."!mark_push"(0, rx301_pos, $I316) + rxquantr306_loop: + # rx rxquantr307 ** 0..* + set_addr $I308, rxquantr307_done + rx301_cur."!mark_push"(0, rx301_pos, $I308) + rxquantr307_loop: # rx enumcharlist negate=0 - ge rx293_pos, rx293_eos, rx293_fail - sub $I10, rx293_pos, rx293_off - substr $S10, rx293_tgt, $I10, 1 + ge rx301_pos, rx301_eos, rx301_fail + sub $I10, rx301_pos, rx301_off + substr $S10, rx301_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, rx293_fail - inc rx293_pos - (rx293_rep) = rx293_cur."!mark_commit"($I300) - rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I300) - goto rxquantr299_loop - rxquantr299_done: + lt $I11, 0, rx301_fail + inc rx301_pos + (rx301_rep) = rx301_cur."!mark_commit"($I308) + rx301_cur."!mark_push"(rx301_rep, rx301_pos, $I308) + goto rxquantr307_loop + rxquantr307_done: # rx literal "#= " - add $I11, rx293_pos, 3 - gt $I11, rx293_eos, rx293_fail - sub $I11, rx293_pos, rx293_off - substr $S10, rx293_tgt, $I11, 3 - ne $S10, "#= ", rx293_fail - add rx293_pos, 3 - # rx rxquantr301 ** 0..* - set_addr $I302, rxquantr301_done - rx293_cur."!mark_push"(0, rx293_pos, $I302) - rxquantr301_loop: + add $I11, rx301_pos, 3 + gt $I11, rx301_eos, rx301_fail + sub $I11, rx301_pos, rx301_off + substr $S10, rx301_tgt, $I11, 3 + ne $S10, "#= ", rx301_fail + add rx301_pos, 3 + # rx rxquantr309 ** 0..* + set_addr $I310, rxquantr309_done + rx301_cur."!mark_push"(0, rx301_pos, $I310) + rxquantr309_loop: # rx enumcharlist negate=0 - ge rx293_pos, rx293_eos, rx293_fail - sub $I10, rx293_pos, rx293_off - substr $S10, rx293_tgt, $I10, 1 + ge rx301_pos, rx301_eos, rx301_fail + sub $I10, rx301_pos, rx301_off + substr $S10, rx301_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, rx293_fail - inc rx293_pos - (rx293_rep) = rx293_cur."!mark_commit"($I302) - rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I302) - goto rxquantr301_loop - rxquantr301_done: + lt $I11, 0, rx301_fail + inc rx301_pos + (rx301_rep) = rx301_cur."!mark_commit"($I310) + rx301_cur."!mark_push"(rx301_rep, rx301_pos, $I310) + goto rxquantr309_loop + rxquantr309_done: # rx subcapture "key" - set_addr $I10, rxcap_307_fail - rx293_cur."!mark_push"(0, rx293_pos, $I10) + set_addr $I10, rxcap_315_fail + rx301_cur."!mark_push"(0, rx301_pos, $I10) # rx charclass_q S r 1..-1 - sub $I10, rx293_pos, rx293_off - find_cclass $I11, 32, rx293_tgt, $I10, rx293_eos + sub $I10, rx301_pos, rx301_off + find_cclass $I11, 32, rx301_tgt, $I10, rx301_eos add $I12, $I10, 1 - lt $I11, $I12, rx293_fail - add rx293_pos, rx293_off, $I11 - # rx rxquantr303 ** 0..* - set_addr $I306, rxquantr303_done - rx293_cur."!mark_push"(0, rx293_pos, $I306) - rxquantr303_loop: - # rx rxquantr304 ** 1..* - set_addr $I305, rxquantr304_done - rx293_cur."!mark_push"(0, -1, $I305) - rxquantr304_loop: + lt $I11, $I12, rx301_fail + add rx301_pos, rx301_off, $I11 + # rx rxquantr311 ** 0..* + set_addr $I314, rxquantr311_done + rx301_cur."!mark_push"(0, rx301_pos, $I314) + rxquantr311_loop: + # rx rxquantr312 ** 1..* + set_addr $I313, rxquantr312_done + rx301_cur."!mark_push"(0, -1, $I313) + rxquantr312_loop: # rx enumcharlist negate=0 - ge rx293_pos, rx293_eos, rx293_fail - sub $I10, rx293_pos, rx293_off - substr $S10, rx293_tgt, $I10, 1 + ge rx301_pos, rx301_eos, rx301_fail + sub $I10, rx301_pos, rx301_off + substr $S10, rx301_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, rx293_fail - inc rx293_pos - (rx293_rep) = rx293_cur."!mark_commit"($I305) - rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I305) - goto rxquantr304_loop - rxquantr304_done: + lt $I11, 0, rx301_fail + inc rx301_pos + (rx301_rep) = rx301_cur."!mark_commit"($I313) + rx301_cur."!mark_push"(rx301_rep, rx301_pos, $I313) + goto rxquantr312_loop + rxquantr312_done: # rx charclass_q S r 1..-1 - sub $I10, rx293_pos, rx293_off - find_cclass $I11, 32, rx293_tgt, $I10, rx293_eos + sub $I10, rx301_pos, rx301_off + find_cclass $I11, 32, rx301_tgt, $I10, rx301_eos add $I12, $I10, 1 - lt $I11, $I12, rx293_fail - add rx293_pos, rx293_off, $I11 - (rx293_rep) = rx293_cur."!mark_commit"($I306) - rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I306) - goto rxquantr303_loop - rxquantr303_done: - set_addr $I10, rxcap_307_fail - ($I12, $I11) = rx293_cur."!mark_peek"($I10) - rx293_cur."!cursor_pos"($I11) - ($P10) = rx293_cur."!cursor_start"() - $P10."!cursor_pass"(rx293_pos, "") - rx293_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx301_fail + add rx301_pos, rx301_off, $I11 + (rx301_rep) = rx301_cur."!mark_commit"($I314) + rx301_cur."!mark_push"(rx301_rep, rx301_pos, $I314) + goto rxquantr311_loop + rxquantr311_done: + set_addr $I10, rxcap_315_fail + ($I12, $I11) = rx301_cur."!mark_peek"($I10) + rx301_cur."!cursor_pos"($I11) + ($P10) = rx301_cur."!cursor_start"() + $P10."!cursor_pass"(rx301_pos, "") + rx301_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("key") - goto rxcap_307_done - rxcap_307_fail: - goto rx293_fail - rxcap_307_done: - (rx293_rep) = rx293_cur."!mark_commit"($I308) - rxquantr298_done: -.annotate 'line', 98 + goto rxcap_315_done + rxcap_315_fail: + goto rx301_fail + rxcap_315_done: + (rx301_rep) = rx301_cur."!mark_commit"($I316) + rxquantr306_done: +.annotate 'line', 100 # rx pass - rx293_cur."!cursor_pass"(rx293_pos, "metachar:sym<{*}>") - rx293_cur."!cursor_debug"("PASS ", "metachar:sym<{*}>", " at pos=", rx293_pos) - .return (rx293_cur) - rx293_fail: -.annotate 'line', 3 - (rx293_rep, rx293_pos, $I10, $P10) = rx293_cur."!mark_fail"(0) - lt rx293_pos, -1, rx293_done - eq rx293_pos, -1, rx293_fail + rx301_cur."!cursor_pass"(rx301_pos, "metachar:sym<{*}>") + rx301_cur."!cursor_debug"("PASS ", "metachar:sym<{*}>", " at pos=", rx301_pos) + .return (rx301_cur) + rx301_fail: +.annotate 'line', 3 + (rx301_rep, rx301_pos, $I10, $P10) = rx301_cur."!mark_fail"(0) + lt rx301_pos, -1, rx301_done + eq rx301_pos, -1, rx301_fail jump $I10 - rx293_done: - rx293_cur."!cursor_fail"() - rx293_cur."!cursor_debug"("FAIL ", "metachar:sym<{*}>") - .return (rx293_cur) + rx301_done: + rx301_cur."!cursor_fail"() + rx301_cur."!cursor_debug"("FAIL ", "metachar:sym<{*}>") + .return (rx301_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1276996307.3412") :method +.sub "!PREFIX__metachar:sym<{*}>" :subid("86_1278500530.77787") :method .annotate 'line', 3 - new $P295, "ResizablePMCArray" - push $P295, "{*}" - .return ($P295) + new $P303, "ResizablePMCArray" + push $P303, "{*}" + .return ($P303) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("85_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("87_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx310_tgt - .local int rx310_pos - .local int rx310_off - .local int rx310_eos - .local int rx310_rep - .local pmc rx310_cur - (rx310_cur, rx310_pos, rx310_tgt) = self."!cursor_start"() - rx310_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx310_cur + .local string rx318_tgt + .local int rx318_pos + .local int rx318_off + .local int rx318_eos + .local int rx318_rep + .local pmc rx318_cur + (rx318_cur, rx318_pos, rx318_tgt) = self."!cursor_start"() + rx318_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx318_cur .local pmc match .lex "$/", match - length rx310_eos, rx310_tgt - gt rx310_pos, rx310_eos, rx310_done - set rx310_off, 0 - lt rx310_pos, 2, rx310_start - sub rx310_off, rx310_pos, 1 - substr rx310_tgt, rx310_tgt, rx310_off - rx310_start: + length rx318_eos, rx318_tgt + gt rx318_pos, rx318_eos, rx318_done + set rx318_off, 0 + lt rx318_pos, 2, rx318_start + sub rx318_off, rx318_pos, 1 + substr rx318_tgt, rx318_tgt, rx318_off + rx318_start: $I10 = self.'from'() - ne $I10, -1, rxscan314_done - goto rxscan314_scan - rxscan314_loop: - ($P10) = rx310_cur."from"() + ne $I10, -1, rxscan322_done + goto rxscan322_scan + rxscan322_loop: + ($P10) = rx318_cur."from"() inc $P10 - set rx310_pos, $P10 - ge rx310_pos, rx310_eos, rxscan314_done - rxscan314_scan: - set_addr $I10, rxscan314_loop - rx310_cur."!mark_push"(0, rx310_pos, $I10) - rxscan314_done: -.annotate 'line', 103 + set rx318_pos, $P10 + ge rx318_pos, rx318_eos, rxscan322_done + rxscan322_scan: + set_addr $I10, rxscan322_loop + rx318_cur."!mark_push"(0, rx318_pos, $I10) + rxscan322_done: +.annotate 'line', 105 # rx literal "<" - add $I11, rx310_pos, 1 - gt $I11, rx310_eos, rx310_fail - sub $I11, rx310_pos, rx310_off - substr $S10, rx310_tgt, $I11, 1 - ne $S10, "<", rx310_fail - add rx310_pos, 1 + add $I11, rx318_pos, 1 + gt $I11, rx318_eos, rx318_fail + sub $I11, rx318_pos, rx318_off + substr $S10, rx318_tgt, $I11, 1 + ne $S10, "<", rx318_fail + add rx318_pos, 1 # rx subrule "assertion" subtype=capture negate= - rx310_cur."!cursor_pos"(rx310_pos) - $P10 = rx310_cur."assertion"() - unless $P10, rx310_fail - rx310_cur."!mark_push"(0, -1, 0, $P10) + rx318_cur."!cursor_pos"(rx318_pos) + $P10 = rx318_cur."assertion"() + unless $P10, rx318_fail + rx318_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("assertion") - rx310_pos = $P10."pos"() - alt315_0: -.annotate 'line', 104 - set_addr $I10, alt315_1 - rx310_cur."!mark_push"(0, rx310_pos, $I10) + rx318_pos = $P10."pos"() + alt323_0: +.annotate 'line', 106 + set_addr $I10, alt323_1 + rx318_cur."!mark_push"(0, rx318_pos, $I10) # rx literal ">" - add $I11, rx310_pos, 1 - gt $I11, rx310_eos, rx310_fail - sub $I11, rx310_pos, rx310_off - substr $S10, rx310_tgt, $I11, 1 - ne $S10, ">", rx310_fail - add rx310_pos, 1 - goto alt315_end - alt315_1: + add $I11, rx318_pos, 1 + gt $I11, rx318_eos, rx318_fail + sub $I11, rx318_pos, rx318_off + substr $S10, rx318_tgt, $I11, 1 + ne $S10, ">", rx318_fail + add rx318_pos, 1 + goto alt323_end + alt323_1: # rx subrule "panic" subtype=method negate= - rx310_cur."!cursor_pos"(rx310_pos) - $P10 = rx310_cur."panic"("regex assertion not terminated by angle bracket") - unless $P10, rx310_fail - rx310_pos = $P10."pos"() - alt315_end: -.annotate 'line', 102 + rx318_cur."!cursor_pos"(rx318_pos) + $P10 = rx318_cur."panic"("regex assertion not terminated by angle bracket") + unless $P10, rx318_fail + rx318_pos = $P10."pos"() + alt323_end: +.annotate 'line', 104 # rx pass - rx310_cur."!cursor_pass"(rx310_pos, "metachar:sym") - rx310_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx310_pos) - .return (rx310_cur) - rx310_fail: -.annotate 'line', 3 - (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0) - lt rx310_pos, -1, rx310_done - eq rx310_pos, -1, rx310_fail + rx318_cur."!cursor_pass"(rx318_pos, "metachar:sym") + rx318_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx318_pos) + .return (rx318_cur) + rx318_fail: +.annotate 'line', 3 + (rx318_rep, rx318_pos, $I10, $P10) = rx318_cur."!mark_fail"(0) + lt rx318_pos, -1, rx318_done + eq rx318_pos, -1, rx318_fail jump $I10 - rx310_done: - rx310_cur."!cursor_fail"() - rx310_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx310_cur) + rx318_done: + rx318_cur."!cursor_fail"() + rx318_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx318_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("86_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("88_1278500530.77787") :method .annotate 'line', 3 - $P312 = self."!PREFIX__!subrule"("assertion", "<") - new $P313, "ResizablePMCArray" - push $P313, $P312 - .return ($P313) + $P320 = self."!PREFIX__!subrule"("assertion", "<") + new $P321, "ResizablePMCArray" + push $P321, $P320 + .return ($P321) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("87_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("89_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx317_tgt - .local int rx317_pos - .local int rx317_off - .local int rx317_eos - .local int rx317_rep - .local pmc rx317_cur - (rx317_cur, rx317_pos, rx317_tgt) = self."!cursor_start"() - rx317_cur."!cursor_debug"("START ", "metachar:sym") - rx317_cur."!cursor_caparray"("quantified_atom") - .lex unicode:"$\x{a2}", rx317_cur + .local string rx325_tgt + .local int rx325_pos + .local int rx325_off + .local int rx325_eos + .local int rx325_rep + .local pmc rx325_cur + (rx325_cur, rx325_pos, rx325_tgt) = self."!cursor_start"() + rx325_cur."!cursor_debug"("START ", "metachar:sym") + rx325_cur."!cursor_caparray"("quantified_atom") + .lex unicode:"$\x{a2}", rx325_cur .local pmc match .lex "$/", match - length rx317_eos, rx317_tgt - gt rx317_pos, rx317_eos, rx317_done - set rx317_off, 0 - lt rx317_pos, 2, rx317_start - sub rx317_off, rx317_pos, 1 - substr rx317_tgt, rx317_tgt, rx317_off - rx317_start: + length rx325_eos, rx325_tgt + gt rx325_pos, rx325_eos, rx325_done + set rx325_off, 0 + lt rx325_pos, 2, rx325_start + sub rx325_off, rx325_pos, 1 + substr rx325_tgt, rx325_tgt, rx325_off + rx325_start: $I10 = self.'from'() - ne $I10, -1, rxscan320_done - goto rxscan320_scan - rxscan320_loop: - ($P10) = rx317_cur."from"() + ne $I10, -1, rxscan328_done + goto rxscan328_scan + rxscan328_loop: + ($P10) = rx325_cur."from"() inc $P10 - set rx317_pos, $P10 - ge rx317_pos, rx317_eos, rxscan320_done - rxscan320_scan: - set_addr $I10, rxscan320_loop - rx317_cur."!mark_push"(0, rx317_pos, $I10) - rxscan320_done: - alt321_0: -.annotate 'line', 108 - set_addr $I10, alt321_1 - rx317_cur."!mark_push"(0, rx317_pos, $I10) -.annotate 'line', 109 + set rx325_pos, $P10 + ge rx325_pos, rx325_eos, rxscan328_done + rxscan328_scan: + set_addr $I10, rxscan328_loop + rx325_cur."!mark_push"(0, rx325_pos, $I10) + rxscan328_done: + alt329_0: +.annotate 'line', 110 + set_addr $I10, alt329_1 + rx325_cur."!mark_push"(0, rx325_pos, $I10) +.annotate 'line', 111 # rx literal "$<" - add $I11, rx317_pos, 2 - gt $I11, rx317_eos, rx317_fail - sub $I11, rx317_pos, rx317_off - substr $S10, rx317_tgt, $I11, 2 - ne $S10, "$<", rx317_fail - add rx317_pos, 2 + add $I11, rx325_pos, 2 + gt $I11, rx325_eos, rx325_fail + sub $I11, rx325_pos, rx325_off + substr $S10, rx325_tgt, $I11, 2 + ne $S10, "$<", rx325_fail + add rx325_pos, 2 # rx subcapture "name" - set_addr $I10, rxcap_324_fail - rx317_cur."!mark_push"(0, rx317_pos, $I10) - # rx rxquantr322 ** 1..* - set_addr $I323, rxquantr322_done - rx317_cur."!mark_push"(0, -1, $I323) - rxquantr322_loop: + set_addr $I10, rxcap_332_fail + rx325_cur."!mark_push"(0, rx325_pos, $I10) + # rx rxquantr330 ** 1..* + set_addr $I331, rxquantr330_done + rx325_cur."!mark_push"(0, -1, $I331) + rxquantr330_loop: # rx enumcharlist negate=1 - ge rx317_pos, rx317_eos, rx317_fail - sub $I10, rx317_pos, rx317_off - substr $S10, rx317_tgt, $I10, 1 + ge rx325_pos, rx325_eos, rx325_fail + sub $I10, rx325_pos, rx325_off + substr $S10, rx325_tgt, $I10, 1 index $I11, ">", $S10 - ge $I11, 0, rx317_fail - inc rx317_pos - (rx317_rep) = rx317_cur."!mark_commit"($I323) - rx317_cur."!mark_push"(rx317_rep, rx317_pos, $I323) - goto rxquantr322_loop - rxquantr322_done: - set_addr $I10, rxcap_324_fail - ($I12, $I11) = rx317_cur."!mark_peek"($I10) - rx317_cur."!cursor_pos"($I11) - ($P10) = rx317_cur."!cursor_start"() - $P10."!cursor_pass"(rx317_pos, "") - rx317_cur."!mark_push"(0, -1, 0, $P10) + ge $I11, 0, rx325_fail + inc rx325_pos + (rx325_rep) = rx325_cur."!mark_commit"($I331) + rx325_cur."!mark_push"(rx325_rep, rx325_pos, $I331) + goto rxquantr330_loop + rxquantr330_done: + set_addr $I10, rxcap_332_fail + ($I12, $I11) = rx325_cur."!mark_peek"($I10) + rx325_cur."!cursor_pos"($I11) + ($P10) = rx325_cur."!cursor_start"() + $P10."!cursor_pass"(rx325_pos, "") + rx325_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - goto rxcap_324_done - rxcap_324_fail: - goto rx317_fail - rxcap_324_done: + goto rxcap_332_done + rxcap_332_fail: + goto rx325_fail + rxcap_332_done: # rx literal ">" - add $I11, rx317_pos, 1 - gt $I11, rx317_eos, rx317_fail - sub $I11, rx317_pos, rx317_off - substr $S10, rx317_tgt, $I11, 1 - ne $S10, ">", rx317_fail - add rx317_pos, 1 - goto alt321_end - alt321_1: -.annotate 'line', 110 + add $I11, rx325_pos, 1 + gt $I11, rx325_eos, rx325_fail + sub $I11, rx325_pos, rx325_off + substr $S10, rx325_tgt, $I11, 1 + ne $S10, ">", rx325_fail + add rx325_pos, 1 + goto alt329_end + alt329_1: +.annotate 'line', 112 # rx literal "$" - add $I11, rx317_pos, 1 - gt $I11, rx317_eos, rx317_fail - sub $I11, rx317_pos, rx317_off - substr $S10, rx317_tgt, $I11, 1 - ne $S10, "$", rx317_fail - add rx317_pos, 1 + add $I11, rx325_pos, 1 + gt $I11, rx325_eos, rx325_fail + sub $I11, rx325_pos, rx325_off + substr $S10, rx325_tgt, $I11, 1 + ne $S10, "$", rx325_fail + add rx325_pos, 1 # rx subcapture "pos" - set_addr $I10, rxcap_325_fail - rx317_cur."!mark_push"(0, rx317_pos, $I10) + set_addr $I10, rxcap_333_fail + rx325_cur."!mark_push"(0, rx325_pos, $I10) # rx charclass_q d r 1..-1 - sub $I10, rx317_pos, rx317_off - find_not_cclass $I11, 8, rx317_tgt, $I10, rx317_eos + sub $I10, rx325_pos, rx325_off + find_not_cclass $I11, 8, rx325_tgt, $I10, rx325_eos add $I12, $I10, 1 - lt $I11, $I12, rx317_fail - add rx317_pos, rx317_off, $I11 - set_addr $I10, rxcap_325_fail - ($I12, $I11) = rx317_cur."!mark_peek"($I10) - rx317_cur."!cursor_pos"($I11) - ($P10) = rx317_cur."!cursor_start"() - $P10."!cursor_pass"(rx317_pos, "") - rx317_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx325_fail + add rx325_pos, rx325_off, $I11 + set_addr $I10, rxcap_333_fail + ($I12, $I11) = rx325_cur."!mark_peek"($I10) + rx325_cur."!cursor_pos"($I11) + ($P10) = rx325_cur."!cursor_start"() + $P10."!cursor_pass"(rx325_pos, "") + rx325_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("pos") - goto rxcap_325_done - rxcap_325_fail: - goto rx317_fail - rxcap_325_done: - alt321_end: -.annotate 'line', 113 - # rx rxquantr326 ** 0..1 - set_addr $I327, rxquantr326_done - rx317_cur."!mark_push"(0, rx317_pos, $I327) - rxquantr326_loop: + goto rxcap_333_done + rxcap_333_fail: + goto rx325_fail + rxcap_333_done: + alt329_end: +.annotate 'line', 115 + # rx rxquantr334 ** 0..1 + set_addr $I335, rxquantr334_done + rx325_cur."!mark_push"(0, rx325_pos, $I335) + rxquantr334_loop: # rx subrule "ws" subtype=method negate= - rx317_cur."!cursor_pos"(rx317_pos) - $P10 = rx317_cur."ws"() - unless $P10, rx317_fail - rx317_pos = $P10."pos"() + rx325_cur."!cursor_pos"(rx325_pos) + $P10 = rx325_cur."ws"() + unless $P10, rx325_fail + rx325_pos = $P10."pos"() # rx literal "=" - add $I11, rx317_pos, 1 - gt $I11, rx317_eos, rx317_fail - sub $I11, rx317_pos, rx317_off - substr $S10, rx317_tgt, $I11, 1 - ne $S10, "=", rx317_fail - add rx317_pos, 1 + add $I11, rx325_pos, 1 + gt $I11, rx325_eos, rx325_fail + sub $I11, rx325_pos, rx325_off + substr $S10, rx325_tgt, $I11, 1 + ne $S10, "=", rx325_fail + add rx325_pos, 1 # rx subrule "ws" subtype=method negate= - rx317_cur."!cursor_pos"(rx317_pos) - $P10 = rx317_cur."ws"() - unless $P10, rx317_fail - rx317_pos = $P10."pos"() + rx325_cur."!cursor_pos"(rx325_pos) + $P10 = rx325_cur."ws"() + unless $P10, rx325_fail + rx325_pos = $P10."pos"() # rx subrule "quantified_atom" subtype=capture negate= - rx317_cur."!cursor_pos"(rx317_pos) - $P10 = rx317_cur."quantified_atom"() - unless $P10, rx317_fail - rx317_cur."!mark_push"(0, -1, 0, $P10) + rx325_cur."!cursor_pos"(rx325_pos) + $P10 = rx325_cur."quantified_atom"() + unless $P10, rx325_fail + rx325_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("quantified_atom") - rx317_pos = $P10."pos"() - (rx317_rep) = rx317_cur."!mark_commit"($I327) - rxquantr326_done: -.annotate 'line', 107 + rx325_pos = $P10."pos"() + (rx325_rep) = rx325_cur."!mark_commit"($I335) + rxquantr334_done: +.annotate 'line', 109 # rx pass - rx317_cur."!cursor_pass"(rx317_pos, "metachar:sym") - rx317_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx317_pos) - .return (rx317_cur) - rx317_fail: -.annotate 'line', 3 - (rx317_rep, rx317_pos, $I10, $P10) = rx317_cur."!mark_fail"(0) - lt rx317_pos, -1, rx317_done - eq rx317_pos, -1, rx317_fail + rx325_cur."!cursor_pass"(rx325_pos, "metachar:sym") + rx325_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx325_pos) + .return (rx325_cur) + rx325_fail: +.annotate 'line', 3 + (rx325_rep, rx325_pos, $I10, $P10) = rx325_cur."!mark_fail"(0) + lt rx325_pos, -1, rx325_done + eq rx325_pos, -1, rx325_fail jump $I10 - rx317_done: - rx317_cur."!cursor_fail"() - rx317_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx317_cur) + rx325_done: + rx325_cur."!cursor_fail"() + rx325_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx325_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("88_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("90_1278500530.77787") :method .annotate 'line', 3 - new $P319, "ResizablePMCArray" - push $P319, "$" - push $P319, "$<" - .return ($P319) + new $P327, "ResizablePMCArray" + push $P327, "$" + push $P327, "$<" + .return ($P327) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "metachar:sym" :subid("89_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "metachar:sym" :subid("91_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx329_tgt - .local int rx329_pos - .local int rx329_off - .local int rx329_eos - .local int rx329_rep - .local pmc rx329_cur - (rx329_cur, rx329_pos, rx329_tgt) = self."!cursor_start"() - rx329_cur."!cursor_debug"("START ", "metachar:sym") - .lex unicode:"$\x{a2}", rx329_cur + .local string rx337_tgt + .local int rx337_pos + .local int rx337_off + .local int rx337_eos + .local int rx337_rep + .local pmc rx337_cur + (rx337_cur, rx337_pos, rx337_tgt) = self."!cursor_start"() + rx337_cur."!cursor_debug"("START ", "metachar:sym") + .lex unicode:"$\x{a2}", rx337_cur .local pmc match .lex "$/", match - length rx329_eos, rx329_tgt - gt rx329_pos, rx329_eos, rx329_done - set rx329_off, 0 - lt rx329_pos, 2, rx329_start - sub rx329_off, rx329_pos, 1 - substr rx329_tgt, rx329_tgt, rx329_off - rx329_start: + length rx337_eos, rx337_tgt + gt rx337_pos, rx337_eos, rx337_done + set rx337_off, 0 + lt rx337_pos, 2, rx337_start + sub rx337_off, rx337_pos, 1 + substr rx337_tgt, rx337_tgt, rx337_off + rx337_start: $I10 = self.'from'() - ne $I10, -1, rxscan332_done - goto rxscan332_scan - rxscan332_loop: - ($P10) = rx329_cur."from"() + ne $I10, -1, rxscan340_done + goto rxscan340_scan + rxscan340_loop: + ($P10) = rx337_cur."from"() inc $P10 - set rx329_pos, $P10 - ge rx329_pos, rx329_eos, rxscan332_done - rxscan332_scan: - set_addr $I10, rxscan332_loop - rx329_cur."!mark_push"(0, rx329_pos, $I10) - rxscan332_done: -.annotate 'line', 117 + set rx337_pos, $P10 + ge rx337_pos, rx337_eos, rxscan340_done + rxscan340_scan: + set_addr $I10, rxscan340_loop + rx337_cur."!mark_push"(0, rx337_pos, $I10) + rxscan340_done: +.annotate 'line', 119 # rx literal ":PIR{{" - add $I11, rx329_pos, 6 - gt $I11, rx329_eos, rx329_fail - sub $I11, rx329_pos, rx329_off - substr $S10, rx329_tgt, $I11, 6 - ne $S10, ":PIR{{", rx329_fail - add rx329_pos, 6 + add $I11, rx337_pos, 6 + gt $I11, rx337_eos, rx337_fail + sub $I11, rx337_pos, rx337_off + substr $S10, rx337_tgt, $I11, 6 + ne $S10, ":PIR{{", rx337_fail + add rx337_pos, 6 # rx subcapture "pir" - set_addr $I10, rxcap_335_fail - rx329_cur."!mark_push"(0, rx329_pos, $I10) - # rx rxquantf333 ** 0..* - set_addr $I10, rxquantf333_loop - rx329_cur."!mark_push"(0, rx329_pos, $I10) - goto rxquantf333_done - rxquantf333_loop: + set_addr $I10, rxcap_343_fail + rx337_cur."!mark_push"(0, rx337_pos, $I10) + # rx rxquantf341 ** 0..* + set_addr $I10, rxquantf341_loop + rx337_cur."!mark_push"(0, rx337_pos, $I10) + goto rxquantf341_done + rxquantf341_loop: # rx charclass . - ge rx329_pos, rx329_eos, rx329_fail - inc rx329_pos - set_addr $I10, rxquantf333_loop - rx329_cur."!mark_push"($I334, rx329_pos, $I10) - rxquantf333_done: - set_addr $I10, rxcap_335_fail - ($I12, $I11) = rx329_cur."!mark_peek"($I10) - rx329_cur."!cursor_pos"($I11) - ($P10) = rx329_cur."!cursor_start"() - $P10."!cursor_pass"(rx329_pos, "") - rx329_cur."!mark_push"(0, -1, 0, $P10) + ge rx337_pos, rx337_eos, rx337_fail + inc rx337_pos + set_addr $I10, rxquantf341_loop + rx337_cur."!mark_push"($I342, rx337_pos, $I10) + rxquantf341_done: + set_addr $I10, rxcap_343_fail + ($I12, $I11) = rx337_cur."!mark_peek"($I10) + rx337_cur."!cursor_pos"($I11) + ($P10) = rx337_cur."!cursor_start"() + $P10."!cursor_pass"(rx337_pos, "") + rx337_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("pir") - goto rxcap_335_done - rxcap_335_fail: - goto rx329_fail - rxcap_335_done: + goto rxcap_343_done + rxcap_343_fail: + goto rx337_fail + rxcap_343_done: # rx literal "}}" - add $I11, rx329_pos, 2 - gt $I11, rx329_eos, rx329_fail - sub $I11, rx329_pos, rx329_off - substr $S10, rx329_tgt, $I11, 2 - ne $S10, "}}", rx329_fail - add rx329_pos, 2 -.annotate 'line', 116 + add $I11, rx337_pos, 2 + gt $I11, rx337_eos, rx337_fail + sub $I11, rx337_pos, rx337_off + substr $S10, rx337_tgt, $I11, 2 + ne $S10, "}}", rx337_fail + add rx337_pos, 2 +.annotate 'line', 118 # rx pass - rx329_cur."!cursor_pass"(rx329_pos, "metachar:sym") - rx329_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx329_pos) - .return (rx329_cur) - rx329_fail: -.annotate 'line', 3 - (rx329_rep, rx329_pos, $I10, $P10) = rx329_cur."!mark_fail"(0) - lt rx329_pos, -1, rx329_done - eq rx329_pos, -1, rx329_fail + rx337_cur."!cursor_pass"(rx337_pos, "metachar:sym") + rx337_cur."!cursor_debug"("PASS ", "metachar:sym", " at pos=", rx337_pos) + .return (rx337_cur) + rx337_fail: +.annotate 'line', 3 + (rx337_rep, rx337_pos, $I10, $P10) = rx337_cur."!mark_fail"(0) + lt rx337_pos, -1, rx337_done + eq rx337_pos, -1, rx337_fail jump $I10 - rx329_done: - rx329_cur."!cursor_fail"() - rx329_cur."!cursor_debug"("FAIL ", "metachar:sym") - .return (rx329_cur) + rx337_done: + rx337_cur."!cursor_fail"() + rx337_cur."!cursor_debug"("FAIL ", "metachar:sym") + .return (rx337_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__metachar:sym" :subid("90_1276996307.3412") :method +.sub "!PREFIX__metachar:sym" :subid("92_1278500530.77787") :method .annotate 'line', 3 - new $P331, "ResizablePMCArray" - push $P331, ":PIR{{" - .return ($P331) + new $P339, "ResizablePMCArray" + push $P339, ":PIR{{" + .return ($P339) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash" :subid("91_1276996307.3412") :method -.annotate 'line', 120 - $P337 = self."!protoregex"("backslash") - .return ($P337) +.sub "backslash" :subid("93_1278500530.77787") :method +.annotate 'line', 122 + $P345 = self."!protoregex"("backslash") + .return ($P345) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash" :subid("92_1276996307.3412") :method -.annotate 'line', 120 - $P339 = self."!PREFIX__!protoregex"("backslash") - .return ($P339) +.sub "!PREFIX__backslash" :subid("94_1278500530.77787") :method +.annotate 'line', 122 + $P347 = self."!PREFIX__!protoregex"("backslash") + .return ($P347) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("93_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("95_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx341_tgt - .local int rx341_pos - .local int rx341_off - .local int rx341_eos - .local int rx341_rep - .local pmc rx341_cur - (rx341_cur, rx341_pos, rx341_tgt) = self."!cursor_start"() - rx341_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx341_cur + .local string rx349_tgt + .local int rx349_pos + .local int rx349_off + .local int rx349_eos + .local int rx349_rep + .local pmc rx349_cur + (rx349_cur, rx349_pos, rx349_tgt) = self."!cursor_start"() + rx349_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx349_cur .local pmc match .lex "$/", match - length rx341_eos, rx341_tgt - gt rx341_pos, rx341_eos, rx341_done - set rx341_off, 0 - lt rx341_pos, 2, rx341_start - sub rx341_off, rx341_pos, 1 - substr rx341_tgt, rx341_tgt, rx341_off - rx341_start: + length rx349_eos, rx349_tgt + gt rx349_pos, rx349_eos, rx349_done + set rx349_off, 0 + lt rx349_pos, 2, rx349_start + sub rx349_off, rx349_pos, 1 + substr rx349_tgt, rx349_tgt, rx349_off + rx349_start: $I10 = self.'from'() - ne $I10, -1, rxscan344_done - goto rxscan344_scan - rxscan344_loop: - ($P10) = rx341_cur."from"() + ne $I10, -1, rxscan352_done + goto rxscan352_scan + rxscan352_loop: + ($P10) = rx349_cur."from"() inc $P10 - set rx341_pos, $P10 - ge rx341_pos, rx341_eos, rxscan344_done - rxscan344_scan: - set_addr $I10, rxscan344_loop - rx341_cur."!mark_push"(0, rx341_pos, $I10) - rxscan344_done: -.annotate 'line', 121 + set rx349_pos, $P10 + ge rx349_pos, rx349_eos, rxscan352_done + rxscan352_scan: + set_addr $I10, rxscan352_loop + rx349_cur."!mark_push"(0, rx349_pos, $I10) + rxscan352_done: +.annotate 'line', 123 # rx subcapture "sym" - set_addr $I10, rxcap_345_fail - rx341_cur."!mark_push"(0, rx341_pos, $I10) + set_addr $I10, rxcap_353_fail + rx349_cur."!mark_push"(0, rx349_pos, $I10) # rx enumcharlist negate=0 - ge rx341_pos, rx341_eos, rx341_fail - sub $I10, rx341_pos, rx341_off - substr $S10, rx341_tgt, $I10, 1 + ge rx349_pos, rx349_eos, rx349_fail + sub $I10, rx349_pos, rx349_off + substr $S10, rx349_tgt, $I10, 1 index $I11, "dswnDSWN", $S10 - lt $I11, 0, rx341_fail - inc rx341_pos - set_addr $I10, rxcap_345_fail - ($I12, $I11) = rx341_cur."!mark_peek"($I10) - rx341_cur."!cursor_pos"($I11) - ($P10) = rx341_cur."!cursor_start"() - $P10."!cursor_pass"(rx341_pos, "") - rx341_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx349_fail + inc rx349_pos + set_addr $I10, rxcap_353_fail + ($I12, $I11) = rx349_cur."!mark_peek"($I10) + rx349_cur."!cursor_pos"($I11) + ($P10) = rx349_cur."!cursor_start"() + $P10."!cursor_pass"(rx349_pos, "") + rx349_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_345_done - rxcap_345_fail: - goto rx341_fail - rxcap_345_done: + goto rxcap_353_done + rxcap_353_fail: + goto rx349_fail + rxcap_353_done: # rx pass - rx341_cur."!cursor_pass"(rx341_pos, "backslash:sym") - rx341_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx341_pos) - .return (rx341_cur) - rx341_fail: -.annotate 'line', 3 - (rx341_rep, rx341_pos, $I10, $P10) = rx341_cur."!mark_fail"(0) - lt rx341_pos, -1, rx341_done - eq rx341_pos, -1, rx341_fail + rx349_cur."!cursor_pass"(rx349_pos, "backslash:sym") + rx349_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx349_pos) + .return (rx349_cur) + rx349_fail: +.annotate 'line', 3 + (rx349_rep, rx349_pos, $I10, $P10) = rx349_cur."!mark_fail"(0) + lt rx349_pos, -1, rx349_done + eq rx349_pos, -1, rx349_fail jump $I10 - rx341_done: - rx341_cur."!cursor_fail"() - rx341_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx341_cur) + rx349_done: + rx349_cur."!cursor_fail"() + rx349_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx349_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("94_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("96_1278500530.77787") :method .annotate 'line', 3 - new $P343, "ResizablePMCArray" - push $P343, "N" - push $P343, "W" - push $P343, "S" - push $P343, "D" - push $P343, "n" - push $P343, "w" - push $P343, "s" - push $P343, "d" - .return ($P343) + new $P351, "ResizablePMCArray" + push $P351, "N" + push $P351, "W" + push $P351, "S" + push $P351, "D" + push $P351, "n" + push $P351, "w" + push $P351, "s" + push $P351, "d" + .return ($P351) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("95_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("97_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx347_tgt - .local int rx347_pos - .local int rx347_off - .local int rx347_eos - .local int rx347_rep - .local pmc rx347_cur - (rx347_cur, rx347_pos, rx347_tgt) = self."!cursor_start"() - rx347_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx347_cur + .local string rx355_tgt + .local int rx355_pos + .local int rx355_off + .local int rx355_eos + .local int rx355_rep + .local pmc rx355_cur + (rx355_cur, rx355_pos, rx355_tgt) = self."!cursor_start"() + rx355_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx355_cur .local pmc match .lex "$/", match - length rx347_eos, rx347_tgt - gt rx347_pos, rx347_eos, rx347_done - set rx347_off, 0 - lt rx347_pos, 2, rx347_start - sub rx347_off, rx347_pos, 1 - substr rx347_tgt, rx347_tgt, rx347_off - rx347_start: + length rx355_eos, rx355_tgt + gt rx355_pos, rx355_eos, rx355_done + set rx355_off, 0 + lt rx355_pos, 2, rx355_start + sub rx355_off, rx355_pos, 1 + substr rx355_tgt, rx355_tgt, rx355_off + rx355_start: $I10 = self.'from'() - ne $I10, -1, rxscan350_done - goto rxscan350_scan - rxscan350_loop: - ($P10) = rx347_cur."from"() + ne $I10, -1, rxscan358_done + goto rxscan358_scan + rxscan358_loop: + ($P10) = rx355_cur."from"() inc $P10 - set rx347_pos, $P10 - ge rx347_pos, rx347_eos, rxscan350_done - rxscan350_scan: - set_addr $I10, rxscan350_loop - rx347_cur."!mark_push"(0, rx347_pos, $I10) - rxscan350_done: -.annotate 'line', 122 + set rx355_pos, $P10 + ge rx355_pos, rx355_eos, rxscan358_done + rxscan358_scan: + set_addr $I10, rxscan358_loop + rx355_cur."!mark_push"(0, rx355_pos, $I10) + rxscan358_done: +.annotate 'line', 124 # rx subcapture "sym" - set_addr $I10, rxcap_351_fail - rx347_cur."!mark_push"(0, rx347_pos, $I10) + set_addr $I10, rxcap_359_fail + rx355_cur."!mark_push"(0, rx355_pos, $I10) # rx enumcharlist negate=0 - ge rx347_pos, rx347_eos, rx347_fail - sub $I10, rx347_pos, rx347_off - substr $S10, rx347_tgt, $I10, 1 + ge rx355_pos, rx355_eos, rx355_fail + sub $I10, rx355_pos, rx355_off + substr $S10, rx355_tgt, $I10, 1 index $I11, "bB", $S10 - lt $I11, 0, rx347_fail - inc rx347_pos - set_addr $I10, rxcap_351_fail - ($I12, $I11) = rx347_cur."!mark_peek"($I10) - rx347_cur."!cursor_pos"($I11) - ($P10) = rx347_cur."!cursor_start"() - $P10."!cursor_pass"(rx347_pos, "") - rx347_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx355_fail + inc rx355_pos + set_addr $I10, rxcap_359_fail + ($I12, $I11) = rx355_cur."!mark_peek"($I10) + rx355_cur."!cursor_pos"($I11) + ($P10) = rx355_cur."!cursor_start"() + $P10."!cursor_pass"(rx355_pos, "") + rx355_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_351_done - rxcap_351_fail: - goto rx347_fail - rxcap_351_done: + goto rxcap_359_done + rxcap_359_fail: + goto rx355_fail + rxcap_359_done: # rx pass - rx347_cur."!cursor_pass"(rx347_pos, "backslash:sym") - rx347_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx347_pos) - .return (rx347_cur) - rx347_fail: -.annotate 'line', 3 - (rx347_rep, rx347_pos, $I10, $P10) = rx347_cur."!mark_fail"(0) - lt rx347_pos, -1, rx347_done - eq rx347_pos, -1, rx347_fail + rx355_cur."!cursor_pass"(rx355_pos, "backslash:sym") + rx355_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx355_pos) + .return (rx355_cur) + rx355_fail: +.annotate 'line', 3 + (rx355_rep, rx355_pos, $I10, $P10) = rx355_cur."!mark_fail"(0) + lt rx355_pos, -1, rx355_done + eq rx355_pos, -1, rx355_fail jump $I10 - rx347_done: - rx347_cur."!cursor_fail"() - rx347_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx347_cur) + rx355_done: + rx355_cur."!cursor_fail"() + rx355_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx355_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("96_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("98_1278500530.77787") :method .annotate 'line', 3 - new $P349, "ResizablePMCArray" - push $P349, "B" - push $P349, "b" - .return ($P349) + new $P357, "ResizablePMCArray" + push $P357, "B" + push $P357, "b" + .return ($P357) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("97_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("99_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx353_tgt - .local int rx353_pos - .local int rx353_off - .local int rx353_eos - .local int rx353_rep - .local pmc rx353_cur - (rx353_cur, rx353_pos, rx353_tgt) = self."!cursor_start"() - rx353_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx353_cur + .local string rx361_tgt + .local int rx361_pos + .local int rx361_off + .local int rx361_eos + .local int rx361_rep + .local pmc rx361_cur + (rx361_cur, rx361_pos, rx361_tgt) = self."!cursor_start"() + rx361_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx361_cur .local pmc match .lex "$/", match - length rx353_eos, rx353_tgt - gt rx353_pos, rx353_eos, rx353_done - set rx353_off, 0 - lt rx353_pos, 2, rx353_start - sub rx353_off, rx353_pos, 1 - substr rx353_tgt, rx353_tgt, rx353_off - rx353_start: + length rx361_eos, rx361_tgt + gt rx361_pos, rx361_eos, rx361_done + set rx361_off, 0 + lt rx361_pos, 2, rx361_start + sub rx361_off, rx361_pos, 1 + substr rx361_tgt, rx361_tgt, rx361_off + rx361_start: $I10 = self.'from'() - ne $I10, -1, rxscan356_done - goto rxscan356_scan - rxscan356_loop: - ($P10) = rx353_cur."from"() + ne $I10, -1, rxscan364_done + goto rxscan364_scan + rxscan364_loop: + ($P10) = rx361_cur."from"() inc $P10 - set rx353_pos, $P10 - ge rx353_pos, rx353_eos, rxscan356_done - rxscan356_scan: - set_addr $I10, rxscan356_loop - rx353_cur."!mark_push"(0, rx353_pos, $I10) - rxscan356_done: -.annotate 'line', 123 + set rx361_pos, $P10 + ge rx361_pos, rx361_eos, rxscan364_done + rxscan364_scan: + set_addr $I10, rxscan364_loop + rx361_cur."!mark_push"(0, rx361_pos, $I10) + rxscan364_done: +.annotate 'line', 125 # rx subcapture "sym" - set_addr $I10, rxcap_357_fail - rx353_cur."!mark_push"(0, rx353_pos, $I10) + set_addr $I10, rxcap_365_fail + rx361_cur."!mark_push"(0, rx361_pos, $I10) # rx enumcharlist negate=0 - ge rx353_pos, rx353_eos, rx353_fail - sub $I10, rx353_pos, rx353_off - substr $S10, rx353_tgt, $I10, 1 + ge rx361_pos, rx361_eos, rx361_fail + sub $I10, rx361_pos, rx361_off + substr $S10, rx361_tgt, $I10, 1 index $I11, "eE", $S10 - lt $I11, 0, rx353_fail - inc rx353_pos - set_addr $I10, rxcap_357_fail - ($I12, $I11) = rx353_cur."!mark_peek"($I10) - rx353_cur."!cursor_pos"($I11) - ($P10) = rx353_cur."!cursor_start"() - $P10."!cursor_pass"(rx353_pos, "") - rx353_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx361_fail + inc rx361_pos + set_addr $I10, rxcap_365_fail + ($I12, $I11) = rx361_cur."!mark_peek"($I10) + rx361_cur."!cursor_pos"($I11) + ($P10) = rx361_cur."!cursor_start"() + $P10."!cursor_pass"(rx361_pos, "") + rx361_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_357_done - rxcap_357_fail: - goto rx353_fail - rxcap_357_done: + goto rxcap_365_done + rxcap_365_fail: + goto rx361_fail + rxcap_365_done: # rx pass - rx353_cur."!cursor_pass"(rx353_pos, "backslash:sym") - rx353_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx353_pos) - .return (rx353_cur) - rx353_fail: -.annotate 'line', 3 - (rx353_rep, rx353_pos, $I10, $P10) = rx353_cur."!mark_fail"(0) - lt rx353_pos, -1, rx353_done - eq rx353_pos, -1, rx353_fail + rx361_cur."!cursor_pass"(rx361_pos, "backslash:sym") + rx361_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx361_pos) + .return (rx361_cur) + rx361_fail: +.annotate 'line', 3 + (rx361_rep, rx361_pos, $I10, $P10) = rx361_cur."!mark_fail"(0) + lt rx361_pos, -1, rx361_done + eq rx361_pos, -1, rx361_fail jump $I10 - rx353_done: - rx353_cur."!cursor_fail"() - rx353_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx353_cur) + rx361_done: + rx361_cur."!cursor_fail"() + rx361_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx361_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("98_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("100_1278500530.77787") :method .annotate 'line', 3 - new $P355, "ResizablePMCArray" - push $P355, "E" - push $P355, "e" - .return ($P355) + new $P363, "ResizablePMCArray" + push $P363, "E" + push $P363, "e" + .return ($P363) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("99_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("101_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx359_tgt - .local int rx359_pos - .local int rx359_off - .local int rx359_eos - .local int rx359_rep - .local pmc rx359_cur - (rx359_cur, rx359_pos, rx359_tgt) = self."!cursor_start"() - rx359_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx359_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx367_cur .local pmc match .lex "$/", match - length rx359_eos, rx359_tgt - gt rx359_pos, rx359_eos, rx359_done - set rx359_off, 0 - lt rx359_pos, 2, rx359_start - sub rx359_off, rx359_pos, 1 - substr rx359_tgt, rx359_tgt, rx359_off - rx359_start: + length rx367_eos, rx367_tgt + gt rx367_pos, rx367_eos, rx367_done + 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, rxscan362_done - goto rxscan362_scan - rxscan362_loop: - ($P10) = rx359_cur."from"() + ne $I10, -1, rxscan370_done + goto rxscan370_scan + rxscan370_loop: + ($P10) = rx367_cur."from"() inc $P10 - set rx359_pos, $P10 - ge rx359_pos, rx359_eos, rxscan362_done - rxscan362_scan: - set_addr $I10, rxscan362_loop - rx359_cur."!mark_push"(0, rx359_pos, $I10) - rxscan362_done: -.annotate 'line', 124 + 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', 126 # rx subcapture "sym" - set_addr $I10, rxcap_363_fail - rx359_cur."!mark_push"(0, rx359_pos, $I10) + set_addr $I10, rxcap_371_fail + rx367_cur."!mark_push"(0, rx367_pos, $I10) # rx enumcharlist negate=0 - ge rx359_pos, rx359_eos, rx359_fail - sub $I10, rx359_pos, rx359_off - substr $S10, rx359_tgt, $I10, 1 + ge rx367_pos, rx367_eos, rx367_fail + sub $I10, rx367_pos, rx367_off + substr $S10, rx367_tgt, $I10, 1 index $I11, "fF", $S10 - lt $I11, 0, rx359_fail - inc rx359_pos - set_addr $I10, rxcap_363_fail - ($I12, $I11) = rx359_cur."!mark_peek"($I10) - rx359_cur."!cursor_pos"($I11) - ($P10) = rx359_cur."!cursor_start"() - $P10."!cursor_pass"(rx359_pos, "") - rx359_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx367_fail + inc rx367_pos + 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_363_done - rxcap_363_fail: - goto rx359_fail - rxcap_363_done: + goto rxcap_371_done + rxcap_371_fail: + goto rx367_fail + rxcap_371_done: # rx pass - rx359_cur."!cursor_pass"(rx359_pos, "backslash:sym") - rx359_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx359_pos) - .return (rx359_cur) - rx359_fail: -.annotate 'line', 3 - (rx359_rep, rx359_pos, $I10, $P10) = rx359_cur."!mark_fail"(0) - lt rx359_pos, -1, rx359_done - eq rx359_pos, -1, rx359_fail + rx367_cur."!cursor_pass"(rx367_pos, "backslash:sym") + rx367_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx367_pos) + .return (rx367_cur) + rx367_fail: +.annotate 'line', 3 + (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 - rx359_done: - rx359_cur."!cursor_fail"() - rx359_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx359_cur) + rx367_done: + rx367_cur."!cursor_fail"() + rx367_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx367_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("100_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("102_1278500530.77787") :method .annotate 'line', 3 - new $P361, "ResizablePMCArray" - push $P361, "F" - push $P361, "f" - .return ($P361) + new $P369, "ResizablePMCArray" + push $P369, "F" + push $P369, "f" + .return ($P369) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("101_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("103_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "backslash:sym") - .lex unicode:"$\x{a2}", rx365_cur + .local string rx373_tgt + .local int rx373_pos + .local int rx373_off + .local int rx373_eos + .local int rx373_rep + .local pmc rx373_cur + (rx373_cur, rx373_pos, rx373_tgt) = self."!cursor_start"() + rx373_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx373_cur .local pmc match .lex "$/", match - length rx365_eos, rx365_tgt - gt rx365_pos, rx365_eos, rx365_done - 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: + length rx373_eos, rx373_tgt + gt rx373_pos, rx373_eos, rx373_done + set rx373_off, 0 + lt rx373_pos, 2, rx373_start + sub rx373_off, rx373_pos, 1 + substr rx373_tgt, rx373_tgt, rx373_off + rx373_start: $I10 = self.'from'() - ne $I10, -1, rxscan368_done - goto rxscan368_scan - rxscan368_loop: - ($P10) = rx365_cur."from"() + ne $I10, -1, rxscan376_done + goto rxscan376_scan + rxscan376_loop: + ($P10) = rx373_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', 125 + set rx373_pos, $P10 + ge rx373_pos, rx373_eos, rxscan376_done + rxscan376_scan: + set_addr $I10, rxscan376_loop + rx373_cur."!mark_push"(0, rx373_pos, $I10) + rxscan376_done: +.annotate 'line', 127 # rx subcapture "sym" - set_addr $I10, rxcap_369_fail - rx365_cur."!mark_push"(0, rx365_pos, $I10) + set_addr $I10, rxcap_377_fail + rx373_cur."!mark_push"(0, rx373_pos, $I10) # rx enumcharlist negate=0 - ge rx365_pos, rx365_eos, rx365_fail - sub $I10, rx365_pos, rx365_off - substr $S10, rx365_tgt, $I10, 1 + ge rx373_pos, rx373_eos, rx373_fail + sub $I10, rx373_pos, rx373_off + substr $S10, rx373_tgt, $I10, 1 index $I11, "hH", $S10 - lt $I11, 0, rx365_fail - inc rx365_pos - set_addr $I10, rxcap_369_fail - ($I12, $I11) = rx365_cur."!mark_peek"($I10) - rx365_cur."!cursor_pos"($I11) - ($P10) = rx365_cur."!cursor_start"() - $P10."!cursor_pass"(rx365_pos, "") - rx365_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx373_fail + inc rx373_pos + set_addr $I10, rxcap_377_fail + ($I12, $I11) = rx373_cur."!mark_peek"($I10) + rx373_cur."!cursor_pos"($I11) + ($P10) = rx373_cur."!cursor_start"() + $P10."!cursor_pass"(rx373_pos, "") + rx373_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_369_done - rxcap_369_fail: - goto rx365_fail - rxcap_369_done: + goto rxcap_377_done + rxcap_377_fail: + goto rx373_fail + rxcap_377_done: # rx pass - rx365_cur."!cursor_pass"(rx365_pos, "backslash:sym") - rx365_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx365_pos) - .return (rx365_cur) - rx365_fail: -.annotate 'line', 3 - (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0) - lt rx365_pos, -1, rx365_done - eq rx365_pos, -1, rx365_fail + rx373_cur."!cursor_pass"(rx373_pos, "backslash:sym") + rx373_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx373_pos) + .return (rx373_cur) + rx373_fail: +.annotate 'line', 3 + (rx373_rep, rx373_pos, $I10, $P10) = rx373_cur."!mark_fail"(0) + lt rx373_pos, -1, rx373_done + eq rx373_pos, -1, rx373_fail jump $I10 - rx365_done: - rx365_cur."!cursor_fail"() - rx365_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx365_cur) + rx373_done: + rx373_cur."!cursor_fail"() + rx373_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx373_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("102_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("104_1278500530.77787") :method .annotate 'line', 3 - new $P367, "ResizablePMCArray" - push $P367, "H" - push $P367, "h" - .return ($P367) + new $P375, "ResizablePMCArray" + push $P375, "H" + push $P375, "h" + .return ($P375) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("103_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("105_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx371_tgt - .local int rx371_pos - .local int rx371_off - .local int rx371_eos - .local int rx371_rep - .local pmc rx371_cur - (rx371_cur, rx371_pos, rx371_tgt) = self."!cursor_start"() - rx371_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx371_cur + .local string rx379_tgt + .local int rx379_pos + .local int rx379_off + .local int rx379_eos + .local int rx379_rep + .local pmc rx379_cur + (rx379_cur, rx379_pos, rx379_tgt) = self."!cursor_start"() + rx379_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx379_cur .local pmc match .lex "$/", match - length rx371_eos, rx371_tgt - gt rx371_pos, rx371_eos, rx371_done - set rx371_off, 0 - lt rx371_pos, 2, rx371_start - sub rx371_off, rx371_pos, 1 - substr rx371_tgt, rx371_tgt, rx371_off - rx371_start: + length rx379_eos, rx379_tgt + gt rx379_pos, rx379_eos, rx379_done + set rx379_off, 0 + lt rx379_pos, 2, rx379_start + sub rx379_off, rx379_pos, 1 + substr rx379_tgt, rx379_tgt, rx379_off + rx379_start: $I10 = self.'from'() - ne $I10, -1, rxscan374_done - goto rxscan374_scan - rxscan374_loop: - ($P10) = rx371_cur."from"() + ne $I10, -1, rxscan382_done + goto rxscan382_scan + rxscan382_loop: + ($P10) = rx379_cur."from"() inc $P10 - set rx371_pos, $P10 - ge rx371_pos, rx371_eos, rxscan374_done - rxscan374_scan: - set_addr $I10, rxscan374_loop - rx371_cur."!mark_push"(0, rx371_pos, $I10) - rxscan374_done: -.annotate 'line', 126 + set rx379_pos, $P10 + ge rx379_pos, rx379_eos, rxscan382_done + rxscan382_scan: + set_addr $I10, rxscan382_loop + rx379_cur."!mark_push"(0, rx379_pos, $I10) + rxscan382_done: +.annotate 'line', 128 # rx subcapture "sym" - set_addr $I10, rxcap_375_fail - rx371_cur."!mark_push"(0, rx371_pos, $I10) + set_addr $I10, rxcap_383_fail + rx379_cur."!mark_push"(0, rx379_pos, $I10) # rx enumcharlist negate=0 - ge rx371_pos, rx371_eos, rx371_fail - sub $I10, rx371_pos, rx371_off - substr $S10, rx371_tgt, $I10, 1 + ge rx379_pos, rx379_eos, rx379_fail + sub $I10, rx379_pos, rx379_off + substr $S10, rx379_tgt, $I10, 1 index $I11, "rR", $S10 - lt $I11, 0, rx371_fail - inc rx371_pos - set_addr $I10, rxcap_375_fail - ($I12, $I11) = rx371_cur."!mark_peek"($I10) - rx371_cur."!cursor_pos"($I11) - ($P10) = rx371_cur."!cursor_start"() - $P10."!cursor_pass"(rx371_pos, "") - rx371_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx379_fail + inc rx379_pos + set_addr $I10, rxcap_383_fail + ($I12, $I11) = rx379_cur."!mark_peek"($I10) + rx379_cur."!cursor_pos"($I11) + ($P10) = rx379_cur."!cursor_start"() + $P10."!cursor_pass"(rx379_pos, "") + rx379_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_375_done - rxcap_375_fail: - goto rx371_fail - rxcap_375_done: + goto rxcap_383_done + rxcap_383_fail: + goto rx379_fail + rxcap_383_done: # rx pass - rx371_cur."!cursor_pass"(rx371_pos, "backslash:sym") - rx371_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx371_pos) - .return (rx371_cur) - rx371_fail: -.annotate 'line', 3 - (rx371_rep, rx371_pos, $I10, $P10) = rx371_cur."!mark_fail"(0) - lt rx371_pos, -1, rx371_done - eq rx371_pos, -1, rx371_fail + rx379_cur."!cursor_pass"(rx379_pos, "backslash:sym") + rx379_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx379_pos) + .return (rx379_cur) + rx379_fail: +.annotate 'line', 3 + (rx379_rep, rx379_pos, $I10, $P10) = rx379_cur."!mark_fail"(0) + lt rx379_pos, -1, rx379_done + eq rx379_pos, -1, rx379_fail jump $I10 - rx371_done: - rx371_cur."!cursor_fail"() - rx371_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx371_cur) + rx379_done: + rx379_cur."!cursor_fail"() + rx379_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx379_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("104_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("106_1278500530.77787") :method .annotate 'line', 3 - new $P373, "ResizablePMCArray" - push $P373, "R" - push $P373, "r" - .return ($P373) + new $P381, "ResizablePMCArray" + push $P381, "R" + push $P381, "r" + .return ($P381) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("105_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("107_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx377_tgt - .local int rx377_pos - .local int rx377_off - .local int rx377_eos - .local int rx377_rep - .local pmc rx377_cur - (rx377_cur, rx377_pos, rx377_tgt) = self."!cursor_start"() - rx377_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx377_cur + .local string rx385_tgt + .local int rx385_pos + .local int rx385_off + .local int rx385_eos + .local int rx385_rep + .local pmc rx385_cur + (rx385_cur, rx385_pos, rx385_tgt) = self."!cursor_start"() + rx385_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx385_cur .local pmc match .lex "$/", match - length rx377_eos, rx377_tgt - gt rx377_pos, rx377_eos, rx377_done - set rx377_off, 0 - lt rx377_pos, 2, rx377_start - sub rx377_off, rx377_pos, 1 - substr rx377_tgt, rx377_tgt, rx377_off - rx377_start: + length rx385_eos, rx385_tgt + gt rx385_pos, rx385_eos, rx385_done + set rx385_off, 0 + lt rx385_pos, 2, rx385_start + sub rx385_off, rx385_pos, 1 + substr rx385_tgt, rx385_tgt, rx385_off + rx385_start: $I10 = self.'from'() - ne $I10, -1, rxscan380_done - goto rxscan380_scan - rxscan380_loop: - ($P10) = rx377_cur."from"() + ne $I10, -1, rxscan388_done + goto rxscan388_scan + rxscan388_loop: + ($P10) = rx385_cur."from"() inc $P10 - set rx377_pos, $P10 - ge rx377_pos, rx377_eos, rxscan380_done - rxscan380_scan: - set_addr $I10, rxscan380_loop - rx377_cur."!mark_push"(0, rx377_pos, $I10) - rxscan380_done: -.annotate 'line', 127 + set rx385_pos, $P10 + ge rx385_pos, rx385_eos, rxscan388_done + rxscan388_scan: + set_addr $I10, rxscan388_loop + rx385_cur."!mark_push"(0, rx385_pos, $I10) + rxscan388_done: +.annotate 'line', 129 # rx subcapture "sym" - set_addr $I10, rxcap_381_fail - rx377_cur."!mark_push"(0, rx377_pos, $I10) + set_addr $I10, rxcap_389_fail + rx385_cur."!mark_push"(0, rx385_pos, $I10) # rx enumcharlist negate=0 - ge rx377_pos, rx377_eos, rx377_fail - sub $I10, rx377_pos, rx377_off - substr $S10, rx377_tgt, $I10, 1 + ge rx385_pos, rx385_eos, rx385_fail + sub $I10, rx385_pos, rx385_off + substr $S10, rx385_tgt, $I10, 1 index $I11, "tT", $S10 - lt $I11, 0, rx377_fail - inc rx377_pos - set_addr $I10, rxcap_381_fail - ($I12, $I11) = rx377_cur."!mark_peek"($I10) - rx377_cur."!cursor_pos"($I11) - ($P10) = rx377_cur."!cursor_start"() - $P10."!cursor_pass"(rx377_pos, "") - rx377_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx385_fail + inc rx385_pos + set_addr $I10, rxcap_389_fail + ($I12, $I11) = rx385_cur."!mark_peek"($I10) + rx385_cur."!cursor_pos"($I11) + ($P10) = rx385_cur."!cursor_start"() + $P10."!cursor_pass"(rx385_pos, "") + rx385_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_381_done - rxcap_381_fail: - goto rx377_fail - rxcap_381_done: + goto rxcap_389_done + rxcap_389_fail: + goto rx385_fail + rxcap_389_done: # rx pass - rx377_cur."!cursor_pass"(rx377_pos, "backslash:sym") - rx377_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx377_pos) - .return (rx377_cur) - rx377_fail: -.annotate 'line', 3 - (rx377_rep, rx377_pos, $I10, $P10) = rx377_cur."!mark_fail"(0) - lt rx377_pos, -1, rx377_done - eq rx377_pos, -1, rx377_fail + rx385_cur."!cursor_pass"(rx385_pos, "backslash:sym") + rx385_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx385_pos) + .return (rx385_cur) + rx385_fail: +.annotate 'line', 3 + (rx385_rep, rx385_pos, $I10, $P10) = rx385_cur."!mark_fail"(0) + lt rx385_pos, -1, rx385_done + eq rx385_pos, -1, rx385_fail jump $I10 - rx377_done: - rx377_cur."!cursor_fail"() - rx377_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx377_cur) + rx385_done: + rx385_cur."!cursor_fail"() + rx385_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx385_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("106_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("108_1278500530.77787") :method .annotate 'line', 3 - new $P379, "ResizablePMCArray" - push $P379, "T" - push $P379, "t" - .return ($P379) + new $P387, "ResizablePMCArray" + push $P387, "T" + push $P387, "t" + .return ($P387) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("107_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("109_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .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 ", "backslash:sym") - .lex unicode:"$\x{a2}", rx383_cur + .local string rx391_tgt + .local int rx391_pos + .local int rx391_off + .local int rx391_eos + .local int rx391_rep + .local pmc rx391_cur + (rx391_cur, rx391_pos, rx391_tgt) = self."!cursor_start"() + rx391_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx391_cur .local pmc match .lex "$/", match - length rx383_eos, rx383_tgt - gt rx383_pos, rx383_eos, rx383_done - 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: + length rx391_eos, rx391_tgt + gt rx391_pos, rx391_eos, rx391_done + set rx391_off, 0 + lt rx391_pos, 2, rx391_start + sub rx391_off, rx391_pos, 1 + substr rx391_tgt, rx391_tgt, rx391_off + rx391_start: $I10 = self.'from'() - ne $I10, -1, rxscan386_done - goto rxscan386_scan - rxscan386_loop: - ($P10) = rx383_cur."from"() + ne $I10, -1, rxscan394_done + goto rxscan394_scan + rxscan394_loop: + ($P10) = rx391_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', 128 + set rx391_pos, $P10 + ge rx391_pos, rx391_eos, rxscan394_done + rxscan394_scan: + set_addr $I10, rxscan394_loop + rx391_cur."!mark_push"(0, rx391_pos, $I10) + rxscan394_done: +.annotate 'line', 130 # rx subcapture "sym" - set_addr $I10, rxcap_387_fail - rx383_cur."!mark_push"(0, rx383_pos, $I10) + set_addr $I10, rxcap_395_fail + rx391_cur."!mark_push"(0, rx391_pos, $I10) # rx enumcharlist negate=0 - ge rx383_pos, rx383_eos, rx383_fail - sub $I10, rx383_pos, rx383_off - substr $S10, rx383_tgt, $I10, 1 + ge rx391_pos, rx391_eos, rx391_fail + sub $I10, rx391_pos, rx391_off + substr $S10, rx391_tgt, $I10, 1 index $I11, "vV", $S10 - lt $I11, 0, rx383_fail - inc rx383_pos - 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) + lt $I11, 0, rx391_fail + inc rx391_pos + set_addr $I10, rxcap_395_fail + ($I12, $I11) = rx391_cur."!mark_peek"($I10) + rx391_cur."!cursor_pos"($I11) + ($P10) = rx391_cur."!cursor_start"() + $P10."!cursor_pass"(rx391_pos, "") + rx391_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_387_done - rxcap_387_fail: - goto rx383_fail - rxcap_387_done: + goto rxcap_395_done + rxcap_395_fail: + goto rx391_fail + rxcap_395_done: # rx pass - rx383_cur."!cursor_pass"(rx383_pos, "backslash:sym") - rx383_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx383_pos) - .return (rx383_cur) - rx383_fail: -.annotate 'line', 3 - (rx383_rep, rx383_pos, $I10, $P10) = rx383_cur."!mark_fail"(0) - lt rx383_pos, -1, rx383_done - eq rx383_pos, -1, rx383_fail + rx391_cur."!cursor_pass"(rx391_pos, "backslash:sym") + rx391_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx391_pos) + .return (rx391_cur) + rx391_fail: +.annotate 'line', 3 + (rx391_rep, rx391_pos, $I10, $P10) = rx391_cur."!mark_fail"(0) + lt rx391_pos, -1, rx391_done + eq rx391_pos, -1, rx391_fail jump $I10 - rx383_done: - rx383_cur."!cursor_fail"() - rx383_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx383_cur) + rx391_done: + rx391_cur."!cursor_fail"() + rx391_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx391_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("108_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("110_1278500530.77787") :method .annotate 'line', 3 - new $P385, "ResizablePMCArray" - push $P385, "V" - push $P385, "v" - .return ($P385) + new $P393, "ResizablePMCArray" + push $P393, "V" + push $P393, "v" + .return ($P393) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("109_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("111_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx389_tgt - .local int rx389_pos - .local int rx389_off - .local int rx389_eos - .local int rx389_rep - .local pmc rx389_cur - (rx389_cur, rx389_pos, rx389_tgt) = self."!cursor_start"() - rx389_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx389_cur + .local string rx397_tgt + .local int rx397_pos + .local int rx397_off + .local int rx397_eos + .local int rx397_rep + .local pmc rx397_cur + (rx397_cur, rx397_pos, rx397_tgt) = self."!cursor_start"() + rx397_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx397_cur .local pmc match .lex "$/", match - length rx389_eos, rx389_tgt - gt rx389_pos, rx389_eos, rx389_done - set rx389_off, 0 - lt rx389_pos, 2, rx389_start - sub rx389_off, rx389_pos, 1 - substr rx389_tgt, rx389_tgt, rx389_off - rx389_start: + length rx397_eos, rx397_tgt + gt rx397_pos, rx397_eos, rx397_done + set rx397_off, 0 + lt rx397_pos, 2, rx397_start + sub rx397_off, rx397_pos, 1 + substr rx397_tgt, rx397_tgt, rx397_off + rx397_start: $I10 = self.'from'() - ne $I10, -1, rxscan396_done - goto rxscan396_scan - rxscan396_loop: - ($P10) = rx389_cur."from"() + ne $I10, -1, rxscan404_done + goto rxscan404_scan + rxscan404_loop: + ($P10) = rx397_cur."from"() inc $P10 - set rx389_pos, $P10 - ge rx389_pos, rx389_eos, rxscan396_done - rxscan396_scan: - set_addr $I10, rxscan396_loop - rx389_cur."!mark_push"(0, rx389_pos, $I10) - rxscan396_done: -.annotate 'line', 129 + set rx397_pos, $P10 + ge rx397_pos, rx397_eos, rxscan404_done + rxscan404_scan: + set_addr $I10, rxscan404_loop + rx397_cur."!mark_push"(0, rx397_pos, $I10) + rxscan404_done: +.annotate 'line', 131 # rx subcapture "sym" - set_addr $I10, rxcap_397_fail - rx389_cur."!mark_push"(0, rx389_pos, $I10) + set_addr $I10, rxcap_405_fail + rx397_cur."!mark_push"(0, rx397_pos, $I10) # rx enumcharlist negate=0 - ge rx389_pos, rx389_eos, rx389_fail - sub $I10, rx389_pos, rx389_off - substr $S10, rx389_tgt, $I10, 1 + ge rx397_pos, rx397_eos, rx397_fail + sub $I10, rx397_pos, rx397_off + substr $S10, rx397_tgt, $I10, 1 index $I11, "oO", $S10 - lt $I11, 0, rx389_fail - inc rx389_pos - set_addr $I10, rxcap_397_fail - ($I12, $I11) = rx389_cur."!mark_peek"($I10) - rx389_cur."!cursor_pos"($I11) - ($P10) = rx389_cur."!cursor_start"() - $P10."!cursor_pass"(rx389_pos, "") - rx389_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx397_fail + inc rx397_pos + set_addr $I10, rxcap_405_fail + ($I12, $I11) = rx397_cur."!mark_peek"($I10) + rx397_cur."!cursor_pos"($I11) + ($P10) = rx397_cur."!cursor_start"() + $P10."!cursor_pass"(rx397_pos, "") + rx397_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_397_done - rxcap_397_fail: - goto rx389_fail - rxcap_397_done: - alt398_0: - set_addr $I10, alt398_1 - rx389_cur."!mark_push"(0, rx389_pos, $I10) + goto rxcap_405_done + rxcap_405_fail: + goto rx397_fail + rxcap_405_done: + alt406_0: + set_addr $I10, alt406_1 + rx397_cur."!mark_push"(0, rx397_pos, $I10) # rx subrule "octint" subtype=capture negate= - rx389_cur."!cursor_pos"(rx389_pos) - $P10 = rx389_cur."octint"() - unless $P10, rx389_fail - rx389_cur."!mark_push"(0, -1, 0, $P10) + rx397_cur."!cursor_pos"(rx397_pos) + $P10 = rx397_cur."octint"() + unless $P10, rx397_fail + rx397_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("octint") - rx389_pos = $P10."pos"() - goto alt398_end - alt398_1: + rx397_pos = $P10."pos"() + goto alt406_end + alt406_1: # rx literal "[" - add $I11, rx389_pos, 1 - gt $I11, rx389_eos, rx389_fail - sub $I11, rx389_pos, rx389_off - substr $S10, rx389_tgt, $I11, 1 - ne $S10, "[", rx389_fail - add rx389_pos, 1 + add $I11, rx397_pos, 1 + gt $I11, rx397_eos, rx397_fail + sub $I11, rx397_pos, rx397_off + substr $S10, rx397_tgt, $I11, 1 + ne $S10, "[", rx397_fail + add rx397_pos, 1 # rx subrule "octints" subtype=capture negate= - rx389_cur."!cursor_pos"(rx389_pos) - $P10 = rx389_cur."octints"() - unless $P10, rx389_fail - rx389_cur."!mark_push"(0, -1, 0, $P10) + rx397_cur."!cursor_pos"(rx397_pos) + $P10 = rx397_cur."octints"() + unless $P10, rx397_fail + rx397_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("octints") - rx389_pos = $P10."pos"() + rx397_pos = $P10."pos"() # rx literal "]" - add $I11, rx389_pos, 1 - gt $I11, rx389_eos, rx389_fail - sub $I11, rx389_pos, rx389_off - substr $S10, rx389_tgt, $I11, 1 - ne $S10, "]", rx389_fail - add rx389_pos, 1 - alt398_end: + add $I11, rx397_pos, 1 + gt $I11, rx397_eos, rx397_fail + sub $I11, rx397_pos, rx397_off + substr $S10, rx397_tgt, $I11, 1 + ne $S10, "]", rx397_fail + add rx397_pos, 1 + alt406_end: # rx pass - rx389_cur."!cursor_pass"(rx389_pos, "backslash:sym") - rx389_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx389_pos) - .return (rx389_cur) - rx389_fail: -.annotate 'line', 3 - (rx389_rep, rx389_pos, $I10, $P10) = rx389_cur."!mark_fail"(0) - lt rx389_pos, -1, rx389_done - eq rx389_pos, -1, rx389_fail + rx397_cur."!cursor_pass"(rx397_pos, "backslash:sym") + rx397_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx397_pos) + .return (rx397_cur) + rx397_fail: +.annotate 'line', 3 + (rx397_rep, rx397_pos, $I10, $P10) = rx397_cur."!mark_fail"(0) + lt rx397_pos, -1, rx397_done + eq rx397_pos, -1, rx397_fail jump $I10 - rx389_done: - rx389_cur."!cursor_fail"() - rx389_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx389_cur) + rx397_done: + rx397_cur."!cursor_fail"() + rx397_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx397_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("110_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("112_1278500530.77787") :method .annotate 'line', 3 - $P391 = self."!PREFIX__!subrule"("octints", "O[") - $P392 = self."!PREFIX__!subrule"("octint", "O") - $P393 = self."!PREFIX__!subrule"("octints", "o[") - $P394 = self."!PREFIX__!subrule"("octint", "o") - new $P395, "ResizablePMCArray" - push $P395, $P391 - push $P395, $P392 - push $P395, $P393 - push $P395, $P394 - .return ($P395) + $P399 = self."!PREFIX__!subrule"("octints", "O[") + $P400 = self."!PREFIX__!subrule"("octint", "O") + $P401 = self."!PREFIX__!subrule"("octints", "o[") + $P402 = self."!PREFIX__!subrule"("octint", "o") + new $P403, "ResizablePMCArray" + push $P403, $P399 + push $P403, $P400 + push $P403, $P401 + push $P403, $P402 + .return ($P403) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("111_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("113_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx400_tgt - .local int rx400_pos - .local int rx400_off - .local int rx400_eos - .local int rx400_rep - .local pmc rx400_cur - (rx400_cur, rx400_pos, rx400_tgt) = self."!cursor_start"() - rx400_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx400_cur + .local string rx408_tgt + .local int rx408_pos + .local int rx408_off + .local int rx408_eos + .local int rx408_rep + .local pmc rx408_cur + (rx408_cur, rx408_pos, rx408_tgt) = self."!cursor_start"() + rx408_cur."!cursor_debug"("START ", "backslash:sym") + .lex unicode:"$\x{a2}", rx408_cur .local pmc match .lex "$/", match - length rx400_eos, rx400_tgt - gt rx400_pos, rx400_eos, rx400_done - set rx400_off, 0 - lt rx400_pos, 2, rx400_start - sub rx400_off, rx400_pos, 1 - substr rx400_tgt, rx400_tgt, rx400_off - rx400_start: + length rx408_eos, rx408_tgt + gt rx408_pos, rx408_eos, rx408_done + set rx408_off, 0 + lt rx408_pos, 2, rx408_start + sub rx408_off, rx408_pos, 1 + substr rx408_tgt, rx408_tgt, rx408_off + rx408_start: $I10 = self.'from'() - ne $I10, -1, rxscan407_done - goto rxscan407_scan - rxscan407_loop: - ($P10) = rx400_cur."from"() + ne $I10, -1, rxscan415_done + goto rxscan415_scan + rxscan415_loop: + ($P10) = rx408_cur."from"() inc $P10 - set rx400_pos, $P10 - ge rx400_pos, rx400_eos, rxscan407_done - rxscan407_scan: - set_addr $I10, rxscan407_loop - rx400_cur."!mark_push"(0, rx400_pos, $I10) - rxscan407_done: -.annotate 'line', 130 + set rx408_pos, $P10 + ge rx408_pos, rx408_eos, rxscan415_done + rxscan415_scan: + set_addr $I10, rxscan415_loop + rx408_cur."!mark_push"(0, rx408_pos, $I10) + rxscan415_done: +.annotate 'line', 132 # rx subcapture "sym" - set_addr $I10, rxcap_408_fail - rx400_cur."!mark_push"(0, rx400_pos, $I10) + set_addr $I10, rxcap_416_fail + rx408_cur."!mark_push"(0, rx408_pos, $I10) # rx enumcharlist negate=0 - ge rx400_pos, rx400_eos, rx400_fail - sub $I10, rx400_pos, rx400_off - substr $S10, rx400_tgt, $I10, 1 + ge rx408_pos, rx408_eos, rx408_fail + sub $I10, rx408_pos, rx408_off + substr $S10, rx408_tgt, $I10, 1 index $I11, "xX", $S10 - lt $I11, 0, rx400_fail - inc rx400_pos - set_addr $I10, rxcap_408_fail - ($I12, $I11) = rx400_cur."!mark_peek"($I10) - rx400_cur."!cursor_pos"($I11) - ($P10) = rx400_cur."!cursor_start"() - $P10."!cursor_pass"(rx400_pos, "") - rx400_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, 0, rx408_fail + inc rx408_pos + set_addr $I10, rxcap_416_fail + ($I12, $I11) = rx408_cur."!mark_peek"($I10) + rx408_cur."!cursor_pos"($I11) + ($P10) = rx408_cur."!cursor_start"() + $P10."!cursor_pass"(rx408_pos, "") + rx408_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sym") - goto rxcap_408_done - rxcap_408_fail: - goto rx400_fail - rxcap_408_done: - alt409_0: - set_addr $I10, alt409_1 - rx400_cur."!mark_push"(0, rx400_pos, $I10) + goto rxcap_416_done + rxcap_416_fail: + goto rx408_fail + rxcap_416_done: + alt417_0: + set_addr $I10, alt417_1 + rx408_cur."!mark_push"(0, rx408_pos, $I10) # rx subrule "hexint" subtype=capture negate= - rx400_cur."!cursor_pos"(rx400_pos) - $P10 = rx400_cur."hexint"() - unless $P10, rx400_fail - rx400_cur."!mark_push"(0, -1, 0, $P10) + rx408_cur."!cursor_pos"(rx408_pos) + $P10 = rx408_cur."hexint"() + unless $P10, rx408_fail + rx408_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("hexint") - rx400_pos = $P10."pos"() - goto alt409_end - alt409_1: + rx408_pos = $P10."pos"() + goto alt417_end + alt417_1: # rx literal "[" - add $I11, rx400_pos, 1 - gt $I11, rx400_eos, rx400_fail - sub $I11, rx400_pos, rx400_off - substr $S10, rx400_tgt, $I11, 1 - ne $S10, "[", rx400_fail - add rx400_pos, 1 + add $I11, rx408_pos, 1 + gt $I11, rx408_eos, rx408_fail + sub $I11, rx408_pos, rx408_off + substr $S10, rx408_tgt, $I11, 1 + ne $S10, "[", rx408_fail + add rx408_pos, 1 # rx subrule "hexints" subtype=capture negate= - rx400_cur."!cursor_pos"(rx400_pos) - $P10 = rx400_cur."hexints"() - unless $P10, rx400_fail - rx400_cur."!mark_push"(0, -1, 0, $P10) + rx408_cur."!cursor_pos"(rx408_pos) + $P10 = rx408_cur."hexints"() + unless $P10, rx408_fail + rx408_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("hexints") - rx400_pos = $P10."pos"() + rx408_pos = $P10."pos"() # rx literal "]" - add $I11, rx400_pos, 1 - gt $I11, rx400_eos, rx400_fail - sub $I11, rx400_pos, rx400_off - substr $S10, rx400_tgt, $I11, 1 - ne $S10, "]", rx400_fail - add rx400_pos, 1 - alt409_end: + add $I11, rx408_pos, 1 + gt $I11, rx408_eos, rx408_fail + sub $I11, rx408_pos, rx408_off + substr $S10, rx408_tgt, $I11, 1 + ne $S10, "]", rx408_fail + add rx408_pos, 1 + alt417_end: # rx pass - rx400_cur."!cursor_pass"(rx400_pos, "backslash:sym") - rx400_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx400_pos) - .return (rx400_cur) - rx400_fail: -.annotate 'line', 3 - (rx400_rep, rx400_pos, $I10, $P10) = rx400_cur."!mark_fail"(0) - lt rx400_pos, -1, rx400_done - eq rx400_pos, -1, rx400_fail + rx408_cur."!cursor_pass"(rx408_pos, "backslash:sym") + rx408_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx408_pos) + .return (rx408_cur) + rx408_fail: +.annotate 'line', 3 + (rx408_rep, rx408_pos, $I10, $P10) = rx408_cur."!mark_fail"(0) + lt rx408_pos, -1, rx408_done + eq rx408_pos, -1, rx408_fail jump $I10 - rx400_done: - rx400_cur."!cursor_fail"() - rx400_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx400_cur) + rx408_done: + rx408_cur."!cursor_fail"() + rx408_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx408_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("112_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("114_1278500530.77787") :method .annotate 'line', 3 - $P402 = self."!PREFIX__!subrule"("hexints", "X[") - $P403 = self."!PREFIX__!subrule"("hexint", "X") - $P404 = self."!PREFIX__!subrule"("hexints", "x[") - $P405 = self."!PREFIX__!subrule"("hexint", "x") - new $P406, "ResizablePMCArray" - push $P406, $P402 - push $P406, $P403 - push $P406, $P404 - push $P406, $P405 - .return ($P406) + $P410 = self."!PREFIX__!subrule"("hexints", "X[") + $P411 = self."!PREFIX__!subrule"("hexint", "X") + $P412 = self."!PREFIX__!subrule"("hexints", "x[") + $P413 = self."!PREFIX__!subrule"("hexint", "x") + new $P414, "ResizablePMCArray" + push $P414, $P410 + push $P414, $P411 + push $P414, $P412 + push $P414, $P413 + .return ($P414) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("113_1276996307.3412") :method :outer("11_1276996307.3412") -.annotate 'line', 3 - .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 ", "backslash:sym") - .lex unicode:"$\x{a2}", rx411_cur - .local pmc match - .lex "$/", match - length rx411_eos, rx411_tgt - gt rx411_pos, rx411_eos, rx411_done - 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, rxscan416_done - goto rxscan416_scan - rxscan416_loop: - ($P10) = rx411_cur."from"() - inc $P10 - set rx411_pos, $P10 - ge rx411_pos, rx411_eos, rxscan416_done - rxscan416_scan: - set_addr $I10, rxscan416_loop - rx411_cur."!mark_push"(0, rx411_pos, $I10) - rxscan416_done: -.annotate 'line', 131 - # rx subcapture "sym" - set_addr $I10, rxcap_417_fail - rx411_cur."!mark_push"(0, rx411_pos, $I10) - # rx enumcharlist negate=0 - ge rx411_pos, rx411_eos, rx411_fail - sub $I10, rx411_pos, rx411_off - substr $S10, rx411_tgt, $I10, 1 - index $I11, "cC", $S10 - lt $I11, 0, rx411_fail - inc rx411_pos - set_addr $I10, rxcap_417_fail - ($I12, $I11) = rx411_cur."!mark_peek"($I10) - rx411_cur."!cursor_pos"($I11) - ($P10) = rx411_cur."!cursor_start"() - $P10."!cursor_pass"(rx411_pos, "") - rx411_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_417_done - rxcap_417_fail: - goto rx411_fail - rxcap_417_done: - # rx subrule "charspec" subtype=capture negate= - rx411_cur."!cursor_pos"(rx411_pos) - $P10 = rx411_cur."charspec"() - unless $P10, rx411_fail - rx411_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("charspec") - rx411_pos = $P10."pos"() - # rx pass - rx411_cur."!cursor_pass"(rx411_pos, "backslash:sym") - rx411_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx411_pos) - .return (rx411_cur) - rx411_fail: -.annotate 'line', 3 - (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 ", "backslash:sym") - .return (rx411_cur) - .return () -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("114_1276996307.3412") :method -.annotate 'line', 3 - $P413 = self."!PREFIX__!subrule"("charspec", "C") - $P414 = self."!PREFIX__!subrule"("charspec", "c") - new $P415, "ResizablePMCArray" - push $P415, $P413 - push $P415, $P414 - .return ($P415) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("115_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("115_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 .local string rx419_tgt .local int rx419_pos @@ -5069,7 +5066,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx419_rep .local pmc rx419_cur (rx419_cur, rx419_pos, rx419_tgt) = self."!cursor_start"() - rx419_cur."!cursor_debug"("START ", "backslash:sym") + rx419_cur."!cursor_debug"("START ", "backslash:sym") .lex unicode:"$\x{a2}", rx419_cur .local pmc match .lex "$/", match @@ -5081,33 +5078,49 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx419_tgt, rx419_tgt, rx419_off rx419_start: $I10 = self.'from'() - ne $I10, -1, rxscan423_done - goto rxscan423_scan - rxscan423_loop: + ne $I10, -1, rxscan424_done + goto rxscan424_scan + rxscan424_loop: ($P10) = rx419_cur."from"() inc $P10 set rx419_pos, $P10 - ge rx419_pos, rx419_eos, rxscan423_done - rxscan423_scan: - set_addr $I10, rxscan423_loop + ge rx419_pos, rx419_eos, rxscan424_done + rxscan424_scan: + set_addr $I10, rxscan424_loop rx419_cur."!mark_push"(0, rx419_pos, $I10) - rxscan423_done: -.annotate 'line', 132 - # rx literal "A" - add $I11, rx419_pos, 1 - gt $I11, rx419_eos, rx419_fail - sub $I11, rx419_pos, rx419_off - substr $S10, rx419_tgt, $I11, 1 - ne $S10, "A", rx419_fail - add rx419_pos, 1 - # rx subrule "obs" subtype=method negate= + rxscan424_done: +.annotate 'line', 133 + # rx subcapture "sym" + set_addr $I10, rxcap_425_fail + rx419_cur."!mark_push"(0, rx419_pos, $I10) + # rx enumcharlist negate=0 + ge rx419_pos, rx419_eos, rx419_fail + sub $I10, rx419_pos, rx419_off + substr $S10, rx419_tgt, $I10, 1 + index $I11, "cC", $S10 + lt $I11, 0, rx419_fail + inc rx419_pos + set_addr $I10, rxcap_425_fail + ($I12, $I11) = rx419_cur."!mark_peek"($I10) + rx419_cur."!cursor_pos"($I11) + ($P10) = rx419_cur."!cursor_start"() + $P10."!cursor_pass"(rx419_pos, "") + rx419_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_425_done + rxcap_425_fail: + goto rx419_fail + rxcap_425_done: + # rx subrule "charspec" subtype=capture negate= rx419_cur."!cursor_pos"(rx419_pos) - $P10 = rx419_cur."obs"("\\A as beginning-of-string matcher", "^") + $P10 = rx419_cur."charspec"() unless $P10, rx419_fail + rx419_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("charspec") rx419_pos = $P10."pos"() # rx pass - rx419_cur."!cursor_pass"(rx419_pos, "backslash:sym") - rx419_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx419_pos) + rx419_cur."!cursor_pass"(rx419_pos, "backslash:sym") + rx419_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx419_pos) .return (rx419_cur) rx419_fail: .annotate 'line', 3 @@ -5117,421 +5130,408 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes jump $I10 rx419_done: rx419_cur."!cursor_fail"() - rx419_cur."!cursor_debug"("FAIL ", "backslash:sym") + rx419_cur."!cursor_debug"("FAIL ", "backslash:sym") .return (rx419_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("116_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("116_1278500530.77787") :method .annotate 'line', 3 - $P421 = self."!PREFIX__!subrule"("obs", "A") - new $P422, "ResizablePMCArray" - push $P422, $P421 - .return ($P422) + $P421 = self."!PREFIX__!subrule"("charspec", "C") + $P422 = self."!PREFIX__!subrule"("charspec", "c") + new $P423, "ResizablePMCArray" + push $P423, $P421 + push $P423, $P422 + .return ($P423) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("117_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("117_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx425_tgt - .local int rx425_pos - .local int rx425_off - .local int rx425_eos - .local int rx425_rep - .local pmc rx425_cur - (rx425_cur, rx425_pos, rx425_tgt) = self."!cursor_start"() - rx425_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx425_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx427_cur .local pmc match .lex "$/", match - length rx425_eos, rx425_tgt - gt rx425_pos, rx425_eos, rx425_done - set rx425_off, 0 - lt rx425_pos, 2, rx425_start - sub rx425_off, rx425_pos, 1 - substr rx425_tgt, rx425_tgt, rx425_off - rx425_start: + length rx427_eos, rx427_tgt + gt rx427_pos, rx427_eos, rx427_done + 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, rxscan429_done - goto rxscan429_scan - rxscan429_loop: - ($P10) = rx425_cur."from"() + ne $I10, -1, rxscan431_done + goto rxscan431_scan + rxscan431_loop: + ($P10) = rx427_cur."from"() inc $P10 - set rx425_pos, $P10 - ge rx425_pos, rx425_eos, rxscan429_done - rxscan429_scan: - set_addr $I10, rxscan429_loop - rx425_cur."!mark_push"(0, rx425_pos, $I10) - rxscan429_done: -.annotate 'line', 133 - # rx literal "z" - add $I11, rx425_pos, 1 - gt $I11, rx425_eos, rx425_fail - sub $I11, rx425_pos, rx425_off - substr $S10, rx425_tgt, $I11, 1 - ne $S10, "z", rx425_fail - add rx425_pos, 1 + 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', 134 + # rx literal "A" + add $I11, rx427_pos, 1 + gt $I11, rx427_eos, rx427_fail + sub $I11, rx427_pos, rx427_off + substr $S10, rx427_tgt, $I11, 1 + ne $S10, "A", rx427_fail + add rx427_pos, 1 # rx subrule "obs" subtype=method negate= - rx425_cur."!cursor_pos"(rx425_pos) - $P10 = rx425_cur."obs"("\\z as end-of-string matcher", "$") - unless $P10, rx425_fail - rx425_pos = $P10."pos"() + rx427_cur."!cursor_pos"(rx427_pos) + $P10 = rx427_cur."obs"("\\A as beginning-of-string matcher", "^") + unless $P10, rx427_fail + rx427_pos = $P10."pos"() # rx pass - rx425_cur."!cursor_pass"(rx425_pos, "backslash:sym") - rx425_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx425_pos) - .return (rx425_cur) - rx425_fail: -.annotate 'line', 3 - (rx425_rep, rx425_pos, $I10, $P10) = rx425_cur."!mark_fail"(0) - lt rx425_pos, -1, rx425_done - eq rx425_pos, -1, rx425_fail + rx427_cur."!cursor_pass"(rx427_pos, "backslash:sym") + rx427_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx427_pos) + .return (rx427_cur) + rx427_fail: +.annotate 'line', 3 + (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 - rx425_done: - rx425_cur."!cursor_fail"() - rx425_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx425_cur) + rx427_done: + rx427_cur."!cursor_fail"() + rx427_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx427_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("118_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("118_1278500530.77787") :method .annotate 'line', 3 - $P427 = self."!PREFIX__!subrule"("obs", "z") - new $P428, "ResizablePMCArray" - push $P428, $P427 - .return ($P428) + $P429 = self."!PREFIX__!subrule"("obs", "A") + new $P430, "ResizablePMCArray" + push $P430, $P429 + .return ($P430) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("119_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("119_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx431_tgt - .local int rx431_pos - .local int rx431_off - .local int rx431_eos - .local int rx431_rep - .local pmc rx431_cur - (rx431_cur, rx431_pos, rx431_tgt) = self."!cursor_start"() - rx431_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx431_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx433_cur .local pmc match .lex "$/", match - length rx431_eos, rx431_tgt - gt rx431_pos, rx431_eos, rx431_done - set rx431_off, 0 - lt rx431_pos, 2, rx431_start - sub rx431_off, rx431_pos, 1 - substr rx431_tgt, rx431_tgt, rx431_off - rx431_start: + length rx433_eos, rx433_tgt + gt rx433_pos, rx433_eos, rx433_done + 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, rxscan435_done - goto rxscan435_scan - rxscan435_loop: - ($P10) = rx431_cur."from"() + ne $I10, -1, rxscan437_done + goto rxscan437_scan + rxscan437_loop: + ($P10) = rx433_cur."from"() inc $P10 - set rx431_pos, $P10 - ge rx431_pos, rx431_eos, rxscan435_done - rxscan435_scan: - set_addr $I10, rxscan435_loop - rx431_cur."!mark_push"(0, rx431_pos, $I10) - rxscan435_done: -.annotate 'line', 134 - # rx literal "Z" - add $I11, rx431_pos, 1 - gt $I11, rx431_eos, rx431_fail - sub $I11, rx431_pos, rx431_off - substr $S10, rx431_tgt, $I11, 1 - ne $S10, "Z", rx431_fail - add rx431_pos, 1 + 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', 135 + # rx literal "z" + add $I11, rx433_pos, 1 + gt $I11, rx433_eos, rx433_fail + sub $I11, rx433_pos, rx433_off + substr $S10, rx433_tgt, $I11, 1 + ne $S10, "z", rx433_fail + add rx433_pos, 1 # rx subrule "obs" subtype=method negate= - rx431_cur."!cursor_pos"(rx431_pos) - $P10 = rx431_cur."obs"("\\Z as end-of-string matcher", "\\n?$") - unless $P10, rx431_fail - rx431_pos = $P10."pos"() + rx433_cur."!cursor_pos"(rx433_pos) + $P10 = rx433_cur."obs"("\\z as end-of-string matcher", "$") + unless $P10, rx433_fail + rx433_pos = $P10."pos"() # rx pass - rx431_cur."!cursor_pass"(rx431_pos, "backslash:sym") - rx431_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx431_pos) - .return (rx431_cur) - rx431_fail: -.annotate 'line', 3 - (rx431_rep, rx431_pos, $I10, $P10) = rx431_cur."!mark_fail"(0) - lt rx431_pos, -1, rx431_done - eq rx431_pos, -1, rx431_fail + rx433_cur."!cursor_pass"(rx433_pos, "backslash:sym") + rx433_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx433_pos) + .return (rx433_cur) + rx433_fail: +.annotate 'line', 3 + (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 - rx431_done: - rx431_cur."!cursor_fail"() - rx431_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx431_cur) + rx433_done: + rx433_cur."!cursor_fail"() + rx433_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx433_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("120_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("120_1278500530.77787") :method .annotate 'line', 3 - $P433 = self."!PREFIX__!subrule"("obs", "Z") - new $P434, "ResizablePMCArray" - push $P434, $P433 - .return ($P434) + $P435 = self."!PREFIX__!subrule"("obs", "z") + new $P436, "ResizablePMCArray" + push $P436, $P435 + .return ($P436) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("121_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("121_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx437_tgt - .local int rx437_pos - .local int rx437_off - .local int rx437_eos - .local int rx437_rep - .local pmc rx437_cur - (rx437_cur, rx437_pos, rx437_tgt) = self."!cursor_start"() - rx437_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx437_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx439_cur .local pmc match .lex "$/", match - length rx437_eos, rx437_tgt - gt rx437_pos, rx437_eos, rx437_done - set rx437_off, 0 - lt rx437_pos, 2, rx437_start - sub rx437_off, rx437_pos, 1 - substr rx437_tgt, rx437_tgt, rx437_off - rx437_start: + length rx439_eos, rx439_tgt + gt rx439_pos, rx439_eos, rx439_done + 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, rxscan441_done - goto rxscan441_scan - rxscan441_loop: - ($P10) = rx437_cur."from"() + ne $I10, -1, rxscan443_done + goto rxscan443_scan + rxscan443_loop: + ($P10) = rx439_cur."from"() inc $P10 - set rx437_pos, $P10 - ge rx437_pos, rx437_eos, rxscan441_done - rxscan441_scan: - set_addr $I10, rxscan441_loop - rx437_cur."!mark_push"(0, rx437_pos, $I10) - rxscan441_done: -.annotate 'line', 135 - # rx literal "Q" - add $I11, rx437_pos, 1 - gt $I11, rx437_eos, rx437_fail - sub $I11, rx437_pos, rx437_off - substr $S10, rx437_tgt, $I11, 1 - ne $S10, "Q", rx437_fail - add rx437_pos, 1 + 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', 136 + # rx literal "Z" + add $I11, rx439_pos, 1 + gt $I11, rx439_eos, rx439_fail + sub $I11, rx439_pos, rx439_off + substr $S10, rx439_tgt, $I11, 1 + ne $S10, "Z", rx439_fail + add rx439_pos, 1 # rx subrule "obs" subtype=method negate= - rx437_cur."!cursor_pos"(rx437_pos) - $P10 = rx437_cur."obs"("\\Q as quotemeta", "quotes or literal variable match") - unless $P10, rx437_fail - rx437_pos = $P10."pos"() + rx439_cur."!cursor_pos"(rx439_pos) + $P10 = rx439_cur."obs"("\\Z as end-of-string matcher", "\\n?$") + unless $P10, rx439_fail + rx439_pos = $P10."pos"() # rx pass - rx437_cur."!cursor_pass"(rx437_pos, "backslash:sym") - rx437_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx437_pos) - .return (rx437_cur) - rx437_fail: -.annotate 'line', 3 - (rx437_rep, rx437_pos, $I10, $P10) = rx437_cur."!mark_fail"(0) - lt rx437_pos, -1, rx437_done - eq rx437_pos, -1, rx437_fail + rx439_cur."!cursor_pass"(rx439_pos, "backslash:sym") + rx439_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx439_pos) + .return (rx439_cur) + rx439_fail: +.annotate 'line', 3 + (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 - rx437_done: - rx437_cur."!cursor_fail"() - rx437_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx437_cur) + rx439_done: + rx439_cur."!cursor_fail"() + rx439_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx439_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("122_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("122_1278500530.77787") :method .annotate 'line', 3 - $P439 = self."!PREFIX__!subrule"("obs", "Q") - new $P440, "ResizablePMCArray" - push $P440, $P439 - .return ($P440) + $P441 = self."!PREFIX__!subrule"("obs", "Z") + new $P442, "ResizablePMCArray" + push $P442, $P441 + .return ($P442) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "backslash:sym" :subid("123_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("123_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .local string rx443_tgt - .local int rx443_pos - .local int rx443_off - .local int rx443_eos - .local int rx443_rep - .local pmc rx443_cur - (rx443_cur, rx443_pos, rx443_tgt) = self."!cursor_start"() - rx443_cur."!cursor_debug"("START ", "backslash:sym") - .lex unicode:"$\x{a2}", rx443_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx445_cur .local pmc match .lex "$/", match - length rx443_eos, rx443_tgt - gt rx443_pos, rx443_eos, rx443_done - set rx443_off, 0 - lt rx443_pos, 2, rx443_start - sub rx443_off, rx443_pos, 1 - substr rx443_tgt, rx443_tgt, rx443_off - rx443_start: + length rx445_eos, rx445_tgt + gt rx445_pos, rx445_eos, rx445_done + 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, rxscan446_done - goto rxscan446_scan - rxscan446_loop: - ($P10) = rx443_cur."from"() + ne $I10, -1, rxscan449_done + goto rxscan449_scan + rxscan449_loop: + ($P10) = rx445_cur."from"() inc $P10 - set rx443_pos, $P10 - ge rx443_pos, rx443_eos, rxscan446_done - rxscan446_scan: - set_addr $I10, rxscan446_loop - rx443_cur."!mark_push"(0, rx443_pos, $I10) - rxscan446_done: -.annotate 'line', 136 - # rx charclass W - ge rx443_pos, rx443_eos, rx443_fail - sub $I10, rx443_pos, rx443_off - is_cclass $I11, 8192, rx443_tgt, $I10 - if $I11, rx443_fail - inc rx443_pos + 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', 137 + # rx literal "Q" + add $I11, rx445_pos, 1 + gt $I11, rx445_eos, rx445_fail + sub $I11, rx445_pos, rx445_off + substr $S10, rx445_tgt, $I11, 1 + ne $S10, "Q", rx445_fail + add rx445_pos, 1 + # rx subrule "obs" subtype=method negate= + rx445_cur."!cursor_pos"(rx445_pos) + $P10 = rx445_cur."obs"("\\Q as quotemeta", "quotes or literal variable match") + unless $P10, rx445_fail + rx445_pos = $P10."pos"() # rx pass - rx443_cur."!cursor_pass"(rx443_pos, "backslash:sym") - rx443_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx443_pos) - .return (rx443_cur) - rx443_fail: -.annotate 'line', 3 - (rx443_rep, rx443_pos, $I10, $P10) = rx443_cur."!mark_fail"(0) - lt rx443_pos, -1, rx443_done - eq rx443_pos, -1, rx443_fail + rx445_cur."!cursor_pass"(rx445_pos, "backslash:sym") + rx445_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx445_pos) + .return (rx445_cur) + rx445_fail: +.annotate 'line', 3 + (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 - rx443_done: - rx443_cur."!cursor_fail"() - rx443_cur."!cursor_debug"("FAIL ", "backslash:sym") - .return (rx443_cur) + rx445_done: + rx445_cur."!cursor_fail"() + rx445_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx445_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__backslash:sym" :subid("124_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("124_1278500530.77787") :method .annotate 'line', 3 - new $P445, "ResizablePMCArray" - push $P445, "" - .return ($P445) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion" :subid("125_1276996307.3412") :method -.annotate 'line', 138 - $P448 = self."!protoregex"("assertion") + $P447 = self."!PREFIX__!subrule"("obs", "Q") + new $P448, "ResizablePMCArray" + push $P448, $P447 .return ($P448) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion" :subid("126_1276996307.3412") :method -.annotate 'line', 138 - $P450 = self."!PREFIX__!protoregex"("assertion") - .return ($P450) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion:sym" :subid("127_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "backslash:sym" :subid("125_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P459 = "129_1276996307.3412" - capture_lex $P459 - .local string rx452_tgt - .local int rx452_pos - .local int rx452_off - .local int rx452_eos - .local int rx452_rep - .local pmc rx452_cur - (rx452_cur, rx452_pos, rx452_tgt) = self."!cursor_start"() - rx452_cur."!cursor_debug"("START ", "assertion:sym") - .lex unicode:"$\x{a2}", rx452_cur + .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 ", "backslash:sym") + .lex unicode:"$\x{a2}", rx451_cur .local pmc match .lex "$/", match - length rx452_eos, rx452_tgt - gt rx452_pos, rx452_eos, rx452_done - set rx452_off, 0 - lt rx452_pos, 2, rx452_start - sub rx452_off, rx452_pos, 1 - substr rx452_tgt, rx452_tgt, rx452_off - rx452_start: + length rx451_eos, rx451_tgt + gt rx451_pos, rx451_eos, rx451_done + 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, rxscan456_done - goto rxscan456_scan - rxscan456_loop: - ($P10) = rx452_cur."from"() + ne $I10, -1, rxscan454_done + goto rxscan454_scan + rxscan454_loop: + ($P10) = rx451_cur."from"() inc $P10 - set rx452_pos, $P10 - ge rx452_pos, rx452_eos, rxscan456_done - rxscan456_scan: - set_addr $I10, rxscan456_loop - rx452_cur."!mark_push"(0, rx452_pos, $I10) - rxscan456_done: -.annotate 'line', 140 - # rx literal "?" - add $I11, rx452_pos, 1 - gt $I11, rx452_eos, rx452_fail - sub $I11, rx452_pos, rx452_off - substr $S10, rx452_tgt, $I11, 1 - ne $S10, "?", rx452_fail - add rx452_pos, 1 - alt457_0: - set_addr $I10, alt457_1 - rx452_cur."!mark_push"(0, rx452_pos, $I10) - # rx subrule "before" subtype=zerowidth negate= - rx452_cur."!cursor_pos"(rx452_pos) - .const 'Sub' $P459 = "129_1276996307.3412" - capture_lex $P459 - $P10 = rx452_cur."before"($P459) - unless $P10, rx452_fail - goto alt457_end - alt457_1: - # rx subrule "assertion" subtype=capture negate= - rx452_cur."!cursor_pos"(rx452_pos) - $P10 = rx452_cur."assertion"() - unless $P10, rx452_fail - rx452_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("assertion") - rx452_pos = $P10."pos"() - alt457_end: + 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', 138 + # rx charclass W + ge rx451_pos, rx451_eos, rx451_fail + sub $I10, rx451_pos, rx451_off + is_cclass $I11, 8192, rx451_tgt, $I10 + if $I11, rx451_fail + inc rx451_pos # rx pass - rx452_cur."!cursor_pass"(rx452_pos, "assertion:sym") - rx452_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx452_pos) - .return (rx452_cur) - rx452_fail: -.annotate 'line', 3 - (rx452_rep, rx452_pos, $I10, $P10) = rx452_cur."!mark_fail"(0) - lt rx452_pos, -1, rx452_done - eq rx452_pos, -1, rx452_fail + rx451_cur."!cursor_pass"(rx451_pos, "backslash:sym") + rx451_cur."!cursor_debug"("PASS ", "backslash:sym", " at pos=", rx451_pos) + .return (rx451_cur) + rx451_fail: +.annotate 'line', 3 + (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 - rx452_done: - rx452_cur."!cursor_fail"() - rx452_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx452_cur) + rx451_done: + rx451_cur."!cursor_fail"() + rx451_cur."!cursor_debug"("FAIL ", "backslash:sym") + .return (rx451_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion:sym" :subid("128_1276996307.3412") :method +.sub "!PREFIX__backslash:sym" :subid("126_1278500530.77787") :method .annotate 'line', 3 - $P454 = self."!PREFIX__!subrule"("assertion", "?") - new $P455, "ResizablePMCArray" - push $P455, $P454 - push $P455, "?" - .return ($P455) + new $P453, "ResizablePMCArray" + push $P453, "" + .return ($P453) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block458" :anon :subid("129_1276996307.3412") :method :outer("127_1276996307.3412") +.sub "assertion" :subid("127_1278500530.77787") :method .annotate 'line', 140 + $P456 = self."!protoregex"("assertion") + .return ($P456) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "!PREFIX__assertion" :subid("128_1278500530.77787") :method +.annotate 'line', 140 + $P458 = self."!PREFIX__!protoregex"("assertion") + .return ($P458) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "assertion:sym" :subid("129_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .const 'Sub' $P467 = "131_1278500530.77787" + capture_lex $P467 .local string rx460_tgt .local int rx460_pos .local int rx460_off @@ -5539,7 +5539,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx460_rep .local pmc rx460_cur (rx460_cur, rx460_pos, rx460_tgt) = self."!cursor_start"() - rx460_cur."!cursor_debug"("START ", "") + rx460_cur."!cursor_debug"("START ", "assertion:sym") .lex unicode:"$\x{a2}", rx460_cur .local pmc match .lex "$/", match @@ -5551,135 +5551,135 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx460_tgt, rx460_tgt, rx460_off rx460_start: $I10 = self.'from'() - ne $I10, -1, rxscan461_done - goto rxscan461_scan - rxscan461_loop: + ne $I10, -1, rxscan464_done + goto rxscan464_scan + rxscan464_loop: ($P10) = rx460_cur."from"() inc $P10 set rx460_pos, $P10 - ge rx460_pos, rx460_eos, rxscan461_done - rxscan461_scan: - set_addr $I10, rxscan461_loop + ge rx460_pos, rx460_eos, rxscan464_done + rxscan464_scan: + set_addr $I10, rxscan464_loop rx460_cur."!mark_push"(0, rx460_pos, $I10) - rxscan461_done: - # rx literal ">" + rxscan464_done: +.annotate 'line', 142 + # rx literal "?" add $I11, rx460_pos, 1 gt $I11, rx460_eos, rx460_fail sub $I11, rx460_pos, rx460_off substr $S10, rx460_tgt, $I11, 1 - ne $S10, ">", rx460_fail + ne $S10, "?", rx460_fail add rx460_pos, 1 + alt465_0: + set_addr $I10, alt465_1 + rx460_cur."!mark_push"(0, rx460_pos, $I10) + # rx subrule "before" subtype=zerowidth negate= + rx460_cur."!cursor_pos"(rx460_pos) + .const 'Sub' $P467 = "131_1278500530.77787" + capture_lex $P467 + $P10 = rx460_cur."before"($P467) + unless $P10, rx460_fail + goto alt465_end + alt465_1: + # rx subrule "assertion" subtype=capture negate= + rx460_cur."!cursor_pos"(rx460_pos) + $P10 = rx460_cur."assertion"() + unless $P10, rx460_fail + rx460_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("assertion") + rx460_pos = $P10."pos"() + alt465_end: # rx pass - rx460_cur."!cursor_pass"(rx460_pos, "") - rx460_cur."!cursor_debug"("PASS ", "", " at pos=", rx460_pos) + rx460_cur."!cursor_pass"(rx460_pos, "assertion:sym") + rx460_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx460_pos) .return (rx460_cur) rx460_fail: +.annotate 'line', 3 (rx460_rep, rx460_pos, $I10, $P10) = rx460_cur."!mark_fail"(0) lt rx460_pos, -1, rx460_done eq rx460_pos, -1, rx460_fail jump $I10 rx460_done: rx460_cur."!cursor_fail"() - rx460_cur."!cursor_debug"("FAIL ", "") + rx460_cur."!cursor_debug"("FAIL ", "assertion:sym") .return (rx460_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion:sym" :subid("130_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "!PREFIX__assertion:sym" :subid("130_1278500530.77787") :method .annotate 'line', 3 - .const 'Sub' $P470 = "132_1276996307.3412" - capture_lex $P470 - .local string rx463_tgt - .local int rx463_pos - .local int rx463_off - .local int rx463_eos - .local int rx463_rep - .local pmc rx463_cur - (rx463_cur, rx463_pos, rx463_tgt) = self."!cursor_start"() - rx463_cur."!cursor_debug"("START ", "assertion:sym") - .lex unicode:"$\x{a2}", rx463_cur + $P462 = self."!PREFIX__!subrule"("assertion", "?") + new $P463, "ResizablePMCArray" + push $P463, $P462 + push $P463, "?" + .return ($P463) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "_block466" :anon :subid("131_1278500530.77787") :method :outer("129_1278500530.77787") +.annotate 'line', 142 + .local string rx468_tgt + .local int rx468_pos + .local int rx468_off + .local int rx468_eos + .local int rx468_rep + .local pmc rx468_cur + (rx468_cur, rx468_pos, rx468_tgt) = self."!cursor_start"() + rx468_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx468_cur .local pmc match .lex "$/", match - length rx463_eos, rx463_tgt - gt rx463_pos, rx463_eos, rx463_done - set rx463_off, 0 - lt rx463_pos, 2, rx463_start - sub rx463_off, rx463_pos, 1 - substr rx463_tgt, rx463_tgt, rx463_off - rx463_start: + length rx468_eos, rx468_tgt + gt rx468_pos, rx468_eos, rx468_done + set rx468_off, 0 + lt rx468_pos, 2, rx468_start + sub rx468_off, rx468_pos, 1 + substr rx468_tgt, rx468_tgt, rx468_off + rx468_start: $I10 = self.'from'() - ne $I10, -1, rxscan467_done - goto rxscan467_scan - rxscan467_loop: - ($P10) = rx463_cur."from"() + ne $I10, -1, rxscan469_done + goto rxscan469_scan + rxscan469_loop: + ($P10) = rx468_cur."from"() inc $P10 - set rx463_pos, $P10 - ge rx463_pos, rx463_eos, rxscan467_done - rxscan467_scan: - set_addr $I10, rxscan467_loop - rx463_cur."!mark_push"(0, rx463_pos, $I10) - rxscan467_done: -.annotate 'line', 141 - # rx literal "!" - add $I11, rx463_pos, 1 - gt $I11, rx463_eos, rx463_fail - sub $I11, rx463_pos, rx463_off - substr $S10, rx463_tgt, $I11, 1 - ne $S10, "!", rx463_fail - add rx463_pos, 1 - alt468_0: - set_addr $I10, alt468_1 - rx463_cur."!mark_push"(0, rx463_pos, $I10) - # rx subrule "before" subtype=zerowidth negate= - rx463_cur."!cursor_pos"(rx463_pos) - .const 'Sub' $P470 = "132_1276996307.3412" - capture_lex $P470 - $P10 = rx463_cur."before"($P470) - unless $P10, rx463_fail - goto alt468_end - alt468_1: - # rx subrule "assertion" subtype=capture negate= - rx463_cur."!cursor_pos"(rx463_pos) - $P10 = rx463_cur."assertion"() - unless $P10, rx463_fail - rx463_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("assertion") - rx463_pos = $P10."pos"() - alt468_end: + set rx468_pos, $P10 + ge rx468_pos, rx468_eos, rxscan469_done + rxscan469_scan: + set_addr $I10, rxscan469_loop + rx468_cur."!mark_push"(0, rx468_pos, $I10) + rxscan469_done: + # rx literal ">" + add $I11, rx468_pos, 1 + gt $I11, rx468_eos, rx468_fail + sub $I11, rx468_pos, rx468_off + substr $S10, rx468_tgt, $I11, 1 + ne $S10, ">", rx468_fail + add rx468_pos, 1 # rx pass - rx463_cur."!cursor_pass"(rx463_pos, "assertion:sym") - rx463_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx463_pos) - .return (rx463_cur) - rx463_fail: -.annotate 'line', 3 - (rx463_rep, rx463_pos, $I10, $P10) = rx463_cur."!mark_fail"(0) - lt rx463_pos, -1, rx463_done - eq rx463_pos, -1, rx463_fail + rx468_cur."!cursor_pass"(rx468_pos, "") + rx468_cur."!cursor_debug"("PASS ", "", " at pos=", rx468_pos) + .return (rx468_cur) + rx468_fail: + (rx468_rep, rx468_pos, $I10, $P10) = rx468_cur."!mark_fail"(0) + lt rx468_pos, -1, rx468_done + eq rx468_pos, -1, rx468_fail jump $I10 - rx463_done: - rx463_cur."!cursor_fail"() - rx463_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx463_cur) + rx468_done: + rx468_cur."!cursor_fail"() + rx468_cur."!cursor_debug"("FAIL ", "") + .return (rx468_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion:sym" :subid("131_1276996307.3412") :method +.sub "assertion:sym" :subid("132_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - $P465 = self."!PREFIX__!subrule"("assertion", "!") - new $P466, "ResizablePMCArray" - push $P466, $P465 - push $P466, "!" - .return ($P466) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block469" :anon :subid("132_1276996307.3412") :method :outer("130_1276996307.3412") -.annotate 'line', 141 + .const 'Sub' $P478 = "134_1278500530.77787" + capture_lex $P478 .local string rx471_tgt .local int rx471_pos .local int rx471_off @@ -5687,7 +5687,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx471_rep .local pmc rx471_cur (rx471_cur, rx471_pos, rx471_tgt) = self."!cursor_start"() - rx471_cur."!cursor_debug"("START ", "") + rx471_cur."!cursor_debug"("START ", "assertion:sym") .lex unicode:"$\x{a2}", rx471_cur .local pmc match .lex "$/", match @@ -5699,1038 +5699,1060 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx471_tgt, rx471_tgt, rx471_off rx471_start: $I10 = self.'from'() - ne $I10, -1, rxscan472_done - goto rxscan472_scan - rxscan472_loop: + ne $I10, -1, rxscan475_done + goto rxscan475_scan + rxscan475_loop: ($P10) = rx471_cur."from"() inc $P10 set rx471_pos, $P10 - ge rx471_pos, rx471_eos, rxscan472_done - rxscan472_scan: - set_addr $I10, rxscan472_loop + ge rx471_pos, rx471_eos, rxscan475_done + rxscan475_scan: + set_addr $I10, rxscan475_loop rx471_cur."!mark_push"(0, rx471_pos, $I10) - rxscan472_done: - # rx literal ">" + rxscan475_done: +.annotate 'line', 143 + # rx literal "!" add $I11, rx471_pos, 1 gt $I11, rx471_eos, rx471_fail sub $I11, rx471_pos, rx471_off substr $S10, rx471_tgt, $I11, 1 - ne $S10, ">", rx471_fail + ne $S10, "!", rx471_fail add rx471_pos, 1 + alt476_0: + set_addr $I10, alt476_1 + rx471_cur."!mark_push"(0, rx471_pos, $I10) + # rx subrule "before" subtype=zerowidth negate= + rx471_cur."!cursor_pos"(rx471_pos) + .const 'Sub' $P478 = "134_1278500530.77787" + capture_lex $P478 + $P10 = rx471_cur."before"($P478) + unless $P10, rx471_fail + goto alt476_end + alt476_1: + # rx subrule "assertion" subtype=capture negate= + rx471_cur."!cursor_pos"(rx471_pos) + $P10 = rx471_cur."assertion"() + unless $P10, rx471_fail + rx471_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("assertion") + rx471_pos = $P10."pos"() + alt476_end: # rx pass - rx471_cur."!cursor_pass"(rx471_pos, "") - rx471_cur."!cursor_debug"("PASS ", "", " at pos=", rx471_pos) + rx471_cur."!cursor_pass"(rx471_pos, "assertion:sym") + rx471_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx471_pos) .return (rx471_cur) rx471_fail: +.annotate 'line', 3 (rx471_rep, rx471_pos, $I10, $P10) = rx471_cur."!mark_fail"(0) lt rx471_pos, -1, rx471_done eq rx471_pos, -1, rx471_fail jump $I10 rx471_done: rx471_cur."!cursor_fail"() - rx471_cur."!cursor_debug"("FAIL ", "") + rx471_cur."!cursor_debug"("FAIL ", "assertion:sym") .return (rx471_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion:sym" :subid("133_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "!PREFIX__assertion:sym" :subid("133_1278500530.77787") :method .annotate 'line', 3 - .local string rx474_tgt - .local int rx474_pos - .local int rx474_off - .local int rx474_eos - .local int rx474_rep - .local pmc rx474_cur - (rx474_cur, rx474_pos, rx474_tgt) = self."!cursor_start"() - rx474_cur."!cursor_debug"("START ", "assertion:sym") - .lex unicode:"$\x{a2}", rx474_cur + $P473 = self."!PREFIX__!subrule"("assertion", "!") + new $P474, "ResizablePMCArray" + push $P474, $P473 + push $P474, "!" + .return ($P474) +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "_block477" :anon :subid("134_1278500530.77787") :method :outer("132_1278500530.77787") +.annotate 'line', 143 + .local string rx479_tgt + .local int rx479_pos + .local int rx479_off + .local int rx479_eos + .local int rx479_rep + .local pmc rx479_cur + (rx479_cur, rx479_pos, rx479_tgt) = self."!cursor_start"() + rx479_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx479_cur + .local pmc match + .lex "$/", match + length rx479_eos, rx479_tgt + gt rx479_pos, rx479_eos, rx479_done + set rx479_off, 0 + lt rx479_pos, 2, rx479_start + sub rx479_off, rx479_pos, 1 + substr rx479_tgt, rx479_tgt, rx479_off + rx479_start: + $I10 = self.'from'() + ne $I10, -1, rxscan480_done + goto rxscan480_scan + rxscan480_loop: + ($P10) = rx479_cur."from"() + inc $P10 + set rx479_pos, $P10 + ge rx479_pos, rx479_eos, rxscan480_done + rxscan480_scan: + set_addr $I10, rxscan480_loop + rx479_cur."!mark_push"(0, rx479_pos, $I10) + rxscan480_done: + # rx literal ">" + add $I11, rx479_pos, 1 + gt $I11, rx479_eos, rx479_fail + sub $I11, rx479_pos, rx479_off + substr $S10, rx479_tgt, $I11, 1 + ne $S10, ">", rx479_fail + add rx479_pos, 1 + # rx pass + rx479_cur."!cursor_pass"(rx479_pos, "") + rx479_cur."!cursor_debug"("PASS ", "", " at pos=", rx479_pos) + .return (rx479_cur) + rx479_fail: + (rx479_rep, rx479_pos, $I10, $P10) = rx479_cur."!mark_fail"(0) + lt rx479_pos, -1, rx479_done + eq rx479_pos, -1, rx479_fail + jump $I10 + rx479_done: + rx479_cur."!cursor_fail"() + rx479_cur."!cursor_debug"("FAIL ", "") + .return (rx479_cur) + .return () +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "assertion:sym" :subid("135_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .local string rx482_tgt + .local int rx482_pos + .local int rx482_off + .local int rx482_eos + .local int rx482_rep + .local pmc rx482_cur + (rx482_cur, rx482_pos, rx482_tgt) = self."!cursor_start"() + rx482_cur."!cursor_debug"("START ", "assertion:sym") + .lex unicode:"$\x{a2}", rx482_cur .local pmc match .lex "$/", match - length rx474_eos, rx474_tgt - gt rx474_pos, rx474_eos, rx474_done - set rx474_off, 0 - lt rx474_pos, 2, rx474_start - sub rx474_off, rx474_pos, 1 - substr rx474_tgt, rx474_tgt, rx474_off - rx474_start: + length rx482_eos, rx482_tgt + gt rx482_pos, rx482_eos, rx482_done + set rx482_off, 0 + lt rx482_pos, 2, rx482_start + sub rx482_off, rx482_pos, 1 + substr rx482_tgt, rx482_tgt, rx482_off + rx482_start: $I10 = self.'from'() - ne $I10, -1, rxscan478_done - goto rxscan478_scan - rxscan478_loop: - ($P10) = rx474_cur."from"() + ne $I10, -1, rxscan486_done + goto rxscan486_scan + rxscan486_loop: + ($P10) = rx482_cur."from"() inc $P10 - set rx474_pos, $P10 - ge rx474_pos, rx474_eos, rxscan478_done - rxscan478_scan: - set_addr $I10, rxscan478_loop - rx474_cur."!mark_push"(0, rx474_pos, $I10) - rxscan478_done: -.annotate 'line', 144 + set rx482_pos, $P10 + ge rx482_pos, rx482_eos, rxscan486_done + rxscan486_scan: + set_addr $I10, rxscan486_loop + rx482_cur."!mark_push"(0, rx482_pos, $I10) + rxscan486_done: +.annotate 'line', 146 # rx literal "." - add $I11, rx474_pos, 1 - gt $I11, rx474_eos, rx474_fail - sub $I11, rx474_pos, rx474_off - substr $S10, rx474_tgt, $I11, 1 - ne $S10, ".", rx474_fail - add rx474_pos, 1 + add $I11, rx482_pos, 1 + gt $I11, rx482_eos, rx482_fail + sub $I11, rx482_pos, rx482_off + substr $S10, rx482_tgt, $I11, 1 + ne $S10, ".", rx482_fail + add rx482_pos, 1 # rx subrule "assertion" subtype=capture negate= - rx474_cur."!cursor_pos"(rx474_pos) - $P10 = rx474_cur."assertion"() - unless $P10, rx474_fail - rx474_cur."!mark_push"(0, -1, 0, $P10) + rx482_cur."!cursor_pos"(rx482_pos) + $P10 = rx482_cur."assertion"() + unless $P10, rx482_fail + rx482_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("assertion") - rx474_pos = $P10."pos"() -.annotate 'line', 143 + rx482_pos = $P10."pos"() +.annotate 'line', 145 # rx pass - rx474_cur."!cursor_pass"(rx474_pos, "assertion:sym") - rx474_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx474_pos) - .return (rx474_cur) - rx474_fail: -.annotate 'line', 3 - (rx474_rep, rx474_pos, $I10, $P10) = rx474_cur."!mark_fail"(0) - lt rx474_pos, -1, rx474_done - eq rx474_pos, -1, rx474_fail + rx482_cur."!cursor_pass"(rx482_pos, "assertion:sym") + rx482_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx482_pos) + .return (rx482_cur) + rx482_fail: +.annotate 'line', 3 + (rx482_rep, rx482_pos, $I10, $P10) = rx482_cur."!mark_fail"(0) + lt rx482_pos, -1, rx482_done + eq rx482_pos, -1, rx482_fail jump $I10 - rx474_done: - rx474_cur."!cursor_fail"() - rx474_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx474_cur) + rx482_done: + rx482_cur."!cursor_fail"() + rx482_cur."!cursor_debug"("FAIL ", "assertion:sym") + .return (rx482_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion:sym" :subid("134_1276996307.3412") :method +.sub "!PREFIX__assertion:sym" :subid("136_1278500530.77787") :method .annotate 'line', 3 - $P476 = self."!PREFIX__!subrule"("assertion", ".") - new $P477, "ResizablePMCArray" - push $P477, $P476 - .return ($P477) + $P484 = self."!PREFIX__!subrule"("assertion", ".") + new $P485, "ResizablePMCArray" + push $P485, $P484 + .return ($P485) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion:sym" :subid("135_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "assertion:sym" :subid("137_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P488 = "137_1276996307.3412" - capture_lex $P488 - .local string rx480_tgt - .local int rx480_pos - .local int rx480_off - .local int rx480_eos - .local int rx480_rep - .local pmc rx480_cur - (rx480_cur, rx480_pos, rx480_tgt) = self."!cursor_start"() - rx480_cur."!cursor_debug"("START ", "assertion:sym") - rx480_cur."!cursor_caparray"("assertion", "nibbler", "arglist") - .lex unicode:"$\x{a2}", rx480_cur + .const 'Sub' $P496 = "139_1278500530.77787" + capture_lex $P496 + .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 ", "assertion:sym") + rx488_cur."!cursor_caparray"("assertion", "nibbler", "arglist") + .lex unicode:"$\x{a2}", rx488_cur .local pmc match .lex "$/", match - length rx480_eos, rx480_tgt - gt rx480_pos, rx480_eos, rx480_done - set rx480_off, 0 - lt rx480_pos, 2, rx480_start - sub rx480_off, rx480_pos, 1 - substr rx480_tgt, rx480_tgt, rx480_off - rx480_start: + length rx488_eos, rx488_tgt + gt rx488_pos, rx488_eos, rx488_done + 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, rxscan483_done - goto rxscan483_scan - rxscan483_loop: - ($P10) = rx480_cur."from"() + ne $I10, -1, rxscan492_done + goto rxscan492_scan + rxscan492_loop: + ($P10) = rx488_cur."from"() inc $P10 - set rx480_pos, $P10 - ge rx480_pos, rx480_eos, rxscan483_done - rxscan483_scan: - set_addr $I10, rxscan483_loop - rx480_cur."!mark_push"(0, rx480_pos, $I10) - rxscan483_done: -.annotate 'line', 148 - # rx subcapture "longname" - set_addr $I10, rxcap_484_fail - rx480_cur."!mark_push"(0, rx480_pos, $I10) - # rx charclass_q w r 1..-1 - sub $I10, rx480_pos, rx480_off - find_not_cclass $I11, 8192, rx480_tgt, $I10, rx480_eos - add $I12, $I10, 1 - lt $I11, $I12, rx480_fail - add rx480_pos, rx480_off, $I11 - set_addr $I10, rxcap_484_fail - ($I12, $I11) = rx480_cur."!mark_peek"($I10) - rx480_cur."!cursor_pos"($I11) - ($P10) = rx480_cur."!cursor_start"() - $P10."!cursor_pass"(rx480_pos, "") - rx480_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("longname") - goto rxcap_484_done - rxcap_484_fail: - goto rx480_fail - rxcap_484_done: -.annotate 'line', 155 - # rx rxquantr485 ** 0..1 - set_addr $I491, rxquantr485_done - rx480_cur."!mark_push"(0, rx480_pos, $I491) - rxquantr485_loop: - alt486_0: -.annotate 'line', 149 - set_addr $I10, alt486_1 - rx480_cur."!mark_push"(0, rx480_pos, $I10) + set rx488_pos, $P10 + ge rx488_pos, rx488_eos, rxscan492_done + rxscan492_scan: + set_addr $I10, rxscan492_loop + rx488_cur."!mark_push"(0, rx488_pos, $I10) + rxscan492_done: .annotate 'line', 150 - # rx subrule "before" subtype=zerowidth negate= - rx480_cur."!cursor_pos"(rx480_pos) - .const 'Sub' $P488 = "137_1276996307.3412" - capture_lex $P488 - $P10 = rx480_cur."before"($P488) - unless $P10, rx480_fail - goto alt486_end - alt486_1: - set_addr $I10, alt486_2 - rx480_cur."!mark_push"(0, rx480_pos, $I10) + # rx subrule "identifier" subtype=capture negate= + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."identifier"() + unless $P10, rx488_fail + rx488_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("longname") + rx488_pos = $P10."pos"() +.annotate 'line', 157 + # rx rxquantr493 ** 0..1 + set_addr $I499, rxquantr493_done + rx488_cur."!mark_push"(0, rx488_pos, $I499) + rxquantr493_loop: + alt494_0: .annotate 'line', 151 + set_addr $I10, alt494_1 + rx488_cur."!mark_push"(0, rx488_pos, $I10) +.annotate 'line', 152 + # rx subrule "before" subtype=zerowidth negate= + rx488_cur."!cursor_pos"(rx488_pos) + .const 'Sub' $P496 = "139_1278500530.77787" + capture_lex $P496 + $P10 = rx488_cur."before"($P496) + unless $P10, rx488_fail + goto alt494_end + alt494_1: + set_addr $I10, alt494_2 + rx488_cur."!mark_push"(0, rx488_pos, $I10) +.annotate 'line', 153 # rx literal "=" - add $I11, rx480_pos, 1 - gt $I11, rx480_eos, rx480_fail - sub $I11, rx480_pos, rx480_off - substr $S10, rx480_tgt, $I11, 1 - ne $S10, "=", rx480_fail - add rx480_pos, 1 + add $I11, rx488_pos, 1 + gt $I11, rx488_eos, rx488_fail + sub $I11, rx488_pos, rx488_off + substr $S10, rx488_tgt, $I11, 1 + ne $S10, "=", rx488_fail + add rx488_pos, 1 # rx subrule "assertion" subtype=capture negate= - rx480_cur."!cursor_pos"(rx480_pos) - $P10 = rx480_cur."assertion"() - unless $P10, rx480_fail - rx480_cur."!mark_push"(0, -1, 0, $P10) + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."assertion"() + unless $P10, rx488_fail + rx488_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("assertion") - rx480_pos = $P10."pos"() - goto alt486_end - alt486_2: - set_addr $I10, alt486_3 - rx480_cur."!mark_push"(0, rx480_pos, $I10) -.annotate 'line', 152 + rx488_pos = $P10."pos"() + goto alt494_end + alt494_2: + set_addr $I10, alt494_3 + rx488_cur."!mark_push"(0, rx488_pos, $I10) +.annotate 'line', 154 # rx literal ":" - add $I11, rx480_pos, 1 - gt $I11, rx480_eos, rx480_fail - sub $I11, rx480_pos, rx480_off - substr $S10, rx480_tgt, $I11, 1 - ne $S10, ":", rx480_fail - add rx480_pos, 1 + add $I11, rx488_pos, 1 + gt $I11, rx488_eos, rx488_fail + sub $I11, rx488_pos, rx488_off + substr $S10, rx488_tgt, $I11, 1 + ne $S10, ":", rx488_fail + add rx488_pos, 1 # rx subrule "arglist" subtype=capture negate= - rx480_cur."!cursor_pos"(rx480_pos) - $P10 = rx480_cur."arglist"() - unless $P10, rx480_fail - rx480_cur."!mark_push"(0, -1, 0, $P10) + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."arglist"() + unless $P10, rx488_fail + rx488_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arglist") - rx480_pos = $P10."pos"() - goto alt486_end - alt486_3: - set_addr $I10, alt486_4 - rx480_cur."!mark_push"(0, rx480_pos, $I10) -.annotate 'line', 153 + rx488_pos = $P10."pos"() + goto alt494_end + alt494_3: + set_addr $I10, alt494_4 + rx488_cur."!mark_push"(0, rx488_pos, $I10) +.annotate 'line', 155 # rx literal "(" - add $I11, rx480_pos, 1 - gt $I11, rx480_eos, rx480_fail - sub $I11, rx480_pos, rx480_off - substr $S10, rx480_tgt, $I11, 1 - ne $S10, "(", rx480_fail - add rx480_pos, 1 + add $I11, rx488_pos, 1 + gt $I11, rx488_eos, rx488_fail + sub $I11, rx488_pos, rx488_off + substr $S10, rx488_tgt, $I11, 1 + ne $S10, "(", rx488_fail + add rx488_pos, 1 # rx subrule "arglist" subtype=capture negate= - rx480_cur."!cursor_pos"(rx480_pos) - $P10 = rx480_cur."arglist"() - unless $P10, rx480_fail - rx480_cur."!mark_push"(0, -1, 0, $P10) + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."arglist"() + unless $P10, rx488_fail + rx488_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("arglist") - rx480_pos = $P10."pos"() + rx488_pos = $P10."pos"() # rx literal ")" - add $I11, rx480_pos, 1 - gt $I11, rx480_eos, rx480_fail - sub $I11, rx480_pos, rx480_off - substr $S10, rx480_tgt, $I11, 1 - ne $S10, ")", rx480_fail - add rx480_pos, 1 - goto alt486_end - alt486_4: -.annotate 'line', 154 + add $I11, rx488_pos, 1 + gt $I11, rx488_eos, rx488_fail + sub $I11, rx488_pos, rx488_off + substr $S10, rx488_tgt, $I11, 1 + ne $S10, ")", rx488_fail + add rx488_pos, 1 + goto alt494_end + alt494_4: +.annotate 'line', 156 # rx subrule "normspace" subtype=method negate= - rx480_cur."!cursor_pos"(rx480_pos) - $P10 = rx480_cur."normspace"() - unless $P10, rx480_fail - rx480_pos = $P10."pos"() + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."normspace"() + unless $P10, rx488_fail + rx488_pos = $P10."pos"() # rx subrule "nibbler" subtype=capture negate= - rx480_cur."!cursor_pos"(rx480_pos) - $P10 = rx480_cur."nibbler"() - unless $P10, rx480_fail - rx480_cur."!mark_push"(0, -1, 0, $P10) + rx488_cur."!cursor_pos"(rx488_pos) + $P10 = rx488_cur."nibbler"() + unless $P10, rx488_fail + rx488_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("nibbler") - rx480_pos = $P10."pos"() - alt486_end: -.annotate 'line', 155 - (rx480_rep) = rx480_cur."!mark_commit"($I491) - rxquantr485_done: -.annotate 'line', 147 + rx488_pos = $P10."pos"() + alt494_end: +.annotate 'line', 157 + (rx488_rep) = rx488_cur."!mark_commit"($I499) + rxquantr493_done: +.annotate 'line', 149 # rx pass - rx480_cur."!cursor_pass"(rx480_pos, "assertion:sym") - rx480_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx480_pos) - .return (rx480_cur) - rx480_fail: -.annotate 'line', 3 - (rx480_rep, rx480_pos, $I10, $P10) = rx480_cur."!mark_fail"(0) - lt rx480_pos, -1, rx480_done - eq rx480_pos, -1, rx480_fail + rx488_cur."!cursor_pass"(rx488_pos, "assertion:sym") + rx488_cur."!cursor_debug"("PASS ", "assertion:sym", " at pos=", rx488_pos) + .return (rx488_cur) + rx488_fail: +.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 jump $I10 - rx480_done: - rx480_cur."!cursor_fail"() - rx480_cur."!cursor_debug"("FAIL ", "assertion:sym") - .return (rx480_cur) + rx488_done: + rx488_cur."!cursor_fail"() + rx488_cur."!cursor_debug"("FAIL ", "assertion:sym") + .return (rx488_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion:sym" :subid("136_1276996307.3412") :method +.sub "!PREFIX__assertion:sym" :subid("138_1278500530.77787") :method .annotate 'line', 3 - new $P482, "ResizablePMCArray" - push $P482, "" - .return ($P482) + $P490 = self."!PREFIX__!subrule"("identifier", "") + new $P491, "ResizablePMCArray" + push $P491, $P490 + .return ($P491) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block487" :anon :subid("137_1276996307.3412") :method :outer("135_1276996307.3412") -.annotate 'line', 150 - .local string rx489_tgt - .local int rx489_pos - .local int rx489_off - .local int rx489_eos - .local int rx489_rep - .local pmc rx489_cur - (rx489_cur, rx489_pos, rx489_tgt) = self."!cursor_start"() - rx489_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx489_cur +.sub "_block495" :anon :subid("139_1278500530.77787") :method :outer("137_1278500530.77787") +.annotate 'line', 152 + .local string rx497_tgt + .local int rx497_pos + .local int rx497_off + .local int rx497_eos + .local int rx497_rep + .local pmc rx497_cur + (rx497_cur, rx497_pos, rx497_tgt) = self."!cursor_start"() + rx497_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx497_cur .local pmc match .lex "$/", match - length rx489_eos, rx489_tgt - gt rx489_pos, rx489_eos, rx489_done - set rx489_off, 0 - lt rx489_pos, 2, rx489_start - sub rx489_off, rx489_pos, 1 - substr rx489_tgt, rx489_tgt, rx489_off - rx489_start: + length rx497_eos, rx497_tgt + gt rx497_pos, rx497_eos, rx497_done + set rx497_off, 0 + lt rx497_pos, 2, rx497_start + sub rx497_off, rx497_pos, 1 + substr rx497_tgt, rx497_tgt, rx497_off + rx497_start: $I10 = self.'from'() - ne $I10, -1, rxscan490_done - goto rxscan490_scan - rxscan490_loop: - ($P10) = rx489_cur."from"() + ne $I10, -1, rxscan498_done + goto rxscan498_scan + rxscan498_loop: + ($P10) = rx497_cur."from"() inc $P10 - set rx489_pos, $P10 - ge rx489_pos, rx489_eos, rxscan490_done - rxscan490_scan: - set_addr $I10, rxscan490_loop - rx489_cur."!mark_push"(0, rx489_pos, $I10) - rxscan490_done: + set rx497_pos, $P10 + ge rx497_pos, rx497_eos, rxscan498_done + rxscan498_scan: + set_addr $I10, rxscan498_loop + rx497_cur."!mark_push"(0, rx497_pos, $I10) + rxscan498_done: # rx literal ">" - add $I11, rx489_pos, 1 - gt $I11, rx489_eos, rx489_fail - sub $I11, rx489_pos, rx489_off - substr $S10, rx489_tgt, $I11, 1 - ne $S10, ">", rx489_fail - add rx489_pos, 1 + add $I11, rx497_pos, 1 + gt $I11, rx497_eos, rx497_fail + sub $I11, rx497_pos, rx497_off + substr $S10, rx497_tgt, $I11, 1 + ne $S10, ">", rx497_fail + add rx497_pos, 1 # rx pass - rx489_cur."!cursor_pass"(rx489_pos, "") - rx489_cur."!cursor_debug"("PASS ", "", " at pos=", rx489_pos) - .return (rx489_cur) - rx489_fail: - (rx489_rep, rx489_pos, $I10, $P10) = rx489_cur."!mark_fail"(0) - lt rx489_pos, -1, rx489_done - eq rx489_pos, -1, rx489_fail + rx497_cur."!cursor_pass"(rx497_pos, "") + rx497_cur."!cursor_debug"("PASS ", "", " at pos=", rx497_pos) + .return (rx497_cur) + rx497_fail: + (rx497_rep, rx497_pos, $I10, $P10) = rx497_cur."!mark_fail"(0) + lt rx497_pos, -1, rx497_done + eq rx497_pos, -1, rx497_fail jump $I10 - rx489_done: - rx489_cur."!cursor_fail"() - rx489_cur."!cursor_debug"("FAIL ", "") - .return (rx489_cur) + rx497_done: + rx497_cur."!cursor_fail"() + rx497_cur."!cursor_debug"("FAIL ", "") + .return (rx497_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "assertion:sym<[>" :subid("138_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "assertion:sym<[>" :subid("140_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P498 = "140_1276996307.3412" - capture_lex $P498 - .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 ", "assertion:sym<[>") - rx493_cur."!cursor_caparray"("cclass_elem") - .lex unicode:"$\x{a2}", rx493_cur + .const 'Sub' $P506 = "142_1278500530.77787" + capture_lex $P506 + .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 ", "assertion:sym<[>") + rx501_cur."!cursor_caparray"("cclass_elem") + .lex unicode:"$\x{a2}", rx501_cur .local pmc match .lex "$/", match - length rx493_eos, rx493_tgt - gt rx493_pos, rx493_eos, rx493_done - 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: + length rx501_eos, rx501_tgt + gt rx501_pos, rx501_eos, rx501_done + 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, rxscan496_done - goto rxscan496_scan - rxscan496_loop: - ($P10) = rx493_cur."from"() + ne $I10, -1, rxscan504_done + goto rxscan504_scan + rxscan504_loop: + ($P10) = rx501_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', 158 + 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', 160 # rx subrule "before" subtype=zerowidth negate= - rx493_cur."!cursor_pos"(rx493_pos) - .const 'Sub' $P498 = "140_1276996307.3412" - capture_lex $P498 - $P10 = rx493_cur."before"($P498) - unless $P10, rx493_fail - # rx rxquantr502 ** 1..* - set_addr $I503, rxquantr502_done - rx493_cur."!mark_push"(0, -1, $I503) - rxquantr502_loop: + rx501_cur."!cursor_pos"(rx501_pos) + .const 'Sub' $P506 = "142_1278500530.77787" + capture_lex $P506 + $P10 = rx501_cur."before"($P506) + unless $P10, rx501_fail + # rx rxquantr510 ** 1..* + set_addr $I511, rxquantr510_done + rx501_cur."!mark_push"(0, -1, $I511) + rxquantr510_loop: # rx subrule "cclass_elem" subtype=capture negate= - rx493_cur."!cursor_pos"(rx493_pos) - $P10 = rx493_cur."cclass_elem"() - unless $P10, rx493_fail - rx493_cur."!mark_push"(0, -1, 0, $P10) + rx501_cur."!cursor_pos"(rx501_pos) + $P10 = rx501_cur."cclass_elem"() + unless $P10, rx501_fail + rx501_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("cclass_elem") - rx493_pos = $P10."pos"() - (rx493_rep) = rx493_cur."!mark_commit"($I503) - rx493_cur."!mark_push"(rx493_rep, rx493_pos, $I503) - goto rxquantr502_loop - rxquantr502_done: + rx501_pos = $P10."pos"() + (rx501_rep) = rx501_cur."!mark_commit"($I511) + rx501_cur."!mark_push"(rx501_rep, rx501_pos, $I511) + goto rxquantr510_loop + rxquantr510_done: # rx pass - rx493_cur."!cursor_pass"(rx493_pos, "assertion:sym<[>") - rx493_cur."!cursor_debug"("PASS ", "assertion:sym<[>", " at pos=", rx493_pos) - .return (rx493_cur) - rx493_fail: -.annotate 'line', 3 - (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, "assertion:sym<[>") + rx501_cur."!cursor_debug"("PASS ", "assertion:sym<[>", " at pos=", rx501_pos) + .return (rx501_cur) + rx501_fail: +.annotate 'line', 3 + (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 ", "assertion:sym<[>") - .return (rx493_cur) + rx501_done: + rx501_cur."!cursor_fail"() + rx501_cur."!cursor_debug"("FAIL ", "assertion:sym<[>") + .return (rx501_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__assertion:sym<[>" :subid("139_1276996307.3412") :method +.sub "!PREFIX__assertion:sym<[>" :subid("141_1278500530.77787") :method .annotate 'line', 3 - new $P495, "ResizablePMCArray" - push $P495, "" - .return ($P495) + new $P503, "ResizablePMCArray" + push $P503, "" + .return ($P503) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block497" :anon :subid("140_1276996307.3412") :method :outer("138_1276996307.3412") -.annotate 'line', 158 - .local string rx499_tgt - .local int rx499_pos - .local int rx499_off - .local int rx499_eos - .local int rx499_rep - .local pmc rx499_cur - (rx499_cur, rx499_pos, rx499_tgt) = self."!cursor_start"() - rx499_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx499_cur +.sub "_block505" :anon :subid("142_1278500530.77787") :method :outer("140_1278500530.77787") +.annotate 'line', 160 + .local string rx507_tgt + .local int rx507_pos + .local int rx507_off + .local int rx507_eos + .local int rx507_rep + .local pmc rx507_cur + (rx507_cur, rx507_pos, rx507_tgt) = self."!cursor_start"() + rx507_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx507_cur .local pmc match .lex "$/", match - length rx499_eos, rx499_tgt - gt rx499_pos, rx499_eos, rx499_done - set rx499_off, 0 - lt rx499_pos, 2, rx499_start - sub rx499_off, rx499_pos, 1 - substr rx499_tgt, rx499_tgt, rx499_off - rx499_start: + length rx507_eos, rx507_tgt + gt rx507_pos, rx507_eos, rx507_done + set rx507_off, 0 + lt rx507_pos, 2, rx507_start + sub rx507_off, rx507_pos, 1 + substr rx507_tgt, rx507_tgt, rx507_off + rx507_start: $I10 = self.'from'() - ne $I10, -1, rxscan500_done - goto rxscan500_scan - rxscan500_loop: - ($P10) = rx499_cur."from"() + ne $I10, -1, rxscan508_done + goto rxscan508_scan + rxscan508_loop: + ($P10) = rx507_cur."from"() inc $P10 - set rx499_pos, $P10 - ge rx499_pos, rx499_eos, rxscan500_done - rxscan500_scan: - set_addr $I10, rxscan500_loop - rx499_cur."!mark_push"(0, rx499_pos, $I10) - rxscan500_done: - alt501_0: - set_addr $I10, alt501_1 - rx499_cur."!mark_push"(0, rx499_pos, $I10) + set rx507_pos, $P10 + ge rx507_pos, rx507_eos, rxscan508_done + rxscan508_scan: + set_addr $I10, rxscan508_loop + rx507_cur."!mark_push"(0, rx507_pos, $I10) + rxscan508_done: + alt509_0: + set_addr $I10, alt509_1 + rx507_cur."!mark_push"(0, rx507_pos, $I10) # rx literal "[" - add $I11, rx499_pos, 1 - gt $I11, rx499_eos, rx499_fail - sub $I11, rx499_pos, rx499_off - substr $S10, rx499_tgt, $I11, 1 - ne $S10, "[", rx499_fail - add rx499_pos, 1 - goto alt501_end - alt501_1: - set_addr $I10, alt501_2 - rx499_cur."!mark_push"(0, rx499_pos, $I10) + add $I11, rx507_pos, 1 + gt $I11, rx507_eos, rx507_fail + sub $I11, rx507_pos, rx507_off + substr $S10, rx507_tgt, $I11, 1 + ne $S10, "[", rx507_fail + add rx507_pos, 1 + goto alt509_end + alt509_1: + set_addr $I10, alt509_2 + rx507_cur."!mark_push"(0, rx507_pos, $I10) # rx literal "+" - add $I11, rx499_pos, 1 - gt $I11, rx499_eos, rx499_fail - sub $I11, rx499_pos, rx499_off - substr $S10, rx499_tgt, $I11, 1 - ne $S10, "+", rx499_fail - add rx499_pos, 1 - goto alt501_end - alt501_2: + add $I11, rx507_pos, 1 + gt $I11, rx507_eos, rx507_fail + sub $I11, rx507_pos, rx507_off + substr $S10, rx507_tgt, $I11, 1 + ne $S10, "+", rx507_fail + add rx507_pos, 1 + goto alt509_end + alt509_2: # rx literal "-" - add $I11, rx499_pos, 1 - gt $I11, rx499_eos, rx499_fail - sub $I11, rx499_pos, rx499_off - substr $S10, rx499_tgt, $I11, 1 - ne $S10, "-", rx499_fail - add rx499_pos, 1 - alt501_end: + add $I11, rx507_pos, 1 + gt $I11, rx507_eos, rx507_fail + sub $I11, rx507_pos, rx507_off + substr $S10, rx507_tgt, $I11, 1 + ne $S10, "-", rx507_fail + add rx507_pos, 1 + alt509_end: # rx pass - rx499_cur."!cursor_pass"(rx499_pos, "") - rx499_cur."!cursor_debug"("PASS ", "", " at pos=", rx499_pos) - .return (rx499_cur) - rx499_fail: - (rx499_rep, rx499_pos, $I10, $P10) = rx499_cur."!mark_fail"(0) - lt rx499_pos, -1, rx499_done - eq rx499_pos, -1, rx499_fail + rx507_cur."!cursor_pass"(rx507_pos, "") + rx507_cur."!cursor_debug"("PASS ", "", " at pos=", rx507_pos) + .return (rx507_cur) + rx507_fail: + (rx507_rep, rx507_pos, $I10, $P10) = rx507_cur."!mark_fail"(0) + lt rx507_pos, -1, rx507_done + eq rx507_pos, -1, rx507_fail jump $I10 - rx499_done: - rx499_cur."!cursor_fail"() - rx499_cur."!cursor_debug"("FAIL ", "") - .return (rx499_cur) + rx507_done: + rx507_cur."!cursor_fail"() + rx507_cur."!cursor_debug"("FAIL ", "") + .return (rx507_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "cclass_elem" :subid("141_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "cclass_elem" :subid("143_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 - .const 'Sub' $P516 = "143_1276996307.3412" - capture_lex $P516 - .local string rx505_tgt - .local int rx505_pos - .local int rx505_off - .local int rx505_eos - .local int rx505_rep - .local pmc rx505_cur - (rx505_cur, rx505_pos, rx505_tgt) = self."!cursor_start"() - rx505_cur."!cursor_debug"("START ", "cclass_elem") - rx505_cur."!cursor_caparray"("charspec") - .lex unicode:"$\x{a2}", rx505_cur + .const 'Sub' $P524 = "145_1278500530.77787" + capture_lex $P524 + .local string rx513_tgt + .local int rx513_pos + .local int rx513_off + .local int rx513_eos + .local int rx513_rep + .local pmc rx513_cur + (rx513_cur, rx513_pos, rx513_tgt) = self."!cursor_start"() + rx513_cur."!cursor_debug"("START ", "cclass_elem") + rx513_cur."!cursor_caparray"("charspec") + .lex unicode:"$\x{a2}", rx513_cur .local pmc match .lex "$/", match - length rx505_eos, rx505_tgt - gt rx505_pos, rx505_eos, rx505_done - set rx505_off, 0 - lt rx505_pos, 2, rx505_start - sub rx505_off, rx505_pos, 1 - substr rx505_tgt, rx505_tgt, rx505_off - rx505_start: + length rx513_eos, rx513_tgt + gt rx513_pos, rx513_eos, rx513_done + set rx513_off, 0 + lt rx513_pos, 2, rx513_start + sub rx513_off, rx513_pos, 1 + substr rx513_tgt, rx513_tgt, rx513_off + rx513_start: $I10 = self.'from'() - ne $I10, -1, rxscan508_done - goto rxscan508_scan - rxscan508_loop: - ($P10) = rx505_cur."from"() + ne $I10, -1, rxscan516_done + goto rxscan516_scan + rxscan516_loop: + ($P10) = rx513_cur."from"() inc $P10 - set rx505_pos, $P10 - ge rx505_pos, rx505_eos, rxscan508_done - rxscan508_scan: - set_addr $I10, rxscan508_loop - rx505_cur."!mark_push"(0, rx505_pos, $I10) - rxscan508_done: -.annotate 'line', 161 + set rx513_pos, $P10 + ge rx513_pos, rx513_eos, rxscan516_done + rxscan516_scan: + set_addr $I10, rxscan516_loop + rx513_cur."!mark_push"(0, rx513_pos, $I10) + rxscan516_done: +.annotate 'line', 163 # rx subcapture "sign" - set_addr $I10, rxcap_510_fail - rx505_cur."!mark_push"(0, rx505_pos, $I10) - alt509_0: - set_addr $I10, alt509_1 - rx505_cur."!mark_push"(0, rx505_pos, $I10) + set_addr $I10, rxcap_518_fail + rx513_cur."!mark_push"(0, rx513_pos, $I10) + alt517_0: + set_addr $I10, alt517_1 + rx513_cur."!mark_push"(0, rx513_pos, $I10) # rx literal "+" - add $I11, rx505_pos, 1 - gt $I11, rx505_eos, rx505_fail - sub $I11, rx505_pos, rx505_off - substr $S10, rx505_tgt, $I11, 1 - ne $S10, "+", rx505_fail - add rx505_pos, 1 - goto alt509_end - alt509_1: - set_addr $I10, alt509_2 - rx505_cur."!mark_push"(0, rx505_pos, $I10) + add $I11, rx513_pos, 1 + gt $I11, rx513_eos, rx513_fail + sub $I11, rx513_pos, rx513_off + substr $S10, rx513_tgt, $I11, 1 + ne $S10, "+", rx513_fail + add rx513_pos, 1 + goto alt517_end + alt517_1: + set_addr $I10, alt517_2 + rx513_cur."!mark_push"(0, rx513_pos, $I10) # rx literal "-" - add $I11, rx505_pos, 1 - gt $I11, rx505_eos, rx505_fail - sub $I11, rx505_pos, rx505_off - substr $S10, rx505_tgt, $I11, 1 - ne $S10, "-", rx505_fail - add rx505_pos, 1 - goto alt509_end - alt509_2: - alt509_end: - set_addr $I10, rxcap_510_fail - ($I12, $I11) = rx505_cur."!mark_peek"($I10) - rx505_cur."!cursor_pos"($I11) - ($P10) = rx505_cur."!cursor_start"() - $P10."!cursor_pass"(rx505_pos, "") - rx505_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx513_pos, 1 + gt $I11, rx513_eos, rx513_fail + sub $I11, rx513_pos, rx513_off + substr $S10, rx513_tgt, $I11, 1 + ne $S10, "-", rx513_fail + add rx513_pos, 1 + goto alt517_end + alt517_2: + alt517_end: + set_addr $I10, rxcap_518_fail + ($I12, $I11) = rx513_cur."!mark_peek"($I10) + rx513_cur."!cursor_pos"($I11) + ($P10) = rx513_cur."!cursor_start"() + $P10."!cursor_pass"(rx513_pos, "") + rx513_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("sign") - goto rxcap_510_done - rxcap_510_fail: - goto rx505_fail - rxcap_510_done: -.annotate 'line', 162 - # rx rxquantr511 ** 0..1 - set_addr $I512, rxquantr511_done - rx505_cur."!mark_push"(0, rx505_pos, $I512) - rxquantr511_loop: - # rx subrule "normspace" subtype=method negate= - rx505_cur."!cursor_pos"(rx505_pos) - $P10 = rx505_cur."normspace"() - unless $P10, rx505_fail - rx505_pos = $P10."pos"() - (rx505_rep) = rx505_cur."!mark_commit"($I512) - rxquantr511_done: - alt513_0: -.annotate 'line', 163 - set_addr $I10, alt513_1 - rx505_cur."!mark_push"(0, rx505_pos, $I10) + goto rxcap_518_done + rxcap_518_fail: + goto rx513_fail + rxcap_518_done: .annotate 'line', 164 + # rx rxquantr519 ** 0..1 + set_addr $I520, rxquantr519_done + rx513_cur."!mark_push"(0, rx513_pos, $I520) + rxquantr519_loop: + # rx subrule "normspace" subtype=method negate= + rx513_cur."!cursor_pos"(rx513_pos) + $P10 = rx513_cur."normspace"() + unless $P10, rx513_fail + rx513_pos = $P10."pos"() + (rx513_rep) = rx513_cur."!mark_commit"($I520) + rxquantr519_done: + alt521_0: +.annotate 'line', 165 + set_addr $I10, alt521_1 + rx513_cur."!mark_push"(0, rx513_pos, $I10) +.annotate 'line', 166 # rx literal "[" - add $I11, rx505_pos, 1 - gt $I11, rx505_eos, rx505_fail - sub $I11, rx505_pos, rx505_off - substr $S10, rx505_tgt, $I11, 1 - ne $S10, "[", rx505_fail - add rx505_pos, 1 -.annotate 'line', 167 - # rx rxquantr514 ** 0..* - set_addr $I535, rxquantr514_done - rx505_cur."!mark_push"(0, rx505_pos, $I535) - rxquantr514_loop: -.annotate 'line', 164 - # rx subrule $P516 subtype=capture negate= - rx505_cur."!cursor_pos"(rx505_pos) - .const 'Sub' $P516 = "143_1276996307.3412" - capture_lex $P516 - $P10 = rx505_cur.$P516() - unless $P10, rx505_fail - rx505_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx513_pos, 1 + gt $I11, rx513_eos, rx513_fail + sub $I11, rx513_pos, rx513_off + substr $S10, rx513_tgt, $I11, 1 + ne $S10, "[", rx513_fail + add rx513_pos, 1 +.annotate 'line', 169 + # rx rxquantr522 ** 0..* + set_addr $I543, rxquantr522_done + rx513_cur."!mark_push"(0, rx513_pos, $I543) + rxquantr522_loop: +.annotate 'line', 166 + # rx subrule $P524 subtype=capture negate= + rx513_cur."!cursor_pos"(rx513_pos) + .const 'Sub' $P524 = "145_1278500530.77787" + capture_lex $P524 + $P10 = rx513_cur.$P524() + unless $P10, rx513_fail + rx513_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("charspec") - rx505_pos = $P10."pos"() -.annotate 'line', 167 - (rx505_rep) = rx505_cur."!mark_commit"($I535) - rx505_cur."!mark_push"(rx505_rep, rx505_pos, $I535) - goto rxquantr514_loop - rxquantr514_done: -.annotate 'line', 168 + rx513_pos = $P10."pos"() +.annotate 'line', 169 + (rx513_rep) = rx513_cur."!mark_commit"($I543) + rx513_cur."!mark_push"(rx513_rep, rx513_pos, $I543) + goto rxquantr522_loop + rxquantr522_done: +.annotate 'line', 170 # rx charclass_q s r 0..-1 - sub $I10, rx505_pos, rx505_off - find_not_cclass $I11, 32, rx505_tgt, $I10, rx505_eos - add rx505_pos, rx505_off, $I11 + sub $I10, rx513_pos, rx513_off + find_not_cclass $I11, 32, rx513_tgt, $I10, rx513_eos + add rx513_pos, rx513_off, $I11 # rx literal "]" - add $I11, rx505_pos, 1 - gt $I11, rx505_eos, rx505_fail - sub $I11, rx505_pos, rx505_off - substr $S10, rx505_tgt, $I11, 1 - ne $S10, "]", rx505_fail - add rx505_pos, 1 -.annotate 'line', 164 - goto alt513_end - alt513_1: -.annotate 'line', 169 + add $I11, rx513_pos, 1 + gt $I11, rx513_eos, rx513_fail + sub $I11, rx513_pos, rx513_off + substr $S10, rx513_tgt, $I11, 1 + ne $S10, "]", rx513_fail + add rx513_pos, 1 +.annotate 'line', 166 + goto alt521_end + alt521_1: +.annotate 'line', 171 # rx subcapture "name" - set_addr $I10, rxcap_536_fail - rx505_cur."!mark_push"(0, rx505_pos, $I10) + set_addr $I10, rxcap_544_fail + rx513_cur."!mark_push"(0, rx513_pos, $I10) # rx charclass_q w r 1..-1 - sub $I10, rx505_pos, rx505_off - find_not_cclass $I11, 8192, rx505_tgt, $I10, rx505_eos + sub $I10, rx513_pos, rx513_off + find_not_cclass $I11, 8192, rx513_tgt, $I10, rx513_eos add $I12, $I10, 1 - lt $I11, $I12, rx505_fail - add rx505_pos, rx505_off, $I11 - set_addr $I10, rxcap_536_fail - ($I12, $I11) = rx505_cur."!mark_peek"($I10) - rx505_cur."!cursor_pos"($I11) - ($P10) = rx505_cur."!cursor_start"() - $P10."!cursor_pass"(rx505_pos, "") - rx505_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx513_fail + add rx513_pos, rx513_off, $I11 + set_addr $I10, rxcap_544_fail + ($I12, $I11) = rx513_cur."!mark_peek"($I10) + rx513_cur."!cursor_pos"($I11) + ($P10) = rx513_cur."!cursor_start"() + $P10."!cursor_pass"(rx513_pos, "") + rx513_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("name") - goto rxcap_536_done - rxcap_536_fail: - goto rx505_fail - rxcap_536_done: - alt513_end: -.annotate 'line', 171 - # rx rxquantr537 ** 0..1 - set_addr $I538, rxquantr537_done - rx505_cur."!mark_push"(0, rx505_pos, $I538) - rxquantr537_loop: + goto rxcap_544_done + rxcap_544_fail: + goto rx513_fail + rxcap_544_done: + alt521_end: +.annotate 'line', 173 + # rx rxquantr545 ** 0..1 + set_addr $I546, rxquantr545_done + rx513_cur."!mark_push"(0, rx513_pos, $I546) + rxquantr545_loop: # rx subrule "normspace" subtype=method negate= - rx505_cur."!cursor_pos"(rx505_pos) - $P10 = rx505_cur."normspace"() - unless $P10, rx505_fail - rx505_pos = $P10."pos"() - (rx505_rep) = rx505_cur."!mark_commit"($I538) - rxquantr537_done: -.annotate 'line', 160 + rx513_cur."!cursor_pos"(rx513_pos) + $P10 = rx513_cur."normspace"() + unless $P10, rx513_fail + rx513_pos = $P10."pos"() + (rx513_rep) = rx513_cur."!mark_commit"($I546) + rxquantr545_done: +.annotate 'line', 162 # rx pass - rx505_cur."!cursor_pass"(rx505_pos, "cclass_elem") - rx505_cur."!cursor_debug"("PASS ", "cclass_elem", " at pos=", rx505_pos) - .return (rx505_cur) - rx505_fail: -.annotate 'line', 3 - (rx505_rep, rx505_pos, $I10, $P10) = rx505_cur."!mark_fail"(0) - lt rx505_pos, -1, rx505_done - eq rx505_pos, -1, rx505_fail + rx513_cur."!cursor_pass"(rx513_pos, "cclass_elem") + rx513_cur."!cursor_debug"("PASS ", "cclass_elem", " at pos=", rx513_pos) + .return (rx513_cur) + rx513_fail: +.annotate 'line', 3 + (rx513_rep, rx513_pos, $I10, $P10) = rx513_cur."!mark_fail"(0) + lt rx513_pos, -1, rx513_done + eq rx513_pos, -1, rx513_fail jump $I10 - rx505_done: - rx505_cur."!cursor_fail"() - rx505_cur."!cursor_debug"("FAIL ", "cclass_elem") - .return (rx505_cur) + rx513_done: + rx513_cur."!cursor_fail"() + rx513_cur."!cursor_debug"("FAIL ", "cclass_elem") + .return (rx513_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__cclass_elem" :subid("142_1276996307.3412") :method +.sub "!PREFIX__cclass_elem" :subid("144_1278500530.77787") :method .annotate 'line', 3 - new $P507, "ResizablePMCArray" - push $P507, "" - push $P507, "-" - push $P507, "+" - .return ($P507) + new $P515, "ResizablePMCArray" + push $P515, "" + push $P515, "-" + push $P515, "+" + .return ($P515) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block515" :anon :subid("143_1276996307.3412") :method :outer("141_1276996307.3412") -.annotate 'line', 164 - .const 'Sub' $P531 = "146_1276996307.3412" - capture_lex $P531 - .const 'Sub' $P526 = "145_1276996307.3412" - capture_lex $P526 - .const 'Sub' $P522 = "144_1276996307.3412" - capture_lex $P522 - .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 ", "") - rx517_cur."!cursor_caparray"("1") - .lex unicode:"$\x{a2}", rx517_cur +.sub "_block523" :anon :subid("145_1278500530.77787") :method :outer("143_1278500530.77787") +.annotate 'line', 166 + .const 'Sub' $P539 = "148_1278500530.77787" + capture_lex $P539 + .const 'Sub' $P534 = "147_1278500530.77787" + capture_lex $P534 + .const 'Sub' $P530 = "146_1278500530.77787" + capture_lex $P530 + .local string rx525_tgt + .local int rx525_pos + .local int rx525_off + .local int rx525_eos + .local int rx525_rep + .local pmc rx525_cur + (rx525_cur, rx525_pos, rx525_tgt) = self."!cursor_start"() + rx525_cur."!cursor_debug"("START ", "") + rx525_cur."!cursor_caparray"("1") + .lex unicode:"$\x{a2}", rx525_cur .local pmc match .lex "$/", match - length rx517_eos, rx517_tgt - gt rx517_pos, rx517_eos, rx517_done - 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: + length rx525_eos, rx525_tgt + gt rx525_pos, rx525_eos, rx525_done + set rx525_off, 0 + lt rx525_pos, 2, rx525_start + sub rx525_off, rx525_pos, 1 + substr rx525_tgt, rx525_tgt, rx525_off + rx525_start: $I10 = self.'from'() - ne $I10, -1, rxscan518_done - goto rxscan518_scan - rxscan518_loop: - ($P10) = rx517_cur."from"() + ne $I10, -1, rxscan526_done + goto rxscan526_scan + rxscan526_loop: + ($P10) = rx525_cur."from"() inc $P10 - set rx517_pos, $P10 - ge rx517_pos, rx517_eos, rxscan518_done - rxscan518_scan: - set_addr $I10, rxscan518_loop - rx517_cur."!mark_push"(0, rx517_pos, $I10) - rxscan518_done: - alt519_0: - set_addr $I10, alt519_1 - rx517_cur."!mark_push"(0, rx517_pos, $I10) -.annotate 'line', 165 + set rx525_pos, $P10 + ge rx525_pos, rx525_eos, rxscan526_done + rxscan526_scan: + set_addr $I10, rxscan526_loop + rx525_cur."!mark_push"(0, rx525_pos, $I10) + rxscan526_done: + alt527_0: + set_addr $I10, alt527_1 + rx525_cur."!mark_push"(0, rx525_pos, $I10) +.annotate 'line', 167 # rx charclass_q s r 0..-1 - sub $I10, rx517_pos, rx517_off - find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos - add rx517_pos, rx517_off, $I11 + sub $I10, rx525_pos, rx525_off + find_not_cclass $I11, 32, rx525_tgt, $I10, rx525_eos + add rx525_pos, rx525_off, $I11 # rx literal "-" - add $I11, rx517_pos, 1 - gt $I11, rx517_eos, rx517_fail - sub $I11, rx517_pos, rx517_off - substr $S10, rx517_tgt, $I11, 1 - ne $S10, "-", rx517_fail - add rx517_pos, 1 + add $I11, rx525_pos, 1 + gt $I11, rx525_eos, rx525_fail + sub $I11, rx525_pos, rx525_off + substr $S10, rx525_tgt, $I11, 1 + ne $S10, "-", rx525_fail + add rx525_pos, 1 # rx subrule "obs" subtype=method negate= - rx517_cur."!cursor_pos"(rx517_pos) - $P10 = rx517_cur."obs"("hyphen in enumerated character class", "..") - unless $P10, rx517_fail - rx517_pos = $P10."pos"() - goto alt519_end - alt519_1: -.annotate 'line', 166 + rx525_cur."!cursor_pos"(rx525_pos) + $P10 = rx525_cur."obs"("hyphen in enumerated character class", "..") + unless $P10, rx525_fail + rx525_pos = $P10."pos"() + goto alt527_end + alt527_1: +.annotate 'line', 168 # rx charclass_q s r 0..-1 - sub $I10, rx517_pos, rx517_off - find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos - add rx517_pos, rx517_off, $I11 - alt520_0: - set_addr $I10, alt520_1 - rx517_cur."!mark_push"(0, rx517_pos, $I10) + sub $I10, rx525_pos, rx525_off + find_not_cclass $I11, 32, rx525_tgt, $I10, rx525_eos + add rx525_pos, rx525_off, $I11 + alt528_0: + set_addr $I10, alt528_1 + rx525_cur."!mark_push"(0, rx525_pos, $I10) # rx literal "\\" - add $I11, rx517_pos, 1 - gt $I11, rx517_eos, rx517_fail - sub $I11, rx517_pos, rx517_off - substr $S10, rx517_tgt, $I11, 1 - ne $S10, "\\", rx517_fail - add rx517_pos, 1 - # rx subrule $P522 subtype=capture negate= - rx517_cur."!cursor_pos"(rx517_pos) - .const 'Sub' $P522 = "144_1276996307.3412" - capture_lex $P522 - $P10 = rx517_cur.$P522() - unless $P10, rx517_fail - rx517_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx525_pos, 1 + gt $I11, rx525_eos, rx525_fail + sub $I11, rx525_pos, rx525_off + substr $S10, rx525_tgt, $I11, 1 + ne $S10, "\\", rx525_fail + add rx525_pos, 1 + # rx subrule $P530 subtype=capture negate= + rx525_cur."!cursor_pos"(rx525_pos) + .const 'Sub' $P530 = "146_1278500530.77787" + capture_lex $P530 + $P10 = rx525_cur.$P530() + unless $P10, rx525_fail + rx525_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"(0) - rx517_pos = $P10."pos"() - goto alt520_end - alt520_1: - # rx subrule $P526 subtype=capture negate= - rx517_cur."!cursor_pos"(rx517_pos) - .const 'Sub' $P526 = "145_1276996307.3412" - capture_lex $P526 - $P10 = rx517_cur.$P526() - unless $P10, rx517_fail - rx517_cur."!mark_push"(0, -1, 0, $P10) + rx525_pos = $P10."pos"() + goto alt528_end + alt528_1: + # rx subrule $P534 subtype=capture negate= + rx525_cur."!cursor_pos"(rx525_pos) + .const 'Sub' $P534 = "147_1278500530.77787" + capture_lex $P534 + $P10 = rx525_cur.$P534() + unless $P10, rx525_fail + rx525_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"(0) - rx517_pos = $P10."pos"() - alt520_end: - # rx rxquantr529 ** 0..1 - set_addr $I534, rxquantr529_done - rx517_cur."!mark_push"(0, rx517_pos, $I534) - rxquantr529_loop: + rx525_pos = $P10."pos"() + alt528_end: + # rx rxquantr537 ** 0..1 + set_addr $I542, rxquantr537_done + rx525_cur."!mark_push"(0, rx525_pos, $I542) + rxquantr537_loop: # rx charclass_q s r 0..-1 - sub $I10, rx517_pos, rx517_off - find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos - add rx517_pos, rx517_off, $I11 + sub $I10, rx525_pos, rx525_off + find_not_cclass $I11, 32, rx525_tgt, $I10, rx525_eos + add rx525_pos, rx525_off, $I11 # rx literal ".." - add $I11, rx517_pos, 2 - gt $I11, rx517_eos, rx517_fail - sub $I11, rx517_pos, rx517_off - substr $S10, rx517_tgt, $I11, 2 - ne $S10, "..", rx517_fail - add rx517_pos, 2 + add $I11, rx525_pos, 2 + gt $I11, rx525_eos, rx525_fail + sub $I11, rx525_pos, rx525_off + substr $S10, rx525_tgt, $I11, 2 + ne $S10, "..", rx525_fail + add rx525_pos, 2 # rx charclass_q s r 0..-1 - sub $I10, rx517_pos, rx517_off - find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos - add rx517_pos, rx517_off, $I11 - # rx subrule $P531 subtype=capture negate= - rx517_cur."!cursor_pos"(rx517_pos) - .const 'Sub' $P531 = "146_1276996307.3412" - capture_lex $P531 - $P10 = rx517_cur.$P531() - unless $P10, rx517_fail - rx517_cur."!mark_push"(0, -1, 0, $P10) + sub $I10, rx525_pos, rx525_off + find_not_cclass $I11, 32, rx525_tgt, $I10, rx525_eos + add rx525_pos, rx525_off, $I11 + # rx subrule $P539 subtype=capture negate= + rx525_cur."!cursor_pos"(rx525_pos) + .const 'Sub' $P539 = "148_1278500530.77787" + capture_lex $P539 + $P10 = rx525_cur.$P539() + unless $P10, rx525_fail + rx525_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("1") - rx517_pos = $P10."pos"() - (rx517_rep) = rx517_cur."!mark_commit"($I534) - rxquantr529_done: - alt519_end: -.annotate 'line', 164 + rx525_pos = $P10."pos"() + (rx525_rep) = rx525_cur."!mark_commit"($I542) + rxquantr537_done: + alt527_end: +.annotate 'line', 166 # rx pass - rx517_cur."!cursor_pass"(rx517_pos, "") - rx517_cur."!cursor_debug"("PASS ", "", " at pos=", rx517_pos) - .return (rx517_cur) - rx517_fail: - (rx517_rep, rx517_pos, $I10, $P10) = rx517_cur."!mark_fail"(0) - lt rx517_pos, -1, rx517_done - eq rx517_pos, -1, rx517_fail + rx525_cur."!cursor_pass"(rx525_pos, "") + rx525_cur."!cursor_debug"("PASS ", "", " at pos=", rx525_pos) + .return (rx525_cur) + rx525_fail: + (rx525_rep, rx525_pos, $I10, $P10) = rx525_cur."!mark_fail"(0) + lt rx525_pos, -1, rx525_done + eq rx525_pos, -1, rx525_fail jump $I10 - rx517_done: - rx517_cur."!cursor_fail"() - rx517_cur."!cursor_debug"("FAIL ", "") - .return (rx517_cur) + rx525_done: + rx525_cur."!cursor_fail"() + rx525_cur."!cursor_debug"("FAIL ", "") + .return (rx525_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block521" :anon :subid("144_1276996307.3412") :method :outer("143_1276996307.3412") -.annotate 'line', 166 - .local string rx523_tgt - .local int rx523_pos - .local int rx523_off - .local int rx523_eos - .local int rx523_rep - .local pmc rx523_cur - (rx523_cur, rx523_pos, rx523_tgt) = self."!cursor_start"() - rx523_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx523_cur +.sub "_block529" :anon :subid("146_1278500530.77787") :method :outer("145_1278500530.77787") +.annotate 'line', 168 + .local string rx531_tgt + .local int rx531_pos + .local int rx531_off + .local int rx531_eos + .local int rx531_rep + .local pmc rx531_cur + (rx531_cur, rx531_pos, rx531_tgt) = self."!cursor_start"() + rx531_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx531_cur .local pmc match .lex "$/", match - length rx523_eos, rx523_tgt - gt rx523_pos, rx523_eos, rx523_done - set rx523_off, 0 - lt rx523_pos, 2, rx523_start - sub rx523_off, rx523_pos, 1 - substr rx523_tgt, rx523_tgt, rx523_off - rx523_start: + length rx531_eos, rx531_tgt + gt rx531_pos, rx531_eos, rx531_done + set rx531_off, 0 + lt rx531_pos, 2, rx531_start + sub rx531_off, rx531_pos, 1 + substr rx531_tgt, rx531_tgt, rx531_off + rx531_start: $I10 = self.'from'() - ne $I10, -1, rxscan524_done - goto rxscan524_scan - rxscan524_loop: - ($P10) = rx523_cur."from"() + ne $I10, -1, rxscan532_done + goto rxscan532_scan + rxscan532_loop: + ($P10) = rx531_cur."from"() inc $P10 - set rx523_pos, $P10 - ge rx523_pos, rx523_eos, rxscan524_done - rxscan524_scan: - set_addr $I10, rxscan524_loop - rx523_cur."!mark_push"(0, rx523_pos, $I10) - rxscan524_done: + set rx531_pos, $P10 + ge rx531_pos, rx531_eos, rxscan532_done + rxscan532_scan: + set_addr $I10, rxscan532_loop + rx531_cur."!mark_push"(0, rx531_pos, $I10) + rxscan532_done: # rx charclass . - ge rx523_pos, rx523_eos, rx523_fail - inc rx523_pos + ge rx531_pos, rx531_eos, rx531_fail + inc rx531_pos # rx pass - rx523_cur."!cursor_pass"(rx523_pos, "") - rx523_cur."!cursor_debug"("PASS ", "", " at pos=", rx523_pos) - .return (rx523_cur) - rx523_fail: - (rx523_rep, rx523_pos, $I10, $P10) = rx523_cur."!mark_fail"(0) - lt rx523_pos, -1, rx523_done - eq rx523_pos, -1, rx523_fail + rx531_cur."!cursor_pass"(rx531_pos, "") + rx531_cur."!cursor_debug"("PASS ", "", " at pos=", rx531_pos) + .return (rx531_cur) + rx531_fail: + (rx531_rep, rx531_pos, $I10, $P10) = rx531_cur."!mark_fail"(0) + lt rx531_pos, -1, rx531_done + eq rx531_pos, -1, rx531_fail jump $I10 - rx523_done: - rx523_cur."!cursor_fail"() - rx523_cur."!cursor_debug"("FAIL ", "") - .return (rx523_cur) + rx531_done: + rx531_cur."!cursor_fail"() + rx531_cur."!cursor_debug"("FAIL ", "") + .return (rx531_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block525" :anon :subid("145_1276996307.3412") :method :outer("143_1276996307.3412") -.annotate 'line', 166 - .local string rx527_tgt - .local int rx527_pos - .local int rx527_off - .local int rx527_eos - .local int rx527_rep - .local pmc rx527_cur - (rx527_cur, rx527_pos, rx527_tgt) = self."!cursor_start"() - rx527_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx527_cur +.sub "_block533" :anon :subid("147_1278500530.77787") :method :outer("145_1278500530.77787") +.annotate 'line', 168 + .local string rx535_tgt + .local int rx535_pos + .local int rx535_off + .local int rx535_eos + .local int rx535_rep + .local pmc rx535_cur + (rx535_cur, rx535_pos, rx535_tgt) = self."!cursor_start"() + rx535_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx535_cur .local pmc match .lex "$/", match - length rx527_eos, rx527_tgt - gt rx527_pos, rx527_eos, rx527_done - set rx527_off, 0 - lt rx527_pos, 2, rx527_start - sub rx527_off, rx527_pos, 1 - substr rx527_tgt, rx527_tgt, rx527_off - rx527_start: + length rx535_eos, rx535_tgt + gt rx535_pos, rx535_eos, rx535_done + set rx535_off, 0 + lt rx535_pos, 2, rx535_start + sub rx535_off, rx535_pos, 1 + substr rx535_tgt, rx535_tgt, rx535_off + rx535_start: $I10 = self.'from'() - ne $I10, -1, rxscan528_done - goto rxscan528_scan - rxscan528_loop: - ($P10) = rx527_cur."from"() + ne $I10, -1, rxscan536_done + goto rxscan536_scan + rxscan536_loop: + ($P10) = rx535_cur."from"() inc $P10 - set rx527_pos, $P10 - ge rx527_pos, rx527_eos, rxscan528_done - rxscan528_scan: - set_addr $I10, rxscan528_loop - rx527_cur."!mark_push"(0, rx527_pos, $I10) - rxscan528_done: + set rx535_pos, $P10 + ge rx535_pos, rx535_eos, rxscan536_done + rxscan536_scan: + set_addr $I10, rxscan536_loop + rx535_cur."!mark_push"(0, rx535_pos, $I10) + rxscan536_done: # rx enumcharlist negate=1 - ge rx527_pos, rx527_eos, rx527_fail - sub $I10, rx527_pos, rx527_off - substr $S10, rx527_tgt, $I10, 1 + ge rx535_pos, rx535_eos, rx535_fail + sub $I10, rx535_pos, rx535_off + substr $S10, rx535_tgt, $I10, 1 index $I11, "]\\", $S10 - ge $I11, 0, rx527_fail - inc rx527_pos - # rx pass - rx527_cur."!cursor_pass"(rx527_pos, "") - rx527_cur."!cursor_debug"("PASS ", "", " at pos=", rx527_pos) - .return (rx527_cur) - rx527_fail: - (rx527_rep, rx527_pos, $I10, $P10) = rx527_cur."!mark_fail"(0) - lt rx527_pos, -1, rx527_done - eq rx527_pos, -1, rx527_fail - jump $I10 - rx527_done: - rx527_cur."!cursor_fail"() - rx527_cur."!cursor_debug"("FAIL ", "") - .return (rx527_cur) - .return () -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block530" :anon :subid("146_1276996307.3412") :method :outer("143_1276996307.3412") -.annotate 'line', 166 - .local string rx532_tgt - .local int rx532_pos - .local int rx532_off - .local int rx532_eos - .local int rx532_rep - .local pmc rx532_cur - (rx532_cur, rx532_pos, rx532_tgt) = self."!cursor_start"() - rx532_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx532_cur - .local pmc match - .lex "$/", match - length rx532_eos, rx532_tgt - gt rx532_pos, rx532_eos, rx532_done - set rx532_off, 0 - lt rx532_pos, 2, rx532_start - sub rx532_off, rx532_pos, 1 - substr rx532_tgt, rx532_tgt, rx532_off - rx532_start: - $I10 = self.'from'() - ne $I10, -1, rxscan533_done - goto rxscan533_scan - rxscan533_loop: - ($P10) = rx532_cur."from"() - inc $P10 - set rx532_pos, $P10 - ge rx532_pos, rx532_eos, rxscan533_done - rxscan533_scan: - set_addr $I10, rxscan533_loop - rx532_cur."!mark_push"(0, rx532_pos, $I10) - rxscan533_done: - # rx charclass . - ge rx532_pos, rx532_eos, rx532_fail - inc rx532_pos + ge $I11, 0, rx535_fail + inc rx535_pos # rx pass - rx532_cur."!cursor_pass"(rx532_pos, "") - rx532_cur."!cursor_debug"("PASS ", "", " at pos=", rx532_pos) - .return (rx532_cur) - rx532_fail: - (rx532_rep, rx532_pos, $I10, $P10) = rx532_cur."!mark_fail"(0) - lt rx532_pos, -1, rx532_done - eq rx532_pos, -1, rx532_fail + rx535_cur."!cursor_pass"(rx535_pos, "") + rx535_cur."!cursor_debug"("PASS ", "", " at pos=", rx535_pos) + .return (rx535_cur) + rx535_fail: + (rx535_rep, rx535_pos, $I10, $P10) = rx535_cur."!mark_fail"(0) + lt rx535_pos, -1, rx535_done + eq rx535_pos, -1, rx535_fail jump $I10 - rx532_done: - rx532_cur."!cursor_fail"() - rx532_cur."!cursor_debug"("FAIL ", "") - .return (rx532_cur) + rx535_done: + rx535_cur."!cursor_fail"() + rx535_cur."!cursor_debug"("FAIL ", "") + .return (rx535_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "mod_internal" :subid("147_1276996307.3412") :method :outer("11_1276996307.3412") -.annotate 'line', 3 - .const 'Sub' $P548 = "149_1276996307.3412" - capture_lex $P548 +.sub "_block538" :anon :subid("148_1278500530.77787") :method :outer("145_1278500530.77787") +.annotate 'line', 168 .local string rx540_tgt .local int rx540_pos .local int rx540_off @@ -6738,8 +6760,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx540_rep .local pmc rx540_cur (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"() - rx540_cur."!cursor_debug"("START ", "mod_internal") - rx540_cur."!cursor_caparray"("n") + rx540_cur."!cursor_debug"("START ", "") .lex unicode:"$\x{a2}", rx540_cur .local pmc match .lex "$/", match @@ -6751,329 +6772,290 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes substr rx540_tgt, rx540_tgt, rx540_off rx540_start: $I10 = self.'from'() - ne $I10, -1, rxscan544_done - goto rxscan544_scan - rxscan544_loop: + ne $I10, -1, rxscan541_done + goto rxscan541_scan + rxscan541_loop: ($P10) = rx540_cur."from"() inc $P10 set rx540_pos, $P10 - ge rx540_pos, rx540_eos, rxscan544_done - rxscan544_scan: - set_addr $I10, rxscan544_loop + ge rx540_pos, rx540_eos, rxscan541_done + rxscan541_scan: + set_addr $I10, rxscan541_loop rx540_cur."!mark_push"(0, rx540_pos, $I10) - rxscan544_done: - alt545_0: -.annotate 'line', 175 - set_addr $I10, alt545_1 - rx540_cur."!mark_push"(0, rx540_pos, $I10) -.annotate 'line', 176 + rxscan541_done: + # rx charclass . + ge rx540_pos, rx540_eos, rx540_fail + inc rx540_pos + # rx pass + rx540_cur."!cursor_pass"(rx540_pos, "") + rx540_cur."!cursor_debug"("PASS ", "", " at pos=", rx540_pos) + .return (rx540_cur) + rx540_fail: + (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0) + lt rx540_pos, -1, rx540_done + eq rx540_pos, -1, rx540_fail + jump $I10 + rx540_done: + rx540_cur."!cursor_fail"() + rx540_cur."!cursor_debug"("FAIL ", "") + .return (rx540_cur) + .return () +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "mod_internal" :subid("149_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .const 'Sub' $P556 = "151_1278500530.77787" + capture_lex $P556 + .local string rx548_tgt + .local int rx548_pos + .local int rx548_off + .local int rx548_eos + .local int rx548_rep + .local pmc rx548_cur + (rx548_cur, rx548_pos, rx548_tgt) = self."!cursor_start"() + rx548_cur."!cursor_debug"("START ", "mod_internal") + rx548_cur."!cursor_caparray"("n") + .lex unicode:"$\x{a2}", rx548_cur + .local pmc match + .lex "$/", match + length rx548_eos, rx548_tgt + gt rx548_pos, rx548_eos, rx548_done + set rx548_off, 0 + lt rx548_pos, 2, rx548_start + sub rx548_off, rx548_pos, 1 + substr rx548_tgt, rx548_tgt, rx548_off + rx548_start: + $I10 = self.'from'() + ne $I10, -1, rxscan552_done + goto rxscan552_scan + rxscan552_loop: + ($P10) = rx548_cur."from"() + inc $P10 + set rx548_pos, $P10 + ge rx548_pos, rx548_eos, rxscan552_done + rxscan552_scan: + set_addr $I10, rxscan552_loop + rx548_cur."!mark_push"(0, rx548_pos, $I10) + rxscan552_done: + alt553_0: +.annotate 'line', 177 + set_addr $I10, alt553_1 + rx548_cur."!mark_push"(0, rx548_pos, $I10) +.annotate 'line', 178 # rx literal ":" - add $I11, rx540_pos, 1 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 1 - ne $S10, ":", rx540_fail - add rx540_pos, 1 - # rx rxquantr546 ** 1..1 - set_addr $I552, rxquantr546_done - rx540_cur."!mark_push"(0, -1, $I552) - rxquantr546_loop: - # rx subrule $P548 subtype=capture negate= - rx540_cur."!cursor_pos"(rx540_pos) - .const 'Sub' $P548 = "149_1276996307.3412" - capture_lex $P548 - $P10 = rx540_cur.$P548() - unless $P10, rx540_fail - rx540_cur."!mark_push"(0, -1, 0, $P10) + add $I11, rx548_pos, 1 + gt $I11, rx548_eos, rx548_fail + sub $I11, rx548_pos, rx548_off + substr $S10, rx548_tgt, $I11, 1 + ne $S10, ":", rx548_fail + add rx548_pos, 1 + # rx rxquantr554 ** 1..1 + set_addr $I560, rxquantr554_done + rx548_cur."!mark_push"(0, -1, $I560) + rxquantr554_loop: + # rx subrule $P556 subtype=capture negate= + rx548_cur."!cursor_pos"(rx548_pos) + .const 'Sub' $P556 = "151_1278500530.77787" + capture_lex $P556 + $P10 = rx548_cur.$P556() + unless $P10, rx548_fail + rx548_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("n") - rx540_pos = $P10."pos"() - (rx540_rep) = rx540_cur."!mark_commit"($I552) - rxquantr546_done: + rx548_pos = $P10."pos"() + (rx548_rep) = rx548_cur."!mark_commit"($I560) + rxquantr554_done: # rx subrule "mod_ident" subtype=capture negate= - rx540_cur."!cursor_pos"(rx540_pos) - $P10 = rx540_cur."mod_ident"() - unless $P10, rx540_fail - rx540_cur."!mark_push"(0, -1, 0, $P10) + rx548_cur."!cursor_pos"(rx548_pos) + $P10 = rx548_cur."mod_ident"() + unless $P10, rx548_fail + rx548_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("mod_ident") - rx540_pos = $P10."pos"() + rx548_pos = $P10."pos"() # rxanchor rwb - le rx540_pos, 0, rx540_fail - sub $I10, rx540_pos, rx540_off - is_cclass $I11, 8192, rx540_tgt, $I10 - if $I11, rx540_fail + le rx548_pos, 0, rx548_fail + sub $I10, rx548_pos, rx548_off + is_cclass $I11, 8192, rx548_tgt, $I10 + if $I11, rx548_fail dec $I10 - is_cclass $I11, 8192, rx540_tgt, $I10 - unless $I11, rx540_fail - goto alt545_end - alt545_1: -.annotate 'line', 177 + is_cclass $I11, 8192, rx548_tgt, $I10 + unless $I11, rx548_fail + goto alt553_end + alt553_1: +.annotate 'line', 179 # rx literal ":" - add $I11, rx540_pos, 1 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 1 - ne $S10, ":", rx540_fail - add rx540_pos, 1 + add $I11, rx548_pos, 1 + gt $I11, rx548_eos, rx548_fail + sub $I11, rx548_pos, rx548_off + substr $S10, rx548_tgt, $I11, 1 + ne $S10, ":", rx548_fail + add rx548_pos, 1 # rx subrule "mod_ident" subtype=capture negate= - rx540_cur."!cursor_pos"(rx540_pos) - $P10 = rx540_cur."mod_ident"() - unless $P10, rx540_fail - rx540_cur."!mark_push"(0, -1, 0, $P10) + rx548_cur."!cursor_pos"(rx548_pos) + $P10 = rx548_cur."mod_ident"() + unless $P10, rx548_fail + rx548_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("mod_ident") - rx540_pos = $P10."pos"() - # rx rxquantr553 ** 0..1 - set_addr $I555, rxquantr553_done - rx540_cur."!mark_push"(0, rx540_pos, $I555) - rxquantr553_loop: + rx548_pos = $P10."pos"() + # rx rxquantr561 ** 0..1 + set_addr $I563, rxquantr561_done + rx548_cur."!mark_push"(0, rx548_pos, $I563) + rxquantr561_loop: # rx literal "(" - add $I11, rx540_pos, 1 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 1 - ne $S10, "(", rx540_fail - add rx540_pos, 1 + add $I11, rx548_pos, 1 + gt $I11, rx548_eos, rx548_fail + sub $I11, rx548_pos, rx548_off + substr $S10, rx548_tgt, $I11, 1 + ne $S10, "(", rx548_fail + add rx548_pos, 1 # rx subcapture "n" - set_addr $I10, rxcap_554_fail - rx540_cur."!mark_push"(0, rx540_pos, $I10) + set_addr $I10, rxcap_562_fail + rx548_cur."!mark_push"(0, rx548_pos, $I10) # rx charclass_q d r 1..-1 - sub $I10, rx540_pos, rx540_off - find_not_cclass $I11, 8, rx540_tgt, $I10, rx540_eos + sub $I10, rx548_pos, rx548_off + find_not_cclass $I11, 8, rx548_tgt, $I10, rx548_eos add $I12, $I10, 1 - lt $I11, $I12, rx540_fail - add rx540_pos, rx540_off, $I11 - set_addr $I10, rxcap_554_fail - ($I12, $I11) = rx540_cur."!mark_peek"($I10) - rx540_cur."!cursor_pos"($I11) - ($P10) = rx540_cur."!cursor_start"() - $P10."!cursor_pass"(rx540_pos, "") - rx540_cur."!mark_push"(0, -1, 0, $P10) + lt $I11, $I12, rx548_fail + add rx548_pos, rx548_off, $I11 + set_addr $I10, rxcap_562_fail + ($I12, $I11) = rx548_cur."!mark_peek"($I10) + rx548_cur."!cursor_pos"($I11) + ($P10) = rx548_cur."!cursor_start"() + $P10."!cursor_pass"(rx548_pos, "") + rx548_cur."!mark_push"(0, -1, 0, $P10) $P10."!cursor_names"("n") - goto rxcap_554_done - rxcap_554_fail: - goto rx540_fail - rxcap_554_done: + goto rxcap_562_done + rxcap_562_fail: + goto rx548_fail + rxcap_562_done: # rx literal ")" - add $I11, rx540_pos, 1 - gt $I11, rx540_eos, rx540_fail - sub $I11, rx540_pos, rx540_off - substr $S10, rx540_tgt, $I11, 1 - ne $S10, ")", rx540_fail - add rx540_pos, 1 - (rx540_rep) = rx540_cur."!mark_commit"($I555) - rxquantr553_done: - alt545_end: -.annotate 'line', 174 + add $I11, rx548_pos, 1 + gt $I11, rx548_eos, rx548_fail + sub $I11, rx548_pos, rx548_off + substr $S10, rx548_tgt, $I11, 1 + ne $S10, ")", rx548_fail + add rx548_pos, 1 + (rx548_rep) = rx548_cur."!mark_commit"($I563) + rxquantr561_done: + alt553_end: +.annotate 'line', 176 # rx pass - rx540_cur."!cursor_pass"(rx540_pos, "mod_internal") - rx540_cur."!cursor_debug"("PASS ", "mod_internal", " at pos=", rx540_pos) - .return (rx540_cur) - rx540_fail: -.annotate 'line', 3 - (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0) - lt rx540_pos, -1, rx540_done - eq rx540_pos, -1, rx540_fail + rx548_cur."!cursor_pass"(rx548_pos, "mod_internal") + rx548_cur."!cursor_debug"("PASS ", "mod_internal", " at pos=", rx548_pos) + .return (rx548_cur) + rx548_fail: +.annotate 'line', 3 + (rx548_rep, rx548_pos, $I10, $P10) = rx548_cur."!mark_fail"(0) + lt rx548_pos, -1, rx548_done + eq rx548_pos, -1, rx548_fail jump $I10 - rx540_done: - rx540_cur."!cursor_fail"() - rx540_cur."!cursor_debug"("FAIL ", "mod_internal") - .return (rx540_cur) + rx548_done: + rx548_cur."!cursor_fail"() + rx548_cur."!cursor_debug"("FAIL ", "mod_internal") + .return (rx548_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__mod_internal" :subid("148_1276996307.3412") :method +.sub "!PREFIX__mod_internal" :subid("150_1278500530.77787") :method .annotate 'line', 3 - $P542 = self."!PREFIX__!subrule"("mod_ident", ":") - new $P543, "ResizablePMCArray" - push $P543, $P542 - push $P543, ":" - .return ($P543) + $P550 = self."!PREFIX__!subrule"("mod_ident", ":") + new $P551, "ResizablePMCArray" + push $P551, $P550 + push $P551, ":" + .return ($P551) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block547" :anon :subid("149_1276996307.3412") :method :outer("147_1276996307.3412") -.annotate 'line', 176 - .local string rx549_tgt - .local int rx549_pos - .local int rx549_off - .local int rx549_eos - .local int rx549_rep - .local pmc rx549_cur - (rx549_cur, rx549_pos, rx549_tgt) = self."!cursor_start"() - rx549_cur."!cursor_debug"("START ", "") - .lex unicode:"$\x{a2}", rx549_cur +.sub "_block555" :anon :subid("151_1278500530.77787") :method :outer("149_1278500530.77787") +.annotate 'line', 178 + .local string rx557_tgt + .local int rx557_pos + .local int rx557_off + .local int rx557_eos + .local int rx557_rep + .local pmc rx557_cur + (rx557_cur, rx557_pos, rx557_tgt) = self."!cursor_start"() + rx557_cur."!cursor_debug"("START ", "") + .lex unicode:"$\x{a2}", rx557_cur .local pmc match .lex "$/", match - length rx549_eos, rx549_tgt - gt rx549_pos, rx549_eos, rx549_done - set rx549_off, 0 - lt rx549_pos, 2, rx549_start - sub rx549_off, rx549_pos, 1 - substr rx549_tgt, rx549_tgt, rx549_off - rx549_start: + length rx557_eos, rx557_tgt + gt rx557_pos, rx557_eos, rx557_done + set rx557_off, 0 + lt rx557_pos, 2, rx557_start + sub rx557_off, rx557_pos, 1 + substr rx557_tgt, rx557_tgt, rx557_off + rx557_start: $I10 = self.'from'() - ne $I10, -1, rxscan550_done - goto rxscan550_scan - rxscan550_loop: - ($P10) = rx549_cur."from"() + ne $I10, -1, rxscan558_done + goto rxscan558_scan + rxscan558_loop: + ($P10) = rx557_cur."from"() inc $P10 - set rx549_pos, $P10 - ge rx549_pos, rx549_eos, rxscan550_done - rxscan550_scan: - set_addr $I10, rxscan550_loop - rx549_cur."!mark_push"(0, rx549_pos, $I10) - rxscan550_done: - alt551_0: - set_addr $I10, alt551_1 - rx549_cur."!mark_push"(0, rx549_pos, $I10) + set rx557_pos, $P10 + ge rx557_pos, rx557_eos, rxscan558_done + rxscan558_scan: + set_addr $I10, rxscan558_loop + rx557_cur."!mark_push"(0, rx557_pos, $I10) + rxscan558_done: + alt559_0: + set_addr $I10, alt559_1 + rx557_cur."!mark_push"(0, rx557_pos, $I10) # rx literal "!" - add $I11, rx549_pos, 1 - gt $I11, rx549_eos, rx549_fail - sub $I11, rx549_pos, rx549_off - substr $S10, rx549_tgt, $I11, 1 - ne $S10, "!", rx549_fail - add rx549_pos, 1 - goto alt551_end - alt551_1: + add $I11, rx557_pos, 1 + gt $I11, rx557_eos, rx557_fail + sub $I11, rx557_pos, rx557_off + substr $S10, rx557_tgt, $I11, 1 + ne $S10, "!", rx557_fail + add rx557_pos, 1 + goto alt559_end + alt559_1: # rx charclass_q d r 1..-1 - sub $I10, rx549_pos, rx549_off - find_not_cclass $I11, 8, rx549_tgt, $I10, rx549_eos + sub $I10, rx557_pos, rx557_off + find_not_cclass $I11, 8, rx557_tgt, $I10, rx557_eos add $I12, $I10, 1 - lt $I11, $I12, rx549_fail - add rx549_pos, rx549_off, $I11 - alt551_end: + lt $I11, $I12, rx557_fail + add rx557_pos, rx557_off, $I11 + alt559_end: # rx pass - rx549_cur."!cursor_pass"(rx549_pos, "") - rx549_cur."!cursor_debug"("PASS ", "", " at pos=", rx549_pos) - .return (rx549_cur) - rx549_fail: - (rx549_rep, rx549_pos, $I10, $P10) = rx549_cur."!mark_fail"(0) - lt rx549_pos, -1, rx549_done - eq rx549_pos, -1, rx549_fail + rx557_cur."!cursor_pass"(rx557_pos, "") + rx557_cur."!cursor_debug"("PASS ", "", " at pos=", rx557_pos) + .return (rx557_cur) + rx557_fail: + (rx557_rep, rx557_pos, $I10, $P10) = rx557_cur."!mark_fail"(0) + lt rx557_pos, -1, rx557_done + eq rx557_pos, -1, rx557_fail jump $I10 - rx549_done: - rx549_cur."!cursor_fail"() - rx549_cur."!cursor_debug"("FAIL ", "") - .return (rx549_cur) + rx557_done: + rx557_cur."!cursor_fail"() + rx557_cur."!cursor_debug"("FAIL ", "") + .return (rx557_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "mod_ident" :subid("150_1276996307.3412") :method -.annotate 'line', 181 - $P557 = self."!protoregex"("mod_ident") - .return ($P557) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__mod_ident" :subid("151_1276996307.3412") :method -.annotate 'line', 181 - $P559 = self."!PREFIX__!protoregex"("mod_ident") - .return ($P559) -.end - - -.namespace ["Regex";"P6Regex";"Grammar"] -.sub "mod_ident:sym" :subid("152_1276996307.3412") :method :outer("11_1276996307.3412") -.annotate 'line', 3 - .local string rx561_tgt - .local int rx561_pos - .local int rx561_off - .local int rx561_eos - .local int rx561_rep - .local pmc rx561_cur - (rx561_cur, rx561_pos, rx561_tgt) = self."!cursor_start"() - rx561_cur."!cursor_debug"("START ", "mod_ident:sym") - .lex unicode:"$\x{a2}", rx561_cur - .local pmc match - .lex "$/", match - length rx561_eos, rx561_tgt - gt rx561_pos, rx561_eos, rx561_done - set rx561_off, 0 - lt rx561_pos, 2, rx561_start - sub rx561_off, rx561_pos, 1 - substr rx561_tgt, rx561_tgt, rx561_off - rx561_start: - $I10 = self.'from'() - ne $I10, -1, rxscan564_done - goto rxscan564_scan - rxscan564_loop: - ($P10) = rx561_cur."from"() - inc $P10 - set rx561_pos, $P10 - ge rx561_pos, rx561_eos, rxscan564_done - rxscan564_scan: - set_addr $I10, rxscan564_loop - rx561_cur."!mark_push"(0, rx561_pos, $I10) - rxscan564_done: -.annotate 'line', 182 - # rx subcapture "sym" - set_addr $I10, rxcap_565_fail - rx561_cur."!mark_push"(0, rx561_pos, $I10) - # rx literal "i" - add $I11, rx561_pos, 1 - gt $I11, rx561_eos, rx561_fail - sub $I11, rx561_pos, rx561_off - substr $S10, rx561_tgt, $I11, 1 - ne $S10, "i", rx561_fail - add rx561_pos, 1 - set_addr $I10, rxcap_565_fail - ($I12, $I11) = rx561_cur."!mark_peek"($I10) - rx561_cur."!cursor_pos"($I11) - ($P10) = rx561_cur."!cursor_start"() - $P10."!cursor_pass"(rx561_pos, "") - rx561_cur."!mark_push"(0, -1, 0, $P10) - $P10."!cursor_names"("sym") - goto rxcap_565_done - rxcap_565_fail: - goto rx561_fail - rxcap_565_done: - # rx rxquantr566 ** 0..1 - set_addr $I567, rxquantr566_done - rx561_cur."!mark_push"(0, rx561_pos, $I567) - rxquantr566_loop: - # rx literal "gnorecase" - add $I11, rx561_pos, 9 - gt $I11, rx561_eos, rx561_fail - sub $I11, rx561_pos, rx561_off - substr $S10, rx561_tgt, $I11, 9 - ne $S10, "gnorecase", rx561_fail - add rx561_pos, 9 - (rx561_rep) = rx561_cur."!mark_commit"($I567) - rxquantr566_done: - # rx pass - rx561_cur."!cursor_pass"(rx561_pos, "mod_ident:sym") - rx561_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx561_pos) - .return (rx561_cur) - rx561_fail: -.annotate 'line', 3 - (rx561_rep, rx561_pos, $I10, $P10) = rx561_cur."!mark_fail"(0) - lt rx561_pos, -1, rx561_done - eq rx561_pos, -1, rx561_fail - jump $I10 - rx561_done: - rx561_cur."!cursor_fail"() - rx561_cur."!cursor_debug"("FAIL ", "mod_ident:sym") - .return (rx561_cur) - .return () +.sub "mod_ident" :subid("152_1278500530.77787") :method +.annotate 'line', 183 + $P565 = self."!protoregex"("mod_ident") + .return ($P565) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__mod_ident:sym" :subid("153_1276996307.3412") :method -.annotate 'line', 3 - new $P563, "ResizablePMCArray" - push $P563, "i" - .return ($P563) +.sub "!PREFIX__mod_ident" :subid("153_1278500530.77787") :method +.annotate 'line', 183 + $P567 = self."!PREFIX__!protoregex"("mod_ident") + .return ($P567) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "mod_ident:sym" :subid("154_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "mod_ident:sym" :subid("154_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 .local string rx569_tgt .local int rx569_pos @@ -7082,7 +7064,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx569_rep .local pmc rx569_cur (rx569_cur, rx569_pos, rx569_tgt) = self."!cursor_start"() - rx569_cur."!cursor_debug"("START ", "mod_ident:sym") + rx569_cur."!cursor_debug"("START ", "mod_ident:sym") .lex unicode:"$\x{a2}", rx569_cur .local pmc match .lex "$/", match @@ -7105,16 +7087,16 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set_addr $I10, rxscan572_loop rx569_cur."!mark_push"(0, rx569_pos, $I10) rxscan572_done: -.annotate 'line', 183 +.annotate 'line', 184 # rx subcapture "sym" set_addr $I10, rxcap_573_fail rx569_cur."!mark_push"(0, rx569_pos, $I10) - # rx literal "r" + # rx literal "i" add $I11, rx569_pos, 1 gt $I11, rx569_eos, rx569_fail sub $I11, rx569_pos, rx569_off substr $S10, rx569_tgt, $I11, 1 - ne $S10, "r", rx569_fail + ne $S10, "i", rx569_fail add rx569_pos, 1 set_addr $I10, rxcap_573_fail ($I12, $I11) = rx569_cur."!mark_peek"($I10) @@ -7131,18 +7113,18 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set_addr $I575, rxquantr574_done rx569_cur."!mark_push"(0, rx569_pos, $I575) rxquantr574_loop: - # rx literal "atchet" - add $I11, rx569_pos, 6 + # rx literal "gnorecase" + add $I11, rx569_pos, 9 gt $I11, rx569_eos, rx569_fail sub $I11, rx569_pos, rx569_off - substr $S10, rx569_tgt, $I11, 6 - ne $S10, "atchet", rx569_fail - add rx569_pos, 6 + substr $S10, rx569_tgt, $I11, 9 + ne $S10, "gnorecase", rx569_fail + add rx569_pos, 9 (rx569_rep) = rx569_cur."!mark_commit"($I575) rxquantr574_done: # rx pass - rx569_cur."!cursor_pass"(rx569_pos, "mod_ident:sym") - rx569_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx569_pos) + rx569_cur."!cursor_pass"(rx569_pos, "mod_ident:sym") + rx569_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx569_pos) .return (rx569_cur) rx569_fail: .annotate 'line', 3 @@ -7152,23 +7134,23 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes jump $I10 rx569_done: rx569_cur."!cursor_fail"() - rx569_cur."!cursor_debug"("FAIL ", "mod_ident:sym") + rx569_cur."!cursor_debug"("FAIL ", "mod_ident:sym") .return (rx569_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__mod_ident:sym" :subid("155_1276996307.3412") :method +.sub "!PREFIX__mod_ident:sym" :subid("155_1278500530.77787") :method .annotate 'line', 3 new $P571, "ResizablePMCArray" - push $P571, "r" + push $P571, "i" .return ($P571) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "mod_ident:sym" :subid("156_1276996307.3412") :method :outer("11_1276996307.3412") +.sub "mod_ident:sym" :subid("156_1278500530.77787") :method :outer("11_1278500530.77787") .annotate 'line', 3 .local string rx577_tgt .local int rx577_pos @@ -7177,7 +7159,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .local int rx577_rep .local pmc rx577_cur (rx577_cur, rx577_pos, rx577_tgt) = self."!cursor_start"() - rx577_cur."!cursor_debug"("START ", "mod_ident:sym") + rx577_cur."!cursor_debug"("START ", "mod_ident:sym") .lex unicode:"$\x{a2}", rx577_cur .local pmc match .lex "$/", match @@ -7200,16 +7182,16 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set_addr $I10, rxscan580_loop rx577_cur."!mark_push"(0, rx577_pos, $I10) rxscan580_done: -.annotate 'line', 184 +.annotate 'line', 185 # rx subcapture "sym" set_addr $I10, rxcap_581_fail rx577_cur."!mark_push"(0, rx577_pos, $I10) - # rx literal "s" + # rx literal "r" add $I11, rx577_pos, 1 gt $I11, rx577_eos, rx577_fail sub $I11, rx577_pos, rx577_off substr $S10, rx577_tgt, $I11, 1 - ne $S10, "s", rx577_fail + ne $S10, "r", rx577_fail add rx577_pos, 1 set_addr $I10, rxcap_581_fail ($I12, $I11) = rx577_cur."!mark_peek"($I10) @@ -7226,18 +7208,18 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set_addr $I583, rxquantr582_done rx577_cur."!mark_push"(0, rx577_pos, $I583) rxquantr582_loop: - # rx literal "igspace" - add $I11, rx577_pos, 7 + # rx literal "atchet" + add $I11, rx577_pos, 6 gt $I11, rx577_eos, rx577_fail sub $I11, rx577_pos, rx577_off - substr $S10, rx577_tgt, $I11, 7 - ne $S10, "igspace", rx577_fail - add rx577_pos, 7 + substr $S10, rx577_tgt, $I11, 6 + ne $S10, "atchet", rx577_fail + add rx577_pos, 6 (rx577_rep) = rx577_cur."!mark_commit"($I583) rxquantr582_done: # rx pass - rx577_cur."!cursor_pass"(rx577_pos, "mod_ident:sym") - rx577_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx577_pos) + rx577_cur."!cursor_pass"(rx577_pos, "mod_ident:sym") + rx577_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx577_pos) .return (rx577_cur) rx577_fail: .annotate 'line', 3 @@ -7247,42 +7229,137 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes jump $I10 rx577_done: rx577_cur."!cursor_fail"() - rx577_cur."!cursor_debug"("FAIL ", "mod_ident:sym") + rx577_cur."!cursor_debug"("FAIL ", "mod_ident:sym") .return (rx577_cur) .return () .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "!PREFIX__mod_ident:sym" :subid("157_1276996307.3412") :method +.sub "!PREFIX__mod_ident:sym" :subid("157_1278500530.77787") :method .annotate 'line', 3 new $P579, "ResizablePMCArray" - push $P579, "s" + push $P579, "r" .return ($P579) .end .namespace ["Regex";"P6Regex";"Grammar"] -.sub "_block584" :load :anon :subid("158_1276996307.3412") +.sub "mod_ident:sym" :subid("158_1278500530.77787") :method :outer("11_1278500530.77787") +.annotate 'line', 3 + .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 ", "mod_ident:sym") + .lex unicode:"$\x{a2}", rx585_cur + .local pmc match + .lex "$/", match + length rx585_eos, rx585_tgt + gt rx585_pos, rx585_eos, rx585_done + 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, rxscan588_done + goto rxscan588_scan + rxscan588_loop: + ($P10) = rx585_cur."from"() + inc $P10 + set rx585_pos, $P10 + ge rx585_pos, rx585_eos, rxscan588_done + rxscan588_scan: + set_addr $I10, rxscan588_loop + rx585_cur."!mark_push"(0, rx585_pos, $I10) + rxscan588_done: +.annotate 'line', 186 + # rx subcapture "sym" + set_addr $I10, rxcap_589_fail + rx585_cur."!mark_push"(0, rx585_pos, $I10) + # rx literal "s" + add $I11, rx585_pos, 1 + gt $I11, rx585_eos, rx585_fail + sub $I11, rx585_pos, rx585_off + substr $S10, rx585_tgt, $I11, 1 + ne $S10, "s", rx585_fail + add rx585_pos, 1 + set_addr $I10, rxcap_589_fail + ($I12, $I11) = rx585_cur."!mark_peek"($I10) + rx585_cur."!cursor_pos"($I11) + ($P10) = rx585_cur."!cursor_start"() + $P10."!cursor_pass"(rx585_pos, "") + rx585_cur."!mark_push"(0, -1, 0, $P10) + $P10."!cursor_names"("sym") + goto rxcap_589_done + rxcap_589_fail: + goto rx585_fail + rxcap_589_done: + # rx rxquantr590 ** 0..1 + set_addr $I591, rxquantr590_done + rx585_cur."!mark_push"(0, rx585_pos, $I591) + rxquantr590_loop: + # rx literal "igspace" + add $I11, rx585_pos, 7 + gt $I11, rx585_eos, rx585_fail + sub $I11, rx585_pos, rx585_off + substr $S10, rx585_tgt, $I11, 7 + ne $S10, "igspace", rx585_fail + add rx585_pos, 7 + (rx585_rep) = rx585_cur."!mark_commit"($I591) + rxquantr590_done: + # rx pass + rx585_cur."!cursor_pass"(rx585_pos, "mod_ident:sym") + rx585_cur."!cursor_debug"("PASS ", "mod_ident:sym", " at pos=", rx585_pos) + .return (rx585_cur) + rx585_fail: +.annotate 'line', 3 + (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 + rx585_done: + rx585_cur."!cursor_fail"() + rx585_cur."!cursor_debug"("FAIL ", "mod_ident:sym") + .return (rx585_cur) + .return () +.end + + +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "!PREFIX__mod_ident:sym" :subid("159_1278500530.77787") :method .annotate 'line', 3 - .const 'Sub' $P586 = "11_1276996307.3412" - $P587 = $P586() + new $P587, "ResizablePMCArray" + push $P587, "s" .return ($P587) .end +.namespace ["Regex";"P6Regex";"Grammar"] +.sub "_block592" :load :anon :subid("160_1278500530.77787") +.annotate 'line', 3 + .const 'Sub' $P594 = "11_1278500530.77787" + $P595 = $P594() + .return ($P595) +.end + + .namespace [] -.sub "_block589" :load :anon :subid("159_1276996307.3412") +.sub "_block597" :load :anon :subid("161_1278500530.77787") .annotate 'line', 1 - .const 'Sub' $P591 = "10_1276996307.3412" - $P592 = $P591() - .return ($P592) + .const 'Sub' $P599 = "10_1278500530.77787" + $P600 = $P599() + .return ($P600) .end ### .include 'gen/p6regex-actions.pir' .namespace [] -.sub "_block11" :anon :subid("10_1276996315.25554") +.sub "_block11" :anon :subid("10_1278500533.96053") .annotate 'line', 0 get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" capture_lex $P14 @@ -7296,135 +7373,135 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .annotate 'line', 4 get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" capture_lex $P14 - $P1599 = $P14() + $P1601 = $P14() .annotate 'line', 1 - .return ($P1599) - .const 'Sub' $P1601 = "91_1276996315.25554" .return ($P1601) + .const 'Sub' $P1603 = "91_1278500533.96053" + .return ($P1603) .end .namespace [] -.sub "" :load :init :subid("post92") :outer("10_1276996315.25554") +.sub "" :load :init :subid("post92") :outer("10_1278500533.96053") .annotate 'line', 0 - .const 'Sub' $P12 = "10_1276996315.25554" + .const 'Sub' $P12 = "10_1278500533.96053" .local pmc block set block, $P12 - $P1604 = get_root_global ["parrot"], "P6metaclass" - $P1604."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent")) + $P1606 = get_root_global ["parrot"], "P6metaclass" + $P1606."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent")) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block13" :subid("11_1276996315.25554") :outer("10_1276996315.25554") +.sub "_block13" :subid("11_1278500533.96053") :outer("10_1278500533.96053") .annotate 'line', 4 - .const 'Sub' $P1561 = "89_1276996315.25554" - capture_lex $P1561 - .const 'Sub' $P1492 = "85_1276996315.25554" - capture_lex $P1492 - .const 'Sub' $P1424 = "83_1276996315.25554" - capture_lex $P1424 - .const 'Sub' $P1351 = "80_1276996315.25554" - capture_lex $P1351 - .const 'Sub' $P1337 = "79_1276996315.25554" - capture_lex $P1337 - .const 'Sub' $P1313 = "78_1276996315.25554" - capture_lex $P1313 - .const 'Sub' $P1295 = "77_1276996315.25554" - capture_lex $P1295 - .const 'Sub' $P1281 = "76_1276996315.25554" - capture_lex $P1281 - .const 'Sub' $P1268 = "75_1276996315.25554" - capture_lex $P1268 - .const 'Sub' $P1237 = "74_1276996315.25554" - capture_lex $P1237 - .const 'Sub' $P1206 = "73_1276996315.25554" - capture_lex $P1206 - .const 'Sub' $P1190 = "72_1276996315.25554" - capture_lex $P1190 - .const 'Sub' $P1174 = "71_1276996315.25554" - capture_lex $P1174 - .const 'Sub' $P1158 = "70_1276996315.25554" - capture_lex $P1158 - .const 'Sub' $P1142 = "69_1276996315.25554" - capture_lex $P1142 - .const 'Sub' $P1126 = "68_1276996315.25554" - capture_lex $P1126 - .const 'Sub' $P1110 = "67_1276996315.25554" - capture_lex $P1110 - .const 'Sub' $P1094 = "66_1276996315.25554" - capture_lex $P1094 - .const 'Sub' $P1070 = "65_1276996315.25554" - capture_lex $P1070 - .const 'Sub' $P1055 = "64_1276996315.25554" - capture_lex $P1055 - .const 'Sub' $P999 = "63_1276996315.25554" - capture_lex $P999 - .const 'Sub' $P978 = "62_1276996315.25554" + .const 'Sub' $P1575 = "89_1278500533.96053" + capture_lex $P1575 + .const 'Sub' $P1543 = "88_1278500533.96053" + capture_lex $P1543 + .const 'Sub' $P1474 = "84_1278500533.96053" + capture_lex $P1474 + .const 'Sub' $P1406 = "82_1278500533.96053" + capture_lex $P1406 + .const 'Sub' $P1332 = "79_1278500533.96053" + capture_lex $P1332 + .const 'Sub' $P1318 = "78_1278500533.96053" + capture_lex $P1318 + .const 'Sub' $P1294 = "77_1278500533.96053" + capture_lex $P1294 + .const 'Sub' $P1276 = "76_1278500533.96053" + capture_lex $P1276 + .const 'Sub' $P1262 = "75_1278500533.96053" + capture_lex $P1262 + .const 'Sub' $P1249 = "74_1278500533.96053" + capture_lex $P1249 + .const 'Sub' $P1218 = "73_1278500533.96053" + capture_lex $P1218 + .const 'Sub' $P1187 = "72_1278500533.96053" + capture_lex $P1187 + .const 'Sub' $P1171 = "71_1278500533.96053" + capture_lex $P1171 + .const 'Sub' $P1155 = "70_1278500533.96053" + capture_lex $P1155 + .const 'Sub' $P1139 = "69_1278500533.96053" + capture_lex $P1139 + .const 'Sub' $P1123 = "68_1278500533.96053" + capture_lex $P1123 + .const 'Sub' $P1107 = "67_1278500533.96053" + capture_lex $P1107 + .const 'Sub' $P1091 = "66_1278500533.96053" + capture_lex $P1091 + .const 'Sub' $P1075 = "65_1278500533.96053" + capture_lex $P1075 + .const 'Sub' $P1051 = "64_1278500533.96053" + capture_lex $P1051 + .const 'Sub' $P1036 = "63_1278500533.96053" + capture_lex $P1036 + .const 'Sub' $P978 = "62_1278500533.96053" capture_lex $P978 - .const 'Sub' $P956 = "61_1276996315.25554" - capture_lex $P956 - .const 'Sub' $P946 = "60_1276996315.25554" - capture_lex $P946 - .const 'Sub' $P936 = "59_1276996315.25554" - capture_lex $P936 - .const 'Sub' $P926 = "58_1276996315.25554" - capture_lex $P926 - .const 'Sub' $P914 = "57_1276996315.25554" - capture_lex $P914 - .const 'Sub' $P902 = "56_1276996315.25554" - capture_lex $P902 - .const 'Sub' $P890 = "55_1276996315.25554" - capture_lex $P890 - .const 'Sub' $P878 = "54_1276996315.25554" - capture_lex $P878 - .const 'Sub' $P866 = "53_1276996315.25554" - capture_lex $P866 - .const 'Sub' $P854 = "52_1276996315.25554" - capture_lex $P854 - .const 'Sub' $P842 = "51_1276996315.25554" - capture_lex $P842 - .const 'Sub' $P830 = "50_1276996315.25554" - capture_lex $P830 - .const 'Sub' $P807 = "49_1276996315.25554" - capture_lex $P807 - .const 'Sub' $P784 = "48_1276996315.25554" - capture_lex $P784 - .const 'Sub' $P766 = "47_1276996315.25554" - capture_lex $P766 - .const 'Sub' $P756 = "46_1276996315.25554" - capture_lex $P756 - .const 'Sub' $P738 = "45_1276996315.25554" - capture_lex $P738 - .const 'Sub' $P665 = "43_1276996315.25554" - capture_lex $P665 - .const 'Sub' $P648 = "42_1276996315.25554" - capture_lex $P648 - .const 'Sub' $P633 = "41_1276996315.25554" - capture_lex $P633 - .const 'Sub' $P618 = "40_1276996315.25554" - capture_lex $P618 - .const 'Sub' $P592 = "39_1276996315.25554" - capture_lex $P592 - .const 'Sub' $P541 = "37_1276996315.25554" - capture_lex $P541 - .const 'Sub' $P473 = "35_1276996315.25554" - capture_lex $P473 - .const 'Sub' $P418 = "32_1276996315.25554" - capture_lex $P418 - .const 'Sub' $P403 = "31_1276996315.25554" - capture_lex $P403 - .const 'Sub' $P377 = "29_1276996315.25554" - capture_lex $P377 - .const 'Sub' $P360 = "28_1276996315.25554" - capture_lex $P360 - .const 'Sub' $P338 = "27_1276996315.25554" - capture_lex $P338 - .const 'Sub' $P305 = "26_1276996315.25554" + .const 'Sub' $P957 = "61_1278500533.96053" + capture_lex $P957 + .const 'Sub' $P935 = "60_1278500533.96053" + capture_lex $P935 + .const 'Sub' $P925 = "59_1278500533.96053" + capture_lex $P925 + .const 'Sub' $P915 = "58_1278500533.96053" + capture_lex $P915 + .const 'Sub' $P905 = "57_1278500533.96053" + capture_lex $P905 + .const 'Sub' $P893 = "56_1278500533.96053" + capture_lex $P893 + .const 'Sub' $P881 = "55_1278500533.96053" + capture_lex $P881 + .const 'Sub' $P869 = "54_1278500533.96053" + capture_lex $P869 + .const 'Sub' $P857 = "53_1278500533.96053" + capture_lex $P857 + .const 'Sub' $P845 = "52_1278500533.96053" + capture_lex $P845 + .const 'Sub' $P833 = "51_1278500533.96053" + capture_lex $P833 + .const 'Sub' $P821 = "50_1278500533.96053" + capture_lex $P821 + .const 'Sub' $P809 = "49_1278500533.96053" + capture_lex $P809 + .const 'Sub' $P786 = "48_1278500533.96053" + capture_lex $P786 + .const 'Sub' $P763 = "47_1278500533.96053" + capture_lex $P763 + .const 'Sub' $P745 = "46_1278500533.96053" + capture_lex $P745 + .const 'Sub' $P735 = "45_1278500533.96053" + capture_lex $P735 + .const 'Sub' $P717 = "44_1278500533.96053" + capture_lex $P717 + .const 'Sub' $P644 = "42_1278500533.96053" + capture_lex $P644 + .const 'Sub' $P627 = "41_1278500533.96053" + capture_lex $P627 + .const 'Sub' $P612 = "40_1278500533.96053" + capture_lex $P612 + .const 'Sub' $P597 = "39_1278500533.96053" + capture_lex $P597 + .const 'Sub' $P571 = "38_1278500533.96053" + capture_lex $P571 + .const 'Sub' $P520 = "36_1278500533.96053" + capture_lex $P520 + .const 'Sub' $P452 = "34_1278500533.96053" + capture_lex $P452 + .const 'Sub' $P397 = "31_1278500533.96053" + capture_lex $P397 + .const 'Sub' $P382 = "30_1278500533.96053" + capture_lex $P382 + .const 'Sub' $P356 = "28_1278500533.96053" + capture_lex $P356 + .const 'Sub' $P339 = "27_1278500533.96053" + capture_lex $P339 + .const 'Sub' $P305 = "26_1278500533.96053" capture_lex $P305 - .const 'Sub' $P50 = "13_1276996315.25554" + .const 'Sub' $P50 = "13_1278500533.96053" capture_lex $P50 - .const 'Sub' $P16 = "12_1276996315.25554" + .const 'Sub' $P16 = "12_1278500533.96053" capture_lex $P16 get_global $P15, "@MODIFIERS" unless_null $P15, vivify_94 @@ -7432,21 +7509,17 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set_global "@MODIFIERS", $P15 vivify_94: .annotate 'line', 494 - .const 'Sub' $P16 = "12_1276996315.25554" + .const 'Sub' $P16 = "12_1278500533.96053" newclosure $P49, $P16 .lex "buildsub", $P49 .annotate 'line', 511 - .const 'Sub' $P50 = "13_1276996315.25554" + .const 'Sub' $P50 = "13_1278500533.96053" newclosure $P304, $P50 .lex "capnames", $P304 .annotate 'line', 577 - .const 'Sub' $P305 = "26_1276996315.25554" + .const 'Sub' $P305 = "26_1278500533.96053" newclosure $P337, $P305 .lex "backmod", $P337 -.annotate 'line', 584 - .const 'Sub' $P338 = "27_1276996315.25554" - newclosure $P358, $P338 - .lex "subrule_alias", $P358 .annotate 'line', 4 $P0 = find_dynamic_lex "$*CTXSAVE" if null $P0 goto ctxsave_done @@ -7454,38 +7527,40 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $I0 goto ctxsave_done $P0."ctxsave"() ctxsave_done: - get_global $P359, "@MODIFIERS" + get_global $P338, "@MODIFIERS" .annotate 'line', 487 - find_lex $P1590, "buildsub" - find_lex $P1591, "capnames" - find_lex $P1592, "backmod" - find_lex $P1593, "subrule_alias" + find_lex $P1572, "buildsub" + find_lex $P1573, "capnames" + find_lex $P1574, "backmod" +.annotate 'line', 584 + .const 'Sub' $P1575 = "89_1278500533.96053" + newclosure $P1595, $P1575 .annotate 'line', 4 - .return ($P1593) - .const 'Sub' $P1595 = "90_1276996315.25554" .return ($P1595) + .const 'Sub' $P1597 = "90_1278500533.96053" + .return ($P1597) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "" :load :init :subid("post93") :outer("11_1276996315.25554") +.sub "" :load :init :subid("post93") :outer("11_1278500533.96053") .annotate 'line', 4 get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" .local pmc block set block, $P14 .annotate 'line', 7 - $P1598 = new ['ResizablePMCArray'] + $P1600 = new ['ResizablePMCArray'] $P0 = new ['Hash'] - push $P1598, $P0 + push $P1600, $P0 - set_global "@MODIFIERS", $P1598 + set_global "@MODIFIERS", $P1600 .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "buildsub" :subid("12_1276996315.25554") :outer("11_1276996315.25554") +.sub "buildsub" :subid("12_1278500533.96053") :outer("11_1278500533.96053") .param pmc param_19 .param pmc param_20 :optional .param int has_param_20 :opt_flag @@ -7563,19 +7638,19 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "capnames" :subid("13_1276996315.25554") :outer("11_1276996315.25554") +.sub "capnames" :subid("13_1278500533.96053") :outer("11_1278500533.96053") .param pmc param_53 .param pmc param_54 .annotate 'line', 511 - .const 'Sub' $P279 = "24_1276996315.25554" + .const 'Sub' $P279 = "24_1278500533.96053" capture_lex $P279 - .const 'Sub' $P216 = "21_1276996315.25554" + .const 'Sub' $P216 = "21_1278500533.96053" capture_lex $P216 - .const 'Sub' $P174 = "19_1276996315.25554" + .const 'Sub' $P174 = "19_1278500533.96053" capture_lex $P174 - .const 'Sub' $P132 = "17_1276996315.25554" + .const 'Sub' $P132 = "17_1278500533.96053" capture_lex $P132 - .const 'Sub' $P65 = "14_1276996315.25554" + .const 'Sub' $P65 = "14_1278500533.96053" capture_lex $P65 new $P52, 'ExceptionHandler' set_addr $P52, control_51 @@ -7631,21 +7706,21 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes set $S276, $P275 iseq $I277, $S276, "quant" unless $I277, if_274_end - .const 'Sub' $P279 = "24_1276996315.25554" + .const 'Sub' $P279 = "24_1278500533.96053" capture_lex $P279 $P279() if_274_end: goto if_211_end if_211: .annotate 'line', 549 - .const 'Sub' $P216 = "21_1276996315.25554" + .const 'Sub' $P216 = "21_1278500533.96053" capture_lex $P216 $P216() if_211_end: goto if_164_end if_164: .annotate 'line', 536 - .const 'Sub' $P174 = "19_1276996315.25554" + .const 'Sub' $P174 = "19_1278500533.96053" capture_lex $P174 $P174() if_164_end: @@ -7665,7 +7740,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P126, loop161_done shift $P130, $P126 loop161_redo: - .const 'Sub' $P132 = "17_1276996315.25554" + .const 'Sub' $P132 = "17_1278500533.96053" capture_lex $P132 $P132($P130) loop161_next: @@ -7684,7 +7759,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes goto if_60_end if_60: .annotate 'line', 514 - .const 'Sub' $P65 = "14_1276996315.25554" + .const 'Sub' $P65 = "14_1278500533.96053" capture_lex $P65 $P65() if_60_end: @@ -7709,9 +7784,9 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block278" :anon :subid("24_1276996315.25554") :outer("13_1276996315.25554") +.sub "_block278" :anon :subid("24_1278500533.96053") :outer("13_1278500533.96053") .annotate 'line', 566 - .const 'Sub' $P290 = "25_1276996315.25554" + .const 'Sub' $P290 = "25_1278500533.96053" capture_lex $P290 .annotate 'line', 567 $P280 = root_new ['parrot';'Hash'] @@ -7740,7 +7815,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P285, loop295_done shift $P288, $P285 loop295_redo: - .const 'Sub' $P290 = "25_1276996315.25554" + .const 'Sub' $P290 = "25_1278500533.96053" capture_lex $P290 $P290($P288) loop295_next: @@ -7770,7 +7845,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block289" :anon :subid("25_1276996315.25554") :outer("24_1276996315.25554") +.sub "_block289" :anon :subid("25_1278500533.96053") :outer("24_1278500533.96053") .param pmc param_291 .annotate 'line', 568 .lex "$_", param_291 @@ -7791,11 +7866,11 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block215" :anon :subid("21_1276996315.25554") :outer("13_1276996315.25554") +.sub "_block215" :anon :subid("21_1278500533.96053") :outer("13_1278500533.96053") .annotate 'line', 549 - .const 'Sub' $P256 = "23_1276996315.25554" + .const 'Sub' $P256 = "23_1278500533.96053" capture_lex $P256 - .const 'Sub' $P228 = "22_1276996315.25554" + .const 'Sub' $P228 = "22_1278500533.96053" capture_lex $P228 .annotate 'line', 550 new $P217, "Undef" @@ -7830,7 +7905,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P223, loop244_done shift $P226, $P223 loop244_redo: - .const 'Sub' $P228 = "22_1276996315.25554" + .const 'Sub' $P228 = "22_1278500533.96053" capture_lex $P228 $P228($P226) loop244_next: @@ -7869,7 +7944,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P251, loop269_done shift $P254, $P251 loop269_redo: - .const 'Sub' $P256 = "23_1276996315.25554" + .const 'Sub' $P256 = "23_1278500533.96053" capture_lex $P256 $P256($P254) loop269_next: @@ -7899,7 +7974,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block227" :anon :subid("22_1276996315.25554") :outer("21_1276996315.25554") +.sub "_block227" :anon :subid("22_1278500533.96053") :outer("21_1278500533.96053") .param pmc param_229 .annotate 'line', 556 .lex "$_", param_229 @@ -7939,7 +8014,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block255" :anon :subid("23_1276996315.25554") :outer("21_1276996315.25554") +.sub "_block255" :anon :subid("23_1278500533.96053") :outer("21_1278500533.96053") .param pmc param_257 .annotate 'line', 561 .lex "$_", param_257 @@ -7980,9 +8055,9 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block173" :anon :subid("19_1276996315.25554") :outer("13_1276996315.25554") +.sub "_block173" :anon :subid("19_1278500533.96053") :outer("13_1278500533.96053") .annotate 'line', 536 - .const 'Sub' $P192 = "20_1276996315.25554" + .const 'Sub' $P192 = "20_1278500533.96053" capture_lex $P192 .annotate 'line', 537 new $P175, "Undef" @@ -8025,7 +8100,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P187, loop208_done shift $P190, $P187 loop208_redo: - .const 'Sub' $P192 = "20_1276996315.25554" + .const 'Sub' $P192 = "20_1278500533.96053" capture_lex $P192 $P192($P190) loop208_next: @@ -8045,7 +8120,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block191" :anon :subid("20_1276996315.25554") :outer("19_1276996315.25554") +.sub "_block191" :anon :subid("20_1278500533.96053") :outer("19_1278500533.96053") .param pmc param_193 .annotate 'line', 544 .lex "$_", param_193 @@ -8086,10 +8161,10 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block131" :anon :subid("17_1276996315.25554") :outer("13_1276996315.25554") +.sub "_block131" :anon :subid("17_1278500533.96053") :outer("13_1278500533.96053") .param pmc param_134 .annotate 'line', 528 - .const 'Sub' $P143 = "18_1276996315.25554" + .const 'Sub' $P143 = "18_1278500533.96053" capture_lex $P143 .annotate 'line', 529 $P133 = root_new ['parrot';'Hash'] @@ -8112,7 +8187,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P138, loop156_done shift $P141, $P138 loop156_redo: - .const 'Sub' $P143 = "18_1276996315.25554" + .const 'Sub' $P143 = "18_1278500533.96053" capture_lex $P143 $P143($P141) loop156_next: @@ -8142,7 +8217,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block142" :anon :subid("18_1276996315.25554") :outer("17_1276996315.25554") +.sub "_block142" :anon :subid("18_1278500533.96053") :outer("17_1278500533.96053") .param pmc param_144 .annotate 'line', 530 .lex "$_", param_144 @@ -8183,9 +8258,9 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block64" :anon :subid("14_1276996315.25554") :outer("13_1276996315.25554") +.sub "_block64" :anon :subid("14_1278500533.96053") :outer("13_1278500533.96053") .annotate 'line', 514 - .const 'Sub' $P74 = "15_1276996315.25554" + .const 'Sub' $P74 = "15_1278500533.96053" capture_lex $P74 .annotate 'line', 515 new $P66, "Undef" @@ -8206,7 +8281,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P68, loop118_done shift $P72, $P68 loop118_redo: - .const 'Sub' $P74 = "15_1276996315.25554" + .const 'Sub' $P74 = "15_1278500533.96053" capture_lex $P74 $P74($P72) loop118_next: @@ -8230,10 +8305,10 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block73" :anon :subid("15_1276996315.25554") :outer("14_1276996315.25554") +.sub "_block73" :anon :subid("15_1278500533.96053") :outer("14_1278500533.96053") .param pmc param_76 .annotate 'line', 516 - .const 'Sub' $P85 = "16_1276996315.25554" + .const 'Sub' $P85 = "16_1278500533.96053" capture_lex $P85 .annotate 'line', 517 $P75 = root_new ['parrot';'Hash'] @@ -8256,7 +8331,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes unless $P80, loop105_done shift $P83, $P80 loop105_redo: - .const 'Sub' $P85 = "16_1276996315.25554" + .const 'Sub' $P85 = "16_1278500533.96053" capture_lex $P85 $P85($P83) loop105_next: @@ -8305,7 +8380,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block84" :anon :subid("16_1276996315.25554") :outer("15_1276996315.25554") +.sub "_block84" :anon :subid("16_1278500533.96053") :outer("15_1278500533.96053") .param pmc param_86 .annotate 'line', 518 .lex "$_", param_86 @@ -8365,7 +8440,7 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backmod" :subid("26_1276996315.25554") :outer("11_1276996315.25554") +.sub "backmod" :subid("26_1278500533.96053") :outer("11_1278500533.96053") .param pmc param_308 .param pmc param_309 .annotate 'line', 577 @@ -8440,3106 +8515,3064 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "subrule_alias" :subid("27_1276996315.25554") :outer("11_1276996315.25554") - .param pmc param_341 +.sub "arg" :subid("27_1278500533.96053") :method :outer("11_1278500533.96053") .param pmc param_342 -.annotate 'line', 584 - new $P340, 'ExceptionHandler' - set_addr $P340, control_339 - $P340."handle_types"(.CONTROL_RETURN) - push_eh $P340 - .lex "$past", param_341 - .lex "$name", param_342 -.annotate 'line', 585 - find_lex $P344, "$past" - $S345 = $P344."name"() - isgt $I346, $S345, "" - if $I346, if_343 -.annotate 'line', 586 - find_lex $P353, "$past" - find_lex $P354, "$name" - $P353."name"($P354) - goto if_343_end - if_343: -.annotate 'line', 585 - find_lex $P347, "$past" - find_lex $P348, "$name" - concat $P349, $P348, "=" - find_lex $P350, "$past" - $S351 = $P350."name"() - concat $P352, $P349, $S351 - $P347."name"($P352) - if_343_end: -.annotate 'line', 587 - find_lex $P355, "$past" - $P356 = $P355."subtype"("capture") -.annotate 'line', 584 - .return ($P356) - control_339: - .local pmc exception - .get_results (exception) - getattribute $P357, exception, "payload" - .return ($P357) -.end - - -.namespace ["Regex";"P6Regex";"Actions"] -.include "except_types.pasm" -.sub "arg" :subid("28_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_363 .annotate 'line', 14 - new $P362, 'ExceptionHandler' - set_addr $P362, control_361 - $P362."handle_types"(.CONTROL_RETURN) - push_eh $P362 + new $P341, 'ExceptionHandler' + set_addr $P341, control_340 + $P341."handle_types"(.CONTROL_RETURN) + push_eh $P341 .lex "self", self - .lex "$/", param_363 + .lex "$/", param_342 .annotate 'line', 15 - find_lex $P364, "$/" - find_lex $P367, "$/" - unless_null $P367, vivify_138 - $P367 = root_new ['parrot';'Hash'] + find_lex $P343, "$/" + find_lex $P346, "$/" + unless_null $P346, vivify_138 + $P346 = root_new ['parrot';'Hash'] vivify_138: - set $P368, $P367["quote_EXPR"] - unless_null $P368, vivify_139 - new $P368, "Undef" + set $P347, $P346["quote_EXPR"] + unless_null $P347, vivify_139 + new $P347, "Undef" vivify_139: - if $P368, if_366 - find_lex $P372, "$/" - unless_null $P372, vivify_140 - $P372 = root_new ['parrot';'Hash'] + if $P347, if_345 + find_lex $P351, "$/" + unless_null $P351, vivify_140 + $P351 = root_new ['parrot';'Hash'] vivify_140: - set $P373, $P372["val"] - unless_null $P373, vivify_141 - new $P373, "Undef" + set $P352, $P351["val"] + unless_null $P352, vivify_141 + new $P352, "Undef" vivify_141: - set $N374, $P373 - new $P365, 'Float' - set $P365, $N374 - goto if_366_end - if_366: - find_lex $P369, "$/" - unless_null $P369, vivify_142 - $P369 = root_new ['parrot';'Hash'] + set $N353, $P352 + new $P344, 'Float' + set $P344, $N353 + goto if_345_end + if_345: + find_lex $P348, "$/" + unless_null $P348, vivify_142 + $P348 = root_new ['parrot';'Hash'] vivify_142: - set $P370, $P369["quote_EXPR"] - unless_null $P370, vivify_143 - new $P370, "Undef" + set $P349, $P348["quote_EXPR"] + unless_null $P349, vivify_143 + new $P349, "Undef" vivify_143: - $P371 = $P370."ast"() - set $P365, $P371 - if_366_end: - $P375 = $P364."!make"($P365) + $P350 = $P349."ast"() + set $P344, $P350 + if_345_end: + $P354 = $P343."!make"($P344) .annotate 'line', 14 - .return ($P375) - control_361: + .return ($P354) + control_340: .local pmc exception .get_results (exception) - getattribute $P376, exception, "payload" - .return ($P376) + getattribute $P355, exception, "payload" + .return ($P355) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "arglist" :subid("29_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_380 +.sub "arglist" :subid("28_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_359 .annotate 'line', 18 - .const 'Sub' $P390 = "30_1276996315.25554" - capture_lex $P390 - new $P379, 'ExceptionHandler' - set_addr $P379, control_378 - $P379."handle_types"(.CONTROL_RETURN) - push_eh $P379 + .const 'Sub' $P369 = "29_1278500533.96053" + capture_lex $P369 + new $P358, 'ExceptionHandler' + set_addr $P358, control_357 + $P358."handle_types"(.CONTROL_RETURN) + push_eh $P358 .lex "self", self - .lex "$/", param_380 + .lex "$/", param_359 .annotate 'line', 19 - new $P381, "Undef" - .lex "$past", $P381 - get_hll_global $P382, ["PAST"], "Op" - $P383 = $P382."new"("list" :named("pasttype")) - store_lex "$past", $P383 + new $P360, "Undef" + .lex "$past", $P360 + get_hll_global $P361, ["PAST"], "Op" + $P362 = $P361."new"("list" :named("pasttype")) + store_lex "$past", $P362 .annotate 'line', 20 - find_lex $P385, "$/" - unless_null $P385, vivify_144 - $P385 = root_new ['parrot';'Hash'] + find_lex $P364, "$/" + unless_null $P364, vivify_144 + $P364 = root_new ['parrot';'Hash'] vivify_144: - set $P386, $P385["arg"] - unless_null $P386, vivify_145 - new $P386, "Undef" + set $P365, $P364["arg"] + unless_null $P365, vivify_145 + new $P365, "Undef" vivify_145: - defined $I387, $P386 - unless $I387, for_undef_146 - iter $P384, $P386 - new $P397, 'ExceptionHandler' - set_addr $P397, loop396_handler - $P397."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P397 - loop396_test: - unless $P384, loop396_done - shift $P388, $P384 - loop396_redo: - .const 'Sub' $P390 = "30_1276996315.25554" - capture_lex $P390 - $P390($P388) - loop396_next: - goto loop396_test - loop396_handler: + defined $I366, $P365 + unless $I366, for_undef_146 + iter $P363, $P365 + new $P376, 'ExceptionHandler' + set_addr $P376, loop375_handler + $P376."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P376 + loop375_test: + unless $P363, loop375_done + shift $P367, $P363 + loop375_redo: + .const 'Sub' $P369 = "29_1278500533.96053" + capture_lex $P369 + $P369($P367) + loop375_next: + goto loop375_test + loop375_handler: .local pmc exception .get_results (exception) - getattribute $P398, exception, 'type' - eq $P398, .CONTROL_LOOP_NEXT, loop396_next - eq $P398, .CONTROL_LOOP_REDO, loop396_redo - loop396_done: + getattribute $P377, exception, 'type' + eq $P377, .CONTROL_LOOP_NEXT, loop375_next + eq $P377, .CONTROL_LOOP_REDO, loop375_redo + loop375_done: pop_eh for_undef_146: .annotate 'line', 21 - find_lex $P399, "$/" - find_lex $P400, "$past" - $P401 = $P399."!make"($P400) + find_lex $P378, "$/" + find_lex $P379, "$past" + $P380 = $P378."!make"($P379) .annotate 'line', 18 - .return ($P401) - control_378: + .return ($P380) + control_357: .local pmc exception .get_results (exception) - getattribute $P402, exception, "payload" - .return ($P402) + getattribute $P381, exception, "payload" + .return ($P381) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block389" :anon :subid("30_1276996315.25554") :outer("29_1276996315.25554") - .param pmc param_391 +.sub "_block368" :anon :subid("29_1278500533.96053") :outer("28_1278500533.96053") + .param pmc param_370 .annotate 'line', 20 - .lex "$_", param_391 - find_lex $P392, "$past" - find_lex $P393, "$_" - $P394 = $P393."ast"() - $P395 = $P392."push"($P394) - .return ($P395) + .lex "$_", param_370 + find_lex $P371, "$past" + find_lex $P372, "$_" + $P373 = $P372."ast"() + $P374 = $P371."push"($P373) + .return ($P374) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "TOP" :subid("31_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_406 +.sub "TOP" :subid("30_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_385 .annotate 'line', 24 - new $P405, 'ExceptionHandler' - set_addr $P405, control_404 - $P405."handle_types"(.CONTROL_RETURN) - push_eh $P405 + new $P384, 'ExceptionHandler' + set_addr $P384, control_383 + $P384."handle_types"(.CONTROL_RETURN) + push_eh $P384 .lex "self", self - .lex "$/", param_406 + .lex "$/", param_385 .annotate 'line', 25 - new $P407, "Undef" - .lex "$past", $P407 - find_lex $P408, "$/" - unless_null $P408, vivify_147 - $P408 = root_new ['parrot';'Hash'] + new $P386, "Undef" + .lex "$past", $P386 + find_lex $P387, "$/" + unless_null $P387, vivify_147 + $P387 = root_new ['parrot';'Hash'] vivify_147: - set $P409, $P408["nibbler"] - unless_null $P409, vivify_148 - new $P409, "Undef" + set $P388, $P387["nibbler"] + unless_null $P388, vivify_148 + new $P388, "Undef" vivify_148: - $P410 = $P409."ast"() - $P411 = "buildsub"($P410) - store_lex "$past", $P411 + $P389 = $P388."ast"() + $P390 = "buildsub"($P389) + store_lex "$past", $P390 .annotate 'line', 26 - find_lex $P412, "$past" - find_lex $P413, "$/" - $P412."node"($P413) + find_lex $P391, "$past" + find_lex $P392, "$/" + $P391."node"($P392) .annotate 'line', 27 - find_lex $P414, "$/" - find_lex $P415, "$past" - $P416 = $P414."!make"($P415) + find_lex $P393, "$/" + find_lex $P394, "$past" + $P395 = $P393."!make"($P394) .annotate 'line', 24 - .return ($P416) - control_404: + .return ($P395) + control_383: .local pmc exception .get_results (exception) - getattribute $P417, exception, "payload" - .return ($P417) + getattribute $P396, exception, "payload" + .return ($P396) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "nibbler" :subid("32_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_421 - .param pmc param_422 :optional - .param int has_param_422 :opt_flag +.sub "nibbler" :subid("31_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_400 + .param pmc param_401 :optional + .param int has_param_401 :opt_flag .annotate 'line', 30 - .const 'Sub' $P456 = "34_1276996315.25554" - capture_lex $P456 - .const 'Sub' $P430 = "33_1276996315.25554" - capture_lex $P430 - new $P420, 'ExceptionHandler' - set_addr $P420, control_419 - $P420."handle_types"(.CONTROL_RETURN) - push_eh $P420 + .const 'Sub' $P435 = "33_1278500533.96053" + capture_lex $P435 + .const 'Sub' $P409 = "32_1278500533.96053" + capture_lex $P409 + new $P399, 'ExceptionHandler' + set_addr $P399, control_398 + $P399."handle_types"(.CONTROL_RETURN) + push_eh $P399 .lex "self", self - .lex "$/", param_421 - if has_param_422, optparam_149 - new $P423, "Undef" - set param_422, $P423 + .lex "$/", param_400 + if has_param_401, optparam_149 + new $P402, "Undef" + set param_401, $P402 optparam_149: - .lex "$key", param_422 + .lex "$key", param_401 .annotate 'line', 42 - new $P424, "Undef" - .lex "$past", $P424 + new $P403, "Undef" + .lex "$past", $P403 .annotate 'line', 31 - find_lex $P426, "$key" - set $S427, $P426 - iseq $I428, $S427, "open" - unless $I428, if_425_end - .const 'Sub' $P430 = "33_1276996315.25554" - capture_lex $P430 - $P430() - if_425_end: + find_lex $P405, "$key" + set $S406, $P405 + iseq $I407, $S406, "open" + unless $I407, if_404_end + .const 'Sub' $P409 = "32_1278500533.96053" + capture_lex $P409 + $P409() + if_404_end: .annotate 'line', 41 - get_global $P440, "@MODIFIERS" - $P440."shift"() - find_lex $P441, "$past" + get_global $P419, "@MODIFIERS" + $P419."shift"() + find_lex $P420, "$past" .annotate 'line', 43 - find_lex $P443, "$/" - unless_null $P443, vivify_152 - $P443 = root_new ['parrot';'Hash'] + find_lex $P422, "$/" + unless_null $P422, vivify_152 + $P422 = root_new ['parrot';'Hash'] vivify_152: - set $P444, $P443["termish"] - unless_null $P444, vivify_153 - new $P444, "Undef" + set $P423, $P422["termish"] + unless_null $P423, vivify_153 + new $P423, "Undef" vivify_153: - set $N445, $P444 - isgt $I446, $N445, 1.0 - if $I446, if_442 + set $N424, $P423 + isgt $I425, $N424, 1.0 + if $I425, if_421 .annotate 'line', 50 - find_lex $P465, "$/" - unless_null $P465, vivify_154 - $P465 = root_new ['parrot';'Hash'] + find_lex $P444, "$/" + unless_null $P444, vivify_154 + $P444 = root_new ['parrot';'Hash'] vivify_154: - set $P466, $P465["termish"] - unless_null $P466, vivify_155 - $P466 = root_new ['parrot';'ResizablePMCArray'] + set $P445, $P444["termish"] + unless_null $P445, vivify_155 + $P445 = root_new ['parrot';'ResizablePMCArray'] vivify_155: - set $P467, $P466[0] - unless_null $P467, vivify_156 - new $P467, "Undef" + set $P446, $P445[0] + unless_null $P446, vivify_156 + new $P446, "Undef" vivify_156: - $P468 = $P467."ast"() - store_lex "$past", $P468 + $P447 = $P446."ast"() + store_lex "$past", $P447 .annotate 'line', 49 - goto if_442_end - if_442: + goto if_421_end + if_421: .annotate 'line', 44 - get_hll_global $P447, ["PAST"], "Regex" - find_lex $P448, "$/" - $P449 = $P447."new"("alt" :named("pasttype"), $P448 :named("node")) - store_lex "$past", $P449 + get_hll_global $P426, ["PAST"], "Regex" + find_lex $P427, "$/" + $P428 = $P426."new"("alt" :named("pasttype"), $P427 :named("node")) + store_lex "$past", $P428 .annotate 'line', 45 - find_lex $P451, "$/" - unless_null $P451, vivify_157 - $P451 = root_new ['parrot';'Hash'] + find_lex $P430, "$/" + unless_null $P430, vivify_157 + $P430 = root_new ['parrot';'Hash'] vivify_157: - set $P452, $P451["termish"] - unless_null $P452, vivify_158 - new $P452, "Undef" + set $P431, $P430["termish"] + unless_null $P431, vivify_158 + new $P431, "Undef" vivify_158: - defined $I453, $P452 - unless $I453, for_undef_159 - iter $P450, $P452 - new $P463, 'ExceptionHandler' - set_addr $P463, loop462_handler - $P463."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P463 - loop462_test: - unless $P450, loop462_done - shift $P454, $P450 - loop462_redo: - .const 'Sub' $P456 = "34_1276996315.25554" - capture_lex $P456 - $P456($P454) - loop462_next: - goto loop462_test - loop462_handler: + defined $I432, $P431 + unless $I432, for_undef_159 + iter $P429, $P431 + new $P442, 'ExceptionHandler' + set_addr $P442, loop441_handler + $P442."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P442 + loop441_test: + unless $P429, loop441_done + shift $P433, $P429 + loop441_redo: + .const 'Sub' $P435 = "33_1278500533.96053" + capture_lex $P435 + $P435($P433) + loop441_next: + goto loop441_test + loop441_handler: .local pmc exception .get_results (exception) - getattribute $P464, exception, 'type' - eq $P464, .CONTROL_LOOP_NEXT, loop462_next - eq $P464, .CONTROL_LOOP_REDO, loop462_redo - loop462_done: + getattribute $P443, exception, 'type' + eq $P443, .CONTROL_LOOP_NEXT, loop441_next + eq $P443, .CONTROL_LOOP_REDO, loop441_redo + loop441_done: pop_eh for_undef_159: - if_442_end: + if_421_end: .annotate 'line', 52 - find_lex $P469, "$/" - find_lex $P470, "$past" - $P471 = $P469."!make"($P470) + find_lex $P448, "$/" + find_lex $P449, "$past" + $P450 = $P448."!make"($P449) .annotate 'line', 30 - .return ($P471) - control_419: + .return ($P450) + control_398: .local pmc exception .get_results (exception) - getattribute $P472, exception, "payload" - .return ($P472) + getattribute $P451, exception, "payload" + .return ($P451) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "_block429" :anon :subid("33_1276996315.25554") :outer("32_1276996315.25554") +.sub "_block408" :anon :subid("32_1278500533.96053") :outer("31_1278500533.96053") .annotate 'line', 32 - $P431 = root_new ['parrot';'Hash'] - .lex "%old", $P431 + $P410 = root_new ['parrot';'Hash'] + .lex "%old", $P410 .annotate 'line', 33 - $P432 = root_new ['parrot';'Hash'] - .lex "%new", $P432 + $P411 = root_new ['parrot';'Hash'] + .lex "%new", $P411 .annotate 'line', 32 - get_global $P433, "@MODIFIERS" - unless_null $P433, vivify_150 - $P433 = root_new ['parrot';'ResizablePMCArray'] + get_global $P412, "@MODIFIERS" + unless_null $P412, vivify_150 + $P412 = root_new ['parrot';'ResizablePMCArray'] vivify_150: - set $P434, $P433[0] - unless_null $P434, vivify_151 - new $P434, "Undef" + set $P413, $P412[0] + unless_null $P413, vivify_151 + new $P413, "Undef" vivify_151: - store_lex "%old", $P434 + store_lex "%old", $P413 .annotate 'line', 33 $P0 = find_lex '%old' - $P435 = clone $P0 + $P414 = clone $P0 - store_lex "%new", $P435 + store_lex "%new", $P414 .annotate 'line', 37 - get_global $P436, "@MODIFIERS" - find_lex $P437, "%new" - $P436."unshift"($P437) + get_global $P415, "@MODIFIERS" + find_lex $P416, "%new" + $P415."unshift"($P416) .annotate 'line', 38 - new $P438, "Exception" - set $P438['type'], .CONTROL_RETURN - new $P439, "Integer" - assign $P439, 1 - setattribute $P438, 'payload', $P439 - throw $P438 + new $P417, "Exception" + set $P417['type'], .CONTROL_RETURN + new $P418, "Integer" + assign $P418, 1 + setattribute $P417, 'payload', $P418 + throw $P417 .annotate 'line', 31 .return () .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block455" :anon :subid("34_1276996315.25554") :outer("32_1276996315.25554") - .param pmc param_457 +.sub "_block434" :anon :subid("33_1278500533.96053") :outer("31_1278500533.96053") + .param pmc param_436 .annotate 'line', 45 - .lex "$_", param_457 + .lex "$_", param_436 .annotate 'line', 46 - find_lex $P458, "$past" - find_lex $P459, "$_" - $P460 = $P459."ast"() - $P461 = $P458."push"($P460) + find_lex $P437, "$past" + find_lex $P438, "$_" + $P439 = $P438."ast"() + $P440 = $P437."push"($P439) .annotate 'line', 45 - .return ($P461) + .return ($P440) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "termish" :subid("35_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_476 +.sub "termish" :subid("34_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_455 .annotate 'line', 55 - .const 'Sub' $P489 = "36_1276996315.25554" - capture_lex $P489 - new $P475, 'ExceptionHandler' - set_addr $P475, control_474 - $P475."handle_types"(.CONTROL_RETURN) - push_eh $P475 + .const 'Sub' $P468 = "35_1278500533.96053" + capture_lex $P468 + new $P454, 'ExceptionHandler' + set_addr $P454, control_453 + $P454."handle_types"(.CONTROL_RETURN) + push_eh $P454 .lex "self", self - .lex "$/", param_476 + .lex "$/", param_455 .annotate 'line', 56 - new $P477, "Undef" - .lex "$past", $P477 + new $P456, "Undef" + .lex "$past", $P456 .annotate 'line', 57 - new $P478, "Undef" - .lex "$lastlit", $P478 + new $P457, "Undef" + .lex "$lastlit", $P457 .annotate 'line', 56 - get_hll_global $P479, ["PAST"], "Regex" - find_lex $P480, "$/" - $P481 = $P479."new"("concat" :named("pasttype"), $P480 :named("node")) - store_lex "$past", $P481 + get_hll_global $P458, ["PAST"], "Regex" + find_lex $P459, "$/" + $P460 = $P458."new"("concat" :named("pasttype"), $P459 :named("node")) + store_lex "$past", $P460 .annotate 'line', 57 - new $P482, "Integer" - assign $P482, 0 - store_lex "$lastlit", $P482 + new $P461, "Integer" + assign $P461, 0 + store_lex "$lastlit", $P461 .annotate 'line', 58 - find_lex $P484, "$/" - unless_null $P484, vivify_160 - $P484 = root_new ['parrot';'Hash'] + find_lex $P463, "$/" + unless_null $P463, vivify_160 + $P463 = root_new ['parrot';'Hash'] vivify_160: - set $P485, $P484["noun"] - unless_null $P485, vivify_161 - new $P485, "Undef" + set $P464, $P463["noun"] + unless_null $P464, vivify_161 + new $P464, "Undef" vivify_161: - defined $I486, $P485 - unless $I486, for_undef_162 - iter $P483, $P485 - new $P535, 'ExceptionHandler' - set_addr $P535, loop534_handler - $P535."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P535 - loop534_test: - unless $P483, loop534_done - shift $P487, $P483 - loop534_redo: - .const 'Sub' $P489 = "36_1276996315.25554" - capture_lex $P489 - $P489($P487) - loop534_next: - goto loop534_test - loop534_handler: + defined $I465, $P464 + unless $I465, for_undef_162 + iter $P462, $P464 + new $P514, 'ExceptionHandler' + set_addr $P514, loop513_handler + $P514."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P514 + loop513_test: + unless $P462, loop513_done + shift $P466, $P462 + loop513_redo: + .const 'Sub' $P468 = "35_1278500533.96053" + capture_lex $P468 + $P468($P466) + loop513_next: + goto loop513_test + loop513_handler: .local pmc exception .get_results (exception) - getattribute $P536, exception, 'type' - eq $P536, .CONTROL_LOOP_NEXT, loop534_next - eq $P536, .CONTROL_LOOP_REDO, loop534_redo - loop534_done: + getattribute $P515, exception, 'type' + eq $P515, .CONTROL_LOOP_NEXT, loop513_next + eq $P515, .CONTROL_LOOP_REDO, loop513_redo + loop513_done: pop_eh for_undef_162: .annotate 'line', 73 - find_lex $P537, "$/" - find_lex $P538, "$past" - $P539 = $P537."!make"($P538) + find_lex $P516, "$/" + find_lex $P517, "$past" + $P518 = $P516."!make"($P517) .annotate 'line', 55 - .return ($P539) - control_474: + .return ($P518) + control_453: .local pmc exception .get_results (exception) - getattribute $P540, exception, "payload" - .return ($P540) + getattribute $P519, exception, "payload" + .return ($P519) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block488" :anon :subid("36_1276996315.25554") :outer("35_1276996315.25554") - .param pmc param_491 +.sub "_block467" :anon :subid("35_1278500533.96053") :outer("34_1278500533.96053") + .param pmc param_470 .annotate 'line', 59 - new $P490, "Undef" - .lex "$ast", $P490 - .lex "$_", param_491 - find_lex $P492, "$_" - $P493 = $P492."ast"() - store_lex "$ast", $P493 + new $P469, "Undef" + .lex "$ast", $P469 + .lex "$_", param_470 + find_lex $P471, "$_" + $P472 = $P471."ast"() + store_lex "$ast", $P472 .annotate 'line', 60 - find_lex $P496, "$ast" - if $P496, if_495 - set $P494, $P496 - goto if_495_end - if_495: + find_lex $P475, "$ast" + if $P475, if_474 + set $P473, $P475 + goto if_474_end + if_474: .annotate 'line', 61 - find_lex $P503, "$lastlit" - if $P503, if_502 - set $P501, $P503 - goto if_502_end - if_502: - find_lex $P504, "$ast" - $S505 = $P504."pasttype"() - iseq $I506, $S505, "literal" - new $P501, 'Integer' - set $P501, $I506 - if_502_end: - if $P501, if_500 - set $P499, $P501 - goto if_500_end - if_500: + find_lex $P482, "$lastlit" + if $P482, if_481 + set $P480, $P482 + goto if_481_end + if_481: + find_lex $P483, "$ast" + $S484 = $P483."pasttype"() + iseq $I485, $S484, "literal" + new $P480, 'Integer' + set $P480, $I485 + if_481_end: + if $P480, if_479 + set $P478, $P480 + goto if_479_end + if_479: .annotate 'line', 62 - get_hll_global $P507, ["PAST"], "Node" - find_lex $P508, "$ast" - unless_null $P508, vivify_163 - $P508 = root_new ['parrot';'ResizablePMCArray'] + get_hll_global $P486, ["PAST"], "Node" + find_lex $P487, "$ast" + unless_null $P487, vivify_163 + $P487 = root_new ['parrot';'ResizablePMCArray'] vivify_163: - set $P509, $P508[0] - unless_null $P509, vivify_164 - new $P509, "Undef" + set $P488, $P487[0] + unless_null $P488, vivify_164 + new $P488, "Undef" vivify_164: - $P510 = $P507."ACCEPTS"($P509) - isfalse $I511, $P510 - new $P499, 'Integer' - set $P499, $I511 - if_500_end: - if $P499, if_498 + $P489 = $P486."ACCEPTS"($P488) + isfalse $I490, $P489 + new $P478, 'Integer' + set $P478, $I490 + if_479_end: + if $P478, if_477 .annotate 'line', 66 - find_lex $P518, "$past" - find_lex $P519, "$ast" - $P518."push"($P519) + find_lex $P497, "$past" + find_lex $P498, "$ast" + $P497."push"($P498) .annotate 'line', 67 - find_lex $P524, "$ast" - $S525 = $P524."pasttype"() - iseq $I526, $S525, "literal" - if $I526, if_523 - new $P522, 'Integer' - set $P522, $I526 - goto if_523_end - if_523: + find_lex $P503, "$ast" + $S504 = $P503."pasttype"() + iseq $I505, $S504, "literal" + if $I505, if_502 + new $P501, 'Integer' + set $P501, $I505 + goto if_502_end + if_502: .annotate 'line', 68 - get_hll_global $P527, ["PAST"], "Node" - find_lex $P528, "$ast" - unless_null $P528, vivify_165 - $P528 = root_new ['parrot';'ResizablePMCArray'] + get_hll_global $P506, ["PAST"], "Node" + find_lex $P507, "$ast" + unless_null $P507, vivify_165 + $P507 = root_new ['parrot';'ResizablePMCArray'] vivify_165: - set $P529, $P528[0] - unless_null $P529, vivify_166 - new $P529, "Undef" + set $P508, $P507[0] + unless_null $P508, vivify_166 + new $P508, "Undef" vivify_166: - $P530 = $P527."ACCEPTS"($P529) - isfalse $I531, $P530 - new $P522, 'Integer' - set $P522, $I531 - if_523_end: - if $P522, if_521 - new $P533, "Integer" - assign $P533, 0 - set $P520, $P533 - goto if_521_end - if_521: - find_lex $P532, "$ast" - set $P520, $P532 - if_521_end: + $P509 = $P506."ACCEPTS"($P508) + isfalse $I510, $P509 + new $P501, 'Integer' + set $P501, $I510 + if_502_end: + if $P501, if_500 + new $P512, "Integer" + assign $P512, 0 + set $P499, $P512 + goto if_500_end + if_500: + find_lex $P511, "$ast" + set $P499, $P511 + if_500_end: .annotate 'line', 69 - store_lex "$lastlit", $P520 + store_lex "$lastlit", $P499 .annotate 'line', 65 - set $P497, $P520 + set $P476, $P499 .annotate 'line', 62 - goto if_498_end - if_498: + goto if_477_end + if_477: .annotate 'line', 63 - find_lex $P512, "$lastlit" - unless_null $P512, vivify_167 - $P512 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P491, "$lastlit" + unless_null $P491, vivify_167 + $P491 = root_new ['parrot';'ResizablePMCArray'] vivify_167: - set $P513, $P512[0] - unless_null $P513, vivify_168 - new $P513, "Undef" + set $P492, $P491[0] + unless_null $P492, vivify_168 + new $P492, "Undef" vivify_168: - find_lex $P514, "$ast" - unless_null $P514, vivify_169 - $P514 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P493, "$ast" + unless_null $P493, vivify_169 + $P493 = root_new ['parrot';'ResizablePMCArray'] vivify_169: - set $P515, $P514[0] - unless_null $P515, vivify_170 - new $P515, "Undef" + set $P494, $P493[0] + unless_null $P494, vivify_170 + new $P494, "Undef" vivify_170: - concat $P516, $P513, $P515 - find_lex $P517, "$lastlit" - unless_null $P517, vivify_171 - $P517 = root_new ['parrot';'ResizablePMCArray'] - store_lex "$lastlit", $P517 + concat $P495, $P492, $P494 + find_lex $P496, "$lastlit" + unless_null $P496, vivify_171 + $P496 = root_new ['parrot';'ResizablePMCArray'] + store_lex "$lastlit", $P496 vivify_171: - set $P517[0], $P516 + set $P496[0], $P495 .annotate 'line', 62 - set $P497, $P516 - if_498_end: + set $P476, $P495 + if_477_end: .annotate 'line', 60 - set $P494, $P497 - if_495_end: + set $P473, $P476 + if_474_end: .annotate 'line', 58 - .return ($P494) + .return ($P473) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "quantified_atom" :subid("37_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_544 +.sub "quantified_atom" :subid("36_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_523 .annotate 'line', 76 - .const 'Sub' $P553 = "38_1276996315.25554" - capture_lex $P553 - new $P543, 'ExceptionHandler' - set_addr $P543, control_542 - $P543."handle_types"(.CONTROL_RETURN) - push_eh $P543 + .const 'Sub' $P532 = "37_1278500533.96053" + capture_lex $P532 + new $P522, 'ExceptionHandler' + set_addr $P522, control_521 + $P522."handle_types"(.CONTROL_RETURN) + push_eh $P522 .lex "self", self - .lex "$/", param_544 + .lex "$/", param_523 .annotate 'line', 77 - new $P545, "Undef" - .lex "$past", $P545 - find_lex $P546, "$/" - unless_null $P546, vivify_172 - $P546 = root_new ['parrot';'Hash'] + new $P524, "Undef" + .lex "$past", $P524 + find_lex $P525, "$/" + unless_null $P525, vivify_172 + $P525 = root_new ['parrot';'Hash'] vivify_172: - set $P547, $P546["atom"] - unless_null $P547, vivify_173 - new $P547, "Undef" + set $P526, $P525["atom"] + unless_null $P526, vivify_173 + new $P526, "Undef" vivify_173: - $P548 = $P547."ast"() - store_lex "$past", $P548 + $P527 = $P526."ast"() + store_lex "$past", $P527 .annotate 'line', 78 - find_lex $P550, "$/" - unless_null $P550, vivify_174 - $P550 = root_new ['parrot';'Hash'] + find_lex $P529, "$/" + unless_null $P529, vivify_174 + $P529 = root_new ['parrot';'Hash'] vivify_174: - set $P551, $P550["quantifier"] - unless_null $P551, vivify_175 - new $P551, "Undef" + set $P530, $P529["quantifier"] + unless_null $P530, vivify_175 + new $P530, "Undef" vivify_175: - if $P551, if_549 + if $P530, if_528 .annotate 'line', 84 - find_lex $P568, "$/" - unless_null $P568, vivify_176 - $P568 = root_new ['parrot';'Hash'] + find_lex $P547, "$/" + unless_null $P547, vivify_176 + $P547 = root_new ['parrot';'Hash'] vivify_176: - set $P569, $P568["backmod"] - unless_null $P569, vivify_177 - $P569 = root_new ['parrot';'ResizablePMCArray'] + set $P548, $P547["backmod"] + unless_null $P548, vivify_177 + $P548 = root_new ['parrot';'ResizablePMCArray'] vivify_177: - set $P570, $P569[0] - unless_null $P570, vivify_178 - new $P570, "Undef" + set $P549, $P548[0] + unless_null $P549, vivify_178 + new $P549, "Undef" vivify_178: - unless $P570, if_567_end - find_lex $P571, "$past" - find_lex $P572, "$/" - unless_null $P572, vivify_179 - $P572 = root_new ['parrot';'Hash'] + unless $P549, if_546_end + find_lex $P550, "$past" + find_lex $P551, "$/" + unless_null $P551, vivify_179 + $P551 = root_new ['parrot';'Hash'] vivify_179: - set $P573, $P572["backmod"] - unless_null $P573, vivify_180 - $P573 = root_new ['parrot';'ResizablePMCArray'] + set $P552, $P551["backmod"] + unless_null $P552, vivify_180 + $P552 = root_new ['parrot';'ResizablePMCArray'] vivify_180: - set $P574, $P573[0] - unless_null $P574, vivify_181 - new $P574, "Undef" + set $P553, $P552[0] + unless_null $P553, vivify_181 + new $P553, "Undef" vivify_181: - "backmod"($P571, $P574) - if_567_end: - goto if_549_end - if_549: + "backmod"($P550, $P553) + if_546_end: + goto if_528_end + if_528: .annotate 'line', 78 - .const 'Sub' $P553 = "38_1276996315.25554" - capture_lex $P553 - $P553() - if_549_end: + .const 'Sub' $P532 = "37_1278500533.96053" + capture_lex $P532 + $P532() + if_528_end: .annotate 'line', 85 - find_lex $P580, "$past" - if $P580, if_579 - set $P578, $P580 - goto if_579_end - if_579: - find_lex $P581, "$past" - $P582 = $P581."backtrack"() - isfalse $I583, $P582 - new $P578, 'Integer' - set $P578, $I583 - if_579_end: - if $P578, if_577 - set $P576, $P578 - goto if_577_end - if_577: - get_global $P584, "@MODIFIERS" - unless_null $P584, vivify_185 - $P584 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P559, "$past" + if $P559, if_558 + set $P557, $P559 + goto if_558_end + if_558: + find_lex $P560, "$past" + $P561 = $P560."backtrack"() + isfalse $I562, $P561 + new $P557, 'Integer' + set $P557, $I562 + if_558_end: + if $P557, if_556 + set $P555, $P557 + goto if_556_end + if_556: + get_global $P563, "@MODIFIERS" + unless_null $P563, vivify_185 + $P563 = root_new ['parrot';'ResizablePMCArray'] vivify_185: - set $P585, $P584[0] - unless_null $P585, vivify_186 - $P585 = root_new ['parrot';'Hash'] + set $P564, $P563[0] + unless_null $P564, vivify_186 + $P564 = root_new ['parrot';'Hash'] vivify_186: - set $P586, $P585["r"] - unless_null $P586, vivify_187 - new $P586, "Undef" + set $P565, $P564["r"] + unless_null $P565, vivify_187 + new $P565, "Undef" vivify_187: - set $P576, $P586 - if_577_end: - unless $P576, if_575_end + set $P555, $P565 + if_556_end: + unless $P555, if_554_end .annotate 'line', 86 - find_lex $P587, "$past" - $P587."backtrack"("r") - if_575_end: + find_lex $P566, "$past" + $P566."backtrack"("r") + if_554_end: .annotate 'line', 88 - find_lex $P588, "$/" - find_lex $P589, "$past" - $P590 = $P588."!make"($P589) + find_lex $P567, "$/" + find_lex $P568, "$past" + $P569 = $P567."!make"($P568) .annotate 'line', 76 - .return ($P590) - control_542: + .return ($P569) + control_521: .local pmc exception .get_results (exception) - getattribute $P591, exception, "payload" - .return ($P591) + getattribute $P570, exception, "payload" + .return ($P570) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block552" :anon :subid("38_1276996315.25554") :outer("37_1276996315.25554") +.sub "_block531" :anon :subid("37_1278500533.96053") :outer("36_1278500533.96053") .annotate 'line', 80 - new $P554, "Undef" - .lex "$qast", $P554 + new $P533, "Undef" + .lex "$qast", $P533 .annotate 'line', 79 - find_lex $P556, "$past" - isfalse $I557, $P556 - unless $I557, if_555_end - find_lex $P558, "$/" - $P559 = $P558."CURSOR"() - $P559."panic"("Quantifier follows nothing") - if_555_end: + find_lex $P535, "$past" + isfalse $I536, $P535 + unless $I536, if_534_end + find_lex $P537, "$/" + $P538 = $P537."CURSOR"() + $P538."panic"("Quantifier follows nothing") + if_534_end: .annotate 'line', 80 - find_lex $P560, "$/" - unless_null $P560, vivify_182 - $P560 = root_new ['parrot';'Hash'] + find_lex $P539, "$/" + unless_null $P539, vivify_182 + $P539 = root_new ['parrot';'Hash'] vivify_182: - set $P561, $P560["quantifier"] - unless_null $P561, vivify_183 - $P561 = root_new ['parrot';'ResizablePMCArray'] + set $P540, $P539["quantifier"] + unless_null $P540, vivify_183 + $P540 = root_new ['parrot';'ResizablePMCArray'] vivify_183: - set $P562, $P561[0] - unless_null $P562, vivify_184 - new $P562, "Undef" + set $P541, $P540[0] + unless_null $P541, vivify_184 + new $P541, "Undef" vivify_184: - $P563 = $P562."ast"() - store_lex "$qast", $P563 + $P542 = $P541."ast"() + store_lex "$qast", $P542 .annotate 'line', 81 - find_lex $P564, "$qast" - find_lex $P565, "$past" - $P564."unshift"($P565) + find_lex $P543, "$qast" + find_lex $P544, "$past" + $P543."unshift"($P544) .annotate 'line', 82 - find_lex $P566, "$qast" - store_lex "$past", $P566 + find_lex $P545, "$qast" + store_lex "$past", $P545 .annotate 'line', 78 - .return ($P566) + .return ($P545) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "atom" :subid("39_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_595 +.sub "atom" :subid("38_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_574 .annotate 'line', 91 - new $P594, 'ExceptionHandler' - set_addr $P594, control_593 - $P594."handle_types"(.CONTROL_RETURN) - push_eh $P594 + new $P573, 'ExceptionHandler' + set_addr $P573, control_572 + $P573."handle_types"(.CONTROL_RETURN) + push_eh $P573 .lex "self", self - .lex "$/", param_595 + .lex "$/", param_574 .annotate 'line', 92 - new $P596, "Undef" - .lex "$past", $P596 + new $P575, "Undef" + .lex "$past", $P575 .annotate 'line', 91 - find_lex $P597, "$past" + find_lex $P576, "$past" .annotate 'line', 93 - find_lex $P599, "$/" - unless_null $P599, vivify_188 - $P599 = root_new ['parrot';'Hash'] + find_lex $P578, "$/" + unless_null $P578, vivify_188 + $P578 = root_new ['parrot';'Hash'] vivify_188: - set $P600, $P599["metachar"] - unless_null $P600, vivify_189 - new $P600, "Undef" + set $P579, $P578["metachar"] + unless_null $P579, vivify_189 + new $P579, "Undef" vivify_189: - if $P600, if_598 + if $P579, if_577 .annotate 'line', 95 - get_hll_global $P604, ["PAST"], "Regex" - find_lex $P605, "$/" - set $S606, $P605 - find_lex $P607, "$/" - $P608 = $P604."new"($S606, "literal" :named("pasttype"), $P607 :named("node")) - store_lex "$past", $P608 + get_hll_global $P583, ["PAST"], "Regex" + find_lex $P584, "$/" + set $S585, $P584 + find_lex $P586, "$/" + $P587 = $P583."new"($S585, "literal" :named("pasttype"), $P586 :named("node")) + store_lex "$past", $P587 .annotate 'line', 96 - get_global $P610, "@MODIFIERS" - unless_null $P610, vivify_190 - $P610 = root_new ['parrot';'ResizablePMCArray'] + get_global $P589, "@MODIFIERS" + unless_null $P589, vivify_190 + $P589 = root_new ['parrot';'ResizablePMCArray'] vivify_190: - set $P611, $P610[0] - unless_null $P611, vivify_191 - $P611 = root_new ['parrot';'Hash'] + set $P590, $P589[0] + unless_null $P590, vivify_191 + $P590 = root_new ['parrot';'Hash'] vivify_191: - set $P612, $P611["i"] - unless_null $P612, vivify_192 - new $P612, "Undef" + set $P591, $P590["i"] + unless_null $P591, vivify_192 + new $P591, "Undef" vivify_192: - unless $P612, if_609_end - find_lex $P613, "$past" - $P613."subtype"("ignorecase") - if_609_end: + unless $P591, if_588_end + find_lex $P592, "$past" + $P592."subtype"("ignorecase") + if_588_end: .annotate 'line', 94 - goto if_598_end - if_598: + goto if_577_end + if_577: .annotate 'line', 93 - find_lex $P601, "$/" - unless_null $P601, vivify_193 - $P601 = root_new ['parrot';'Hash'] + find_lex $P580, "$/" + unless_null $P580, vivify_193 + $P580 = root_new ['parrot';'Hash'] vivify_193: - set $P602, $P601["metachar"] - unless_null $P602, vivify_194 - new $P602, "Undef" + set $P581, $P580["metachar"] + unless_null $P581, vivify_194 + new $P581, "Undef" vivify_194: - $P603 = $P602."ast"() - store_lex "$past", $P603 - if_598_end: + $P582 = $P581."ast"() + store_lex "$past", $P582 + if_577_end: .annotate 'line', 98 - find_lex $P614, "$/" - find_lex $P615, "$past" - $P616 = $P614."!make"($P615) + find_lex $P593, "$/" + find_lex $P594, "$past" + $P595 = $P593."!make"($P594) .annotate 'line', 91 - .return ($P616) - control_593: + .return ($P595) + control_572: .local pmc exception .get_results (exception) - getattribute $P617, exception, "payload" - .return ($P617) + getattribute $P596, exception, "payload" + .return ($P596) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "quantifier:sym<*>" :subid("40_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_621 +.sub "quantifier:sym<*>" :subid("39_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_600 .annotate 'line', 101 - new $P620, 'ExceptionHandler' - set_addr $P620, control_619 - $P620."handle_types"(.CONTROL_RETURN) - push_eh $P620 + new $P599, 'ExceptionHandler' + set_addr $P599, control_598 + $P599."handle_types"(.CONTROL_RETURN) + push_eh $P599 .lex "self", self - .lex "$/", param_621 + .lex "$/", param_600 .annotate 'line', 102 - new $P622, "Undef" - .lex "$past", $P622 - get_hll_global $P623, ["PAST"], "Regex" - find_lex $P624, "$/" - $P625 = $P623."new"("quant" :named("pasttype"), $P624 :named("node")) - store_lex "$past", $P625 + new $P601, "Undef" + .lex "$past", $P601 + get_hll_global $P602, ["PAST"], "Regex" + find_lex $P603, "$/" + $P604 = $P602."new"("quant" :named("pasttype"), $P603 :named("node")) + store_lex "$past", $P604 .annotate 'line', 103 - find_lex $P626, "$/" - find_lex $P627, "$past" - find_lex $P628, "$/" - unless_null $P628, vivify_195 - $P628 = root_new ['parrot';'Hash'] + find_lex $P605, "$/" + find_lex $P606, "$past" + find_lex $P607, "$/" + unless_null $P607, vivify_195 + $P607 = root_new ['parrot';'Hash'] vivify_195: - set $P629, $P628["backmod"] - unless_null $P629, vivify_196 - new $P629, "Undef" + set $P608, $P607["backmod"] + unless_null $P608, vivify_196 + new $P608, "Undef" vivify_196: - $P630 = "backmod"($P627, $P629) - $P631 = $P626."!make"($P630) + $P609 = "backmod"($P606, $P608) + $P610 = $P605."!make"($P609) .annotate 'line', 101 - .return ($P631) - control_619: + .return ($P610) + control_598: .local pmc exception .get_results (exception) - getattribute $P632, exception, "payload" - .return ($P632) + getattribute $P611, exception, "payload" + .return ($P611) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "quantifier:sym<+>" :subid("41_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_636 +.sub "quantifier:sym<+>" :subid("40_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_615 .annotate 'line', 106 - new $P635, 'ExceptionHandler' - set_addr $P635, control_634 - $P635."handle_types"(.CONTROL_RETURN) - push_eh $P635 + new $P614, 'ExceptionHandler' + set_addr $P614, control_613 + $P614."handle_types"(.CONTROL_RETURN) + push_eh $P614 .lex "self", self - .lex "$/", param_636 + .lex "$/", param_615 .annotate 'line', 107 - new $P637, "Undef" - .lex "$past", $P637 - get_hll_global $P638, ["PAST"], "Regex" - find_lex $P639, "$/" - $P640 = $P638."new"("quant" :named("pasttype"), 1 :named("min"), $P639 :named("node")) - store_lex "$past", $P640 + new $P616, "Undef" + .lex "$past", $P616 + get_hll_global $P617, ["PAST"], "Regex" + find_lex $P618, "$/" + $P619 = $P617."new"("quant" :named("pasttype"), 1 :named("min"), $P618 :named("node")) + store_lex "$past", $P619 .annotate 'line', 108 - find_lex $P641, "$/" - find_lex $P642, "$past" - find_lex $P643, "$/" - unless_null $P643, vivify_197 - $P643 = root_new ['parrot';'Hash'] + find_lex $P620, "$/" + find_lex $P621, "$past" + find_lex $P622, "$/" + unless_null $P622, vivify_197 + $P622 = root_new ['parrot';'Hash'] vivify_197: - set $P644, $P643["backmod"] - unless_null $P644, vivify_198 - new $P644, "Undef" + set $P623, $P622["backmod"] + unless_null $P623, vivify_198 + new $P623, "Undef" vivify_198: - $P645 = "backmod"($P642, $P644) - $P646 = $P641."!make"($P645) + $P624 = "backmod"($P621, $P623) + $P625 = $P620."!make"($P624) .annotate 'line', 106 - .return ($P646) - control_634: + .return ($P625) + control_613: .local pmc exception .get_results (exception) - getattribute $P647, exception, "payload" - .return ($P647) + getattribute $P626, exception, "payload" + .return ($P626) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "quantifier:sym" :subid("42_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_651 +.sub "quantifier:sym" :subid("41_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_630 .annotate 'line', 111 - new $P650, 'ExceptionHandler' - set_addr $P650, control_649 - $P650."handle_types"(.CONTROL_RETURN) - push_eh $P650 + new $P629, 'ExceptionHandler' + set_addr $P629, control_628 + $P629."handle_types"(.CONTROL_RETURN) + push_eh $P629 .lex "self", self - .lex "$/", param_651 + .lex "$/", param_630 .annotate 'line', 112 - new $P652, "Undef" - .lex "$past", $P652 - get_hll_global $P653, ["PAST"], "Regex" - find_lex $P654, "$/" - $P655 = $P653."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P654 :named("node")) - store_lex "$past", $P655 + new $P631, "Undef" + .lex "$past", $P631 + get_hll_global $P632, ["PAST"], "Regex" + find_lex $P633, "$/" + $P634 = $P632."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P633 :named("node")) + store_lex "$past", $P634 .annotate 'line', 113 - find_lex $P656, "$/" - find_lex $P657, "$past" - find_lex $P658, "$/" - unless_null $P658, vivify_199 - $P658 = root_new ['parrot';'Hash'] + find_lex $P635, "$/" + find_lex $P636, "$past" + find_lex $P637, "$/" + unless_null $P637, vivify_199 + $P637 = root_new ['parrot';'Hash'] vivify_199: - set $P659, $P658["backmod"] - unless_null $P659, vivify_200 - new $P659, "Undef" + set $P638, $P637["backmod"] + unless_null $P638, vivify_200 + new $P638, "Undef" vivify_200: - $P660 = "backmod"($P657, $P659) - $P656."!make"($P660) + $P639 = "backmod"($P636, $P638) + $P635."!make"($P639) .annotate 'line', 114 - find_lex $P661, "$/" - find_lex $P662, "$past" - $P663 = $P661."!make"($P662) + find_lex $P640, "$/" + find_lex $P641, "$past" + $P642 = $P640."!make"($P641) .annotate 'line', 111 - .return ($P663) - control_649: + .return ($P642) + control_628: .local pmc exception .get_results (exception) - getattribute $P664, exception, "payload" - .return ($P664) + getattribute $P643, exception, "payload" + .return ($P643) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "quantifier:sym<**>" :subid("43_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_668 +.sub "quantifier:sym<**>" :subid("42_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_647 .annotate 'line', 117 - .const 'Sub' $P683 = "44_1276996315.25554" - capture_lex $P683 - new $P667, 'ExceptionHandler' - set_addr $P667, control_666 - $P667."handle_types"(.CONTROL_RETURN) - push_eh $P667 + .const 'Sub' $P662 = "43_1278500533.96053" + capture_lex $P662 + new $P646, 'ExceptionHandler' + set_addr $P646, control_645 + $P646."handle_types"(.CONTROL_RETURN) + push_eh $P646 .lex "self", self - .lex "$/", param_668 + .lex "$/", param_647 .annotate 'line', 118 - new $P669, "Undef" - .lex "$past", $P669 + new $P648, "Undef" + .lex "$past", $P648 .annotate 'line', 119 - new $P670, "Undef" - .lex "$ws", $P670 + new $P649, "Undef" + .lex "$ws", $P649 .annotate 'line', 117 - find_lex $P671, "$past" + find_lex $P650, "$past" .annotate 'line', 119 - find_lex $P674, "$/" - unless_null $P674, vivify_201 - $P674 = root_new ['parrot';'Hash'] + find_lex $P653, "$/" + unless_null $P653, vivify_201 + $P653 = root_new ['parrot';'Hash'] vivify_201: - set $P675, $P674["normspace"] - unless_null $P675, vivify_202 - new $P675, "Undef" + set $P654, $P653["normspace"] + unless_null $P654, vivify_202 + new $P654, "Undef" vivify_202: - if $P675, if_673 - set $P672, $P675 - goto if_673_end - if_673: - get_global $P676, "@MODIFIERS" - unless_null $P676, vivify_203 - $P676 = root_new ['parrot';'ResizablePMCArray'] + if $P654, if_652 + set $P651, $P654 + goto if_652_end + if_652: + get_global $P655, "@MODIFIERS" + unless_null $P655, vivify_203 + $P655 = root_new ['parrot';'ResizablePMCArray'] vivify_203: - set $P677, $P676[0] - unless_null $P677, vivify_204 - $P677 = root_new ['parrot';'Hash'] + set $P656, $P655[0] + unless_null $P656, vivify_204 + $P656 = root_new ['parrot';'Hash'] vivify_204: - set $P678, $P677["s"] - unless_null $P678, vivify_205 - new $P678, "Undef" + set $P657, $P656["s"] + unless_null $P657, vivify_205 + new $P657, "Undef" vivify_205: - set $P672, $P678 - if_673_end: - store_lex "$ws", $P672 + set $P651, $P657 + if_652_end: + store_lex "$ws", $P651 .annotate 'line', 120 - find_lex $P680, "$/" - unless_null $P680, vivify_206 - $P680 = root_new ['parrot';'Hash'] + find_lex $P659, "$/" + unless_null $P659, vivify_206 + $P659 = root_new ['parrot';'Hash'] vivify_206: - set $P681, $P680["quantified_atom"] - unless_null $P681, vivify_207 - new $P681, "Undef" + set $P660, $P659["quantified_atom"] + unless_null $P660, vivify_207 + new $P660, "Undef" vivify_207: - if $P681, if_679 + if $P660, if_658 .annotate 'line', 136 - get_hll_global $P701, ["PAST"], "Regex" - find_lex $P702, "$/" - unless_null $P702, vivify_208 - $P702 = root_new ['parrot';'Hash'] + get_hll_global $P680, ["PAST"], "Regex" + find_lex $P681, "$/" + unless_null $P681, vivify_208 + $P681 = root_new ['parrot';'Hash'] vivify_208: - set $P703, $P702["min"] - unless_null $P703, vivify_209 - new $P703, "Undef" + set $P682, $P681["min"] + unless_null $P682, vivify_209 + new $P682, "Undef" vivify_209: - set $N704, $P703 - find_lex $P705, "$/" - $P706 = $P701."new"("quant" :named("pasttype"), $N704 :named("min"), $P705 :named("node")) - store_lex "$past", $P706 + set $N683, $P682 + find_lex $P684, "$/" + $P685 = $P680."new"("quant" :named("pasttype"), $N683 :named("min"), $P684 :named("node")) + store_lex "$past", $P685 .annotate 'line', 137 - find_lex $P708, "$/" - unless_null $P708, vivify_210 - $P708 = root_new ['parrot';'Hash'] + find_lex $P687, "$/" + unless_null $P687, vivify_210 + $P687 = root_new ['parrot';'Hash'] vivify_210: - set $P709, $P708["max"] - unless_null $P709, vivify_211 - new $P709, "Undef" + set $P688, $P687["max"] + unless_null $P688, vivify_211 + new $P688, "Undef" vivify_211: - isfalse $I710, $P709 - if $I710, if_707 + isfalse $I689, $P688 + if $I689, if_686 .annotate 'line', 138 - find_lex $P716, "$/" - unless_null $P716, vivify_212 - $P716 = root_new ['parrot';'Hash'] + find_lex $P695, "$/" + unless_null $P695, vivify_212 + $P695 = root_new ['parrot';'Hash'] vivify_212: - set $P717, $P716["max"] - unless_null $P717, vivify_213 - $P717 = root_new ['parrot';'ResizablePMCArray'] + set $P696, $P695["max"] + unless_null $P696, vivify_213 + $P696 = root_new ['parrot';'ResizablePMCArray'] vivify_213: - set $P718, $P717[0] - unless_null $P718, vivify_214 - new $P718, "Undef" + set $P697, $P696[0] + unless_null $P697, vivify_214 + new $P697, "Undef" vivify_214: - set $S719, $P718 - isne $I720, $S719, "*" - unless $I720, if_715_end - find_lex $P721, "$past" - find_lex $P722, "$/" - unless_null $P722, vivify_215 - $P722 = root_new ['parrot';'Hash'] + set $S698, $P697 + isne $I699, $S698, "*" + unless $I699, if_694_end + find_lex $P700, "$past" + find_lex $P701, "$/" + unless_null $P701, vivify_215 + $P701 = root_new ['parrot';'Hash'] vivify_215: - set $P723, $P722["max"] - unless_null $P723, vivify_216 - $P723 = root_new ['parrot';'ResizablePMCArray'] + set $P702, $P701["max"] + unless_null $P702, vivify_216 + $P702 = root_new ['parrot';'ResizablePMCArray'] vivify_216: - set $P724, $P723[0] - unless_null $P724, vivify_217 - new $P724, "Undef" + set $P703, $P702[0] + unless_null $P703, vivify_217 + new $P703, "Undef" vivify_217: - set $N725, $P724 - $P721."max"($N725) - if_715_end: - goto if_707_end - if_707: + set $N704, $P703 + $P700."max"($N704) + if_694_end: + goto if_686_end + if_686: .annotate 'line', 137 - find_lex $P711, "$past" - find_lex $P712, "$/" - unless_null $P712, vivify_218 - $P712 = root_new ['parrot';'Hash'] + find_lex $P690, "$past" + find_lex $P691, "$/" + unless_null $P691, vivify_218 + $P691 = root_new ['parrot';'Hash'] vivify_218: - set $P713, $P712["min"] - unless_null $P713, vivify_219 - new $P713, "Undef" + set $P692, $P691["min"] + unless_null $P692, vivify_219 + new $P692, "Undef" vivify_219: - set $N714, $P713 - $P711."max"($N714) - if_707_end: + set $N693, $P692 + $P690."max"($N693) + if_686_end: .annotate 'line', 139 - find_lex $P727, "$ws" - unless $P727, if_726_end - find_lex $P728, "$past" - get_hll_global $P729, ["PAST"], "Regex" - $P730 = $P729."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) - $P728."sep"($P730) - if_726_end: + find_lex $P706, "$ws" + unless $P706, if_705_end + find_lex $P707, "$past" + get_hll_global $P708, ["PAST"], "Regex" + $P709 = $P708."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) + $P707."sep"($P709) + if_705_end: .annotate 'line', 135 - goto if_679_end - if_679: + goto if_658_end + if_658: .annotate 'line', 120 - .const 'Sub' $P683 = "44_1276996315.25554" - capture_lex $P683 - $P683() - if_679_end: + .const 'Sub' $P662 = "43_1278500533.96053" + capture_lex $P662 + $P662() + if_658_end: .annotate 'line', 143 - find_lex $P731, "$/" - find_lex $P732, "$past" - find_lex $P733, "$/" - unless_null $P733, vivify_222 - $P733 = root_new ['parrot';'Hash'] + find_lex $P710, "$/" + find_lex $P711, "$past" + find_lex $P712, "$/" + unless_null $P712, vivify_222 + $P712 = root_new ['parrot';'Hash'] vivify_222: - set $P734, $P733["backmod"] - unless_null $P734, vivify_223 - new $P734, "Undef" + set $P713, $P712["backmod"] + unless_null $P713, vivify_223 + new $P713, "Undef" vivify_223: - $P735 = "backmod"($P732, $P734) - $P736 = $P731."!make"($P735) + $P714 = "backmod"($P711, $P713) + $P715 = $P710."!make"($P714) .annotate 'line', 117 - .return ($P736) - control_666: + .return ($P715) + control_645: .local pmc exception .get_results (exception) - getattribute $P737, exception, "payload" - .return ($P737) + getattribute $P716, exception, "payload" + .return ($P716) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block682" :anon :subid("44_1276996315.25554") :outer("43_1276996315.25554") +.sub "_block661" :anon :subid("43_1278500533.96053") :outer("42_1278500533.96053") .annotate 'line', 121 - new $P684, "Undef" - .lex "$ast", $P684 - find_lex $P685, "$/" - unless_null $P685, vivify_220 - $P685 = root_new ['parrot';'Hash'] + new $P663, "Undef" + .lex "$ast", $P663 + find_lex $P664, "$/" + unless_null $P664, vivify_220 + $P664 = root_new ['parrot';'Hash'] vivify_220: - set $P686, $P685["quantified_atom"] - unless_null $P686, vivify_221 - new $P686, "Undef" + set $P665, $P664["quantified_atom"] + unless_null $P665, vivify_221 + new $P665, "Undef" vivify_221: - $P687 = $P686."ast"() - store_lex "$ast", $P687 + $P666 = $P665."ast"() + store_lex "$ast", $P666 .annotate 'line', 122 - find_lex $P689, "$ws" - unless $P689, if_688_end + find_lex $P668, "$ws" + unless $P668, if_667_end .annotate 'line', 123 - get_hll_global $P690, ["PAST"], "Regex" + get_hll_global $P669, ["PAST"], "Regex" .annotate 'line', 125 - get_hll_global $P691, ["PAST"], "Regex" - $P692 = $P691."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) - find_lex $P693, "$ast" + get_hll_global $P670, ["PAST"], "Regex" + $P671 = $P670."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) + find_lex $P672, "$ast" .annotate 'line', 128 - get_hll_global $P694, ["PAST"], "Regex" - $P695 = $P694."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) - $P696 = $P690."new"($P692, $P693, $P695, "concat" :named("pasttype")) + get_hll_global $P673, ["PAST"], "Regex" + $P674 = $P673."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype")) + $P675 = $P669."new"($P671, $P672, $P674, "concat" :named("pasttype")) .annotate 'line', 123 - store_lex "$ast", $P696 - if_688_end: + store_lex "$ast", $P675 + if_667_end: .annotate 'line', 132 - get_hll_global $P697, ["PAST"], "Regex" - find_lex $P698, "$ast" - find_lex $P699, "$/" - $P700 = $P697."new"("quant" :named("pasttype"), 1 :named("min"), $P698 :named("sep"), $P699 :named("node")) - store_lex "$past", $P700 + get_hll_global $P676, ["PAST"], "Regex" + find_lex $P677, "$ast" + find_lex $P678, "$/" + $P679 = $P676."new"("quant" :named("pasttype"), 1 :named("min"), $P677 :named("sep"), $P678 :named("node")) + store_lex "$past", $P679 .annotate 'line', 120 - .return ($P700) + .return ($P679) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("45_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_741 +.sub "metachar:sym" :subid("44_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_720 .annotate 'line', 146 - new $P740, 'ExceptionHandler' - set_addr $P740, control_739 - $P740."handle_types"(.CONTROL_RETURN) - push_eh $P740 + new $P719, 'ExceptionHandler' + set_addr $P719, control_718 + $P719."handle_types"(.CONTROL_RETURN) + push_eh $P719 .lex "self", self - .lex "$/", param_741 + .lex "$/", param_720 .annotate 'line', 147 - new $P742, "Undef" - .lex "$past", $P742 + new $P721, "Undef" + .lex "$past", $P721 .annotate 'line', 148 - get_global $P745, "@MODIFIERS" - unless_null $P745, vivify_224 - $P745 = root_new ['parrot';'ResizablePMCArray'] + get_global $P724, "@MODIFIERS" + unless_null $P724, vivify_224 + $P724 = root_new ['parrot';'ResizablePMCArray'] vivify_224: - set $P746, $P745[0] - unless_null $P746, vivify_225 - $P746 = root_new ['parrot';'Hash'] + set $P725, $P724[0] + unless_null $P725, vivify_225 + $P725 = root_new ['parrot';'Hash'] vivify_225: - set $P747, $P746["s"] - unless_null $P747, vivify_226 - new $P747, "Undef" + set $P726, $P725["s"] + unless_null $P726, vivify_226 + new $P726, "Undef" vivify_226: - if $P747, if_744 - new $P751, "Integer" - assign $P751, 0 - set $P743, $P751 - goto if_744_end - if_744: - get_hll_global $P748, ["PAST"], "Regex" - find_lex $P749, "$/" - $P750 = $P748."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P749 :named("node")) - set $P743, $P750 - if_744_end: - store_lex "$past", $P743 + if $P726, if_723 + new $P730, "Integer" + assign $P730, 0 + set $P722, $P730 + goto if_723_end + if_723: + get_hll_global $P727, ["PAST"], "Regex" + find_lex $P728, "$/" + $P729 = $P727."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P728 :named("node")) + set $P722, $P729 + if_723_end: + store_lex "$past", $P722 .annotate 'line', 151 - find_lex $P752, "$/" - find_lex $P753, "$past" - $P754 = $P752."!make"($P753) + find_lex $P731, "$/" + find_lex $P732, "$past" + $P733 = $P731."!make"($P732) .annotate 'line', 146 - .return ($P754) - control_739: + .return ($P733) + control_718: .local pmc exception .get_results (exception) - getattribute $P755, exception, "payload" - .return ($P755) + getattribute $P734, exception, "payload" + .return ($P734) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<[ ]>" :subid("46_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_759 +.sub "metachar:sym<[ ]>" :subid("45_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_738 .annotate 'line', 155 - new $P758, 'ExceptionHandler' - set_addr $P758, control_757 - $P758."handle_types"(.CONTROL_RETURN) - push_eh $P758 + new $P737, 'ExceptionHandler' + set_addr $P737, control_736 + $P737."handle_types"(.CONTROL_RETURN) + push_eh $P737 .lex "self", self - .lex "$/", param_759 + .lex "$/", param_738 .annotate 'line', 156 - find_lex $P760, "$/" - find_lex $P761, "$/" - unless_null $P761, vivify_227 - $P761 = root_new ['parrot';'Hash'] + find_lex $P739, "$/" + find_lex $P740, "$/" + unless_null $P740, vivify_227 + $P740 = root_new ['parrot';'Hash'] vivify_227: - set $P762, $P761["nibbler"] - unless_null $P762, vivify_228 - new $P762, "Undef" + set $P741, $P740["nibbler"] + unless_null $P741, vivify_228 + new $P741, "Undef" vivify_228: - $P763 = $P762."ast"() - $P764 = $P760."!make"($P763) + $P742 = $P741."ast"() + $P743 = $P739."!make"($P742) .annotate 'line', 155 - .return ($P764) - control_757: + .return ($P743) + control_736: .local pmc exception .get_results (exception) - getattribute $P765, exception, "payload" - .return ($P765) + getattribute $P744, exception, "payload" + .return ($P744) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<( )>" :subid("47_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_769 +.sub "metachar:sym<( )>" :subid("46_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_748 .annotate 'line', 159 - new $P768, 'ExceptionHandler' - set_addr $P768, control_767 - $P768."handle_types"(.CONTROL_RETURN) - push_eh $P768 + new $P747, 'ExceptionHandler' + set_addr $P747, control_746 + $P747."handle_types"(.CONTROL_RETURN) + push_eh $P747 .lex "self", self - .lex "$/", param_769 + .lex "$/", param_748 .annotate 'line', 160 - new $P770, "Undef" - .lex "$subpast", $P770 + new $P749, "Undef" + .lex "$subpast", $P749 .annotate 'line', 161 - new $P771, "Undef" - .lex "$past", $P771 + new $P750, "Undef" + .lex "$past", $P750 .annotate 'line', 160 - find_lex $P772, "$/" - unless_null $P772, vivify_229 - $P772 = root_new ['parrot';'Hash'] + find_lex $P751, "$/" + unless_null $P751, vivify_229 + $P751 = root_new ['parrot';'Hash'] vivify_229: - set $P773, $P772["nibbler"] - unless_null $P773, vivify_230 - new $P773, "Undef" + set $P752, $P751["nibbler"] + unless_null $P752, vivify_230 + new $P752, "Undef" vivify_230: - $P774 = $P773."ast"() - $P775 = "buildsub"($P774) - store_lex "$subpast", $P775 + $P753 = $P752."ast"() + $P754 = "buildsub"($P753) + store_lex "$subpast", $P754 .annotate 'line', 161 - get_hll_global $P776, ["PAST"], "Regex" - find_lex $P777, "$subpast" - find_lex $P778, "$/" - $P779 = $P776."new"($P777, "subrule" :named("pasttype"), "capture" :named("subtype"), $P778 :named("node")) - store_lex "$past", $P779 + get_hll_global $P755, ["PAST"], "Regex" + find_lex $P756, "$subpast" + find_lex $P757, "$/" + $P758 = $P755."new"($P756, "subrule" :named("pasttype"), "capture" :named("subtype"), $P757 :named("node")) + store_lex "$past", $P758 .annotate 'line', 163 - find_lex $P780, "$/" - find_lex $P781, "$past" - $P782 = $P780."!make"($P781) + find_lex $P759, "$/" + find_lex $P760, "$past" + $P761 = $P759."!make"($P760) .annotate 'line', 159 - .return ($P782) - control_767: + .return ($P761) + control_746: .local pmc exception .get_results (exception) - getattribute $P783, exception, "payload" - .return ($P783) + getattribute $P762, exception, "payload" + .return ($P762) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<'>" :subid("48_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_787 +.sub "metachar:sym<'>" :subid("47_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_766 .annotate 'line', 166 - new $P786, 'ExceptionHandler' - set_addr $P786, control_785 - $P786."handle_types"(.CONTROL_RETURN) - push_eh $P786 + new $P765, 'ExceptionHandler' + set_addr $P765, control_764 + $P765."handle_types"(.CONTROL_RETURN) + push_eh $P765 .lex "self", self - .lex "$/", param_787 + .lex "$/", param_766 .annotate 'line', 167 - new $P788, "Undef" - .lex "$quote", $P788 + new $P767, "Undef" + .lex "$quote", $P767 .annotate 'line', 169 - new $P789, "Undef" - .lex "$past", $P789 + new $P768, "Undef" + .lex "$past", $P768 .annotate 'line', 167 - find_lex $P790, "$/" - unless_null $P790, vivify_231 - $P790 = root_new ['parrot';'Hash'] + find_lex $P769, "$/" + unless_null $P769, vivify_231 + $P769 = root_new ['parrot';'Hash'] vivify_231: - set $P791, $P790["quote_EXPR"] - unless_null $P791, vivify_232 - new $P791, "Undef" + set $P770, $P769["quote_EXPR"] + unless_null $P770, vivify_232 + new $P770, "Undef" vivify_232: - $P792 = $P791."ast"() - store_lex "$quote", $P792 + $P771 = $P770."ast"() + store_lex "$quote", $P771 .annotate 'line', 168 - get_hll_global $P794, ["PAST"], "Val" - find_lex $P795, "$quote" - $P796 = $P794."ACCEPTS"($P795) - unless $P796, if_793_end - find_lex $P797, "$quote" - $P798 = $P797."value"() - store_lex "$quote", $P798 - if_793_end: + get_hll_global $P773, ["PAST"], "Val" + find_lex $P774, "$quote" + $P775 = $P773."ACCEPTS"($P774) + unless $P775, if_772_end + find_lex $P776, "$quote" + $P777 = $P776."value"() + store_lex "$quote", $P777 + if_772_end: .annotate 'line', 169 - get_hll_global $P799, ["PAST"], "Regex" - find_lex $P800, "$quote" - find_lex $P801, "$/" - $P802 = $P799."new"($P800, "literal" :named("pasttype"), $P801 :named("node")) - store_lex "$past", $P802 + get_hll_global $P778, ["PAST"], "Regex" + find_lex $P779, "$quote" + find_lex $P780, "$/" + $P781 = $P778."new"($P779, "literal" :named("pasttype"), $P780 :named("node")) + store_lex "$past", $P781 .annotate 'line', 170 - find_lex $P803, "$/" - find_lex $P804, "$past" - $P805 = $P803."!make"($P804) + find_lex $P782, "$/" + find_lex $P783, "$past" + $P784 = $P782."!make"($P783) .annotate 'line', 166 - .return ($P805) - control_785: + .return ($P784) + control_764: .local pmc exception .get_results (exception) - getattribute $P806, exception, "payload" - .return ($P806) + getattribute $P785, exception, "payload" + .return ($P785) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<\">" :subid("49_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_810 +.sub "metachar:sym<\">" :subid("48_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_789 .annotate 'line', 173 - new $P809, 'ExceptionHandler' - set_addr $P809, control_808 - $P809."handle_types"(.CONTROL_RETURN) - push_eh $P809 + new $P788, 'ExceptionHandler' + set_addr $P788, control_787 + $P788."handle_types"(.CONTROL_RETURN) + push_eh $P788 .lex "self", self - .lex "$/", param_810 + .lex "$/", param_789 .annotate 'line', 174 - new $P811, "Undef" - .lex "$quote", $P811 + new $P790, "Undef" + .lex "$quote", $P790 .annotate 'line', 176 - new $P812, "Undef" - .lex "$past", $P812 + new $P791, "Undef" + .lex "$past", $P791 .annotate 'line', 174 - find_lex $P813, "$/" - unless_null $P813, vivify_233 - $P813 = root_new ['parrot';'Hash'] + find_lex $P792, "$/" + unless_null $P792, vivify_233 + $P792 = root_new ['parrot';'Hash'] vivify_233: - set $P814, $P813["quote_EXPR"] - unless_null $P814, vivify_234 - new $P814, "Undef" + set $P793, $P792["quote_EXPR"] + unless_null $P793, vivify_234 + new $P793, "Undef" vivify_234: - $P815 = $P814."ast"() - store_lex "$quote", $P815 + $P794 = $P793."ast"() + store_lex "$quote", $P794 .annotate 'line', 175 - get_hll_global $P817, ["PAST"], "Val" - find_lex $P818, "$quote" - $P819 = $P817."ACCEPTS"($P818) - unless $P819, if_816_end - find_lex $P820, "$quote" - $P821 = $P820."value"() - store_lex "$quote", $P821 - if_816_end: + get_hll_global $P796, ["PAST"], "Val" + find_lex $P797, "$quote" + $P798 = $P796."ACCEPTS"($P797) + unless $P798, if_795_end + find_lex $P799, "$quote" + $P800 = $P799."value"() + store_lex "$quote", $P800 + if_795_end: .annotate 'line', 176 - get_hll_global $P822, ["PAST"], "Regex" - find_lex $P823, "$quote" - find_lex $P824, "$/" - $P825 = $P822."new"($P823, "literal" :named("pasttype"), $P824 :named("node")) - store_lex "$past", $P825 + get_hll_global $P801, ["PAST"], "Regex" + find_lex $P802, "$quote" + find_lex $P803, "$/" + $P804 = $P801."new"($P802, "literal" :named("pasttype"), $P803 :named("node")) + store_lex "$past", $P804 .annotate 'line', 177 - find_lex $P826, "$/" - find_lex $P827, "$past" - $P828 = $P826."!make"($P827) + find_lex $P805, "$/" + find_lex $P806, "$past" + $P807 = $P805."!make"($P806) .annotate 'line', 173 - .return ($P828) - control_808: + .return ($P807) + control_787: .local pmc exception .get_results (exception) - getattribute $P829, exception, "payload" - .return ($P829) + getattribute $P808, exception, "payload" + .return ($P808) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<.>" :subid("50_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_833 +.sub "metachar:sym<.>" :subid("49_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_812 .annotate 'line', 180 - new $P832, 'ExceptionHandler' - set_addr $P832, control_831 - $P832."handle_types"(.CONTROL_RETURN) - push_eh $P832 + new $P811, 'ExceptionHandler' + set_addr $P811, control_810 + $P811."handle_types"(.CONTROL_RETURN) + push_eh $P811 .lex "self", self - .lex "$/", param_833 + .lex "$/", param_812 .annotate 'line', 181 - new $P834, "Undef" - .lex "$past", $P834 - get_hll_global $P835, ["PAST"], "Regex" - find_lex $P836, "$/" - $P837 = $P835."new"("charclass" :named("pasttype"), "." :named("subtype"), $P836 :named("node")) - store_lex "$past", $P837 + new $P813, "Undef" + .lex "$past", $P813 + get_hll_global $P814, ["PAST"], "Regex" + find_lex $P815, "$/" + $P816 = $P814."new"("charclass" :named("pasttype"), "." :named("subtype"), $P815 :named("node")) + store_lex "$past", $P816 .annotate 'line', 182 - find_lex $P838, "$/" - find_lex $P839, "$past" - $P840 = $P838."!make"($P839) + find_lex $P817, "$/" + find_lex $P818, "$past" + $P819 = $P817."!make"($P818) .annotate 'line', 180 - .return ($P840) - control_831: + .return ($P819) + control_810: .local pmc exception .get_results (exception) - getattribute $P841, exception, "payload" - .return ($P841) + getattribute $P820, exception, "payload" + .return ($P820) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<^>" :subid("51_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_845 +.sub "metachar:sym<^>" :subid("50_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_824 .annotate 'line', 185 - new $P844, 'ExceptionHandler' - set_addr $P844, control_843 - $P844."handle_types"(.CONTROL_RETURN) - push_eh $P844 + new $P823, 'ExceptionHandler' + set_addr $P823, control_822 + $P823."handle_types"(.CONTROL_RETURN) + push_eh $P823 .lex "self", self - .lex "$/", param_845 + .lex "$/", param_824 .annotate 'line', 186 - new $P846, "Undef" - .lex "$past", $P846 - get_hll_global $P847, ["PAST"], "Regex" - find_lex $P848, "$/" - $P849 = $P847."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P848 :named("node")) - store_lex "$past", $P849 + new $P825, "Undef" + .lex "$past", $P825 + get_hll_global $P826, ["PAST"], "Regex" + find_lex $P827, "$/" + $P828 = $P826."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P827 :named("node")) + store_lex "$past", $P828 .annotate 'line', 187 - find_lex $P850, "$/" - find_lex $P851, "$past" - $P852 = $P850."!make"($P851) + find_lex $P829, "$/" + find_lex $P830, "$past" + $P831 = $P829."!make"($P830) .annotate 'line', 185 - .return ($P852) - control_843: + .return ($P831) + control_822: .local pmc exception .get_results (exception) - getattribute $P853, exception, "payload" - .return ($P853) + getattribute $P832, exception, "payload" + .return ($P832) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<^^>" :subid("52_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_857 +.sub "metachar:sym<^^>" :subid("51_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_836 .annotate 'line', 190 - new $P856, 'ExceptionHandler' - set_addr $P856, control_855 - $P856."handle_types"(.CONTROL_RETURN) - push_eh $P856 + new $P835, 'ExceptionHandler' + set_addr $P835, control_834 + $P835."handle_types"(.CONTROL_RETURN) + push_eh $P835 .lex "self", self - .lex "$/", param_857 + .lex "$/", param_836 .annotate 'line', 191 - new $P858, "Undef" - .lex "$past", $P858 - get_hll_global $P859, ["PAST"], "Regex" - find_lex $P860, "$/" - $P861 = $P859."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P860 :named("node")) - store_lex "$past", $P861 + new $P837, "Undef" + .lex "$past", $P837 + get_hll_global $P838, ["PAST"], "Regex" + find_lex $P839, "$/" + $P840 = $P838."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P839 :named("node")) + store_lex "$past", $P840 .annotate 'line', 192 - find_lex $P862, "$/" - find_lex $P863, "$past" - $P864 = $P862."!make"($P863) + find_lex $P841, "$/" + find_lex $P842, "$past" + $P843 = $P841."!make"($P842) .annotate 'line', 190 - .return ($P864) - control_855: + .return ($P843) + control_834: .local pmc exception .get_results (exception) - getattribute $P865, exception, "payload" - .return ($P865) + getattribute $P844, exception, "payload" + .return ($P844) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<$>" :subid("53_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_869 +.sub "metachar:sym<$>" :subid("52_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_848 .annotate 'line', 195 - new $P868, 'ExceptionHandler' - set_addr $P868, control_867 - $P868."handle_types"(.CONTROL_RETURN) - push_eh $P868 + new $P847, 'ExceptionHandler' + set_addr $P847, control_846 + $P847."handle_types"(.CONTROL_RETURN) + push_eh $P847 .lex "self", self - .lex "$/", param_869 + .lex "$/", param_848 .annotate 'line', 196 - new $P870, "Undef" - .lex "$past", $P870 - get_hll_global $P871, ["PAST"], "Regex" - find_lex $P872, "$/" - $P873 = $P871."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P872 :named("node")) - store_lex "$past", $P873 + new $P849, "Undef" + .lex "$past", $P849 + get_hll_global $P850, ["PAST"], "Regex" + find_lex $P851, "$/" + $P852 = $P850."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P851 :named("node")) + store_lex "$past", $P852 .annotate 'line', 197 - find_lex $P874, "$/" - find_lex $P875, "$past" - $P876 = $P874."!make"($P875) + find_lex $P853, "$/" + find_lex $P854, "$past" + $P855 = $P853."!make"($P854) .annotate 'line', 195 - .return ($P876) - control_867: + .return ($P855) + control_846: .local pmc exception .get_results (exception) - getattribute $P877, exception, "payload" - .return ($P877) + getattribute $P856, exception, "payload" + .return ($P856) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<$$>" :subid("54_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_881 +.sub "metachar:sym<$$>" :subid("53_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_860 .annotate 'line', 200 - new $P880, 'ExceptionHandler' - set_addr $P880, control_879 - $P880."handle_types"(.CONTROL_RETURN) - push_eh $P880 + new $P859, 'ExceptionHandler' + set_addr $P859, control_858 + $P859."handle_types"(.CONTROL_RETURN) + push_eh $P859 .lex "self", self - .lex "$/", param_881 + .lex "$/", param_860 .annotate 'line', 201 - new $P882, "Undef" - .lex "$past", $P882 - get_hll_global $P883, ["PAST"], "Regex" - find_lex $P884, "$/" - $P885 = $P883."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P884 :named("node")) - store_lex "$past", $P885 + new $P861, "Undef" + .lex "$past", $P861 + get_hll_global $P862, ["PAST"], "Regex" + find_lex $P863, "$/" + $P864 = $P862."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P863 :named("node")) + store_lex "$past", $P864 .annotate 'line', 202 - find_lex $P886, "$/" - find_lex $P887, "$past" - $P888 = $P886."!make"($P887) + find_lex $P865, "$/" + find_lex $P866, "$past" + $P867 = $P865."!make"($P866) .annotate 'line', 200 - .return ($P888) - control_879: + .return ($P867) + control_858: .local pmc exception .get_results (exception) - getattribute $P889, exception, "payload" - .return ($P889) + getattribute $P868, exception, "payload" + .return ($P868) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<:::>" :subid("55_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_893 +.sub "metachar:sym<:::>" :subid("54_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_872 .annotate 'line', 205 - new $P892, 'ExceptionHandler' - set_addr $P892, control_891 - $P892."handle_types"(.CONTROL_RETURN) - push_eh $P892 + new $P871, 'ExceptionHandler' + set_addr $P871, control_870 + $P871."handle_types"(.CONTROL_RETURN) + push_eh $P871 .lex "self", self - .lex "$/", param_893 + .lex "$/", param_872 .annotate 'line', 206 - new $P894, "Undef" - .lex "$past", $P894 - get_hll_global $P895, ["PAST"], "Regex" - find_lex $P896, "$/" - $P897 = $P895."new"("cut" :named("pasttype"), $P896 :named("node")) - store_lex "$past", $P897 + new $P873, "Undef" + .lex "$past", $P873 + get_hll_global $P874, ["PAST"], "Regex" + find_lex $P875, "$/" + $P876 = $P874."new"("cut" :named("pasttype"), $P875 :named("node")) + store_lex "$past", $P876 .annotate 'line', 207 - find_lex $P898, "$/" - find_lex $P899, "$past" - $P900 = $P898."!make"($P899) + find_lex $P877, "$/" + find_lex $P878, "$past" + $P879 = $P877."!make"($P878) .annotate 'line', 205 - .return ($P900) - control_891: + .return ($P879) + control_870: .local pmc exception .get_results (exception) - getattribute $P901, exception, "payload" - .return ($P901) + getattribute $P880, exception, "payload" + .return ($P880) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("56_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_905 +.sub "metachar:sym" :subid("55_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_884 .annotate 'line', 210 - new $P904, 'ExceptionHandler' - set_addr $P904, control_903 - $P904."handle_types"(.CONTROL_RETURN) - push_eh $P904 + new $P883, 'ExceptionHandler' + set_addr $P883, control_882 + $P883."handle_types"(.CONTROL_RETURN) + push_eh $P883 .lex "self", self - .lex "$/", param_905 + .lex "$/", param_884 .annotate 'line', 211 - new $P906, "Undef" - .lex "$past", $P906 - get_hll_global $P907, ["PAST"], "Regex" - find_lex $P908, "$/" - $P909 = $P907."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P908 :named("node")) - store_lex "$past", $P909 + new $P885, "Undef" + .lex "$past", $P885 + get_hll_global $P886, ["PAST"], "Regex" + find_lex $P887, "$/" + $P888 = $P886."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P887 :named("node")) + store_lex "$past", $P888 .annotate 'line', 212 - find_lex $P910, "$/" - find_lex $P911, "$past" - $P912 = $P910."!make"($P911) + find_lex $P889, "$/" + find_lex $P890, "$past" + $P891 = $P889."!make"($P890) .annotate 'line', 210 - .return ($P912) - control_903: + .return ($P891) + control_882: .local pmc exception .get_results (exception) - getattribute $P913, exception, "payload" - .return ($P913) + getattribute $P892, exception, "payload" + .return ($P892) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("57_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_917 +.sub "metachar:sym" :subid("56_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_896 .annotate 'line', 215 - new $P916, 'ExceptionHandler' - set_addr $P916, control_915 - $P916."handle_types"(.CONTROL_RETURN) - push_eh $P916 + new $P895, 'ExceptionHandler' + set_addr $P895, control_894 + $P895."handle_types"(.CONTROL_RETURN) + push_eh $P895 .lex "self", self - .lex "$/", param_917 + .lex "$/", param_896 .annotate 'line', 216 - new $P918, "Undef" - .lex "$past", $P918 - get_hll_global $P919, ["PAST"], "Regex" - find_lex $P920, "$/" - $P921 = $P919."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P920 :named("node")) - store_lex "$past", $P921 + new $P897, "Undef" + .lex "$past", $P897 + get_hll_global $P898, ["PAST"], "Regex" + find_lex $P899, "$/" + $P900 = $P898."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P899 :named("node")) + store_lex "$past", $P900 .annotate 'line', 217 - find_lex $P922, "$/" - find_lex $P923, "$past" - $P924 = $P922."!make"($P923) + find_lex $P901, "$/" + find_lex $P902, "$past" + $P903 = $P901."!make"($P902) .annotate 'line', 215 - .return ($P924) - control_915: + .return ($P903) + control_894: .local pmc exception .get_results (exception) - getattribute $P925, exception, "payload" - .return ($P925) + getattribute $P904, exception, "payload" + .return ($P904) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("58_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_929 +.sub "metachar:sym" :subid("57_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_908 .annotate 'line', 220 - new $P928, 'ExceptionHandler' - set_addr $P928, control_927 - $P928."handle_types"(.CONTROL_RETURN) - push_eh $P928 + new $P907, 'ExceptionHandler' + set_addr $P907, control_906 + $P907."handle_types"(.CONTROL_RETURN) + push_eh $P907 .lex "self", self - .lex "$/", param_929 + .lex "$/", param_908 .annotate 'line', 221 - find_lex $P930, "$/" - find_lex $P931, "$/" - unless_null $P931, vivify_235 - $P931 = root_new ['parrot';'Hash'] + find_lex $P909, "$/" + find_lex $P910, "$/" + unless_null $P910, vivify_235 + $P910 = root_new ['parrot';'Hash'] vivify_235: - set $P932, $P931["backslash"] - unless_null $P932, vivify_236 - new $P932, "Undef" + set $P911, $P910["backslash"] + unless_null $P911, vivify_236 + new $P911, "Undef" vivify_236: - $P933 = $P932."ast"() - $P934 = $P930."!make"($P933) + $P912 = $P911."ast"() + $P913 = $P909."!make"($P912) .annotate 'line', 220 - .return ($P934) - control_927: + .return ($P913) + control_906: .local pmc exception .get_results (exception) - getattribute $P935, exception, "payload" - .return ($P935) + getattribute $P914, exception, "payload" + .return ($P914) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("59_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_939 +.sub "metachar:sym" :subid("58_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_918 .annotate 'line', 224 - new $P938, 'ExceptionHandler' - set_addr $P938, control_937 - $P938."handle_types"(.CONTROL_RETURN) - push_eh $P938 + new $P917, 'ExceptionHandler' + set_addr $P917, control_916 + $P917."handle_types"(.CONTROL_RETURN) + push_eh $P917 .lex "self", self - .lex "$/", param_939 + .lex "$/", param_918 .annotate 'line', 225 - find_lex $P940, "$/" - find_lex $P941, "$/" - unless_null $P941, vivify_237 - $P941 = root_new ['parrot';'Hash'] + find_lex $P919, "$/" + find_lex $P920, "$/" + unless_null $P920, vivify_237 + $P920 = root_new ['parrot';'Hash'] vivify_237: - set $P942, $P941["mod_internal"] - unless_null $P942, vivify_238 - new $P942, "Undef" + set $P921, $P920["mod_internal"] + unless_null $P921, vivify_238 + new $P921, "Undef" vivify_238: - $P943 = $P942."ast"() - $P944 = $P940."!make"($P943) + $P922 = $P921."ast"() + $P923 = $P919."!make"($P922) .annotate 'line', 224 - .return ($P944) - control_937: + .return ($P923) + control_916: .local pmc exception .get_results (exception) - getattribute $P945, exception, "payload" - .return ($P945) + getattribute $P924, exception, "payload" + .return ($P924) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("60_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_949 +.sub "metachar:sym" :subid("59_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_928 .annotate 'line', 228 - new $P948, 'ExceptionHandler' - set_addr $P948, control_947 - $P948."handle_types"(.CONTROL_RETURN) - push_eh $P948 + new $P927, 'ExceptionHandler' + set_addr $P927, control_926 + $P927."handle_types"(.CONTROL_RETURN) + push_eh $P927 .lex "self", self - .lex "$/", param_949 + .lex "$/", param_928 .annotate 'line', 229 - find_lex $P950, "$/" - find_lex $P951, "$/" - unless_null $P951, vivify_239 - $P951 = root_new ['parrot';'Hash'] + find_lex $P929, "$/" + find_lex $P930, "$/" + unless_null $P930, vivify_239 + $P930 = root_new ['parrot';'Hash'] vivify_239: - set $P952, $P951["assertion"] - unless_null $P952, vivify_240 - new $P952, "Undef" + set $P931, $P930["assertion"] + unless_null $P931, vivify_240 + new $P931, "Undef" vivify_240: - $P953 = $P952."ast"() - $P954 = $P950."!make"($P953) + $P932 = $P931."ast"() + $P933 = $P929."!make"($P932) .annotate 'line', 228 - .return ($P954) - control_947: + .return ($P933) + control_926: .local pmc exception .get_results (exception) - getattribute $P955, exception, "payload" - .return ($P955) + getattribute $P934, exception, "payload" + .return ($P934) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<~>" :subid("61_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_959 +.sub "metachar:sym<~>" :subid("60_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_938 .annotate 'line', 232 - new $P958, 'ExceptionHandler' - set_addr $P958, control_957 - $P958."handle_types"(.CONTROL_RETURN) - push_eh $P958 + new $P937, 'ExceptionHandler' + set_addr $P937, control_936 + $P937."handle_types"(.CONTROL_RETURN) + push_eh $P937 .lex "self", self - .lex "$/", param_959 + .lex "$/", param_938 .annotate 'line', 233 - find_lex $P960, "$/" - get_hll_global $P961, ["PAST"], "Regex" + find_lex $P939, "$/" + get_hll_global $P940, ["PAST"], "Regex" .annotate 'line', 234 - find_lex $P962, "$/" - unless_null $P962, vivify_241 - $P962 = root_new ['parrot';'Hash'] + find_lex $P941, "$/" + unless_null $P941, vivify_241 + $P941 = root_new ['parrot';'Hash'] vivify_241: - set $P963, $P962["EXPR"] - unless_null $P963, vivify_242 - new $P963, "Undef" + set $P942, $P941["EXPR"] + unless_null $P942, vivify_242 + new $P942, "Undef" vivify_242: - $P964 = $P963."ast"() + $P943 = $P942."ast"() .annotate 'line', 235 - get_hll_global $P965, ["PAST"], "Regex" + get_hll_global $P944, ["PAST"], "Regex" .annotate 'line', 236 - find_lex $P966, "$/" - unless_null $P966, vivify_243 - $P966 = root_new ['parrot';'Hash'] + find_lex $P945, "$/" + unless_null $P945, vivify_243 + $P945 = root_new ['parrot';'Hash'] vivify_243: - set $P967, $P966["GOAL"] - unless_null $P967, vivify_244 - new $P967, "Undef" + set $P946, $P945["GOAL"] + unless_null $P946, vivify_244 + new $P946, "Undef" vivify_244: - $P968 = $P967."ast"() + $P947 = $P946."ast"() .annotate 'line', 237 - get_hll_global $P969, ["PAST"], "Regex" - find_lex $P970, "$/" - unless_null $P970, vivify_245 - $P970 = root_new ['parrot';'Hash'] + get_hll_global $P948, ["PAST"], "Regex" + find_lex $P949, "$/" + unless_null $P949, vivify_245 + $P949 = root_new ['parrot';'Hash'] vivify_245: - set $P971, $P970["GOAL"] - unless_null $P971, vivify_246 - new $P971, "Undef" + set $P950, $P949["GOAL"] + unless_null $P950, vivify_246 + new $P950, "Undef" vivify_246: - set $S972, $P971 - $P973 = $P969."new"("FAILGOAL", $S972, "subrule" :named("pasttype"), "method" :named("subtype")) - $P974 = $P965."new"($P968, $P973, "alt" :named("pasttype")) + set $S951, $P950 + $P952 = $P948."new"("FAILGOAL", $S951, "subrule" :named("pasttype"), "method" :named("subtype")) + $P953 = $P944."new"($P947, $P952, "alt" :named("pasttype")) .annotate 'line', 235 - $P975 = $P961."new"($P964, $P974, "concat" :named("pasttype")) + $P954 = $P940."new"($P943, $P953, "concat" :named("pasttype")) .annotate 'line', 233 - $P976 = $P960."!make"($P975) + $P955 = $P939."!make"($P954) .annotate 'line', 232 - .return ($P976) - control_957: + .return ($P955) + control_936: .local pmc exception .get_results (exception) - getattribute $P977, exception, "payload" - .return ($P977) + getattribute $P956, exception, "payload" + .return ($P956) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym<{*}>" :subid("62_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_981 +.sub "metachar:sym<{*}>" :subid("61_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_960 .annotate 'line', 245 - new $P980, 'ExceptionHandler' - set_addr $P980, control_979 - $P980."handle_types"(.CONTROL_RETURN) - push_eh $P980 + new $P959, 'ExceptionHandler' + set_addr $P959, control_958 + $P959."handle_types"(.CONTROL_RETURN) + push_eh $P959 .lex "self", self - .lex "$/", param_981 + .lex "$/", param_960 .annotate 'line', 246 - new $P982, "Undef" - .lex "$past", $P982 + new $P961, "Undef" + .lex "$past", $P961 .annotate 'line', 247 - find_lex $P985, "$/" - unless_null $P985, vivify_247 - $P985 = root_new ['parrot';'Hash'] + find_lex $P964, "$/" + unless_null $P964, vivify_247 + $P964 = root_new ['parrot';'Hash'] vivify_247: - set $P986, $P985["key"] - unless_null $P986, vivify_248 - new $P986, "Undef" + set $P965, $P964["key"] + unless_null $P965, vivify_248 + new $P965, "Undef" vivify_248: - if $P986, if_984 - new $P994, "Integer" - assign $P994, 0 - set $P983, $P994 - goto if_984_end - if_984: - get_hll_global $P987, ["PAST"], "Regex" - find_lex $P988, "$/" - unless_null $P988, vivify_249 - $P988 = root_new ['parrot';'Hash'] + if $P965, if_963 + new $P973, "Integer" + assign $P973, 0 + set $P962, $P973 + goto if_963_end + if_963: + get_hll_global $P966, ["PAST"], "Regex" + find_lex $P967, "$/" + unless_null $P967, vivify_249 + $P967 = root_new ['parrot';'Hash'] vivify_249: - set $P989, $P988["key"] - unless_null $P989, vivify_250 - $P989 = root_new ['parrot';'ResizablePMCArray'] + set $P968, $P967["key"] + unless_null $P968, vivify_250 + $P968 = root_new ['parrot';'ResizablePMCArray'] vivify_250: - set $P990, $P989[0] - unless_null $P990, vivify_251 - new $P990, "Undef" + set $P969, $P968[0] + unless_null $P969, vivify_251 + new $P969, "Undef" vivify_251: - set $S991, $P990 - find_lex $P992, "$/" - $P993 = $P987."new"($S991, "reduce" :named("pasttype"), $P992 :named("node")) - set $P983, $P993 - if_984_end: - store_lex "$past", $P983 + set $S970, $P969 + find_lex $P971, "$/" + $P972 = $P966."new"($S970, "reduce" :named("pasttype"), $P971 :named("node")) + set $P962, $P972 + if_963_end: + store_lex "$past", $P962 .annotate 'line', 249 - find_lex $P995, "$/" - find_lex $P996, "$past" - $P997 = $P995."!make"($P996) + find_lex $P974, "$/" + find_lex $P975, "$past" + $P976 = $P974."!make"($P975) .annotate 'line', 245 - .return ($P997) - control_979: + .return ($P976) + control_958: .local pmc exception .get_results (exception) - getattribute $P998, exception, "payload" - .return ($P998) + getattribute $P977, exception, "payload" + .return ($P977) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("63_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1002 +.sub "metachar:sym" :subid("62_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_981 .annotate 'line', 252 - new $P1001, 'ExceptionHandler' - set_addr $P1001, control_1000 - $P1001."handle_types"(.CONTROL_RETURN) - push_eh $P1001 + new $P980, 'ExceptionHandler' + set_addr $P980, control_979 + $P980."handle_types"(.CONTROL_RETURN) + push_eh $P980 .lex "self", self - .lex "$/", param_1002 + .lex "$/", param_981 .annotate 'line', 253 - new $P1003, "Undef" - .lex "$past", $P1003 + new $P982, "Undef" + .lex "$past", $P982 .annotate 'line', 254 - new $P1004, "Undef" - .lex "$name", $P1004 + new $P983, "Undef" + .lex "$name", $P983 .annotate 'line', 252 - find_lex $P1005, "$past" + find_lex $P984, "$past" .annotate 'line', 254 - find_lex $P1008, "$/" - unless_null $P1008, vivify_252 - $P1008 = root_new ['parrot';'Hash'] + find_lex $P987, "$/" + unless_null $P987, vivify_252 + $P987 = root_new ['parrot';'Hash'] vivify_252: - set $P1009, $P1008["pos"] - unless_null $P1009, vivify_253 - new $P1009, "Undef" + set $P988, $P987["pos"] + unless_null $P988, vivify_253 + new $P988, "Undef" vivify_253: - if $P1009, if_1007 - find_lex $P1013, "$/" - unless_null $P1013, vivify_254 - $P1013 = root_new ['parrot';'Hash'] + if $P988, if_986 + find_lex $P992, "$/" + unless_null $P992, vivify_254 + $P992 = root_new ['parrot';'Hash'] vivify_254: - set $P1014, $P1013["name"] - unless_null $P1014, vivify_255 - new $P1014, "Undef" + set $P993, $P992["name"] + unless_null $P993, vivify_255 + new $P993, "Undef" vivify_255: - set $S1015, $P1014 - new $P1006, 'String' - set $P1006, $S1015 - goto if_1007_end - if_1007: - find_lex $P1010, "$/" - unless_null $P1010, vivify_256 - $P1010 = root_new ['parrot';'Hash'] + set $S994, $P993 + new $P985, 'String' + set $P985, $S994 + goto if_986_end + if_986: + find_lex $P989, "$/" + unless_null $P989, vivify_256 + $P989 = root_new ['parrot';'Hash'] vivify_256: - set $P1011, $P1010["pos"] - unless_null $P1011, vivify_257 - new $P1011, "Undef" + set $P990, $P989["pos"] + unless_null $P990, vivify_257 + new $P990, "Undef" vivify_257: - set $N1012, $P1011 - new $P1006, 'Float' - set $P1006, $N1012 - if_1007_end: - store_lex "$name", $P1006 + set $N991, $P990 + new $P985, 'Float' + set $P985, $N991 + if_986_end: + store_lex "$name", $P985 .annotate 'line', 255 - find_lex $P1017, "$/" - unless_null $P1017, vivify_258 - $P1017 = root_new ['parrot';'Hash'] + find_lex $P996, "$/" + unless_null $P996, vivify_258 + $P996 = root_new ['parrot';'Hash'] vivify_258: - set $P1018, $P1017["quantified_atom"] - unless_null $P1018, vivify_259 - new $P1018, "Undef" + set $P997, $P996["quantified_atom"] + unless_null $P997, vivify_259 + new $P997, "Undef" vivify_259: - if $P1018, if_1016 + if $P997, if_995 .annotate 'line', 266 - get_hll_global $P1047, ["PAST"], "Regex" - find_lex $P1048, "$name" - find_lex $P1049, "$/" - $P1050 = $P1047."new"("!BACKREF", $P1048, "subrule" :named("pasttype"), "method" :named("subtype"), $P1049 :named("node")) - store_lex "$past", $P1050 + get_hll_global $P1028, ["PAST"], "Regex" + find_lex $P1029, "$name" + find_lex $P1030, "$/" + $P1031 = $P1028."new"("!BACKREF", $P1029, "subrule" :named("pasttype"), "method" :named("subtype"), $P1030 :named("node")) + store_lex "$past", $P1031 .annotate 'line', 265 - goto if_1016_end - if_1016: + goto if_995_end + if_995: .annotate 'line', 256 - find_lex $P1019, "$/" - unless_null $P1019, vivify_260 - $P1019 = root_new ['parrot';'Hash'] + find_lex $P998, "$/" + unless_null $P998, vivify_260 + $P998 = root_new ['parrot';'Hash'] vivify_260: - set $P1020, $P1019["quantified_atom"] - unless_null $P1020, vivify_261 - $P1020 = root_new ['parrot';'ResizablePMCArray'] + set $P999, $P998["quantified_atom"] + unless_null $P999, vivify_261 + $P999 = root_new ['parrot';'ResizablePMCArray'] vivify_261: - set $P1021, $P1020[0] - unless_null $P1021, vivify_262 - new $P1021, "Undef" + set $P1000, $P999[0] + unless_null $P1000, vivify_262 + new $P1000, "Undef" vivify_262: - $P1022 = $P1021."ast"() - store_lex "$past", $P1022 + $P1001 = $P1000."ast"() + store_lex "$past", $P1001 .annotate 'line', 257 - find_lex $P1026, "$past" - $S1027 = $P1026."pasttype"() - iseq $I1028, $S1027, "quant" - if $I1028, if_1025 - new $P1024, 'Integer' - set $P1024, $I1028 - goto if_1025_end - if_1025: - find_lex $P1029, "$past" - unless_null $P1029, vivify_263 - $P1029 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1005, "$past" + $S1006 = $P1005."pasttype"() + iseq $I1007, $S1006, "quant" + if $I1007, if_1004 + new $P1003, 'Integer' + set $P1003, $I1007 + goto if_1004_end + if_1004: + find_lex $P1008, "$past" + unless_null $P1008, vivify_263 + $P1008 = root_new ['parrot';'ResizablePMCArray'] vivify_263: - set $P1030, $P1029[0] - unless_null $P1030, vivify_264 - new $P1030, "Undef" + set $P1009, $P1008[0] + unless_null $P1009, vivify_264 + new $P1009, "Undef" vivify_264: - $S1031 = $P1030."pasttype"() - iseq $I1032, $S1031, "subrule" - new $P1024, 'Integer' - set $P1024, $I1032 - if_1025_end: - if $P1024, if_1023 + $S1010 = $P1009."pasttype"() + iseq $I1011, $S1010, "subrule" + new $P1003, 'Integer' + set $P1003, $I1011 + if_1004_end: + if $P1003, if_1002 .annotate 'line', 260 - find_lex $P1037, "$past" - $S1038 = $P1037."pasttype"() - iseq $I1039, $S1038, "subrule" - if $I1039, if_1036 + find_lex $P1017, "$past" + $S1018 = $P1017."pasttype"() + iseq $I1019, $S1018, "subrule" + if $I1019, if_1016 .annotate 'line', 262 - get_hll_global $P1042, ["PAST"], "Regex" - find_lex $P1043, "$past" - find_lex $P1044, "$name" - find_lex $P1045, "$/" - $P1046 = $P1042."new"($P1043, $P1044 :named("name"), "subcapture" :named("pasttype"), $P1045 :named("node")) - store_lex "$past", $P1046 + get_hll_global $P1023, ["PAST"], "Regex" + find_lex $P1024, "$past" + find_lex $P1025, "$name" + find_lex $P1026, "$/" + $P1027 = $P1023."new"($P1024, $P1025 :named("name"), "subcapture" :named("pasttype"), $P1026 :named("node")) + store_lex "$past", $P1027 .annotate 'line', 261 - goto if_1036_end - if_1036: + goto if_1016_end + if_1016: .annotate 'line', 260 - find_lex $P1040, "$past" - find_lex $P1041, "$name" - "subrule_alias"($P1040, $P1041) - if_1036_end: - goto if_1023_end - if_1023: + find_lex $P1020, "self" + find_lex $P1021, "$past" + find_lex $P1022, "$name" + $P1020."subrule_alias"($P1021, $P1022) + if_1016_end: + goto if_1002_end + if_1002: .annotate 'line', 258 - find_lex $P1033, "$past" - unless_null $P1033, vivify_265 - $P1033 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1012, "self" + find_lex $P1013, "$past" + unless_null $P1013, vivify_265 + $P1013 = root_new ['parrot';'ResizablePMCArray'] vivify_265: - set $P1034, $P1033[0] - unless_null $P1034, vivify_266 - new $P1034, "Undef" + set $P1014, $P1013[0] + unless_null $P1014, vivify_266 + new $P1014, "Undef" vivify_266: - find_lex $P1035, "$name" - "subrule_alias"($P1034, $P1035) - if_1023_end: - if_1016_end: + find_lex $P1015, "$name" + $P1012."subrule_alias"($P1014, $P1015) + if_1002_end: + if_995_end: .annotate 'line', 269 - find_lex $P1051, "$/" - find_lex $P1052, "$past" - $P1053 = $P1051."!make"($P1052) + find_lex $P1032, "$/" + find_lex $P1033, "$past" + $P1034 = $P1032."!make"($P1033) .annotate 'line', 252 - .return ($P1053) - control_1000: + .return ($P1034) + control_979: .local pmc exception .get_results (exception) - getattribute $P1054, exception, "payload" - .return ($P1054) + getattribute $P1035, exception, "payload" + .return ($P1035) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "metachar:sym" :subid("64_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1058 +.sub "metachar:sym" :subid("63_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1039 .annotate 'line', 272 - new $P1057, 'ExceptionHandler' - set_addr $P1057, control_1056 - $P1057."handle_types"(.CONTROL_RETURN) - push_eh $P1057 + new $P1038, 'ExceptionHandler' + set_addr $P1038, control_1037 + $P1038."handle_types"(.CONTROL_RETURN) + push_eh $P1038 .lex "self", self - .lex "$/", param_1058 + .lex "$/", param_1039 .annotate 'line', 273 - find_lex $P1059, "$/" - get_hll_global $P1060, ["PAST"], "Regex" + find_lex $P1040, "$/" + get_hll_global $P1041, ["PAST"], "Regex" .annotate 'line', 274 - get_hll_global $P1061, ["PAST"], "Op" - find_lex $P1062, "$/" - unless_null $P1062, vivify_267 - $P1062 = root_new ['parrot';'Hash'] + get_hll_global $P1042, ["PAST"], "Op" + find_lex $P1043, "$/" + unless_null $P1043, vivify_267 + $P1043 = root_new ['parrot';'Hash'] vivify_267: - set $P1063, $P1062["pir"] - unless_null $P1063, vivify_268 - new $P1063, "Undef" + set $P1044, $P1043["pir"] + unless_null $P1044, vivify_268 + new $P1044, "Undef" vivify_268: - set $S1064, $P1063 - $P1065 = $P1061."new"($S1064 :named("inline"), "inline" :named("pasttype")) - find_lex $P1066, "$/" - $P1067 = $P1060."new"($P1065, "pastnode" :named("pasttype"), $P1066 :named("node")) + set $S1045, $P1044 + $P1046 = $P1042."new"($S1045 :named("inline"), "inline" :named("pasttype")) + find_lex $P1047, "$/" + $P1048 = $P1041."new"($P1046, "pastnode" :named("pasttype"), $P1047 :named("node")) .annotate 'line', 273 - $P1068 = $P1059."!make"($P1067) + $P1049 = $P1040."!make"($P1048) .annotate 'line', 272 - .return ($P1068) - control_1056: + .return ($P1049) + control_1037: .local pmc exception .get_results (exception) - getattribute $P1069, exception, "payload" - .return ($P1069) + getattribute $P1050, exception, "payload" + .return ($P1050) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("65_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1073 +.sub "backslash:sym" :subid("64_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1054 .annotate 'line', 280 - new $P1072, 'ExceptionHandler' - set_addr $P1072, control_1071 - $P1072."handle_types"(.CONTROL_RETURN) - push_eh $P1072 + new $P1053, 'ExceptionHandler' + set_addr $P1053, control_1052 + $P1053."handle_types"(.CONTROL_RETURN) + push_eh $P1053 .lex "self", self - .lex "$/", param_1073 + .lex "$/", param_1054 .annotate 'line', 281 - new $P1074, "Undef" - .lex "$subtype", $P1074 + new $P1055, "Undef" + .lex "$subtype", $P1055 .annotate 'line', 282 - new $P1075, "Undef" - .lex "$past", $P1075 + new $P1056, "Undef" + .lex "$past", $P1056 .annotate 'line', 281 - find_lex $P1078, "$/" - unless_null $P1078, vivify_269 - $P1078 = root_new ['parrot';'Hash'] + find_lex $P1059, "$/" + unless_null $P1059, vivify_269 + $P1059 = root_new ['parrot';'Hash'] vivify_269: - set $P1079, $P1078["sym"] - unless_null $P1079, vivify_270 - new $P1079, "Undef" + set $P1060, $P1059["sym"] + unless_null $P1060, vivify_270 + new $P1060, "Undef" vivify_270: - set $S1080, $P1079 - iseq $I1081, $S1080, "n" - if $I1081, if_1077 - find_lex $P1083, "$/" - unless_null $P1083, vivify_271 - $P1083 = root_new ['parrot';'Hash'] + set $S1061, $P1060 + iseq $I1062, $S1061, "n" + if $I1062, if_1058 + find_lex $P1064, "$/" + unless_null $P1064, vivify_271 + $P1064 = root_new ['parrot';'Hash'] vivify_271: - set $P1084, $P1083["sym"] - unless_null $P1084, vivify_272 - new $P1084, "Undef" + set $P1065, $P1064["sym"] + unless_null $P1065, vivify_272 + new $P1065, "Undef" vivify_272: - set $S1085, $P1084 - new $P1076, 'String' - set $P1076, $S1085 - goto if_1077_end - if_1077: - new $P1082, "String" - assign $P1082, "nl" - set $P1076, $P1082 - if_1077_end: - store_lex "$subtype", $P1076 + set $S1066, $P1065 + new $P1057, 'String' + set $P1057, $S1066 + goto if_1058_end + if_1058: + new $P1063, "String" + assign $P1063, "nl" + set $P1057, $P1063 + if_1058_end: + store_lex "$subtype", $P1057 .annotate 'line', 282 - get_hll_global $P1086, ["PAST"], "Regex" - find_lex $P1087, "$subtype" - find_lex $P1088, "$/" - $P1089 = $P1086."new"("charclass" :named("pasttype"), $P1087 :named("subtype"), $P1088 :named("node")) - store_lex "$past", $P1089 + get_hll_global $P1067, ["PAST"], "Regex" + find_lex $P1068, "$subtype" + find_lex $P1069, "$/" + $P1070 = $P1067."new"("charclass" :named("pasttype"), $P1068 :named("subtype"), $P1069 :named("node")) + store_lex "$past", $P1070 .annotate 'line', 283 - find_lex $P1090, "$/" - find_lex $P1091, "$past" - $P1092 = $P1090."!make"($P1091) + find_lex $P1071, "$/" + find_lex $P1072, "$past" + $P1073 = $P1071."!make"($P1072) .annotate 'line', 280 - .return ($P1092) - control_1071: + .return ($P1073) + control_1052: .local pmc exception .get_results (exception) - getattribute $P1093, exception, "payload" - .return ($P1093) + getattribute $P1074, exception, "payload" + .return ($P1074) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("66_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1097 +.sub "backslash:sym" :subid("65_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1078 .annotate 'line', 286 - new $P1096, 'ExceptionHandler' - set_addr $P1096, control_1095 - $P1096."handle_types"(.CONTROL_RETURN) - push_eh $P1096 + new $P1077, 'ExceptionHandler' + set_addr $P1077, control_1076 + $P1077."handle_types"(.CONTROL_RETURN) + push_eh $P1077 .lex "self", self - .lex "$/", param_1097 + .lex "$/", param_1078 .annotate 'line', 287 - new $P1098, "Undef" - .lex "$past", $P1098 - get_hll_global $P1099, ["PAST"], "Regex" + new $P1079, "Undef" + .lex "$past", $P1079 + get_hll_global $P1080, ["PAST"], "Regex" .annotate 'line', 288 - find_lex $P1100, "$/" - unless_null $P1100, vivify_273 - $P1100 = root_new ['parrot';'Hash'] + find_lex $P1081, "$/" + unless_null $P1081, vivify_273 + $P1081 = root_new ['parrot';'Hash'] vivify_273: - set $P1101, $P1100["sym"] - unless_null $P1101, vivify_274 - new $P1101, "Undef" + set $P1082, $P1081["sym"] + unless_null $P1082, vivify_274 + new $P1082, "Undef" vivify_274: - set $S1102, $P1101 - iseq $I1103, $S1102, "B" - find_lex $P1104, "$/" - $P1105 = $P1099."new"("\b", "enumcharlist" :named("pasttype"), $I1103 :named("negate"), $P1104 :named("node")) + set $S1083, $P1082 + iseq $I1084, $S1083, "B" + find_lex $P1085, "$/" + $P1086 = $P1080."new"("\b", "enumcharlist" :named("pasttype"), $I1084 :named("negate"), $P1085 :named("node")) .annotate 'line', 287 - store_lex "$past", $P1105 + store_lex "$past", $P1086 .annotate 'line', 289 - find_lex $P1106, "$/" - find_lex $P1107, "$past" - $P1108 = $P1106."!make"($P1107) + find_lex $P1087, "$/" + find_lex $P1088, "$past" + $P1089 = $P1087."!make"($P1088) .annotate 'line', 286 - .return ($P1108) - control_1095: + .return ($P1089) + control_1076: .local pmc exception .get_results (exception) - getattribute $P1109, exception, "payload" - .return ($P1109) + getattribute $P1090, exception, "payload" + .return ($P1090) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("67_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1113 +.sub "backslash:sym" :subid("66_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1094 .annotate 'line', 292 - new $P1112, 'ExceptionHandler' - set_addr $P1112, control_1111 - $P1112."handle_types"(.CONTROL_RETURN) - push_eh $P1112 + new $P1093, 'ExceptionHandler' + set_addr $P1093, control_1092 + $P1093."handle_types"(.CONTROL_RETURN) + push_eh $P1093 .lex "self", self - .lex "$/", param_1113 + .lex "$/", param_1094 .annotate 'line', 293 - new $P1114, "Undef" - .lex "$past", $P1114 - get_hll_global $P1115, ["PAST"], "Regex" + new $P1095, "Undef" + .lex "$past", $P1095 + get_hll_global $P1096, ["PAST"], "Regex" .annotate 'line', 294 - find_lex $P1116, "$/" - unless_null $P1116, vivify_275 - $P1116 = root_new ['parrot';'Hash'] + find_lex $P1097, "$/" + unless_null $P1097, vivify_275 + $P1097 = root_new ['parrot';'Hash'] vivify_275: - set $P1117, $P1116["sym"] - unless_null $P1117, vivify_276 - new $P1117, "Undef" + set $P1098, $P1097["sym"] + unless_null $P1098, vivify_276 + new $P1098, "Undef" vivify_276: - set $S1118, $P1117 - iseq $I1119, $S1118, "E" - find_lex $P1120, "$/" - $P1121 = $P1115."new"("\e", "enumcharlist" :named("pasttype"), $I1119 :named("negate"), $P1120 :named("node")) + set $S1099, $P1098 + iseq $I1100, $S1099, "E" + find_lex $P1101, "$/" + $P1102 = $P1096."new"("\e", "enumcharlist" :named("pasttype"), $I1100 :named("negate"), $P1101 :named("node")) .annotate 'line', 293 - store_lex "$past", $P1121 + store_lex "$past", $P1102 .annotate 'line', 295 - find_lex $P1122, "$/" - find_lex $P1123, "$past" - $P1124 = $P1122."!make"($P1123) + find_lex $P1103, "$/" + find_lex $P1104, "$past" + $P1105 = $P1103."!make"($P1104) .annotate 'line', 292 - .return ($P1124) - control_1111: + .return ($P1105) + control_1092: .local pmc exception .get_results (exception) - getattribute $P1125, exception, "payload" - .return ($P1125) + getattribute $P1106, exception, "payload" + .return ($P1106) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("68_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1129 +.sub "backslash:sym" :subid("67_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1110 .annotate 'line', 298 - new $P1128, 'ExceptionHandler' - set_addr $P1128, control_1127 - $P1128."handle_types"(.CONTROL_RETURN) - push_eh $P1128 + new $P1109, 'ExceptionHandler' + set_addr $P1109, control_1108 + $P1109."handle_types"(.CONTROL_RETURN) + push_eh $P1109 .lex "self", self - .lex "$/", param_1129 + .lex "$/", param_1110 .annotate 'line', 299 - new $P1130, "Undef" - .lex "$past", $P1130 - get_hll_global $P1131, ["PAST"], "Regex" + new $P1111, "Undef" + .lex "$past", $P1111 + get_hll_global $P1112, ["PAST"], "Regex" .annotate 'line', 300 - find_lex $P1132, "$/" - unless_null $P1132, vivify_277 - $P1132 = root_new ['parrot';'Hash'] + find_lex $P1113, "$/" + unless_null $P1113, vivify_277 + $P1113 = root_new ['parrot';'Hash'] vivify_277: - set $P1133, $P1132["sym"] - unless_null $P1133, vivify_278 - new $P1133, "Undef" + set $P1114, $P1113["sym"] + unless_null $P1114, vivify_278 + new $P1114, "Undef" vivify_278: - set $S1134, $P1133 - iseq $I1135, $S1134, "F" - find_lex $P1136, "$/" - $P1137 = $P1131."new"("\f", "enumcharlist" :named("pasttype"), $I1135 :named("negate"), $P1136 :named("node")) + set $S1115, $P1114 + iseq $I1116, $S1115, "F" + find_lex $P1117, "$/" + $P1118 = $P1112."new"("\f", "enumcharlist" :named("pasttype"), $I1116 :named("negate"), $P1117 :named("node")) .annotate 'line', 299 - store_lex "$past", $P1137 + store_lex "$past", $P1118 .annotate 'line', 301 - find_lex $P1138, "$/" - find_lex $P1139, "$past" - $P1140 = $P1138."!make"($P1139) + find_lex $P1119, "$/" + find_lex $P1120, "$past" + $P1121 = $P1119."!make"($P1120) .annotate 'line', 298 - .return ($P1140) - control_1127: + .return ($P1121) + control_1108: .local pmc exception .get_results (exception) - getattribute $P1141, exception, "payload" - .return ($P1141) + getattribute $P1122, exception, "payload" + .return ($P1122) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("69_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1145 +.sub "backslash:sym" :subid("68_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1126 .annotate 'line', 304 - new $P1144, 'ExceptionHandler' - set_addr $P1144, control_1143 - $P1144."handle_types"(.CONTROL_RETURN) - push_eh $P1144 + new $P1125, 'ExceptionHandler' + set_addr $P1125, control_1124 + $P1125."handle_types"(.CONTROL_RETURN) + push_eh $P1125 .lex "self", self - .lex "$/", param_1145 + .lex "$/", param_1126 .annotate 'line', 305 - new $P1146, "Undef" - .lex "$past", $P1146 - get_hll_global $P1147, ["PAST"], "Regex" + new $P1127, "Undef" + .lex "$past", $P1127 + get_hll_global $P1128, ["PAST"], "Regex" .annotate 'line', 306 - find_lex $P1148, "$/" - unless_null $P1148, vivify_279 - $P1148 = root_new ['parrot';'Hash'] + find_lex $P1129, "$/" + unless_null $P1129, vivify_279 + $P1129 = root_new ['parrot';'Hash'] vivify_279: - set $P1149, $P1148["sym"] - unless_null $P1149, vivify_280 - new $P1149, "Undef" + set $P1130, $P1129["sym"] + unless_null $P1130, vivify_280 + new $P1130, "Undef" vivify_280: - set $S1150, $P1149 - iseq $I1151, $S1150, "H" - find_lex $P1152, "$/" - $P1153 = $P1147."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1151 :named("negate"), $P1152 :named("node")) + set $S1131, $P1130 + iseq $I1132, $S1131, "H" + find_lex $P1133, "$/" + $P1134 = $P1128."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1132 :named("negate"), $P1133 :named("node")) .annotate 'line', 305 - store_lex "$past", $P1153 + store_lex "$past", $P1134 .annotate 'line', 307 - find_lex $P1154, "$/" - find_lex $P1155, "$past" - $P1156 = $P1154."!make"($P1155) + find_lex $P1135, "$/" + find_lex $P1136, "$past" + $P1137 = $P1135."!make"($P1136) .annotate 'line', 304 - .return ($P1156) - control_1143: + .return ($P1137) + control_1124: .local pmc exception .get_results (exception) - getattribute $P1157, exception, "payload" - .return ($P1157) + getattribute $P1138, exception, "payload" + .return ($P1138) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("70_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1161 +.sub "backslash:sym" :subid("69_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1142 .annotate 'line', 310 - new $P1160, 'ExceptionHandler' - set_addr $P1160, control_1159 - $P1160."handle_types"(.CONTROL_RETURN) - push_eh $P1160 + new $P1141, 'ExceptionHandler' + set_addr $P1141, control_1140 + $P1141."handle_types"(.CONTROL_RETURN) + push_eh $P1141 .lex "self", self - .lex "$/", param_1161 + .lex "$/", param_1142 .annotate 'line', 311 - new $P1162, "Undef" - .lex "$past", $P1162 - get_hll_global $P1163, ["PAST"], "Regex" + new $P1143, "Undef" + .lex "$past", $P1143 + get_hll_global $P1144, ["PAST"], "Regex" .annotate 'line', 312 - find_lex $P1164, "$/" - unless_null $P1164, vivify_281 - $P1164 = root_new ['parrot';'Hash'] + find_lex $P1145, "$/" + unless_null $P1145, vivify_281 + $P1145 = root_new ['parrot';'Hash'] vivify_281: - set $P1165, $P1164["sym"] - unless_null $P1165, vivify_282 - new $P1165, "Undef" + set $P1146, $P1145["sym"] + unless_null $P1146, vivify_282 + new $P1146, "Undef" vivify_282: - set $S1166, $P1165 - iseq $I1167, $S1166, "R" - find_lex $P1168, "$/" - $P1169 = $P1163."new"("\r", "enumcharlist" :named("pasttype"), $I1167 :named("negate"), $P1168 :named("node")) + set $S1147, $P1146 + iseq $I1148, $S1147, "R" + find_lex $P1149, "$/" + $P1150 = $P1144."new"("\r", "enumcharlist" :named("pasttype"), $I1148 :named("negate"), $P1149 :named("node")) .annotate 'line', 311 - store_lex "$past", $P1169 + store_lex "$past", $P1150 .annotate 'line', 313 - find_lex $P1170, "$/" - find_lex $P1171, "$past" - $P1172 = $P1170."!make"($P1171) + find_lex $P1151, "$/" + find_lex $P1152, "$past" + $P1153 = $P1151."!make"($P1152) .annotate 'line', 310 - .return ($P1172) - control_1159: + .return ($P1153) + control_1140: .local pmc exception .get_results (exception) - getattribute $P1173, exception, "payload" - .return ($P1173) + getattribute $P1154, exception, "payload" + .return ($P1154) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("71_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1177 +.sub "backslash:sym" :subid("70_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1158 .annotate 'line', 316 - new $P1176, 'ExceptionHandler' - set_addr $P1176, control_1175 - $P1176."handle_types"(.CONTROL_RETURN) - push_eh $P1176 + new $P1157, 'ExceptionHandler' + set_addr $P1157, control_1156 + $P1157."handle_types"(.CONTROL_RETURN) + push_eh $P1157 .lex "self", self - .lex "$/", param_1177 + .lex "$/", param_1158 .annotate 'line', 317 - new $P1178, "Undef" - .lex "$past", $P1178 - get_hll_global $P1179, ["PAST"], "Regex" + new $P1159, "Undef" + .lex "$past", $P1159 + get_hll_global $P1160, ["PAST"], "Regex" .annotate 'line', 318 - find_lex $P1180, "$/" - unless_null $P1180, vivify_283 - $P1180 = root_new ['parrot';'Hash'] + find_lex $P1161, "$/" + unless_null $P1161, vivify_283 + $P1161 = root_new ['parrot';'Hash'] vivify_283: - set $P1181, $P1180["sym"] - unless_null $P1181, vivify_284 - new $P1181, "Undef" + set $P1162, $P1161["sym"] + unless_null $P1162, vivify_284 + new $P1162, "Undef" vivify_284: - set $S1182, $P1181 - iseq $I1183, $S1182, "T" - find_lex $P1184, "$/" - $P1185 = $P1179."new"("\t", "enumcharlist" :named("pasttype"), $I1183 :named("negate"), $P1184 :named("node")) + set $S1163, $P1162 + iseq $I1164, $S1163, "T" + find_lex $P1165, "$/" + $P1166 = $P1160."new"("\t", "enumcharlist" :named("pasttype"), $I1164 :named("negate"), $P1165 :named("node")) .annotate 'line', 317 - store_lex "$past", $P1185 + store_lex "$past", $P1166 .annotate 'line', 319 - find_lex $P1186, "$/" - find_lex $P1187, "$past" - $P1188 = $P1186."!make"($P1187) + find_lex $P1167, "$/" + find_lex $P1168, "$past" + $P1169 = $P1167."!make"($P1168) .annotate 'line', 316 - .return ($P1188) - control_1175: + .return ($P1169) + control_1156: .local pmc exception .get_results (exception) - getattribute $P1189, exception, "payload" - .return ($P1189) + getattribute $P1170, exception, "payload" + .return ($P1170) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("72_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1193 +.sub "backslash:sym" :subid("71_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1174 .annotate 'line', 322 - new $P1192, 'ExceptionHandler' - set_addr $P1192, control_1191 - $P1192."handle_types"(.CONTROL_RETURN) - push_eh $P1192 + new $P1173, 'ExceptionHandler' + set_addr $P1173, control_1172 + $P1173."handle_types"(.CONTROL_RETURN) + push_eh $P1173 .lex "self", self - .lex "$/", param_1193 + .lex "$/", param_1174 .annotate 'line', 323 - new $P1194, "Undef" - .lex "$past", $P1194 - get_hll_global $P1195, ["PAST"], "Regex" + new $P1175, "Undef" + .lex "$past", $P1175 + get_hll_global $P1176, ["PAST"], "Regex" .annotate 'line', 325 - find_lex $P1196, "$/" - unless_null $P1196, vivify_285 - $P1196 = root_new ['parrot';'Hash'] + find_lex $P1177, "$/" + unless_null $P1177, vivify_285 + $P1177 = root_new ['parrot';'Hash'] vivify_285: - set $P1197, $P1196["sym"] - unless_null $P1197, vivify_286 - new $P1197, "Undef" + set $P1178, $P1177["sym"] + unless_null $P1178, vivify_286 + new $P1178, "Undef" vivify_286: - set $S1198, $P1197 - iseq $I1199, $S1198, "V" - find_lex $P1200, "$/" - $P1201 = $P1195."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1199 :named("negate"), $P1200 :named("node")) + set $S1179, $P1178 + iseq $I1180, $S1179, "V" + find_lex $P1181, "$/" + $P1182 = $P1176."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1180 :named("negate"), $P1181 :named("node")) .annotate 'line', 323 - store_lex "$past", $P1201 + store_lex "$past", $P1182 .annotate 'line', 326 - find_lex $P1202, "$/" - find_lex $P1203, "$past" - $P1204 = $P1202."!make"($P1203) + find_lex $P1183, "$/" + find_lex $P1184, "$past" + $P1185 = $P1183."!make"($P1184) .annotate 'line', 322 - .return ($P1204) - control_1191: + .return ($P1185) + control_1172: .local pmc exception .get_results (exception) - getattribute $P1205, exception, "payload" - .return ($P1205) + getattribute $P1186, exception, "payload" + .return ($P1186) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("73_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1209 +.sub "backslash:sym" :subid("72_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1190 .annotate 'line', 329 - new $P1208, 'ExceptionHandler' - set_addr $P1208, control_1207 - $P1208."handle_types"(.CONTROL_RETURN) - push_eh $P1208 + new $P1189, 'ExceptionHandler' + set_addr $P1189, control_1188 + $P1189."handle_types"(.CONTROL_RETURN) + push_eh $P1189 .lex "self", self - .lex "$/", param_1209 + .lex "$/", param_1190 .annotate 'line', 330 - new $P1210, "Undef" - .lex "$octlit", $P1210 + new $P1191, "Undef" + .lex "$octlit", $P1191 .annotate 'line', 331 - get_hll_global $P1211, ["HLL";"Actions"], "ints_to_string" - find_lex $P1214, "$/" - unless_null $P1214, vivify_287 - $P1214 = root_new ['parrot';'Hash'] + get_hll_global $P1192, ["HLL";"Actions"], "ints_to_string" + find_lex $P1195, "$/" + unless_null $P1195, vivify_287 + $P1195 = root_new ['parrot';'Hash'] vivify_287: - set $P1215, $P1214["octint"] - unless_null $P1215, vivify_288 - new $P1215, "Undef" + set $P1196, $P1195["octint"] + unless_null $P1196, vivify_288 + new $P1196, "Undef" vivify_288: - unless $P1215, unless_1213 - set $P1212, $P1215 - goto unless_1213_end - unless_1213: - find_lex $P1216, "$/" - unless_null $P1216, vivify_289 - $P1216 = root_new ['parrot';'Hash'] + unless $P1196, unless_1194 + set $P1193, $P1196 + goto unless_1194_end + unless_1194: + find_lex $P1197, "$/" + unless_null $P1197, vivify_289 + $P1197 = root_new ['parrot';'Hash'] vivify_289: - set $P1217, $P1216["octints"] - unless_null $P1217, vivify_290 - $P1217 = root_new ['parrot';'Hash'] + set $P1198, $P1197["octints"] + unless_null $P1198, vivify_290 + $P1198 = root_new ['parrot';'Hash'] vivify_290: - set $P1218, $P1217["octint"] - unless_null $P1218, vivify_291 - new $P1218, "Undef" + set $P1199, $P1198["octint"] + unless_null $P1199, vivify_291 + new $P1199, "Undef" vivify_291: - set $P1212, $P1218 - unless_1213_end: - $P1219 = $P1211($P1212) - store_lex "$octlit", $P1219 + set $P1193, $P1199 + unless_1194_end: + $P1200 = $P1192($P1193) + store_lex "$octlit", $P1200 .annotate 'line', 332 - find_lex $P1220, "$/" - find_lex $P1223, "$/" - unless_null $P1223, vivify_292 - $P1223 = root_new ['parrot';'Hash'] + find_lex $P1201, "$/" + find_lex $P1204, "$/" + unless_null $P1204, vivify_292 + $P1204 = root_new ['parrot';'Hash'] vivify_292: - set $P1224, $P1223["sym"] - unless_null $P1224, vivify_293 - new $P1224, "Undef" + set $P1205, $P1204["sym"] + unless_null $P1205, vivify_293 + new $P1205, "Undef" vivify_293: - set $S1225, $P1224 - iseq $I1226, $S1225, "O" - if $I1226, if_1222 + set $S1206, $P1205 + iseq $I1207, $S1206, "O" + if $I1207, if_1203 .annotate 'line', 335 - get_hll_global $P1231, ["PAST"], "Regex" - find_lex $P1232, "$octlit" - find_lex $P1233, "$/" - $P1234 = $P1231."new"($P1232, "literal" :named("pasttype"), $P1233 :named("node")) - set $P1221, $P1234 + get_hll_global $P1212, ["PAST"], "Regex" + find_lex $P1213, "$octlit" + find_lex $P1214, "$/" + $P1215 = $P1212."new"($P1213, "literal" :named("pasttype"), $P1214 :named("node")) + set $P1202, $P1215 .annotate 'line', 332 - goto if_1222_end - if_1222: + goto if_1203_end + if_1203: .annotate 'line', 333 - get_hll_global $P1227, ["PAST"], "Regex" - find_lex $P1228, "$octlit" - find_lex $P1229, "$/" - $P1230 = $P1227."new"($P1228, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1229 :named("node")) - set $P1221, $P1230 - if_1222_end: - $P1235 = $P1220."!make"($P1221) + get_hll_global $P1208, ["PAST"], "Regex" + find_lex $P1209, "$octlit" + find_lex $P1210, "$/" + $P1211 = $P1208."new"($P1209, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1210 :named("node")) + set $P1202, $P1211 + if_1203_end: + $P1216 = $P1201."!make"($P1202) .annotate 'line', 329 - .return ($P1235) - control_1207: + .return ($P1216) + control_1188: .local pmc exception .get_results (exception) - getattribute $P1236, exception, "payload" - .return ($P1236) + getattribute $P1217, exception, "payload" + .return ($P1217) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("74_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1240 +.sub "backslash:sym" :subid("73_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1221 .annotate 'line', 338 - new $P1239, 'ExceptionHandler' - set_addr $P1239, control_1238 - $P1239."handle_types"(.CONTROL_RETURN) - push_eh $P1239 + new $P1220, 'ExceptionHandler' + set_addr $P1220, control_1219 + $P1220."handle_types"(.CONTROL_RETURN) + push_eh $P1220 .lex "self", self - .lex "$/", param_1240 + .lex "$/", param_1221 .annotate 'line', 339 - new $P1241, "Undef" - .lex "$hexlit", $P1241 + new $P1222, "Undef" + .lex "$hexlit", $P1222 .annotate 'line', 340 - get_hll_global $P1242, ["HLL";"Actions"], "ints_to_string" - find_lex $P1245, "$/" - unless_null $P1245, vivify_294 - $P1245 = root_new ['parrot';'Hash'] + get_hll_global $P1223, ["HLL";"Actions"], "ints_to_string" + find_lex $P1226, "$/" + unless_null $P1226, vivify_294 + $P1226 = root_new ['parrot';'Hash'] vivify_294: - set $P1246, $P1245["hexint"] - unless_null $P1246, vivify_295 - new $P1246, "Undef" + set $P1227, $P1226["hexint"] + unless_null $P1227, vivify_295 + new $P1227, "Undef" vivify_295: - unless $P1246, unless_1244 - set $P1243, $P1246 - goto unless_1244_end - unless_1244: - find_lex $P1247, "$/" - unless_null $P1247, vivify_296 - $P1247 = root_new ['parrot';'Hash'] + unless $P1227, unless_1225 + set $P1224, $P1227 + goto unless_1225_end + unless_1225: + find_lex $P1228, "$/" + unless_null $P1228, vivify_296 + $P1228 = root_new ['parrot';'Hash'] vivify_296: - set $P1248, $P1247["hexints"] - unless_null $P1248, vivify_297 - $P1248 = root_new ['parrot';'Hash'] + set $P1229, $P1228["hexints"] + unless_null $P1229, vivify_297 + $P1229 = root_new ['parrot';'Hash'] vivify_297: - set $P1249, $P1248["hexint"] - unless_null $P1249, vivify_298 - new $P1249, "Undef" + set $P1230, $P1229["hexint"] + unless_null $P1230, vivify_298 + new $P1230, "Undef" vivify_298: - set $P1243, $P1249 - unless_1244_end: - $P1250 = $P1242($P1243) - store_lex "$hexlit", $P1250 + set $P1224, $P1230 + unless_1225_end: + $P1231 = $P1223($P1224) + store_lex "$hexlit", $P1231 .annotate 'line', 341 - find_lex $P1251, "$/" - find_lex $P1254, "$/" - unless_null $P1254, vivify_299 - $P1254 = root_new ['parrot';'Hash'] + find_lex $P1232, "$/" + find_lex $P1235, "$/" + unless_null $P1235, vivify_299 + $P1235 = root_new ['parrot';'Hash'] vivify_299: - set $P1255, $P1254["sym"] - unless_null $P1255, vivify_300 - new $P1255, "Undef" + set $P1236, $P1235["sym"] + unless_null $P1236, vivify_300 + new $P1236, "Undef" vivify_300: - set $S1256, $P1255 - iseq $I1257, $S1256, "X" - if $I1257, if_1253 + set $S1237, $P1236 + iseq $I1238, $S1237, "X" + if $I1238, if_1234 .annotate 'line', 344 - get_hll_global $P1262, ["PAST"], "Regex" - find_lex $P1263, "$hexlit" - find_lex $P1264, "$/" - $P1265 = $P1262."new"($P1263, "literal" :named("pasttype"), $P1264 :named("node")) - set $P1252, $P1265 + get_hll_global $P1243, ["PAST"], "Regex" + find_lex $P1244, "$hexlit" + find_lex $P1245, "$/" + $P1246 = $P1243."new"($P1244, "literal" :named("pasttype"), $P1245 :named("node")) + set $P1233, $P1246 .annotate 'line', 341 - goto if_1253_end - if_1253: + goto if_1234_end + if_1234: .annotate 'line', 342 - get_hll_global $P1258, ["PAST"], "Regex" - find_lex $P1259, "$hexlit" - find_lex $P1260, "$/" - $P1261 = $P1258."new"($P1259, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1260 :named("node")) - set $P1252, $P1261 - if_1253_end: - $P1266 = $P1251."!make"($P1252) + get_hll_global $P1239, ["PAST"], "Regex" + find_lex $P1240, "$hexlit" + find_lex $P1241, "$/" + $P1242 = $P1239."new"($P1240, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1241 :named("node")) + set $P1233, $P1242 + if_1234_end: + $P1247 = $P1232."!make"($P1233) .annotate 'line', 338 - .return ($P1266) - control_1238: + .return ($P1247) + control_1219: .local pmc exception .get_results (exception) - getattribute $P1267, exception, "payload" - .return ($P1267) + getattribute $P1248, exception, "payload" + .return ($P1248) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("75_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1271 +.sub "backslash:sym" :subid("74_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1252 .annotate 'line', 347 - new $P1270, 'ExceptionHandler' - set_addr $P1270, control_1269 - $P1270."handle_types"(.CONTROL_RETURN) - push_eh $P1270 + new $P1251, 'ExceptionHandler' + set_addr $P1251, control_1250 + $P1251."handle_types"(.CONTROL_RETURN) + push_eh $P1251 .lex "self", self - .lex "$/", param_1271 + .lex "$/", param_1252 .annotate 'line', 348 - find_lex $P1272, "$/" - get_hll_global $P1273, ["PAST"], "Regex" - find_lex $P1274, "$/" - unless_null $P1274, vivify_301 - $P1274 = root_new ['parrot';'Hash'] + find_lex $P1253, "$/" + get_hll_global $P1254, ["PAST"], "Regex" + find_lex $P1255, "$/" + unless_null $P1255, vivify_301 + $P1255 = root_new ['parrot';'Hash'] vivify_301: - set $P1275, $P1274["charspec"] - unless_null $P1275, vivify_302 - new $P1275, "Undef" + set $P1256, $P1255["charspec"] + unless_null $P1256, vivify_302 + new $P1256, "Undef" vivify_302: - $P1276 = $P1275."ast"() - find_lex $P1277, "$/" - $P1278 = $P1273."new"($P1276, "literal" :named("pasttype"), $P1277 :named("node")) - $P1279 = $P1272."!make"($P1278) + $P1257 = $P1256."ast"() + find_lex $P1258, "$/" + $P1259 = $P1254."new"($P1257, "literal" :named("pasttype"), $P1258 :named("node")) + $P1260 = $P1253."!make"($P1259) .annotate 'line', 347 - .return ($P1279) - control_1269: + .return ($P1260) + control_1250: .local pmc exception .get_results (exception) - getattribute $P1280, exception, "payload" - .return ($P1280) + getattribute $P1261, exception, "payload" + .return ($P1261) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "backslash:sym" :subid("76_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1284 +.sub "backslash:sym" :subid("75_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1265 .annotate 'line', 351 - new $P1283, 'ExceptionHandler' - set_addr $P1283, control_1282 - $P1283."handle_types"(.CONTROL_RETURN) - push_eh $P1283 + new $P1264, 'ExceptionHandler' + set_addr $P1264, control_1263 + $P1264."handle_types"(.CONTROL_RETURN) + push_eh $P1264 .lex "self", self - .lex "$/", param_1284 + .lex "$/", param_1265 .annotate 'line', 352 - new $P1285, "Undef" - .lex "$past", $P1285 - get_hll_global $P1286, ["PAST"], "Regex" - find_lex $P1287, "$/" - set $S1288, $P1287 - find_lex $P1289, "$/" - $P1290 = $P1286."new"($S1288, "literal" :named("pasttype"), $P1289 :named("node")) - store_lex "$past", $P1290 + new $P1266, "Undef" + .lex "$past", $P1266 + get_hll_global $P1267, ["PAST"], "Regex" + find_lex $P1268, "$/" + set $S1269, $P1268 + find_lex $P1270, "$/" + $P1271 = $P1267."new"($S1269, "literal" :named("pasttype"), $P1270 :named("node")) + store_lex "$past", $P1271 .annotate 'line', 353 - find_lex $P1291, "$/" - find_lex $P1292, "$past" - $P1293 = $P1291."!make"($P1292) + find_lex $P1272, "$/" + find_lex $P1273, "$past" + $P1274 = $P1272."!make"($P1273) .annotate 'line', 351 - .return ($P1293) - control_1282: + .return ($P1274) + control_1263: .local pmc exception .get_results (exception) - getattribute $P1294, exception, "payload" - .return ($P1294) + getattribute $P1275, exception, "payload" + .return ($P1275) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("77_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1298 +.sub "assertion:sym" :subid("76_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1279 .annotate 'line', 357 - new $P1297, 'ExceptionHandler' - set_addr $P1297, control_1296 - $P1297."handle_types"(.CONTROL_RETURN) - push_eh $P1297 + new $P1278, 'ExceptionHandler' + set_addr $P1278, control_1277 + $P1278."handle_types"(.CONTROL_RETURN) + push_eh $P1278 .lex "self", self - .lex "$/", param_1298 + .lex "$/", param_1279 .annotate 'line', 358 - new $P1299, "Undef" - .lex "$past", $P1299 + new $P1280, "Undef" + .lex "$past", $P1280 .annotate 'line', 357 - find_lex $P1300, "$past" + find_lex $P1281, "$past" .annotate 'line', 359 - find_lex $P1302, "$/" - unless_null $P1302, vivify_303 - $P1302 = root_new ['parrot';'Hash'] + find_lex $P1283, "$/" + unless_null $P1283, vivify_303 + $P1283 = root_new ['parrot';'Hash'] vivify_303: - set $P1303, $P1302["assertion"] - unless_null $P1303, vivify_304 - new $P1303, "Undef" + set $P1284, $P1283["assertion"] + unless_null $P1284, vivify_304 + new $P1284, "Undef" vivify_304: - if $P1303, if_1301 + if $P1284, if_1282 .annotate 'line', 363 - new $P1308, "Integer" - assign $P1308, 0 - store_lex "$past", $P1308 - goto if_1301_end - if_1301: + new $P1289, "Integer" + assign $P1289, 0 + store_lex "$past", $P1289 + goto if_1282_end + if_1282: .annotate 'line', 360 - find_lex $P1304, "$/" - unless_null $P1304, vivify_305 - $P1304 = root_new ['parrot';'Hash'] + find_lex $P1285, "$/" + unless_null $P1285, vivify_305 + $P1285 = root_new ['parrot';'Hash'] vivify_305: - set $P1305, $P1304["assertion"] - unless_null $P1305, vivify_306 - new $P1305, "Undef" + set $P1286, $P1285["assertion"] + unless_null $P1286, vivify_306 + new $P1286, "Undef" vivify_306: - $P1306 = $P1305."ast"() - store_lex "$past", $P1306 + $P1287 = $P1286."ast"() + store_lex "$past", $P1287 .annotate 'line', 361 - find_lex $P1307, "$past" - $P1307."subtype"("zerowidth") - if_1301_end: + find_lex $P1288, "$past" + $P1288."subtype"("zerowidth") + if_1282_end: .annotate 'line', 364 - find_lex $P1309, "$/" - find_lex $P1310, "$past" - $P1311 = $P1309."!make"($P1310) + find_lex $P1290, "$/" + find_lex $P1291, "$past" + $P1292 = $P1290."!make"($P1291) .annotate 'line', 357 - .return ($P1311) - control_1296: + .return ($P1292) + control_1277: .local pmc exception .get_results (exception) - getattribute $P1312, exception, "payload" - .return ($P1312) + getattribute $P1293, exception, "payload" + .return ($P1293) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("78_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1316 +.sub "assertion:sym" :subid("77_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1297 .annotate 'line', 367 - new $P1315, 'ExceptionHandler' - set_addr $P1315, control_1314 - $P1315."handle_types"(.CONTROL_RETURN) - push_eh $P1315 + new $P1296, 'ExceptionHandler' + set_addr $P1296, control_1295 + $P1296."handle_types"(.CONTROL_RETURN) + push_eh $P1296 .lex "self", self - .lex "$/", param_1316 + .lex "$/", param_1297 .annotate 'line', 368 - new $P1317, "Undef" - .lex "$past", $P1317 + new $P1298, "Undef" + .lex "$past", $P1298 .annotate 'line', 367 - find_lex $P1318, "$past" + find_lex $P1299, "$past" .annotate 'line', 369 - find_lex $P1320, "$/" - unless_null $P1320, vivify_307 - $P1320 = root_new ['parrot';'Hash'] + find_lex $P1301, "$/" + unless_null $P1301, vivify_307 + $P1301 = root_new ['parrot';'Hash'] vivify_307: - set $P1321, $P1320["assertion"] - unless_null $P1321, vivify_308 - new $P1321, "Undef" + set $P1302, $P1301["assertion"] + unless_null $P1302, vivify_308 + new $P1302, "Undef" vivify_308: - if $P1321, if_1319 + if $P1302, if_1300 .annotate 'line', 375 - get_hll_global $P1330, ["PAST"], "Regex" - find_lex $P1331, "$/" - $P1332 = $P1330."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1331 :named("node")) - store_lex "$past", $P1332 + get_hll_global $P1311, ["PAST"], "Regex" + find_lex $P1312, "$/" + $P1313 = $P1311."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1312 :named("node")) + store_lex "$past", $P1313 .annotate 'line', 374 - goto if_1319_end - if_1319: + goto if_1300_end + if_1300: .annotate 'line', 370 - find_lex $P1322, "$/" - unless_null $P1322, vivify_309 - $P1322 = root_new ['parrot';'Hash'] + find_lex $P1303, "$/" + unless_null $P1303, vivify_309 + $P1303 = root_new ['parrot';'Hash'] vivify_309: - set $P1323, $P1322["assertion"] - unless_null $P1323, vivify_310 - new $P1323, "Undef" + set $P1304, $P1303["assertion"] + unless_null $P1304, vivify_310 + new $P1304, "Undef" vivify_310: - $P1324 = $P1323."ast"() - store_lex "$past", $P1324 + $P1305 = $P1304."ast"() + store_lex "$past", $P1305 .annotate 'line', 371 - find_lex $P1325, "$past" - find_lex $P1326, "$past" - $P1327 = $P1326."negate"() - isfalse $I1328, $P1327 - $P1325."negate"($I1328) + find_lex $P1306, "$past" + find_lex $P1307, "$past" + $P1308 = $P1307."negate"() + isfalse $I1309, $P1308 + $P1306."negate"($I1309) .annotate 'line', 372 - find_lex $P1329, "$past" - $P1329."subtype"("zerowidth") - if_1319_end: + find_lex $P1310, "$past" + $P1310."subtype"("zerowidth") + if_1300_end: .annotate 'line', 377 - find_lex $P1333, "$/" - find_lex $P1334, "$past" - $P1335 = $P1333."!make"($P1334) + find_lex $P1314, "$/" + find_lex $P1315, "$past" + $P1316 = $P1314."!make"($P1315) .annotate 'line', 367 - .return ($P1335) - control_1314: + .return ($P1316) + control_1295: .local pmc exception .get_results (exception) - getattribute $P1336, exception, "payload" - .return ($P1336) + getattribute $P1317, exception, "payload" + .return ($P1317) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("79_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1340 +.sub "assertion:sym" :subid("78_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1321 .annotate 'line', 380 - new $P1339, 'ExceptionHandler' - set_addr $P1339, control_1338 - $P1339."handle_types"(.CONTROL_RETURN) - push_eh $P1339 + new $P1320, 'ExceptionHandler' + set_addr $P1320, control_1319 + $P1320."handle_types"(.CONTROL_RETURN) + push_eh $P1320 .lex "self", self - .lex "$/", param_1340 + .lex "$/", param_1321 .annotate 'line', 381 - new $P1341, "Undef" - .lex "$past", $P1341 - find_lex $P1342, "$/" - unless_null $P1342, vivify_311 - $P1342 = root_new ['parrot';'Hash'] + new $P1322, "Undef" + .lex "$past", $P1322 + find_lex $P1323, "$/" + unless_null $P1323, vivify_311 + $P1323 = root_new ['parrot';'Hash'] vivify_311: - set $P1343, $P1342["assertion"] - unless_null $P1343, vivify_312 - new $P1343, "Undef" + set $P1324, $P1323["assertion"] + unless_null $P1324, vivify_312 + new $P1324, "Undef" vivify_312: - $P1344 = $P1343."ast"() - store_lex "$past", $P1344 + $P1325 = $P1324."ast"() + store_lex "$past", $P1325 .annotate 'line', 382 - find_lex $P1345, "$past" - $P1345."subtype"("method") + find_lex $P1326, "$past" + $P1326."subtype"("method") .annotate 'line', 383 - find_lex $P1346, "$past" - $P1346."name"("") + find_lex $P1327, "$past" + $P1327."name"("") .annotate 'line', 384 - find_lex $P1347, "$/" - find_lex $P1348, "$past" - $P1349 = $P1347."!make"($P1348) + find_lex $P1328, "$/" + find_lex $P1329, "$past" + $P1330 = $P1328."!make"($P1329) .annotate 'line', 380 - .return ($P1349) - control_1338: + .return ($P1330) + control_1319: .local pmc exception .get_results (exception) - getattribute $P1350, exception, "payload" - .return ($P1350) + getattribute $P1331, exception, "payload" + .return ($P1331) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "assertion:sym" :subid("80_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1354 +.sub "assertion:sym" :subid("79_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1335 .annotate 'line', 387 - .const 'Sub' $P1412 = "82_1276996315.25554" - capture_lex $P1412 - .const 'Sub' $P1376 = "81_1276996315.25554" - capture_lex $P1376 - new $P1353, 'ExceptionHandler' - set_addr $P1353, control_1352 - $P1353."handle_types"(.CONTROL_RETURN) - push_eh $P1353 + .const 'Sub' $P1394 = "81_1278500533.96053" + capture_lex $P1394 + .const 'Sub' $P1358 = "80_1278500533.96053" + capture_lex $P1358 + new $P1334, 'ExceptionHandler' + set_addr $P1334, control_1333 + $P1334."handle_types"(.CONTROL_RETURN) + push_eh $P1334 .lex "self", self - .lex "$/", param_1354 + .lex "$/", param_1335 .annotate 'line', 388 - new $P1355, "Undef" - .lex "$name", $P1355 + new $P1336, "Undef" + .lex "$name", $P1336 .annotate 'line', 389 - new $P1356, "Undef" - .lex "$past", $P1356 + new $P1337, "Undef" + .lex "$past", $P1337 .annotate 'line', 388 - find_lex $P1357, "$/" - unless_null $P1357, vivify_313 - $P1357 = root_new ['parrot';'Hash'] + find_lex $P1338, "$/" + unless_null $P1338, vivify_313 + $P1338 = root_new ['parrot';'Hash'] vivify_313: - set $P1358, $P1357["longname"] - unless_null $P1358, vivify_314 - new $P1358, "Undef" + set $P1339, $P1338["longname"] + unless_null $P1339, vivify_314 + new $P1339, "Undef" vivify_314: - set $S1359, $P1358 - new $P1360, 'String' - set $P1360, $S1359 - store_lex "$name", $P1360 - find_lex $P1361, "$past" + set $S1340, $P1339 + new $P1341, 'String' + set $P1341, $S1340 + store_lex "$name", $P1341 + find_lex $P1342, "$past" .annotate 'line', 390 - find_lex $P1363, "$/" - unless_null $P1363, vivify_315 - $P1363 = root_new ['parrot';'Hash'] + find_lex $P1344, "$/" + unless_null $P1344, vivify_315 + $P1344 = root_new ['parrot';'Hash'] vivify_315: - set $P1364, $P1363["assertion"] - unless_null $P1364, vivify_316 - new $P1364, "Undef" + set $P1345, $P1344["assertion"] + unless_null $P1345, vivify_316 + new $P1345, "Undef" vivify_316: - if $P1364, if_1362 + if $P1345, if_1343 .annotate 'line', 394 - find_lex $P1372, "$name" - set $S1373, $P1372 - iseq $I1374, $S1373, "sym" - if $I1374, if_1371 + find_lex $P1354, "$name" + set $S1355, $P1354 + iseq $I1356, $S1355, "sym" + if $I1356, if_1353 .annotate 'line', 410 - get_hll_global $P1386, ["PAST"], "Regex" - find_lex $P1387, "$name" - find_lex $P1388, "$name" - find_lex $P1389, "$/" - $P1390 = $P1386."new"($P1387, $P1388 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1389 :named("node")) - store_lex "$past", $P1390 + get_hll_global $P1368, ["PAST"], "Regex" + find_lex $P1369, "$name" + find_lex $P1370, "$name" + find_lex $P1371, "$/" + $P1372 = $P1368."new"($P1369, $P1370 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1371 :named("node")) + store_lex "$past", $P1372 .annotate 'line', 412 - find_lex $P1392, "$/" - unless_null $P1392, vivify_317 - $P1392 = root_new ['parrot';'Hash'] + find_lex $P1374, "$/" + unless_null $P1374, vivify_317 + $P1374 = root_new ['parrot';'Hash'] vivify_317: - set $P1393, $P1392["nibbler"] - unless_null $P1393, vivify_318 - new $P1393, "Undef" + set $P1375, $P1374["nibbler"] + unless_null $P1375, vivify_318 + new $P1375, "Undef" vivify_318: - if $P1393, if_1391 + if $P1375, if_1373 .annotate 'line', 415 - find_lex $P1401, "$/" - unless_null $P1401, vivify_319 - $P1401 = root_new ['parrot';'Hash'] + find_lex $P1383, "$/" + unless_null $P1383, vivify_319 + $P1383 = root_new ['parrot';'Hash'] vivify_319: - set $P1402, $P1401["arglist"] - unless_null $P1402, vivify_320 - new $P1402, "Undef" + set $P1384, $P1383["arglist"] + unless_null $P1384, vivify_320 + new $P1384, "Undef" vivify_320: - unless $P1402, if_1400_end + unless $P1384, if_1382_end .annotate 'line', 416 - find_lex $P1404, "$/" - unless_null $P1404, vivify_321 - $P1404 = root_new ['parrot';'Hash'] + find_lex $P1386, "$/" + unless_null $P1386, vivify_321 + $P1386 = root_new ['parrot';'Hash'] vivify_321: - set $P1405, $P1404["arglist"] - unless_null $P1405, vivify_322 - $P1405 = root_new ['parrot';'ResizablePMCArray'] + set $P1387, $P1386["arglist"] + unless_null $P1387, vivify_322 + $P1387 = root_new ['parrot';'ResizablePMCArray'] vivify_322: - set $P1406, $P1405[0] - unless_null $P1406, vivify_323 - new $P1406, "Undef" + set $P1388, $P1387[0] + unless_null $P1388, vivify_323 + new $P1388, "Undef" vivify_323: - $P1407 = $P1406."ast"() - $P1408 = $P1407."list"() - defined $I1409, $P1408 - unless $I1409, for_undef_324 - iter $P1403, $P1408 - new $P1418, 'ExceptionHandler' - set_addr $P1418, loop1417_handler - $P1418."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1418 - loop1417_test: - unless $P1403, loop1417_done - shift $P1410, $P1403 - loop1417_redo: - .const 'Sub' $P1412 = "82_1276996315.25554" - capture_lex $P1412 - $P1412($P1410) - loop1417_next: - goto loop1417_test - loop1417_handler: + $P1389 = $P1388."ast"() + $P1390 = $P1389."list"() + defined $I1391, $P1390 + unless $I1391, for_undef_324 + iter $P1385, $P1390 + new $P1400, 'ExceptionHandler' + set_addr $P1400, loop1399_handler + $P1400."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1400 + loop1399_test: + unless $P1385, loop1399_done + shift $P1392, $P1385 + loop1399_redo: + .const 'Sub' $P1394 = "81_1278500533.96053" + capture_lex $P1394 + $P1394($P1392) + loop1399_next: + goto loop1399_test + loop1399_handler: .local pmc exception .get_results (exception) - getattribute $P1419, exception, 'type' - eq $P1419, .CONTROL_LOOP_NEXT, loop1417_next - eq $P1419, .CONTROL_LOOP_REDO, loop1417_redo - loop1417_done: + getattribute $P1401, exception, 'type' + eq $P1401, .CONTROL_LOOP_NEXT, loop1399_next + eq $P1401, .CONTROL_LOOP_REDO, loop1399_redo + loop1399_done: pop_eh for_undef_324: - if_1400_end: + if_1382_end: .annotate 'line', 415 - goto if_1391_end - if_1391: + goto if_1373_end + if_1373: .annotate 'line', 413 - find_lex $P1394, "$past" - find_lex $P1395, "$/" - unless_null $P1395, vivify_325 - $P1395 = root_new ['parrot';'Hash'] + find_lex $P1376, "$past" + find_lex $P1377, "$/" + unless_null $P1377, vivify_325 + $P1377 = root_new ['parrot';'Hash'] vivify_325: - set $P1396, $P1395["nibbler"] - unless_null $P1396, vivify_326 - $P1396 = root_new ['parrot';'ResizablePMCArray'] + set $P1378, $P1377["nibbler"] + unless_null $P1378, vivify_326 + $P1378 = root_new ['parrot';'ResizablePMCArray'] vivify_326: - set $P1397, $P1396[0] - unless_null $P1397, vivify_327 - new $P1397, "Undef" + set $P1379, $P1378[0] + unless_null $P1379, vivify_327 + new $P1379, "Undef" vivify_327: - $P1398 = $P1397."ast"() - $P1399 = "buildsub"($P1398) - $P1394."push"($P1399) - if_1391_end: + $P1380 = $P1379."ast"() + $P1381 = "buildsub"($P1380) + $P1376."push"($P1381) + if_1373_end: .annotate 'line', 409 - goto if_1371_end - if_1371: + goto if_1353_end + if_1353: .annotate 'line', 394 - .const 'Sub' $P1376 = "81_1276996315.25554" - capture_lex $P1376 - $P1376() - if_1371_end: - goto if_1362_end - if_1362: + .const 'Sub' $P1358 = "80_1278500533.96053" + capture_lex $P1358 + $P1358() + if_1353_end: + goto if_1343_end + if_1343: .annotate 'line', 391 - find_lex $P1365, "$/" - unless_null $P1365, vivify_328 - $P1365 = root_new ['parrot';'Hash'] + find_lex $P1346, "$/" + unless_null $P1346, vivify_328 + $P1346 = root_new ['parrot';'Hash'] vivify_328: - set $P1366, $P1365["assertion"] - unless_null $P1366, vivify_329 - $P1366 = root_new ['parrot';'ResizablePMCArray'] + set $P1347, $P1346["assertion"] + unless_null $P1347, vivify_329 + $P1347 = root_new ['parrot';'ResizablePMCArray'] vivify_329: - set $P1367, $P1366[0] - unless_null $P1367, vivify_330 - new $P1367, "Undef" + set $P1348, $P1347[0] + unless_null $P1348, vivify_330 + new $P1348, "Undef" vivify_330: - $P1368 = $P1367."ast"() - store_lex "$past", $P1368 + $P1349 = $P1348."ast"() + store_lex "$past", $P1349 .annotate 'line', 392 - find_lex $P1369, "$past" - find_lex $P1370, "$name" - "subrule_alias"($P1369, $P1370) - if_1362_end: + find_lex $P1350, "self" + find_lex $P1351, "$past" + find_lex $P1352, "$name" + $P1350."subrule_alias"($P1351, $P1352) + if_1343_end: .annotate 'line', 419 - find_lex $P1420, "$/" - find_lex $P1421, "$past" - $P1422 = $P1420."!make"($P1421) + find_lex $P1402, "$/" + find_lex $P1403, "$past" + $P1404 = $P1402."!make"($P1403) .annotate 'line', 387 - .return ($P1422) - control_1352: + .return ($P1404) + control_1333: .local pmc exception .get_results (exception) - getattribute $P1423, exception, "payload" - .return ($P1423) + getattribute $P1405, exception, "payload" + .return ($P1405) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1411" :anon :subid("82_1276996315.25554") :outer("80_1276996315.25554") - .param pmc param_1413 +.sub "_block1393" :anon :subid("81_1278500533.96053") :outer("79_1278500533.96053") + .param pmc param_1395 .annotate 'line', 416 - .lex "$_", param_1413 - find_lex $P1414, "$past" - find_lex $P1415, "$_" - $P1416 = $P1414."push"($P1415) - .return ($P1416) + .lex "$_", param_1395 + find_lex $P1396, "$past" + find_lex $P1397, "$_" + $P1398 = $P1396."push"($P1397) + .return ($P1398) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1375" :anon :subid("81_1276996315.25554") :outer("80_1276996315.25554") +.sub "_block1357" :anon :subid("80_1278500533.96053") :outer("79_1278500533.96053") .annotate 'line', 395 - new $P1377, "Undef" - .lex "$regexsym", $P1377 + new $P1359, "Undef" + .lex "$regexsym", $P1359 $P0 = get_global '$REGEXNAME' $S0 = $P0 @@ -11547,389 +11580,389 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes add $I0, 5 $S0 = substr $S0, $I0 $S0 = chopn $S0, 1 - $P1378 = box $S0 + $P1360 = box $S0 - store_lex "$regexsym", $P1378 + store_lex "$regexsym", $P1360 .annotate 'line', 404 - get_hll_global $P1379, ["PAST"], "Regex" + get_hll_global $P1361, ["PAST"], "Regex" .annotate 'line', 405 - get_hll_global $P1380, ["PAST"], "Regex" - find_lex $P1381, "$regexsym" - $P1382 = $P1380."new"($P1381, "literal" :named("pasttype")) - find_lex $P1383, "$name" - find_lex $P1384, "$/" - $P1385 = $P1379."new"($P1382, $P1383 :named("name"), "subcapture" :named("pasttype"), $P1384 :named("node")) + get_hll_global $P1362, ["PAST"], "Regex" + find_lex $P1363, "$regexsym" + $P1364 = $P1362."new"($P1363, "literal" :named("pasttype")) + find_lex $P1365, "$name" + find_lex $P1366, "$/" + $P1367 = $P1361."new"($P1364, $P1365 :named("name"), "subcapture" :named("pasttype"), $P1366 :named("node")) .annotate 'line', 404 - store_lex "$past", $P1385 + store_lex "$past", $P1367 .annotate 'line', 394 - .return ($P1385) + .return ($P1367) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "assertion:sym<[>" :subid("83_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1427 +.sub "assertion:sym<[>" :subid("82_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1409 .annotate 'line', 422 - .const 'Sub' $P1462 = "84_1276996315.25554" - capture_lex $P1462 - new $P1426, 'ExceptionHandler' - set_addr $P1426, control_1425 - $P1426."handle_types"(.CONTROL_RETURN) - push_eh $P1426 + .const 'Sub' $P1444 = "83_1278500533.96053" + capture_lex $P1444 + new $P1408, 'ExceptionHandler' + set_addr $P1408, control_1407 + $P1408."handle_types"(.CONTROL_RETURN) + push_eh $P1408 .lex "self", self - .lex "$/", param_1427 + .lex "$/", param_1409 .annotate 'line', 423 - new $P1428, "Undef" - .lex "$clist", $P1428 + new $P1410, "Undef" + .lex "$clist", $P1410 .annotate 'line', 424 - new $P1429, "Undef" - .lex "$past", $P1429 + new $P1411, "Undef" + .lex "$past", $P1411 .annotate 'line', 433 - new $P1430, "Undef" - .lex "$i", $P1430 + new $P1412, "Undef" + .lex "$i", $P1412 .annotate 'line', 434 - new $P1431, "Undef" - .lex "$n", $P1431 + new $P1413, "Undef" + .lex "$n", $P1413 .annotate 'line', 423 - find_lex $P1432, "$/" - unless_null $P1432, vivify_331 - $P1432 = root_new ['parrot';'Hash'] + find_lex $P1414, "$/" + unless_null $P1414, vivify_331 + $P1414 = root_new ['parrot';'Hash'] vivify_331: - set $P1433, $P1432["cclass_elem"] - unless_null $P1433, vivify_332 - new $P1433, "Undef" + set $P1415, $P1414["cclass_elem"] + unless_null $P1415, vivify_332 + new $P1415, "Undef" vivify_332: - store_lex "$clist", $P1433 + store_lex "$clist", $P1415 .annotate 'line', 424 - find_lex $P1434, "$clist" - unless_null $P1434, vivify_333 - $P1434 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1416, "$clist" + unless_null $P1416, vivify_333 + $P1416 = root_new ['parrot';'ResizablePMCArray'] vivify_333: - set $P1435, $P1434[0] - unless_null $P1435, vivify_334 - new $P1435, "Undef" + set $P1417, $P1416[0] + unless_null $P1417, vivify_334 + new $P1417, "Undef" vivify_334: - $P1436 = $P1435."ast"() - store_lex "$past", $P1436 + $P1418 = $P1417."ast"() + store_lex "$past", $P1418 .annotate 'line', 425 - find_lex $P1440, "$past" - $P1441 = $P1440."negate"() - if $P1441, if_1439 - set $P1438, $P1441 - goto if_1439_end - if_1439: - find_lex $P1442, "$past" - $S1443 = $P1442."pasttype"() - iseq $I1444, $S1443, "subrule" - new $P1438, 'Integer' - set $P1438, $I1444 - if_1439_end: - unless $P1438, if_1437_end + find_lex $P1422, "$past" + $P1423 = $P1422."negate"() + if $P1423, if_1421 + set $P1420, $P1423 + goto if_1421_end + if_1421: + find_lex $P1424, "$past" + $S1425 = $P1424."pasttype"() + iseq $I1426, $S1425, "subrule" + new $P1420, 'Integer' + set $P1420, $I1426 + if_1421_end: + unless $P1420, if_1419_end .annotate 'line', 426 - find_lex $P1445, "$past" - $P1445."subtype"("zerowidth") + find_lex $P1427, "$past" + $P1427."subtype"("zerowidth") .annotate 'line', 427 - get_hll_global $P1446, ["PAST"], "Regex" - find_lex $P1447, "$past" + get_hll_global $P1428, ["PAST"], "Regex" + find_lex $P1429, "$past" .annotate 'line', 429 - get_hll_global $P1448, ["PAST"], "Regex" - $P1449 = $P1448."new"("charclass" :named("pasttype"), "." :named("subtype")) - find_lex $P1450, "$/" - $P1451 = $P1446."new"($P1447, $P1449, $P1450 :named("node")) + get_hll_global $P1430, ["PAST"], "Regex" + $P1431 = $P1430."new"("charclass" :named("pasttype"), "." :named("subtype")) + find_lex $P1432, "$/" + $P1433 = $P1428."new"($P1429, $P1431, $P1432 :named("node")) .annotate 'line', 427 - store_lex "$past", $P1451 - if_1437_end: + store_lex "$past", $P1433 + if_1419_end: .annotate 'line', 433 - new $P1452, "Integer" - assign $P1452, 1 - store_lex "$i", $P1452 + new $P1434, "Integer" + assign $P1434, 1 + store_lex "$i", $P1434 .annotate 'line', 434 - find_lex $P1453, "$clist" - set $N1454, $P1453 - new $P1455, 'Float' - set $P1455, $N1454 - store_lex "$n", $P1455 + find_lex $P1435, "$clist" + set $N1436, $P1435 + new $P1437, 'Float' + set $P1437, $N1436 + store_lex "$n", $P1437 .annotate 'line', 435 - new $P1486, 'ExceptionHandler' - set_addr $P1486, loop1485_handler - $P1486."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1486 - loop1485_test: - find_lex $P1456, "$i" - set $N1457, $P1456 - find_lex $P1458, "$n" - set $N1459, $P1458 - islt $I1460, $N1457, $N1459 - unless $I1460, loop1485_done - loop1485_redo: - .const 'Sub' $P1462 = "84_1276996315.25554" - capture_lex $P1462 - $P1462() - loop1485_next: - goto loop1485_test - loop1485_handler: + new $P1468, 'ExceptionHandler' + set_addr $P1468, loop1467_handler + $P1468."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1468 + loop1467_test: + find_lex $P1438, "$i" + set $N1439, $P1438 + find_lex $P1440, "$n" + set $N1441, $P1440 + islt $I1442, $N1439, $N1441 + unless $I1442, loop1467_done + loop1467_redo: + .const 'Sub' $P1444 = "83_1278500533.96053" + capture_lex $P1444 + $P1444() + loop1467_next: + goto loop1467_test + loop1467_handler: .local pmc exception .get_results (exception) - getattribute $P1487, exception, 'type' - eq $P1487, .CONTROL_LOOP_NEXT, loop1485_next - eq $P1487, .CONTROL_LOOP_REDO, loop1485_redo - loop1485_done: + getattribute $P1469, exception, 'type' + eq $P1469, .CONTROL_LOOP_NEXT, loop1467_next + eq $P1469, .CONTROL_LOOP_REDO, loop1467_redo + loop1467_done: pop_eh .annotate 'line', 446 - find_lex $P1488, "$/" - find_lex $P1489, "$past" - $P1490 = $P1488."!make"($P1489) + find_lex $P1470, "$/" + find_lex $P1471, "$past" + $P1472 = $P1470."!make"($P1471) .annotate 'line', 422 - .return ($P1490) - control_1425: + .return ($P1472) + control_1407: .local pmc exception .get_results (exception) - getattribute $P1491, exception, "payload" - .return ($P1491) + getattribute $P1473, exception, "payload" + .return ($P1473) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1461" :anon :subid("84_1276996315.25554") :outer("83_1276996315.25554") +.sub "_block1443" :anon :subid("83_1278500533.96053") :outer("82_1278500533.96053") .annotate 'line', 436 - new $P1463, "Undef" - .lex "$ast", $P1463 - find_lex $P1464, "$i" - set $I1465, $P1464 - find_lex $P1466, "$clist" - unless_null $P1466, vivify_335 - $P1466 = root_new ['parrot';'ResizablePMCArray'] + new $P1445, "Undef" + .lex "$ast", $P1445 + find_lex $P1446, "$i" + set $I1447, $P1446 + find_lex $P1448, "$clist" + unless_null $P1448, vivify_335 + $P1448 = root_new ['parrot';'ResizablePMCArray'] vivify_335: - set $P1467, $P1466[$I1465] - unless_null $P1467, vivify_336 - new $P1467, "Undef" + set $P1449, $P1448[$I1447] + unless_null $P1449, vivify_336 + new $P1449, "Undef" vivify_336: - $P1468 = $P1467."ast"() - store_lex "$ast", $P1468 + $P1450 = $P1449."ast"() + store_lex "$ast", $P1450 .annotate 'line', 437 - find_lex $P1470, "$ast" - $P1471 = $P1470."negate"() - if $P1471, if_1469 + find_lex $P1452, "$ast" + $P1453 = $P1452."negate"() + if $P1453, if_1451 .annotate 'line', 442 - get_hll_global $P1478, ["PAST"], "Regex" - find_lex $P1479, "$past" - find_lex $P1480, "$ast" - find_lex $P1481, "$/" - $P1482 = $P1478."new"($P1479, $P1480, "alt" :named("pasttype"), $P1481 :named("node")) - store_lex "$past", $P1482 + get_hll_global $P1460, ["PAST"], "Regex" + find_lex $P1461, "$past" + find_lex $P1462, "$ast" + find_lex $P1463, "$/" + $P1464 = $P1460."new"($P1461, $P1462, "alt" :named("pasttype"), $P1463 :named("node")) + store_lex "$past", $P1464 .annotate 'line', 441 - goto if_1469_end - if_1469: + goto if_1451_end + if_1451: .annotate 'line', 438 - find_lex $P1472, "$ast" - $P1472."subtype"("zerowidth") + find_lex $P1454, "$ast" + $P1454."subtype"("zerowidth") .annotate 'line', 439 - get_hll_global $P1473, ["PAST"], "Regex" - find_lex $P1474, "$ast" - find_lex $P1475, "$past" - find_lex $P1476, "$/" - $P1477 = $P1473."new"($P1474, $P1475, "concat" :named("pasttype"), $P1476 :named("node")) - store_lex "$past", $P1477 - if_1469_end: + get_hll_global $P1455, ["PAST"], "Regex" + find_lex $P1456, "$ast" + find_lex $P1457, "$past" + find_lex $P1458, "$/" + $P1459 = $P1455."new"($P1456, $P1457, "concat" :named("pasttype"), $P1458 :named("node")) + store_lex "$past", $P1459 + if_1451_end: .annotate 'line', 444 - find_lex $P1483, "$i" - add $P1484, $P1483, 1 - store_lex "$i", $P1484 + find_lex $P1465, "$i" + add $P1466, $P1465, 1 + store_lex "$i", $P1466 .annotate 'line', 435 - .return ($P1484) + .return ($P1466) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "cclass_elem" :subid("85_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1495 +.sub "cclass_elem" :subid("84_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1477 .annotate 'line', 449 - .const 'Sub' $P1520 = "87_1276996315.25554" - capture_lex $P1520 - .const 'Sub' $P1504 = "86_1276996315.25554" - capture_lex $P1504 - new $P1494, 'ExceptionHandler' - set_addr $P1494, control_1493 - $P1494."handle_types"(.CONTROL_RETURN) - push_eh $P1494 + .const 'Sub' $P1502 = "86_1278500533.96053" + capture_lex $P1502 + .const 'Sub' $P1486 = "85_1278500533.96053" + capture_lex $P1486 + new $P1476, 'ExceptionHandler' + set_addr $P1476, control_1475 + $P1476."handle_types"(.CONTROL_RETURN) + push_eh $P1476 .lex "self", self - .lex "$/", param_1495 + .lex "$/", param_1477 .annotate 'line', 450 - new $P1496, "Undef" - .lex "$str", $P1496 + new $P1478, "Undef" + .lex "$str", $P1478 .annotate 'line', 451 - new $P1497, "Undef" - .lex "$past", $P1497 + new $P1479, "Undef" + .lex "$past", $P1479 .annotate 'line', 450 - new $P1498, "String" - assign $P1498, "" - store_lex "$str", $P1498 - find_lex $P1499, "$past" + new $P1480, "String" + assign $P1480, "" + store_lex "$str", $P1480 + find_lex $P1481, "$past" .annotate 'line', 452 - find_lex $P1501, "$/" - unless_null $P1501, vivify_337 - $P1501 = root_new ['parrot';'Hash'] + find_lex $P1483, "$/" + unless_null $P1483, vivify_337 + $P1483 = root_new ['parrot';'Hash'] vivify_337: - set $P1502, $P1501["name"] - unless_null $P1502, vivify_338 - new $P1502, "Undef" + set $P1484, $P1483["name"] + unless_null $P1484, vivify_338 + new $P1484, "Undef" vivify_338: - if $P1502, if_1500 + if $P1484, if_1482 .annotate 'line', 456 - find_lex $P1515, "$/" - unless_null $P1515, vivify_339 - $P1515 = root_new ['parrot';'Hash'] + find_lex $P1497, "$/" + unless_null $P1497, vivify_339 + $P1497 = root_new ['parrot';'Hash'] vivify_339: - set $P1516, $P1515["charspec"] - unless_null $P1516, vivify_340 - new $P1516, "Undef" + set $P1498, $P1497["charspec"] + unless_null $P1498, vivify_340 + new $P1498, "Undef" vivify_340: - defined $I1517, $P1516 - unless $I1517, for_undef_341 - iter $P1514, $P1516 - new $P1546, 'ExceptionHandler' - set_addr $P1546, loop1545_handler - $P1546."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) - push_eh $P1546 - loop1545_test: - unless $P1514, loop1545_done - shift $P1518, $P1514 - loop1545_redo: - .const 'Sub' $P1520 = "87_1276996315.25554" - capture_lex $P1520 - $P1520($P1518) - loop1545_next: - goto loop1545_test - loop1545_handler: + defined $I1499, $P1498 + unless $I1499, for_undef_341 + iter $P1496, $P1498 + new $P1528, 'ExceptionHandler' + set_addr $P1528, loop1527_handler + $P1528."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST) + push_eh $P1528 + loop1527_test: + unless $P1496, loop1527_done + shift $P1500, $P1496 + loop1527_redo: + .const 'Sub' $P1502 = "86_1278500533.96053" + capture_lex $P1502 + $P1502($P1500) + loop1527_next: + goto loop1527_test + loop1527_handler: .local pmc exception .get_results (exception) - getattribute $P1547, exception, 'type' - eq $P1547, .CONTROL_LOOP_NEXT, loop1545_next - eq $P1547, .CONTROL_LOOP_REDO, loop1545_redo - loop1545_done: + getattribute $P1529, exception, 'type' + eq $P1529, .CONTROL_LOOP_NEXT, loop1527_next + eq $P1529, .CONTROL_LOOP_REDO, loop1527_redo + loop1527_done: pop_eh for_undef_341: .annotate 'line', 481 - get_hll_global $P1548, ["PAST"], "Regex" - find_lex $P1549, "$str" - find_lex $P1550, "$/" - $P1551 = $P1548."new"($P1549, "enumcharlist" :named("pasttype"), $P1550 :named("node")) - store_lex "$past", $P1551 + get_hll_global $P1530, ["PAST"], "Regex" + find_lex $P1531, "$str" + find_lex $P1532, "$/" + $P1533 = $P1530."new"($P1531, "enumcharlist" :named("pasttype"), $P1532 :named("node")) + store_lex "$past", $P1533 .annotate 'line', 455 - goto if_1500_end - if_1500: + goto if_1482_end + if_1482: .annotate 'line', 452 - .const 'Sub' $P1504 = "86_1276996315.25554" - capture_lex $P1504 - $P1504() - if_1500_end: + .const 'Sub' $P1486 = "85_1278500533.96053" + capture_lex $P1486 + $P1486() + if_1482_end: .annotate 'line', 483 - find_lex $P1552, "$past" - find_lex $P1553, "$/" - unless_null $P1553, vivify_353 - $P1553 = root_new ['parrot';'Hash'] + find_lex $P1534, "$past" + find_lex $P1535, "$/" + unless_null $P1535, vivify_353 + $P1535 = root_new ['parrot';'Hash'] vivify_353: - set $P1554, $P1553["sign"] - unless_null $P1554, vivify_354 - new $P1554, "Undef" + set $P1536, $P1535["sign"] + unless_null $P1536, vivify_354 + new $P1536, "Undef" vivify_354: - set $S1555, $P1554 - iseq $I1556, $S1555, "-" - $P1552."negate"($I1556) + set $S1537, $P1536 + iseq $I1538, $S1537, "-" + $P1534."negate"($I1538) .annotate 'line', 484 - find_lex $P1557, "$/" - find_lex $P1558, "$past" - $P1559 = $P1557."!make"($P1558) + find_lex $P1539, "$/" + find_lex $P1540, "$past" + $P1541 = $P1539."!make"($P1540) .annotate 'line', 449 - .return ($P1559) - control_1493: + .return ($P1541) + control_1475: .local pmc exception .get_results (exception) - getattribute $P1560, exception, "payload" - .return ($P1560) + getattribute $P1542, exception, "payload" + .return ($P1542) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1519" :anon :subid("87_1276996315.25554") :outer("85_1276996315.25554") - .param pmc param_1521 +.sub "_block1501" :anon :subid("86_1278500533.96053") :outer("84_1278500533.96053") + .param pmc param_1503 .annotate 'line', 456 - .const 'Sub' $P1527 = "88_1276996315.25554" - capture_lex $P1527 - .lex "$_", param_1521 + .const 'Sub' $P1509 = "87_1278500533.96053" + capture_lex $P1509 + .lex "$_", param_1503 .annotate 'line', 457 - find_lex $P1524, "$_" - unless_null $P1524, vivify_342 - $P1524 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1506, "$_" + unless_null $P1506, vivify_342 + $P1506 = root_new ['parrot';'ResizablePMCArray'] vivify_342: - set $P1525, $P1524[1] - unless_null $P1525, vivify_343 - new $P1525, "Undef" + set $P1507, $P1506[1] + unless_null $P1507, vivify_343 + new $P1507, "Undef" vivify_343: - if $P1525, if_1523 + if $P1507, if_1505 .annotate 'line', 479 - find_lex $P1541, "$str" - find_lex $P1542, "$_" - unless_null $P1542, vivify_344 - $P1542 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1523, "$str" + find_lex $P1524, "$_" + unless_null $P1524, vivify_344 + $P1524 = root_new ['parrot';'ResizablePMCArray'] vivify_344: - set $P1543, $P1542[0] - unless_null $P1543, vivify_345 - new $P1543, "Undef" + set $P1525, $P1524[0] + unless_null $P1525, vivify_345 + new $P1525, "Undef" vivify_345: - concat $P1544, $P1541, $P1543 - store_lex "$str", $P1544 - set $P1522, $P1544 + concat $P1526, $P1523, $P1525 + store_lex "$str", $P1526 + set $P1504, $P1526 .annotate 'line', 457 - goto if_1523_end - if_1523: - .const 'Sub' $P1527 = "88_1276996315.25554" - capture_lex $P1527 - $P1540 = $P1527() - set $P1522, $P1540 - if_1523_end: + goto if_1505_end + if_1505: + .const 'Sub' $P1509 = "87_1278500533.96053" + capture_lex $P1509 + $P1522 = $P1509() + set $P1504, $P1522 + if_1505_end: .annotate 'line', 456 - .return ($P1522) + .return ($P1504) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1526" :anon :subid("88_1276996315.25554") :outer("87_1276996315.25554") +.sub "_block1508" :anon :subid("87_1278500533.96053") :outer("86_1278500533.96053") .annotate 'line', 458 - new $P1528, "Undef" - .lex "$a", $P1528 + new $P1510, "Undef" + .lex "$a", $P1510 .annotate 'line', 459 - new $P1529, "Undef" - .lex "$b", $P1529 + new $P1511, "Undef" + .lex "$b", $P1511 .annotate 'line', 460 - new $P1530, "Undef" - .lex "$c", $P1530 + new $P1512, "Undef" + .lex "$c", $P1512 .annotate 'line', 458 - find_lex $P1531, "$_" - unless_null $P1531, vivify_346 - $P1531 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1513, "$_" + unless_null $P1513, vivify_346 + $P1513 = root_new ['parrot';'ResizablePMCArray'] vivify_346: - set $P1532, $P1531[0] - unless_null $P1532, vivify_347 - new $P1532, "Undef" + set $P1514, $P1513[0] + unless_null $P1514, vivify_347 + new $P1514, "Undef" vivify_347: - store_lex "$a", $P1532 + store_lex "$a", $P1514 .annotate 'line', 459 - find_lex $P1533, "$_" - unless_null $P1533, vivify_348 - $P1533 = root_new ['parrot';'ResizablePMCArray'] + find_lex $P1515, "$_" + unless_null $P1515, vivify_348 + $P1515 = root_new ['parrot';'ResizablePMCArray'] vivify_348: - set $P1534, $P1533[1] - unless_null $P1534, vivify_349 - $P1534 = root_new ['parrot';'ResizablePMCArray'] + set $P1516, $P1515[1] + unless_null $P1516, vivify_349 + $P1516 = root_new ['parrot';'ResizablePMCArray'] vivify_349: - set $P1535, $P1534[0] - unless_null $P1535, vivify_350 - new $P1535, "Undef" + set $P1517, $P1516[0] + unless_null $P1517, vivify_350 + new $P1517, "Undef" vivify_350: - store_lex "$b", $P1535 + store_lex "$b", $P1517 .annotate 'line', 460 $P0 = find_lex '$a' @@ -11946,161 +11979,207 @@ Regex::P6Regex - Parser/compiler for Perl 6 regexes inc $I0 goto cclass_loop cclass_done: - $P1536 = box $S2 + $P1518 = box $S2 - store_lex "$c", $P1536 + store_lex "$c", $P1518 .annotate 'line', 477 - find_lex $P1537, "$str" - find_lex $P1538, "$c" - concat $P1539, $P1537, $P1538 - store_lex "$str", $P1539 + find_lex $P1519, "$str" + find_lex $P1520, "$c" + concat $P1521, $P1519, $P1520 + store_lex "$str", $P1521 .annotate 'line', 457 - .return ($P1539) + .return ($P1521) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1503" :anon :subid("86_1276996315.25554") :outer("85_1276996315.25554") +.sub "_block1485" :anon :subid("85_1278500533.96053") :outer("84_1278500533.96053") .annotate 'line', 453 - new $P1505, "Undef" - .lex "$name", $P1505 - find_lex $P1506, "$/" - unless_null $P1506, vivify_351 - $P1506 = root_new ['parrot';'Hash'] + new $P1487, "Undef" + .lex "$name", $P1487 + find_lex $P1488, "$/" + unless_null $P1488, vivify_351 + $P1488 = root_new ['parrot';'Hash'] vivify_351: - set $P1507, $P1506["name"] - unless_null $P1507, vivify_352 - new $P1507, "Undef" + set $P1489, $P1488["name"] + unless_null $P1489, vivify_352 + new $P1489, "Undef" vivify_352: - set $S1508, $P1507 - new $P1509, 'String' - set $P1509, $S1508 - store_lex "$name", $P1509 + set $S1490, $P1489 + new $P1491, 'String' + set $P1491, $S1490 + store_lex "$name", $P1491 .annotate 'line', 454 - get_hll_global $P1510, ["PAST"], "Regex" - find_lex $P1511, "$name" - find_lex $P1512, "$/" - $P1513 = $P1510."new"($P1511, "subrule" :named("pasttype"), "method" :named("subtype"), $P1512 :named("node")) - store_lex "$past", $P1513 + get_hll_global $P1492, ["PAST"], "Regex" + find_lex $P1493, "$name" + find_lex $P1494, "$/" + $P1495 = $P1492."new"($P1493, "subrule" :named("pasttype"), "method" :named("subtype"), $P1494 :named("node")) + store_lex "$past", $P1495 .annotate 'line', 452 - .return ($P1513) + .return ($P1495) .end .namespace ["Regex";"P6Regex";"Actions"] .include "except_types.pasm" -.sub "mod_internal" :subid("89_1276996315.25554") :method :outer("11_1276996315.25554") - .param pmc param_1564 +.sub "mod_internal" :subid("88_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1546 .annotate 'line', 487 - new $P1563, 'ExceptionHandler' - set_addr $P1563, control_1562 - $P1563."handle_types"(.CONTROL_RETURN) - push_eh $P1563 + new $P1545, 'ExceptionHandler' + set_addr $P1545, control_1544 + $P1545."handle_types"(.CONTROL_RETURN) + push_eh $P1545 .lex "self", self - .lex "$/", param_1564 + .lex "$/", param_1546 .annotate 'line', 488 - $P1565 = root_new ['parrot';'Hash'] - .lex "%mods", $P1565 + $P1547 = root_new ['parrot';'Hash'] + .lex "%mods", $P1547 .annotate 'line', 489 - new $P1566, "Undef" - .lex "$n", $P1566 + new $P1548, "Undef" + .lex "$n", $P1548 .annotate 'line', 488 - get_global $P1567, "@MODIFIERS" - unless_null $P1567, vivify_355 - $P1567 = root_new ['parrot';'ResizablePMCArray'] + get_global $P1549, "@MODIFIERS" + unless_null $P1549, vivify_355 + $P1549 = root_new ['parrot';'ResizablePMCArray'] vivify_355: - set $P1568, $P1567[0] - unless_null $P1568, vivify_356 - new $P1568, "Undef" + set $P1550, $P1549[0] + unless_null $P1550, vivify_356 + new $P1550, "Undef" vivify_356: - store_lex "%mods", $P1568 + store_lex "%mods", $P1550 .annotate 'line', 489 - find_lex $P1571, "$/" - unless_null $P1571, vivify_357 - $P1571 = root_new ['parrot';'Hash'] + find_lex $P1553, "$/" + unless_null $P1553, vivify_357 + $P1553 = root_new ['parrot';'Hash'] vivify_357: - set $P1572, $P1571["n"] - unless_null $P1572, vivify_358 - $P1572 = root_new ['parrot';'ResizablePMCArray'] + set $P1554, $P1553["n"] + unless_null $P1554, vivify_358 + $P1554 = root_new ['parrot';'ResizablePMCArray'] vivify_358: - set $P1573, $P1572[0] - unless_null $P1573, vivify_359 - new $P1573, "Undef" + set $P1555, $P1554[0] + unless_null $P1555, vivify_359 + new $P1555, "Undef" vivify_359: - set $S1574, $P1573 - isgt $I1575, $S1574, "" - if $I1575, if_1570 - new $P1580, "Integer" - assign $P1580, 1 - set $P1569, $P1580 - goto if_1570_end - if_1570: - find_lex $P1576, "$/" - unless_null $P1576, vivify_360 - $P1576 = root_new ['parrot';'Hash'] + set $S1556, $P1555 + isgt $I1557, $S1556, "" + if $I1557, if_1552 + new $P1562, "Integer" + assign $P1562, 1 + set $P1551, $P1562 + goto if_1552_end + if_1552: + find_lex $P1558, "$/" + unless_null $P1558, vivify_360 + $P1558 = root_new ['parrot';'Hash'] vivify_360: - set $P1577, $P1576["n"] - unless_null $P1577, vivify_361 - $P1577 = root_new ['parrot';'ResizablePMCArray'] + set $P1559, $P1558["n"] + unless_null $P1559, vivify_361 + $P1559 = root_new ['parrot';'ResizablePMCArray'] vivify_361: - set $P1578, $P1577[0] - unless_null $P1578, vivify_362 - new $P1578, "Undef" + set $P1560, $P1559[0] + unless_null $P1560, vivify_362 + new $P1560, "Undef" vivify_362: - set $N1579, $P1578 - new $P1569, 'Float' - set $P1569, $N1579 - if_1570_end: - store_lex "$n", $P1569 + set $N1561, $P1560 + new $P1551, 'Float' + set $P1551, $N1561 + if_1552_end: + store_lex "$n", $P1551 .annotate 'line', 490 - find_lex $P1581, "$n" - find_lex $P1582, "$/" - unless_null $P1582, vivify_363 - $P1582 = root_new ['parrot';'Hash'] + find_lex $P1563, "$n" + find_lex $P1564, "$/" + unless_null $P1564, vivify_363 + $P1564 = root_new ['parrot';'Hash'] vivify_363: - set $P1583, $P1582["mod_ident"] - unless_null $P1583, vivify_364 - $P1583 = root_new ['parrot';'Hash'] + set $P1565, $P1564["mod_ident"] + unless_null $P1565, vivify_364 + $P1565 = root_new ['parrot';'Hash'] vivify_364: - set $P1584, $P1583["sym"] - unless_null $P1584, vivify_365 - new $P1584, "Undef" + set $P1566, $P1565["sym"] + unless_null $P1566, vivify_365 + new $P1566, "Undef" vivify_365: - set $S1585, $P1584 - find_lex $P1586, "%mods" - unless_null $P1586, vivify_366 - $P1586 = root_new ['parrot';'Hash'] - store_lex "%mods", $P1586 + set $S1567, $P1566 + find_lex $P1568, "%mods" + unless_null $P1568, vivify_366 + $P1568 = root_new ['parrot';'Hash'] + store_lex "%mods", $P1568 vivify_366: - set $P1586[$S1585], $P1581 + set $P1568[$S1567], $P1563 .annotate 'line', 491 - find_lex $P1587, "$/" - $P1588 = $P1587."!make"(0) + find_lex $P1569, "$/" + $P1570 = $P1569."!make"(0) .annotate 'line', 487 - .return ($P1588) - control_1562: + .return ($P1570) + control_1544: + .local pmc exception + .get_results (exception) + getattribute $P1571, exception, "payload" + .return ($P1571) +.end + + +.namespace ["Regex";"P6Regex";"Actions"] +.include "except_types.pasm" +.sub "subrule_alias" :subid("89_1278500533.96053") :method :outer("11_1278500533.96053") + .param pmc param_1578 + .param pmc param_1579 +.annotate 'line', 584 + new $P1577, 'ExceptionHandler' + set_addr $P1577, control_1576 + $P1577."handle_types"(.CONTROL_RETURN) + push_eh $P1577 + .lex "self", self + .lex "$past", param_1578 + .lex "$name", param_1579 +.annotate 'line', 585 + find_lex $P1581, "$past" + $S1582 = $P1581."name"() + isgt $I1583, $S1582, "" + if $I1583, if_1580 +.annotate 'line', 586 + find_lex $P1590, "$past" + find_lex $P1591, "$name" + $P1590."name"($P1591) + goto if_1580_end + if_1580: +.annotate 'line', 585 + find_lex $P1584, "$past" + find_lex $P1585, "$name" + concat $P1586, $P1585, "=" + find_lex $P1587, "$past" + $S1588 = $P1587."name"() + concat $P1589, $P1586, $S1588 + $P1584."name"($P1589) + if_1580_end: +.annotate 'line', 587 + find_lex $P1592, "$past" + $P1593 = $P1592."subtype"("capture") +.annotate 'line', 584 + .return ($P1593) + control_1576: .local pmc exception .get_results (exception) - getattribute $P1589, exception, "payload" - .return ($P1589) + getattribute $P1594, exception, "payload" + .return ($P1594) .end .namespace ["Regex";"P6Regex";"Actions"] -.sub "_block1594" :load :anon :subid("90_1276996315.25554") +.sub "_block1596" :load :anon :subid("90_1278500533.96053") .annotate 'line', 4 - .const 'Sub' $P1596 = "11_1276996315.25554" - $P1597 = $P1596() - .return ($P1597) + .const 'Sub' $P1598 = "11_1278500533.96053" + $P1599 = $P1598() + .return ($P1599) .end .namespace [] -.sub "_block1600" :load :anon :subid("91_1276996315.25554") +.sub "_block1602" :load :anon :subid("91_1278500533.96053") .annotate 'line', 1 - .const 'Sub' $P1602 = "10_1276996315.25554" - $P1603 = $P1602() - .return ($P1603) + .const 'Sub' $P1604 = "10_1278500533.96053" + $P1605 = $P1604() + .return ($P1605) .end # .include 'src/cheats/p6regex-grammar.pir' diff --git a/ext/nqp-rx/src/stage0/nqp-setting.nqp b/ext/nqp-rx/src/stage0/nqp-setting.nqp index e2c8dfd490..3810cac440 100644 --- a/ext/nqp-rx/src/stage0/nqp-setting.nqp +++ b/ext/nqp-rx/src/stage0/nqp-setting.nqp @@ -17,6 +17,22 @@ more methods typical of Perl 6 lists and arrays. module ResizablePMCArray { + =begin item delete + Remove item at C<$pos> + =end item + + method delete($pos) { + pir::delete__vQi(self, $pos); + } + + =begin item exists + Return true if item exists at C<$pos> + =end item + + method exists($pos) { + pir::exists__IQi(self, $pos); + } + =begin item join Return all elements joined by $sep. =end item diff --git a/include/parrot/context.h b/include/parrot/context.h index fdcf84a551..47555de024 100644 --- a/include/parrot/context.h +++ b/include/parrot/context.h @@ -78,402 +78,340 @@ typedef struct Parrot_CallContext_attributes Parrot_Context; /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ PARROT_EXPORT -UINTVAL Parrot_pcc_dec_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +UINTVAL Parrot_pcc_dec_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_errors_off_func(PARROT_INTERP, - ARGIN(PMC *ctx), - UINTVAL flags) - __attribute__nonnull__(1) +void Parrot_pcc_errors_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_errors_on_func(PARROT_INTERP, - ARGIN(PMC *ctx), - UINTVAL flags) - __attribute__nonnull__(1) +void Parrot_pcc_errors_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_errors_test_func(PARROT_INTERP, +PARROT_PURE_FUNCTION +UINTVAL Parrot_pcc_errors_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT PARROT_CANNOT_RETURN_NULL -struct PackFile_Constant ** Parrot_pcc_get_constants_func(PARROT_INTERP, +PARROT_PURE_FUNCTION +struct PackFile_Constant ** Parrot_pcc_get_constants_func(SHIM_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT PARROT_CAN_RETURN_NULL -Parrot_Context* Parrot_pcc_get_context_struct_func(PARROT_INTERP, - ARGIN_NULLOK(PMC *ctx)) - __attribute__nonnull__(1); +PARROT_PURE_FUNCTION +Parrot_Context* Parrot_pcc_get_context_struct_func(SHIM_INTERP, + ARGIN_NULLOK(PMC *ctx)); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT -INTVAL Parrot_pcc_get_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PARROT_PURE_FUNCTION +INTVAL Parrot_pcc_get_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -INTVAL Parrot_pcc_get_int_constant_func(PARROT_INTERP, +INTVAL Parrot_pcc_get_int_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CANNOT_RETURN_NULL -PMC* Parrot_pcc_get_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -FLOATVAL Parrot_pcc_get_num_constant_func(PARROT_INTERP, +FLOATVAL Parrot_pcc_get_num_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_object_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_object_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -opcode_t* Parrot_pcc_get_pc_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +opcode_t* Parrot_pcc_get_pc_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_pmc_constant_func(PARROT_INTERP, +PMC* Parrot_pcc_get_pmc_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_get_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PARROT_PURE_FUNCTION +UINTVAL Parrot_pcc_get_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -PMC* Parrot_pcc_get_signature_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +PMC* Parrot_pcc_get_signature_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL -STRING* Parrot_pcc_get_string_constant_func(PARROT_INTERP, +STRING* Parrot_pcc_get_string_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_inc_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) - __attribute__nonnull__(1) +UINTVAL Parrot_pcc_inc_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_caller_ctx_func(PARROT_INTERP, +void Parrot_pcc_set_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *caller_ctx)) - __attribute__nonnull__(1) __attribute__nonnull__(2) __attribute__nonnull__(3); PARROT_EXPORT PARROT_CAN_RETURN_NULL -void Parrot_pcc_set_constants_func(PARROT_INTERP, +void Parrot_pcc_set_constants_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(struct PackFile_Constant **constants)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_continuation_func(PARROT_INTERP, +void Parrot_pcc_set_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_continuation)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_handlers_func(PARROT_INTERP, +void Parrot_pcc_set_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *handlers)) - __attribute__nonnull__(1) __attribute__nonnull__(2) __attribute__nonnull__(3); PARROT_EXPORT -void Parrot_pcc_set_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL hll) - __attribute__nonnull__(1) +void Parrot_pcc_set_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL hll) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_lex_pad_func(PARROT_INTERP, +void Parrot_pcc_set_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *lex_pad)) - __attribute__nonnull__(1) __attribute__nonnull__(2) __attribute__nonnull__(3); PARROT_EXPORT -void Parrot_pcc_set_namespace_func(PARROT_INTERP, +void Parrot_pcc_set_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_namespace)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_object_func(PARROT_INTERP, +void Parrot_pcc_set_object_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *object)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_outer_ctx_func(PARROT_INTERP, +void Parrot_pcc_set_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *outer_ctx)) - __attribute__nonnull__(1) __attribute__nonnull__(2) __attribute__nonnull__(3); PARROT_EXPORT -void Parrot_pcc_set_pc_func(PARROT_INTERP, +void Parrot_pcc_set_pc_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(opcode_t *pc)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_set_signature_func(PARROT_INTERP, +void Parrot_pcc_set_signature_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig_object)) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_trace_flags_off_func(PARROT_INTERP, +void Parrot_pcc_trace_flags_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_trace_flags_on_func(PARROT_INTERP, +void Parrot_pcc_trace_flags_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_trace_flags_test_func(PARROT_INTERP, +PARROT_PURE_FUNCTION +UINTVAL Parrot_pcc_trace_flags_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -void Parrot_pcc_warnings_off_func(PARROT_INTERP, +void Parrot_pcc_warnings_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_warnings_on_func(PARROT_INTERP, +UINTVAL Parrot_pcc_warnings_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); PARROT_EXPORT -UINTVAL Parrot_pcc_warnings_test_func(PARROT_INTERP, +PARROT_PURE_FUNCTION +UINTVAL Parrot_pcc_warnings_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) - __attribute__nonnull__(1) __attribute__nonnull__(2); #define ASSERT_ARGS_Parrot_pcc_dec_recursion_depth_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_errors_off_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_errors_on_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_errors_test_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_caller_ctx_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_constants_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_context_struct_func \ - __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp)) + __attribute__unused__ int _ASSERT_ARGS_CHECK = (0) #define ASSERT_ARGS_Parrot_pcc_get_continuation_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_handlers_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_HLL_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_int_constant_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_lex_pad_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_namespace_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_num_constant_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_object_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_outer_ctx_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_pc_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_pmc_constant_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_recursion_depth_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_signature_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_get_string_constant_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_inc_recursion_depth_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_caller_ctx_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx) \ + PARROT_ASSERT_ARG(ctx) \ , PARROT_ASSERT_ARG(caller_ctx)) #define ASSERT_ARGS_Parrot_pcc_set_constants_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_continuation_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_handlers_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx) \ + PARROT_ASSERT_ARG(ctx) \ , PARROT_ASSERT_ARG(handlers)) #define ASSERT_ARGS_Parrot_pcc_set_HLL_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_lex_pad_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx) \ + PARROT_ASSERT_ARG(ctx) \ , PARROT_ASSERT_ARG(lex_pad)) #define ASSERT_ARGS_Parrot_pcc_set_namespace_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_object_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_outer_ctx_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx) \ + PARROT_ASSERT_ARG(ctx) \ , PARROT_ASSERT_ARG(outer_ctx)) #define ASSERT_ARGS_Parrot_pcc_set_pc_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_set_signature_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_trace_flags_off_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_trace_flags_on_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_trace_flags_test_func \ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_warnings_off_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_warnings_on_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) #define ASSERT_ARGS_Parrot_pcc_warnings_test_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ - PARROT_ASSERT_ARG(interp) \ - , PARROT_ASSERT_ARG(ctx)) + PARROT_ASSERT_ARG(ctx)) /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ /* HEADERIZER END: src/call/context_accessors.c */ diff --git a/include/parrot/dynext.h b/include/parrot/dynext.h index 114944f7df..d408ebe5e4 100644 --- a/include/parrot/dynext.h +++ b/include/parrot/dynext.h @@ -31,6 +31,13 @@ PMC * Parrot_clone_lib_into( FUNC_MODIFIES(*d) FUNC_MODIFIES(*s); +PARROT_EXPORT +PARROT_CAN_RETURN_NULL +void * Parrot_dlsym_str(PARROT_INTERP, + ARGIN_NULLOK(void *handle), + ARGIN_NULLOK(STRING *symbol)) + __attribute__nonnull__(1); + PARROT_EXPORT PARROT_CANNOT_RETURN_NULL PMC * Parrot_init_lib(PARROT_INTERP, @@ -50,6 +57,8 @@ PMC * Parrot_load_lib(PARROT_INTERP, PARROT_ASSERT_ARG(d) \ , PARROT_ASSERT_ARG(s) \ , PARROT_ASSERT_ARG(lib_pmc)) +#define ASSERT_ARGS_Parrot_dlsym_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ + PARROT_ASSERT_ARG(interp)) #define ASSERT_ARGS_Parrot_init_lib __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ PARROT_ASSERT_ARG(interp)) #define ASSERT_ARGS_Parrot_load_lib __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ diff --git a/include/parrot/extend.h b/include/parrot/extend.h index f826dc9eb1..134047413b 100644 --- a/include/parrot/extend.h +++ b/include/parrot/extend.h @@ -28,7 +28,6 @@ #if defined(PARROT_IN_CORE) #define Parrot_Language Parrot_Int -#define Parrot_VTABLE VTABLE * /* Macro to save off the original stack pointer for GC scanning. If the stacktop was NULL, then set it to the address of the cached @@ -74,8 +73,10 @@ void Parrot_ext_call(PARROT_INTERP, __attribute__nonnull__(3); PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_WARN_UNUSED_RESULT -Parrot_Language Parrot_find_language(SHIM_INTERP, SHIM(char *language)); +Parrot_Language Parrot_find_language(SHIM_INTERP, + SHIM(const char *language)); PARROT_EXPORT int Parrot_fprintf(PARROT_INTERP, @@ -90,22 +91,27 @@ PARROT_EXPORT void Parrot_free_cstring(ARGFREE(char *string)); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_Int Parrot_get_intreg(PARROT_INTERP, Parrot_Int regnum) __attribute__nonnull__(1); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_Float Parrot_get_numreg(PARROT_INTERP, Parrot_Int regnum) __attribute__nonnull__(1); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_get_pmcreg(PARROT_INTERP, Parrot_Int regnum) __attribute__nonnull__(1); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_get_root_namespace(PARROT_INTERP) __attribute__nonnull__(1); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_String Parrot_get_strreg(PARROT_INTERP, Parrot_Int regnum) __attribute__nonnull__(1); @@ -128,6 +134,7 @@ Parrot_PMC Parrot_PMC_newclass(PARROT_INTERP, Parrot_PMC classtype) __attribute__nonnull__(1); PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_PMC_null(void); PARROT_EXPORT diff --git a/include/parrot/hash.h b/include/parrot/hash.h index f1df1b2e49..884fd731e5 100644 --- a/include/parrot/hash.h +++ b/include/parrot/hash.h @@ -9,10 +9,6 @@ #ifndef PARROT_HASH_H_GUARD #define PARROT_HASH_H_GUARD -/* Prototypes */ - -/* Hash is really a hashtable, but 'hash' is standard perl nomenclature. */ - typedef enum { enum_hash_undef, enum_hash_int = enum_type_INTVAL, @@ -22,14 +18,6 @@ typedef enum { enum_hash_ptr = enum_type_ptr } HashEntryType; -/* - * hash_entry is currently unused in the hash structure - -typedef struct _hash_entry { - HashEntryType type; - UnionVal val; -} HashEntry; -*/ /* A BucketIndex is an index into the pool of available buckets. */ typedef UINTVAL BucketIndex; @@ -59,18 +47,38 @@ typedef struct _hashbucket { } HashBucket; struct _hash { - HashBucket *bs; /* store of buckets */ - HashBucket **bi; /* list of Bucket pointers */ - HashBucket *free_list; /* empty buckets */ - UINTVAL entries; /* Number of values stored in hashtable */ - UINTVAL mask; /* alloced - 1 */ - PMC *container; /* e.g. the PerlHash PMC */ - Hash_key_type key_type; /* cstring, ascii-string, utf8-string */ - PARROT_DATA_TYPE entry_type;/* type of value */ - size_t seed; /* randomizes the hash_key generation - updated for each new hash */ - hash_comp_fn compare; /* compare two keys, 0 = equal */ - hash_hash_key_fn hash_val; /* generate a hash value for key */ + /* Large slab store of buckets */ + HashBucket *buckets; + + /* List of Bucket pointers */ + HashBucket **bucket_indices; + + /* Store for empty buckets */ + HashBucket *free_list; + + /* Number of values stored in hashtable */ + UINTVAL entries; + + /* alloced - 1 */ + UINTVAL mask; + + /* The owner PMC */ + PMC *container; + + /* The type of key object this hash uses */ + Hash_key_type key_type; + + /* Type of value */ + PARROT_DATA_TYPE entry_type; + + /* Random seed value for seeding hash algorithms */ + size_t seed; + + /* Comparison function pointer. Returns 0 if elements are equal */ + hash_comp_fn compare; + + /* Function pointer to generate a hash value for the object */ + hash_hash_key_fn hash_val; }; typedef void (*value_free)(ARGFREE(void *)); @@ -365,6 +373,15 @@ Hash * parrot_create_hash(PARROT_INTERP, __attribute__nonnull__(4) __attribute__nonnull__(5); +void parrot_hash_clone_prunable(PARROT_INTERP, + ARGIN(const Hash *hash), + ARGOUT(Hash *dest), + int deep) + __attribute__nonnull__(1) + __attribute__nonnull__(2) + __attribute__nonnull__(3) + FUNC_MODIFIES(*dest); + PARROT_WARN_UNUSED_RESULT PARROT_PURE_FUNCTION int PMC_compare(PARROT_INTERP, ARGIN(PMC *a), ARGIN(PMC *b)) @@ -505,6 +522,10 @@ int STRING_compare_distinct_cs_enc(PARROT_INTERP, PARROT_ASSERT_ARG(interp) \ , PARROT_ASSERT_ARG(compare) \ , PARROT_ASSERT_ARG(keyhash)) +#define ASSERT_ARGS_parrot_hash_clone_prunable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ + PARROT_ASSERT_ARG(interp) \ + , PARROT_ASSERT_ARG(hash) \ + , PARROT_ASSERT_ARG(dest)) #define ASSERT_ARGS_PMC_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ PARROT_ASSERT_ARG(interp) \ , PARROT_ASSERT_ARG(a) \ diff --git a/lib/Parrot/Configure/Options/Conf/File.pm b/lib/Parrot/Configure/Options/Conf/File.pm index 2a667ed186..52b766c602 100644 --- a/lib/Parrot/Configure/Options/Conf/File.pm +++ b/lib/Parrot/Configure/Options/Conf/File.pm @@ -73,7 +73,7 @@ sub conditional_assignments { else { die "Configuration file $data->{file} did not parse correctly: $!"; } - return ($data, $steps_list_ref);; + return ($data, $steps_list_ref); } sub _get_substitutions { @@ -124,7 +124,7 @@ sub _set_general { } sub _set_steps { - my ($data, $steps, $optsref) = @_;; + my ($data, $steps, $optsref) = @_; my @steplines = split /\n/, $steps; my @steps_list = (); LINE: foreach my $line (@steplines) { diff --git a/lib/Parrot/Test.pm b/lib/Parrot/Test.pm index bf32d92d8c..63c9783246 100644 --- a/lib/Parrot/Test.pm +++ b/lib/Parrot/Test.pm @@ -280,6 +280,7 @@ use Cwd; use File::Spec; use File::Basename; use Memoize (); +use IO::File (); use lib qw( lib ); use Parrot::BuildUtil (); diff --git a/lib/Parrot/Test/Util/Runloop.pm b/lib/Parrot/Test/Util/Runloop.pm index ae8c64d715..12e2a30be7 100644 --- a/lib/Parrot/Test/Util/Runloop.pm +++ b/lib/Parrot/Test/Util/Runloop.pm @@ -19,18 +19,19 @@ Parrot::Test::Util::Runloop - consolidated test for lots of files =head1 DESCRIPTION This module provides a basic runloop for test scripts which perform the same -test, over and over, on lots of files. It is intended to consolidate some code -to handle loops, skips etc, replicated many times in the t/distro/ and -t/codingstd/ test directories. +test, over and over, on lots of files. It is intended to consolidate some +code to handle loops, skips etc, replicated many times in the F and +F test directories. You can specify a callback routine to get called back once per line (with the -per_line attribute), or once per file (with the per_file attribute). The -per_line callback gets passed the line as a text string. The per_file callback -gets passed the whole file as a text string. If the callback function returns -positive, the test passed, otherwise the test failed. Failures are tallied, -and later reported to the test harness once, as a single test. On failure, -some informational diagnostics are also generated, showing the user which -file(s) and which line(s) (if applicable) had the failure. +C attribute), or once per file (with the C attribute). +The C callback gets passed the line as a text string. The +C callback gets passed the whole file as a text string. If the +callback function returns positive, the test passed, otherwise the test +failed. Failures are tallied, and later reported to the test harness once, as +a single test. On failure, some informational diagnostics are also generated, +showing the user which file(s) and which line(s) (if applicable) had the +failure. =head1 AUTHOR diff --git a/lib/Pod/Simple/Search.pm b/lib/Pod/Simple/Search.pm index 15b7fa8880..7dd9911b17 100644 --- a/lib/Pod/Simple/Search.pm +++ b/lib/Pod/Simple/Search.pm @@ -353,7 +353,7 @@ sub _recurse_dir { } pop @$modname_bits; return; - };; + }; local $_; $recursor->($startdir, ''); diff --git a/ports/fedora/2.5.0/parrot.desk.in.tar.gz b/ports/fedora/2.5.0/parrot.desk.in.tar.gz new file mode 100644 index 0000000000..e10ed430ab Binary files /dev/null and b/ports/fedora/2.5.0/parrot.desk.in.tar.gz differ diff --git a/ports/fedora/2.5.0/parrot.patch b/ports/fedora/2.5.0/parrot.patch new file mode 100644 index 0000000000..b4dcd06c29 --- /dev/null +++ b/ports/fedora/2.5.0/parrot.patch @@ -0,0 +1,19 @@ +--- lib/Parrot/Install.pm 2009-06-01 09:29:57.000000000 +0200 ++++ lib/Parrot/Install.pm 2009-06-03 08:41:22.000000000 +0200 +@@ -220,6 +220,16 @@ + else { + next unless -e $src; + next if $^O eq 'cygwin' and -e "$src.exe"; # stat works, copy not ++ if (-l $src) { ++ # check if the system supports symbolic linking ++ use Config; ++ if ($Config{d_symlink} && $Config{d_readlink}) { ++ # copy as symbolic link ++ symlink(readlink($src), $dest); ++ print "$dest\n"; ++ next; ++ } ++ } + copy( $src, $dest ) or die "Error: couldn't copy $src to $dest: $!\n"; + print "$dest\n"; + } diff --git a/ports/fedora/2.5.0/parrot.spec b/ports/fedora/2.5.0/parrot.spec new file mode 100644 index 0000000000..02a6539917 --- /dev/null +++ b/ports/fedora/2.5.0/parrot.spec @@ -0,0 +1,372 @@ +Name: parrot +Version: 2.5.0 +Release: 1%{?dist} +Summary: a virtual machine +License: Artistic 2.0 +Group: Development/Libraries +URL: http://www.parrot.org/ + +Source0: ftp://ftp.parrot.org/pub/parrot/releases/devel/%{version}/parrot-%{version}.tar.gz +Source1: %{name}.desk.in.tar.gz + +Patch0: parrot.patch +# +# see for upstream: https://trac.parrot.org/parrot/ticket/509 +# patched file: lib/Parrot/Install.pm +# is to have the symlink: libparrot.so -> libparrot.so.%{version} +# Without this %{_libdir}/libparrot.so would not be a symbolic link to +# %{_libdir}/libparrot.so.%{version} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: readline-devel +BuildRequires: ncurses-devel +BuildRequires: gmp-devel +BuildRequires: gdbm-devel +BuildRequires: libicu-devel +BuildRequires: perl(Test::Harness) +BuildRequires: perl(Test::Simple) +BuildRequires: ctags +BuildRequires: openssl-devel +BuildRequires: flex +BuildRequires: bison +# Needed to generate the Parrot PDF book +BuildRequires: perl(Pod::PseudoPod::LaTeX), texlive-latex +# Needed to desktop-file-install usage +BuildRequires: desktop-file-utils + + +%package docs +Summary: Parrot Virtual Machine documentation +Group: Documentation +Requires: perl(strict) +Requires: perl(warnings) +# Provides the executable in the desktop file (xdg-open) +Requires: xdg-utils +BuildArch: noarch + +#-- + +%package devel +Summary: Parrot Virtual Machine development headers and libraries +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig + +#-- + +%package tools +Summary: Parrot Virtual Machine development for languages +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: perl(Pod::Simple) +Requires: perl(File::Which) >= 0.05 +Requires: perl(Parrot::OpLib::core) +# It is necessary to have installed the package "perl-Perl-Critic" to install +# the parrot-tools +Provides: perl(Parrot::Pmc2c::MethodEmitter) = %{version} +Provides: perl(Parrot::Pmc2c::PCCMETHOD_BITS) = %{version} +Provides: perl(Parrot::Pmc2c::PMCEmitter) = %{version} +Provides: perl(Parrot::OpLib::core) = %{version} + + +%description +Parrot is a virtual machine designed to efficiently compile and execute +bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6, +as well as variety of other languages. + +#-- + +%description docs +Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also +examples about the Parrot Virtual Machine. + +#-- + +%description devel +Parrot Virtual Machine development headers and libraries. + +#-- + +%description tools +Parrot Virtual Machine development files for building languages. + + +%prep +%setup -q +%patch0 -p0 + + +cat << \EOF > %{name}-prov +#!/bin/sh +%{__perl_provides} $* | %{__sed} -e '/perl(A)/d' -e '/perl(B)/d' \ + -e '/perl(DB)/d' -e '/perl(Parrot::OpLib::core)/d' +EOF + +%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov +chmod +x %{__perl_provides} + + +%build +%ifarch %{ix86} x86_64 + RPM_OPT_FLAGS="$RPM_OPT_FLAGS -maccumulate-outgoing-args" +%else +# The PowerPC-architecture do not build with the '-maccumulate-outgoing-args' +# option. + RPM_OPT_FLAGS="$RPM_OPT_FLAGS" +%endif + +# there are problems in this version with the optimize="-O2" option building on +# ppc64 and ppc with nqp-rx +%ifarch ppc64 ppc + RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS" | %{__perl} -pi -e 's/-O2//'` +%endif + +%{__perl} Configure.pl \ + --prefix=%{_usr} \ + --libdir=%{_libdir} \ + --sysconfdir=%{_sysconfdir} \ + --infodir=%{_datadir}/info \ + --mandir=%{_mandir} \ + --cc="%{__cc}" \ + --cxx=%{__cxx} \ + --optimize="$RPM_OPT_FLAGS" \ + --parrot_is_shared \ + --disable-rpath \ + --pkgconfigdir=pkgconfig \ + --lex=%{_bindir}/flex + +# The LD_LIBRARY_PATH hack is needed for "miniparrot" +# to find his parrot-library in "blib/lib" +export LD_LIBRARY_PATH=$( pwd )/blib/lib + +# pbc_to_exe would not build if %{_smp_mflags} would used +make +make html pdf + + +%install +rm -rf $RPM_BUILD_ROOT + +# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc" +# to find his parrot-library in "blib/lib" +export LD_LIBRARY_PATH=$( pwd )/blib/lib + +make install DESTDIR=$RPM_BUILD_ROOT + +# Creating man-pages +%{__install} -d $RPM_BUILD_ROOT%{_mandir}/man1 +for var in 'parrot docs/running.pod' 'parrot_debugger src/parrot_debugger.c' \ + 'pbc_disassemble src/pbc_disassemble.c' 'pbc_dump src/pbc_dump.c' \ + 'pbc_merge src/pbc_merge.c' 'pbc_to_exe tools/dev/pbc_to_exe.pir' \ + 'parrot_config tools/build/parrot_config_c.pl' \ + 'parrot-nqp compilers/nqp/README.pod' +do + MAN_NAME=`echo $var | %{__perl} -na -e 'print $F[0]'` + MAN_SOURCE=`echo $var | %{__perl} -na -e 'print $F[1]'` + pod2man --section=1 --name=$MAN_NAME $MAN_SOURCE | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/${MAN_NAME}.1.gz +done + +# Drop the docs so rpm can pick them up itself. +rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/%{name} + +# Force permissions on doc directories. +find docs examples -type d -exec chmod 755 {} \; +find docs examples -type f -exec chmod 644 {} \; + + +%define RPM_PAR_LIB_DIR $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/ + + +# Force permissions on shared versioned libs so they get stripped. +# The parrot-install-script don't set the permissions right +# With changed permissions the dependencies will be found +find %{RPM_PAR_LIB_DIR}dynext -type f -name '*.so' -exec chmod 755 {} \; + +# Remove module that should be install instead (perl(File::Which)) +rm -rf %{RPM_PAR_LIB_DIR}tools/lib/File + + +# Added to reduce output errors when using rpmlint + +# Force permission on perl-scripts in the "tools" subdirctory +find %{RPM_PAR_LIB_DIR}tools -type f -name "*.pl" -exec chmod 755 {} \; \ + -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \; +# Set path to parrot binary and Force permission +find %{RPM_PAR_LIB_DIR}tools/dev -type f -name "pbc_to_exe.pir" \ + -exec %{__sed} -i -e '1 s&#! parrot&#!/usr/bin/parrot&' {} \; \ + -exec chmod 755 {} \; + +# Remove doc-files with zero-length +find docs/html -type f -size 0 -exec rm -f {} \; +find docs -wholename 'docs/doc-prep' -type f -size 0 -exec rm -f {} \; + +# Set path for installed programs in docs package +find examples -type f \( -name "*.pir" -o \ + -wholename 'examples/shootout/random.pasm' \) \ + -exec %{__sed} -i -e '1 s&#!.*\(parrot\)&#!/usr/bin/\1&' {} \; + +find examples -type f \( -name '*.pl' -o \ + -wholename 'examples/pir/befunge/t/basic.t' -o \ + -path 'examples/languages/*/harness' \) \ + -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \; +find examples -type f -name "*.py" \ + -exec %{__sed} -i -e '1 s&#! python&#!/usr/bin/python&' {} \; +find examples -type f -name "*.rb" \ + -exec %{__sed} -i -e '1 s&#! ruby&#!/usr/bin/ruby&' {} \; + +find examples -wholename 'examples/languages/abc/t/01-tests.t' \ + -exec %{__sed} -i -e '1 s&#!perl&#!/usr/bin/perl&' {} \; + +find examples -wholename 'examples/languages/abc/t/harness' \ + -exec %{__perl} -pi -e 's/\r$//' {} \; + +#install desktop file +%{__mkdir} ${RPM_BUILD_ROOT}%{_datadir}/applications/ +%{__tar} xzf %{SOURCE1} parrot_html.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop +%{__tar} xzf %{SOURCE1} parrot_pdf.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop + +desktop-file-install --delete-original --add-category="Documentation" \ + --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ + ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop +desktop-file-install --delete-original --add-category="Documentation" \ + --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ + ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop + + +%check +# 'make fulltest' is done by default; it take a lot of time +export LD_LIBRARY_PATH=$( pwd )/blib/lib +FULL='full' +%{?_without_fulltest: FULL=''} +%{?!_without_tests: make ${FULL}test; rm -f docs/doc-prep} + + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README +%doc RESPONSIBLE_PARTIES TODO LICENSE +%{_bindir}/parrot +%{_libdir}/parrot/ +%exclude %{_libdir}/parrot/%{version}/tools +%exclude %{_libdir}/parrot/%{version}/VERSION +%{_libdir}/libparrot.so.* +%{_mandir}/man1/parrot.1.gz + +%files docs +%defattr(-,root,root,-) +%doc docs examples +%{_datadir}/applications/parrot_html.desktop +%{_datadir}/applications/parrot_pdf.desktop + +%files devel +%defattr(-,root,root,-) +%{_bindir}/parrot_config +%{_bindir}/parrot_debugger +%{_bindir}/parrot_nci_thunk_gen +%{_bindir}/parrot-nqp +%{_bindir}/parrot-prove +%{_bindir}/pbc_disassemble +%{_bindir}/pbc_merge +%{_bindir}/pbc_to_exe +%{_bindir}/pbc_dump +%{_bindir}/ops2c +%{_includedir}/parrot +%{_libdir}/libparrot.so +%exclude %{_libdir}/libparrot.a +%{_libdir}/pkgconfig/* +%{_mandir}/man1/parrot_config.1.gz +%{_mandir}/man1/parrot_debugger.1.gz +%{_mandir}/man1/pbc_disassemble.1.gz +%{_mandir}/man1/pbc_merge.1.gz +%{_mandir}/man1/pbc_to_exe.1.gz +%{_mandir}/man1/pbc_dump.1.gz +%{_mandir}/man1/parrot-nqp.1.gz + +%files tools +%defattr(-,root,root,-) +# Files for building languages +%{_libdir}/parrot/%{version}/tools/* +%{_libdir}/parrot/%{version}/VERSION +%{_usr}/src/parrot/* + + +%changelog +* Fri Jun 18 2010 Gerd Pokorra 2.5.0-1 +- updated to 2.5.0 +- add the ops2c binary +- add the parrot-prove binary + +* Tue Apr 20 2010 Gerd Pokorra 2.3.0-1 +- add desktop files to access the documentation for reading +- add the parrot_nci_thunk_gen binary + +* Wed Jan 20 2010 Gerd Pokorra 2.0.0-1 +- new upstream version +- add the parrot-nqp binary, with generating of the man-page + +* Fri Aug 21 2009 Gerd Pokorra 1.5.0-1 +- add man pages + +* Sat Aug 1 2009 Gerd Pokorra 1.4.0-9 +- include the necessary module Parrot::OpLib::core +- change the place of header files to /usr/include/parrot/ +- install the files /usr/src/parrot/* +- add the new disable-rpath configure option + +* Wed Mar 25 2009 Gerd Pokorra 1.0.0-6 +- add a list of changes from Lubomir Rintel +- add filtering Provides +- change requires for docs-subpackage +- enable test suite +- change the group of the subpackage "-docs" to Documentation +- put the main-documentation from the docs-package to the main package +- LICENSE file added +- add Provides-lines +- add patch for the file "tools/dev/install_files.pl" +- add commands to reduce output of errors when using rpmlint +- define RPM_PAR_LIB_DIR added +- add subpackage "tools" +- exclude tools directory from main-package +- added make html + +* Sun Mar 22 2009 Fabien Georget 1.0.0-4 +- add tools + +* Sun Mar 22 2009 David Fetter 1.0.0-3 +- Removed wrong prefix from pkgconfig per Christoph Wickert + +* Tue Mar 17 2009 Allison Randal 1.0.0 +- updated to 1.0.0 + +* Tue Jan 23 2009 Reini Urban 0.9.0 +- added parrot_utils to devel + +* Tue Dec 16 2008 Whiteknight 0.8.2 +- updated to 0.8.2 + +* Wed Feb 20 2008 Patrick Michaud 0.5.3 +- Update to 0.5.3. + +* Sat Mar 10 2007 Steven Pritchard 0.4.9-1 +- Update to 0.4.9. +- BuildRequires ncurses-devel. +- For some reason now I need to force -lm too. +- Remove some files/directories that shouldn't be included. +- Override lib_dir and make various substitutions to try to fix multilib. +- Remove rpath use from Makefile. +- Fix a pod error in src/ops/experimental.ops. +- Enable "make test" since t/doc/pod.t won't fail now. +- Force permissions on shared libraries so rpmbuild strips them. +- Fix URL, description, summary, etc. +- Add post/postun. +- Move parrot-config to the devel sub-package. +- Force permissions on the doc directories. +- Add -lcurses to get readline detection to work. +- Add BuildRequires libicu-devel. diff --git a/runtime/parrot/library/P6object.pir b/runtime/parrot/library/P6object.pir index f9b4bfcb51..9f42f7b021 100644 --- a/runtime/parrot/library/P6object.pir +++ b/runtime/parrot/library/P6object.pir @@ -111,7 +111,8 @@ Return the C for the invocant. .sub 'WHAT' :method :nsentry .local pmc how, what how = self.'HOW'() - .tailcall how.'WHAT'() + what = getattribute how, 'protoobject' + .return (what) .end @@ -162,25 +163,13 @@ below). =over -=item WHAT() - -Return the protoobject for this metaclass. - -=cut - -.namespace ['P6metaclass'] - -.sub 'WHAT' :method :nsentry - $P0 = getattribute self, 'protoobject' - .return ($P0) -.end - =item isa(x) Return a true value if the invocant 'isa' C. =cut +.namespace ['P6metaclass'] .sub 'isa' :method :multi(_,_, _) .param pmc obj .param pmc x @@ -829,7 +818,9 @@ will be used in lieu of this one.) $I0 = 1 end: - .return ($I0) + $P0 = new ['Boolean'] + assign $P0, $I0 + .return ($P0) .end diff --git a/runtime/parrot/library/Pg.pir b/runtime/parrot/library/Pg.pir index f612efec09..30f6631c96 100644 --- a/runtime/parrot/library/Pg.pir +++ b/runtime/parrot/library/Pg.pir @@ -8,7 +8,7 @@ Pg.pir - OO interface to libpq =head1 SYNOPSIS .local pmc pg, con, res - pg = get_class 'Pg' + pg = new 'Pg' con = pg.'connectdb'('dbname = db') res = con.'exec'('SELECT * from tab') n = res.'ntuples'() @@ -40,6 +40,7 @@ by 'Pg', 'Pg;Conn', and 'Pg;Result' classes. ## TODO generate includes from libpq-fe.h ## .include 'postgres.pasm' +.HLL 'parrot' .const int CONNECTION_OK = 0 .sub __load :load @@ -61,7 +62,7 @@ by 'Pg', 'Pg;Conn', and 'Pg;Result' classes. =item con = Pg::connectdb('var=val var=val ...') -A class method that returns a new connection object. +A method that returns a new connection object. =back diff --git a/runtime/parrot/library/SDL.pir b/runtime/parrot/library/SDL.pir index 3513a6c422..b02801282d 100644 --- a/runtime/parrot/library/SDL.pir +++ b/runtime/parrot/library/SDL.pir @@ -91,7 +91,6 @@ In fact, don't count on it sticking around. It may not. Then again, it might. .local pmc env env = new 'Env' .local string sdlpath - say'Hu' sdlpath = env['SDLLIBPATH'] if sdlpath == '' goto default_locations say sdlpath diff --git a/src/call/args.c b/src/call/args.c index 71e96fc0c3..01e4a535df 100644 --- a/src/call/args.c +++ b/src/call/args.c @@ -777,19 +777,16 @@ fill_params(PARROT_INTERP, ARGMOD_NULLOK(PMC *call_object), callee side only. Does not add :call_sig arg support on the caller side. This is not the final form of the algorithm, but should provide the tools that HLL designers need in the interim. */ - if (param_count == 1) { - const INTVAL first_flag = raw_params[0]; - - if (first_flag & PARROT_ARG_CALL_SIG) { - *accessor->pmc(interp, arg_info, 0) = call_object; - return; + if (param_count > 2 || param_count == 0) + /* help branch predictors */; + else { + const INTVAL second_flag = raw_params[param_count - 1]; + if (second_flag & PARROT_ARG_CALL_SIG) { + *accessor->pmc(interp, arg_info, param_count - 1) = call_object; + if (param_count == 1) + return; } } - else if (param_count == 2) { - const INTVAL second_flag = raw_params[1]; - if (second_flag & PARROT_ARG_CALL_SIG) - *accessor->pmc(interp, arg_info, 1) = call_object; - } /* First iterate over positional args and positional parameters. */ GETATTR_CallContext_num_positionals(interp, call_object, positional_args); @@ -882,6 +879,14 @@ fill_params(PARROT_INTERP, ARGMOD_NULLOK(PMC *call_object), /* Go ahead and fill the parameter with a positional argument. */ switch (PARROT_ARG_TYPE_MASK_MASK(param_flags)) { + case PARROT_ARG_PMC: + *accessor->pmc(interp, arg_info, param_index) = + VTABLE_get_pmc_keyed_int(interp, call_object, arg_index); + break; + case PARROT_ARG_STRING: + *accessor->string(interp, arg_info, param_index) = + VTABLE_get_string_keyed_int(interp, call_object, arg_index); + break; case PARROT_ARG_INTVAL: *accessor->intval(interp, arg_info, param_index) = VTABLE_get_integer_keyed_int(interp, call_object, arg_index); @@ -890,14 +895,6 @@ fill_params(PARROT_INTERP, ARGMOD_NULLOK(PMC *call_object), *accessor->numval(interp, arg_info, param_index) = VTABLE_get_number_keyed_int(interp, call_object, arg_index); break; - case PARROT_ARG_STRING: - *accessor->string(interp, arg_info, param_index) = - VTABLE_get_string_keyed_int(interp, call_object, arg_index); - break; - case PARROT_ARG_PMC: - *accessor->pmc(interp, arg_info, param_index) = - VTABLE_get_pmc_keyed_int(interp, call_object, arg_index); - break; default: Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION, "invalid parameter type"); @@ -959,16 +956,9 @@ fill_params(PARROT_INTERP, ARGMOD_NULLOK(PMC *call_object), } /* Now iterate over the named arguments and parameters. */ - while (1) { + while (param_index < param_count) { STRING *param_name; - INTVAL param_flags; - - /* Check if we've used up all the parameters. We'll check for leftover - * named args after the loop. */ - if (param_index >= param_count) - break; - - param_flags = raw_params[param_index]; + INTVAL param_flags = raw_params[param_index]; /* All remaining parameters must be named. */ if (!(param_flags & PARROT_ARG_NAME)) diff --git a/src/call/context.c b/src/call/context.c index 70f4b78b4b..54d31736d7 100644 --- a/src/call/context.c +++ b/src/call/context.c @@ -219,30 +219,24 @@ static void clear_regs(PARROT_INTERP, ARGMOD(Parrot_Context *ctx)) { ASSERT_ARGS(clear_regs) - UINTVAL i; + UINTVAL i; + const UINTVAL s_regs = ctx->n_regs_used[REGNO_STR]; + const UINTVAL p_regs = ctx->n_regs_used[REGNO_PMC]; - /* NULL out registers - P/S have to be NULL for GC - * - * if the architecture has 0x := NULL and 0.0 we could memset too - */ + /* NULL out registers - P/S have to be NULL for GC */ + for (i = 0; i < s_regs; ++i) + ctx->bp_ps.regs_s[i] = STRINGNULL; - for (i = 0; i < ctx->n_regs_used[REGNO_PMC]; ++i) { + for (i = 0; i < p_regs; ++i) ctx->bp_ps.regs_p[-1L - i] = PMCNULL; - } - - for (i = 0; i < ctx->n_regs_used[REGNO_STR]; ++i) { - ctx->bp_ps.regs_s[i] = STRINGNULL; - } if (Interp_debug_TEST(interp, PARROT_REG_DEBUG_FLAG)) { /* depending on -D40, set int and num to identifiable garbage values */ - for (i = 0; i < ctx->n_regs_used[REGNO_INT]; ++i) { + for (i = 0; i < ctx->n_regs_used[REGNO_INT]; ++i) ctx->bp.regs_i[i] = -999; - } - for (i = 0; i < ctx->n_regs_used[REGNO_NUM]; ++i) { + for (i = 0; i < ctx->n_regs_used[REGNO_NUM]; ++i) ctx->bp.regs_n[-1L - i] = -99.9; - } } } @@ -261,12 +255,7 @@ static void init_context(PARROT_INTERP, ARGMOD(PMC *pmcctx), ARGIN_NULLOK(PMC *pmcold)) { ASSERT_ARGS(init_context) - Parrot_Context * const ctx = CONTEXT_STRUCT(pmcctx); - - /* pmcold may be null */ - Parrot_Context *old = PMC_IS_NULL(pmcold) - ? NULL - : CONTEXT_STRUCT(pmcold); + Parrot_Context * const ctx = CONTEXT_STRUCT(pmcctx); PARROT_ASSERT_MSG(!PMC_IS_NULL(pmcctx), "Can't initialise Null CallContext"); @@ -286,7 +275,17 @@ init_context(PARROT_INTERP, ARGMOD(PMC *pmcctx), ARGIN_NULLOK(PMC *pmcold)) ctx->current_sig = PMCNULL; ctx->current_sub = PMCNULL; - if (old) { + if (PMC_IS_NULL(pmcold)) { + ctx->constants = NULL; + ctx->warns = 0; + ctx->errors = 0; + ctx->trace_flags = 0; + ctx->current_HLL = 0; + ctx->current_namespace = PMCNULL; + ctx->recursion_depth = 0; + } + else { + Parrot_Context *old = CONTEXT_STRUCT(pmcold); /* some items should better be COW copied */ ctx->constants = old->constants; ctx->warns = old->warns; @@ -298,18 +297,6 @@ init_context(PARROT_INTERP, ARGMOD(PMC *pmcctx), ARGIN_NULLOK(PMC *pmcold)) ctx->recursion_depth = old->recursion_depth; ctx->caller_ctx = pmcold; } - else { - ctx->constants = NULL; - ctx->warns = 0; - ctx->errors = 0; - ctx->trace_flags = 0; - ctx->current_HLL = 0; - ctx->current_namespace = PMCNULL; - ctx->recursion_depth = 0; - } - - /* other stuff is set inside Sub.invoke */ - clear_regs(interp, ctx); } @@ -467,7 +454,11 @@ Parrot_pcc_allocate_registers(PARROT_INTERP, ARGIN(PMC *pmcctx), ARGIN(const UINTVAL *number_regs_used)) { ASSERT_ARGS(Parrot_pcc_allocate_registers) - allocate_registers(interp, pmcctx, number_regs_used); + if (number_regs_used[0] + || number_regs_used[1] + || number_regs_used[2] + || number_regs_used[3]) + allocate_registers(interp, pmcctx, number_regs_used); } diff --git a/src/call/context_accessors.c b/src/call/context_accessors.c index 2189d04f2c..182cb08f05 100644 --- a/src/call/context_accessors.c +++ b/src/call/context_accessors.c @@ -35,8 +35,9 @@ Fetch Parrot_Context from Context PMC. PARROT_EXPORT PARROT_CAN_RETURN_NULL +PARROT_PURE_FUNCTION Parrot_Context* -Parrot_pcc_get_context_struct_func(PARROT_INTERP, ARGIN_NULLOK(PMC *ctx)) +Parrot_pcc_get_context_struct_func(SHIM_INTERP, ARGIN_NULLOK(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_context_struct_func) @@ -62,8 +63,9 @@ Get/set constants from context. PARROT_EXPORT PARROT_CANNOT_RETURN_NULL +PARROT_PURE_FUNCTION struct PackFile_Constant ** -Parrot_pcc_get_constants_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_constants_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_constants_func) return CONTEXT_STRUCT(ctx)->constants; @@ -72,7 +74,7 @@ Parrot_pcc_get_constants_func(PARROT_INTERP, ARGIN(PMC *ctx)) PARROT_EXPORT PARROT_CAN_RETURN_NULL void -Parrot_pcc_set_constants_func(PARROT_INTERP, ARGIN(PMC *ctx), +Parrot_pcc_set_constants_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(struct PackFile_Constant **constants)) { ASSERT_ARGS(Parrot_pcc_set_constants_func) @@ -91,11 +93,12 @@ Get recursion depth from context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION UINTVAL -Parrot_pcc_get_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_recursion_depth_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->recursion_depth; } @@ -111,7 +114,7 @@ Increase recursion depth. Returns previous recursion_depth value. PARROT_EXPORT UINTVAL -Parrot_pcc_inc_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_inc_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_inc_recursion_depth_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -130,7 +133,7 @@ Decrease recursion depth. Returns new recursion_depth value. PARROT_EXPORT UINTVAL -Parrot_pcc_dec_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_dec_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_dec_recursion_depth_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -151,18 +154,19 @@ Get/set caller Context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_caller_ctx_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->caller_ctx; } PARROT_EXPORT void -Parrot_pcc_set_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *caller_ctx)) +Parrot_pcc_set_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *caller_ctx)) { ASSERT_ARGS(Parrot_pcc_set_caller_ctx_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -183,18 +187,19 @@ Get/set outer Context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_outer_ctx_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->outer_ctx; } PARROT_EXPORT void -Parrot_pcc_set_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *outer_ctx)) +Parrot_pcc_set_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *outer_ctx)) { ASSERT_ARGS(Parrot_pcc_set_outer_ctx_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -214,18 +219,19 @@ Get/set LexPad. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CANNOT_RETURN_NULL PMC* -Parrot_pcc_get_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_lex_pad_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->lex_pad; } PARROT_EXPORT void -Parrot_pcc_set_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *lex_pad)) +Parrot_pcc_set_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *lex_pad)) { ASSERT_ARGS(Parrot_pcc_set_lex_pad_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -246,18 +252,19 @@ Get/set namespace of Context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_namespace_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_namespace; } PARROT_EXPORT void -Parrot_pcc_set_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_namespace)) +Parrot_pcc_set_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_namespace)) { ASSERT_ARGS(Parrot_pcc_set_namespace_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -277,17 +284,18 @@ Get/set HLL of Context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION INTVAL -Parrot_pcc_get_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_HLL_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_HLL; } PARROT_EXPORT void -Parrot_pcc_set_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL hll) +Parrot_pcc_set_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL hll) { ASSERT_ARGS(Parrot_pcc_set_HLL_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -308,19 +316,20 @@ Get/set scheduler handlers. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_handlers_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->handlers; } PARROT_EXPORT void -Parrot_pcc_set_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *handlers)) +Parrot_pcc_set_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *handlers)) { ASSERT_ARGS(Parrot_pcc_set_handlers_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -341,18 +350,19 @@ Get/set continuation of Context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_continuation_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_cont; } PARROT_EXPORT void -Parrot_pcc_set_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_continuation)) +Parrot_pcc_set_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_continuation)) { ASSERT_ARGS(Parrot_pcc_set_continuation_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -373,18 +383,19 @@ Get/set call signature object of Context (in sub/method call). */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_signature_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_signature_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_signature_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_sig; } PARROT_EXPORT void -Parrot_pcc_set_signature_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig_object)) +Parrot_pcc_set_signature_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig_object)) { ASSERT_ARGS(Parrot_pcc_set_signature_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -404,18 +415,19 @@ Get object of Context (in method call). */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_object_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_object_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_object_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_object; } PARROT_EXPORT void -Parrot_pcc_set_object_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *object)) +Parrot_pcc_set_object_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *object)) { ASSERT_ARGS(Parrot_pcc_set_object_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -435,18 +447,19 @@ Get/set program counter of Sub invocation. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL opcode_t* -Parrot_pcc_get_pc_func(PARROT_INTERP, ARGIN(PMC *ctx)) +Parrot_pcc_get_pc_func(SHIM_INTERP, ARGIN(PMC *ctx)) { ASSERT_ARGS(Parrot_pcc_get_pc_func) - const Parrot_Context *c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->current_pc; } PARROT_EXPORT void -Parrot_pcc_set_pc_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(opcode_t *pc)) +Parrot_pcc_set_pc_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(opcode_t *pc)) { ASSERT_ARGS(Parrot_pcc_set_pc_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -466,7 +479,7 @@ Set warnings flags. PARROT_EXPORT UINTVAL -Parrot_pcc_warnings_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_warnings_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_warnings_on_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -488,7 +501,7 @@ Clear warnings flags. PARROT_EXPORT void -Parrot_pcc_warnings_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_warnings_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_warnings_off_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -508,11 +521,12 @@ Test warnings flags. */ PARROT_EXPORT +PARROT_PURE_FUNCTION UINTVAL -Parrot_pcc_warnings_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_warnings_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_warnings_test_func) - Parrot_Context * const c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->warns & flags; } @@ -528,7 +542,7 @@ Set errors flags. PARROT_EXPORT void -Parrot_pcc_errors_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_errors_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_errors_on_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -548,7 +562,7 @@ Clear errors flags. PARROT_EXPORT void -Parrot_pcc_errors_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_errors_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_errors_off_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -567,11 +581,12 @@ Test errors flags. */ PARROT_EXPORT +PARROT_PURE_FUNCTION UINTVAL -Parrot_pcc_errors_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_errors_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_errors_test_func) - Parrot_Context * const c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->errors & flags; } @@ -588,7 +603,7 @@ Set trace flags. PARROT_EXPORT void -Parrot_pcc_trace_flags_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_trace_flags_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_trace_flags_on_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -609,7 +624,7 @@ Clear trace flags. PARROT_EXPORT void -Parrot_pcc_trace_flags_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_trace_flags_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_trace_flags_off_func) Parrot_Context * const c = CONTEXT_STRUCT(ctx); @@ -628,11 +643,12 @@ Test trace flags. */ PARROT_EXPORT +PARROT_PURE_FUNCTION UINTVAL -Parrot_pcc_trace_flags_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags) +Parrot_pcc_trace_flags_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags) { ASSERT_ARGS(Parrot_pcc_trace_flags_test_func) - Parrot_Context * const c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); return c->trace_flags & flags; } @@ -658,45 +674,49 @@ Get typed constant from context. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL INTVAL -Parrot_pcc_get_int_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx) +Parrot_pcc_get_int_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) { ASSERT_ARGS(Parrot_pcc_get_int_constant_func) - const Parrot_Context * c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); PARROT_ASSERT(c->constants[idx]->type == 'i'); return c->constants[idx]->u.integer; } PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL FLOATVAL -Parrot_pcc_get_num_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx) +Parrot_pcc_get_num_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) { ASSERT_ARGS(Parrot_pcc_get_num_constant_func) - const Parrot_Context * c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); PARROT_ASSERT(c->constants[idx]->type == 'n'); return c->constants[idx]->u.number; } PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL STRING* -Parrot_pcc_get_string_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx) +Parrot_pcc_get_string_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) { ASSERT_ARGS(Parrot_pcc_get_string_constant_func) - const Parrot_Context * c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); PARROT_ASSERT(c->constants[idx]->type == 's'); return c->constants[idx]->u.string; } PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_CAN_RETURN_NULL PMC* -Parrot_pcc_get_pmc_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx) +Parrot_pcc_get_pmc_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx) { ASSERT_ARGS(Parrot_pcc_get_pmc_constant_func) - const Parrot_Context * c = CONTEXT_STRUCT(ctx); + const Parrot_Context * const c = CONTEXT_STRUCT(ctx); PARROT_ASSERT((c->constants[idx]->type == 'k') || (c->constants[idx]->type == 'p')); return c->constants[idx]->u.key; diff --git a/src/call/pcc.c b/src/call/pcc.c index 208206b940..2bbb4dd675 100644 --- a/src/call/pcc.c +++ b/src/call/pcc.c @@ -291,12 +291,19 @@ do_run_ops(PARROT_INTERP, ARGIN(PMC *sub_obj)) { ASSERT_ARGS(do_run_ops) - if (sub_obj->vtable->base_type < enum_class_core_max) - return sub_obj->vtable->base_type == enum_class_Sub - || sub_obj->vtable->base_type == enum_class_MultiSub - || sub_obj->vtable->base_type == enum_class_Eval; - else - return is_invokable(interp, sub_obj); + if (sub_obj->vtable->base_type < enum_class_core_max) { + switch (sub_obj->vtable->base_type) { + case enum_class_Sub: + case enum_class_MultiSub: + case enum_class_Eval: + return 1; + case enum_class_Object: + break; + default: + return 0; + } + } + return is_invokable(interp, sub_obj); } /* @@ -352,7 +359,7 @@ Parrot_pcc_invoke_from_sig_object(PARROT_INTERP, ARGIN(PMC *sub_obj), /* PIR Subs need runops to run their opcodes. Methods and NCI subs * don't. */ - if (do_run_ops(interp, sub_obj)) { + if (dest && do_run_ops(interp, sub_obj)) { Parrot_runcore_t *old_core = interp->run_core; const opcode_t offset = dest - interp->code->base.data; diff --git a/src/dynext.c b/src/dynext.c index cc4ebfb1fe..3064885ec8 100644 --- a/src/dynext.c +++ b/src/dynext.c @@ -413,6 +413,36 @@ Parrot_init_lib(PARROT_INTERP, /* +=item C + +Same as Parrot_dlsym but takes the symbol name from a Parrot String instead +of a C string. + +=cut + +*/ + +PARROT_EXPORT +PARROT_CAN_RETURN_NULL +void * +Parrot_dlsym_str(PARROT_INTERP, + ARGIN_NULLOK(void *handle), ARGIN_NULLOK(STRING *symbol)) +{ + ASSERT_ARGS(Parrot_dlsym_str) + + void *ptr; + if (STRING_IS_NULL(symbol)) + ptr = NULL; + else { + char *const symbol_cs = Parrot_str_to_cstring(interp, symbol); + ptr = Parrot_dlsym(handle, symbol_cs); + Parrot_str_free_cstring(symbol_cs); + } + return ptr; +} + +/* + =item C @@ -453,18 +483,14 @@ run_init_lib(PARROT_INTERP, ARGIN(void *handle), "Parrot_lib_%Ss_load", lib_name); STRING * const init_func_name = Parrot_sprintf_c(interp, "Parrot_lib_%Ss_init", lib_name); - char * const cload_func_name = Parrot_str_to_cstring(interp, load_name); - char * const cinit_func_name = Parrot_str_to_cstring(interp, init_func_name); /* get load_func */ - void * dlsymfunc = Parrot_dlsym(handle, cload_func_name); + void * dlsymfunc = Parrot_dlsym_str(interp, handle, load_name); load_func = (PMC * (*)(PARROT_INTERP)) D2FPTR(dlsymfunc); - Parrot_str_free_cstring(cload_func_name); /* get init_func */ - dlsymfunc = Parrot_dlsym(handle, cinit_func_name); + dlsymfunc = Parrot_dlsym_str(interp, handle, init_func_name); init_func = (void (*)(PARROT_INTERP, PMC *)) D2FPTR(dlsymfunc); - Parrot_str_free_cstring(cinit_func_name); } else { load_func = NULL; diff --git a/src/dynpmc/gziphandle.pmc b/src/dynpmc/gziphandle.pmc index 5a6ac92d95..9548017919 100644 --- a/src/dynpmc/gziphandle.pmc +++ b/src/dynpmc/gziphandle.pmc @@ -27,7 +27,7 @@ This PMC wraps the zlib. /* HEADERIZER BEGIN: static */ /* HEADERIZER END: static */ -pmclass GzipHandle provides Handle dynpmc auto_attrs { +pmclass GzipHandle extends Handle dynpmc auto_attrs { ATTR void *file; /* @@ -224,6 +224,8 @@ GzipHandles are never tty's, returns false. */ METHOD is_tty() { + Parrot_warn_deprecated(INTERP, + "'is_tty' is deprecated, use 'isatty' instead - TT #1689"); RETURN(INTVAL 0); } diff --git a/src/dynpmc/rational.pmc b/src/dynpmc/rational.pmc index 8afa746a3d..603a96f9b1 100644 --- a/src/dynpmc/rational.pmc +++ b/src/dynpmc/rational.pmc @@ -541,7 +541,7 @@ Adds Integer-, Float- or Rational-PMCs to SELF and stores them in dest. */ VTABLE PMC *add_int(INTVAL value, PMC* dest) { - dest = STATICSELF.clone();; + dest = STATICSELF.clone(); rat_add_integer(INTERP, dest, (int) value); return dest; } diff --git a/src/extend.c b/src/extend.c index 1930cc2918..3e9499ad07 100644 --- a/src/extend.c +++ b/src/extend.c @@ -180,6 +180,7 @@ Return the root namespace */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_get_root_namespace(PARROT_INTERP) { @@ -243,6 +244,7 @@ Returns the special C PMC. */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_PMC_null(void) { @@ -337,6 +339,7 @@ Return the value of an integer register. */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_Int Parrot_get_intreg(PARROT_INTERP, Parrot_Int regnum) { @@ -355,6 +358,7 @@ Return the value of a numeric register. */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_Float Parrot_get_numreg(PARROT_INTERP, Parrot_Int regnum) { @@ -373,6 +377,7 @@ Return the value of a string register. */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_String Parrot_get_strreg(PARROT_INTERP, Parrot_Int regnum) { @@ -391,6 +396,7 @@ Return the value of a PMC register. */ PARROT_EXPORT +PARROT_PURE_FUNCTION Parrot_PMC Parrot_get_pmcreg(PARROT_INTERP, Parrot_Int regnum) { @@ -513,7 +519,8 @@ Parrot_new_string(PARROT_INTERP, ARGIN_NULLOK(const char *buffer), /* -=item C +=item C Find the magic language token for a language, by language name. @@ -522,9 +529,10 @@ Find the magic language token for a language, by language name. */ PARROT_EXPORT +PARROT_PURE_FUNCTION PARROT_WARN_UNUSED_RESULT Parrot_Language -Parrot_find_language(SHIM_INTERP, SHIM(char *language)) +Parrot_find_language(SHIM_INTERP, SHIM(const char *language)) { ASSERT_ARGS(Parrot_find_language) return 0; diff --git a/src/hash.c b/src/hash.c index 3527b00591..0203884791 100644 --- a/src/hash.c +++ b/src/hash.c @@ -14,10 +14,7 @@ creation, the types of key and value as well as appropriate compare and hashing functions can be set. This hash implementation uses just one piece of malloced memory. The -C<< hash->bs >> bucket store points to this region. - -This hash doesn't move during GC, therefore a lot of the old caveats -don't apply. +C<< hash->buckets >> bucket store points to this region. =head2 Functions @@ -357,7 +354,7 @@ PMC_compare(PARROT_INTERP, ARGIN(PMC *a), ARGIN(PMC *b)) if (a == b) return 0; - /* PMCs of different types are differ */ + /* PMCs of different types are different */ if (a->vtable->base_type != b->vtable->base_type) return 1; @@ -427,8 +424,8 @@ parrot_dump_hash(SHIM_INTERP, SHIM(const Hash *hash)) =item C -Marks the hash and its contents as live. Assumes that key and value are non -null in all buckets. +Marks the hash and its contents as live. Assumes that key and value are +non-null in all buckets. =cut @@ -482,7 +479,7 @@ parrot_mark_hash_keys(PARROT_INTERP, ARGIN(Hash *hash)) INTVAL i; for (i = hash->mask; i >= 0; --i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { if (++found > entries) @@ -518,7 +515,7 @@ parrot_mark_hash_values(PARROT_INTERP, ARGIN(Hash *hash)) INTVAL i; for (i = hash->mask; i >= 0; --i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { if (++found > entries) @@ -534,7 +531,6 @@ parrot_mark_hash_values(PARROT_INTERP, ARGIN(Hash *hash)) } } - /* =item C @@ -554,7 +550,7 @@ parrot_mark_hash_both(PARROT_INTERP, ARGIN(Hash *hash)) INTVAL i; for (i = hash->mask; i >= 0; --i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { if (++found > entries) @@ -592,31 +588,34 @@ hash_thaw(PARROT_INTERP, ARGMOD(Hash *hash), ARGMOD(PMC *info)) ASSERT_ARGS(hash_thaw) /* during thaw, info->extra is the key/value count */ - const size_t num_entries = (size_t) hash->entries; - size_t entry_index; + const size_t num_entries = (size_t) hash->entries; + const Hash_key_type key_type = hash->key_type; + const PARROT_DATA_TYPE entry_type = hash->entry_type; + size_t entry_index; hash->entries = 0; for (entry_index = 0; entry_index < num_entries; ++entry_index) { HashBucket *b; + void *key; - switch (hash->key_type) { + switch (key_type) { case Hash_key_type_int: { const INTVAL i_key = VTABLE_shift_integer(interp, info); - b = parrot_hash_put(interp, hash, (void*)i_key, NULL); + key = (void *)i_key; } break; case Hash_key_type_STRING: { STRING * const s_key = VTABLE_shift_string(interp, info); - b = parrot_hash_put(interp, hash, s_key, NULL); + key = (void *)s_key; } break; case Hash_key_type_PMC: { PMC * const p_key = VTABLE_shift_pmc(interp, info); - b = parrot_hash_put(interp, hash, p_key, NULL); + key = (void *)p_key; break; } default: @@ -625,23 +624,23 @@ hash_thaw(PARROT_INTERP, ARGMOD(Hash *hash), ARGMOD(PMC *info)) break; } - switch (hash->entry_type) { + switch (entry_type) { case enum_hash_int: { const INTVAL i = VTABLE_shift_integer(interp, info); - b->value = (void *)i; + parrot_hash_put(interp, hash, key, (void *)i); break; } case enum_hash_string: { STRING * const s = VTABLE_shift_string(interp, info); - b->value = (void *)s; + parrot_hash_put(interp, hash, key, (void *)s); break; } case enum_hash_pmc: { PMC * const p = VTABLE_shift_pmc(interp, info); - b->value = (void *)p; + parrot_hash_put(interp, hash, key, (void *)p); break; } default: @@ -675,7 +674,7 @@ hash_freeze(PARROT_INTERP, ARGIN(const Hash *hash), ARGMOD(PMC *info)) size_t i; for (i = 0; i < hash->entries; ++i) { - HashBucket * const b = hash->bs+i; + HashBucket * const b = hash->buckets + i; switch (hash->key_type) { case Hash_key_type_int: @@ -784,9 +783,9 @@ expand_hash(PARROT_INTERP, ARGMOD(Hash *hash)) HashBucket *bs, *b, *new_mem; HashBucket * const old_offset = (HashBucket *)((char *)hash + sizeof (Hash)); - void * const old_mem = hash->bs; + void * const old_mem = hash->buckets; const UINTVAL old_size = hash->mask + 1; - const UINTVAL new_size = old_size << 1; + const UINTVAL new_size = old_size << 1; /* Double. Right-shift is 2x */ const UINTVAL old_nb = N_BUCKETS(old_size); size_t offset, i; @@ -795,10 +794,10 @@ expand_hash(PARROT_INTERP, ARGMOD(Hash *hash)) e.g. 3 buckets, 4 pointers: +---+---+---+-+-+-+-+ - | --> bs | -> bi | + | --> buckets | | +---+---+---+-+-+-+-+ - ^ ^ - | old_mem | hash->bi + ^ ^ + | old_mem | hash->bucket_indices */ /* resize mem */ @@ -816,11 +815,12 @@ expand_hash(PARROT_INTERP, ARGMOD(Hash *hash)) /* +---+---+---+---+---+---+-+-+-+-+-+-+-+-+ - | bs | old_bi | new_bi | + | buckets | old_bi | new_bi | +---+---+---+---+---+---+-+-+-+-+-+-+-+-+ - ^ ^ - | new_mem | hash->bi + ^ ^ + | new_mem | hash->bucket_indices */ + bs = new_mem; old_bi = (HashBucket **)(bs + old_nb); new_bi = (HashBucket **)(bs + N_BUCKETS(new_size)); @@ -832,8 +832,8 @@ expand_hash(PARROT_INTERP, ARGMOD(Hash *hash)) mem_sys_memmove(new_bi, old_bi, old_size * sizeof (HashBucket *)); /* update hash data */ - hash->bi = new_bi; - hash->bs = bs; + hash->bucket_indices = new_bi; + hash->buckets = bs; hash->mask = new_size - 1; /* clear freshly allocated bucket index */ @@ -1024,12 +1024,6 @@ parrot_create_hash(PARROT_INTERP, PARROT_DATA_TYPE val_type, Hash_key_type hkey_ hash->entries = 0; hash->container = PMCNULL; - /* - * TODO if we have a significant amount of small hashes: - * - allocate a bigger hash structure e.g. 128 byte - * - use the bucket store and bi inside this structure - * - when reallocate copy this part - */ bp = (HashBucket *)((char *)alloc + sizeof (Hash)); hash->free_list = NULL; @@ -1037,9 +1031,9 @@ parrot_create_hash(PARROT_INTERP, PARROT_DATA_TYPE val_type, Hash_key_type hkey_ * buckets[i] directly in an OrderedHash, *if* nothing * was deleted */ - hash->bs = bp; - bp += N_BUCKETS(INITIAL_BUCKETS); - hash->bi = (HashBucket **)bp; + hash->buckets = bp; + bp += N_BUCKETS(INITIAL_BUCKETS); + hash->bucket_indices = (HashBucket **)bp; for (i = 0, --bp; i < N_BUCKETS(INITIAL_BUCKETS); ++i, --bp) { bp->next = hash->free_list; @@ -1049,7 +1043,6 @@ parrot_create_hash(PARROT_INTERP, PARROT_DATA_TYPE val_type, Hash_key_type hkey_ return hash; } - /* =item C @@ -1069,8 +1062,8 @@ parrot_hash_destroy(PARROT_INTERP, ARGFREE_NOTNULL(Hash *hash)) { ASSERT_ARGS(parrot_hash_destroy) HashBucket * const bp = (HashBucket*)((char*)hash + sizeof (Hash)); - if (bp != hash->bs) - mem_gc_free(interp, hash->bs); + if (bp != hash->buckets) + mem_gc_free(interp, hash->buckets); mem_gc_free(interp, hash); } @@ -1093,7 +1086,7 @@ parrot_chash_destroy(PARROT_INTERP, ARGMOD(Hash *hash)) UINTVAL i; for (i = 0; i <= hash->mask; ++i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { mem_gc_free(interp, bucket->key); mem_gc_free(interp, bucket->value); @@ -1127,7 +1120,7 @@ parrot_chash_destroy_values(PARROT_INTERP, ARGMOD(Hash *hash), NOTNULL(value_fre UINTVAL i; for (i = 0; i <= hash->mask; ++i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { mem_gc_free(interp, bucket->key); func(bucket->value); @@ -1206,7 +1199,7 @@ parrot_hash_get_idx(PARROT_INTERP, ARGIN(const Hash *hash), ARGMOD(PMC *key)) res = NULL; - for (b = hash->bs + i; i < size ; ++i, ++b) { + for (b = hash->buckets + i; i < size ; ++i, ++b) { /* XXX int keys may be zero - use different iterator */ if (b->key) { if (!res) @@ -1255,7 +1248,7 @@ parrot_hash_get_bucket(PARROT_INTERP, ARGIN(const Hash *hash), ARGIN_NULLOK(cons UINTVAL i; for (i = 0; i < entries; ++i) { - HashBucket * const bucket = hash->bs + i; + HashBucket * const bucket = hash->buckets + i; /* the hash->compare cost is too high for this fast path */ if (bucket->key == key) @@ -1266,7 +1259,7 @@ parrot_hash_get_bucket(PARROT_INTERP, ARGIN(const Hash *hash), ARGIN_NULLOK(cons /* if the fast search didn't work, try the normal hashing search */ { const UINTVAL hashval = (hash->hash_val)(interp, key, hash->seed); - HashBucket *bucket = hash->bi[hashval & hash->mask]; + HashBucket *bucket = hash->bucket_indices[hashval & hash->mask]; while (bucket) { /* key equality is always a match, so it's worth checking */ @@ -1347,7 +1340,7 @@ parrot_hash_put(PARROT_INTERP, ARGMOD(Hash *hash), { ASSERT_ARGS(parrot_hash_put) const UINTVAL hashval = (hash->hash_val)(interp, key, hash->seed); - HashBucket *bucket = hash->bi[hashval & hash->mask]; + HashBucket *bucket = hash->bucket_indices[hashval & hash->mask]; /* When the hash is constant, check that the key and value are also * constant. */ @@ -1364,6 +1357,7 @@ parrot_hash_put(PARROT_INTERP, ARGMOD(Hash *hash), "Used non-constant value in constant hash."); } + /* See if we have an existing value for this key */ while (bucket) { /* store hash_val or not */ if ((hash->compare)(interp, key, bucket->key) == 0) @@ -1371,22 +1365,26 @@ parrot_hash_put(PARROT_INTERP, ARGMOD(Hash *hash), bucket = bucket->next; } + /* If we have a bucket already, put the value in it. Otherwise, we need + to get a new bucket */ if (bucket) bucket->value = value; else { + /* Get a new bucket off the free list. If the free list is empty, we + expand the hash so we get more items on the free list */ bucket = hash->free_list; - if (!bucket) { expand_hash(interp, hash); bucket = hash->free_list; } + /* Add the value to the new bucket, increasing the count of elements */ ++hash->entries; hash->free_list = bucket->next; bucket->key = key; bucket->value = value; - bucket->next = hash->bi[hashval & hash->mask]; - hash->bi[hashval & hash->mask] = bucket; + bucket->next = hash->bucket_indices[hashval & hash->mask]; + hash->bucket_indices[hashval & hash->mask] = bucket; } return bucket; @@ -1412,13 +1410,13 @@ parrot_hash_delete(PARROT_INTERP, ARGMOD(Hash *hash), ARGIN(void *key)) HashBucket *prev = NULL; const UINTVAL hashval = (hash->hash_val)(interp, key, hash->seed) & hash->mask; - for (bucket = hash->bi[hashval]; bucket; bucket = bucket->next) { + for (bucket = hash->bucket_indices[hashval]; bucket; bucket = bucket->next) { if ((hash->compare)(interp, key, bucket->key) == 0) { if (prev) prev->next = bucket->next; else - hash->bi[hashval] = bucket->next; + hash->bucket_indices[hashval] = bucket->next; --hash->entries; bucket->next = hash->free_list; @@ -1448,12 +1446,33 @@ void parrot_hash_clone(PARROT_INTERP, ARGIN(const Hash *hash), ARGOUT(Hash *dest)) { ASSERT_ARGS(parrot_hash_clone) + parrot_hash_clone_prunable(interp, hash, dest, 1); +} + +/* + +=item C + +helper function to Clone C to C + +allows deep cloning of PMC types if deep set + +=cut + +*/ + +void +parrot_hash_clone_prunable(PARROT_INTERP, ARGIN(const Hash *hash), + ARGOUT(Hash *dest), int deep) +{ + ASSERT_ARGS(parrot_hash_clone_prunable) UINTVAL entries = hash->entries; UINTVAL i; for (i = 0; i < entries; ++i) { void *valtmp; - HashBucket *b = hash->bs+i; + HashBucket *b = hash->buckets + i; void * const key = b->key; switch (hash->entry_type) { @@ -1471,7 +1490,10 @@ parrot_hash_clone(PARROT_INTERP, ARGIN(const Hash *hash), ARGOUT(Hash *dest)) if (PMC_IS_NULL((PMC *)b->value)) valtmp = (void *)PMCNULL; else - valtmp = (void *)VTABLE_clone(interp, (PMC*)b->value); + if (deep) + valtmp = (void *)VTABLE_clone(interp, (PMC*)b->value); + else + valtmp = b->value; break; default: diff --git a/src/io/api.c b/src/io/api.c index 7e35cec9f5..a621a802bc 100644 --- a/src/io/api.c +++ b/src/io/api.c @@ -20,8 +20,8 @@ The C PMC provides the class-based interface for filehandles that is used in Parrot ops. TODO: Where possible, extract some of the filehandle-related details into -src/io/filehandle.c, and extract the stringhandle details into -src/io/io_string.c. +F, and extract the stringhandle details into +a new F. =cut diff --git a/src/nci_test.c b/src/nci_test.c index e8b85a0c41..f50d6b1fd8 100644 --- a/src/nci_test.c +++ b/src/nci_test.c @@ -1,5 +1,5 @@ /* -Copyright (C) 2001-2007, Parrot Foundation. +Copyright (C) 2001-2010, Parrot Foundation. $Id$ =head1 NAME @@ -159,8 +159,11 @@ default. */ -PARROT_DYNEXT_EXPORT char -nci_c(void) { +PARROT_DYNEXT_EXPORT +PARROT_PURE_FUNCTION +char +nci_c(void) +{ return nci_dlvar_char; } @@ -174,7 +177,9 @@ Multiplies C and C together and returns the first byte of the result. */ -PARROT_DYNEXT_EXPORT char +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +char nci_csc(short l1, char l2) { return l1 * l2; @@ -191,7 +196,8 @@ the new value. */ -PARROT_DYNEXT_EXPORT double +PARROT_DYNEXT_EXPORT +double nci_d(void) { nci_dlvar_double *= 10.0; @@ -209,7 +215,9 @@ Returns the value C multiplied by 2.0. */ -PARROT_DYNEXT_EXPORT double +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +double nci_dd(double d) { return d * 2.0; @@ -226,7 +234,8 @@ value. */ -PARROT_DYNEXT_EXPORT float +PARROT_DYNEXT_EXPORT +float nci_f(void) { nci_dlvar_float *= 10.0; @@ -244,7 +253,9 @@ Returns the result of C / C. */ -PARROT_DYNEXT_EXPORT float +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +float nci_fff(float l1, float l2) { return l1 / l2; @@ -260,7 +271,9 @@ Returns the current value of . */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +PARROT_PURE_FUNCTION +int nci_i(void) { return nci_dlvar_int; @@ -276,7 +289,9 @@ Returns the int product of C. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +int nci_isc(short l1, char l2) { return l1 * l2; @@ -292,7 +307,8 @@ Performs a series of operations on values stored at pointer C

. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +int nci_ip(void *p) { typedef struct _dfi { @@ -318,7 +334,8 @@ Prints the first two characters in C

, in reversed order. Returns 2. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +int nci_it(void *p) { fprintf(stderr, "%c%c\n", ((char*) p)[1], ((char *) p)[0]); @@ -337,7 +354,9 @@ Returns the value of C. */ -PARROT_DYNEXT_EXPORT long +PARROT_DYNEXT_EXPORT +PARROT_PURE_FUNCTION +long nci_l(void) { return nci_dlvar_long; @@ -353,7 +372,9 @@ Returns the address of C. */ -PARROT_DYNEXT_EXPORT int * +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +int * nci_p(void) { return &nci_dlvar_int; @@ -369,7 +390,9 @@ Returns the value of C. */ -PARROT_DYNEXT_EXPORT char * +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +char * nci_t(void) { return nci_dlvar_cstring; @@ -388,7 +411,8 @@ of C

, in reverse order. static char b[] = "xx worked\n"; -PARROT_DYNEXT_EXPORT char * +PARROT_DYNEXT_EXPORT +char * nci_tb(void *p) { b[0] = ((char*) p)[1]; @@ -410,7 +434,8 @@ of C

, in reverse order. static char s[] = "xx worked\n"; -PARROT_DYNEXT_EXPORT char * +PARROT_DYNEXT_EXPORT +char * nci_tt(char *p) { s[0] = p[1]; @@ -432,7 +457,8 @@ of C

, in reverse order. static char B[] = "xx done\n"; -PARROT_DYNEXT_EXPORT char * +PARROT_DYNEXT_EXPORT +char * nci_tB(void **p) { B[0] = (*(char**) p)[1]; @@ -451,7 +477,9 @@ Returns the value C

directly. */ -PARROT_DYNEXT_EXPORT void * +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +void * nci_pp(void *p) { return p; @@ -468,7 +496,8 @@ Returns 2. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +int nci_iiii(int i1, int i2, int i3) { fprintf(stderr, "%d %d %d\n", i1, i2, i3); @@ -487,7 +516,9 @@ Returns the product of C<*l> and C, as an int. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +PARROT_PURE_FUNCTION +int nci_i4i(long * l, int i) { @@ -505,7 +536,8 @@ to the value 4711. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +int nci_ii3(int a, int *bp) { int r = a * *bp; @@ -524,7 +556,8 @@ writes the string C to stdout and returns the value 4711. */ -PARROT_DYNEXT_EXPORT int +PARROT_DYNEXT_EXPORT +int call_back(const char *str) { puts(str); @@ -543,7 +576,8 @@ Performs one from a series of tests, depending on the value given for C. */ -PARROT_DYNEXT_EXPORT void * +PARROT_DYNEXT_EXPORT +void * nci_pi(int test) { switch (test) { @@ -691,7 +725,9 @@ Returns the value of C. */ -PARROT_DYNEXT_EXPORT short +PARROT_DYNEXT_EXPORT +PARROT_PURE_FUNCTION +short nci_s(void) { return nci_dlvar_short; @@ -707,7 +743,9 @@ Returns the product of C. */ -PARROT_DYNEXT_EXPORT short +PARROT_DYNEXT_EXPORT +PARROT_CONST_FUNCTION +short nci_ssc(short l1, char l2) { return l1 * l2; @@ -723,7 +761,8 @@ Prints "ok" if C is not null, prints "got null" otherwise. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_vP(void *pmc) { /* TODO: @@ -760,7 +799,8 @@ No return value. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_C1(cb_C1_func cb, void* user_data) { const char *result = "succeeded"; @@ -781,7 +821,8 @@ No return value. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_C2(cb_C2_func cb, void* user_data) { /* call the cb synchronously */ @@ -803,7 +844,8 @@ No return value. static int int_cb_C3 = 99; -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_C3(cb_C3_func cb, void* user_data) { /* call the cb synchronously */ @@ -823,7 +865,8 @@ No return value. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_D1(cb_D1_func cb, void* user_data) { const char *result = "succeeded"; @@ -844,7 +887,8 @@ No return value. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_D2(cb_D2_func cb, void* user_data) { /* call the cb synchronously */ @@ -866,7 +910,8 @@ No return value. static int int_cb_D3 = 111; -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_D3(cb_D3_func cb, void* user_data) { /* call the cb synchronously */ @@ -888,7 +933,8 @@ No return value. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_cb_D4(cb_D4_func times_ten, void* user_data) { int cnt; @@ -911,7 +957,8 @@ Prints a count integer and the coordinates of 4 rectangles. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_pip(int count, Rect_Like *rects) { int i; @@ -931,8 +978,9 @@ Doubles C and triples C. Returns their sum. */ -PARROT_DYNEXT_EXPORT int -nci_i33(int *double_me, int *triple_me) +PARROT_DYNEXT_EXPORT +int +nci_i33(ARGMOD(int *double_me), ARGMOD(int *triple_me)) { *double_me *= 2; *triple_me *= 3; @@ -951,8 +999,9 @@ C. */ -PARROT_DYNEXT_EXPORT void -nci_vpii(Outer *my_data, int my_x, int my_y) +PARROT_DYNEXT_EXPORT +void +nci_vpii(ARGMOD(Outer *my_data), int my_x, int my_y) { my_data->x = my_x; my_data->nested->y = my_y; @@ -972,7 +1021,8 @@ of that structure. static int my_array[4]; -PARROT_DYNEXT_EXPORT void * +PARROT_DYNEXT_EXPORT +void * nci_piiii(int alpha, int beta, int gamma, int delta) { static struct array_container @@ -1003,7 +1053,8 @@ to the product of C. */ -PARROT_DYNEXT_EXPORT void * +PARROT_DYNEXT_EXPORT +void * nci_pii(int fac1, int fac2) { nci_dlvar_int = fac1 * fac2; @@ -1021,7 +1072,8 @@ Multiplies the global variable C times 10. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_v(void) { nci_dlvar_int *= 10; @@ -1037,7 +1089,8 @@ Multiplies the global variable C by 3. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_vv(void) { nci_dlvar_int *= 3; @@ -1053,8 +1106,9 @@ Test an NCI opaque struct out value. */ -PARROT_DYNEXT_EXPORT void -nci_vVi(Opaque **outOpaque, int x) +PARROT_DYNEXT_EXPORT +void +nci_vVi(ARGOUT(Opaque **outOpaque), int x) { static Opaque opaque; opaque.x = x; @@ -1072,8 +1126,9 @@ to an NCI function correctly. */ -PARROT_DYNEXT_EXPORT void -nci_vp(Opaque *inOpaque) +PARROT_DYNEXT_EXPORT +void +nci_vp(ARGIN(Opaque *inOpaque)) { if (inOpaque) printf("got %d\n", inOpaque->x); @@ -1091,7 +1146,8 @@ Prints and returns "s2, s2, s1" */ -PARROT_DYNEXT_EXPORT char * +PARROT_DYNEXT_EXPORT +char * nci_ttt(char *s1, char *s2) { char* s = (char*) malloc((2 * strlen(s2)) + strlen(s1) + 5); @@ -1100,9 +1156,20 @@ nci_ttt(char *s1, char *s2) return s; } +/* + +=item C + +Check that a float value f is has an error ratio of less than 0.01 +when compared to a double value checkval + +=cut + +*/ static void -validate_float(float f, double checkval) { +validate_float(float f, double checkval) +{ int valid; double error_ratio; error_ratio = (((double)f) - checkval) / checkval; @@ -1121,7 +1188,8 @@ error of 0.01. */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_vfff(float l1, float l2, float l3) { validate_float(l1, 3456.54); @@ -1140,7 +1208,8 @@ Sets C<*ptr> to "Hello bright new world\n". */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_vV(const char **ptr) { *ptr = "Hello bright new world\n"; @@ -1158,7 +1227,8 @@ day!\n", and C<*ptr3> to "Go suck a lemon.\n". */ -PARROT_DYNEXT_EXPORT void +PARROT_DYNEXT_EXPORT +void nci_vVVV(const char **ptr1, const char **ptr2, const char **ptr3) { *ptr1 = "Hello bright new world!\n"; diff --git a/src/oo.c b/src/oo.c index 6295653d2d..812103bb60 100644 --- a/src/oo.c +++ b/src/oo.c @@ -438,7 +438,7 @@ Parrot_oo_find_vtable_override_for_class(PARROT_INTERP, ARGIN(PMC *classobj), ARGIN(STRING *name)) { ASSERT_ARGS(Parrot_oo_find_vtable_override_for_class) - const Parrot_Class_attributes * const class_info = PARROT_CLASS(classobj);; + const Parrot_Class_attributes * const class_info = PARROT_CLASS(classobj); PARROT_ASSERT(PObj_is_class_TEST(classobj)); return VTABLE_get_pmc_keyed_str(interp, class_info->vtable_overrides, name); diff --git a/src/ops/core.ops b/src/ops/core.ops index 863ec31e2e..46f9ffcb19 100644 --- a/src/ops/core.ops +++ b/src/ops/core.ops @@ -1253,7 +1253,6 @@ inline op loadlib(out PMC, in STR, in PMC) { } op dlfunc(out PMC, invar PMC, in STR, in STR) { - char * const name = Parrot_str_to_cstring(interp, ($3)); void *dl_handle = NULL; void *ptr = NULL; funcptr_t p; @@ -1264,24 +1263,22 @@ op dlfunc(out PMC, invar PMC, in STR, in STR) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data($2))->dl_handle; } - ptr = Parrot_dlsym(dl_handle, name); + ptr = Parrot_dlsym_str(interp, dl_handle, $3); p = D2FPTR(ptr); if (p == NULLfunc) { const char * err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", $3, err ? err : "unknown reason"); $1 = Parrot_pmc_new(interp, enum_class_Undef); } else { $1 = Parrot_pmc_new(interp, enum_class_NCI); VTABLE_set_pointer_keyed_str(interp, $1, $4, F2DPTR(p)); } - Parrot_str_free_cstring(name); } op dlvar(out PMC, invar PMC, in STR) { - char * const name = Parrot_str_to_cstring(interp, ($3)); void * dl_handle = NULL; void * p = NULL; @@ -1291,12 +1288,12 @@ op dlvar(out PMC, invar PMC, in STR) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data($2))->dl_handle; } - p = Parrot_dlsym(dl_handle, name); + p = Parrot_dlsym_str(interp, dl_handle, $3); if (p == NULL) { const char * const err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", $3, err ? err : "unknown reason"); $1 = Parrot_pmc_new(interp, enum_class_Undef); } else { @@ -1305,7 +1302,6 @@ op dlvar(out PMC, invar PMC, in STR) { $1 = Parrot_pmc_new(interp, enum_class_UnManagedStruct); VTABLE_set_pointer(interp, $1, p); } - Parrot_str_free_cstring(name); } inline op compreg(in STR, invar PMC) { diff --git a/src/ops/core_ops.c b/src/ops/core_ops.c index f59cba0b96..8bede543da 100644 --- a/src/ops/core_ops.c +++ b/src/ops/core_ops.c @@ -14181,7 +14181,7 @@ return (opcode_t *)cur_opcode + 1;} opcode_t * Parrot_check_events(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const next =cur_opcode + 1; + opcode_t * const next = cur_opcode + 1; Parrot_cx_check_tasks(interp, interp->scheduler);return (opcode_t *)next; /* force this being a branch op */ } @@ -14243,7 +14243,7 @@ opcode_t * Parrot_local_branch_p_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL return_addr; - opcode_t * const dest =cur_opcode + 3; + opcode_t * const dest = cur_opcode + 3; if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest, @@ -14259,7 +14259,7 @@ opcode_t * Parrot_local_branch_p_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL return_addr; - opcode_t * const dest =cur_opcode + 3; + opcode_t * const dest = cur_opcode + 3; if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest, @@ -14276,7 +14276,7 @@ Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL return_addr; opcode_t *next; - opcode_t * const dest =cur_opcode + 2; + opcode_t * const dest = cur_opcode + 2; if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest, @@ -14375,7 +14375,7 @@ opcode_t * Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const p = PREG(1); - opcode_t *dest =cur_opcode + 2; + opcode_t *dest = cur_opcode + 2; PMC * const signature = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp)); @@ -14390,7 +14390,7 @@ Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *dest =cur_opcode + 3; + opcode_t *dest = cur_opcode + 3; PMC * const p = PREG(1); PMC * const signature = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp)); @@ -14407,7 +14407,7 @@ Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_yield(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *dest =cur_opcode + 1; + opcode_t *dest = cur_opcode + 1; PMC * const p = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp)); VTABLE_increment(interp, p); @@ -14418,7 +14418,7 @@ opcode_t * Parrot_tailcall_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const p = PREG(1); - opcode_t *dest =cur_opcode + 2; + opcode_t *dest = cur_opcode + 2; PMC * const ctx = CURRENT_CONTEXT(interp); PMC * const parent_ctx = Parrot_pcc_get_caller_ctx(interp, ctx); PMC * const this_call_sig = Parrot_pcc_get_signature(interp, ctx); @@ -14435,7 +14435,7 @@ opcode_t * Parrot_returncc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const p = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp)); - opcode_t * const dest = VTABLE_invoke(interp, p,cur_opcode + 1);return (opcode_t *)dest; + opcode_t * const dest = VTABLE_invoke(interp, p, cur_opcode + 1);return (opcode_t *)dest; } opcode_t * @@ -14629,7 +14629,7 @@ Parrot_throw_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * except = PREG(1); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); VTABLE_set_pointer(interp, resume, ret); @@ -14661,7 +14661,7 @@ Parrot_rethrow_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t * dest; if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_Exception) { - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const except = Parrot_ex_build_exception(interp, EXCEPT_fatal, EXCEPTION_UNIMPLEMENTED, Parrot_str_new_constant(interp, "Not a throwable object")); @@ -14682,7 +14682,7 @@ opcode_t * Parrot_die_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, SREG(1)); @@ -14698,7 +14698,7 @@ opcode_t * Parrot_die_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, CONST(1)->u.string); @@ -14714,7 +14714,7 @@ opcode_t * Parrot_die_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); STRING * const msg = PMC_IS_NULL(PREG(1)) ? NULL : VTABLE_get_string(interp, PREG(1)); PMC * const exception = @@ -14731,7 +14731,7 @@ opcode_t * Parrot_die_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); STRING * const msg = PMC_IS_NULL(CONST(1)->u.key) ? NULL : VTABLE_get_string(interp, CONST(1)->u.key); PMC * const exception = @@ -14750,7 +14750,7 @@ Parrot_die_i_i(opcode_t *cur_opcode, PARROT_INTERP) { if (IREG(1) == EXCEPT_doomed) _exit(IREG(2)); else { - opcode_t * const ret =cur_opcode + 3; + opcode_t * const ret = cur_opcode + 3; PMC * const exception = Parrot_ex_build_exception(interp, IREG(1), IREG(2), NULL); opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);return (opcode_t *)dest; } @@ -14762,7 +14762,7 @@ Parrot_die_ic_i(opcode_t *cur_opcode, PARROT_INTERP) { if (cur_opcode[1] == EXCEPT_doomed) _exit(IREG(2)); else { - opcode_t * const ret =cur_opcode + 3; + opcode_t * const ret = cur_opcode + 3; PMC * const exception = Parrot_ex_build_exception(interp, cur_opcode[1], IREG(2), NULL); opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);return (opcode_t *)dest; } @@ -14774,7 +14774,7 @@ Parrot_die_i_ic(opcode_t *cur_opcode, PARROT_INTERP) { if (IREG(1) == EXCEPT_doomed) _exit(cur_opcode[2]); else { - opcode_t * const ret =cur_opcode + 3; + opcode_t * const ret = cur_opcode + 3; PMC * const exception = Parrot_ex_build_exception(interp, IREG(1), cur_opcode[2], NULL); opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);return (opcode_t *)dest; } @@ -14786,7 +14786,7 @@ Parrot_die_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) { if (cur_opcode[1] == EXCEPT_doomed) _exit(cur_opcode[2]); else { - opcode_t * const ret =cur_opcode + 3; + opcode_t * const ret = cur_opcode + 3; PMC * const exception = Parrot_ex_build_exception(interp, cur_opcode[1], cur_opcode[2], NULL); opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);return (opcode_t *)dest; } @@ -14796,7 +14796,7 @@ opcode_t * Parrot_exit_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL); @@ -14814,7 +14814,7 @@ opcode_t * Parrot_exit_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const ret =cur_opcode + 2; + opcode_t * const ret = cur_opcode + 2; PMC * const resume = pmc_new(interp, enum_class_Continuation); PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, CONTROL_EXIT, NULL); @@ -15126,7 +15126,6 @@ return (opcode_t *)cur_opcode + 4;} opcode_t * Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (SREG(3))); void *dl_handle = NULL; void *ptr = NULL; funcptr_t p; @@ -15137,27 +15136,25 @@ Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - ptr = Parrot_dlsym(dl_handle, name); + ptr = Parrot_dlsym_str(interp, dl_handle, SREG(3)); p = D2FPTR(ptr); if (p == NULLfunc) { const char * err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { PREG(1) = Parrot_pmc_new(interp, enum_class_NCI); VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p)); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 5;} opcode_t * Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string)); void *dl_handle = NULL; void *ptr = NULL; funcptr_t p; @@ -15168,27 +15165,25 @@ Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - ptr = Parrot_dlsym(dl_handle, name); + ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string); p = D2FPTR(ptr); if (p == NULLfunc) { const char * err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { PREG(1) = Parrot_pmc_new(interp, enum_class_NCI); VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p)); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 5;} opcode_t * Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (SREG(3))); void *dl_handle = NULL; void *ptr = NULL; funcptr_t p; @@ -15199,27 +15194,25 @@ Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - ptr = Parrot_dlsym(dl_handle, name); + ptr = Parrot_dlsym_str(interp, dl_handle, SREG(3)); p = D2FPTR(ptr); if (p == NULLfunc) { const char * err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { PREG(1) = Parrot_pmc_new(interp, enum_class_NCI); VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p)); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 5;} opcode_t * Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string)); void *dl_handle = NULL; void *ptr = NULL; funcptr_t p; @@ -15230,27 +15223,25 @@ Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - ptr = Parrot_dlsym(dl_handle, name); + ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string); p = D2FPTR(ptr); if (p == NULLfunc) { const char * err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { PREG(1) = Parrot_pmc_new(interp, enum_class_NCI); VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p)); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 5;} opcode_t * Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (SREG(3))); void * dl_handle = NULL; void * p = NULL; @@ -15260,12 +15251,12 @@ Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - p = Parrot_dlsym(dl_handle, name); + p = Parrot_dlsym_str(interp, dl_handle, SREG(3)); if (p == NULL) { const char * const err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", SREG(3), err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { @@ -15274,14 +15265,12 @@ Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct); VTABLE_set_pointer(interp, PREG(1), p); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 4;} opcode_t * Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string)); void * dl_handle = NULL; void * p = NULL; @@ -15291,12 +15280,12 @@ Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle; } - p = Parrot_dlsym(dl_handle, name); + p = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string); if (p == NULL) { const char * const err = Parrot_dlerror(); Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG, - "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason"); + "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason"); PREG(1) = Parrot_pmc_new(interp, enum_class_Undef); } else { @@ -15305,7 +15294,6 @@ Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct); VTABLE_set_pointer(interp, PREG(1), p); } - Parrot_str_free_cstring(name); return (opcode_t *)cur_opcode + 4;} @@ -15363,7 +15351,7 @@ opcode_t * Parrot_annotations_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); if (interp->code->annotations) { - const opcode_t cur_pos = (cur_opcode + 2) - interp->code->base.data; + const opcode_t cur_pos = ( cur_opcode + 2) - interp->code->base.data; PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations, cur_pos, NULL); } @@ -15377,7 +15365,7 @@ opcode_t * Parrot_annotations_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); if (interp->code->annotations) { - const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data; + const opcode_t cur_pos = ( cur_opcode + 3) - interp->code->base.data; PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations, cur_pos, SREG(2)); } @@ -15391,7 +15379,7 @@ opcode_t * Parrot_annotations_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); if (interp->code->annotations) { - const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data; + const opcode_t cur_pos = ( cur_opcode + 3) - interp->code->base.data; PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations, cur_pos, CONST(2)->u.string); } @@ -17375,7 +17363,7 @@ Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP) { PMC * const p = PREG(1); if (PMC_IS_NULL(p)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 2, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 2, EXCEPTION_UNEXPECTED_NULL, "Null PMC in say");return (opcode_t *)handler; } @@ -17685,7 +17673,7 @@ Parrot_div_i_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = IREG(2); if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17698,7 +17686,7 @@ Parrot_div_i_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = cur_opcode[2]; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17711,7 +17699,7 @@ Parrot_div_n_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(2); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17724,7 +17712,7 @@ Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = CONST(2)->u.number; if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17772,7 +17760,7 @@ Parrot_div_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = IREG(3); if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17785,7 +17773,7 @@ Parrot_div_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = IREG(3); if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17798,7 +17786,7 @@ Parrot_div_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = cur_opcode[3]; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17811,7 +17799,7 @@ Parrot_div_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); INTVAL den = cur_opcode[3]; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17824,7 +17812,7 @@ Parrot_div_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(3); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17837,7 +17825,7 @@ Parrot_div_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(3); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17850,7 +17838,7 @@ Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = CONST(3)->u.number; if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17863,7 +17851,7 @@ Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = CONST(3)->u.number; if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17913,7 +17901,7 @@ Parrot_fdiv_i_i(opcode_t *cur_opcode, PARROT_INTERP) { FLOATVAL f; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17930,7 +17918,7 @@ Parrot_fdiv_i_ic(opcode_t *cur_opcode, PARROT_INTERP) { FLOATVAL f; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17945,7 +17933,7 @@ Parrot_fdiv_n_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(2); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -17958,7 +17946,7 @@ Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = CONST(2)->u.number; if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18008,7 +17996,7 @@ Parrot_fdiv_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) { FLOATVAL f; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18025,7 +18013,7 @@ Parrot_fdiv_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) { FLOATVAL f; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18042,7 +18030,7 @@ Parrot_fdiv_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) { FLOATVAL f; if (den == 0) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18057,7 +18045,7 @@ Parrot_fdiv_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(3); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18070,7 +18058,7 @@ Parrot_fdiv_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = NREG(3); if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18083,7 +18071,7 @@ Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); FLOATVAL den = CONST(3)->u.number; if (FLOAT_IS_ZERO(den)) { - opcode_t *handler = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_DIV_BY_ZERO, "Divide by zero");return (opcode_t *)handler; } @@ -18665,16 +18653,23 @@ Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const object = PREG(1); STRING * const meth = SREG(2); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * const method_pmc = VTABLE_find_method(interp, object, meth); opcode_t *dest = NULL; - PMC * const signature = Parrot_pcc_get_signature(interp, - CURRENT_CONTEXT(interp)); Parrot_pcc_set_pc_func(interp, CURRENT_CONTEXT(interp), next); - if (PMC_IS_NULL(method_pmc)) { + if (!PMC_IS_NULL(method_pmc)) { + PMC * const signature = Parrot_pcc_get_signature(interp, + CURRENT_CONTEXT(interp)); + if (!PMC_IS_NULL(signature)) + Parrot_pcc_set_object(interp, signature, object); + + interp->current_cont = NEED_CONTINUATION; + dest = VTABLE_invoke(interp, method_pmc, next); + } + else { PMC * const _class = VTABLE_get_class(interp, object); if (PMC_IS_NULL(_class)) { dest = Parrot_ex_throw_from_op_args(interp, next, @@ -18687,12 +18682,6 @@ Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) { "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, _class)); } - } - else { - if (!PMC_IS_NULL(signature)) - Parrot_pcc_set_object(interp, signature, object); - interp->current_cont = NEED_CONTINUATION; - dest = VTABLE_invoke(interp, method_pmc, next); }return (opcode_t *)dest; } @@ -18701,16 +18690,23 @@ Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const object = PREG(1); STRING * const meth = CONST(2)->u.string; - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * const method_pmc = VTABLE_find_method(interp, object, meth); opcode_t *dest = NULL; - PMC * const signature = Parrot_pcc_get_signature(interp, - CURRENT_CONTEXT(interp)); Parrot_pcc_set_pc_func(interp, CURRENT_CONTEXT(interp), next); - if (PMC_IS_NULL(method_pmc)) { + if (!PMC_IS_NULL(method_pmc)) { + PMC * const signature = Parrot_pcc_get_signature(interp, + CURRENT_CONTEXT(interp)); + if (!PMC_IS_NULL(signature)) + Parrot_pcc_set_object(interp, signature, object); + + interp->current_cont = NEED_CONTINUATION; + dest = VTABLE_invoke(interp, method_pmc, next); + } + else { PMC * const _class = VTABLE_get_class(interp, object); if (PMC_IS_NULL(_class)) { dest = Parrot_ex_throw_from_op_args(interp, next, @@ -18723,12 +18719,6 @@ Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { "Method '%Ss' not found for invocant of class '%Ss'", meth, VTABLE_get_string(interp, _class)); } - } - else { - if (!PMC_IS_NULL(signature)) - Parrot_pcc_set_object(interp, signature, object); - interp->current_cont = NEED_CONTINUATION; - dest = VTABLE_invoke(interp, method_pmc, next); }return (opcode_t *)dest; } @@ -18736,7 +18726,7 @@ opcode_t * Parrot_callmethodcc_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); opcode_t *dest; - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * signature = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp)); @@ -18753,7 +18743,7 @@ Parrot_callmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const object = PREG(1); STRING * const meth = SREG(2); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; PMC * const method_pmc = VTABLE_find_method(interp, object, meth); opcode_t *dest = NULL; @@ -18780,7 +18770,7 @@ Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const object = PREG(1); STRING * const meth = CONST(2)->u.string; - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; PMC * const method_pmc = VTABLE_find_method(interp, object, meth); opcode_t *dest = NULL; @@ -18807,7 +18797,7 @@ Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const object = PREG(1); PMC * const method_pmc = PREG(2); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; opcode_t *dest; PMC * signature = Parrot_pcc_get_signature(interp, @@ -18824,7 +18814,7 @@ Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * const object = PREG(1); STRING * const meth = SREG(2); PMC * const method_pmc = VTABLE_find_method(interp, object, meth); @@ -18850,7 +18840,7 @@ Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * const object = PREG(1); STRING * const meth = CONST(2)->u.string; PMC * const method_pmc = VTABLE_find_method(interp, object, meth); @@ -18876,7 +18866,7 @@ Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_tailcallmethod_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; PMC * const object = PREG(1); PMC * const method_pmc = PREG(2); @@ -19012,7 +19002,7 @@ opcode_t * Parrot_subclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2)); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19027,7 +19017,7 @@ opcode_t * Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19042,7 +19032,7 @@ opcode_t * Parrot_subclass_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19057,7 +19047,7 @@ opcode_t * Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19072,7 +19062,7 @@ opcode_t * Parrot_subclass_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19087,7 +19077,7 @@ opcode_t * Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19102,7 +19092,7 @@ opcode_t * Parrot_subclass_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19117,7 +19107,7 @@ opcode_t * Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19132,7 +19122,7 @@ opcode_t * Parrot_subclass_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19147,7 +19137,7 @@ opcode_t * Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19162,7 +19152,7 @@ opcode_t * Parrot_subclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2)); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19178,7 +19168,7 @@ opcode_t * Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string); - opcode_t * const next =cur_opcode + 3; + opcode_t * const next = cur_opcode + 3; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19194,7 +19184,7 @@ opcode_t * Parrot_subclass_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19210,7 +19200,7 @@ opcode_t * Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19226,7 +19216,7 @@ opcode_t * Parrot_subclass_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19242,7 +19232,7 @@ opcode_t * Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19258,7 +19248,7 @@ opcode_t * Parrot_subclass_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19274,7 +19264,7 @@ opcode_t * Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19290,7 +19280,7 @@ opcode_t * Parrot_subclass_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2)); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19306,7 +19296,7 @@ opcode_t * Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string); - opcode_t * const next =cur_opcode + 4; + opcode_t * const next = cur_opcode + 4; if (PMC_IS_NULL(parent_class)) { opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next, @@ -19559,7 +19549,7 @@ Parrot_new_p_s(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19581,7 +19571,7 @@ Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19603,7 +19593,7 @@ Parrot_new_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19625,7 +19615,7 @@ Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19647,7 +19637,7 @@ Parrot_new_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19669,7 +19659,7 @@ Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -19689,7 +19679,7 @@ Parrot_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19709,7 +19699,7 @@ Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19729,7 +19719,7 @@ Parrot_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19749,7 +19739,7 @@ Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19769,7 +19759,7 @@ Parrot_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19789,7 +19779,7 @@ Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type(interp, name_key); if (type <= 0) { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -19811,7 +19801,7 @@ Parrot_root_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19831,7 +19821,7 @@ Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 3, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19851,7 +19841,7 @@ Parrot_root_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3)); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19871,7 +19861,7 @@ Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3)); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19891,7 +19881,7 @@ Parrot_root_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19911,7 +19901,7 @@ Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { if (!PMC_IS_NULL(classobj)) PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key); else { - opcode_t * const dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, key));return (opcode_t *)dest; } @@ -19942,7 +19932,7 @@ return (opcode_t *)cur_opcode + 3;} opcode_t * Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const resume =cur_opcode + 4; + opcode_t * const resume = cur_opcode + 4; PREG(1) = VTABLE_find_method(interp, PREG(2), SREG(3)); if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) { opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, resume, @@ -19955,7 +19945,7 @@ Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t * const resume =cur_opcode + 4; + opcode_t * const resume = cur_opcode + 4; PREG(1) = VTABLE_find_method(interp, PREG(2), CONST(3)->u.string); if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) { opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, resume, @@ -21087,7 +21077,7 @@ opcode_t * Parrot_copy_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); if (PMC_IS_NULL(PREG(1))) { - opcode_t * const dest =cur_opcode + 3; + opcode_t * const dest = cur_opcode + 3; opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_NULL_REG_ACCESS, "Null PMC in copy");return (opcode_t *)handler; } @@ -22576,7 +22566,7 @@ return (opcode_t *)cur_opcode + 2;} opcode_t * Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *next =cur_opcode + 2; + opcode_t *next = cur_opcode + 2; if (IREG(1) < 0) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, @@ -22588,7 +22578,7 @@ Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *next =cur_opcode + 2; + opcode_t *next = cur_opcode + 2; if (cur_opcode[1] < 0) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, @@ -22600,7 +22590,7 @@ Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *next =cur_opcode + 2; + opcode_t *next = cur_opcode + 2; if (NREG(1) < 0.0) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, @@ -22612,7 +22602,7 @@ Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) { opcode_t * Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *next =cur_opcode + 2; + opcode_t *next = cur_opcode + 2; if (CONST(1)->u.number < 0.0) { opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_NEG_SLEEP, @@ -22911,7 +22901,7 @@ opcode_t * Parrot_get_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp)); - PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, SREG(2),cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, SREG(2), cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -22919,7 +22909,7 @@ opcode_t * Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp)); - PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, CONST(2)->u.string,cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, CONST(2)->u.string, cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -22935,7 +22925,7 @@ Parrot_get_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -22952,7 +22942,7 @@ Parrot_get_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -22969,7 +22959,7 @@ Parrot_get_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -22986,7 +22976,7 @@ Parrot_get_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -22995,7 +22985,7 @@ opcode_t * Parrot_get_hll_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp); - PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SREG(2),cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, SREG(2), cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -23003,7 +22993,7 @@ opcode_t * Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp); - PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, CONST(2)->u.string,cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, CONST(2)->u.string, cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -23019,7 +23009,7 @@ Parrot_get_hll_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23036,7 +23026,7 @@ Parrot_get_hll_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23053,7 +23043,7 @@ Parrot_get_hll_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23070,7 +23060,7 @@ Parrot_get_hll_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23079,7 +23069,7 @@ opcode_t * Parrot_get_root_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const root_ns = interp->root_namespace; - PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SREG(2),cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, SREG(2), cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -23087,7 +23077,7 @@ opcode_t * Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); PMC * const root_ns = interp->root_namespace; - PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, CONST(2)->u.string,cur_opcode + 3); + PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, CONST(2)->u.string, cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -23102,7 +23092,7 @@ Parrot_get_root_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23118,7 +23108,7 @@ Parrot_get_root_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3),cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, SREG(3), cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23134,7 +23124,7 @@ Parrot_get_root_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23150,7 +23140,7 @@ Parrot_get_root_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) { if (PMC_IS_NULL(ns)) PREG(1) = PMCNULL; else - PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string,cur_opcode + 4); + PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4); } return (opcode_t *)cur_opcode + 4;} @@ -23332,7 +23322,7 @@ Parrot_find_name_p_s(opcode_t *cur_opcode, PARROT_INTERP) { "Tried to find null name");return (opcode_t *)handler; } - PREG(1) = Parrot_ns_find_named_item(interp, SREG(2),cur_opcode + 3); + PREG(1) = Parrot_ns_find_named_item(interp, SREG(2), cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} @@ -23345,14 +23335,14 @@ Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { "Tried to find null name");return (opcode_t *)handler; } - PREG(1) = Parrot_ns_find_named_item(interp, CONST(2)->u.string,cur_opcode + 3); + PREG(1) = Parrot_ns_find_named_item(interp, CONST(2)->u.string, cur_opcode + 3); return (opcode_t *)cur_opcode + 3;} opcode_t * Parrot_find_sub_not_null_p_s(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *dest =cur_opcode + 3; + opcode_t *dest = cur_opcode + 3; PMC *sub = Parrot_ns_find_named_item(interp, SREG(2), dest); if (PMC_IS_NULL(sub)) { @@ -23370,7 +23360,7 @@ return (opcode_t *)cur_opcode + 3;} opcode_t * Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); - opcode_t *dest =cur_opcode + 3; + opcode_t *dest = cur_opcode + 3; PMC *sub = Parrot_ns_find_named_item(interp, CONST(2)->u.string, dest); if (PMC_IS_NULL(sub)) { @@ -23424,7 +23414,7 @@ Parrot_fetch_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23446,7 +23436,7 @@ Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23468,7 +23458,7 @@ Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23490,7 +23480,7 @@ Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23512,7 +23502,7 @@ Parrot_fetch_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23534,7 +23524,7 @@ Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23556,7 +23546,7 @@ Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23578,7 +23568,7 @@ Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23600,7 +23590,7 @@ Parrot_fetch_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23622,7 +23612,7 @@ Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23644,7 +23634,7 @@ Parrot_fetch_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23666,7 +23656,7 @@ Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23688,7 +23678,7 @@ Parrot_fetch_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23710,7 +23700,7 @@ Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23732,7 +23722,7 @@ Parrot_fetch_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23754,7 +23744,7 @@ Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23776,7 +23766,7 @@ Parrot_fetch_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23798,7 +23788,7 @@ Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23820,7 +23810,7 @@ Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23842,7 +23832,7 @@ Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23864,7 +23854,7 @@ Parrot_fetch_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23886,7 +23876,7 @@ Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23908,7 +23898,7 @@ Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23930,7 +23920,7 @@ Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -23954,7 +23944,7 @@ Parrot_vivify_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -23979,7 +23969,7 @@ Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24004,7 +23994,7 @@ Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24029,7 +24019,7 @@ Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24054,7 +24044,7 @@ Parrot_vivify_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24079,7 +24069,7 @@ Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24104,7 +24094,7 @@ Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24129,7 +24119,7 @@ Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24153,7 +24143,7 @@ Parrot_vivify_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24178,7 +24168,7 @@ Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24203,7 +24193,7 @@ Parrot_vivify_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24228,7 +24218,7 @@ Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24253,7 +24243,7 @@ Parrot_vivify_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24278,7 +24268,7 @@ Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24303,7 +24293,7 @@ Parrot_vivify_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24328,7 +24318,7 @@ Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24353,7 +24343,7 @@ Parrot_vivify_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24378,7 +24368,7 @@ Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24403,7 +24393,7 @@ Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24428,7 +24418,7 @@ Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, PREG(4)); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));return (opcode_t *)dest; } @@ -24453,7 +24443,7 @@ Parrot_vivify_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24478,7 +24468,7 @@ Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24503,7 +24493,7 @@ Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24528,7 +24518,7 @@ Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) { const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key); if (type <= 0) { opcode_t *dest = Parrot_ex_throw_from_op_args( - interp,cur_opcode + 5, EXCEPTION_NO_CLASS, + interp, cur_opcode + 5, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest; } @@ -24556,7 +24546,7 @@ Parrot_new_p_s_i(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -24581,7 +24571,7 @@ Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -24606,7 +24596,7 @@ Parrot_new_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -24631,7 +24621,7 @@ Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) { else { const INTVAL type = Parrot_pmc_get_type_str(interp, name); if (type <= 0) { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", name);return (opcode_t *)dest; } @@ -24665,7 +24655,7 @@ Parrot_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24697,7 +24687,7 @@ Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24729,7 +24719,7 @@ Parrot_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24761,7 +24751,7 @@ Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24795,7 +24785,7 @@ Parrot_root_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24829,7 +24819,7 @@ Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24863,7 +24853,7 @@ Parrot_root_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24897,7 +24887,7 @@ Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) { /* it's a typo */ else { - opcode_t *dest = Parrot_ex_throw_from_op_args(interp,cur_opcode + 4, + opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4, EXCEPTION_NO_CLASS, "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest; } @@ -24914,7 +24904,7 @@ Parrot_find_codepoint_i_s(opcode_t *cur_opcode, PARROT_INTERP) { Parrot_str_free_cstring(cstr); IREG(1) = U_SUCCESS(err) ? (INTVAL) codepoint : -1; #else - opcode_t * const dest =cur_opcode + 3; + opcode_t * const dest = cur_opcode + 3; Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_LIBRARY_ERROR, "no ICU lib loaded"); #endif @@ -24931,7 +24921,7 @@ Parrot_find_codepoint_i_sc(opcode_t *cur_opcode, PARROT_INTERP) { Parrot_str_free_cstring(cstr); IREG(1) = U_SUCCESS(err) ? (INTVAL) codepoint : -1; #else - opcode_t * const dest =cur_opcode + 3; + opcode_t * const dest = cur_opcode + 3; Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_LIBRARY_ERROR, "no ICU lib loaded"); #endif @@ -24942,7 +24932,7 @@ opcode_t * Parrot_finalize_p(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); /* Go to the next op after loop unrolling */ - opcode_t * const dest =cur_opcode + 2; + opcode_t * const dest = cur_opcode + 2; PMC *eh = PMCNULL; if (!PMC_IS_NULL(PREG(1))) { /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */ @@ -24981,7 +24971,7 @@ opcode_t * Parrot_finalize_pc(opcode_t *cur_opcode, PARROT_INTERP) { const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx); /* Go to the next op after loop unrolling */ - opcode_t * const dest =cur_opcode + 2; + opcode_t * const dest = cur_opcode + 2; PMC *eh = PMCNULL; if (!PMC_IS_NULL(CONST(1)->u.key)) { /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */ @@ -25027,12 +25017,12 @@ static op_lib_t core_op_lib = { PARROT_FUNCTION_CORE, /* core_type = PARROT_XX_CORE */ 0, /* flags */ 2, /* major_version */ - 4, /* minor_version */ + 5, /* minor_version */ 0, /* patch_version */ 1083, /* op_count */ core_op_info_table, /* op_info_table */ core_op_func_table, /* op_func_table */ - get_op /* op_code() */ + get_op /* op_code() */ }; /* @@ -25076,7 +25066,10 @@ static void hop_deinit(PARROT_INTERP); * returns >= 0 (found idx into info_table), -1 if not */ -static size_t hash_str(const char *str) { +PARROT_PURE_FUNCTION +static +size_t hash_str(ARGIN(const char *str)) +{ size_t key = 0; const char *s = str; @@ -25088,7 +25081,8 @@ static size_t hash_str(const char *str) { return key; } -static void store_op(PARROT_INTERP, op_info_t *info, int full) { +static void store_op(PARROT_INTERP, op_info_t *info, int full) +{ HOP * const p = mem_gc_allocate_zeroed_typed(interp, HOP); const size_t hidx = hash_str(full ? info->full_name : info->name) % OP_HASH_SIZE; @@ -25097,7 +25091,9 @@ static void store_op(PARROT_INTERP, op_info_t *info, int full) { p->next = hop[hidx]; hop[hidx] = p; } -static int get_op(PARROT_INTERP, const char * name, int full) { + +static int get_op(PARROT_INTERP, const char * name, int full) +{ const HOP * p; const size_t hidx = hash_str(name) % OP_HASH_SIZE; if (!hop) { @@ -25110,7 +25106,9 @@ static int get_op(PARROT_INTERP, const char * name, int full) { } return -1; } -static void hop_init(PARROT_INTERP) { + +static void hop_init(PARROT_INTERP) +{ size_t i; op_info_t * const info = core_op_lib.op_info_table; /* store full names */ @@ -25121,6 +25119,7 @@ static void hop_init(PARROT_INTERP) { if (get_op(interp, info[i].name, 0) == -1) store_op(interp, info + i, 0); } + static void hop_deinit(PARROT_INTERP) { if (hop) { diff --git a/src/ops/object.ops b/src/ops/object.ops index 14e9322b84..9b14fdf54d 100644 --- a/src/ops/object.ops +++ b/src/ops/object.ops @@ -56,12 +56,19 @@ op callmethodcc(invar PMC, in STR) :object_base :flow { PMC * const method_pmc = VTABLE_find_method(interp, object, meth); opcode_t *dest = NULL; - PMC * const signature = Parrot_pcc_get_signature(interp, - CURRENT_CONTEXT(interp)); Parrot_pcc_set_pc_func(interp, CURRENT_CONTEXT(interp), next); - if (PMC_IS_NULL(method_pmc)) { + if (!PMC_IS_NULL(method_pmc)) { + PMC * const signature = Parrot_pcc_get_signature(interp, + CURRENT_CONTEXT(interp)); + if (!PMC_IS_NULL(signature)) + Parrot_pcc_set_object(interp, signature, object); + + interp->current_cont = NEED_CONTINUATION; + dest = VTABLE_invoke(interp, method_pmc, next); + } + else { PMC * const _class = VTABLE_get_class(interp, object); if (PMC_IS_NULL(_class)) { dest = Parrot_ex_throw_from_op_args(interp, next, @@ -75,12 +82,7 @@ op callmethodcc(invar PMC, in STR) :object_base :flow { VTABLE_get_string(interp, _class)); } } - else { - if (!PMC_IS_NULL(signature)) - Parrot_pcc_set_object(interp, signature, object); - interp->current_cont = NEED_CONTINUATION; - dest = VTABLE_invoke(interp, method_pmc, next); - } + goto ADDRESS(dest); } diff --git a/src/packdump.c b/src/packdump.c index 4ab917a107..40eea353d7 100644 --- a/src/packdump.c +++ b/src/packdump.c @@ -68,7 +68,7 @@ PackFile_ConstTable_dump(PARROT_INTERP, ARGIN(const PackFile_ConstTable *self)) opcode_t i; for (i = 0; i < self->const_count; ++i) { - Parrot_io_printf(interp, " # %ld:\n", (long)i); + Parrot_io_printf(interp, " # %x:\n", (long)i); PackFile_Constant_dump(interp, self, self->constants[i]); } } diff --git a/src/packfile.c b/src/packfile.c index 71d2781404..b861dc9d97 100644 --- a/src/packfile.c +++ b/src/packfile.c @@ -3223,7 +3223,7 @@ Parrot_destroy_constants(PARROT_INTERP) return; for (i = 0; i <= hash->mask; ++i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { PackFile_ConstTable * const table = @@ -3313,7 +3313,8 @@ fixup_destroy(PARROT_INTERP, ARGMOD(PackFile_Segment *self)) =item C -I +Calculates the size, in multiples of C, required to store the +passed C in bytecode. =cut diff --git a/src/pmc/callcontext.pmc b/src/pmc/callcontext.pmc index c627040fda..d292aa1f32 100644 --- a/src/pmc/callcontext.pmc +++ b/src/pmc/callcontext.pmc @@ -359,14 +359,18 @@ static void mark_positionals(PARROT_INTERP, ARGIN(PMC *self)) { ASSERT_ARGS(mark_positionals) - INTVAL size, i; - Pcc_cell *cells; + INTVAL size; GETATTR_CallContext_num_positionals(interp, self, size); - GETATTR_CallContext_positionals(interp, self, cells); - for (i = 0; i < size; ++i) - mark_cell(interp, &cells[i]); + if (size) { + Pcc_cell *cells; + INTVAL i; + GETATTR_CallContext_positionals(interp, self, cells); + + for (i = 0; i < size; ++i) + mark_cell(interp, &cells[i]); + } } /* don't look now, but here goes encapsulation.... */ @@ -377,7 +381,7 @@ mark_hash(PARROT_INTERP, ARGIN(Hash *h)) INTVAL i; for (i = h->mask; i >= 0; --i) { - HashBucket *b = h->bi[i]; + HashBucket *b = h->bucket_indices[i]; while (b) { Parrot_gc_mark_STRING_alive(interp, (STRING *)b->key); @@ -403,7 +407,7 @@ get_named_names(PARROT_INTERP, ARGIN(PMC *SELF)) result = Parrot_pmc_new_init_int(interp, enum_class_FixedStringArray, hash->entries); for (i = 0; i <= hash->mask; ++i) { - HashBucket *b = hash->bi[i]; + HashBucket *b = hash->bucket_indices[i]; while (b) { VTABLE_set_string_keyed_int(interp, result, @@ -494,35 +498,32 @@ Mark any referenced strings and PMCs. */ VTABLE void mark() { Hash *hash; + PMC *tmp; STRING *short_sig; Pcc_cell *positionals; - INTVAL num_positionals; - PMC *arg_flags, *type_tuple, *return_flags, *tmp; - UINTVAL i; UINTVAL *n_regs_used; - Regs_ps bp_ps; if (!PMC_data(SELF)) return; - GET_ATTR_type_tuple(INTERP, SELF, type_tuple); GET_ATTR_short_sig(INTERP, SELF, short_sig); - GET_ATTR_arg_flags(INTERP, SELF, arg_flags); - GET_ATTR_return_flags(INTERP, SELF, return_flags); - GET_ATTR_num_positionals(INTERP, SELF, num_positionals); - GET_ATTR_positionals(INTERP, SELF, positionals); - GET_ATTR_hash(INTERP, SELF, hash); - - Parrot_gc_mark_PMC_alive(INTERP, type_tuple); Parrot_gc_mark_STRING_alive(INTERP, short_sig); - Parrot_gc_mark_PMC_alive(INTERP, arg_flags); - Parrot_gc_mark_PMC_alive(INTERP, return_flags); mark_positionals(INTERP, SELF); + GET_ATTR_hash(INTERP, SELF, hash); if (hash) mark_hash(INTERP, hash); + GET_ATTR_arg_flags(INTERP, SELF, tmp); + Parrot_gc_mark_PMC_alive(INTERP, tmp); + + GET_ATTR_return_flags(INTERP, SELF, tmp); + Parrot_gc_mark_PMC_alive(INTERP, tmp); + + GET_ATTR_type_tuple(INTERP, SELF, tmp); + Parrot_gc_mark_PMC_alive(INTERP, tmp); + GET_ATTR_caller_ctx(INTERP, SELF, tmp); Parrot_gc_mark_PMC_alive(INTERP, tmp); @@ -551,21 +552,26 @@ Mark any referenced strings and PMCs. Parrot_gc_mark_PMC_alive(INTERP, tmp); GET_ATTR_n_regs_used(INTERP, SELF, n_regs_used); - if (!n_regs_used) - return; - GET_ATTR_bp_ps(INTERP, SELF, bp_ps); - for (i = 0; i < n_regs_used[REGNO_PMC]; ++i) { - PMC * const p = bp_ps.regs_p[-1L-(i)]; - /* Original code from CTX_REG_PMC */ - if (p) - Parrot_gc_mark_PMC_alive(INTERP, p); - } + if (n_regs_used) { + Regs_ps bp_ps; + const UINTVAL regs_p = n_regs_used[REGNO_PMC]; + const UINTVAL regs_s = n_regs_used[REGNO_STR]; + UINTVAL i; + + GET_ATTR_bp_ps(INTERP, SELF, bp_ps); + for (i = 0; i < regs_p; ++i) { + PMC * const p = bp_ps.regs_p[-1L-(i)]; + /* Original code from CTX_REG_PMC */ + if (p) + Parrot_gc_mark_PMC_alive(INTERP, p); + } - for (i = 0; i < n_regs_used[REGNO_STR]; ++i) { - STRING * const s = bp_ps.regs_s[i]; - if (s) - Parrot_gc_mark_STRING_alive(INTERP, s); + for (i = 0; i < regs_s; ++i) { + STRING * const s = bp_ps.regs_s[i]; + if (s) + Parrot_gc_mark_STRING_alive(INTERP, s); + } } } @@ -600,7 +606,7 @@ stored.) UINTVAL i; for (i = 0; i <= hash->mask; ++i) { - HashBucket *b = hash->bi[i]; + HashBucket *b = hash->bucket_indices[i]; while (b) { FREE_CELL(INTERP, (Pcc_cell *)b->value); @@ -638,7 +644,7 @@ stored.) UINTVAL i; for (i = 0; i <= hash->mask; ++i) { - HashBucket *b = hash->bi[i]; + HashBucket *b = hash->bucket_indices[i]; while (b) { FREE_CELL(INTERP, (Pcc_cell *)b->value); diff --git a/src/pmc/class.pmc b/src/pmc/class.pmc index 3e7ea550ac..ac7b66a1c6 100644 --- a/src/pmc/class.pmc +++ b/src/pmc/class.pmc @@ -141,11 +141,20 @@ static void initialize_parents_pmc(PARROT_INTERP, __attribute__nonnull__(3) __attribute__nonnull__(4); +static size_t key_hash_pointer(SHIM_INTERP, + ARGIN(const void *value), + size_t seed) + __attribute__nonnull__(2); + PARROT_CANNOT_RETURN_NULL static STRING * make_class_name(PARROT_INTERP, ARGIN(PMC *SELF)) __attribute__nonnull__(1) __attribute__nonnull__(2); +static int pointer_compare(SHIM_INTERP, + ARGIN_NULLOK(const void *a), + ARGIN_NULLOK(const void *b)); + #define ASSERT_ARGS_build_attrib_index __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ PARROT_ASSERT_ARG(interp) \ , PARROT_ASSERT_ARG(self)) @@ -169,12 +178,30 @@ static STRING * make_class_name(PARROT_INTERP, ARGIN(PMC *SELF)) , PARROT_ASSERT_ARG(object) \ , PARROT_ASSERT_ARG(all_parents) \ , PARROT_ASSERT_ARG(init)) +#define ASSERT_ARGS_key_hash_pointer __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ + PARROT_ASSERT_ARG(value)) #define ASSERT_ARGS_make_class_name __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ PARROT_ASSERT_ARG(interp) \ , PARROT_ASSERT_ARG(SELF)) +#define ASSERT_ARGS_pointer_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (0) /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ /* HEADERIZER END: static */ +static int +pointer_compare(SHIM_INTERP, ARGIN_NULLOK(const void *a), + ARGIN_NULLOK(const void *b)) +{ + ASSERT_ARGS(pointer_compare) + return a != b; +} + +static size_t +key_hash_pointer(SHIM_INTERP, ARGIN(const void *value), size_t seed) +{ + ASSERT_ARGS(key_hash_pointer) + return ((size_t) value ^ seed); +} + static int cache_class_attribs(PARROT_INTERP, ARGIN(PMC *cur_class), ARGIN(PMC *attrib_index), @@ -559,8 +586,9 @@ pmclass Class auto_attrs { ATTR PMC *attrib_cache; /* Cache of visible attrib names to indexes. */ ATTR PMC *resolve_method; /* List of method names the class provides to resolve * conflicts with methods from roles. */ - ATTR PMC *parent_overrides; - ATTR PMC *meth_cache; + ATTR PMC *parent_overrides; + ATTR PMC *meth_cache; + ATTR Hash *isa_cache; /* @@ -600,6 +628,9 @@ arguments. The class is attached to the current HLL namespace. _class->vtable_overrides = Parrot_pmc_new(INTERP, enum_class_Hash); _class->parent_overrides = Parrot_pmc_new(INTERP, enum_class_Hash); + _class->isa_cache = parrot_create_hash(INTERP, + enum_type_INTVAL, Hash_key_type_PMC, + (hash_comp_fn)pointer_compare, (hash_hash_key_fn)key_hash_pointer); /* We put ourself on the all parents list. */ VTABLE_push_pmc(INTERP, _class->all_parents, SELF); @@ -657,6 +688,11 @@ arguments. The class is attached to the current HLL namespace. init_class_from_hash(INTERP, SELF, arg); } + void destroy() { + Parrot_Class_attributes * const _class = PARROT_CLASS(SELF); + parrot_hash_destroy(INTERP, _class->isa_cache); + } + /* =item C @@ -697,6 +733,8 @@ Marks any referenced strings and PMCs in the structure as live. Parrot_gc_mark_PMC_alive(INTERP, _class->attrib_cache); Parrot_gc_mark_PMC_alive(INTERP, _class->resolve_method); Parrot_gc_mark_PMC_alive(INTERP, _class->meth_cache); + if (_class->isa_cache) + parrot_mark_hash(INTERP, _class->isa_cache); } @@ -922,6 +960,7 @@ Adds the supplied PMC to the list of parents for the class. /* Add to the lists of our immediate parents and all parents. */ VTABLE_push_pmc(INTERP, _class->parents, parent); + parrot_hash_put(INTERP, _class->isa_cache, (void *)parent, (void *)1); calculate_mro(INTERP, SELF, parent_count + 1); } @@ -969,6 +1008,7 @@ if the class has been instantiated. "Can't remove_parent: is not a parent."); VTABLE_delete_keyed_int(INTERP, _class->parents, index); + parrot_hash_put(INTERP, _class->isa_cache, (void *)parent, (void *)0); calculate_mro(INTERP, SELF, parent_count - 1); } @@ -1084,13 +1124,11 @@ Array of Class PMCs representing the direct parents of this class. if (found->vtable->base_type == enum_class_Hash) { /* for Hash return values, create and return a shallow * clone because the VTABLE_clone does a deep clone */ - PMC * const hash = Parrot_pmc_new(INTERP, enum_class_Hash); - PMC * const iter = VTABLE_get_iter(INTERP, found); - while (VTABLE_get_bool(INTERP, iter)) { - STRING * const key = VTABLE_shift_string(INTERP, iter); - PMC * const value = VTABLE_get_pmc_keyed_str(INTERP, found, key); - VTABLE_set_pmc_keyed_str(INTERP, hash, key, value); - } + PMC * const hash = Parrot_pmc_new(INTERP, enum_class_Hash); + Hash *src = (Hash *)VTABLE_get_pointer(interp, found); + Hash *dest = (Hash *)VTABLE_get_pointer(interp, hash); + + parrot_hash_clone_prunable(interp, src, dest, 0); return hash; } @@ -1329,7 +1367,8 @@ Returns whether the class is or inherits from C<*class>. VTABLE INTVAL isa_pmc(PMC *lookup) { Parrot_Class_attributes * const _class = PARROT_CLASS(SELF); PMC *classobj; - INTVAL i, num_classes; + HashBucket *b; + INTVAL i, num_classes, retval = 0; if (PMC_IS_NULL(lookup)) return 0; @@ -1344,7 +1383,14 @@ Returns whether the class is or inherits from C<*class>. /* Check if the class object is the same as self's class object */ if (VTABLE_is_same(INTERP, SELF, classobj)) - return 1; + goto found; + + if (_class->instantiated) { + b = parrot_hash_get_bucket(INTERP, _class->isa_cache, + (void *)classobj); + if (b) + return (INTVAL)b->value; + } /* this is effectively what the default PMC's isa_pmc does * ... but this can cheat and avoid COW STRINGs for the classobj @@ -1354,7 +1400,7 @@ Returns whether the class is or inherits from C<*class>. STRING *classname = make_class_name(INTERP, classobj); PARROT_ASSERT(SELF->vtable->isa_hash); if (parrot_hash_exists(INTERP, SELF->vtable->isa_hash, classname)) - return 1; + goto found; } /* Iterate over all the parents and check if they respond true @@ -1366,10 +1412,18 @@ Returns whether the class is or inherits from C<*class>. _class->parents, i); if (VTABLE_isa_pmc(INTERP, cur_class, lookup)) - return 1; + goto found; } - return 0; + cache_and_return: + if (_class->instantiated) + parrot_hash_put(INTERP, _class->isa_cache, (void *)classobj, + (void *)retval); + return retval; + + found: + retval = 1; + goto cache_and_return; } /* @@ -1396,8 +1450,22 @@ Returns whether the class is or inherits from C<*classname>. if (SELF == want_class) return 1; + else { + Parrot_Class_attributes * const _class = PARROT_CLASS(SELF); + + INTVAL num_classes = VTABLE_elements(INTERP, _class->all_parents); + int i = 0; - return VTABLE_isa_pmc(INTERP, SELF, want_class); + for (i = 1; i < num_classes; ++i) { + PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP, + _class->all_parents, i); + + if (VTABLE_is_same(INTERP, want_class, cur_class)) + return 1; + } + } + + return 0; } /* diff --git a/src/pmc/default.pmc b/src/pmc/default.pmc index 63fe1621d4..ad64c57d99 100644 --- a/src/pmc/default.pmc +++ b/src/pmc/default.pmc @@ -23,9 +23,6 @@ generated from F by F. #define INT2KEY(i, k) key_new_integer((i), (k)) -/* undef 'interface' to keep MSVC happy */ -#undef interface - /* HEADERIZER HFILE: none */ /* HEADERIZER BEGIN: static */ /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ @@ -903,18 +900,18 @@ true (1) is returned; otherwise, false (0) is returned. /* -=item C +=item C -Reports whether the PMC "does" perform C. -If the interface C is found in the PMC's interface list, +Reports whether the PMC "does" perform C. +If the interface C is found in the PMC's interface list, true (1) is returned; otherwise, false (0) is returned. =cut */ - VTABLE INTVAL does(STRING *_interface) { - return Parrot_pmc_type_does(INTERP, _interface, SELF->vtable->base_type); + VTABLE INTVAL does(STRING *interface_name) { + return Parrot_pmc_type_does(INTERP, interface_name, SELF->vtable->base_type); } /* @@ -968,11 +965,15 @@ true (1) is returned; otherwise, false (0) is returned. */ VTABLE INTVAL isa(STRING *_class) { - const Hash * const isa_hash = SELF->vtable->isa_hash; - if (!isa_hash) - return Parrot_str_equal(INTERP, SELF->vtable->whoami, _class); + if (SELF->vtable->whoami == _class) + return 1; + else { + const Hash * const isa_hash = SELF->vtable->isa_hash; + if (!isa_hash) + return Parrot_str_equal(INTERP, SELF->vtable->whoami, _class); - return parrot_hash_exists(INTERP, isa_hash, (void *)_class); + return parrot_hash_exists(INTERP, isa_hash, (void *)_class); + } } /* diff --git a/src/pmc/filehandle.pmc b/src/pmc/filehandle.pmc index 62b86ac46d..602c2fbdc4 100644 --- a/src/pmc/filehandle.pmc +++ b/src/pmc/filehandle.pmc @@ -1,5 +1,5 @@ /* -Copyright (C) 2008-2009, Parrot Foundation. +Copyright (C) 2008-2010, Parrot Foundation. $Id$ =head1 NAME @@ -281,12 +281,14 @@ filehandle, rather than modifying the invocant). =item C +Returns a boolean value indicating whether C is a console/tty. + =cut */ + METHOD isatty() { - const INTVAL isatty = - (PARROT_FILEHANDLE(SELF)->flags & PIO_F_CONSOLE) == PIO_F_CONSOLE; + const INTVAL isatty = Parrot_io_is_tty(INTERP, SELF); RETURN(INTVAL isatty); } diff --git a/src/pmc/fixedintegerarray.pmc b/src/pmc/fixedintegerarray.pmc index 4f27dec876..8c5899d751 100644 --- a/src/pmc/fixedintegerarray.pmc +++ b/src/pmc/fixedintegerarray.pmc @@ -23,13 +23,20 @@ INTVALs. It uses Integer PMCs for all of the conversions. /* HEADERIZER BEGIN: static */ /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ -static int auxcmpfunc(const INTVAL *i, const INTVAL *j); -#define ASSERT_ARGS_auxcmpfunc __attribute__unused__ int _ASSERT_ARGS_CHECK = (0) +PARROT_PURE_FUNCTION +static int auxcmpfunc(ARGIN(const INTVAL *i), ARGIN(const INTVAL *j)) + __attribute__nonnull__(1) + __attribute__nonnull__(2); + +#define ASSERT_ARGS_auxcmpfunc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\ + PARROT_ASSERT_ARG(i) \ + , PARROT_ASSERT_ARG(j)) /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */ /* HEADERIZER END: static */ +PARROT_PURE_FUNCTION static int -auxcmpfunc(const INTVAL *i, const INTVAL *j) +auxcmpfunc(ARGIN(const INTVAL *i), ARGIN(const INTVAL *j)) { ASSERT_ARGS(auxcmpfunc) return *i - *j; @@ -545,8 +552,8 @@ The C<==> operation. Compares two array to hold equal elements. return 0; for (j = 0; j < n; ++j) { - INTVAL item1 = SELF.get_integer_keyed_int(j); - INTVAL item2 = VTABLE_get_integer_keyed_int(INTERP, value, j); + const INTVAL item1 = SELF.get_integer_keyed_int(j); + const INTVAL item2 = VTABLE_get_integer_keyed_int(INTERP, value, j); if (item1 != item2) return 0; diff --git a/src/pmc/handle.pmc b/src/pmc/handle.pmc index 5d0557887d..fc4ad705fc 100644 --- a/src/pmc/handle.pmc +++ b/src/pmc/handle.pmc @@ -1,5 +1,5 @@ /* -Copyright (C) 2008, Parrot Foundation. +Copyright (C) 2008-2010, Parrot Foundation. $Id$ =head1 NAME @@ -14,9 +14,12 @@ This is the base-class for all IO-related PMCs. =over 4 -=item * [to come] +=item C -=back +=item C + +Handle shouldn't be directly instantiated, init and init_pmc throws +EXCEPTION_INVALID_OPERATION. =cut @@ -42,6 +45,29 @@ pmclass Handle provides Handle manual_attrs { Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION, "Handle cannot be instantiated directly."); } + +/* + +=back + +=head2 Methods + +=over 4 + +=item C + +Returns a boolean value indicating whether C is a console/tty. +This default implementation always return false. Override it in +subtypes that are or can be tty. + +=cut + +*/ + + METHOD isatty() { + RETURN(INTVAL 0); + } + } /* diff --git a/src/pmc/hash.pmc b/src/pmc/hash.pmc index b5897385da..b2f60b4512 100644 --- a/src/pmc/hash.pmc +++ b/src/pmc/hash.pmc @@ -1104,7 +1104,7 @@ Used to archive the hash. */ VTABLE void freeze(PMC *info) { - Hash * const hash = (Hash *)SELF.get_pointer();; + Hash * const hash = (Hash *)SELF.get_pointer(); SUPER(info); VTABLE_push_integer(INTERP, info, VTABLE_elements(INTERP, SELF)); diff --git a/src/pmc/hashiterator.pmc b/src/pmc/hashiterator.pmc index 67ec6125e9..f796dbc27f 100644 --- a/src/pmc/hashiterator.pmc +++ b/src/pmc/hashiterator.pmc @@ -87,7 +87,7 @@ advance_to_next(PARROT_INTERP, ARGMOD(PMC *self)) if (attrs->pos == attrs->total_buckets) break; - bucket = attrs->parrot_hash->bi[attrs->pos++]; + bucket = attrs->parrot_hash->bucket_indices[attrs->pos++]; } attrs->bucket = bucket; --attrs->elements; @@ -172,7 +172,7 @@ Marks the hash as live. Parrot_HashIterator_attributes * const attrs = PARROT_HASHITERATOR(SELF); - if (value == 0) { + if (value == ITERATE_FROM_START) { /* Restart iterator */ attrs->bucket = 0; attrs->pos = 0; @@ -264,10 +264,17 @@ the next one. */ VTABLE STRING* shift_string() { - PMC * const key = SELF.shift_pmc(); - STRING * const ret = VTABLE_get_string(INTERP, key); - Parrot_pmc_free_temporary(INTERP, key); - return ret; + Parrot_HashIterator_attributes * const attrs = + PARROT_HASHITERATOR(SELF); + HashBucket * const bucket = attrs->bucket; + + if (!attrs->parrot_hash || !attrs->bucket) + return CONST_STRING(INTERP, ""); + + /* Move to next bucket */ + advance_to_next(INTERP, SELF); + + return hash_key_to_string(INTERP, attrs->parrot_hash, bucket->key); } } diff --git a/src/pmc/lexinfo.pmc b/src/pmc/lexinfo.pmc index 0f8ca48a4d..c029944975 100644 --- a/src/pmc/lexinfo.pmc +++ b/src/pmc/lexinfo.pmc @@ -105,7 +105,7 @@ C, which gets an array of the names of the symbols in this lexpad. INTVAL i; for (i = hash->mask; i >= 0; --i) { - HashBucket *bucket = hash->bi[i]; + HashBucket *bucket = hash->bucket_indices[i]; while (bucket) { if (++found > entries) Parrot_ex_throw_from_c_args(INTERP, NULL, 1, diff --git a/src/pmc/object.pmc b/src/pmc/object.pmc index 0b2420c8e9..482a4bb670 100644 --- a/src/pmc/object.pmc +++ b/src/pmc/object.pmc @@ -103,7 +103,7 @@ get_attrib_index(PARROT_INTERP, ARGIN(PMC *self), ARGIN(STRING *name)) /* there's a semi-predicate problem with a retval of 0 */ if (retval - || VTABLE_exists_keyed_str(interp, _class->attrib_cache, name)) { + || VTABLE_exists_keyed_str(interp, _class->attrib_cache, name)) { Parrot_pcc_set_HLL(interp, CURRENT_CONTEXT(interp), cur_hll); return retval; } @@ -138,6 +138,7 @@ get_attrib_index(PARROT_INTERP, ARGIN(PMC *self), ARGIN(STRING *name)) return -1; } + /* This variation bypasses the cache and finds the index of a particular * parent's attribute in an object's attribute store and returns it. Returns -1 * if the attribute does not exist. */ @@ -148,8 +149,10 @@ get_attrib_index_keyed(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *key), ARGIN(S { ASSERT_ARGS(get_attrib_index_keyed) Parrot_Class_attributes * const _class = PARROT_CLASS(self); - PMC * const class_cache = VTABLE_get_pmc_keyed_str(interp, - _class->attrib_cache, VTABLE_get_string(interp, key)); + PMC * const class_cache = + VTABLE_get_pmc_keyed_str(interp, _class->attrib_cache, + VTABLE_get_string(interp, key)); + PMC *parent_class; STRING *fq_name; @@ -173,6 +176,7 @@ get_attrib_index_keyed(PARROT_INTERP, ARGIN(PMC *self), ARGIN(PMC *key), ARGIN(S return -1; } + PARROT_WARN_UNUSED_RESULT PARROT_CAN_RETURN_NULL static PMC * @@ -188,8 +192,10 @@ find_cached(PARROT_INTERP, ARGIN(PMC *_class), ARGIN(STRING *name)) return VTABLE_get_pmc_keyed_str(interp, cache, name); } + static void -cache_method(PARROT_INTERP, ARGIN(PMC *_class), ARGIN(STRING *name), ARGIN(PMC *method)) +cache_method(PARROT_INTERP, ARGIN(PMC *_class), ARGIN(STRING *name), +ARGIN(PMC *method)) { ASSERT_ARGS(cache_method) PMC *cache; @@ -207,6 +213,7 @@ pmclass Object auto_attrs { ATTR PMC *_class; /* The class this is an instance of. */ ATTR PMC *attrib_store; /* The attributes store - a resizable PMC array. */ + /* =item C @@ -238,6 +245,7 @@ Raises an exception; you can only instantiate objects from a class. "Object must be created by a class."); } + /* =item C @@ -250,6 +258,7 @@ Just to avoid the automatic generation of one. VTABLE void destroy() { } + /* =item C @@ -265,7 +274,8 @@ Returns the fully qualified name of the object's class. STRING * const name = CONST_STRING(INTERP, "name"); /* If there's a vtable override for 'name' run that instead. */ - PMC * const method = Parrot_oo_find_vtable_override(INTERP, _class, name); + PMC * const method = Parrot_oo_find_vtable_override(INTERP, + _class, name); if (!PMC_IS_NULL(method)) { STRING *result = NULL; @@ -277,6 +287,7 @@ Returns the fully qualified name of the object's class. return VTABLE_get_string(INTERP, _class); } + /* =item C @@ -295,6 +306,7 @@ Mark any referenced strings and PMCs. } } + /* =item C @@ -307,7 +319,8 @@ of the given name walking up the inheritance tree. */ VTABLE PMC *get_attr_str(STRING *name) { Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); - STRING * const get_attr = CONST_STRING(INTERP, "get_attr_str"); + STRING * const get_attr = CONST_STRING(INTERP, "get_attr_str"); + INTVAL index; /* If there's a vtable override for 'get_attr_str' run that first. */ @@ -326,12 +339,13 @@ of the given name walking up the inheritance tree. /* If lookup failed, exception. */ if (index == -1) - Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ATTRIB_NOT_FOUND, - "No such attribute '%S'", name); + Parrot_ex_throw_from_c_args(INTERP, NULL, + EXCEPTION_ATTRIB_NOT_FOUND, "No such attribute '%S'", name); return VTABLE_get_pmc_keyed_int(INTERP, obj->attrib_store, index); } + /* =item C @@ -346,17 +360,20 @@ defined in the parent identified by the given key. Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); /* Look up the index. */ - const INTVAL index = get_attrib_index_keyed(INTERP, obj->_class, key, name); + const INTVAL index = get_attrib_index_keyed(INTERP, obj->_class, + key, name); /* If lookup failed, exception. */ if (index == -1) - Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ATTRIB_NOT_FOUND, + Parrot_ex_throw_from_c_args(INTERP, NULL, + EXCEPTION_ATTRIB_NOT_FOUND, "No such attribute '%S' in class '%S'", name, VTABLE_get_string(INTERP, key)); return VTABLE_get_pmc_keyed_int(INTERP, obj->attrib_store, index); } + /* =item C @@ -368,13 +385,14 @@ of the given name walking up the inheritance tree. */ VTABLE void set_attr_str(STRING *name, PMC *value) { - Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); - STRING * const vtable_meth_name = CONST_STRING(INTERP, "set_attr_str"); + Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); + STRING * const vtable_meth_name = CONST_STRING(INTERP, "set_attr_str"); INTVAL index; /* If there's a vtable override for 'set_attr_str' run that first. */ PMC * const method = Parrot_oo_find_vtable_override(INTERP, VTABLE_get_class(INTERP, SELF), vtable_meth_name); + if (!PMC_IS_NULL(method)) { Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "PiSP->", SELF, name, value); @@ -385,12 +403,13 @@ of the given name walking up the inheritance tree. /* If lookup failed, exception. */ if (index == -1) - Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ATTRIB_NOT_FOUND, - "No such attribute '%S'", name); + Parrot_ex_throw_from_c_args(INTERP, NULL, + EXCEPTION_ATTRIB_NOT_FOUND, "No such attribute '%S'", name); VTABLE_set_pmc_keyed_int(INTERP, obj->attrib_store, index, value); } + /* =item C @@ -402,18 +421,21 @@ defined in the parent identified by the given key. */ VTABLE void set_attr_keyed(PMC *key, STRING *name, PMC *value) { - Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); - const INTVAL index = get_attrib_index_keyed(INTERP, obj->_class, key, name); + Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); + const INTVAL index = + get_attrib_index_keyed(INTERP, obj->_class, key, name); /* If lookup failed, exception. */ if (index == -1) - Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ATTRIB_NOT_FOUND, + Parrot_ex_throw_from_c_args(INTERP, NULL, + EXCEPTION_ATTRIB_NOT_FOUND, "No such attribute '%S' in class '%S'", name, VTABLE_get_string(INTERP, key)); VTABLE_set_pmc_keyed_int(INTERP, obj->attrib_store, index, value); } + /* =item C @@ -426,7 +448,8 @@ Queries this object's class to find the method with the given name. VTABLE PMC *find_method(STRING *name) { Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); Parrot_Class_attributes * const _class = PARROT_CLASS(obj->_class); - PMC *method = find_cached(INTERP, obj->_class, name); + PMC *method = + find_cached(INTERP, obj->_class, name); if (!PMC_IS_NULL(method)) return method; @@ -486,6 +509,7 @@ Queries this object's class to find the method with the given name. } } + /* =item C @@ -498,37 +522,42 @@ Invoke the PIR-defined vtable override, or call the default get_integer. VTABLE INTVAL get_integer() { Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF); Parrot_Class_attributes * const _class = PARROT_CLASS(obj->_class); - STRING * const meth_name = CONST_STRING(INTERP, "get_integer"); + STRING * const meth_name = CONST_STRING(INTERP, "get_integer"); /* Walk and search for the vtable. */ const int num_classes = VTABLE_elements(INTERP, _class->all_parents); - int i; + int i; + for (i = 0; i < num_classes; i++) { /* Get the class. */ - PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP, _class->all_parents, i); + PMC * const cur_class = + VTABLE_get_pmc_keyed_int(INTERP, _class->all_parents, i); PMC * const meth = Parrot_oo_find_vtable_override_for_class(INTERP, cur_class, meth_name); + if (!PMC_IS_NULL(meth)) { INTVAL result; - Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->I", SELF, &result); + Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->I", + SELF, &result); return result; } + if (cur_class->vtable->base_type == enum_class_PMCProxy) { /* Get the PMC instance and call the vtable function on that. */ STRING * const proxy = CONST_STRING(INTERP, "proxy"); - PMC * const del_object = VTABLE_get_attr_str(INTERP, SELF, proxy); + PMC * const del_object = + VTABLE_get_attr_str(INTERP, SELF, proxy); - if (!PMC_IS_NULL(del_object)) { + if (!PMC_IS_NULL(del_object)) return (INTVAL)VTABLE_get_integer(INTERP, del_object); - - } } } return INTERP->vtables[enum_class_default]->get_integer(INTERP, SELF); } + /* =item C @@ -541,8 +570,9 @@ Get the class PMC representing the class that this object is an instance of. VTABLE PMC *get_class() { PMC * const classobj = PARROT_OBJECT(SELF)->_class; STRING * const get_class = CONST_STRING(INTERP, "get_class"); + /* If there's a vtable override for 'get_class' run that instead. */ - PMC * const method = Parrot_oo_find_vtable_override(INTERP, + PMC * const method = Parrot_oo_find_vtable_override(INTERP, classobj, get_class); if (!PMC_IS_NULL(method)) { @@ -555,6 +585,7 @@ Get the class PMC representing the class that this object is an instance of. return classobj; } + /* =item C @@ -568,8 +599,9 @@ Get the namespace PMC associated with the class that this object is an instance VTABLE PMC *get_namespace() { PMC * const classobj = VTABLE_get_class(INTERP, SELF); STRING * const get_namespace = CONST_STRING(INTERP, "get_namespace"); - /* If there's a vtable override for 'get_namespace' run that instead. */ - PMC * const method = Parrot_oo_find_vtable_override(INTERP, + + /* If there's a vtable override for 'get_namespace' run that instead */ + PMC * const method = Parrot_oo_find_vtable_override(INTERP, classobj, get_namespace); if (!PMC_IS_NULL(method)) { @@ -578,11 +610,11 @@ Get the namespace PMC associated with the class that this object is an instance SELF, &result); return result; } - else - return VTABLE_inspect_str(INTERP, classobj, CONST_STRING(INTERP, "namespace")); + return VTABLE_inspect_str(INTERP, classobj, CONST_STRING(INTERP, "namespace")); } + /* =item C @@ -595,10 +627,12 @@ non-zero value if it does. */ VTABLE INTVAL can(STRING *method_name) { /* Just use find_method and see it if finds anything. */ - const PMC * const method = VTABLE_find_method(INTERP, SELF, method_name); + const PMC * const method = + VTABLE_find_method(INTERP, SELF, method_name); return !PMC_IS_NULL(method); } + /* =item C @@ -620,6 +654,7 @@ Returns whether the object's class is or inherits from C<*classname>. return VTABLE_isa_pmc(INTERP, VTABLE_get_class(INTERP, SELF), lookup); } + /* =item C @@ -631,15 +666,15 @@ Returns whether the class is or inherits from C<*classname>. */ VTABLE INTVAL isa(STRING *classname) { - PMC *_class; - if (SUPER(classname)) return 1; - - _class = VTABLE_get_class(INTERP, SELF); - return VTABLE_isa(INTERP, _class, classname); + else { + PMC * _class = VTABLE_get_class(INTERP, SELF); + return VTABLE_isa(INTERP, _class, classname); + } } + /* =item C @@ -669,6 +704,7 @@ Returns whether the object's class does the role with name C<*role_name>. return 1; } } + /* Check the superclass's vtable interface, if any. */ if (SUPER(role_name)) return 1; @@ -677,6 +713,7 @@ Returns whether the object's class does the role with name C<*role_name>. return VTABLE_does(INTERP, VTABLE_get_class(INTERP, SELF), role_name); } + /* =item C @@ -698,6 +735,7 @@ Returns whether the object's class does C<*role>. return VTABLE_does_pmc(INTERP, VTABLE_get_class(INTERP, SELF), role); } + /* =item C @@ -720,17 +758,19 @@ Invokes the object (if this vtable function is overridden). /* Get the class. */ STRING * const meth_name = CONST_STRING(INTERP, "invoke"); STRING * const proxy = CONST_STRING(INTERP, "proxy"); - PMC * const cur_class = + PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP, _class->all_parents, i); - PMC * const meth = + PMC * const meth = Parrot_oo_find_vtable_override_for_class(INTERP, cur_class, meth_name); if (!PMC_IS_NULL(meth)) { /* Experimental code. See DEPRECATED.pod */ - PMC *call_sig = Parrot_pcc_get_signature(INTERP, CURRENT_CONTEXT(INTERP)); - if ((VTABLE_elements(INTERP, call_sig) == 0 || - VTABLE_get_pmc_keyed_int(INTERP, call_sig, 0) != SELF)) + PMC *call_sig = + Parrot_pcc_get_signature(INTERP, CURRENT_CONTEXT(INTERP)); + + if ((VTABLE_elements(INTERP, call_sig) == 0 + || VTABLE_get_pmc_keyed_int(INTERP, call_sig, 0) != SELF)) VTABLE_unshift_pmc(INTERP, call_sig, SELF); return VTABLE_invoke(INTERP, meth, next); @@ -749,6 +789,7 @@ Invokes the object (if this vtable function is overridden). return (opcode_t *)INTERP->vtables[enum_class_default]->invoke(INTERP, SELF, next); } + /* =item C @@ -764,6 +805,7 @@ Returns the integer type of the object's class. return VTABLE_type(INTERP, _class); } + /* =item C @@ -779,20 +821,20 @@ Creates a clone of the object. /* If we have a custom override, invoke it. * If not, use the oo function. */ STRING * const meth_name = CONST_STRING(INTERP, "clone"); - PMC * const meth = + PMC * const meth = Parrot_oo_find_vtable_override(INTERP, obj->_class, meth_name); - PMC *result; if (!PMC_IS_NULL(meth)) { - Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->P", SELF, &result); - } - else { - result = Parrot_oo_clone_object(INTERP, SELF, NULL); + PMC *result; + Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->P", + SELF, &result); + return result; } - return result; + return Parrot_oo_clone_object(INTERP, SELF, NULL); } + /* =item C @@ -815,6 +857,7 @@ C<*info> is the visit info, (see F). VISIT_PMC(INTERP, info, obj_data->attrib_store); } + /* =item C @@ -828,13 +871,12 @@ Realias magically generated methods so they don't wreak havoc. */ VTABLE void freeze(PMC *info) { - return; } VTABLE void thaw(PMC *info) { - return; } + /* =item C @@ -854,6 +896,7 @@ Called after the object has been thawed. PObj_is_object_SET(SELF); } + /* =item C @@ -913,6 +956,7 @@ Used to mark a PMC as read-only shared. return ret; } + /* =item C @@ -927,8 +971,8 @@ Changes the PMC to a PMC of a new type PMC * const classobj = VTABLE_get_class(INTERP, SELF); STRING * const meth_name = CONST_STRING(INTERP, "morph"); /* If there's a vtable override for 'morph' run that instead. */ - PMC * const method = Parrot_oo_find_vtable_override(INTERP, - classobj, meth_name); + PMC * const method = + Parrot_oo_find_vtable_override(INTERP, classobj, meth_name); if (!PMC_IS_NULL(method)) Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "PiP->", diff --git a/src/pmc/orderedhashiterator.pmc b/src/pmc/orderedhashiterator.pmc index 0bb8614ac5..5cec03c940 100644 --- a/src/pmc/orderedhashiterator.pmc +++ b/src/pmc/orderedhashiterator.pmc @@ -95,21 +95,22 @@ Marks the hash as live. /* Restart iterator */ attrs->elements = VTABLE_elements(INTERP, attrs->pmc_hash); - if (value == ITERATE_FROM_START || value == ITERATE_FROM_START_KEYS) { + switch (value) { + case ITERATE_FROM_START: + case ITERATE_FROM_START_KEYS: attrs->pos = 0; attrs->reverse = 0; attrs->next_entry = PARROT_ORDEREDHASH(attrs->pmc_hash)->first; - return; - } - else if (value == ITERATE_FROM_END) { + break; + case ITERATE_FROM_END: attrs->pos = attrs->elements; attrs->reverse = 1; attrs->next_entry = PARROT_ORDEREDHASH(attrs->pmc_hash)->last; - return; + break; + default: + Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION, + "HashIterator: unknown iterator type"); } - - Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION, - "HashIterator: unknown iterator type"); }; /* diff --git a/src/pmc/pmcproxy.pmc b/src/pmc/pmcproxy.pmc index 5b72fc81e7..42f8133d42 100644 --- a/src/pmc/pmcproxy.pmc +++ b/src/pmc/pmcproxy.pmc @@ -81,38 +81,18 @@ Initializes a PMCProxy PMC. */ VTABLE void init() { - Parrot_Class_attributes * const _pmc = - (Parrot_Class_attributes *) PMC_data(SELF); - PMC * const new_attribute = Parrot_pmc_new(INTERP, enum_class_Hash); - STRING * const name = CONST_STRING(INTERP, "proxy"); + Parrot_PMCProxy_attributes * const _pmc = PARROT_PMCPROXY(SELF); + STRING * const name = CONST_STRING(INTERP, "proxy"); + PMC * const new_attribute + = Parrot_pmc_new(INTERP, enum_class_Hash); - /* Set flag for custom GC mark. */ - PObj_custom_mark_SET(SELF); - - /* Set up the object. */ - _pmc->id = 0; - _pmc->name = CONST_STRING(INTERP, ""); - _pmc->_namespace = PMCNULL; - _pmc->parents = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray); - _pmc->all_parents = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray); - _pmc->roles = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray); - _pmc->methods = Parrot_pmc_new(INTERP, enum_class_Hash); - _pmc->vtable_overrides = Parrot_pmc_new(INTERP, enum_class_Hash); - _pmc->parent_overrides = Parrot_pmc_new(INTERP, enum_class_Hash); - _pmc->attrib_metadata = Parrot_pmc_new(INTERP, enum_class_Hash); - _pmc->attrib_index = PMCNULL; - _pmc->attrib_cache = PMCNULL; - _pmc->resolve_method = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray); + SUPER(); /* Set up the attribute storage for the proxy instance */ VTABLE_set_string_keyed_str(INTERP, new_attribute, CONST_STRING(INTERP, "name"), name); VTABLE_set_pmc_keyed_str(INTERP, _pmc->attrib_metadata, name, new_attribute); - /* We put ourself on the all parents list. */ - VTABLE_push_pmc(INTERP, _pmc->all_parents, SELF); - - /* We are a class. */ - PObj_is_class_SET(SELF); + CLASS_is_anon_CLEAR(SELF); } VTABLE void init_int(INTVAL type_num) { diff --git a/src/pmc/stringhandle.pmc b/src/pmc/stringhandle.pmc index a6b00edcaf..4e182f37e7 100644 --- a/src/pmc/stringhandle.pmc +++ b/src/pmc/stringhandle.pmc @@ -222,6 +222,8 @@ StringHandles are never tty's, returns false. */ METHOD is_tty() { + Parrot_warn_deprecated(INTERP, + "'is_tty' is deprecated, use 'isatty' instead - TT #1689"); RETURN(INTVAL 0); } diff --git a/src/pmc/sub.pmc b/src/pmc/sub.pmc index 590e3e48a0..944939110a 100644 --- a/src/pmc/sub.pmc +++ b/src/pmc/sub.pmc @@ -108,6 +108,7 @@ Initializes the subroutine. attrs->outer_sub = PMCNULL; attrs->multi_signature = PMCNULL; attrs->namespace_name = PMCNULL; + attrs->vtable_index = -1; PObj_custom_mark_destroy_SETALL(SELF); } @@ -167,6 +168,8 @@ surboutine is fully constructed but not attached to interpreter. field = CONST_STRING(INTERP, "vtable_index"); if (VTABLE_exists_keyed_str(INTERP, init, field)) attrs->vtable_index = VTABLE_get_integer_keyed_str(INTERP, init, field); + else + attrs->vtable_index = -1; field = CONST_STRING(INTERP, "multi_signature"); if (VTABLE_exists_keyed_str(INTERP, init, field)) @@ -182,8 +185,19 @@ surboutine is fully constructed but not attached to interpreter. /* comp_flags is actually UINTVAL */ field = CONST_STRING(INTERP, "comp_flags"); - if (VTABLE_exists_keyed_str(INTERP, init, field)) - attrs->comp_flags = (UINTVAL)VTABLE_get_integer_keyed_str(INTERP, init, field); + if (VTABLE_exists_keyed_str(INTERP, init, field)) { + UINTVAL flags = (UINTVAL)VTABLE_get_integer_keyed_str(INTERP, init, field); + /* Mask comp flags only */ + attrs->comp_flags = flags & SUB_COMP_FLAG_MASK; + } + + /* In order to create Sub dynamicaly we have to set PObj flags */ + field = CONST_STRING(INTERP, "pf_flags"); + if (VTABLE_exists_keyed_str(INTERP, init, field)) { + UINTVAL flags = (UINTVAL)VTABLE_get_integer_keyed_str(INTERP, init, field); + /* Mask Sub specific flags only */ + PObj_get_FLAGS(SELF) |= flags & SUB_FLAG_PF_MASK; + } field = CONST_STRING(INTERP, "n_regs_used"); if (VTABLE_exists_keyed_str(INTERP, init, field)) { @@ -858,7 +872,7 @@ The number of optional named arguments ASSERT_SIG_PMC(sig); for (i = 0; i < sig_length; ++i) { - int sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);; + int sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i); if (PARROT_ARG_SLURPY_ARRAY_ISSET(sig_item)){ if (PARROT_ARG_NAME_ISSET(sig_item)) sub->arg_info->named_slurpy = 1; @@ -867,7 +881,7 @@ The number of optional named arguments } else if (PARROT_ARG_NAME_ISSET(sig_item)) { ++i; - sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);; + sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i); if (PARROT_ARG_OPTIONAL_ISSET(sig_item)) ++sub->arg_info->named_optional; else @@ -1122,6 +1136,31 @@ slurpy arguments). RETURN(INTVAL arity); } + +/* +=item C + +=item C + +(Experimental) Returns Sub flags. + +=cut +*/ + METHOD comp_flags() { + Parrot_Sub_attributes *sub; + INTVAL flags; + + PMC_get_sub(INTERP, SELF, sub); + flags = sub->comp_flags; + RETURN(INTVAL flags); + } + + METHOD pf_flags() { + /* Only PF specific flags */ + INTVAL flags = PObj_get_FLAGS(SELF) & SUB_FLAG_PF_MASK; + RETURN(INTVAL flags); + } + } diff --git a/src/pmc/unmanagedstruct.pmc b/src/pmc/unmanagedstruct.pmc index 221cae4851..3c0641cbfe 100644 --- a/src/pmc/unmanagedstruct.pmc +++ b/src/pmc/unmanagedstruct.pmc @@ -241,7 +241,7 @@ key_2_idx(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(PMC *key)) Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_KEY_NOT_FOUND, "key doesn't exist"); - ix = b - hash->bs; + ix = b - hash->buckets; } else Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION, diff --git a/src/pmc_freeze.c b/src/pmc_freeze.c index e928f7f5f4..8aa49915c7 100644 --- a/src/pmc_freeze.c +++ b/src/pmc_freeze.c @@ -78,9 +78,10 @@ Parrot_freeze_pbc(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTabl { ASSERT_ARGS(Parrot_freeze_pbc) PMC *visitor; - PMC * const pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct); - VTABLE_set_pointer(interp, pf_pmc, (void *)pf); + DECL_CONST_CAST; + + VTABLE_set_pointer(interp, pf_pmc, PARROT_const_cast(void *, (const void*)pf)); visitor = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc); VTABLE_set_pmc(interp, visitor, pmc); @@ -131,10 +132,11 @@ UINTVAL Parrot_freeze_pbc_size(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTable *pf)) { ASSERT_ARGS(Parrot_freeze_pbc_size) - PMC *pf_pmc, *visitor, *pmc_result; + PMC *pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct); + PMC *visitor, *pmc_result; + DECL_CONST_CAST; - pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct); - VTABLE_set_pointer(interp, pf_pmc, (void *)pf); + VTABLE_set_pointer(interp, pf_pmc, PARROT_const_cast(void *, (const void *)pf)); visitor = Parrot_pmc_new_init(interp, enum_class_ImageIOSize, pf_pmc); VTABLE_set_pmc(interp, visitor, pmc); diff --git a/src/runcore/profiling.c b/src/runcore/profiling.c index 41e0ec2b28..f0ec5c7ae5 100644 --- a/src/runcore/profiling.c +++ b/src/runcore/profiling.c @@ -472,7 +472,7 @@ ARGIN(opcode_t *pc)) } Profiling_exit_check_SET(runcore); - runcore->runcore_finish = Parrot_hires_get_time();; + runcore->runcore_finish = Parrot_hires_get_time(); return pc; } diff --git a/src/string/charset/ascii.c b/src/string/charset/ascii.c index af0b4d31a4..5c8371a857 100644 --- a/src/string/charset/ascii.c +++ b/src/string/charset/ascii.c @@ -678,6 +678,8 @@ string_from_codepoint(PARROT_INTERP, UINTVAL codepoint) =item C +Returns Boolean. + =cut */ @@ -729,6 +731,8 @@ find_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offse =item C +Returns C. + =cut */ @@ -882,6 +886,14 @@ charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(const STRING *src)) return dest; } +/* + +=back + +=cut + +*/ + /* * Local variables: * c-file-style: "parrot" diff --git a/src/string/charset/binary.c b/src/string/charset/binary.c index eb726858a5..d2d6b8cc32 100644 --- a/src/string/charset/binary.c +++ b/src/string/charset/binary.c @@ -407,6 +407,8 @@ validate(SHIM_INTERP, SHIM(const STRING *src)) =item C +Returns Boolean. + =cut */ @@ -423,6 +425,8 @@ is_cclass(SHIM_INTERP, SHIM(INTVAL flags), SHIM(const STRING *src), SHIM(UINTVAL =item C +Find a character in the given character class. + =cut */ @@ -440,6 +444,8 @@ find_cclass(SHIM_INTERP, SHIM(INTVAL flags), =item C +Returns C. + =cut */ @@ -456,6 +462,9 @@ find_not_cclass(SHIM_INTERP, SHIM(INTVAL flags), =item C +Creates a new STRING object from a single codepoint C. Returns +the new STRING. + =cut */ diff --git a/src/string/charset/iso-8859-1.c b/src/string/charset/iso-8859-1.c index 77fb5881b0..8e965fa86f 100644 --- a/src/string/charset/iso-8859-1.c +++ b/src/string/charset/iso-8859-1.c @@ -541,6 +541,8 @@ validate(PARROT_INTERP, ARGIN(const STRING *src)) =item C +Returns Boolean. + =cut */ @@ -591,6 +593,8 @@ find_cclass(PARROT_INTERP, INTVAL flags, =item C +Returns C. + =cut */ diff --git a/src/string/charset/unicode.c b/src/string/charset/unicode.c index 310524b538..e1de74ce69 100644 --- a/src/string/charset/unicode.c +++ b/src/string/charset/unicode.c @@ -738,6 +738,8 @@ validate(PARROT_INTERP, ARGIN(const STRING *src)) =item C +Returns Boolean. + =cut */ @@ -834,6 +836,8 @@ u_iscclass(PARROT_INTERP, UINTVAL codepoint, INTVAL flags) =item C +Returns Boolean. + =cut */ @@ -861,6 +865,8 @@ is_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset) =item C +Find a character in the given character class. + =cut */ @@ -901,6 +907,8 @@ find_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offse =item C +Returns C. + =cut */ diff --git a/t/codingstd/c_function_docs.t b/t/codingstd/c_function_docs.t index 00c056d360..38ea23776d 100644 --- a/t/codingstd/c_function_docs.t +++ b/t/codingstd/c_function_docs.t @@ -91,28 +91,6 @@ foreach my $path (@files) { } __DATA__ -compilers/pirc/src/pircapi.c -config/gen/platform/ansi/dl.c -config/gen/platform/ansi/exec.c -config/gen/platform/ansi/time.c -config/gen/platform/darwin/memalign.c -config/gen/platform/generic/dl.c -config/gen/platform/generic/exec.c -config/gen/platform/generic/math.c -config/gen/platform/generic/memalign.c -config/gen/platform/generic/stat.c -config/gen/platform/generic/time.c -config/gen/platform/netbsd/math.c -config/gen/platform/openbsd/math.c -config/gen/platform/solaris/math.c -config/gen/platform/solaris/time.c -examples/compilers/japhc.c -src/gc/generational_ms.c -src/io/io_string.c -src/string/charset/ascii.c -src/string/charset/binary.c -src/string/charset/iso-8859-1.c -src/string/charset/unicode.c # Local Variables: # mode: cperl diff --git a/t/configure/017-revision_from_cache.t b/t/configure/017-revision_from_cache.t index 058bd40fcf..e476c5ccba 100644 --- a/t/configure/017-revision_from_cache.t +++ b/t/configure/017-revision_from_cache.t @@ -7,10 +7,13 @@ use strict; use warnings; use Test::More; -plan( skip_all => - "\nRelevant only when working in checkout from repository and during configuration" ) - unless (-e 'DEVELOPING' and ! -e 'Makefile'); -plan( tests => 7 ); +if (-e 'DEVELOPING' and ! -e 'Makefile') { + plan tests => 7; +} +else { + plan skip_all => + q{Relevant only when working in checkout from repository and prior to configuration}; +} use Carp; use Cwd; use File::Copy; diff --git a/t/configure/018-revision_to_cache.t b/t/configure/018-revision_to_cache.t index a6daf376ab..1f674e92c3 100644 --- a/t/configure/018-revision_to_cache.t +++ b/t/configure/018-revision_to_cache.t @@ -7,10 +7,13 @@ use strict; use warnings; use Test::More; -plan( skip_all => - "\nRelevant only when working in checkout from repository and during configuration" ) - unless (-e 'DEVELOPING' and ! -e 'Makefile'); -plan( tests => 8 ); +if (-e 'DEVELOPING' and ! -e 'Makefile') { + plan tests => 8; +} +else { + plan skip_all => + q{Relevant only when working in checkout from repository and prior to configuration}; +} use Carp; use Cwd; use File::Copy; diff --git a/t/configure/061-revision_from_cache.t b/t/configure/061-revision_from_cache.t index 8c489a9b02..d783c1f153 100644 --- a/t/configure/061-revision_from_cache.t +++ b/t/configure/061-revision_from_cache.t @@ -7,10 +7,17 @@ use strict; use warnings; use Test::More; -plan( skip_all => - "\nRelevant only when working in checkout from repository and during configuration" ) - unless (-e 'DEVELOPING' and ! -e 'Makefile'); -plan( tests => 25 ); +#plan( skip_all => +# "\nRelevant only when working in checkout from repository and during configuration" ) +# unless (-e 'DEVELOPING' and ! -e 'Makefile'); +#plan( tests => 25 ); +if (-e 'DEVELOPING' and ! -e 'Makefile') { + plan tests => 25; +} +else { + plan skip_all => + q{Relevant only when working in checkout from repository and prior to configuration}; +} use Carp; use Cwd; use File::Copy; diff --git a/t/dynpmc/gziphandle.t b/t/dynpmc/gziphandle.t index 929cbbb718..3391f02cca 100644 --- a/t/dynpmc/gziphandle.t +++ b/t/dynpmc/gziphandle.t @@ -24,7 +24,7 @@ Tests the C PMC, a zlib wrapper. .local pmc config_hash, interp .local int num_tests - num_tests = 9 + num_tests = 10 plan(num_tests) interp = getinterp config_hash = interp[.IGLOBALS_CONFIG_HASH] @@ -48,8 +48,8 @@ Tests the C PMC, a zlib wrapper. $P0 = new 'GzipHandle' $S0 = typeof $P0 is($S0, 'GzipHandle', 'GzipHandle typeof') - $I0 = does $P0, 'Handle' - ok($I0, 'does Handle') + $I0 = isa $P0, 'Handle' + ok($I0, 'isa Handle') .end .include 'stat.pasm' @@ -70,6 +70,8 @@ Tests the C PMC, a zlib wrapper. ok($I2, "compressed") $P2 = new 'GzipHandle' $P2.'open'(filename, 'rb') + $I2 = $P2.'isatty'() + is($I2, 0, 'isatty') $S1 = $P2.'read'($I0) $P2.'close'() is($S1, $S0, "gzip stream") diff --git a/t/examples/pir.t b/t/examples/pir.t index 32230b903a..6af59a2d42 100644 Binary files a/t/examples/pir.t and b/t/examples/pir.t differ diff --git a/t/library/pcre.t b/t/library/pcre.t index 809c5b7a1e..596c281723 100644 --- a/t/library/pcre.t +++ b/t/library/pcre.t @@ -1,5 +1,5 @@ #!perl -# Copyright (C) 2001-2009, Parrot Foundation. +# Copyright (C) 2001-2010, Parrot Foundation. # $Id$ use strict; @@ -101,7 +101,9 @@ Loaded OUT ## 2 - pir_output_is( <<"CODE", <<'OUT', 'soup to nuts' ); + my @todo; + @todo = ( todo => '3..5 fail on Win32' ) if $^O =~ /MSWin32/; + pir_output_is( <<"CODE", <<'OUT', 'soup to nuts', @todo ); .include 'iglobals.pasm' .include 'libpaths.pasm' diff --git a/t/pmc/arrayiterator.t b/t/pmc/arrayiterator.t index e731bdd8d0..3bd484505a 100644 --- a/t/pmc/arrayiterator.t +++ b/t/pmc/arrayiterator.t @@ -24,7 +24,7 @@ Tests C PMC. Navigate in both directions, check bounds. .sub main :main .include 'test_more.pir' - plan(22) + plan(28) iterate_forward() # 8 tests iterate_backward() # 6 tests @@ -52,6 +52,26 @@ Tests C PMC. Navigate in both directions, check bounds. $P0 = shift it ok(it, "Can shift 1st element") is($P0, 1, "With expected value") + + $P1 = new ['Integer'], 0 + $I0 = exists it[$P1] + is($I0, 1, "exists_keyed gives expected value") + + $I0 = defined it[$P1] + is($I0, 1, "defined_keyed gives expected value") + + $P2 = it[$P1] + is($P2, 42, "get_pmc_keyed gives expected value") + + $I0 = it[$P1] + is($I0, 42, "get_integer_keyed gives expected value") + + $N0 = it[$P1] + is($N0, 42.0, "get_number_keyed gives expected value") + + $S0 = it[$P1] + is($S0, '42', "get_string_keyed gives expected value") + $P0 = shift it nok(it, "Iterator is finished after second shift") is($P0, 42, "2nd element has correct value") diff --git a/t/pmc/exception.t b/t/pmc/exception.t index f2413c4e99..17439403eb 100644 --- a/t/pmc/exception.t +++ b/t/pmc/exception.t @@ -18,7 +18,7 @@ Tests C and C PMCs. .sub main :main .include 'test_more.pir' - plan( 19 ) + plan(20) test_bool() test_int() test_attrs() @@ -30,66 +30,12 @@ Tests C and C PMCs. test_throw_obj() .end -.sub test_throw_obj - new $P20, ['ExceptionHandler'] - set_addr $P20, _handler - push_eh $P20 - new $P30, ['Exception'] - throw $P30 - say "not reached" -_handler: - ok(1,'caught exception object thrown') -.end - -.sub test_die - push_eh handler - die 3, 100 - say "not reached" - .return() - handler: - ok(1,'die works') -.end - -.sub test_push_pop_eh - push_eh handler - ok(1,'push_eh works') - - pop_eh - ok(1,'pop_eh works') - .return() - - handler: - say "i am the decider" -.end - -.sub test_push_eh_throw - push_eh handler - $P0 = new ['Exception'] - throw $P0 - ok(0,'throw does not throw') - - handler: - ok(1,'throw can throw') -.end - -.sub test_push_pop_eh_long - $P0 = new ['ExceptionHandler'] - set_addr $P0, handler - push_eh $P0 - ok(1,'push_eh works (long)') - - pop_eh - ok(1,'pop_eh works (long)') - .return() - - handler: - say "i am the decider" -.end - .sub test_bool $P0 = new 'ExceptionHandler' set_addr $P0, _handler - ok($P0,'ExceptionHandler objects return true') + ok($P0,'ExceptionHandler object return true') + $P1 = new 'Exception' + ok($P1,'Exception object return true') .return() _handler: say "howdy bool!" @@ -155,20 +101,76 @@ _handler: .get_results($P0) $P16 = getattribute $P0, 'message' - is($P16, "just pining") + is($P16, "just pining", 'got message') $P17 = getattribute $P0, 'severity' - is($P17, 5) + is($P17, 5, 'got severity') $P18 = getattribute $P0, 'payload' - is($P18, "additional payload") + is($P18, "additional payload", 'got payload') $P19 = getattribute $P0, 'backtrace' $P20 = $P19[0] - is($P20, "backtrace line 1") + is($P20, "backtrace line 1", 'got backtrace data') $P20 = $P19[1] - is($P20, "backtrace line 2") + is($P20, "backtrace line 2", 'more backtrace data') +.end + +.sub test_push_pop_eh + push_eh handler + ok(1,'push_eh works') + + pop_eh + ok(1,'pop_eh works') + .return() + + handler: + say "i am the decider" +.end + +.sub test_push_eh_throw + push_eh handler + $P0 = new ['Exception'] + throw $P0 + ok(0,'throw does not throw') + + handler: + ok(1,'throw can throw') +.end + +.sub test_push_pop_eh_long + $P0 = new ['ExceptionHandler'] + set_addr $P0, handler + push_eh $P0 + ok(1,'push_eh works (long)') + + pop_eh + ok(1,'pop_eh works (long)') + .return() + + handler: + say "i am the decider" +.end + +.sub test_die + push_eh handler + die 3, 100 + say "not reached" + .return() + handler: + ok(1,'die works') +.end + +.sub test_throw_obj + new $P20, ['ExceptionHandler'] + set_addr $P20, _handler + push_eh $P20 + new $P30, ['Exception'] + throw $P30 + say "not reached" +_handler: + ok(1,'caught exception object thrown') .end # Local Variables: diff --git a/t/pmc/exceptionhandler.t b/t/pmc/exceptionhandler.t index eba00bf538..7e01e2431e 100644 --- a/t/pmc/exceptionhandler.t +++ b/t/pmc/exceptionhandler.t @@ -23,7 +23,7 @@ Tests the ExceptionHandler PMC. .include 'test_more.pir' # If test exited with "bad plan" MyHandlerCan.can_handle wasn't invoked. - plan(9) + plan(11) .local pmc eh eh = new ['ExceptionHandler'] @@ -90,6 +90,8 @@ Tests the ExceptionHandler PMC. pop_eh pop_eh + test_handle_types_except() + goto subclass_handler typed_handler_one: @@ -218,6 +220,54 @@ Tests the ExceptionHandler PMC. .return(1) .end +.namespace [ ] + +.sub 'test_handle_types_except' + .local pmc badeh, eh, ex + .local int i + .const int TYPEUSED = .EXCEPTION_UNEXPECTED_NULL + .const int TYPEOTHER = .EXCEPTION_SYNTAX_ERROR + + i = 0 + eh = new ['ExceptionHandler'] + badeh = new ['ExceptionHandler'] + eh.'handle_types_except'(TYPEUSED) + set_addr eh, catch + set_addr badeh, badcatch + push_eh badeh + push_eh eh + ex = new ['Exception'] + ex['type'] = TYPEOTHER + throw ex + goto report1 + badcatch: + finalize eh + goto report1 + catch: + finalize eh + i = 1 + report1: + ok(i, 'type not in except is list is caught') + + i = 0 + set_addr badeh, catchall + set_addr eh, dontcatch + ex = new ['Exception'] + ex['type'] = TYPEUSED + throw ex + goto report2 + catchall: + finalize eh + i = 1 + goto report2 + dontcatch: + finalize eh + report2: + pop_eh + pop_eh + ok(i, 'type in except is list is not caught') +.end + # Local Variables: # mode: pir # fill-column: 100 diff --git a/t/pmc/exporter.t b/t/pmc/exporter.t index fbb261e0af..64d0a8ee81 100644 --- a/t/pmc/exporter.t +++ b/t/pmc/exporter.t @@ -1,5 +1,5 @@ #!perl -# Copyright (C) 2007, Parrot Foundation. +# Copyright (C) 2007-2010, Parrot Foundation. # $Id$ use strict; @@ -28,6 +28,10 @@ pir_output_is( <<'CODE', <<'OUT', 'new' ); $P0 = new ['Exporter'] say "ok 1 - $P0 = new ['Exporter']" + # Most uses of export are short-lived, so use a explicit sweep + # here to ensure coverage of the mark vtable. + sweep 1 + $I0 = isa $P0, 'Exporter' if $I0 goto ok_2 print 'not ' diff --git a/t/pmc/filehandle.t b/t/pmc/filehandle.t index 0f96e11c3b..5e1ecd45e4 100644 --- a/t/pmc/filehandle.t +++ b/t/pmc/filehandle.t @@ -7,7 +7,7 @@ use warnings; use lib qw( . lib ../lib ../../lib ); use Test::More; -use Parrot::Test tests => 20; +use Parrot::Test tests => 23; use Parrot::Test::Util 'create_tempfile'; use Parrot::Test::Util 'create_tempfile'; @@ -40,6 +40,7 @@ my (undef, $temp_file) = create_tempfile( UNLINK => 1 ); # L pir_output_is( <<"CODE", <<'OUT', 'open and close - synchronous' ); .sub 'test' :main + .local int i \$P1 = new ['FileHandle'] \$P1.'open'('README') say 'ok 1 - \$P1.open(\$S1)' @@ -73,6 +74,14 @@ pir_output_is( <<"CODE", <<'OUT', 'open and close - synchronous' ); \$P7.'open'('$temp_file', 'w') say 'ok 7 - \$P7.open(\$S1, \$S2) # new file, write mode succeeds' + i = \$P7.'is_closed'() + print 'is_closed: ' + say i + \$P7.'close'() + i = \$P7.'is_closed'() + print 'is_closed after close: ' + say i + goto end eh_bad_file_1: @@ -93,6 +102,66 @@ ok 4 - $P3.open() # reopening ok 5 - $P5.open($S1) # with bad file ok 6 - $P6.open($S1, $S2) # with bad file ok 7 - $P7.open($S1, $S2) # new file, write mode succeeds +is_closed: 0 +is_closed after close: 1 +OUT + +pir_output_is( <<'CODE', <<'OUT', 'wrong open' ); +.include 'except_types.pasm' + +.sub main :main + .local pmc fh, eh + .local int i + i = 1 + eh = new['ExceptionHandler'] + eh = .EXCEPTION_PIO_ERROR + set_addr eh, catchnoname + push_eh eh + fh = new['FileHandle'] + # Open without filename + fh.'open'() + i = 0 + goto reportnoname + catchnoname: + finalize eh + reportnoname: + say i + + i = 0 + set_addr eh, catchreopen + fh.'open'('README') + i = 1 + # Open already opened + fh.'open'('README') + i = 0 + goto reportreopen + catchreopen: + finalize eh + reportreopen: + say i + pop_eh +.end +CODE +1 +1 +OUT + +pir_output_is( <<'CODE', <<'OUT', 'isatty' ); +.sub 'test' :main + .local pmc fh + .local int i + fh = new ['FileHandle'] + i = fh.'isatty'() + print i + say ' unopened FileHandle is not a tty' + fh.'open'('README') + i = fh.'isatty'() + print i + say ' regular file is not a tty' +.end +CODE +0 unopened FileHandle is not a tty +0 regular file is not a tty OUT SKIP: { @@ -566,6 +635,39 @@ CODE ok OUTPUT +pir_output_is( <<'CODE', <<'OUTPUT', "readall - failure conditions" ); +.include 'except_types.pasm' +.sub main :main + .local pmc fh, eh + fh = new ['FileHandle'] + eh = new ['ExceptionHandler'] + eh.'handle_types'(.EXCEPTION_PIO_ERROR) + set_addr eh, catch1 + push_eh eh + # Using unopened FileHandle + fh.'readall'() + say 'should never happen' + goto test2 + catch1: + finalize eh + say 'caught unopened' + test2: + set_addr eh, catch2 + fh.'open'('README') + # Using opened FileHandle with the filepath option + fh.'readall'('README') + say 'should never happen' + goto end + catch2: + finalize eh + say 'caught reopen' + end: +.end +CODE +caught unopened +caught reopen +OUTPUT + pir_output_is( <<"CODE", <<"OUTPUT", "readall() - utf8 on closed filehandle" ); .sub 'main' .local pmc ifh diff --git a/t/pmc/hash.t b/t/pmc/hash.t index 45cc85e33e..e42fd00b1a 100644 --- a/t/pmc/hash.t +++ b/t/pmc/hash.t @@ -25,7 +25,7 @@ well. .sub main :main .include 'test_more.pir' - plan(171) + plan(172) initial_hash_tests() more_than_one_hash() @@ -142,6 +142,8 @@ well. h[1] = 42 i = h['01'] isnt(i, 42, 'key type STRING') + i = h.'get_key_type'() + is(i, .Hash_key_type_STRING, 'method get_key_type return type STRING') push_eh invalid_type h = -973 # Let's hope it will never become a valid type diff --git a/t/pmc/hashiterator.t b/t/pmc/hashiterator.t index 137ff2f35d..43a75b4a9e 100644 --- a/t/pmc/hashiterator.t +++ b/t/pmc/hashiterator.t @@ -18,16 +18,17 @@ well. =cut +.include 'except_types.pasm' + .sub main :main .include 'test_more.pir' - .include 'except_types.pasm' - plan(6) + plan(8) iter_over_empty_hash() iter_over_single_element() iter_over_single_element_with_checks() - + iter_invalid_type() .end .sub 'iter_over_empty_hash' @@ -36,6 +37,21 @@ well. it = new 'HashIterator', hash $I0 = isfalse it ok($I0, "Iterator for empty Hash is empty") + .local pmc eh + .local int i + i = 1 + eh = new 'ExceptionHandler' + eh.'handle_types'(.EXCEPTION_OUT_OF_BOUNDS) + set_addr eh, catch + push_eh catch + $P0 = shift it + i = 0 + goto report + catch: + finalize eh + report: + pop_eh + ok(i, 'shift for empty hash throws') .end .sub 'iter_over_single_element' @@ -67,6 +83,27 @@ well. .end +.sub 'iter_invalid_type' + .local pmc hash, it + hash = new 'Hash' + it = new 'HashIterator', hash + .local pmc eh + .local int i + i = 1 + eh = new 'ExceptionHandler' + eh.'handle_types'(.EXCEPTION_INVALID_OPERATION) + set_addr eh, catch + push_eh catch + it = 987 # Arbitrary value, let's hope we never use + i = 0 + goto report + catch: + finalize eh + report: + pop_eh + ok(i, 'setting invalid type throws') +.end + # Local Variables: # mode: pir # fill-column: 100 diff --git a/t/pmc/orderedhashiterator.t b/t/pmc/orderedhashiterator.t index a6761c06a5..93451163b8 100644 --- a/t/pmc/orderedhashiterator.t +++ b/t/pmc/orderedhashiterator.t @@ -17,28 +17,101 @@ t/pmc/orderedhash.t. =cut +.include 'iterator.pasm' +.include 'except_types.pasm' + .sub 'main' .include 'test_more.pir' - plan(2) + plan(6) + + 'test_init'() + 'test_bad_type'() + 'test_shift'() + 'test_pop'() +.end - # Just test that we can't create OrderedHashIterator directly - $I0 = 1 +.sub 'test_init' + .local pmc oh, it + .local int i, i2 + # We can't create OrderedHashIterator directly + i = 1 push_eh fail - $P0 = new ['OrderedHashIterator'] - $I0 = 0 + oh = new ['OrderedHashIterator'] + i = 0 fail: pop_eh - ok($I0, "Can't create OrderedHashIterator directly") + ok(i, "Can't create OrderedHashIterator directly") - $P0 = new ['OrderedHash'] - $P1 = iter $P0 - $I0 = isa $P1, 'Iterator' - ok($I0, 'OrderedHashIterator has proper type') + oh = new ['OrderedHash'] + it = iter oh + sweep 1 # Make sure the mark vtable is covered + i = isa it, 'Iterator' + i2 = isa it, 'OrderedHashIterator' + add i, i2 + is(i, 2, 'OrderedHashIterator has proper type') + + # elements and get_integer should both return 0 + i = elements it + i2 = it + add i, i2 + is(i, 0, 'iterator for empty OrderedHash has size 0') +.end +.sub 'test_bad_type' + .local pmc oh, it, eh + .local int i + oh = new ['OrderedHash'] + it = iter oh + i = 1 + eh = new ['ExceptionHandler'] + eh.'handle_types'(.EXCEPTION_INVALID_OPERATION) + set_addr eh, catch + push_eh eh + it = 9999 # Let's hope it will never be a valid iteration type + i = 0 + catch: + finalize eh + pop_eh + ok(i, 'invalid iteration type throws') +.end +.sub 'test_shift' + .local pmc oh, it, eh, p + .local int i + oh = new ['OrderedHash'] + it = iter oh + i = 1 + eh = new ['ExceptionHandler'] + eh.'handle_types'(.EXCEPTION_OUT_OF_BOUNDS) + set_addr eh, catch + push_eh eh + p = shift it + i = 0 + catch: + finalize eh + pop_eh + ok(i, 'shift_pmc in empty OH throws') .end +.sub 'test_pop' + .local pmc oh, it, eh, p + .local int i + oh = new ['OrderedHash'] + it = iter oh + it = .ITERATE_FROM_END + i = 1 + eh = new ['ExceptionHandler'] + eh.'handle_types'(.EXCEPTION_OUT_OF_BOUNDS) + set_addr eh, catch + push_eh eh + p = pop it + i = 0 + catch: + finalize eh + pop_eh + ok(i, 'pop_pmc in empty OH throws') +.end # Local Variables: # mode: pir diff --git a/t/pmc/stringhandle.t b/t/pmc/stringhandle.t index e4b1f5eeeb..d3f8675ff4 100644 --- a/t/pmc/stringhandle.t +++ b/t/pmc/stringhandle.t @@ -664,11 +664,16 @@ pir_output_is( <<'CODE', <<'OUTPUT', 'StringHandle is not a tty' ); .local pmc sh .local int i sh = new ['StringHandle'] + + # See TT #1689 i = sh.'is_tty'() say i + i = sh.'isatty'() + say i .end CODE 0 +0 OUTPUT pir_output_is( <<"CODE", <<"OUTPUT", "readall() - utf8 on closed stringhandle" ); diff --git a/t/postconfigure/05-trace.t b/t/postconfigure/05-trace.t index 4efc779104..fb75f5340e 100644 --- a/t/postconfigure/05-trace.t +++ b/t/postconfigure/05-trace.t @@ -14,7 +14,8 @@ if ( ( -e qq{./lib/Parrot/Config/Generated.pm} ) plan tests => 40; } else { - plan skip_all => q{Tests irrelevant unless configuration completed with tracing requested}; + plan skip_all => + q{Tests irrelevant unless configuration completed with tracing requested}; } use lib qw( lib ); use Parrot::Config; diff --git a/t/steps/auto/format-01.t b/t/steps/auto/format-01.t index 29368d9c59..4d04b859fa 100644 --- a/t/steps/auto/format-01.t +++ b/t/steps/auto/format-01.t @@ -99,7 +99,7 @@ $step = test_step_constructor_and_description($conf); } { my $p5format = '%.15' . $conf->data->get('sPRIgldbl_provisional'); - $p5format =~ s/"//g;; # Perl 5's Config value has embedded double quotes + $p5format =~ s/"//g; # Perl 5's Config value has embedded double quotes $conf->data->set( nv => 'long double' ); eval { auto::format::_set_floatvalfmt_nvsize($conf); diff --git a/t/steps/auto/inline-01.t b/t/steps/auto/inline-01.t index e0c546dee1..b53c4c0ebd 100644 --- a/t/steps/auto/inline-01.t +++ b/t/steps/auto/inline-01.t @@ -68,7 +68,7 @@ ok($step->_evaluate_inline($conf, $test), "_evaluate_inline() returned true value"); is($step->result, q{yes}, "Got expected result"); is($conf->data->get( 'inline' ), 1, - "'inline' attribute has expected value");; + "'inline' attribute has expected value"); $conf->replenish($serialized); @@ -85,7 +85,7 @@ ok($step->_evaluate_inline($conf, $test), "_evaluate_inline() returned true value"); is($step->result, q{no}, "Got expected result"); is($conf->data->get( 'inline' ), q{}, - "'inline' attribute has expected value");; + "'inline' attribute has expected value"); $conf->replenish($serialized); @@ -105,7 +105,7 @@ $step = test_step_constructor_and_description($conf); \$stdout ); ok($ret, "_evaluate_inline() returned true value"); - is($step->result, q{yes}, "Got expected result");; + is($step->result, q{yes}, "Got expected result"); is($conf->data->get( 'inline' ), 1, "'inline' attribute has expected value"); } diff --git a/t/steps/init/hints-01.t b/t/steps/init/hints-01.t index e2dc2129f9..8783a229af 100644 --- a/t/steps/init/hints-01.t +++ b/t/steps/init/hints-01.t @@ -156,7 +156,7 @@ $step = test_step_constructor_and_description($conf); sub { $ret = $step->runstep($conf); }, \$stdout, \$stderr, - );; + ); like( $stdout, qr/No \Q$hints_file\E found/s, diff --git a/t/tools/pbc_disassemble.t b/t/tools/pbc_disassemble.t index cc88705536..5381d7cb13 100644 --- a/t/tools/pbc_disassemble.t +++ b/t/tools/pbc_disassemble.t @@ -32,7 +32,6 @@ use warnings; use lib qw(lib); use Test::More; -use IO::File (); use Parrot::Config; use File::Spec; use Parrot::Test; diff --git a/t/tools/pbc_dump.t b/t/tools/pbc_dump.t index a269f1a808..6b40b3c491 100644 --- a/t/tools/pbc_dump.t +++ b/t/tools/pbc_dump.t @@ -1,5 +1,5 @@ #! perl -# Copyright (C) 2009, Parrot Foundation. +# Copyright (C) 2009-2010, Parrot Foundation. # $Id$ =head1 NAME @@ -32,7 +32,6 @@ use warnings; use lib qw(lib); use Test::More; -use IO::File (); use Parrot::Config; use Parrot::Test; use File::Spec; diff --git a/t/tools/pmc2cutils/05-gen_c.t b/t/tools/pmc2cutils/05-gen_c.t index 1f872b8b4d..d2265f76a4 100644 --- a/t/tools/pmc2cutils/05-gen_c.t +++ b/t/tools/pmc2cutils/05-gen_c.t @@ -177,7 +177,7 @@ my ( $tie, $msg, @lines ); capture( sub { eval { $rv = $self->gen_c(); } }, \$stdout - );; + ); like( $@, qr<^cannot find file '.*/src/pmc/default.dump' in path>, diff --git a/tools/dev/nci_thunk_gen.pir b/tools/dev/nci_thunk_gen.pir index 93e2883769..efa5f0fb95 100644 --- a/tools/dev/nci_thunk_gen.pir +++ b/tools/dev/nci_thunk_gen.pir @@ -639,7 +639,7 @@ TEMPLATE typedef %s(* func_t)(%s); func_t fn_pointer; void *orig_func; - PMC * ctx = CURRENT_CONTEXT(interp); + PMC * const ctx = CURRENT_CONTEXT(interp); PMC * const call_object = Parrot_pcc_get_signature(interp, ctx); PMC * ret_object = PMCNULL; %s