[svn:parrot] r48165 - in branches/gsoc_nfg: . docs docs/book/pir docs/project docs/resources examples/languages/squaak examples/languages/squaak/doc examples/languages/squaak/src examples/languages/squaak/src/Squaak examples/languages/squaak/src/builtins examples/languages/squaak/src/parser ext/nqp-rx/src/stage0 include/parrot include/parrot/oplib lib/Parrot lib/Parrot/Docs src/interp src/ops src/runcore t/native_pbc t/src tools/dev tools/util
darbelo at svn.parrot.org
darbelo at svn.parrot.org
Thu Jul 22 21:29:15 UTC 2010
Author: darbelo
Date: Thu Jul 22 21:29:12 2010
New Revision: 48165
URL: https://trac.parrot.org/parrot/changeset/48165
Log:
Sync with trunk.
Added:
branches/gsoc_nfg/examples/languages/squaak/PARROT_REVISION
- copied unchanged from r48164, trunk/examples/languages/squaak/PARROT_REVISION
branches/gsoc_nfg/examples/languages/squaak/src/Squaak/
- copied from r48164, trunk/examples/languages/squaak/src/Squaak/
branches/gsoc_nfg/examples/languages/squaak/src/squaak.pir
- copied unchanged from r48164, trunk/examples/languages/squaak/src/squaak.pir
Replaced:
branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Actions.pm
- copied unchanged from r48164, trunk/examples/languages/squaak/src/Squaak/Actions.pm
branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Compiler.pm
- copied unchanged from r48164, trunk/examples/languages/squaak/src/Squaak/Compiler.pm
branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Grammar.pm
- copied unchanged from r48164, trunk/examples/languages/squaak/src/Squaak/Grammar.pm
branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Runtime.pm
- copied unchanged from r48164, trunk/examples/languages/squaak/src/Squaak/Runtime.pm
Deleted:
branches/gsoc_nfg/examples/languages/squaak/src/builtins/
branches/gsoc_nfg/examples/languages/squaak/src/parser/
Modified:
branches/gsoc_nfg/ (props changed)
branches/gsoc_nfg/CREDITS
branches/gsoc_nfg/ChangeLog
branches/gsoc_nfg/DEPRECATED.pod
branches/gsoc_nfg/MANIFEST
branches/gsoc_nfg/MANIFEST.generated
branches/gsoc_nfg/NEWS
branches/gsoc_nfg/PBC_COMPAT
branches/gsoc_nfg/README
branches/gsoc_nfg/VERSION
branches/gsoc_nfg/docs/book/pir/ch04_variables.pod
branches/gsoc_nfg/docs/parrothist.pod
branches/gsoc_nfg/docs/project/release_manager_guide.pod
branches/gsoc_nfg/docs/resources/parrot.css
branches/gsoc_nfg/examples/languages/squaak/MAINTAINER
branches/gsoc_nfg/examples/languages/squaak/README
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_1.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_2.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_3.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_4.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_5.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_6.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_7.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_8.pod
branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_9.pod
branches/gsoc_nfg/examples/languages/squaak/setup.pir
branches/gsoc_nfg/examples/languages/squaak/squaak.pir
branches/gsoc_nfg/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/gsoc_nfg/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/gsoc_nfg/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/gsoc_nfg/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/gsoc_nfg/include/parrot/oplib/core_ops.h
branches/gsoc_nfg/include/parrot/runcore_trace.h (props changed)
branches/gsoc_nfg/lib/Parrot/Docs/HTMLPage.pm
branches/gsoc_nfg/lib/Parrot/Install.pm
branches/gsoc_nfg/src/interp/inter_create.c (props changed)
branches/gsoc_nfg/src/ops/core_ops.c
branches/gsoc_nfg/src/runcore/cores.c (props changed)
branches/gsoc_nfg/src/runcore/trace.c (props changed)
branches/gsoc_nfg/t/native_pbc/annotations.pbc
branches/gsoc_nfg/t/native_pbc/integer.pbc
branches/gsoc_nfg/t/native_pbc/integer_1.pbc
branches/gsoc_nfg/t/native_pbc/number.pbc
branches/gsoc_nfg/t/native_pbc/number_1.pbc
branches/gsoc_nfg/t/native_pbc/string.pbc
branches/gsoc_nfg/t/native_pbc/string_1.pbc
branches/gsoc_nfg/t/src/embed.t (props changed)
branches/gsoc_nfg/tools/dev/mk_gitignore.pl (props changed)
branches/gsoc_nfg/tools/util/release.json
Modified: branches/gsoc_nfg/CREDITS
==============================================================================
--- branches/gsoc_nfg/CREDITS Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/CREDITS Thu Jul 22 21:29:12 2010 (r48165)
@@ -129,8 +129,7 @@
E: ask at develooper.com
N: Audrey Tang
-U: audreyt
-U: autrijus
+U: au
E: audreyt at audreyt.org
D: Pugs, a Perl6->Parrot implementation.
@@ -1046,7 +1045,8 @@
U: coke
A: wcoleda
E: will at coleda.com
-D: Tcl language (partcl), APL, website, various languages/ upkeep, misc.
+D: Tcl HLL implementation (partcl), APL, website,
+D: Release Manager, PaFo board member, curmudgeon
N: Zach Lipton
Modified: branches/gsoc_nfg/ChangeLog
==============================================================================
--- branches/gsoc_nfg/ChangeLog Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/ChangeLog Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,5 +1,9 @@
#1 $Id$
+2010.07.10 coke
+ * Released 2.6.0
+ See NEWS for more.
+
2010.06.15 Gerd
* Released 2.5.0
See NEWS for more.
Modified: branches/gsoc_nfg/DEPRECATED.pod
==============================================================================
--- branches/gsoc_nfg/DEPRECATED.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/DEPRECATED.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -305,6 +305,27 @@
L<https://trac.parrot.org/parrot/ticket/1624>
+=item :main Sub behaviour and selection. [eligible in 2.7]
+
+Currently, if no :main sub is found, the first .sub in a file is used as
+main. Also, arguments are passed to the main sub regardless of the .param
+declarations in that sub.
+
+After this change, if no sub is marked with :main, an exception will be
+raised. Multiple :main declarations will be still be allowed, and all but the
+first will be ignored.
+
+This change will also force all subs, including :main, to have their
+arguments checked - to allow an arbitrary number of arguments, have
+this be the only .param declaration in the sub.
+
+ .param pmc args :slurpy
+
+
+L<https://trac.parrot.org/parrot/ticket/1033>
+L<https://trac.parrot.org/parrot/ticket/1704>
+L<https://trac.parrot.org/parrot/ticket/1705>
+
=back
=head1 Functions
@@ -446,7 +467,7 @@
L<https://trac.parrot.org/parrot/ticket/1598>
-=item LWP, HTTP::Message & URI [experimental]
+=item LWP, HTTP::Message, URI & URI::Escape [experimental]
L<http://trac.parrot.org/parrot/ticket/1637>
Modified: branches/gsoc_nfg/MANIFEST
==============================================================================
--- branches/gsoc_nfg/MANIFEST Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/MANIFEST Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Tue Jun 29 22:56:50 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Tue Jul 20 08:39:24 2010 UT
#
# See below for documentation on the format of this file.
#
@@ -619,6 +619,7 @@
examples/languages/abc/t/abc_special_variables [examples]
examples/languages/abc/t/abc_statement [examples]
examples/languages/squaak/MAINTAINER [examples]
+examples/languages/squaak/PARROT_REVISION [examples]
examples/languages/squaak/README [examples]
examples/languages/squaak/doc/tutorial_episode_1.pod [examples]
examples/languages/squaak/doc/tutorial_episode_2.pod [examples]
@@ -633,9 +634,11 @@
examples/languages/squaak/examples/life.sq [examples]
examples/languages/squaak/setup.pir [examples]
examples/languages/squaak/squaak.pir [examples]
-examples/languages/squaak/src/builtins/say.pir [examples]
-examples/languages/squaak/src/parser/actions.pm [examples]
-examples/languages/squaak/src/parser/grammar.pg [examples]
+examples/languages/squaak/src/Squaak/Actions.pm [examples]
+examples/languages/squaak/src/Squaak/Compiler.pm [examples]
+examples/languages/squaak/src/Squaak/Grammar.pm [examples]
+examples/languages/squaak/src/Squaak/Runtime.pm [examples]
+examples/languages/squaak/src/squaak.pir [examples]
examples/languages/squaak/t/00-sanity.t [examples]
examples/languages/squaak/t/01-math.t [examples]
examples/library/acorn.life [examples]
Modified: branches/gsoc_nfg/MANIFEST.generated
==============================================================================
--- branches/gsoc_nfg/MANIFEST.generated Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/MANIFEST.generated Thu Jul 22 21:29:12 2010 (r48165)
@@ -2,11 +2,11 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
-blib/lib/libparrot.2.5.0.dylib [main]lib
+blib/lib/libparrot.2.6.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
blib/lib/libparrot.so [main]lib
-blib/lib/libparrot.so.2.5.0 [main]lib
+blib/lib/libparrot.so.2.6.0 [main]lib
compilers/data_json/data_json.pbc [data_json]
config/gen/call_list/opengl.in []
docs/ops/bit.pod [doc]
Modified: branches/gsoc_nfg/NEWS
==============================================================================
--- branches/gsoc_nfg/NEWS Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/NEWS Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,9 +1,22 @@
# $Id$
New in 2.6.0
+- Core
+ + Plug some memory leaks
+ + As always, bug fixes and some optimizations
+- Runtime
+ + added (experimental) URI::Escape
+- Testing
+ + Improved test coverage of core parrot
+- Documentation
+ + Updated the Squaak tutorial to use modern NQP-rx and PCT
- Platforms
+ The Fedora package 'parrot-devel' install the files for syntax-highlighting
- and automatic indenting for the vim editor.
+ and automatic indenting for the vim editor
+- NQP-rx
+ + Updated version included from http://github.com/perl6/nqp-rx includes
+ new or improved: regex backtracking, named assertions, interactive mode,
+ and setting (a minimal but useful runtime library)
New in 2.5.0
- Core
Modified: branches/gsoc_nfg/PBC_COMPAT
==============================================================================
--- branches/gsoc_nfg/PBC_COMPAT Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/PBC_COMPAT Thu Jul 22 21:29:12 2010 (r48165)
@@ -28,22 +28,9 @@
# please insert tab separated entries at the top of the list
-6.22 2010.06.09 darbelo NFG support in freeze.
-6.21 2010.06.09 NotFound add ByteBuffer PMC
-6.20 2010.05.29 plobsing eliminate unused fixup type 'label'
-6.19 2010.05.27 plobsing removed numerous core ops (TT #449)
-6.18 2010.05.25 cotto removed ops.num
-6.17 2010.05.20 NotFound store encoding of string constants
-6.16 2010.05.18 plobsing move freeze/thaw adjacent to visit
-6.15 2010.05.06 bacek add StringBuilder PMC
-6.14 2010.05.03 coke remove popaction, pushmark, pushaction ops.
-6.13 2010.05.03 coke move File/OS pmcs to src/dynpmc
-6.12 2010.05.02 plobsing store constant PMC strings as top level constant strings
-6.11 2010.04.29 tewk remove ParrotRunningThread
-6.10 2010.04.29 NotFound packfiledebug.pmc
-6.9 2010.04.27 bacek remove deprecated in-place string ops (bitwise, charset, case change)
-6.8 2010.04.27 bacek remove deprecated in-place substr ops
-6.7 2010.04.22 coke remove RetContinuation PMC
+8.1 2010.06.09 darbelo NFG support in freeze.
+8.0 2010.07.20 coke released 2.6.0
+7.0 2010.04.20 gerd released 2.3.0 (version # added ex post facto, as all previous version #s were published)
6.6 2010.04.17 bacek add replace op
6.5 2010.03.09 cotto remove cpu_ret op
6.4 2010.03.02 cotto remove prederef__ and reserved
Modified: branches/gsoc_nfg/README
==============================================================================
--- branches/gsoc_nfg/README Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/README Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,4 +1,4 @@
-This is Parrot, version 2.5.0
+This is Parrot, version 2.6.0
------------------------------
Parrot is Copyright (C) 2001-2010, Parrot Foundation.
Modified: branches/gsoc_nfg/VERSION
==============================================================================
--- branches/gsoc_nfg/VERSION Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/VERSION Thu Jul 22 21:29:12 2010 (r48165)
@@ -1 +1 @@
-2.5.0
+2.6.0
Modified: branches/gsoc_nfg/docs/book/pir/ch04_variables.pod
==============================================================================
--- branches/gsoc_nfg/docs/book/pir/ch04_variables.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/docs/book/pir/ch04_variables.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -182,7 +182,7 @@
$P0 = or $P1, $P2
-=end PIR_FRAGMENT_INVALID[
+=end PIR_FRAGMENT_INVALID
Both C<and> and C<or> are short-circuiting ops. If they can determine what
value to return from the first argument, they'll never evaluate the second.
Modified: branches/gsoc_nfg/docs/parrothist.pod
==============================================================================
--- branches/gsoc_nfg/docs/parrothist.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/docs/parrothist.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -111,4 +111,6 @@
Whiteknight 2.4.0 2010-May-18 "Sulfer Crest"
Gerd 2.5.0 2010-Jun-15 "Cheops"
+ coke 2.6.0 * 2010-Jul-20 "Red-rumped"
+
=cut
Modified: branches/gsoc_nfg/docs/project/release_manager_guide.pod
==============================================================================
--- branches/gsoc_nfg/docs/project/release_manager_guide.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/docs/project/release_manager_guide.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -150,7 +150,8 @@
policy. (Those changes are all included within the major version number
increase for the supported release.)
-Once you've updated PBC_COMPAT, run C<sh tools/dev/mk_native_pbc> to update the
+Once you've updated PBC_COMPAT, running C<sh tools/dev/mk_packfile_pbc> if
+necessary, then run C<sh tools/dev/mk_native_pbc> to update the
pbc files used in the native pbc tests. Note that you must have Parrot already
built for this to work, and that this script will reconfigure and rebuild
Parrot with various primitive size options.
@@ -261,6 +262,9 @@
bad idea to add a "highlights" section to draw attention to major new
features, just be sure to say the same thing in both text and HTML versions.
+Be sure to include the SHA1 sums of the tarballs in the release announcement;
+They're automatically generated by C<make release>.
+
=item 10.
Update the website. You will need an account with editor rights
@@ -409,10 +413,9 @@
visible at
L<http://www.google.com/calendar/render?cid=ldhctdamsgfg5a1cord52po9h8@group.calendar.google.com>.
- - Jul 20, 2010 - 2.6* - coke
- Aug 17, 2010 - 2.7 - mikehh
- Sep 21, 2010 - 2.8 - gerd
- - Oct 19, 2010 - 2.9* - ??
+ - Oct 19, 2010 - 2.9* - gerd
- Nov 16, 2010 - 2.10 - ??
- Dec 21, 2010 - 2.11 - ??
- Jan 18, 2010 - 3.0* - ??
Modified: branches/gsoc_nfg/docs/resources/parrot.css
==============================================================================
--- branches/gsoc_nfg/docs/resources/parrot.css Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/docs/resources/parrot.css Thu Jul 22 21:29:12 2010 (r48165)
@@ -79,6 +79,7 @@
div#footer {
background: #121A28;
text-align: center;
+ color: white;
padding-top: 1px;
padding-bottom: 10px;
}
Modified: branches/gsoc_nfg/examples/languages/squaak/MAINTAINER
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/MAINTAINER Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/MAINTAINER Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,4 +1,5 @@
# $Id$
-N: Klaas-Jan Stol (kj,kjs)
-E: parrotcode at gmail dot com
+N: Tyler Curtis
+U: tcurtis
+E: tyler.l.curtis at gmail.com
\ No newline at end of file
Copied: branches/gsoc_nfg/examples/languages/squaak/PARROT_REVISION (from r48164, trunk/examples/languages/squaak/PARROT_REVISION)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/PARROT_REVISION Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/PARROT_REVISION)
@@ -0,0 +1 @@
+47087
Modified: branches/gsoc_nfg/examples/languages/squaak/README
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/README Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/README Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,51 +1,5 @@
-Squaak: A Simple Language
-
-Squaak is a case-study language described in the Parrot Compiler Tools
-tutorial at http://www.parrotblog.org/2008/03/targeting-parrot-vm.html.
-
-Note that Squaak is NOT an implementation Squeak; it has nothing to do
-with any SmallTalk implementation.
-
-Squaak demonstrates some common language constructs, but at the same
-time is currently lacking some other, seemingly simple features. For instance,
-Squaak does not have break or continue statements (or equivalents
-in your favorite syntax). Once PCT has built-in support for these, they
-will be added.
-
-Squaak has the following features:
-
- * global and local variables
- * basic types: integer, floating-point and strings
- * aggregate types: arrays and hash tables
- * operators: +, -, /, *, %, <, <=, >, >=, ==, !=, .., and, or, not
- * subroutines and parameters
- * assignments and various control statements, such as "if" and "while" and "return"
- * library functions: print, read
-
-A number of common (more advanced) features are missing.
-Most notable are:
-
- * classes and objects
- * exceptional control statements such as break and continue
- * advanced control statements such as switch
- * closures (nested subroutines and accessing local variables in an outer scope)
-
-Squaak is designed to be a simple showcase language, to show the use of the
-Parrot Compiler Tools for implementing a language.
-
-In order to use Squaak:
-
- $ make
-
-Running Squaak in interactive mode:
-
- $ ../../parrot squaak.pbc
-
-Running Squaak with a file (for instance, the included Game of Life example):
-
- $ ../../parrot squaak.pbc examples/life.sq
-
-Bug reports and improvements can be sent to the maintainer or Parrot porters
-mailing list.
+Language 'Squaak' was created with tools/dev/mk_language_shell.pl, r47087.
+ $ parrot setup.pir
+ $ parrot setup.pir test
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_1.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_1.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_1.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -99,36 +99,29 @@
=over 4
-=item B<P>arrot B<G>rammar B<E>ngine (PGE).
+=item B<N>ot B<Q>uite B<P>erl (6) (NQP-rx).
-The PGE is an advanced engine for regular expressions. Besides regexes as found
-in Perl 5, it can also be used to define language grammars, using Perl 6 syntax.
-(Check the references for the specification.)
+NQP is a lightweight language inspired by Perl 6 and can be used to write the
+methods that must be executed during the parsing phase, just as you can write
+actions in a Yacc/Bison input file. It also provides the regular expression engine we'll use to
+write our grammar. In addition to the capabilities of Perl 5's regexes, the Perl 6 regexes that NQP
+ implements can be used to define language grammars. (Check the references for the specification.)
=item B<P>arrot B<A>bstract B<S>yntax B<T>ree (PAST).
The PAST nodes are a set of classes defining generic abstract syntax tree nodes
that represent common language constructs.
-=item HLLCompiler class.
+=item HLL::Compiler class.
This class is the compiler driver for any PCT-based compiler.
-=item B<N>ot B<Q>uite B<P>erl (6) (NQP).
-
-NQP is a lightweight language inspired by Perl 6 and can be used to write the
-methods that must be executed during the parsing phase, just as you can write
-actions in a Yacc/Bison input file.
-
=back
=head2 Getting Started
For this tutorial, it is assumed you have successfully compiled parrot
-(and maybe even run the test suite). If you browse through the languages
-directory in the Parrot source tree, you'll find a number of language
-implementations. Most of them are not complete yet; some are maintained
-actively and others aren't. If, after reading this tutorial, you feel like
+(and maybe even run the test suite). If, after reading this tutorial, you feel like
contributing to one of these languages, you can check out the mailing list or
join IRC (see the references section for details).
@@ -137,13 +130,13 @@
language implementation. In order to generate these files for our language,
type (assuming you're in Parrot's root directory):
- $ perl tools/dev/mk_language_shell.pl Squaak languages/squaak
+ $ perl tools/dev/mk_language_shell.pl Squaak ~/src/squaak
(Note: if you're on Windows, you should use backslashes.) This will generate the
-files in a directory F<languages/squaak>, and use the name Squaak as the language's
+files in a directory F<~/src/squaak>, and use the name Squaak as the language's
name.
-After this, go to the directory F<languages/squaak> and type:
+After this, go to the directory F<~/src/squaak> and type:
$ parrot setup.pir test
@@ -165,20 +158,22 @@
Save it the as file F<test.sq> and type:
- $ ../../parrot squaak.pbc test.sq
+ $ ./installable_squaak test.sq
+"installable_squaak" is a "fake-cutable" an executable that bundles the Parrot interpreter and the
+compiled bytecode for a program to allow treating a Parrot program as a normal executable program.
This will run Parrot, specifying squaak.pbc as the file to be run by Parrot,
which takes a single argument: the file test.sq. If all went well, you should
see the following output:
- $ ../../parrot squaak.pbc test.sq
+ $ ./installable_squaak test.sq
Squaak!
Instead of running a script file, you can also run the Squaak compiler as an
interactive interpreter. Run the Squaak compiler without specifying a script
file, and type the same statement as you wrote in the file:
- $ ../../parrot squaak.pbc
+ $ ./installable_squaak
say "Squaak!";
which will print:
@@ -191,7 +186,7 @@
coming. Hopefully you now have a global idea of what the Parrot Compiler Tools
are, and how they can be used to build a compiler targeting Parrot. If you want
to check out some serious usage of the PCT, check out Rakudo (Perl 6 on Parrot)
-in languages/perl6 or Pynie (Python on Parrot) in languages/pynie.
+at http://rakudo.org/ or Pynie (Python on Parrot) at http://code.google.com/p/pynie/ .
The next episodes will focus on the step-by-step implementation of our language,
including the following topics:
@@ -200,7 +195,7 @@
=item structure of PCT-based compilers
-=item using PGE rules to define the language grammar
+=item using NQP-rx rules to define the language grammar
=item implementing operator precedence using an operator precedence table
@@ -223,8 +218,8 @@
=head3 Advanced interactive mode.
-Launch your favorite editor and look at the file squaak.pir in the directory
-languages/squaak. This file contains the main function (entry point) of the
+Launch your favorite editor and look at the file Compiler.pm in the directory
+F<~/src/squaak/src/Squaak/>. This file contains the main function (entry point) of the
compiler. The class HLLCcompiler defines methods to set a command-line banner
and prompt for your compiler when it is running in interactive mode. For
instance, when you run Python in interactive mode, you'll see:
@@ -242,19 +237,19 @@
running in interactive mode (of course you can change this according to your
personal taste):
- $ ../../parrot squaak.pbc
+ $ ./installable_squaak
Squaak for Parrot VM.
>
Add code to the file squaak.pir to achieve this.
-Hint 1: Look in the onload subroutine.
+Hint 1: Look in the INIT block.
-Hint 2: Note that only double-quoted strings in PIR can interpret
+Hint 2: Note that only double-quoted strings in NQP can interpret
escape-characters such as '\n'.
Hint 3: The functions to do this are documented in
-compilers/pct/src/PCT/HLLCompiler.pir.
+F<compilers/pct/src/PCT/HLLCompiler.pir>.
=head2 References
@@ -270,7 +265,7 @@
=item * Operator Precedence Parsing with PCT: docs/pct/pct_optable_guide.pod
-=item * Perl 6/PGE rules syntax: Synopsis 5
+=item * Perl 6/NQP rules syntax: Synopsis 5 at http://perlcabal.org/syn/S05.html or http://svn.pugscode.org/pugs/docs/Perl6/Spec/S05-regex.pod
=back
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_2.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_2.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_2.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -24,7 +24,7 @@
compiler enters the interactive mode. Consider the first case, passing the file
test.sq, just as we did before:
- $ ../../parrot squaak.pbc test.sq
+ $ ./installable_squeak test.sq
When invoking our compiler like this, the file test.sq is compiled and the
generated code (bytecode) is executed immediately by Parrot. How does this work,
@@ -50,7 +50,7 @@
This is an example of using the target option set to "parse", which will print
the parse tree of the input to stdout:
- $ ../../parrot squaak.pbc --target=parse test.sq
+ $ ./installable_squeak --target=parse test.sq
In interactive mode, giving this input:
@@ -58,24 +58,32 @@
will print this parse tree (without the line numbers):
- 1 "parse" => PMC 'Squaak::Grammar' => "say 42;\r\n" @ 0 {
- 2 <statement> => ResizablePMCArray (size:1) [
- 3 PMC 'Squaak::Grammar' => "say 42;\r\n" @ 0 {
- 4 <value> => ResizablePMCArray (size:1) [
- 5 PMC 'Squaak::Grammar' => "42" @ 4 {
- 6 <integer> => PMC 'Squaak::Grammar' => "42" @ 4
- 7 }
- 8 ]
- 9 }
- 10 ]
- 11 }
+ 1 "parse" => PMC 'Regex;Match' => "say 42;\n" @ 0 {
+ 2 <statementlist> => PMC 'Regex;Match' => "say 42;\n" @ 0 {
+ 3 <statement> => ResizablePMCArray (size:1) [
+ 4 PMC 'Regex;Match' => "say 42" @ 0 {
+ 5 <statement_control> => PMC 'Regex;Match' => "say 42" @ 0 {
+ 6 <sym> => PMC 'Regex;Match' => "say" @ 0
+ 7 <EXPR> => ResizablePMCArray (size:1) [
+ 8 PMC 'Regex;Match' => "42" @ 4 {
+ 9 <integer> => PMC 'Regex;Match' => "42" @ 4 {
+ 10 <VALUE> => PMC 'Regex;Match' => "42" @ 4
+ 11 <decint> => \parse[0][0]
+ 12 }
+ 13 }
+ 14 ]
+ 15 }
+ 16 }
+ 17 ]
+ 18 }
+ 19 }
When changing the value of the target option, the output changes into a
different representation of the input. Why don't you try that right now?
So, a HLLCompiler object has four compilation phases: parsing, construction of a
Parrot Abstract Syntax Tree (PAST), construction of a Parrot Opcode Syntax Tree
-(POST), generation of Parrot Intermediate Representation (PIR). After
+(POST) and generation of Parrot Intermediate Representation (PIR). After
compilation, the generated PIR is executed immediately.
If your compiler needs additional stages, you can add them to your HLLCompiler
@@ -89,58 +97,55 @@
Parse phase: match objects and PAST construction
During the parsing phase, the input is analyzed using Perl 6's extended regular
expressions, known as Rules (see Synopsis 5 for details). When a rule matches
-some input string, a so-called Match object is created. A Match object is a
-combined array and hashtable, implying it can be indexed by integers as well as
+some input string, a Match object is created. A Match object is a
+combined array and hashtable and can be indexed by integers as well as
strings. As rules typically consist of other (sub) rules, it is easy to retrieve
a certain part of the match. For instance, this rule:
rule if_statement {
'if' <expression> 'then' <statement> 'end'
- {*}
}
has two other subrules: expression and statement. The match object for the rule
-if_statement represents the whole string from if to end. When you're interested
-only in the expression or statement part, you can retrieve that by indexing the
-match object by the name of the subrule (in this case, expression and statement,
-respectively).
+C<if_statement> represents the whole string from if to end. You can retrieve a
+the Match for a subrule by indexing into the Match object using the name of
+that subrule. For instance, to get the match for C<< <expression> >>, you
+would use C<< $/<expression> >>. (In nqp, C<< $foo<bar> >> indexes into
+C<$foo> using the constant string C<bar> as a hash key.)
During the parse phase, the PAST is constructed. There is a small set of PAST
-node types, for instance, C<PAST::Var> to represent variables (identifiers, such
-as C<print>), C<PAST::Val> to represent literal values (for instance, C<"hello">
-and C<42>), and so on. Later we shall discuss the various PAST nodes in more
-detail.
+node types. For instance, C<PAST::Var> to represent variables (identifiers, such
+as C<print>) and C<PAST::Val> to represent literal values (for instance, C<"hello">
+and C<42>). Later we'll go through the various PAST nodes in more detail.
Now, you might wonder, at which point exactly is this PAST construction
-happening? This is where the special {*} symbol comes in, just below the string
-'if' in the if_statement rule shown above. These special markers indicate that a
-parse action should be invoked. Such a parse action is just a method that has
-the same name as the rule in which it is written (in this case: if_statement).
-So, during the parsing phase, several parse actions are executed, each of which
-builds a piece of the total PAST representing the input string. More on this
-will be explained later.
-
-The Parrot Abstract Syntax Tree is just a different representation of the same
-input string (your program being compiled). It is a convenient data structure to
-transform into something different (such as executable Parrot code) but also to
-do all sorts of analysis, such as compile-time type checking.
+happening? At the end of a successfully matching rule, the rule's parse action
+is performed. Such a parse action is just a method that has the same name as
+the rule which triggers it (in this case: C<if_statement>). So, during the
+parsing phase, several parse actions are executed, each of which builds a piece
+of the total PAST representing the input string.
+
+A Parrot Abstract Syntax Tree is just a compiler-friendly tree-based
+representation of your program. It is convenient both for analysis and
+optimization, and for further transformation into a lower-level representation
+such as POST.
=head2 PAST to POST
-After the parse phase during which the PAST is constructed, the HLLCompiler
-transforms this PAST into something called a Parrot Opcode Syntax Tree (POST).
-The POST representation is also a tree structure, but these nodes are on a lower
-abstraction level. For instance, on the PAST level there is a node type to
-represent a while statement (constructed as
-C<PAST::Op.new( :pasttype('while') )> ).
+After the PAST is constructed, the HLLCompiler transforms this PAST into a
+Parrot Opcode Syntax Tree (POST). The POST representation is also a tree
+structure, but these nodes are on a lower abstraction level and correspond very
+closely to PIR ops. For instance, the PAST node type which represents a while
+statement (constructed as C<PAST::Op.new( :pasttype('while') )> ) decomposes
+into several POST nodes.
-The template for a while statement typically consists of a number of labels and
+The template for a C<while> statement typically consists of a number of labels and
jump instructions. On the POST level, the same while statement is represented by
-a set of nodes, each representing a one instruction or a label. Therefore, it is
-much easier to transform a POST into something executable than when this is done
-from the PAST level.
+a set of nodes, each representing a one instruction or a label. This makes it
+much easier to transforn POST into executable code.
+
Usually, as a user of the PCT, you don't need to know details of POST nodes,
-which is why this will not be discussed in further detail. Use the target option
+which is why this will not be discussed in further detail. Use C<--target=post>
to see what a POST looks like.
=head2 POST to PIR
@@ -168,34 +173,35 @@
=back
-where we noted that the first two are done during the parse stage. Now, as
-you're reading this tutorial, you're probably interested in using the PCT for
-implementing Your Favorite Language for Parrot. We already saw that a language
-grammar is expressed in Perl 6 Rules. What about the other transformations?
-Well, earlier in this episode we mentioned the term parse actions, and that
-these actions create PAST nodes. After you have written a parse action for each
-grammar rule, you're done!
+The first two transformations happen during the parse stage. Now, as you're
+reading this tutorial, you're probably interested in using the PCT to implement
+Your Favorite Language on top of Parrot. We already saw that a language grammar
+is expressed in Perl 6 Rules. What about the other transformations? Well,
+earlier in this episode we mentioned parse actions and that these actions
+create PAST nodes. After you have written a parse action for each grammar rule,
+you're done!
Say what?
That's right. Once you have correctly constructed a PAST, your compiler can
generate executable PIR, which means you just implemented your first language
-for Parrot. Of course, you still need to implement any language specific
-libraries, but that's besides the point.
+on top of Parrot. Of course, you'll still need to implement any language specific
+libraries, but that's beside the point.
-PCT-based compilers already know how to transform a PAST into a POST, and how to
-transform a POST into PIR. These transformation stages are already provided by
+PCT-based compilers already know how to transform PAST into POST and how to
+transform POST into PIR. These transformation stages are already provided by
the PCT.
=head2 What's next?
In this episode we took a closer look at the internals of a PCT-based compiler.
-We discussed the four compilation stages, that transform an input string (a
-program, or script, depending on your definition) into a PAST, a POST and
-finally executable PIR.
+We discussed the four compilation stages which transform an input string (a
+program or script, depending on your definition) into PAST, POST and finally
+executable PIR.
+
The next episodes is where the Fun Stuff is: we will be implementing Squaak for
Parrot. Piece by piece, we will implement the parser and the parse actions.
-Finally, we shall demonstrate John Conway's "Game of Life" running on Parrot,
+Finally, we'll demonstrate John Conway's "Game of Life" running on Parrot,
implemented in Squaak.
=head2 Exercises
@@ -203,27 +209,22 @@
Last episode's exercise was to add a command line banner and prompt for the
interactive mode of our compiler. Given the hints that were provided, it was
probably not too hard to find the solution, which is shown below. This
-subroutine onload can be found in the file Squaak.pir. The relevant lines are
+INIT block can be found in the file src/Squaak/Compiler.pm. The relevant lines are
marked with a comment
- .sub 'onload' :anon :load :init
- load_bytecode 'PCT.pbc'
-
- $P0 = get_hll_global ['PCT'], 'HLLCompiler'
- $P1 = $P0.'new'()
- $P1.'language'('Squaak')
- $P1.'parsegrammar'('Squaak::Grammar')
- $P1.'parseactions'('Squaak::Grammar::Actions')
-
- $P1.'commandline_banner'("Squaak for Parrot VM\n") ## set banner
- $P1.'commandline_prompt'('> ') ## set prompt
-
- .end
+ INIT {
+ Squaak::Compiler.language('Squaak');
+ Squaak::Compiler.parsegrammar(Squaak::Grammar);
+ Squaak::Compiler.parseactions(Squaak::Actions);
+
+ Squaak::Compiler.commandline_banner("Squaak for Parrot VM.\n"); # set banner
+ Squaak::Compiler.commandline_prompt('> '); # set prompt
+ }
Starting in the next episode, the exercises will be more interesting. For now,
it would be useful to browse around through the source files of the compiler,
-and see if you understand the relation between the grammar rules in grammar.pg
-and the methods in actions.pm.
+and see if you understand the relation between the grammar rules in src/Squaak/Grammar.pm
+and the methods in src/Squaak/Actions.pm.
It's also useful to experiment with the --target option described in this
episode. If you don't know PIR, now is the time to do some preparation for that.
There's sufficient information to be found on PIR, see the References section
@@ -236,10 +237,7 @@
=item 1. PIR language specification: docs/pdds/draft/PDD19_pir.pod
-=item 2. PIR articles: docs/art/*.pod
-
=back
-
=cut
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_3.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_3.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_3.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -10,11 +10,10 @@
language called I<Squaak>, using a Perl script provided with Parrot. We
discussed the general structure of PCT-based compilers, and each of the default
four transformation phases.
-This third episode is where the Fun begins. In this episode, we shall introduce
-the full specification of Squaak. In this and following episodes, we will
-implement this specification step by step, in small increments that are easy to
-digest. Once you get a feel for it, you'll notice implementing Squaak is almost
-trivial, and most important, a lot of fun! So, let's get started!
+This third episode is where the Fun begins. In this episode, we'll introduce
+the full specification of Squaak. In this and following episodes, we'll
+implement this specification step by step in small easy-to-digest increments.
+So let's get started!
=head2 Squaak Grammar
@@ -26,7 +25,7 @@
[step] indicates an optional step
'do' indicates the keyword 'do'
-Below is Squaak's grammar. The start symbol is program.
+Below is Squaak's grammar. The start symbol is C<program>.
program ::= {stat-or-def}
@@ -123,66 +122,66 @@
"real world" languages such as C, not to mention Perl 6. No worries though, we
won't implement the whole thing at once, but in small steps. What's more, the
exercises section contains enough exercises for you to learn to use the PCT
-yourself! The solutions to these exercises will be posted a few days later (but
-you really only need a couple of hours to figure them out).
+yourself! The solutions to these exercises are in later episodes if you don't
+want to take the time to solve them yourself.
=head2 Semantics
-Most of the Squaak language is straightforward; the if-statement executes
+Most of the Squaak language is straightforward; the C<if-statement> executes
exactly as you would expect. When we discuss a grammar rule (for its
-implementation), a semantic specification will be included. This is to prevent
-myself from writing a complete language manual, which could take some pages.
-
-=head2 Interactive Squaak
-
-Although the Squaak compiler can be used in interactive mode, there is one point
-of attention to be noted. When defining a local variable using the C<var>
-keyword, this variable will be lost in any consecutive commands. The variable
-will only be available to other statements within the same command (a command is
-a set of statements before you press enter). This has to do with the code
-generation by the PCT, and will be fixed at a later point. For now, just
-remember it doesn't work.
+implementation), a semantic specification will be included. This is to avoid
+writing a complete language manual since that's probably not what you're here
+for.
=head2 Let's get started!
In the rest of this episode we will implement the basic parts of the grammar,
such as the basic data types and assignments. At the end of this episode,
-you'll be able to assign simple values to (global) variables. It ain't much, but
+you'll be able to assign simple values to (global) variables. It's not much but
it's a very important first step. Once these basics are in place, you'll notice
-that adding a certain syntactic construct becomes a matter of minutes.
+that adding a certain syntactic construct can be done in a matter of minutes.
-First, open your editor and open the files F<src/parser/grammar.pg> and
-F<src/parser/actions.pm>. The former implements the parser using Perl 6 rules,
+First, open your editor and open the files F<src/Squaak/Grammar.pm> and
+F<src/Squaak/Actions.pm>. The former implements the parser using Perl 6 rules
and the latter contains the parse actions, which are executed during the parsing
stage.
-In the file grammar.pg, you'll see the top-level rule, named C<TOP>. It's
+In the file Grammar.pm you'll see the top-level rule, named C<TOP>. It's
located at, ehm... the top. When the parser is invoked, it will start at this
-rule (a rule is nothing else than a method of the grammar class).
-When we generated this language (in the first episode), some default rules were
-defined. Now we're going to make some small changes, just enough to get us
-started. Firstly, change the statement rule to this:
+rule. A rule is nothing else than a method of the Grammar class. When we
+generated this language some default rules were defined. Now we're going to
+make some small changes, just enough to get us started. Replace the
+C<statement> rule with this rule:
rule statement {
<assignment>
- {*}
}
-and add these rules:
+Replace the statementlist rule with this:
+
+ rule statement_list {
+ <stat_or_def>*
+ }
+
+When you work on the action methods later, you'll also want to replace $<statement> in the action
+method with $<stat_or_def>
+
+Add these rules:
+
+ rule stat_or_def {
+ <statement>
+ }
rule assignment {
- <primary> '=' <expression>
- {*}
+ <primary> '=' <EXPR>
}
rule primary {
<identifier>
- {*}
}
token identifier {
<!keyword> <ident>
- {*}
}
token keyword {
@@ -190,15 +189,33 @@
|'not'|'or' |'sub' |'throw'|'try' |'var'|'while']>>
}
-Now, change the rule "value" into this (renaming to "expression"):
+ token term:sym<primary> {
+ <primary>
+ }
+
+Rename the token C<< term:sym<integer> >> to C<< term:sym<integer_constant> >> and
+C<< term:sym<quote> >> to C<< term:sym<string_constant> >> (to better match our
+language specification).
+
+Add action methods for term:sym<integer_constant> and term:sym<string_constant>
+to F<src/Squaak/Actions.pm>:
- rule expression {
- | <string_constant> {*} #= string_constant
- | <integer_constant> {*} #= integer_constant
+ method term:sym<integer_constant>($/) {
+ make PAST::Val.new(:value($<integer>.ast), :returns<Integer>);
+ }
+ method term:sym<string_constant>($/) {
+ my $past := $<quote>.ast;
+ $past.returns('String');
+ make $past;
}
+ method term:sym<primary>($/) {
+ make $<primary>.ast;
+ }
+
+PAST::Val nodes are used the represent constant values.
-Rename the rule C<integer> as C<integer_constant>, and C<quote> as
-C<string_constant> (to better match our language specification).
+Finally, remove the rules C<proto token statement_control>,
+C<< rule statement_control:sym<say> >>, and C<< rule statement_control:sym<print> >>.
Phew, that was a lot of information! Let's have a closer look at some things
that may look unfamiliar. The first new thing is in the rule C<identifier>.
@@ -206,16 +223,21 @@
doesn't skip whitespace between the different parts specified in the token,
while a rule does. For now, it's enough to remember to use a token if you want
to match a string that doesn't contain any whitespace (such as literal constants
-and identifiers), and use a rule if your string does (and should) contain
+and identifiers) and use a rule if your string does (and should) contain
whitespace (such as a an if-statement). We shall use the word C<rule> in a
general sense, which could refer to a token. For more information on rules and
-tokens (and there's a third type, called C<regex>), take a look at synopsis 5.
+tokens take a look at Synopsis 5 or look at Moritz's blog post on the subject
+in the references.
-In token C<identifier>, the first subrule is called an assertion. It asserts
-that an C<identifier> does not match the rule keyword. In other words, a keyword
-cannot be used as an identifier. The second subrule is called C<ident>, which is
-a built-in rule in the class C<PCT::Grammar>, of which this grammar is a
-subclass.
+In rule C<assignment>, the <EXPR> subrule is one that we haven't defined. The
+EXPR rule is inherited from HLL::Grammar, and it initiates the grammar's
+operator-precedence parser to parse an expression. For now, don't worry about
+it. All you need to know is that it will give us one of our terms.
+
+In token C<identifier> the first subrule is called an assertion. It asserts
+that an C<identifier> does not match the rule keyword. In other words a keyword
+cannot be used as an identifier. The second subrule is called C<ident> which is
+a built-in rule in the class C<PCT::Grammar>, the parent class of this grammar.
In token C<keyword>, all keywords of Squaak are listed. At the end there's a
C<<< >> >>> marker, which indicates a word boundary. Without this marker, an
@@ -225,18 +247,6 @@
matched), the string "forloop" cannot be matched as an identifier. The required
presence of the word boundary prevents this.
-The last rule is C<expression>. An expression is either a string-constant or an
-integer-constant. Either way, an action is executed. However, when the action is
-executed, it does not know what the parser matched; was it a string-constant, or
-an integer-constant? Of course, the match object can be checked, but consider
-the case where you have 10 alternatives, then doing 9 checks only to find out
-the last alternative was matched is somewhat inefficient (and adding new
-alternatives requires you to update this check). That's why you see the special
-comments starting with a "#=" character. Using this notation, you can specify a
-key, which will be passed as a second argument to the action method. As we will
-see, this allows us to write very simple and efficient action methods for rules
-such as expression. (Note there's a space between the C<#=> and the key's name).
-
=head2 Testing the Parser
It is useful to test the parser before writing any action methods. This can save
@@ -253,24 +263,21 @@
Now we have implemented the initial version of the Squaak grammar, it's time to
implement the parse actions we mentioned before. The actions are written in a
-file called F<src/parser/actions.pm>. If you look at the methods in this file,
-here and there you'll see that the match object ($/) , or rather, hash fields of
-it (like $<statement>) is evaluated in scalar context, by writing "$( ... )".
-As mentioned in Synopsis 5, evaluating a Match object in scalar context returns
-its result object. Normally the result object is the matched portion of the
-source text, but the special make function can be used to set the result object
-to some other value.
+file called F<src/Squaak/Actions.pm>. If you look at the methods in this file,
+here and there you'll see that the C<ast> method being called on the match object ($/) , or rather,
+hash fields of it (like $<statement>).
+The special make function can be used to set the ast to a value.
This means that each node in the parse tree (a Match object) can also hold its
PAST representation. Thus we use the make function to set the PAST
-representation of the current node in the parse tree, and later use the $( ... )
-operator to retrieve the PAST representation from it.
+representation of the current node in the parse tree, and later use the C<ast>
+method to retrieve the PAST representation from it.
In recap, the match object ($/) and any subrules of it (for instance
$<statement>) represent the parse tree; of course, $<statement>
represents only the parse tree what the $<statement> rule matched. So, any
action method has access to the parse tree that the equally named grammar rule
-matched, as the match object is always passed as an argument. Evaluating a parse
-tree in scalar context yields the PAST representation (obviously, this PAST
+matched, as the match object is always passed as an argument. Calling the C<ast> method
+on a parse tree yields the PAST representation (obviously, this PAST
object should be set using the make function).
If you're following this tutorial, I highly advise you to get your feet wet, and
@@ -300,8 +307,7 @@
=item 1.
Rename the names of the action methods according to the name changes we made on
-the grammar rules. So, "integer" becomes "integer_constant", "value" becomes
-"expression", and so on.
+the grammar rules. So, "integer" becomes "integer_constant", and so on.
=item 2.
@@ -326,6 +332,11 @@
=item 5.
+Write the action method for stat_or_def. Simply retrieve the result object from statement and make
+that the result object.
+
+=item 6.
+
Run your compiler on a script or in interactive mode. Use the target option to
see what PIR is being generated on the input "x = 42".
@@ -338,8 +349,7 @@
=item * Help! I get the error message "no result object".
This means that the result object was not set properly (duh!).
-Make sure each action method is invoked (check each rule for a "{*}" marker),
-and that there is an action method for that rule, and that "make" is used to set
+Make sure there is an action method for that rule and that "make" is used to set
the appropriate PAST node. Note that not all rules have action methods, for
instance the C<keyword> rule (there's no point in that).
@@ -354,6 +364,8 @@
=over 4
+=item * rules, regexes and tokens: http://perlgeek.de/blog-en/perl-5-to-6/07-rules.writeback#Named_Regexes_and_Grammars
+
=item * pdd26: ast
=item * synopsis 5: Rules
@@ -374,8 +386,7 @@
=item 1
Rename the names of the action methods according to the name changes we made
-on the grammar rules. So, "integer" becomes "integer_constant", "value" becomes
-"expression", and so on.
+on the grammar rules. So, "integer" becomes "integer_constant", and so on.
I assume you don't need any help with this.
@@ -387,15 +398,11 @@
special make function. Do the same for rule primary.
method statement($/) {
- make $( $<assignment> );
+ make $<assignment>.ast;
}
-Note that at this point, the rule statement doesn't define different #= keys
-for each type of statement, so we don't declare a parameter C<$key>. This will
-be changed later.
-
method primary($/) {
- make $( $<identifier> );
+ make $<identifier>.ast;
}
=item 3
@@ -417,8 +424,8 @@
find out how you do such a binding).
method assignment($/) {
- my $lhs := $( $<primary> );
- my $rhs := $( $<expression> );
+ my $lhs := $<primary>.ast;
+ my $rhs := $<expression>.ast;
$lhs.lvalue(1);
make PAST::Op.new( $lhs, $rhs, :pasttype('bind'), :node($/) );
}
@@ -427,6 +434,15 @@
=item 5
+Write the action method for stat_or_def. Simply retrieve the result object from statement and make
+that the result object.
+
+ method stat_or_def {
+ make $<statement>.ast;
+ }
+
+=item 6
+
Run your compiler on a script or in interactive mode. Use the target option to
see what PIR is being generated on the input "x = 42".
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_4.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_4.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_4.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -60,39 +60,37 @@
The first statement we're going to implement now is the if-statement. An
if-statement has typically three parts (but this of course depends on the
programming language): a conditional expression, a "then" part and an "else"
-part. Implementing this in Perl 6 rules and PAST is almost trivial:
+part. Implementing this in Perl 6 rules and PAST is almost trivial, but first, let's add a little
+infrastructure to simplify adding new statement types. Replace the statement rule with the
+following:
+ proto rule statement { <...> }
+
+Delete the statement method from Action.pm, and rename the assignment rule in both Grammar.pm and
+Actions.pm to statement:sym<assignment>. The new statement rule is a "proto" rule. A proto rule is
+equivalent to a normal rule whose body contains each specialization of the rule separated by the |
+operator. The name of a particular specialization of a proto rule is placed between the angle
+brackets. Within the body of the rule, it can be matched literally with <sym>.
- rule if_statement {
- 'if' <expression> 'then' <block>
+ rule statement:sym<if> {
+ <sym> <EXPR> 'then' $<then>=<block>
['else' $<else>=<block> ]?
'end'
- {*}
}
rule block {
<statement>*
- {*}
}
- rule statement {
- | <assignment> {*} #= assignment
- | <if_statement> {*} #= if_statement
- }
-
-Note that the optional else block is stored in the match object's "else" field.
+Note that the optional else block is stored in the match object's "else" field, and the then block
+is stored in the match object's "then" field.
If we hadn't written this $<else>= part, then <block> would have been an array,
with block[0] the "then" part, and block[1] the optional else part. Assigning
the optional else block to a different field, makes the action method slightly
easier to read.
-Also note that the statement rule has been updated; a statement is now either
-an assignment or an if-statement. As a result, the action method statement now
-takes a key argument. The relevant action methods are shown below:
-
- method statement($/, $key) {
- # get the field stored in $key from the $/ object,
- # and retrieve the result object from that field.
- make $( $/{$key} );
- }
+Note that the proto declaration for statement means that the result object for $<statement> in any
+rule which calls statement as a subrule will be result object for whichever statement type matched.
+Because of this, we can delete the statement action method.
+ The relevant action methods are shown below:
method block($/) {
# create a new block, set its type to 'immediate',
@@ -105,19 +103,18 @@
# for each statement, add the result
# object to the block
for $<statement> {
- $past.push( $( $_ ) );
+ $past.push($_.ast);
}
make $past;
}
- method if_statement($/) {
- my $cond := $( $<expression> );
- my $then := $( $<block> );
- my $past := PAST::Op.new( $cond, $then,
+ method statement:sym<if>($/) {
+ my $cond := $<EXPR>.ast;
+ my $past := PAST::Op.new( $cond, $<then>.ast,
:pasttype('if'),
:node($/) );
if $<else> {
- $past.push( $( $<else>[0] ) );
+ $past.push($<else>[0].ast);
}
make $past;
}
@@ -133,13 +130,12 @@
At this point it's wise to spend a few words on the make function, the parse
actions and how the whole PAST is created by the individual parse actions.
-Have another look at the action method if_statement. In the first two lines,
+Have another look at the action method statement:sym<if>. In the first two lines,
we request the result objects for the conditional expression and the "then"
block. When were these result objects created? How can we be sure they're there?
-The answer lies in the order in which the parse actions are executed. The
-special "{*}" symbol that triggers a parse action invocation, is usually placed
-at the end of the rule. For this input string: "if 42 then x = 1 end" this
-implies the following order:
+The answer lies in the order in which the parse actions are executed. The parse action invocation
+usually occurs at the end of the rule. For this input string: "if 42 then x = 1 end" this implies
+the following order:
=over 4
@@ -147,9 +143,9 @@
=item 2. parse statement
-=item 3. parse if_statement
+=item 3. parse statement:sym<if>
-=item 4. parse expression
+=item 4. parse EXPR
=item 5. parse integer
@@ -159,7 +155,7 @@
=item 8. parse statement
-=item 9. parse assignment
+=item 9. parse statement:sym<assignment>
=item 10. parse identifier
@@ -179,7 +175,7 @@
=back
-As you can see, PAST nodes are created in the leafs of the parse tree first,
+As you can see, PAST nodes are created in the leaves of the parse tree first,
so that later, action methods higher in the parse tree can retrieve them.
=head2 Throwing Exceptions
@@ -188,12 +184,11 @@
to discuss the parse action, as it shows the use of generating custom PIR
instructions. First the grammar rule:
- rule throw_statement {
- 'throw' <expression>
- {*}
+ rule statement:sym<throw> {
+ <sym> <EXPR>
}
-I assume you know how to update the "statement" rule by now. The throw statement
+The throw statement
will compile down to Parrot's "throw" instruction, which takes one argument.
In order to generate a custom Parrot instruction, the instruction can be
specified in the C<:pirop> attribute when creating a C<PAST::Op> node. Any child
@@ -201,16 +196,15 @@
object of the expression being thrown as a child of the C<PAST::Op> node
representing the "throw" instruction.
- method throw_statement($/) {
- make PAST::Op.new( $( $<expression> ),
- :pirop('throw'),
+ method statement:sym<throw>($/) {
+ make PAST::Op.new( $<EXPR>.ast,
+ :pirop('die'),
:node($/) );
}
-
=head2 What's Next?
-In this episode we implemented two more statement types of Squaak. You should
+In this episode we implemented two more Squaak statement types. You should
get a general idea of how and when PAST nodes are created, and how they can be
retrieved as sub (parse) trees. In the next episode we'll take a closer look at
variable scope and subroutines.
@@ -266,31 +260,29 @@
The while-statement is straightforward:
- method while_statement($/) {
- my $cond := $( $<expression> );
- my $body := $( $<block> );
+ method statement:sym<while>($/) {
+ my $cond := $<EXPR>.ast;
+ my $body := $<block>.ast;
make PAST::Op.new( $cond, $body, :pasttype('while'), :node($/) );
}
The try-statement is a bit more complex. Here are the grammar rules and
action methods.
- rule try_statement {
- 'try' $<try>=<block>
+ rule statement:sym<try> {
+ <sym> $<try>=<block>
'catch' <exception>
$<catch>=<block>
'end'
- {*}
}
rule exception {
<identifier>
- {*}
}
- method try_statement($/) {
+ method statement:sym<try>($/) {
## get the try block
- my $try := $( $<try> );
+ my $try := $<try>.ast;
## create a new PAST::Stmts node for
## the catch block; note that no
@@ -299,12 +291,12 @@
## exception object. For now this will
## do.
my $catch := PAST::Stmts.new( :node($/) );
- $catch.push( $( $<catch> ) );
+ $catch.push($<catch>.ast);
## get the exception identifier;
## set a declaration flag, the scope,
## and clear the viviself attribute.
- my $exc := $( $<exception> );
+ my $exc := $<exception>.ast;
$exc.isdecl(1);
$exc.scope('lexical');
$exc.viviself(0);
@@ -323,17 +315,10 @@
}
method exception($/) {
- our $?BLOCK;
- my $past := $( $<identifier> );
- $?BLOCK.symbol( $past.name(), :scope('lexical') );
+ my $past := $<identifier>.ast;
make $past;
}
-Instead of putting "identifier" after the "catch" keyword, we made it a
-separate rule, with its own action method. This allows us to insert the
-identifier into the symbol table of the current block (the try-block),
-before the catch block is parsed.
-
First the PAST node for the try block is retrieved. Then, the catch block is
retrieved, and stored into a C<PAST::Stmts> node. This is needed, so that we
can make sure that the instructions that retrieve the exception object come
@@ -378,41 +363,53 @@
conditional expression, which represent the "then" block, and which represent
the "else" block (if any).
+Note that this may not be the exact result produced when you try it. Sub ids, block numbers, and
+register numbers may differ, but it should be analogous.
+
> if 1 then else end
+ .HLL "squaak"
+
.namespace []
- .sub "_block16"
- new $P18, "Integer"
- assign $P18, 1
-
- ## this is the condition:
- if $P18, if_17
-
- ## this is invoking the else-block:
- get_global $P21, "_block19"
- newclosure $P21, $P21
- $P20 = $P21()
- set $P18, $P20
- goto if_17_end
-
- ## this is invoking the then-block:
- if_17:
- get_global $P24, "_block22"
- newclosure $P24, $P24
- $P23 = $P24()
- set $P18, $P23
- if_17_end:
- .return ($P18)
+ .sub "_block11" :anon :subid("10_1279319328.02043")
+ .annotate 'line', 0
+ .const 'Sub' $P20 = "12_1279319328.02043"
+ capture_lex $P20
+ .const 'Sub' $P17 = "11_1279319328.02043"
+ capture_lex $P17
+ .annotate 'line', 1
+ set $I15, 1
+ if $I15, if_14
+ .const 'Sub' $P20 = "12_1279319328.02043"
+ capture_lex $P20
+ $P21 = $P20()
+ set $P13, $P21
+ goto if_14_end
+ if_14:
+ .const 'Sub' $P17 = "11_1279319328.02043"
+ capture_lex $P17
+ $P18 = $P17()
+ set $P13, $P18
+ if_14_end:
+ .return ($P13)
.end
+
+ .HLL "squaak"
+
.namespace []
- .sub "_block22" :outer("_block16")
- .return ()
+ .sub "_block19" :anon :subid("12_1279319328.02043") :outer("10_1279319328.02043")
+ .annotate 'line', 1
+ .return ()
.end
+
+ .HLL "squaak"
+
.namespace []
- .sub "_block19" :outer("_block16")
- .return ()
+ .sub "_block16" :anon :subid("11_1279319328.02043") :outer("10_1279319328.02043")
+ .annotate 'line', 1
+ .return ()
.end
=back
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_5.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_5.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_5.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -30,9 +30,8 @@
Squaak has a so-called do-block statement, that is defined below.
- rule do_block {
- 'do' <block> 'end'
- {*}
+ rule statement:sym<do> {
+ <sym> <block> 'end'
}
Each do-block defines a new scope; local variables declared between the C<do>
@@ -94,9 +93,8 @@
statement, so I assume you know how to extend the statement rule to allow for
variable declarations.
- rule variable_declaration {
- 'var' <identifier> ['=' <expression>]?
- {*}
+ rule statement:sym<var> {
+ <sym> <identifier> ['=' <EXPR>]?
}
A local variable is declared using the C<var> keyword, and has an optional
@@ -104,9 +102,9 @@
defaults to the undefined value called "Undef". Let's see what the parse action
looks like:
- method variable_declaration($/) {
+ method statement:sym<var>($/) {
# get the PAST for the identifier
- my $past := $( $<identifier> );
+ my $past := $<identifier>.ast;
# this is a local (it's being defined)
$past.scope('lexical');
@@ -115,10 +113,10 @@
$past.isdecl(1);
# check for the initialization expression
- if $<expression> {
+ if $<EXPR> {
# use the viviself clause to add a
# an initialization expression
- $past.viviself( $( $<expression>[0] );
+ $past.viviself($<EXPR>[0].ast);
}
else { # no initialization, default to "Undef"
$past.viviself('Undef');
@@ -152,46 +150,27 @@
symbols in the block's symbol table), we add a few extra parse actions. Let's
take a look at them.
- rule TOP {
- {*} #= open
- <statement>*
- [ $ || <.panic: syntax error> ]
- {*} #= close
- }
+Add this token to the grammar:
-We now have two parse actions for TOP, which are differentiated by an
-additional key parameter. The first parse action is executed before any input
-is parsed, which is particularly suitable for any initialization actions you
-might need. The second action (which was already there) is executed after the
-whole input string is parsed. Now we can create a C<PAST::Block> node before
-any statements are parsed, so that when we need the current block, it's there
-(somewhere, later we'll see where exactly). Let's take a look at the parse
-action for TOP.
+ token begin_TOP {
+ <?>
+ }
- method TOP($/, $key) {
- our $?BLOCK;
+It uses something we haven't seen before, <?>. The null pattern <?> always returns true without
+consuming any text. Tokens consisting of only <?> are frequently used to invoke additional action
+methods.
+
+Add this method to Actions.pm:
+
+ method begin_TOP ($/) {
+ our $?BLOCK := PAST::Block.new(:blocktype<declaration>, :node($/),
+ :hll<squaak>);
our @?BLOCK;
-
- if $key eq 'open' {
- $?BLOCK := PAST::Block.new( :blocktype('declaration'),
- :node($/) );
-
- @?BLOCK.unshift($?BLOCK);
- }
- else { # key is 'close'
- my $past := @?BLOCK.shift();
-
- for $<statement> {
- $past.push( $( $_ ) );
- }
-
- make $past;
- }
+ @?BLOCK.unshift($?BLOCK);
}
-Let's see what's happening here. When the parse action is invoked for the first
-time (when C<$key> equals "open"), a new C<PAST::Block> node is created and
-assigned to a strange-looking (if you don't know Perl, like me. Oh wait,
+We create a new C<PAST::Block> node and
+assign it to a strange-looking (if you don't know Perl, like me. Oh wait,
this is Perl. Never mind..) variable called C<$?BLOCK>. This variable is
declared as "our", which means that it is a package variable. This means that
the variable is shared by all methods in the same package (or class), and,
@@ -203,98 +182,61 @@
C<@?BLOCK>. This variable has a "@" sigil, meaning this is an array. The
unshift method puts its argument on the front of the list. In a sense, you
could think of the front of this list as the top of a stack. Later we'll see
-why this stack is necessary.
+why this stack is necessary. This C<@?BLOCK> variable is also declared with "our", meaning it's also
+package-scoped. Since it's an array variable, it is automatically initialized with an empty
+ResizablePMCArray.
+
+Now we need to modify our TOP rule to call begin_TOP.
+
+ rule TOP {
+ <.begin_TOP>
+ <statementlist>
+ [ $ || <.panic: "Syntax error"> ]
+ }
+
+"<.begin_TOP>" is just like <begin_TOP>, calling the subrule begin_TOP, with one difference: The
+<.subrule> form does not capture. Normally, when match a subrule <foo>, $<foo> on the match object
+is bound to the subrule's match result. With <.foo>, $<foo> is not bound.
-This C<@?BLOCK> variable is also declared with "our", meaning it's also
-package-scoped. However, as we call a method on this variable, it should have
-been already created; otherwise you'd invoke the method on an undefined
-("Undef") variable. So, this variable should have been created before the
-parsing starts. We can do this in the compiler's main program, squaak.pir.
-Before doing so, let's take a quick look at the "else" part of the parse action
+The parse action for begin_TOP is executed before any input
+is parsed, which is particularly suitable for any initialization actions you
+might need. The action for TOP is executed after the
+whole input string is parsed. Now we can create a C<PAST::Block> node before
+any statements are parsed, so that when we need the current block, it's there
+(somewhere, later we'll see where exactly). Let's take a look at the parse
+action for TOP.
+
+ method TOP($/, $key) {
+ our @?BLOCK;
+ my $past := @?BLOCK.shift();
+ $past.push($<statementlist>.ast);
+ make $past;
+ }
+
+Let's take a quick look at the updated parse action
for TOP, which is executed after the whole input string is parsed. The
C<PAST::Block> node is retrieved from C<@?BLOCK>, which makes sense, as it was
created in the first part of the method and unshifted on C<@?BLOCK>. Now this
node can be used as the final result object of TOP. So, now we've seen how to
use the scope stack, let's have a look at its implementation.
-=head2 A List Class
-
-We'll implement the scope stack as a C<ResizablePMCArray> object. This is a
-built-in PMC type. However, this built-in PMC does not have any methods; in
-PIR it can only be used as an operand of the built-in shift and unshift
-instructions. In order to allow us to write this as method calls, we create a
-new subclass of ResizablePMCArray. The code below creates the new class and
-defines the methods we need.
-
- 1 .namespace []
-
- 2 .sub 'initlist' :anon :init :load
- 3 subclass $P0, 'ResizablePMCArray', 'List'
- 4 new $P1, 'List'
- 5 set_hll_global ['Squaak';'Grammar';'Actions'], '@?BLOCK', $P1
- 6 .end
-
- 7 .namespace ['List']
-
- 8 .sub 'unshift' :method
- 9 .param pmc obj
- 10 unshift self, obj
- 11 .end
-
- 12 .sub 'shift' :method
- 13 shift $P0, self
- 14 .return ($P0)
- 15 .end
-
-Well, here you have it: part of the small amount of PIR code you need to write
-for the Squaak compiler (there's some more for some built-in subroutines, more
-on that later). Let's discuss this code snippet in more detail (if you know
-PIR, you could skip this section).
-Line 1 resets the namespace to the root namespace in Parrot, so that the sub
-C<initlist> is stored in that namespace. The sub 'initlist' defined in lines
-2-6 has some flags: C<:anon> means that the sub is not stored by name in the
-namespace, implying it cannot be looked up by name. The :init flag means that
-the sub is executed before the main program (the "main" sub) is executed. The
-C<:load> flag makes sure that the sub is executed if this file was compiled and
-loaded by another file through the load_bytecode instruction. If you don't
-understand this, no worries. You can forget about it now. In any case, we know
-for sure there's a List class when we need it, because the class creation is
-done before running the actual compiler code.
-Line 3 creates a new subclass of ResizablePMCArray, called "List". This results
-in a new class object, which is left in register $P0, but it's not used after
-that.
-Line 4 creates a new List object, and stores it in register $P1. Line 5,
-stores this List object by name of C<@?BLOCK> (that name should ring a bell
-now...) in the namespace of the Actions class. The semicolons in between the
-several key strings indicate nested namespaces. So, lines 4 and 5 are important,
-because the create the @?BLOCK variable and store it in a place that can be
-accessed from the action methods in the Actions class.
-Lines 7-11 define the unshift method, which is a method in the "List" namespace.
-This means that it can be invoked as a method on a List object. As the sub is
-marked with the :method flag, the sub has an implicit first parameter called
-"self", which refers to the invocant object. The unshift method invokes
-Parrot's unshift instruction on self, passing the obj argument as the second
-operand. So, obj is unshifted onto self, which is the List object itself.
-Finally, lines 12-15 define the "shift" method, which does the opposite of
-"unshift", removing the first element and returning it to its caller.
-
=head2 Storing Symbols
Now, we set up the necessary infrastructure to store the current scope block,
and we created a datastructure that acts as a scope stack, which we will need
-later. We'll now go back to the parse action for variable_declaration, because
+later. We'll now go back to the parse action for statement:sym<var>, because
we didn't enter the declared variable into the current block's symbol table yet.
We'll see how to do that now.
First, we need to make the current block accessible from the method
-variable_declaration. We've already seen how to do that, using the "our"
+statement:sym<var>. We've already seen how to do that, using the "our"
keyword. It doesn't really matter where in the action method we enter the
symbol's name into the symbol table, but let's do it at the end, after the
initialization stuff. Naturally, we're only going to enter the symbol if it's
not there already; duplicate variable declarations (in the same scope) should
result in an error message (using the panic method of the match object).
-The code to be added to the method variable_declaration looks then like this:
+The code to be added to the method statement:sym<var> looks then like this:
- method variable_declaration($/) {
+ method statement:sym<var>($/) {
our $?BLOCK;
# get the PAST node for identifier
# set the scope and declaration flag
@@ -304,7 +246,7 @@
if $?BLOCK.symbol( $name ) {
# symbol is already present
- $/.panic("Error: symbol " ~ $name ~ " was already defined.\n");
+ $/.CURSOR.panic("Error: symbol " ~ $name ~ " was already defined.\n");
}
else {
$?BLOCK.symbol( $name, :scope('lexical') );
@@ -329,14 +271,15 @@
=item *
In this episode, we changed the action method for the C<TOP> rule; it is now
-invoked twice, once at the beginning of the parse, once at the end of the parse.
+invokes the new begin_TOP action at the beginning of the parse.
The block rule, which defines a block to be a series of statements, represents
a new scope. This rule is used in for instance if-statement
(the then-part and else-part), while-statement (the loop body) and others.
-Update the parse action for block so it is invoked twice; once before parsing
-the statements, during which a new C<PAST::Block> is created and stored onto the
-scope stack, and once after parsing the statements, during which this PAST node
-is set as the result object. Make sure C<$?BLOCK> is always pointing to the
+Add a new begin_block rule consisting of <?>; in the action for it, create a new PAST::Block and
+store it onto the scope stack.
+Update the rule for block so that it calls begin_block before parsing
+the statements. Update the parse action for block after parsing the statements, during which this
+PAST node is set as the result object. Make sure C<$?BLOCK> is always pointing to the
current block. In order to do this exercise correctly, you should understand
well what the shift and unshift methods do, and why we didn't implement methods
to push and pop, which are more appropriate words in the context of a (scope)
@@ -385,24 +328,35 @@
I hope it's clear what I mean here... otherwise, have a look at the code,
and try to figure out what's happening:
+ # In src/Squaak/Grammar.pm
+ token begin_block {
+ <?>
+ }
+
+ rule block {
+ <.begin_block>
+ <statement>*
+ }
+
+ # In src/Squaak/Actions.pm
+ method begin_block {
+ our $?BLOCK;
+ our @?BLOCK;
+ $?BLOCK := PAST::Block.new(:blocktype('immediate'),
+ :node($/));
+ @?BLOCK.unshift($?BLOCK);
+ }
+
method block($/, $key) {
- our $?BLOCK;
- our @?BLOCK;
- if $key eq 'open' {
- $?BLOCK := PAST::Block.new(
- :blocktype('immediate'),
- :node($/) );
- @?BLOCK.unshift($?BLOCK);
- }
- else {
- my $past := @?BLOCK.shift();
- $?BLOCK := @?BLOCK[0];
-
- for $<statement> {
- $past.push( $( $_ ) );
- }
- make $past;
+ our $?BLOCK;
+ our @?BLOCK;
+ my $past := @?BLOCK.shift();
+ $?BLOCK := @?BLOCK[0];
+
+ for $<statement> {
+ $past.push($_.ast);
}
+ make $past;
}
=cut
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_6.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_6.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_6.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -77,14 +77,26 @@
'sub' <identifier> <parameters>
<statement>*
'end'
- {*}
}
rule parameters {
- '(' [<identifier> [',' <identifier>]* ]? ')'
- {*}
+ '(' [<identifier> ** ',']? ')'
}
+And we need to add it to rule stat_or_def:
+
+ rule stat_or_def {
+ | <statement>
+ | <sub_definition>
+ }
+
+Appropriately modifying the action method is simple. It's analogous to the action method for
+expression.
+
+"**" is the repetition specifier; "<identifier> ** ','" matches <identifier> separated by commas.
+Since it's in a rule and there is space between the ** and its operands, whitespace is allowed
+between the commas and both the preceding and following identifiers.
+
This is rather straightforward, and the action methods for these rules are
quite simple, as you will see. First, however, let's have a look at the rule
for sub definitions. Why is the sub body defined as <statement>* and not as a
@@ -112,7 +124,7 @@
# now add all parameters to this block
for $<identifier> {
- my $param := $( $_ );
+ my $param := $_.ast;
$param.scope('parameter');
$past.push($param);
@@ -128,23 +140,23 @@
}
method sub_definition($/) {
- our $?BLOCK;
- our @?BLOCK;
- my $past := $( $<parameters> );
- my $name := $( $<identifier> );
-
- # set the sub's name
- $past.name( $name.name() );
-
- # add all statements to the sub's body
- for $<statement> {
- $past.push( $( $_ ) );
- }
-
- # and remove the block from the scope stack and restore the current block
- @?BLOCK.shift();
- $?BLOCK := @?BLOCK[0];
- make $past;
+ our $?BLOCK;
+ our @?BLOCK;
+ my $past := $<parameters>.ast;
+ my $name := $<identifier>.ast;
+
+ # set the sub's name
+ $past.name($name.name);
+
+ # add all statements to the sub's body
+ for $<statement> {
+ $past.push($_.ast);
+ }
+
+ # and remove the block from the scope stack and restore the current block
+ @?BLOCK.shift();
+ $?BLOCK := @?BLOCK[0];
+ make $past;
}
First, let's check out the parse action for parameters. First, a new
@@ -178,26 +190,29 @@
subroutine invocation. In this section, we'll give a complete description.
First we'll introduce the grammar rules.
- rule sub_call {
+ rule statement:sym<sub_call> {
<primary> <arguments>
- {*}
+ }
+
+ rule arguments {
+ '(' [<EXPR> ** ',']? ')'
}
Not only allows this to invoke subroutines by their name, you can also store
the subroutines in an array or hash field, and invoke them from there. Let's
take a look at the action method, which is really quite straightforward.
- method sub_call($/) {
- my $invocant := $( $<primary> );
- my $past := $( $<arguments> );
+ method statement:sym<sub_call>($/) {
+ my $invocant := $<primary>.ast;
+ my $past := $<arguments>.ast;
$past.unshift($invocant);
make $past;
}
method arguments($/) {
my $past := PAST::Op.new( :pasttype('call'), :node($/) );
- for $<expression> {
- $past.push( $( $_ ) );
+ for $<EXPR> {
+ $past.push($_.ast);
}
make $past;
}
@@ -260,20 +275,17 @@
It's pretty easy to convert this to Perl 6 rules:
- rule for_statement {
- 'for' <for_init> ',' <expression> <step>?
+ rule statement:sym<for> {
+ <sym> <for_init> ',' <EXPR> <step>?
'do' <statement>* 'end'
- {*}
}
rule step {
- ',' <expression>
- {*}
+ ',' <EXPR>
}
rule for_init {
- 'var' <identifier> '=' <expression>
- {*}
+ 'var' <identifier> '=' <EXPR>
}
Pretty easy huh? Let's take a look at the semantics. A for-loop is just
@@ -323,12 +335,12 @@
:node($/) );
@?BLOCK.unshift($?BLOCK);
- my $iter := $( $<identifier> );
+ my $iter := $<identifier>.ast;
## set a flag that this identifier is being declared
$iter.isdecl(1);
$iter.scope('lexical');
## the identifier is initialized with this expression
- $iter.viviself( $( $<expression> ) );
+ $iter.viviself( $<EXPR>.ast );
## enter the loop variable into the symbol table.
$?BLOCK.symbol($iter.name(), :scope('lexical'));
@@ -339,16 +351,22 @@
So, just as we created a new C<PAST::Block> for the subroutine in the action
method for parameters, we create a new C<PAST::Block> for the for-statement in
the action method that defines the loop variable. (Guess why we made for-init
-a subrule, and didn't put in "C<var> <ident> = <expression>" in the rule of
+a subrule, and didn't put in "C<var> <ident> = <EXPR>" in the rule of
for-statement). This block is the place to live for the loop variable. The
loop variable is declared, initialized using the viviself attribute, and
entered into the new block's symbol table. Note that after creating the new
C<PAST::Block> object, we put it onto the stack scope.
+The action method for step is simple:
+
+ method step($/) {
+ make $<EXPR>.ast;
+ }
+
Now, the action method for the for statement is quite long, so I'll just
embed my comments, which makes reading it easier.
- method for_statement($/) {
+ method statement:sym<for>($/) {
our $?BLOCK;
our @?BLOCK;
@@ -356,7 +374,7 @@
is the C<PAST::Var> object, representing the declaration and initialization
of the loop variable.
- my $init := $( $<for_init> );
+ my $init := $<for_init>.ast;
Then, create a new node for the loop variable. Yes, another one (besides the
one that is currently contained in the C<PAST::Block>). This one is used when
@@ -381,7 +399,7 @@
my $body := @?BLOCK.shift();
$?BLOCK := @?BLOCK[0];
for $<statement> {
- $body.push($($_));
+ $body.push($_.ast);
}
If there was a step, we use that value; otherwise, we use assume a default
@@ -392,8 +410,9 @@
my $step;
if $<step> {
- my $stepsize := $( $<step>[0] );
- $step := PAST::Op.new( $iter, $stepsize, :pirop('add'), :node($/) );
+ my $stepsize := $<step>[0].ast;
+ $step := PAST::Op.new( $iter, $stepsize,
+ :pirop('add__OP+'), :node($/) );
}
else { ## default is increment by 1
$step := PAST::Op.new( $iter, :pirop('inc'), :node($/) );
@@ -404,13 +423,13 @@
$body.push($step);
-The loop condition uses the "<=" operator, and compares the loop variable
-with the maximum value that was specified.
+The loop condition uses the isle opcode, which checks that its first operand is less than or equal
+to its second, and compares the loop variable with the maximum value that was specified.
## while loop iterator <= end-expression
- my $cond := PAST::Op.new( $iter,
- $( $<expression> ),
- :name('infix:<=') );
+ my $cond := PAST::Op.new( :pirop<isle__IPP>,
+ $iter,
+ $<EXPR>.ast );
Now we have the PAST for the loop condition and the loop body, so now create
a PAST to represent the (while) loop.
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_7.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_7.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_7.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -13,7 +13,7 @@
=head2 Operators, precedence and parse trees
We will first briefly introduce the problem with recursive-descent parsers
-(which parsers generated with the PCT are) when parsing expressions. Consider
+(which parsers generated with NQP are) when parsing expressions. Consider
the following mini-grammar, which is a very basic calculator.
rule TOP {
@@ -116,29 +116,39 @@
and I don't remember the particular details. If you really want to know, check
out the links at the end of the previous section. It's actually worth checking
out. For now, I'll just assume you know what the problem is, so that I'll
-introduce the solution for PCT-based compilers immediately.
+introduce the solution for NQP-based compilers immediately.
At some point when parsing your input, you might encounter an expression. At
this point, we'd like the parser to switch from top-down to bottom-up parsing.
-The Parrot Grammar Engine supports this, and is used as follows:
+NQP-rx supports this, and is used as follows:
- rule expression is optable { ... }
+ <EXPR>
-Note that we used the word C<expression> here, but you can name it anything.
-This declares that, whenever you need an expression, the bottom-up parser is
-activated. Of course, this "optable" must be populated with some operators that
-we need to be able to parse. This can be done by declaring operators as follows:
+Of course, the optable must be populated with some operators that
+we need to be able to parse and it might be told what precedence and associativity they have. The
+easiest way to do this is by setting up precedence levels in an C<INIT> block:
- proto 'infix:*' is tighter('infix:+') { ... }
+ INIT {
+ Squaak::Grammar.O(':prec<t>, :assoc<left>', '%additive');
+ Squaak::Grammar.O(':prec<u>, :assoc<lefT>', '%multiplicative');
+ }
+
+In this C<INIT> block, we use the C<O> method of the compiler to set up two precedence levels: one
+for operators like addition (named C<%additive>), and one for operators like multiplication (named
+C<%multiplicative>). Each of themhas a ":prec" value and an ":assoc" value. ":prec" determines the
+precedence. Lexicographically greater values indicate higher precedence, so C<%additive> operators,
+with a precedence value of "t", have lower precedence than C<%multiplicative> operators with a
+precedence value of "u".":assoc" defines the associativity of the operators. If C<@> is a left
+associative operator, then 1 @ 2 @ 3 is equivalent to (1 @ 2) @ 3. However, if C<@> is right
+associative, then 1 @ 2 @ 3 is equivalent to 1 @ (2 @ 3). There are other options for the
+associativity, but we'll discuss them as we come to them.
+
+ token infix:sym<*> { <sym> <O('%multiplicative, :pirop<mul>')> }
This defines the operator C<*> (the C<infix:> is a prefix that tells the
operator parser that this operator is an infix operator; there are other types,
-such as prefix, postfix and others). The C<is tighter> clause tells that the
-C<*> operator has a higher precedence than the C<+> operator. As you could have
-guessed, there are other clauses to declare equivalent precedence (C<is equiv>)
-and lower precedence (C<is looser>).It is very important to spell all clauses,
-such as C<is equiv> correctly (for instance, not C<is equil>), otherwise you
-might get some cryptic error message when trying to run your compiler. See the
-references section for the optable guide, that has more details on this.
+such as prefix, postfix and others). As you can see, it uses the O rule to specify that it is part
+of the C<%multiplicative> group of operators. The ":pirop" value specifies that the operator should
+compile to the C<mul> PIR opcode.
Of course, the expression parser does not just parse operators, it must also
parse the operands. So, how do we declare the most basic entity that represents
@@ -146,19 +156,12 @@
or even a function definition (but adding two function definition doesn't
really make sense, does it?). The operands are parsed in a recursive-descent
fashion, so somewhere the parser must switch back from bottom-up
-(expression parsing) to top-down. To declare this "switch-back" point, write:
-
- proto 'term:' is tighter('prefix:-') is parsed(&term) { ... }
+(expression parsing) to top-down. This "switch-back" point is the proto token C<term>. This is the
+reason why integer constants are parsed by the rule term:sym<integer_constant>, for example, in our
+grammar.
-The name C<term:> is a built-in name of the operator bottom-up parser; it is
-invoked every time a new operand is needed. The C<is parsed> clause tells the
-parser that C<term> (which accidentally looks like C<term:>, but you could also
-have named it anything else) parses the operands.
-
-Note: it is very important to add a C<is tighter> clause to the declaration of
-the C<term:> rule. Otherwise your expression parser will not work! My knowledge
-here is a bit limited, but I usually define it as C<is tighter> relative to the
-tightest operator defined.
+The C<term> proto token is
+invoked every time a new operand is needed
=head2 Squaak Operators
@@ -179,25 +182,30 @@
or
(".." is the string concatenation operator). Besides defining an entry and exit
-point for the expression parser, you need to define some operator as a reference
-point, so that other operators' precedence can be defined relative to that
-reference point. My personal preference is to declare the operator with the
-lowest precedence as the reference point. This can be done like this:
-
- proto 'infix:or' is precedence('1') { ... }
-
-Now, other operators can be defined:
-
- proto 'infix:and' is tighter('infix:or') { ... }
- proto 'infix:<' is tighter('infix:and') { ... }
- proto 'infix:+' is tighter('infix:<') { ... }
- proto 'infix:*' is tighter('infix:+') { ... }
- proto 'prefix:not' is tighter('infix:*') { ... }
- proto 'prefix:-' is tighter('prefix:not') { ... }
+point for the expression parser, you need to define precedence levels for your operators. Find the
+C<INIT> block in Grammar.pm below the "## Operators" comment, and replace it with this:
+
+ INIT {
+ Squaak::Grammar.O(':prec<w>, :assoc<unary>', '%unary-negate');
+ Squaak::Grammar.O(':prec<v>, :assoc<unary>', '%unary-not');
+ Squaak::Grammar.O(':prec<u>, :assoc<left>', '%multiplicative');
+ Squaak::Grammar.O(':prec<t>, :assoc<left>', '%additive');
+ Squaak::Grammar.O(':prec<s>, :assoc<left>', '%relational');
+ Squaak::Grammar.O(':prec<r>, :assoc<left>', '%conjunction');
+ Squaak::Grammar.O(':prec<q>, :assoc<left>', '%disjunction');
+ }
+
+Now, we need to define the actual operators:
+
+ token infix:sym<or> { <sym> <O('%disjunction, :pasttype<unless>')> }
+ token infix:sym<and> { <sym> <O('%conjunction, :pasttype<if>')> }
+ token infix:sym«<» { <sym> <O('%relational, :pirop<islt>')> }
+ token infix:sym<+> { <sym> <O('%additive, :pirop<add>')> }
+ token infix:sym<*> { <sym> <O('%multiplicative, :pirop<mul>')> }
+ token prefix:sym<not> { <sym> <O('%unary-not, :pirop<isfalse>')> }
+ token prefix:sym<-> { <sym> <O('%unary-negate, :pirop<neg>')> }
Note that some operators are missing. See the exercises section for this.
-For more details on the use of the optable, check out
-F<docs/pct/pct_optable_guide.pod> in the Parrot repository.
=head2 Short-circuiting logical operators
@@ -216,9 +224,9 @@
(the C<then> block) is evaluated (remember, the third child -- the C<else>
clause -- is optional). It would be great to be able to implement the and
operator using a C<PAST::Op( :pasttype('if') )> node. Well, you can, using
-the C<is pasttype> clause! Here's how:
+the ":pasttype" option! Here's how:
- proto 'infix:and' is tighter('infix:or') is pasttype('if') { ... }
+ token infix:sym<and> { <sym> <O('%conjunction, :pasttype<if>')> }
So what about the or operator? When evaluating an or-expression, the first
operand is evaluated. If it evaluates to true, then there's no need to evaluate
@@ -232,12 +240,8 @@
In the previous section, we introduced the C<pasttype> clause that you can
specify. This means that for that operator (for instance, the C<and> operator
we discussed), a C<PAST::Op( :pasttype('if') )> node is created. What happens
-if you don't specify a pasttype? In that case a default C<PAST::Op> node is
-created, and the default pasttype is C<call>. In other words, a C<PAST::Op>
-node is created that calls the declared operator. For instance, the C<infix:+>
-operator results in a call to the subroutine "infix:+". This means you'll need
-to implement subroutines for each operator. Now, that's a bit of a shame.
-Obviously, some languages have very exotic semantics for the C<+> operator,
+if you don't specify a pasttype? In that case, the corresponding action method is called. Obviously,
+some languages have very exotic semantics for the C<+> operator,
but many languages just want to use Parrot's built-in C<add> instruction. How
do we achieve that?
@@ -247,20 +251,13 @@
operands as arguments, it will generate the specified instruction with the
operator's operands as arguments. Neat huh? Let's look at an example:
- proto 'infix:+' is tighter('infix:<') is pirop('n_add') { ... }
-
-This specifies to use the C<n_add> instruction, which tells Parrot to create a
-new result object instead of changing one of the operands. Why not just the
-C<add> instruction (which takes two operands, updating the first), you might
-think. Well, if you leave out this C<is pirop> stuff, this will be generated:
-
- $P12 = "infix:+"($P10, $P11)
+ token infix:sym<+> { <sym> <O('%additive, :pirop<add>')> }
-You see, three registers are involved. As we mentioned before, PCT does not do
-any optimizations. Therefore, instead of the generated instruction above, it
-just emit the following:
+This specifies to use the C<add> instruction, which tells Parrot to create a
+new result object instead of changing one of the operands. PCT
+just emits the following for this:
- n_add $P12, $P10, $P11
+ add $P12, $P10, $P11
which means that the PMCs in registers C<$P10> and C<$P11> are added, and
assigned to a newly created PMC which is stored in register C<$P12>.
@@ -268,71 +265,25 @@
=head2 To circumfix or not to circumfix
Squaak supports parenthesized expressions. Parentheses can be used to change
-the order of evaluation in an expression, just as you're probably have seen
-this in other languages. Besides infix, prefix and postfix operators, you can
-define circumfix operators, which is specified with the left and right
-delimiter. This is an ideal way to implement parenthesized expressions:
-
- proto 'circumfix:( )' is looser('infix:+') is pirop('set') { ... }
-
-By default, a subroutine invocation will be generated for each operator,
-in this case a call to C<circumfix:( )>. However, we are merely interested in
-the expression that has been parenthesized. The subroutine would merely return
-the expression. Instead, we can use the pirop attribute to specify what PIR
-operation should be generated; in this case that is the C<set> operation, which
-sets one register to the contents of another. This solution works fine, except
-that C<set> instructions are a bit of a waste. What happens is, the contents of
-some register is just copied to another register, which is then used in further
-code generation. This C<set> instruction might as well be optimized away.
-Currently, there are no optimizations implemented in the PCT.
-
-There is an alternative solution for adding grammar rules for the parenthesized
-expressions, by adding it as an alternative of term. The grammar rule term then
-ends up as:
-
- rule term {
- | <float_constant> {*} #= float_constant
- | <integer_constant> {*} #= integer_constant
- | <string_constant> {*} #= string_constant
- | <primary> {*} #= primary
- | '(' <expression> ')' {*} #= expression
- }
-
-Of course, although we save one generated instruction, the parser will be
-slightly more inefficient, for reasons that we discussed at the beginning of
-this episode. Of course, you are free to decide for yourself how to implement
-this; this section just explains both methods. At some point, optimizations
-will be implemented in the PCT. I suspect "useless" instructions (such as the
-C<set> instruction we just saw) will then be removed.
+the order of evaluation in an expression, just as you probably have seen in other languages. Besides
+infix, prefix and postfix operators, you can define circumfix operators, which is specified with the
+left and right delimiter. This is an ideal way to implement parenthesized expressions:
+
+ token circumfix:sym<( )> { '(' <.ws> <EXPR> ')' }
+
+ # with the action method:
+ method circumfix:sym<( )> { make $<EXPR>.ast; }
+
+This rule and action method were generated for us when we ran mk_language_shell.pl; you don't need
+to add them to the grammar and actions yourself. Circumfix operators are treated as terms by the
+operator-precedence parser, so it will parse as we want it to automatically.
=head2 Expression parser's action method
For all grammar rules we introduced, we also introduced an action method that
is invoked after the grammar rule was done matching. What about the action
-method for the optable? Naturally, there must be some actions to be executed.
-Well, there is, but to be frank, I cannot explain it to you. Every time I
-needed the action method for an optable, I just copied it from an existing
-actions file. Of course, the action method's name should match the name of the
-optable (the rule that has the "is optable" clause). So, here goes:
-
- method expression($/, $key) {
- if ($key eq 'end') {
- make $($<expr>);
- }
- else {
- my $past := PAST::Op.new( :name($<type>),
- :pasttype($<top><pasttype>),
- :pirop($<top><pirop>),
- :lvalue($<top><lvalue>),
- :node($/) );
-
- for @($/) {
- $past.push( $($_) );
- }
-
- make $past;
- }
- }
+method for EXPR? Our Squaak::Actions class inherits that from HLL::Actions. We don't have to write
+one.
=head2 What's Next?
@@ -360,21 +311,14 @@
There may be no whitespace between the individual digits and the dot. Make sure
you understand the difference between a "rule" and a "token".
-Hint: currently, the Parrot Grammar Engine (PGE), the component that "executes"
-the regular expressions (your grammar rules), matches alternative subrules in
-order. This means that this won't work:
-
- rule term {
- | <integer_constant>
- | <float_constant>
- ...
- }
+Hint: a floating-point constant should produce a value of type 'Float'.
-because when giving the input C<42.0>, C<42> will be matched by
-<integer_constant>, and the dot and "0" will remain. Therefore, put the
-<float_constant> alternative in rule term before <integer_constant>.
-At some point, PGE will support I<longest-token matching>, so that this issue
-will disappear.
+Note: in Perl 6 regexes, when matching an alternation as in a proto rule, the alternative which
+matches the most of the string is supposed to match. However, NQP-rx does not yet implement this. As
+a work-around, NQP-rx specifies that the version of a proto regex with the longest name will match.
+Since the part of a floating-point constant before the decimal place is the same as an integer
+constant, unless the token for floating-point constants has a longer name than the token for
+integer-constants, the latter will match and a syntax error will result.
=item *
@@ -399,12 +343,25 @@
between the individual digits and the dot. Make sure you understand the
difference between a C<rule> and a C<token>.
- token float_constant {
+Hint: a floating-point constant should produce a value of type 'Float'.
+
+Note: in Perl 6 regexes, when matching an alternation as in a proto rule, the alternative which
+matches the most of the string is supposed to match. However, NQP-rx does not yet implement this. As
+a work-around, NQP-rx specifies that the version of a proto regex with the longest name will match.
+Since the part of a floating-point constant before the decimal place is the same as an integer
+constant, unless the token for floating-point constants has a longer name than the token for
+integer-constants, the latter will match and a syntax error will result.
+
+ token term:sym<float_constant_long> { # longer to work around lack of LTM
[
| \d+ '.' \d*
| \d* '.' \d+
]
- {*}
+ }
+
+ # with action method:
+ method term:sym<float_constant_long>($/) { # name worksaround lack of LTM
+ make PAST::Val.new(:value(+$/), :returns<Float>);
}
=item 2
@@ -412,43 +369,38 @@
For sake of completeness (and easy copy-paste for you), here's the list of
operator declarations as I wrote them for Squaak:
- rule expression is optable { ... }
+ INIT {
+ Squaak::Grammar.O(':prec<w>, :assoc<unary>', '%unary-negate');
+ Squaak::Grammar.O(':prec<v>, :assoc<unary>', '%unary-not');
+ Squaak::Grammar.O(':prec<u>, :assoc<left>', '%multiplicative');
+ Squaak::Grammar.O(':prec<t>, :assoc<left>', '%additive');
+ Squaak::Grammar.O(':prec<s>, :assoc<left>', '%relational');
+ Squaak::Grammar.O(':prec<r>, :assoc<left>', '%conjunction');
+ Squaak::Grammar.O(':prec<q>, :assoc<left>', '%disjunction');
+ }
+
+ token circumfix:sym<( )> { '(' <.ws> <EXPR> ')' }
- proto 'infix:or' is precedence('1')
- is pasttype('unless') { ... }
- proto 'infix:and' is tighter('infix:or')
- is pasttype('if') { ... }
-
- proto 'infix:<' is tighter('infix:and') { ... }
- proto 'infix:<=' is equiv('infix:<') { ... }
- proto 'infix:>' is equiv('infix:<') { ... }
- proto 'infix:>=' is equiv('infix:<') { ... }
- proto 'infix:==' is equiv('infix:<') { ... }
- proto 'infix:!=' is equiv('infix:<') { ... }
-
- proto 'infix:+' is tighter('infix:<')
- is pirop('n_add') { ... }
- proto 'infix:-' is equiv('infix:+')
- is pirop('n_sub') { ... }
-
- proto 'infix:..' is equiv('infix:+')
- is pirop('n_concat') { ... }
-
- proto 'infix:*' is tighter('infix:+')
- is pirop('n_mul') { ... }
- proto 'infix:%' is equiv('infix:*')
- is pirop('n_mod') { ... }
- proto 'infix:/' is equiv('infix:*')
- is pirop('n_div') { ... }
-
- proto 'prefix:not' is tighter('infix:*')
- is pirop('not') { ... }
- proto 'prefix:-' is tighter('prefix:not')
- is pirop('neg') { ... }
+ token prefix:sym<-> { <sym> <O('%unary-negate, :pirop<neg>')> }
+ token prefix:sym<not> { <sym> <O('%unary-not, :pirop<isfalse>')> }
- proto 'term:' is tighter('prefix:-')
- is parsed(&term) { ... }
+ token infix:sym<*> { <sym> <O('%multiplicative, :pirop<mul>')> }
+ token infix:sym<%> { <sym> <O('%multiplicative, :pirop<mod>')> }
+ token infix:sym</> { <sym> <O('%multiplicative, :pirop<div>')> }
+
+ token infix:sym<+> { <sym> <O('%additive, :pirop<add>')> }
+ token infix:sym<-> { <sym> <O('%additive, :pirop<sub>')> }
+ token infix:sym<..> { <sym> <O('%additive, :pirop<concat>')> }
+
+ token infix:sym«<» { <sym> <O('%relational, :pirop<isle iPP>')> }
+ token infix:sym«<=» { <sym> <O('%relational, :pirop<islt iPP>')> }
+ token infix:sym«>» { <sym> <O('%relational, :pirop<isgt iPP>')> }
+ token infix:sym«>=» { <sym> <O('%relational, :pirop<isge iPP>')> }
+ token infix:sym«==» { <sym> <O('%relational, :pirop<iseq iPP>')> }
+ token infix:sym«!=» { <sym> <O('%relational, :pirop<isne iPP>')> }
+ token infix:sym<and> { <sym> <O('%conjunction, :pasttype<if>')> }
+ token infix:sym<or> { <sym> <O('%disjunction, :pasttype<unless>')> }
=back
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_8.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_8.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_8.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -37,9 +37,8 @@
that can be assigned to variables, you can have array literals. Below is the
grammar rule for this:
- rule array_constructor {
- '[' [ <expression> [',' <expression>]*]? ']'
- {*}
+ rule circumfix:sym<[ ]> {
+ '[' [<EXPR> ** ',']? ']'
}
Some examples are shown below:
@@ -60,16 +59,21 @@
constructed through a hashtable constructor. The syntax for this is expressed
below:
- rule hash_constructor {
- '{' [<named_field> [',' <named_field>]* ]? '}'
- {*}
+ rule circumfix:sym<{ }> {
+ '{' [<named_field> ** ',']? '}'
}
rule named_field {
- <string_constant> '=>' <expression>
- {*}
+ <string_constant> '=>' <EXPR>
}
+ # We need to rename our existing string_constant term to a separate rule
+ # so that we can use it specifically.
+ token term:sym<string_constant> { <string_constant> }
+
+ # Don't forget to rename the action method.
+ token string_constant { <quote> }
+
Some examples are shown below:
foo = {}
@@ -91,23 +95,13 @@
rule primary {
<identifier> <postfix_expression>*
- {*}
}
- rule postfix_expression {
- | <index> {*} #= index
- | <key> {*} #= key
- }
+ proto rule postfix_expression { <...> }
- rule index {
- '[' <expression> ']'
- {*}
- }
+ rule postfix_expression:sym<index> { '[' <EXPR> ']' }
- rule key {
- '{' <expression> '}'
- {*}
- }
+ rule postfix_expression:sym<key> { '{' <EXPR> '}' }
A primary object is now an identifier followed by any number of
postfix-expressions. A postfix expression is either a hashtable key or an array
@@ -121,8 +115,8 @@
is actually quite simple. First, let us see how to implement the action method
index.
- method index($/) {
- my $index := $( $<expression> );
+ method postfix_expression:sym<index>($/) {
+ my $index := $<EXPR>.ast;
my $past := PAST::Var.new( $index,
:scope('keyed'),
:viviself('Undef'),
@@ -132,7 +126,7 @@
make $past;
}
-First, we retrieve the PAST node for expression. Then, we create a keyed
+First, we retrieve the PAST node for EXPR. Then, we create a keyed
variable access operation, by creating a PAST::Var node and setting its scope
to C<keyed>. If a C<PAST::Var> node has keyed scope, then the first child is
evaluated as the aggregate object, and the second child is evaluated as the
@@ -144,10 +138,10 @@
This is shown below.
method primary($/) {
- my $past := $( $<identifier> );
+ my $past := $<identifier>.ast;
for $<postfix_expression> {
- my $expr := $( $_ );
+ my $expr := $_.ast;
$expr.unshift( $past );
$past := $expr;
}
@@ -219,15 +213,19 @@
hashtable is created. This happens to be exactly what we need! Implementing
the array and hash constructors becomes trivial:
- .sub '!array'
- .param pmc fields :slurpy
- .return (fields)
- .end
+ # Inset this in src/Squaak/Runtime.pm
- .sub '!hash'
- .param pmc fields :named :slurpy
- .return (fields)
- .end
+ {
+ my sub array (*@args) { @args; }
+ my sub hash (*%args) { %args; }
+
+ Q:PIR {
+ $P0 = find_lex 'array'
+ set_global '!array', $P0
+ $P0 = find_lex 'hash'
+ set_global '!hash', $P1
+ }
+ }
Array and hashtable constructors can then be compiled into subroutine calls to
the respective Parrot subroutines, passing all fields as arguments. (Note that
@@ -236,8 +234,8 @@
=head2 Basic data types and Aggregates as arguments
-All data types, both basic and aggregate data types are represented by Parrot
-Magic Cookies (PMCs). The PMC is one of the four built-in data types that Parrot
+All data types, both basic and aggregate data types are represented by Polymorphic
+Containers (PMCs). The PMC is one of the four built-in data types that Parrot
can handle; the others are integer, floating-point and string. Currently, the
PCT can only generate code to handle PMCs, not the other basic data types.
Parrot has registers for each its four built-in data types. The integer,
@@ -290,7 +288,7 @@
=item *
-Implement the action methods for array_constructor and hash_constructor. Use a
+Implement the action methods for circumfix:sym<[ ]> and circumfix:sym<{ }>. Use a
C<PAST::Op> node and set the pasttype to 'call'. Use the "name" attribute to
specify the names of the subs to be invoked (e.g., C<:name("!array")> ). Note
that all hash fields must be passed as named arguments. Check out PDD26 for
@@ -315,27 +313,29 @@
=item 1
- method key($/) {
- my $key := $( $<expression> );
+ method postfix_expression:sym<key>($/) {
+ my $key := $<expression>.ast;
- make PAST::Var.new( $key, :scope('keyed'),
- :vivibase('Hash'),
- :viviself('Undef'),
- :node($/) );
+ make PAST::Var.new( $key, :scope('keyed'),
+ :vivibase('Hash'),
+ :viviself('Undef'),
+ :node($/) );
}
=item 2
+ method term:sym<string_constant>($/) { make $<string_constant>.ast; }
+
method named_field($/) {
- my $past := $( $<expression> );
- my $name := $( $<string_constant> );
+ my $past := $<EXPR>.ast;
+ my $name := $<string_constant>.ast;
## the passed expression is in fact a named argument,
## use the named() accessor to set that name.
$past.named($name);
make $past;
}
- method array_constructor($/) {
+ method circumfix:sym<[ ]>($/) {
## use the parrot calling conventions to
## create an array,
## using the "anonymous" sub !array
@@ -343,13 +343,13 @@
my $past := PAST::Op.new( :name('!array'),
:pasttype('call'),
:node($/) );
- for $<expression> {
- $past.push($($_));
+ for $<EXPR> {
+ $past.push($_.ast);
}
make $past;
}
- method hash_constructor($/) {
+ method circumfix:sym<{ }>($/) {
## use the parrot calling conventions to
## create a hash, using the "anonymous" sub
## !hash (which is not a valid Squaak name)
@@ -357,31 +357,25 @@
:pasttype('call'),
:node($/) );
for $<named_field> {
- $past.push($($_));
+ $past.push($_.ast);
}
make $past;
}
=item 3
- rule postfix_expression {
- | <key> {*} #= key
- | <member> {*} #= member
- | <index> {*} #= index
- }
- rule member {
+ rule postfix_expression:sym<member> {
'.' <identifier>
- {*}
}
- method member($/) {
- my $member := $( $<identifier> );
+ method postfix_expression:sym<member>($/) {
+ my $member := $<identifier>.ast;
## x.y is syntactic sugar for x{"y"},
## so stringify the identifier:
- my $key := PAST::Val.new( :returns('String'),
- :value($member.name()),
- :node($/) );
+ my $key := PAST::Val.new( :returns('String'),
+ :value($member.name),
+ :node($/) );
## the rest of this method is the same
## as method key() above.
Modified: branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_9.pod
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_9.pod Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/doc/tutorial_episode_9.pod Thu Jul 22 21:29:12 2010 (r48165)
@@ -181,9 +181,9 @@
## start here.
main()
-Note the use of a subroutine "print". Check out the file src/builtins/say.pir,
-and rename the sub "say" (which was generated by the language shell creation
-script) to "print".
+Note the use of a subroutine "print". Check out the file src/Squaak/Runtime.pm,
+delete the generated sub "print" and rename the sub "say" to "print" (which was generated by the
+language shell creation script).
=head2 Exercises
Modified: branches/gsoc_nfg/examples/languages/squaak/setup.pir
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/setup.pir Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/setup.pir Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,5 +1,5 @@
-#! ../../../parrot
-# Copyright (C) 2009, Parrot Foundation.
+#!/usr/bin/env parrot
+# Copyright (C) 2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -10,11 +10,9 @@
No Configure step, no Makefile generated.
-See F<runtime/library/distutils.pir>.
-
=head1 USAGE
- $ parrot setup.pir
+ $ parrot setup.pir build
$ parrot setup.pir test
$ sudo parrot setup.pir install
@@ -25,58 +23,86 @@
$S0 = shift args
load_bytecode 'distutils.pbc'
+ .local int reqsvn
+ $P0 = new 'FileHandle'
+ $P0.'open'('PARROT_REVISION', 'r')
+ $S0 = $P0.'readline'()
+ reqsvn = $S0
+ $P0.'close'()
+
+ .local pmc config
+ config = get_config()
+ $I0 = config['revision']
+ unless $I0 goto L1
+ unless reqsvn > $I0 goto L1
+ $S1 = "Parrot revision r"
+ $S0 = reqsvn
+ $S1 .= $S0
+ $S1 .= " required (currently r"
+ $S0 = $I0
+ $S1 .= $S0
+ $S1 .= ")\n"
+ print $S1
+ end
+ L1:
+
$P0 = new 'Hash'
$P0['name'] = 'Squaak'
- $P0['abstract'] = 'Squaak is a case-study language'
- $P0['description'] = 'Squaak is a case-study language'
- $P0['license_type'] = 'Artistic License 2.0'
- $P0['license_uri'] = 'http://www.perlfoundation.org/artistic_license_2_0'
- $P0['copyright_holder'] = 'Parrot Foundation'
- $P0['checkout_uri'] = 'https://svn.parrot.org/parrot/trunk/examples/languages/squaak'
- $P0['browser_uri'] = 'http://trac.parrot.org/parrot/browser/trunk/examples/languages/squaak'
- $P0['project_uri'] = 'http://trac.parrot.org/parrot/browser/trunk/examples/languages/squaak'
+ $P0['abstract'] = 'the Squaak compiler'
+ $P0['description'] = 'the Squaak for Parrot VM.'
# build
- $P1 = new 'Hash'
- $P1['src/gen_grammar.pir'] = 'src/parser/grammar.pg'
- $P0['pir_pge'] = $P1
-
- $P2 = new 'Hash'
- $P2['src/gen_actions.pir'] = 'src/parser/actions.pm'
- $P0['pir_nqprx'] = $P2
-
- $P3 = new 'Hash'
- $P4 = split "\n", <<'SOURCES'
-squaak.pir
+# $P1 = new 'Hash'
+# $P1['squaak_ops'] = 'src/ops/squaak.ops'
+# $P0['dynops'] = $P1
+
+# $P2 = new 'Hash'
+# $P3 = split ' ', 'src/pmc/squaak.pmc'
+# $P2['squaak_group'] = $P3
+# $P0['dynpmc'] = $P2
+
+ $P4 = new 'Hash'
+ $P4['src/gen_actions.pir'] = 'src/Squaak/Actions.pm'
+ $P4['src/gen_compiler.pir'] = 'src/Squaak/Compiler.pm'
+ $P4['src/gen_grammar.pir'] = 'src/Squaak/Grammar.pm'
+ $P4['src/gen_runtime.pir'] = 'src/Squaak/Runtime.pm'
+ $P0['pir_nqp-rx'] = $P4
+
+ $P5 = new 'Hash'
+ $P6 = split "\n", <<'SOURCES'
+src/squaak.pir
src/gen_actions.pir
+src/gen_compiler.pir
src/gen_grammar.pir
-src/builtins/say.pir
+src/gen_runtime.pir
SOURCES
- $S0 = pop $P4
- $P3['squaak.pbc'] = $P4
- $P0['pbc_pir'] = $P3
-
- $P5 = new 'Hash'
- $P5['parrot-squaak'] = 'squaak.pbc'
- $P0['exe_pbc'] = $P5
- $P0['installable_pbc'] = $P5
+ $S0 = pop $P6
+ $P5['squaak/squaak.pbc'] = $P6
+ $P5['squaak.pbc'] = 'squaak.pir'
+ $P0['pbc_pir'] = $P5
+
+ $P7 = new 'Hash'
+ $P7['parrot-squaak'] = 'squaak.pbc'
+ $P0['installable_pbc'] = $P7
# test
$S0 = get_parrot()
$S0 .= ' squaak.pbc'
$P0['prove_exec'] = $S0
+ # install
+ $P0['inst_lang'] = 'squaak/squaak.pbc'
+
# dist
- $P6 = glob('doc/*.pod examples/*.sq')
- $P0['manifest_includes'] = $P6
- $P5 = split ' ', 'MAINTAINER README'
- $P0['doc_files'] = $P5
+ $P0['doc_files'] = 'README'
.tailcall setup(args :flat, $P0 :flat :named)
.end
+
# Local Variables:
# mode: pir
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4 ft=pir:
+
Modified: branches/gsoc_nfg/examples/languages/squaak/squaak.pir
==============================================================================
--- branches/gsoc_nfg/examples/languages/squaak/squaak.pir Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/examples/languages/squaak/squaak.pir Thu Jul 22 21:29:12 2010 (r48165)
@@ -1,4 +1,4 @@
-# Copyright (C) 2008, Parrot Foundation.
+# Copyright (C) 2010, Parrot Foundation.
# $Id$
=head1 TITLE
@@ -7,39 +7,12 @@
=head2 Description
-This is the base file for the Squaak compiler.
-
-This file includes the parsing and grammar rules from
-the src/ directory, loads the relevant PGE libraries,
-and registers the compiler under the name 'Squaak'.
+This is the entry point for the Squaak compiler.
=head2 Functions
=over 4
-=item onload()
-
-Creates the Squaak compiler using a C<PCT::HLLCompiler>
-object.
-
-=cut
-
-.namespace [ 'Squaak';'Compiler' ]
-
-.sub 'onload' :anon :load :init
- load_bytecode 'PCT.pbc'
-
- $P0 = get_hll_global ['PCT'], 'HLLCompiler'
- $P1 = $P0.'new'()
- $P1.'language'('Squaak')
- $P1.'parsegrammar'('Squaak::Grammar')
- $P1.'parseactions'('Squaak::Grammar::Actions')
-
- $P1.'commandline_banner'("Squaak for Parrot VM\n")
- $P1.'commandline_prompt'('> ')
-
-.end
-
=item main(args :slurpy) :main
Start compilation by passing any command line C<args>
@@ -50,36 +23,12 @@
.sub 'main' :main
.param pmc args
+ load_language 'squaak'
+
$P0 = compreg 'Squaak'
$P1 = $P0.'command_line'(args)
.end
-
-.include 'src/builtins/say.pir'
-.include 'src/gen_grammar.pir'
-.include 'src/gen_actions.pir'
-
-
-.namespace []
-
-.sub 'initlist' :anon :load :init
- $P0 = new 'ResizablePMCArray'
- set_hll_global ['Squaak';'Grammar';'Actions'], '@?BLOCK', $P0
-.end
-
-.namespace []
-
-.sub '!array'
- .param pmc fields :slurpy
- .return (fields)
-.end
-
-.sub '!hash'
- .param pmc fields :slurpy :named
- .return (fields)
-.end
-
-
=back
=cut
Copied: branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Actions.pm (from r48164, trunk/examples/languages/squaak/src/Squaak/Actions.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Actions.pm Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/src/Squaak/Actions.pm)
@@ -0,0 +1,404 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+class Squaak::Actions is HLL::Actions;
+
+method begin_TOP ($/) {
+ our $?BLOCK := PAST::Block.new(:blocktype<declaration>, :node($/),
+ :hll<squaak>);
+ our @?BLOCK;
+ @?BLOCK.unshift($?BLOCK);
+}
+
+method TOP($/) {
+ our @?BLOCK;
+ my $past := @?BLOCK.shift();
+ $past.push($<statementlist>.ast);
+ make $past;
+}
+
+method statementlist($/) {
+ my $past := PAST::Stmts.new( :node($/) );
+ for $<stat_or_def> { $past.push( $_.ast ); }
+ make $past;
+}
+
+method stat_or_def($/) {
+ if $<statement> {
+ make $<statement>.ast;
+ }
+ else { # Must be a def
+ make $<sub_definition>.ast;
+ }
+}
+
+method sub_definition($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+ my $past := $<parameters>.ast;
+ my $name := $<identifier>.ast;
+
+ # set the sub's name
+ $past.name($name.name);
+
+ # add all statements to the sub's body
+ for $<statement> {
+ $past.push($_.ast);
+ }
+
+ # and remove the block from the scope stack and restore the current block
+ @?BLOCK.shift();
+ $?BLOCK := @?BLOCK[0];
+ make $past;
+}
+
+method parameters($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+ my $past := PAST::Block.new( :blocktype('declaration'), :node($/) );
+
+ # now add all parameters to this block
+ for $<identifier> {
+ my $param := $_.ast;
+ $param.scope('parameter');
+ $past.push($param);
+
+ # register the parameter as a local symbol
+ $past.symbol($param.name(), :scope('lexical'));
+ }
+
+ # now put the block into place on the scope stack
+ $?BLOCK := $past;
+ @?BLOCK.unshift($past);
+
+ make $past;
+}
+
+
+method statement:sym<assignment>($/) {
+ my $lhs := $<primary>.ast;
+ my $rhs := $<EXPR>.ast;
+ $lhs.lvalue(1);
+ make PAST::Op.new($lhs, $rhs, :pasttype<bind>, :node($/));
+}
+
+method for_init($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+
+ ## create a new scope here, so that we can
+ ## add the loop variable
+ ## to this block here, which is convenient.
+ $?BLOCK := PAST::Block.new( :blocktype('immediate'),
+ :node($/) );
+ @?BLOCK.unshift($?BLOCK);
+
+ my $iter := $<identifier>.ast;
+ ## set a flag that this identifier is being declared
+ $iter.isdecl(1);
+ $iter.scope('lexical');
+ ## the identifier is initialized with this expression
+ $iter.viviself( $<EXPR>.ast );
+
+ ## enter the loop variable into the symbol table.
+ $?BLOCK.symbol($iter.name(), :scope('lexical'));
+
+ make $iter;
+}
+
+method step($/) {
+ make $<EXPR>.ast;
+}
+
+method statement:sym<for>($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+
+ my $init := $<for_init>.ast;
+ ## cache the name of the loop variable
+ my $itername := $init.name();
+ my $iter := PAST::Var.new( :name($itername),
+ :scope('lexical'),
+ :node($/) );
+ ## the body of the loop consists of the statements written by the user and
+ ## the increment instruction of the loop iterator.
+
+ my $body := @?BLOCK.shift();
+ $?BLOCK := @?BLOCK[0];
+ for $<statement> {
+ $body.push($_.ast);
+ }
+
+ my $step;
+ if $<step> {
+ my $stepsize := $<step>[0].ast;
+ $step := PAST::Op.new( $iter, $stepsize,
+ :pirop('add__0P+'), :node($/) );
+ }
+ else { ## default is increment by 1
+ $step := PAST::Op.new( $iter, :pirop('inc'), :node($/) );
+ }
+ $body.push($step);
+
+ ## while loop iterator <= end-expression
+ my $cond := PAST::Op.new( :pirop<isle__IPP>,
+ $iter,
+ $<EXPR>.ast );
+ my $loop := PAST::Op.new( $cond, $body, :pasttype('while'), :node($/) );
+
+ make PAST::Stmts.new( $init, $loop, :node($/) );
+}
+
+method statement:sym<if>($/) {
+ my $cond := $<EXPR>.ast;
+ my $past := PAST::Op.new( $cond, $<then>.ast,
+ :pasttype('if'),
+ :node($/) );
+ if $<else> {
+ $past.push($<else>[0].ast);
+ }
+ make $past;
+}
+
+method statement:sym<sub_call>($/) {
+ my $invocant := $<primary>.ast;
+ my $past := $<arguments>.ast;
+ $past.unshift($invocant);
+ make $past;
+}
+
+method arguments($/) {
+ my $past := PAST::Op.new( :pasttype('call'), :node($/) );
+ for $<EXPR> {
+ $past.push($_.ast);
+ }
+ make $past;
+}
+
+method statement:sym<throw>($/) {
+ make PAST::Op.new( $<EXPR>.ast,
+ :pirop('die'),
+ :node($/) );
+}
+
+method statement:sym<try>($/) {
+ ## get the try block
+ my $try := $<try>.ast;
+
+ ## create a new PAST::Stmts node for
+ ## the catch block; note that no
+ ## PAST::Block is created, as this
+ ## currently has problems with the
+ ## exception object. For now this will
+ ## do.
+ my $catch := PAST::Stmts.new( :node($/) );
+ $catch.push($<catch>.ast);
+
+ ## get the exception identifier;
+ ## set a declaration flag, the scope,
+ ## and clear the viviself attribute.
+ my $exc := $<exception>.ast;
+ $exc.isdecl(1);
+ $exc.scope('lexical');
+ $exc.viviself(0);
+ ## generate instruction to retrieve the exception object (and the
+ ## exception message, that is passed automatically in PIR, this is stored
+ ## into $S0 (but not used).
+ my $pir := " .get_results (\%r, \$S0)\n"
+ ~ " store_lex '" ~ $exc.name()
+ ~ "', \%r";
+
+ $catch.unshift( PAST::Op.new( :inline($pir), :node($/) ) );
+
+ ## do the declaration of the exception object as a lexical here:
+ $catch.unshift( $exc );
+ make PAST::Op.new( $try, $catch, :pasttype('try'), :node($/) );
+}
+
+method exception($/) {
+ my $past := $<identifier>.ast;
+ make $past;
+}
+
+method statement:sym<var>($/) {
+ our $?BLOCK;
+ # get the PAST for the identifier
+ my $past := $<identifier>.ast;
+
+ # this is a local (it's being defined)
+ $past.scope('lexical');
+
+ # set a declaration flag
+ $past.isdecl(1);
+
+ # check for the initialization expression
+ if $<EXPR> {
+ # use the viviself clause to add a
+ # an initialization expression
+ $past.viviself($<EXPR>[0].ast);
+ }
+ else { # no initialization, default to "Undef"
+ $past.viviself('Undef');
+ }
+
+ my $name := $past.name();
+
+ if $?BLOCK.symbol( $name ) {
+ # symbol is already present
+ $/.CURSOR.panic("Error: symbol " ~ $name ~ " was already defined.\n");
+ }
+ else {
+ $?BLOCK.symbol( $name, :scope('lexical') );
+ }
+ make $past;
+}
+
+method statement:sym<while>($/) {
+ my $cond := $<EXPR>.ast;
+ my $body := $<block>.ast;
+ make PAST::Op.new( $cond, $body, :pasttype('while'), :node($/) );
+}
+
+method begin_block($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+ $?BLOCK := PAST::Block.new(:blocktype('immediate'),
+ :node($/));
+ @?BLOCK.unshift($?BLOCK);
+}
+
+method block($/) {
+ our $?BLOCK;
+ our @?BLOCK;
+ my $past := @?BLOCK.shift();
+ $?BLOCK := @?BLOCK[0];
+
+ for $<statement> {
+ $past.push($_.ast);
+ }
+ make $past;
+}
+
+method primary($/) {
+ my $past := $<identifier>.ast;
+
+ for $<postfix_expression> {
+ my $expr := $_.ast;
+ $expr.unshift( $past );
+ $past := $expr;
+ }
+
+ make $past;
+}
+
+method postfix_expression:sym<index>($/) {
+ my $index := $<EXPR>.ast;
+ my $past := PAST::Var.new( $index,
+ :scope('keyed'),
+ :viviself('Undef'),
+ :vivibase('ResizablePMCArray'),
+ :node($/) );
+
+ make $past;
+}
+
+method postfix_expression:sym<key>($/) {
+ my $key := $<EXPR>.ast;
+
+ make PAST::Var.new( $key, :scope('keyed'),
+ :vivibase('Hash'),
+ :viviself('Undef'),
+ :node($/) );
+}
+
+method postfix_expression:sym<member>($/) {
+ my $member := $<identifier>.ast;
+ ## x.y is syntactic sugar for x{"y"},
+ ## so stringify the identifier:
+ my $key := PAST::Val.new( :returns('String'),
+ :value($member.name),
+ :node($/) );
+
+ ## the rest of this method is the same
+ ## as method key() above.
+ make PAST::Var.new( $key, :scope('keyed'),
+ :vivibase('Hash'),
+ :viviself('Undef'),
+ :node($/) );
+}
+
+method identifier($/) {
+ our @?BLOCK;
+ my $name := ~$<ident>;
+ my $scope := 'package'; # default value
+ # go through all scopes and check if the symbol
+ # is registered as a local. If so, set scope to
+ # local.
+ for @?BLOCK {
+ if $_.symbol($name) {
+ $scope := 'lexical';
+ }
+ }
+
+ make PAST::Var.new( :name($name),
+ :scope($scope),
+ :viviself('Undef'),
+ :node($/) );
+}
+
+method term:sym<integer_constant>($/) {
+ make PAST::Val.new(:value($<integer>.ast), :returns<Integer>);
+}
+method term:sym<string_constant>($/) { make $<string_constant>.ast; }
+method string_constant($/) {
+ my $past := $<quote>.ast;
+ $past.returns('String');
+ make $past;
+}
+method term:sym<float_constant_long>($/) { # name worksaround lack of LTM
+ make PAST::Val.new(:value(+$/), :returns<Float>);
+}
+method term:sym<primary>($/) {
+ make $<primary>.ast;
+}
+
+method quote:sym<'>($/) { make $<quote_EXPR>.ast; }
+method quote:sym<">($/) { make $<quote_EXPR>.ast; }
+
+method circumfix:sym<( )>($/) { make $<EXPR>.ast; }
+
+method named_field($/) {
+ my $past := $<EXPR>.ast;
+ my $name := $<string_constant>.ast;
+ ## the passed expression is in fact a named argument,
+ ## use the named() accessor to set that name.
+ $past.named($name);
+ make $past;
+}
+
+method circumfix:sym<[ ]>($/) {
+ ## use the parrot calling conventions to
+ ## create an array,
+ ## using the "anonymous" sub !array
+ ## (which is not a valid Squaak name)
+ my $past := PAST::Op.new( :name('!array'),
+ :pasttype('call'),
+ :node($/) );
+ for $<EXPR> {
+ $past.push($_.ast);
+ }
+ make $past;
+}
+
+method circumfix:sym<{ }>($/) {
+ ## use the parrot calling conventions to
+ ## create a hash, using the "anonymous" sub
+ ## !hash (which is not a valid Squaak name)
+ my $past := PAST::Op.new( :name('!hash'),
+ :pasttype('call'),
+ :node($/) );
+ for $<named_field> {
+ $past.push($_.ast);
+ }
+ make $past;
+}
Copied: branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Compiler.pm (from r48164, trunk/examples/languages/squaak/src/Squaak/Compiler.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Compiler.pm Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/src/Squaak/Compiler.pm)
@@ -0,0 +1,12 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+class Squaak::Compiler is HLL::Compiler;
+
+INIT {
+ Squaak::Compiler.language('Squaak');
+ Squaak::Compiler.parsegrammar(Squaak::Grammar);
+ Squaak::Compiler.parseactions(Squaak::Actions);
+ Squaak::Compiler.commandline_banner("Squaak for Parrot VM.\n");
+ Squaak::Compiler.commandline_prompt('> ');
+}
Copied: branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Grammar.pm (from r48164, trunk/examples/languages/squaak/src/Squaak/Grammar.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Grammar.pm Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/src/Squaak/Grammar.pm)
@@ -0,0 +1,205 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+=begin overview
+
+This is the grammar for Squaak in Perl 6 rules.
+
+=end overview
+
+grammar Squaak::Grammar is HLL::Grammar;
+
+token begin_TOP {
+ <?>
+}
+
+token TOP {
+ <.begin_TOP>
+ <statementlist>
+ [ $ || <.panic: "Syntax error"> ]
+}
+
+## Lexer items
+
+# This <ws> rule treats # as "comment to eol".
+token ws {
+ <!ww>
+ [ '#' \N* \n? | \s+ ]*
+}
+
+## Statements
+
+rule statementlist {
+ <stat_or_def>*
+}
+
+rule stat_or_def {
+ | <statement>
+ | <sub_definition>
+}
+
+rule sub_definition {
+ 'sub' <identifier> <parameters>
+ <statement>*
+ 'end'
+}
+
+rule parameters {
+ '(' [<identifier> ** ',']? ')'
+}
+
+proto rule statement { <...> }
+
+rule statement:sym<assignment> {
+ <primary> '=' <EXPR>
+}
+
+rule statement:sym<do> {
+ <sym> <block> 'end'
+}
+
+rule statement:sym<for> {
+ <sym> <for_init> ',' <EXPR> <step>?
+ 'do' <statement>* 'end'
+}
+
+rule step {
+ ',' <EXPR>
+}
+
+rule for_init {
+ 'var' <identifier> '=' <EXPR>
+}
+
+rule statement:sym<if> {
+ <sym> <EXPR> 'then' $<then>=<block>
+ ['else' $<else>=<block> ]?
+ 'end'
+}
+
+rule statement:sym<sub_call> {
+ <primary> <arguments>
+}
+
+rule arguments {
+ '(' [<EXPR> ** ',']? ')'
+}
+
+rule statement:sym<throw> {
+ <sym> <EXPR>
+}
+
+rule statement:sym<try> {
+ <sym> $<try>=<block>
+ 'catch' <exception>
+ $<catch>=<block>
+ 'end'
+}
+
+rule exception {
+ <identifier>
+}
+
+rule statement:sym<var> {
+ <sym> <identifier> ['=' <EXPR>]?
+}
+
+rule statement:sym<while> {
+ <sym> <EXPR> 'do' <block> 'end'
+}
+
+token begin_block {
+ <?>
+}
+
+rule block {
+ <.begin_block>
+ <statement>*
+}
+
+## Terms
+
+rule primary {
+ <identifier> <postfix_expression>*
+}
+
+proto rule postfix_expression { <...> }
+
+rule postfix_expression:sym<index> { '[' <EXPR> ']' }
+
+rule postfix_expression:sym<key> { '{' <EXPR> '}' }
+
+rule postfix_expression:sym<member> { '.' <identifier> }
+
+token identifier {
+ <!keyword> <ident>
+}
+
+token keyword {
+ ['and'|'catch'|'do' |'else' |'end' |'for' |'if'
+ |'not'|'or' |'sub' |'throw'|'try' |'var'|'while']>>
+}
+
+token term:sym<integer_constant> { <integer> }
+token term:sym<string_constant> { <string_constant> }
+token string_constant { <quote> }
+token term:sym<float_constant_long> { # longer to work-around lack of LTM
+ [
+ | \d+ '.' \d*
+ | \d* '.' \d+
+ ]
+}
+token term:sym<primary> {
+ <primary>
+}
+
+proto token quote { <...> }
+token quote:sym<'> { <?[']> <quote_EXPR: ':q'> }
+token quote:sym<"> { <?["]> <quote_EXPR: ':qq'> }
+
+## Operators
+
+INIT {
+ Squaak::Grammar.O(':prec<w>, :assoc<unary>', '%unary-negate');
+ Squaak::Grammar.O(':prec<v>, :assoc<unary>', '%unary-not');
+ Squaak::Grammar.O(':prec<u>, :assoc<left>', '%multiplicative');
+ Squaak::Grammar.O(':prec<t>, :assoc<left>', '%additive');
+ Squaak::Grammar.O(':prec<s>, :assoc<left>', '%relational');
+ Squaak::Grammar.O(':prec<r>, :assoc<left>', '%conjunction');
+ Squaak::Grammar.O(':prec<q>, :assoc<left>', '%disjunction');
+}
+
+token circumfix:sym<( )> { '(' <.ws> <EXPR> ')' }
+
+rule circumfix:sym<[ ]> {
+ '[' [<EXPR> ** ',']? ']'
+}
+
+rule circumfix:sym<{ }> {
+ '{' [<named_field> ** ',']? '}'
+}
+
+rule named_field {
+ <string_constant> '=>' <EXPR>
+}
+
+token prefix:sym<-> { <sym> <O('%unary-negate, :pirop<neg>')> }
+token prefix:sym<not> { <sym> <O('%unary-not, :pirop<isfalse>')> }
+
+token infix:sym<*> { <sym> <O('%multiplicative, :pirop<mul>')> }
+token infix:sym<%> { <sym> <O('%multiplicative, :pirop<mod>')> }
+token infix:sym</> { <sym> <O('%multiplicative, :pirop<div>')> }
+
+token infix:sym<+> { <sym> <O('%additive, :pirop<add>')> }
+token infix:sym<-> { <sym> <O('%additive, :pirop<sub>')> }
+token infix:sym<..> { <sym> <O('%additive, :pirop<concat>')> }
+
+token infix:sym«<» { <sym> <O('%relational, :pirop<islt iPP>')> }
+token infix:sym«<=» { <sym> <O('%relational, :pirop<isle iPP>')> }
+token infix:sym«>» { <sym> <O('%relational, :pirop<isgt iPP>')> }
+token infix:sym«>=» { <sym> <O('%relational, :pirop<isge iPP>')> }
+token infix:sym«==» { <sym> <O('%relational, :pirop<iseq iPP>')> }
+token infix:sym«!=» { <sym> <O('%relational, :pirop<isne iPP>')> }
+
+token infix:sym<and> { <sym> <O('%conjunction, :pasttype<if>')> }
+token infix:sym<or> { <sym> <O('%disjunction, :pasttype<unless>')> }
Copied: branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Runtime.pm (from r48164, trunk/examples/languages/squaak/src/Squaak/Runtime.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/src/Squaak/Runtime.pm Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/src/Squaak/Runtime.pm)
@@ -0,0 +1,22 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+# language-specific runtime functions go here
+
+{
+ my sub array (*@args) { @args; }
+ my sub hash (*%args) { %args; }
+
+ Q:PIR {
+ $P0 = find_lex 'array'
+ set_global '!array', $P0
+ $P0 = find_lex 'hash'
+ set_global '!hash', $P0
+ }
+}
+
+sub print(*@args) {
+ pir::say(pir::join('', @args));
+ pir::return();
+}
Copied: branches/gsoc_nfg/examples/languages/squaak/src/squaak.pir (from r48164, trunk/examples/languages/squaak/src/squaak.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/gsoc_nfg/examples/languages/squaak/src/squaak.pir Thu Jul 22 21:29:12 2010 (r48165, copy of r48164, trunk/examples/languages/squaak/src/squaak.pir)
@@ -0,0 +1,56 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 TITLE
+
+squaak.pir - A Squaak compiler.
+
+=head2 Description
+
+This is the base file for the Squaak compiler.
+
+This file includes the parsing and grammar rules from
+the src/ directory, loads the relevant PGE libraries,
+and registers the compiler under the name 'Squaak'.
+
+=head2 Functions
+
+=over 4
+
+=item onload()
+
+Creates the Squaak compiler using a C<PCT::HLLCompiler>
+object.
+
+=cut
+
+.HLL 'squaak'
+#.loadlib 'squaak_group'
+
+.namespace []
+
+.sub '' :anon :load
+ load_bytecode 'HLL.pbc'
+
+ .local pmc hllns, parrotns, imports
+ hllns = get_hll_namespace
+ parrotns = get_root_namespace ['parrot']
+ imports = split ' ', 'PAST PCT HLL Regex Hash'
+ parrotns.'export_to'(hllns, imports)
+.end
+
+.include 'src/gen_grammar.pir'
+.include 'src/gen_actions.pir'
+.include 'src/gen_compiler.pir'
+.include 'src/gen_runtime.pir'
+
+=back
+
+=cut
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
+
Modified: branches/gsoc_nfg/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/gsoc_nfg/ext/nqp-rx/src/stage0/HLL-s0.pir Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/ext/nqp-rx/src/stage0/HLL-s0.pir Thu Jul 22 21:29:12 2010 (r48165)
@@ -902,7 +902,7 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1278500527.62277")
+.sub "_block11" :anon :subid("10_1279589159.66297")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
@@ -916,103 +916,103 @@
.annotate 'line', 5
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
- $P348 = $P14()
+ $P332 = $P14()
.annotate 'line', 1
- .return ($P348)
- .const 'Sub' $P350 = "106_1278500527.62277"
- .return ($P350)
+ .return ($P332)
+ .const 'Sub' $P334 = "106_1279589159.66297"
+ .return ($P334)
.end
.namespace []
-.sub "" :load :init :subid("post107") :outer("10_1278500527.62277")
+.sub "" :load :init :subid("post107") :outer("10_1279589159.66297")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1278500527.62277"
+ .const 'Sub' $P12 = "10_1279589159.66297"
.local pmc block
set block, $P12
- $P353 = get_root_global ["parrot"], "P6metaclass"
- $P353."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
+ $P337 = get_root_global ["parrot"], "P6metaclass"
+ $P337."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
.end
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1278500527.62277") :outer("10_1278500527.62277")
+.sub "_block13" :subid("11_1279589159.66297") :outer("10_1279589159.66297")
.annotate 'line', 5
- .const 'Sub' $P334 = "103_1278500527.62277"
- capture_lex $P334
- .const 'Sub' $P327 = "101_1278500527.62277"
- capture_lex $P327
- .const 'Sub' $P314 = "98_1278500527.62277"
- capture_lex $P314
- .const 'Sub' $P282 = "93_1278500527.62277"
- capture_lex $P282
- .const 'Sub' $P276 = "91_1278500527.62277"
- capture_lex $P276
- .const 'Sub' $P271 = "89_1278500527.62277"
- capture_lex $P271
- .const 'Sub' $P265 = "87_1278500527.62277"
- capture_lex $P265
- .const 'Sub' $P259 = "85_1278500527.62277"
- capture_lex $P259
- .const 'Sub' $P254 = "83_1278500527.62277"
- capture_lex $P254
- .const 'Sub' $P249 = "81_1278500527.62277"
- capture_lex $P249
- .const 'Sub' $P244 = "79_1278500527.62277"
- capture_lex $P244
- .const 'Sub' $P239 = "77_1278500527.62277"
- capture_lex $P239
- .const 'Sub' $P234 = "75_1278500527.62277"
- capture_lex $P234
- .const 'Sub' $P229 = "73_1278500527.62277"
- capture_lex $P229
- .const 'Sub' $P224 = "71_1278500527.62277"
- capture_lex $P224
- .const 'Sub' $P219 = "69_1278500527.62277"
- capture_lex $P219
- .const 'Sub' $P208 = "65_1278500527.62277"
- capture_lex $P208
- .const 'Sub' $P195 = "63_1278500527.62277"
+ .const 'Sub' $P319 = "103_1279589159.66297"
+ capture_lex $P319
+ .const 'Sub' $P313 = "101_1279589159.66297"
+ capture_lex $P313
+ .const 'Sub' $P300 = "98_1279589159.66297"
+ capture_lex $P300
+ .const 'Sub' $P268 = "93_1279589159.66297"
+ capture_lex $P268
+ .const 'Sub' $P262 = "91_1279589159.66297"
+ capture_lex $P262
+ .const 'Sub' $P257 = "89_1279589159.66297"
+ capture_lex $P257
+ .const 'Sub' $P251 = "87_1279589159.66297"
+ capture_lex $P251
+ .const 'Sub' $P245 = "85_1279589159.66297"
+ capture_lex $P245
+ .const 'Sub' $P240 = "83_1279589159.66297"
+ capture_lex $P240
+ .const 'Sub' $P235 = "81_1279589159.66297"
+ capture_lex $P235
+ .const 'Sub' $P230 = "79_1279589159.66297"
+ capture_lex $P230
+ .const 'Sub' $P225 = "77_1279589159.66297"
+ capture_lex $P225
+ .const 'Sub' $P220 = "75_1279589159.66297"
+ capture_lex $P220
+ .const 'Sub' $P215 = "73_1279589159.66297"
+ capture_lex $P215
+ .const 'Sub' $P210 = "71_1279589159.66297"
+ capture_lex $P210
+ .const 'Sub' $P205 = "69_1279589159.66297"
+ capture_lex $P205
+ .const 'Sub' $P195 = "65_1279589159.66297"
capture_lex $P195
- .const 'Sub' $P183 = "61_1278500527.62277"
- capture_lex $P183
- .const 'Sub' $P176 = "59_1278500527.62277"
- capture_lex $P176
- .const 'Sub' $P167 = "57_1278500527.62277"
- capture_lex $P167
- .const 'Sub' $P160 = "55_1278500527.62277"
- capture_lex $P160
- .const 'Sub' $P151 = "53_1278500527.62277"
+ .const 'Sub' $P182 = "63_1279589159.66297"
+ capture_lex $P182
+ .const 'Sub' $P170 = "61_1279589159.66297"
+ capture_lex $P170
+ .const 'Sub' $P164 = "59_1279589159.66297"
+ capture_lex $P164
+ .const 'Sub' $P157 = "57_1279589159.66297"
+ capture_lex $P157
+ .const 'Sub' $P151 = "55_1279589159.66297"
capture_lex $P151
- .const 'Sub' $P144 = "51_1278500527.62277"
+ .const 'Sub' $P144 = "53_1279589159.66297"
capture_lex $P144
- .const 'Sub' $P135 = "49_1278500527.62277"
- capture_lex $P135
- .const 'Sub' $P128 = "47_1278500527.62277"
- capture_lex $P128
- .const 'Sub' $P121 = "45_1278500527.62277"
- capture_lex $P121
- .const 'Sub' $P111 = "43_1278500527.62277"
- capture_lex $P111
- .const 'Sub' $P103 = "41_1278500527.62277"
- capture_lex $P103
- .const 'Sub' $P93 = "40_1278500527.62277"
- capture_lex $P93
- .const 'Sub' $P87 = "38_1278500527.62277"
- capture_lex $P87
- .const 'Sub' $P82 = "36_1278500527.62277"
- capture_lex $P82
- .const 'Sub' $P74 = "34_1278500527.62277"
- capture_lex $P74
- .const 'Sub' $P68 = "32_1278500527.62277"
- capture_lex $P68
- .const 'Sub' $P62 = "30_1278500527.62277"
- capture_lex $P62
- .const 'Sub' $P56 = "28_1278500527.62277"
- capture_lex $P56
- .const 'Sub' $P23 = "14_1278500527.62277"
- capture_lex $P23
- .const 'Sub' $P15 = "12_1278500527.62277"
+ .const 'Sub' $P138 = "51_1279589159.66297"
+ capture_lex $P138
+ .const 'Sub' $P131 = "49_1279589159.66297"
+ capture_lex $P131
+ .const 'Sub' $P125 = "47_1279589159.66297"
+ capture_lex $P125
+ .const 'Sub' $P119 = "45_1279589159.66297"
+ capture_lex $P119
+ .const 'Sub' $P110 = "43_1279589159.66297"
+ capture_lex $P110
+ .const 'Sub' $P102 = "41_1279589159.66297"
+ capture_lex $P102
+ .const 'Sub' $P92 = "40_1279589159.66297"
+ capture_lex $P92
+ .const 'Sub' $P86 = "38_1279589159.66297"
+ capture_lex $P86
+ .const 'Sub' $P81 = "36_1279589159.66297"
+ capture_lex $P81
+ .const 'Sub' $P73 = "34_1279589159.66297"
+ capture_lex $P73
+ .const 'Sub' $P67 = "32_1279589159.66297"
+ capture_lex $P67
+ .const 'Sub' $P61 = "30_1279589159.66297"
+ capture_lex $P61
+ .const 'Sub' $P55 = "28_1279589159.66297"
+ capture_lex $P55
+ .const 'Sub' $P22 = "14_1279589159.66297"
+ capture_lex $P22
+ .const 'Sub' $P15 = "12_1279589159.66297"
capture_lex $P15
$P0 = find_dynamic_lex "$*CTXSAVE"
if null $P0 goto ctxsave_done
@@ -1021,17 +1021,17 @@
$P0."ctxsave"()
ctxsave_done:
.annotate 'line', 33
- .const 'Sub' $P334 = "103_1278500527.62277"
- capture_lex $P334
+ .const 'Sub' $P319 = "103_1279589159.66297"
+ capture_lex $P319
.annotate 'line', 5
- .return ($P334)
- .const 'Sub' $P345 = "105_1278500527.62277"
- .return ($P345)
+ .return ($P319)
+ .const 'Sub' $P329 = "105_1279589159.66297"
+ .return ($P329)
.end
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "ws" :subid("12_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
.local string rx16_tgt
.local int rx16_pos
@@ -1039,8 +1039,7 @@
.local int rx16_eos
.local int rx16_rep
.local pmc rx16_cur
- (rx16_cur, rx16_pos, rx16_tgt) = self."!cursor_start"()
- rx16_cur."!cursor_debug"("START ", "ws")
+ (rx16_cur, rx16_pos, rx16_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx16_cur
.local pmc match
.lex "$/", match
@@ -1051,6 +1050,8 @@
sub rx16_off, rx16_pos, 1
substr rx16_tgt, rx16_tgt, rx16_off
rx16_start:
+ eq $I10, 1, rx16_restart
+ rx16_cur."!cursor_debug"("START ", "ws")
$I10 = self.'from'()
ne $I10, -1, rxscan19_done
goto rxscan19_scan
@@ -1068,8 +1069,8 @@
$P10 = rx16_cur."ww"()
if $P10, rx16_fail
# rx rxquantr20 ** 0..*
- set_addr $I22, rxquantr20_done
- rx16_cur."!mark_push"(0, rx16_pos, $I22)
+ set_addr $I10, rxquantr20_done
+ rx16_cur."!mark_push"(0, rx16_pos, $I10)
rxquantr20_loop:
alt21_0:
set_addr $I10, alt21_1
@@ -1094,14 +1095,18 @@
find_cclass $I11, 4096, rx16_tgt, $I10, rx16_eos
add rx16_pos, rx16_off, $I11
alt21_end:
- (rx16_rep) = rx16_cur."!mark_commit"($I22)
- rx16_cur."!mark_push"(rx16_rep, rx16_pos, $I22)
+ set_addr $I10, rxquantr20_done
+ (rx16_rep) = rx16_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr20_done
+ rx16_cur."!mark_push"(rx16_rep, rx16_pos, $I10)
goto rxquantr20_loop
rxquantr20_done:
# rx pass
rx16_cur."!cursor_pass"(rx16_pos, "ws")
rx16_cur."!cursor_debug"("PASS ", "ws", " at pos=", rx16_pos)
.return (rx16_cur)
+ rx16_restart:
+ rx16_cur."!cursor_debug"("NEXT ", "ws")
rx16_fail:
(rx16_rep, rx16_pos, $I10, $P10) = rx16_cur."!mark_fail"(0)
lt rx16_pos, -1, rx16_done
@@ -1116,7 +1121,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1278500527.62277") :method
+.sub "!PREFIX__ws" :subid("13_1279589159.66297") :method
.annotate 'line', 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1125,1123 +1130,1292 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "termish" :subid("14_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx24_tgt
- .local int rx24_pos
- .local int rx24_off
- .local int rx24_eos
- .local int rx24_rep
- .local pmc rx24_cur
- (rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
- rx24_cur."!cursor_debug"("START ", "termish")
- rx24_cur."!cursor_caparray"("postfixish", "prefixish")
- .lex unicode:"$\x{a2}", rx24_cur
+ .local string rx23_tgt
+ .local int rx23_pos
+ .local int rx23_off
+ .local int rx23_eos
+ .local int rx23_rep
+ .local pmc rx23_cur
+ (rx23_cur, rx23_pos, rx23_tgt, $I10) = self."!cursor_start"()
+ rx23_cur."!cursor_caparray"("postfixish", "prefixish")
+ .lex unicode:"$\x{a2}", rx23_cur
.local pmc match
.lex "$/", match
- length rx24_eos, rx24_tgt
- gt rx24_pos, rx24_eos, rx24_done
- set rx24_off, 0
- lt rx24_pos, 2, rx24_start
- sub rx24_off, rx24_pos, 1
- substr rx24_tgt, rx24_tgt, rx24_off
- rx24_start:
+ length rx23_eos, rx23_tgt
+ gt rx23_pos, rx23_eos, rx23_done
+ set rx23_off, 0
+ lt rx23_pos, 2, rx23_start
+ sub rx23_off, rx23_pos, 1
+ substr rx23_tgt, rx23_tgt, rx23_off
+ rx23_start:
+ eq $I10, 1, rx23_restart
+ rx23_cur."!cursor_debug"("START ", "termish")
$I10 = self.'from'()
- ne $I10, -1, rxscan27_done
- goto rxscan27_scan
- rxscan27_loop:
- ($P10) = rx24_cur."from"()
+ ne $I10, -1, rxscan26_done
+ goto rxscan26_scan
+ rxscan26_loop:
+ ($P10) = rx23_cur."from"()
inc $P10
- set rx24_pos, $P10
- ge rx24_pos, rx24_eos, rxscan27_done
- rxscan27_scan:
- set_addr $I10, rxscan27_loop
- rx24_cur."!mark_push"(0, rx24_pos, $I10)
- rxscan27_done:
+ set rx23_pos, $P10
+ ge rx23_pos, rx23_eos, rxscan26_done
+ rxscan26_scan:
+ set_addr $I10, rxscan26_loop
+ rx23_cur."!mark_push"(0, rx23_pos, $I10)
+ rxscan26_done:
.annotate 'line', 8
- # rx rxquantr28 ** 0..*
- set_addr $I29, rxquantr28_done
- rx24_cur."!mark_push"(0, rx24_pos, $I29)
- rxquantr28_loop:
+ # rx rxquantr27 ** 0..*
+ set_addr $I10, rxquantr27_done
+ rx23_cur."!mark_push"(0, rx23_pos, $I10)
+ rxquantr27_loop:
# rx subrule "prefixish" subtype=capture negate=
- rx24_cur."!cursor_pos"(rx24_pos)
- $P10 = rx24_cur."prefixish"()
- unless $P10, rx24_fail
- rx24_cur."!mark_push"(0, -1, 0, $P10)
+ rx23_cur."!cursor_pos"(rx23_pos)
+ $P10 = rx23_cur."prefixish"()
+ unless $P10, rx23_fail
+ goto rxsubrule28_pass
+ rxsubrule28_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx23_fail
+ rxsubrule28_pass:
+ set_addr $I10, rxsubrule28_back
+ rx23_cur."!mark_push"(0, rx23_pos, $I10, $P10)
$P10."!cursor_names"("prefixish")
- rx24_pos = $P10."pos"()
- (rx24_rep) = rx24_cur."!mark_commit"($I29)
- rx24_cur."!mark_push"(rx24_rep, rx24_pos, $I29)
- goto rxquantr28_loop
- rxquantr28_done:
+ rx23_pos = $P10."pos"()
+ set_addr $I10, rxquantr27_done
+ (rx23_rep) = rx23_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr27_done
+ rx23_cur."!mark_push"(rx23_rep, rx23_pos, $I10)
+ goto rxquantr27_loop
+ rxquantr27_done:
.annotate 'line', 9
# rx subrule "term" subtype=capture negate=
- rx24_cur."!cursor_pos"(rx24_pos)
- $P10 = rx24_cur."term"()
- unless $P10, rx24_fail
- rx24_cur."!mark_push"(0, -1, 0, $P10)
+ rx23_cur."!cursor_pos"(rx23_pos)
+ $P10 = rx23_cur."term"()
+ unless $P10, rx23_fail
+ rx23_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("term")
- rx24_pos = $P10."pos"()
+ rx23_pos = $P10."pos"()
.annotate 'line', 10
- # rx rxquantr30 ** 0..*
- set_addr $I31, rxquantr30_done
- rx24_cur."!mark_push"(0, rx24_pos, $I31)
- rxquantr30_loop:
+ # rx rxquantr29 ** 0..*
+ set_addr $I10, rxquantr29_done
+ rx23_cur."!mark_push"(0, rx23_pos, $I10)
+ rxquantr29_loop:
# rx subrule "postfixish" subtype=capture negate=
- rx24_cur."!cursor_pos"(rx24_pos)
- $P10 = rx24_cur."postfixish"()
- unless $P10, rx24_fail
- rx24_cur."!mark_push"(0, -1, 0, $P10)
+ rx23_cur."!cursor_pos"(rx23_pos)
+ $P10 = rx23_cur."postfixish"()
+ unless $P10, rx23_fail
+ goto rxsubrule30_pass
+ rxsubrule30_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx23_fail
+ rxsubrule30_pass:
+ set_addr $I10, rxsubrule30_back
+ rx23_cur."!mark_push"(0, rx23_pos, $I10, $P10)
$P10."!cursor_names"("postfixish")
- rx24_pos = $P10."pos"()
- (rx24_rep) = rx24_cur."!mark_commit"($I31)
- rx24_cur."!mark_push"(rx24_rep, rx24_pos, $I31)
- goto rxquantr30_loop
- rxquantr30_done:
+ rx23_pos = $P10."pos"()
+ set_addr $I10, rxquantr29_done
+ (rx23_rep) = rx23_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr29_done
+ rx23_cur."!mark_push"(rx23_rep, rx23_pos, $I10)
+ goto rxquantr29_loop
+ rxquantr29_done:
.annotate 'line', 7
# rx pass
- rx24_cur."!cursor_pass"(rx24_pos, "termish")
- rx24_cur."!cursor_debug"("PASS ", "termish", " at pos=", rx24_pos)
- .return (rx24_cur)
- rx24_fail:
+ rx23_cur."!cursor_pass"(rx23_pos, "termish")
+ rx23_cur."!cursor_debug"("PASS ", "termish", " at pos=", rx23_pos)
+ .return (rx23_cur)
+ rx23_restart:
.annotate 'line', 5
- (rx24_rep, rx24_pos, $I10, $P10) = rx24_cur."!mark_fail"(0)
- lt rx24_pos, -1, rx24_done
- eq rx24_pos, -1, rx24_fail
+ rx23_cur."!cursor_debug"("NEXT ", "termish")
+ rx23_fail:
+ (rx23_rep, rx23_pos, $I10, $P10) = rx23_cur."!mark_fail"(0)
+ lt rx23_pos, -1, rx23_done
+ eq rx23_pos, -1, rx23_fail
jump $I10
- rx24_done:
- rx24_cur."!cursor_fail"()
- rx24_cur."!cursor_debug"("FAIL ", "termish")
- .return (rx24_cur)
+ rx23_done:
+ rx23_cur."!cursor_fail"()
+ rx23_cur."!cursor_debug"("FAIL ", "termish")
+ .return (rx23_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1278500527.62277") :method
+.sub "!PREFIX__termish" :subid("15_1279589159.66297") :method
.annotate 'line', 5
- new $P26, "ResizablePMCArray"
- push $P26, ""
- .return ($P26)
+ new $P25, "ResizablePMCArray"
+ push $P25, ""
+ .return ($P25)
.end
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1278500527.62277") :method
+.sub "term" :subid("16_1279589159.66297") :method
.annotate 'line', 13
- $P33 = self."!protoregex"("term")
- .return ($P33)
+ $P32 = self."!protoregex"("term")
+ .return ($P32)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1278500527.62277") :method
+.sub "!PREFIX__term" :subid("17_1279589159.66297") :method
.annotate 'line', 13
- $P35 = self."!PREFIX__!protoregex"("term")
- .return ($P35)
+ $P34 = self."!PREFIX__!protoregex"("term")
+ .return ($P34)
.end
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1278500527.62277") :method
+.sub "infix" :subid("18_1279589159.66297") :method
.annotate 'line', 14
- $P37 = self."!protoregex"("infix")
- .return ($P37)
+ $P36 = self."!protoregex"("infix")
+ .return ($P36)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1278500527.62277") :method
+.sub "!PREFIX__infix" :subid("19_1279589159.66297") :method
.annotate 'line', 14
- $P39 = self."!PREFIX__!protoregex"("infix")
- .return ($P39)
+ $P38 = self."!PREFIX__!protoregex"("infix")
+ .return ($P38)
.end
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1278500527.62277") :method
+.sub "prefix" :subid("20_1279589159.66297") :method
.annotate 'line', 15
- $P41 = self."!protoregex"("prefix")
- .return ($P41)
+ $P40 = self."!protoregex"("prefix")
+ .return ($P40)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1278500527.62277") :method
+.sub "!PREFIX__prefix" :subid("21_1279589159.66297") :method
.annotate 'line', 15
- $P43 = self."!PREFIX__!protoregex"("prefix")
- .return ($P43)
+ $P42 = self."!PREFIX__!protoregex"("prefix")
+ .return ($P42)
.end
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1278500527.62277") :method
+.sub "postfix" :subid("22_1279589159.66297") :method
.annotate 'line', 16
- $P45 = self."!protoregex"("postfix")
- .return ($P45)
+ $P44 = self."!protoregex"("postfix")
+ .return ($P44)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1278500527.62277") :method
+.sub "!PREFIX__postfix" :subid("23_1279589159.66297") :method
.annotate 'line', 16
- $P47 = self."!PREFIX__!protoregex"("postfix")
- .return ($P47)
+ $P46 = self."!PREFIX__!protoregex"("postfix")
+ .return ($P46)
.end
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1278500527.62277") :method
+.sub "circumfix" :subid("24_1279589159.66297") :method
.annotate 'line', 17
- $P49 = self."!protoregex"("circumfix")
- .return ($P49)
+ $P48 = self."!protoregex"("circumfix")
+ .return ($P48)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1278500527.62277") :method
+.sub "!PREFIX__circumfix" :subid("25_1279589159.66297") :method
.annotate 'line', 17
- $P51 = self."!PREFIX__!protoregex"("circumfix")
- .return ($P51)
+ $P50 = self."!PREFIX__!protoregex"("circumfix")
+ .return ($P50)
.end
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1278500527.62277") :method
+.sub "postcircumfix" :subid("26_1279589159.66297") :method
.annotate 'line', 18
- $P53 = self."!protoregex"("postcircumfix")
- .return ($P53)
+ $P52 = self."!protoregex"("postcircumfix")
+ .return ($P52)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1278500527.62277") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1279589159.66297") :method
.annotate 'line', 18
- $P55 = self."!PREFIX__!protoregex"("postcircumfix")
- .return ($P55)
+ $P54 = self."!PREFIX__!protoregex"("postcircumfix")
+ .return ($P54)
.end
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "term:sym<circumfix>" :subid("28_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .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 ", "term:sym<circumfix>")
- .lex unicode:"$\x{a2}", rx57_cur
+ .local string rx56_tgt
+ .local int rx56_pos
+ .local int rx56_off
+ .local int rx56_eos
+ .local int rx56_rep
+ .local pmc rx56_cur
+ (rx56_cur, rx56_pos, rx56_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx56_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 rx56_eos, rx56_tgt
+ gt rx56_pos, rx56_eos, rx56_done
+ set rx56_off, 0
+ lt rx56_pos, 2, rx56_start
+ sub rx56_off, rx56_pos, 1
+ substr rx56_tgt, rx56_tgt, rx56_off
+ rx56_start:
+ eq $I10, 1, rx56_restart
+ rx56_cur."!cursor_debug"("START ", "term:sym<circumfix>")
$I10 = self.'from'()
- ne $I10, -1, rxscan61_done
- goto rxscan61_scan
- rxscan61_loop:
- ($P10) = rx57_cur."from"()
+ ne $I10, -1, rxscan60_done
+ goto rxscan60_scan
+ rxscan60_loop:
+ ($P10) = rx56_cur."from"()
inc $P10
- set rx57_pos, $P10
- ge rx57_pos, rx57_eos, rxscan61_done
- rxscan61_scan:
- set_addr $I10, rxscan61_loop
- rx57_cur."!mark_push"(0, rx57_pos, $I10)
- rxscan61_done:
+ set rx56_pos, $P10
+ ge rx56_pos, rx56_eos, rxscan60_done
+ rxscan60_scan:
+ set_addr $I10, rxscan60_loop
+ rx56_cur."!mark_push"(0, rx56_pos, $I10)
+ rxscan60_done:
.annotate 'line', 20
# rx subrule "circumfix" subtype=capture negate=
- rx57_cur."!cursor_pos"(rx57_pos)
- $P10 = rx57_cur."circumfix"()
- unless $P10, rx57_fail
- rx57_cur."!mark_push"(0, -1, 0, $P10)
+ rx56_cur."!cursor_pos"(rx56_pos)
+ $P10 = rx56_cur."circumfix"()
+ unless $P10, rx56_fail
+ rx56_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("circumfix")
- rx57_pos = $P10."pos"()
+ rx56_pos = $P10."pos"()
# rx pass
- rx57_cur."!cursor_pass"(rx57_pos, "term:sym<circumfix>")
- rx57_cur."!cursor_debug"("PASS ", "term:sym<circumfix>", " at pos=", rx57_pos)
- .return (rx57_cur)
- rx57_fail:
+ rx56_cur."!cursor_pass"(rx56_pos, "term:sym<circumfix>")
+ rx56_cur."!cursor_debug"("PASS ", "term:sym<circumfix>", " at pos=", rx56_pos)
+ .return (rx56_cur)
+ rx56_restart:
.annotate 'line', 5
- (rx57_rep, rx57_pos, $I10, $P10) = rx57_cur."!mark_fail"(0)
- lt rx57_pos, -1, rx57_done
- eq rx57_pos, -1, rx57_fail
+ rx56_cur."!cursor_debug"("NEXT ", "term:sym<circumfix>")
+ rx56_fail:
+ (rx56_rep, rx56_pos, $I10, $P10) = rx56_cur."!mark_fail"(0)
+ lt rx56_pos, -1, rx56_done
+ eq rx56_pos, -1, rx56_fail
jump $I10
- rx57_done:
- rx57_cur."!cursor_fail"()
- rx57_cur."!cursor_debug"("FAIL ", "term:sym<circumfix>")
- .return (rx57_cur)
+ rx56_done:
+ rx56_cur."!cursor_fail"()
+ rx56_cur."!cursor_debug"("FAIL ", "term:sym<circumfix>")
+ .return (rx56_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1278500527.62277") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1279589159.66297") :method
.annotate 'line', 5
- $P59 = self."!PREFIX__!subrule"("circumfix", "")
- new $P60, "ResizablePMCArray"
- push $P60, $P59
- .return ($P60)
+ $P58 = self."!PREFIX__!subrule"("circumfix", "")
+ new $P59, "ResizablePMCArray"
+ push $P59, $P58
+ .return ($P59)
.end
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "infixish" :subid("30_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx63_tgt
- .local int rx63_pos
- .local int rx63_off
- .local int rx63_eos
- .local int rx63_rep
- .local pmc rx63_cur
- (rx63_cur, rx63_pos, rx63_tgt) = self."!cursor_start"()
- rx63_cur."!cursor_debug"("START ", "infixish")
- .lex unicode:"$\x{a2}", rx63_cur
+ .local string rx62_tgt
+ .local int rx62_pos
+ .local int rx62_off
+ .local int rx62_eos
+ .local int rx62_rep
+ .local pmc rx62_cur
+ (rx62_cur, rx62_pos, rx62_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx62_cur
.local pmc match
.lex "$/", match
- length rx63_eos, rx63_tgt
- gt rx63_pos, rx63_eos, rx63_done
- set rx63_off, 0
- lt rx63_pos, 2, rx63_start
- sub rx63_off, rx63_pos, 1
- substr rx63_tgt, rx63_tgt, rx63_off
- rx63_start:
+ length rx62_eos, rx62_tgt
+ gt rx62_pos, rx62_eos, rx62_done
+ set rx62_off, 0
+ lt rx62_pos, 2, rx62_start
+ sub rx62_off, rx62_pos, 1
+ substr rx62_tgt, rx62_tgt, rx62_off
+ rx62_start:
+ eq $I10, 1, rx62_restart
+ rx62_cur."!cursor_debug"("START ", "infixish")
$I10 = self.'from'()
- ne $I10, -1, rxscan67_done
- goto rxscan67_scan
- rxscan67_loop:
- ($P10) = rx63_cur."from"()
+ ne $I10, -1, rxscan66_done
+ goto rxscan66_scan
+ rxscan66_loop:
+ ($P10) = rx62_cur."from"()
inc $P10
- set rx63_pos, $P10
- ge rx63_pos, rx63_eos, rxscan67_done
- rxscan67_scan:
- set_addr $I10, rxscan67_loop
- rx63_cur."!mark_push"(0, rx63_pos, $I10)
- rxscan67_done:
+ set rx62_pos, $P10
+ ge rx62_pos, rx62_eos, rxscan66_done
+ rxscan66_scan:
+ set_addr $I10, rxscan66_loop
+ rx62_cur."!mark_push"(0, rx62_pos, $I10)
+ rxscan66_done:
.annotate 'line', 22
# rx subrule "infix" subtype=capture negate=
- rx63_cur."!cursor_pos"(rx63_pos)
- $P10 = rx63_cur."infix"()
- unless $P10, rx63_fail
- rx63_cur."!mark_push"(0, -1, 0, $P10)
+ rx62_cur."!cursor_pos"(rx62_pos)
+ $P10 = rx62_cur."infix"()
+ unless $P10, rx62_fail
+ rx62_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("OPER=infix")
- rx63_pos = $P10."pos"()
+ rx62_pos = $P10."pos"()
# rx pass
- rx63_cur."!cursor_pass"(rx63_pos, "infixish")
- rx63_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx63_pos)
- .return (rx63_cur)
- rx63_fail:
+ rx62_cur."!cursor_pass"(rx62_pos, "infixish")
+ rx62_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx62_pos)
+ .return (rx62_cur)
+ rx62_restart:
.annotate 'line', 5
- (rx63_rep, rx63_pos, $I10, $P10) = rx63_cur."!mark_fail"(0)
- lt rx63_pos, -1, rx63_done
- eq rx63_pos, -1, rx63_fail
+ rx62_cur."!cursor_debug"("NEXT ", "infixish")
+ rx62_fail:
+ (rx62_rep, rx62_pos, $I10, $P10) = rx62_cur."!mark_fail"(0)
+ lt rx62_pos, -1, rx62_done
+ eq rx62_pos, -1, rx62_fail
jump $I10
- rx63_done:
- rx63_cur."!cursor_fail"()
- rx63_cur."!cursor_debug"("FAIL ", "infixish")
- .return (rx63_cur)
+ rx62_done:
+ rx62_cur."!cursor_fail"()
+ rx62_cur."!cursor_debug"("FAIL ", "infixish")
+ .return (rx62_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1278500527.62277") :method
+.sub "!PREFIX__infixish" :subid("31_1279589159.66297") :method
.annotate 'line', 5
- $P65 = self."!PREFIX__!subrule"("infix", "")
- new $P66, "ResizablePMCArray"
- push $P66, $P65
- .return ($P66)
+ $P64 = self."!PREFIX__!subrule"("infix", "")
+ new $P65, "ResizablePMCArray"
+ push $P65, $P64
+ .return ($P65)
.end
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "prefixish" :subid("32_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx69_tgt
- .local int rx69_pos
- .local int rx69_off
- .local int rx69_eos
- .local int rx69_rep
- .local pmc rx69_cur
- (rx69_cur, rx69_pos, rx69_tgt) = self."!cursor_start"()
- rx69_cur."!cursor_debug"("START ", "prefixish")
- .lex unicode:"$\x{a2}", rx69_cur
+ .local string rx68_tgt
+ .local int rx68_pos
+ .local int rx68_off
+ .local int rx68_eos
+ .local int rx68_rep
+ .local pmc rx68_cur
+ (rx68_cur, rx68_pos, rx68_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx68_cur
.local pmc match
.lex "$/", match
- length rx69_eos, rx69_tgt
- gt rx69_pos, rx69_eos, rx69_done
- set rx69_off, 0
- lt rx69_pos, 2, rx69_start
- sub rx69_off, rx69_pos, 1
- substr rx69_tgt, rx69_tgt, rx69_off
- rx69_start:
+ length rx68_eos, rx68_tgt
+ gt rx68_pos, rx68_eos, rx68_done
+ set rx68_off, 0
+ lt rx68_pos, 2, rx68_start
+ sub rx68_off, rx68_pos, 1
+ substr rx68_tgt, rx68_tgt, rx68_off
+ rx68_start:
+ eq $I10, 1, rx68_restart
+ rx68_cur."!cursor_debug"("START ", "prefixish")
$I10 = self.'from'()
- ne $I10, -1, rxscan73_done
- goto rxscan73_scan
- rxscan73_loop:
- ($P10) = rx69_cur."from"()
+ ne $I10, -1, rxscan72_done
+ goto rxscan72_scan
+ rxscan72_loop:
+ ($P10) = rx68_cur."from"()
inc $P10
- set rx69_pos, $P10
- ge rx69_pos, rx69_eos, rxscan73_done
- rxscan73_scan:
- set_addr $I10, rxscan73_loop
- rx69_cur."!mark_push"(0, rx69_pos, $I10)
- rxscan73_done:
+ set rx68_pos, $P10
+ ge rx68_pos, rx68_eos, rxscan72_done
+ rxscan72_scan:
+ set_addr $I10, rxscan72_loop
+ rx68_cur."!mark_push"(0, rx68_pos, $I10)
+ rxscan72_done:
.annotate 'line', 23
# rx subrule "prefix" subtype=capture negate=
- rx69_cur."!cursor_pos"(rx69_pos)
- $P10 = rx69_cur."prefix"()
- unless $P10, rx69_fail
- rx69_cur."!mark_push"(0, -1, 0, $P10)
+ rx68_cur."!cursor_pos"(rx68_pos)
+ $P10 = rx68_cur."prefix"()
+ unless $P10, rx68_fail
+ rx68_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("OPER=prefix")
- rx69_pos = $P10."pos"()
+ rx68_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx69_cur."!cursor_pos"(rx69_pos)
- $P10 = rx69_cur."ws"()
- unless $P10, rx69_fail
- rx69_pos = $P10."pos"()
+ rx68_cur."!cursor_pos"(rx68_pos)
+ $P10 = rx68_cur."ws"()
+ unless $P10, rx68_fail
+ rx68_pos = $P10."pos"()
# rx pass
- rx69_cur."!cursor_pass"(rx69_pos, "prefixish")
- rx69_cur."!cursor_debug"("PASS ", "prefixish", " at pos=", rx69_pos)
- .return (rx69_cur)
- rx69_fail:
+ rx68_cur."!cursor_pass"(rx68_pos, "prefixish")
+ rx68_cur."!cursor_debug"("PASS ", "prefixish", " at pos=", rx68_pos)
+ .return (rx68_cur)
+ rx68_restart:
.annotate 'line', 5
- (rx69_rep, rx69_pos, $I10, $P10) = rx69_cur."!mark_fail"(0)
- lt rx69_pos, -1, rx69_done
- eq rx69_pos, -1, rx69_fail
+ rx68_cur."!cursor_debug"("NEXT ", "prefixish")
+ rx68_fail:
+ (rx68_rep, rx68_pos, $I10, $P10) = rx68_cur."!mark_fail"(0)
+ lt rx68_pos, -1, rx68_done
+ eq rx68_pos, -1, rx68_fail
jump $I10
- rx69_done:
- rx69_cur."!cursor_fail"()
- rx69_cur."!cursor_debug"("FAIL ", "prefixish")
- .return (rx69_cur)
+ rx68_done:
+ rx68_cur."!cursor_fail"()
+ rx68_cur."!cursor_debug"("FAIL ", "prefixish")
+ .return (rx68_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1278500527.62277") :method
+.sub "!PREFIX__prefixish" :subid("33_1279589159.66297") :method
.annotate 'line', 5
- $P71 = self."!PREFIX__!subrule"("prefix", "")
- new $P72, "ResizablePMCArray"
- push $P72, $P71
- .return ($P72)
+ $P70 = self."!PREFIX__!subrule"("prefix", "")
+ new $P71, "ResizablePMCArray"
+ push $P71, $P70
+ .return ($P71)
.end
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "postfixish" :subid("34_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx75_tgt
- .local int rx75_pos
- .local int rx75_off
- .local int rx75_eos
- .local int rx75_rep
- .local pmc rx75_cur
- (rx75_cur, rx75_pos, rx75_tgt) = self."!cursor_start"()
- rx75_cur."!cursor_debug"("START ", "postfixish")
- .lex unicode:"$\x{a2}", rx75_cur
+ .local string rx74_tgt
+ .local int rx74_pos
+ .local int rx74_off
+ .local int rx74_eos
+ .local int rx74_rep
+ .local pmc rx74_cur
+ (rx74_cur, rx74_pos, rx74_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx74_cur
.local pmc match
.lex "$/", match
- length rx75_eos, rx75_tgt
- gt rx75_pos, rx75_eos, rx75_done
- set rx75_off, 0
- lt rx75_pos, 2, rx75_start
- sub rx75_off, rx75_pos, 1
- substr rx75_tgt, rx75_tgt, rx75_off
- rx75_start:
+ length rx74_eos, rx74_tgt
+ gt rx74_pos, rx74_eos, rx74_done
+ set rx74_off, 0
+ lt rx74_pos, 2, rx74_start
+ sub rx74_off, rx74_pos, 1
+ substr rx74_tgt, rx74_tgt, rx74_off
+ rx74_start:
+ eq $I10, 1, rx74_restart
+ rx74_cur."!cursor_debug"("START ", "postfixish")
$I10 = self.'from'()
- ne $I10, -1, rxscan80_done
- goto rxscan80_scan
- rxscan80_loop:
- ($P10) = rx75_cur."from"()
+ ne $I10, -1, rxscan79_done
+ goto rxscan79_scan
+ rxscan79_loop:
+ ($P10) = rx74_cur."from"()
inc $P10
- set rx75_pos, $P10
- ge rx75_pos, rx75_eos, rxscan80_done
- rxscan80_scan:
- set_addr $I10, rxscan80_loop
- rx75_cur."!mark_push"(0, rx75_pos, $I10)
- rxscan80_done:
- alt81_0:
+ set rx74_pos, $P10
+ ge rx74_pos, rx74_eos, rxscan79_done
+ rxscan79_scan:
+ set_addr $I10, rxscan79_loop
+ rx74_cur."!mark_push"(0, rx74_pos, $I10)
+ rxscan79_done:
+ alt80_0:
.annotate 'line', 24
- set_addr $I10, alt81_1
- rx75_cur."!mark_push"(0, rx75_pos, $I10)
+ set_addr $I10, alt80_1
+ rx74_cur."!mark_push"(0, rx74_pos, $I10)
.annotate 'line', 25
# rx subrule "postfix" subtype=capture negate=
- rx75_cur."!cursor_pos"(rx75_pos)
- $P10 = rx75_cur."postfix"()
- unless $P10, rx75_fail
- rx75_cur."!mark_push"(0, -1, 0, $P10)
+ rx74_cur."!cursor_pos"(rx74_pos)
+ $P10 = rx74_cur."postfix"()
+ unless $P10, rx74_fail
+ rx74_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("OPER=postfix")
- rx75_pos = $P10."pos"()
- goto alt81_end
- alt81_1:
+ rx74_pos = $P10."pos"()
+ goto alt80_end
+ alt80_1:
.annotate 'line', 26
# rx subrule "postcircumfix" subtype=capture negate=
- rx75_cur."!cursor_pos"(rx75_pos)
- $P10 = rx75_cur."postcircumfix"()
- unless $P10, rx75_fail
- rx75_cur."!mark_push"(0, -1, 0, $P10)
+ rx74_cur."!cursor_pos"(rx74_pos)
+ $P10 = rx74_cur."postcircumfix"()
+ unless $P10, rx74_fail
+ rx74_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("OPER=postcircumfix")
- rx75_pos = $P10."pos"()
- alt81_end:
+ rx74_pos = $P10."pos"()
+ alt80_end:
.annotate 'line', 24
# rx pass
- rx75_cur."!cursor_pass"(rx75_pos, "postfixish")
- rx75_cur."!cursor_debug"("PASS ", "postfixish", " at pos=", rx75_pos)
- .return (rx75_cur)
- rx75_fail:
+ rx74_cur."!cursor_pass"(rx74_pos, "postfixish")
+ rx74_cur."!cursor_debug"("PASS ", "postfixish", " at pos=", rx74_pos)
+ .return (rx74_cur)
+ rx74_restart:
.annotate 'line', 5
- (rx75_rep, rx75_pos, $I10, $P10) = rx75_cur."!mark_fail"(0)
- lt rx75_pos, -1, rx75_done
- eq rx75_pos, -1, rx75_fail
+ rx74_cur."!cursor_debug"("NEXT ", "postfixish")
+ rx74_fail:
+ (rx74_rep, rx74_pos, $I10, $P10) = rx74_cur."!mark_fail"(0)
+ lt rx74_pos, -1, rx74_done
+ eq rx74_pos, -1, rx74_fail
jump $I10
- rx75_done:
- rx75_cur."!cursor_fail"()
- rx75_cur."!cursor_debug"("FAIL ", "postfixish")
- .return (rx75_cur)
+ rx74_done:
+ rx74_cur."!cursor_fail"()
+ rx74_cur."!cursor_debug"("FAIL ", "postfixish")
+ .return (rx74_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1278500527.62277") :method
+.sub "!PREFIX__postfixish" :subid("35_1279589159.66297") :method
.annotate 'line', 5
- $P77 = self."!PREFIX__!subrule"("postcircumfix", "")
- $P78 = self."!PREFIX__!subrule"("postfix", "")
- new $P79, "ResizablePMCArray"
- push $P79, $P77
- push $P79, $P78
- .return ($P79)
+ $P76 = self."!PREFIX__!subrule"("postcircumfix", "")
+ $P77 = self."!PREFIX__!subrule"("postfix", "")
+ new $P78, "ResizablePMCArray"
+ push $P78, $P76
+ push $P78, $P77
+ .return ($P78)
.end
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "nullterm" :subid("36_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx83_tgt
- .local int rx83_pos
- .local int rx83_off
- .local int rx83_eos
- .local int rx83_rep
- .local pmc rx83_cur
- (rx83_cur, rx83_pos, rx83_tgt) = self."!cursor_start"()
- rx83_cur."!cursor_debug"("START ", "nullterm")
- .lex unicode:"$\x{a2}", rx83_cur
+ .local string rx82_tgt
+ .local int rx82_pos
+ .local int rx82_off
+ .local int rx82_eos
+ .local int rx82_rep
+ .local pmc rx82_cur
+ (rx82_cur, rx82_pos, rx82_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx82_cur
.local pmc match
.lex "$/", match
- length rx83_eos, rx83_tgt
- gt rx83_pos, rx83_eos, rx83_done
- set rx83_off, 0
- lt rx83_pos, 2, rx83_start
- sub rx83_off, rx83_pos, 1
- substr rx83_tgt, rx83_tgt, rx83_off
- rx83_start:
+ length rx82_eos, rx82_tgt
+ gt rx82_pos, rx82_eos, rx82_done
+ set rx82_off, 0
+ lt rx82_pos, 2, rx82_start
+ sub rx82_off, rx82_pos, 1
+ substr rx82_tgt, rx82_tgt, rx82_off
+ rx82_start:
+ eq $I10, 1, rx82_restart
+ rx82_cur."!cursor_debug"("START ", "nullterm")
$I10 = self.'from'()
- ne $I10, -1, rxscan86_done
- goto rxscan86_scan
- rxscan86_loop:
- ($P10) = rx83_cur."from"()
+ ne $I10, -1, rxscan85_done
+ goto rxscan85_scan
+ rxscan85_loop:
+ ($P10) = rx82_cur."from"()
inc $P10
- set rx83_pos, $P10
- ge rx83_pos, rx83_eos, rxscan86_done
- rxscan86_scan:
- set_addr $I10, rxscan86_loop
- rx83_cur."!mark_push"(0, rx83_pos, $I10)
- rxscan86_done:
+ set rx82_pos, $P10
+ ge rx82_pos, rx82_eos, rxscan85_done
+ rxscan85_scan:
+ set_addr $I10, rxscan85_loop
+ rx82_cur."!mark_push"(0, rx82_pos, $I10)
+ rxscan85_done:
.annotate 'line', 29
# rx pass
- rx83_cur."!cursor_pass"(rx83_pos, "nullterm")
- rx83_cur."!cursor_debug"("PASS ", "nullterm", " at pos=", rx83_pos)
- .return (rx83_cur)
- rx83_fail:
+ rx82_cur."!cursor_pass"(rx82_pos, "nullterm")
+ rx82_cur."!cursor_debug"("PASS ", "nullterm", " at pos=", rx82_pos)
+ .return (rx82_cur)
+ rx82_restart:
.annotate 'line', 5
- (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
- lt rx83_pos, -1, rx83_done
- eq rx83_pos, -1, rx83_fail
+ rx82_cur."!cursor_debug"("NEXT ", "nullterm")
+ rx82_fail:
+ (rx82_rep, rx82_pos, $I10, $P10) = rx82_cur."!mark_fail"(0)
+ lt rx82_pos, -1, rx82_done
+ eq rx82_pos, -1, rx82_fail
jump $I10
- rx83_done:
- rx83_cur."!cursor_fail"()
- rx83_cur."!cursor_debug"("FAIL ", "nullterm")
- .return (rx83_cur)
+ rx82_done:
+ rx82_cur."!cursor_fail"()
+ rx82_cur."!cursor_debug"("FAIL ", "nullterm")
+ .return (rx82_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1278500527.62277") :method
+.sub "!PREFIX__nullterm" :subid("37_1279589159.66297") :method
.annotate 'line', 5
- new $P85, "ResizablePMCArray"
- push $P85, ""
- .return ($P85)
+ new $P84, "ResizablePMCArray"
+ push $P84, ""
+ .return ($P84)
.end
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "nullterm_alt" :subid("38_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 5
- .local string rx88_tgt
- .local int rx88_pos
- .local int rx88_off
- .local int rx88_eos
- .local int rx88_rep
- .local pmc rx88_cur
- (rx88_cur, rx88_pos, rx88_tgt) = self."!cursor_start"()
- rx88_cur."!cursor_debug"("START ", "nullterm_alt")
- .lex unicode:"$\x{a2}", rx88_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx87_cur
.local pmc match
.lex "$/", match
- length rx88_eos, rx88_tgt
- gt rx88_pos, rx88_eos, rx88_done
- set rx88_off, 0
- lt rx88_pos, 2, rx88_start
- sub rx88_off, rx88_pos, 1
- substr rx88_tgt, rx88_tgt, rx88_off
- rx88_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:
+ eq $I10, 1, rx87_restart
+ rx87_cur."!cursor_debug"("START ", "nullterm_alt")
$I10 = self.'from'()
- ne $I10, -1, rxscan92_done
- goto rxscan92_scan
- rxscan92_loop:
- ($P10) = rx88_cur."from"()
+ ne $I10, -1, rxscan91_done
+ goto rxscan91_scan
+ rxscan91_loop:
+ ($P10) = rx87_cur."from"()
inc $P10
- set rx88_pos, $P10
- ge rx88_pos, rx88_eos, rxscan92_done
- rxscan92_scan:
- set_addr $I10, rxscan92_loop
- rx88_cur."!mark_push"(0, rx88_pos, $I10)
- rxscan92_done:
+ set rx87_pos, $P10
+ ge rx87_pos, rx87_eos, rxscan91_done
+ rxscan91_scan:
+ set_addr $I10, rxscan91_loop
+ rx87_cur."!mark_push"(0, rx87_pos, $I10)
+ rxscan91_done:
.annotate 'line', 30
# rx subrule "nullterm" subtype=capture negate=
- rx88_cur."!cursor_pos"(rx88_pos)
- $P10 = rx88_cur."nullterm"()
- unless $P10, rx88_fail
- rx88_cur."!mark_push"(0, -1, 0, $P10)
+ rx87_cur."!cursor_pos"(rx87_pos)
+ $P10 = rx87_cur."nullterm"()
+ unless $P10, rx87_fail
+ rx87_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("term")
- rx88_pos = $P10."pos"()
+ rx87_pos = $P10."pos"()
# rx pass
- rx88_cur."!cursor_pass"(rx88_pos, "nullterm_alt")
- rx88_cur."!cursor_debug"("PASS ", "nullterm_alt", " at pos=", rx88_pos)
- .return (rx88_cur)
- rx88_fail:
+ rx87_cur."!cursor_pass"(rx87_pos, "nullterm_alt")
+ rx87_cur."!cursor_debug"("PASS ", "nullterm_alt", " at pos=", rx87_pos)
+ .return (rx87_cur)
+ rx87_restart:
.annotate 'line', 5
- (rx88_rep, rx88_pos, $I10, $P10) = rx88_cur."!mark_fail"(0)
- lt rx88_pos, -1, rx88_done
- eq rx88_pos, -1, rx88_fail
+ rx87_cur."!cursor_debug"("NEXT ", "nullterm_alt")
+ rx87_fail:
+ (rx87_rep, rx87_pos, $I10, $P10) = rx87_cur."!mark_fail"(0)
+ lt rx87_pos, -1, rx87_done
+ eq rx87_pos, -1, rx87_fail
jump $I10
- rx88_done:
- rx88_cur."!cursor_fail"()
- rx88_cur."!cursor_debug"("FAIL ", "nullterm_alt")
- .return (rx88_cur)
+ rx87_done:
+ rx87_cur."!cursor_fail"()
+ rx87_cur."!cursor_debug"("FAIL ", "nullterm_alt")
+ .return (rx87_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1278500527.62277") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1279589159.66297") :method
.annotate 'line', 5
- $P90 = self."!PREFIX__!subrule"("nullterm", "")
- new $P91, "ResizablePMCArray"
- push $P91, $P90
- .return ($P91)
+ $P89 = self."!PREFIX__!subrule"("nullterm", "")
+ new $P90, "ResizablePMCArray"
+ push $P90, $P89
+ .return ($P90)
.end
.namespace ["HLL";"Grammar"]
.include "except_types.pasm"
-.sub "nulltermish" :subid("40_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "nulltermish" :subid("40_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- new $P95, 'ExceptionHandler'
- set_addr $P95, control_94
- $P95."handle_types"(.CONTROL_RETURN)
- push_eh $P95
- .lex "self", self
- find_lex $P98, "self"
- $P99 = $P98."termish"()
- unless $P99, unless_97
- set $P96, $P99
- goto unless_97_end
- unless_97:
- find_lex $P100, "self"
- $P101 = $P100."nullterm_alt"()
- set $P96, $P101
- unless_97_end:
- .return ($P96)
- control_94:
- .local pmc exception
- .get_results (exception)
- getattribute $P102, exception, "payload"
- .return ($P102)
+ new $P94, 'ExceptionHandler'
+ set_addr $P94, control_93
+ $P94."handle_types"(.CONTROL_RETURN)
+ push_eh $P94
+ .lex "self", self
+ find_lex $P97, "self"
+ $P98 = $P97."termish"()
+ unless $P98, unless_96
+ set $P95, $P98
+ goto unless_96_end
+ unless_96:
+ find_lex $P99, "self"
+ $P100 = $P99."nullterm_alt"()
+ set $P95, $P100
+ unless_96_end:
+ .return ($P95)
+ control_93:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P101, exception, "payload"
+ .return ($P101)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1278500527.62277") :method :outer("11_1278500527.62277")
-.annotate 'line', 33
- .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 ", "quote_delimited")
- rx104_cur."!cursor_caparray"("quote_atom")
- .lex unicode:"$\x{a2}", rx104_cur
+.sub "quote_delimited" :subid("41_1279589159.66297") :method :outer("11_1279589159.66297")
+.annotate 'line', 33
+ .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, $I10) = self."!cursor_start"()
+ rx103_cur."!cursor_caparray"("quote_atom")
+ .lex unicode:"$\x{a2}", rx103_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx103_restart
+ rx103_cur."!cursor_debug"("START ", "quote_delimited")
$I10 = self.'from'()
- ne $I10, -1, rxscan108_done
- goto rxscan108_scan
- rxscan108_loop:
- ($P10) = rx104_cur."from"()
+ ne $I10, -1, rxscan107_done
+ goto rxscan107_scan
+ rxscan107_loop:
+ ($P10) = rx103_cur."from"()
inc $P10
- set rx104_pos, $P10
- ge rx104_pos, rx104_eos, rxscan108_done
- rxscan108_scan:
- set_addr $I10, rxscan108_loop
- rx104_cur."!mark_push"(0, rx104_pos, $I10)
- rxscan108_done:
+ 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', 37
# rx subrule "starter" subtype=capture negate=
- rx104_cur."!cursor_pos"(rx104_pos)
- $P10 = rx104_cur."starter"()
- unless $P10, rx104_fail
- rx104_cur."!mark_push"(0, -1, 0, $P10)
+ rx103_cur."!cursor_pos"(rx103_pos)
+ $P10 = rx103_cur."starter"()
+ unless $P10, rx103_fail
+ rx103_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("starter")
- rx104_pos = $P10."pos"()
- # rx rxquantr109 ** 0..*
- set_addr $I110, rxquantr109_done
- rx104_cur."!mark_push"(0, rx104_pos, $I110)
- rxquantr109_loop:
+ rx103_pos = $P10."pos"()
+ # rx rxquantr108 ** 0..*
+ set_addr $I10, rxquantr108_done
+ rx103_cur."!mark_push"(0, rx103_pos, $I10)
+ rxquantr108_loop:
# rx subrule "quote_atom" subtype=capture negate=
- rx104_cur."!cursor_pos"(rx104_pos)
- $P10 = rx104_cur."quote_atom"()
- unless $P10, rx104_fail
- rx104_cur."!mark_push"(0, -1, 0, $P10)
+ rx103_cur."!cursor_pos"(rx103_pos)
+ $P10 = rx103_cur."quote_atom"()
+ unless $P10, rx103_fail
+ goto rxsubrule109_pass
+ rxsubrule109_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx103_fail
+ rxsubrule109_pass:
+ set_addr $I10, rxsubrule109_back
+ rx103_cur."!mark_push"(0, rx103_pos, $I10, $P10)
$P10."!cursor_names"("quote_atom")
- rx104_pos = $P10."pos"()
- (rx104_rep) = rx104_cur."!mark_commit"($I110)
- rx104_cur."!mark_push"(rx104_rep, rx104_pos, $I110)
- goto rxquantr109_loop
- rxquantr109_done:
+ rx103_pos = $P10."pos"()
+ set_addr $I10, rxquantr108_done
+ (rx103_rep) = rx103_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr108_done
+ rx103_cur."!mark_push"(rx103_rep, rx103_pos, $I10)
+ goto rxquantr108_loop
+ rxquantr108_done:
# rx subrule "stopper" subtype=capture negate=
- rx104_cur."!cursor_pos"(rx104_pos)
- $P10 = rx104_cur."stopper"()
- unless $P10, rx104_fail
- rx104_cur."!mark_push"(0, -1, 0, $P10)
+ rx103_cur."!cursor_pos"(rx103_pos)
+ $P10 = rx103_cur."stopper"()
+ unless $P10, rx103_fail
+ rx103_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("stopper")
- rx104_pos = $P10."pos"()
+ rx103_pos = $P10."pos"()
.annotate 'line', 36
# rx pass
- rx104_cur."!cursor_pass"(rx104_pos, "quote_delimited")
- rx104_cur."!cursor_debug"("PASS ", "quote_delimited", " at pos=", rx104_pos)
- .return (rx104_cur)
- rx104_fail:
-.annotate 'line', 33
- (rx104_rep, rx104_pos, $I10, $P10) = rx104_cur."!mark_fail"(0)
- lt rx104_pos, -1, rx104_done
- eq rx104_pos, -1, rx104_fail
+ rx103_cur."!cursor_pass"(rx103_pos, "quote_delimited")
+ rx103_cur."!cursor_debug"("PASS ", "quote_delimited", " at pos=", rx103_pos)
+ .return (rx103_cur)
+ rx103_restart:
+.annotate 'line', 33
+ rx103_cur."!cursor_debug"("NEXT ", "quote_delimited")
+ rx103_fail:
+ (rx103_rep, rx103_pos, $I10, $P10) = rx103_cur."!mark_fail"(0)
+ lt rx103_pos, -1, rx103_done
+ eq rx103_pos, -1, rx103_fail
jump $I10
- rx104_done:
- rx104_cur."!cursor_fail"()
- rx104_cur."!cursor_debug"("FAIL ", "quote_delimited")
- .return (rx104_cur)
+ rx103_done:
+ rx103_cur."!cursor_fail"()
+ rx103_cur."!cursor_debug"("FAIL ", "quote_delimited")
+ .return (rx103_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1278500527.62277") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1279589159.66297") :method
.annotate 'line', 33
- $P106 = self."!PREFIX__!subrule"("starter", "")
- new $P107, "ResizablePMCArray"
- push $P107, $P106
- .return ($P107)
+ $P105 = self."!PREFIX__!subrule"("starter", "")
+ new $P106, "ResizablePMCArray"
+ push $P106, $P105
+ .return ($P106)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_atom" :subid("43_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "quote_atom")
- .lex unicode:"$\x{a2}", rx112_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx111_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 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:
+ eq $I10, 1, rx111_restart
+ rx111_cur."!cursor_debug"("START ", "quote_atom")
$I10 = self.'from'()
- ne $I10, -1, rxscan115_done
- goto rxscan115_scan
- rxscan115_loop:
- ($P10) = rx112_cur."from"()
+ ne $I10, -1, rxscan114_done
+ goto rxscan114_scan
+ rxscan114_loop:
+ ($P10) = rx111_cur."from"()
inc $P10
- set rx112_pos, $P10
- ge rx112_pos, rx112_eos, rxscan115_done
- rxscan115_scan:
- set_addr $I10, rxscan115_loop
- rx112_cur."!mark_push"(0, rx112_pos, $I10)
- rxscan115_done:
+ set rx111_pos, $P10
+ ge rx111_pos, rx111_eos, rxscan114_done
+ rxscan114_scan:
+ set_addr $I10, rxscan114_loop
+ rx111_cur."!mark_push"(0, rx111_pos, $I10)
+ rxscan114_done:
.annotate 'line', 41
# rx subrule "stopper" subtype=zerowidth negate=1
- rx112_cur."!cursor_pos"(rx112_pos)
- $P10 = rx112_cur."stopper"()
- if $P10, rx112_fail
- alt116_0:
+ rx111_cur."!cursor_pos"(rx111_pos)
+ $P10 = rx111_cur."stopper"()
+ if $P10, rx111_fail
+ alt115_0:
.annotate 'line', 42
- set_addr $I10, alt116_1
- rx112_cur."!mark_push"(0, rx112_pos, $I10)
+ set_addr $I10, alt115_1
+ rx111_cur."!mark_push"(0, rx111_pos, $I10)
.annotate 'line', 43
# rx subrule "quote_escape" subtype=capture negate=
- rx112_cur."!cursor_pos"(rx112_pos)
- $P10 = rx112_cur."quote_escape"()
- unless $P10, rx112_fail
- rx112_cur."!mark_push"(0, -1, 0, $P10)
+ rx111_cur."!cursor_pos"(rx111_pos)
+ $P10 = rx111_cur."quote_escape"()
+ unless $P10, rx111_fail
+ rx111_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("quote_escape")
- rx112_pos = $P10."pos"()
- goto alt116_end
- alt116_1:
+ rx111_pos = $P10."pos"()
+ goto alt115_end
+ alt115_1:
.annotate 'line', 44
- # rx rxquantr117 ** 1..*
- set_addr $I120, rxquantr117_done
- rx112_cur."!mark_push"(0, -1, $I120)
- rxquantr117_loop:
+ # rx rxquantr116 ** 1..*
+ set_addr $I10, rxquantr116_done
+ rx111_cur."!mark_push"(0, -1, $I10)
+ rxquantr116_loop:
# rx subrule "stopper" subtype=zerowidth negate=1
- rx112_cur."!cursor_pos"(rx112_pos)
- $P10 = rx112_cur."stopper"()
- if $P10, rx112_fail
+ rx111_cur."!cursor_pos"(rx111_pos)
+ $P10 = rx111_cur."stopper"()
+ if $P10, rx111_fail
# rx subrule "quote_escape" subtype=zerowidth negate=1
- rx112_cur."!cursor_pos"(rx112_pos)
- $P10 = rx112_cur."quote_escape"()
- if $P10, rx112_fail
+ rx111_cur."!cursor_pos"(rx111_pos)
+ $P10 = rx111_cur."quote_escape"()
+ if $P10, rx111_fail
# rx charclass .
- ge rx112_pos, rx112_eos, rx112_fail
- inc rx112_pos
- (rx112_rep) = rx112_cur."!mark_commit"($I120)
- rx112_cur."!mark_push"(rx112_rep, rx112_pos, $I120)
- goto rxquantr117_loop
- rxquantr117_done:
- alt116_end:
+ ge rx111_pos, rx111_eos, rx111_fail
+ inc rx111_pos
+ set_addr $I10, rxquantr116_done
+ (rx111_rep) = rx111_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr116_done
+ rx111_cur."!mark_push"(rx111_rep, rx111_pos, $I10)
+ goto rxquantr116_loop
+ rxquantr116_done:
+ alt115_end:
.annotate 'line', 40
# rx pass
- rx112_cur."!cursor_pass"(rx112_pos, "quote_atom")
- rx112_cur."!cursor_debug"("PASS ", "quote_atom", " at pos=", rx112_pos)
- .return (rx112_cur)
- rx112_fail:
-.annotate 'line', 33
- (rx112_rep, rx112_pos, $I10, $P10) = rx112_cur."!mark_fail"(0)
- lt rx112_pos, -1, rx112_done
- eq rx112_pos, -1, rx112_fail
+ rx111_cur."!cursor_pass"(rx111_pos, "quote_atom")
+ rx111_cur."!cursor_debug"("PASS ", "quote_atom", " at pos=", rx111_pos)
+ .return (rx111_cur)
+ rx111_restart:
+.annotate 'line', 33
+ rx111_cur."!cursor_debug"("NEXT ", "quote_atom")
+ rx111_fail:
+ (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
- rx112_done:
- rx112_cur."!cursor_fail"()
- rx112_cur."!cursor_debug"("FAIL ", "quote_atom")
- .return (rx112_cur)
+ rx111_done:
+ rx111_cur."!cursor_fail"()
+ rx111_cur."!cursor_debug"("FAIL ", "quote_atom")
+ .return (rx111_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1278500527.62277") :method
+.sub "!PREFIX__quote_atom" :subid("44_1279589159.66297") :method
.annotate 'line', 33
- new $P114, "ResizablePMCArray"
- push $P114, ""
- .return ($P114)
+ new $P113, "ResizablePMCArray"
+ push $P113, ""
+ .return ($P113)
.end
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "decint" :subid("45_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx122_tgt
- .local int rx122_pos
- .local int rx122_off
- .local int rx122_eos
- .local int rx122_rep
- .local pmc rx122_cur
- (rx122_cur, rx122_pos, rx122_tgt) = self."!cursor_start"()
- rx122_cur."!cursor_debug"("START ", "decint")
- .lex unicode:"$\x{a2}", rx122_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx120_cur
.local pmc match
.lex "$/", match
- length rx122_eos, rx122_tgt
- gt rx122_pos, rx122_eos, rx122_done
- set rx122_off, 0
- lt rx122_pos, 2, rx122_start
- sub rx122_off, rx122_pos, 1
- substr rx122_tgt, rx122_tgt, rx122_off
- rx122_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:
+ eq $I10, 1, rx120_restart
+ rx120_cur."!cursor_debug"("START ", "decint")
$I10 = self.'from'()
- ne $I10, -1, rxscan125_done
- goto rxscan125_scan
- rxscan125_loop:
- ($P10) = rx122_cur."from"()
+ ne $I10, -1, rxscan123_done
+ goto rxscan123_scan
+ rxscan123_loop:
+ ($P10) = rx120_cur."from"()
inc $P10
- set rx122_pos, $P10
- ge rx122_pos, rx122_eos, rxscan125_done
- rxscan125_scan:
- set_addr $I10, rxscan125_loop
- rx122_cur."!mark_push"(0, rx122_pos, $I10)
- rxscan125_done:
+ set rx120_pos, $P10
+ ge rx120_pos, rx120_eos, rxscan123_done
+ rxscan123_scan:
+ set_addr $I10, rxscan123_loop
+ rx120_cur."!mark_push"(0, rx120_pos, $I10)
+ rxscan123_done:
.annotate 'line', 48
- # rx rxquantr126 ** 1..*
- set_addr $I127, rxquantr126_done
- rx122_cur."!mark_push"(0, -1, $I127)
- rxquantr126_loop:
+ # rx rxquantr124 ** 1..*
+ set_addr $I10, rxquantr124_done
+ rx120_cur."!mark_push"(0, -1, $I10)
+ rxquantr124_loop:
# rx charclass_q d r 1..-1
- sub $I10, rx122_pos, rx122_off
- find_not_cclass $I11, 8, rx122_tgt, $I10, rx122_eos
+ sub $I10, rx120_pos, rx120_off
+ find_not_cclass $I11, 8, rx120_tgt, $I10, rx120_eos
add $I12, $I10, 1
- lt $I11, $I12, rx122_fail
- add rx122_pos, rx122_off, $I11
- (rx122_rep) = rx122_cur."!mark_commit"($I127)
- rx122_cur."!mark_push"(rx122_rep, rx122_pos, $I127)
+ lt $I11, $I12, rx120_fail
+ add rx120_pos, rx120_off, $I11
+ set_addr $I10, rxquantr124_done
+ (rx120_rep) = rx120_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr124_done
+ rx120_cur."!mark_push"(rx120_rep, rx120_pos, $I10)
# rx literal "_"
- add $I11, rx122_pos, 1
- gt $I11, rx122_eos, rx122_fail
- sub $I11, rx122_pos, rx122_off
- substr $S10, rx122_tgt, $I11, 1
- ne $S10, "_", rx122_fail
- add rx122_pos, 1
- goto rxquantr126_loop
- rxquantr126_done:
+ 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
+ goto rxquantr124_loop
+ rxquantr124_done:
# rx pass
- rx122_cur."!cursor_pass"(rx122_pos, "decint")
- rx122_cur."!cursor_debug"("PASS ", "decint", " at pos=", rx122_pos)
- .return (rx122_cur)
- rx122_fail:
-.annotate 'line', 33
- (rx122_rep, rx122_pos, $I10, $P10) = rx122_cur."!mark_fail"(0)
- lt rx122_pos, -1, rx122_done
- eq rx122_pos, -1, rx122_fail
+ rx120_cur."!cursor_pass"(rx120_pos, "decint")
+ rx120_cur."!cursor_debug"("PASS ", "decint", " at pos=", rx120_pos)
+ .return (rx120_cur)
+ rx120_restart:
+.annotate 'line', 33
+ rx120_cur."!cursor_debug"("NEXT ", "decint")
+ 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
- rx122_done:
- rx122_cur."!cursor_fail"()
- rx122_cur."!cursor_debug"("FAIL ", "decint")
- .return (rx122_cur)
+ rx120_done:
+ rx120_cur."!cursor_fail"()
+ rx120_cur."!cursor_debug"("FAIL ", "decint")
+ .return (rx120_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1278500527.62277") :method
+.sub "!PREFIX__decint" :subid("46_1279589159.66297") :method
.annotate 'line', 33
- new $P124, "ResizablePMCArray"
- push $P124, ""
- .return ($P124)
+ new $P122, "ResizablePMCArray"
+ push $P122, ""
+ .return ($P122)
.end
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "decints" :subid("47_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx129_tgt
- .local int rx129_pos
- .local int rx129_off
- .local int rx129_eos
- .local int rx129_rep
- .local pmc rx129_cur
- (rx129_cur, rx129_pos, rx129_tgt) = self."!cursor_start"()
- rx129_cur."!cursor_debug"("START ", "decints")
- rx129_cur."!cursor_caparray"("decint")
- .lex unicode:"$\x{a2}", rx129_cur
+ .local string rx126_tgt
+ .local int rx126_pos
+ .local int rx126_off
+ .local int rx126_eos
+ .local int rx126_rep
+ .local pmc rx126_cur
+ (rx126_cur, rx126_pos, rx126_tgt, $I10) = self."!cursor_start"()
+ rx126_cur."!cursor_caparray"("decint")
+ .lex unicode:"$\x{a2}", rx126_cur
.local pmc match
.lex "$/", match
- length rx129_eos, rx129_tgt
- gt rx129_pos, rx129_eos, rx129_done
- set rx129_off, 0
- lt rx129_pos, 2, rx129_start
- sub rx129_off, rx129_pos, 1
- substr rx129_tgt, rx129_tgt, rx129_off
- rx129_start:
+ length rx126_eos, rx126_tgt
+ gt rx126_pos, rx126_eos, rx126_done
+ set rx126_off, 0
+ lt rx126_pos, 2, rx126_start
+ sub rx126_off, rx126_pos, 1
+ substr rx126_tgt, rx126_tgt, rx126_off
+ rx126_start:
+ eq $I10, 1, rx126_restart
+ rx126_cur."!cursor_debug"("START ", "decints")
$I10 = self.'from'()
- ne $I10, -1, rxscan132_done
- goto rxscan132_scan
- rxscan132_loop:
- ($P10) = rx129_cur."from"()
+ ne $I10, -1, rxscan129_done
+ goto rxscan129_scan
+ rxscan129_loop:
+ ($P10) = rx126_cur."from"()
inc $P10
- set rx129_pos, $P10
- ge rx129_pos, rx129_eos, rxscan132_done
- rxscan132_scan:
- set_addr $I10, rxscan132_loop
- rx129_cur."!mark_push"(0, rx129_pos, $I10)
- rxscan132_done:
+ set rx126_pos, $P10
+ ge rx126_pos, rx126_eos, rxscan129_done
+ rxscan129_scan:
+ set_addr $I10, rxscan129_loop
+ rx126_cur."!mark_push"(0, rx126_pos, $I10)
+ rxscan129_done:
.annotate 'line', 49
- # rx rxquantr133 ** 1..*
- set_addr $I134, rxquantr133_done
- rx129_cur."!mark_push"(0, -1, $I134)
- rxquantr133_loop:
+ # rx rxquantr130 ** 1..*
+ set_addr $I10, rxquantr130_done
+ rx126_cur."!mark_push"(0, -1, $I10)
+ rxquantr130_loop:
# rx subrule "ws" subtype=method negate=
- rx129_cur."!cursor_pos"(rx129_pos)
- $P10 = rx129_cur."ws"()
- unless $P10, rx129_fail
- rx129_pos = $P10."pos"()
+ rx126_cur."!cursor_pos"(rx126_pos)
+ $P10 = rx126_cur."ws"()
+ unless $P10, rx126_fail
+ rx126_pos = $P10."pos"()
# rx subrule "decint" subtype=capture negate=
- rx129_cur."!cursor_pos"(rx129_pos)
- $P10 = rx129_cur."decint"()
- unless $P10, rx129_fail
- rx129_cur."!mark_push"(0, -1, 0, $P10)
+ rx126_cur."!cursor_pos"(rx126_pos)
+ $P10 = rx126_cur."decint"()
+ unless $P10, rx126_fail
+ rx126_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("decint")
- rx129_pos = $P10."pos"()
+ rx126_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx129_cur."!cursor_pos"(rx129_pos)
- $P10 = rx129_cur."ws"()
- unless $P10, rx129_fail
- rx129_pos = $P10."pos"()
- (rx129_rep) = rx129_cur."!mark_commit"($I134)
- rx129_cur."!mark_push"(rx129_rep, rx129_pos, $I134)
+ rx126_cur."!cursor_pos"(rx126_pos)
+ $P10 = rx126_cur."ws"()
+ unless $P10, rx126_fail
+ rx126_pos = $P10."pos"()
+ set_addr $I10, rxquantr130_done
+ (rx126_rep) = rx126_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr130_done
+ rx126_cur."!mark_push"(rx126_rep, rx126_pos, $I10)
# rx literal ","
- add $I11, rx129_pos, 1
- gt $I11, rx129_eos, rx129_fail
- sub $I11, rx129_pos, rx129_off
- substr $S10, rx129_tgt, $I11, 1
- ne $S10, ",", rx129_fail
- add rx129_pos, 1
- goto rxquantr133_loop
- rxquantr133_done:
+ add $I11, rx126_pos, 1
+ gt $I11, rx126_eos, rx126_fail
+ sub $I11, rx126_pos, rx126_off
+ substr $S10, rx126_tgt, $I11, 1
+ ne $S10, ",", rx126_fail
+ add rx126_pos, 1
+ goto rxquantr130_loop
+ rxquantr130_done:
# rx pass
- rx129_cur."!cursor_pass"(rx129_pos, "decints")
- rx129_cur."!cursor_debug"("PASS ", "decints", " at pos=", rx129_pos)
- .return (rx129_cur)
- rx129_fail:
-.annotate 'line', 33
- (rx129_rep, rx129_pos, $I10, $P10) = rx129_cur."!mark_fail"(0)
- lt rx129_pos, -1, rx129_done
- eq rx129_pos, -1, rx129_fail
+ rx126_cur."!cursor_pass"(rx126_pos, "decints")
+ rx126_cur."!cursor_debug"("PASS ", "decints", " at pos=", rx126_pos)
+ .return (rx126_cur)
+ rx126_restart:
+.annotate 'line', 33
+ rx126_cur."!cursor_debug"("NEXT ", "decints")
+ rx126_fail:
+ (rx126_rep, rx126_pos, $I10, $P10) = rx126_cur."!mark_fail"(0)
+ lt rx126_pos, -1, rx126_done
+ eq rx126_pos, -1, rx126_fail
jump $I10
- rx129_done:
- rx129_cur."!cursor_fail"()
- rx129_cur."!cursor_debug"("FAIL ", "decints")
- .return (rx129_cur)
+ rx126_done:
+ rx126_cur."!cursor_fail"()
+ rx126_cur."!cursor_debug"("FAIL ", "decints")
+ .return (rx126_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1278500527.62277") :method
+.sub "!PREFIX__decints" :subid("48_1279589159.66297") :method
.annotate 'line', 33
- new $P131, "ResizablePMCArray"
- push $P131, ""
- .return ($P131)
+ new $P128, "ResizablePMCArray"
+ push $P128, ""
+ .return ($P128)
.end
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "hexint" :subid("49_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx136_tgt
- .local int rx136_pos
- .local int rx136_off
- .local int rx136_eos
- .local int rx136_rep
- .local pmc rx136_cur
- (rx136_cur, rx136_pos, rx136_tgt) = self."!cursor_start"()
- rx136_cur."!cursor_debug"("START ", "hexint")
- .lex unicode:"$\x{a2}", rx136_cur
+ .local string rx132_tgt
+ .local int rx132_pos
+ .local int rx132_off
+ .local int rx132_eos
+ .local int rx132_rep
+ .local pmc rx132_cur
+ (rx132_cur, rx132_pos, rx132_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx132_cur
.local pmc match
.lex "$/", match
- length rx136_eos, rx136_tgt
- gt rx136_pos, rx136_eos, rx136_done
- set rx136_off, 0
- lt rx136_pos, 2, rx136_start
- sub rx136_off, rx136_pos, 1
- substr rx136_tgt, rx136_tgt, rx136_off
- rx136_start:
+ length rx132_eos, rx132_tgt
+ gt rx132_pos, rx132_eos, rx132_done
+ set rx132_off, 0
+ lt rx132_pos, 2, rx132_start
+ sub rx132_off, rx132_pos, 1
+ substr rx132_tgt, rx132_tgt, rx132_off
+ rx132_start:
+ eq $I10, 1, rx132_restart
+ rx132_cur."!cursor_debug"("START ", "hexint")
$I10 = self.'from'()
- ne $I10, -1, rxscan139_done
- goto rxscan139_scan
- rxscan139_loop:
- ($P10) = rx136_cur."from"()
+ ne $I10, -1, rxscan135_done
+ goto rxscan135_scan
+ rxscan135_loop:
+ ($P10) = rx132_cur."from"()
inc $P10
- set rx136_pos, $P10
- ge rx136_pos, rx136_eos, rxscan139_done
- rxscan139_scan:
- set_addr $I10, rxscan139_loop
- rx136_cur."!mark_push"(0, rx136_pos, $I10)
- rxscan139_done:
+ set rx132_pos, $P10
+ ge rx132_pos, rx132_eos, rxscan135_done
+ rxscan135_scan:
+ set_addr $I10, rxscan135_loop
+ rx132_cur."!mark_push"(0, rx132_pos, $I10)
+ rxscan135_done:
.annotate 'line', 51
- # rx rxquantr140 ** 1..*
- set_addr $I143, rxquantr140_done
- rx136_cur."!mark_push"(0, -1, $I143)
- rxquantr140_loop:
- # rx rxquantr141 ** 1..*
- set_addr $I142, rxquantr141_done
- rx136_cur."!mark_push"(0, -1, $I142)
- rxquantr141_loop:
+ # rx rxquantr136 ** 1..*
+ set_addr $I10, rxquantr136_done
+ rx132_cur."!mark_push"(0, -1, $I10)
+ rxquantr136_loop:
+ # rx rxquantr137 ** 1..*
+ set_addr $I10, rxquantr137_done
+ rx132_cur."!mark_push"(0, -1, $I10)
+ rxquantr137_loop:
# rx enumcharlist negate=0
- ge rx136_pos, rx136_eos, rx136_fail
- sub $I10, rx136_pos, rx136_off
- substr $S10, rx136_tgt, $I10, 1
+ ge rx132_pos, rx132_eos, rx132_fail
+ sub $I10, rx132_pos, rx132_off
+ substr $S10, rx132_tgt, $I10, 1
index $I11, "0123456789abcdefABCDEF", $S10
- lt $I11, 0, rx136_fail
- inc rx136_pos
- (rx136_rep) = rx136_cur."!mark_commit"($I142)
- rx136_cur."!mark_push"(rx136_rep, rx136_pos, $I142)
- goto rxquantr141_loop
- rxquantr141_done:
- (rx136_rep) = rx136_cur."!mark_commit"($I143)
- rx136_cur."!mark_push"(rx136_rep, rx136_pos, $I143)
+ lt $I11, 0, rx132_fail
+ inc rx132_pos
+ set_addr $I10, rxquantr137_done
+ (rx132_rep) = rx132_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr137_done
+ rx132_cur."!mark_push"(rx132_rep, rx132_pos, $I10)
+ goto rxquantr137_loop
+ rxquantr137_done:
+ set_addr $I10, rxquantr136_done
+ (rx132_rep) = rx132_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr136_done
+ rx132_cur."!mark_push"(rx132_rep, rx132_pos, $I10)
# rx literal "_"
- add $I11, rx136_pos, 1
- gt $I11, rx136_eos, rx136_fail
- sub $I11, rx136_pos, rx136_off
- substr $S10, rx136_tgt, $I11, 1
- ne $S10, "_", rx136_fail
- add rx136_pos, 1
- goto rxquantr140_loop
- rxquantr140_done:
+ add $I11, rx132_pos, 1
+ gt $I11, rx132_eos, rx132_fail
+ sub $I11, rx132_pos, rx132_off
+ substr $S10, rx132_tgt, $I11, 1
+ ne $S10, "_", rx132_fail
+ add rx132_pos, 1
+ goto rxquantr136_loop
+ rxquantr136_done:
+ # rx pass
+ rx132_cur."!cursor_pass"(rx132_pos, "hexint")
+ rx132_cur."!cursor_debug"("PASS ", "hexint", " at pos=", rx132_pos)
+ .return (rx132_cur)
+ rx132_restart:
+.annotate 'line', 33
+ rx132_cur."!cursor_debug"("NEXT ", "hexint")
+ rx132_fail:
+ (rx132_rep, rx132_pos, $I10, $P10) = rx132_cur."!mark_fail"(0)
+ lt rx132_pos, -1, rx132_done
+ eq rx132_pos, -1, rx132_fail
+ jump $I10
+ rx132_done:
+ rx132_cur."!cursor_fail"()
+ rx132_cur."!cursor_debug"("FAIL ", "hexint")
+ .return (rx132_cur)
+ .return ()
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "!PREFIX__hexint" :subid("50_1279589159.66297") :method
+.annotate 'line', 33
+ new $P134, "ResizablePMCArray"
+ push $P134, ""
+ .return ($P134)
+.end
+
+
+.namespace ["HLL";"Grammar"]
+.sub "hexints" :subid("51_1279589159.66297") :method :outer("11_1279589159.66297")
+.annotate 'line', 33
+ .local string rx139_tgt
+ .local int rx139_pos
+ .local int rx139_off
+ .local int rx139_eos
+ .local int rx139_rep
+ .local pmc rx139_cur
+ (rx139_cur, rx139_pos, rx139_tgt, $I10) = self."!cursor_start"()
+ rx139_cur."!cursor_caparray"("hexint")
+ .lex unicode:"$\x{a2}", rx139_cur
+ .local pmc match
+ .lex "$/", match
+ length rx139_eos, rx139_tgt
+ gt rx139_pos, rx139_eos, rx139_done
+ set rx139_off, 0
+ lt rx139_pos, 2, rx139_start
+ sub rx139_off, rx139_pos, 1
+ substr rx139_tgt, rx139_tgt, rx139_off
+ rx139_start:
+ eq $I10, 1, rx139_restart
+ rx139_cur."!cursor_debug"("START ", "hexints")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan142_done
+ goto rxscan142_scan
+ rxscan142_loop:
+ ($P10) = rx139_cur."from"()
+ inc $P10
+ set rx139_pos, $P10
+ ge rx139_pos, rx139_eos, rxscan142_done
+ rxscan142_scan:
+ set_addr $I10, rxscan142_loop
+ rx139_cur."!mark_push"(0, rx139_pos, $I10)
+ rxscan142_done:
+.annotate 'line', 52
+ # rx rxquantr143 ** 1..*
+ set_addr $I10, rxquantr143_done
+ rx139_cur."!mark_push"(0, -1, $I10)
+ rxquantr143_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx139_cur."!cursor_pos"(rx139_pos)
+ $P10 = rx139_cur."ws"()
+ unless $P10, rx139_fail
+ rx139_pos = $P10."pos"()
+ # rx subrule "hexint" subtype=capture negate=
+ rx139_cur."!cursor_pos"(rx139_pos)
+ $P10 = rx139_cur."hexint"()
+ unless $P10, rx139_fail
+ rx139_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("hexint")
+ rx139_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx139_cur."!cursor_pos"(rx139_pos)
+ $P10 = rx139_cur."ws"()
+ unless $P10, rx139_fail
+ rx139_pos = $P10."pos"()
+ set_addr $I10, rxquantr143_done
+ (rx139_rep) = rx139_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr143_done
+ rx139_cur."!mark_push"(rx139_rep, rx139_pos, $I10)
+ # rx literal ","
+ add $I11, rx139_pos, 1
+ gt $I11, rx139_eos, rx139_fail
+ sub $I11, rx139_pos, rx139_off
+ substr $S10, rx139_tgt, $I11, 1
+ ne $S10, ",", rx139_fail
+ add rx139_pos, 1
+ goto rxquantr143_loop
+ rxquantr143_done:
# rx pass
- rx136_cur."!cursor_pass"(rx136_pos, "hexint")
- rx136_cur."!cursor_debug"("PASS ", "hexint", " at pos=", rx136_pos)
- .return (rx136_cur)
- rx136_fail:
-.annotate 'line', 33
- (rx136_rep, rx136_pos, $I10, $P10) = rx136_cur."!mark_fail"(0)
- lt rx136_pos, -1, rx136_done
- eq rx136_pos, -1, rx136_fail
+ rx139_cur."!cursor_pass"(rx139_pos, "hexints")
+ rx139_cur."!cursor_debug"("PASS ", "hexints", " at pos=", rx139_pos)
+ .return (rx139_cur)
+ rx139_restart:
+.annotate 'line', 33
+ rx139_cur."!cursor_debug"("NEXT ", "hexints")
+ rx139_fail:
+ (rx139_rep, rx139_pos, $I10, $P10) = rx139_cur."!mark_fail"(0)
+ lt rx139_pos, -1, rx139_done
+ eq rx139_pos, -1, rx139_fail
jump $I10
- rx136_done:
- rx136_cur."!cursor_fail"()
- rx136_cur."!cursor_debug"("FAIL ", "hexint")
- .return (rx136_cur)
+ rx139_done:
+ rx139_cur."!cursor_fail"()
+ rx139_cur."!cursor_debug"("FAIL ", "hexints")
+ .return (rx139_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1278500527.62277") :method
+.sub "!PREFIX__hexints" :subid("52_1279589159.66297") :method
.annotate 'line', 33
- new $P138, "ResizablePMCArray"
- push $P138, ""
- .return ($P138)
+ new $P141, "ResizablePMCArray"
+ push $P141, ""
+ .return ($P141)
.end
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "octint" :subid("53_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
.local string rx145_tgt
.local int rx145_pos
@@ -2249,9 +2423,7 @@
.local int rx145_eos
.local int rx145_rep
.local pmc rx145_cur
- (rx145_cur, rx145_pos, rx145_tgt) = self."!cursor_start"()
- rx145_cur."!cursor_debug"("START ", "hexints")
- rx145_cur."!cursor_caparray"("hexint")
+ (rx145_cur, rx145_pos, rx145_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx145_cur
.local pmc match
.lex "$/", match
@@ -2262,6 +2434,8 @@
sub rx145_off, rx145_pos, 1
substr rx145_tgt, rx145_tgt, rx145_off
rx145_start:
+ eq $I10, 1, rx145_restart
+ rx145_cur."!cursor_debug"("START ", "octint")
$I10 = self.'from'()
ne $I10, -1, rxscan148_done
goto rxscan148_scan
@@ -2274,59 +2448,63 @@
set_addr $I10, rxscan148_loop
rx145_cur."!mark_push"(0, rx145_pos, $I10)
rxscan148_done:
-.annotate 'line', 52
+.annotate 'line', 54
# rx rxquantr149 ** 1..*
- set_addr $I150, rxquantr149_done
- rx145_cur."!mark_push"(0, -1, $I150)
+ set_addr $I10, rxquantr149_done
+ rx145_cur."!mark_push"(0, -1, $I10)
rxquantr149_loop:
- # rx subrule "ws" subtype=method negate=
- rx145_cur."!cursor_pos"(rx145_pos)
- $P10 = rx145_cur."ws"()
- unless $P10, rx145_fail
- rx145_pos = $P10."pos"()
- # rx subrule "hexint" subtype=capture negate=
- rx145_cur."!cursor_pos"(rx145_pos)
- $P10 = rx145_cur."hexint"()
- unless $P10, rx145_fail
- rx145_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("hexint")
- rx145_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx145_cur."!cursor_pos"(rx145_pos)
- $P10 = rx145_cur."ws"()
- unless $P10, rx145_fail
- rx145_pos = $P10."pos"()
- (rx145_rep) = rx145_cur."!mark_commit"($I150)
- rx145_cur."!mark_push"(rx145_rep, rx145_pos, $I150)
- # rx literal ","
+ # rx rxquantr150 ** 1..*
+ set_addr $I10, rxquantr150_done
+ rx145_cur."!mark_push"(0, -1, $I10)
+ rxquantr150_loop:
+ # rx enumcharlist negate=0
+ ge rx145_pos, rx145_eos, rx145_fail
+ sub $I10, rx145_pos, rx145_off
+ substr $S10, rx145_tgt, $I10, 1
+ index $I11, "01234567", $S10
+ lt $I11, 0, rx145_fail
+ inc rx145_pos
+ set_addr $I10, rxquantr150_done
+ (rx145_rep) = rx145_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr150_done
+ rx145_cur."!mark_push"(rx145_rep, rx145_pos, $I10)
+ goto rxquantr150_loop
+ rxquantr150_done:
+ set_addr $I10, rxquantr149_done
+ (rx145_rep) = rx145_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr149_done
+ rx145_cur."!mark_push"(rx145_rep, rx145_pos, $I10)
+ # rx literal "_"
add $I11, rx145_pos, 1
gt $I11, rx145_eos, rx145_fail
sub $I11, rx145_pos, rx145_off
substr $S10, rx145_tgt, $I11, 1
- ne $S10, ",", rx145_fail
+ ne $S10, "_", rx145_fail
add rx145_pos, 1
goto rxquantr149_loop
rxquantr149_done:
# rx pass
- rx145_cur."!cursor_pass"(rx145_pos, "hexints")
- rx145_cur."!cursor_debug"("PASS ", "hexints", " at pos=", rx145_pos)
+ rx145_cur."!cursor_pass"(rx145_pos, "octint")
+ rx145_cur."!cursor_debug"("PASS ", "octint", " at pos=", rx145_pos)
.return (rx145_cur)
- rx145_fail:
+ rx145_restart:
.annotate 'line', 33
+ rx145_cur."!cursor_debug"("NEXT ", "octint")
+ rx145_fail:
(rx145_rep, rx145_pos, $I10, $P10) = rx145_cur."!mark_fail"(0)
lt rx145_pos, -1, rx145_done
eq rx145_pos, -1, rx145_fail
jump $I10
rx145_done:
rx145_cur."!cursor_fail"()
- rx145_cur."!cursor_debug"("FAIL ", "hexints")
+ rx145_cur."!cursor_debug"("FAIL ", "octint")
.return (rx145_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1278500527.62277") :method
+.sub "!PREFIX__octint" :subid("54_1279589159.66297") :method
.annotate 'line', 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2335,7 +2513,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "octints" :subid("55_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
.local string rx152_tgt
.local int rx152_pos
@@ -2343,8 +2521,8 @@
.local int rx152_eos
.local int rx152_rep
.local pmc rx152_cur
- (rx152_cur, rx152_pos, rx152_tgt) = self."!cursor_start"()
- rx152_cur."!cursor_debug"("START ", "octint")
+ (rx152_cur, rx152_pos, rx152_tgt, $I10) = self."!cursor_start"()
+ rx152_cur."!cursor_caparray"("octint")
.lex unicode:"$\x{a2}", rx152_cur
.local pmc match
.lex "$/", match
@@ -2355,6 +2533,8 @@
sub rx152_off, rx152_pos, 1
substr rx152_tgt, rx152_tgt, rx152_off
rx152_start:
+ eq $I10, 1, rx152_restart
+ rx152_cur."!cursor_debug"("START ", "octints")
$I10 = self.'from'()
ne $I10, -1, rxscan155_done
goto rxscan155_scan
@@ -2367,57 +2547,63 @@
set_addr $I10, rxscan155_loop
rx152_cur."!mark_push"(0, rx152_pos, $I10)
rxscan155_done:
-.annotate 'line', 54
+.annotate 'line', 55
# rx rxquantr156 ** 1..*
- set_addr $I159, rxquantr156_done
- rx152_cur."!mark_push"(0, -1, $I159)
+ set_addr $I10, rxquantr156_done
+ rx152_cur."!mark_push"(0, -1, $I10)
rxquantr156_loop:
- # rx rxquantr157 ** 1..*
- set_addr $I158, rxquantr157_done
- rx152_cur."!mark_push"(0, -1, $I158)
- rxquantr157_loop:
- # rx enumcharlist negate=0
- ge rx152_pos, rx152_eos, rx152_fail
- sub $I10, rx152_pos, rx152_off
- substr $S10, rx152_tgt, $I10, 1
- index $I11, "01234567", $S10
- lt $I11, 0, rx152_fail
- inc rx152_pos
- (rx152_rep) = rx152_cur."!mark_commit"($I158)
- rx152_cur."!mark_push"(rx152_rep, rx152_pos, $I158)
- goto rxquantr157_loop
- rxquantr157_done:
- (rx152_rep) = rx152_cur."!mark_commit"($I159)
- rx152_cur."!mark_push"(rx152_rep, rx152_pos, $I159)
- # rx literal "_"
+ # rx subrule "ws" subtype=method negate=
+ rx152_cur."!cursor_pos"(rx152_pos)
+ $P10 = rx152_cur."ws"()
+ unless $P10, rx152_fail
+ rx152_pos = $P10."pos"()
+ # rx subrule "octint" subtype=capture negate=
+ rx152_cur."!cursor_pos"(rx152_pos)
+ $P10 = rx152_cur."octint"()
+ unless $P10, rx152_fail
+ rx152_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("octint")
+ rx152_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx152_cur."!cursor_pos"(rx152_pos)
+ $P10 = rx152_cur."ws"()
+ unless $P10, rx152_fail
+ rx152_pos = $P10."pos"()
+ set_addr $I10, rxquantr156_done
+ (rx152_rep) = rx152_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr156_done
+ rx152_cur."!mark_push"(rx152_rep, rx152_pos, $I10)
+ # rx literal ","
add $I11, rx152_pos, 1
gt $I11, rx152_eos, rx152_fail
sub $I11, rx152_pos, rx152_off
substr $S10, rx152_tgt, $I11, 1
- ne $S10, "_", rx152_fail
+ ne $S10, ",", rx152_fail
add rx152_pos, 1
goto rxquantr156_loop
rxquantr156_done:
# rx pass
- rx152_cur."!cursor_pass"(rx152_pos, "octint")
- rx152_cur."!cursor_debug"("PASS ", "octint", " at pos=", rx152_pos)
+ rx152_cur."!cursor_pass"(rx152_pos, "octints")
+ rx152_cur."!cursor_debug"("PASS ", "octints", " at pos=", rx152_pos)
.return (rx152_cur)
- rx152_fail:
+ rx152_restart:
.annotate 'line', 33
+ rx152_cur."!cursor_debug"("NEXT ", "octints")
+ rx152_fail:
(rx152_rep, rx152_pos, $I10, $P10) = rx152_cur."!mark_fail"(0)
lt rx152_pos, -1, rx152_done
eq rx152_pos, -1, rx152_fail
jump $I10
rx152_done:
rx152_cur."!cursor_fail"()
- rx152_cur."!cursor_debug"("FAIL ", "octint")
+ rx152_cur."!cursor_debug"("FAIL ", "octints")
.return (rx152_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1278500527.62277") :method
+.sub "!PREFIX__octints" :subid("56_1279589159.66297") :method
.annotate 'line', 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2426,2477 +2612,2477 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "binint" :subid("57_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx161_tgt
- .local int rx161_pos
- .local int rx161_off
- .local int rx161_eos
- .local int rx161_rep
- .local pmc rx161_cur
- (rx161_cur, rx161_pos, rx161_tgt) = self."!cursor_start"()
- rx161_cur."!cursor_debug"("START ", "octints")
- rx161_cur."!cursor_caparray"("octint")
- .lex unicode:"$\x{a2}", rx161_cur
+ .local string rx158_tgt
+ .local int rx158_pos
+ .local int rx158_off
+ .local int rx158_eos
+ .local int rx158_rep
+ .local pmc rx158_cur
+ (rx158_cur, rx158_pos, rx158_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx158_cur
.local pmc match
.lex "$/", match
- length rx161_eos, rx161_tgt
- gt rx161_pos, rx161_eos, rx161_done
- set rx161_off, 0
- lt rx161_pos, 2, rx161_start
- sub rx161_off, rx161_pos, 1
- substr rx161_tgt, rx161_tgt, rx161_off
- rx161_start:
+ length rx158_eos, rx158_tgt
+ gt rx158_pos, rx158_eos, rx158_done
+ set rx158_off, 0
+ lt rx158_pos, 2, rx158_start
+ sub rx158_off, rx158_pos, 1
+ substr rx158_tgt, rx158_tgt, rx158_off
+ rx158_start:
+ eq $I10, 1, rx158_restart
+ rx158_cur."!cursor_debug"("START ", "binint")
$I10 = self.'from'()
- ne $I10, -1, rxscan164_done
- goto rxscan164_scan
- rxscan164_loop:
- ($P10) = rx161_cur."from"()
+ ne $I10, -1, rxscan161_done
+ goto rxscan161_scan
+ rxscan161_loop:
+ ($P10) = rx158_cur."from"()
inc $P10
- set rx161_pos, $P10
- ge rx161_pos, rx161_eos, rxscan164_done
- rxscan164_scan:
- set_addr $I10, rxscan164_loop
- rx161_cur."!mark_push"(0, rx161_pos, $I10)
- rxscan164_done:
-.annotate 'line', 55
- # rx rxquantr165 ** 1..*
- set_addr $I166, rxquantr165_done
- rx161_cur."!mark_push"(0, -1, $I166)
- rxquantr165_loop:
- # rx subrule "ws" subtype=method negate=
- rx161_cur."!cursor_pos"(rx161_pos)
- $P10 = rx161_cur."ws"()
- unless $P10, rx161_fail
- rx161_pos = $P10."pos"()
- # rx subrule "octint" subtype=capture negate=
- rx161_cur."!cursor_pos"(rx161_pos)
- $P10 = rx161_cur."octint"()
- unless $P10, rx161_fail
- rx161_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("octint")
- rx161_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx161_cur."!cursor_pos"(rx161_pos)
- $P10 = rx161_cur."ws"()
- unless $P10, rx161_fail
- rx161_pos = $P10."pos"()
- (rx161_rep) = rx161_cur."!mark_commit"($I166)
- rx161_cur."!mark_push"(rx161_rep, rx161_pos, $I166)
- # rx literal ","
- add $I11, rx161_pos, 1
- gt $I11, rx161_eos, rx161_fail
- sub $I11, rx161_pos, rx161_off
- substr $S10, rx161_tgt, $I11, 1
- ne $S10, ",", rx161_fail
- add rx161_pos, 1
- goto rxquantr165_loop
- rxquantr165_done:
- # rx pass
- rx161_cur."!cursor_pass"(rx161_pos, "octints")
- rx161_cur."!cursor_debug"("PASS ", "octints", " at pos=", rx161_pos)
- .return (rx161_cur)
- rx161_fail:
-.annotate 'line', 33
- (rx161_rep, rx161_pos, $I10, $P10) = rx161_cur."!mark_fail"(0)
- lt rx161_pos, -1, rx161_done
- eq rx161_pos, -1, rx161_fail
- jump $I10
- rx161_done:
- rx161_cur."!cursor_fail"()
- rx161_cur."!cursor_debug"("FAIL ", "octints")
- .return (rx161_cur)
- .return ()
-.end
-
-
-.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1278500527.62277") :method
-.annotate 'line', 33
- new $P163, "ResizablePMCArray"
- push $P163, ""
- .return ($P163)
-.end
-
-
-.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1278500527.62277") :method :outer("11_1278500527.62277")
-.annotate 'line', 33
- .local string rx168_tgt
- .local int rx168_pos
- .local int rx168_off
- .local int rx168_eos
- .local int rx168_rep
- .local pmc rx168_cur
- (rx168_cur, rx168_pos, rx168_tgt) = self."!cursor_start"()
- rx168_cur."!cursor_debug"("START ", "binint")
- .lex unicode:"$\x{a2}", rx168_cur
- .local pmc match
- .lex "$/", match
- length rx168_eos, rx168_tgt
- gt rx168_pos, rx168_eos, rx168_done
- set rx168_off, 0
- lt rx168_pos, 2, rx168_start
- sub rx168_off, rx168_pos, 1
- substr rx168_tgt, rx168_tgt, rx168_off
- rx168_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan171_done
- goto rxscan171_scan
- rxscan171_loop:
- ($P10) = rx168_cur."from"()
- inc $P10
- set rx168_pos, $P10
- ge rx168_pos, rx168_eos, rxscan171_done
- rxscan171_scan:
- set_addr $I10, rxscan171_loop
- rx168_cur."!mark_push"(0, rx168_pos, $I10)
- rxscan171_done:
+ set rx158_pos, $P10
+ ge rx158_pos, rx158_eos, rxscan161_done
+ rxscan161_scan:
+ set_addr $I10, rxscan161_loop
+ rx158_cur."!mark_push"(0, rx158_pos, $I10)
+ rxscan161_done:
.annotate 'line', 57
- # rx rxquantr172 ** 1..*
- set_addr $I175, rxquantr172_done
- rx168_cur."!mark_push"(0, -1, $I175)
- rxquantr172_loop:
- # rx rxquantr173 ** 1..*
- set_addr $I174, rxquantr173_done
- rx168_cur."!mark_push"(0, -1, $I174)
- rxquantr173_loop:
+ # rx rxquantr162 ** 1..*
+ set_addr $I10, rxquantr162_done
+ rx158_cur."!mark_push"(0, -1, $I10)
+ rxquantr162_loop:
+ # rx rxquantr163 ** 1..*
+ set_addr $I10, rxquantr163_done
+ rx158_cur."!mark_push"(0, -1, $I10)
+ rxquantr163_loop:
# rx enumcharlist negate=0
- ge rx168_pos, rx168_eos, rx168_fail
- sub $I10, rx168_pos, rx168_off
- substr $S10, rx168_tgt, $I10, 1
+ ge rx158_pos, rx158_eos, rx158_fail
+ sub $I10, rx158_pos, rx158_off
+ substr $S10, rx158_tgt, $I10, 1
index $I11, "01", $S10
- lt $I11, 0, rx168_fail
- inc rx168_pos
- (rx168_rep) = rx168_cur."!mark_commit"($I174)
- rx168_cur."!mark_push"(rx168_rep, rx168_pos, $I174)
- goto rxquantr173_loop
- rxquantr173_done:
- (rx168_rep) = rx168_cur."!mark_commit"($I175)
- rx168_cur."!mark_push"(rx168_rep, rx168_pos, $I175)
+ lt $I11, 0, rx158_fail
+ inc rx158_pos
+ set_addr $I10, rxquantr163_done
+ (rx158_rep) = rx158_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr163_done
+ rx158_cur."!mark_push"(rx158_rep, rx158_pos, $I10)
+ goto rxquantr163_loop
+ rxquantr163_done:
+ set_addr $I10, rxquantr162_done
+ (rx158_rep) = rx158_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr162_done
+ rx158_cur."!mark_push"(rx158_rep, rx158_pos, $I10)
# rx literal "_"
- add $I11, rx168_pos, 1
- gt $I11, rx168_eos, rx168_fail
- sub $I11, rx168_pos, rx168_off
- substr $S10, rx168_tgt, $I11, 1
- ne $S10, "_", rx168_fail
- add rx168_pos, 1
- goto rxquantr172_loop
- rxquantr172_done:
+ add $I11, rx158_pos, 1
+ gt $I11, rx158_eos, rx158_fail
+ sub $I11, rx158_pos, rx158_off
+ substr $S10, rx158_tgt, $I11, 1
+ ne $S10, "_", rx158_fail
+ add rx158_pos, 1
+ goto rxquantr162_loop
+ rxquantr162_done:
# rx pass
- rx168_cur."!cursor_pass"(rx168_pos, "binint")
- rx168_cur."!cursor_debug"("PASS ", "binint", " at pos=", rx168_pos)
- .return (rx168_cur)
- rx168_fail:
-.annotate 'line', 33
- (rx168_rep, rx168_pos, $I10, $P10) = rx168_cur."!mark_fail"(0)
- lt rx168_pos, -1, rx168_done
- eq rx168_pos, -1, rx168_fail
+ rx158_cur."!cursor_pass"(rx158_pos, "binint")
+ rx158_cur."!cursor_debug"("PASS ", "binint", " at pos=", rx158_pos)
+ .return (rx158_cur)
+ rx158_restart:
+.annotate 'line', 33
+ rx158_cur."!cursor_debug"("NEXT ", "binint")
+ rx158_fail:
+ (rx158_rep, rx158_pos, $I10, $P10) = rx158_cur."!mark_fail"(0)
+ lt rx158_pos, -1, rx158_done
+ eq rx158_pos, -1, rx158_fail
jump $I10
- rx168_done:
- rx168_cur."!cursor_fail"()
- rx168_cur."!cursor_debug"("FAIL ", "binint")
- .return (rx168_cur)
+ rx158_done:
+ rx158_cur."!cursor_fail"()
+ rx158_cur."!cursor_debug"("FAIL ", "binint")
+ .return (rx158_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1278500527.62277") :method
+.sub "!PREFIX__binint" :subid("58_1279589159.66297") :method
.annotate 'line', 33
- new $P170, "ResizablePMCArray"
- push $P170, ""
- .return ($P170)
+ new $P160, "ResizablePMCArray"
+ push $P160, ""
+ .return ($P160)
.end
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "binints" :subid("59_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "binints")
- rx177_cur."!cursor_caparray"("binint")
- .lex unicode:"$\x{a2}", rx177_cur
+ .local string rx165_tgt
+ .local int rx165_pos
+ .local int rx165_off
+ .local int rx165_eos
+ .local int rx165_rep
+ .local pmc rx165_cur
+ (rx165_cur, rx165_pos, rx165_tgt, $I10) = self."!cursor_start"()
+ rx165_cur."!cursor_caparray"("binint")
+ .lex unicode:"$\x{a2}", rx165_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx165_eos, rx165_tgt
+ gt rx165_pos, rx165_eos, rx165_done
+ set rx165_off, 0
+ lt rx165_pos, 2, rx165_start
+ sub rx165_off, rx165_pos, 1
+ substr rx165_tgt, rx165_tgt, rx165_off
+ rx165_start:
+ eq $I10, 1, rx165_restart
+ rx165_cur."!cursor_debug"("START ", "binints")
$I10 = self.'from'()
- ne $I10, -1, rxscan180_done
- goto rxscan180_scan
- rxscan180_loop:
- ($P10) = rx177_cur."from"()
+ ne $I10, -1, rxscan168_done
+ goto rxscan168_scan
+ rxscan168_loop:
+ ($P10) = rx165_cur."from"()
inc $P10
- 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:
+ set rx165_pos, $P10
+ ge rx165_pos, rx165_eos, rxscan168_done
+ rxscan168_scan:
+ set_addr $I10, rxscan168_loop
+ rx165_cur."!mark_push"(0, rx165_pos, $I10)
+ rxscan168_done:
.annotate 'line', 58
- # rx rxquantr181 ** 1..*
- set_addr $I182, rxquantr181_done
- rx177_cur."!mark_push"(0, -1, $I182)
- rxquantr181_loop:
+ # rx rxquantr169 ** 1..*
+ set_addr $I10, rxquantr169_done
+ rx165_cur."!mark_push"(0, -1, $I10)
+ rxquantr169_loop:
# rx subrule "ws" subtype=method negate=
- rx177_cur."!cursor_pos"(rx177_pos)
- $P10 = rx177_cur."ws"()
- unless $P10, rx177_fail
- rx177_pos = $P10."pos"()
+ rx165_cur."!cursor_pos"(rx165_pos)
+ $P10 = rx165_cur."ws"()
+ unless $P10, rx165_fail
+ rx165_pos = $P10."pos"()
# rx subrule "binint" subtype=capture negate=
- rx177_cur."!cursor_pos"(rx177_pos)
- $P10 = rx177_cur."binint"()
- unless $P10, rx177_fail
- rx177_cur."!mark_push"(0, -1, 0, $P10)
+ rx165_cur."!cursor_pos"(rx165_pos)
+ $P10 = rx165_cur."binint"()
+ unless $P10, rx165_fail
+ rx165_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("binint")
- rx177_pos = $P10."pos"()
+ rx165_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx177_cur."!cursor_pos"(rx177_pos)
- $P10 = rx177_cur."ws"()
- unless $P10, rx177_fail
- rx177_pos = $P10."pos"()
- (rx177_rep) = rx177_cur."!mark_commit"($I182)
- rx177_cur."!mark_push"(rx177_rep, rx177_pos, $I182)
+ rx165_cur."!cursor_pos"(rx165_pos)
+ $P10 = rx165_cur."ws"()
+ unless $P10, rx165_fail
+ rx165_pos = $P10."pos"()
+ set_addr $I10, rxquantr169_done
+ (rx165_rep) = rx165_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr169_done
+ rx165_cur."!mark_push"(rx165_rep, rx165_pos, $I10)
# rx literal ","
- add $I11, rx177_pos, 1
- gt $I11, rx177_eos, rx177_fail
- sub $I11, rx177_pos, rx177_off
- substr $S10, rx177_tgt, $I11, 1
- ne $S10, ",", rx177_fail
- add rx177_pos, 1
- goto rxquantr181_loop
- rxquantr181_done:
+ add $I11, rx165_pos, 1
+ gt $I11, rx165_eos, rx165_fail
+ sub $I11, rx165_pos, rx165_off
+ substr $S10, rx165_tgt, $I11, 1
+ ne $S10, ",", rx165_fail
+ add rx165_pos, 1
+ goto rxquantr169_loop
+ rxquantr169_done:
# rx pass
- rx177_cur."!cursor_pass"(rx177_pos, "binints")
- rx177_cur."!cursor_debug"("PASS ", "binints", " at pos=", rx177_pos)
- .return (rx177_cur)
- rx177_fail:
-.annotate 'line', 33
- (rx177_rep, rx177_pos, $I10, $P10) = rx177_cur."!mark_fail"(0)
- lt rx177_pos, -1, rx177_done
- eq rx177_pos, -1, rx177_fail
+ rx165_cur."!cursor_pass"(rx165_pos, "binints")
+ rx165_cur."!cursor_debug"("PASS ", "binints", " at pos=", rx165_pos)
+ .return (rx165_cur)
+ rx165_restart:
+.annotate 'line', 33
+ rx165_cur."!cursor_debug"("NEXT ", "binints")
+ rx165_fail:
+ (rx165_rep, rx165_pos, $I10, $P10) = rx165_cur."!mark_fail"(0)
+ lt rx165_pos, -1, rx165_done
+ eq rx165_pos, -1, rx165_fail
jump $I10
- rx177_done:
- rx177_cur."!cursor_fail"()
- rx177_cur."!cursor_debug"("FAIL ", "binints")
- .return (rx177_cur)
+ rx165_done:
+ rx165_cur."!cursor_fail"()
+ rx165_cur."!cursor_debug"("FAIL ", "binints")
+ .return (rx165_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1278500527.62277") :method
+.sub "!PREFIX__binints" :subid("60_1279589159.66297") :method
.annotate 'line', 33
- new $P179, "ResizablePMCArray"
- push $P179, ""
- .return ($P179)
+ new $P167, "ResizablePMCArray"
+ push $P167, ""
+ .return ($P167)
.end
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "integer" :subid("61_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx184_tgt
- .local int rx184_pos
- .local int rx184_off
- .local int rx184_eos
- .local int rx184_rep
- .local pmc rx184_cur
- (rx184_cur, rx184_pos, rx184_tgt) = self."!cursor_start"()
- rx184_cur."!cursor_debug"("START ", "integer")
- .lex unicode:"$\x{a2}", rx184_cur
+ .local string rx171_tgt
+ .local int rx171_pos
+ .local int rx171_off
+ .local int rx171_eos
+ .local int rx171_rep
+ .local pmc rx171_cur
+ (rx171_cur, rx171_pos, rx171_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx171_cur
.local pmc match
.lex "$/", match
- length rx184_eos, rx184_tgt
- gt rx184_pos, rx184_eos, rx184_done
- set rx184_off, 0
- lt rx184_pos, 2, rx184_start
- sub rx184_off, rx184_pos, 1
- substr rx184_tgt, rx184_tgt, rx184_off
- rx184_start:
+ length rx171_eos, rx171_tgt
+ gt rx171_pos, rx171_eos, rx171_done
+ set rx171_off, 0
+ lt rx171_pos, 2, rx171_start
+ sub rx171_off, rx171_pos, 1
+ substr rx171_tgt, rx171_tgt, rx171_off
+ rx171_start:
+ eq $I10, 1, rx171_restart
+ rx171_cur."!cursor_debug"("START ", "integer")
$I10 = self.'from'()
- ne $I10, -1, rxscan192_done
- goto rxscan192_scan
- rxscan192_loop:
- ($P10) = rx184_cur."from"()
+ ne $I10, -1, rxscan179_done
+ goto rxscan179_scan
+ rxscan179_loop:
+ ($P10) = rx171_cur."from"()
inc $P10
- set rx184_pos, $P10
- ge rx184_pos, rx184_eos, rxscan192_done
- rxscan192_scan:
- set_addr $I10, rxscan192_loop
- rx184_cur."!mark_push"(0, rx184_pos, $I10)
- rxscan192_done:
- alt193_0:
+ set rx171_pos, $P10
+ ge rx171_pos, rx171_eos, rxscan179_done
+ rxscan179_scan:
+ set_addr $I10, rxscan179_loop
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
+ rxscan179_done:
+ alt180_0:
.annotate 'line', 61
- set_addr $I10, alt193_1
- rx184_cur."!mark_push"(0, rx184_pos, $I10)
+ set_addr $I10, alt180_1
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
.annotate 'line', 62
# rx literal "0"
- add $I11, rx184_pos, 1
- gt $I11, rx184_eos, rx184_fail
- sub $I11, rx184_pos, rx184_off
- substr $S10, rx184_tgt, $I11, 1
- ne $S10, "0", rx184_fail
- add rx184_pos, 1
- alt194_0:
- set_addr $I10, alt194_1
- rx184_cur."!mark_push"(0, rx184_pos, $I10)
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, "0", rx171_fail
+ add rx171_pos, 1
+ alt181_0:
+ set_addr $I10, alt181_1
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
# rx literal "b"
- add $I11, rx184_pos, 1
- gt $I11, rx184_eos, rx184_fail
- sub $I11, rx184_pos, rx184_off
- substr $S10, rx184_tgt, $I11, 1
- ne $S10, "b", rx184_fail
- add rx184_pos, 1
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, "b", rx171_fail
+ add rx171_pos, 1
# rx subrule "binint" subtype=capture negate=
- rx184_cur."!cursor_pos"(rx184_pos)
- $P10 = rx184_cur."binint"()
- unless $P10, rx184_fail
- rx184_cur."!mark_push"(0, -1, 0, $P10)
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."binint"()
+ unless $P10, rx171_fail
+ rx171_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("VALUE=binint")
- rx184_pos = $P10."pos"()
- goto alt194_end
- alt194_1:
- set_addr $I10, alt194_2
- rx184_cur."!mark_push"(0, rx184_pos, $I10)
+ rx171_pos = $P10."pos"()
+ goto alt181_end
+ alt181_1:
+ set_addr $I10, alt181_2
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
.annotate 'line', 63
# rx literal "o"
- add $I11, rx184_pos, 1
- gt $I11, rx184_eos, rx184_fail
- sub $I11, rx184_pos, rx184_off
- substr $S10, rx184_tgt, $I11, 1
- ne $S10, "o", rx184_fail
- add rx184_pos, 1
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, "o", rx171_fail
+ add rx171_pos, 1
# rx subrule "octint" subtype=capture negate=
- rx184_cur."!cursor_pos"(rx184_pos)
- $P10 = rx184_cur."octint"()
- unless $P10, rx184_fail
- rx184_cur."!mark_push"(0, -1, 0, $P10)
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."octint"()
+ unless $P10, rx171_fail
+ rx171_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("VALUE=octint")
- rx184_pos = $P10."pos"()
- goto alt194_end
- alt194_2:
- set_addr $I10, alt194_3
- rx184_cur."!mark_push"(0, rx184_pos, $I10)
+ rx171_pos = $P10."pos"()
+ goto alt181_end
+ alt181_2:
+ set_addr $I10, alt181_3
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
.annotate 'line', 64
# rx literal "x"
- add $I11, rx184_pos, 1
- gt $I11, rx184_eos, rx184_fail
- sub $I11, rx184_pos, rx184_off
- substr $S10, rx184_tgt, $I11, 1
- ne $S10, "x", rx184_fail
- add rx184_pos, 1
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, "x", rx171_fail
+ add rx171_pos, 1
# rx subrule "hexint" subtype=capture negate=
- rx184_cur."!cursor_pos"(rx184_pos)
- $P10 = rx184_cur."hexint"()
- unless $P10, rx184_fail
- rx184_cur."!mark_push"(0, -1, 0, $P10)
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."hexint"()
+ unless $P10, rx171_fail
+ rx171_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("VALUE=hexint")
- rx184_pos = $P10."pos"()
- goto alt194_end
- alt194_3:
+ rx171_pos = $P10."pos"()
+ goto alt181_end
+ alt181_3:
.annotate 'line', 65
# rx literal "d"
- add $I11, rx184_pos, 1
- gt $I11, rx184_eos, rx184_fail
- sub $I11, rx184_pos, rx184_off
- substr $S10, rx184_tgt, $I11, 1
- ne $S10, "d", rx184_fail
- add rx184_pos, 1
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, "d", rx171_fail
+ add rx171_pos, 1
# rx subrule "decint" subtype=capture negate=
- rx184_cur."!cursor_pos"(rx184_pos)
- $P10 = rx184_cur."decint"()
- unless $P10, rx184_fail
- rx184_cur."!mark_push"(0, -1, 0, $P10)
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."decint"()
+ unless $P10, rx171_fail
+ rx171_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("VALUE=decint")
- rx184_pos = $P10."pos"()
- alt194_end:
+ rx171_pos = $P10."pos"()
+ alt181_end:
.annotate 'line', 62
- goto alt193_end
- alt193_1:
+ goto alt180_end
+ alt180_1:
.annotate 'line', 67
# rx subrule "decint" subtype=capture negate=
- rx184_cur."!cursor_pos"(rx184_pos)
- $P10 = rx184_cur."decint"()
- unless $P10, rx184_fail
- rx184_cur."!mark_push"(0, -1, 0, $P10)
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."decint"()
+ unless $P10, rx171_fail
+ rx171_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("VALUE=decint")
- rx184_pos = $P10."pos"()
- alt193_end:
+ rx171_pos = $P10."pos"()
+ alt180_end:
.annotate 'line', 60
# rx pass
- rx184_cur."!cursor_pass"(rx184_pos, "integer")
- rx184_cur."!cursor_debug"("PASS ", "integer", " at pos=", rx184_pos)
- .return (rx184_cur)
- rx184_fail:
-.annotate 'line', 33
- (rx184_rep, rx184_pos, $I10, $P10) = rx184_cur."!mark_fail"(0)
- lt rx184_pos, -1, rx184_done
- eq rx184_pos, -1, rx184_fail
+ rx171_cur."!cursor_pass"(rx171_pos, "integer")
+ rx171_cur."!cursor_debug"("PASS ", "integer", " at pos=", rx171_pos)
+ .return (rx171_cur)
+ rx171_restart:
+.annotate 'line', 33
+ rx171_cur."!cursor_debug"("NEXT ", "integer")
+ rx171_fail:
+ (rx171_rep, rx171_pos, $I10, $P10) = rx171_cur."!mark_fail"(0)
+ lt rx171_pos, -1, rx171_done
+ eq rx171_pos, -1, rx171_fail
jump $I10
- rx184_done:
- rx184_cur."!cursor_fail"()
- rx184_cur."!cursor_debug"("FAIL ", "integer")
- .return (rx184_cur)
+ rx171_done:
+ rx171_cur."!cursor_fail"()
+ rx171_cur."!cursor_debug"("FAIL ", "integer")
+ .return (rx171_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1278500527.62277") :method
+.sub "!PREFIX__integer" :subid("62_1279589159.66297") :method
.annotate 'line', 33
- $P186 = self."!PREFIX__!subrule"("decint", "")
- $P187 = self."!PREFIX__!subrule"("decint", "0d")
- $P188 = self."!PREFIX__!subrule"("hexint", "0x")
- $P189 = self."!PREFIX__!subrule"("octint", "0o")
- $P190 = self."!PREFIX__!subrule"("binint", "0b")
- new $P191, "ResizablePMCArray"
- push $P191, $P186
- push $P191, $P187
- push $P191, $P188
- push $P191, $P189
- push $P191, $P190
- .return ($P191)
+ $P173 = self."!PREFIX__!subrule"("decint", "")
+ $P174 = self."!PREFIX__!subrule"("decint", "0d")
+ $P175 = self."!PREFIX__!subrule"("hexint", "0x")
+ $P176 = self."!PREFIX__!subrule"("octint", "0o")
+ $P177 = self."!PREFIX__!subrule"("binint", "0b")
+ new $P178, "ResizablePMCArray"
+ push $P178, $P173
+ push $P178, $P174
+ push $P178, $P175
+ push $P178, $P176
+ push $P178, $P177
+ .return ($P178)
.end
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "dec_number" :subid("63_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "dec_number")
- rx196_cur."!cursor_caparray"("escale")
- .lex unicode:"$\x{a2}", rx196_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, $I10) = self."!cursor_start"()
+ rx183_cur."!cursor_caparray"("escale")
+ .lex unicode:"$\x{a2}", rx183_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx183_restart
+ rx183_cur."!cursor_debug"("START ", "dec_number")
$I10 = self.'from'()
- ne $I10, -1, rxscan199_done
- goto rxscan199_scan
- rxscan199_loop:
- ($P10) = rx196_cur."from"()
+ ne $I10, -1, rxscan186_done
+ goto rxscan186_scan
+ rxscan186_loop:
+ ($P10) = rx183_cur."from"()
inc $P10
- set rx196_pos, $P10
- ge rx196_pos, rx196_eos, rxscan199_done
- rxscan199_scan:
- set_addr $I10, rxscan199_loop
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
- rxscan199_done:
- alt200_0:
+ set rx183_pos, $P10
+ ge rx183_pos, rx183_eos, rxscan186_done
+ rxscan186_scan:
+ set_addr $I10, rxscan186_loop
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
+ rxscan186_done:
+ alt187_0:
.annotate 'line', 71
- set_addr $I10, alt200_1
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ set_addr $I10, alt187_1
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
.annotate 'line', 72
# rx subcapture "coeff"
- set_addr $I10, rxcap_201_fail
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ set_addr $I10, rxcap_188_fail
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
# rx literal "."
- add $I11, rx196_pos, 1
- gt $I11, rx196_eos, rx196_fail
- sub $I11, rx196_pos, rx196_off
- substr $S10, rx196_tgt, $I11, 1
- ne $S10, ".", rx196_fail
- add rx196_pos, 1
+ add $I11, rx183_pos, 1
+ gt $I11, rx183_eos, rx183_fail
+ sub $I11, rx183_pos, rx183_off
+ substr $S10, rx183_tgt, $I11, 1
+ ne $S10, ".", rx183_fail
+ add rx183_pos, 1
# rx charclass_q d r 1..-1
- sub $I10, rx196_pos, rx196_off
- find_not_cclass $I11, 8, rx196_tgt, $I10, rx196_eos
+ sub $I10, rx183_pos, rx183_off
+ find_not_cclass $I11, 8, rx183_tgt, $I10, rx183_eos
add $I12, $I10, 1
- lt $I11, $I12, rx196_fail
- add rx196_pos, rx196_off, $I11
- set_addr $I10, rxcap_201_fail
- ($I12, $I11) = rx196_cur."!mark_peek"($I10)
- rx196_cur."!cursor_pos"($I11)
- ($P10) = rx196_cur."!cursor_start"()
- $P10."!cursor_pass"(rx196_pos, "")
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ lt $I11, $I12, rx183_fail
+ add rx183_pos, rx183_off, $I11
+ set_addr $I10, rxcap_188_fail
+ ($I12, $I11) = rx183_cur."!mark_peek"($I10)
+ rx183_cur."!cursor_pos"($I11)
+ ($P10) = rx183_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx183_pos, "")
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("coeff")
- goto rxcap_201_done
- rxcap_201_fail:
- goto rx196_fail
- rxcap_201_done:
- # rx rxquantr202 ** 0..1
- set_addr $I203, rxquantr202_done
- rx196_cur."!mark_push"(0, rx196_pos, $I203)
- rxquantr202_loop:
+ goto rxcap_188_done
+ rxcap_188_fail:
+ goto rx183_fail
+ rxcap_188_done:
+ # rx rxquantr189 ** 0..1
+ set_addr $I10, rxquantr189_done
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
+ rxquantr189_loop:
# rx subrule "escale" subtype=capture negate=
- rx196_cur."!cursor_pos"(rx196_pos)
- $P10 = rx196_cur."escale"()
- unless $P10, rx196_fail
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."escale"()
+ unless $P10, rx183_fail
+ goto rxsubrule190_pass
+ rxsubrule190_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx183_fail
+ rxsubrule190_pass:
+ set_addr $I10, rxsubrule190_back
+ rx183_cur."!mark_push"(0, rx183_pos, $I10, $P10)
$P10."!cursor_names"("escale")
- rx196_pos = $P10."pos"()
- (rx196_rep) = rx196_cur."!mark_commit"($I203)
- rxquantr202_done:
- goto alt200_end
- alt200_1:
- set_addr $I10, alt200_2
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ rx183_pos = $P10."pos"()
+ set_addr $I10, rxquantr189_done
+ (rx183_rep) = rx183_cur."!mark_commit"($I10)
+ rxquantr189_done:
+ goto alt187_end
+ alt187_1:
+ set_addr $I10, alt187_2
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
.annotate 'line', 73
# rx subcapture "coeff"
- set_addr $I10, rxcap_204_fail
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ set_addr $I10, rxcap_191_fail
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
# rx charclass_q d r 1..-1
- sub $I10, rx196_pos, rx196_off
- find_not_cclass $I11, 8, rx196_tgt, $I10, rx196_eos
+ sub $I10, rx183_pos, rx183_off
+ find_not_cclass $I11, 8, rx183_tgt, $I10, rx183_eos
add $I12, $I10, 1
- lt $I11, $I12, rx196_fail
- add rx196_pos, rx196_off, $I11
+ lt $I11, $I12, rx183_fail
+ add rx183_pos, rx183_off, $I11
# rx literal "."
- add $I11, rx196_pos, 1
- gt $I11, rx196_eos, rx196_fail
- sub $I11, rx196_pos, rx196_off
- substr $S10, rx196_tgt, $I11, 1
- ne $S10, ".", rx196_fail
- add rx196_pos, 1
+ add $I11, rx183_pos, 1
+ gt $I11, rx183_eos, rx183_fail
+ sub $I11, rx183_pos, rx183_off
+ substr $S10, rx183_tgt, $I11, 1
+ ne $S10, ".", rx183_fail
+ add rx183_pos, 1
# rx charclass_q d r 1..-1
- sub $I10, rx196_pos, rx196_off
- find_not_cclass $I11, 8, rx196_tgt, $I10, rx196_eos
+ sub $I10, rx183_pos, rx183_off
+ find_not_cclass $I11, 8, rx183_tgt, $I10, rx183_eos
add $I12, $I10, 1
- lt $I11, $I12, rx196_fail
- add rx196_pos, rx196_off, $I11
- set_addr $I10, rxcap_204_fail
- ($I12, $I11) = rx196_cur."!mark_peek"($I10)
- rx196_cur."!cursor_pos"($I11)
- ($P10) = rx196_cur."!cursor_start"()
- $P10."!cursor_pass"(rx196_pos, "")
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ lt $I11, $I12, rx183_fail
+ add rx183_pos, rx183_off, $I11
+ set_addr $I10, rxcap_191_fail
+ ($I12, $I11) = rx183_cur."!mark_peek"($I10)
+ rx183_cur."!cursor_pos"($I11)
+ ($P10) = rx183_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx183_pos, "")
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("coeff")
- goto rxcap_204_done
- rxcap_204_fail:
- goto rx196_fail
- rxcap_204_done:
- # rx rxquantr205 ** 0..1
- set_addr $I206, rxquantr205_done
- rx196_cur."!mark_push"(0, rx196_pos, $I206)
- rxquantr205_loop:
+ goto rxcap_191_done
+ rxcap_191_fail:
+ goto rx183_fail
+ rxcap_191_done:
+ # rx rxquantr192 ** 0..1
+ set_addr $I10, rxquantr192_done
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
+ rxquantr192_loop:
# rx subrule "escale" subtype=capture negate=
- rx196_cur."!cursor_pos"(rx196_pos)
- $P10 = rx196_cur."escale"()
- unless $P10, rx196_fail
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."escale"()
+ unless $P10, rx183_fail
+ goto rxsubrule193_pass
+ rxsubrule193_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx183_fail
+ rxsubrule193_pass:
+ set_addr $I10, rxsubrule193_back
+ rx183_cur."!mark_push"(0, rx183_pos, $I10, $P10)
$P10."!cursor_names"("escale")
- rx196_pos = $P10."pos"()
- (rx196_rep) = rx196_cur."!mark_commit"($I206)
- rxquantr205_done:
- goto alt200_end
- alt200_2:
+ rx183_pos = $P10."pos"()
+ set_addr $I10, rxquantr192_done
+ (rx183_rep) = rx183_cur."!mark_commit"($I10)
+ rxquantr192_done:
+ goto alt187_end
+ alt187_2:
.annotate 'line', 74
# rx subcapture "coeff"
- set_addr $I10, rxcap_207_fail
- rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ set_addr $I10, rxcap_194_fail
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
# rx charclass_q d r 1..-1
- sub $I10, rx196_pos, rx196_off
- find_not_cclass $I11, 8, rx196_tgt, $I10, rx196_eos
+ sub $I10, rx183_pos, rx183_off
+ find_not_cclass $I11, 8, rx183_tgt, $I10, rx183_eos
add $I12, $I10, 1
- lt $I11, $I12, rx196_fail
- add rx196_pos, rx196_off, $I11
- set_addr $I10, rxcap_207_fail
- ($I12, $I11) = rx196_cur."!mark_peek"($I10)
- rx196_cur."!cursor_pos"($I11)
- ($P10) = rx196_cur."!cursor_start"()
- $P10."!cursor_pass"(rx196_pos, "")
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ lt $I11, $I12, rx183_fail
+ add rx183_pos, rx183_off, $I11
+ set_addr $I10, rxcap_194_fail
+ ($I12, $I11) = rx183_cur."!mark_peek"($I10)
+ rx183_cur."!cursor_pos"($I11)
+ ($P10) = rx183_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx183_pos, "")
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("coeff")
- goto rxcap_207_done
- rxcap_207_fail:
- goto rx196_fail
- rxcap_207_done:
+ goto rxcap_194_done
+ rxcap_194_fail:
+ goto rx183_fail
+ rxcap_194_done:
# rx subrule "escale" subtype=capture negate=
- rx196_cur."!cursor_pos"(rx196_pos)
- $P10 = rx196_cur."escale"()
- unless $P10, rx196_fail
- rx196_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."escale"()
+ unless $P10, rx183_fail
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("escale")
- rx196_pos = $P10."pos"()
- alt200_end:
+ rx183_pos = $P10."pos"()
+ alt187_end:
.annotate 'line', 71
# rx pass
- rx196_cur."!cursor_pass"(rx196_pos, "dec_number")
- rx196_cur."!cursor_debug"("PASS ", "dec_number", " at pos=", rx196_pos)
- .return (rx196_cur)
- rx196_fail:
-.annotate 'line', 33
- (rx196_rep, rx196_pos, $I10, $P10) = rx196_cur."!mark_fail"(0)
- lt rx196_pos, -1, rx196_done
- eq rx196_pos, -1, rx196_fail
+ rx183_cur."!cursor_pass"(rx183_pos, "dec_number")
+ rx183_cur."!cursor_debug"("PASS ", "dec_number", " at pos=", rx183_pos)
+ .return (rx183_cur)
+ rx183_restart:
+.annotate 'line', 33
+ rx183_cur."!cursor_debug"("NEXT ", "dec_number")
+ 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
- rx196_done:
- rx196_cur."!cursor_fail"()
- rx196_cur."!cursor_debug"("FAIL ", "dec_number")
- .return (rx196_cur)
+ rx183_done:
+ rx183_cur."!cursor_fail"()
+ rx183_cur."!cursor_debug"("FAIL ", "dec_number")
+ .return (rx183_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1278500527.62277") :method
+.sub "!PREFIX__dec_number" :subid("64_1279589159.66297") :method
.annotate 'line', 33
- new $P198, "ResizablePMCArray"
- push $P198, ""
- push $P198, ""
- push $P198, "."
- .return ($P198)
+ new $P185, "ResizablePMCArray"
+ push $P185, ""
+ push $P185, ""
+ push $P185, "."
+ .return ($P185)
.end
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "escale" :subid("65_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx209_tgt
- .local int rx209_pos
- .local int rx209_off
- .local int rx209_eos
- .local int rx209_rep
- .local pmc rx209_cur
- (rx209_cur, rx209_pos, rx209_tgt) = self."!cursor_start"()
- rx209_cur."!cursor_debug"("START ", "escale")
- .lex unicode:"$\x{a2}", rx209_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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx196_cur
.local pmc match
.lex "$/", match
- length rx209_eos, rx209_tgt
- gt rx209_pos, rx209_eos, rx209_done
- set rx209_off, 0
- lt rx209_pos, 2, rx209_start
- sub rx209_off, rx209_pos, 1
- substr rx209_tgt, rx209_tgt, rx209_off
- rx209_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:
+ eq $I10, 1, rx196_restart
+ rx196_cur."!cursor_debug"("START ", "escale")
$I10 = self.'from'()
- ne $I10, -1, rxscan212_done
- goto rxscan212_scan
- rxscan212_loop:
- ($P10) = rx209_cur."from"()
+ ne $I10, -1, rxscan199_done
+ goto rxscan199_scan
+ rxscan199_loop:
+ ($P10) = rx196_cur."from"()
inc $P10
- set rx209_pos, $P10
- ge rx209_pos, rx209_eos, rxscan212_done
- rxscan212_scan:
- set_addr $I10, rxscan212_loop
- rx209_cur."!mark_push"(0, rx209_pos, $I10)
- rxscan212_done:
+ set rx196_pos, $P10
+ ge rx196_pos, rx196_eos, rxscan199_done
+ rxscan199_scan:
+ set_addr $I10, rxscan199_loop
+ rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ rxscan199_done:
.annotate 'line', 77
# rx enumcharlist negate=0
- ge rx209_pos, rx209_eos, rx209_fail
- sub $I10, rx209_pos, rx209_off
- substr $S10, rx209_tgt, $I10, 1
+ ge rx196_pos, rx196_eos, rx196_fail
+ sub $I10, rx196_pos, rx196_off
+ substr $S10, rx196_tgt, $I10, 1
index $I11, "Ee", $S10
- lt $I11, 0, rx209_fail
- inc rx209_pos
- # rx rxquantr213 ** 0..1
- set_addr $I214, rxquantr213_done
- rx209_cur."!mark_push"(0, rx209_pos, $I214)
- rxquantr213_loop:
+ lt $I11, 0, rx196_fail
+ inc rx196_pos
+ # rx rxquantr200 ** 0..1
+ set_addr $I10, rxquantr200_done
+ rx196_cur."!mark_push"(0, rx196_pos, $I10)
+ rxquantr200_loop:
# rx enumcharlist negate=0
- ge rx209_pos, rx209_eos, rx209_fail
- sub $I10, rx209_pos, rx209_off
- substr $S10, rx209_tgt, $I10, 1
+ ge rx196_pos, rx196_eos, rx196_fail
+ sub $I10, rx196_pos, rx196_off
+ substr $S10, rx196_tgt, $I10, 1
index $I11, "+-", $S10
- lt $I11, 0, rx209_fail
- inc rx209_pos
- (rx209_rep) = rx209_cur."!mark_commit"($I214)
- rxquantr213_done:
+ lt $I11, 0, rx196_fail
+ inc rx196_pos
+ set_addr $I10, rxquantr200_done
+ (rx196_rep) = rx196_cur."!mark_commit"($I10)
+ rxquantr200_done:
# rx charclass_q d r 1..-1
- sub $I10, rx209_pos, rx209_off
- find_not_cclass $I11, 8, rx209_tgt, $I10, rx209_eos
+ sub $I10, rx196_pos, rx196_off
+ find_not_cclass $I11, 8, rx196_tgt, $I10, rx196_eos
add $I12, $I10, 1
- lt $I11, $I12, rx209_fail
- add rx209_pos, rx209_off, $I11
+ lt $I11, $I12, rx196_fail
+ add rx196_pos, rx196_off, $I11
# rx pass
- rx209_cur."!cursor_pass"(rx209_pos, "escale")
- rx209_cur."!cursor_debug"("PASS ", "escale", " at pos=", rx209_pos)
- .return (rx209_cur)
- rx209_fail:
-.annotate 'line', 33
- (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
- lt rx209_pos, -1, rx209_done
- eq rx209_pos, -1, rx209_fail
+ rx196_cur."!cursor_pass"(rx196_pos, "escale")
+ rx196_cur."!cursor_debug"("PASS ", "escale", " at pos=", rx196_pos)
+ .return (rx196_cur)
+ rx196_restart:
+.annotate 'line', 33
+ rx196_cur."!cursor_debug"("NEXT ", "escale")
+ rx196_fail:
+ (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
- rx209_done:
- rx209_cur."!cursor_fail"()
- rx209_cur."!cursor_debug"("FAIL ", "escale")
- .return (rx209_cur)
+ rx196_done:
+ rx196_cur."!cursor_fail"()
+ rx196_cur."!cursor_debug"("FAIL ", "escale")
+ .return (rx196_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1278500527.62277") :method
+.sub "!PREFIX__escale" :subid("66_1279589159.66297") :method
.annotate 'line', 33
- new $P211, "ResizablePMCArray"
- push $P211, "e"
- push $P211, "E"
- .return ($P211)
+ new $P198, "ResizablePMCArray"
+ push $P198, "e"
+ push $P198, "E"
+ .return ($P198)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1278500527.62277") :method
+.sub "quote_escape" :subid("67_1279589159.66297") :method
.annotate 'line', 79
- $P216 = self."!protoregex"("quote_escape")
- .return ($P216)
+ $P202 = self."!protoregex"("quote_escape")
+ .return ($P202)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1278500527.62277") :method
+.sub "!PREFIX__quote_escape" :subid("68_1279589159.66297") :method
.annotate 'line', 79
- $P218 = self."!PREFIX__!protoregex"("quote_escape")
- .return ($P218)
+ $P204 = self."!PREFIX__!protoregex"("quote_escape")
+ .return ($P204)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<backslash>" :subid("69_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx220_tgt
- .local int rx220_pos
- .local int rx220_off
- .local int rx220_eos
- .local int rx220_rep
- .local pmc rx220_cur
- (rx220_cur, rx220_pos, rx220_tgt) = self."!cursor_start"()
- rx220_cur."!cursor_debug"("START ", "quote_escape:sym<backslash>")
- .lex unicode:"$\x{a2}", rx220_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx206_cur
.local pmc match
.lex "$/", match
- length rx220_eos, rx220_tgt
- gt rx220_pos, rx220_eos, rx220_done
- set rx220_off, 0
- lt rx220_pos, 2, rx220_start
- sub rx220_off, rx220_pos, 1
- substr rx220_tgt, rx220_tgt, rx220_off
- rx220_start:
+ 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:
+ eq $I10, 1, rx206_restart
+ rx206_cur."!cursor_debug"("START ", "quote_escape:sym<backslash>")
$I10 = self.'from'()
- ne $I10, -1, rxscan223_done
- goto rxscan223_scan
- rxscan223_loop:
- ($P10) = rx220_cur."from"()
+ ne $I10, -1, rxscan209_done
+ goto rxscan209_scan
+ rxscan209_loop:
+ ($P10) = rx206_cur."from"()
inc $P10
- set rx220_pos, $P10
- ge rx220_pos, rx220_eos, rxscan223_done
- rxscan223_scan:
- set_addr $I10, rxscan223_loop
- rx220_cur."!mark_push"(0, rx220_pos, $I10)
- rxscan223_done:
+ 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', 80
# rx literal "\\\\"
- add $I11, rx220_pos, 2
- gt $I11, rx220_eos, rx220_fail
- sub $I11, rx220_pos, rx220_off
- substr $S10, rx220_tgt, $I11, 2
- ne $S10, "\\\\", rx220_fail
- add rx220_pos, 2
+ add $I11, rx206_pos, 2
+ gt $I11, rx206_eos, rx206_fail
+ sub $I11, rx206_pos, rx206_off
+ substr $S10, rx206_tgt, $I11, 2
+ ne $S10, "\\\\", rx206_fail
+ add rx206_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx220_cur."!cursor_pos"(rx220_pos)
- $P10 = rx220_cur."quotemod_check"("q")
- unless $P10, rx220_fail
+ rx206_cur."!cursor_pos"(rx206_pos)
+ $P10 = rx206_cur."quotemod_check"("q")
+ unless $P10, rx206_fail
# rx pass
- rx220_cur."!cursor_pass"(rx220_pos, "quote_escape:sym<backslash>")
- rx220_cur."!cursor_debug"("PASS ", "quote_escape:sym<backslash>", " at pos=", rx220_pos)
- .return (rx220_cur)
- rx220_fail:
-.annotate 'line', 33
- (rx220_rep, rx220_pos, $I10, $P10) = rx220_cur."!mark_fail"(0)
- lt rx220_pos, -1, rx220_done
- eq rx220_pos, -1, rx220_fail
+ rx206_cur."!cursor_pass"(rx206_pos, "quote_escape:sym<backslash>")
+ rx206_cur."!cursor_debug"("PASS ", "quote_escape:sym<backslash>", " at pos=", rx206_pos)
+ .return (rx206_cur)
+ rx206_restart:
+.annotate 'line', 33
+ rx206_cur."!cursor_debug"("NEXT ", "quote_escape:sym<backslash>")
+ rx206_fail:
+ (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
+ lt rx206_pos, -1, rx206_done
+ eq rx206_pos, -1, rx206_fail
jump $I10
- rx220_done:
- rx220_cur."!cursor_fail"()
- rx220_cur."!cursor_debug"("FAIL ", "quote_escape:sym<backslash>")
- .return (rx220_cur)
+ rx206_done:
+ rx206_cur."!cursor_fail"()
+ rx206_cur."!cursor_debug"("FAIL ", "quote_escape:sym<backslash>")
+ .return (rx206_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1279589159.66297") :method
.annotate 'line', 33
- new $P222, "ResizablePMCArray"
- push $P222, "\\\\"
- .return ($P222)
+ new $P208, "ResizablePMCArray"
+ push $P208, "\\\\"
+ .return ($P208)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<stopper>" :subid("71_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx225_tgt
- .local int rx225_pos
- .local int rx225_off
- .local int rx225_eos
- .local int rx225_rep
- .local pmc rx225_cur
- (rx225_cur, rx225_pos, rx225_tgt) = self."!cursor_start"()
- rx225_cur."!cursor_debug"("START ", "quote_escape:sym<stopper>")
- .lex unicode:"$\x{a2}", rx225_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx211_cur
.local pmc match
.lex "$/", match
- length rx225_eos, rx225_tgt
- gt rx225_pos, rx225_eos, rx225_done
- set rx225_off, 0
- lt rx225_pos, 2, rx225_start
- sub rx225_off, rx225_pos, 1
- substr rx225_tgt, rx225_tgt, rx225_off
- rx225_start:
+ 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:
+ eq $I10, 1, rx211_restart
+ rx211_cur."!cursor_debug"("START ", "quote_escape:sym<stopper>")
$I10 = self.'from'()
- ne $I10, -1, rxscan228_done
- goto rxscan228_scan
- rxscan228_loop:
- ($P10) = rx225_cur."from"()
+ ne $I10, -1, rxscan214_done
+ goto rxscan214_scan
+ rxscan214_loop:
+ ($P10) = rx211_cur."from"()
inc $P10
- set rx225_pos, $P10
- ge rx225_pos, rx225_eos, rxscan228_done
- rxscan228_scan:
- set_addr $I10, rxscan228_loop
- rx225_cur."!mark_push"(0, rx225_pos, $I10)
- rxscan228_done:
+ 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', 81
# rx literal "\\"
- add $I11, rx225_pos, 1
- gt $I11, rx225_eos, rx225_fail
- sub $I11, rx225_pos, rx225_off
- substr $S10, rx225_tgt, $I11, 1
- ne $S10, "\\", rx225_fail
- add rx225_pos, 1
+ add $I11, rx211_pos, 1
+ gt $I11, rx211_eos, rx211_fail
+ sub $I11, rx211_pos, rx211_off
+ substr $S10, rx211_tgt, $I11, 1
+ ne $S10, "\\", rx211_fail
+ add rx211_pos, 1
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx225_cur."!cursor_pos"(rx225_pos)
- $P10 = rx225_cur."quotemod_check"("q")
- unless $P10, rx225_fail
+ rx211_cur."!cursor_pos"(rx211_pos)
+ $P10 = rx211_cur."quotemod_check"("q")
+ unless $P10, rx211_fail
# rx subrule "stopper" subtype=capture negate=
- rx225_cur."!cursor_pos"(rx225_pos)
- $P10 = rx225_cur."stopper"()
- unless $P10, rx225_fail
- rx225_cur."!mark_push"(0, -1, 0, $P10)
+ rx211_cur."!cursor_pos"(rx211_pos)
+ $P10 = rx211_cur."stopper"()
+ unless $P10, rx211_fail
+ rx211_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("stopper")
- rx225_pos = $P10."pos"()
+ rx211_pos = $P10."pos"()
# rx pass
- rx225_cur."!cursor_pass"(rx225_pos, "quote_escape:sym<stopper>")
- rx225_cur."!cursor_debug"("PASS ", "quote_escape:sym<stopper>", " at pos=", rx225_pos)
- .return (rx225_cur)
- rx225_fail:
-.annotate 'line', 33
- (rx225_rep, rx225_pos, $I10, $P10) = rx225_cur."!mark_fail"(0)
- lt rx225_pos, -1, rx225_done
- eq rx225_pos, -1, rx225_fail
+ rx211_cur."!cursor_pass"(rx211_pos, "quote_escape:sym<stopper>")
+ rx211_cur."!cursor_debug"("PASS ", "quote_escape:sym<stopper>", " at pos=", rx211_pos)
+ .return (rx211_cur)
+ rx211_restart:
+.annotate 'line', 33
+ rx211_cur."!cursor_debug"("NEXT ", "quote_escape:sym<stopper>")
+ rx211_fail:
+ (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0)
+ lt rx211_pos, -1, rx211_done
+ eq rx211_pos, -1, rx211_fail
jump $I10
- rx225_done:
- rx225_cur."!cursor_fail"()
- rx225_cur."!cursor_debug"("FAIL ", "quote_escape:sym<stopper>")
- .return (rx225_cur)
+ rx211_done:
+ rx211_cur."!cursor_fail"()
+ rx211_cur."!cursor_debug"("FAIL ", "quote_escape:sym<stopper>")
+ .return (rx211_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1279589159.66297") :method
.annotate 'line', 33
- new $P227, "ResizablePMCArray"
- push $P227, "\\"
- .return ($P227)
+ new $P213, "ResizablePMCArray"
+ push $P213, "\\"
+ .return ($P213)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<bs>" :subid("73_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "quote_escape:sym<bs>")
- .lex unicode:"$\x{a2}", rx230_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx216_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx216_restart
+ rx216_cur."!cursor_debug"("START ", "quote_escape:sym<bs>")
$I10 = self.'from'()
- ne $I10, -1, rxscan233_done
- goto rxscan233_scan
- rxscan233_loop:
- ($P10) = rx230_cur."from"()
+ ne $I10, -1, rxscan219_done
+ goto rxscan219_scan
+ rxscan219_loop:
+ ($P10) = rx216_cur."from"()
inc $P10
- 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:
+ 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', 83
# rx literal "\\b"
- add $I11, rx230_pos, 2
- gt $I11, rx230_eos, rx230_fail
- sub $I11, rx230_pos, rx230_off
- substr $S10, rx230_tgt, $I11, 2
- ne $S10, "\\b", rx230_fail
- add rx230_pos, 2
+ add $I11, rx216_pos, 2
+ gt $I11, rx216_eos, rx216_fail
+ sub $I11, rx216_pos, rx216_off
+ substr $S10, rx216_tgt, $I11, 2
+ ne $S10, "\\b", rx216_fail
+ add rx216_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx230_cur."!cursor_pos"(rx230_pos)
- $P10 = rx230_cur."quotemod_check"("b")
- unless $P10, rx230_fail
+ rx216_cur."!cursor_pos"(rx216_pos)
+ $P10 = rx216_cur."quotemod_check"("b")
+ unless $P10, rx216_fail
# rx pass
- rx230_cur."!cursor_pass"(rx230_pos, "quote_escape:sym<bs>")
- rx230_cur."!cursor_debug"("PASS ", "quote_escape:sym<bs>", " at pos=", rx230_pos)
- .return (rx230_cur)
- rx230_fail:
-.annotate 'line', 33
- (rx230_rep, rx230_pos, $I10, $P10) = rx230_cur."!mark_fail"(0)
- lt rx230_pos, -1, rx230_done
- eq rx230_pos, -1, rx230_fail
+ rx216_cur."!cursor_pass"(rx216_pos, "quote_escape:sym<bs>")
+ rx216_cur."!cursor_debug"("PASS ", "quote_escape:sym<bs>", " at pos=", rx216_pos)
+ .return (rx216_cur)
+ rx216_restart:
+.annotate 'line', 33
+ rx216_cur."!cursor_debug"("NEXT ", "quote_escape:sym<bs>")
+ rx216_fail:
+ (rx216_rep, rx216_pos, $I10, $P10) = rx216_cur."!mark_fail"(0)
+ lt rx216_pos, -1, rx216_done
+ eq rx216_pos, -1, rx216_fail
jump $I10
- rx230_done:
- rx230_cur."!cursor_fail"()
- rx230_cur."!cursor_debug"("FAIL ", "quote_escape:sym<bs>")
- .return (rx230_cur)
+ rx216_done:
+ rx216_cur."!cursor_fail"()
+ rx216_cur."!cursor_debug"("FAIL ", "quote_escape:sym<bs>")
+ .return (rx216_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1279589159.66297") :method
.annotate 'line', 33
- new $P232, "ResizablePMCArray"
- push $P232, "\\b"
- .return ($P232)
+ new $P218, "ResizablePMCArray"
+ push $P218, "\\b"
+ .return ($P218)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<nl>" :subid("75_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx235_tgt
- .local int rx235_pos
- .local int rx235_off
- .local int rx235_eos
- .local int rx235_rep
- .local pmc rx235_cur
- (rx235_cur, rx235_pos, rx235_tgt) = self."!cursor_start"()
- rx235_cur."!cursor_debug"("START ", "quote_escape:sym<nl>")
- .lex unicode:"$\x{a2}", rx235_cur
+ .local string rx221_tgt
+ .local int rx221_pos
+ .local int rx221_off
+ .local int rx221_eos
+ .local int rx221_rep
+ .local pmc rx221_cur
+ (rx221_cur, rx221_pos, rx221_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx221_cur
.local pmc match
.lex "$/", match
- length rx235_eos, rx235_tgt
- gt rx235_pos, rx235_eos, rx235_done
- set rx235_off, 0
- lt rx235_pos, 2, rx235_start
- sub rx235_off, rx235_pos, 1
- substr rx235_tgt, rx235_tgt, rx235_off
- rx235_start:
+ length rx221_eos, rx221_tgt
+ gt rx221_pos, rx221_eos, rx221_done
+ set rx221_off, 0
+ lt rx221_pos, 2, rx221_start
+ sub rx221_off, rx221_pos, 1
+ substr rx221_tgt, rx221_tgt, rx221_off
+ rx221_start:
+ eq $I10, 1, rx221_restart
+ rx221_cur."!cursor_debug"("START ", "quote_escape:sym<nl>")
$I10 = self.'from'()
- ne $I10, -1, rxscan238_done
- goto rxscan238_scan
- rxscan238_loop:
- ($P10) = rx235_cur."from"()
+ ne $I10, -1, rxscan224_done
+ goto rxscan224_scan
+ rxscan224_loop:
+ ($P10) = rx221_cur."from"()
inc $P10
- set rx235_pos, $P10
- ge rx235_pos, rx235_eos, rxscan238_done
- rxscan238_scan:
- set_addr $I10, rxscan238_loop
- rx235_cur."!mark_push"(0, rx235_pos, $I10)
- rxscan238_done:
+ set rx221_pos, $P10
+ ge rx221_pos, rx221_eos, rxscan224_done
+ rxscan224_scan:
+ set_addr $I10, rxscan224_loop
+ rx221_cur."!mark_push"(0, rx221_pos, $I10)
+ rxscan224_done:
.annotate 'line', 84
# rx literal "\\n"
- add $I11, rx235_pos, 2
- gt $I11, rx235_eos, rx235_fail
- sub $I11, rx235_pos, rx235_off
- substr $S10, rx235_tgt, $I11, 2
- ne $S10, "\\n", rx235_fail
- add rx235_pos, 2
+ add $I11, rx221_pos, 2
+ gt $I11, rx221_eos, rx221_fail
+ sub $I11, rx221_pos, rx221_off
+ substr $S10, rx221_tgt, $I11, 2
+ ne $S10, "\\n", rx221_fail
+ add rx221_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx235_cur."!cursor_pos"(rx235_pos)
- $P10 = rx235_cur."quotemod_check"("b")
- unless $P10, rx235_fail
+ rx221_cur."!cursor_pos"(rx221_pos)
+ $P10 = rx221_cur."quotemod_check"("b")
+ unless $P10, rx221_fail
# rx pass
- rx235_cur."!cursor_pass"(rx235_pos, "quote_escape:sym<nl>")
- rx235_cur."!cursor_debug"("PASS ", "quote_escape:sym<nl>", " at pos=", rx235_pos)
- .return (rx235_cur)
- rx235_fail:
-.annotate 'line', 33
- (rx235_rep, rx235_pos, $I10, $P10) = rx235_cur."!mark_fail"(0)
- lt rx235_pos, -1, rx235_done
- eq rx235_pos, -1, rx235_fail
+ rx221_cur."!cursor_pass"(rx221_pos, "quote_escape:sym<nl>")
+ rx221_cur."!cursor_debug"("PASS ", "quote_escape:sym<nl>", " at pos=", rx221_pos)
+ .return (rx221_cur)
+ rx221_restart:
+.annotate 'line', 33
+ rx221_cur."!cursor_debug"("NEXT ", "quote_escape:sym<nl>")
+ rx221_fail:
+ (rx221_rep, rx221_pos, $I10, $P10) = rx221_cur."!mark_fail"(0)
+ lt rx221_pos, -1, rx221_done
+ eq rx221_pos, -1, rx221_fail
jump $I10
- rx235_done:
- rx235_cur."!cursor_fail"()
- rx235_cur."!cursor_debug"("FAIL ", "quote_escape:sym<nl>")
- .return (rx235_cur)
+ rx221_done:
+ rx221_cur."!cursor_fail"()
+ rx221_cur."!cursor_debug"("FAIL ", "quote_escape:sym<nl>")
+ .return (rx221_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1279589159.66297") :method
.annotate 'line', 33
- new $P237, "ResizablePMCArray"
- push $P237, "\\n"
- .return ($P237)
+ new $P223, "ResizablePMCArray"
+ push $P223, "\\n"
+ .return ($P223)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<cr>" :subid("77_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "quote_escape:sym<cr>")
- .lex unicode:"$\x{a2}", rx240_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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx226_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 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:
+ eq $I10, 1, rx226_restart
+ rx226_cur."!cursor_debug"("START ", "quote_escape:sym<cr>")
$I10 = self.'from'()
- ne $I10, -1, rxscan243_done
- goto rxscan243_scan
- rxscan243_loop:
- ($P10) = rx240_cur."from"()
+ ne $I10, -1, rxscan229_done
+ goto rxscan229_scan
+ rxscan229_loop:
+ ($P10) = rx226_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:
+ set rx226_pos, $P10
+ ge rx226_pos, rx226_eos, rxscan229_done
+ rxscan229_scan:
+ set_addr $I10, rxscan229_loop
+ rx226_cur."!mark_push"(0, rx226_pos, $I10)
+ rxscan229_done:
.annotate 'line', 85
# rx literal "\\r"
- 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, "\\r", rx240_fail
- add rx240_pos, 2
+ add $I11, rx226_pos, 2
+ gt $I11, rx226_eos, rx226_fail
+ sub $I11, rx226_pos, rx226_off
+ substr $S10, rx226_tgt, $I11, 2
+ ne $S10, "\\r", rx226_fail
+ add rx226_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx240_cur."!cursor_pos"(rx240_pos)
- $P10 = rx240_cur."quotemod_check"("b")
- unless $P10, rx240_fail
+ rx226_cur."!cursor_pos"(rx226_pos)
+ $P10 = rx226_cur."quotemod_check"("b")
+ unless $P10, rx226_fail
# rx pass
- rx240_cur."!cursor_pass"(rx240_pos, "quote_escape:sym<cr>")
- rx240_cur."!cursor_debug"("PASS ", "quote_escape:sym<cr>", " at pos=", rx240_pos)
- .return (rx240_cur)
- rx240_fail:
-.annotate 'line', 33
- (rx240_rep, rx240_pos, $I10, $P10) = rx240_cur."!mark_fail"(0)
- lt rx240_pos, -1, rx240_done
- eq rx240_pos, -1, rx240_fail
+ rx226_cur."!cursor_pass"(rx226_pos, "quote_escape:sym<cr>")
+ rx226_cur."!cursor_debug"("PASS ", "quote_escape:sym<cr>", " at pos=", rx226_pos)
+ .return (rx226_cur)
+ rx226_restart:
+.annotate 'line', 33
+ rx226_cur."!cursor_debug"("NEXT ", "quote_escape:sym<cr>")
+ rx226_fail:
+ (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
- rx240_done:
- rx240_cur."!cursor_fail"()
- rx240_cur."!cursor_debug"("FAIL ", "quote_escape:sym<cr>")
- .return (rx240_cur)
+ rx226_done:
+ rx226_cur."!cursor_fail"()
+ rx226_cur."!cursor_debug"("FAIL ", "quote_escape:sym<cr>")
+ .return (rx226_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1279589159.66297") :method
.annotate 'line', 33
- new $P242, "ResizablePMCArray"
- push $P242, "\\r"
- .return ($P242)
+ new $P228, "ResizablePMCArray"
+ push $P228, "\\r"
+ .return ($P228)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<tab>" :subid("79_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx245_tgt
- .local int rx245_pos
- .local int rx245_off
- .local int rx245_eos
- .local int rx245_rep
- .local pmc rx245_cur
- (rx245_cur, rx245_pos, rx245_tgt) = self."!cursor_start"()
- rx245_cur."!cursor_debug"("START ", "quote_escape:sym<tab>")
- .lex unicode:"$\x{a2}", rx245_cur
+ .local string rx231_tgt
+ .local int rx231_pos
+ .local int rx231_off
+ .local int rx231_eos
+ .local int rx231_rep
+ .local pmc rx231_cur
+ (rx231_cur, rx231_pos, rx231_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx231_cur
.local pmc match
.lex "$/", match
- length rx245_eos, rx245_tgt
- gt rx245_pos, rx245_eos, rx245_done
- set rx245_off, 0
- lt rx245_pos, 2, rx245_start
- sub rx245_off, rx245_pos, 1
- substr rx245_tgt, rx245_tgt, rx245_off
- rx245_start:
+ length rx231_eos, rx231_tgt
+ gt rx231_pos, rx231_eos, rx231_done
+ set rx231_off, 0
+ lt rx231_pos, 2, rx231_start
+ sub rx231_off, rx231_pos, 1
+ substr rx231_tgt, rx231_tgt, rx231_off
+ rx231_start:
+ eq $I10, 1, rx231_restart
+ rx231_cur."!cursor_debug"("START ", "quote_escape:sym<tab>")
$I10 = self.'from'()
- ne $I10, -1, rxscan248_done
- goto rxscan248_scan
- rxscan248_loop:
- ($P10) = rx245_cur."from"()
+ ne $I10, -1, rxscan234_done
+ goto rxscan234_scan
+ rxscan234_loop:
+ ($P10) = rx231_cur."from"()
inc $P10
- set rx245_pos, $P10
- ge rx245_pos, rx245_eos, rxscan248_done
- rxscan248_scan:
- set_addr $I10, rxscan248_loop
- rx245_cur."!mark_push"(0, rx245_pos, $I10)
- rxscan248_done:
+ set rx231_pos, $P10
+ ge rx231_pos, rx231_eos, rxscan234_done
+ rxscan234_scan:
+ set_addr $I10, rxscan234_loop
+ rx231_cur."!mark_push"(0, rx231_pos, $I10)
+ rxscan234_done:
.annotate 'line', 86
# rx literal "\\t"
- add $I11, rx245_pos, 2
- gt $I11, rx245_eos, rx245_fail
- sub $I11, rx245_pos, rx245_off
- substr $S10, rx245_tgt, $I11, 2
- ne $S10, "\\t", rx245_fail
- add rx245_pos, 2
+ add $I11, rx231_pos, 2
+ gt $I11, rx231_eos, rx231_fail
+ sub $I11, rx231_pos, rx231_off
+ substr $S10, rx231_tgt, $I11, 2
+ ne $S10, "\\t", rx231_fail
+ add rx231_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx245_cur."!cursor_pos"(rx245_pos)
- $P10 = rx245_cur."quotemod_check"("b")
- unless $P10, rx245_fail
+ rx231_cur."!cursor_pos"(rx231_pos)
+ $P10 = rx231_cur."quotemod_check"("b")
+ unless $P10, rx231_fail
# rx pass
- rx245_cur."!cursor_pass"(rx245_pos, "quote_escape:sym<tab>")
- rx245_cur."!cursor_debug"("PASS ", "quote_escape:sym<tab>", " at pos=", rx245_pos)
- .return (rx245_cur)
- rx245_fail:
-.annotate 'line', 33
- (rx245_rep, rx245_pos, $I10, $P10) = rx245_cur."!mark_fail"(0)
- lt rx245_pos, -1, rx245_done
- eq rx245_pos, -1, rx245_fail
+ rx231_cur."!cursor_pass"(rx231_pos, "quote_escape:sym<tab>")
+ rx231_cur."!cursor_debug"("PASS ", "quote_escape:sym<tab>", " at pos=", rx231_pos)
+ .return (rx231_cur)
+ rx231_restart:
+.annotate 'line', 33
+ rx231_cur."!cursor_debug"("NEXT ", "quote_escape:sym<tab>")
+ rx231_fail:
+ (rx231_rep, rx231_pos, $I10, $P10) = rx231_cur."!mark_fail"(0)
+ lt rx231_pos, -1, rx231_done
+ eq rx231_pos, -1, rx231_fail
jump $I10
- rx245_done:
- rx245_cur."!cursor_fail"()
- rx245_cur."!cursor_debug"("FAIL ", "quote_escape:sym<tab>")
- .return (rx245_cur)
+ rx231_done:
+ rx231_cur."!cursor_fail"()
+ rx231_cur."!cursor_debug"("FAIL ", "quote_escape:sym<tab>")
+ .return (rx231_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1279589159.66297") :method
.annotate 'line', 33
- new $P247, "ResizablePMCArray"
- push $P247, "\\t"
- .return ($P247)
+ new $P233, "ResizablePMCArray"
+ push $P233, "\\t"
+ .return ($P233)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<ff>" :subid("81_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx250_tgt
- .local int rx250_pos
- .local int rx250_off
- .local int rx250_eos
- .local int rx250_rep
- .local pmc rx250_cur
- (rx250_cur, rx250_pos, rx250_tgt) = self."!cursor_start"()
- rx250_cur."!cursor_debug"("START ", "quote_escape:sym<ff>")
- .lex unicode:"$\x{a2}", rx250_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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx236_cur
.local pmc match
.lex "$/", match
- length rx250_eos, rx250_tgt
- gt rx250_pos, rx250_eos, rx250_done
- set rx250_off, 0
- lt rx250_pos, 2, rx250_start
- sub rx250_off, rx250_pos, 1
- substr rx250_tgt, rx250_tgt, rx250_off
- rx250_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:
+ eq $I10, 1, rx236_restart
+ rx236_cur."!cursor_debug"("START ", "quote_escape:sym<ff>")
$I10 = self.'from'()
- ne $I10, -1, rxscan253_done
- goto rxscan253_scan
- rxscan253_loop:
- ($P10) = rx250_cur."from"()
+ ne $I10, -1, rxscan239_done
+ goto rxscan239_scan
+ rxscan239_loop:
+ ($P10) = rx236_cur."from"()
inc $P10
- set rx250_pos, $P10
- ge rx250_pos, rx250_eos, rxscan253_done
- rxscan253_scan:
- set_addr $I10, rxscan253_loop
- rx250_cur."!mark_push"(0, rx250_pos, $I10)
- rxscan253_done:
+ 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', 87
# rx literal "\\f"
- add $I11, rx250_pos, 2
- gt $I11, rx250_eos, rx250_fail
- sub $I11, rx250_pos, rx250_off
- substr $S10, rx250_tgt, $I11, 2
- ne $S10, "\\f", rx250_fail
- add rx250_pos, 2
+ 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, "\\f", rx236_fail
+ add rx236_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx250_cur."!cursor_pos"(rx250_pos)
- $P10 = rx250_cur."quotemod_check"("b")
- unless $P10, rx250_fail
+ rx236_cur."!cursor_pos"(rx236_pos)
+ $P10 = rx236_cur."quotemod_check"("b")
+ unless $P10, rx236_fail
# rx pass
- rx250_cur."!cursor_pass"(rx250_pos, "quote_escape:sym<ff>")
- rx250_cur."!cursor_debug"("PASS ", "quote_escape:sym<ff>", " at pos=", rx250_pos)
- .return (rx250_cur)
- rx250_fail:
-.annotate 'line', 33
- (rx250_rep, rx250_pos, $I10, $P10) = rx250_cur."!mark_fail"(0)
- lt rx250_pos, -1, rx250_done
- eq rx250_pos, -1, rx250_fail
+ rx236_cur."!cursor_pass"(rx236_pos, "quote_escape:sym<ff>")
+ rx236_cur."!cursor_debug"("PASS ", "quote_escape:sym<ff>", " at pos=", rx236_pos)
+ .return (rx236_cur)
+ rx236_restart:
+.annotate 'line', 33
+ rx236_cur."!cursor_debug"("NEXT ", "quote_escape:sym<ff>")
+ rx236_fail:
+ (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
- rx250_done:
- rx250_cur."!cursor_fail"()
- rx250_cur."!cursor_debug"("FAIL ", "quote_escape:sym<ff>")
- .return (rx250_cur)
+ rx236_done:
+ rx236_cur."!cursor_fail"()
+ rx236_cur."!cursor_debug"("FAIL ", "quote_escape:sym<ff>")
+ .return (rx236_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1279589159.66297") :method
.annotate 'line', 33
- new $P252, "ResizablePMCArray"
- push $P252, "\\f"
- .return ($P252)
+ new $P238, "ResizablePMCArray"
+ push $P238, "\\f"
+ .return ($P238)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("83_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<esc>" :subid("83_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx255_tgt
- .local int rx255_pos
- .local int rx255_off
- .local int rx255_eos
- .local int rx255_rep
- .local pmc rx255_cur
- (rx255_cur, rx255_pos, rx255_tgt) = self."!cursor_start"()
- rx255_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
- .lex unicode:"$\x{a2}", rx255_cur
+ .local string rx241_tgt
+ .local int rx241_pos
+ .local int rx241_off
+ .local int rx241_eos
+ .local int rx241_rep
+ .local pmc rx241_cur
+ (rx241_cur, rx241_pos, rx241_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx241_cur
.local pmc match
.lex "$/", match
- length rx255_eos, rx255_tgt
- gt rx255_pos, rx255_eos, rx255_done
- set rx255_off, 0
- lt rx255_pos, 2, rx255_start
- sub rx255_off, rx255_pos, 1
- substr rx255_tgt, rx255_tgt, rx255_off
- rx255_start:
+ length rx241_eos, rx241_tgt
+ gt rx241_pos, rx241_eos, rx241_done
+ set rx241_off, 0
+ lt rx241_pos, 2, rx241_start
+ sub rx241_off, rx241_pos, 1
+ substr rx241_tgt, rx241_tgt, rx241_off
+ rx241_start:
+ eq $I10, 1, rx241_restart
+ rx241_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
$I10 = self.'from'()
- ne $I10, -1, rxscan258_done
- goto rxscan258_scan
- rxscan258_loop:
- ($P10) = rx255_cur."from"()
+ ne $I10, -1, rxscan244_done
+ goto rxscan244_scan
+ rxscan244_loop:
+ ($P10) = rx241_cur."from"()
inc $P10
- set rx255_pos, $P10
- ge rx255_pos, rx255_eos, rxscan258_done
- rxscan258_scan:
- set_addr $I10, rxscan258_loop
- rx255_cur."!mark_push"(0, rx255_pos, $I10)
- rxscan258_done:
+ set rx241_pos, $P10
+ ge rx241_pos, rx241_eos, rxscan244_done
+ rxscan244_scan:
+ set_addr $I10, rxscan244_loop
+ rx241_cur."!mark_push"(0, rx241_pos, $I10)
+ rxscan244_done:
.annotate 'line', 88
# rx literal "\\e"
- add $I11, rx255_pos, 2
- gt $I11, rx255_eos, rx255_fail
- sub $I11, rx255_pos, rx255_off
- substr $S10, rx255_tgt, $I11, 2
- ne $S10, "\\e", rx255_fail
- add rx255_pos, 2
+ add $I11, rx241_pos, 2
+ gt $I11, rx241_eos, rx241_fail
+ sub $I11, rx241_pos, rx241_off
+ substr $S10, rx241_tgt, $I11, 2
+ ne $S10, "\\e", rx241_fail
+ add rx241_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx255_cur."!cursor_pos"(rx255_pos)
- $P10 = rx255_cur."quotemod_check"("b")
- unless $P10, rx255_fail
+ rx241_cur."!cursor_pos"(rx241_pos)
+ $P10 = rx241_cur."quotemod_check"("b")
+ unless $P10, rx241_fail
# rx pass
- rx255_cur."!cursor_pass"(rx255_pos, "quote_escape:sym<esc>")
- rx255_cur."!cursor_debug"("PASS ", "quote_escape:sym<esc>", " at pos=", rx255_pos)
- .return (rx255_cur)
- rx255_fail:
-.annotate 'line', 33
- (rx255_rep, rx255_pos, $I10, $P10) = rx255_cur."!mark_fail"(0)
- lt rx255_pos, -1, rx255_done
- eq rx255_pos, -1, rx255_fail
+ rx241_cur."!cursor_pass"(rx241_pos, "quote_escape:sym<esc>")
+ rx241_cur."!cursor_debug"("PASS ", "quote_escape:sym<esc>", " at pos=", rx241_pos)
+ .return (rx241_cur)
+ rx241_restart:
+.annotate 'line', 33
+ rx241_cur."!cursor_debug"("NEXT ", "quote_escape:sym<esc>")
+ rx241_fail:
+ (rx241_rep, rx241_pos, $I10, $P10) = rx241_cur."!mark_fail"(0)
+ lt rx241_pos, -1, rx241_done
+ eq rx241_pos, -1, rx241_fail
jump $I10
- rx255_done:
- rx255_cur."!cursor_fail"()
- rx255_cur."!cursor_debug"("FAIL ", "quote_escape:sym<esc>")
- .return (rx255_cur)
+ rx241_done:
+ rx241_cur."!cursor_fail"()
+ rx241_cur."!cursor_debug"("FAIL ", "quote_escape:sym<esc>")
+ .return (rx241_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("84_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("84_1279589159.66297") :method
.annotate 'line', 33
- new $P257, "ResizablePMCArray"
- push $P257, "\\e"
- .return ($P257)
+ new $P243, "ResizablePMCArray"
+ push $P243, "\\e"
+ .return ($P243)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("85_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<hex>" :subid("85_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .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 ", "quote_escape:sym<hex>")
- .lex unicode:"$\x{a2}", rx260_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx246_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 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:
+ eq $I10, 1, rx246_restart
+ rx246_cur."!cursor_debug"("START ", "quote_escape:sym<hex>")
$I10 = self.'from'()
- ne $I10, -1, rxscan263_done
- goto rxscan263_scan
- rxscan263_loop:
- ($P10) = rx260_cur."from"()
+ ne $I10, -1, rxscan249_done
+ goto rxscan249_scan
+ rxscan249_loop:
+ ($P10) = rx246_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:
+ set rx246_pos, $P10
+ ge rx246_pos, rx246_eos, rxscan249_done
+ rxscan249_scan:
+ set_addr $I10, rxscan249_loop
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
+ rxscan249_done:
.annotate 'line', 90
# rx literal unicode:"\\x"
- 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, unicode:"\\x", rx260_fail
- add rx260_pos, 2
+ add $I11, rx246_pos, 2
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 2
+ ne $S10, unicode:"\\x", rx246_fail
+ add rx246_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx260_cur."!cursor_pos"(rx260_pos)
- $P10 = rx260_cur."quotemod_check"("b")
- unless $P10, rx260_fail
- alt264_0:
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."quotemod_check"("b")
+ unless $P10, rx246_fail
+ alt250_0:
.annotate 'line', 91
- set_addr $I10, alt264_1
- rx260_cur."!mark_push"(0, rx260_pos, $I10)
+ set_addr $I10, alt250_1
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
# rx subrule "hexint" subtype=capture negate=
- rx260_cur."!cursor_pos"(rx260_pos)
- $P10 = rx260_cur."hexint"()
- unless $P10, rx260_fail
- rx260_cur."!mark_push"(0, -1, 0, $P10)
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."hexint"()
+ unless $P10, rx246_fail
+ rx246_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("hexint")
- rx260_pos = $P10."pos"()
- goto alt264_end
- alt264_1:
+ rx246_pos = $P10."pos"()
+ goto alt250_end
+ alt250_1:
# rx literal "["
- 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, "[", rx260_fail
- add rx260_pos, 1
+ add $I11, rx246_pos, 1
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 1
+ ne $S10, "[", rx246_fail
+ add rx246_pos, 1
# rx subrule "hexints" subtype=capture negate=
- rx260_cur."!cursor_pos"(rx260_pos)
- $P10 = rx260_cur."hexints"()
- unless $P10, rx260_fail
- rx260_cur."!mark_push"(0, -1, 0, $P10)
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."hexints"()
+ unless $P10, rx246_fail
+ rx246_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("hexints")
- rx260_pos = $P10."pos"()
+ rx246_pos = $P10."pos"()
# rx literal "]"
- 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, "]", rx260_fail
- add rx260_pos, 1
- alt264_end:
+ add $I11, rx246_pos, 1
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 1
+ ne $S10, "]", rx246_fail
+ add rx246_pos, 1
+ alt250_end:
.annotate 'line', 89
# rx pass
- rx260_cur."!cursor_pass"(rx260_pos, "quote_escape:sym<hex>")
- rx260_cur."!cursor_debug"("PASS ", "quote_escape:sym<hex>", " at pos=", rx260_pos)
- .return (rx260_cur)
- rx260_fail:
-.annotate 'line', 33
- (rx260_rep, rx260_pos, $I10, $P10) = rx260_cur."!mark_fail"(0)
- lt rx260_pos, -1, rx260_done
- eq rx260_pos, -1, rx260_fail
+ rx246_cur."!cursor_pass"(rx246_pos, "quote_escape:sym<hex>")
+ rx246_cur."!cursor_debug"("PASS ", "quote_escape:sym<hex>", " at pos=", rx246_pos)
+ .return (rx246_cur)
+ rx246_restart:
+.annotate 'line', 33
+ rx246_cur."!cursor_debug"("NEXT ", "quote_escape:sym<hex>")
+ rx246_fail:
+ (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0)
+ lt rx246_pos, -1, rx246_done
+ eq rx246_pos, -1, rx246_fail
jump $I10
- rx260_done:
- rx260_cur."!cursor_fail"()
- rx260_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
- .return (rx260_cur)
+ rx246_done:
+ rx246_cur."!cursor_fail"()
+ rx246_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
+ .return (rx246_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("86_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("86_1279589159.66297") :method
.annotate 'line', 33
- new $P262, "ResizablePMCArray"
- push $P262, unicode:"\\x"
- .return ($P262)
+ new $P248, "ResizablePMCArray"
+ push $P248, unicode:"\\x"
+ .return ($P248)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("87_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<oct>" :subid("87_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx266_tgt
- .local int rx266_pos
- .local int rx266_off
- .local int rx266_eos
- .local int rx266_rep
- .local pmc rx266_cur
- (rx266_cur, rx266_pos, rx266_tgt) = self."!cursor_start"()
- rx266_cur."!cursor_debug"("START ", "quote_escape:sym<oct>")
- .lex unicode:"$\x{a2}", rx266_cur
+ .local string rx252_tgt
+ .local int rx252_pos
+ .local int rx252_off
+ .local int rx252_eos
+ .local int rx252_rep
+ .local pmc rx252_cur
+ (rx252_cur, rx252_pos, rx252_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx252_cur
.local pmc match
.lex "$/", match
- length rx266_eos, rx266_tgt
- gt rx266_pos, rx266_eos, rx266_done
- set rx266_off, 0
- lt rx266_pos, 2, rx266_start
- sub rx266_off, rx266_pos, 1
- substr rx266_tgt, rx266_tgt, rx266_off
- rx266_start:
+ length rx252_eos, rx252_tgt
+ gt rx252_pos, rx252_eos, rx252_done
+ set rx252_off, 0
+ lt rx252_pos, 2, rx252_start
+ sub rx252_off, rx252_pos, 1
+ substr rx252_tgt, rx252_tgt, rx252_off
+ rx252_start:
+ eq $I10, 1, rx252_restart
+ rx252_cur."!cursor_debug"("START ", "quote_escape:sym<oct>")
$I10 = self.'from'()
- ne $I10, -1, rxscan269_done
- goto rxscan269_scan
- rxscan269_loop:
- ($P10) = rx266_cur."from"()
+ ne $I10, -1, rxscan255_done
+ goto rxscan255_scan
+ rxscan255_loop:
+ ($P10) = rx252_cur."from"()
inc $P10
- set rx266_pos, $P10
- ge rx266_pos, rx266_eos, rxscan269_done
- rxscan269_scan:
- set_addr $I10, rxscan269_loop
- rx266_cur."!mark_push"(0, rx266_pos, $I10)
- rxscan269_done:
+ set rx252_pos, $P10
+ ge rx252_pos, rx252_eos, rxscan255_done
+ rxscan255_scan:
+ set_addr $I10, rxscan255_loop
+ rx252_cur."!mark_push"(0, rx252_pos, $I10)
+ rxscan255_done:
.annotate 'line', 94
# rx literal "\\o"
- add $I11, rx266_pos, 2
- gt $I11, rx266_eos, rx266_fail
- sub $I11, rx266_pos, rx266_off
- substr $S10, rx266_tgt, $I11, 2
- ne $S10, "\\o", rx266_fail
- add rx266_pos, 2
+ add $I11, rx252_pos, 2
+ gt $I11, rx252_eos, rx252_fail
+ sub $I11, rx252_pos, rx252_off
+ substr $S10, rx252_tgt, $I11, 2
+ ne $S10, "\\o", rx252_fail
+ add rx252_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx266_cur."!cursor_pos"(rx266_pos)
- $P10 = rx266_cur."quotemod_check"("b")
- unless $P10, rx266_fail
- alt270_0:
+ rx252_cur."!cursor_pos"(rx252_pos)
+ $P10 = rx252_cur."quotemod_check"("b")
+ unless $P10, rx252_fail
+ alt256_0:
.annotate 'line', 95
- set_addr $I10, alt270_1
- rx266_cur."!mark_push"(0, rx266_pos, $I10)
+ set_addr $I10, alt256_1
+ rx252_cur."!mark_push"(0, rx252_pos, $I10)
# rx subrule "octint" subtype=capture negate=
- rx266_cur."!cursor_pos"(rx266_pos)
- $P10 = rx266_cur."octint"()
- unless $P10, rx266_fail
- rx266_cur."!mark_push"(0, -1, 0, $P10)
+ rx252_cur."!cursor_pos"(rx252_pos)
+ $P10 = rx252_cur."octint"()
+ unless $P10, rx252_fail
+ rx252_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("octint")
- rx266_pos = $P10."pos"()
- goto alt270_end
- alt270_1:
+ rx252_pos = $P10."pos"()
+ goto alt256_end
+ alt256_1:
# rx literal "["
- add $I11, rx266_pos, 1
- gt $I11, rx266_eos, rx266_fail
- sub $I11, rx266_pos, rx266_off
- substr $S10, rx266_tgt, $I11, 1
- ne $S10, "[", rx266_fail
- add rx266_pos, 1
+ add $I11, rx252_pos, 1
+ gt $I11, rx252_eos, rx252_fail
+ sub $I11, rx252_pos, rx252_off
+ substr $S10, rx252_tgt, $I11, 1
+ ne $S10, "[", rx252_fail
+ add rx252_pos, 1
# rx subrule "octints" subtype=capture negate=
- rx266_cur."!cursor_pos"(rx266_pos)
- $P10 = rx266_cur."octints"()
- unless $P10, rx266_fail
- rx266_cur."!mark_push"(0, -1, 0, $P10)
+ rx252_cur."!cursor_pos"(rx252_pos)
+ $P10 = rx252_cur."octints"()
+ unless $P10, rx252_fail
+ rx252_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("octints")
- rx266_pos = $P10."pos"()
+ rx252_pos = $P10."pos"()
# rx literal "]"
- add $I11, rx266_pos, 1
- gt $I11, rx266_eos, rx266_fail
- sub $I11, rx266_pos, rx266_off
- substr $S10, rx266_tgt, $I11, 1
- ne $S10, "]", rx266_fail
- add rx266_pos, 1
- alt270_end:
+ add $I11, rx252_pos, 1
+ gt $I11, rx252_eos, rx252_fail
+ sub $I11, rx252_pos, rx252_off
+ substr $S10, rx252_tgt, $I11, 1
+ ne $S10, "]", rx252_fail
+ add rx252_pos, 1
+ alt256_end:
.annotate 'line', 93
# rx pass
- rx266_cur."!cursor_pass"(rx266_pos, "quote_escape:sym<oct>")
- rx266_cur."!cursor_debug"("PASS ", "quote_escape:sym<oct>", " at pos=", rx266_pos)
- .return (rx266_cur)
- rx266_fail:
-.annotate 'line', 33
- (rx266_rep, rx266_pos, $I10, $P10) = rx266_cur."!mark_fail"(0)
- lt rx266_pos, -1, rx266_done
- eq rx266_pos, -1, rx266_fail
+ rx252_cur."!cursor_pass"(rx252_pos, "quote_escape:sym<oct>")
+ rx252_cur."!cursor_debug"("PASS ", "quote_escape:sym<oct>", " at pos=", rx252_pos)
+ .return (rx252_cur)
+ rx252_restart:
+.annotate 'line', 33
+ rx252_cur."!cursor_debug"("NEXT ", "quote_escape:sym<oct>")
+ rx252_fail:
+ (rx252_rep, rx252_pos, $I10, $P10) = rx252_cur."!mark_fail"(0)
+ lt rx252_pos, -1, rx252_done
+ eq rx252_pos, -1, rx252_fail
jump $I10
- rx266_done:
- rx266_cur."!cursor_fail"()
- rx266_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
- .return (rx266_cur)
+ rx252_done:
+ rx252_cur."!cursor_fail"()
+ rx252_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
+ .return (rx252_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("88_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("88_1279589159.66297") :method
.annotate 'line', 33
- new $P268, "ResizablePMCArray"
- push $P268, "\\o"
- .return ($P268)
+ new $P254, "ResizablePMCArray"
+ push $P254, "\\o"
+ .return ($P254)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("89_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<chr>" :subid("89_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx272_tgt
- .local int rx272_pos
- .local int rx272_off
- .local int rx272_eos
- .local int rx272_rep
- .local pmc rx272_cur
- (rx272_cur, rx272_pos, rx272_tgt) = self."!cursor_start"()
- rx272_cur."!cursor_debug"("START ", "quote_escape:sym<chr>")
- .lex unicode:"$\x{a2}", rx272_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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx258_cur
.local pmc match
.lex "$/", match
- length rx272_eos, rx272_tgt
- gt rx272_pos, rx272_eos, rx272_done
- set rx272_off, 0
- lt rx272_pos, 2, rx272_start
- sub rx272_off, rx272_pos, 1
- substr rx272_tgt, rx272_tgt, rx272_off
- rx272_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:
+ eq $I10, 1, rx258_restart
+ rx258_cur."!cursor_debug"("START ", "quote_escape:sym<chr>")
$I10 = self.'from'()
- ne $I10, -1, rxscan275_done
- goto rxscan275_scan
- rxscan275_loop:
- ($P10) = rx272_cur."from"()
+ ne $I10, -1, rxscan261_done
+ goto rxscan261_scan
+ rxscan261_loop:
+ ($P10) = rx258_cur."from"()
inc $P10
- set rx272_pos, $P10
- ge rx272_pos, rx272_eos, rxscan275_done
- rxscan275_scan:
- set_addr $I10, rxscan275_loop
- rx272_cur."!mark_push"(0, rx272_pos, $I10)
- rxscan275_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', 97
# rx literal "\\c"
- add $I11, rx272_pos, 2
- gt $I11, rx272_eos, rx272_fail
- sub $I11, rx272_pos, rx272_off
- substr $S10, rx272_tgt, $I11, 2
- ne $S10, "\\c", rx272_fail
- add rx272_pos, 2
+ add $I11, rx258_pos, 2
+ gt $I11, rx258_eos, rx258_fail
+ sub $I11, rx258_pos, rx258_off
+ substr $S10, rx258_tgt, $I11, 2
+ ne $S10, "\\c", rx258_fail
+ add rx258_pos, 2
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx272_cur."!cursor_pos"(rx272_pos)
- $P10 = rx272_cur."quotemod_check"("b")
- unless $P10, rx272_fail
+ rx258_cur."!cursor_pos"(rx258_pos)
+ $P10 = rx258_cur."quotemod_check"("b")
+ unless $P10, rx258_fail
# rx subrule "charspec" subtype=capture negate=
- rx272_cur."!cursor_pos"(rx272_pos)
- $P10 = rx272_cur."charspec"()
- unless $P10, rx272_fail
- rx272_cur."!mark_push"(0, -1, 0, $P10)
+ rx258_cur."!cursor_pos"(rx258_pos)
+ $P10 = rx258_cur."charspec"()
+ unless $P10, rx258_fail
+ rx258_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charspec")
- rx272_pos = $P10."pos"()
+ rx258_pos = $P10."pos"()
# rx pass
- rx272_cur."!cursor_pass"(rx272_pos, "quote_escape:sym<chr>")
- rx272_cur."!cursor_debug"("PASS ", "quote_escape:sym<chr>", " at pos=", rx272_pos)
- .return (rx272_cur)
- rx272_fail:
-.annotate 'line', 33
- (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
- lt rx272_pos, -1, rx272_done
- eq rx272_pos, -1, rx272_fail
+ rx258_cur."!cursor_pass"(rx258_pos, "quote_escape:sym<chr>")
+ rx258_cur."!cursor_debug"("PASS ", "quote_escape:sym<chr>", " at pos=", rx258_pos)
+ .return (rx258_cur)
+ rx258_restart:
+.annotate 'line', 33
+ rx258_cur."!cursor_debug"("NEXT ", "quote_escape:sym<chr>")
+ rx258_fail:
+ (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
- rx272_done:
- rx272_cur."!cursor_fail"()
- rx272_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
- .return (rx272_cur)
+ rx258_done:
+ rx258_cur."!cursor_fail"()
+ rx258_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
+ .return (rx258_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("90_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("90_1279589159.66297") :method
.annotate 'line', 33
- new $P274, "ResizablePMCArray"
- push $P274, "\\c"
- .return ($P274)
+ new $P260, "ResizablePMCArray"
+ push $P260, "\\c"
+ .return ($P260)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("91_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<0>" :subid("91_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx277_tgt
- .local int rx277_pos
- .local int rx277_off
- .local int rx277_eos
- .local int rx277_rep
- .local pmc rx277_cur
- (rx277_cur, rx277_pos, rx277_tgt) = self."!cursor_start"()
- rx277_cur."!cursor_debug"("START ", "quote_escape:sym<0>")
- .lex unicode:"$\x{a2}", rx277_cur
+ .local string rx263_tgt
+ .local int rx263_pos
+ .local int rx263_off
+ .local int rx263_eos
+ .local int rx263_rep
+ .local pmc rx263_cur
+ (rx263_cur, rx263_pos, rx263_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx263_cur
.local pmc match
.lex "$/", match
- length rx277_eos, rx277_tgt
- gt rx277_pos, rx277_eos, rx277_done
- set rx277_off, 0
- lt rx277_pos, 2, rx277_start
- sub rx277_off, rx277_pos, 1
- substr rx277_tgt, rx277_tgt, rx277_off
- rx277_start:
+ length rx263_eos, rx263_tgt
+ gt rx263_pos, rx263_eos, rx263_done
+ set rx263_off, 0
+ lt rx263_pos, 2, rx263_start
+ sub rx263_off, rx263_pos, 1
+ substr rx263_tgt, rx263_tgt, rx263_off
+ rx263_start:
+ eq $I10, 1, rx263_restart
+ rx263_cur."!cursor_debug"("START ", "quote_escape:sym<0>")
$I10 = self.'from'()
- ne $I10, -1, rxscan280_done
- goto rxscan280_scan
- rxscan280_loop:
- ($P10) = rx277_cur."from"()
+ ne $I10, -1, rxscan266_done
+ goto rxscan266_scan
+ rxscan266_loop:
+ ($P10) = rx263_cur."from"()
inc $P10
- set rx277_pos, $P10
- ge rx277_pos, rx277_eos, rxscan280_done
- rxscan280_scan:
- set_addr $I10, rxscan280_loop
- rx277_cur."!mark_push"(0, rx277_pos, $I10)
- rxscan280_done:
+ set rx263_pos, $P10
+ ge rx263_pos, rx263_eos, rxscan266_done
+ rxscan266_scan:
+ set_addr $I10, rxscan266_loop
+ rx263_cur."!mark_push"(0, rx263_pos, $I10)
+ rxscan266_done:
.annotate 'line', 98
# rx literal "\\"
- add $I11, rx277_pos, 1
- gt $I11, rx277_eos, rx277_fail
- sub $I11, rx277_pos, rx277_off
- substr $S10, rx277_tgt, $I11, 1
- ne $S10, "\\", rx277_fail
- add rx277_pos, 1
+ add $I11, rx263_pos, 1
+ gt $I11, rx263_eos, rx263_fail
+ sub $I11, rx263_pos, rx263_off
+ substr $S10, rx263_tgt, $I11, 1
+ ne $S10, "\\", rx263_fail
+ add rx263_pos, 1
# rx subcapture "sym"
- set_addr $I10, rxcap_281_fail
- rx277_cur."!mark_push"(0, rx277_pos, $I10)
+ set_addr $I10, rxcap_267_fail
+ rx263_cur."!mark_push"(0, rx263_pos, $I10)
# rx literal "0"
- add $I11, rx277_pos, 1
- gt $I11, rx277_eos, rx277_fail
- sub $I11, rx277_pos, rx277_off
- substr $S10, rx277_tgt, $I11, 1
- ne $S10, "0", rx277_fail
- add rx277_pos, 1
- set_addr $I10, rxcap_281_fail
- ($I12, $I11) = rx277_cur."!mark_peek"($I10)
- rx277_cur."!cursor_pos"($I11)
- ($P10) = rx277_cur."!cursor_start"()
- $P10."!cursor_pass"(rx277_pos, "")
- rx277_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx263_pos, 1
+ gt $I11, rx263_eos, rx263_fail
+ sub $I11, rx263_pos, rx263_off
+ substr $S10, rx263_tgt, $I11, 1
+ ne $S10, "0", rx263_fail
+ add rx263_pos, 1
+ set_addr $I10, rxcap_267_fail
+ ($I12, $I11) = rx263_cur."!mark_peek"($I10)
+ rx263_cur."!cursor_pos"($I11)
+ ($P10) = rx263_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx263_pos, "")
+ rx263_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_281_done
- rxcap_281_fail:
- goto rx277_fail
- rxcap_281_done:
+ goto rxcap_267_done
+ rxcap_267_fail:
+ goto rx263_fail
+ rxcap_267_done:
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx277_cur."!cursor_pos"(rx277_pos)
- $P10 = rx277_cur."quotemod_check"("b")
- unless $P10, rx277_fail
+ rx263_cur."!cursor_pos"(rx263_pos)
+ $P10 = rx263_cur."quotemod_check"("b")
+ unless $P10, rx263_fail
# rx pass
- rx277_cur."!cursor_pass"(rx277_pos, "quote_escape:sym<0>")
- rx277_cur."!cursor_debug"("PASS ", "quote_escape:sym<0>", " at pos=", rx277_pos)
- .return (rx277_cur)
- rx277_fail:
-.annotate 'line', 33
- (rx277_rep, rx277_pos, $I10, $P10) = rx277_cur."!mark_fail"(0)
- lt rx277_pos, -1, rx277_done
- eq rx277_pos, -1, rx277_fail
+ rx263_cur."!cursor_pass"(rx263_pos, "quote_escape:sym<0>")
+ rx263_cur."!cursor_debug"("PASS ", "quote_escape:sym<0>", " at pos=", rx263_pos)
+ .return (rx263_cur)
+ rx263_restart:
+.annotate 'line', 33
+ rx263_cur."!cursor_debug"("NEXT ", "quote_escape:sym<0>")
+ rx263_fail:
+ (rx263_rep, rx263_pos, $I10, $P10) = rx263_cur."!mark_fail"(0)
+ lt rx263_pos, -1, rx263_done
+ eq rx263_pos, -1, rx263_fail
jump $I10
- rx277_done:
- rx277_cur."!cursor_fail"()
- rx277_cur."!cursor_debug"("FAIL ", "quote_escape:sym<0>")
- .return (rx277_cur)
+ rx263_done:
+ rx263_cur."!cursor_fail"()
+ rx263_cur."!cursor_debug"("FAIL ", "quote_escape:sym<0>")
+ .return (rx263_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1279589159.66297") :method
.annotate 'line', 33
- new $P279, "ResizablePMCArray"
- push $P279, "\\0"
- .return ($P279)
+ new $P265, "ResizablePMCArray"
+ push $P265, "\\0"
+ .return ($P265)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("93_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "quote_escape:sym<misc>" :subid("93_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .const 'Sub' $P302 = "97_1278500527.62277"
- capture_lex $P302
- .const 'Sub' $P295 = "96_1278500527.62277"
- capture_lex $P295
- .const 'Sub' $P290 = "95_1278500527.62277"
- capture_lex $P290
- .local string rx283_tgt
- .local int rx283_pos
- .local int rx283_off
- .local int rx283_eos
- .local int rx283_rep
- .local pmc rx283_cur
- (rx283_cur, rx283_pos, rx283_tgt) = self."!cursor_start"()
- rx283_cur."!cursor_debug"("START ", "quote_escape:sym<misc>")
- .lex unicode:"$\x{a2}", rx283_cur
+ .const 'Sub' $P288 = "97_1279589159.66297"
+ capture_lex $P288
+ .const 'Sub' $P281 = "96_1279589159.66297"
+ capture_lex $P281
+ .const 'Sub' $P276 = "95_1279589159.66297"
+ capture_lex $P276
+ .local string rx269_tgt
+ .local int rx269_pos
+ .local int rx269_off
+ .local int rx269_eos
+ .local int rx269_rep
+ .local pmc rx269_cur
+ (rx269_cur, rx269_pos, rx269_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx269_cur
.local pmc match
.lex "$/", match
- length rx283_eos, rx283_tgt
- gt rx283_pos, rx283_eos, rx283_done
- set rx283_off, 0
- lt rx283_pos, 2, rx283_start
- sub rx283_off, rx283_pos, 1
- substr rx283_tgt, rx283_tgt, rx283_off
- rx283_start:
+ length rx269_eos, rx269_tgt
+ gt rx269_pos, rx269_eos, rx269_done
+ set rx269_off, 0
+ lt rx269_pos, 2, rx269_start
+ sub rx269_off, rx269_pos, 1
+ substr rx269_tgt, rx269_tgt, rx269_off
+ rx269_start:
+ eq $I10, 1, rx269_restart
+ rx269_cur."!cursor_debug"("START ", "quote_escape:sym<misc>")
$I10 = self.'from'()
- ne $I10, -1, rxscan286_done
- goto rxscan286_scan
- rxscan286_loop:
- ($P10) = rx283_cur."from"()
+ ne $I10, -1, rxscan272_done
+ goto rxscan272_scan
+ rxscan272_loop:
+ ($P10) = rx269_cur."from"()
inc $P10
- set rx283_pos, $P10
- ge rx283_pos, rx283_eos, rxscan286_done
- rxscan286_scan:
- set_addr $I10, rxscan286_loop
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
- rxscan286_done:
+ set rx269_pos, $P10
+ ge rx269_pos, rx269_eos, rxscan272_done
+ rxscan272_scan:
+ set_addr $I10, rxscan272_loop
+ rx269_cur."!mark_push"(0, rx269_pos, $I10)
+ rxscan272_done:
.annotate 'line', 100
- rx283_cur."!cursor_pos"(rx283_pos)
- find_lex $P287, unicode:"$\x{a2}"
- $P288 = $P287."MATCH"()
- store_lex "$/", $P288
- .const 'Sub' $P290 = "95_1278500527.62277"
- capture_lex $P290
- $P291 = $P290()
+ rx269_cur."!cursor_pos"(rx269_pos)
+ find_lex $P273, unicode:"$\x{a2}"
+ $P274 = $P273."MATCH"()
+ store_lex "$/", $P274
+ .const 'Sub' $P276 = "95_1279589159.66297"
+ capture_lex $P276
+ $P277 = $P276()
# rx literal "\\"
- add $I11, rx283_pos, 1
- gt $I11, rx283_eos, rx283_fail
- sub $I11, rx283_pos, rx283_off
- substr $S10, rx283_tgt, $I11, 1
- ne $S10, "\\", rx283_fail
- add rx283_pos, 1
- alt292_0:
+ add $I11, rx269_pos, 1
+ gt $I11, rx269_eos, rx269_fail
+ sub $I11, rx269_pos, rx269_off
+ substr $S10, rx269_tgt, $I11, 1
+ ne $S10, "\\", rx269_fail
+ add rx269_pos, 1
+ alt278_0:
.annotate 'line', 101
- set_addr $I10, alt292_1
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, alt278_1
+ rx269_cur."!mark_push"(0, rx269_pos, $I10)
.annotate 'line', 102
# rx subrule "quotemod_check" subtype=zerowidth negate=
- rx283_cur."!cursor_pos"(rx283_pos)
- $P10 = rx283_cur."quotemod_check"("b")
- unless $P10, rx283_fail
- alt293_0:
+ rx269_cur."!cursor_pos"(rx269_pos)
+ $P10 = rx269_cur."quotemod_check"("b")
+ unless $P10, rx269_fail
+ alt279_0:
.annotate 'line', 103
- set_addr $I10, alt293_1
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, alt279_1
+ rx269_cur."!mark_push"(0, rx269_pos, $I10)
.annotate 'line', 104
- # rx subrule $P295 subtype=capture negate=
- rx283_cur."!cursor_pos"(rx283_pos)
- .const 'Sub' $P295 = "96_1278500527.62277"
- capture_lex $P295
- $P10 = rx283_cur.$P295()
- unless $P10, rx283_fail
- rx283_cur."!mark_push"(0, -1, 0, $P10)
+ # rx subrule $P281 subtype=capture negate=
+ rx269_cur."!cursor_pos"(rx269_pos)
+ .const 'Sub' $P281 = "96_1279589159.66297"
+ capture_lex $P281
+ $P10 = rx269_cur.$P281()
+ unless $P10, rx269_fail
+ rx269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("textqq")
- rx283_pos = $P10."pos"()
- goto alt293_end
- alt293_1:
+ rx269_pos = $P10."pos"()
+ goto alt279_end
+ alt279_1:
.annotate 'line', 105
# rx subcapture "x"
- set_addr $I10, rxcap_298_fail
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, rxcap_284_fail
+ rx269_cur."!mark_push"(0, rx269_pos, $I10)
# rx charclass w
- ge rx283_pos, rx283_eos, rx283_fail
- sub $I10, rx283_pos, rx283_off
- is_cclass $I11, 8192, rx283_tgt, $I10
- unless $I11, rx283_fail
- inc rx283_pos
- set_addr $I10, rxcap_298_fail
- ($I12, $I11) = rx283_cur."!mark_peek"($I10)
- rx283_cur."!cursor_pos"($I11)
- ($P10) = rx283_cur."!cursor_start"()
- $P10."!cursor_pass"(rx283_pos, "")
- rx283_cur."!mark_push"(0, -1, 0, $P10)
+ ge rx269_pos, rx269_eos, rx269_fail
+ sub $I10, rx269_pos, rx269_off
+ is_cclass $I11, 8192, rx269_tgt, $I10
+ unless $I11, rx269_fail
+ inc rx269_pos
+ set_addr $I10, rxcap_284_fail
+ ($I12, $I11) = rx269_cur."!mark_peek"($I10)
+ rx269_cur."!cursor_pos"($I11)
+ ($P10) = rx269_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx269_pos, "")
+ rx269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("x")
- goto rxcap_298_done
- rxcap_298_fail:
- goto rx283_fail
- rxcap_298_done:
- rx283_cur."!cursor_pos"(rx283_pos)
- find_lex $P299, unicode:"$\x{a2}"
- $P300 = $P299."MATCH"()
- store_lex "$/", $P300
- .const 'Sub' $P302 = "97_1278500527.62277"
- capture_lex $P302
- $P312 = $P302()
- alt293_end:
+ goto rxcap_284_done
+ rxcap_284_fail:
+ goto rx269_fail
+ rxcap_284_done:
+ rx269_cur."!cursor_pos"(rx269_pos)
+ find_lex $P285, unicode:"$\x{a2}"
+ $P286 = $P285."MATCH"()
+ store_lex "$/", $P286
+ .const 'Sub' $P288 = "97_1279589159.66297"
+ capture_lex $P288
+ $P298 = $P288()
+ alt279_end:
.annotate 'line', 102
- goto alt292_end
- alt292_1:
+ goto alt278_end
+ alt278_1:
.annotate 'line', 107
# rx subcapture "textq"
- set_addr $I10, rxcap_313_fail
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, rxcap_299_fail
+ rx269_cur."!mark_push"(0, rx269_pos, $I10)
# rx charclass .
- ge rx283_pos, rx283_eos, rx283_fail
- inc rx283_pos
- set_addr $I10, rxcap_313_fail
- ($I12, $I11) = rx283_cur."!mark_peek"($I10)
- rx283_cur."!cursor_pos"($I11)
- ($P10) = rx283_cur."!cursor_start"()
- $P10."!cursor_pass"(rx283_pos, "")
- rx283_cur."!mark_push"(0, -1, 0, $P10)
+ ge rx269_pos, rx269_eos, rx269_fail
+ inc rx269_pos
+ set_addr $I10, rxcap_299_fail
+ ($I12, $I11) = rx269_cur."!mark_peek"($I10)
+ rx269_cur."!cursor_pos"($I11)
+ ($P10) = rx269_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx269_pos, "")
+ rx269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("textq")
- goto rxcap_313_done
- rxcap_313_fail:
- goto rx283_fail
- rxcap_313_done:
- alt292_end:
+ goto rxcap_299_done
+ rxcap_299_fail:
+ goto rx269_fail
+ rxcap_299_done:
+ alt278_end:
.annotate 'line', 99
# rx pass
- rx283_cur."!cursor_pass"(rx283_pos, "quote_escape:sym<misc>")
- rx283_cur."!cursor_debug"("PASS ", "quote_escape:sym<misc>", " at pos=", rx283_pos)
- .return (rx283_cur)
- rx283_fail:
-.annotate 'line', 33
- (rx283_rep, rx283_pos, $I10, $P10) = rx283_cur."!mark_fail"(0)
- lt rx283_pos, -1, rx283_done
- eq rx283_pos, -1, rx283_fail
+ rx269_cur."!cursor_pass"(rx269_pos, "quote_escape:sym<misc>")
+ rx269_cur."!cursor_debug"("PASS ", "quote_escape:sym<misc>", " at pos=", rx269_pos)
+ .return (rx269_cur)
+ rx269_restart:
+.annotate 'line', 33
+ rx269_cur."!cursor_debug"("NEXT ", "quote_escape:sym<misc>")
+ rx269_fail:
+ (rx269_rep, rx269_pos, $I10, $P10) = rx269_cur."!mark_fail"(0)
+ lt rx269_pos, -1, rx269_done
+ eq rx269_pos, -1, rx269_fail
jump $I10
- rx283_done:
- rx283_cur."!cursor_fail"()
- rx283_cur."!cursor_debug"("FAIL ", "quote_escape:sym<misc>")
- .return (rx283_cur)
+ rx269_done:
+ rx269_cur."!cursor_fail"()
+ rx269_cur."!cursor_debug"("FAIL ", "quote_escape:sym<misc>")
+ .return (rx269_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("94_1278500527.62277") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("94_1279589159.66297") :method
.annotate 'line', 33
- new $P285, "ResizablePMCArray"
- push $P285, ""
- .return ($P285)
+ new $P271, "ResizablePMCArray"
+ push $P271, ""
+ .return ($P271)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block289" :anon :subid("95_1278500527.62277") :outer("93_1278500527.62277")
+.sub "_block275" :anon :subid("95_1279589159.66297") :outer("93_1279589159.66297")
.annotate 'line', 100
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block294" :anon :subid("96_1278500527.62277") :method :outer("93_1278500527.62277")
+.sub "_block280" :anon :subid("96_1279589159.66297") :method :outer("93_1279589159.66297")
.annotate 'line', 104
- .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 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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx282_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 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:
+ eq $I10, 1, rx282_restart
+ rx282_cur."!cursor_debug"("START ", "")
$I10 = self.'from'()
- ne $I10, -1, rxscan297_done
- goto rxscan297_scan
- rxscan297_loop:
- ($P10) = rx296_cur."from"()
+ ne $I10, -1, rxscan283_done
+ goto rxscan283_scan
+ rxscan283_loop:
+ ($P10) = rx282_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 rx282_pos, $P10
+ ge rx282_pos, rx282_eos, rxscan283_done
+ rxscan283_scan:
+ set_addr $I10, rxscan283_loop
+ rx282_cur."!mark_push"(0, rx282_pos, $I10)
+ rxscan283_done:
# rx charclass W
- ge rx296_pos, rx296_eos, rx296_fail
- sub $I10, rx296_pos, rx296_off
- is_cclass $I11, 8192, rx296_tgt, $I10
- if $I11, rx296_fail
- inc rx296_pos
+ ge rx282_pos, rx282_eos, rx282_fail
+ sub $I10, rx282_pos, rx282_off
+ is_cclass $I11, 8192, rx282_tgt, $I10
+ if $I11, rx282_fail
+ inc rx282_pos
# 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
+ rx282_cur."!cursor_pass"(rx282_pos, "")
+ rx282_cur."!cursor_debug"("PASS ", "", " at pos=", rx282_pos)
+ .return (rx282_cur)
+ rx282_restart:
+ rx282_cur."!cursor_debug"("NEXT ", "")
+ rx282_fail:
+ (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
- rx296_done:
- rx296_cur."!cursor_fail"()
- rx296_cur."!cursor_debug"("FAIL ", "")
- .return (rx296_cur)
+ rx282_done:
+ rx282_cur."!cursor_fail"()
+ rx282_cur."!cursor_debug"("FAIL ", "")
+ .return (rx282_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block301" :anon :subid("97_1278500527.62277") :outer("93_1278500527.62277")
+.sub "_block287" :anon :subid("97_1279589159.66297") :outer("93_1279589159.66297")
.annotate 'line', 105
- find_lex $P303, "$/"
- $P304 = $P303."CURSOR"()
- new $P305, "String"
- assign $P305, "Unrecognized backslash sequence: '\\"
- find_lex $P306, "$/"
- unless_null $P306, vivify_108
- $P306 = root_new ['parrot';'Hash']
+ find_lex $P289, "$/"
+ $P290 = $P289."CURSOR"()
+ new $P291, "String"
+ assign $P291, "Unrecognized backslash sequence: '\\"
+ find_lex $P292, "$/"
+ unless_null $P292, vivify_108
+ $P292 = root_new ['parrot';'Hash']
vivify_108:
- set $P307, $P306["x"]
- unless_null $P307, vivify_109
- new $P307, "Undef"
+ set $P293, $P292["x"]
+ unless_null $P293, vivify_109
+ new $P293, "Undef"
vivify_109:
- $S308 = $P307."Str"()
- concat $P309, $P305, $S308
- concat $P310, $P309, "'"
- $P311 = $P304."panic"($P310)
- .return ($P311)
+ $S294 = $P293."Str"()
+ concat $P295, $P291, $S294
+ concat $P296, $P295, "'"
+ $P297 = $P290."panic"($P296)
+ .return ($P297)
.end
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("98_1278500527.62277") :method :outer("11_1278500527.62277")
-.annotate 'line', 33
- .const 'Sub' $P324 = "100_1278500527.62277"
- capture_lex $P324
- .local string rx315_tgt
- .local int rx315_pos
- .local int rx315_off
- .local int rx315_eos
- .local int rx315_rep
- .local pmc rx315_cur
- (rx315_cur, rx315_pos, rx315_tgt) = self."!cursor_start"()
- rx315_cur."!cursor_debug"("START ", "charname")
- .lex unicode:"$\x{a2}", rx315_cur
+.sub "charname" :subid("98_1279589159.66297") :method :outer("11_1279589159.66297")
+.annotate 'line', 33
+ .const 'Sub' $P310 = "100_1279589159.66297"
+ capture_lex $P310
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx301_cur
.local pmc match
.lex "$/", match
- length rx315_eos, rx315_tgt
- gt rx315_pos, rx315_eos, rx315_done
- set rx315_off, 0
- lt rx315_pos, 2, rx315_start
- sub rx315_off, rx315_pos, 1
- substr rx315_tgt, rx315_tgt, rx315_off
- rx315_start:
+ 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:
+ eq $I10, 1, rx301_restart
+ rx301_cur."!cursor_debug"("START ", "charname")
$I10 = self.'from'()
- ne $I10, -1, rxscan319_done
- goto rxscan319_scan
- rxscan319_loop:
- ($P10) = rx315_cur."from"()
+ ne $I10, -1, rxscan305_done
+ goto rxscan305_scan
+ rxscan305_loop:
+ ($P10) = rx301_cur."from"()
inc $P10
- set rx315_pos, $P10
- ge rx315_pos, rx315_eos, rxscan319_done
- rxscan319_scan:
- set_addr $I10, rxscan319_loop
- rx315_cur."!mark_push"(0, rx315_pos, $I10)
- rxscan319_done:
- alt320_0:
+ set rx301_pos, $P10
+ ge rx301_pos, rx301_eos, rxscan305_done
+ rxscan305_scan:
+ set_addr $I10, rxscan305_loop
+ rx301_cur."!mark_push"(0, rx301_pos, $I10)
+ rxscan305_done:
+ alt306_0:
.annotate 'line', 111
- set_addr $I10, alt320_1
- rx315_cur."!mark_push"(0, rx315_pos, $I10)
+ set_addr $I10, alt306_1
+ rx301_cur."!mark_push"(0, rx301_pos, $I10)
.annotate 'line', 112
# rx subrule "integer" subtype=capture negate=
- rx315_cur."!cursor_pos"(rx315_pos)
- $P10 = rx315_cur."integer"()
- unless $P10, rx315_fail
- rx315_cur."!mark_push"(0, -1, 0, $P10)
+ rx301_cur."!cursor_pos"(rx301_pos)
+ $P10 = rx301_cur."integer"()
+ unless $P10, rx301_fail
+ rx301_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("integer")
- rx315_pos = $P10."pos"()
- goto alt320_end
- alt320_1:
+ rx301_pos = $P10."pos"()
+ goto alt306_end
+ alt306_1:
.annotate 'line', 113
# rx enumcharlist negate=0
- ge rx315_pos, rx315_eos, rx315_fail
- sub $I10, rx315_pos, rx315_off
- substr $S10, rx315_tgt, $I10, 1
+ ge rx301_pos, rx301_eos, rx301_fail
+ sub $I10, rx301_pos, rx301_off
+ substr $S10, rx301_tgt, $I10, 1
index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
- lt $I11, 0, rx315_fail
- inc rx315_pos
- # rx rxquantf321 ** 0..*
- set_addr $I10, rxquantf321_loop
- rx315_cur."!mark_push"(0, rx315_pos, $I10)
- goto rxquantf321_done
- rxquantf321_loop:
+ lt $I11, 0, rx301_fail
+ inc rx301_pos
+ # rx rxquantf307 ** 0..*
+ set_addr $I10, rxquantf307_loop
+ rx301_cur."!mark_push"(0, rx301_pos, $I10)
+ goto rxquantf307_done
+ rxquantf307_loop:
# rx enumcharlist negate=1
- ge rx315_pos, rx315_eos, rx315_fail
- sub $I10, rx315_pos, rx315_off
- substr $S10, rx315_tgt, $I10, 1
+ ge rx301_pos, rx301_eos, rx301_fail
+ sub $I10, rx301_pos, rx301_off
+ substr $S10, rx301_tgt, $I10, 1
index $I11, "],#", $S10
- ge $I11, 0, rx315_fail
- inc rx315_pos
- set_addr $I10, rxquantf321_loop
- rx315_cur."!mark_push"($I322, rx315_pos, $I10)
- rxquantf321_done:
+ ge $I11, 0, rx301_fail
+ inc rx301_pos
+ set_addr $I10, rxquantf307_loop
+ rx301_cur."!mark_push"(rx301_rep, rx301_pos, $I10)
+ rxquantf307_done:
# rx enumcharlist negate=0
- ge rx315_pos, rx315_eos, rx315_fail
- sub $I10, rx315_pos, rx315_off
- substr $S10, rx315_tgt, $I10, 1
+ ge rx301_pos, rx301_eos, rx301_fail
+ sub $I10, rx301_pos, rx301_off
+ substr $S10, rx301_tgt, $I10, 1
index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)", $S10
- lt $I11, 0, rx315_fail
- inc rx315_pos
+ lt $I11, 0, rx301_fail
+ inc rx301_pos
.annotate 'line', 114
# rx subrule "before" subtype=zerowidth negate=
- rx315_cur."!cursor_pos"(rx315_pos)
- .const 'Sub' $P324 = "100_1278500527.62277"
- capture_lex $P324
- $P10 = rx315_cur."before"($P324)
- unless $P10, rx315_fail
- alt320_end:
+ rx301_cur."!cursor_pos"(rx301_pos)
+ .const 'Sub' $P310 = "100_1279589159.66297"
+ capture_lex $P310
+ $P10 = rx301_cur."before"($P310)
+ unless $P10, rx301_fail
+ alt306_end:
.annotate 'line', 111
# rx pass
- rx315_cur."!cursor_pass"(rx315_pos, "charname")
- rx315_cur."!cursor_debug"("PASS ", "charname", " at pos=", rx315_pos)
- .return (rx315_cur)
- rx315_fail:
-.annotate 'line', 33
- (rx315_rep, rx315_pos, $I10, $P10) = rx315_cur."!mark_fail"(0)
- lt rx315_pos, -1, rx315_done
- eq rx315_pos, -1, rx315_fail
+ rx301_cur."!cursor_pass"(rx301_pos, "charname")
+ rx301_cur."!cursor_debug"("PASS ", "charname", " at pos=", rx301_pos)
+ .return (rx301_cur)
+ rx301_restart:
+.annotate 'line', 33
+ rx301_cur."!cursor_debug"("NEXT ", "charname")
+ rx301_fail:
+ (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
- rx315_done:
- rx315_cur."!cursor_fail"()
- rx315_cur."!cursor_debug"("FAIL ", "charname")
- .return (rx315_cur)
+ rx301_done:
+ rx301_cur."!cursor_fail"()
+ rx301_cur."!cursor_debug"("FAIL ", "charname")
+ .return (rx301_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("99_1278500527.62277") :method
-.annotate 'line', 33
- $P317 = self."!PREFIX__!subrule"("integer", "")
- new $P318, "ResizablePMCArray"
- push $P318, "Z"
- push $P318, "Y"
- push $P318, "X"
- push $P318, "W"
- push $P318, "V"
- push $P318, "U"
- push $P318, "T"
- push $P318, "S"
- push $P318, "R"
- push $P318, "Q"
- push $P318, "P"
- push $P318, "O"
- push $P318, "N"
- push $P318, "M"
- push $P318, "L"
- push $P318, "K"
- push $P318, "J"
- push $P318, "I"
- push $P318, "H"
- push $P318, "G"
- push $P318, "F"
- push $P318, "E"
- push $P318, "D"
- push $P318, "C"
- push $P318, "B"
- push $P318, "A"
- push $P318, "z"
- push $P318, "y"
- push $P318, "x"
- push $P318, "w"
- push $P318, "v"
- push $P318, "u"
- push $P318, "t"
- push $P318, "s"
- push $P318, "r"
- push $P318, "q"
- push $P318, "p"
- push $P318, "o"
- push $P318, "n"
- push $P318, "m"
- push $P318, "l"
- push $P318, "k"
- push $P318, "j"
- push $P318, "i"
- push $P318, "h"
- push $P318, "g"
- push $P318, "f"
- push $P318, "e"
- push $P318, "d"
- push $P318, "c"
- push $P318, "b"
- push $P318, "a"
- push $P318, $P317
- .return ($P318)
+.sub "!PREFIX__charname" :subid("99_1279589159.66297") :method
+.annotate 'line', 33
+ $P303 = self."!PREFIX__!subrule"("integer", "")
+ new $P304, "ResizablePMCArray"
+ push $P304, "Z"
+ push $P304, "Y"
+ push $P304, "X"
+ push $P304, "W"
+ push $P304, "V"
+ push $P304, "U"
+ push $P304, "T"
+ push $P304, "S"
+ push $P304, "R"
+ push $P304, "Q"
+ push $P304, "P"
+ push $P304, "O"
+ push $P304, "N"
+ push $P304, "M"
+ push $P304, "L"
+ push $P304, "K"
+ push $P304, "J"
+ push $P304, "I"
+ push $P304, "H"
+ push $P304, "G"
+ push $P304, "F"
+ push $P304, "E"
+ push $P304, "D"
+ push $P304, "C"
+ push $P304, "B"
+ push $P304, "A"
+ push $P304, "z"
+ push $P304, "y"
+ push $P304, "x"
+ push $P304, "w"
+ push $P304, "v"
+ push $P304, "u"
+ push $P304, "t"
+ push $P304, "s"
+ push $P304, "r"
+ push $P304, "q"
+ push $P304, "p"
+ push $P304, "o"
+ push $P304, "n"
+ push $P304, "m"
+ push $P304, "l"
+ push $P304, "k"
+ push $P304, "j"
+ push $P304, "i"
+ push $P304, "h"
+ push $P304, "g"
+ push $P304, "f"
+ push $P304, "e"
+ push $P304, "d"
+ push $P304, "c"
+ push $P304, "b"
+ push $P304, "a"
+ push $P304, $P303
+ .return ($P304)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block323" :anon :subid("100_1278500527.62277") :method :outer("98_1278500527.62277")
+.sub "_block309" :anon :subid("100_1279589159.66297") :method :outer("98_1279589159.66297")
.annotate 'line', 114
- .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 ", "")
- .lex unicode:"$\x{a2}", rx325_cur
+ .local string rx311_tgt
+ .local int rx311_pos
+ .local int rx311_off
+ .local int rx311_eos
+ .local int rx311_rep
+ .local pmc rx311_cur
+ (rx311_cur, rx311_pos, rx311_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx311_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx311_eos, rx311_tgt
+ gt rx311_pos, rx311_eos, rx311_done
+ set rx311_off, 0
+ lt rx311_pos, 2, rx311_start
+ sub rx311_off, rx311_pos, 1
+ substr rx311_tgt, rx311_tgt, rx311_off
+ rx311_start:
+ eq $I10, 1, rx311_restart
+ rx311_cur."!cursor_debug"("START ", "")
$I10 = self.'from'()
- ne $I10, -1, rxscan326_done
- goto rxscan326_scan
- rxscan326_loop:
- ($P10) = rx325_cur."from"()
+ ne $I10, -1, rxscan312_done
+ goto rxscan312_scan
+ rxscan312_loop:
+ ($P10) = rx311_cur."from"()
inc $P10
- set rx325_pos, $P10
- ge rx325_pos, rx325_eos, rxscan326_done
- rxscan326_scan:
- set_addr $I10, rxscan326_loop
- rx325_cur."!mark_push"(0, rx325_pos, $I10)
- rxscan326_done:
+ set rx311_pos, $P10
+ ge rx311_pos, rx311_eos, rxscan312_done
+ rxscan312_scan:
+ set_addr $I10, rxscan312_loop
+ rx311_cur."!mark_push"(0, rx311_pos, $I10)
+ rxscan312_done:
# rx charclass_q s r 0..-1
- sub $I10, rx325_pos, rx325_off
- find_not_cclass $I11, 32, rx325_tgt, $I10, rx325_eos
- add rx325_pos, rx325_off, $I11
+ sub $I10, rx311_pos, rx311_off
+ find_not_cclass $I11, 32, rx311_tgt, $I10, rx311_eos
+ add rx311_pos, rx311_off, $I11
# rx enumcharlist negate=0
- ge rx325_pos, rx325_eos, rx325_fail
- sub $I10, rx325_pos, rx325_off
- substr $S10, rx325_tgt, $I10, 1
+ ge rx311_pos, rx311_eos, rx311_fail
+ sub $I10, rx311_pos, rx311_off
+ substr $S10, rx311_tgt, $I10, 1
index $I11, "],#", $S10
- lt $I11, 0, rx325_fail
- inc rx325_pos
+ lt $I11, 0, rx311_fail
+ inc rx311_pos
# rx pass
- rx325_cur."!cursor_pass"(rx325_pos, "")
- rx325_cur."!cursor_debug"("PASS ", "", " at pos=", rx325_pos)
- .return (rx325_cur)
- rx325_fail:
- (rx325_rep, rx325_pos, $I10, $P10) = rx325_cur."!mark_fail"(0)
- lt rx325_pos, -1, rx325_done
- eq rx325_pos, -1, rx325_fail
+ rx311_cur."!cursor_pass"(rx311_pos, "")
+ rx311_cur."!cursor_debug"("PASS ", "", " at pos=", rx311_pos)
+ .return (rx311_cur)
+ rx311_restart:
+ rx311_cur."!cursor_debug"("NEXT ", "")
+ rx311_fail:
+ (rx311_rep, rx311_pos, $I10, $P10) = rx311_cur."!mark_fail"(0)
+ lt rx311_pos, -1, rx311_done
+ eq rx311_pos, -1, rx311_fail
jump $I10
- rx325_done:
- rx325_cur."!cursor_fail"()
- rx325_cur."!cursor_debug"("FAIL ", "")
- .return (rx325_cur)
+ rx311_done:
+ rx311_cur."!cursor_fail"()
+ rx311_cur."!cursor_debug"("FAIL ", "")
+ .return (rx311_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("101_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "charnames" :subid("101_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx328_tgt
- .local int rx328_pos
- .local int rx328_off
- .local int rx328_eos
- .local int rx328_rep
- .local pmc rx328_cur
- (rx328_cur, rx328_pos, rx328_tgt) = self."!cursor_start"()
- rx328_cur."!cursor_debug"("START ", "charnames")
- rx328_cur."!cursor_caparray"("charname")
- .lex unicode:"$\x{a2}", rx328_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, $I10) = self."!cursor_start"()
+ rx314_cur."!cursor_caparray"("charname")
+ .lex unicode:"$\x{a2}", rx314_cur
.local pmc match
.lex "$/", match
- length rx328_eos, rx328_tgt
- gt rx328_pos, rx328_eos, rx328_done
- set rx328_off, 0
- lt rx328_pos, 2, rx328_start
- sub rx328_off, rx328_pos, 1
- substr rx328_tgt, rx328_tgt, rx328_off
- rx328_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:
+ eq $I10, 1, rx314_restart
+ rx314_cur."!cursor_debug"("START ", "charnames")
$I10 = self.'from'()
- ne $I10, -1, rxscan331_done
- goto rxscan331_scan
- rxscan331_loop:
- ($P10) = rx328_cur."from"()
+ ne $I10, -1, rxscan317_done
+ goto rxscan317_scan
+ rxscan317_loop:
+ ($P10) = rx314_cur."from"()
inc $P10
- set rx328_pos, $P10
- ge rx328_pos, rx328_eos, rxscan331_done
- rxscan331_scan:
- set_addr $I10, rxscan331_loop
- rx328_cur."!mark_push"(0, rx328_pos, $I10)
- rxscan331_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', 116
- # rx rxquantr332 ** 1..*
- set_addr $I333, rxquantr332_done
- rx328_cur."!mark_push"(0, -1, $I333)
- rxquantr332_loop:
+ # rx rxquantr318 ** 1..*
+ set_addr $I10, rxquantr318_done
+ rx314_cur."!mark_push"(0, -1, $I10)
+ rxquantr318_loop:
# rx subrule "ws" subtype=method negate=
- rx328_cur."!cursor_pos"(rx328_pos)
- $P10 = rx328_cur."ws"()
- unless $P10, rx328_fail
- rx328_pos = $P10."pos"()
+ rx314_cur."!cursor_pos"(rx314_pos)
+ $P10 = rx314_cur."ws"()
+ unless $P10, rx314_fail
+ rx314_pos = $P10."pos"()
# rx subrule "charname" subtype=capture negate=
- rx328_cur."!cursor_pos"(rx328_pos)
- $P10 = rx328_cur."charname"()
- unless $P10, rx328_fail
- rx328_cur."!mark_push"(0, -1, 0, $P10)
+ rx314_cur."!cursor_pos"(rx314_pos)
+ $P10 = rx314_cur."charname"()
+ unless $P10, rx314_fail
+ rx314_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charname")
- rx328_pos = $P10."pos"()
+ rx314_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx328_cur."!cursor_pos"(rx328_pos)
- $P10 = rx328_cur."ws"()
- unless $P10, rx328_fail
- rx328_pos = $P10."pos"()
- (rx328_rep) = rx328_cur."!mark_commit"($I333)
- rx328_cur."!mark_push"(rx328_rep, rx328_pos, $I333)
+ rx314_cur."!cursor_pos"(rx314_pos)
+ $P10 = rx314_cur."ws"()
+ unless $P10, rx314_fail
+ rx314_pos = $P10."pos"()
+ set_addr $I10, rxquantr318_done
+ (rx314_rep) = rx314_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr318_done
+ rx314_cur."!mark_push"(rx314_rep, rx314_pos, $I10)
# rx literal ","
- add $I11, rx328_pos, 1
- gt $I11, rx328_eos, rx328_fail
- sub $I11, rx328_pos, rx328_off
- substr $S10, rx328_tgt, $I11, 1
- ne $S10, ",", rx328_fail
- add rx328_pos, 1
- goto rxquantr332_loop
- rxquantr332_done:
+ add $I11, rx314_pos, 1
+ gt $I11, rx314_eos, rx314_fail
+ sub $I11, rx314_pos, rx314_off
+ substr $S10, rx314_tgt, $I11, 1
+ ne $S10, ",", rx314_fail
+ add rx314_pos, 1
+ goto rxquantr318_loop
+ rxquantr318_done:
# rx pass
- rx328_cur."!cursor_pass"(rx328_pos, "charnames")
- rx328_cur."!cursor_debug"("PASS ", "charnames", " at pos=", rx328_pos)
- .return (rx328_cur)
- rx328_fail:
-.annotate 'line', 33
- (rx328_rep, rx328_pos, $I10, $P10) = rx328_cur."!mark_fail"(0)
- lt rx328_pos, -1, rx328_done
- eq rx328_pos, -1, rx328_fail
+ rx314_cur."!cursor_pass"(rx314_pos, "charnames")
+ rx314_cur."!cursor_debug"("PASS ", "charnames", " at pos=", rx314_pos)
+ .return (rx314_cur)
+ rx314_restart:
+.annotate 'line', 33
+ rx314_cur."!cursor_debug"("NEXT ", "charnames")
+ rx314_fail:
+ (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
- rx328_done:
- rx328_cur."!cursor_fail"()
- rx328_cur."!cursor_debug"("FAIL ", "charnames")
- .return (rx328_cur)
+ rx314_done:
+ rx314_cur."!cursor_fail"()
+ rx314_cur."!cursor_debug"("FAIL ", "charnames")
+ .return (rx314_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("102_1278500527.62277") :method
+.sub "!PREFIX__charnames" :subid("102_1279589159.66297") :method
.annotate 'line', 33
- new $P330, "ResizablePMCArray"
- push $P330, ""
- .return ($P330)
+ new $P316, "ResizablePMCArray"
+ push $P316, ""
+ .return ($P316)
.end
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("103_1278500527.62277") :method :outer("11_1278500527.62277")
+.sub "charspec" :subid("103_1279589159.66297") :method :outer("11_1279589159.66297")
.annotate 'line', 33
- .local string rx335_tgt
- .local int rx335_pos
- .local int rx335_off
- .local int rx335_eos
- .local int rx335_rep
- .local pmc rx335_cur
- (rx335_cur, rx335_pos, rx335_tgt) = self."!cursor_start"()
- rx335_cur."!cursor_debug"("START ", "charspec")
- .lex unicode:"$\x{a2}", rx335_cur
+ .local string rx320_tgt
+ .local int rx320_pos
+ .local int rx320_off
+ .local int rx320_eos
+ .local int rx320_rep
+ .local pmc rx320_cur
+ (rx320_cur, rx320_pos, rx320_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx320_cur
.local pmc match
.lex "$/", match
- length rx335_eos, rx335_tgt
- gt rx335_pos, rx335_eos, rx335_done
- set rx335_off, 0
- lt rx335_pos, 2, rx335_start
- sub rx335_off, rx335_pos, 1
- substr rx335_tgt, rx335_tgt, rx335_off
- rx335_start:
+ length rx320_eos, rx320_tgt
+ gt rx320_pos, rx320_eos, rx320_done
+ set rx320_off, 0
+ lt rx320_pos, 2, rx320_start
+ sub rx320_off, rx320_pos, 1
+ substr rx320_tgt, rx320_tgt, rx320_off
+ rx320_start:
+ eq $I10, 1, rx320_restart
+ rx320_cur."!cursor_debug"("START ", "charspec")
$I10 = self.'from'()
- ne $I10, -1, rxscan340_done
- goto rxscan340_scan
- rxscan340_loop:
- ($P10) = rx335_cur."from"()
+ ne $I10, -1, rxscan325_done
+ goto rxscan325_scan
+ rxscan325_loop:
+ ($P10) = rx320_cur."from"()
inc $P10
- set rx335_pos, $P10
- ge rx335_pos, rx335_eos, rxscan340_done
- rxscan340_scan:
- set_addr $I10, rxscan340_loop
- rx335_cur."!mark_push"(0, rx335_pos, $I10)
- rxscan340_done:
- alt341_0:
+ set rx320_pos, $P10
+ ge rx320_pos, rx320_eos, rxscan325_done
+ rxscan325_scan:
+ set_addr $I10, rxscan325_loop
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
+ rxscan325_done:
+ alt326_0:
.annotate 'line', 118
- set_addr $I10, alt341_1
- rx335_cur."!mark_push"(0, rx335_pos, $I10)
+ set_addr $I10, alt326_1
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
.annotate 'line', 119
# rx literal "["
- add $I11, rx335_pos, 1
- gt $I11, rx335_eos, rx335_fail
- sub $I11, rx335_pos, rx335_off
- substr $S10, rx335_tgt, $I11, 1
- ne $S10, "[", rx335_fail
- add rx335_pos, 1
+ add $I11, rx320_pos, 1
+ gt $I11, rx320_eos, rx320_fail
+ sub $I11, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I11, 1
+ ne $S10, "[", rx320_fail
+ add rx320_pos, 1
# rx subrule "charnames" subtype=capture negate=
- rx335_cur."!cursor_pos"(rx335_pos)
- $P10 = rx335_cur."charnames"()
- unless $P10, rx335_fail
- rx335_cur."!mark_push"(0, -1, 0, $P10)
+ rx320_cur."!cursor_pos"(rx320_pos)
+ $P10 = rx320_cur."charnames"()
+ unless $P10, rx320_fail
+ rx320_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charnames")
- rx335_pos = $P10."pos"()
+ rx320_pos = $P10."pos"()
# rx literal "]"
- add $I11, rx335_pos, 1
- gt $I11, rx335_eos, rx335_fail
- sub $I11, rx335_pos, rx335_off
- substr $S10, rx335_tgt, $I11, 1
- ne $S10, "]", rx335_fail
- add rx335_pos, 1
- goto alt341_end
- alt341_1:
- set_addr $I10, alt341_2
- rx335_cur."!mark_push"(0, rx335_pos, $I10)
+ add $I11, rx320_pos, 1
+ gt $I11, rx320_eos, rx320_fail
+ sub $I11, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I11, 1
+ ne $S10, "]", rx320_fail
+ add rx320_pos, 1
+ goto alt326_end
+ alt326_1:
+ set_addr $I10, alt326_2
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
.annotate 'line', 120
# rx charclass_q d r 1..-1
- sub $I10, rx335_pos, rx335_off
- find_not_cclass $I11, 8, rx335_tgt, $I10, rx335_eos
+ sub $I10, rx320_pos, rx320_off
+ find_not_cclass $I11, 8, rx320_tgt, $I10, rx320_eos
add $I12, $I10, 1
- lt $I11, $I12, rx335_fail
- add rx335_pos, rx335_off, $I11
- # rx rxquantr342 ** 0..*
- set_addr $I343, rxquantr342_done
- rx335_cur."!mark_push"(0, rx335_pos, $I343)
- rxquantr342_loop:
+ lt $I11, $I12, rx320_fail
+ add rx320_pos, rx320_off, $I11
+ # rx rxquantr327 ** 0..*
+ set_addr $I10, rxquantr327_done
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
+ rxquantr327_loop:
# rx literal "_"
- add $I11, rx335_pos, 1
- gt $I11, rx335_eos, rx335_fail
- sub $I11, rx335_pos, rx335_off
- substr $S10, rx335_tgt, $I11, 1
- ne $S10, "_", rx335_fail
- add rx335_pos, 1
+ add $I11, rx320_pos, 1
+ gt $I11, rx320_eos, rx320_fail
+ sub $I11, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I11, 1
+ ne $S10, "_", rx320_fail
+ add rx320_pos, 1
# rx charclass_q d r 1..-1
- sub $I10, rx335_pos, rx335_off
- find_not_cclass $I11, 8, rx335_tgt, $I10, rx335_eos
+ sub $I10, rx320_pos, rx320_off
+ find_not_cclass $I11, 8, rx320_tgt, $I10, rx320_eos
add $I12, $I10, 1
- lt $I11, $I12, rx335_fail
- add rx335_pos, rx335_off, $I11
- (rx335_rep) = rx335_cur."!mark_commit"($I343)
- rx335_cur."!mark_push"(rx335_rep, rx335_pos, $I343)
- goto rxquantr342_loop
- rxquantr342_done:
- goto alt341_end
- alt341_2:
- set_addr $I10, alt341_3
- rx335_cur."!mark_push"(0, rx335_pos, $I10)
+ lt $I11, $I12, rx320_fail
+ add rx320_pos, rx320_off, $I11
+ set_addr $I10, rxquantr327_done
+ (rx320_rep) = rx320_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr327_done
+ rx320_cur."!mark_push"(rx320_rep, rx320_pos, $I10)
+ goto rxquantr327_loop
+ rxquantr327_done:
+ goto alt326_end
+ alt326_2:
+ set_addr $I10, alt326_3
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
.annotate 'line', 121
# rx enumcharlist negate=0
- ge rx335_pos, rx335_eos, rx335_fail
- sub $I10, rx335_pos, rx335_off
- substr $S10, rx335_tgt, $I10, 1
+ ge rx320_pos, rx320_eos, rx320_fail
+ sub $I10, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I10, 1
index $I11, "?@ABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
- lt $I11, 0, rx335_fail
- inc rx335_pos
- goto alt341_end
- alt341_3:
+ lt $I11, 0, rx320_fail
+ inc rx320_pos
+ goto alt326_end
+ alt326_3:
.annotate 'line', 122
# rx subrule "panic" subtype=method negate=
- rx335_cur."!cursor_pos"(rx335_pos)
- $P10 = rx335_cur."panic"("Unrecognized \\c character")
- unless $P10, rx335_fail
- rx335_pos = $P10."pos"()
- alt341_end:
+ rx320_cur."!cursor_pos"(rx320_pos)
+ $P10 = rx320_cur."panic"("Unrecognized \\c character")
+ unless $P10, rx320_fail
+ rx320_pos = $P10."pos"()
+ alt326_end:
.annotate 'line', 117
# rx pass
- rx335_cur."!cursor_pass"(rx335_pos, "charspec")
- rx335_cur."!cursor_debug"("PASS ", "charspec", " at pos=", rx335_pos)
- .return (rx335_cur)
- rx335_fail:
-.annotate 'line', 33
- (rx335_rep, rx335_pos, $I10, $P10) = rx335_cur."!mark_fail"(0)
- lt rx335_pos, -1, rx335_done
- eq rx335_pos, -1, rx335_fail
+ rx320_cur."!cursor_pass"(rx320_pos, "charspec")
+ rx320_cur."!cursor_debug"("PASS ", "charspec", " at pos=", rx320_pos)
+ .return (rx320_cur)
+ rx320_restart:
+.annotate 'line', 33
+ rx320_cur."!cursor_debug"("NEXT ", "charspec")
+ rx320_fail:
+ (rx320_rep, rx320_pos, $I10, $P10) = rx320_cur."!mark_fail"(0)
+ lt rx320_pos, -1, rx320_done
+ eq rx320_pos, -1, rx320_fail
jump $I10
- rx335_done:
- rx335_cur."!cursor_fail"()
- rx335_cur."!cursor_debug"("FAIL ", "charspec")
- .return (rx335_cur)
+ rx320_done:
+ rx320_cur."!cursor_fail"()
+ rx320_cur."!cursor_debug"("FAIL ", "charspec")
+ .return (rx320_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("104_1278500527.62277") :method
-.annotate 'line', 33
- $P337 = self."!PREFIX__!subrule"("panic", "")
- $P338 = self."!PREFIX__!subrule"("charnames", "[")
- new $P339, "ResizablePMCArray"
- push $P339, $P337
- push $P339, "Z"
- push $P339, "Y"
- push $P339, "X"
- push $P339, "W"
- push $P339, "V"
- push $P339, "U"
- push $P339, "T"
- push $P339, "S"
- push $P339, "R"
- push $P339, "Q"
- push $P339, "P"
- push $P339, "O"
- push $P339, "N"
- push $P339, "M"
- push $P339, "L"
- push $P339, "K"
- push $P339, "J"
- push $P339, "I"
- push $P339, "H"
- push $P339, "G"
- push $P339, "F"
- push $P339, "E"
- push $P339, "D"
- push $P339, "C"
- push $P339, "B"
- push $P339, "A"
- push $P339, "@"
- push $P339, "?"
- push $P339, ""
- push $P339, $P338
- .return ($P339)
+.sub "!PREFIX__charspec" :subid("104_1279589159.66297") :method
+.annotate 'line', 33
+ $P322 = self."!PREFIX__!subrule"("panic", "")
+ $P323 = self."!PREFIX__!subrule"("charnames", "[")
+ new $P324, "ResizablePMCArray"
+ push $P324, $P322
+ push $P324, "Z"
+ push $P324, "Y"
+ push $P324, "X"
+ push $P324, "W"
+ push $P324, "V"
+ push $P324, "U"
+ push $P324, "T"
+ push $P324, "S"
+ push $P324, "R"
+ push $P324, "Q"
+ push $P324, "P"
+ push $P324, "O"
+ push $P324, "N"
+ push $P324, "M"
+ push $P324, "L"
+ push $P324, "K"
+ push $P324, "J"
+ push $P324, "I"
+ push $P324, "H"
+ push $P324, "G"
+ push $P324, "F"
+ push $P324, "E"
+ push $P324, "D"
+ push $P324, "C"
+ push $P324, "B"
+ push $P324, "A"
+ push $P324, "@"
+ push $P324, "?"
+ push $P324, ""
+ push $P324, $P323
+ .return ($P324)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block344" :load :anon :subid("105_1278500527.62277")
+.sub "_block328" :load :anon :subid("105_1279589159.66297")
.annotate 'line', 5
- .const 'Sub' $P346 = "11_1278500527.62277"
- $P347 = $P346()
- .return ($P347)
+ .const 'Sub' $P330 = "11_1279589159.66297"
+ $P331 = $P330()
+ .return ($P331)
.end
.namespace []
-.sub "_block349" :load :anon :subid("106_1278500527.62277")
+.sub "_block333" :load :anon :subid("106_1279589159.66297")
.annotate 'line', 1
- .const 'Sub' $P351 = "10_1278500527.62277"
- $P352 = $P351()
- .return ($P352)
+ .const 'Sub' $P335 = "10_1279589159.66297"
+ $P336 = $P335()
+ .return ($P336)
.end
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1278500528.84129")
+.sub "_block11" :anon :subid("10_1279589161.01068")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
@@ -4913,15 +5099,15 @@
$P627 = $P14()
.annotate 'line', 1
.return ($P627)
- .const 'Sub' $P629 = "55_1278500528.84129"
+ .const 'Sub' $P629 = "55_1279589161.01068"
.return ($P629)
.end
.namespace []
-.sub "" :load :init :subid("post56") :outer("10_1278500528.84129")
+.sub "" :load :init :subid("post56") :outer("10_1279589161.01068")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1278500528.84129"
+ .const 'Sub' $P12 = "10_1279589161.01068"
.local pmc block
set block, $P12
$P632 = get_root_global ["parrot"], "P6metaclass"
@@ -4930,75 +5116,75 @@
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1278500528.84129") :outer("10_1278500528.84129")
+.sub "_block13" :subid("11_1279589161.01068") :outer("10_1279589161.01068")
.annotate 'line', 3
- .const 'Sub' $P605 = "53_1278500528.84129"
+ .const 'Sub' $P605 = "53_1279589161.01068"
capture_lex $P605
- .const 'Sub' $P580 = "51_1278500528.84129"
+ .const 'Sub' $P580 = "51_1279589161.01068"
capture_lex $P580
- .const 'Sub' $P550 = "50_1278500528.84129"
+ .const 'Sub' $P550 = "50_1279589161.01068"
capture_lex $P550
- .const 'Sub' $P531 = "49_1278500528.84129"
+ .const 'Sub' $P531 = "49_1279589161.01068"
capture_lex $P531
- .const 'Sub' $P524 = "48_1278500528.84129"
+ .const 'Sub' $P524 = "48_1279589161.01068"
capture_lex $P524
- .const 'Sub' $P514 = "47_1278500528.84129"
+ .const 'Sub' $P514 = "47_1279589161.01068"
capture_lex $P514
- .const 'Sub' $P497 = "46_1278500528.84129"
+ .const 'Sub' $P497 = "46_1279589161.01068"
capture_lex $P497
- .const 'Sub' $P480 = "45_1278500528.84129"
+ .const 'Sub' $P480 = "45_1279589161.01068"
capture_lex $P480
- .const 'Sub' $P473 = "44_1278500528.84129"
+ .const 'Sub' $P473 = "44_1279589161.01068"
capture_lex $P473
- .const 'Sub' $P466 = "43_1278500528.84129"
+ .const 'Sub' $P466 = "43_1279589161.01068"
capture_lex $P466
- .const 'Sub' $P459 = "42_1278500528.84129"
+ .const 'Sub' $P459 = "42_1279589161.01068"
capture_lex $P459
- .const 'Sub' $P452 = "41_1278500528.84129"
+ .const 'Sub' $P452 = "41_1279589161.01068"
capture_lex $P452
- .const 'Sub' $P445 = "40_1278500528.84129"
+ .const 'Sub' $P445 = "40_1279589161.01068"
capture_lex $P445
- .const 'Sub' $P438 = "39_1278500528.84129"
+ .const 'Sub' $P438 = "39_1279589161.01068"
capture_lex $P438
- .const 'Sub' $P428 = "38_1278500528.84129"
+ .const 'Sub' $P428 = "38_1279589161.01068"
capture_lex $P428
- .const 'Sub' $P421 = "37_1278500528.84129"
+ .const 'Sub' $P421 = "37_1279589161.01068"
capture_lex $P421
- .const 'Sub' $P405 = "36_1278500528.84129"
+ .const 'Sub' $P405 = "36_1279589161.01068"
capture_lex $P405
- .const 'Sub' $P330 = "34_1278500528.84129"
+ .const 'Sub' $P330 = "34_1279589161.01068"
capture_lex $P330
- .const 'Sub' $P267 = "31_1278500528.84129"
+ .const 'Sub' $P267 = "31_1279589161.01068"
capture_lex $P267
- .const 'Sub' $P258 = "30_1278500528.84129"
+ .const 'Sub' $P258 = "30_1279589161.01068"
capture_lex $P258
- .const 'Sub' $P249 = "29_1278500528.84129"
+ .const 'Sub' $P249 = "29_1279589161.01068"
capture_lex $P249
- .const 'Sub' $P240 = "28_1278500528.84129"
+ .const 'Sub' $P240 = "28_1279589161.01068"
capture_lex $P240
- .const 'Sub' $P231 = "27_1278500528.84129"
+ .const 'Sub' $P231 = "27_1279589161.01068"
capture_lex $P231
- .const 'Sub' $P222 = "26_1278500528.84129"
+ .const 'Sub' $P222 = "26_1279589161.01068"
capture_lex $P222
- .const 'Sub' $P212 = "25_1278500528.84129"
+ .const 'Sub' $P212 = "25_1279589161.01068"
capture_lex $P212
- .const 'Sub' $P202 = "24_1278500528.84129"
+ .const 'Sub' $P202 = "24_1279589161.01068"
capture_lex $P202
- .const 'Sub' $P194 = "23_1278500528.84129"
+ .const 'Sub' $P194 = "23_1279589161.01068"
capture_lex $P194
- .const 'Sub' $P184 = "22_1278500528.84129"
+ .const 'Sub' $P184 = "22_1279589161.01068"
capture_lex $P184
- .const 'Sub' $P174 = "21_1278500528.84129"
+ .const 'Sub' $P174 = "21_1279589161.01068"
capture_lex $P174
- .const 'Sub' $P73 = "18_1278500528.84129"
+ .const 'Sub' $P73 = "18_1279589161.01068"
capture_lex $P73
- .const 'Sub' $P35 = "15_1278500528.84129"
+ .const 'Sub' $P35 = "15_1279589161.01068"
capture_lex $P35
- .const 'Sub' $P28 = "14_1278500528.84129"
+ .const 'Sub' $P28 = "14_1279589161.01068"
capture_lex $P28
- .const 'Sub' $P22 = "13_1278500528.84129"
+ .const 'Sub' $P22 = "13_1279589161.01068"
capture_lex $P22
- .const 'Sub' $P15 = "12_1278500528.84129"
+ .const 'Sub' $P15 = "12_1279589161.01068"
capture_lex $P15
$P0 = find_dynamic_lex "$*CTXSAVE"
if null $P0 goto ctxsave_done
@@ -5007,18 +5193,18 @@
$P0."ctxsave"()
ctxsave_done:
.annotate 'line', 225
- .const 'Sub' $P605 = "53_1278500528.84129"
+ .const 'Sub' $P605 = "53_1279589161.01068"
newclosure $P622, $P605
.annotate 'line', 3
.return ($P622)
- .const 'Sub' $P624 = "54_1278500528.84129"
+ .const 'Sub' $P624 = "54_1279589161.01068"
.return ($P624)
.end
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "string_to_int" :subid("12_1278500528.84129") :outer("11_1278500528.84129")
+.sub "string_to_int" :subid("12_1279589161.01068") :outer("11_1279589161.01068")
.param pmc param_18
.param pmc param_19
.annotate 'line', 3
@@ -5072,7 +5258,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "ints_to_string" :subid("13_1278500528.84129") :outer("11_1278500528.84129")
+.sub "ints_to_string" :subid("13_1279589161.01068") :outer("11_1279589161.01068")
.param pmc param_25
.annotate 'line', 37
new $P24, 'ExceptionHandler'
@@ -5114,7 +5300,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "CTXSAVE" :subid("14_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "CTXSAVE" :subid("14_1279589161.01068") :method :outer("11_1279589161.01068")
.annotate 'line', 62
new $P30, 'ExceptionHandler'
set_addr $P30, control_29
@@ -5144,10 +5330,10 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "SET_BLOCK_OUTER_CTX" :subid("15_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "SET_BLOCK_OUTER_CTX" :subid("15_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_38
.annotate 'line', 76
- .const 'Sub' $P48 = "16_1278500528.84129"
+ .const 'Sub' $P48 = "16_1279589161.01068"
capture_lex $P48
new $P37, 'ExceptionHandler'
set_addr $P37, control_36
@@ -5182,7 +5368,7 @@
set $P43, $I46
goto if_44_end
if_44:
- .const 'Sub' $P48 = "16_1278500528.84129"
+ .const 'Sub' $P48 = "16_1279589161.01068"
capture_lex $P48
$P71 = $P48()
set $P43, $P71
@@ -5199,9 +5385,9 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "_block47" :anon :subid("16_1278500528.84129") :outer("15_1278500528.84129")
+.sub "_block47" :anon :subid("16_1279589161.01068") :outer("15_1279589161.01068")
.annotate 'line', 78
- .const 'Sub' $P62 = "17_1278500528.84129"
+ .const 'Sub' $P62 = "17_1279589161.01068"
capture_lex $P62
.annotate 'line', 79
$P49 = root_new ['parrot';'ResizablePMCArray']
@@ -5231,7 +5417,7 @@
unless $P56, loop68_done
shift $P60, $P56
loop68_redo:
- .const 'Sub' $P62 = "17_1278500528.84129"
+ .const 'Sub' $P62 = "17_1279589161.01068"
capture_lex $P62
$P62($P60)
loop68_next:
@@ -5251,7 +5437,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block61" :anon :subid("17_1278500528.84129") :outer("16_1278500528.84129")
+.sub "_block61" :anon :subid("17_1279589161.01068") :outer("16_1279589161.01068")
.param pmc param_63
.annotate 'line', 82
.lex "$_", param_63
@@ -5267,14 +5453,14 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "EXPR" :subid("18_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "EXPR" :subid("18_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_76
.param pmc param_77 :optional
.param int has_param_77 :opt_flag
.annotate 'line', 89
- .const 'Sub' $P156 = "20_1278500528.84129"
+ .const 'Sub' $P156 = "20_1279589161.01068"
capture_lex $P156
- .const 'Sub' $P123 = "19_1278500528.84129"
+ .const 'Sub' $P123 = "19_1279589161.01068"
capture_lex $P123
new $P75, 'ExceptionHandler'
set_addr $P75, control_74
@@ -5409,7 +5595,7 @@
find_lex $P120, "$past"
$P121 = $P120."name"()
if $P121, unless_119_end
- .const 'Sub' $P123 = "19_1278500528.84129"
+ .const 'Sub' $P123 = "19_1279589161.01068"
capture_lex $P123
$P123()
unless_119_end:
@@ -5433,7 +5619,7 @@
unless $P150, loop167_done
shift $P154, $P150
loop167_redo:
- .const 'Sub' $P156 = "20_1278500528.84129"
+ .const 'Sub' $P156 = "20_1279589161.01068"
capture_lex $P156
$P156($P154)
loop167_next:
@@ -5478,7 +5664,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block122" :anon :subid("19_1278500528.84129") :outer("18_1278500528.84129")
+.sub "_block122" :anon :subid("19_1279589161.01068") :outer("18_1279589161.01068")
.annotate 'line', 98
new $P124, "Undef"
.lex "$name", $P124
@@ -5528,7 +5714,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block155" :anon :subid("20_1278500528.84129") :outer("18_1278500528.84129")
+.sub "_block155" :anon :subid("20_1279589161.01068") :outer("18_1279589161.01068")
.param pmc param_157
.annotate 'line', 109
.lex "$_", param_157
@@ -5552,7 +5738,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "term:sym<circumfix>" :subid("21_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "term:sym<circumfix>" :subid("21_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_177
.annotate 'line', 114
new $P176, 'ExceptionHandler'
@@ -5583,7 +5769,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "termish" :subid("22_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "termish" :subid("22_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_187
.annotate 'line', 116
new $P186, 'ExceptionHandler'
@@ -5614,7 +5800,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "nullterm" :subid("23_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "nullterm" :subid("23_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_197
.annotate 'line', 117
new $P196, 'ExceptionHandler'
@@ -5637,7 +5823,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "nullterm_alt" :subid("24_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "nullterm_alt" :subid("24_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_205
.annotate 'line', 118
new $P204, 'ExceptionHandler'
@@ -5668,7 +5854,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "integer" :subid("25_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "integer" :subid("25_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_215
.annotate 'line', 120
new $P214, 'ExceptionHandler'
@@ -5699,7 +5885,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "dec_number" :subid("26_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "dec_number" :subid("26_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_225
.annotate 'line', 122
new $P224, 'ExceptionHandler'
@@ -5723,7 +5909,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "decint" :subid("27_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "decint" :subid("27_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_234
.annotate 'line', 124
new $P233, 'ExceptionHandler'
@@ -5747,7 +5933,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "hexint" :subid("28_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "hexint" :subid("28_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_243
.annotate 'line', 125
new $P242, 'ExceptionHandler'
@@ -5771,7 +5957,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "octint" :subid("29_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "octint" :subid("29_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_252
.annotate 'line', 126
new $P251, 'ExceptionHandler'
@@ -5795,7 +5981,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "binint" :subid("30_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "binint" :subid("30_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_261
.annotate 'line', 127
new $P260, 'ExceptionHandler'
@@ -5819,10 +6005,10 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_EXPR" :subid("31_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_EXPR" :subid("31_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_270
.annotate 'line', 129
- .const 'Sub' $P286 = "32_1278500528.84129"
+ .const 'Sub' $P286 = "32_1279589161.01068"
capture_lex $P286
new $P269, 'ExceptionHandler'
set_addr $P269, control_268
@@ -5854,7 +6040,7 @@
$P282 = $P280."ACCEPTS"($P281)
if $P282, if_279
.annotate 'line', 135
- .const 'Sub' $P286 = "32_1278500528.84129"
+ .const 'Sub' $P286 = "32_1279589161.01068"
capture_lex $P286
$P286()
goto if_279_end
@@ -5894,9 +6080,9 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "_block285" :anon :subid("32_1278500528.84129") :outer("31_1278500528.84129")
+.sub "_block285" :anon :subid("32_1279589161.01068") :outer("31_1279589161.01068")
.annotate 'line', 135
- .const 'Sub' $P305 = "33_1278500528.84129"
+ .const 'Sub' $P305 = "33_1279589161.01068"
capture_lex $P305
.annotate 'line', 136
$P287 = root_new ['parrot';'ResizablePMCArray']
@@ -5947,7 +6133,7 @@
unless $P300, loop310_done
shift $P303, $P300
loop310_redo:
- .const 'Sub' $P305 = "33_1278500528.84129"
+ .const 'Sub' $P305 = "33_1279589161.01068"
capture_lex $P305
$P305($P303)
loop310_next:
@@ -5970,7 +6156,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block304" :anon :subid("33_1278500528.84129") :outer("32_1278500528.84129")
+.sub "_block304" :anon :subid("33_1279589161.01068") :outer("32_1279589161.01068")
.param pmc param_306
.annotate 'line', 139
.lex "$_", param_306
@@ -5983,10 +6169,10 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_delimited" :subid("34_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_delimited" :subid("34_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_333
.annotate 'line', 152
- .const 'Sub' $P345 = "35_1278500528.84129"
+ .const 'Sub' $P345 = "35_1279589161.01068"
capture_lex $P345
new $P332, 'ExceptionHandler'
set_addr $P332, control_331
@@ -6029,7 +6215,7 @@
unless $P339, loop377_done
shift $P343, $P339
loop377_redo:
- .const 'Sub' $P345 = "35_1278500528.84129"
+ .const 'Sub' $P345 = "35_1279589161.01068"
capture_lex $P345
$P345($P343)
loop377_next:
@@ -6107,7 +6293,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block344" :anon :subid("35_1278500528.84129") :outer("34_1278500528.84129")
+.sub "_block344" :anon :subid("35_1279589161.01068") :outer("34_1279589161.01068")
.param pmc param_347
.annotate 'line', 156
new $P346, "Undef"
@@ -6177,7 +6363,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_atom" :subid("36_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_atom" :subid("36_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_408
.annotate 'line', 177
new $P407, 'ExceptionHandler'
@@ -6227,7 +6413,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<backslash>" :subid("37_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<backslash>" :subid("37_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_424
.annotate 'line', 181
new $P423, 'ExceptionHandler'
@@ -6249,7 +6435,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<stopper>" :subid("38_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<stopper>" :subid("38_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_431
.annotate 'line', 182
new $P430, 'ExceptionHandler'
@@ -6280,7 +6466,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<bs>" :subid("39_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<bs>" :subid("39_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_441
.annotate 'line', 184
new $P440, 'ExceptionHandler'
@@ -6302,7 +6488,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<nl>" :subid("40_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<nl>" :subid("40_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_448
.annotate 'line', 185
new $P447, 'ExceptionHandler'
@@ -6324,7 +6510,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<cr>" :subid("41_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<cr>" :subid("41_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_455
.annotate 'line', 186
new $P454, 'ExceptionHandler'
@@ -6346,7 +6532,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<tab>" :subid("42_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<tab>" :subid("42_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_462
.annotate 'line', 187
new $P461, 'ExceptionHandler'
@@ -6368,7 +6554,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<ff>" :subid("43_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<ff>" :subid("43_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_469
.annotate 'line', 188
new $P468, 'ExceptionHandler'
@@ -6390,7 +6576,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<esc>" :subid("44_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<esc>" :subid("44_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_476
.annotate 'line', 189
new $P475, 'ExceptionHandler'
@@ -6412,7 +6598,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<hex>" :subid("45_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<hex>" :subid("45_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_483
.annotate 'line', 191
new $P482, 'ExceptionHandler'
@@ -6471,7 +6657,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<oct>" :subid("46_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<oct>" :subid("46_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_500
.annotate 'line', 195
new $P499, 'ExceptionHandler'
@@ -6530,7 +6716,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<chr>" :subid("47_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<chr>" :subid("47_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_517
.annotate 'line', 199
new $P516, 'ExceptionHandler'
@@ -6563,7 +6749,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<0>" :subid("48_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<0>" :subid("48_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_527
.annotate 'line', 203
new $P526, 'ExceptionHandler'
@@ -6587,7 +6773,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "quote_escape:sym<misc>" :subid("49_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "quote_escape:sym<misc>" :subid("49_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_534
.annotate 'line', 207
new $P533, 'ExceptionHandler'
@@ -6646,7 +6832,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "charname" :subid("50_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "charname" :subid("50_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_553
.annotate 'line', 211
new $P552, 'ExceptionHandler'
@@ -6720,10 +6906,10 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "charnames" :subid("51_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "charnames" :subid("51_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_583
.annotate 'line', 219
- .const 'Sub' $P592 = "52_1278500528.84129"
+ .const 'Sub' $P592 = "52_1279589161.01068"
capture_lex $P592
new $P582, 'ExceptionHandler'
set_addr $P582, control_581
@@ -6757,7 +6943,7 @@
unless $P586, loop598_done
shift $P590, $P586
loop598_redo:
- .const 'Sub' $P592 = "52_1278500528.84129"
+ .const 'Sub' $P592 = "52_1279589161.01068"
capture_lex $P592
$P592($P590)
loop598_next:
@@ -6786,7 +6972,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block591" :anon :subid("52_1278500528.84129") :outer("51_1278500528.84129")
+.sub "_block591" :anon :subid("52_1279589161.01068") :outer("51_1279589161.01068")
.param pmc param_593
.annotate 'line', 221
.lex "$_", param_593
@@ -6801,7 +6987,7 @@
.namespace ["HLL";"Actions"]
.include "except_types.pasm"
-.sub "charspec" :subid("53_1278500528.84129") :method :outer("11_1278500528.84129")
+.sub "charspec" :subid("53_1279589161.01068") :method :outer("11_1279589161.01068")
.param pmc param_608
.annotate 'line', 225
new $P607, 'ExceptionHandler'
@@ -6851,18 +7037,18 @@
.namespace ["HLL";"Actions"]
-.sub "_block623" :load :anon :subid("54_1278500528.84129")
+.sub "_block623" :load :anon :subid("54_1279589161.01068")
.annotate 'line', 3
- .const 'Sub' $P625 = "11_1278500528.84129"
+ .const 'Sub' $P625 = "11_1279589161.01068"
$P626 = $P625()
.return ($P626)
.end
.namespace []
-.sub "_block628" :load :anon :subid("55_1278500528.84129")
+.sub "_block628" :load :anon :subid("55_1279589161.01068")
.annotate 'line', 1
- .const 'Sub' $P630 = "10_1278500528.84129"
+ .const 'Sub' $P630 = "10_1279589161.01068"
$P631 = $P630()
.return ($P631)
.end
@@ -6870,7 +7056,7 @@
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1278500529.62668")
+.sub "_block11" :anon :subid("10_1279589161.87188")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
@@ -6887,15 +7073,15 @@
$P497 = $P14()
.annotate 'line', 1
.return ($P497)
- .const 'Sub' $P499 = "36_1278500529.62668"
+ .const 'Sub' $P499 = "36_1279589161.87188"
.return ($P499)
.end
.namespace []
-.sub "" :load :init :subid("post37") :outer("10_1278500529.62668")
+.sub "" :load :init :subid("post37") :outer("10_1279589161.87188")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1278500529.62668"
+ .const 'Sub' $P12 = "10_1279589161.87188"
.local pmc block
set block, $P12
.annotate 'line', 2
@@ -6909,36 +7095,36 @@
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1278500529.62668") :outer("10_1278500529.62668")
+.sub "_block13" :subid("11_1279589161.87188") :outer("10_1279589161.87188")
.annotate 'line', 6
- .const 'Sub' $P489 = "35_1278500529.62668"
+ .const 'Sub' $P489 = "35_1279589161.87188"
capture_lex $P489
- .const 'Sub' $P447 = "33_1278500529.62668"
+ .const 'Sub' $P447 = "33_1279589161.87188"
capture_lex $P447
- .const 'Sub' $P298 = "26_1278500529.62668"
+ .const 'Sub' $P298 = "26_1279589161.87188"
capture_lex $P298
- .const 'Sub' $P283 = "25_1278500529.62668"
+ .const 'Sub' $P283 = "25_1279589161.87188"
capture_lex $P283
- .const 'Sub' $P188 = "20_1278500529.62668"
+ .const 'Sub' $P188 = "20_1279589161.87188"
capture_lex $P188
- .const 'Sub' $P153 = "18_1278500529.62668"
+ .const 'Sub' $P153 = "18_1279589161.87188"
capture_lex $P153
- .const 'Sub' $P138 = "17_1278500529.62668"
+ .const 'Sub' $P138 = "17_1279589161.87188"
capture_lex $P138
- .const 'Sub' $P122 = "16_1278500529.62668"
+ .const 'Sub' $P122 = "16_1279589161.87188"
capture_lex $P122
- .const 'Sub' $P33 = "13_1278500529.62668"
+ .const 'Sub' $P33 = "13_1279589161.87188"
capture_lex $P33
- .const 'Sub' $P15 = "12_1278500529.62668"
+ .const 'Sub' $P15 = "12_1279589161.87188"
capture_lex $P15
.annotate 'line', 14
- .const 'Sub' $P15 = "12_1278500529.62668"
+ .const 'Sub' $P15 = "12_1279589161.87188"
newclosure $P31, $P15
.lex "value_type", $P31
.annotate 'line', 10
find_lex $P32, "value_type"
.annotate 'line', 165
- .const 'Sub' $P489 = "35_1278500529.62668"
+ .const 'Sub' $P489 = "35_1279589161.87188"
newclosure $P495, $P489
.annotate 'line', 6
.return ($P495)
@@ -6946,7 +7132,7 @@
.namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post38") :outer("11_1278500529.62668")
+.sub "" :load :init :subid("post38") :outer("11_1279589161.87188")
.annotate 'line', 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
.local pmc block
@@ -6959,7 +7145,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "value_type" :subid("12_1278500529.62668") :outer("11_1278500529.62668")
+.sub "value_type" :subid("12_1279589161.87188") :outer("11_1279589161.87188")
.param pmc param_18
.annotate 'line', 14
new $P17, 'ExceptionHandler'
@@ -7004,15 +7190,15 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "get_exports" :subid("13_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "get_exports" :subid("13_1279589161.87188") :method :outer("11_1279589161.87188")
.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_1278500529.62668"
+ .const 'Sub' $P105 = "15_1279589161.87188"
capture_lex $P105
- .const 'Sub' $P84 = "14_1278500529.62668"
+ .const 'Sub' $P84 = "14_1279589161.87188"
capture_lex $P84
new $P35, 'ExceptionHandler'
set_addr $P35, control_34
@@ -7118,7 +7304,7 @@
unless $P100, loop117_done
shift $P103, $P100
loop117_redo:
- .const 'Sub' $P105 = "15_1278500529.62668"
+ .const 'Sub' $P105 = "15_1279589161.87188"
capture_lex $P105
$P105($P103)
loop117_next:
@@ -7148,7 +7334,7 @@
unless $P79, loop97_done
shift $P82, $P79
loop97_redo:
- .const 'Sub' $P84 = "14_1278500529.62668"
+ .const 'Sub' $P84 = "14_1279589161.87188"
capture_lex $P84
$P84($P82)
loop97_next:
@@ -7176,7 +7362,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block104" :anon :subid("15_1278500529.62668") :outer("13_1278500529.62668")
+.sub "_block104" :anon :subid("15_1279589161.87188") :outer("13_1279589161.87188")
.param pmc param_107
.annotate 'line', 40
new $P106, "Undef"
@@ -7208,7 +7394,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block83" :anon :subid("14_1278500529.62668") :outer("13_1278500529.62668")
+.sub "_block83" :anon :subid("14_1279589161.87188") :outer("13_1279589161.87188")
.param pmc param_86
.annotate 'line', 34
new $P85, "Undef"
@@ -7248,7 +7434,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "get_module" :subid("16_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "get_module" :subid("16_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_125
.annotate 'line', 47
new $P124, 'ExceptionHandler'
@@ -7289,7 +7475,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "language" :subid("17_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "language" :subid("17_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_141 :optional
.param int has_param_141 :opt_flag
.annotate 'line', 53
@@ -7334,10 +7520,10 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "load_module" :subid("18_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "load_module" :subid("18_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_156
.annotate 'line', 61
- .const 'Sub' $P166 = "19_1278500529.62668"
+ .const 'Sub' $P166 = "19_1279589161.87188"
capture_lex $P166
new $P155, 'ExceptionHandler'
set_addr $P155, control_154
@@ -7364,7 +7550,7 @@
assign $P164, 0
store_lex "$loaded", $P164
.annotate 'line', 64
- .const 'Sub' $P166 = "19_1278500529.62668"
+ .const 'Sub' $P166 = "19_1279589161.87188"
capture_lex $P166
$P166()
.annotate 'line', 65
@@ -7394,7 +7580,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block165" :anon :subid("19_1278500529.62668") :outer("18_1278500529.62668")
+.sub "_block165" :anon :subid("19_1279589161.87188") :outer("18_1279589161.87188")
.annotate 'line', 64
new $P173, 'ExceptionHandler'
set_addr $P173, control_172
@@ -7428,11 +7614,11 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "import" :subid("20_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "import" :subid("20_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_191
.param pmc param_192
.annotate 'line', 69
- .const 'Sub' $P198 = "21_1278500529.62668"
+ .const 'Sub' $P198 = "21_1279589161.87188"
capture_lex $P198
new $P190, 'ExceptionHandler'
set_addr $P190, control_189
@@ -7454,7 +7640,7 @@
unless $P193, loop279_done
shift $P196, $P193
loop279_redo:
- .const 'Sub' $P198 = "21_1278500529.62668"
+ .const 'Sub' $P198 = "21_1279589161.87188"
capture_lex $P198
$P198($P196)
loop279_next:
@@ -7480,14 +7666,14 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block197" :anon :subid("21_1278500529.62668") :outer("20_1278500529.62668")
+.sub "_block197" :anon :subid("21_1279589161.87188") :outer("20_1279589161.87188")
.param pmc param_201
.annotate 'line', 70
- .const 'Sub' $P268 = "24_1278500529.62668"
+ .const 'Sub' $P268 = "24_1279589161.87188"
capture_lex $P268
- .const 'Sub' $P248 = "23_1278500529.62668"
+ .const 'Sub' $P248 = "23_1279589161.87188"
capture_lex $P248
- .const 'Sub' $P219 = "22_1278500529.62668"
+ .const 'Sub' $P219 = "22_1279589161.87188"
capture_lex $P219
.annotate 'line', 71
new $P199, "Undef"
@@ -7535,7 +7721,7 @@
unless $P263, loop276_done
shift $P266, $P263
loop276_redo:
- .const 'Sub' $P268 = "24_1278500529.62668"
+ .const 'Sub' $P268 = "24_1279589161.87188"
capture_lex $P268
$P268($P266)
loop276_next:
@@ -7567,7 +7753,7 @@
unless $P243, loop260_done
shift $P246, $P243
loop260_redo:
- .const 'Sub' $P248 = "23_1278500529.62668"
+ .const 'Sub' $P248 = "23_1279589161.87188"
capture_lex $P248
$P248($P246)
loop260_next:
@@ -7601,7 +7787,7 @@
unless $P214, loop232_done
shift $P217, $P214
loop232_redo:
- .const 'Sub' $P219 = "22_1278500529.62668"
+ .const 'Sub' $P219 = "22_1279589161.87188"
capture_lex $P219
$P219($P217)
loop232_next:
@@ -7624,7 +7810,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block267" :anon :subid("24_1278500529.62668") :outer("21_1278500529.62668")
+.sub "_block267" :anon :subid("24_1279589161.87188") :outer("21_1279589161.87188")
.param pmc param_269
.annotate 'line', 80
.lex "$_", param_269
@@ -7644,7 +7830,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block247" :anon :subid("23_1278500529.62668") :outer("21_1278500529.62668")
+.sub "_block247" :anon :subid("23_1279589161.87188") :outer("21_1279589161.87188")
.param pmc param_249
.annotate 'line', 77
.lex "$_", param_249
@@ -7664,7 +7850,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block218" :anon :subid("22_1278500529.62668") :outer("21_1278500529.62668")
+.sub "_block218" :anon :subid("22_1279589161.87188") :outer("21_1279589161.87188")
.param pmc param_220
.annotate 'line', 74
.lex "$_", param_220
@@ -7686,7 +7872,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "autoprint" :subid("25_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "autoprint" :subid("25_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_286
.annotate 'line', 85
new $P285, 'ExceptionHandler'
@@ -7730,10 +7916,10 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "interactive" :subid("26_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "interactive" :subid("26_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_301 :slurpy :named
.annotate 'line', 90
- .const 'Sub' $P333 = "27_1278500529.62668"
+ .const 'Sub' $P333 = "27_1279589161.87188"
capture_lex $P333
new $P300, 'ExceptionHandler'
set_addr $P300, control_299
@@ -7820,7 +8006,7 @@
assign $P331, 1
unless $P331, loop443_done
loop443_redo:
- .const 'Sub' $P333 = "27_1278500529.62668"
+ .const 'Sub' $P333 = "27_1279589161.87188"
capture_lex $P333
$P333()
loop443_next:
@@ -7845,9 +8031,9 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block332" :anon :subid("27_1278500529.62668") :outer("26_1278500529.62668")
+.sub "_block332" :anon :subid("27_1279589161.87188") :outer("26_1279589161.87188")
.annotate 'line', 102
- .const 'Sub' $P365 = "28_1278500529.62668"
+ .const 'Sub' $P365 = "28_1279589161.87188"
capture_lex $P365
.annotate 'line', 105
new $P334, "Undef"
@@ -7915,7 +8101,7 @@
set $P361, $P363
goto if_362_end
if_362:
- .const 'Sub' $P365 = "28_1278500529.62668"
+ .const 'Sub' $P365 = "28_1279589161.87188"
capture_lex $P365
$P442 = $P365()
set $P361, $P442
@@ -7927,11 +8113,11 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block364" :anon :subid("28_1278500529.62668") :outer("27_1278500529.62668")
+.sub "_block364" :anon :subid("28_1279589161.87188") :outer("27_1279589161.87188")
.annotate 'line', 115
- .const 'Sub' $P398 = "31_1278500529.62668"
+ .const 'Sub' $P398 = "31_1279589161.87188"
capture_lex $P398
- .const 'Sub' $P371 = "29_1278500529.62668"
+ .const 'Sub' $P371 = "29_1279589161.87188"
capture_lex $P371
.annotate 'line', 117
new $P366, "Undef"
@@ -7942,7 +8128,7 @@
store_lex "$code", $P368
find_lex $P369, "$output"
.annotate 'line', 118
- .const 'Sub' $P371 = "29_1278500529.62668"
+ .const 'Sub' $P371 = "29_1279589161.87188"
capture_lex $P371
$P371()
.annotate 'line', 125
@@ -7955,7 +8141,7 @@
vivify_67:
defined $I396, $P395
unless $I396, if_394_end
- .const 'Sub' $P398 = "31_1278500529.62668"
+ .const 'Sub' $P398 = "31_1279589161.87188"
capture_lex $P398
$P398()
if_394_end:
@@ -8009,9 +8195,9 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block370" :anon :subid("29_1278500529.62668") :outer("28_1278500529.62668")
+.sub "_block370" :anon :subid("29_1279589161.87188") :outer("28_1279589161.87188")
.annotate 'line', 118
- .const 'Sub' $P383 = "30_1278500529.62668"
+ .const 'Sub' $P383 = "30_1279589161.87188"
capture_lex $P383
new $P379, 'ExceptionHandler'
set_addr $P379, control_378
@@ -8031,7 +8217,7 @@
.annotate 'line', 120
.local pmc exception
.get_results (exception)
- .const 'Sub' $P383 = "30_1278500529.62668"
+ .const 'Sub' $P383 = "30_1279589161.87188"
newclosure $P391, $P383
$P391(exception)
new $P392, 'Integer'
@@ -8051,7 +8237,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block382" :anon :subid("30_1278500529.62668") :outer("29_1278500529.62668")
+.sub "_block382" :anon :subid("30_1279589161.87188") :outer("29_1279589161.87188")
.param pmc param_384
.annotate 'line', 120
.lex "$_", param_384
@@ -8074,9 +8260,9 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "_block397" :anon :subid("31_1278500529.62668") :outer("28_1278500529.62668")
+.sub "_block397" :anon :subid("31_1279589161.87188") :outer("28_1279589161.87188")
.annotate 'line', 125
- .const 'Sub' $P409 = "32_1278500529.62668"
+ .const 'Sub' $P409 = "32_1279589161.87188"
capture_lex $P409
.annotate 'line', 126
get_global $P399, "$interactive_ctx"
@@ -8113,7 +8299,7 @@
unless $P403, loop416_done
shift $P407, $P403
loop416_redo:
- .const 'Sub' $P409 = "32_1278500529.62668"
+ .const 'Sub' $P409 = "32_1279589161.87188"
capture_lex $P409
$P409($P407)
loop416_next:
@@ -8136,7 +8322,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block408" :anon :subid("32_1278500529.62668") :outer("31_1278500529.62668")
+.sub "_block408" :anon :subid("32_1279589161.87188") :outer("31_1279589161.87188")
.param pmc param_410
.annotate 'line', 128
.lex "$_", param_410
@@ -8158,12 +8344,12 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "eval" :subid("33_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "eval" :subid("33_1279589161.87188") :method :outer("11_1279589161.87188")
.param pmc param_450
.param pmc param_451 :slurpy
.param pmc param_452 :slurpy :named
.annotate 'line', 146
- .const 'Sub' $P471 = "34_1278500529.62668"
+ .const 'Sub' $P471 = "34_1279589161.87188"
capture_lex $P471
new $P449, 'ExceptionHandler'
set_addr $P449, control_448
@@ -8210,7 +8396,7 @@
set $P460, $I469
if_461_end:
unless $P460, if_459_end
- .const 'Sub' $P471 = "34_1278500529.62668"
+ .const 'Sub' $P471 = "34_1279589161.87188"
capture_lex $P471
$P471()
if_459_end:
@@ -8227,7 +8413,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block470" :anon :subid("34_1278500529.62668") :outer("33_1278500529.62668")
+.sub "_block470" :anon :subid("34_1279589161.87188") :outer("33_1279589161.87188")
.annotate 'line', 152
new $P472, "Undef"
.lex "$outer_ctx", $P472
@@ -8281,7 +8467,7 @@
.namespace ["HLL";"Compiler"]
.include "except_types.pasm"
-.sub "ctxsave" :subid("35_1278500529.62668") :method :outer("11_1278500529.62668")
+.sub "ctxsave" :subid("35_1279589161.87188") :method :outer("11_1279589161.87188")
.annotate 'line', 165
new $P491, 'ExceptionHandler'
set_addr $P491, control_490
@@ -8309,9 +8495,9 @@
.namespace []
-.sub "_block498" :load :anon :subid("36_1278500529.62668")
+.sub "_block498" :load :anon :subid("36_1279589161.87188")
.annotate 'line', 1
- .const 'Sub' $P500 = "10_1278500529.62668"
+ .const 'Sub' $P500 = "10_1279589161.87188"
$P501 = $P500()
.return ($P501)
.end
Modified: branches/gsoc_nfg/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/gsoc_nfg/ext/nqp-rx/src/stage0/NQP-s0.pir Thu Jul 22 06:26:55 2010 (r48164)
+++ branches/gsoc_nfg/ext/nqp-rx/src/stage0/NQP-s0.pir Thu Jul 22 21:29:12 2010 (r48165)
@@ -15,7 +15,7 @@
### .include 'gen/nqp-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1278500537.15927")
+.sub "_block11" :anon :subid("10_1279589170.0083")
.annotate 'line', 0
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
@@ -29,341 +29,341 @@
.annotate 'line', 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
- $P1456 = $P14()
+ $P1423 = $P14()
.annotate 'line', 1
- .return ($P1456)
- .const 'Sub' $P1458 = "371_1278500537.15927"
- .return ($P1458)
+ .return ($P1423)
+ .const 'Sub' $P1425 = "371_1279589170.0083"
+ .return ($P1425)
.end
.namespace []
-.sub "" :load :init :subid("post372") :outer("10_1278500537.15927")
+.sub "" :load :init :subid("post372") :outer("10_1279589170.0083")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1278500537.15927"
+ .const 'Sub' $P12 = "10_1279589170.0083"
.local pmc block
set block, $P12
- $P1461 = get_root_global ["parrot"], "P6metaclass"
- $P1461."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+ $P1428 = get_root_global ["parrot"], "P6metaclass"
+ $P1428."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
-.sub "_block13" :subid("11_1278500537.15927") :outer("10_1278500537.15927")
+.sub "_block13" :subid("11_1279589170.0083") :outer("10_1279589170.0083")
.annotate 'line', 4
- 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"
+ get_hll_global $P1340, ["NQP";"Regex"], "_block1339"
capture_lex $P1340
- .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"
+ .const 'Sub' $P1326 = "348_1279589170.0083"
+ capture_lex $P1326
+ .const 'Sub' $P1320 = "346_1279589170.0083"
+ capture_lex $P1320
+ .const 'Sub' $P1314 = "344_1279589170.0083"
capture_lex $P1314
- .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 = "246_1278500537.15927"
- capture_lex $P1013
- .const 'Sub' $P1007 = "244_1278500537.15927"
- capture_lex $P1007
- .const 'Sub' $P1002 = "242_1278500537.15927"
- capture_lex $P1002
- .const 'Sub' $P997 = "240_1278500537.15927"
- capture_lex $P997
- .const 'Sub' $P989 = "238_1278500537.15927"
- capture_lex $P989
- .const 'Sub' $P981 = "236_1278500537.15927"
+ .const 'Sub' $P1308 = "342_1279589170.0083"
+ capture_lex $P1308
+ .const 'Sub' $P1302 = "340_1279589170.0083"
+ capture_lex $P1302
+ .const 'Sub' $P1296 = "338_1279589170.0083"
+ capture_lex $P1296
+ .const 'Sub' $P1289 = "336_1279589170.0083"
+ capture_lex $P1289
+ .const 'Sub' $P1282 = "334_1279589170.0083"
+ capture_lex $P1282
+ .const 'Sub' $P1275 = "332_1279589170.0083"
+ capture_lex $P1275
+ .const 'Sub' $P1268 = "330_1279589170.0083"
+ capture_lex $P1268
+ .const 'Sub' $P1262 = "328_1279589170.0083"
+ capture_lex $P1262
+ .const 'Sub' $P1255 = "326_1279589170.0083"
+ capture_lex $P1255
+ .const 'Sub' $P1248 = "324_1279589170.0083"
+ capture_lex $P1248
+ .const 'Sub' $P1241 = "322_1279589170.0083"
+ capture_lex $P1241
+ .const 'Sub' $P1234 = "320_1279589170.0083"
+ capture_lex $P1234
+ .const 'Sub' $P1227 = "318_1279589170.0083"
+ capture_lex $P1227
+ .const 'Sub' $P1220 = "316_1279589170.0083"
+ capture_lex $P1220
+ .const 'Sub' $P1213 = "314_1279589170.0083"
+ capture_lex $P1213
+ .const 'Sub' $P1206 = "312_1279589170.0083"
+ capture_lex $P1206
+ .const 'Sub' $P1199 = "310_1279589170.0083"
+ capture_lex $P1199
+ .const 'Sub' $P1192 = "308_1279589170.0083"
+ capture_lex $P1192
+ .const 'Sub' $P1185 = "306_1279589170.0083"
+ capture_lex $P1185
+ .const 'Sub' $P1178 = "304_1279589170.0083"
+ capture_lex $P1178
+ .const 'Sub' $P1171 = "302_1279589170.0083"
+ capture_lex $P1171
+ .const 'Sub' $P1164 = "300_1279589170.0083"
+ capture_lex $P1164
+ .const 'Sub' $P1157 = "298_1279589170.0083"
+ capture_lex $P1157
+ .const 'Sub' $P1150 = "296_1279589170.0083"
+ capture_lex $P1150
+ .const 'Sub' $P1143 = "294_1279589170.0083"
+ capture_lex $P1143
+ .const 'Sub' $P1136 = "292_1279589170.0083"
+ capture_lex $P1136
+ .const 'Sub' $P1129 = "290_1279589170.0083"
+ capture_lex $P1129
+ .const 'Sub' $P1122 = "288_1279589170.0083"
+ capture_lex $P1122
+ .const 'Sub' $P1115 = "286_1279589170.0083"
+ capture_lex $P1115
+ .const 'Sub' $P1108 = "284_1279589170.0083"
+ capture_lex $P1108
+ .const 'Sub' $P1101 = "282_1279589170.0083"
+ capture_lex $P1101
+ .const 'Sub' $P1094 = "280_1279589170.0083"
+ capture_lex $P1094
+ .const 'Sub' $P1087 = "278_1279589170.0083"
+ capture_lex $P1087
+ .const 'Sub' $P1080 = "276_1279589170.0083"
+ capture_lex $P1080
+ .const 'Sub' $P1073 = "274_1279589170.0083"
+ capture_lex $P1073
+ .const 'Sub' $P1066 = "272_1279589170.0083"
+ capture_lex $P1066
+ .const 'Sub' $P1059 = "270_1279589170.0083"
+ capture_lex $P1059
+ .const 'Sub' $P1053 = "268_1279589170.0083"
+ capture_lex $P1053
+ .const 'Sub' $P1046 = "266_1279589170.0083"
+ capture_lex $P1046
+ .const 'Sub' $P1039 = "264_1279589170.0083"
+ capture_lex $P1039
+ .const 'Sub' $P1032 = "262_1279589170.0083"
+ capture_lex $P1032
+ .const 'Sub' $P1025 = "260_1279589170.0083"
+ capture_lex $P1025
+ .const 'Sub' $P1018 = "258_1279589170.0083"
+ capture_lex $P1018
+ .const 'Sub' $P1011 = "256_1279589170.0083"
+ capture_lex $P1011
+ .const 'Sub' $P1004 = "254_1279589170.0083"
+ capture_lex $P1004
+ .const 'Sub' $P998 = "252_1279589170.0083"
+ capture_lex $P998
+ .const 'Sub' $P992 = "250_1279589170.0083"
+ capture_lex $P992
+ .const 'Sub' $P987 = "248_1279589170.0083"
+ capture_lex $P987
+ .const 'Sub' $P981 = "246_1279589170.0083"
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' $P923 = "216_1278500537.15927"
- capture_lex $P923
- .const 'Sub' $P917 = "214_1278500537.15927"
+ .const 'Sub' $P975 = "244_1279589170.0083"
+ capture_lex $P975
+ .const 'Sub' $P970 = "242_1279589170.0083"
+ capture_lex $P970
+ .const 'Sub' $P965 = "240_1279589170.0083"
+ capture_lex $P965
+ .const 'Sub' $P957 = "238_1279589170.0083"
+ capture_lex $P957
+ .const 'Sub' $P948 = "236_1279589170.0083"
+ capture_lex $P948
+ .const 'Sub' $P943 = "234_1279589170.0083"
+ capture_lex $P943
+ .const 'Sub' $P938 = "232_1279589170.0083"
+ capture_lex $P938
+ .const 'Sub' $P933 = "230_1279589170.0083"
+ capture_lex $P933
+ .const 'Sub' $P925 = "228_1279589170.0083"
+ capture_lex $P925
+ .const 'Sub' $P917 = "226_1279589170.0083"
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' $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"
+ .const 'Sub' $P912 = "224_1279589170.0083"
+ capture_lex $P912
+ .const 'Sub' $P907 = "222_1279589170.0083"
+ capture_lex $P907
+ .const 'Sub' $P902 = "220_1279589170.0083"
+ capture_lex $P902
+ .const 'Sub' $P896 = "218_1279589170.0083"
+ capture_lex $P896
+ .const 'Sub' $P890 = "216_1279589170.0083"
+ capture_lex $P890
+ .const 'Sub' $P884 = "214_1279589170.0083"
+ capture_lex $P884
+ .const 'Sub' $P878 = "212_1279589170.0083"
+ capture_lex $P878
+ .const 'Sub' $P872 = "210_1279589170.0083"
+ capture_lex $P872
+ .const 'Sub' $P867 = "208_1279589170.0083"
+ capture_lex $P867
+ .const 'Sub' $P862 = "206_1279589170.0083"
+ capture_lex $P862
+ .const 'Sub' $P850 = "202_1279589170.0083"
+ capture_lex $P850
+ .const 'Sub' $P842 = "200_1279589170.0083"
+ capture_lex $P842
+ .const 'Sub' $P836 = "198_1279589170.0083"
+ capture_lex $P836
+ .const 'Sub' $P829 = "196_1279589170.0083"
+ capture_lex $P829
+ .const 'Sub' $P823 = "194_1279589170.0083"
+ capture_lex $P823
+ .const 'Sub' $P815 = "192_1279589170.0083"
+ capture_lex $P815
+ .const 'Sub' $P807 = "190_1279589170.0083"
+ capture_lex $P807
+ .const 'Sub' $P801 = "188_1279589170.0083"
+ capture_lex $P801
+ .const 'Sub' $P795 = "186_1279589170.0083"
+ capture_lex $P795
+ .const 'Sub' $P781 = "182_1279589170.0083"
+ capture_lex $P781
+ .const 'Sub' $P744 = "180_1279589170.0083"
+ capture_lex $P744
+ .const 'Sub' $P735 = "178_1279589170.0083"
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"
+ .const 'Sub' $P729 = "176_1279589170.0083"
+ capture_lex $P729
+ .const 'Sub' $P719 = "174_1279589170.0083"
+ capture_lex $P719
+ .const 'Sub' $P706 = "172_1279589170.0083"
+ capture_lex $P706
+ .const 'Sub' $P699 = "170_1279589170.0083"
+ capture_lex $P699
+ .const 'Sub' $P691 = "168_1279589170.0083"
+ capture_lex $P691
+ .const 'Sub' $P681 = "166_1279589170.0083"
+ capture_lex $P681
+ .const 'Sub' $P657 = "162_1279589170.0083"
+ capture_lex $P657
+ .const 'Sub' $P634 = "160_1279589170.0083"
+ capture_lex $P634
+ .const 'Sub' $P627 = "158_1279589170.0083"
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"
+ .const 'Sub' $P620 = "156_1279589170.0083"
+ capture_lex $P620
+ .const 'Sub' $P610 = "152_1279589170.0083"
+ capture_lex $P610
+ .const 'Sub' $P602 = "150_1279589170.0083"
+ capture_lex $P602
+ .const 'Sub' $P596 = "148_1279589170.0083"
+ capture_lex $P596
+ .const 'Sub' $P583 = "146_1279589170.0083"
+ capture_lex $P583
+ .const 'Sub' $P576 = "144_1279589170.0083"
+ capture_lex $P576
+ .const 'Sub' $P569 = "142_1279589170.0083"
+ capture_lex $P569
+ .const 'Sub' $P562 = "140_1279589170.0083"
+ capture_lex $P562
+ .const 'Sub' $P535 = "136_1279589170.0083"
+ capture_lex $P535
+ .const 'Sub' $P526 = "134_1279589170.0083"
+ capture_lex $P526
+ .const 'Sub' $P519 = "132_1279589170.0083"
+ capture_lex $P519
+ .const 'Sub' $P510 = "128_1279589170.0083"
+ capture_lex $P510
+ .const 'Sub' $P505 = "126_1279589170.0083"
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' $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"
+ .const 'Sub' $P493 = "124_1279589170.0083"
+ capture_lex $P493
+ .const 'Sub' $P481 = "122_1279589170.0083"
+ capture_lex $P481
+ .const 'Sub' $P474 = "120_1279589170.0083"
+ capture_lex $P474
+ .const 'Sub' $P469 = "118_1279589170.0083"
+ capture_lex $P469
+ .const 'Sub' $P463 = "116_1279589170.0083"
+ capture_lex $P463
+ .const 'Sub' $P457 = "114_1279589170.0083"
+ capture_lex $P457
+ .const 'Sub' $P447 = "111_1279589170.0083"
+ capture_lex $P447
+ .const 'Sub' $P441 = "109_1279589170.0083"
+ capture_lex $P441
+ .const 'Sub' $P435 = "107_1279589170.0083"
+ capture_lex $P435
+ .const 'Sub' $P429 = "105_1279589170.0083"
+ capture_lex $P429
+ .const 'Sub' $P423 = "103_1279589170.0083"
+ capture_lex $P423
+ .const 'Sub' $P417 = "101_1279589170.0083"
+ capture_lex $P417
+ .const 'Sub' $P411 = "99_1279589170.0083"
+ capture_lex $P411
+ .const 'Sub' $P402 = "97_1279589170.0083"
+ capture_lex $P402
+ .const 'Sub' $P393 = "95_1279589170.0083"
+ capture_lex $P393
+ .const 'Sub' $P384 = "93_1279589170.0083"
+ capture_lex $P384
+ .const 'Sub' $P371 = "89_1279589170.0083"
+ capture_lex $P371
+ .const 'Sub' $P362 = "87_1279589170.0083"
+ capture_lex $P362
+ .const 'Sub' $P352 = "83_1279589170.0083"
+ capture_lex $P352
+ .const 'Sub' $P345 = "81_1279589170.0083"
+ capture_lex $P345
+ .const 'Sub' $P338 = "79_1279589170.0083"
+ capture_lex $P338
+ .const 'Sub' $P326 = "75_1279589170.0083"
+ capture_lex $P326
+ .const 'Sub' $P318 = "73_1279589170.0083"
+ capture_lex $P318
+ .const 'Sub' $P310 = "71_1279589170.0083"
+ capture_lex $P310
+ .const 'Sub' $P290 = "69_1279589170.0083"
+ capture_lex $P290
+ .const 'Sub' $P281 = "67_1279589170.0083"
+ capture_lex $P281
+ .const 'Sub' $P263 = "64_1279589170.0083"
+ capture_lex $P263
+ .const 'Sub' $P245 = "62_1279589170.0083"
+ capture_lex $P245
+ .const 'Sub' $P236 = "58_1279589170.0083"
+ capture_lex $P236
+ .const 'Sub' $P231 = "56_1279589170.0083"
+ capture_lex $P231
+ .const 'Sub' $P222 = "52_1279589170.0083"
+ capture_lex $P222
+ .const 'Sub' $P217 = "50_1279589170.0083"
+ capture_lex $P217
+ .const 'Sub' $P212 = "48_1279589170.0083"
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"
+ .const 'Sub' $P203 = "46_1279589170.0083"
+ capture_lex $P203
+ .const 'Sub' $P196 = "44_1279589170.0083"
+ capture_lex $P196
+ .const 'Sub' $P190 = "42_1279589170.0083"
+ capture_lex $P190
+ .const 'Sub' $P182 = "40_1279589170.0083"
+ capture_lex $P182
+ .const 'Sub' $P176 = "38_1279589170.0083"
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"
+ .const 'Sub' $P170 = "36_1279589170.0083"
+ capture_lex $P170
+ .const 'Sub' $P155 = "33_1279589170.0083"
+ capture_lex $P155
+ .const 'Sub' $P141 = "31_1279589170.0083"
+ capture_lex $P141
+ .const 'Sub' $P134 = "29_1279589170.0083"
+ capture_lex $P134
+ .const 'Sub' $P95 = "26_1279589170.0083"
+ capture_lex $P95
+ .const 'Sub' $P80 = "23_1279589170.0083"
+ capture_lex $P80
+ .const 'Sub' $P69 = "21_1279589170.0083"
+ capture_lex $P69
+ .const 'Sub' $P57 = "19_1279589170.0083"
+ capture_lex $P57
+ .const 'Sub' $P49 = "17_1279589170.0083"
+ capture_lex $P49
+ .const 'Sub' $P42 = "15_1279589170.0083"
+ capture_lex $P42
+ .const 'Sub' $P35 = "13_1279589170.0083"
capture_lex $P35
- .const 'Sub' $P15 = "12_1278500537.15927"
+ .const 'Sub' $P15 = "12_1279589170.0083"
capture_lex $P15
$P0 = find_dynamic_lex "$*CTXSAVE"
if null $P0 goto ctxsave_done
@@ -372,76 +372,76 @@
$P0."ctxsave"()
ctxsave_done:
.annotate 'line', 567
- get_hll_global $P1372, ["NQP";"Regex"], "_block1371"
- capture_lex $P1372
- $P1435 = $P1372()
+ get_hll_global $P1340, ["NQP";"Regex"], "_block1339"
+ capture_lex $P1340
+ $P1402 = $P1340()
.annotate 'line', 4
- .return ($P1435)
- .const 'Sub' $P1437 = "370_1278500537.15927"
- .return ($P1437)
+ .return ($P1402)
+ .const 'Sub' $P1404 = "370_1279589170.0083"
+ .return ($P1404)
.end
.namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post373") :outer("11_1278500537.15927")
+.sub "" :load :init :subid("post373") :outer("11_1279589170.0083")
.annotate 'line', 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
.local pmc block
set block, $P14
.annotate 'line', 448
- get_hll_global $P1440, ["NQP"], "Grammar"
- $P1440."O"(":prec<y=>, :assoc<unary>", "%methodop")
+ get_hll_global $P1407, ["NQP"], "Grammar"
+ $P1407."O"(":prec<y=>, :assoc<unary>", "%methodop")
.annotate 'line', 449
- get_hll_global $P1441, ["NQP"], "Grammar"
- $P1441."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+ get_hll_global $P1408, ["NQP"], "Grammar"
+ $P1408."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
.annotate 'line', 450
- get_hll_global $P1442, ["NQP"], "Grammar"
- $P1442."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+ get_hll_global $P1409, ["NQP"], "Grammar"
+ $P1409."O"(":prec<w=>, :assoc<left>", "%exponentiation")
.annotate 'line', 451
- get_hll_global $P1443, ["NQP"], "Grammar"
- $P1443."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+ get_hll_global $P1410, ["NQP"], "Grammar"
+ $P1410."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
.annotate 'line', 452
- get_hll_global $P1444, ["NQP"], "Grammar"
- $P1444."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+ get_hll_global $P1411, ["NQP"], "Grammar"
+ $P1411."O"(":prec<u=>, :assoc<left>", "%multiplicative")
.annotate 'line', 453
- get_hll_global $P1445, ["NQP"], "Grammar"
- $P1445."O"(":prec<t=>, :assoc<left>", "%additive")
+ get_hll_global $P1412, ["NQP"], "Grammar"
+ $P1412."O"(":prec<t=>, :assoc<left>", "%additive")
.annotate 'line', 454
- get_hll_global $P1446, ["NQP"], "Grammar"
- $P1446."O"(":prec<r=>, :assoc<left>", "%concatenation")
+ get_hll_global $P1413, ["NQP"], "Grammar"
+ $P1413."O"(":prec<r=>, :assoc<left>", "%concatenation")
.annotate 'line', 455
- get_hll_global $P1447, ["NQP"], "Grammar"
- $P1447."O"(":prec<m=>, :assoc<left>", "%relational")
+ get_hll_global $P1414, ["NQP"], "Grammar"
+ $P1414."O"(":prec<m=>, :assoc<left>", "%relational")
.annotate 'line', 456
- get_hll_global $P1448, ["NQP"], "Grammar"
- $P1448."O"(":prec<l=>, :assoc<left>", "%tight_and")
+ get_hll_global $P1415, ["NQP"], "Grammar"
+ $P1415."O"(":prec<l=>, :assoc<left>", "%tight_and")
.annotate 'line', 457
- get_hll_global $P1449, ["NQP"], "Grammar"
- $P1449."O"(":prec<k=>, :assoc<left>", "%tight_or")
+ get_hll_global $P1416, ["NQP"], "Grammar"
+ $P1416."O"(":prec<k=>, :assoc<left>", "%tight_or")
.annotate 'line', 458
- get_hll_global $P1450, ["NQP"], "Grammar"
- $P1450."O"(":prec<j=>, :assoc<right>", "%conditional")
+ get_hll_global $P1417, ["NQP"], "Grammar"
+ $P1417."O"(":prec<j=>, :assoc<right>", "%conditional")
.annotate 'line', 459
- get_hll_global $P1451, ["NQP"], "Grammar"
- $P1451."O"(":prec<i=>, :assoc<right>", "%assignment")
+ get_hll_global $P1418, ["NQP"], "Grammar"
+ $P1418."O"(":prec<i=>, :assoc<right>", "%assignment")
.annotate 'line', 460
- get_hll_global $P1452, ["NQP"], "Grammar"
- $P1452."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+ get_hll_global $P1419, ["NQP"], "Grammar"
+ $P1419."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
.annotate 'line', 461
- get_hll_global $P1453, ["NQP"], "Grammar"
- $P1453."O"(":prec<f=>, :assoc<list>", "%list_infix")
+ get_hll_global $P1420, ["NQP"], "Grammar"
+ $P1420."O"(":prec<f=>, :assoc<list>", "%list_infix")
.annotate 'line', 462
- get_hll_global $P1454, ["NQP"], "Grammar"
- $P1454."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+ get_hll_global $P1421, ["NQP"], "Grammar"
+ $P1421."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
.annotate 'line', 447
- $P1455 = get_root_global ["parrot"], "P6metaclass"
- $P1455."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+ $P1422 = get_root_global ["parrot"], "P6metaclass"
+ $P1422."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
.include "except_types.pasm"
-.sub "TOP" :subid("12_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "TOP" :subid("12_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
@@ -531,7 +531,7 @@
.namespace ["NQP";"Grammar"]
-.sub "identifier" :subid("13_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "identifier" :subid("13_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
.local string rx36_tgt
.local int rx36_pos
@@ -539,8 +539,7 @@
.local int rx36_eos
.local int rx36_rep
.local pmc rx36_cur
- (rx36_cur, rx36_pos, rx36_tgt) = self."!cursor_start"()
- rx36_cur."!cursor_debug"("START ", "identifier")
+ (rx36_cur, rx36_pos, rx36_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx36_cur
.local pmc match
.lex "$/", match
@@ -551,6 +550,8 @@
sub rx36_off, rx36_pos, 1
substr rx36_tgt, rx36_tgt, rx36_off
rx36_start:
+ eq $I10, 1, rx36_restart
+ rx36_cur."!cursor_debug"("START ", "identifier")
$I10 = self.'from'()
ne $I10, -1, rxscan40_done
goto rxscan40_scan
@@ -570,8 +571,8 @@
unless $P10, rx36_fail
rx36_pos = $P10."pos"()
# rx rxquantr41 ** 0..*
- set_addr $I42, rxquantr41_done
- rx36_cur."!mark_push"(0, rx36_pos, $I42)
+ set_addr $I10, rxquantr41_done
+ rx36_cur."!mark_push"(0, rx36_pos, $I10)
rxquantr41_loop:
# rx enumcharlist negate=0
ge rx36_pos, rx36_eos, rx36_fail
@@ -585,16 +586,20 @@
$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)
+ set_addr $I10, rxquantr41_done
+ (rx36_rep) = rx36_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr41_done
+ rx36_cur."!mark_push"(rx36_rep, rx36_pos, $I10)
goto rxquantr41_loop
rxquantr41_done:
# rx pass
rx36_cur."!cursor_pass"(rx36_pos, "identifier")
rx36_cur."!cursor_debug"("PASS ", "identifier", " at pos=", rx36_pos)
.return (rx36_cur)
- rx36_fail:
+ rx36_restart:
.annotate 'line', 4
+ rx36_cur."!cursor_debug"("NEXT ", "identifier")
+ rx36_fail:
(rx36_rep, rx36_pos, $I10, $P10) = rx36_cur."!mark_fail"(0)
lt rx36_pos, -1, rx36_done
eq rx36_pos, -1, rx36_fail
@@ -608,7 +613,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier" :subid("14_1278500537.15927") :method
+.sub "!PREFIX__identifier" :subid("14_1279589170.0083") :method
.annotate 'line', 4
$P38 = self."!PREFIX__!subrule"("ident", "")
new $P39, "ResizablePMCArray"
@@ -618,1488 +623,1861 @@
.namespace ["NQP";"Grammar"]
-.sub "name" :subid("15_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "name" :subid("15_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, rxscan47_done
- goto rxscan47_scan
- rxscan47_loop:
- ($P10) = rx44_cur."from"()
- inc $P10
- 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:
+ .local string rx43_tgt
+ .local int rx43_pos
+ .local int rx43_off
+ .local int rx43_eos
+ .local int rx43_rep
+ .local pmc rx43_cur
+ (rx43_cur, rx43_pos, rx43_tgt, $I10) = self."!cursor_start"()
+ rx43_cur."!cursor_caparray"("identifier")
+ .lex unicode:"$\x{a2}", rx43_cur
+ .local pmc match
+ .lex "$/", match
+ length rx43_eos, rx43_tgt
+ gt rx43_pos, rx43_eos, rx43_done
+ set rx43_off, 0
+ lt rx43_pos, 2, rx43_start
+ sub rx43_off, rx43_pos, 1
+ substr rx43_tgt, rx43_tgt, rx43_off
+ rx43_start:
+ eq $I10, 1, rx43_restart
+ rx43_cur."!cursor_debug"("START ", "name")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan46_done
+ goto rxscan46_scan
+ rxscan46_loop:
+ ($P10) = rx43_cur."from"()
+ inc $P10
+ set rx43_pos, $P10
+ ge rx43_pos, rx43_eos, rxscan46_done
+ rxscan46_scan:
+ set_addr $I10, rxscan46_loop
+ rx43_cur."!mark_push"(0, rx43_pos, $I10)
+ rxscan46_done:
.annotate 'line', 19
- # rx rxquantr48 ** 1..*
- set_addr $I49, rxquantr48_done
- rx44_cur."!mark_push"(0, -1, $I49)
- rxquantr48_loop:
+ # rx rxquantr47 ** 1..*
+ set_addr $I10, rxquantr47_done
+ rx43_cur."!mark_push"(0, -1, $I10)
+ rxquantr47_loop:
# rx subrule "identifier" subtype=capture negate=
- rx44_cur."!cursor_pos"(rx44_pos)
- $P10 = rx44_cur."identifier"()
- unless $P10, rx44_fail
- rx44_cur."!mark_push"(0, -1, 0, $P10)
+ rx43_cur."!cursor_pos"(rx43_pos)
+ $P10 = rx43_cur."identifier"()
+ unless $P10, rx43_fail
+ goto rxsubrule48_pass
+ rxsubrule48_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx43_fail
+ rxsubrule48_pass:
+ set_addr $I10, rxsubrule48_back
+ rx43_cur."!mark_push"(0, rx43_pos, $I10, $P10)
$P10."!cursor_names"("identifier")
- rx44_pos = $P10."pos"()
- (rx44_rep) = rx44_cur."!mark_commit"($I49)
- rx44_cur."!mark_push"(rx44_rep, rx44_pos, $I49)
+ rx43_pos = $P10."pos"()
+ set_addr $I10, rxquantr47_done
+ (rx43_rep) = rx43_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr47_done
+ rx43_cur."!mark_push"(rx43_rep, rx43_pos, $I10)
# rx literal "::"
- 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
- 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
- rx44_done:
- rx44_cur."!cursor_fail"()
- rx44_cur."!cursor_debug"("FAIL ", "name")
- .return (rx44_cur)
+ add $I11, rx43_pos, 2
+ gt $I11, rx43_eos, rx43_fail
+ sub $I11, rx43_pos, rx43_off
+ substr $S10, rx43_tgt, $I11, 2
+ ne $S10, "::", rx43_fail
+ add rx43_pos, 2
+ goto rxquantr47_loop
+ rxquantr47_done:
+ # rx pass
+ rx43_cur."!cursor_pass"(rx43_pos, "name")
+ rx43_cur."!cursor_debug"("PASS ", "name", " at pos=", rx43_pos)
+ .return (rx43_cur)
+ rx43_restart:
+.annotate 'line', 4
+ rx43_cur."!cursor_debug"("NEXT ", "name")
+ rx43_fail:
+ (rx43_rep, rx43_pos, $I10, $P10) = rx43_cur."!mark_fail"(0)
+ lt rx43_pos, -1, rx43_done
+ eq rx43_pos, -1, rx43_fail
+ jump $I10
+ rx43_done:
+ rx43_cur."!cursor_fail"()
+ rx43_cur."!cursor_debug"("FAIL ", "name")
+ .return (rx43_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name" :subid("16_1278500537.15927") :method
-.annotate 'line', 4
- new $P46, "ResizablePMCArray"
- push $P46, ""
- .return ($P46)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "deflongname" :subid("17_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan55_done
- goto rxscan55_scan
- rxscan55_loop:
- ($P10) = rx51_cur."from"()
- inc $P10
- 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:
+.sub "!PREFIX__name" :subid("16_1279589170.0083") :method
+.annotate 'line', 4
+ new $P45, "ResizablePMCArray"
+ push $P45, ""
+ .return ($P45)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "deflongname" :subid("17_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx50_tgt
+ .local int rx50_pos
+ .local int rx50_off
+ .local int rx50_eos
+ .local int rx50_rep
+ .local pmc rx50_cur
+ (rx50_cur, rx50_pos, rx50_tgt, $I10) = self."!cursor_start"()
+ rx50_cur."!cursor_caparray"("colonpair")
+ .lex unicode:"$\x{a2}", rx50_cur
+ .local pmc match
+ .lex "$/", match
+ length rx50_eos, rx50_tgt
+ gt rx50_pos, rx50_eos, rx50_done
+ set rx50_off, 0
+ lt rx50_pos, 2, rx50_start
+ sub rx50_off, rx50_pos, 1
+ substr rx50_tgt, rx50_tgt, rx50_off
+ rx50_start:
+ eq $I10, 1, rx50_restart
+ rx50_cur."!cursor_debug"("START ", "deflongname")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan54_done
+ goto rxscan54_scan
+ rxscan54_loop:
+ ($P10) = rx50_cur."from"()
+ inc $P10
+ set rx50_pos, $P10
+ ge rx50_pos, rx50_eos, rxscan54_done
+ rxscan54_scan:
+ set_addr $I10, rxscan54_loop
+ rx50_cur."!mark_push"(0, rx50_pos, $I10)
+ rxscan54_done:
.annotate 'line', 22
# rx subrule "identifier" subtype=capture negate=
- rx51_cur."!cursor_pos"(rx51_pos)
- $P10 = rx51_cur."identifier"()
- unless $P10, rx51_fail
- rx51_cur."!mark_push"(0, -1, 0, $P10)
+ rx50_cur."!cursor_pos"(rx50_pos)
+ $P10 = rx50_cur."identifier"()
+ unless $P10, rx50_fail
+ rx50_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("identifier")
- rx51_pos = $P10."pos"()
- # rx rxquantr56 ** 0..1
- set_addr $I57, rxquantr56_done
- rx51_cur."!mark_push"(0, rx51_pos, $I57)
- rxquantr56_loop:
+ rx50_pos = $P10."pos"()
+ # rx rxquantr55 ** 0..1
+ set_addr $I10, rxquantr55_done
+ rx50_cur."!mark_push"(0, rx50_pos, $I10)
+ rxquantr55_loop:
# rx subrule "colonpair" subtype=capture negate=
- rx51_cur."!cursor_pos"(rx51_pos)
- $P10 = rx51_cur."colonpair"()
- unless $P10, rx51_fail
- rx51_cur."!mark_push"(0, -1, 0, $P10)
+ rx50_cur."!cursor_pos"(rx50_pos)
+ $P10 = rx50_cur."colonpair"()
+ unless $P10, rx50_fail
+ goto rxsubrule56_pass
+ rxsubrule56_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx50_fail
+ rxsubrule56_pass:
+ set_addr $I10, rxsubrule56_back
+ rx50_cur."!mark_push"(0, rx50_pos, $I10, $P10)
$P10."!cursor_names"("colonpair")
- rx51_pos = $P10."pos"()
- (rx51_rep) = rx51_cur."!mark_commit"($I57)
- rxquantr56_done:
+ rx50_pos = $P10."pos"()
+ set_addr $I10, rxquantr55_done
+ (rx50_rep) = rx50_cur."!mark_commit"($I10)
+ rxquantr55_done:
.annotate 'line', 21
# rx pass
- rx51_cur."!cursor_pass"(rx51_pos, "deflongname")
- rx51_cur."!cursor_debug"("PASS ", "deflongname", " at pos=", rx51_pos)
- .return (rx51_cur)
- rx51_fail:
+ rx50_cur."!cursor_pass"(rx50_pos, "deflongname")
+ rx50_cur."!cursor_debug"("PASS ", "deflongname", " at pos=", rx50_pos)
+ .return (rx50_cur)
+ rx50_restart:
.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
+ rx50_cur."!cursor_debug"("NEXT ", "deflongname")
+ rx50_fail:
+ (rx50_rep, rx50_pos, $I10, $P10) = rx50_cur."!mark_fail"(0)
+ lt rx50_pos, -1, rx50_done
+ eq rx50_pos, -1, rx50_fail
jump $I10
- rx51_done:
- rx51_cur."!cursor_fail"()
- rx51_cur."!cursor_debug"("FAIL ", "deflongname")
- .return (rx51_cur)
+ rx50_done:
+ rx50_cur."!cursor_fail"()
+ rx50_cur."!cursor_debug"("FAIL ", "deflongname")
+ .return (rx50_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname" :subid("18_1278500537.15927") :method
+.sub "!PREFIX__deflongname" :subid("18_1279589170.0083") :method
.annotate 'line', 4
- $P53 = self."!PREFIX__!subrule"("identifier", "")
- new $P54, "ResizablePMCArray"
- push $P54, $P53
- .return ($P54)
+ $P52 = self."!PREFIX__!subrule"("identifier", "")
+ new $P53, "ResizablePMCArray"
+ push $P53, $P52
+ .return ($P53)
.end
.namespace ["NQP";"Grammar"]
-.sub "ENDSTMT" :subid("19_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "ENDSTMT" :subid("19_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 string rx58_tgt
+ .local int rx58_pos
+ .local int rx58_off
+ .local int rx58_eos
+ .local int rx58_rep
+ .local pmc rx58_cur
+ (rx58_cur, rx58_pos, rx58_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx58_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx58_eos, rx58_tgt
+ gt rx58_pos, rx58_eos, rx58_done
+ set rx58_off, 0
+ lt rx58_pos, 2, rx58_start
+ sub rx58_off, rx58_pos, 1
+ substr rx58_tgt, rx58_tgt, rx58_off
+ rx58_start:
+ eq $I10, 1, rx58_restart
+ rx58_cur."!cursor_debug"("START ", "ENDSTMT")
$I10 = self.'from'()
- ne $I10, -1, rxscan62_done
- goto rxscan62_scan
- rxscan62_loop:
- ($P10) = rx59_cur."from"()
+ ne $I10, -1, rxscan61_done
+ goto rxscan61_scan
+ rxscan61_loop:
+ ($P10) = rx58_cur."from"()
inc $P10
- 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:
+ set rx58_pos, $P10
+ ge rx58_pos, rx58_eos, rxscan61_done
+ rxscan61_scan:
+ set_addr $I10, rxscan61_loop
+ rx58_cur."!mark_push"(0, rx58_pos, $I10)
+ rxscan61_done:
.annotate 'line', 29
- # rx rxquantr63 ** 0..1
- set_addr $I71, rxquantr63_done
- rx59_cur."!mark_push"(0, rx59_pos, $I71)
- rxquantr63_loop:
- alt64_0:
+ # rx rxquantr62 ** 0..1
+ set_addr $I10, rxquantr62_done
+ rx58_cur."!mark_push"(0, rx58_pos, $I10)
+ rxquantr62_loop:
+ alt63_0:
.annotate 'line', 26
- set_addr $I10, alt64_1
- rx59_cur."!mark_push"(0, rx59_pos, $I10)
+ set_addr $I10, alt63_1
+ rx58_cur."!mark_push"(0, rx58_pos, $I10)
.annotate 'line', 27
- # rx rxquantr65 ** 0..*
- set_addr $I66, rxquantr65_done
- rx59_cur."!mark_push"(0, rx59_pos, $I66)
- rxquantr65_loop:
+ # rx rxquantr64 ** 0..*
+ set_addr $I10, rxquantr64_done
+ rx58_cur."!mark_push"(0, rx58_pos, $I10)
+ rxquantr64_loop:
# rx enumcharlist negate=0
- ge rx59_pos, rx59_eos, rx59_fail
- sub $I10, rx59_pos, rx59_off
- substr $S10, rx59_tgt, $I10, 1
+ ge rx58_pos, rx58_eos, rx58_fail
+ sub $I10, rx58_pos, rx58_off
+ substr $S10, rx58_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, 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:
+ lt $I11, 0, rx58_fail
+ inc rx58_pos
+ set_addr $I10, rxquantr64_done
+ (rx58_rep) = rx58_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr64_done
+ rx58_cur."!mark_push"(rx58_rep, rx58_pos, $I10)
+ goto rxquantr64_loop
+ rxquantr64_done:
# rxanchor eol
- 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
+ sub $I10, rx58_pos, rx58_off
+ is_cclass $I11, 4096, rx58_tgt, $I10
+ if $I11, rxanchor65_done
+ ne rx58_pos, rx58_eos, rx58_fail
+ eq rx58_pos, 0, rxanchor65_done
dec $I10
- is_cclass $I11, 4096, rx59_tgt, $I10
- if $I11, rx59_fail
- rxanchor67_done:
- # rx subrule "ws" subtype=method negate=
- rx59_cur."!cursor_pos"(rx59_pos)
- $P10 = rx59_cur."ws"()
- unless $P10, rx59_fail
- rx59_pos = $P10."pos"()
+ is_cclass $I11, 4096, rx58_tgt, $I10
+ if $I11, rx58_fail
+ rxanchor65_done:
+ # rx subrule "ws" subtype=method negate=
+ rx58_cur."!cursor_pos"(rx58_pos)
+ $P10 = rx58_cur."ws"()
+ unless $P10, rx58_fail
+ rx58_pos = $P10."pos"()
# rx subrule "MARKER" subtype=zerowidth negate=
- rx59_cur."!cursor_pos"(rx59_pos)
- $P10 = rx59_cur."MARKER"("endstmt")
- unless $P10, rx59_fail
- goto alt64_end
- alt64_1:
+ rx58_cur."!cursor_pos"(rx58_pos)
+ $P10 = rx58_cur."MARKER"("endstmt")
+ unless $P10, rx58_fail
+ goto alt63_end
+ alt63_1:
.annotate 'line', 28
- # rx rxquantr68 ** 0..1
- set_addr $I69, rxquantr68_done
- rx59_cur."!mark_push"(0, rx59_pos, $I69)
- rxquantr68_loop:
+ # rx rxquantr66 ** 0..1
+ set_addr $I10, rxquantr66_done
+ rx58_cur."!mark_push"(0, rx58_pos, $I10)
+ rxquantr66_loop:
# rx subrule "unv" subtype=method negate=
- 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:
+ rx58_cur."!cursor_pos"(rx58_pos)
+ $P10 = rx58_cur."unv"()
+ unless $P10, rx58_fail
+ goto rxsubrule67_pass
+ rxsubrule67_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx58_fail
+ rxsubrule67_pass:
+ set_addr $I10, rxsubrule67_back
+ rx58_cur."!mark_push"(0, rx58_pos, $I10, $P10)
+ rx58_pos = $P10."pos"()
+ set_addr $I10, rxquantr66_done
+ (rx58_rep) = rx58_cur."!mark_commit"($I10)
+ rxquantr66_done:
# rxanchor eol
- 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
+ sub $I10, rx58_pos, rx58_off
+ is_cclass $I11, 4096, rx58_tgt, $I10
+ if $I11, rxanchor68_done
+ ne rx58_pos, rx58_eos, rx58_fail
+ eq rx58_pos, 0, rxanchor68_done
dec $I10
- is_cclass $I11, 4096, rx59_tgt, $I10
- if $I11, rx59_fail
- rxanchor70_done:
- # rx subrule "ws" subtype=method negate=
- rx59_cur."!cursor_pos"(rx59_pos)
- $P10 = rx59_cur."ws"()
- unless $P10, rx59_fail
- rx59_pos = $P10."pos"()
+ is_cclass $I11, 4096, rx58_tgt, $I10
+ if $I11, rx58_fail
+ rxanchor68_done:
+ # rx subrule "ws" subtype=method negate=
+ rx58_cur."!cursor_pos"(rx58_pos)
+ $P10 = rx58_cur."ws"()
+ unless $P10, rx58_fail
+ rx58_pos = $P10."pos"()
# rx subrule "MARKER" subtype=zerowidth negate=
- rx59_cur."!cursor_pos"(rx59_pos)
- $P10 = rx59_cur."MARKER"("endstmt")
- unless $P10, rx59_fail
- alt64_end:
+ rx58_cur."!cursor_pos"(rx58_pos)
+ $P10 = rx58_cur."MARKER"("endstmt")
+ unless $P10, rx58_fail
+ alt63_end:
.annotate 'line', 29
- (rx59_rep) = rx59_cur."!mark_commit"($I71)
- rxquantr63_done:
+ set_addr $I10, rxquantr62_done
+ (rx58_rep) = rx58_cur."!mark_commit"($I10)
+ rxquantr62_done:
.annotate 'line', 25
# rx pass
- rx59_cur."!cursor_pass"(rx59_pos, "ENDSTMT")
- rx59_cur."!cursor_debug"("PASS ", "ENDSTMT", " at pos=", rx59_pos)
- .return (rx59_cur)
- rx59_fail:
+ rx58_cur."!cursor_pass"(rx58_pos, "ENDSTMT")
+ rx58_cur."!cursor_debug"("PASS ", "ENDSTMT", " at pos=", rx58_pos)
+ .return (rx58_cur)
+ rx58_restart:
.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
+ rx58_cur."!cursor_debug"("NEXT ", "ENDSTMT")
+ rx58_fail:
+ (rx58_rep, rx58_pos, $I10, $P10) = rx58_cur."!mark_fail"(0)
+ lt rx58_pos, -1, rx58_done
+ eq rx58_pos, -1, rx58_fail
jump $I10
- rx59_done:
- rx59_cur."!cursor_fail"()
- rx59_cur."!cursor_debug"("FAIL ", "ENDSTMT")
- .return (rx59_cur)
+ rx58_done:
+ rx58_cur."!cursor_fail"()
+ rx58_cur."!cursor_debug"("FAIL ", "ENDSTMT")
+ .return (rx58_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT" :subid("20_1278500537.15927") :method
+.sub "!PREFIX__ENDSTMT" :subid("20_1279589170.0083") :method
.annotate 'line', 4
- new $P61, "ResizablePMCArray"
- push $P61, ""
- .return ($P61)
+ new $P60, "ResizablePMCArray"
+ push $P60, ""
+ .return ($P60)
.end
.namespace ["NQP";"Grammar"]
-.sub "ws" :subid("21_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "ws" :subid("21_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, rxscan76_done
- goto rxscan76_scan
- rxscan76_loop:
- ($P10) = rx73_cur."from"()
- inc $P10
- 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:
+ .local string rx70_tgt
+ .local int rx70_pos
+ .local int rx70_off
+ .local int rx70_eos
+ .local int rx70_rep
+ .local pmc rx70_cur
+ (rx70_cur, rx70_pos, rx70_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx70_cur
+ .local pmc match
+ .lex "$/", match
+ length rx70_eos, rx70_tgt
+ gt rx70_pos, rx70_eos, rx70_done
+ set rx70_off, 0
+ lt rx70_pos, 2, rx70_start
+ sub rx70_off, rx70_pos, 1
+ substr rx70_tgt, rx70_tgt, rx70_off
+ rx70_start:
+ eq $I10, 1, rx70_restart
+ rx70_cur."!cursor_debug"("START ", "ws")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan73_done
+ goto rxscan73_scan
+ rxscan73_loop:
+ ($P10) = rx70_cur."from"()
+ inc $P10
+ set rx70_pos, $P10
+ ge rx70_pos, rx70_eos, rxscan73_done
+ rxscan73_scan:
+ set_addr $I10, rxscan73_loop
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
+ rxscan73_done:
+ alt74_0:
.annotate 'line', 32
- set_addr $I10, alt77_1
- rx73_cur."!mark_push"(0, rx73_pos, $I10)
+ set_addr $I10, alt74_1
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
.annotate 'line', 33
# rx subrule "MARKED" subtype=zerowidth negate=
- rx73_cur."!cursor_pos"(rx73_pos)
- $P10 = rx73_cur."MARKED"("ws")
- unless $P10, rx73_fail
- goto alt77_end
- alt77_1:
+ rx70_cur."!cursor_pos"(rx70_pos)
+ $P10 = rx70_cur."MARKED"("ws")
+ unless $P10, rx70_fail
+ goto alt74_end
+ alt74_1:
.annotate 'line', 34
# rx subrule "ww" subtype=zerowidth negate=1
- rx73_cur."!cursor_pos"(rx73_pos)
- $P10 = rx73_cur."ww"()
- if $P10, rx73_fail
+ rx70_cur."!cursor_pos"(rx70_pos)
+ $P10 = rx70_cur."ww"()
+ if $P10, rx70_fail
.annotate 'line', 39
- # rx rxquantr78 ** 0..*
- set_addr $I85, rxquantr78_done
- rx73_cur."!mark_push"(0, rx73_pos, $I85)
- rxquantr78_loop:
- alt79_0:
+ # rx rxquantr75 ** 0..*
+ set_addr $I10, rxquantr75_done
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
+ rxquantr75_loop:
+ alt76_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:
+ set_addr $I10, alt76_1
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
+ # rx rxquantr77 ** 1..*
+ set_addr $I10, rxquantr77_done
+ rx70_cur."!mark_push"(0, -1, $I10)
+ rxquantr77_loop:
# rx enumcharlist negate=0
- ge rx73_pos, rx73_eos, rx73_fail
- sub $I10, rx73_pos, rx73_off
- substr $S10, rx73_tgt, $I10, 1
+ ge rx70_pos, rx70_eos, rx70_fail
+ sub $I10, rx70_pos, rx70_off
+ substr $S10, rx70_tgt, $I10, 1
index $I11, unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", $S10
- 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)
+ lt $I11, 0, rx70_fail
+ inc rx70_pos
+ set_addr $I10, rxquantr77_done
+ (rx70_rep) = rx70_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr77_done
+ rx70_cur."!mark_push"(rx70_rep, rx70_pos, $I10)
+ goto rxquantr77_loop
+ rxquantr77_done:
+ goto alt76_end
+ alt76_1:
+ set_addr $I10, alt76_2
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
.annotate 'line', 36
# rx literal "#"
- 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
+ add $I11, rx70_pos, 1
+ gt $I11, rx70_eos, rx70_fail
+ sub $I11, rx70_pos, rx70_off
+ substr $S10, rx70_tgt, $I11, 1
+ ne $S10, "#", rx70_fail
+ add rx70_pos, 1
# rx charclass_q N r 0..-1
- 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)
+ sub $I10, rx70_pos, rx70_off
+ find_cclass $I11, 4096, rx70_tgt, $I10, rx70_eos
+ add rx70_pos, rx70_off, $I11
+ goto alt76_end
+ alt76_2:
+ set_addr $I10, alt76_3
+ rx70_cur."!mark_push"(0, rx70_pos, $I10)
.annotate 'line', 37
# rxanchor bol
- eq rx73_pos, 0, rxanchor82_done
- ge rx73_pos, rx73_eos, rx73_fail
- sub $I10, rx73_pos, rx73_off
+ eq rx70_pos, 0, rxanchor78_done
+ ge rx70_pos, rx70_eos, rx70_fail
+ sub $I10, rx70_pos, rx70_off
dec $I10
- is_cclass $I11, 4096, rx73_tgt, $I10
- unless $I11, rx73_fail
- rxanchor82_done:
+ is_cclass $I11, 4096, rx70_tgt, $I10
+ unless $I11, rx70_fail
+ rxanchor78_done:
# rx subrule "pod_comment" subtype=method negate=
- rx73_cur."!cursor_pos"(rx73_pos)
- $P10 = rx73_cur."pod_comment"()
- unless $P10, rx73_fail
- rx73_pos = $P10."pos"()
- goto alt79_end
- alt79_3:
+ rx70_cur."!cursor_pos"(rx70_pos)
+ $P10 = rx70_cur."pod_comment"()
+ unless $P10, rx70_fail
+ rx70_pos = $P10."pos"()
+ goto alt76_end
+ alt76_3:
.annotate 'line', 38
- # rx rxquantr83 ** 1..*
- set_addr $I84, rxquantr83_done
- rx73_cur."!mark_push"(0, -1, $I84)
- rxquantr83_loop:
+ # rx rxquantr79 ** 1..*
+ set_addr $I10, rxquantr79_done
+ rx70_cur."!mark_push"(0, -1, $I10)
+ rxquantr79_loop:
# rx enumcharlist negate=0
- ge rx73_pos, rx73_eos, rx73_fail
- sub $I10, rx73_pos, rx73_off
- substr $S10, rx73_tgt, $I10, 1
+ ge rx70_pos, rx70_eos, rx70_fail
+ sub $I10, rx70_pos, rx70_off
+ substr $S10, rx70_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, 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:
+ lt $I11, 0, rx70_fail
+ inc rx70_pos
+ set_addr $I10, rxquantr79_done
+ (rx70_rep) = rx70_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr79_done
+ rx70_cur."!mark_push"(rx70_rep, rx70_pos, $I10)
+ goto rxquantr79_loop
+ rxquantr79_done:
+ alt76_end:
.annotate 'line', 39
- (rx73_rep) = rx73_cur."!mark_commit"($I85)
- rx73_cur."!mark_push"(rx73_rep, rx73_pos, $I85)
- goto rxquantr78_loop
- rxquantr78_done:
+ set_addr $I10, rxquantr75_done
+ (rx70_rep) = rx70_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr75_done
+ rx70_cur."!mark_push"(rx70_rep, rx70_pos, $I10)
+ goto rxquantr75_loop
+ rxquantr75_done:
.annotate 'line', 40
# rx subrule "MARKER" subtype=zerowidth negate=
- rx73_cur."!cursor_pos"(rx73_pos)
- $P10 = rx73_cur."MARKER"("ws")
- unless $P10, rx73_fail
- alt77_end:
+ rx70_cur."!cursor_pos"(rx70_pos)
+ $P10 = rx70_cur."MARKER"("ws")
+ unless $P10, rx70_fail
+ alt74_end:
.annotate 'line', 32
# rx pass
- rx73_cur."!cursor_pass"(rx73_pos, "ws")
- rx73_cur."!cursor_debug"("PASS ", "ws", " at pos=", rx73_pos)
- .return (rx73_cur)
- rx73_fail:
+ rx70_cur."!cursor_pass"(rx70_pos, "ws")
+ rx70_cur."!cursor_debug"("PASS ", "ws", " at pos=", rx70_pos)
+ .return (rx70_cur)
+ rx70_restart:
.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
+ rx70_cur."!cursor_debug"("NEXT ", "ws")
+ rx70_fail:
+ (rx70_rep, rx70_pos, $I10, $P10) = rx70_cur."!mark_fail"(0)
+ lt rx70_pos, -1, rx70_done
+ eq rx70_pos, -1, rx70_fail
jump $I10
- rx73_done:
- rx73_cur."!cursor_fail"()
- rx73_cur."!cursor_debug"("FAIL ", "ws")
- .return (rx73_cur)
+ rx70_done:
+ rx70_cur."!cursor_fail"()
+ rx70_cur."!cursor_debug"("FAIL ", "ws")
+ .return (rx70_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws" :subid("22_1278500537.15927") :method
+.sub "!PREFIX__ws" :subid("22_1279589170.0083") :method
.annotate 'line', 4
- new $P75, "ResizablePMCArray"
- push $P75, ""
- push $P75, ""
- .return ($P75)
+ new $P72, "ResizablePMCArray"
+ push $P72, ""
+ push $P72, ""
+ .return ($P72)
.end
.namespace ["NQP";"Grammar"]
-.sub "unv" :subid("23_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "unv" :subid("23_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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
+ .const 'Sub' $P88 = "25_1279589170.0083"
+ capture_lex $P88
+ .local string rx81_tgt
+ .local int rx81_pos
+ .local int rx81_off
+ .local int rx81_eos
+ .local int rx81_rep
+ .local pmc rx81_cur
+ (rx81_cur, rx81_pos, rx81_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx81_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx81_eos, rx81_tgt
+ gt rx81_pos, rx81_eos, rx81_done
+ set rx81_off, 0
+ lt rx81_pos, 2, rx81_start
+ sub rx81_off, rx81_pos, 1
+ substr rx81_tgt, rx81_tgt, rx81_off
+ rx81_start:
+ eq $I10, 1, rx81_restart
+ rx81_cur."!cursor_debug"("START ", "unv")
$I10 = self.'from'()
- ne $I10, -1, rxscan90_done
- goto rxscan90_scan
- rxscan90_loop:
- ($P10) = rx87_cur."from"()
+ ne $I10, -1, rxscan84_done
+ goto rxscan84_scan
+ rxscan84_loop:
+ ($P10) = rx81_cur."from"()
inc $P10
- 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:
+ set rx81_pos, $P10
+ ge rx81_pos, rx81_eos, rxscan84_done
+ rxscan84_scan:
+ set_addr $I10, rxscan84_loop
+ rx81_cur."!mark_push"(0, rx81_pos, $I10)
+ rxscan84_done:
+ alt85_0:
.annotate 'line', 45
- set_addr $I10, alt91_1
- rx87_cur."!mark_push"(0, rx87_pos, $I10)
+ set_addr $I10, alt85_1
+ rx81_cur."!mark_push"(0, rx81_pos, $I10)
.annotate 'line', 46
# rxanchor bol
- eq rx87_pos, 0, rxanchor92_done
- ge rx87_pos, rx87_eos, rx87_fail
- sub $I10, rx87_pos, rx87_off
+ eq rx81_pos, 0, rxanchor86_done
+ ge rx81_pos, rx81_eos, rx81_fail
+ sub $I10, rx81_pos, rx81_off
dec $I10
- is_cclass $I11, 4096, rx87_tgt, $I10
- unless $I11, rx87_fail
- rxanchor92_done:
+ is_cclass $I11, 4096, rx81_tgt, $I10
+ unless $I11, rx81_fail
+ rxanchor86_done:
# rx subrule "before" subtype=zerowidth negate=
- rx87_cur."!cursor_pos"(rx87_pos)
- .const 'Sub' $P94 = "25_1278500537.15927"
- capture_lex $P94
- $P10 = rx87_cur."before"($P94)
- unless $P10, rx87_fail
+ rx81_cur."!cursor_pos"(rx81_pos)
+ .const 'Sub' $P88 = "25_1279589170.0083"
+ capture_lex $P88
+ $P10 = rx81_cur."before"($P88)
+ unless $P10, rx81_fail
# rx subrule "pod_comment" subtype=method negate=
- 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)
+ rx81_cur."!cursor_pos"(rx81_pos)
+ $P10 = rx81_cur."pod_comment"()
+ unless $P10, rx81_fail
+ rx81_pos = $P10."pos"()
+ goto alt85_end
+ alt85_1:
+ set_addr $I10, alt85_2
+ rx81_cur."!mark_push"(0, rx81_pos, $I10)
.annotate 'line', 47
- # rx rxquantr100 ** 0..*
- set_addr $I101, rxquantr100_done
- rx87_cur."!mark_push"(0, rx87_pos, $I101)
- rxquantr100_loop:
+ # rx rxquantr93 ** 0..*
+ set_addr $I10, rxquantr93_done
+ rx81_cur."!mark_push"(0, rx81_pos, $I10)
+ rxquantr93_loop:
# rx enumcharlist negate=0
- ge rx87_pos, rx87_eos, rx87_fail
- sub $I10, rx87_pos, rx87_off
- substr $S10, rx87_tgt, $I10, 1
+ ge rx81_pos, rx81_eos, rx81_fail
+ sub $I10, rx81_pos, rx81_off
+ substr $S10, rx81_tgt, $I10, 1
index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
- lt $I11, 0, rx87_fail
- inc rx87_pos
- (rx87_rep) = rx87_cur."!mark_commit"($I101)
- rx87_cur."!mark_push"(rx87_rep, rx87_pos, $I101)
- goto rxquantr100_loop
- rxquantr100_done:
+ lt $I11, 0, rx81_fail
+ inc rx81_pos
+ set_addr $I10, rxquantr93_done
+ (rx81_rep) = rx81_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr93_done
+ rx81_cur."!mark_push"(rx81_rep, rx81_pos, $I10)
+ goto rxquantr93_loop
+ rxquantr93_done:
# rx literal "#"
- add $I11, rx87_pos, 1
- gt $I11, rx87_eos, rx87_fail
- sub $I11, rx87_pos, rx87_off
- substr $S10, rx87_tgt, $I11, 1
- ne $S10, "#", rx87_fail
- add rx87_pos, 1
+ add $I11, rx81_pos, 1
+ gt $I11, rx81_eos, rx81_fail
+ sub $I11, rx81_pos, rx81_off
+ substr $S10, rx81_tgt, $I11, 1
+ ne $S10, "#", rx81_fail
+ add rx81_pos, 1
# rx charclass_q N r 0..-1
- 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:
+ sub $I10, rx81_pos, rx81_off
+ find_cclass $I11, 4096, rx81_tgt, $I10, rx81_eos
+ add rx81_pos, rx81_off, $I11
+ goto alt85_end
+ alt85_2:
.annotate 'line', 48
- # rx rxquantr102 ** 1..*
- set_addr $I103, rxquantr102_done
- rx87_cur."!mark_push"(0, -1, $I103)
- rxquantr102_loop:
+ # rx rxquantr94 ** 1..*
+ set_addr $I10, rxquantr94_done
+ rx81_cur."!mark_push"(0, -1, $I10)
+ rxquantr94_loop:
# rx enumcharlist negate=0
- ge rx87_pos, rx87_eos, rx87_fail
- sub $I10, rx87_pos, rx87_off
- substr $S10, rx87_tgt, $I10, 1
+ ge rx81_pos, rx81_eos, rx81_fail
+ sub $I10, rx81_pos, rx81_off
+ substr $S10, rx81_tgt, $I10, 1
index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
- lt $I11, 0, rx87_fail
- inc rx87_pos
- (rx87_rep) = rx87_cur."!mark_commit"($I103)
- rx87_cur."!mark_push"(rx87_rep, rx87_pos, $I103)
- goto rxquantr102_loop
- rxquantr102_done:
- alt91_end:
+ lt $I11, 0, rx81_fail
+ inc rx81_pos
+ set_addr $I10, rxquantr94_done
+ (rx81_rep) = rx81_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr94_done
+ rx81_cur."!mark_push"(rx81_rep, rx81_pos, $I10)
+ goto rxquantr94_loop
+ rxquantr94_done:
+ alt85_end:
.annotate 'line', 43
# rx pass
- rx87_cur."!cursor_pass"(rx87_pos, "unv")
- rx87_cur."!cursor_debug"("PASS ", "unv", " at pos=", rx87_pos)
- .return (rx87_cur)
- rx87_fail:
+ rx81_cur."!cursor_pass"(rx81_pos, "unv")
+ rx81_cur."!cursor_debug"("PASS ", "unv", " at pos=", rx81_pos)
+ .return (rx81_cur)
+ rx81_restart:
.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
+ rx81_cur."!cursor_debug"("NEXT ", "unv")
+ rx81_fail:
+ (rx81_rep, rx81_pos, $I10, $P10) = rx81_cur."!mark_fail"(0)
+ lt rx81_pos, -1, rx81_done
+ eq rx81_pos, -1, rx81_fail
jump $I10
- rx87_done:
- rx87_cur."!cursor_fail"()
- rx87_cur."!cursor_debug"("FAIL ", "unv")
- .return (rx87_cur)
+ rx81_done:
+ rx81_cur."!cursor_fail"()
+ rx81_cur."!cursor_debug"("FAIL ", "unv")
+ .return (rx81_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv" :subid("24_1278500537.15927") :method
+.sub "!PREFIX__unv" :subid("24_1279589170.0083") :method
.annotate 'line', 4
- new $P89, "ResizablePMCArray"
- push $P89, ""
- push $P89, ""
- push $P89, ""
- .return ($P89)
+ new $P83, "ResizablePMCArray"
+ push $P83, ""
+ push $P83, ""
+ push $P83, ""
+ .return ($P83)
.end
.namespace ["NQP";"Grammar"]
-.sub "_block93" :anon :subid("25_1278500537.15927") :method :outer("23_1278500537.15927")
+.sub "_block87" :anon :subid("25_1279589170.0083") :method :outer("23_1279589170.0083")
.annotate 'line', 46
- .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 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, rxscan96_done
- goto rxscan96_scan
- rxscan96_loop:
- ($P10) = rx95_cur."from"()
- inc $P10
- 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:
+ .local string rx89_tgt
+ .local int rx89_pos
+ .local int rx89_off
+ .local int rx89_eos
+ .local int rx89_rep
+ .local pmc rx89_cur
+ (rx89_cur, rx89_pos, rx89_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx89_cur
+ .local pmc match
+ .lex "$/", match
+ length rx89_eos, rx89_tgt
+ gt rx89_pos, rx89_eos, rx89_done
+ set rx89_off, 0
+ lt rx89_pos, 2, rx89_start
+ sub rx89_off, rx89_pos, 1
+ substr rx89_tgt, rx89_tgt, rx89_off
+ rx89_start:
+ eq $I10, 1, rx89_restart
+ rx89_cur."!cursor_debug"("START ", "")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan90_done
+ goto rxscan90_scan
+ rxscan90_loop:
+ ($P10) = rx89_cur."from"()
+ inc $P10
+ set rx89_pos, $P10
+ ge rx89_pos, rx89_eos, rxscan90_done
+ rxscan90_scan:
+ set_addr $I10, rxscan90_loop
+ rx89_cur."!mark_push"(0, rx89_pos, $I10)
+ rxscan90_done:
+ # rx rxquantr91 ** 0..*
+ set_addr $I10, rxquantr91_done
+ rx89_cur."!mark_push"(0, rx89_pos, $I10)
+ rxquantr91_loop:
# rx enumcharlist negate=0
- ge rx95_pos, rx95_eos, rx95_fail
- sub $I10, rx95_pos, rx95_off
- substr $S10, rx95_tgt, $I10, 1
+ ge rx89_pos, rx89_eos, rx89_fail
+ sub $I10, rx89_pos, rx89_off
+ substr $S10, rx89_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, 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:
+ lt $I11, 0, rx89_fail
+ inc rx89_pos
+ set_addr $I10, rxquantr91_done
+ (rx89_rep) = rx89_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr91_done
+ rx89_cur."!mark_push"(rx89_rep, rx89_pos, $I10)
+ goto rxquantr91_loop
+ rxquantr91_done:
# rx literal "="
- 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)
+ add $I11, rx89_pos, 1
+ gt $I11, rx89_eos, rx89_fail
+ sub $I11, rx89_pos, rx89_off
+ substr $S10, rx89_tgt, $I11, 1
+ ne $S10, "=", rx89_fail
+ add rx89_pos, 1
+ alt92_0:
+ set_addr $I10, alt92_1
+ rx89_cur."!mark_push"(0, rx89_pos, $I10)
# rx charclass w
- 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:
+ ge rx89_pos, rx89_eos, rx89_fail
+ sub $I10, rx89_pos, rx89_off
+ is_cclass $I11, 8192, rx89_tgt, $I10
+ unless $I11, rx89_fail
+ inc rx89_pos
+ goto alt92_end
+ alt92_1:
# rx literal "\\"
- 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
- 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
- rx95_done:
- rx95_cur."!cursor_fail"()
- rx95_cur."!cursor_debug"("FAIL ", "")
- .return (rx95_cur)
+ add $I11, rx89_pos, 1
+ gt $I11, rx89_eos, rx89_fail
+ sub $I11, rx89_pos, rx89_off
+ substr $S10, rx89_tgt, $I11, 1
+ ne $S10, "\\", rx89_fail
+ add rx89_pos, 1
+ alt92_end:
+ # rx pass
+ rx89_cur."!cursor_pass"(rx89_pos, "")
+ rx89_cur."!cursor_debug"("PASS ", "", " at pos=", rx89_pos)
+ .return (rx89_cur)
+ rx89_restart:
+ rx89_cur."!cursor_debug"("NEXT ", "")
+ rx89_fail:
+ (rx89_rep, rx89_pos, $I10, $P10) = rx89_cur."!mark_fail"(0)
+ lt rx89_pos, -1, rx89_done
+ eq rx89_pos, -1, rx89_fail
+ jump $I10
+ rx89_done:
+ rx89_cur."!cursor_fail"()
+ rx89_cur."!cursor_debug"("FAIL ", "")
+ .return (rx89_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "pod_comment" :subid("26_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan108_done
- goto rxscan108_scan
- rxscan108_loop:
- ($P10) = rx105_cur."from"()
- inc $P10
- 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:
+.sub "pod_comment" :subid("26_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .const 'Sub' $P127 = "28_1279589170.0083"
+ capture_lex $P127
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx96_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:
+ eq $I10, 1, rx96_restart
+ rx96_cur."!cursor_debug"("START ", "pod_comment")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan99_done
+ goto rxscan99_scan
+ rxscan99_loop:
+ ($P10) = rx96_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', 53
# rxanchor bol
- eq rx105_pos, 0, rxanchor109_done
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
+ eq rx96_pos, 0, rxanchor100_done
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
dec $I10
- 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:
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ rxanchor100_done:
+ # rx rxquantr101 ** 0..*
+ set_addr $I10, rxquantr101_done
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ rxquantr101_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I111)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I111)
- goto rxquantr110_loop
- rxquantr110_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr101_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr101_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr101_loop
+ rxquantr101_done:
# rx literal "="
- 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:
+ add $I11, rx96_pos, 1
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 1
+ ne $S10, "=", rx96_fail
+ add rx96_pos, 1
+ alt102_0:
.annotate 'line', 54
- set_addr $I10, alt112_1
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ set_addr $I10, alt102_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 55
# rx literal "begin"
- 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:
+ add $I11, rx96_pos, 5
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 5
+ ne $S10, "begin", rx96_fail
+ add rx96_pos, 5
+ # rx rxquantr103 ** 1..*
+ set_addr $I10, rxquantr103_done
+ rx96_cur."!mark_push"(0, -1, $I10)
+ rxquantr103_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I114)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I114)
- goto rxquantr113_loop
- rxquantr113_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr103_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr103_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr103_loop
+ rxquantr103_done:
# rx literal "END"
- 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
+ add $I11, rx96_pos, 3
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 3
+ ne $S10, "END", rx96_fail
+ add rx96_pos, 3
# rxanchor rwb
- le rx105_pos, 0, rx105_fail
- sub $I10, rx105_pos, rx105_off
- is_cclass $I11, 8192, rx105_tgt, $I10
- if $I11, rx105_fail
+ le rx96_pos, 0, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ if $I11, rx96_fail
dec $I10
- is_cclass $I11, 8192, rx105_tgt, $I10
- unless $I11, rx105_fail
- alt115_0:
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ alt104_0:
.annotate 'line', 56
- 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:
+ set_addr $I10, alt104_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ # rx rxquantf105 ** 0..*
+ set_addr $I10, rxquantf105_loop
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ goto rxquantf105_done
+ rxquantf105_loop:
# rx charclass .
- 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:
+ ge rx96_pos, rx96_eos, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantf105_loop
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ rxquantf105_done:
# rx charclass nl
- 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
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ substr $S10, rx96_tgt, $I10, 2
iseq $I11, $S10, "\r\n"
- add rx105_pos, $I11
- inc rx105_pos
- # rx rxquantr118 ** 0..*
- set_addr $I119, rxquantr118_done
- rx105_cur."!mark_push"(0, rx105_pos, $I119)
- rxquantr118_loop:
+ add rx96_pos, $I11
+ inc rx96_pos
+ # rx rxquantr107 ** 0..*
+ set_addr $I10, rxquantr107_done
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ rxquantr107_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I119)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I119)
- goto rxquantr118_loop
- rxquantr118_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr107_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr107_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr107_loop
+ rxquantr107_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:
+ add $I11, rx96_pos, 4
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 4
+ ne $S10, "=end", rx96_fail
+ add rx96_pos, 4
+ # rx rxquantr108 ** 1..*
+ set_addr $I10, rxquantr108_done
+ rx96_cur."!mark_push"(0, -1, $I10)
+ rxquantr108_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr108_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr108_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr108_loop
+ rxquantr108_done:
# rx literal "END"
- 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
+ add $I11, rx96_pos, 3
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 3
+ ne $S10, "END", rx96_fail
+ add rx96_pos, 3
# rxanchor rwb
- le rx105_pos, 0, rx105_fail
- sub $I10, rx105_pos, rx105_off
- is_cclass $I11, 8192, rx105_tgt, $I10
- if $I11, rx105_fail
+ le rx96_pos, 0, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ if $I11, rx96_fail
dec $I10
- is_cclass $I11, 8192, rx105_tgt, $I10
- unless $I11, rx105_fail
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ unless $I11, rx96_fail
# rx charclass_q N r 0..-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:
+ sub $I10, rx96_pos, rx96_off
+ find_cclass $I11, 4096, rx96_tgt, $I10, rx96_eos
+ add rx96_pos, rx96_off, $I11
+ goto alt104_end
+ alt104_1:
# rx charclass_q . r 0..-1
- sub $I10, rx105_pos, rx105_off
- find_not_cclass $I11, 65535, rx105_tgt, $I10, rx105_eos
- add rx105_pos, rx105_off, $I11
- alt115_end:
+ sub $I10, rx96_pos, rx96_off
+ find_not_cclass $I11, 65535, rx96_tgt, $I10, rx96_eos
+ add rx96_pos, rx96_off, $I11
+ alt104_end:
.annotate 'line', 55
- goto alt112_end
- alt112_1:
- set_addr $I10, alt112_2
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ goto alt102_end
+ alt102_1:
+ set_addr $I10, alt102_2
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 57
# rx literal "begin"
- 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:
+ add $I11, rx96_pos, 5
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 5
+ ne $S10, "begin", rx96_fail
+ add rx96_pos, 5
+ # rx rxquantr109 ** 1..*
+ set_addr $I10, rxquantr109_done
+ rx96_cur."!mark_push"(0, -1, $I10)
+ rxquantr109_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I123)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I123)
- goto rxquantr122_loop
- rxquantr122_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr109_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr109_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr109_loop
+ rxquantr109_done:
# rx subrule "identifier" subtype=capture negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."identifier"()
- unless $P10, rx105_fail
- rx105_cur."!mark_push"(0, -1, 0, $P10)
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."identifier"()
+ unless $P10, rx96_fail
+ rx96_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("identifier")
- rx105_pos = $P10."pos"()
- alt124_0:
+ rx96_pos = $P10."pos"()
+ alt110_0:
.annotate 'line', 58
- set_addr $I10, alt124_1
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ set_addr $I10, alt110_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 59
- # rx rxquantf125 ** 0..*
- set_addr $I10, rxquantf125_loop
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
- goto rxquantf125_done
- rxquantf125_loop:
+ # rx rxquantf111 ** 0..*
+ set_addr $I10, rxquantf111_loop
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ goto rxquantf111_done
+ rxquantf111_loop:
# rx charclass .
- 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:
+ ge rx96_pos, rx96_eos, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantf111_loop
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ rxquantf111_done:
# rx charclass nl
- 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
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ substr $S10, rx96_tgt, $I10, 2
iseq $I11, $S10, "\r\n"
- add rx105_pos, $I11
- inc rx105_pos
- # rx rxquantr127 ** 0..*
- set_addr $I128, rxquantr127_done
- rx105_cur."!mark_push"(0, rx105_pos, $I128)
- rxquantr127_loop:
+ add rx96_pos, $I11
+ inc rx96_pos
+ # rx rxquantr113 ** 0..*
+ set_addr $I10, rxquantr113_done
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ rxquantr113_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I128)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I128)
- goto rxquantr127_loop
- rxquantr127_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr113_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr113_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr113_loop
+ rxquantr113_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:
+ add $I11, rx96_pos, 4
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 4
+ ne $S10, "=end", rx96_fail
+ add rx96_pos, 4
+ # rx rxquantr114 ** 1..*
+ set_addr $I10, rxquantr114_done
+ rx96_cur."!mark_push"(0, -1, $I10)
+ rxquantr114_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr114_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr114_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr114_loop
+ rxquantr114_done:
# rx subrule "!BACKREF" subtype=method negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."!BACKREF"("identifier")
- unless $P10, rx105_fail
- rx105_pos = $P10."pos"()
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."!BACKREF"("identifier")
+ unless $P10, rx96_fail
+ rx96_pos = $P10."pos"()
# rxanchor rwb
- le rx105_pos, 0, rx105_fail
- sub $I10, rx105_pos, rx105_off
- is_cclass $I11, 8192, rx105_tgt, $I10
- if $I11, rx105_fail
+ le rx96_pos, 0, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ if $I11, rx96_fail
dec $I10
- is_cclass $I11, 8192, rx105_tgt, $I10
- unless $I11, rx105_fail
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ unless $I11, rx96_fail
# rx charclass_q N r 0..-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:
+ sub $I10, rx96_pos, rx96_off
+ find_cclass $I11, 4096, rx96_tgt, $I10, rx96_eos
+ add rx96_pos, rx96_off, $I11
+ goto alt110_end
+ alt110_1:
.annotate 'line', 60
# rx subrule "panic" subtype=method negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."panic"("=begin without matching =end")
- unless $P10, rx105_fail
- rx105_pos = $P10."pos"()
- alt124_end:
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."panic"("=begin without matching =end")
+ unless $P10, rx96_fail
+ rx96_pos = $P10."pos"()
+ alt110_end:
.annotate 'line', 57
- goto alt112_end
- alt112_2:
- set_addr $I10, alt112_3
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ goto alt102_end
+ alt102_2:
+ set_addr $I10, alt102_3
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 62
# rx literal "begin"
- 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
+ add $I11, rx96_pos, 5
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 5
+ ne $S10, "begin", rx96_fail
+ add rx96_pos, 5
# rxanchor rwb
- le rx105_pos, 0, rx105_fail
- sub $I10, rx105_pos, rx105_off
- is_cclass $I11, 8192, rx105_tgt, $I10
- if $I11, rx105_fail
+ le rx96_pos, 0, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ if $I11, rx96_fail
dec $I10
- 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:
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ # rx rxquantr116 ** 0..*
+ set_addr $I10, rxquantr116_done
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ rxquantr116_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I133)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I133)
- goto rxquantr132_loop
- rxquantr132_done:
- alt134_0:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr116_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr116_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr116_loop
+ rxquantr116_done:
+ alt117_0:
.annotate 'line', 63
- set_addr $I10, alt134_1
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ set_addr $I10, alt117_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
# rxanchor eol
- 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
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ if $I11, rxanchor118_done
+ ne rx96_pos, rx96_eos, rx96_fail
+ eq rx96_pos, 0, rxanchor118_done
dec $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)
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ if $I11, rx96_fail
+ rxanchor118_done:
+ goto alt117_end
+ alt117_1:
+ set_addr $I10, alt117_2
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
# rx literal "#"
- 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:
+ add $I11, rx96_pos, 1
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 1
+ ne $S10, "#", rx96_fail
+ add rx96_pos, 1
+ goto alt117_end
+ alt117_2:
# rx subrule "panic" subtype=method negate=
- 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:
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."panic"("Unrecognized token after =begin")
+ unless $P10, rx96_fail
+ rx96_pos = $P10."pos"()
+ alt117_end:
+ alt119_0:
.annotate 'line', 64
- set_addr $I10, alt136_1
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ set_addr $I10, alt119_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 65
- # rx rxquantf137 ** 0..*
- set_addr $I10, rxquantf137_loop
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
- goto rxquantf137_done
- rxquantf137_loop:
+ # rx rxquantf120 ** 0..*
+ set_addr $I10, rxquantf120_loop
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ goto rxquantf120_done
+ rxquantf120_loop:
# rx charclass .
- 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:
+ ge rx96_pos, rx96_eos, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantf120_loop
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ rxquantf120_done:
# rx charclass nl
- 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
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ substr $S10, rx96_tgt, $I10, 2
iseq $I11, $S10, "\r\n"
- 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:
+ add rx96_pos, $I11
+ inc rx96_pos
+ # rx rxquantr122 ** 0..*
+ set_addr $I10, rxquantr122_done
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ rxquantr122_loop:
# rx enumcharlist negate=0
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
- substr $S10, rx105_tgt, $I10, 1
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ substr $S10, rx96_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"($I140)
- rx105_cur."!mark_push"(rx105_rep, rx105_pos, $I140)
- goto rxquantr139_loop
- rxquantr139_done:
+ lt $I11, 0, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantr122_done
+ (rx96_rep) = rx96_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr122_done
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ goto rxquantr122_loop
+ rxquantr122_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
+ add $I11, rx96_pos, 4
+ gt $I11, rx96_eos, rx96_fail
+ sub $I11, rx96_pos, rx96_off
+ substr $S10, rx96_tgt, $I11, 4
+ ne $S10, "=end", rx96_fail
+ add rx96_pos, 4
# rxanchor rwb
- le rx105_pos, 0, rx105_fail
- sub $I10, rx105_pos, rx105_off
- is_cclass $I11, 8192, rx105_tgt, $I10
- if $I11, rx105_fail
+ le rx96_pos, 0, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ if $I11, rx96_fail
dec $I10
- is_cclass $I11, 8192, rx105_tgt, $I10
- unless $I11, rx105_fail
+ is_cclass $I11, 8192, rx96_tgt, $I10
+ unless $I11, rx96_fail
# rx charclass_q N r 0..-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:
+ sub $I10, rx96_pos, rx96_off
+ find_cclass $I11, 4096, rx96_tgt, $I10, rx96_eos
+ add rx96_pos, rx96_off, $I11
+ goto alt119_end
+ alt119_1:
.annotate 'line', 66
# rx subrule "panic" subtype=method negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."panic"("=begin without matching =end")
- unless $P10, rx105_fail
- rx105_pos = $P10."pos"()
- alt136_end:
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."panic"("=begin without matching =end")
+ unless $P10, rx96_fail
+ rx96_pos = $P10."pos"()
+ alt119_end:
.annotate 'line', 62
- goto alt112_end
- alt112_3:
- set_addr $I10, alt112_4
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ goto alt102_end
+ alt102_3:
+ set_addr $I10, alt102_4
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
.annotate 'line', 68
# rx subrule "identifier" subtype=capture negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."identifier"()
- unless $P10, rx105_fail
- rx105_cur."!mark_push"(0, -1, 0, $P10)
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."identifier"()
+ unless $P10, rx96_fail
+ rx96_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("identifier")
- rx105_pos = $P10."pos"()
+ rx96_pos = $P10."pos"()
.annotate 'line', 69
- # rx rxquantf141 ** 0..*
- set_addr $I10, rxquantf141_loop
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
- goto rxquantf141_done
- rxquantf141_loop:
+ # rx rxquantf123 ** 0..*
+ set_addr $I10, rxquantf123_loop
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
+ goto rxquantf123_done
+ rxquantf123_loop:
# rx charclass .
- 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:
+ ge rx96_pos, rx96_eos, rx96_fail
+ inc rx96_pos
+ set_addr $I10, rxquantf123_loop
+ rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I10)
+ rxquantf123_done:
# rxanchor bol
- eq rx105_pos, 0, rxanchor143_done
- ge rx105_pos, rx105_eos, rx105_fail
- sub $I10, rx105_pos, rx105_off
+ eq rx96_pos, 0, rxanchor125_done
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
dec $I10
- is_cclass $I11, 4096, rx105_tgt, $I10
- unless $I11, rx105_fail
- rxanchor143_done:
+ is_cclass $I11, 4096, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ rxanchor125_done:
# rx subrule "before" subtype=zerowidth negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- .const 'Sub' $P145 = "28_1278500537.15927"
- capture_lex $P145
- $P10 = rx105_cur."before"($P145)
- unless $P10, rx105_fail
+ rx96_cur."!cursor_pos"(rx96_pos)
+ .const 'Sub' $P127 = "28_1279589170.0083"
+ capture_lex $P127
+ $P10 = rx96_cur."before"($P127)
+ unless $P10, rx96_fail
.annotate 'line', 68
- goto alt112_end
- alt112_4:
- alt153_0:
+ goto alt102_end
+ alt102_4:
+ alt133_0:
.annotate 'line', 75
- set_addr $I10, alt153_1
- rx105_cur."!mark_push"(0, rx105_pos, $I10)
+ set_addr $I10, alt133_1
+ rx96_cur."!mark_push"(0, rx96_pos, $I10)
# rx charclass s
- 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:
+ ge rx96_pos, rx96_eos, rx96_fail
+ sub $I10, rx96_pos, rx96_off
+ is_cclass $I11, 32, rx96_tgt, $I10
+ unless $I11, rx96_fail
+ inc rx96_pos
+ goto alt133_end
+ alt133_1:
# rx subrule "panic" subtype=method negate=
- rx105_cur."!cursor_pos"(rx105_pos)
- $P10 = rx105_cur."panic"("Illegal pod directive")
- unless $P10, rx105_fail
- rx105_pos = $P10."pos"()
- alt153_end:
+ rx96_cur."!cursor_pos"(rx96_pos)
+ $P10 = rx96_cur."panic"("Illegal pod directive")
+ unless $P10, rx96_fail
+ rx96_pos = $P10."pos"()
+ alt133_end:
.annotate 'line', 76
# rx charclass_q N r 0..-1
- sub $I10, rx105_pos, rx105_off
- find_cclass $I11, 4096, rx105_tgt, $I10, rx105_eos
- add rx105_pos, rx105_off, $I11
- alt112_end:
+ sub $I10, rx96_pos, rx96_off
+ find_cclass $I11, 4096, rx96_tgt, $I10, rx96_eos
+ add rx96_pos, rx96_off, $I11
+ alt102_end:
.annotate 'line', 52
# rx pass
- rx105_cur."!cursor_pass"(rx105_pos, "pod_comment")
- rx105_cur."!cursor_debug"("PASS ", "pod_comment", " at pos=", rx105_pos)
- .return (rx105_cur)
- rx105_fail:
+ rx96_cur."!cursor_pass"(rx96_pos, "pod_comment")
+ rx96_cur."!cursor_debug"("PASS ", "pod_comment", " at pos=", rx96_pos)
+ .return (rx96_cur)
+ rx96_restart:
.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
+ rx96_cur."!cursor_debug"("NEXT ", "pod_comment")
+ rx96_fail:
+ (rx96_rep, rx96_pos, $I10, $P10) = rx96_cur."!mark_fail"(0)
+ lt rx96_pos, -1, rx96_done
+ eq rx96_pos, -1, rx96_fail
jump $I10
- rx105_done:
- rx105_cur."!cursor_fail"()
- rx105_cur."!cursor_debug"("FAIL ", "pod_comment")
- .return (rx105_cur)
+ rx96_done:
+ rx96_cur."!cursor_fail"()
+ rx96_cur."!cursor_debug"("FAIL ", "pod_comment")
+ .return (rx96_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment" :subid("27_1278500537.15927") :method
+.sub "!PREFIX__pod_comment" :subid("27_1279589170.0083") :method
.annotate 'line', 4
- new $P107, "ResizablePMCArray"
- push $P107, ""
- .return ($P107)
+ new $P98, "ResizablePMCArray"
+ push $P98, ""
+ .return ($P98)
.end
.namespace ["NQP";"Grammar"]
-.sub "_block144" :anon :subid("28_1278500537.15927") :method :outer("26_1278500537.15927")
+.sub "_block126" :anon :subid("28_1279589170.0083") :method :outer("26_1279589170.0083")
.annotate 'line', 69
- .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 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, rxscan147_done
- goto rxscan147_scan
- rxscan147_loop:
- ($P10) = rx146_cur."from"()
- inc $P10
- 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:
+ .local string rx128_tgt
+ .local int rx128_pos
+ .local int rx128_off
+ .local int rx128_eos
+ .local int rx128_rep
+ .local pmc rx128_cur
+ (rx128_cur, rx128_pos, rx128_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx128_cur
+ .local pmc match
+ .lex "$/", match
+ length rx128_eos, rx128_tgt
+ gt rx128_pos, rx128_eos, rx128_done
+ set rx128_off, 0
+ lt rx128_pos, 2, rx128_start
+ sub rx128_off, rx128_pos, 1
+ substr rx128_tgt, rx128_tgt, rx128_off
+ rx128_start:
+ eq $I10, 1, rx128_restart
+ rx128_cur."!cursor_debug"("START ", "")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan129_done
+ goto rxscan129_scan
+ rxscan129_loop:
+ ($P10) = rx128_cur."from"()
+ inc $P10
+ set rx128_pos, $P10
+ ge rx128_pos, rx128_eos, rxscan129_done
+ rxscan129_scan:
+ set_addr $I10, rxscan129_loop
+ rx128_cur."!mark_push"(0, rx128_pos, $I10)
+ rxscan129_done:
+ # rx rxquantr130 ** 0..*
+ set_addr $I10, rxquantr130_done
+ rx128_cur."!mark_push"(0, rx128_pos, $I10)
+ rxquantr130_loop:
# rx enumcharlist negate=0
- ge rx146_pos, rx146_eos, rx146_fail
- sub $I10, rx146_pos, rx146_off
- substr $S10, rx146_tgt, $I10, 1
+ ge rx128_pos, rx128_eos, rx128_fail
+ sub $I10, rx128_pos, rx128_off
+ substr $S10, rx128_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, 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)
+ lt $I11, 0, rx128_fail
+ inc rx128_pos
+ set_addr $I10, rxquantr130_done
+ (rx128_rep) = rx128_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr130_done
+ rx128_cur."!mark_push"(rx128_rep, rx128_pos, $I10)
+ goto rxquantr130_loop
+ rxquantr130_done:
+ alt131_0:
+ set_addr $I10, alt131_1
+ rx128_cur."!mark_push"(0, rx128_pos, $I10)
.annotate 'line', 70
# rx literal "="
- 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
+ add $I11, rx128_pos, 1
+ gt $I11, rx128_eos, rx128_fail
+ sub $I11, rx128_pos, rx128_off
+ substr $S10, rx128_tgt, $I11, 1
+ ne $S10, "=", rx128_fail
+ add rx128_pos, 1
.annotate 'line', 72
- # rx rxquantr151 ** 0..1
- set_addr $I152, rxquantr151_done
- rx146_cur."!mark_push"(0, rx146_pos, $I152)
- rxquantr151_loop:
+ # rx rxquantr132 ** 0..1
+ set_addr $I10, rxquantr132_done
+ rx128_cur."!mark_push"(0, rx128_pos, $I10)
+ rxquantr132_loop:
.annotate 'line', 71
# rx literal "cut"
- 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
+ add $I11, rx128_pos, 3
+ gt $I11, rx128_eos, rx128_fail
+ sub $I11, rx128_pos, rx128_off
+ substr $S10, rx128_tgt, $I11, 3
+ ne $S10, "cut", rx128_fail
+ add rx128_pos, 3
# rxanchor rwb
- le rx146_pos, 0, rx146_fail
- sub $I10, rx146_pos, rx146_off
- is_cclass $I11, 8192, rx146_tgt, $I10
- if $I11, rx146_fail
+ le rx128_pos, 0, rx128_fail
+ sub $I10, rx128_pos, rx128_off
+ is_cclass $I11, 8192, rx128_tgt, $I10
+ if $I11, rx128_fail
dec $I10
- is_cclass $I11, 8192, rx146_tgt, $I10
- unless $I11, rx146_fail
+ is_cclass $I11, 8192, rx128_tgt, $I10
+ unless $I11, rx128_fail
.annotate 'line', 72
# rx subrule "panic" subtype=method negate=
- 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:
+ rx128_cur."!cursor_pos"(rx128_pos)
+ $P10 = rx128_cur."panic"("Obsolete pod format, please use =begin/=end instead")
+ unless $P10, rx128_fail
+ rx128_pos = $P10."pos"()
+ set_addr $I10, rxquantr132_done
+ (rx128_rep) = rx128_cur."!mark_commit"($I10)
+ rxquantr132_done:
.annotate 'line', 69
- goto alt150_end
- alt150_1:
+ goto alt131_end
+ alt131_1:
.annotate 'line', 73
# rx charclass nl
- 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
+ ge rx128_pos, rx128_eos, rx128_fail
+ sub $I10, rx128_pos, rx128_off
+ is_cclass $I11, 4096, rx128_tgt, $I10
+ unless $I11, rx128_fail
+ substr $S10, rx128_tgt, $I10, 2
iseq $I11, $S10, "\r\n"
- add rx146_pos, $I11
- inc rx146_pos
- alt150_end:
+ add rx128_pos, $I11
+ inc rx128_pos
+ alt131_end:
.annotate 'line', 69
# rx pass
- 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
- rx146_done:
- rx146_cur."!cursor_fail"()
- rx146_cur."!cursor_debug"("FAIL ", "")
- .return (rx146_cur)
+ rx128_cur."!cursor_pass"(rx128_pos, "")
+ rx128_cur."!cursor_debug"("PASS ", "", " at pos=", rx128_pos)
+ .return (rx128_cur)
+ rx128_restart:
+ rx128_cur."!cursor_debug"("NEXT ", "")
+ rx128_fail:
+ (rx128_rep, rx128_pos, $I10, $P10) = rx128_cur."!mark_fail"(0)
+ lt rx128_pos, -1, rx128_done
+ eq rx128_pos, -1, rx128_fail
+ jump $I10
+ rx128_done:
+ rx128_cur."!cursor_fail"()
+ rx128_cur."!cursor_debug"("FAIL ", "")
+ .return (rx128_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "comp_unit" :subid("29_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan159_done
- goto rxscan159_scan
- rxscan159_loop:
- ($P10) = rx155_cur."from"()
- inc $P10
- 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:
+.sub "comp_unit" :subid("29_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx135_tgt
+ .local int rx135_pos
+ .local int rx135_off
+ .local int rx135_eos
+ .local int rx135_rep
+ .local pmc rx135_cur
+ (rx135_cur, rx135_pos, rx135_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx135_cur
+ .local pmc match
+ .lex "$/", match
+ length rx135_eos, rx135_tgt
+ gt rx135_pos, rx135_eos, rx135_done
+ set rx135_off, 0
+ lt rx135_pos, 2, rx135_start
+ sub rx135_off, rx135_pos, 1
+ substr rx135_tgt, rx135_tgt, rx135_off
+ rx135_start:
+ eq $I10, 1, rx135_restart
+ rx135_cur."!cursor_debug"("START ", "comp_unit")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan139_done
+ goto rxscan139_scan
+ rxscan139_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', 84
# rx subrule "newpad" subtype=method negate=
- rx155_cur."!cursor_pos"(rx155_pos)
- $P10 = rx155_cur."newpad"()
- unless $P10, rx155_fail
- rx155_pos = $P10."pos"()
+ rx135_cur."!cursor_pos"(rx135_pos)
+ $P10 = rx135_cur."newpad"()
+ unless $P10, rx135_fail
+ rx135_pos = $P10."pos"()
.annotate 'line', 85
# rx subrule "outerctx" subtype=method negate=
- rx155_cur."!cursor_pos"(rx155_pos)
- $P10 = rx155_cur."outerctx"()
- unless $P10, rx155_fail
- rx155_pos = $P10."pos"()
+ rx135_cur."!cursor_pos"(rx135_pos)
+ $P10 = rx135_cur."outerctx"()
+ unless $P10, rx135_fail
+ rx135_pos = $P10."pos"()
.annotate 'line', 86
# rx subrule "statementlist" subtype=capture negate=
- rx155_cur."!cursor_pos"(rx155_pos)
- $P10 = rx155_cur."statementlist"()
- unless $P10, rx155_fail
- rx155_cur."!mark_push"(0, -1, 0, $P10)
+ rx135_cur."!cursor_pos"(rx135_pos)
+ $P10 = rx135_cur."statementlist"()
+ unless $P10, rx135_fail
+ rx135_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("statementlist")
- rx155_pos = $P10."pos"()
- alt160_0:
+ rx135_pos = $P10."pos"()
+ alt140_0:
.annotate 'line', 87
- set_addr $I10, alt160_1
- rx155_cur."!mark_push"(0, rx155_pos, $I10)
+ set_addr $I10, alt140_1
+ rx135_cur."!mark_push"(0, rx135_pos, $I10)
# rxanchor eos
- ne rx155_pos, rx155_eos, rx155_fail
- goto alt160_end
- alt160_1:
+ ne rx135_pos, rx135_eos, rx135_fail
+ goto alt140_end
+ alt140_1:
# rx subrule "panic" subtype=method negate=
- rx155_cur."!cursor_pos"(rx155_pos)
- $P10 = rx155_cur."panic"("Confused")
- unless $P10, rx155_fail
- rx155_pos = $P10."pos"()
- alt160_end:
+ rx135_cur."!cursor_pos"(rx135_pos)
+ $P10 = rx135_cur."panic"("Confused")
+ unless $P10, rx135_fail
+ rx135_pos = $P10."pos"()
+ alt140_end:
.annotate 'line', 83
# rx pass
- rx155_cur."!cursor_pass"(rx155_pos, "comp_unit")
- rx155_cur."!cursor_debug"("PASS ", "comp_unit", " at pos=", rx155_pos)
- .return (rx155_cur)
- rx155_fail:
+ rx135_cur."!cursor_pass"(rx135_pos, "comp_unit")
+ rx135_cur."!cursor_debug"("PASS ", "comp_unit", " at pos=", rx135_pos)
+ .return (rx135_cur)
+ rx135_restart:
+.annotate 'line', 4
+ rx135_cur."!cursor_debug"("NEXT ", "comp_unit")
+ rx135_fail:
+ (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 ", "comp_unit")
+ .return (rx135_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__comp_unit" :subid("30_1279589170.0083") :method
+.annotate 'line', 4
+ $P137 = self."!PREFIX__!subrule"("newpad", "")
+ new $P138, "ResizablePMCArray"
+ push $P138, $P137
+ .return ($P138)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statementlist" :subid("31_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .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, $I10) = self."!cursor_start"()
+ rx142_cur."!cursor_caparray"("statement")
+ .lex unicode:"$\x{a2}", rx142_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:
+ eq $I10, 1, rx142_restart
+ rx142_cur."!cursor_debug"("START ", "statementlist")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan147_done
+ goto rxscan147_scan
+ rxscan147_loop:
+ ($P10) = rx142_cur."from"()
+ inc $P10
+ set rx142_pos, $P10
+ ge rx142_pos, rx142_eos, rxscan147_done
+ rxscan147_scan:
+ set_addr $I10, rxscan147_loop
+ rx142_cur."!mark_push"(0, rx142_pos, $I10)
+ rxscan147_done:
+ alt148_0:
+.annotate 'line', 90
+ set_addr $I10, alt148_1
+ rx142_cur."!mark_push"(0, rx142_pos, $I10)
+.annotate 'line', 91
+ # rx subrule "ws" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."ws"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ # rxanchor eos
+ ne rx142_pos, rx142_eos, rx142_fail
+ # rx subrule "ws" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."ws"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ goto alt148_end
+ alt148_1:
+.annotate 'line', 92
+ # rx subrule "ws" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."ws"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ # rx rxquantr152 ** 0..*
+ set_addr $I10, rxquantr152_done
+ rx142_cur."!mark_push"(0, rx142_pos, $I10)
+ rxquantr152_loop:
+ # rx subrule "statement" subtype=capture negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."statement"()
+ unless $P10, rx142_fail
+ rx142_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("statement")
+ rx142_pos = $P10."pos"()
+ # rx subrule "eat_terminator" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."eat_terminator"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."ws"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ set_addr $I10, rxquantr152_done
+ (rx142_rep) = rx142_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr152_done
+ rx142_cur."!mark_push"(rx142_rep, rx142_pos, $I10)
+ goto rxquantr152_loop
+ rxquantr152_done:
+ # rx subrule "ws" subtype=method negate=
+ rx142_cur."!cursor_pos"(rx142_pos)
+ $P10 = rx142_cur."ws"()
+ unless $P10, rx142_fail
+ rx142_pos = $P10."pos"()
+ alt148_end:
+.annotate 'line', 90
+ # rx pass
+ rx142_cur."!cursor_pass"(rx142_pos, "statementlist")
+ rx142_cur."!cursor_debug"("PASS ", "statementlist", " at pos=", rx142_pos)
+ .return (rx142_cur)
+ rx142_restart:
+.annotate 'line', 4
+ rx142_cur."!cursor_debug"("NEXT ", "statementlist")
+ rx142_fail:
+ (rx142_rep, rx142_pos, $I10, $P10) = rx142_cur."!mark_fail"(0)
+ lt rx142_pos, -1, rx142_done
+ eq rx142_pos, -1, rx142_fail
+ jump $I10
+ rx142_done:
+ rx142_cur."!cursor_fail"()
+ rx142_cur."!cursor_debug"("FAIL ", "statementlist")
+ .return (rx142_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__statementlist" :subid("32_1279589170.0083") :method
+.annotate 'line', 4
+ $P144 = self."!PREFIX__!subrule"("ws", "")
+ $P145 = self."!PREFIX__!subrule"("ws", "")
+ new $P146, "ResizablePMCArray"
+ push $P146, $P144
+ push $P146, $P145
+ .return ($P146)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "statement" :subid("33_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .const 'Sub' $P161 = "35_1279589170.0083"
+ capture_lex $P161
+ .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, $I10) = self."!cursor_start"()
+ rx156_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+ .lex unicode:"$\x{a2}", rx156_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:
+ eq $I10, 1, rx156_restart
+ rx156_cur."!cursor_debug"("START ", "statement")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan159_done
+ goto rxscan159_scan
+ rxscan159_loop:
+ ($P10) = rx156_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', 96
+ # rx subrule "before" subtype=zerowidth negate=1
+ rx156_cur."!cursor_pos"(rx156_pos)
+ .const 'Sub' $P161 = "35_1279589170.0083"
+ capture_lex $P161
+ $P10 = rx156_cur."before"($P161)
+ if $P10, rx156_fail
+ alt165_0:
+.annotate 'line', 97
+ set_addr $I10, alt165_1
+ rx156_cur."!mark_push"(0, rx156_pos, $I10)
+.annotate 'line', 98
+ # rx subrule "statement_control" subtype=capture negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."statement_control"()
+ unless $P10, rx156_fail
+ rx156_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("statement_control")
+ rx156_pos = $P10."pos"()
+ goto alt165_end
+ alt165_1:
+.annotate 'line', 99
+ # rx subrule "EXPR" subtype=capture negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."EXPR"()
+ unless $P10, rx156_fail
+ rx156_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("EXPR")
+ rx156_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."ws"()
+ unless $P10, rx156_fail
+ rx156_pos = $P10."pos"()
+.annotate 'line', 104
+ # rx rxquantr166 ** 0..1
+ set_addr $I10, rxquantr166_done
+ rx156_cur."!mark_push"(0, rx156_pos, $I10)
+ rxquantr166_loop:
+ alt167_0:
+.annotate 'line', 100
+ set_addr $I10, alt167_1
+ rx156_cur."!mark_push"(0, rx156_pos, $I10)
+.annotate 'line', 101
+ # rx subrule "MARKED" subtype=zerowidth negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."MARKED"("endstmt")
+ unless $P10, rx156_fail
+ goto alt167_end
+ alt167_1:
+ set_addr $I10, alt167_2
+ rx156_cur."!mark_push"(0, rx156_pos, $I10)
+.annotate 'line', 102
+ # rx subrule "statement_mod_cond" subtype=capture negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."statement_mod_cond"()
+ unless $P10, rx156_fail
+ rx156_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("statement_mod_cond")
+ rx156_pos = $P10."pos"()
+ # rx rxquantr168 ** 0..1
+ set_addr $I10, rxquantr168_done
+ rx156_cur."!mark_push"(0, rx156_pos, $I10)
+ rxquantr168_loop:
+ # rx subrule "statement_mod_loop" subtype=capture negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."statement_mod_loop"()
+ unless $P10, rx156_fail
+ goto rxsubrule169_pass
+ rxsubrule169_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx156_fail
+ rxsubrule169_pass:
+ set_addr $I10, rxsubrule169_back
+ rx156_cur."!mark_push"(0, rx156_pos, $I10, $P10)
+ $P10."!cursor_names"("statement_mod_loop")
+ rx156_pos = $P10."pos"()
+ set_addr $I10, rxquantr168_done
+ (rx156_rep) = rx156_cur."!mark_commit"($I10)
+ rxquantr168_done:
+ goto alt167_end
+ alt167_2:
+.annotate 'line', 103
+ # rx subrule "statement_mod_loop" subtype=capture negate=
+ rx156_cur."!cursor_pos"(rx156_pos)
+ $P10 = rx156_cur."statement_mod_loop"()
+ unless $P10, rx156_fail
+ rx156_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("statement_mod_loop")
+ rx156_pos = $P10."pos"()
+ alt167_end:
+.annotate 'line', 104
+ set_addr $I10, rxquantr166_done
+ (rx156_rep) = rx156_cur."!mark_commit"($I10)
+ rxquantr166_done:
+ alt165_end:
+.annotate 'line', 95
+ # rx pass
+ rx156_cur."!cursor_pass"(rx156_pos, "statement")
+ rx156_cur."!cursor_debug"("PASS ", "statement", " at pos=", rx156_pos)
+ .return (rx156_cur)
+ rx156_restart:
.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
+ rx156_cur."!cursor_debug"("NEXT ", "statement")
+ rx156_fail:
+ (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0)
+ lt rx156_pos, -1, rx156_done
+ eq rx156_pos, -1, rx156_fail
jump $I10
- rx155_done:
- rx155_cur."!cursor_fail"()
- rx155_cur."!cursor_debug"("FAIL ", "comp_unit")
- .return (rx155_cur)
+ rx156_done:
+ rx156_cur."!cursor_fail"()
+ rx156_cur."!cursor_debug"("FAIL ", "statement")
+ .return (rx156_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit" :subid("30_1278500537.15927") :method
+.sub "!PREFIX__statement" :subid("34_1279589170.0083") :method
.annotate 'line', 4
- $P157 = self."!PREFIX__!subrule"("newpad", "")
new $P158, "ResizablePMCArray"
- push $P158, $P157
+ push $P158, ""
.return ($P158)
.end
.namespace ["NQP";"Grammar"]
-.sub "statementlist" :subid("31_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
+.sub "_block160" :anon :subid("35_1279589170.0083") :method :outer("33_1279589170.0083")
+.annotate 'line', 96
.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")
+ (rx162_cur, rx162_pos, rx162_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx162_cur
.local pmc match
.lex "$/", match
@@ -2110,119 +2488,167 @@
sub rx162_off, rx162_pos, 1
substr rx162_tgt, rx162_tgt, rx162_off
rx162_start:
+ eq $I10, 1, rx162_restart
+ rx162_cur."!cursor_debug"("START ", "")
$I10 = self.'from'()
- ne $I10, -1, rxscan167_done
- goto rxscan167_scan
- rxscan167_loop:
+ ne $I10, -1, rxscan163_done
+ goto rxscan163_scan
+ rxscan163_loop:
($P10) = rx162_cur."from"()
inc $P10
set rx162_pos, $P10
- ge rx162_pos, rx162_eos, rxscan167_done
- rxscan167_scan:
- set_addr $I10, rxscan167_loop
+ ge rx162_pos, rx162_eos, rxscan163_done
+ rxscan163_scan:
+ set_addr $I10, rxscan163_loop
rx162_cur."!mark_push"(0, rx162_pos, $I10)
- rxscan167_done:
- alt168_0:
-.annotate 'line', 90
- set_addr $I10, alt168_1
+ rxscan163_done:
+ alt164_0:
+ set_addr $I10, alt164_1
rx162_cur."!mark_push"(0, rx162_pos, $I10)
-.annotate 'line', 91
- # rx subrule "ws" subtype=method negate=
- rx162_cur."!cursor_pos"(rx162_pos)
- $P10 = rx162_cur."ws"()
- unless $P10, rx162_fail
- rx162_pos = $P10."pos"()
+ # rx enumcharlist negate=0
+ ge rx162_pos, rx162_eos, rx162_fail
+ sub $I10, rx162_pos, rx162_off
+ substr $S10, rx162_tgt, $I10, 1
+ index $I11, "])}", $S10
+ lt $I11, 0, rx162_fail
+ inc rx162_pos
+ goto alt164_end
+ alt164_1:
# rxanchor eos
ne rx162_pos, rx162_eos, rx162_fail
- # rx subrule "ws" subtype=method negate=
- 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=
- 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=
- 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")
- rx162_pos = $P10."pos"()
- # rx subrule "eat_terminator" subtype=method negate=
- 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=
- 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=
- rx162_cur."!cursor_pos"(rx162_pos)
- $P10 = rx162_cur."ws"()
- unless $P10, rx162_fail
- rx162_pos = $P10."pos"()
- alt168_end:
-.annotate 'line', 90
+ alt164_end:
# rx pass
- rx162_cur."!cursor_pass"(rx162_pos, "statementlist")
- rx162_cur."!cursor_debug"("PASS ", "statementlist", " at pos=", rx162_pos)
+ rx162_cur."!cursor_pass"(rx162_pos, "")
+ rx162_cur."!cursor_debug"("PASS ", "", " at pos=", rx162_pos)
.return (rx162_cur)
+ rx162_restart:
+ rx162_cur."!cursor_debug"("NEXT ", "")
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
rx162_done:
rx162_cur."!cursor_fail"()
- rx162_cur."!cursor_debug"("FAIL ", "statementlist")
+ rx162_cur."!cursor_debug"("FAIL ", "")
.return (rx162_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist" :subid("32_1278500537.15927") :method
+.sub "eat_terminator" :subid("36_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx171_tgt
+ .local int rx171_pos
+ .local int rx171_off
+ .local int rx171_eos
+ .local int rx171_rep
+ .local pmc rx171_cur
+ (rx171_cur, rx171_pos, rx171_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx171_cur
+ .local pmc match
+ .lex "$/", match
+ length rx171_eos, rx171_tgt
+ gt rx171_pos, rx171_eos, rx171_done
+ set rx171_off, 0
+ lt rx171_pos, 2, rx171_start
+ sub rx171_off, rx171_pos, 1
+ substr rx171_tgt, rx171_tgt, rx171_off
+ rx171_start:
+ eq $I10, 1, rx171_restart
+ rx171_cur."!cursor_debug"("START ", "eat_terminator")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan174_done
+ goto rxscan174_scan
+ rxscan174_loop:
+ ($P10) = rx171_cur."from"()
+ inc $P10
+ set rx171_pos, $P10
+ ge rx171_pos, rx171_eos, rxscan174_done
+ rxscan174_scan:
+ set_addr $I10, rxscan174_loop
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
+ rxscan174_done:
+ alt175_0:
+.annotate 'line', 108
+ set_addr $I10, alt175_1
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 109
+ # rx literal ";"
+ add $I11, rx171_pos, 1
+ gt $I11, rx171_eos, rx171_fail
+ sub $I11, rx171_pos, rx171_off
+ substr $S10, rx171_tgt, $I11, 1
+ ne $S10, ";", rx171_fail
+ add rx171_pos, 1
+ goto alt175_end
+ alt175_1:
+ set_addr $I10, alt175_2
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 110
+ # rx subrule "MARKED" subtype=zerowidth negate=
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."MARKED"("endstmt")
+ unless $P10, rx171_fail
+ goto alt175_end
+ alt175_2:
+ set_addr $I10, alt175_3
+ rx171_cur."!mark_push"(0, rx171_pos, $I10)
+.annotate 'line', 111
+ # rx subrule "terminator" subtype=zerowidth negate=
+ rx171_cur."!cursor_pos"(rx171_pos)
+ $P10 = rx171_cur."terminator"()
+ unless $P10, rx171_fail
+ goto alt175_end
+ alt175_3:
+.annotate 'line', 112
+ # rxanchor eos
+ ne rx171_pos, rx171_eos, rx171_fail
+ alt175_end:
+.annotate 'line', 108
+ # rx pass
+ rx171_cur."!cursor_pass"(rx171_pos, "eat_terminator")
+ rx171_cur."!cursor_debug"("PASS ", "eat_terminator", " at pos=", rx171_pos)
+ .return (rx171_cur)
+ rx171_restart:
+.annotate 'line', 4
+ rx171_cur."!cursor_debug"("NEXT ", "eat_terminator")
+ rx171_fail:
+ (rx171_rep, rx171_pos, $I10, $P10) = rx171_cur."!mark_fail"(0)
+ lt rx171_pos, -1, rx171_done
+ eq rx171_pos, -1, rx171_fail
+ jump $I10
+ rx171_done:
+ rx171_cur."!cursor_fail"()
+ rx171_cur."!cursor_debug"("FAIL ", "eat_terminator")
+ .return (rx171_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__eat_terminator" :subid("37_1279589170.0083") :method
.annotate 'line', 4
- $P164 = self."!PREFIX__!subrule"("ws", "")
- $P165 = self."!PREFIX__!subrule"("ws", "")
- new $P166, "ResizablePMCArray"
- push $P166, $P164
- push $P166, $P165
- .return ($P166)
+ new $P173, "ResizablePMCArray"
+ push $P173, ""
+ push $P173, ""
+ push $P173, ""
+ push $P173, ";"
+ .return ($P173)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement" :subid("33_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "xblock" :subid("38_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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")
+ (rx177_cur, rx177_pos, rx177_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx177_cur
.local pmc match
.lex "$/", match
@@ -2233,40 +2659,21 @@
sub rx177_off, rx177_pos, 1
substr rx177_tgt, rx177_tgt, rx177_off
rx177_start:
+ eq $I10, 1, rx177_restart
+ rx177_cur."!cursor_debug"("START ", "xblock")
$I10 = self.'from'()
- ne $I10, -1, rxscan180_done
- goto rxscan180_scan
- rxscan180_loop:
+ ne $I10, -1, rxscan181_done
+ goto rxscan181_scan
+ rxscan181_loop:
($P10) = rx177_cur."from"()
inc $P10
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
- 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, alt186_1
+ ge rx177_pos, rx177_eos, rxscan181_done
+ rxscan181_scan:
+ set_addr $I10, rxscan181_loop
rx177_cur."!mark_push"(0, rx177_pos, $I10)
-.annotate 'line', 98
- # rx subrule "statement_control" subtype=capture negate=
- 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")
- rx177_pos = $P10."pos"()
- goto alt186_end
- alt186_1:
-.annotate 'line', 99
+ rxscan181_done:
+.annotate 'line', 116
# rx subrule "EXPR" subtype=capture negate=
rx177_cur."!cursor_pos"(rx177_pos)
$P10 = rx177_cur."EXPR"()
@@ -2279,99 +2686,54 @@
$P10 = rx177_cur."ws"()
unless $P10, rx177_fail
rx177_pos = $P10."pos"()
-.annotate 'line', 104
- # 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, alt188_1
- rx177_cur."!mark_push"(0, rx177_pos, $I10)
-.annotate 'line', 101
- # rx subrule "MARKED" subtype=zerowidth negate=
- 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=
- 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")
- 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=
- 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")
- 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=
+ # rx subrule "pblock" subtype=capture negate=
rx177_cur."!cursor_pos"(rx177_pos)
- $P10 = rx177_cur."statement_mod_loop"()
+ $P10 = rx177_cur."pblock"()
unless $P10, rx177_fail
rx177_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("statement_mod_loop")
+ $P10."!cursor_names"("pblock")
rx177_pos = $P10."pos"()
- alt188_end:
-.annotate 'line', 104
- (rx177_rep) = rx177_cur."!mark_commit"($I191)
- rxquantr187_done:
- alt186_end:
-.annotate 'line', 95
+.annotate 'line', 115
# rx pass
- rx177_cur."!cursor_pass"(rx177_pos, "statement")
- rx177_cur."!cursor_debug"("PASS ", "statement", " at pos=", rx177_pos)
+ rx177_cur."!cursor_pass"(rx177_pos, "xblock")
+ rx177_cur."!cursor_debug"("PASS ", "xblock", " at pos=", rx177_pos)
.return (rx177_cur)
- rx177_fail:
+ rx177_restart:
.annotate 'line', 4
+ rx177_cur."!cursor_debug"("NEXT ", "xblock")
+ rx177_fail:
(rx177_rep, rx177_pos, $I10, $P10) = rx177_cur."!mark_fail"(0)
lt rx177_pos, -1, rx177_done
eq rx177_pos, -1, rx177_fail
jump $I10
rx177_done:
rx177_cur."!cursor_fail"()
- rx177_cur."!cursor_debug"("FAIL ", "statement")
+ rx177_cur."!cursor_debug"("FAIL ", "xblock")
.return (rx177_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement" :subid("34_1278500537.15927") :method
+.sub "!PREFIX__xblock" :subid("39_1279589170.0083") :method
.annotate 'line', 4
- new $P179, "ResizablePMCArray"
- push $P179, ""
- .return ($P179)
+ $P179 = self."!PREFIX__!subrule"("EXPR", "")
+ new $P180, "ResizablePMCArray"
+ push $P180, $P179
+ .return ($P180)
.end
.namespace ["NQP";"Grammar"]
-.sub "_block181" :anon :subid("35_1278500537.15927") :method :outer("33_1278500537.15927")
-.annotate 'line', 96
+.sub "pblock" :subid("40_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
.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 ", "")
+ (rx183_cur, rx183_pos, rx183_tgt, $I10) = self."!cursor_start"()
.lex unicode:"$\x{a2}", rx183_cur
.local pmc match
.lex "$/", match
@@ -2382,6057 +2744,6403 @@
sub rx183_off, rx183_pos, 1
substr rx183_tgt, rx183_tgt, rx183_off
rx183_start:
+ eq $I10, 1, rx183_restart
+ rx183_cur."!cursor_debug"("START ", "pblock")
$I10 = self.'from'()
- ne $I10, -1, rxscan184_done
- goto rxscan184_scan
- rxscan184_loop:
+ ne $I10, -1, rxscan188_done
+ goto rxscan188_scan
+ rxscan188_loop:
($P10) = rx183_cur."from"()
inc $P10
set rx183_pos, $P10
- ge rx183_pos, rx183_eos, rxscan184_done
- rxscan184_scan:
- set_addr $I10, rxscan184_loop
+ ge rx183_pos, rx183_eos, rxscan188_done
+ rxscan188_scan:
+ set_addr $I10, rxscan188_loop
rx183_cur."!mark_push"(0, rx183_pos, $I10)
- rxscan184_done:
- alt185_0:
- set_addr $I10, alt185_1
+ rxscan188_done:
+ alt189_0:
+.annotate 'line', 119
+ set_addr $I10, alt189_1
rx183_cur."!mark_push"(0, rx183_pos, $I10)
- # rx enumcharlist negate=0
- 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, rx183_fail
- inc rx183_pos
- goto alt185_end
- alt185_1:
- # rxanchor eos
- ne rx183_pos, rx183_eos, rx183_fail
- alt185_end:
- # rx pass
- 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
- rx183_done:
- rx183_cur."!cursor_fail"()
- rx183_cur."!cursor_debug"("FAIL ", "")
- .return (rx183_cur)
- .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "eat_terminator" :subid("36_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .local string rx193_tgt
- .local int rx193_pos
- .local int rx193_off
- .local int rx193_eos
- .local int rx193_rep
- .local pmc rx193_cur
- (rx193_cur, rx193_pos, rx193_tgt) = self."!cursor_start"()
- rx193_cur."!cursor_debug"("START ", "eat_terminator")
- .lex unicode:"$\x{a2}", rx193_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan196_done
- goto rxscan196_scan
- rxscan196_loop:
- ($P10) = rx193_cur."from"()
- inc $P10
- 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, alt197_1
- rx193_cur."!mark_push"(0, rx193_pos, $I10)
-.annotate 'line', 109
- # rx literal ";"
- 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=
- 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=
- 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 rx193_pos, rx193_eos, rx193_fail
- alt197_end:
-.annotate 'line', 108
- # rx pass
- 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
- 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_1278500537.15927") :method
-.annotate 'line', 4
- new $P195, "ResizablePMCArray"
- push $P195, ""
- push $P195, ""
- push $P195, ""
- push $P195, ";"
- .return ($P195)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "xblock" :subid("38_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan203_done
- goto rxscan203_scan
- rxscan203_loop:
- ($P10) = rx199_cur."from"()
- inc $P10
- 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=
- 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")
- rx199_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx199_cur."!cursor_pos"(rx199_pos)
- $P10 = rx199_cur."ws"()
- unless $P10, rx199_fail
- rx199_pos = $P10."pos"()
- # rx subrule "pblock" subtype=capture negate=
- 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")
- rx199_pos = $P10."pos"()
-.annotate 'line', 115
- # rx pass
- 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
- 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_1278500537.15927") :method
-.annotate 'line', 4
- $P201 = self."!PREFIX__!subrule"("EXPR", "")
- new $P202, "ResizablePMCArray"
- push $P202, $P201
- .return ($P202)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "pblock" :subid("40_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .local string rx205_tgt
- .local int rx205_pos
- .local int rx205_off
- .local int rx205_eos
- .local int rx205_rep
- .local pmc rx205_cur
- (rx205_cur, rx205_pos, rx205_tgt) = self."!cursor_start"()
- rx205_cur."!cursor_debug"("START ", "pblock")
- .lex unicode:"$\x{a2}", rx205_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan210_done
- goto rxscan210_scan
- rxscan210_loop:
- ($P10) = rx205_cur."from"()
- inc $P10
- 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, alt211_1
- rx205_cur."!mark_push"(0, rx205_pos, $I10)
.annotate 'line', 120
# rx subrule "lambda" subtype=method negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."lambda"()
- unless $P10, rx205_fail
- rx205_pos = $P10."pos"()
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."lambda"()
+ unless $P10, rx183_fail
+ rx183_pos = $P10."pos"()
.annotate 'line', 121
# rx subrule "newpad" subtype=method negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."newpad"()
- unless $P10, rx205_fail
- rx205_pos = $P10."pos"()
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."newpad"()
+ unless $P10, rx183_fail
+ rx183_pos = $P10."pos"()
.annotate 'line', 122
# rx subrule "signature" subtype=capture negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."signature"()
- unless $P10, rx205_fail
- rx205_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."signature"()
+ unless $P10, rx183_fail
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("signature")
- rx205_pos = $P10."pos"()
+ rx183_pos = $P10."pos"()
.annotate 'line', 123
# rx subrule "blockoid" subtype=capture negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."blockoid"()
- unless $P10, rx205_fail
- rx205_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."blockoid"()
+ unless $P10, rx183_fail
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blockoid")
- rx205_pos = $P10."pos"()
+ rx183_pos = $P10."pos"()
.annotate 'line', 120
- goto alt211_end
- alt211_1:
- set_addr $I10, alt211_2
- rx205_cur."!mark_push"(0, rx205_pos, $I10)
+ goto alt189_end
+ alt189_1:
+ set_addr $I10, alt189_2
+ rx183_cur."!mark_push"(0, rx183_pos, $I10)
.annotate 'line', 124
# rx enumcharlist negate=0 zerowidth
- ge rx205_pos, rx205_eos, rx205_fail
- sub $I10, rx205_pos, rx205_off
- substr $S10, rx205_tgt, $I10, 1
+ ge rx183_pos, rx183_eos, rx183_fail
+ sub $I10, rx183_pos, rx183_off
+ substr $S10, rx183_tgt, $I10, 1
index $I11, "{", $S10
- lt $I11, 0, rx205_fail
+ lt $I11, 0, rx183_fail
.annotate 'line', 125
# rx subrule "newpad" subtype=method negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."newpad"()
- unless $P10, rx205_fail
- rx205_pos = $P10."pos"()
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."newpad"()
+ unless $P10, rx183_fail
+ rx183_pos = $P10."pos"()
.annotate 'line', 126
# rx subrule "blockoid" subtype=capture negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."blockoid"()
- unless $P10, rx205_fail
- rx205_cur."!mark_push"(0, -1, 0, $P10)
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."blockoid"()
+ unless $P10, rx183_fail
+ rx183_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blockoid")
- rx205_pos = $P10."pos"()
+ rx183_pos = $P10."pos"()
.annotate 'line', 124
- goto alt211_end
- alt211_2:
+ goto alt189_end
+ alt189_2:
.annotate 'line', 127
# rx subrule "panic" subtype=method negate=
- rx205_cur."!cursor_pos"(rx205_pos)
- $P10 = rx205_cur."panic"("Missing block")
- unless $P10, rx205_fail
- rx205_pos = $P10."pos"()
- alt211_end:
+ rx183_cur."!cursor_pos"(rx183_pos)
+ $P10 = rx183_cur."panic"("Missing block")
+ unless $P10, rx183_fail
+ rx183_pos = $P10."pos"()
+ alt189_end:
.annotate 'line', 119
# rx pass
- rx205_cur."!cursor_pass"(rx205_pos, "pblock")
- rx205_cur."!cursor_debug"("PASS ", "pblock", " at pos=", rx205_pos)
- .return (rx205_cur)
- rx205_fail:
+ rx183_cur."!cursor_pass"(rx183_pos, "pblock")
+ rx183_cur."!cursor_debug"("PASS ", "pblock", " at pos=", rx183_pos)
+ .return (rx183_cur)
+ rx183_restart:
.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
+ rx183_cur."!cursor_debug"("NEXT ", "pblock")
+ 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
- rx205_done:
- rx205_cur."!cursor_fail"()
- rx205_cur."!cursor_debug"("FAIL ", "pblock")
- .return (rx205_cur)
+ rx183_done:
+ rx183_cur."!cursor_fail"()
+ rx183_cur."!cursor_debug"("FAIL ", "pblock")
+ .return (rx183_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock" :subid("41_1278500537.15927") :method
+.sub "!PREFIX__pblock" :subid("41_1279589170.0083") :method
.annotate 'line', 4
- $P207 = self."!PREFIX__!subrule"("panic", "")
- $P208 = self."!PREFIX__!subrule"("lambda", "")
- new $P209, "ResizablePMCArray"
- push $P209, $P207
- push $P209, "{"
- push $P209, $P208
- .return ($P209)
+ $P185 = self."!PREFIX__!subrule"("panic", "")
+ $P186 = self."!PREFIX__!subrule"("lambda", "")
+ new $P187, "ResizablePMCArray"
+ push $P187, $P185
+ push $P187, "{"
+ push $P187, $P186
+ .return ($P187)
.end
.namespace ["NQP";"Grammar"]
-.sub "lambda" :subid("42_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .local string rx213_tgt
- .local int rx213_pos
- .local int rx213_off
- .local int rx213_eos
- .local int rx213_rep
- .local pmc rx213_cur
- (rx213_cur, rx213_pos, rx213_tgt) = self."!cursor_start"()
- rx213_cur."!cursor_debug"("START ", "lambda")
- .lex unicode:"$\x{a2}", rx213_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan216_done
- goto rxscan216_scan
- rxscan216_loop:
- ($P10) = rx213_cur."from"()
- inc $P10
- 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:
+.sub "lambda" :subid("42_1279589170.0083") :method :outer("11_1279589170.0083")
+.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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx191_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:
+ eq $I10, 1, rx191_restart
+ rx191_cur."!cursor_debug"("START ", "lambda")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan194_done
+ goto rxscan194_scan
+ rxscan194_loop:
+ ($P10) = rx191_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:
.annotate 'line', 130
- set_addr $I10, alt217_1
- rx213_cur."!mark_push"(0, rx213_pos, $I10)
+ set_addr $I10, alt195_1
+ rx191_cur."!mark_push"(0, rx191_pos, $I10)
# rx literal "->"
- 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:
+ add $I11, rx191_pos, 2
+ gt $I11, rx191_eos, rx191_fail
+ sub $I11, rx191_pos, rx191_off
+ substr $S10, rx191_tgt, $I11, 2
+ ne $S10, "->", rx191_fail
+ add rx191_pos, 2
+ goto alt195_end
+ alt195_1:
# rx literal "<->"
- 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
- 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
- rx213_done:
- rx213_cur."!cursor_fail"()
- rx213_cur."!cursor_debug"("FAIL ", "lambda")
- .return (rx213_cur)
+ add $I11, rx191_pos, 3
+ gt $I11, rx191_eos, rx191_fail
+ sub $I11, rx191_pos, rx191_off
+ substr $S10, rx191_tgt, $I11, 3
+ ne $S10, "<->", rx191_fail
+ add rx191_pos, 3
+ alt195_end:
+ # rx pass
+ rx191_cur."!cursor_pass"(rx191_pos, "lambda")
+ rx191_cur."!cursor_debug"("PASS ", "lambda", " at pos=", rx191_pos)
+ .return (rx191_cur)
+ rx191_restart:
+.annotate 'line', 4
+ rx191_cur."!cursor_debug"("NEXT ", "lambda")
+ rx191_fail:
+ (rx191_rep, rx191_pos, $I10, $P10) = rx191_cur."!mark_fail"(0)
+ lt rx191_pos, -1, rx191_done
+ eq rx191_pos, -1, rx191_fail
+ jump $I10
+ rx191_done:
+ rx191_cur."!cursor_fail"()
+ rx191_cur."!cursor_debug"("FAIL ", "lambda")
+ .return (rx191_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda" :subid("43_1278500537.15927") :method
-.annotate 'line', 4
- new $P215, "ResizablePMCArray"
- push $P215, "<->"
- push $P215, "->"
- .return ($P215)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "block" :subid("44_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan223_done
- goto rxscan223_scan
- rxscan223_loop:
- ($P10) = rx219_cur."from"()
- inc $P10
- 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:
+.sub "!PREFIX__lambda" :subid("43_1279589170.0083") :method
+.annotate 'line', 4
+ new $P193, "ResizablePMCArray"
+ push $P193, "<->"
+ push $P193, "->"
+ .return ($P193)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "block" :subid("44_1279589170.0083") :method :outer("11_1279589170.0083")
+.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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx197_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:
+ eq $I10, 1, rx197_restart
+ rx197_cur."!cursor_debug"("START ", "block")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan201_done
+ goto rxscan201_scan
+ rxscan201_loop:
+ ($P10) = rx197_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:
+ alt202_0:
.annotate 'line', 133
- set_addr $I10, alt224_1
- rx219_cur."!mark_push"(0, rx219_pos, $I10)
+ set_addr $I10, alt202_1
+ rx197_cur."!mark_push"(0, rx197_pos, $I10)
# rx enumcharlist negate=0 zerowidth
- ge rx219_pos, rx219_eos, rx219_fail
- sub $I10, rx219_pos, rx219_off
- substr $S10, rx219_tgt, $I10, 1
+ ge rx197_pos, rx197_eos, rx197_fail
+ sub $I10, rx197_pos, rx197_off
+ substr $S10, rx197_tgt, $I10, 1
index $I11, "{", $S10
- lt $I11, 0, rx219_fail
- goto alt224_end
- alt224_1:
+ lt $I11, 0, rx197_fail
+ goto alt202_end
+ alt202_1:
# rx subrule "panic" subtype=method negate=
- rx219_cur."!cursor_pos"(rx219_pos)
- $P10 = rx219_cur."panic"("Missing block")
- unless $P10, rx219_fail
- rx219_pos = $P10."pos"()
- alt224_end:
+ rx197_cur."!cursor_pos"(rx197_pos)
+ $P10 = rx197_cur."panic"("Missing block")
+ unless $P10, rx197_fail
+ rx197_pos = $P10."pos"()
+ alt202_end:
.annotate 'line', 134
# rx subrule "newpad" subtype=method negate=
- rx219_cur."!cursor_pos"(rx219_pos)
- $P10 = rx219_cur."newpad"()
- unless $P10, rx219_fail
- rx219_pos = $P10."pos"()
+ rx197_cur."!cursor_pos"(rx197_pos)
+ $P10 = rx197_cur."newpad"()
+ unless $P10, rx197_fail
+ rx197_pos = $P10."pos"()
.annotate 'line', 135
# rx subrule "blockoid" subtype=capture negate=
- rx219_cur."!cursor_pos"(rx219_pos)
- $P10 = rx219_cur."blockoid"()
- unless $P10, rx219_fail
- rx219_cur."!mark_push"(0, -1, 0, $P10)
+ rx197_cur."!cursor_pos"(rx197_pos)
+ $P10 = rx197_cur."blockoid"()
+ unless $P10, rx197_fail
+ rx197_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blockoid")
- rx219_pos = $P10."pos"()
+ rx197_pos = $P10."pos"()
.annotate 'line', 132
# rx pass
- rx219_cur."!cursor_pass"(rx219_pos, "block")
- rx219_cur."!cursor_debug"("PASS ", "block", " at pos=", rx219_pos)
- .return (rx219_cur)
- rx219_fail:
+ rx197_cur."!cursor_pass"(rx197_pos, "block")
+ rx197_cur."!cursor_debug"("PASS ", "block", " at pos=", rx197_pos)
+ .return (rx197_cur)
+ rx197_restart:
.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
+ rx197_cur."!cursor_debug"("NEXT ", "block")
+ rx197_fail:
+ (rx197_rep, rx197_pos, $I10, $P10) = rx197_cur."!mark_fail"(0)
+ lt rx197_pos, -1, rx197_done
+ eq rx197_pos, -1, rx197_fail
jump $I10
- rx219_done:
- rx219_cur."!cursor_fail"()
- rx219_cur."!cursor_debug"("FAIL ", "block")
- .return (rx219_cur)
+ rx197_done:
+ rx197_cur."!cursor_fail"()
+ rx197_cur."!cursor_debug"("FAIL ", "block")
+ .return (rx197_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block" :subid("45_1278500537.15927") :method
+.sub "!PREFIX__block" :subid("45_1279589170.0083") :method
.annotate 'line', 4
- $P221 = self."!PREFIX__!subrule"("panic", "")
- new $P222, "ResizablePMCArray"
- push $P222, $P221
- push $P222, "{"
- .return ($P222)
+ $P199 = self."!PREFIX__!subrule"("panic", "")
+ new $P200, "ResizablePMCArray"
+ push $P200, $P199
+ push $P200, "{"
+ .return ($P200)
.end
.namespace ["NQP";"Grammar"]
-.sub "blockoid" :subid("46_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "blockoid" :subid("46_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 string rx204_tgt
+ .local int rx204_pos
+ .local int rx204_off
+ .local int rx204_eos
+ .local int rx204_rep
+ .local pmc rx204_cur
+ (rx204_cur, rx204_pos, rx204_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx204_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx204_eos, rx204_tgt
+ gt rx204_pos, rx204_eos, rx204_done
+ set rx204_off, 0
+ lt rx204_pos, 2, rx204_start
+ sub rx204_off, rx204_pos, 1
+ substr rx204_tgt, rx204_tgt, rx204_off
+ rx204_start:
+ eq $I10, 1, rx204_restart
+ rx204_cur."!cursor_debug"("START ", "blockoid")
$I10 = self.'from'()
- ne $I10, -1, rxscan230_done
- goto rxscan230_scan
- rxscan230_loop:
- ($P10) = rx226_cur."from"()
+ ne $I10, -1, rxscan208_done
+ goto rxscan208_scan
+ rxscan208_loop:
+ ($P10) = rx204_cur."from"()
inc $P10
- 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:
+ set rx204_pos, $P10
+ ge rx204_pos, rx204_eos, rxscan208_done
+ rxscan208_scan:
+ set_addr $I10, rxscan208_loop
+ rx204_cur."!mark_push"(0, rx204_pos, $I10)
+ rxscan208_done:
.annotate 'line', 139
# rx subrule "finishpad" subtype=method negate=
- rx226_cur."!cursor_pos"(rx226_pos)
- $P10 = rx226_cur."finishpad"()
- unless $P10, rx226_fail
- rx226_pos = $P10."pos"()
+ rx204_cur."!cursor_pos"(rx204_pos)
+ $P10 = rx204_cur."finishpad"()
+ unless $P10, rx204_fail
+ rx204_pos = $P10."pos"()
.annotate 'line', 140
# rx literal "{"
- 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
+ add $I11, rx204_pos, 1
+ gt $I11, rx204_eos, rx204_fail
+ sub $I11, rx204_pos, rx204_off
+ substr $S10, rx204_tgt, $I11, 1
+ ne $S10, "{", rx204_fail
+ add rx204_pos, 1
# rx subrule "statementlist" subtype=capture negate=
- rx226_cur."!cursor_pos"(rx226_pos)
- $P10 = rx226_cur."statementlist"()
- unless $P10, rx226_fail
- rx226_cur."!mark_push"(0, -1, 0, $P10)
+ rx204_cur."!cursor_pos"(rx204_pos)
+ $P10 = rx204_cur."statementlist"()
+ unless $P10, rx204_fail
+ rx204_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("statementlist")
- rx226_pos = $P10."pos"()
- alt231_0:
- set_addr $I10, alt231_1
- rx226_cur."!mark_push"(0, rx226_pos, $I10)
+ rx204_pos = $P10."pos"()
+ alt209_0:
+ set_addr $I10, alt209_1
+ rx204_cur."!mark_push"(0, rx204_pos, $I10)
# rx literal "}"
- 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:
+ add $I11, rx204_pos, 1
+ gt $I11, rx204_eos, rx204_fail
+ sub $I11, rx204_pos, rx204_off
+ substr $S10, rx204_tgt, $I11, 1
+ ne $S10, "}", rx204_fail
+ add rx204_pos, 1
+ goto alt209_end
+ alt209_1:
# rx subrule "FAILGOAL" subtype=method negate=
- rx226_cur."!cursor_pos"(rx226_pos)
- $P10 = rx226_cur."FAILGOAL"("'}'")
- unless $P10, rx226_fail
- rx226_pos = $P10."pos"()
- alt231_end:
+ rx204_cur."!cursor_pos"(rx204_pos)
+ $P10 = rx204_cur."FAILGOAL"("'}'")
+ unless $P10, rx204_fail
+ goto rxsubrule211_pass
+ rxsubrule211_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx204_fail
+ rxsubrule211_pass:
+ set_addr $I10, rxsubrule211_back
+ rx204_cur."!mark_push"(0, rx204_pos, $I10, $P10)
+ rx204_pos = $P10."pos"()
+ alt209_end:
.annotate 'line', 141
# rx subrule "ENDSTMT" subtype=zerowidth negate=
- rx226_cur."!cursor_pos"(rx226_pos)
- $P10 = rx226_cur."ENDSTMT"()
- unless $P10, rx226_fail
+ rx204_cur."!cursor_pos"(rx204_pos)
+ $P10 = rx204_cur."ENDSTMT"()
+ unless $P10, rx204_fail
.annotate 'line', 138
# rx pass
- rx226_cur."!cursor_pass"(rx226_pos, "blockoid")
- rx226_cur."!cursor_debug"("PASS ", "blockoid", " at pos=", rx226_pos)
- .return (rx226_cur)
- rx226_fail:
+ rx204_cur."!cursor_pass"(rx204_pos, "blockoid")
+ rx204_cur."!cursor_debug"("PASS ", "blockoid", " at pos=", rx204_pos)
+ .return (rx204_cur)
+ rx204_restart:
.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
+ rx204_cur."!cursor_debug"("NEXT ", "blockoid")
+ rx204_fail:
+ (rx204_rep, rx204_pos, $I10, $P10) = rx204_cur."!mark_fail"(0)
+ lt rx204_pos, -1, rx204_done
+ eq rx204_pos, -1, rx204_fail
jump $I10
- rx226_done:
- rx226_cur."!cursor_fail"()
- rx226_cur."!cursor_debug"("FAIL ", "blockoid")
- .return (rx226_cur)
+ rx204_done:
+ rx204_cur."!cursor_fail"()
+ rx204_cur."!cursor_debug"("FAIL ", "blockoid")
+ .return (rx204_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid" :subid("47_1278500537.15927") :method
+.sub "!PREFIX__blockoid" :subid("47_1279589170.0083") :method
.annotate 'line', 4
- $P228 = self."!PREFIX__!subrule"("finishpad", "")
- new $P229, "ResizablePMCArray"
- push $P229, $P228
- .return ($P229)
+ $P206 = self."!PREFIX__!subrule"("finishpad", "")
+ new $P207, "ResizablePMCArray"
+ push $P207, $P206
+ .return ($P207)
.end
.namespace ["NQP";"Grammar"]
-.sub "newpad" :subid("48_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "newpad" :subid("48_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx234_tgt
- .local int rx234_pos
- .local int rx234_off
- .local int rx234_eos
- .local int rx234_rep
- .local pmc rx234_cur
- (rx234_cur, rx234_pos, rx234_tgt) = self."!cursor_start"()
- rx234_cur."!cursor_debug"("START ", "newpad")
- .lex unicode:"$\x{a2}", rx234_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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx213_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 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:
+ eq $I10, 1, rx213_restart
+ rx213_cur."!cursor_debug"("START ", "newpad")
$I10 = self.'from'()
- ne $I10, -1, rxscan237_done
- goto rxscan237_scan
- rxscan237_loop:
- ($P10) = rx234_cur."from"()
+ ne $I10, -1, rxscan216_done
+ goto rxscan216_scan
+ rxscan216_loop:
+ ($P10) = rx213_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:
+ 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:
.annotate 'line', 144
# rx pass
- rx234_cur."!cursor_pass"(rx234_pos, "newpad")
- rx234_cur."!cursor_debug"("PASS ", "newpad", " at pos=", rx234_pos)
- .return (rx234_cur)
- rx234_fail:
+ rx213_cur."!cursor_pass"(rx213_pos, "newpad")
+ rx213_cur."!cursor_debug"("PASS ", "newpad", " at pos=", rx213_pos)
+ .return (rx213_cur)
+ rx213_restart:
.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
+ rx213_cur."!cursor_debug"("NEXT ", "newpad")
+ rx213_fail:
+ (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
- rx234_done:
- rx234_cur."!cursor_fail"()
- rx234_cur."!cursor_debug"("FAIL ", "newpad")
- .return (rx234_cur)
+ rx213_done:
+ rx213_cur."!cursor_fail"()
+ rx213_cur."!cursor_debug"("FAIL ", "newpad")
+ .return (rx213_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad" :subid("49_1278500537.15927") :method
+.sub "!PREFIX__newpad" :subid("49_1279589170.0083") :method
.annotate 'line', 4
- new $P236, "ResizablePMCArray"
- push $P236, ""
- .return ($P236)
+ new $P215, "ResizablePMCArray"
+ push $P215, ""
+ .return ($P215)
.end
.namespace ["NQP";"Grammar"]
-.sub "outerctx" :subid("50_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "outerctx" :subid("50_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx239_tgt
- .local int rx239_pos
- .local int rx239_off
- .local int rx239_eos
- .local int rx239_rep
- .local pmc rx239_cur
- (rx239_cur, rx239_pos, rx239_tgt) = self."!cursor_start"()
- rx239_cur."!cursor_debug"("START ", "outerctx")
- .lex unicode:"$\x{a2}", rx239_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan242_done
- goto rxscan242_scan
- rxscan242_loop:
- ($P10) = rx239_cur."from"()
- inc $P10
- set rx239_pos, $P10
- ge rx239_pos, rx239_eos, rxscan242_done
- rxscan242_scan:
- set_addr $I10, rxscan242_loop
- rx239_cur."!mark_push"(0, rx239_pos, $I10)
- rxscan242_done:
+ .local string rx218_tgt
+ .local int rx218_pos
+ .local int rx218_off
+ .local int rx218_eos
+ .local int rx218_rep
+ .local pmc rx218_cur
+ (rx218_cur, rx218_pos, rx218_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx218_cur
+ .local pmc match
+ .lex "$/", match
+ length rx218_eos, rx218_tgt
+ gt rx218_pos, rx218_eos, rx218_done
+ set rx218_off, 0
+ lt rx218_pos, 2, rx218_start
+ sub rx218_off, rx218_pos, 1
+ substr rx218_tgt, rx218_tgt, rx218_off
+ rx218_start:
+ eq $I10, 1, rx218_restart
+ rx218_cur."!cursor_debug"("START ", "outerctx")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan221_done
+ goto rxscan221_scan
+ rxscan221_loop:
+ ($P10) = rx218_cur."from"()
+ inc $P10
+ set rx218_pos, $P10
+ ge rx218_pos, rx218_eos, rxscan221_done
+ rxscan221_scan:
+ set_addr $I10, rxscan221_loop
+ rx218_cur."!mark_push"(0, rx218_pos, $I10)
+ rxscan221_done:
.annotate 'line', 145
# rx pass
- rx239_cur."!cursor_pass"(rx239_pos, "outerctx")
- rx239_cur."!cursor_debug"("PASS ", "outerctx", " at pos=", rx239_pos)
- .return (rx239_cur)
- rx239_fail:
+ rx218_cur."!cursor_pass"(rx218_pos, "outerctx")
+ rx218_cur."!cursor_debug"("PASS ", "outerctx", " at pos=", rx218_pos)
+ .return (rx218_cur)
+ rx218_restart:
.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
+ rx218_cur."!cursor_debug"("NEXT ", "outerctx")
+ rx218_fail:
+ (rx218_rep, rx218_pos, $I10, $P10) = rx218_cur."!mark_fail"(0)
+ lt rx218_pos, -1, rx218_done
+ eq rx218_pos, -1, rx218_fail
jump $I10
- rx239_done:
- rx239_cur."!cursor_fail"()
- rx239_cur."!cursor_debug"("FAIL ", "outerctx")
- .return (rx239_cur)
+ rx218_done:
+ rx218_cur."!cursor_fail"()
+ rx218_cur."!cursor_debug"("FAIL ", "outerctx")
+ .return (rx218_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx" :subid("51_1278500537.15927") :method
+.sub "!PREFIX__outerctx" :subid("51_1279589170.0083") :method
.annotate 'line', 4
- new $P241, "ResizablePMCArray"
- push $P241, ""
- .return ($P241)
+ new $P220, "ResizablePMCArray"
+ push $P220, ""
+ .return ($P220)
.end
.namespace ["NQP";"Grammar"]
-.sub "finishpad" :subid("52_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "finishpad" :subid("52_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 string rx223_tgt
+ .local int rx223_pos
+ .local int rx223_off
+ .local int rx223_eos
+ .local int rx223_rep
+ .local pmc rx223_cur
+ (rx223_cur, rx223_pos, rx223_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx223_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx223_eos, rx223_tgt
+ gt rx223_pos, rx223_eos, rx223_done
+ set rx223_off, 0
+ lt rx223_pos, 2, rx223_start
+ sub rx223_off, rx223_pos, 1
+ substr rx223_tgt, rx223_tgt, rx223_off
+ rx223_start:
+ eq $I10, 1, rx223_restart
+ rx223_cur."!cursor_debug"("START ", "finishpad")
$I10 = self.'from'()
- ne $I10, -1, rxscan247_done
- goto rxscan247_scan
- rxscan247_loop:
- ($P10) = rx244_cur."from"()
+ ne $I10, -1, rxscan226_done
+ goto rxscan226_scan
+ rxscan226_loop:
+ ($P10) = rx223_cur."from"()
inc $P10
- 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:
+ set rx223_pos, $P10
+ ge rx223_pos, rx223_eos, rxscan226_done
+ rxscan226_scan:
+ set_addr $I10, rxscan226_loop
+ rx223_cur."!mark_push"(0, rx223_pos, $I10)
+ rxscan226_done:
.annotate 'line', 146
# rx pass
- rx244_cur."!cursor_pass"(rx244_pos, "finishpad")
- rx244_cur."!cursor_debug"("PASS ", "finishpad", " at pos=", rx244_pos)
- .return (rx244_cur)
- rx244_fail:
+ rx223_cur."!cursor_pass"(rx223_pos, "finishpad")
+ rx223_cur."!cursor_debug"("PASS ", "finishpad", " at pos=", rx223_pos)
+ .return (rx223_cur)
+ rx223_restart:
.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
+ rx223_cur."!cursor_debug"("NEXT ", "finishpad")
+ rx223_fail:
+ (rx223_rep, rx223_pos, $I10, $P10) = rx223_cur."!mark_fail"(0)
+ lt rx223_pos, -1, rx223_done
+ eq rx223_pos, -1, rx223_fail
jump $I10
- rx244_done:
- rx244_cur."!cursor_fail"()
- rx244_cur."!cursor_debug"("FAIL ", "finishpad")
- .return (rx244_cur)
+ rx223_done:
+ rx223_cur."!cursor_fail"()
+ rx223_cur."!cursor_debug"("FAIL ", "finishpad")
+ .return (rx223_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad" :subid("53_1278500537.15927") :method
+.sub "!PREFIX__finishpad" :subid("53_1279589170.0083") :method
.annotate 'line', 4
- new $P246, "ResizablePMCArray"
- push $P246, ""
- .return ($P246)
+ new $P225, "ResizablePMCArray"
+ push $P225, ""
+ .return ($P225)
.end
.namespace ["NQP";"Grammar"]
-.sub "terminator" :subid("54_1278500537.15927") :method
+.sub "terminator" :subid("54_1279589170.0083") :method
.annotate 'line', 148
- $P249 = self."!protoregex"("terminator")
- .return ($P249)
+ $P228 = self."!protoregex"("terminator")
+ .return ($P228)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator" :subid("55_1278500537.15927") :method
+.sub "!PREFIX__terminator" :subid("55_1279589170.0083") :method
.annotate 'line', 148
- $P251 = self."!PREFIX__!protoregex"("terminator")
- .return ($P251)
+ $P230 = self."!PREFIX__!protoregex"("terminator")
+ .return ($P230)
.end
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>" :subid("56_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "terminator:sym<;>" :subid("56_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, rxscan256_done
- goto rxscan256_scan
- rxscan256_loop:
- ($P10) = rx253_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx232_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:
+ eq $I10, 1, rx232_restart
+ rx232_cur."!cursor_debug"("START ", "terminator:sym<;>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan235_done
+ goto rxscan235_scan
+ rxscan235_loop:
+ ($P10) = rx232_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:
.annotate 'line', 150
# rx enumcharlist negate=0 zerowidth
- ge rx253_pos, rx253_eos, rx253_fail
- sub $I10, rx253_pos, rx253_off
- substr $S10, rx253_tgt, $I10, 1
+ ge rx232_pos, rx232_eos, rx232_fail
+ sub $I10, rx232_pos, rx232_off
+ substr $S10, rx232_tgt, $I10, 1
index $I11, ";", $S10
- lt $I11, 0, rx253_fail
+ lt $I11, 0, rx232_fail
# rx pass
- rx253_cur."!cursor_pass"(rx253_pos, "terminator:sym<;>")
- rx253_cur."!cursor_debug"("PASS ", "terminator:sym<;>", " at pos=", rx253_pos)
- .return (rx253_cur)
- rx253_fail:
+ rx232_cur."!cursor_pass"(rx232_pos, "terminator:sym<;>")
+ rx232_cur."!cursor_debug"("PASS ", "terminator:sym<;>", " at pos=", rx232_pos)
+ .return (rx232_cur)
+ rx232_restart:
.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
+ rx232_cur."!cursor_debug"("NEXT ", "terminator:sym<;>")
+ rx232_fail:
+ (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0)
+ lt rx232_pos, -1, rx232_done
+ eq rx232_pos, -1, rx232_fail
jump $I10
- rx253_done:
- rx253_cur."!cursor_fail"()
- rx253_cur."!cursor_debug"("FAIL ", "terminator:sym<;>")
- .return (rx253_cur)
+ rx232_done:
+ rx232_cur."!cursor_fail"()
+ rx232_cur."!cursor_debug"("FAIL ", "terminator:sym<;>")
+ .return (rx232_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>" :subid("57_1278500537.15927") :method
+.sub "!PREFIX__terminator:sym<;>" :subid("57_1279589170.0083") :method
.annotate 'line', 4
- new $P255, "ResizablePMCArray"
- push $P255, ";"
- .return ($P255)
+ new $P234, "ResizablePMCArray"
+ push $P234, ";"
+ .return ($P234)
.end
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>" :subid("58_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "terminator:sym<}>" :subid("58_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx237_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx237_restart
+ rx237_cur."!cursor_debug"("START ", "terminator:sym<}>")
$I10 = self.'from'()
- ne $I10, -1, rxscan261_done
- goto rxscan261_scan
- rxscan261_loop:
- ($P10) = rx258_cur."from"()
+ ne $I10, -1, rxscan240_done
+ goto rxscan240_scan
+ rxscan240_loop:
+ ($P10) = rx237_cur."from"()
inc $P10
- 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:
+ 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:
.annotate 'line', 151
# rx enumcharlist negate=0 zerowidth
- ge rx258_pos, rx258_eos, rx258_fail
- sub $I10, rx258_pos, rx258_off
- substr $S10, rx258_tgt, $I10, 1
+ ge rx237_pos, rx237_eos, rx237_fail
+ sub $I10, rx237_pos, rx237_off
+ substr $S10, rx237_tgt, $I10, 1
index $I11, "}", $S10
- lt $I11, 0, rx258_fail
+ lt $I11, 0, rx237_fail
# rx pass
- rx258_cur."!cursor_pass"(rx258_pos, "terminator:sym<}>")
- rx258_cur."!cursor_debug"("PASS ", "terminator:sym<}>", " at pos=", rx258_pos)
- .return (rx258_cur)
- rx258_fail:
+ rx237_cur."!cursor_pass"(rx237_pos, "terminator:sym<}>")
+ rx237_cur."!cursor_debug"("PASS ", "terminator:sym<}>", " at pos=", rx237_pos)
+ .return (rx237_cur)
+ rx237_restart:
.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
+ rx237_cur."!cursor_debug"("NEXT ", "terminator:sym<}>")
+ rx237_fail:
+ (rx237_rep, rx237_pos, $I10, $P10) = rx237_cur."!mark_fail"(0)
+ lt rx237_pos, -1, rx237_done
+ eq rx237_pos, -1, rx237_fail
jump $I10
- rx258_done:
- rx258_cur."!cursor_fail"()
- rx258_cur."!cursor_debug"("FAIL ", "terminator:sym<}>")
- .return (rx258_cur)
+ rx237_done:
+ rx237_cur."!cursor_fail"()
+ rx237_cur."!cursor_debug"("FAIL ", "terminator:sym<}>")
+ .return (rx237_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>" :subid("59_1278500537.15927") :method
+.sub "!PREFIX__terminator:sym<}>" :subid("59_1279589170.0083") :method
.annotate 'line', 4
- new $P260, "ResizablePMCArray"
- push $P260, "}"
- .return ($P260)
+ new $P239, "ResizablePMCArray"
+ push $P239, "}"
+ .return ($P239)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control" :subid("60_1278500537.15927") :method
+.sub "statement_control" :subid("60_1279589170.0083") :method
.annotate 'line', 155
- $P263 = self."!protoregex"("statement_control")
- .return ($P263)
+ $P242 = self."!protoregex"("statement_control")
+ .return ($P242)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control" :subid("61_1278500537.15927") :method
+.sub "!PREFIX__statement_control" :subid("61_1279589170.0083") :method
.annotate 'line', 155
- $P265 = self."!PREFIX__!protoregex"("statement_control")
- .return ($P265)
+ $P244 = self."!PREFIX__!protoregex"("statement_control")
+ .return ($P244)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>" :subid("62_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<if>" :subid("62_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<if>")
- rx267_cur."!cursor_caparray"("else", "xblock")
- .lex unicode:"$\x{a2}", rx267_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:
- $I10 = self.'from'()
- ne $I10, -1, rxscan270_done
- goto rxscan270_scan
- rxscan270_loop:
- ($P10) = rx267_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:
+ .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, $I10) = self."!cursor_start"()
+ rx246_cur."!cursor_caparray"("else", "xblock")
+ .lex unicode:"$\x{a2}", rx246_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:
+ eq $I10, 1, rx246_restart
+ rx246_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan249_done
+ goto rxscan249_scan
+ rxscan249_loop:
+ ($P10) = rx246_cur."from"()
+ inc $P10
+ set rx246_pos, $P10
+ ge rx246_pos, rx246_eos, rxscan249_done
+ rxscan249_scan:
+ set_addr $I10, rxscan249_loop
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
+ rxscan249_done:
.annotate 'line', 158
# rx subcapture "sym"
- set_addr $I10, rxcap_271_fail
- rx267_cur."!mark_push"(0, rx267_pos, $I10)
+ set_addr $I10, rxcap_250_fail
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
# rx literal "if"
- 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)
+ add $I11, rx246_pos, 2
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 2
+ ne $S10, "if", rx246_fail
+ add rx246_pos, 2
+ set_addr $I10, rxcap_250_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)
$P10."!cursor_names"("sym")
- goto rxcap_271_done
- rxcap_271_fail:
- goto rx267_fail
- rxcap_271_done:
+ goto rxcap_250_done
+ rxcap_250_fail:
+ goto rx246_fail
+ rxcap_250_done:
# rx charclass s
- 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ ge rx246_pos, rx246_eos, rx246_fail
+ sub $I10, rx246_pos, rx246_off
+ is_cclass $I11, 32, rx246_tgt, $I10
+ unless $I11, rx246_fail
+ inc rx246_pos
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
.annotate 'line', 159
# rx subrule "xblock" subtype=capture negate=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."xblock"()
- unless $P10, rx267_fail
- rx267_cur."!mark_push"(0, -1, 0, $P10)
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."xblock"()
+ unless $P10, rx246_fail
+ rx246_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx267_pos = $P10."pos"()
+ rx246_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
.annotate 'line', 160
- # rx rxquantr274 ** 0..*
- set_addr $I278, rxquantr274_done
- rx267_cur."!mark_push"(0, rx267_pos, $I278)
- rxquantr274_loop:
- # rx subrule "ws" subtype=method negate=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ # rx rxquantr253 ** 0..*
+ set_addr $I10, rxquantr253_done
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
+ rxquantr253_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
# rx literal "elsif"
- 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
+ add $I11, rx246_pos, 5
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 5
+ ne $S10, "elsif", rx246_fail
+ add rx246_pos, 5
# rx charclass s
- 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ ge rx246_pos, rx246_eos, rx246_fail
+ sub $I10, rx246_pos, rx246_off
+ is_cclass $I11, 32, rx246_tgt, $I10
+ unless $I11, rx246_fail
+ inc rx246_pos
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
# rx subrule "xblock" subtype=capture negate=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."xblock"()
- unless $P10, rx267_fail
- rx267_cur."!mark_push"(0, -1, 0, $P10)
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."xblock"()
+ unless $P10, rx246_fail
+ rx246_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx267_pos = $P10."pos"()
+ rx246_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
+ set_addr $I10, rxquantr253_done
+ (rx246_rep) = rx246_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr253_done
+ rx246_cur."!mark_push"(rx246_rep, rx246_pos, $I10)
+ goto rxquantr253_loop
+ rxquantr253_done:
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
.annotate 'line', 161
- # 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ # rx rxquantr258 ** 0..1
+ set_addr $I10, rxquantr258_done
+ rx246_cur."!mark_push"(0, rx246_pos, $I10)
+ rxquantr258_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
# rx literal "else"
- 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
+ add $I11, rx246_pos, 4
+ gt $I11, rx246_eos, rx246_fail
+ sub $I11, rx246_pos, rx246_off
+ substr $S10, rx246_tgt, $I11, 4
+ ne $S10, "else", rx246_fail
+ add rx246_pos, 4
# rx charclass s
- 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ ge rx246_pos, rx246_eos, rx246_fail
+ sub $I10, rx246_pos, rx246_off
+ is_cclass $I11, 32, rx246_tgt, $I10
+ unless $I11, rx246_fail
+ inc rx246_pos
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
# rx subrule "pblock" subtype=capture negate=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."pblock"()
- unless $P10, rx267_fail
- rx267_cur."!mark_push"(0, -1, 0, $P10)
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."pblock"()
+ unless $P10, rx246_fail
+ rx246_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("else")
- rx267_pos = $P10."pos"()
+ rx246_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- 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=
- rx267_cur."!cursor_pos"(rx267_pos)
- $P10 = rx267_cur."ws"()
- unless $P10, rx267_fail
- rx267_pos = $P10."pos"()
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
+ set_addr $I10, rxquantr258_done
+ (rx246_rep) = rx246_cur."!mark_commit"($I10)
+ rxquantr258_done:
+ # rx subrule "ws" subtype=method negate=
+ rx246_cur."!cursor_pos"(rx246_pos)
+ $P10 = rx246_cur."ws"()
+ unless $P10, rx246_fail
+ rx246_pos = $P10."pos"()
.annotate 'line', 157
# rx pass
- rx267_cur."!cursor_pass"(rx267_pos, "statement_control:sym<if>")
- rx267_cur."!cursor_debug"("PASS ", "statement_control:sym<if>", " at pos=", rx267_pos)
- .return (rx267_cur)
- rx267_fail:
+ rx246_cur."!cursor_pass"(rx246_pos, "statement_control:sym<if>")
+ rx246_cur."!cursor_debug"("PASS ", "statement_control:sym<if>", " at pos=", rx246_pos)
+ .return (rx246_cur)
+ rx246_restart:
.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
+ rx246_cur."!cursor_debug"("NEXT ", "statement_control:sym<if>")
+ rx246_fail:
+ (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0)
+ lt rx246_pos, -1, rx246_done
+ eq rx246_pos, -1, rx246_fail
jump $I10
- rx267_done:
- rx267_cur."!cursor_fail"()
- rx267_cur."!cursor_debug"("FAIL ", "statement_control:sym<if>")
- .return (rx267_cur)
+ rx246_done:
+ rx246_cur."!cursor_fail"()
+ rx246_cur."!cursor_debug"("FAIL ", "statement_control:sym<if>")
+ .return (rx246_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>" :subid("63_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<if>" :subid("63_1279589170.0083") :method
.annotate 'line', 4
- new $P269, "ResizablePMCArray"
- push $P269, "if"
- .return ($P269)
+ new $P248, "ResizablePMCArray"
+ push $P248, "if"
+ .return ($P248)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>" :subid("64_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<unless>" :subid("64_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<unless>")
- .lex unicode:"$\x{a2}", rx287_cur
+ .const 'Sub' $P274 = "66_1279589170.0083"
+ capture_lex $P274
+ .local string rx264_tgt
+ .local int rx264_pos
+ .local int rx264_off
+ .local int rx264_eos
+ .local int rx264_rep
+ .local pmc rx264_cur
+ (rx264_cur, rx264_pos, rx264_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx264_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx264_eos, rx264_tgt
+ gt rx264_pos, rx264_eos, rx264_done
+ set rx264_off, 0
+ lt rx264_pos, 2, rx264_start
+ sub rx264_off, rx264_pos, 1
+ substr rx264_tgt, rx264_tgt, rx264_off
+ rx264_start:
+ eq $I10, 1, rx264_restart
+ rx264_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
$I10 = self.'from'()
- ne $I10, -1, rxscan290_done
- goto rxscan290_scan
- rxscan290_loop:
- ($P10) = rx287_cur."from"()
+ ne $I10, -1, rxscan267_done
+ goto rxscan267_scan
+ rxscan267_loop:
+ ($P10) = rx264_cur."from"()
inc $P10
- 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:
+ set rx264_pos, $P10
+ ge rx264_pos, rx264_eos, rxscan267_done
+ rxscan267_scan:
+ set_addr $I10, rxscan267_loop
+ rx264_cur."!mark_push"(0, rx264_pos, $I10)
+ rxscan267_done:
.annotate 'line', 165
# rx subcapture "sym"
- set_addr $I10, rxcap_291_fail
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
+ set_addr $I10, rxcap_268_fail
+ rx264_cur."!mark_push"(0, rx264_pos, $I10)
# rx literal "unless"
- 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)
+ add $I11, rx264_pos, 6
+ gt $I11, rx264_eos, rx264_fail
+ sub $I11, rx264_pos, rx264_off
+ substr $S10, rx264_tgt, $I11, 6
+ ne $S10, "unless", rx264_fail
+ add rx264_pos, 6
+ set_addr $I10, rxcap_268_fail
+ ($I12, $I11) = rx264_cur."!mark_peek"($I10)
+ rx264_cur."!cursor_pos"($I11)
+ ($P10) = rx264_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx264_pos, "")
+ rx264_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_291_done
- rxcap_291_fail:
- goto rx287_fail
- rxcap_291_done:
+ goto rxcap_268_done
+ rxcap_268_fail:
+ goto rx264_fail
+ rxcap_268_done:
# rx charclass s
- 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=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."ws"()
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
+ ge rx264_pos, rx264_eos, rx264_fail
+ sub $I10, rx264_pos, rx264_off
+ is_cclass $I11, 32, rx264_tgt, $I10
+ unless $I11, rx264_fail
+ inc rx264_pos
+ # rx subrule "ws" subtype=method negate=
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
.annotate 'line', 166
# rx subrule "xblock" subtype=capture negate=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."xblock"()
- unless $P10, rx287_fail
- rx287_cur."!mark_push"(0, -1, 0, $P10)
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."xblock"()
+ unless $P10, rx264_fail
+ rx264_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx287_pos = $P10."pos"()
+ rx264_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."ws"()
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
- alt294_0:
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
+ alt271_0:
.annotate 'line', 167
- set_addr $I10, alt294_1
- rx287_cur."!mark_push"(0, rx287_pos, $I10)
+ set_addr $I10, alt271_1
+ rx264_cur."!mark_push"(0, rx264_pos, $I10)
# rx subrule "ws" subtype=method negate=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."ws"()
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
# rx subrule "before" subtype=zerowidth negate=1
- 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=
- 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=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."ws"()
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
+ rx264_cur."!cursor_pos"(rx264_pos)
+ .const 'Sub' $P274 = "66_1279589170.0083"
+ capture_lex $P274
+ $P10 = rx264_cur."before"($P274)
+ if $P10, rx264_fail
+ # rx subrule "ws" subtype=method negate=
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
+ goto alt271_end
+ alt271_1:
+ # rx subrule "ws" subtype=method negate=
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
# rx subrule "panic" subtype=method negate=
- 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=
- 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=
- rx287_cur."!cursor_pos"(rx287_pos)
- $P10 = rx287_cur."ws"()
- unless $P10, rx287_fail
- rx287_pos = $P10."pos"()
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
+ alt271_end:
+ # rx subrule "ws" subtype=method negate=
+ rx264_cur."!cursor_pos"(rx264_pos)
+ $P10 = rx264_cur."ws"()
+ unless $P10, rx264_fail
+ rx264_pos = $P10."pos"()
.annotate 'line', 164
# rx pass
- rx287_cur."!cursor_pass"(rx287_pos, "statement_control:sym<unless>")
- rx287_cur."!cursor_debug"("PASS ", "statement_control:sym<unless>", " at pos=", rx287_pos)
- .return (rx287_cur)
- rx287_fail:
+ rx264_cur."!cursor_pass"(rx264_pos, "statement_control:sym<unless>")
+ rx264_cur."!cursor_debug"("PASS ", "statement_control:sym<unless>", " at pos=", rx264_pos)
+ .return (rx264_cur)
+ rx264_restart:
.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
+ rx264_cur."!cursor_debug"("NEXT ", "statement_control:sym<unless>")
+ rx264_fail:
+ (rx264_rep, rx264_pos, $I10, $P10) = rx264_cur."!mark_fail"(0)
+ lt rx264_pos, -1, rx264_done
+ eq rx264_pos, -1, rx264_fail
jump $I10
- rx287_done:
- rx287_cur."!cursor_fail"()
- rx287_cur."!cursor_debug"("FAIL ", "statement_control:sym<unless>")
- .return (rx287_cur)
+ rx264_done:
+ rx264_cur."!cursor_fail"()
+ rx264_cur."!cursor_debug"("FAIL ", "statement_control:sym<unless>")
+ .return (rx264_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>" :subid("65_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<unless>" :subid("65_1279589170.0083") :method
.annotate 'line', 4
- new $P289, "ResizablePMCArray"
- push $P289, "unless"
- .return ($P289)
+ new $P266, "ResizablePMCArray"
+ push $P266, "unless"
+ .return ($P266)
.end
.namespace ["NQP";"Grammar"]
-.sub "_block296" :anon :subid("66_1278500537.15927") :method :outer("64_1278500537.15927")
+.sub "_block273" :anon :subid("66_1279589170.0083") :method :outer("64_1279589170.0083")
.annotate 'line', 167
- .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 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, rxscan299_done
- goto rxscan299_scan
- rxscan299_loop:
- ($P10) = rx298_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx275_cur
+ .local pmc match
+ .lex "$/", match
+ 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:
+ eq $I10, 1, rx275_restart
+ rx275_cur."!cursor_debug"("START ", "")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan276_done
+ goto rxscan276_scan
+ rxscan276_loop:
+ ($P10) = rx275_cur."from"()
+ inc $P10
+ set rx275_pos, $P10
+ ge rx275_pos, rx275_eos, rxscan276_done
+ rxscan276_scan:
+ set_addr $I10, rxscan276_loop
+ rx275_cur."!mark_push"(0, rx275_pos, $I10)
+ rxscan276_done:
# rx literal "else"
- 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
- 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
- rx298_done:
- rx298_cur."!cursor_fail"()
- rx298_cur."!cursor_debug"("FAIL ", "")
- .return (rx298_cur)
+ add $I11, rx275_pos, 4
+ gt $I11, rx275_eos, rx275_fail
+ sub $I11, rx275_pos, rx275_off
+ substr $S10, rx275_tgt, $I11, 4
+ ne $S10, "else", rx275_fail
+ add rx275_pos, 4
+ # rx pass
+ rx275_cur."!cursor_pass"(rx275_pos, "")
+ rx275_cur."!cursor_debug"("PASS ", "", " at pos=", rx275_pos)
+ .return (rx275_cur)
+ rx275_restart:
+ rx275_cur."!cursor_debug"("NEXT ", "")
+ rx275_fail:
+ (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
+ rx275_done:
+ rx275_cur."!cursor_fail"()
+ rx275_cur."!cursor_debug"("FAIL ", "")
+ .return (rx275_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>" :subid("67_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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<while>")
- .lex unicode:"$\x{a2}", rx305_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan308_done
- goto rxscan308_scan
- rxscan308_loop:
- ($P10) = rx305_cur."from"()
- inc $P10
- 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:
+.sub "statement_control:sym<while>" :subid("67_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx282_cur
+ .local pmc match
+ .lex "$/", match
+ 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:
+ eq $I10, 1, rx282_restart
+ rx282_cur."!cursor_debug"("START ", "statement_control:sym<while>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan285_done
+ goto rxscan285_scan
+ rxscan285_loop:
+ ($P10) = rx282_cur."from"()
+ inc $P10
+ set rx282_pos, $P10
+ ge rx282_pos, rx282_eos, rxscan285_done
+ rxscan285_scan:
+ set_addr $I10, rxscan285_loop
+ rx282_cur."!mark_push"(0, rx282_pos, $I10)
+ rxscan285_done:
.annotate 'line', 171
# rx subcapture "sym"
- 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)
+ set_addr $I10, rxcap_287_fail
+ rx282_cur."!mark_push"(0, rx282_pos, $I10)
+ alt286_0:
+ set_addr $I10, alt286_1
+ rx282_cur."!mark_push"(0, rx282_pos, $I10)
# rx literal "while"
- 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:
+ add $I11, rx282_pos, 5
+ gt $I11, rx282_eos, rx282_fail
+ sub $I11, rx282_pos, rx282_off
+ substr $S10, rx282_tgt, $I11, 5
+ ne $S10, "while", rx282_fail
+ add rx282_pos, 5
+ goto alt286_end
+ alt286_1:
# rx literal "until"
- 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)
+ add $I11, rx282_pos, 5
+ gt $I11, rx282_eos, rx282_fail
+ sub $I11, rx282_pos, rx282_off
+ substr $S10, rx282_tgt, $I11, 5
+ ne $S10, "until", rx282_fail
+ add rx282_pos, 5
+ alt286_end:
+ set_addr $I10, rxcap_287_fail
+ ($I12, $I11) = rx282_cur."!mark_peek"($I10)
+ rx282_cur."!cursor_pos"($I11)
+ ($P10) = rx282_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx282_pos, "")
+ rx282_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_310_done
- rxcap_310_fail:
- goto rx305_fail
- rxcap_310_done:
+ goto rxcap_287_done
+ rxcap_287_fail:
+ goto rx282_fail
+ rxcap_287_done:
# rx charclass s
- 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=
- rx305_cur."!cursor_pos"(rx305_pos)
- $P10 = rx305_cur."ws"()
- unless $P10, rx305_fail
- rx305_pos = $P10."pos"()
+ ge rx282_pos, rx282_eos, rx282_fail
+ sub $I10, rx282_pos, rx282_off
+ is_cclass $I11, 32, rx282_tgt, $I10
+ unless $I11, rx282_fail
+ inc rx282_pos
+ # rx subrule "ws" subtype=method negate=
+ rx282_cur."!cursor_pos"(rx282_pos)
+ $P10 = rx282_cur."ws"()
+ unless $P10, rx282_fail
+ rx282_pos = $P10."pos"()
.annotate 'line', 172
# rx subrule "xblock" subtype=capture negate=
- rx305_cur."!cursor_pos"(rx305_pos)
- $P10 = rx305_cur."xblock"()
- unless $P10, rx305_fail
- rx305_cur."!mark_push"(0, -1, 0, $P10)
+ rx282_cur."!cursor_pos"(rx282_pos)
+ $P10 = rx282_cur."xblock"()
+ unless $P10, rx282_fail
+ rx282_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx305_pos = $P10."pos"()
+ rx282_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx305_cur."!cursor_pos"(rx305_pos)
- $P10 = rx305_cur."ws"()
- unless $P10, rx305_fail
- rx305_pos = $P10."pos"()
+ rx282_cur."!cursor_pos"(rx282_pos)
+ $P10 = rx282_cur."ws"()
+ unless $P10, rx282_fail
+ rx282_pos = $P10."pos"()
.annotate 'line', 170
# rx pass
- rx305_cur."!cursor_pass"(rx305_pos, "statement_control:sym<while>")
- rx305_cur."!cursor_debug"("PASS ", "statement_control:sym<while>", " at pos=", rx305_pos)
- .return (rx305_cur)
- rx305_fail:
+ rx282_cur."!cursor_pass"(rx282_pos, "statement_control:sym<while>")
+ rx282_cur."!cursor_debug"("PASS ", "statement_control:sym<while>", " at pos=", rx282_pos)
+ .return (rx282_cur)
+ rx282_restart:
.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
+ rx282_cur."!cursor_debug"("NEXT ", "statement_control:sym<while>")
+ rx282_fail:
+ (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
- rx305_done:
- rx305_cur."!cursor_fail"()
- rx305_cur."!cursor_debug"("FAIL ", "statement_control:sym<while>")
- .return (rx305_cur)
+ rx282_done:
+ rx282_cur."!cursor_fail"()
+ rx282_cur."!cursor_debug"("FAIL ", "statement_control:sym<while>")
+ .return (rx282_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>" :subid("68_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<while>" :subid("68_1279589170.0083") :method
.annotate 'line', 4
- new $P307, "ResizablePMCArray"
- push $P307, "until"
- push $P307, "while"
- .return ($P307)
+ new $P284, "ResizablePMCArray"
+ push $P284, "until"
+ push $P284, "while"
+ .return ($P284)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>" :subid("69_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<repeat>" :subid("69_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<repeat>")
- .lex unicode:"$\x{a2}", rx314_cur
+ .local string rx291_tgt
+ .local int rx291_pos
+ .local int rx291_off
+ .local int rx291_eos
+ .local int rx291_rep
+ .local pmc rx291_cur
+ (rx291_cur, rx291_pos, rx291_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx291_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx291_eos, rx291_tgt
+ gt rx291_pos, rx291_eos, rx291_done
+ set rx291_off, 0
+ lt rx291_pos, 2, rx291_start
+ sub rx291_off, rx291_pos, 1
+ substr rx291_tgt, rx291_tgt, rx291_off
+ rx291_start:
+ eq $I10, 1, rx291_restart
+ rx291_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
$I10 = self.'from'()
- ne $I10, -1, rxscan317_done
- goto rxscan317_scan
- rxscan317_loop:
- ($P10) = rx314_cur."from"()
+ ne $I10, -1, rxscan294_done
+ goto rxscan294_scan
+ rxscan294_loop:
+ ($P10) = rx291_cur."from"()
inc $P10
- 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:
+ set rx291_pos, $P10
+ ge rx291_pos, rx291_eos, rxscan294_done
+ rxscan294_scan:
+ set_addr $I10, rxscan294_loop
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
+ rxscan294_done:
.annotate 'line', 176
# rx subcapture "sym"
- set_addr $I10, rxcap_318_fail
- rx314_cur."!mark_push"(0, rx314_pos, $I10)
+ set_addr $I10, rxcap_295_fail
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
# rx literal "repeat"
- 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)
+ add $I11, rx291_pos, 6
+ gt $I11, rx291_eos, rx291_fail
+ sub $I11, rx291_pos, rx291_off
+ substr $S10, rx291_tgt, $I11, 6
+ ne $S10, "repeat", rx291_fail
+ add rx291_pos, 6
+ set_addr $I10, rxcap_295_fail
+ ($I12, $I11) = rx291_cur."!mark_peek"($I10)
+ rx291_cur."!cursor_pos"($I11)
+ ($P10) = rx291_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx291_pos, "")
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_318_done
- rxcap_318_fail:
- goto rx314_fail
- rxcap_318_done:
+ goto rxcap_295_done
+ rxcap_295_fail:
+ goto rx291_fail
+ rxcap_295_done:
# rx charclass s
- 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=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
- alt320_0:
+ ge rx291_pos, rx291_eos, rx291_fail
+ sub $I10, rx291_pos, rx291_off
+ is_cclass $I11, 32, rx291_tgt, $I10
+ unless $I11, rx291_fail
+ inc rx291_pos
+ # rx subrule "ws" subtype=method negate=
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
+ alt297_0:
.annotate 'line', 177
- set_addr $I10, alt320_1
- rx314_cur."!mark_push"(0, rx314_pos, $I10)
+ set_addr $I10, alt297_1
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
.annotate 'line', 178
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
# rx subcapture "wu"
- 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)
+ set_addr $I10, rxcap_300_fail
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
+ alt299_0:
+ set_addr $I10, alt299_1
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
# rx literal "while"
- 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:
+ add $I11, rx291_pos, 5
+ gt $I11, rx291_eos, rx291_fail
+ sub $I11, rx291_pos, rx291_off
+ substr $S10, rx291_tgt, $I11, 5
+ ne $S10, "while", rx291_fail
+ add rx291_pos, 5
+ goto alt299_end
+ alt299_1:
# rx literal "until"
- 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)
+ add $I11, rx291_pos, 5
+ gt $I11, rx291_eos, rx291_fail
+ sub $I11, rx291_pos, rx291_off
+ substr $S10, rx291_tgt, $I11, 5
+ ne $S10, "until", rx291_fail
+ add rx291_pos, 5
+ alt299_end:
+ set_addr $I10, rxcap_300_fail
+ ($I12, $I11) = rx291_cur."!mark_peek"($I10)
+ rx291_cur."!cursor_pos"($I11)
+ ($P10) = rx291_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx291_pos, "")
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("wu")
- goto rxcap_323_done
- rxcap_323_fail:
- goto rx314_fail
- rxcap_323_done:
+ goto rxcap_300_done
+ rxcap_300_fail:
+ goto rx291_fail
+ rxcap_300_done:
# rx charclass s
- 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=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ ge rx291_pos, rx291_eos, rx291_fail
+ sub $I10, rx291_pos, rx291_off
+ is_cclass $I11, 32, rx291_tgt, $I10
+ unless $I11, rx291_fail
+ inc rx291_pos
+ # rx subrule "ws" subtype=method negate=
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
# rx subrule "xblock" subtype=capture negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."xblock"()
- unless $P10, rx314_fail
- rx314_cur."!mark_push"(0, -1, 0, $P10)
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."xblock"()
+ unless $P10, rx291_fail
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx314_pos = $P10."pos"()
+ rx291_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
- goto alt320_end
- alt320_1:
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
+ goto alt297_end
+ alt297_1:
.annotate 'line', 179
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
# rx subrule "pblock" subtype=capture negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."pblock"()
- unless $P10, rx314_fail
- rx314_cur."!mark_push"(0, -1, 0, $P10)
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."pblock"()
+ unless $P10, rx291_fail
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("pblock")
- rx314_pos = $P10."pos"()
+ rx291_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
# rx subcapture "wu"
- 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)
+ set_addr $I10, rxcap_306_fail
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
+ alt305_0:
+ set_addr $I10, alt305_1
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
# rx literal "while"
- 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:
+ add $I11, rx291_pos, 5
+ gt $I11, rx291_eos, rx291_fail
+ sub $I11, rx291_pos, rx291_off
+ substr $S10, rx291_tgt, $I11, 5
+ ne $S10, "while", rx291_fail
+ add rx291_pos, 5
+ goto alt305_end
+ alt305_1:
# rx literal "until"
- 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)
+ add $I11, rx291_pos, 5
+ gt $I11, rx291_eos, rx291_fail
+ sub $I11, rx291_pos, rx291_off
+ substr $S10, rx291_tgt, $I11, 5
+ ne $S10, "until", rx291_fail
+ add rx291_pos, 5
+ alt305_end:
+ set_addr $I10, rxcap_306_fail
+ ($I12, $I11) = rx291_cur."!mark_peek"($I10)
+ rx291_cur."!cursor_pos"($I11)
+ ($P10) = rx291_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx291_pos, "")
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("wu")
- goto rxcap_329_done
- rxcap_329_fail:
- goto rx314_fail
- rxcap_329_done:
+ goto rxcap_306_done
+ rxcap_306_fail:
+ goto rx291_fail
+ rxcap_306_done:
# rx charclass s
- 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=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ ge rx291_pos, rx291_eos, rx291_fail
+ sub $I10, rx291_pos, rx291_off
+ is_cclass $I11, 32, rx291_tgt, $I10
+ unless $I11, rx291_fail
+ inc rx291_pos
+ # rx subrule "ws" subtype=method negate=
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."EXPR"()
- unless $P10, rx314_fail
- rx314_cur."!mark_push"(0, -1, 0, $P10)
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."EXPR"()
+ unless $P10, rx291_fail
+ rx291_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("EXPR")
- rx314_pos = $P10."pos"()
+ rx291_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
- alt320_end:
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
+ alt297_end:
.annotate 'line', 180
# rx subrule "ws" subtype=method negate=
- rx314_cur."!cursor_pos"(rx314_pos)
- $P10 = rx314_cur."ws"()
- unless $P10, rx314_fail
- rx314_pos = $P10."pos"()
+ rx291_cur."!cursor_pos"(rx291_pos)
+ $P10 = rx291_cur."ws"()
+ unless $P10, rx291_fail
+ rx291_pos = $P10."pos"()
.annotate 'line', 175
# rx pass
- rx314_cur."!cursor_pass"(rx314_pos, "statement_control:sym<repeat>")
- rx314_cur."!cursor_debug"("PASS ", "statement_control:sym<repeat>", " at pos=", rx314_pos)
- .return (rx314_cur)
- rx314_fail:
+ rx291_cur."!cursor_pass"(rx291_pos, "statement_control:sym<repeat>")
+ rx291_cur."!cursor_debug"("PASS ", "statement_control:sym<repeat>", " at pos=", rx291_pos)
+ .return (rx291_cur)
+ rx291_restart:
.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
+ rx291_cur."!cursor_debug"("NEXT ", "statement_control:sym<repeat>")
+ rx291_fail:
+ (rx291_rep, rx291_pos, $I10, $P10) = rx291_cur."!mark_fail"(0)
+ lt rx291_pos, -1, rx291_done
+ eq rx291_pos, -1, rx291_fail
jump $I10
- rx314_done:
- rx314_cur."!cursor_fail"()
- rx314_cur."!cursor_debug"("FAIL ", "statement_control:sym<repeat>")
- .return (rx314_cur)
+ rx291_done:
+ rx291_cur."!cursor_fail"()
+ rx291_cur."!cursor_debug"("FAIL ", "statement_control:sym<repeat>")
+ .return (rx291_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>" :subid("70_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<repeat>" :subid("70_1279589170.0083") :method
.annotate 'line', 4
- new $P316, "ResizablePMCArray"
- push $P316, "repeat"
- .return ($P316)
+ new $P293, "ResizablePMCArray"
+ push $P293, "repeat"
+ .return ($P293)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>" :subid("71_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<for>" :subid("71_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<for>")
- .lex unicode:"$\x{a2}", rx334_cur
+ .local string rx311_tgt
+ .local int rx311_pos
+ .local int rx311_off
+ .local int rx311_eos
+ .local int rx311_rep
+ .local pmc rx311_cur
+ (rx311_cur, rx311_pos, rx311_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx311_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx311_eos, rx311_tgt
+ gt rx311_pos, rx311_eos, rx311_done
+ set rx311_off, 0
+ lt rx311_pos, 2, rx311_start
+ sub rx311_off, rx311_pos, 1
+ substr rx311_tgt, rx311_tgt, rx311_off
+ rx311_start:
+ eq $I10, 1, rx311_restart
+ rx311_cur."!cursor_debug"("START ", "statement_control:sym<for>")
$I10 = self.'from'()
- ne $I10, -1, rxscan337_done
- goto rxscan337_scan
- rxscan337_loop:
- ($P10) = rx334_cur."from"()
+ ne $I10, -1, rxscan314_done
+ goto rxscan314_scan
+ rxscan314_loop:
+ ($P10) = rx311_cur."from"()
inc $P10
- 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:
+ set rx311_pos, $P10
+ ge rx311_pos, rx311_eos, rxscan314_done
+ rxscan314_scan:
+ set_addr $I10, rxscan314_loop
+ rx311_cur."!mark_push"(0, rx311_pos, $I10)
+ rxscan314_done:
.annotate 'line', 184
# rx subcapture "sym"
- set_addr $I10, rxcap_338_fail
- rx334_cur."!mark_push"(0, rx334_pos, $I10)
+ set_addr $I10, rxcap_315_fail
+ rx311_cur."!mark_push"(0, rx311_pos, $I10)
# rx literal "for"
- 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)
+ add $I11, rx311_pos, 3
+ gt $I11, rx311_eos, rx311_fail
+ sub $I11, rx311_pos, rx311_off
+ substr $S10, rx311_tgt, $I11, 3
+ ne $S10, "for", rx311_fail
+ add rx311_pos, 3
+ set_addr $I10, rxcap_315_fail
+ ($I12, $I11) = rx311_cur."!mark_peek"($I10)
+ rx311_cur."!cursor_pos"($I11)
+ ($P10) = rx311_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx311_pos, "")
+ rx311_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_338_done
- rxcap_338_fail:
- goto rx334_fail
- rxcap_338_done:
+ goto rxcap_315_done
+ rxcap_315_fail:
+ goto rx311_fail
+ rxcap_315_done:
# rx charclass s
- 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=
- rx334_cur."!cursor_pos"(rx334_pos)
- $P10 = rx334_cur."ws"()
- unless $P10, rx334_fail
- rx334_pos = $P10."pos"()
+ ge rx311_pos, rx311_eos, rx311_fail
+ sub $I10, rx311_pos, rx311_off
+ is_cclass $I11, 32, rx311_tgt, $I10
+ unless $I11, rx311_fail
+ inc rx311_pos
+ # rx subrule "ws" subtype=method negate=
+ rx311_cur."!cursor_pos"(rx311_pos)
+ $P10 = rx311_cur."ws"()
+ unless $P10, rx311_fail
+ rx311_pos = $P10."pos"()
.annotate 'line', 185
# rx subrule "xblock" subtype=capture negate=
- rx334_cur."!cursor_pos"(rx334_pos)
- $P10 = rx334_cur."xblock"()
- unless $P10, rx334_fail
- rx334_cur."!mark_push"(0, -1, 0, $P10)
+ rx311_cur."!cursor_pos"(rx311_pos)
+ $P10 = rx311_cur."xblock"()
+ unless $P10, rx311_fail
+ rx311_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("xblock")
- rx334_pos = $P10."pos"()
+ rx311_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx334_cur."!cursor_pos"(rx334_pos)
- $P10 = rx334_cur."ws"()
- unless $P10, rx334_fail
- rx334_pos = $P10."pos"()
+ rx311_cur."!cursor_pos"(rx311_pos)
+ $P10 = rx311_cur."ws"()
+ unless $P10, rx311_fail
+ rx311_pos = $P10."pos"()
.annotate 'line', 183
# rx pass
- rx334_cur."!cursor_pass"(rx334_pos, "statement_control:sym<for>")
- rx334_cur."!cursor_debug"("PASS ", "statement_control:sym<for>", " at pos=", rx334_pos)
- .return (rx334_cur)
- rx334_fail:
+ rx311_cur."!cursor_pass"(rx311_pos, "statement_control:sym<for>")
+ rx311_cur."!cursor_debug"("PASS ", "statement_control:sym<for>", " at pos=", rx311_pos)
+ .return (rx311_cur)
+ rx311_restart:
.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
+ rx311_cur."!cursor_debug"("NEXT ", "statement_control:sym<for>")
+ rx311_fail:
+ (rx311_rep, rx311_pos, $I10, $P10) = rx311_cur."!mark_fail"(0)
+ lt rx311_pos, -1, rx311_done
+ eq rx311_pos, -1, rx311_fail
jump $I10
- rx334_done:
- rx334_cur."!cursor_fail"()
- rx334_cur."!cursor_debug"("FAIL ", "statement_control:sym<for>")
- .return (rx334_cur)
+ rx311_done:
+ rx311_cur."!cursor_fail"()
+ rx311_cur."!cursor_debug"("FAIL ", "statement_control:sym<for>")
+ .return (rx311_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>" :subid("72_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<for>" :subid("72_1279589170.0083") :method
.annotate 'line', 4
- new $P336, "ResizablePMCArray"
- push $P336, "for"
- .return ($P336)
+ new $P313, "ResizablePMCArray"
+ push $P313, "for"
+ .return ($P313)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>" :subid("73_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<CATCH>" :subid("73_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<CATCH>")
- .lex unicode:"$\x{a2}", rx342_cur
+ .local string rx319_tgt
+ .local int rx319_pos
+ .local int rx319_off
+ .local int rx319_eos
+ .local int rx319_rep
+ .local pmc rx319_cur
+ (rx319_cur, rx319_pos, rx319_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx319_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx319_eos, rx319_tgt
+ gt rx319_pos, rx319_eos, rx319_done
+ set rx319_off, 0
+ lt rx319_pos, 2, rx319_start
+ sub rx319_off, rx319_pos, 1
+ substr rx319_tgt, rx319_tgt, rx319_off
+ rx319_start:
+ eq $I10, 1, rx319_restart
+ rx319_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
$I10 = self.'from'()
- ne $I10, -1, rxscan345_done
- goto rxscan345_scan
- rxscan345_loop:
- ($P10) = rx342_cur."from"()
+ ne $I10, -1, rxscan322_done
+ goto rxscan322_scan
+ rxscan322_loop:
+ ($P10) = rx319_cur."from"()
inc $P10
- 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:
+ set rx319_pos, $P10
+ ge rx319_pos, rx319_eos, rxscan322_done
+ rxscan322_scan:
+ set_addr $I10, rxscan322_loop
+ rx319_cur."!mark_push"(0, rx319_pos, $I10)
+ rxscan322_done:
.annotate 'line', 189
# rx subcapture "sym"
- set_addr $I10, rxcap_346_fail
- rx342_cur."!mark_push"(0, rx342_pos, $I10)
+ set_addr $I10, rxcap_323_fail
+ rx319_cur."!mark_push"(0, rx319_pos, $I10)
# rx literal "CATCH"
- 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)
+ add $I11, rx319_pos, 5
+ gt $I11, rx319_eos, rx319_fail
+ sub $I11, rx319_pos, rx319_off
+ substr $S10, rx319_tgt, $I11, 5
+ ne $S10, "CATCH", rx319_fail
+ add rx319_pos, 5
+ set_addr $I10, rxcap_323_fail
+ ($I12, $I11) = rx319_cur."!mark_peek"($I10)
+ rx319_cur."!cursor_pos"($I11)
+ ($P10) = rx319_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx319_pos, "")
+ rx319_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_346_done
- rxcap_346_fail:
- goto rx342_fail
- rxcap_346_done:
+ goto rxcap_323_done
+ rxcap_323_fail:
+ goto rx319_fail
+ rxcap_323_done:
# rx charclass s
- 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=
- rx342_cur."!cursor_pos"(rx342_pos)
- $P10 = rx342_cur."ws"()
- unless $P10, rx342_fail
- rx342_pos = $P10."pos"()
+ ge rx319_pos, rx319_eos, rx319_fail
+ sub $I10, rx319_pos, rx319_off
+ is_cclass $I11, 32, rx319_tgt, $I10
+ unless $I11, rx319_fail
+ inc rx319_pos
+ # rx subrule "ws" subtype=method negate=
+ rx319_cur."!cursor_pos"(rx319_pos)
+ $P10 = rx319_cur."ws"()
+ unless $P10, rx319_fail
+ rx319_pos = $P10."pos"()
.annotate 'line', 190
# rx subrule "block" subtype=capture negate=
- rx342_cur."!cursor_pos"(rx342_pos)
- $P10 = rx342_cur."block"()
- unless $P10, rx342_fail
- rx342_cur."!mark_push"(0, -1, 0, $P10)
+ rx319_cur."!cursor_pos"(rx319_pos)
+ $P10 = rx319_cur."block"()
+ unless $P10, rx319_fail
+ rx319_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("block")
- rx342_pos = $P10."pos"()
+ rx319_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx342_cur."!cursor_pos"(rx342_pos)
- $P10 = rx342_cur."ws"()
- unless $P10, rx342_fail
- rx342_pos = $P10."pos"()
+ rx319_cur."!cursor_pos"(rx319_pos)
+ $P10 = rx319_cur."ws"()
+ unless $P10, rx319_fail
+ rx319_pos = $P10."pos"()
.annotate 'line', 188
# rx pass
- rx342_cur."!cursor_pass"(rx342_pos, "statement_control:sym<CATCH>")
- rx342_cur."!cursor_debug"("PASS ", "statement_control:sym<CATCH>", " at pos=", rx342_pos)
- .return (rx342_cur)
- rx342_fail:
+ rx319_cur."!cursor_pass"(rx319_pos, "statement_control:sym<CATCH>")
+ rx319_cur."!cursor_debug"("PASS ", "statement_control:sym<CATCH>", " at pos=", rx319_pos)
+ .return (rx319_cur)
+ rx319_restart:
.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
+ rx319_cur."!cursor_debug"("NEXT ", "statement_control:sym<CATCH>")
+ rx319_fail:
+ (rx319_rep, rx319_pos, $I10, $P10) = rx319_cur."!mark_fail"(0)
+ lt rx319_pos, -1, rx319_done
+ eq rx319_pos, -1, rx319_fail
jump $I10
- rx342_done:
- rx342_cur."!cursor_fail"()
- rx342_cur."!cursor_debug"("FAIL ", "statement_control:sym<CATCH>")
- .return (rx342_cur)
+ rx319_done:
+ rx319_cur."!cursor_fail"()
+ rx319_cur."!cursor_debug"("FAIL ", "statement_control:sym<CATCH>")
+ .return (rx319_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>" :subid("74_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<CATCH>" :subid("74_1279589170.0083") :method
.annotate 'line', 4
- new $P344, "ResizablePMCArray"
- push $P344, "CATCH"
- .return ($P344)
+ new $P321, "ResizablePMCArray"
+ push $P321, "CATCH"
+ .return ($P321)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>" :subid("75_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_control:sym<CONTROL>" :subid("75_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx350_tgt
- .local int rx350_pos
- .local int rx350_off
- .local int rx350_eos
- .local int rx350_rep
- .local pmc rx350_cur
- (rx350_cur, rx350_pos, rx350_tgt) = self."!cursor_start"()
- rx350_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
- .lex unicode:"$\x{a2}", rx350_cur
+ .local string rx327_tgt
+ .local int rx327_pos
+ .local int rx327_off
+ .local int rx327_eos
+ .local int rx327_rep
+ .local pmc rx327_cur
+ (rx327_cur, rx327_pos, rx327_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx327_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx327_eos, rx327_tgt
+ gt rx327_pos, rx327_eos, rx327_done
+ set rx327_off, 0
+ lt rx327_pos, 2, rx327_start
+ sub rx327_off, rx327_pos, 1
+ substr rx327_tgt, rx327_tgt, rx327_off
+ rx327_start:
+ eq $I10, 1, rx327_restart
+ rx327_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
$I10 = self.'from'()
- ne $I10, -1, rxscan353_done
- goto rxscan353_scan
- rxscan353_loop:
- ($P10) = rx350_cur."from"()
+ ne $I10, -1, rxscan330_done
+ goto rxscan330_scan
+ rxscan330_loop:
+ ($P10) = rx327_cur."from"()
inc $P10
- 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:
+ set rx327_pos, $P10
+ ge rx327_pos, rx327_eos, rxscan330_done
+ rxscan330_scan:
+ set_addr $I10, rxscan330_loop
+ rx327_cur."!mark_push"(0, rx327_pos, $I10)
+ rxscan330_done:
.annotate 'line', 194
# rx subcapture "sym"
- set_addr $I10, rxcap_354_fail
- rx350_cur."!mark_push"(0, rx350_pos, $I10)
+ set_addr $I10, rxcap_331_fail
+ rx327_cur."!mark_push"(0, rx327_pos, $I10)
# rx literal "CONTROL"
- 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)
+ add $I11, rx327_pos, 7
+ gt $I11, rx327_eos, rx327_fail
+ sub $I11, rx327_pos, rx327_off
+ substr $S10, rx327_tgt, $I11, 7
+ ne $S10, "CONTROL", rx327_fail
+ add rx327_pos, 7
+ set_addr $I10, rxcap_331_fail
+ ($I12, $I11) = rx327_cur."!mark_peek"($I10)
+ rx327_cur."!cursor_pos"($I11)
+ ($P10) = rx327_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx327_pos, "")
+ rx327_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_354_done
- rxcap_354_fail:
- goto rx350_fail
- rxcap_354_done:
+ goto rxcap_331_done
+ rxcap_331_fail:
+ goto rx327_fail
+ rxcap_331_done:
# rx charclass s
- 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=
- rx350_cur."!cursor_pos"(rx350_pos)
- $P10 = rx350_cur."ws"()
- unless $P10, rx350_fail
- rx350_pos = $P10."pos"()
+ ge rx327_pos, rx327_eos, rx327_fail
+ sub $I10, rx327_pos, rx327_off
+ is_cclass $I11, 32, rx327_tgt, $I10
+ unless $I11, rx327_fail
+ inc rx327_pos
+ # rx subrule "ws" subtype=method negate=
+ rx327_cur."!cursor_pos"(rx327_pos)
+ $P10 = rx327_cur."ws"()
+ unless $P10, rx327_fail
+ rx327_pos = $P10."pos"()
.annotate 'line', 195
# rx subrule "block" subtype=capture negate=
- rx350_cur."!cursor_pos"(rx350_pos)
- $P10 = rx350_cur."block"()
- unless $P10, rx350_fail
- rx350_cur."!mark_push"(0, -1, 0, $P10)
+ rx327_cur."!cursor_pos"(rx327_pos)
+ $P10 = rx327_cur."block"()
+ unless $P10, rx327_fail
+ rx327_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("block")
- rx350_pos = $P10."pos"()
+ rx327_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx350_cur."!cursor_pos"(rx350_pos)
- $P10 = rx350_cur."ws"()
- unless $P10, rx350_fail
- rx350_pos = $P10."pos"()
+ rx327_cur."!cursor_pos"(rx327_pos)
+ $P10 = rx327_cur."ws"()
+ unless $P10, rx327_fail
+ rx327_pos = $P10."pos"()
.annotate 'line', 193
# rx pass
- rx350_cur."!cursor_pass"(rx350_pos, "statement_control:sym<CONTROL>")
- rx350_cur."!cursor_debug"("PASS ", "statement_control:sym<CONTROL>", " at pos=", rx350_pos)
- .return (rx350_cur)
- rx350_fail:
+ rx327_cur."!cursor_pass"(rx327_pos, "statement_control:sym<CONTROL>")
+ rx327_cur."!cursor_debug"("PASS ", "statement_control:sym<CONTROL>", " at pos=", rx327_pos)
+ .return (rx327_cur)
+ rx327_restart:
.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
+ rx327_cur."!cursor_debug"("NEXT ", "statement_control:sym<CONTROL>")
+ rx327_fail:
+ (rx327_rep, rx327_pos, $I10, $P10) = rx327_cur."!mark_fail"(0)
+ lt rx327_pos, -1, rx327_done
+ eq rx327_pos, -1, rx327_fail
jump $I10
- rx350_done:
- rx350_cur."!cursor_fail"()
- rx350_cur."!cursor_debug"("FAIL ", "statement_control:sym<CONTROL>")
- .return (rx350_cur)
+ rx327_done:
+ rx327_cur."!cursor_fail"()
+ rx327_cur."!cursor_debug"("FAIL ", "statement_control:sym<CONTROL>")
+ .return (rx327_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("76_1278500537.15927") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("76_1279589170.0083") :method
.annotate 'line', 4
- new $P352, "ResizablePMCArray"
- push $P352, "CONTROL"
- .return ($P352)
+ new $P329, "ResizablePMCArray"
+ push $P329, "CONTROL"
+ .return ($P329)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix" :subid("77_1278500537.15927") :method
+.sub "statement_prefix" :subid("77_1279589170.0083") :method
.annotate 'line', 198
- $P358 = self."!protoregex"("statement_prefix")
- .return ($P358)
+ $P335 = self."!protoregex"("statement_prefix")
+ .return ($P335)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix" :subid("78_1278500537.15927") :method
+.sub "!PREFIX__statement_prefix" :subid("78_1279589170.0083") :method
.annotate 'line', 198
- $P360 = self."!PREFIX__!protoregex"("statement_prefix")
- .return ($P360)
+ $P337 = self."!PREFIX__!protoregex"("statement_prefix")
+ .return ($P337)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>" :subid("79_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_prefix:sym<INIT>" :subid("79_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<INIT>")
- .lex unicode:"$\x{a2}", rx362_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan366_done
- goto rxscan366_scan
- rxscan366_loop:
- ($P10) = rx362_cur."from"()
- inc $P10
- 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:
+ .local string rx339_tgt
+ .local int rx339_pos
+ .local int rx339_off
+ .local int rx339_eos
+ .local int rx339_rep
+ .local pmc rx339_cur
+ (rx339_cur, rx339_pos, rx339_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx339_cur
+ .local pmc match
+ .lex "$/", match
+ length rx339_eos, rx339_tgt
+ gt rx339_pos, rx339_eos, rx339_done
+ set rx339_off, 0
+ lt rx339_pos, 2, rx339_start
+ sub rx339_off, rx339_pos, 1
+ substr rx339_tgt, rx339_tgt, rx339_off
+ rx339_start:
+ eq $I10, 1, rx339_restart
+ rx339_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan343_done
+ goto rxscan343_scan
+ rxscan343_loop:
+ ($P10) = rx339_cur."from"()
+ inc $P10
+ set rx339_pos, $P10
+ ge rx339_pos, rx339_eos, rxscan343_done
+ rxscan343_scan:
+ set_addr $I10, rxscan343_loop
+ rx339_cur."!mark_push"(0, rx339_pos, $I10)
+ rxscan343_done:
.annotate 'line', 199
# rx subcapture "sym"
- set_addr $I10, rxcap_367_fail
- rx362_cur."!mark_push"(0, rx362_pos, $I10)
+ set_addr $I10, rxcap_344_fail
+ rx339_cur."!mark_push"(0, rx339_pos, $I10)
# rx literal "INIT"
- 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)
+ add $I11, rx339_pos, 4
+ gt $I11, rx339_eos, rx339_fail
+ sub $I11, rx339_pos, rx339_off
+ substr $S10, rx339_tgt, $I11, 4
+ ne $S10, "INIT", rx339_fail
+ add rx339_pos, 4
+ set_addr $I10, rxcap_344_fail
+ ($I12, $I11) = rx339_cur."!mark_peek"($I10)
+ rx339_cur."!cursor_pos"($I11)
+ ($P10) = rx339_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx339_pos, "")
+ rx339_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_367_done
- rxcap_367_fail:
- goto rx362_fail
- rxcap_367_done:
+ goto rxcap_344_done
+ rxcap_344_fail:
+ goto rx339_fail
+ rxcap_344_done:
# rx subrule "blorst" subtype=capture negate=
- rx362_cur."!cursor_pos"(rx362_pos)
- $P10 = rx362_cur."blorst"()
- unless $P10, rx362_fail
- rx362_cur."!mark_push"(0, -1, 0, $P10)
+ rx339_cur."!cursor_pos"(rx339_pos)
+ $P10 = rx339_cur."blorst"()
+ unless $P10, rx339_fail
+ rx339_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blorst")
- rx362_pos = $P10."pos"()
+ rx339_pos = $P10."pos"()
# rx pass
- rx362_cur."!cursor_pass"(rx362_pos, "statement_prefix:sym<INIT>")
- rx362_cur."!cursor_debug"("PASS ", "statement_prefix:sym<INIT>", " at pos=", rx362_pos)
- .return (rx362_cur)
- rx362_fail:
+ rx339_cur."!cursor_pass"(rx339_pos, "statement_prefix:sym<INIT>")
+ rx339_cur."!cursor_debug"("PASS ", "statement_prefix:sym<INIT>", " at pos=", rx339_pos)
+ .return (rx339_cur)
+ rx339_restart:
.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
+ rx339_cur."!cursor_debug"("NEXT ", "statement_prefix:sym<INIT>")
+ rx339_fail:
+ (rx339_rep, rx339_pos, $I10, $P10) = rx339_cur."!mark_fail"(0)
+ lt rx339_pos, -1, rx339_done
+ eq rx339_pos, -1, rx339_fail
jump $I10
- rx362_done:
- rx362_cur."!cursor_fail"()
- rx362_cur."!cursor_debug"("FAIL ", "statement_prefix:sym<INIT>")
- .return (rx362_cur)
+ rx339_done:
+ rx339_cur."!cursor_fail"()
+ rx339_cur."!cursor_debug"("FAIL ", "statement_prefix:sym<INIT>")
+ .return (rx339_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("80_1278500537.15927") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("80_1279589170.0083") :method
.annotate 'line', 4
- $P364 = self."!PREFIX__!subrule"("blorst", "INIT")
- new $P365, "ResizablePMCArray"
- push $P365, $P364
- .return ($P365)
+ $P341 = self."!PREFIX__!subrule"("blorst", "INIT")
+ new $P342, "ResizablePMCArray"
+ push $P342, $P341
+ .return ($P342)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>" :subid("81_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_prefix:sym<try>" :subid("81_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<try>")
- .lex unicode:"$\x{a2}", rx369_cur
+ .local string rx346_tgt
+ .local int rx346_pos
+ .local int rx346_off
+ .local int rx346_eos
+ .local int rx346_rep
+ .local pmc rx346_cur
+ (rx346_cur, rx346_pos, rx346_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx346_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx346_eos, rx346_tgt
+ gt rx346_pos, rx346_eos, rx346_done
+ set rx346_off, 0
+ lt rx346_pos, 2, rx346_start
+ sub rx346_off, rx346_pos, 1
+ substr rx346_tgt, rx346_tgt, rx346_off
+ rx346_start:
+ eq $I10, 1, rx346_restart
+ rx346_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
$I10 = self.'from'()
- ne $I10, -1, rxscan373_done
- goto rxscan373_scan
- rxscan373_loop:
- ($P10) = rx369_cur."from"()
+ ne $I10, -1, rxscan350_done
+ goto rxscan350_scan
+ rxscan350_loop:
+ ($P10) = rx346_cur."from"()
inc $P10
- 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:
+ set rx346_pos, $P10
+ ge rx346_pos, rx346_eos, rxscan350_done
+ rxscan350_scan:
+ set_addr $I10, rxscan350_loop
+ rx346_cur."!mark_push"(0, rx346_pos, $I10)
+ rxscan350_done:
.annotate 'line', 202
# rx subcapture "sym"
- set_addr $I10, rxcap_374_fail
- rx369_cur."!mark_push"(0, rx369_pos, $I10)
+ set_addr $I10, rxcap_351_fail
+ rx346_cur."!mark_push"(0, rx346_pos, $I10)
# rx literal "try"
- 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)
+ add $I11, rx346_pos, 3
+ gt $I11, rx346_eos, rx346_fail
+ sub $I11, rx346_pos, rx346_off
+ substr $S10, rx346_tgt, $I11, 3
+ ne $S10, "try", rx346_fail
+ add rx346_pos, 3
+ set_addr $I10, rxcap_351_fail
+ ($I12, $I11) = rx346_cur."!mark_peek"($I10)
+ rx346_cur."!cursor_pos"($I11)
+ ($P10) = rx346_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx346_pos, "")
+ rx346_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_374_done
- rxcap_374_fail:
- goto rx369_fail
- rxcap_374_done:
+ goto rxcap_351_done
+ rxcap_351_fail:
+ goto rx346_fail
+ rxcap_351_done:
.annotate 'line', 203
# rx subrule "blorst" subtype=capture negate=
- rx369_cur."!cursor_pos"(rx369_pos)
- $P10 = rx369_cur."blorst"()
- unless $P10, rx369_fail
- rx369_cur."!mark_push"(0, -1, 0, $P10)
+ rx346_cur."!cursor_pos"(rx346_pos)
+ $P10 = rx346_cur."blorst"()
+ unless $P10, rx346_fail
+ rx346_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blorst")
- rx369_pos = $P10."pos"()
+ rx346_pos = $P10."pos"()
.annotate 'line', 201
# rx pass
- rx369_cur."!cursor_pass"(rx369_pos, "statement_prefix:sym<try>")
- rx369_cur."!cursor_debug"("PASS ", "statement_prefix:sym<try>", " at pos=", rx369_pos)
- .return (rx369_cur)
- rx369_fail:
+ rx346_cur."!cursor_pass"(rx346_pos, "statement_prefix:sym<try>")
+ rx346_cur."!cursor_debug"("PASS ", "statement_prefix:sym<try>", " at pos=", rx346_pos)
+ .return (rx346_cur)
+ rx346_restart:
.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
+ rx346_cur."!cursor_debug"("NEXT ", "statement_prefix:sym<try>")
+ rx346_fail:
+ (rx346_rep, rx346_pos, $I10, $P10) = rx346_cur."!mark_fail"(0)
+ lt rx346_pos, -1, rx346_done
+ eq rx346_pos, -1, rx346_fail
jump $I10
- rx369_done:
- rx369_cur."!cursor_fail"()
- rx369_cur."!cursor_debug"("FAIL ", "statement_prefix:sym<try>")
- .return (rx369_cur)
+ rx346_done:
+ rx346_cur."!cursor_fail"()
+ rx346_cur."!cursor_debug"("FAIL ", "statement_prefix:sym<try>")
+ .return (rx346_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>" :subid("82_1278500537.15927") :method
+.sub "!PREFIX__statement_prefix:sym<try>" :subid("82_1279589170.0083") :method
.annotate 'line', 4
- $P371 = self."!PREFIX__!subrule"("blorst", "try")
- new $P372, "ResizablePMCArray"
- push $P372, $P371
- .return ($P372)
+ $P348 = self."!PREFIX__!subrule"("blorst", "try")
+ new $P349, "ResizablePMCArray"
+ push $P349, $P348
+ .return ($P349)
.end
.namespace ["NQP";"Grammar"]
-.sub "blorst" :subid("83_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "blorst" :subid("83_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx353_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx353_restart
+ rx353_cur."!cursor_debug"("START ", "blorst")
$I10 = self.'from'()
- ne $I10, -1, rxscan379_done
- goto rxscan379_scan
- rxscan379_loop:
- ($P10) = rx376_cur."from"()
+ ne $I10, -1, rxscan356_done
+ goto rxscan356_scan
+ rxscan356_loop:
+ ($P10) = rx353_cur."from"()
inc $P10
- 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:
+ 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', 207
# rx charclass s
- 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=
- 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)
+ ge rx353_pos, rx353_eos, rx353_fail
+ sub $I10, rx353_pos, rx353_off
+ is_cclass $I11, 32, rx353_tgt, $I10
+ unless $I11, rx353_fail
+ inc rx353_pos
+ # rx subrule "ws" subtype=method negate=
+ rx353_cur."!cursor_pos"(rx353_pos)
+ $P10 = rx353_cur."ws"()
+ unless $P10, rx353_fail
+ rx353_pos = $P10."pos"()
+ alt357_0:
+ set_addr $I10, alt357_1
+ rx353_cur."!mark_push"(0, rx353_pos, $I10)
# rx enumcharlist negate=0 zerowidth
- ge rx376_pos, rx376_eos, rx376_fail
- sub $I10, rx376_pos, rx376_off
- substr $S10, rx376_tgt, $I10, 1
+ ge rx353_pos, rx353_eos, rx353_fail
+ sub $I10, rx353_pos, rx353_off
+ substr $S10, rx353_tgt, $I10, 1
index $I11, "{", $S10
- lt $I11, 0, rx376_fail
+ lt $I11, 0, rx353_fail
# rx subrule "block" subtype=capture negate=
- rx376_cur."!cursor_pos"(rx376_pos)
- $P10 = rx376_cur."block"()
- unless $P10, rx376_fail
- rx376_cur."!mark_push"(0, -1, 0, $P10)
+ rx353_cur."!cursor_pos"(rx353_pos)
+ $P10 = rx353_cur."block"()
+ unless $P10, rx353_fail
+ rx353_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("block")
- rx376_pos = $P10."pos"()
- goto alt380_end
- alt380_1:
+ rx353_pos = $P10."pos"()
+ goto alt357_end
+ alt357_1:
# rx subrule "statement" subtype=capture negate=
- rx376_cur."!cursor_pos"(rx376_pos)
- $P10 = rx376_cur."statement"()
- unless $P10, rx376_fail
- rx376_cur."!mark_push"(0, -1, 0, $P10)
+ rx353_cur."!cursor_pos"(rx353_pos)
+ $P10 = rx353_cur."statement"()
+ unless $P10, rx353_fail
+ rx353_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("statement")
- rx376_pos = $P10."pos"()
- alt380_end:
+ rx353_pos = $P10."pos"()
+ alt357_end:
.annotate 'line', 206
# rx pass
- rx376_cur."!cursor_pass"(rx376_pos, "blorst")
- rx376_cur."!cursor_debug"("PASS ", "blorst", " at pos=", rx376_pos)
- .return (rx376_cur)
- rx376_fail:
+ rx353_cur."!cursor_pass"(rx353_pos, "blorst")
+ rx353_cur."!cursor_debug"("PASS ", "blorst", " at pos=", rx353_pos)
+ .return (rx353_cur)
+ rx353_restart:
.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
+ rx353_cur."!cursor_debug"("NEXT ", "blorst")
+ rx353_fail:
+ (rx353_rep, rx353_pos, $I10, $P10) = rx353_cur."!mark_fail"(0)
+ lt rx353_pos, -1, rx353_done
+ eq rx353_pos, -1, rx353_fail
jump $I10
- rx376_done:
- rx376_cur."!cursor_fail"()
- rx376_cur."!cursor_debug"("FAIL ", "blorst")
- .return (rx376_cur)
+ rx353_done:
+ rx353_cur."!cursor_fail"()
+ rx353_cur."!cursor_debug"("FAIL ", "blorst")
+ .return (rx353_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst" :subid("84_1278500537.15927") :method
+.sub "!PREFIX__blorst" :subid("84_1279589170.0083") :method
.annotate 'line', 4
- new $P378, "ResizablePMCArray"
- push $P378, ""
- .return ($P378)
+ new $P355, "ResizablePMCArray"
+ push $P355, ""
+ .return ($P355)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond" :subid("85_1278500537.15927") :method
+.sub "statement_mod_cond" :subid("85_1279589170.0083") :method
.annotate 'line', 212
- $P382 = self."!protoregex"("statement_mod_cond")
- .return ($P382)
+ $P359 = self."!protoregex"("statement_mod_cond")
+ .return ($P359)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond" :subid("86_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_cond" :subid("86_1279589170.0083") :method
.annotate 'line', 212
- $P384 = self."!PREFIX__!protoregex"("statement_mod_cond")
- .return ($P384)
+ $P361 = self."!PREFIX__!protoregex"("statement_mod_cond")
+ .return ($P361)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>" :subid("87_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_mod_cond:sym<if>" :subid("87_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<if>")
- .lex unicode:"$\x{a2}", rx386_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan390_done
- goto rxscan390_scan
- rxscan390_loop:
- ($P10) = rx386_cur."from"()
- inc $P10
- 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:
+ .local string rx363_tgt
+ .local int rx363_pos
+ .local int rx363_off
+ .local int rx363_eos
+ .local int rx363_rep
+ .local pmc rx363_cur
+ (rx363_cur, rx363_pos, rx363_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx363_cur
+ .local pmc match
+ .lex "$/", match
+ length rx363_eos, rx363_tgt
+ gt rx363_pos, rx363_eos, rx363_done
+ set rx363_off, 0
+ lt rx363_pos, 2, rx363_start
+ sub rx363_off, rx363_pos, 1
+ substr rx363_tgt, rx363_tgt, rx363_off
+ rx363_start:
+ eq $I10, 1, rx363_restart
+ rx363_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan367_done
+ goto rxscan367_scan
+ rxscan367_loop:
+ ($P10) = rx363_cur."from"()
+ inc $P10
+ set rx363_pos, $P10
+ ge rx363_pos, rx363_eos, rxscan367_done
+ rxscan367_scan:
+ set_addr $I10, rxscan367_loop
+ rx363_cur."!mark_push"(0, rx363_pos, $I10)
+ rxscan367_done:
.annotate 'line', 214
# rx subcapture "sym"
- set_addr $I10, rxcap_391_fail
- rx386_cur."!mark_push"(0, rx386_pos, $I10)
+ set_addr $I10, rxcap_368_fail
+ rx363_cur."!mark_push"(0, rx363_pos, $I10)
# rx literal "if"
- 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)
+ add $I11, rx363_pos, 2
+ gt $I11, rx363_eos, rx363_fail
+ sub $I11, rx363_pos, rx363_off
+ substr $S10, rx363_tgt, $I11, 2
+ ne $S10, "if", rx363_fail
+ add rx363_pos, 2
+ set_addr $I10, rxcap_368_fail
+ ($I12, $I11) = rx363_cur."!mark_peek"($I10)
+ rx363_cur."!cursor_pos"($I11)
+ ($P10) = rx363_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx363_pos, "")
+ rx363_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_391_done
- rxcap_391_fail:
- goto rx386_fail
- rxcap_391_done:
- # rx subrule "ws" subtype=method negate=
- rx386_cur."!cursor_pos"(rx386_pos)
- $P10 = rx386_cur."ws"()
- unless $P10, rx386_fail
- rx386_pos = $P10."pos"()
+ goto rxcap_368_done
+ rxcap_368_fail:
+ goto rx363_fail
+ rxcap_368_done:
+ # rx subrule "ws" subtype=method negate=
+ rx363_cur."!cursor_pos"(rx363_pos)
+ $P10 = rx363_cur."ws"()
+ unless $P10, rx363_fail
+ rx363_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx386_cur."!cursor_pos"(rx386_pos)
- $P10 = rx386_cur."EXPR"()
- unless $P10, rx386_fail
- rx386_cur."!mark_push"(0, -1, 0, $P10)
+ rx363_cur."!cursor_pos"(rx363_pos)
+ $P10 = rx363_cur."EXPR"()
+ unless $P10, rx363_fail
+ rx363_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("cond")
- rx386_pos = $P10."pos"()
+ rx363_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx386_cur."!cursor_pos"(rx386_pos)
- $P10 = rx386_cur."ws"()
- unless $P10, rx386_fail
- rx386_pos = $P10."pos"()
+ rx363_cur."!cursor_pos"(rx363_pos)
+ $P10 = rx363_cur."ws"()
+ unless $P10, rx363_fail
+ rx363_pos = $P10."pos"()
# rx pass
- rx386_cur."!cursor_pass"(rx386_pos, "statement_mod_cond:sym<if>")
- rx386_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym<if>", " at pos=", rx386_pos)
- .return (rx386_cur)
- rx386_fail:
+ rx363_cur."!cursor_pass"(rx363_pos, "statement_mod_cond:sym<if>")
+ rx363_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym<if>", " at pos=", rx363_pos)
+ .return (rx363_cur)
+ rx363_restart:
.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
+ rx363_cur."!cursor_debug"("NEXT ", "statement_mod_cond:sym<if>")
+ rx363_fail:
+ (rx363_rep, rx363_pos, $I10, $P10) = rx363_cur."!mark_fail"(0)
+ lt rx363_pos, -1, rx363_done
+ eq rx363_pos, -1, rx363_fail
jump $I10
- rx386_done:
- rx386_cur."!cursor_fail"()
- rx386_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym<if>")
- .return (rx386_cur)
+ rx363_done:
+ rx363_cur."!cursor_fail"()
+ rx363_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym<if>")
+ .return (rx363_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("88_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("88_1279589170.0083") :method
.annotate 'line', 4
- $P388 = self."!PREFIX__!subrule"("ws", "if")
- new $P389, "ResizablePMCArray"
- push $P389, $P388
- .return ($P389)
+ $P365 = self."!PREFIX__!subrule"("ws", "if")
+ new $P366, "ResizablePMCArray"
+ push $P366, $P365
+ .return ($P366)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>" :subid("89_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_mod_cond:sym<unless>" :subid("89_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<unless>")
- .lex unicode:"$\x{a2}", rx395_cur
+ .local string rx372_tgt
+ .local int rx372_pos
+ .local int rx372_off
+ .local int rx372_eos
+ .local int rx372_rep
+ .local pmc rx372_cur
+ (rx372_cur, rx372_pos, rx372_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx372_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx372_eos, rx372_tgt
+ gt rx372_pos, rx372_eos, rx372_done
+ set rx372_off, 0
+ lt rx372_pos, 2, rx372_start
+ sub rx372_off, rx372_pos, 1
+ substr rx372_tgt, rx372_tgt, rx372_off
+ rx372_start:
+ eq $I10, 1, rx372_restart
+ rx372_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
$I10 = self.'from'()
- ne $I10, -1, rxscan399_done
- goto rxscan399_scan
- rxscan399_loop:
- ($P10) = rx395_cur."from"()
+ ne $I10, -1, rxscan376_done
+ goto rxscan376_scan
+ rxscan376_loop:
+ ($P10) = rx372_cur."from"()
inc $P10
- 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:
+ set rx372_pos, $P10
+ ge rx372_pos, rx372_eos, rxscan376_done
+ rxscan376_scan:
+ set_addr $I10, rxscan376_loop
+ rx372_cur."!mark_push"(0, rx372_pos, $I10)
+ rxscan376_done:
.annotate 'line', 215
# rx subcapture "sym"
- set_addr $I10, rxcap_400_fail
- rx395_cur."!mark_push"(0, rx395_pos, $I10)
+ set_addr $I10, rxcap_377_fail
+ rx372_cur."!mark_push"(0, rx372_pos, $I10)
# rx literal "unless"
- 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)
+ add $I11, rx372_pos, 6
+ gt $I11, rx372_eos, rx372_fail
+ sub $I11, rx372_pos, rx372_off
+ substr $S10, rx372_tgt, $I11, 6
+ ne $S10, "unless", rx372_fail
+ add rx372_pos, 6
+ set_addr $I10, rxcap_377_fail
+ ($I12, $I11) = rx372_cur."!mark_peek"($I10)
+ rx372_cur."!cursor_pos"($I11)
+ ($P10) = rx372_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx372_pos, "")
+ rx372_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_400_done
- rxcap_400_fail:
- goto rx395_fail
- rxcap_400_done:
- # rx subrule "ws" subtype=method negate=
- rx395_cur."!cursor_pos"(rx395_pos)
- $P10 = rx395_cur."ws"()
- unless $P10, rx395_fail
- rx395_pos = $P10."pos"()
+ goto rxcap_377_done
+ rxcap_377_fail:
+ goto rx372_fail
+ rxcap_377_done:
+ # rx subrule "ws" subtype=method negate=
+ rx372_cur."!cursor_pos"(rx372_pos)
+ $P10 = rx372_cur."ws"()
+ unless $P10, rx372_fail
+ rx372_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx395_cur."!cursor_pos"(rx395_pos)
- $P10 = rx395_cur."EXPR"()
- unless $P10, rx395_fail
- rx395_cur."!mark_push"(0, -1, 0, $P10)
+ rx372_cur."!cursor_pos"(rx372_pos)
+ $P10 = rx372_cur."EXPR"()
+ unless $P10, rx372_fail
+ rx372_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("cond")
- rx395_pos = $P10."pos"()
+ rx372_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx395_cur."!cursor_pos"(rx395_pos)
- $P10 = rx395_cur."ws"()
- unless $P10, rx395_fail
- rx395_pos = $P10."pos"()
+ rx372_cur."!cursor_pos"(rx372_pos)
+ $P10 = rx372_cur."ws"()
+ unless $P10, rx372_fail
+ rx372_pos = $P10."pos"()
# rx pass
- rx395_cur."!cursor_pass"(rx395_pos, "statement_mod_cond:sym<unless>")
- rx395_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym<unless>", " at pos=", rx395_pos)
- .return (rx395_cur)
- rx395_fail:
+ rx372_cur."!cursor_pass"(rx372_pos, "statement_mod_cond:sym<unless>")
+ rx372_cur."!cursor_debug"("PASS ", "statement_mod_cond:sym<unless>", " at pos=", rx372_pos)
+ .return (rx372_cur)
+ rx372_restart:
.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
+ rx372_cur."!cursor_debug"("NEXT ", "statement_mod_cond:sym<unless>")
+ rx372_fail:
+ (rx372_rep, rx372_pos, $I10, $P10) = rx372_cur."!mark_fail"(0)
+ lt rx372_pos, -1, rx372_done
+ eq rx372_pos, -1, rx372_fail
jump $I10
- rx395_done:
- rx395_cur."!cursor_fail"()
- rx395_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym<unless>")
- .return (rx395_cur)
+ rx372_done:
+ rx372_cur."!cursor_fail"()
+ rx372_cur."!cursor_debug"("FAIL ", "statement_mod_cond:sym<unless>")
+ .return (rx372_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("90_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("90_1279589170.0083") :method
.annotate 'line', 4
- $P397 = self."!PREFIX__!subrule"("ws", "unless")
- new $P398, "ResizablePMCArray"
- push $P398, $P397
- .return ($P398)
+ $P374 = self."!PREFIX__!subrule"("ws", "unless")
+ new $P375, "ResizablePMCArray"
+ push $P375, $P374
+ .return ($P375)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop" :subid("91_1278500537.15927") :method
+.sub "statement_mod_loop" :subid("91_1279589170.0083") :method
.annotate 'line', 217
- $P404 = self."!protoregex"("statement_mod_loop")
- .return ($P404)
+ $P381 = self."!protoregex"("statement_mod_loop")
+ .return ($P381)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop" :subid("92_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_loop" :subid("92_1279589170.0083") :method
.annotate 'line', 217
- $P406 = self."!PREFIX__!protoregex"("statement_mod_loop")
- .return ($P406)
+ $P383 = self."!PREFIX__!protoregex"("statement_mod_loop")
+ .return ($P383)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>" :subid("93_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_mod_loop:sym<while>" :subid("93_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<while>")
- .lex unicode:"$\x{a2}", rx408_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan412_done
- goto rxscan412_scan
- rxscan412_loop:
- ($P10) = rx408_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx385_cur
+ .local pmc match
+ .lex "$/", match
+ 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:
+ eq $I10, 1, rx385_restart
+ rx385_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan389_done
+ goto rxscan389_scan
+ rxscan389_loop:
+ ($P10) = rx385_cur."from"()
+ inc $P10
+ set rx385_pos, $P10
+ ge rx385_pos, rx385_eos, rxscan389_done
+ rxscan389_scan:
+ set_addr $I10, rxscan389_loop
+ rx385_cur."!mark_push"(0, rx385_pos, $I10)
+ rxscan389_done:
.annotate 'line', 219
# rx subcapture "sym"
- set_addr $I10, rxcap_413_fail
- rx408_cur."!mark_push"(0, rx408_pos, $I10)
+ set_addr $I10, rxcap_390_fail
+ rx385_cur."!mark_push"(0, rx385_pos, $I10)
# rx literal "while"
- 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)
+ add $I11, rx385_pos, 5
+ gt $I11, rx385_eos, rx385_fail
+ sub $I11, rx385_pos, rx385_off
+ substr $S10, rx385_tgt, $I11, 5
+ ne $S10, "while", rx385_fail
+ add rx385_pos, 5
+ set_addr $I10, rxcap_390_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_413_done
- rxcap_413_fail:
- goto rx408_fail
- rxcap_413_done:
- # rx subrule "ws" subtype=method negate=
- rx408_cur."!cursor_pos"(rx408_pos)
- $P10 = rx408_cur."ws"()
- unless $P10, rx408_fail
- rx408_pos = $P10."pos"()
+ goto rxcap_390_done
+ rxcap_390_fail:
+ goto rx385_fail
+ rxcap_390_done:
+ # rx subrule "ws" subtype=method negate=
+ rx385_cur."!cursor_pos"(rx385_pos)
+ $P10 = rx385_cur."ws"()
+ unless $P10, rx385_fail
+ rx385_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx408_cur."!cursor_pos"(rx408_pos)
- $P10 = rx408_cur."EXPR"()
- unless $P10, rx408_fail
- rx408_cur."!mark_push"(0, -1, 0, $P10)
+ rx385_cur."!cursor_pos"(rx385_pos)
+ $P10 = rx385_cur."EXPR"()
+ unless $P10, rx385_fail
+ rx385_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("cond")
- rx408_pos = $P10."pos"()
+ rx385_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx408_cur."!cursor_pos"(rx408_pos)
- $P10 = rx408_cur."ws"()
- unless $P10, rx408_fail
- rx408_pos = $P10."pos"()
+ rx385_cur."!cursor_pos"(rx385_pos)
+ $P10 = rx385_cur."ws"()
+ unless $P10, rx385_fail
+ rx385_pos = $P10."pos"()
# rx pass
- rx408_cur."!cursor_pass"(rx408_pos, "statement_mod_loop:sym<while>")
- rx408_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<while>", " at pos=", rx408_pos)
- .return (rx408_cur)
- rx408_fail:
+ rx385_cur."!cursor_pass"(rx385_pos, "statement_mod_loop:sym<while>")
+ rx385_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<while>", " at pos=", rx385_pos)
+ .return (rx385_cur)
+ rx385_restart:
.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
+ rx385_cur."!cursor_debug"("NEXT ", "statement_mod_loop:sym<while>")
+ rx385_fail:
+ (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
- rx408_done:
- rx408_cur."!cursor_fail"()
- rx408_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<while>")
- .return (rx408_cur)
+ rx385_done:
+ rx385_cur."!cursor_fail"()
+ rx385_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<while>")
+ .return (rx385_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("94_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("94_1279589170.0083") :method
.annotate 'line', 4
- $P410 = self."!PREFIX__!subrule"("ws", "while")
- new $P411, "ResizablePMCArray"
- push $P411, $P410
- .return ($P411)
+ $P387 = self."!PREFIX__!subrule"("ws", "while")
+ new $P388, "ResizablePMCArray"
+ push $P388, $P387
+ .return ($P388)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>" :subid("95_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_mod_loop:sym<until>" :subid("95_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx417_tgt
- .local int rx417_pos
- .local int rx417_off
- .local int rx417_eos
- .local int rx417_rep
- .local pmc rx417_cur
- (rx417_cur, rx417_pos, rx417_tgt) = self."!cursor_start"()
- rx417_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
- .lex unicode:"$\x{a2}", rx417_cur
+ .local string rx394_tgt
+ .local int rx394_pos
+ .local int rx394_off
+ .local int rx394_eos
+ .local int rx394_rep
+ .local pmc rx394_cur
+ (rx394_cur, rx394_pos, rx394_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx394_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx394_eos, rx394_tgt
+ gt rx394_pos, rx394_eos, rx394_done
+ set rx394_off, 0
+ lt rx394_pos, 2, rx394_start
+ sub rx394_off, rx394_pos, 1
+ substr rx394_tgt, rx394_tgt, rx394_off
+ rx394_start:
+ eq $I10, 1, rx394_restart
+ rx394_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
$I10 = self.'from'()
- ne $I10, -1, rxscan421_done
- goto rxscan421_scan
- rxscan421_loop:
- ($P10) = rx417_cur."from"()
+ ne $I10, -1, rxscan398_done
+ goto rxscan398_scan
+ rxscan398_loop:
+ ($P10) = rx394_cur."from"()
inc $P10
- set rx417_pos, $P10
- ge rx417_pos, rx417_eos, rxscan421_done
- rxscan421_scan:
- set_addr $I10, rxscan421_loop
- rx417_cur."!mark_push"(0, rx417_pos, $I10)
- rxscan421_done:
+ set rx394_pos, $P10
+ ge rx394_pos, rx394_eos, rxscan398_done
+ rxscan398_scan:
+ set_addr $I10, rxscan398_loop
+ rx394_cur."!mark_push"(0, rx394_pos, $I10)
+ rxscan398_done:
.annotate 'line', 220
# rx subcapture "sym"
- set_addr $I10, rxcap_422_fail
- rx417_cur."!mark_push"(0, rx417_pos, $I10)
+ set_addr $I10, rxcap_399_fail
+ rx394_cur."!mark_push"(0, rx394_pos, $I10)
# rx literal "until"
- 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)
+ add $I11, rx394_pos, 5
+ gt $I11, rx394_eos, rx394_fail
+ sub $I11, rx394_pos, rx394_off
+ substr $S10, rx394_tgt, $I11, 5
+ ne $S10, "until", rx394_fail
+ add rx394_pos, 5
+ set_addr $I10, rxcap_399_fail
+ ($I12, $I11) = rx394_cur."!mark_peek"($I10)
+ rx394_cur."!cursor_pos"($I11)
+ ($P10) = rx394_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx394_pos, "")
+ rx394_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_422_done
- rxcap_422_fail:
- goto rx417_fail
- rxcap_422_done:
- # rx subrule "ws" subtype=method negate=
- rx417_cur."!cursor_pos"(rx417_pos)
- $P10 = rx417_cur."ws"()
- unless $P10, rx417_fail
- rx417_pos = $P10."pos"()
+ goto rxcap_399_done
+ rxcap_399_fail:
+ goto rx394_fail
+ rxcap_399_done:
+ # rx subrule "ws" subtype=method negate=
+ rx394_cur."!cursor_pos"(rx394_pos)
+ $P10 = rx394_cur."ws"()
+ unless $P10, rx394_fail
+ rx394_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx417_cur."!cursor_pos"(rx417_pos)
- $P10 = rx417_cur."EXPR"()
- unless $P10, rx417_fail
- rx417_cur."!mark_push"(0, -1, 0, $P10)
+ rx394_cur."!cursor_pos"(rx394_pos)
+ $P10 = rx394_cur."EXPR"()
+ unless $P10, rx394_fail
+ rx394_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("cond")
- rx417_pos = $P10."pos"()
+ rx394_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx417_cur."!cursor_pos"(rx417_pos)
- $P10 = rx417_cur."ws"()
- unless $P10, rx417_fail
- rx417_pos = $P10."pos"()
+ rx394_cur."!cursor_pos"(rx394_pos)
+ $P10 = rx394_cur."ws"()
+ unless $P10, rx394_fail
+ rx394_pos = $P10."pos"()
# rx pass
- rx417_cur."!cursor_pass"(rx417_pos, "statement_mod_loop:sym<until>")
- rx417_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<until>", " at pos=", rx417_pos)
- .return (rx417_cur)
- rx417_fail:
+ rx394_cur."!cursor_pass"(rx394_pos, "statement_mod_loop:sym<until>")
+ rx394_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<until>", " at pos=", rx394_pos)
+ .return (rx394_cur)
+ rx394_restart:
.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
+ rx394_cur."!cursor_debug"("NEXT ", "statement_mod_loop:sym<until>")
+ rx394_fail:
+ (rx394_rep, rx394_pos, $I10, $P10) = rx394_cur."!mark_fail"(0)
+ lt rx394_pos, -1, rx394_done
+ eq rx394_pos, -1, rx394_fail
jump $I10
- rx417_done:
- rx417_cur."!cursor_fail"()
- rx417_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<until>")
- .return (rx417_cur)
+ rx394_done:
+ rx394_cur."!cursor_fail"()
+ rx394_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<until>")
+ .return (rx394_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("96_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("96_1279589170.0083") :method
.annotate 'line', 4
- $P419 = self."!PREFIX__!subrule"("ws", "until")
- new $P420, "ResizablePMCArray"
- push $P420, $P419
- .return ($P420)
+ $P396 = self."!PREFIX__!subrule"("ws", "until")
+ new $P397, "ResizablePMCArray"
+ push $P397, $P396
+ .return ($P397)
.end
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<for>" :subid("97_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "statement_mod_loop:sym<for>" :subid("97_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<for>")
- .lex unicode:"$\x{a2}", rx426_cur
+ .local string rx403_tgt
+ .local int rx403_pos
+ .local int rx403_off
+ .local int rx403_eos
+ .local int rx403_rep
+ .local pmc rx403_cur
+ (rx403_cur, rx403_pos, rx403_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx403_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx403_eos, rx403_tgt
+ gt rx403_pos, rx403_eos, rx403_done
+ set rx403_off, 0
+ lt rx403_pos, 2, rx403_start
+ sub rx403_off, rx403_pos, 1
+ substr rx403_tgt, rx403_tgt, rx403_off
+ rx403_start:
+ eq $I10, 1, rx403_restart
+ rx403_cur."!cursor_debug"("START ", "statement_mod_loop:sym<for>")
$I10 = self.'from'()
- ne $I10, -1, rxscan430_done
- goto rxscan430_scan
- rxscan430_loop:
- ($P10) = rx426_cur."from"()
+ ne $I10, -1, rxscan407_done
+ goto rxscan407_scan
+ rxscan407_loop:
+ ($P10) = rx403_cur."from"()
inc $P10
- 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:
+ set rx403_pos, $P10
+ ge rx403_pos, rx403_eos, rxscan407_done
+ rxscan407_scan:
+ set_addr $I10, rxscan407_loop
+ rx403_cur."!mark_push"(0, rx403_pos, $I10)
+ rxscan407_done:
.annotate 'line', 221
# rx subcapture "sym"
- set_addr $I10, rxcap_431_fail
- rx426_cur."!mark_push"(0, rx426_pos, $I10)
+ set_addr $I10, rxcap_408_fail
+ rx403_cur."!mark_push"(0, rx403_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)
+ add $I11, rx403_pos, 3
+ gt $I11, rx403_eos, rx403_fail
+ sub $I11, rx403_pos, rx403_off
+ substr $S10, rx403_tgt, $I11, 3
+ ne $S10, "for", rx403_fail
+ add rx403_pos, 3
+ set_addr $I10, rxcap_408_fail
+ ($I12, $I11) = rx403_cur."!mark_peek"($I10)
+ rx403_cur."!cursor_pos"($I11)
+ ($P10) = rx403_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx403_pos, "")
+ rx403_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("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"()
+ goto rxcap_408_done
+ rxcap_408_fail:
+ goto rx403_fail
+ rxcap_408_done:
+ # rx subrule "ws" subtype=method negate=
+ rx403_cur."!cursor_pos"(rx403_pos)
+ $P10 = rx403_cur."ws"()
+ unless $P10, rx403_fail
+ rx403_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx426_cur."!cursor_pos"(rx426_pos)
- $P10 = rx426_cur."EXPR"()
- unless $P10, rx426_fail
- rx426_cur."!mark_push"(0, -1, 0, $P10)
+ rx403_cur."!cursor_pos"(rx403_pos)
+ $P10 = rx403_cur."EXPR"()
+ unless $P10, rx403_fail
+ rx403_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("cond")
- rx426_pos = $P10."pos"()
+ rx403_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"()
+ rx403_cur."!cursor_pos"(rx403_pos)
+ $P10 = rx403_cur."ws"()
+ unless $P10, rx403_fail
+ rx403_pos = $P10."pos"()
# rx pass
- rx426_cur."!cursor_pass"(rx426_pos, "statement_mod_loop:sym<for>")
- rx426_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<for>", " at pos=", rx426_pos)
- .return (rx426_cur)
- rx426_fail:
+ rx403_cur."!cursor_pass"(rx403_pos, "statement_mod_loop:sym<for>")
+ rx403_cur."!cursor_debug"("PASS ", "statement_mod_loop:sym<for>", " at pos=", rx403_pos)
+ .return (rx403_cur)
+ rx403_restart:
.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
+ rx403_cur."!cursor_debug"("NEXT ", "statement_mod_loop:sym<for>")
+ rx403_fail:
+ (rx403_rep, rx403_pos, $I10, $P10) = rx403_cur."!mark_fail"(0)
+ lt rx403_pos, -1, rx403_done
+ eq rx403_pos, -1, rx403_fail
jump $I10
- rx426_done:
- rx426_cur."!cursor_fail"()
- rx426_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<for>")
- .return (rx426_cur)
+ rx403_done:
+ rx403_cur."!cursor_fail"()
+ rx403_cur."!cursor_debug"("FAIL ", "statement_mod_loop:sym<for>")
+ .return (rx403_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<for>" :subid("98_1278500537.15927") :method
+.sub "!PREFIX__statement_mod_loop:sym<for>" :subid("98_1279589170.0083") :method
.annotate 'line', 4
- $P428 = self."!PREFIX__!subrule"("ws", "for")
- new $P429, "ResizablePMCArray"
- push $P429, $P428
- .return ($P429)
+ $P405 = self."!PREFIX__!subrule"("ws", "for")
+ new $P406, "ResizablePMCArray"
+ push $P406, $P405
+ .return ($P406)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>" :subid("99_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<fatarrow>" :subid("99_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx435_tgt
- .local int rx435_pos
- .local int rx435_off
- .local int rx435_eos
- .local int rx435_rep
- .local pmc rx435_cur
- (rx435_cur, rx435_pos, rx435_tgt) = self."!cursor_start"()
- rx435_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
- .lex unicode:"$\x{a2}", rx435_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan439_done
- goto rxscan439_scan
- rxscan439_loop:
- ($P10) = rx435_cur."from"()
- inc $P10
- set rx435_pos, $P10
- ge rx435_pos, rx435_eos, rxscan439_done
- rxscan439_scan:
- set_addr $I10, rxscan439_loop
- rx435_cur."!mark_push"(0, rx435_pos, $I10)
- rxscan439_done:
+ .local string rx412_tgt
+ .local int rx412_pos
+ .local int rx412_off
+ .local int rx412_eos
+ .local int rx412_rep
+ .local pmc rx412_cur
+ (rx412_cur, rx412_pos, rx412_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx412_cur
+ .local pmc match
+ .lex "$/", match
+ length rx412_eos, rx412_tgt
+ gt rx412_pos, rx412_eos, rx412_done
+ set rx412_off, 0
+ lt rx412_pos, 2, rx412_start
+ sub rx412_off, rx412_pos, 1
+ substr rx412_tgt, rx412_tgt, rx412_off
+ rx412_start:
+ eq $I10, 1, rx412_restart
+ rx412_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan416_done
+ goto rxscan416_scan
+ rxscan416_loop:
+ ($P10) = rx412_cur."from"()
+ inc $P10
+ set rx412_pos, $P10
+ ge rx412_pos, rx412_eos, rxscan416_done
+ rxscan416_scan:
+ set_addr $I10, rxscan416_loop
+ rx412_cur."!mark_push"(0, rx412_pos, $I10)
+ rxscan416_done:
.annotate 'line', 225
# 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)
+ rx412_cur."!cursor_pos"(rx412_pos)
+ $P10 = rx412_cur."fatarrow"()
+ unless $P10, rx412_fail
+ rx412_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("fatarrow")
- rx435_pos = $P10."pos"()
+ rx412_pos = $P10."pos"()
# rx pass
- rx435_cur."!cursor_pass"(rx435_pos, "term:sym<fatarrow>")
- rx435_cur."!cursor_debug"("PASS ", "term:sym<fatarrow>", " at pos=", rx435_pos)
- .return (rx435_cur)
- rx435_fail:
+ rx412_cur."!cursor_pass"(rx412_pos, "term:sym<fatarrow>")
+ rx412_cur."!cursor_debug"("PASS ", "term:sym<fatarrow>", " at pos=", rx412_pos)
+ .return (rx412_cur)
+ rx412_restart:
.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
+ rx412_cur."!cursor_debug"("NEXT ", "term:sym<fatarrow>")
+ rx412_fail:
+ (rx412_rep, rx412_pos, $I10, $P10) = rx412_cur."!mark_fail"(0)
+ lt rx412_pos, -1, rx412_done
+ eq rx412_pos, -1, rx412_fail
jump $I10
- rx435_done:
- rx435_cur."!cursor_fail"()
- rx435_cur."!cursor_debug"("FAIL ", "term:sym<fatarrow>")
- .return (rx435_cur)
+ rx412_done:
+ rx412_cur."!cursor_fail"()
+ rx412_cur."!cursor_debug"("FAIL ", "term:sym<fatarrow>")
+ .return (rx412_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>" :subid("100_1278500537.15927") :method
+.sub "!PREFIX__term:sym<fatarrow>" :subid("100_1279589170.0083") :method
.annotate 'line', 4
- $P437 = self."!PREFIX__!subrule"("fatarrow", "")
- new $P438, "ResizablePMCArray"
- push $P438, $P437
- .return ($P438)
+ $P414 = self."!PREFIX__!subrule"("fatarrow", "")
+ new $P415, "ResizablePMCArray"
+ push $P415, $P414
+ .return ($P415)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>" :subid("101_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<colonpair>" :subid("101_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx441_tgt
- .local int rx441_pos
- .local int rx441_off
- .local int rx441_eos
- .local int rx441_rep
- .local pmc rx441_cur
- (rx441_cur, rx441_pos, rx441_tgt) = self."!cursor_start"()
- rx441_cur."!cursor_debug"("START ", "term:sym<colonpair>")
- .lex unicode:"$\x{a2}", rx441_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan445_done
- goto rxscan445_scan
- rxscan445_loop:
- ($P10) = rx441_cur."from"()
- inc $P10
- set rx441_pos, $P10
- ge rx441_pos, rx441_eos, rxscan445_done
- rxscan445_scan:
- set_addr $I10, rxscan445_loop
- rx441_cur."!mark_push"(0, rx441_pos, $I10)
- rxscan445_done:
+ .local string rx418_tgt
+ .local int rx418_pos
+ .local int rx418_off
+ .local int rx418_eos
+ .local int rx418_rep
+ .local pmc rx418_cur
+ (rx418_cur, rx418_pos, rx418_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx418_cur
+ .local pmc match
+ .lex "$/", match
+ length rx418_eos, rx418_tgt
+ gt rx418_pos, rx418_eos, rx418_done
+ set rx418_off, 0
+ lt rx418_pos, 2, rx418_start
+ sub rx418_off, rx418_pos, 1
+ substr rx418_tgt, rx418_tgt, rx418_off
+ rx418_start:
+ eq $I10, 1, rx418_restart
+ rx418_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan422_done
+ goto rxscan422_scan
+ rxscan422_loop:
+ ($P10) = rx418_cur."from"()
+ inc $P10
+ set rx418_pos, $P10
+ ge rx418_pos, rx418_eos, rxscan422_done
+ rxscan422_scan:
+ set_addr $I10, rxscan422_loop
+ rx418_cur."!mark_push"(0, rx418_pos, $I10)
+ rxscan422_done:
.annotate 'line', 226
# 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)
+ rx418_cur."!cursor_pos"(rx418_pos)
+ $P10 = rx418_cur."colonpair"()
+ unless $P10, rx418_fail
+ rx418_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("colonpair")
- rx441_pos = $P10."pos"()
+ rx418_pos = $P10."pos"()
# rx pass
- rx441_cur."!cursor_pass"(rx441_pos, "term:sym<colonpair>")
- rx441_cur."!cursor_debug"("PASS ", "term:sym<colonpair>", " at pos=", rx441_pos)
- .return (rx441_cur)
- rx441_fail:
+ rx418_cur."!cursor_pass"(rx418_pos, "term:sym<colonpair>")
+ rx418_cur."!cursor_debug"("PASS ", "term:sym<colonpair>", " at pos=", rx418_pos)
+ .return (rx418_cur)
+ rx418_restart:
.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
+ rx418_cur."!cursor_debug"("NEXT ", "term:sym<colonpair>")
+ rx418_fail:
+ (rx418_rep, rx418_pos, $I10, $P10) = rx418_cur."!mark_fail"(0)
+ lt rx418_pos, -1, rx418_done
+ eq rx418_pos, -1, rx418_fail
jump $I10
- rx441_done:
- rx441_cur."!cursor_fail"()
- rx441_cur."!cursor_debug"("FAIL ", "term:sym<colonpair>")
- .return (rx441_cur)
+ rx418_done:
+ rx418_cur."!cursor_fail"()
+ rx418_cur."!cursor_debug"("FAIL ", "term:sym<colonpair>")
+ .return (rx418_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>" :subid("102_1278500537.15927") :method
+.sub "!PREFIX__term:sym<colonpair>" :subid("102_1279589170.0083") :method
.annotate 'line', 4
- $P443 = self."!PREFIX__!subrule"("colonpair", "")
- new $P444, "ResizablePMCArray"
- push $P444, $P443
- .return ($P444)
+ $P420 = self."!PREFIX__!subrule"("colonpair", "")
+ new $P421, "ResizablePMCArray"
+ push $P421, $P420
+ .return ($P421)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>" :subid("103_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<variable>" :subid("103_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx447_tgt
- .local int rx447_pos
- .local int rx447_off
- .local int rx447_eos
- .local int rx447_rep
- .local pmc rx447_cur
- (rx447_cur, rx447_pos, rx447_tgt) = self."!cursor_start"()
- rx447_cur."!cursor_debug"("START ", "term:sym<variable>")
- .lex unicode:"$\x{a2}", rx447_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx424_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx424_restart
+ rx424_cur."!cursor_debug"("START ", "term:sym<variable>")
$I10 = self.'from'()
- ne $I10, -1, rxscan451_done
- goto rxscan451_scan
- rxscan451_loop:
- ($P10) = rx447_cur."from"()
+ ne $I10, -1, rxscan428_done
+ goto rxscan428_scan
+ rxscan428_loop:
+ ($P10) = rx424_cur."from"()
inc $P10
- set rx447_pos, $P10
- ge rx447_pos, rx447_eos, rxscan451_done
- rxscan451_scan:
- set_addr $I10, rxscan451_loop
- rx447_cur."!mark_push"(0, rx447_pos, $I10)
- rxscan451_done:
+ 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', 227
# 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)
+ rx424_cur."!cursor_pos"(rx424_pos)
+ $P10 = rx424_cur."variable"()
+ unless $P10, rx424_fail
+ rx424_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("variable")
- rx447_pos = $P10."pos"()
+ rx424_pos = $P10."pos"()
# rx pass
- rx447_cur."!cursor_pass"(rx447_pos, "term:sym<variable>")
- rx447_cur."!cursor_debug"("PASS ", "term:sym<variable>", " at pos=", rx447_pos)
- .return (rx447_cur)
- rx447_fail:
+ rx424_cur."!cursor_pass"(rx424_pos, "term:sym<variable>")
+ rx424_cur."!cursor_debug"("PASS ", "term:sym<variable>", " at pos=", rx424_pos)
+ .return (rx424_cur)
+ rx424_restart:
.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
+ rx424_cur."!cursor_debug"("NEXT ", "term:sym<variable>")
+ rx424_fail:
+ (rx424_rep, rx424_pos, $I10, $P10) = rx424_cur."!mark_fail"(0)
+ lt rx424_pos, -1, rx424_done
+ eq rx424_pos, -1, rx424_fail
jump $I10
- rx447_done:
- rx447_cur."!cursor_fail"()
- rx447_cur."!cursor_debug"("FAIL ", "term:sym<variable>")
- .return (rx447_cur)
+ rx424_done:
+ rx424_cur."!cursor_fail"()
+ rx424_cur."!cursor_debug"("FAIL ", "term:sym<variable>")
+ .return (rx424_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>" :subid("104_1278500537.15927") :method
+.sub "!PREFIX__term:sym<variable>" :subid("104_1279589170.0083") :method
.annotate 'line', 4
- $P449 = self."!PREFIX__!subrule"("variable", "")
- new $P450, "ResizablePMCArray"
- push $P450, $P449
- .return ($P450)
+ $P426 = self."!PREFIX__!subrule"("variable", "")
+ new $P427, "ResizablePMCArray"
+ push $P427, $P426
+ .return ($P427)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>" :subid("105_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<package_declarator>" :subid("105_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx453_tgt
- .local int rx453_pos
- .local int rx453_off
- .local int rx453_eos
- .local int rx453_rep
- .local pmc rx453_cur
- (rx453_cur, rx453_pos, rx453_tgt) = self."!cursor_start"()
- rx453_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
- .lex unicode:"$\x{a2}", rx453_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan457_done
- goto rxscan457_scan
- rxscan457_loop:
- ($P10) = rx453_cur."from"()
- inc $P10
- set rx453_pos, $P10
- ge rx453_pos, rx453_eos, rxscan457_done
- rxscan457_scan:
- set_addr $I10, rxscan457_loop
- rx453_cur."!mark_push"(0, rx453_pos, $I10)
- rxscan457_done:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx430_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:
+ eq $I10, 1, rx430_restart
+ rx430_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan434_done
+ goto rxscan434_scan
+ rxscan434_loop:
+ ($P10) = rx430_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:
.annotate 'line', 228
# 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)
+ rx430_cur."!cursor_pos"(rx430_pos)
+ $P10 = rx430_cur."package_declarator"()
+ unless $P10, rx430_fail
+ rx430_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("package_declarator")
- rx453_pos = $P10."pos"()
+ rx430_pos = $P10."pos"()
# rx pass
- rx453_cur."!cursor_pass"(rx453_pos, "term:sym<package_declarator>")
- rx453_cur."!cursor_debug"("PASS ", "term:sym<package_declarator>", " at pos=", rx453_pos)
- .return (rx453_cur)
- rx453_fail:
+ rx430_cur."!cursor_pass"(rx430_pos, "term:sym<package_declarator>")
+ rx430_cur."!cursor_debug"("PASS ", "term:sym<package_declarator>", " at pos=", rx430_pos)
+ .return (rx430_cur)
+ rx430_restart:
.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
+ rx430_cur."!cursor_debug"("NEXT ", "term:sym<package_declarator>")
+ rx430_fail:
+ (rx430_rep, rx430_pos, $I10, $P10) = rx430_cur."!mark_fail"(0)
+ lt rx430_pos, -1, rx430_done
+ eq rx430_pos, -1, rx430_fail
jump $I10
- rx453_done:
- rx453_cur."!cursor_fail"()
- rx453_cur."!cursor_debug"("FAIL ", "term:sym<package_declarator>")
- .return (rx453_cur)
+ rx430_done:
+ rx430_cur."!cursor_fail"()
+ rx430_cur."!cursor_debug"("FAIL ", "term:sym<package_declarator>")
+ .return (rx430_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>" :subid("106_1278500537.15927") :method
+.sub "!PREFIX__term:sym<package_declarator>" :subid("106_1279589170.0083") :method
.annotate 'line', 4
- $P455 = self."!PREFIX__!subrule"("package_declarator", "")
- new $P456, "ResizablePMCArray"
- push $P456, $P455
- .return ($P456)
+ $P432 = self."!PREFIX__!subrule"("package_declarator", "")
+ new $P433, "ResizablePMCArray"
+ push $P433, $P432
+ .return ($P433)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>" :subid("107_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<scope_declarator>" :subid("107_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx459_tgt
- .local int rx459_pos
- .local int rx459_off
- .local int rx459_eos
- .local int rx459_rep
- .local pmc rx459_cur
- (rx459_cur, rx459_pos, rx459_tgt) = self."!cursor_start"()
- rx459_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
- .lex unicode:"$\x{a2}", rx459_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx436_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx436_restart
+ rx436_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
$I10 = self.'from'()
- ne $I10, -1, rxscan463_done
- goto rxscan463_scan
- rxscan463_loop:
- ($P10) = rx459_cur."from"()
+ ne $I10, -1, rxscan440_done
+ goto rxscan440_scan
+ rxscan440_loop:
+ ($P10) = rx436_cur."from"()
inc $P10
- set rx459_pos, $P10
- ge rx459_pos, rx459_eos, rxscan463_done
- rxscan463_scan:
- set_addr $I10, rxscan463_loop
- rx459_cur."!mark_push"(0, rx459_pos, $I10)
- rxscan463_done:
+ 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:
.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)
+ rx436_cur."!cursor_pos"(rx436_pos)
+ $P10 = rx436_cur."scope_declarator"()
+ unless $P10, rx436_fail
+ rx436_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("scope_declarator")
- rx459_pos = $P10."pos"()
+ rx436_pos = $P10."pos"()
# rx pass
- rx459_cur."!cursor_pass"(rx459_pos, "term:sym<scope_declarator>")
- rx459_cur."!cursor_debug"("PASS ", "term:sym<scope_declarator>", " at pos=", rx459_pos)
- .return (rx459_cur)
- rx459_fail:
+ rx436_cur."!cursor_pass"(rx436_pos, "term:sym<scope_declarator>")
+ rx436_cur."!cursor_debug"("PASS ", "term:sym<scope_declarator>", " at pos=", rx436_pos)
+ .return (rx436_cur)
+ rx436_restart:
.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
+ rx436_cur."!cursor_debug"("NEXT ", "term:sym<scope_declarator>")
+ rx436_fail:
+ (rx436_rep, rx436_pos, $I10, $P10) = rx436_cur."!mark_fail"(0)
+ lt rx436_pos, -1, rx436_done
+ eq rx436_pos, -1, rx436_fail
jump $I10
- rx459_done:
- rx459_cur."!cursor_fail"()
- rx459_cur."!cursor_debug"("FAIL ", "term:sym<scope_declarator>")
- .return (rx459_cur)
+ rx436_done:
+ rx436_cur."!cursor_fail"()
+ rx436_cur."!cursor_debug"("FAIL ", "term:sym<scope_declarator>")
+ .return (rx436_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>" :subid("108_1278500537.15927") :method
+.sub "!PREFIX__term:sym<scope_declarator>" :subid("108_1279589170.0083") :method
.annotate 'line', 4
- $P461 = self."!PREFIX__!subrule"("scope_declarator", "")
- new $P462, "ResizablePMCArray"
- push $P462, $P461
- .return ($P462)
+ $P438 = self."!PREFIX__!subrule"("scope_declarator", "")
+ new $P439, "ResizablePMCArray"
+ push $P439, $P438
+ .return ($P439)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>" :subid("109_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<routine_declarator>" :subid("109_1279589170.0083") :method :outer("11_1279589170.0083")
.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<routine_declarator>")
- .lex unicode:"$\x{a2}", rx465_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan469_done
- goto rxscan469_scan
- rxscan469_loop:
- ($P10) = rx465_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx442_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:
+ eq $I10, 1, rx442_restart
+ rx442_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan446_done
+ goto rxscan446_scan
+ rxscan446_loop:
+ ($P10) = rx442_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:
.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)
+ rx442_cur."!cursor_pos"(rx442_pos)
+ $P10 = rx442_cur."routine_declarator"()
+ unless $P10, rx442_fail
+ rx442_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("routine_declarator")
- rx465_pos = $P10."pos"()
+ rx442_pos = $P10."pos"()
# rx pass
- rx465_cur."!cursor_pass"(rx465_pos, "term:sym<routine_declarator>")
- rx465_cur."!cursor_debug"("PASS ", "term:sym<routine_declarator>", " at pos=", rx465_pos)
- .return (rx465_cur)
- rx465_fail:
+ rx442_cur."!cursor_pass"(rx442_pos, "term:sym<routine_declarator>")
+ rx442_cur."!cursor_debug"("PASS ", "term:sym<routine_declarator>", " at pos=", rx442_pos)
+ .return (rx442_cur)
+ rx442_restart:
.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
+ rx442_cur."!cursor_debug"("NEXT ", "term:sym<routine_declarator>")
+ rx442_fail:
+ (rx442_rep, rx442_pos, $I10, $P10) = rx442_cur."!mark_fail"(0)
+ lt rx442_pos, -1, rx442_done
+ eq rx442_pos, -1, rx442_fail
jump $I10
- rx465_done:
- rx465_cur."!cursor_fail"()
- rx465_cur."!cursor_debug"("FAIL ", "term:sym<routine_declarator>")
- .return (rx465_cur)
+ rx442_done:
+ rx442_cur."!cursor_fail"()
+ rx442_cur."!cursor_debug"("FAIL ", "term:sym<routine_declarator>")
+ .return (rx442_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>" :subid("110_1278500537.15927") :method
+.sub "!PREFIX__term:sym<routine_declarator>" :subid("110_1279589170.0083") :method
.annotate 'line', 4
- $P467 = self."!PREFIX__!subrule"("routine_declarator", "")
- new $P468, "ResizablePMCArray"
- push $P468, $P467
- .return ($P468)
+ $P444 = self."!PREFIX__!subrule"("routine_declarator", "")
+ new $P445, "ResizablePMCArray"
+ push $P445, $P444
+ .return ($P445)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<multi_declarator>" :subid("111_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<multi_declarator>" :subid("111_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<multi_declarator>")
- .lex unicode:"$\x{a2}", rx471_cur
+ .const 'Sub' $P453 = "113_1279589170.0083"
+ capture_lex $P453
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx448_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx448_restart
+ rx448_cur."!cursor_debug"("START ", "term:sym<multi_declarator>")
$I10 = self.'from'()
- ne $I10, -1, rxscan474_done
- goto rxscan474_scan
- rxscan474_loop:
- ($P10) = rx471_cur."from"()
+ ne $I10, -1, rxscan451_done
+ goto rxscan451_scan
+ rxscan451_loop:
+ ($P10) = rx448_cur."from"()
inc $P10
- set rx471_pos, $P10
- ge rx471_pos, rx471_eos, rxscan474_done
- rxscan474_scan:
- set_addr $I10, rxscan474_loop
- rx471_cur."!mark_push"(0, rx471_pos, $I10)
- rxscan474_done:
+ set rx448_pos, $P10
+ ge rx448_pos, rx448_eos, rxscan451_done
+ rxscan451_scan:
+ set_addr $I10, rxscan451_loop
+ rx448_cur."!mark_push"(0, rx448_pos, $I10)
+ rxscan451_done:
.annotate 'line', 231
# 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
+ rx448_cur."!cursor_pos"(rx448_pos)
+ .const 'Sub' $P453 = "113_1279589170.0083"
+ capture_lex $P453
+ $P10 = rx448_cur."before"($P453)
+ unless $P10, rx448_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)
+ rx448_cur."!cursor_pos"(rx448_pos)
+ $P10 = rx448_cur."multi_declarator"()
+ unless $P10, rx448_fail
+ rx448_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("multi_declarator")
- rx471_pos = $P10."pos"()
+ rx448_pos = $P10."pos"()
# rx pass
- rx471_cur."!cursor_pass"(rx471_pos, "term:sym<multi_declarator>")
- rx471_cur."!cursor_debug"("PASS ", "term:sym<multi_declarator>", " at pos=", rx471_pos)
- .return (rx471_cur)
- rx471_fail:
+ rx448_cur."!cursor_pass"(rx448_pos, "term:sym<multi_declarator>")
+ rx448_cur."!cursor_debug"("PASS ", "term:sym<multi_declarator>", " at pos=", rx448_pos)
+ .return (rx448_cur)
+ rx448_restart:
.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
+ rx448_cur."!cursor_debug"("NEXT ", "term:sym<multi_declarator>")
+ rx448_fail:
+ (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
- rx471_done:
- rx471_cur."!cursor_fail"()
- rx471_cur."!cursor_debug"("FAIL ", "term:sym<multi_declarator>")
- .return (rx471_cur)
+ rx448_done:
+ rx448_cur."!cursor_fail"()
+ rx448_cur."!cursor_debug"("FAIL ", "term:sym<multi_declarator>")
+ .return (rx448_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<multi_declarator>" :subid("112_1278500537.15927") :method
+.sub "!PREFIX__term:sym<multi_declarator>" :subid("112_1279589170.0083") :method
.annotate 'line', 4
- new $P473, "ResizablePMCArray"
- push $P473, ""
- .return ($P473)
+ new $P450, "ResizablePMCArray"
+ push $P450, ""
+ .return ($P450)
.end
.namespace ["NQP";"Grammar"]
-.sub "_block475" :anon :subid("113_1278500537.15927") :method :outer("111_1278500537.15927")
+.sub "_block452" :anon :subid("113_1279589170.0083") :method :outer("111_1279589170.0083")
.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 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, rxscan478_done
- goto rxscan478_scan
- rxscan478_loop:
- ($P10) = rx477_cur."from"()
- inc $P10
- 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)
+ .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, $I10) = self."!cursor_start"()
+ .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:
+ eq $I10, 1, rx454_restart
+ rx454_cur."!cursor_debug"("START ", "")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan455_done
+ goto rxscan455_scan
+ rxscan455_loop:
+ ($P10) = rx454_cur."from"()
+ inc $P10
+ set rx454_pos, $P10
+ ge rx454_pos, rx454_eos, rxscan455_done
+ rxscan455_scan:
+ set_addr $I10, rxscan455_loop
+ rx454_cur."!mark_push"(0, rx454_pos, $I10)
+ rxscan455_done:
+ alt456_0:
+ set_addr $I10, alt456_1
+ rx454_cur."!mark_push"(0, rx454_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)
+ add $I11, rx454_pos, 5
+ gt $I11, rx454_eos, rx454_fail
+ sub $I11, rx454_pos, rx454_off
+ substr $S10, rx454_tgt, $I11, 5
+ ne $S10, "multi", rx454_fail
+ add rx454_pos, 5
+ goto alt456_end
+ alt456_1:
+ set_addr $I10, alt456_2
+ rx454_cur."!mark_push"(0, rx454_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:
+ add $I11, rx454_pos, 5
+ gt $I11, rx454_eos, rx454_fail
+ sub $I11, rx454_pos, rx454_off
+ substr $S10, rx454_tgt, $I11, 5
+ ne $S10, "proto", rx454_fail
+ add rx454_pos, 5
+ goto alt456_end
+ alt456_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
- 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
- rx477_done:
- rx477_cur."!cursor_fail"()
- rx477_cur."!cursor_debug"("FAIL ", "")
- .return (rx477_cur)
+ add $I11, rx454_pos, 4
+ gt $I11, rx454_eos, rx454_fail
+ sub $I11, rx454_pos, rx454_off
+ substr $S10, rx454_tgt, $I11, 4
+ ne $S10, "only", rx454_fail
+ add rx454_pos, 4
+ alt456_end:
+ # rx pass
+ rx454_cur."!cursor_pass"(rx454_pos, "")
+ rx454_cur."!cursor_debug"("PASS ", "", " at pos=", rx454_pos)
+ .return (rx454_cur)
+ rx454_restart:
+ rx454_cur."!cursor_debug"("NEXT ", "")
+ rx454_fail:
+ (rx454_rep, rx454_pos, $I10, $P10) = rx454_cur."!mark_fail"(0)
+ lt rx454_pos, -1, rx454_done
+ eq rx454_pos, -1, rx454_fail
+ jump $I10
+ rx454_done:
+ rx454_cur."!cursor_fail"()
+ rx454_cur."!cursor_debug"("FAIL ", "")
+ .return (rx454_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>" :subid("114_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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<regex_declarator>")
- .lex unicode:"$\x{a2}", rx481_cur
- .local pmc match
- .lex "$/", match
- 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) = rx481_cur."from"()
- inc $P10
- set rx481_pos, $P10
- ge rx481_pos, rx481_eos, rxscan485_done
- rxscan485_scan:
- set_addr $I10, rxscan485_loop
- rx481_cur."!mark_push"(0, rx481_pos, $I10)
- rxscan485_done:
+.sub "term:sym<regex_declarator>" :subid("114_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx458_tgt
+ .local int rx458_pos
+ .local int rx458_off
+ .local int rx458_eos
+ .local int rx458_rep
+ .local pmc rx458_cur
+ (rx458_cur, rx458_pos, rx458_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx458_cur
+ .local pmc match
+ .lex "$/", match
+ length rx458_eos, rx458_tgt
+ gt rx458_pos, rx458_eos, rx458_done
+ set rx458_off, 0
+ lt rx458_pos, 2, rx458_start
+ sub rx458_off, rx458_pos, 1
+ substr rx458_tgt, rx458_tgt, rx458_off
+ rx458_start:
+ eq $I10, 1, rx458_restart
+ rx458_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan462_done
+ goto rxscan462_scan
+ rxscan462_loop:
+ ($P10) = rx458_cur."from"()
+ inc $P10
+ set rx458_pos, $P10
+ ge rx458_pos, rx458_eos, rxscan462_done
+ rxscan462_scan:
+ set_addr $I10, rxscan462_loop
+ rx458_cur."!mark_push"(0, rx458_pos, $I10)
+ rxscan462_done:
.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)
+ rx458_cur."!cursor_pos"(rx458_pos)
+ $P10 = rx458_cur."regex_declarator"()
+ unless $P10, rx458_fail
+ rx458_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("regex_declarator")
- rx481_pos = $P10."pos"()
+ rx458_pos = $P10."pos"()
# rx pass
- rx481_cur."!cursor_pass"(rx481_pos, "term:sym<regex_declarator>")
- rx481_cur."!cursor_debug"("PASS ", "term:sym<regex_declarator>", " at pos=", rx481_pos)
- .return (rx481_cur)
- rx481_fail:
+ rx458_cur."!cursor_pass"(rx458_pos, "term:sym<regex_declarator>")
+ rx458_cur."!cursor_debug"("PASS ", "term:sym<regex_declarator>", " at pos=", rx458_pos)
+ .return (rx458_cur)
+ rx458_restart:
.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
+ rx458_cur."!cursor_debug"("NEXT ", "term:sym<regex_declarator>")
+ rx458_fail:
+ (rx458_rep, rx458_pos, $I10, $P10) = rx458_cur."!mark_fail"(0)
+ lt rx458_pos, -1, rx458_done
+ eq rx458_pos, -1, rx458_fail
jump $I10
- rx481_done:
- rx481_cur."!cursor_fail"()
- rx481_cur."!cursor_debug"("FAIL ", "term:sym<regex_declarator>")
- .return (rx481_cur)
+ rx458_done:
+ rx458_cur."!cursor_fail"()
+ rx458_cur."!cursor_debug"("FAIL ", "term:sym<regex_declarator>")
+ .return (rx458_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>" :subid("115_1278500537.15927") :method
+.sub "!PREFIX__term:sym<regex_declarator>" :subid("115_1279589170.0083") :method
.annotate 'line', 4
- $P483 = self."!PREFIX__!subrule"("regex_declarator", "")
- new $P484, "ResizablePMCArray"
- push $P484, $P483
- .return ($P484)
+ $P460 = self."!PREFIX__!subrule"("regex_declarator", "")
+ new $P461, "ResizablePMCArray"
+ push $P461, $P460
+ .return ($P461)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>" :subid("116_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<statement_prefix>" :subid("116_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx487_tgt
- .local int rx487_pos
- .local int rx487_off
- .local int rx487_eos
- .local int rx487_rep
- .local pmc rx487_cur
- (rx487_cur, rx487_pos, rx487_tgt) = self."!cursor_start"()
- rx487_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
- .lex unicode:"$\x{a2}", rx487_cur
+ .local string rx464_tgt
+ .local int rx464_pos
+ .local int rx464_off
+ .local int rx464_eos
+ .local int rx464_rep
+ .local pmc rx464_cur
+ (rx464_cur, rx464_pos, rx464_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx464_cur
.local pmc match
.lex "$/", match
- length rx487_eos, rx487_tgt
- gt rx487_pos, rx487_eos, rx487_done
- set rx487_off, 0
- lt rx487_pos, 2, rx487_start
- sub rx487_off, rx487_pos, 1
- substr rx487_tgt, rx487_tgt, rx487_off
- rx487_start:
+ length rx464_eos, rx464_tgt
+ gt rx464_pos, rx464_eos, rx464_done
+ set rx464_off, 0
+ lt rx464_pos, 2, rx464_start
+ sub rx464_off, rx464_pos, 1
+ substr rx464_tgt, rx464_tgt, rx464_off
+ rx464_start:
+ eq $I10, 1, rx464_restart
+ rx464_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
$I10 = self.'from'()
- ne $I10, -1, rxscan491_done
- goto rxscan491_scan
- rxscan491_loop:
- ($P10) = rx487_cur."from"()
+ ne $I10, -1, rxscan468_done
+ goto rxscan468_scan
+ rxscan468_loop:
+ ($P10) = rx464_cur."from"()
inc $P10
- set rx487_pos, $P10
- ge rx487_pos, rx487_eos, rxscan491_done
- rxscan491_scan:
- set_addr $I10, rxscan491_loop
- rx487_cur."!mark_push"(0, rx487_pos, $I10)
- rxscan491_done:
+ set rx464_pos, $P10
+ ge rx464_pos, rx464_eos, rxscan468_done
+ rxscan468_scan:
+ set_addr $I10, rxscan468_loop
+ rx464_cur."!mark_push"(0, rx464_pos, $I10)
+ rxscan468_done:
.annotate 'line', 233
# rx subrule "statement_prefix" subtype=capture negate=
- rx487_cur."!cursor_pos"(rx487_pos)
- $P10 = rx487_cur."statement_prefix"()
- unless $P10, rx487_fail
- rx487_cur."!mark_push"(0, -1, 0, $P10)
+ rx464_cur."!cursor_pos"(rx464_pos)
+ $P10 = rx464_cur."statement_prefix"()
+ unless $P10, rx464_fail
+ rx464_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("statement_prefix")
- rx487_pos = $P10."pos"()
+ rx464_pos = $P10."pos"()
# rx pass
- rx487_cur."!cursor_pass"(rx487_pos, "term:sym<statement_prefix>")
- rx487_cur."!cursor_debug"("PASS ", "term:sym<statement_prefix>", " at pos=", rx487_pos)
- .return (rx487_cur)
- rx487_fail:
+ rx464_cur."!cursor_pass"(rx464_pos, "term:sym<statement_prefix>")
+ rx464_cur."!cursor_debug"("PASS ", "term:sym<statement_prefix>", " at pos=", rx464_pos)
+ .return (rx464_cur)
+ rx464_restart:
.annotate 'line', 4
- (rx487_rep, rx487_pos, $I10, $P10) = rx487_cur."!mark_fail"(0)
- lt rx487_pos, -1, rx487_done
- eq rx487_pos, -1, rx487_fail
+ rx464_cur."!cursor_debug"("NEXT ", "term:sym<statement_prefix>")
+ rx464_fail:
+ (rx464_rep, rx464_pos, $I10, $P10) = rx464_cur."!mark_fail"(0)
+ lt rx464_pos, -1, rx464_done
+ eq rx464_pos, -1, rx464_fail
jump $I10
- rx487_done:
- rx487_cur."!cursor_fail"()
- rx487_cur."!cursor_debug"("FAIL ", "term:sym<statement_prefix>")
- .return (rx487_cur)
+ rx464_done:
+ rx464_cur."!cursor_fail"()
+ rx464_cur."!cursor_debug"("FAIL ", "term:sym<statement_prefix>")
+ .return (rx464_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>" :subid("117_1278500537.15927") :method
+.sub "!PREFIX__term:sym<statement_prefix>" :subid("117_1279589170.0083") :method
.annotate 'line', 4
- $P489 = self."!PREFIX__!subrule"("statement_prefix", "")
- new $P490, "ResizablePMCArray"
- push $P490, $P489
- .return ($P490)
+ $P466 = self."!PREFIX__!subrule"("statement_prefix", "")
+ new $P467, "ResizablePMCArray"
+ push $P467, $P466
+ .return ($P467)
.end
.namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>" :subid("118_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "term:sym<lambda>" :subid("118_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx493_tgt
- .local int rx493_pos
- .local int rx493_off
- .local int rx493_eos
- .local int rx493_rep
- .local pmc rx493_cur
- (rx493_cur, rx493_pos, rx493_tgt) = self."!cursor_start"()
- rx493_cur."!cursor_debug"("START ", "term:sym<lambda>")
- .lex unicode:"$\x{a2}", rx493_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx470_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 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:
+ eq $I10, 1, rx470_restart
+ rx470_cur."!cursor_debug"("START ", "term:sym<lambda>")
$I10 = self.'from'()
- ne $I10, -1, rxscan496_done
- goto rxscan496_scan
- rxscan496_loop:
- ($P10) = rx493_cur."from"()
+ ne $I10, -1, rxscan473_done
+ goto rxscan473_scan
+ rxscan473_loop:
+ ($P10) = rx470_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:
+ set rx470_pos, $P10
+ ge rx470_pos, rx470_eos, rxscan473_done
+ rxscan473_scan:
+ set_addr $I10, rxscan473_loop
+ rx470_cur."!mark_push"(0, rx470_pos, $I10)
+ rxscan473_done:
.annotate 'line', 234
# rx subrule "lambda" subtype=zerowidth negate=
- rx493_cur."!cursor_pos"(rx493_pos)
- $P10 = rx493_cur."lambda"()
- unless $P10, rx493_fail
+ rx470_cur."!cursor_pos"(rx470_pos)
+ $P10 = rx470_cur."lambda"()
+ unless $P10, rx470_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)
+ rx470_cur."!cursor_pos"(rx470_pos)
+ $P10 = rx470_cur."pblock"()
+ unless $P10, rx470_fail
+ rx470_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("pblock")
- rx493_pos = $P10."pos"()
+ rx470_pos = $P10."pos"()
# rx pass
- rx493_cur."!cursor_pass"(rx493_pos, "term:sym<lambda>")
- rx493_cur."!cursor_debug"("PASS ", "term:sym<lambda>", " at pos=", rx493_pos)
- .return (rx493_cur)
- rx493_fail:
+ rx470_cur."!cursor_pass"(rx470_pos, "term:sym<lambda>")
+ rx470_cur."!cursor_debug"("PASS ", "term:sym<lambda>", " at pos=", rx470_pos)
+ .return (rx470_cur)
+ rx470_restart:
.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
+ rx470_cur."!cursor_debug"("NEXT ", "term:sym<lambda>")
+ rx470_fail:
+ (rx470_rep, rx470_pos, $I10, $P10) = rx470_cur."!mark_fail"(0)
+ lt rx470_pos, -1, rx470_done
+ eq rx470_pos, -1, rx470_fail
jump $I10
- rx493_done:
- rx493_cur."!cursor_fail"()
- rx493_cur."!cursor_debug"("FAIL ", "term:sym<lambda>")
- .return (rx493_cur)
+ rx470_done:
+ rx470_cur."!cursor_fail"()
+ rx470_cur."!cursor_debug"("FAIL ", "term:sym<lambda>")
+ .return (rx470_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>" :subid("119_1278500537.15927") :method
+.sub "!PREFIX__term:sym<lambda>" :subid("119_1279589170.0083") :method
.annotate 'line', 4
- new $P495, "ResizablePMCArray"
- push $P495, ""
- .return ($P495)
+ new $P472, "ResizablePMCArray"
+ push $P472, ""
+ .return ($P472)
.end
.namespace ["NQP";"Grammar"]
-.sub "fatarrow" :subid("120_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "fatarrow" :subid("120_1279589170.0083") :method :outer("11_1279589170.0083")
.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 string rx475_tgt
+ .local int rx475_pos
+ .local int rx475_off
+ .local int rx475_eos
+ .local int rx475_rep
+ .local pmc rx475_cur
+ (rx475_cur, rx475_pos, rx475_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx475_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:
+ length rx475_eos, rx475_tgt
+ gt rx475_pos, rx475_eos, rx475_done
+ set rx475_off, 0
+ lt rx475_pos, 2, rx475_start
+ sub rx475_off, rx475_pos, 1
+ substr rx475_tgt, rx475_tgt, rx475_off
+ rx475_start:
+ eq $I10, 1, rx475_restart
+ rx475_cur."!cursor_debug"("START ", "fatarrow")
$I10 = self.'from'()
- ne $I10, -1, rxscan502_done
- goto rxscan502_scan
- rxscan502_loop:
- ($P10) = rx498_cur."from"()
+ ne $I10, -1, rxscan479_done
+ goto rxscan479_scan
+ rxscan479_loop:
+ ($P10) = rx475_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:
+ set rx475_pos, $P10
+ ge rx475_pos, rx475_eos, rxscan479_done
+ rxscan479_scan:
+ set_addr $I10, rxscan479_loop
+ rx475_cur."!mark_push"(0, rx475_pos, $I10)
+ rxscan479_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)
+ rx475_cur."!cursor_pos"(rx475_pos)
+ $P10 = rx475_cur."identifier"()
+ unless $P10, rx475_fail
+ rx475_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:
+ rx475_pos = $P10."pos"()
+ # rx rxquantr480 ** 0..*
+ set_addr $I10, rxquantr480_done
+ rx475_cur."!mark_push"(0, rx475_pos, $I10)
+ rxquantr480_loop:
# rx enumcharlist negate=0
- ge rx498_pos, rx498_eos, rx498_fail
- sub $I10, rx498_pos, rx498_off
- substr $S10, rx498_tgt, $I10, 1
+ ge rx475_pos, rx475_eos, rx475_fail
+ sub $I10, rx475_pos, rx475_off
+ substr $S10, rx475_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:
+ lt $I11, 0, rx475_fail
+ inc rx475_pos
+ set_addr $I10, rxquantr480_done
+ (rx475_rep) = rx475_cur."!mark_commit"($I10)
+ set_addr $I10, rxquantr480_done
+ rx475_cur."!mark_push"(rx475_rep, rx475_pos, $I10)
+ goto rxquantr480_loop
+ rxquantr480_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"()
+ add $I11, rx475_pos, 2
+ gt $I11, rx475_eos, rx475_fail
+ sub $I11, rx475_pos, rx475_off
+ substr $S10, rx475_tgt, $I11, 2
+ ne $S10, "=>", rx475_fail
+ add rx475_pos, 2
+ # rx subrule "ws" subtype=method negate=
+ rx475_cur."!cursor_pos"(rx475_pos)
+ $P10 = rx475_cur."ws"()
+ unless $P10, rx475_fail
+ rx475_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)
+ rx475_cur."!cursor_pos"(rx475_pos)
+ $P10 = rx475_cur."EXPR"("i=")
+ unless $P10, rx475_fail
+ rx475_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("val")
- rx498_pos = $P10."pos"()
+ rx475_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:
+ rx475_cur."!cursor_pass"(rx475_pos, "fatarrow")
+ rx475_cur."!cursor_debug"("PASS ", "fatarrow", " at pos=", rx475_pos)
+ .return (rx475_cur)
+ rx475_restart:
.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
+ rx475_cur."!cursor_debug"("NEXT ", "fatarrow")
+ rx475_fail:
+ (rx475_rep, rx475_pos, $I10, $P10) = rx475_cur."!mark_fail"(0)
+ lt rx475_pos, -1, rx475_done
+ eq rx475_pos, -1, rx475_fail
jump $I10
- rx498_done:
- rx498_cur."!cursor_fail"()
- rx498_cur."!cursor_debug"("FAIL ", "fatarrow")
- .return (rx498_cur)
+ rx475_done:
+ rx475_cur."!cursor_fail"()
+ rx475_cur."!cursor_debug"("FAIL ", "fatarrow")
+ .return (rx475_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow" :subid("121_1278500537.15927") :method
+.sub "!PREFIX__fatarrow" :subid("121_1279589170.0083") :method
.annotate 'line', 4
- $P500 = self."!PREFIX__!subrule"("identifier", "")
- new $P501, "ResizablePMCArray"
- push $P501, $P500
- .return ($P501)
+ $P477 = self."!PREFIX__!subrule"("identifier", "")
+ new $P478, "ResizablePMCArray"
+ push $P478, $P477
+ .return ($P478)
.end
.namespace ["NQP";"Grammar"]
-.sub "colonpair" :subid("122_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "colonpair" :subid("122_1279589170.0083") :method :outer("11_1279589170.0083")
.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 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, $I10) = self."!cursor_start"()
+ rx482_cur."!cursor_caparray"("circumfix")
+ .lex unicode:"$\x{a2}", rx482_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:
+ 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:
+ eq $I10, 1, rx482_restart
+ rx482_cur."!cursor_debug"("START ", "colonpair")
$I10 = self.'from'()
- ne $I10, -1, rxscan512_done
- goto rxscan512_scan
- rxscan512_loop:
- ($P10) = rx506_cur."from"()
+ ne $I10, -1, rxscan488_done
+ goto rxscan488_scan
+ rxscan488_loop:
+ ($P10) = rx482_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:
+ set rx482_pos, $P10
+ ge rx482_pos, rx482_eos, rxscan488_done
+ rxscan488_scan:
+ set_addr $I10, rxscan488_loop
+ rx482_cur."!mark_push"(0, rx482_pos, $I10)
+ rxscan488_done:
.annotate 'line', 241
# 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:
+ 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
+ alt489_0:
.annotate 'line', 242
- set_addr $I10, alt513_1
- rx506_cur."!mark_push"(0, rx506_pos, $I10)
+ set_addr $I10, alt489_1
+ rx482_cur."!mark_push"(0, rx482_pos, $I10)
.annotate 'line', 243
# rx subcapture "not"
- set_addr $I10, rxcap_514_fail
- rx506_cur."!mark_push"(0, rx506_pos, $I10)
+ set_addr $I10, rxcap_490_fail
+ rx482_cur."!mark_push"(0, rx482_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
- 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)
+ 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
+ set_addr $I10, rxcap_490_fail
+ ($I12, $I11) = rx482_cur."!mark_peek"($I10)
+ rx482_cur."!cursor_pos"($I11)
+ ($P10) = rx482_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx482_pos, "")
+ rx482_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("not")
- goto rxcap_514_done
- rxcap_514_fail:
- goto rx506_fail
- rxcap_514_done:
+ goto rxcap_490_done
+ rxcap_490_fail:
+ goto rx482_fail
+ rxcap_490_done:
# rx subrule "identifier" subtype=capture negate=
- rx506_cur."!cursor_pos"(rx506_pos)
- $P10 = rx506_cur."identifier"()
- unless $P10, rx506_fail
- rx506_cur."!mark_push"(0, -1, 0, $P10)
+ rx482_cur."!cursor_pos"(rx482_pos)
+ $P10 = rx482_cur."identifier"()
+ unless $P10, rx482_fail
+ rx482_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("identifier")
- rx506_pos = $P10."pos"()
- goto alt513_end
- alt513_1:
- set_addr $I10, alt513_2
- rx506_cur."!mark_push"(0, rx506_pos, $I10)
+ rx482_pos = $P10."pos"()
+ goto alt489_end
+ alt489_1:
+ set_addr $I10, alt489_2
+ rx482_cur."!mark_push"(0, rx482_pos, $I10)
.annotate 'line', 244
# rx subrule "identifier" subtype=capture negate=
- rx506_cur."!cursor_pos"(rx506_pos)
- $P10 = rx506_cur."identifier"()
- unless $P10, rx506_fail
- rx506_cur."!mark_push"(0, -1, 0, $P10)
+ rx482_cur."!cursor_pos"(rx482_pos)
+ $P10 = rx482_cur."identifier"()
+ unless $P10, rx482_fail
+ rx482_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("identifier")
- rx506_pos = $P10."pos"()
- # rx rxquantr515 ** 0..1
- set_addr $I516, rxquantr515_done
- rx506_cur."!mark_push"(0, rx506_pos, $I516)
- rxquantr515_loop:
+ rx482_pos = $P10."pos"()
+ # rx rxquantr491 ** 0..1
+ set_addr $I10, rxquantr491_done
+ rx482_cur."!mark_push"(0, rx482_pos, $I10)
+ rxquantr491_loop:
# rx subrule "circumfix" subtype=capture negate=
- rx506_cur."!cursor_pos"(rx506_pos)
- $P10 = rx506_cur."circumfix"()
- unless $P10, rx506_fail
- rx506_cur."!mark_push"(0, -1, 0, $P10)
+ rx482_cur."!cursor_pos"(rx482_pos)
+ $P10 = rx482_cur."circumfix"()
+ unless $P10, rx482_fail
+ goto rxsubrule492_pass
+ rxsubrule492_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx482_fail
+ rxsubrule492_pass:
+ set_addr $I10, rxsubrule492_back
+ rx482_cur."!mark_push"(0, rx482_pos, $I10, $P10)
$P10."!cursor_names"("circumfix")
- rx506_pos = $P10."pos"()
- (rx506_rep) = rx506_cur."!mark_commit"($I516)
- rxquantr515_done:
- goto alt513_end
- alt513_2:
+ rx482_pos = $P10."pos"()
+ set_addr $I10, rxquantr491_done
+ (rx482_rep) = rx482_cur."!mark_commit"($I10)
+ rxquantr491_done:
+ goto alt489_end
+ alt489_2:
.annotate 'line', 245
# rx subrule "circumfix" subtype=capture negate=
- rx506_cur."!cursor_pos"(rx506_pos)
- $P10 = rx506_cur."circumfix"()
- unless $P10, rx506_fail
- rx506_cur."!mark_push"(0, -1, 0, $P10)
+ rx482_cur."!cursor_pos"(rx482_pos)
+ $P10 = rx482_cur."circumfix"()
+ unless $P10, rx482_fail
+ rx482_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("circumfix")
- rx506_pos = $P10."pos"()
- alt513_end:
+ rx482_pos = $P10."pos"()
+ alt489_end:
.annotate 'line', 240
# rx pass
- 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
- rx506_done:
- rx506_cur."!cursor_fail"()
- rx506_cur."!cursor_debug"("FAIL ", "colonpair")
- .return (rx506_cur)
+ rx482_cur."!cursor_pass"(rx482_pos, "colonpair")
+ rx482_cur."!cursor_debug"("PASS ", "colonpair", " at pos=", rx482_pos)
+ .return (rx482_cur)
+ rx482_restart:
+.annotate 'line', 4
+ rx482_cur."!cursor_debug"("NEXT ", "colonpair")
+ rx482_fail:
+ (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
+ rx482_done:
+ rx482_cur."!cursor_fail"()
+ rx482_cur."!cursor_debug"("FAIL ", "colonpair")
+ .return (rx482_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair" :subid("123_1278500537.15927") :method
-.annotate 'line', 4
- $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("124_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .local string rx518_tgt
- .local int rx518_pos
- .local int rx518_off
- .local int rx518_eos
- .local int rx518_rep
- .local pmc rx518_cur
- (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
- rx518_cur."!cursor_debug"("START ", "variable")
- rx518_cur."!cursor_caparray"("twigil")
- .lex unicode:"$\x{a2}", rx518_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan523_done
- goto rxscan523_scan
- rxscan523_loop:
- ($P10) = rx518_cur."from"()
- inc $P10
- 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:
+.sub "!PREFIX__colonpair" :subid("123_1279589170.0083") :method
+.annotate 'line', 4
+ $P484 = self."!PREFIX__!subrule"("circumfix", ":")
+ $P485 = self."!PREFIX__!subrule"("identifier", ":")
+ $P486 = self."!PREFIX__!subrule"("identifier", ":!")
+ new $P487, "ResizablePMCArray"
+ push $P487, $P484
+ push $P487, $P485
+ push $P487, $P486
+ .return ($P487)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "variable" :subid("124_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx494_tgt
+ .local int rx494_pos
+ .local int rx494_off
+ .local int rx494_eos
+ .local int rx494_rep
+ .local pmc rx494_cur
+ (rx494_cur, rx494_pos, rx494_tgt, $I10) = self."!cursor_start"()
+ rx494_cur."!cursor_caparray"("twigil")
+ .lex unicode:"$\x{a2}", rx494_cur
+ .local pmc match
+ .lex "$/", match
+ length rx494_eos, rx494_tgt
+ gt rx494_pos, rx494_eos, rx494_done
+ set rx494_off, 0
+ lt rx494_pos, 2, rx494_start
+ sub rx494_off, rx494_pos, 1
+ substr rx494_tgt, rx494_tgt, rx494_off
+ rx494_start:
+ eq $I10, 1, rx494_restart
+ rx494_cur."!cursor_debug"("START ", "variable")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan499_done
+ goto rxscan499_scan
+ rxscan499_loop:
+ ($P10) = rx494_cur."from"()
+ inc $P10
+ set rx494_pos, $P10
+ ge rx494_pos, rx494_eos, rxscan499_done
+ rxscan499_scan:
+ set_addr $I10, rxscan499_loop
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
+ rxscan499_done:
+ alt500_0:
.annotate 'line', 249
- set_addr $I10, alt524_1
- rx518_cur."!mark_push"(0, rx518_pos, $I10)
+ set_addr $I10, alt500_1
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
.annotate 'line', 250
# rx subrule "sigil" subtype=capture negate=
- rx518_cur."!cursor_pos"(rx518_pos)
- $P10 = rx518_cur."sigil"()
- unless $P10, rx518_fail
- rx518_cur."!mark_push"(0, -1, 0, $P10)
+ rx494_cur."!cursor_pos"(rx494_pos)
+ $P10 = rx494_cur."sigil"()
+ unless $P10, rx494_fail
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sigil")
- rx518_pos = $P10."pos"()
- # rx rxquantr525 ** 0..1
- set_addr $I526, rxquantr525_done
- rx518_cur."!mark_push"(0, rx518_pos, $I526)
- rxquantr525_loop:
+ rx494_pos = $P10."pos"()
+ # rx rxquantr501 ** 0..1
+ set_addr $I10, rxquantr501_done
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
+ rxquantr501_loop:
# rx subrule "twigil" subtype=capture negate=
- rx518_cur."!cursor_pos"(rx518_pos)
- $P10 = rx518_cur."twigil"()
- unless $P10, rx518_fail
- rx518_cur."!mark_push"(0, -1, 0, $P10)
+ rx494_cur."!cursor_pos"(rx494_pos)
+ $P10 = rx494_cur."twigil"()
+ unless $P10, rx494_fail
+ goto rxsubrule502_pass
+ rxsubrule502_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx494_fail
+ rxsubrule502_pass:
+ set_addr $I10, rxsubrule502_back
+ rx494_cur."!mark_push"(0, rx494_pos, $I10, $P10)
$P10."!cursor_names"("twigil")
- rx518_pos = $P10."pos"()
- (rx518_rep) = rx518_cur."!mark_commit"($I526)
- rxquantr525_done:
+ rx494_pos = $P10."pos"()
+ set_addr $I10, rxquantr501_done
+ (rx494_rep) = rx494_cur."!mark_commit"($I10)
+ rxquantr501_done:
# rx subrule "name" subtype=capture negate=
- rx518_cur."!cursor_pos"(rx518_pos)
- $P10 = rx518_cur."name"()
- unless $P10, rx518_fail
- rx518_cur."!mark_push"(0, -1, 0, $P10)
+ rx494_cur."!cursor_pos"(rx494_pos)
+ $P10 = rx494_cur."name"()
+ unless $P10, rx494_fail
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("desigilname")
- rx518_pos = $P10."pos"()
- goto alt524_end
- alt524_1:
- set_addr $I10, alt524_2
- rx518_cur."!mark_push"(0, rx518_pos, $I10)
+ rx494_pos = $P10."pos"()
+ goto alt500_end
+ alt500_1:
+ set_addr $I10, alt500_2
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
.annotate 'line', 251
# rx subrule "sigil" subtype=capture negate=
- rx518_cur."!cursor_pos"(rx518_pos)
- $P10 = rx518_cur."sigil"()
- unless $P10, rx518_fail
- rx518_cur."!mark_push"(0, -1, 0, $P10)
+ rx494_cur."!cursor_pos"(rx494_pos)
+ $P10 = rx494_cur."sigil"()
+ unless $P10, rx494_fail
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sigil")
- rx518_pos = $P10."pos"()
+ rx494_pos = $P10."pos"()
# rx enumcharlist negate=0 zerowidth
- ge rx518_pos, rx518_eos, rx518_fail
- sub $I10, rx518_pos, rx518_off
- substr $S10, rx518_tgt, $I10, 1
+ ge rx494_pos, rx494_eos, rx494_fail
+ sub $I10, rx494_pos, rx494_off
+ substr $S10, rx494_tgt, $I10, 1
index $I11, "<[", $S10
- lt $I11, 0, rx518_fail
+ lt $I11, 0, rx494_fail
# rx subrule "postcircumfix" subtype=capture negate=
- rx518_cur."!cursor_pos"(rx518_pos)
- $P10 = rx518_cur."postcircumfix"()
- unless $P10, rx518_fail
- rx518_cur."!mark_push"(0, -1, 0, $P10)
+ rx494_cur."!cursor_pos"(rx494_pos)
+ $P10 = rx494_cur."postcircumfix"()
+ unless $P10, rx494_fail
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("postcircumfix")
- rx518_pos = $P10."pos"()
- goto alt524_end
- alt524_2:
+ rx494_pos = $P10."pos"()
+ goto alt500_end
+ alt500_2:
.annotate 'line', 252
# rx subcapture "sigil"
- set_addr $I10, rxcap_527_fail
- rx518_cur."!mark_push"(0, rx518_pos, $I10)
+ set_addr $I10, rxcap_503_fail
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
# rx literal "$"
- add $I11, rx518_pos, 1
- gt $I11, rx518_eos, rx518_fail
- sub $I11, rx518_pos, rx518_off
- substr $S10, rx518_tgt, $I11, 1
- ne $S10, "$", rx518_fail
- add rx518_pos, 1
- 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)
+ add $I11, rx494_pos, 1
+ gt $I11, rx494_eos, rx494_fail
+ sub $I11, rx494_pos, rx494_off
+ substr $S10, rx494_tgt, $I11, 1
+ ne $S10, "$", rx494_fail
+ add rx494_pos, 1
+ set_addr $I10, rxcap_503_fail
+ ($I12, $I11) = rx494_cur."!mark_peek"($I10)
+ rx494_cur."!cursor_pos"($I11)
+ ($P10) = rx494_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx494_pos, "")
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sigil")
- goto rxcap_527_done
- rxcap_527_fail:
- goto rx518_fail
- rxcap_527_done:
+ goto rxcap_503_done
+ rxcap_503_fail:
+ goto rx494_fail
+ rxcap_503_done:
# rx subcapture "desigilname"
- set_addr $I10, rxcap_528_fail
- rx518_cur."!mark_push"(0, rx518_pos, $I10)
+ set_addr $I10, rxcap_504_fail
+ rx494_cur."!mark_push"(0, rx494_pos, $I10)
# rx enumcharlist negate=0
- ge rx518_pos, rx518_eos, rx518_fail
- sub $I10, rx518_pos, rx518_off
- substr $S10, rx518_tgt, $I10, 1
+ ge rx494_pos, rx494_eos, rx494_fail
+ sub $I10, rx494_pos, rx494_off
+ substr $S10, rx494_tgt, $I10, 1
index $I11, "/_!", $S10
- 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)
+ lt $I11, 0, rx494_fail
+ inc rx494_pos
+ set_addr $I10, rxcap_504_fail
+ ($I12, $I11) = rx494_cur."!mark_peek"($I10)
+ rx494_cur."!cursor_pos"($I11)
+ ($P10) = rx494_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx494_pos, "")
+ rx494_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("desigilname")
- goto rxcap_528_done
- rxcap_528_fail:
- goto rx518_fail
- rxcap_528_done:
- alt524_end:
+ goto rxcap_504_done
+ rxcap_504_fail:
+ goto rx494_fail
+ rxcap_504_done:
+ alt500_end:
.annotate 'line', 249
# rx pass
- rx518_cur."!cursor_pass"(rx518_pos, "variable")
- rx518_cur."!cursor_debug"("PASS ", "variable", " at pos=", rx518_pos)
- .return (rx518_cur)
- rx518_fail:
+ rx494_cur."!cursor_pass"(rx494_pos, "variable")
+ rx494_cur."!cursor_debug"("PASS ", "variable", " at pos=", rx494_pos)
+ .return (rx494_cur)
+ rx494_restart:
.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
+ rx494_cur."!cursor_debug"("NEXT ", "variable")
+ rx494_fail:
+ (rx494_rep, rx494_pos, $I10, $P10) = rx494_cur."!mark_fail"(0)
+ lt rx494_pos, -1, rx494_done
+ eq rx494_pos, -1, rx494_fail
jump $I10
- rx518_done:
- rx518_cur."!cursor_fail"()
- rx518_cur."!cursor_debug"("FAIL ", "variable")
- .return (rx518_cur)
+ rx494_done:
+ rx494_cur."!cursor_fail"()
+ rx494_cur."!cursor_debug"("FAIL ", "variable")
+ .return (rx494_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable" :subid("125_1278500537.15927") :method
+.sub "!PREFIX__variable" :subid("125_1279589170.0083") :method
.annotate 'line', 4
- $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)
+ $P496 = self."!PREFIX__!subrule"("sigil", "")
+ $P497 = self."!PREFIX__!subrule"("sigil", "")
+ new $P498, "ResizablePMCArray"
+ push $P498, "$!"
+ push $P498, "$_"
+ push $P498, "$/"
+ push $P498, $P496
+ push $P498, $P497
+ .return ($P498)
.end
.namespace ["NQP";"Grammar"]
-.sub "sigil" :subid("126_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "sigil" :subid("126_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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:
+ .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, $I10) = self."!cursor_start"()
+ .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:
+ eq $I10, 1, rx506_restart
+ rx506_cur."!cursor_debug"("START ", "sigil")
$I10 = self.'from'()
- ne $I10, -1, rxscan533_done
- goto rxscan533_scan
- rxscan533_loop:
- ($P10) = rx530_cur."from"()
+ ne $I10, -1, rxscan509_done
+ goto rxscan509_scan
+ rxscan509_loop:
+ ($P10) = rx506_cur."from"()
inc $P10
- 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:
+ set rx506_pos, $P10
+ ge rx506_pos, rx506_eos, rxscan509_done
+ rxscan509_scan:
+ set_addr $I10, rxscan509_loop
+ rx506_cur."!mark_push"(0, rx506_pos, $I10)
+ rxscan509_done:
.annotate 'line', 255
# rx enumcharlist negate=0
- ge rx530_pos, rx530_eos, rx530_fail
- sub $I10, rx530_pos, rx530_off
- substr $S10, rx530_tgt, $I10, 1
+ ge rx506_pos, rx506_eos, rx506_fail
+ sub $I10, rx506_pos, rx506_off
+ substr $S10, rx506_tgt, $I10, 1
index $I11, "$@%&", $S10
- lt $I11, 0, rx530_fail
- inc rx530_pos
+ lt $I11, 0, rx506_fail
+ inc rx506_pos
# rx pass
- rx530_cur."!cursor_pass"(rx530_pos, "sigil")
- rx530_cur."!cursor_debug"("PASS ", "sigil", " at pos=", rx530_pos)
- .return (rx530_cur)
- rx530_fail:
+ rx506_cur."!cursor_pass"(rx506_pos, "sigil")
+ rx506_cur."!cursor_debug"("PASS ", "sigil", " at pos=", rx506_pos)
+ .return (rx506_cur)
+ rx506_restart:
.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
+ rx506_cur."!cursor_debug"("NEXT ", "sigil")
+ rx506_fail:
+ (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
- rx530_done:
- rx530_cur."!cursor_fail"()
- rx530_cur."!cursor_debug"("FAIL ", "sigil")
- .return (rx530_cur)
+ rx506_done:
+ rx506_cur."!cursor_fail"()
+ rx506_cur."!cursor_debug"("FAIL ", "sigil")
+ .return (rx506_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil" :subid("127_1278500537.15927") :method
+.sub "!PREFIX__sigil" :subid("127_1279589170.0083") :method
.annotate 'line', 4
- new $P532, "ResizablePMCArray"
- push $P532, "&"
- push $P532, "%"
- push $P532, "@"
- push $P532, "$"
- .return ($P532)
+ new $P508, "ResizablePMCArray"
+ push $P508, "&"
+ push $P508, "%"
+ push $P508, "@"
+ push $P508, "$"
+ .return ($P508)
.end
.namespace ["NQP";"Grammar"]
-.sub "twigil" :subid("128_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan538_done
- goto rxscan538_scan
- rxscan538_loop:
- ($P10) = rx535_cur."from"()
- inc $P10
- 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:
+.sub "twigil" :subid("128_1279589170.0083") :method :outer("11_1279589170.0083")
+.annotate 'line', 4
+ .local string rx511_tgt
+ .local int rx511_pos
+ .local int rx511_off
+ .local int rx511_eos
+ .local int rx511_rep
+ .local pmc rx511_cur
+ (rx511_cur, rx511_pos, rx511_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx511_cur
+ .local pmc match
+ .lex "$/", match
+ length rx511_eos, rx511_tgt
+ gt rx511_pos, rx511_eos, rx511_done
+ set rx511_off, 0
+ lt rx511_pos, 2, rx511_start
+ sub rx511_off, rx511_pos, 1
+ substr rx511_tgt, rx511_tgt, rx511_off
+ rx511_start:
+ eq $I10, 1, rx511_restart
+ rx511_cur."!cursor_debug"("START ", "twigil")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan514_done
+ goto rxscan514_scan
+ rxscan514_loop:
+ ($P10) = rx511_cur."from"()
+ inc $P10
+ set rx511_pos, $P10
+ ge rx511_pos, rx511_eos, rxscan514_done
+ rxscan514_scan:
+ set_addr $I10, rxscan514_loop
+ rx511_cur."!mark_push"(0, rx511_pos, $I10)
+ rxscan514_done:
.annotate 'line', 257
# rx enumcharlist negate=0
- ge rx535_pos, rx535_eos, rx535_fail
- sub $I10, rx535_pos, rx535_off
- substr $S10, rx535_tgt, $I10, 1
+ ge rx511_pos, rx511_eos, rx511_fail
+ sub $I10, rx511_pos, rx511_off
+ substr $S10, rx511_tgt, $I10, 1
index $I11, "*!?", $S10
- lt $I11, 0, rx535_fail
- inc rx535_pos
+ lt $I11, 0, rx511_fail
+ inc rx511_pos
# rx pass
- rx535_cur."!cursor_pass"(rx535_pos, "twigil")
- rx535_cur."!cursor_debug"("PASS ", "twigil", " at pos=", rx535_pos)
- .return (rx535_cur)
- rx535_fail:
+ rx511_cur."!cursor_pass"(rx511_pos, "twigil")
+ rx511_cur."!cursor_debug"("PASS ", "twigil", " at pos=", rx511_pos)
+ .return (rx511_cur)
+ rx511_restart:
.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
+ rx511_cur."!cursor_debug"("NEXT ", "twigil")
+ rx511_fail:
+ (rx511_rep, rx511_pos, $I10, $P10) = rx511_cur."!mark_fail"(0)
+ lt rx511_pos, -1, rx511_done
+ eq rx511_pos, -1, rx511_fail
jump $I10
- rx535_done:
- rx535_cur."!cursor_fail"()
- rx535_cur."!cursor_debug"("FAIL ", "twigil")
- .return (rx535_cur)
+ rx511_done:
+ rx511_cur."!cursor_fail"()
+ rx511_cur."!cursor_debug"("FAIL ", "twigil")
+ .return (rx511_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil" :subid("129_1278500537.15927") :method
+.sub "!PREFIX__twigil" :subid("129_1279589170.0083") :method
.annotate 'line', 4
- new $P537, "ResizablePMCArray"
- push $P537, "?"
- push $P537, "!"
- push $P537, "*"
- .return ($P537)
+ new $P513, "ResizablePMCArray"
+ push $P513, "?"
+ push $P513, "!"
+ push $P513, "*"
+ .return ($P513)
.end
.namespace ["NQP";"Grammar"]
-.sub "package_declarator" :subid("130_1278500537.15927") :method
+.sub "package_declarator" :subid("130_1279589170.0083") :method
.annotate 'line', 259
- $P540 = self."!protoregex"("package_declarator")
- .return ($P540)
+ $P516 = self."!protoregex"("package_declarator")
+ .return ($P516)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator" :subid("131_1278500537.15927") :method
+.sub "!PREFIX__package_declarator" :subid("131_1279589170.0083") :method
.annotate 'line', 259
- $P542 = self."!PREFIX__!protoregex"("package_declarator")
- .return ($P542)
+ $P518 = self."!PREFIX__!protoregex"("package_declarator")
+ .return ($P518)
.end
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>" :subid("132_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "package_declarator:sym<module>" :subid("132_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<module>")
- .lex unicode:"$\x{a2}", rx544_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan548_done
- goto rxscan548_scan
- rxscan548_loop:
- ($P10) = rx544_cur."from"()
- inc $P10
- 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:
+ .local string rx520_tgt
+ .local int rx520_pos
+ .local int rx520_off
+ .local int rx520_eos
+ .local int rx520_rep
+ .local pmc rx520_cur
+ (rx520_cur, rx520_pos, rx520_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx520_cur
+ .local pmc match
+ .lex "$/", match
+ length rx520_eos, rx520_tgt
+ gt rx520_pos, rx520_eos, rx520_done
+ set rx520_off, 0
+ lt rx520_pos, 2, rx520_start
+ sub rx520_off, rx520_pos, 1
+ substr rx520_tgt, rx520_tgt, rx520_off
+ rx520_start:
+ eq $I10, 1, rx520_restart
+ rx520_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan524_done
+ goto rxscan524_scan
+ rxscan524_loop:
+ ($P10) = rx520_cur."from"()
+ inc $P10
+ set rx520_pos, $P10
+ ge rx520_pos, rx520_eos, rxscan524_done
+ rxscan524_scan:
+ set_addr $I10, rxscan524_loop
+ rx520_cur."!mark_push"(0, rx520_pos, $I10)
+ rxscan524_done:
.annotate 'line', 260
# rx subcapture "sym"
- set_addr $I10, rxcap_549_fail
- rx544_cur."!mark_push"(0, rx544_pos, $I10)
+ set_addr $I10, rxcap_525_fail
+ rx520_cur."!mark_push"(0, rx520_pos, $I10)
# rx literal "module"
- 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)
+ add $I11, rx520_pos, 6
+ gt $I11, rx520_eos, rx520_fail
+ sub $I11, rx520_pos, rx520_off
+ substr $S10, rx520_tgt, $I11, 6
+ ne $S10, "module", rx520_fail
+ add rx520_pos, 6
+ set_addr $I10, rxcap_525_fail
+ ($I12, $I11) = rx520_cur."!mark_peek"($I10)
+ rx520_cur."!cursor_pos"($I11)
+ ($P10) = rx520_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx520_pos, "")
+ rx520_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_549_done
- rxcap_549_fail:
- goto rx544_fail
- rxcap_549_done:
+ goto rxcap_525_done
+ rxcap_525_fail:
+ goto rx520_fail
+ rxcap_525_done:
# rx subrule "package_def" subtype=capture negate=
- rx544_cur."!cursor_pos"(rx544_pos)
- $P10 = rx544_cur."package_def"()
- unless $P10, rx544_fail
- rx544_cur."!mark_push"(0, -1, 0, $P10)
+ rx520_cur."!cursor_pos"(rx520_pos)
+ $P10 = rx520_cur."package_def"()
+ unless $P10, rx520_fail
+ rx520_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("package_def")
- rx544_pos = $P10."pos"()
+ rx520_pos = $P10."pos"()
# rx pass
- rx544_cur."!cursor_pass"(rx544_pos, "package_declarator:sym<module>")
- rx544_cur."!cursor_debug"("PASS ", "package_declarator:sym<module>", " at pos=", rx544_pos)
- .return (rx544_cur)
- rx544_fail:
+ rx520_cur."!cursor_pass"(rx520_pos, "package_declarator:sym<module>")
+ rx520_cur."!cursor_debug"("PASS ", "package_declarator:sym<module>", " at pos=", rx520_pos)
+ .return (rx520_cur)
+ rx520_restart:
.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
+ rx520_cur."!cursor_debug"("NEXT ", "package_declarator:sym<module>")
+ rx520_fail:
+ (rx520_rep, rx520_pos, $I10, $P10) = rx520_cur."!mark_fail"(0)
+ lt rx520_pos, -1, rx520_done
+ eq rx520_pos, -1, rx520_fail
jump $I10
- rx544_done:
- rx544_cur."!cursor_fail"()
- rx544_cur."!cursor_debug"("FAIL ", "package_declarator:sym<module>")
- .return (rx544_cur)
+ rx520_done:
+ rx520_cur."!cursor_fail"()
+ rx520_cur."!cursor_debug"("FAIL ", "package_declarator:sym<module>")
+ .return (rx520_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>" :subid("133_1278500537.15927") :method
+.sub "!PREFIX__package_declarator:sym<module>" :subid("133_1279589170.0083") :method
.annotate 'line', 4
- $P546 = self."!PREFIX__!subrule"("package_def", "module")
- new $P547, "ResizablePMCArray"
- push $P547, $P546
- .return ($P547)
+ $P522 = self."!PREFIX__!subrule"("package_def", "module")
+ new $P523, "ResizablePMCArray"
+ push $P523, $P522
+ .return ($P523)
.end
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>" :subid("134_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "package_declarator:sym<class>" :subid("134_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<class>")
- .lex unicode:"$\x{a2}", rx551_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx527_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx527_restart
+ rx527_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
$I10 = self.'from'()
- ne $I10, -1, rxscan556_done
- goto rxscan556_scan
- rxscan556_loop:
- ($P10) = rx551_cur."from"()
+ ne $I10, -1, rxscan532_done
+ goto rxscan532_scan
+ rxscan532_loop:
+ ($P10) = rx527_cur."from"()
inc $P10
- 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:
+ set rx527_pos, $P10
+ ge rx527_pos, rx527_eos, rxscan532_done
+ rxscan532_scan:
+ set_addr $I10, rxscan532_loop
+ rx527_cur."!mark_push"(0, rx527_pos, $I10)
+ rxscan532_done:
.annotate 'line', 261
# rx subcapture "sym"
- 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)
+ set_addr $I10, rxcap_534_fail
+ rx527_cur."!mark_push"(0, rx527_pos, $I10)
+ alt533_0:
+ set_addr $I10, alt533_1
+ rx527_cur."!mark_push"(0, rx527_pos, $I10)
# rx literal "class"
- 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:
+ add $I11, rx527_pos, 5
+ gt $I11, rx527_eos, rx527_fail
+ sub $I11, rx527_pos, rx527_off
+ substr $S10, rx527_tgt, $I11, 5
+ ne $S10, "class", rx527_fail
+ add rx527_pos, 5
+ goto alt533_end
+ alt533_1:
# rx literal "grammar"
- 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)
+ add $I11, rx527_pos, 7
+ gt $I11, rx527_eos, rx527_fail
+ sub $I11, rx527_pos, rx527_off
+ substr $S10, rx527_tgt, $I11, 7
+ ne $S10, "grammar", rx527_fail
+ add rx527_pos, 7
+ alt533_end:
+ set_addr $I10, rxcap_534_fail
+ ($I12, $I11) = rx527_cur."!mark_peek"($I10)
+ rx527_cur."!cursor_pos"($I11)
+ ($P10) = rx527_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx527_pos, "")
+ rx527_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_558_done
- rxcap_558_fail:
- goto rx551_fail
- rxcap_558_done:
+ goto rxcap_534_done
+ rxcap_534_fail:
+ goto rx527_fail
+ rxcap_534_done:
# rx subrule "package_def" subtype=capture negate=
- rx551_cur."!cursor_pos"(rx551_pos)
- $P10 = rx551_cur."package_def"()
- unless $P10, rx551_fail
- rx551_cur."!mark_push"(0, -1, 0, $P10)
+ rx527_cur."!cursor_pos"(rx527_pos)
+ $P10 = rx527_cur."package_def"()
+ unless $P10, rx527_fail
+ rx527_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("package_def")
- rx551_pos = $P10."pos"()
+ rx527_pos = $P10."pos"()
# rx pass
- rx551_cur."!cursor_pass"(rx551_pos, "package_declarator:sym<class>")
- rx551_cur."!cursor_debug"("PASS ", "package_declarator:sym<class>", " at pos=", rx551_pos)
- .return (rx551_cur)
- rx551_fail:
+ rx527_cur."!cursor_pass"(rx527_pos, "package_declarator:sym<class>")
+ rx527_cur."!cursor_debug"("PASS ", "package_declarator:sym<class>", " at pos=", rx527_pos)
+ .return (rx527_cur)
+ rx527_restart:
.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
+ rx527_cur."!cursor_debug"("NEXT ", "package_declarator:sym<class>")
+ 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
- rx551_done:
- rx551_cur."!cursor_fail"()
- rx551_cur."!cursor_debug"("FAIL ", "package_declarator:sym<class>")
- .return (rx551_cur)
+ rx527_done:
+ rx527_cur."!cursor_fail"()
+ rx527_cur."!cursor_debug"("FAIL ", "package_declarator:sym<class>")
+ .return (rx527_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>" :subid("135_1278500537.15927") :method
+.sub "!PREFIX__package_declarator:sym<class>" :subid("135_1279589170.0083") :method
.annotate 'line', 4
- $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)
+ $P529 = self."!PREFIX__!subrule"("package_def", "grammar")
+ $P530 = self."!PREFIX__!subrule"("package_def", "class")
+ new $P531, "ResizablePMCArray"
+ push $P531, $P529
+ push $P531, $P530
+ .return ($P531)
.end
.namespace ["NQP";"Grammar"]
-.sub "package_def" :subid("136_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "package_def" :subid("136_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx560_tgt
- .local int rx560_pos
- .local int rx560_off
- .local int rx560_eos
- .local int rx560_rep
- .local pmc rx560_cur
- (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
- rx560_cur."!cursor_debug"("START ", "package_def")
- rx560_cur."!cursor_caparray"("parent")
- .lex unicode:"$\x{a2}", rx560_cur
+ .local string rx536_tgt
+ .local int rx536_pos
+ .local int rx536_off
+ .local int rx536_eos
+ .local int rx536_rep
+ .local pmc rx536_cur
+ (rx536_cur, rx536_pos, rx536_tgt, $I10) = self."!cursor_start"()
+ rx536_cur."!cursor_caparray"("parent")
+ .lex unicode:"$\x{a2}", rx536_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx536_eos, rx536_tgt
+ gt rx536_pos, rx536_eos, rx536_done
+ set rx536_off, 0
+ lt rx536_pos, 2, rx536_start
+ sub rx536_off, rx536_pos, 1
+ substr rx536_tgt, rx536_tgt, rx536_off
+ rx536_start:
+ eq $I10, 1, rx536_restart
+ rx536_cur."!cursor_debug"("START ", "package_def")
$I10 = self.'from'()
- ne $I10, -1, rxscan564_done
- goto rxscan564_scan
- rxscan564_loop:
- ($P10) = rx560_cur."from"()
+ ne $I10, -1, rxscan540_done
+ goto rxscan540_scan
+ rxscan540_loop:
+ ($P10) = rx536_cur."from"()
inc $P10
- set rx560_pos, $P10
- ge rx560_pos, rx560_eos, rxscan564_done
- rxscan564_scan:
- set_addr $I10, rxscan564_loop
- rx560_cur."!mark_push"(0, rx560_pos, $I10)
- rxscan564_done:
+ set rx536_pos, $P10
+ ge rx536_pos, rx536_eos, rxscan540_done
+ rxscan540_scan:
+ set_addr $I10, rxscan540_loop
+ rx536_cur."!mark_push"(0, rx536_pos, $I10)
+ rxscan540_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"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
.annotate 'line', 264
# rx subrule "name" subtype=capture negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."name"()
- unless $P10, rx560_fail
- rx560_cur."!mark_push"(0, -1, 0, $P10)
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."name"()
+ unless $P10, rx536_fail
+ rx536_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("name")
- rx560_pos = $P10."pos"()
+ rx536_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_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=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ # rx rxquantr543 ** 0..1
+ set_addr $I10, rxquantr543_done
+ rx536_cur."!mark_push"(0, rx536_pos, $I10)
+ rxquantr543_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx literal "is"
- 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=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ add $I11, rx536_pos, 2
+ gt $I11, rx536_eos, rx536_fail
+ sub $I11, rx536_pos, rx536_off
+ substr $S10, rx536_tgt, $I11, 2
+ ne $S10, "is", rx536_fail
+ add rx536_pos, 2
+ # rx subrule "ws" subtype=method negate=
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx subrule "name" subtype=capture negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."name"()
- unless $P10, rx560_fail
- rx560_cur."!mark_push"(0, -1, 0, $P10)
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."name"()
+ unless $P10, rx536_fail
+ rx536_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("parent")
- rx560_pos = $P10."pos"()
+ rx536_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- 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=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
- alt573_0:
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ set_addr $I10, rxquantr543_done
+ (rx536_rep) = rx536_cur."!mark_commit"($I10)
+ rxquantr543_done:
+ # rx subrule "ws" subtype=method negate=
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ alt548_0:
.annotate 'line', 266
- set_addr $I10, alt573_1
- rx560_cur."!mark_push"(0, rx560_pos, $I10)
+ set_addr $I10, alt548_1
+ rx536_cur."!mark_push"(0, rx536_pos, $I10)
.annotate 'line', 267
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx literal ";"
- 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=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ add $I11, rx536_pos, 1
+ gt $I11, rx536_eos, rx536_fail
+ sub $I11, rx536_pos, rx536_off
+ substr $S10, rx536_tgt, $I11, 1
+ ne $S10, ";", rx536_fail
+ add rx536_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx subrule "comp_unit" subtype=capture negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."comp_unit"()
- unless $P10, rx560_fail
- rx560_cur."!mark_push"(0, -1, 0, $P10)
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."comp_unit"()
+ unless $P10, rx536_fail
+ rx536_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("comp_unit")
- rx560_pos = $P10."pos"()
+ rx536_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- 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)
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ goto alt548_end
+ alt548_1:
+ set_addr $I10, alt548_2
+ rx536_cur."!mark_push"(0, rx536_pos, $I10)
.annotate 'line', 268
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx enumcharlist negate=0 zerowidth
- ge rx560_pos, rx560_eos, rx560_fail
- sub $I10, rx560_pos, rx560_off
- substr $S10, rx560_tgt, $I10, 1
+ ge rx536_pos, rx536_eos, rx536_fail
+ sub $I10, rx536_pos, rx536_off
+ substr $S10, rx536_tgt, $I10, 1
index $I11, "{", $S10
- lt $I11, 0, rx560_fail
+ lt $I11, 0, rx536_fail
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx subrule "block" subtype=capture negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."block"()
- unless $P10, rx560_fail
- rx560_cur."!mark_push"(0, -1, 0, $P10)
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."block"()
+ unless $P10, rx536_fail
+ rx536_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("block")
- rx560_pos = $P10."pos"()
+ rx536_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
- goto alt573_end
- alt573_2:
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ goto alt548_end
+ alt548_2:
.annotate 'line', 269
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
# rx subrule "panic" subtype=method negate=
- 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=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
- alt573_end:
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."panic"("Malformed package declaration")
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
+ alt548_end:
.annotate 'line', 270
# rx subrule "ws" subtype=method negate=
- rx560_cur."!cursor_pos"(rx560_pos)
- $P10 = rx560_cur."ws"()
- unless $P10, rx560_fail
- rx560_pos = $P10."pos"()
+ rx536_cur."!cursor_pos"(rx536_pos)
+ $P10 = rx536_cur."ws"()
+ unless $P10, rx536_fail
+ rx536_pos = $P10."pos"()
.annotate 'line', 263
# rx pass
- rx560_cur."!cursor_pass"(rx560_pos, "package_def")
- rx560_cur."!cursor_debug"("PASS ", "package_def", " at pos=", rx560_pos)
- .return (rx560_cur)
- rx560_fail:
+ rx536_cur."!cursor_pass"(rx536_pos, "package_def")
+ rx536_cur."!cursor_debug"("PASS ", "package_def", " at pos=", rx536_pos)
+ .return (rx536_cur)
+ rx536_restart:
.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
+ rx536_cur."!cursor_debug"("NEXT ", "package_def")
+ rx536_fail:
+ (rx536_rep, rx536_pos, $I10, $P10) = rx536_cur."!mark_fail"(0)
+ lt rx536_pos, -1, rx536_done
+ eq rx536_pos, -1, rx536_fail
jump $I10
- rx560_done:
- rx560_cur."!cursor_fail"()
- rx560_cur."!cursor_debug"("FAIL ", "package_def")
- .return (rx560_cur)
+ rx536_done:
+ rx536_cur."!cursor_fail"()
+ rx536_cur."!cursor_debug"("FAIL ", "package_def")
+ .return (rx536_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def" :subid("137_1278500537.15927") :method
+.sub "!PREFIX__package_def" :subid("137_1279589170.0083") :method
.annotate 'line', 4
- $P562 = self."!PREFIX__!subrule"("ws", "")
- new $P563, "ResizablePMCArray"
- push $P563, $P562
- .return ($P563)
+ $P538 = self."!PREFIX__!subrule"("ws", "")
+ new $P539, "ResizablePMCArray"
+ push $P539, $P538
+ .return ($P539)
.end
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator" :subid("138_1278500537.15927") :method
+.sub "scope_declarator" :subid("138_1279589170.0083") :method
.annotate 'line', 273
- $P584 = self."!protoregex"("scope_declarator")
- .return ($P584)
+ $P559 = self."!protoregex"("scope_declarator")
+ .return ($P559)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator" :subid("139_1278500537.15927") :method
+.sub "!PREFIX__scope_declarator" :subid("139_1279589170.0083") :method
.annotate 'line', 273
- $P586 = self."!PREFIX__!protoregex"("scope_declarator")
- .return ($P586)
+ $P561 = self."!PREFIX__!protoregex"("scope_declarator")
+ .return ($P561)
.end
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>" :subid("140_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "scope_declarator:sym<my>" :subid("140_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<my>")
- .lex unicode:"$\x{a2}", rx588_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan592_done
- goto rxscan592_scan
- rxscan592_loop:
- ($P10) = rx588_cur."from"()
- inc $P10
- 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:
+ .local string rx563_tgt
+ .local int rx563_pos
+ .local int rx563_off
+ .local int rx563_eos
+ .local int rx563_rep
+ .local pmc rx563_cur
+ (rx563_cur, rx563_pos, rx563_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx563_cur
+ .local pmc match
+ .lex "$/", match
+ length rx563_eos, rx563_tgt
+ gt rx563_pos, rx563_eos, rx563_done
+ set rx563_off, 0
+ lt rx563_pos, 2, rx563_start
+ sub rx563_off, rx563_pos, 1
+ substr rx563_tgt, rx563_tgt, rx563_off
+ rx563_start:
+ eq $I10, 1, rx563_restart
+ rx563_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan567_done
+ goto rxscan567_scan
+ rxscan567_loop:
+ ($P10) = rx563_cur."from"()
+ inc $P10
+ set rx563_pos, $P10
+ ge rx563_pos, rx563_eos, rxscan567_done
+ rxscan567_scan:
+ set_addr $I10, rxscan567_loop
+ rx563_cur."!mark_push"(0, rx563_pos, $I10)
+ rxscan567_done:
.annotate 'line', 274
# rx subcapture "sym"
- set_addr $I10, rxcap_593_fail
- rx588_cur."!mark_push"(0, rx588_pos, $I10)
+ set_addr $I10, rxcap_568_fail
+ rx563_cur."!mark_push"(0, rx563_pos, $I10)
# rx literal "my"
- 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)
+ add $I11, rx563_pos, 2
+ gt $I11, rx563_eos, rx563_fail
+ sub $I11, rx563_pos, rx563_off
+ substr $S10, rx563_tgt, $I11, 2
+ ne $S10, "my", rx563_fail
+ add rx563_pos, 2
+ set_addr $I10, rxcap_568_fail
+ ($I12, $I11) = rx563_cur."!mark_peek"($I10)
+ rx563_cur."!cursor_pos"($I11)
+ ($P10) = rx563_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx563_pos, "")
+ rx563_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_593_done
- rxcap_593_fail:
- goto rx588_fail
- rxcap_593_done:
+ goto rxcap_568_done
+ rxcap_568_fail:
+ goto rx563_fail
+ rxcap_568_done:
# rx subrule "scoped" subtype=capture negate=
- rx588_cur."!cursor_pos"(rx588_pos)
- $P10 = rx588_cur."scoped"("my")
- unless $P10, rx588_fail
- rx588_cur."!mark_push"(0, -1, 0, $P10)
+ rx563_cur."!cursor_pos"(rx563_pos)
+ $P10 = rx563_cur."scoped"("my")
+ unless $P10, rx563_fail
+ rx563_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("scoped")
- rx588_pos = $P10."pos"()
+ rx563_pos = $P10."pos"()
# rx pass
- rx588_cur."!cursor_pass"(rx588_pos, "scope_declarator:sym<my>")
- rx588_cur."!cursor_debug"("PASS ", "scope_declarator:sym<my>", " at pos=", rx588_pos)
- .return (rx588_cur)
- rx588_fail:
+ rx563_cur."!cursor_pass"(rx563_pos, "scope_declarator:sym<my>")
+ rx563_cur."!cursor_debug"("PASS ", "scope_declarator:sym<my>", " at pos=", rx563_pos)
+ .return (rx563_cur)
+ rx563_restart:
.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
+ rx563_cur."!cursor_debug"("NEXT ", "scope_declarator:sym<my>")
+ rx563_fail:
+ (rx563_rep, rx563_pos, $I10, $P10) = rx563_cur."!mark_fail"(0)
+ lt rx563_pos, -1, rx563_done
+ eq rx563_pos, -1, rx563_fail
jump $I10
- rx588_done:
- rx588_cur."!cursor_fail"()
- rx588_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<my>")
- .return (rx588_cur)
+ rx563_done:
+ rx563_cur."!cursor_fail"()
+ rx563_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<my>")
+ .return (rx563_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>" :subid("141_1278500537.15927") :method
+.sub "!PREFIX__scope_declarator:sym<my>" :subid("141_1279589170.0083") :method
.annotate 'line', 4
- $P590 = self."!PREFIX__!subrule"("scoped", "my")
- new $P591, "ResizablePMCArray"
- push $P591, $P590
- .return ($P591)
+ $P565 = self."!PREFIX__!subrule"("scoped", "my")
+ new $P566, "ResizablePMCArray"
+ push $P566, $P565
+ .return ($P566)
.end
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>" :subid("142_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "scope_declarator:sym<our>" :subid("142_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx595_tgt
- .local int rx595_pos
- .local int rx595_off
- .local int rx595_eos
- .local int rx595_rep
- .local pmc rx595_cur
- (rx595_cur, rx595_pos, rx595_tgt) = self."!cursor_start"()
- rx595_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
- .lex unicode:"$\x{a2}", rx595_cur
+ .local string rx570_tgt
+ .local int rx570_pos
+ .local int rx570_off
+ .local int rx570_eos
+ .local int rx570_rep
+ .local pmc rx570_cur
+ (rx570_cur, rx570_pos, rx570_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx570_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx570_eos, rx570_tgt
+ gt rx570_pos, rx570_eos, rx570_done
+ set rx570_off, 0
+ lt rx570_pos, 2, rx570_start
+ sub rx570_off, rx570_pos, 1
+ substr rx570_tgt, rx570_tgt, rx570_off
+ rx570_start:
+ eq $I10, 1, rx570_restart
+ rx570_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
$I10 = self.'from'()
- ne $I10, -1, rxscan599_done
- goto rxscan599_scan
- rxscan599_loop:
- ($P10) = rx595_cur."from"()
+ ne $I10, -1, rxscan574_done
+ goto rxscan574_scan
+ rxscan574_loop:
+ ($P10) = rx570_cur."from"()
inc $P10
- set rx595_pos, $P10
- ge rx595_pos, rx595_eos, rxscan599_done
- rxscan599_scan:
- set_addr $I10, rxscan599_loop
- rx595_cur."!mark_push"(0, rx595_pos, $I10)
- rxscan599_done:
+ set rx570_pos, $P10
+ ge rx570_pos, rx570_eos, rxscan574_done
+ rxscan574_scan:
+ set_addr $I10, rxscan574_loop
+ rx570_cur."!mark_push"(0, rx570_pos, $I10)
+ rxscan574_done:
.annotate 'line', 275
# rx subcapture "sym"
- set_addr $I10, rxcap_600_fail
- rx595_cur."!mark_push"(0, rx595_pos, $I10)
+ set_addr $I10, rxcap_575_fail
+ rx570_cur."!mark_push"(0, rx570_pos, $I10)
# rx literal "our"
- 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)
+ add $I11, rx570_pos, 3
+ gt $I11, rx570_eos, rx570_fail
+ sub $I11, rx570_pos, rx570_off
+ substr $S10, rx570_tgt, $I11, 3
+ ne $S10, "our", rx570_fail
+ add rx570_pos, 3
+ set_addr $I10, rxcap_575_fail
+ ($I12, $I11) = rx570_cur."!mark_peek"($I10)
+ rx570_cur."!cursor_pos"($I11)
+ ($P10) = rx570_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx570_pos, "")
+ rx570_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_600_done
- rxcap_600_fail:
- goto rx595_fail
- rxcap_600_done:
+ goto rxcap_575_done
+ rxcap_575_fail:
+ goto rx570_fail
+ rxcap_575_done:
# rx subrule "scoped" subtype=capture negate=
- rx595_cur."!cursor_pos"(rx595_pos)
- $P10 = rx595_cur."scoped"("our")
- unless $P10, rx595_fail
- rx595_cur."!mark_push"(0, -1, 0, $P10)
+ rx570_cur."!cursor_pos"(rx570_pos)
+ $P10 = rx570_cur."scoped"("our")
+ unless $P10, rx570_fail
+ rx570_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("scoped")
- rx595_pos = $P10."pos"()
+ rx570_pos = $P10."pos"()
# rx pass
- rx595_cur."!cursor_pass"(rx595_pos, "scope_declarator:sym<our>")
- rx595_cur."!cursor_debug"("PASS ", "scope_declarator:sym<our>", " at pos=", rx595_pos)
- .return (rx595_cur)
- rx595_fail:
+ rx570_cur."!cursor_pass"(rx570_pos, "scope_declarator:sym<our>")
+ rx570_cur."!cursor_debug"("PASS ", "scope_declarator:sym<our>", " at pos=", rx570_pos)
+ .return (rx570_cur)
+ rx570_restart:
.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
+ rx570_cur."!cursor_debug"("NEXT ", "scope_declarator:sym<our>")
+ rx570_fail:
+ (rx570_rep, rx570_pos, $I10, $P10) = rx570_cur."!mark_fail"(0)
+ lt rx570_pos, -1, rx570_done
+ eq rx570_pos, -1, rx570_fail
jump $I10
- rx595_done:
- rx595_cur."!cursor_fail"()
- rx595_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<our>")
- .return (rx595_cur)
+ rx570_done:
+ rx570_cur."!cursor_fail"()
+ rx570_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<our>")
+ .return (rx570_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>" :subid("143_1278500537.15927") :method
+.sub "!PREFIX__scope_declarator:sym<our>" :subid("143_1279589170.0083") :method
.annotate 'line', 4
- $P597 = self."!PREFIX__!subrule"("scoped", "our")
- new $P598, "ResizablePMCArray"
- push $P598, $P597
- .return ($P598)
+ $P572 = self."!PREFIX__!subrule"("scoped", "our")
+ new $P573, "ResizablePMCArray"
+ push $P573, $P572
+ .return ($P573)
.end
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>" :subid("144_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "scope_declarator:sym<has>" :subid("144_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx602_tgt
- .local int rx602_pos
- .local int rx602_off
- .local int rx602_eos
- .local int rx602_rep
- .local pmc rx602_cur
- (rx602_cur, rx602_pos, rx602_tgt) = self."!cursor_start"()
- rx602_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
- .lex unicode:"$\x{a2}", rx602_cur
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx577_cur
.local pmc match
.lex "$/", match
- 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:
+ 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:
+ eq $I10, 1, rx577_restart
+ rx577_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
$I10 = self.'from'()
- ne $I10, -1, rxscan606_done
- goto rxscan606_scan
- rxscan606_loop:
- ($P10) = rx602_cur."from"()
+ ne $I10, -1, rxscan581_done
+ goto rxscan581_scan
+ rxscan581_loop:
+ ($P10) = rx577_cur."from"()
inc $P10
- set rx602_pos, $P10
- ge rx602_pos, rx602_eos, rxscan606_done
- rxscan606_scan:
- set_addr $I10, rxscan606_loop
- rx602_cur."!mark_push"(0, rx602_pos, $I10)
- rxscan606_done:
+ 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', 276
# rx subcapture "sym"
- set_addr $I10, rxcap_607_fail
- rx602_cur."!mark_push"(0, rx602_pos, $I10)
+ set_addr $I10, rxcap_582_fail
+ rx577_cur."!mark_push"(0, rx577_pos, $I10)
# rx literal "has"
- 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)
+ add $I11, rx577_pos, 3
+ gt $I11, rx577_eos, rx577_fail
+ sub $I11, rx577_pos, rx577_off
+ substr $S10, rx577_tgt, $I11, 3
+ ne $S10, "has", rx577_fail
+ add rx577_pos, 3
+ 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)
$P10."!cursor_names"("sym")
- goto rxcap_607_done
- rxcap_607_fail:
- goto rx602_fail
- rxcap_607_done:
+ goto rxcap_582_done
+ rxcap_582_fail:
+ goto rx577_fail
+ rxcap_582_done:
# rx subrule "scoped" subtype=capture negate=
- rx602_cur."!cursor_pos"(rx602_pos)
- $P10 = rx602_cur."scoped"("has")
- unless $P10, rx602_fail
- rx602_cur."!mark_push"(0, -1, 0, $P10)
+ rx577_cur."!cursor_pos"(rx577_pos)
+ $P10 = rx577_cur."scoped"("has")
+ unless $P10, rx577_fail
+ rx577_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("scoped")
- rx602_pos = $P10."pos"()
+ rx577_pos = $P10."pos"()
# rx pass
- rx602_cur."!cursor_pass"(rx602_pos, "scope_declarator:sym<has>")
- rx602_cur."!cursor_debug"("PASS ", "scope_declarator:sym<has>", " at pos=", rx602_pos)
- .return (rx602_cur)
- rx602_fail:
+ rx577_cur."!cursor_pass"(rx577_pos, "scope_declarator:sym<has>")
+ rx577_cur."!cursor_debug"("PASS ", "scope_declarator:sym<has>", " at pos=", rx577_pos)
+ .return (rx577_cur)
+ rx577_restart:
.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
+ rx577_cur."!cursor_debug"("NEXT ", "scope_declarator:sym<has>")
+ rx577_fail:
+ (rx577_rep, rx577_pos, $I10, $P10) = rx577_cur."!mark_fail"(0)
+ lt rx577_pos, -1, rx577_done
+ eq rx577_pos, -1, rx577_fail
jump $I10
- rx602_done:
- rx602_cur."!cursor_fail"()
- rx602_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<has>")
- .return (rx602_cur)
+ rx577_done:
+ rx577_cur."!cursor_fail"()
+ rx577_cur."!cursor_debug"("FAIL ", "scope_declarator:sym<has>")
+ .return (rx577_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>" :subid("145_1278500537.15927") :method
+.sub "!PREFIX__scope_declarator:sym<has>" :subid("145_1279589170.0083") :method
.annotate 'line', 4
- $P604 = self."!PREFIX__!subrule"("scoped", "has")
- new $P605, "ResizablePMCArray"
- push $P605, $P604
- .return ($P605)
+ $P579 = self."!PREFIX__!subrule"("scoped", "has")
+ new $P580, "ResizablePMCArray"
+ push $P580, $P579
+ .return ($P580)
.end
.namespace ["NQP";"Grammar"]
-.sub "scoped" :subid("146_1278500537.15927") :method :outer("11_1278500537.15927")
- .param pmc param_609
+.sub "scoped" :subid("146_1279589170.0083") :method :outer("11_1279589170.0083")
+ .param pmc param_584
.annotate 'line', 278
- .lex "$*SCOPE", param_609
+ .lex "$*SCOPE", param_584
.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 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, rxscan615_done
- goto rxscan615_scan
- rxscan615_loop:
- ($P10) = rx610_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .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:
+ eq $I10, 1, rx585_restart
+ rx585_cur."!cursor_debug"("START ", "scoped")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan590_done
+ goto rxscan590_scan
+ rxscan590_loop:
+ ($P10) = rx585_cur."from"()
+ inc $P10
+ set rx585_pos, $P10
+ ge rx585_pos, rx585_eos, rxscan590_done
+ rxscan590_scan:
+ set_addr $I10, rxscan590_loop
+ rx585_cur."!mark_push"(0, rx585_pos, $I10)
+ rxscan590_done:
+ alt591_0:
.annotate 'line', 278
- set_addr $I10, alt616_1
- rx610_cur."!mark_push"(0, rx610_pos, $I10)
+ set_addr $I10, alt591_1
+ rx585_cur."!mark_push"(0, rx585_pos, $I10)
.annotate 'line', 279
# rx subrule "ws" subtype=method negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."ws"()
- unless $P10, rx610_fail
- rx610_pos = $P10."pos"()
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."ws"()
+ unless $P10, rx585_fail
+ rx585_pos = $P10."pos"()
# rx subrule "declarator" subtype=capture negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."declarator"()
- unless $P10, rx610_fail
- rx610_cur."!mark_push"(0, -1, 0, $P10)
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."declarator"()
+ unless $P10, rx585_fail
+ rx585_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("declarator")
- rx610_pos = $P10."pos"()
+ rx585_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."ws"()
- unless $P10, rx610_fail
- rx610_pos = $P10."pos"()
- goto alt616_end
- alt616_1:
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."ws"()
+ unless $P10, rx585_fail
+ rx585_pos = $P10."pos"()
+ goto alt591_end
+ alt591_1:
.annotate 'line', 280
# rx subrule "ws" subtype=method negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."ws"()
- unless $P10, rx610_fail
- rx610_pos = $P10."pos"()
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."ws"()
+ unless $P10, rx585_fail
+ rx585_pos = $P10."pos"()
# rx subrule "multi_declarator" subtype=capture negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."multi_declarator"()
- unless $P10, rx610_fail
- rx610_cur."!mark_push"(0, -1, 0, $P10)
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."multi_declarator"()
+ unless $P10, rx585_fail
+ rx585_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("multi_declarator")
- rx610_pos = $P10."pos"()
+ rx585_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx610_cur."!cursor_pos"(rx610_pos)
- $P10 = rx610_cur."ws"()
- unless $P10, rx610_fail
- rx610_pos = $P10."pos"()
- alt616_end:
+ rx585_cur."!cursor_pos"(rx585_pos)
+ $P10 = rx585_cur."ws"()
+ unless $P10, rx585_fail
+ rx585_pos = $P10."pos"()
+ alt591_end:
.annotate 'line', 278
# rx pass
- rx610_cur."!cursor_pass"(rx610_pos, "scoped")
- rx610_cur."!cursor_debug"("PASS ", "scoped", " at pos=", rx610_pos)
- .return (rx610_cur)
- rx610_fail:
+ rx585_cur."!cursor_pass"(rx585_pos, "scoped")
+ rx585_cur."!cursor_debug"("PASS ", "scoped", " at pos=", rx585_pos)
+ .return (rx585_cur)
+ rx585_restart:
.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
+ rx585_cur."!cursor_debug"("NEXT ", "scoped")
+ rx585_fail:
+ (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
- rx610_done:
- rx610_cur."!cursor_fail"()
- rx610_cur."!cursor_debug"("FAIL ", "scoped")
- .return (rx610_cur)
+ rx585_done:
+ rx585_cur."!cursor_fail"()
+ rx585_cur."!cursor_debug"("FAIL ", "scoped")
+ .return (rx585_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped" :subid("147_1278500537.15927") :method
+.sub "!PREFIX__scoped" :subid("147_1279589170.0083") :method
.annotate 'line', 4
- $P612 = self."!PREFIX__!subrule"("ws", "")
- $P613 = self."!PREFIX__!subrule"("ws", "")
- new $P614, "ResizablePMCArray"
- push $P614, $P612
- push $P614, $P613
- .return ($P614)
+ $P587 = self."!PREFIX__!subrule"("ws", "")
+ $P588 = self."!PREFIX__!subrule"("ws", "")
+ new $P589, "ResizablePMCArray"
+ push $P589, $P587
+ push $P589, $P588
+ .return ($P589)
.end
.namespace ["NQP";"Grammar"]
-.sub "typename" :subid("148_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "typename" :subid("148_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 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, rxscan626_done
- goto rxscan626_scan
- rxscan626_loop:
- ($P10) = rx622_cur."from"()
- inc $P10
- 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:
+ .local string rx597_tgt
+ .local int rx597_pos
+ .local int rx597_off
+ .local int rx597_eos
+ .local int rx597_rep
+ .local pmc rx597_cur
+ (rx597_cur, rx597_pos, rx597_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx597_cur
+ .local pmc match
+ .lex "$/", match
+ length rx597_eos, rx597_tgt
+ gt rx597_pos, rx597_eos, rx597_done
+ set rx597_off, 0
+ lt rx597_pos, 2, rx597_start
+ sub rx597_off, rx597_pos, 1
+ substr rx597_tgt, rx597_tgt, rx597_off
+ rx597_start:
+ eq $I10, 1, rx597_restart
+ rx597_cur."!cursor_debug"("START ", "typename")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan601_done
+ goto rxscan601_scan
+ rxscan601_loop:
+ ($P10) = rx597_cur."from"()
+ inc $P10
+ set rx597_pos, $P10
+ ge rx597_pos, rx597_eos, rxscan601_done
+ rxscan601_scan:
+ set_addr $I10, rxscan601_loop
+ rx597_cur."!mark_push"(0, rx597_pos, $I10)
+ rxscan601_done:
.annotate 'line', 283
# rx subrule "name" subtype=capture negate=
- rx622_cur."!cursor_pos"(rx622_pos)
- $P10 = rx622_cur."name"()
- unless $P10, rx622_fail
- rx622_cur."!mark_push"(0, -1, 0, $P10)
+ rx597_cur."!cursor_pos"(rx597_pos)
+ $P10 = rx597_cur."name"()
+ unless $P10, rx597_fail
+ rx597_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("name")
- rx622_pos = $P10."pos"()
+ rx597_pos = $P10."pos"()
# rx pass
- rx622_cur."!cursor_pass"(rx622_pos, "typename")
- rx622_cur."!cursor_debug"("PASS ", "typename", " at pos=", rx622_pos)
- .return (rx622_cur)
- rx622_fail:
+ rx597_cur."!cursor_pass"(rx597_pos, "typename")
+ rx597_cur."!cursor_debug"("PASS ", "typename", " at pos=", rx597_pos)
+ .return (rx597_cur)
+ rx597_restart:
.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
+ rx597_cur."!cursor_debug"("NEXT ", "typename")
+ rx597_fail:
+ (rx597_rep, rx597_pos, $I10, $P10) = rx597_cur."!mark_fail"(0)
+ lt rx597_pos, -1, rx597_done
+ eq rx597_pos, -1, rx597_fail
jump $I10
- rx622_done:
- rx622_cur."!cursor_fail"()
- rx622_cur."!cursor_debug"("FAIL ", "typename")
- .return (rx622_cur)
+ rx597_done:
+ rx597_cur."!cursor_fail"()
+ rx597_cur."!cursor_debug"("FAIL ", "typename")
+ .return (rx597_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename" :subid("149_1278500537.15927") :method
+.sub "!PREFIX__typename" :subid("149_1279589170.0083") :method
.annotate 'line', 4
- $P624 = self."!PREFIX__!subrule"("name", "")
- new $P625, "ResizablePMCArray"
- push $P625, $P624
- .return ($P625)
+ $P599 = self."!PREFIX__!subrule"("name", "")
+ new $P600, "ResizablePMCArray"
+ push $P600, $P599
+ .return ($P600)
.end
.namespace ["NQP";"Grammar"]
-.sub "declarator" :subid("150_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "declarator" :subid("150_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 string rx603_tgt
+ .local int rx603_pos
+ .local int rx603_off
+ .local int rx603_eos
+ .local int rx603_rep
+ .local pmc rx603_cur
+ (rx603_cur, rx603_pos, rx603_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx603_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx603_eos, rx603_tgt
+ gt rx603_pos, rx603_eos, rx603_done
+ set rx603_off, 0
+ lt rx603_pos, 2, rx603_start
+ sub rx603_off, rx603_pos, 1
+ substr rx603_tgt, rx603_tgt, rx603_off
+ rx603_start:
+ eq $I10, 1, rx603_restart
+ rx603_cur."!cursor_debug"("START ", "declarator")
$I10 = self.'from'()
- ne $I10, -1, rxscan633_done
- goto rxscan633_scan
- rxscan633_loop:
- ($P10) = rx628_cur."from"()
+ ne $I10, -1, rxscan608_done
+ goto rxscan608_scan
+ rxscan608_loop:
+ ($P10) = rx603_cur."from"()
inc $P10
- 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:
+ set rx603_pos, $P10
+ ge rx603_pos, rx603_eos, rxscan608_done
+ rxscan608_scan:
+ set_addr $I10, rxscan608_loop
+ rx603_cur."!mark_push"(0, rx603_pos, $I10)
+ rxscan608_done:
+ alt609_0:
.annotate 'line', 285
- set_addr $I10, alt634_1
- rx628_cur."!mark_push"(0, rx628_pos, $I10)
+ set_addr $I10, alt609_1
+ rx603_cur."!mark_push"(0, rx603_pos, $I10)
.annotate 'line', 286
# rx subrule "variable_declarator" subtype=capture negate=
- rx628_cur."!cursor_pos"(rx628_pos)
- $P10 = rx628_cur."variable_declarator"()
- unless $P10, rx628_fail
- rx628_cur."!mark_push"(0, -1, 0, $P10)
+ rx603_cur."!cursor_pos"(rx603_pos)
+ $P10 = rx603_cur."variable_declarator"()
+ unless $P10, rx603_fail
+ rx603_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("variable_declarator")
- rx628_pos = $P10."pos"()
- goto alt634_end
- alt634_1:
+ rx603_pos = $P10."pos"()
+ goto alt609_end
+ alt609_1:
.annotate 'line', 287
# rx subrule "routine_declarator" subtype=capture negate=
- rx628_cur."!cursor_pos"(rx628_pos)
- $P10 = rx628_cur."routine_declarator"()
- unless $P10, rx628_fail
- rx628_cur."!mark_push"(0, -1, 0, $P10)
+ rx603_cur."!cursor_pos"(rx603_pos)
+ $P10 = rx603_cur."routine_declarator"()
+ unless $P10, rx603_fail
+ rx603_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("routine_declarator")
- rx628_pos = $P10."pos"()
- alt634_end:
+ rx603_pos = $P10."pos"()
+ alt609_end:
.annotate 'line', 285
# rx pass
- rx628_cur."!cursor_pass"(rx628_pos, "declarator")
- rx628_cur."!cursor_debug"("PASS ", "declarator", " at pos=", rx628_pos)
- .return (rx628_cur)
- rx628_fail:
+ rx603_cur."!cursor_pass"(rx603_pos, "declarator")
+ rx603_cur."!cursor_debug"("PASS ", "declarator", " at pos=", rx603_pos)
+ .return (rx603_cur)
+ rx603_restart:
.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
+ rx603_cur."!cursor_debug"("NEXT ", "declarator")
+ rx603_fail:
+ (rx603_rep, rx603_pos, $I10, $P10) = rx603_cur."!mark_fail"(0)
+ lt rx603_pos, -1, rx603_done
+ eq rx603_pos, -1, rx603_fail
jump $I10
- rx628_done:
- rx628_cur."!cursor_fail"()
- rx628_cur."!cursor_debug"("FAIL ", "declarator")
- .return (rx628_cur)
+ rx603_done:
+ rx603_cur."!cursor_fail"()
+ rx603_cur."!cursor_debug"("FAIL ", "declarator")
+ .return (rx603_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator" :subid("151_1278500537.15927") :method
+.sub "!PREFIX__declarator" :subid("151_1279589170.0083") :method
.annotate 'line', 4
- $P630 = self."!PREFIX__!subrule"("routine_declarator", "")
- $P631 = self."!PREFIX__!subrule"("variable_declarator", "")
- new $P632, "ResizablePMCArray"
- push $P632, $P630
- push $P632, $P631
- .return ($P632)
+ $P605 = self."!PREFIX__!subrule"("routine_declarator", "")
+ $P606 = self."!PREFIX__!subrule"("variable_declarator", "")
+ new $P607, "ResizablePMCArray"
+ push $P607, $P605
+ push $P607, $P606
+ .return ($P607)
.end
.namespace ["NQP";"Grammar"]
-.sub "variable_declarator" :subid("152_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan640_done
- goto rxscan640_scan
- rxscan640_loop:
- ($P10) = rx636_cur."from"()
- inc $P10
- 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:
+.sub "variable_declarator" :subid("152_1279589170.0083") :method :outer("11_1279589170.0083")
+.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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx611_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:
+ eq $I10, 1, rx611_restart
+ rx611_cur."!cursor_debug"("START ", "variable_declarator")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan615_done
+ goto rxscan615_scan
+ rxscan615_loop:
+ ($P10) = rx611_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', 290
# rx subrule "variable" subtype=capture negate=
- rx636_cur."!cursor_pos"(rx636_pos)
- $P10 = rx636_cur."variable"()
- unless $P10, rx636_fail
- rx636_cur."!mark_push"(0, -1, 0, $P10)
+ rx611_cur."!cursor_pos"(rx611_pos)
+ $P10 = rx611_cur."variable"()
+ unless $P10, rx611_fail
+ rx611_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("variable")
- rx636_pos = $P10."pos"()
+ rx611_pos = $P10."pos"()
# rx pass
- rx636_cur."!cursor_pass"(rx636_pos, "variable_declarator")
- rx636_cur."!cursor_debug"("PASS ", "variable_declarator", " at pos=", rx636_pos)
- .return (rx636_cur)
- rx636_fail:
+ rx611_cur."!cursor_pass"(rx611_pos, "variable_declarator")
+ rx611_cur."!cursor_debug"("PASS ", "variable_declarator", " at pos=", rx611_pos)
+ .return (rx611_cur)
+ rx611_restart:
.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
+ rx611_cur."!cursor_debug"("NEXT ", "variable_declarator")
+ rx611_fail:
+ (rx611_rep, rx611_pos, $I10, $P10) = rx611_cur."!mark_fail"(0)
+ lt rx611_pos, -1, rx611_done
+ eq rx611_pos, -1, rx611_fail
jump $I10
- rx636_done:
- rx636_cur."!cursor_fail"()
- rx636_cur."!cursor_debug"("FAIL ", "variable_declarator")
- .return (rx636_cur)
+ rx611_done:
+ rx611_cur."!cursor_fail"()
+ rx611_cur."!cursor_debug"("FAIL ", "variable_declarator")
+ .return (rx611_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator" :subid("153_1278500537.15927") :method
+.sub "!PREFIX__variable_declarator" :subid("153_1279589170.0083") :method
.annotate 'line', 4
- $P638 = self."!PREFIX__!subrule"("variable", "")
- new $P639, "ResizablePMCArray"
- push $P639, $P638
- .return ($P639)
+ $P613 = self."!PREFIX__!subrule"("variable", "")
+ new $P614, "ResizablePMCArray"
+ push $P614, $P613
+ .return ($P614)
.end
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator" :subid("154_1278500537.15927") :method
+.sub "routine_declarator" :subid("154_1279589170.0083") :method
.annotate 'line', 292
- $P642 = self."!protoregex"("routine_declarator")
- .return ($P642)
+ $P617 = self."!protoregex"("routine_declarator")
+ .return ($P617)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator" :subid("155_1278500537.15927") :method
+.sub "!PREFIX__routine_declarator" :subid("155_1279589170.0083") :method
.annotate 'line', 292
- $P644 = self."!PREFIX__!protoregex"("routine_declarator")
- .return ($P644)
+ $P619 = self."!PREFIX__!protoregex"("routine_declarator")
+ .return ($P619)
.end
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>" :subid("156_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "routine_declarator:sym<sub>" :subid("156_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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<sub>")
- .lex unicode:"$\x{a2}", rx646_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan650_done
- goto rxscan650_scan
- rxscan650_loop:
- ($P10) = rx646_cur."from"()
- inc $P10
- 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:
+ .local string rx621_tgt
+ .local int rx621_pos
+ .local int rx621_off
+ .local int rx621_eos
+ .local int rx621_rep
+ .local pmc rx621_cur
+ (rx621_cur, rx621_pos, rx621_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx621_cur
+ .local pmc match
+ .lex "$/", match
+ length rx621_eos, rx621_tgt
+ gt rx621_pos, rx621_eos, rx621_done
+ set rx621_off, 0
+ lt rx621_pos, 2, rx621_start
+ sub rx621_off, rx621_pos, 1
+ substr rx621_tgt, rx621_tgt, rx621_off
+ rx621_start:
+ eq $I10, 1, rx621_restart
+ rx621_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan625_done
+ goto rxscan625_scan
+ rxscan625_loop:
+ ($P10) = rx621_cur."from"()
+ inc $P10
+ set rx621_pos, $P10
+ ge rx621_pos, rx621_eos, rxscan625_done
+ rxscan625_scan:
+ set_addr $I10, rxscan625_loop
+ rx621_cur."!mark_push"(0, rx621_pos, $I10)
+ rxscan625_done:
.annotate 'line', 293
# rx subcapture "sym"
- set_addr $I10, rxcap_651_fail
- rx646_cur."!mark_push"(0, rx646_pos, $I10)
+ set_addr $I10, rxcap_626_fail
+ rx621_cur."!mark_push"(0, rx621_pos, $I10)
# rx literal "sub"
- 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)
+ add $I11, rx621_pos, 3
+ gt $I11, rx621_eos, rx621_fail
+ sub $I11, rx621_pos, rx621_off
+ substr $S10, rx621_tgt, $I11, 3
+ ne $S10, "sub", rx621_fail
+ add rx621_pos, 3
+ set_addr $I10, rxcap_626_fail
+ ($I12, $I11) = rx621_cur."!mark_peek"($I10)
+ rx621_cur."!cursor_pos"($I11)
+ ($P10) = rx621_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx621_pos, "")
+ rx621_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_651_done
- rxcap_651_fail:
- goto rx646_fail
- rxcap_651_done:
+ goto rxcap_626_done
+ rxcap_626_fail:
+ goto rx621_fail
+ rxcap_626_done:
# rx subrule "routine_def" subtype=capture negate=
- rx646_cur."!cursor_pos"(rx646_pos)
- $P10 = rx646_cur."routine_def"()
- unless $P10, rx646_fail
- rx646_cur."!mark_push"(0, -1, 0, $P10)
+ rx621_cur."!cursor_pos"(rx621_pos)
+ $P10 = rx621_cur."routine_def"()
+ unless $P10, rx621_fail
+ rx621_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("routine_def")
- rx646_pos = $P10."pos"()
+ rx621_pos = $P10."pos"()
# rx pass
- rx646_cur."!cursor_pass"(rx646_pos, "routine_declarator:sym<sub>")
- rx646_cur."!cursor_debug"("PASS ", "routine_declarator:sym<sub>", " at pos=", rx646_pos)
- .return (rx646_cur)
- rx646_fail:
+ rx621_cur."!cursor_pass"(rx621_pos, "routine_declarator:sym<sub>")
+ rx621_cur."!cursor_debug"("PASS ", "routine_declarator:sym<sub>", " at pos=", rx621_pos)
+ .return (rx621_cur)
+ rx621_restart:
.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
+ rx621_cur."!cursor_debug"("NEXT ", "routine_declarator:sym<sub>")
+ rx621_fail:
+ (rx621_rep, rx621_pos, $I10, $P10) = rx621_cur."!mark_fail"(0)
+ lt rx621_pos, -1, rx621_done
+ eq rx621_pos, -1, rx621_fail
jump $I10
- rx646_done:
- rx646_cur."!cursor_fail"()
- rx646_cur."!cursor_debug"("FAIL ", "routine_declarator:sym<sub>")
- .return (rx646_cur)
+ rx621_done:
+ rx621_cur."!cursor_fail"()
+ rx621_cur."!cursor_debug"("FAIL ", "routine_declarator:sym<sub>")
+ .return (rx621_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>" :subid("157_1278500537.15927") :method
+.sub "!PREFIX__routine_declarator:sym<sub>" :subid("157_1279589170.0083") :method
.annotate 'line', 4
- $P648 = self."!PREFIX__!subrule"("routine_def", "sub")
- new $P649, "ResizablePMCArray"
- push $P649, $P648
- .return ($P649)
+ $P623 = self."!PREFIX__!subrule"("routine_def", "sub")
+ new $P624, "ResizablePMCArray"
+ push $P624, $P623
+ .return ($P624)
.end
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>" :subid("158_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "routine_declarator:sym<method>" :subid("158_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .local string rx653_tgt
- .local int rx653_pos
- .local int rx653_off
- .local int rx653_eos
- .local int rx653_rep
- .local pmc rx653_cur
- (rx653_cur, rx653_pos, rx653_tgt) = self."!cursor_start"()
- rx653_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
- .lex unicode:"$\x{a2}", rx653_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan657_done
- goto rxscan657_scan
- rxscan657_loop:
- ($P10) = rx653_cur."from"()
- inc $P10
- 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:
+ .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, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx628_cur
+ .local pmc match
+ .lex "$/", match
+ 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:
+ eq $I10, 1, rx628_restart
+ rx628_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan632_done
+ goto rxscan632_scan
+ rxscan632_loop:
+ ($P10) = rx628_cur."from"()
+ inc $P10
+ set rx628_pos, $P10
+ ge rx628_pos, rx628_eos, rxscan632_done
+ rxscan632_scan:
+ set_addr $I10, rxscan632_loop
+ rx628_cur."!mark_push"(0, rx628_pos, $I10)
+ rxscan632_done:
.annotate 'line', 294
# rx subcapture "sym"
- set_addr $I10, rxcap_658_fail
- rx653_cur."!mark_push"(0, rx653_pos, $I10)
+ set_addr $I10, rxcap_633_fail
+ rx628_cur."!mark_push"(0, rx628_pos, $I10)
# rx literal "method"
- 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)
+ add $I11, rx628_pos, 6
+ gt $I11, rx628_eos, rx628_fail
+ sub $I11, rx628_pos, rx628_off
+ substr $S10, rx628_tgt, $I11, 6
+ ne $S10, "method", rx628_fail
+ add rx628_pos, 6
+ set_addr $I10, rxcap_633_fail
+ ($I12, $I11) = rx628_cur."!mark_peek"($I10)
+ rx628_cur."!cursor_pos"($I11)
+ ($P10) = rx628_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx628_pos, "")
+ rx628_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_658_done
- rxcap_658_fail:
- goto rx653_fail
- rxcap_658_done:
+ goto rxcap_633_done
+ rxcap_633_fail:
+ goto rx628_fail
+ rxcap_633_done:
# rx subrule "method_def" subtype=capture negate=
- rx653_cur."!cursor_pos"(rx653_pos)
- $P10 = rx653_cur."method_def"()
- unless $P10, rx653_fail
- rx653_cur."!mark_push"(0, -1, 0, $P10)
+ rx628_cur."!cursor_pos"(rx628_pos)
+ $P10 = rx628_cur."method_def"()
+ unless $P10, rx628_fail
+ rx628_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("method_def")
- rx653_pos = $P10."pos"()
+ rx628_pos = $P10."pos"()
# rx pass
- rx653_cur."!cursor_pass"(rx653_pos, "routine_declarator:sym<method>")
- rx653_cur."!cursor_debug"("PASS ", "routine_declarator:sym<method>", " at pos=", rx653_pos)
- .return (rx653_cur)
- rx653_fail:
+ rx628_cur."!cursor_pass"(rx628_pos, "routine_declarator:sym<method>")
+ rx628_cur."!cursor_debug"("PASS ", "routine_declarator:sym<method>", " at pos=", rx628_pos)
+ .return (rx628_cur)
+ rx628_restart:
.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
+ rx628_cur."!cursor_debug"("NEXT ", "routine_declarator:sym<method>")
+ rx628_fail:
+ (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
- rx653_done:
- rx653_cur."!cursor_fail"()
- rx653_cur."!cursor_debug"("FAIL ", "routine_declarator:sym<method>")
- .return (rx653_cur)
+ rx628_done:
+ rx628_cur."!cursor_fail"()
+ rx628_cur."!cursor_debug"("FAIL ", "routine_declarator:sym<method>")
+ .return (rx628_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>" :subid("159_1278500537.15927") :method
+.sub "!PREFIX__routine_declarator:sym<method>" :subid("159_1279589170.0083") :method
.annotate 'line', 4
- $P655 = self."!PREFIX__!subrule"("method_def", "method")
- new $P656, "ResizablePMCArray"
- push $P656, $P655
- .return ($P656)
+ $P630 = self."!PREFIX__!subrule"("method_def", "method")
+ new $P631, "ResizablePMCArray"
+ push $P631, $P630
+ .return ($P631)
.end
.namespace ["NQP";"Grammar"]
-.sub "routine_def" :subid("160_1278500537.15927") :method :outer("11_1278500537.15927")
-.annotate 'line', 4
- .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 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, rxscan664_done
- goto rxscan664_scan
- rxscan664_loop:
- ($P10) = rx660_cur."from"()
- inc $P10
- 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:
+.sub "routine_def" :subid("160_1279589170.0083") :method :outer("11_1279589170.0083")
+.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, $I10) = self."!cursor_start"()
+ rx635_cur."!cursor_caparray"("sigil", "deflongname")
+ .lex unicode:"$\x{a2}", rx635_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:
+ eq $I10, 1, rx635_restart
+ rx635_cur."!cursor_debug"("START ", "routine_def")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan639_done
+ goto rxscan639_scan
+ rxscan639_loop:
+ ($P10) = rx635_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', 296
# rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_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 rxquantr641 ** 0..1
+ set_addr $I10, rxquantr641_done
+ rx635_cur."!mark_push"(0, rx635_pos, $I10)
+ rxquantr641_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
# rx subcapture "sigil"
- 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:
+ set_addr $I10, rxcap_644_fail
+ rx635_cur."!mark_push"(0, rx635_pos, $I10)
+ # rx rxquantr643 ** 0..1
+ set_addr $I10, rxquantr643_done
+ rx635_cur."!mark_push"(0, rx635_pos, $I10)
+ rxquantr643_loop:
# rx literal "&"
- 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)
+ add $I11, rx635_pos, 1
+ gt $I11, rx635_eos, rx635_fail
+ sub $I11, rx635_pos, rx635_off
+ substr $S10, rx635_tgt, $I11, 1
+ ne $S10, "&", rx635_fail
+ add rx635_pos, 1
+ set_addr $I10, rxquantr643_done
+ (rx635_rep) = rx635_cur."!mark_commit"($I10)
+ rxquantr643_done:
+ set_addr $I10, rxcap_644_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)
$P10."!cursor_names"("sigil")
- goto rxcap_670_done
- rxcap_670_fail:
- goto rx660_fail
- rxcap_670_done:
+ goto rxcap_644_done
+ rxcap_644_fail:
+ goto rx635_fail
+ rxcap_644_done:
# rx subrule "deflongname" subtype=capture negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."deflongname"()
- unless $P10, rx660_fail
- rx660_cur."!mark_push"(0, -1, 0, $P10)
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."deflongname"()
+ unless $P10, rx635_fail
+ rx635_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("deflongname")
- rx660_pos = $P10."pos"()
+ rx635_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- 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=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ set_addr $I10, rxquantr641_done
+ (rx635_rep) = rx635_cur."!mark_commit"($I10)
+ rxquantr641_done:
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
.annotate 'line', 298
# rx subrule "newpad" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."newpad"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
- alt675_0:
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."newpad"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ alt648_0:
.annotate 'line', 299
- set_addr $I10, alt675_1
- rx660_cur."!mark_push"(0, rx660_pos, $I10)
+ set_addr $I10, alt648_1
+ rx635_cur."!mark_push"(0, rx635_pos, $I10)
# rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
# rx literal "("
- 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=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ add $I11, rx635_pos, 1
+ gt $I11, rx635_eos, rx635_fail
+ sub $I11, rx635_pos, rx635_off
+ substr $S10, rx635_tgt, $I11, 1
+ ne $S10, "(", rx635_fail
+ add rx635_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
# rx subrule "signature" subtype=capture negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."signature"()
- unless $P10, rx660_fail
- rx660_cur."!mark_push"(0, -1, 0, $P10)
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."signature"()
+ unless $P10, rx635_fail
+ rx635_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("signature")
- rx660_pos = $P10."pos"()
+ rx635_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
# rx literal ")"
- 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=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
- goto alt675_end
- alt675_1:
+ add $I11, rx635_pos, 1
+ gt $I11, rx635_eos, rx635_fail
+ sub $I11, rx635_pos, rx635_off
+ substr $S10, rx635_tgt, $I11, 1
+ ne $S10, ")", rx635_fail
+ add rx635_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ goto alt648_end
+ alt648_1:
.annotate 'line', 300
# rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
# rx subrule "panic" subtype=method negate=
- 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=
- 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=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."panic"("Routine declaration requires a signature")
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
+ alt648_end:
+ # rx subrule "ws" subtype=method negate=
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
.annotate 'line', 301
# rx subrule "blockoid" subtype=capture negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."blockoid"()
- unless $P10, rx660_fail
- rx660_cur."!mark_push"(0, -1, 0, $P10)
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."blockoid"()
+ unless $P10, rx635_fail
+ rx635_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blockoid")
- rx660_pos = $P10."pos"()
+ rx635_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx660_cur."!cursor_pos"(rx660_pos)
- $P10 = rx660_cur."ws"()
- unless $P10, rx660_fail
- rx660_pos = $P10."pos"()
+ rx635_cur."!cursor_pos"(rx635_pos)
+ $P10 = rx635_cur."ws"()
+ unless $P10, rx635_fail
+ rx635_pos = $P10."pos"()
.annotate 'line', 296
# rx pass
- rx660_cur."!cursor_pass"(rx660_pos, "routine_def")
- rx660_cur."!cursor_debug"("PASS ", "routine_def", " at pos=", rx660_pos)
- .return (rx660_cur)
- rx660_fail:
+ rx635_cur."!cursor_pass"(rx635_pos, "routine_def")
+ rx635_cur."!cursor_debug"("PASS ", "routine_def", " at pos=", rx635_pos)
+ .return (rx635_cur)
+ rx635_restart:
.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
+ rx635_cur."!cursor_debug"("NEXT ", "routine_def")
+ rx635_fail:
+ (rx635_rep, rx635_pos, $I10, $P10) = rx635_cur."!mark_fail"(0)
+ lt rx635_pos, -1, rx635_done
+ eq rx635_pos, -1, rx635_fail
jump $I10
- rx660_done:
- rx660_cur."!cursor_fail"()
- rx660_cur."!cursor_debug"("FAIL ", "routine_def")
- .return (rx660_cur)
+ rx635_done:
+ rx635_cur."!cursor_fail"()
+ rx635_cur."!cursor_debug"("FAIL ", "routine_def")
+ .return (rx635_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def" :subid("161_1278500537.15927") :method
+.sub "!PREFIX__routine_def" :subid("161_1279589170.0083") :method
.annotate 'line', 4
- $P662 = self."!PREFIX__!subrule"("ws", "")
- new $P663, "ResizablePMCArray"
- push $P663, $P662
- .return ($P663)
+ $P637 = self."!PREFIX__!subrule"("ws", "")
+ new $P638, "ResizablePMCArray"
+ push $P638, $P637
+ .return ($P638)
.end
.namespace ["NQP";"Grammar"]
-.sub "method_def" :subid("162_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "method_def" :subid("162_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 4
- .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 string rx658_tgt
+ .local int rx658_pos
+ .local int rx658_off
+ .local int rx658_eos
+ .local int rx658_rep
+ .local pmc rx658_cur
+ (rx658_cur, rx658_pos, rx658_tgt, $I10) = self."!cursor_start"()
+ rx658_cur."!cursor_caparray"("deflongname")
+ .lex unicode:"$\x{a2}", rx658_cur
.local pmc match
.lex "$/", match
- 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:
+ length rx658_eos, rx658_tgt
+ gt rx658_pos, rx658_eos, rx658_done
+ set rx658_off, 0
+ lt rx658_pos, 2, rx658_start
+ sub rx658_off, rx658_pos, 1
+ substr rx658_tgt, rx658_tgt, rx658_off
+ rx658_start:
+ eq $I10, 1, rx658_restart
+ rx658_cur."!cursor_debug"("START ", "method_def")
$I10 = self.'from'()
- ne $I10, -1, rxscan689_done
- goto rxscan689_scan
- rxscan689_loop:
- ($P10) = rx685_cur."from"()
+ ne $I10, -1, rxscan662_done
+ goto rxscan662_scan
+ rxscan662_loop:
+ ($P10) = rx658_cur."from"()
inc $P10
- 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:
+ set rx658_pos, $P10
+ ge rx658_pos, rx658_eos, rxscan662_done
+ rxscan662_scan:
+ set_addr $I10, rxscan662_loop
+ rx658_cur."!mark_push"(0, rx658_pos, $I10)
+ rxscan662_done:
.annotate 'line', 304
# rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_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 rxquantr664 ** 0..1
+ set_addr $I10, rxquantr664_done
+ rx658_cur."!mark_push"(0, rx658_pos, $I10)
+ rxquantr664_loop:
# rx subrule "deflongname" subtype=capture negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."deflongname"()
- unless $P10, rx685_fail
- rx685_cur."!mark_push"(0, -1, 0, $P10)
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."deflongname"()
+ unless $P10, rx658_fail
+ goto rxsubrule665_pass
+ rxsubrule665_back:
+ $P10 = $P10."!cursor_next"()
+ unless $P10, rx658_fail
+ rxsubrule665_pass:
+ set_addr $I10, rxsubrule665_back
+ rx658_cur."!mark_push"(0, rx658_pos, $I10, $P10)
$P10."!cursor_names"("deflongname")
- rx685_pos = $P10."pos"()
- (rx685_rep) = rx685_cur."!mark_commit"($I692)
- rxquantr691_done:
- # rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_pos = $P10."pos"()
+ set_addr $I10, rxquantr664_done
+ (rx658_rep) = rx658_cur."!mark_commit"($I10)
+ rxquantr664_done:
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
.annotate 'line', 306
# rx subrule "newpad" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."newpad"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
- alt695_0:
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."newpad"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
+ alt668_0:
.annotate 'line', 307
- set_addr $I10, alt695_1
- rx685_cur."!mark_push"(0, rx685_pos, $I10)
+ set_addr $I10, alt668_1
+ rx658_cur."!mark_push"(0, rx658_pos, $I10)
# rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
# rx literal "("
- 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=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ add $I11, rx658_pos, 1
+ gt $I11, rx658_eos, rx658_fail
+ sub $I11, rx658_pos, rx658_off
+ substr $S10, rx658_tgt, $I11, 1
+ ne $S10, "(", rx658_fail
+ add rx658_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
# rx subrule "signature" subtype=capture negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."signature"()
- unless $P10, rx685_fail
- rx685_cur."!mark_push"(0, -1, 0, $P10)
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."signature"()
+ unless $P10, rx658_fail
+ rx658_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("signature")
- rx685_pos = $P10."pos"()
+ rx658_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
# rx literal ")"
- 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=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
- goto alt695_end
- alt695_1:
+ add $I11, rx658_pos, 1
+ gt $I11, rx658_eos, rx658_fail
+ sub $I11, rx658_pos, rx658_off
+ substr $S10, rx658_tgt, $I11, 1
+ ne $S10, ")", rx658_fail
+ add rx658_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
+ goto alt668_end
+ alt668_1:
.annotate 'line', 308
# rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
# rx subrule "panic" subtype=method negate=
- 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=
- 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=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."panic"("Routine declaration requires a signature")
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
+ alt668_end:
+ # rx subrule "ws" subtype=method negate=
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
.annotate 'line', 309
# rx subrule "blockoid" subtype=capture negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."blockoid"()
- unless $P10, rx685_fail
- rx685_cur."!mark_push"(0, -1, 0, $P10)
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."blockoid"()
+ unless $P10, rx658_fail
+ rx658_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("blockoid")
- rx685_pos = $P10."pos"()
+ rx658_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx685_cur."!cursor_pos"(rx685_pos)
- $P10 = rx685_cur."ws"()
- unless $P10, rx685_fail
- rx685_pos = $P10."pos"()
+ rx658_cur."!cursor_pos"(rx658_pos)
+ $P10 = rx658_cur."ws"()
+ unless $P10, rx658_fail
+ rx658_pos = $P10."pos"()
.annotate 'line', 304
# rx pass
- rx685_cur."!cursor_pass"(rx685_pos, "method_def")
- rx685_cur."!cursor_debug"("PASS ", "method_def", " at pos=", rx685_pos)
- .return (rx685_cur)
- rx685_fail:
+ rx658_cur."!cursor_pass"(rx658_pos, "method_def")
+ rx658_cur."!cursor_debug"("PASS ", "method_def", " at pos=", rx658_pos)
+ .return (rx658_cur)
+ rx658_restart:
.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
+ rx658_cur."!cursor_debug"("NEXT ", "method_def")
+ rx658_fail:
+ (rx658_rep, rx658_pos, $I10, $P10) = rx658_cur."!mark_fail"(0)
+ lt rx658_pos, -1, rx658_done
+ eq rx658_pos, -1, rx658_fail
jump $I10
- rx685_done:
- rx685_cur."!cursor_fail"()
- rx685_cur."!cursor_debug"("FAIL ", "method_def")
- .return (rx685_cur)
+ rx658_done:
+ rx658_cur."!cursor_fail"()
+ rx658_cur."!cursor_debug"("FAIL ", "method_def")
+ .return (rx658_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def" :subid("163_1278500537.15927") :method
+.sub "!PREFIX__method_def" :subid("163_1279589170.0083") :method
.annotate 'line', 4
- $P687 = self."!PREFIX__!subrule"("ws", "")
- new $P688, "ResizablePMCArray"
- push $P688, $P687
- .return ($P688)
+ $P660 = self."!PREFIX__!subrule"("ws", "")
+ new $P661, "ResizablePMCArray"
+ push $P661, $P660
+ .return ($P661)
.end
.namespace ["NQP";"Grammar"]
-.sub "multi_declarator" :subid("164_1278500537.15927") :method
+.sub "multi_declarator" :subid("164_1279589170.0083") :method
.annotate 'line', 312
- $P705 = self."!protoregex"("multi_declarator")
- .return ($P705)
+ $P678 = self."!protoregex"("multi_declarator")
+ .return ($P678)
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator" :subid("165_1278500537.15927") :method
+.sub "!PREFIX__multi_declarator" :subid("165_1279589170.0083") :method
.annotate 'line', 312
- $P707 = self."!PREFIX__!protoregex"("multi_declarator")
- .return ($P707)
+ $P680 = self."!PREFIX__!protoregex"("multi_declarator")
+ .return ($P680)
.end
.namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<multi>" :subid("166_1278500537.15927") :method :outer("11_1278500537.15927")
+.sub "multi_declarator:sym<multi>" :subid("166_1279589170.0083") :method :outer("11_1279589170.0083")
.annotate 'line', 314
- new $P709, "Undef"
- .lex "$*MULTINESS", $P709
+ new $P682, "Undef"
+ .lex "$*MULTINESS", $P682
.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<multi>")
- .lex unicode:"$\x{a2}", rx710_cur
- .local pmc match
- .lex "$/", match
- 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, rxscan714_done
- goto rxscan714_scan
- rxscan714_loop:
- ($P10) = rx710_cur."from"()
- inc $P10
- 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:
+ .local string rx683_tgt
+ .local int rx683_pos
+ .local int rx683_off
+ .local int rx683_eos
+ .local int rx683_rep
+ .local pmc rx683_cur
+ (rx683_cur, rx683_pos, rx683_tgt, $I10) = self."!cursor_start"()
+ .lex unicode:"$\x{a2}", rx683_cur
+ .local pmc match
+ .lex "$/", match
+ length rx683_eos, rx683_tgt
+ gt rx683_pos, rx683_eos, rx683_done
+ set rx683_off, 0
+ lt rx683_pos, 2, rx683_start
+ sub rx683_off, rx683_pos, 1
+ substr rx683_tgt, rx683_tgt, rx683_off
+ rx683_start:
+ eq $I10, 1, rx683_restart
+ rx683_cur."!cursor_debug"("START ", "multi_declarator:sym<multi>")
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan687_done
+ goto rxscan687_scan
+ rxscan687_loop:
+ ($P10) = rx683_cur."from"()
+ inc $P10
+ set rx683_pos, $P10
+ ge rx683_pos, rx683_eos, rxscan687_done
+ rxscan687_scan:
+ set_addr $I10, rxscan687_loop
+ rx683_cur."!mark_push"(0, rx683_pos, $I10)
+ rxscan687_done:
.annotate 'line', 314
- rx710_cur."!cursor_pos"(rx710_pos)
- new $P715, "String"
- assign $P715, "multi"
- store_lex "$*MULTINESS", $P715
+ rx683_cur."!cursor_pos"(rx683_pos)
+ new $P688, "String"
+ assign $P688, "multi"
+ store_lex "$*MULTINESS", $P688
.annotate 'line', 315
# rx subcapture "sym"
- set_addr $I10, rxcap_716_fail
- rx710_cur."!mark_push"(0, rx710_pos, $I10)
+ set_addr $I10, rxcap_689_fail
+ rx683_cur."!mark_push"(0, rx683_pos, $I10)
# rx literal "multi"
- 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)
+ add $I11, rx683_pos, 5
+ gt $I11, rx683_eos, rx683_fail
+ sub $I11, rx683_pos, rx683_off
+ substr $S10, rx683_tgt, $I11, 5
+ ne $S10, "multi", rx683_fail
+ add rx683_pos, 5
+ set_addr $I10, rxcap_689_fail
+ ($I12, $I11) = rx683_cur."!mark_peek"($I10)
+ rx683_cur."!cursor_pos"($I11)
+ ($P10) = rx683_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx683_pos, "")
+ rx683_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_716_done
- rxcap_716_fail:
- goto rx710_fail
- rxcap_716_done:
+ goto rxcap_689_done
+ rxcap_689_fail:
+ goto rx683_fail
+ rxcap_689_done:
.annotate 'line', 316
# rx subrule "ws" subtype=method negate=
- 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)
+ rx683_cur."!cursor_pos"(rx683_pos)
+ $P10 = rx683_cur."ws"()
+ unless $P10, rx683_fail
+ rx683_pos = $P10."pos"()
+ alt690_0:
+ set_addr $I10, alt690_1
+ rx683_cur."!mark_push"(0, rx683_pos, $I10)
# rx subrule "declarator" subtype=capture negate=
- rx710_cur."!cursor_pos"(rx710_pos)
- $P10 = rx710_cur."declarator"()
- unless $P10, rx710_fail
- rx710_cur."!mark_push"(0, -1, 0, $P10)
+ rx683_cur."!cursor_pos"(rx683_pos)
+ $P10 = rx683_cur."declarator"()
+ unless $P10, rx683_fail
+ rx683_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("declarator")
- rx710_pos = $P10."pos"()
- goto alt717_end
- alt717_1:
- set_addr $I10, alt717_2
- rx710_cur."!mark_push"(0, rx710_pos, $I10)
+ rx683_pos = $P10."pos"()
+ goto alt690_end
+ alt690_1:
+ set_addr $I10, alt690_2
+ rx683_cur."!mark_push"(0, rx683_pos, $I10)
# rx subrule "routine_def" subtype=capture negate=
- rx710_cur."!cursor_pos"(rx710_pos)
- $P10 = rx710_cur."routine_def"()
- unless $P10, rx710_fail
- rx710_cur."!mark_push"(0, -1, 0, $P10)
+ rx683_cur."!cursor_pos"(rx683_pos)
+ $P10 = rx683_cur."routine_def"()
+ unless $P10, rx683_fail
+ rx683_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("routine_def")
- rx710_pos = $P10."pos"()
- goto alt717_end
- alt717_2:
+ rx683_pos = $P10."pos"()
+ goto alt690_end
+ alt690_2:
# rx subrule "panic" subtype=method negate=
- rx710_cur."!cursor_pos"(rx710_pos)
- $P10 = rx710_cur."panic"("Malformed multi")
- unless $P10, rx710_fail
- rx710_pos = $P10."pos"()
- alt717_end:
+ rx683_cur."!cursor_pos"(rx683_pos)
+ $P10 = rx683_cur."panic"("Malformed multi")
+ unless $P10, rx683_fail
+ rx683_pos = $P10."pos"()
+ alt690_end:
.annotate 'line', 313
# rx pass
- rx710_cur."!cursor_pass"(rx710_pos, "multi_declarator:sym<multi>")
- rx710_cur."!cursor_debug"("PASS ", "multi_declarator:sym<multi>", " at pos=", rx710_pos)
- .return (rx710_cur)
- rx710_fail:
+ rx683_cur."!cursor_pass"(rx683_pos, "multi_declarator:sym<multi>")
+ rx683_cur."!cursor_debug"("PASS ", "multi_declarator:sym<multi>", " at pos=", rx683_pos)
+ .return (rx683_cur)
+ rx683_restart:
.annotate 'line', 4
- (rx710_rep, rx710_pos, $I10, $P10) = rx710_cur."!mark_fail"(0)
- lt rx