[svn:parrot] r45948 - in branches/runcore_purge: . compilers/data_json compilers/imcc compilers/pge/PGE config/auto config/auto/zlib config/gen/makefiles config/gen/platform/generic docs docs/pdds docs/project ext/Parrot-Embed ext/SQLite3 ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot lib/Parrot lib/Parrot/Configure/Options lib/Parrot/Configure/Options/Conf lib/Parrot/Configure/Options/Test lib/Parrot/Configure/Step lib/Parrot/Pmc2c ports/cpan ports/fedora ports/fedora/2.3.0 ports/suse ports/suse/2.2.0 runtime/parrot/library runtime/parrot/library/TAP src src/call src/dynpmc src/interp src/io src/ops src/packfile src/pmc src/runcore src/string src/string/charset src/string/encoding t t/compilers/imcc/syn t/distro t/dynpmc t/library t/native_pbc t/op t/pmc t/src t/steps/auto tools/dev
cotto at svn.parrot.org
cotto at svn.parrot.org
Sat Apr 24 00:51:42 UTC 2010
Author: cotto
Date: Sat Apr 24 00:51:33 2010
New Revision: 45948
URL: https://trac.parrot.org/parrot/changeset/45948
Log:
sync branch with trunk
Added:
branches/runcore_purge/.gitignore
- copied unchanged from r45947, trunk/.gitignore
branches/runcore_purge/config/auto/zlib/
- copied from r45947, trunk/config/auto/zlib/
branches/runcore_purge/config/auto/zlib.pm
- copied unchanged from r45947, trunk/config/auto/zlib.pm
branches/runcore_purge/ports/fedora/2.3.0/
- copied from r45947, trunk/ports/fedora/2.3.0/
branches/runcore_purge/ports/suse/2.2.0/
- copied from r45947, trunk/ports/suse/2.2.0/
branches/runcore_purge/src/dynpmc/gziphandle.pmc
- copied unchanged from r45947, trunk/src/dynpmc/gziphandle.pmc
branches/runcore_purge/t/dynpmc/gziphandle.t
- copied unchanged from r45947, trunk/t/dynpmc/gziphandle.t
branches/runcore_purge/t/harness.pir
- copied unchanged from r45947, trunk/t/harness.pir
branches/runcore_purge/t/steps/auto/zlib-01.t
- copied unchanged from r45947, trunk/t/steps/auto/zlib-01.t
Replaced:
branches/runcore_purge/config/auto/zlib/zlib_c.in
- copied unchanged from r45947, trunk/config/auto/zlib/zlib_c.in
branches/runcore_purge/ports/fedora/2.3.0/parrot.desk.in.tar.gz
- copied unchanged from r45947, trunk/ports/fedora/2.3.0/parrot.desk.in.tar.gz
branches/runcore_purge/ports/fedora/2.3.0/parrot.patch
- copied unchanged from r45947, trunk/ports/fedora/2.3.0/parrot.patch
branches/runcore_purge/ports/fedora/2.3.0/parrot.spec
- copied unchanged from r45947, trunk/ports/fedora/2.3.0/parrot.spec
branches/runcore_purge/ports/suse/2.2.0/parrot.diff
- copied unchanged from r45947, trunk/ports/suse/2.2.0/parrot.diff
branches/runcore_purge/ports/suse/2.2.0/parrot.spec
- copied unchanged from r45947, trunk/ports/suse/2.2.0/parrot.spec
Deleted:
branches/runcore_purge/META.yml
branches/runcore_purge/Makefile.PL
branches/runcore_purge/ext/SQLite3/
branches/runcore_purge/ext/nqp-rx/.gitignore
branches/runcore_purge/ports/cpan/
branches/runcore_purge/ports/fedora/parrot.patch
branches/runcore_purge/ports/fedora/parrot.spec.fedora
branches/runcore_purge/ports/suse/parrot.spec.suse
branches/runcore_purge/runtime/parrot/library/SQLite3.pir
branches/runcore_purge/src/pmc/retcontinuation.pmc
branches/runcore_purge/t/distro/meta_yml.t
branches/runcore_purge/t/pmc/retcontinuation.t
Modified:
branches/runcore_purge/ (props changed)
branches/runcore_purge/DEPRECATED.pod
branches/runcore_purge/MANIFEST
branches/runcore_purge/MANIFEST.SKIP
branches/runcore_purge/MANIFEST.generated
branches/runcore_purge/NEWS
branches/runcore_purge/PBC_COMPAT
branches/runcore_purge/compilers/data_json/Defines.mak
branches/runcore_purge/compilers/data_json/Rules.mak
branches/runcore_purge/compilers/imcc/parser_util.c
branches/runcore_purge/compilers/imcc/pbc.c
branches/runcore_purge/compilers/pge/PGE/Exp.pir
branches/runcore_purge/config/gen/makefiles/dynpmc.in
branches/runcore_purge/config/gen/makefiles/root.in
branches/runcore_purge/config/gen/platform/generic/itimer.c
branches/runcore_purge/docs/embed.pod
branches/runcore_purge/docs/pdds/pdd28_strings.pod
branches/runcore_purge/docs/project/release_manager_guide.pod
branches/runcore_purge/ext/Parrot-Embed/MANIFEST
branches/runcore_purge/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/runcore_purge/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/runcore_purge/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/runcore_purge/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/runcore_purge/include/parrot/charset.h
branches/runcore_purge/include/parrot/encoding.h
branches/runcore_purge/include/parrot/io.h
branches/runcore_purge/include/parrot/packfile.h
branches/runcore_purge/include/parrot/runcore_trace.h (props changed)
branches/runcore_purge/include/parrot/string_funcs.h
branches/runcore_purge/include/parrot/string_primitives.h
branches/runcore_purge/include/parrot/sub.h
branches/runcore_purge/lib/Parrot/Configure/Options/Conf.pm
branches/runcore_purge/lib/Parrot/Configure/Options/Conf/Shared.pm
branches/runcore_purge/lib/Parrot/Configure/Options/Test/Prepare.pm
branches/runcore_purge/lib/Parrot/Configure/Step/List.pm
branches/runcore_purge/lib/Parrot/Distribution.pm
branches/runcore_purge/lib/Parrot/Pmc2c/PMCEmitter.pm
branches/runcore_purge/runtime/parrot/library/TAP/Formatter.pir
branches/runcore_purge/runtime/parrot/library/TAP/Harness.pir
branches/runcore_purge/runtime/parrot/library/TAP/Parser.pir
branches/runcore_purge/runtime/parrot/library/distutils.pir
branches/runcore_purge/runtime/parrot/library/osutils.pir
branches/runcore_purge/src/call/args.c
branches/runcore_purge/src/call/context.c
branches/runcore_purge/src/call/pcc.c
branches/runcore_purge/src/dynext.c
branches/runcore_purge/src/embed.c
branches/runcore_purge/src/hash.c
branches/runcore_purge/src/hll.c
branches/runcore_purge/src/interp/inter_create.c (props changed)
branches/runcore_purge/src/interp/inter_misc.c
branches/runcore_purge/src/io/api.c
branches/runcore_purge/src/io/buffer.c
branches/runcore_purge/src/io/filehandle.c
branches/runcore_purge/src/io/utf8.c
branches/runcore_purge/src/io/win32.c
branches/runcore_purge/src/key.c
branches/runcore_purge/src/library.c
branches/runcore_purge/src/ops/bit.ops
branches/runcore_purge/src/ops/core.ops
branches/runcore_purge/src/ops/ops.num
branches/runcore_purge/src/ops/set.ops
branches/runcore_purge/src/ops/string.ops
branches/runcore_purge/src/packdump.c
branches/runcore_purge/src/packfile.c
branches/runcore_purge/src/packfile/pf_items.c
branches/runcore_purge/src/pbc_dump.c
branches/runcore_purge/src/pbc_merge.c
branches/runcore_purge/src/pmc/bigint.pmc
branches/runcore_purge/src/pmc/bignum.pmc
branches/runcore_purge/src/pmc/callcontext.pmc
branches/runcore_purge/src/pmc/class.pmc
branches/runcore_purge/src/pmc/codestring.pmc
branches/runcore_purge/src/pmc/continuation.pmc
branches/runcore_purge/src/pmc/coroutine.pmc
branches/runcore_purge/src/pmc/eventhandler.pmc
branches/runcore_purge/src/pmc/filehandle.pmc
branches/runcore_purge/src/pmc/fixedbooleanarray.pmc
branches/runcore_purge/src/pmc/fixedintegerarray.pmc
branches/runcore_purge/src/pmc/fixedpmcarray.pmc
branches/runcore_purge/src/pmc/fixedstringarray.pmc
branches/runcore_purge/src/pmc/hash.pmc
branches/runcore_purge/src/pmc/key.pmc
branches/runcore_purge/src/pmc/lexinfo.pmc
branches/runcore_purge/src/pmc/namespace.pmc
branches/runcore_purge/src/pmc/object.pmc
branches/runcore_purge/src/pmc/packfileannotations.pmc
branches/runcore_purge/src/pmc/packfiledirectory.pmc
branches/runcore_purge/src/pmc/packfilefixupentry.pmc
branches/runcore_purge/src/pmc/parrotinterpreter.pmc
branches/runcore_purge/src/pmc/pmcproxy.pmc
branches/runcore_purge/src/pmc/resizablepmcarray.pmc
branches/runcore_purge/src/pmc/role.pmc
branches/runcore_purge/src/pmc/scalar.pmc
branches/runcore_purge/src/pmc/schedulermessage.pmc
branches/runcore_purge/src/pmc/string.pmc
branches/runcore_purge/src/pmc/stringhandle.pmc
branches/runcore_purge/src/pmc/sub.pmc
branches/runcore_purge/src/runcore/cores.c (props changed)
branches/runcore_purge/src/runcore/profiling.c
branches/runcore_purge/src/runcore/trace.c (props changed)
branches/runcore_purge/src/spf_render.c
branches/runcore_purge/src/spf_vtable.c
branches/runcore_purge/src/string/api.c
branches/runcore_purge/src/string/charset.c
branches/runcore_purge/src/string/charset/ascii.c
branches/runcore_purge/src/string/charset/ascii.h
branches/runcore_purge/src/string/charset/binary.c
branches/runcore_purge/src/string/charset/binary.h
branches/runcore_purge/src/string/charset/iso-8859-1.c
branches/runcore_purge/src/string/charset/iso-8859-1.h
branches/runcore_purge/src/string/charset/unicode.c
branches/runcore_purge/src/string/charset/unicode.h
branches/runcore_purge/src/string/encoding/fixed_8.c
branches/runcore_purge/src/string/encoding/fixed_8.h
branches/runcore_purge/src/string/encoding/ucs2.c
branches/runcore_purge/src/string/encoding/ucs2.h
branches/runcore_purge/src/string/encoding/utf16.c
branches/runcore_purge/src/string/encoding/utf16.h
branches/runcore_purge/src/string/encoding/utf8.c
branches/runcore_purge/src/string/encoding/utf8.h
branches/runcore_purge/src/string/primitives.c
branches/runcore_purge/src/sub.c
branches/runcore_purge/t/compilers/imcc/syn/regressions.t
branches/runcore_purge/t/library/mime_base64.t
branches/runcore_purge/t/library/pcre.t
branches/runcore_purge/t/native_pbc/annotations.pbc
branches/runcore_purge/t/native_pbc/integer_1.pbc
branches/runcore_purge/t/native_pbc/number_1.pbc
branches/runcore_purge/t/native_pbc/string_1.pbc
branches/runcore_purge/t/op/00ff-unix.t
branches/runcore_purge/t/op/fetch.t
branches/runcore_purge/t/op/gc-leaky.t
branches/runcore_purge/t/op/gc.t
branches/runcore_purge/t/op/string.t
branches/runcore_purge/t/op/vivify.t
branches/runcore_purge/t/pmc/bigint.t
branches/runcore_purge/t/pmc/namespace.t
branches/runcore_purge/t/pmc/string.t
branches/runcore_purge/t/src/embed.t (props changed)
branches/runcore_purge/tools/dev/checkdepend.pl
branches/runcore_purge/tools/dev/mk_gitignore.pl (props changed)
branches/runcore_purge/tools/dev/mk_manifest_and_skip.pl
branches/runcore_purge/tools/dev/nci_thunk_gen.pir
branches/runcore_purge/tools/dev/pbc_to_exe.pir
branches/runcore_purge/tools/dev/tapir.pir
Copied: branches/runcore_purge/.gitignore (from r45947, trunk/.gitignore)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/.gitignore Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/.gitignore)
@@ -0,0 +1,604 @@
+# ex: set ro:
+# $Id
+# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 10:28:38 2010 UT
+#
+# This file should contain a transcript of the svn:ignore properties
+# of the directories in the Parrot subversion repository. (Needed for
+# distributions or in general when svn is not available).
+# See docs/submissions.pod on how to recreate this file after SVN
+# has been told about new generated files.
+#
+# Ignore the SVN directories
+\B.svn\b
+
+# ports/ should not go into release tarballs
+ports
+# generated from svn:ignore of './'
+*.core
+*.def
+*.exe
+*.exp
+*.ilk
+*.lib
+*.manifest
+*.ncb
+*.o
+*.obj
+*.patch
+*.pdb
+*.sln
+*.sto
+*.suo
+*.tmp
+*.vcproj*
+.git
+.parrot_current_rev
+CFLAGS
+MANIFEST.configure.generated
+Makefile
+TAGS
+all_cstring.str
+blib
+config_lib.pir
+cover_db
+install_config.fpmc
+installable*
+libparrot.def
+libparrot.dll
+miniparrot
+myconfig
+parrot
+parrot-nqp
+parrot-nqp.c
+parrot-nqp.pbc
+parrot.ilk
+parrot.iss
+parrot.pc
+parrot.pdb
+parrot_config
+parrot_config.c
+parrot_config.pbc
+parrot_debugger
+parrot_nci_thunk_gen
+parrot_nci_thunk_gen.c
+parrot_nci_thunk_gen.pbc
+parrot_test_run.tar.gz
+pbc_disassemble
+pbc_dump
+pbc_info
+pbc_merge
+pbc_to_exe
+pbc_to_exe.*
+perl6
+pirc
+tags
+tapir
+tapir.*
+temp.file
+test
+test.c
+test.cco
+test.err
+test.ilk
+test.ldo
+test.out
+test.pdb
+vc60.pdb
+vc70.pdb
+vtable.dump
+# generated from svn:ignore of 'compilers/data_json/'
+compilers/data_json/data_json.pbc
+# generated from svn:ignore of 'compilers/data_json/data_json/'
+compilers/data_json/data_json/*.pbc
+compilers/data_json/data_json/*.pir
+# generated from svn:ignore of 'compilers/imcc/'
+compilers/imcc/*.flag
+compilers/imcc/*.o
+compilers/imcc/*.obj
+compilers/imcc/*.tmp
+compilers/imcc/Rules.mak
+compilers/imcc/imcc
+compilers/imcc/imclexer.c
+compilers/imcc/imcparser.c
+compilers/imcc/imcparser.h
+compilers/imcc/imcparser.output
+# generated from svn:ignore of 'compilers/json/'
+compilers/json/JSON.pbc
+# generated from svn:ignore of 'compilers/json/JSON/'
+compilers/json/JSON/*.pbc
+compilers/json/JSON/*.pir
+# generated from svn:ignore of 'compilers/ncigen/'
+compilers/ncigen/Makefile
+compilers/ncigen/ncigen.pbc
+# generated from svn:ignore of 'compilers/ncigen/src/'
+compilers/ncigen/src/gen_actions.pir
+compilers/ncigen/src/gen_builtins.pir
+compilers/ncigen/src/gen_grammar.pir
+# generated from svn:ignore of 'compilers/nqp/'
+compilers/nqp/nqp.pbc
+# generated from svn:ignore of 'compilers/nqp/bootstrap/'
+compilers/nqp/bootstrap/gen_actions.pir
+compilers/nqp/bootstrap/nqp.pbc
+# generated from svn:ignore of 'compilers/nqp/src/'
+compilers/nqp/src/Grammar_gen.pir
+# generated from svn:ignore of 'compilers/pct/src/PAST/'
+compilers/pct/src/PAST/*.pbc
+# generated from svn:ignore of 'compilers/pct/src/PCT/'
+compilers/pct/src/PCT/*.pbc
+# generated from svn:ignore of 'compilers/pct/src/POST/'
+compilers/pct/src/POST/*.pbc
+compilers/pct/src/POST/Grammar_gen.pir
+# generated from svn:ignore of 'compilers/pge/'
+compilers/pge/PGE.pbc
+# generated from svn:ignore of 'compilers/pge/PGE/'
+compilers/pge/PGE/*.dll
+compilers/pge/PGE/builtins_gen.pir
+# generated from svn:ignore of 'compilers/pirc/'
+compilers/pirc/*.o
+compilers/pirc/*.obj
+compilers/pirc/*.pbd
+compilers/pirc/pirc
+compilers/pirc/pirc.exe
+# generated from svn:ignore of 'compilers/pirc/t/'
+compilers/pirc/t/basic_?.pir
+compilers/pirc/t/basic_??.pir
+compilers/pirc/t/heredoc_?.pir
+compilers/pirc/t/macro_?.pir
+compilers/pirc/t/stmts_?.pir
+compilers/pirc/t/subflags_?.pir
+# generated from svn:ignore of 'compilers/tge/'
+compilers/tge/tgc.pbc
+# generated from svn:ignore of 'compilers/tge/TGE/'
+compilers/tge/TGE/Parser.pir
+# generated from svn:ignore of 'docs/'
+docs/*.tmp
+docs/Makefile
+docs/doc-prep
+docs/html
+docs/packfile-c.pod
+docs/packfile-perl.pod
+# generated from svn:ignore of 'docs/book/'
+docs/book/*.html
+# generated from svn:ignore of 'docs/ops/'
+docs/ops/*.pod
+# generated from svn:ignore of 'editor/'
+editor/Makefile
+editor/imc.vim
+editor/imcc.xml
+editor/pir.vim
+# generated from svn:ignore of 'examples/languages/abc/'
+examples/languages/abc/*.c
+examples/languages/abc/*.exe
+examples/languages/abc/*.iss
+examples/languages/abc/*.o
+examples/languages/abc/*.obj
+examples/languages/abc/*.pbc
+examples/languages/abc/MANIFEST
+examples/languages/abc/abc
+examples/languages/abc/installable_abc
+examples/languages/abc/man
+# generated from svn:ignore of 'examples/languages/abc/src/'
+examples/languages/abc/src/gen_actions.pir
+examples/languages/abc/src/gen_builtins.pir
+examples/languages/abc/src/gen_grammar.pir
+# generated from svn:ignore of 'examples/languages/abc/t/'
+examples/languages/abc/t/*_*.out
+examples/languages/abc/t/*_*.pir
+# generated from svn:ignore of 'examples/languages/squaak/'
+examples/languages/squaak/*.c
+examples/languages/squaak/*.exe
+examples/languages/squaak/*.iss
+examples/languages/squaak/*.o
+examples/languages/squaak/*.obj
+examples/languages/squaak/*.pbc
+examples/languages/squaak/MANIFEST
+examples/languages/squaak/installable_squaak
+examples/languages/squaak/squaak
+# generated from svn:ignore of 'examples/languages/squaak/src/'
+examples/languages/squaak/src/gen_*.pir
+# generated from svn:ignore of 'examples/mops/'
+examples/mops/*.o
+examples/mops/mops
+# generated from svn:ignore of 'examples/nci/'
+examples/nci/*.pbc
+# generated from svn:ignore of 'examples/pasm/'
+examples/pasm/hello
+examples/pasm/hello.o
+examples/pasm/hello.pbc
+# generated from svn:ignore of 'examples/pir/befunge/'
+examples/pir/befunge/*.c
+examples/pir/befunge/*.exe
+examples/pir/befunge/*.iss
+examples/pir/befunge/*.o
+examples/pir/befunge/*.obj
+examples/pir/befunge/*.pbc
+examples/pir/befunge/MANIFEST
+examples/pir/befunge/befunge
+examples/pir/befunge/installable_befunge
+# generated from svn:ignore of 'ext/'
+ext/Makefile
+# generated from svn:ignore of 'ext/Parrot-Embed/'
+ext/Parrot-Embed/*.bs
+ext/Parrot-Embed/*.bundle
+ext/Parrot-Embed/*.c
+ext/Parrot-Embed/*.def
+ext/Parrot-Embed/*.dll
+ext/Parrot-Embed/*.dump
+ext/Parrot-Embed/*.dylib
+ext/Parrot-Embed/*.exe
+ext/Parrot-Embed/*.exp
+ext/Parrot-Embed/*.h
+ext/Parrot-Embed/*.ilk
+ext/Parrot-Embed/*.lib
+ext/Parrot-Embed/*.manifest
+ext/Parrot-Embed/*.o
+ext/Parrot-Embed/*.obj
+ext/Parrot-Embed/*.old
+ext/Parrot-Embed/*.pdb
+ext/Parrot-Embed/*.pdb
+ext/Parrot-Embed/*.so
+ext/Parrot-Embed/*.tmp
+ext/Parrot-Embed/*.xs
+ext/Parrot-Embed/Build
+ext/Parrot-Embed/Build.bat
+ext/Parrot-Embed/Makefile
+ext/Parrot-Embed/Makefile.PL
+ext/Parrot-Embed/_build
+ext/Parrot-Embed/blib
+ext/Parrot-Embed/dll.base
+ext/Parrot-Embed/pm_to_blib
+# generated from svn:ignore of 'ext/Parrot-Embed/lib/Parrot/'
+ext/Parrot-Embed/lib/Parrot/*.c
+ext/Parrot-Embed/lib/Parrot/*.obj
+# generated from svn:ignore of 'ext/Parrot-Embed/t/'
+ext/Parrot-Embed/t/*.pbc
+# generated from svn:ignore of 'include/parrot/'
+include/parrot/*.tmp
+include/parrot/config.h
+include/parrot/core_pmcs.h
+include/parrot/extend_vtable.h
+include/parrot/feature.h
+include/parrot/has_header.h
+include/parrot/opsenum.h
+include/parrot/pbcversion.h
+include/parrot/platform.h
+include/parrot/platform_interface.h
+include/parrot/platform_limits.h
+include/parrot/vtable.h
+# generated from svn:ignore of 'include/parrot/oplib/'
+include/parrot/oplib/*_ops.h
+include/parrot/oplib/*_ops_cg*.h
+include/parrot/oplib/*_ops_switch.h
+include/parrot/oplib/ops.h
+# generated from svn:ignore of 'include/pmc/'
+include/pmc/*.h
+# generated from svn:ignore of 'lib/'
+lib/DumbLink.pm
+# generated from svn:ignore of 'lib/Parrot/'
+lib/Parrot/*.tmp
+lib/Parrot/Jit.pm
+lib/Parrot/Makefile
+lib/Parrot/OpLib
+lib/Parrot/PMC.pm
+lib/Parrot/PakFile2.bs
+lib/Parrot/PakFile2.c
+lib/Parrot/blib
+lib/Parrot/pm_to_blib
+# generated from svn:ignore of 'lib/Parrot/Config/'
+lib/Parrot/Config/Generated.pm
+# generated from svn:ignore of 'lib/Parrot/Pmc2c/'
+lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
+# generated from svn:ignore of 'runtime/parrot/dynext/'
+runtime/parrot/dynext/*.bundle
+runtime/parrot/dynext/*.def
+runtime/parrot/dynext/*.dll
+runtime/parrot/dynext/*.dylib
+runtime/parrot/dynext/*.exe
+runtime/parrot/dynext/*.exp
+runtime/parrot/dynext/*.ilk
+runtime/parrot/dynext/*.lib
+runtime/parrot/dynext/*.manifest
+runtime/parrot/dynext/*.obj
+runtime/parrot/dynext/*.pdb
+runtime/parrot/dynext/*.so
+runtime/parrot/dynext/libnci.*
+# generated from svn:ignore of 'runtime/parrot/include/'
+runtime/parrot/include/*.fpmc
+runtime/parrot/include/*.pasm
+runtime/parrot/include/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/'
+runtime/parrot/library/*.pbc
+runtime/parrot/library/OpenGL_funcs.pir
+runtime/parrot/library/PAST
+runtime/parrot/library/config.pir
+# generated from svn:ignore of 'runtime/parrot/library/CGI/'
+runtime/parrot/library/CGI/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Config/'
+runtime/parrot/library/Config/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Configure/'
+runtime/parrot/library/Configure/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Data/'
+runtime/parrot/library/Data/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Data/Dumper/'
+runtime/parrot/library/Data/Dumper/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Digest/'
+runtime/parrot/library/Digest/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Getopt/'
+runtime/parrot/library/Getopt/Obj.pbc
+# generated from svn:ignore of 'runtime/parrot/library/MIME/'
+runtime/parrot/library/MIME/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Math/'
+runtime/parrot/library/Math/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/NCI/'
+runtime/parrot/library/NCI/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/OpenGL/'
+runtime/parrot/library/OpenGL/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/PCT/'
+runtime/parrot/library/PCT/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/PGE/'
+runtime/parrot/library/PGE/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Parrot/'
+runtime/parrot/library/Parrot/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/ProfTest/'
+runtime/parrot/library/ProfTest/*.pbc
+runtime/parrot/library/ProfTest/*.pir
+# generated from svn:ignore of 'runtime/parrot/library/Stream/'
+runtime/parrot/library/Stream/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/String/'
+runtime/parrot/library/String/Utils.pbc
+# generated from svn:ignore of 'runtime/parrot/library/TAP/'
+runtime/parrot/library/TAP/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Tcl/'
+runtime/parrot/library/Tcl/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Test/'
+runtime/parrot/library/Test/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/Test/Builder/'
+runtime/parrot/library/Test/Builder/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/'
+runtime/parrot/library/YAML/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/Dumper/'
+runtime/parrot/library/YAML/Dumper/*.pbc
+# generated from svn:ignore of 'runtime/parrot/library/YAML/Parser/'
+runtime/parrot/library/YAML/Parser/*.pbc
+# generated from svn:ignore of 'src/'
+src/*.o
+src/*.obj
+src/*.str
+src/asmfun.*
+src/core_pmcs.c
+src/exec_cpu.c
+src/exec_dep.c
+src/exec_dep.h
+src/extend_vtable.c
+src/extra_nci_thunks.c
+src/fingerprint.c
+src/glut_callbacks.c
+src/glut_nci_thunks.c
+src/glut_nci_thunks.nci
+src/install_config.c
+src/jit_cpu.c
+src/jit_defs.c
+src/jit_emit.h
+src/null_config.c
+src/parrot_config.c
+src/parrot_config.h
+src/platform.c
+src/platform_asm.s
+src/revision.c
+# generated from svn:ignore of 'src/atomic/'
+src/atomic/*.gcda
+src/atomic/*.o
+# generated from svn:ignore of 'src/call/'
+src/call/*.o
+src/call/*.obj
+src/call/*.str
+# generated from svn:ignore of 'src/dynoplibs/'
+src/dynoplibs/*.bundle
+src/dynoplibs/*.c
+src/dynoplibs/*.dll
+src/dynoplibs/*.exp
+src/dynoplibs/*.h
+src/dynoplibs/*.ilk
+src/dynoplibs/*.lib
+src/dynoplibs/*.manifest
+src/dynoplibs/*.o
+src/dynoplibs/*.obj
+src/dynoplibs/*.pdb
+src/dynoplibs/*.so
+src/dynoplibs/Defines.mak
+src/dynoplibs/Rules.mak
+# generated from svn:ignore of 'src/dynpmc/'
+src/dynpmc/*.bundle
+src/dynpmc/*.c
+src/dynpmc/*.def
+src/dynpmc/*.dll
+src/dynpmc/*.dump
+src/dynpmc/*.dylib
+src/dynpmc/*.exe
+src/dynpmc/*.exp
+src/dynpmc/*.h
+src/dynpmc/*.ilk
+src/dynpmc/*.lib
+src/dynpmc/*.manifest
+src/dynpmc/*.o
+src/dynpmc/*.obj
+src/dynpmc/*.pdb
+src/dynpmc/*.so
+src/dynpmc/Makefile
+src/dynpmc/md2.pmc
+src/dynpmc/md4.pmc
+src/dynpmc/md5.pmc
+src/dynpmc/ripemd160.pmc
+src/dynpmc/sha.pmc
+src/dynpmc/sha1.pmc
+src/dynpmc/sha256.pmc
+src/dynpmc/sha512.pmc
+# generated from svn:ignore of 'src/gc/'
+src/gc/*.bundle
+src/gc/*.c
+src/gc/*.def
+src/gc/*.dll
+src/gc/*.dump
+src/gc/*.dylib
+src/gc/*.exe
+src/gc/*.exp
+src/gc/*.h
+src/gc/*.ilk
+src/gc/*.lib
+src/gc/*.manifest
+src/gc/*.o
+src/gc/*.obj
+src/gc/*.pdb
+src/gc/*.so
+src/gc/Makefile
+# generated from svn:ignore of 'src/interp/'
+src/interp/*.o
+src/interp/*.str
+# generated from svn:ignore of 'src/io/'
+src/io/*.o
+src/io/*.obj
+src/io/*.str
+# generated from svn:ignore of 'src/nci/'
+src/nci/*.o
+src/nci/*.obj
+src/nci/*.str
+# generated from svn:ignore of 'src/ops/'
+src/ops/*.c
+src/ops/*.o
+src/ops/*.obj
+# generated from svn:ignore of 'src/packfile/'
+src/packfile/*.o
+src/packfile/*.obj
+# generated from svn:ignore of 'src/pmc/'
+src/pmc/*.c
+src/pmc/*.dump
+src/pmc/*.h
+src/pmc/*.o
+src/pmc/*.obj
+src/pmc/*.str
+src/pmc/*.tmp
+src/pmc/Makefile
+# generated from svn:ignore of 'src/runcore/'
+src/runcore/*.o
+src/runcore/*.obj
+src/runcore/*.str
+# generated from svn:ignore of 'src/string/'
+src/string/*.o
+src/string/*.obj
+src/string/*.str
+src/string/private_cstring.h
+# generated from svn:ignore of 'src/string/charset/'
+src/string/charset/*.o
+src/string/charset/*.obj
+# generated from svn:ignore of 'src/string/encoding/'
+src/string/encoding/*.o
+src/string/encoding/*.obj
+# generated from svn:ignore of 't/benchmark/'
+t/benchmark/*.pasm
+t/benchmark/*.pir
+# generated from svn:ignore of 't/compilers/imcc/'
+t/compilers/imcc/*.pbc
+# generated from svn:ignore of 't/compilers/imcc/imcpasm/'
+t/compilers/imcc/imcpasm/*.pasm
+t/compilers/imcc/imcpasm/*.pbc
+t/compilers/imcc/imcpasm/*.pir
+t/compilers/imcc/imcpasm/*_pbcexe
+# generated from svn:ignore of 't/compilers/imcc/reg/'
+t/compilers/imcc/reg/*.pasm
+t/compilers/imcc/reg/*.pbc
+t/compilers/imcc/reg/*.pir
+t/compilers/imcc/reg/*_pbcexe*
+# generated from svn:ignore of 't/compilers/imcc/syn/'
+t/compilers/imcc/syn/*.pasm
+t/compilers/imcc/syn/*.pbc
+t/compilers/imcc/syn/*.pir
+t/compilers/imcc/syn/*_pbcexe*
+# generated from svn:ignore of 't/compilers/json/'
+t/compilers/json/*.pbc
+t/compilers/json/*.pir
+t/compilers/json/*_pbcexe
+# generated from svn:ignore of 't/compilers/pct/'
+t/compilers/pct/*.pbc
+t/compilers/pct/*.pir
+# generated from svn:ignore of 't/compilers/pge/'
+t/compilers/pge/*.pasm
+t/compilers/pge/*.pbc
+t/compilers/pge/*.pir
+t/compilers/pge/*_pbcexe
+# generated from svn:ignore of 't/compilers/pge/p5regex/'
+t/compilers/pge/p5regex/*.pir
+# generated from svn:ignore of 't/compilers/pge/perl6regex/'
+t/compilers/pge/perl6regex/*.pbc
+t/compilers/pge/perl6regex/*.pir
+# generated from svn:ignore of 't/compilers/tge/'
+t/compilers/tge/*.pbc
+t/compilers/tge/*.pir
+t/compilers/tge/*_pbcexe
+# generated from svn:ignore of 't/dynoplibs/'
+t/dynoplibs/*.pasm
+t/dynoplibs/*.pbc
+t/dynoplibs/*.pir
+# generated from svn:ignore of 't/dynpmc/'
+t/dynpmc/*.pasm
+t/dynpmc/*.pbc
+t/dynpmc/*.pir
+t/dynpmc/*_pbcexe*
+t/dynpmc/md2.t
+t/dynpmc/md4.t
+t/dynpmc/md5.t
+t/dynpmc/ripemd160.t
+t/dynpmc/sha.t
+t/dynpmc/sha1.t
+t/dynpmc/sha256.t
+t/dynpmc/sha512.t
+# generated from svn:ignore of 't/examples/'
+t/examples/*.pasm
+t/examples/*.pbc
+t/examples/*.pir
+t/examples/*_pbcexe*
+# generated from svn:ignore of 't/library/'
+t/library/*.out
+t/library/*.pasm
+t/library/*.pbc
+t/library/*.pir
+t/library/*_pbcexe*
+# generated from svn:ignore of 't/native_pbc/'
+t/native_pbc/*_pbcexe*
+# generated from svn:ignore of 't/oo/'
+t/oo/*.pbc
+t/oo/*.pir
+# generated from svn:ignore of 't/op/'
+t/op/*.out
+t/op/*.pasm
+t/op/*.pbc
+t/op/*.pir
+t/op/*_pbcexe*
+# generated from svn:ignore of 't/perl/'
+t/perl/Parrot_Test_1.pasm
+t/perl/Parrot_Test_1.pir
+# generated from svn:ignore of 't/pmc/'
+t/pmc/*.out
+t/pmc/*.pasm
+t/pmc/*.pbc
+t/pmc/*.pir
+t/pmc/*_pbcexe*
+# generated from svn:ignore of 't/src/'
+t/src/*_*
+# generated from svn:ignore of 't/stress/'
+t/stress/*.out
+t/stress/*.pasm
+t/stress/*.pbc
+t/stress/*.pir
+t/stress/*_pbcexe*
+# generated from svn:ignore of 't/tools/'
+t/tools/*.pbc
+t/tools/*.pir
+t/tools/pdb.t.*
+t/tools/pmc2c.*.c
+t/tools/pmc2c.*.dump
+t/tools/pmc2c.*.h
+t/tools/pmc2c.*.pmc
+# Local variables:
+# mode: text
+# buffer-read-only: t
+# End:
Modified: branches/runcore_purge/DEPRECATED.pod
==============================================================================
--- branches/runcore_purge/DEPRECATED.pod Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/DEPRECATED.pod Sat Apr 24 00:51:33 2010 (r45948)
@@ -37,6 +37,8 @@
=over 4
+=item gziphandle [experimental]
+
=item RetContinuation [eligible in 2.4]
In future, just use Continuation.
Modified: branches/runcore_purge/MANIFEST
==============================================================================
--- branches/runcore_purge/MANIFEST Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/MANIFEST Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,12 +1,13 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 03:55:26 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Sat Apr 24 00:39:15 2010 UT
#
# See below for documentation on the format of this file.
#
# See docs/submissions.pod on how to recreate this file after SVN
# has been told about new or deleted files.
+.gitignore []
CREDITS [main]doc
ChangeLog []
Configure.pl []
@@ -17,8 +18,6 @@
MANIFEST []
MANIFEST.SKIP []
MANIFEST.generated []
-META.yml []
-Makefile.PL []
NEWS [main]doc
PBC_COMPAT [main]doc
PLATFORMS [devel]doc
@@ -297,6 +296,8 @@
config/auto/va_ptr/test_c.in []
config/auto/warnings.pm []
config/auto/warnings/test_c.in []
+config/auto/zlib.pm []
+config/auto/zlib/zlib_c.in []
config/gen/config_h.pm []
config/gen/config_h/config_h.in []
config/gen/config_h/feature_h.in []
@@ -916,15 +917,6 @@
ext/Parrot-Embed/tools/check_embed_coverage.pl []
ext/Parrot-Embed/tools/write_typemap.pl []
ext/Parrot-Embed/typemap []
-ext/SQLite3/DBDI.pm []
-ext/SQLite3/DBDI/Driver/SQLite3.pm []
-ext/SQLite3/Makefile.PL []
-ext/SQLite3/Makefile.in []
-ext/SQLite3/SQLite3.pir []
-ext/SQLite3/gen_sqlite3.pl []
-ext/SQLite3/t/test.p6 [test]
-ext/SQLite3/test.pir []
-ext/nqp-rx/.gitignore []
ext/nqp-rx/CREDITS []
ext/nqp-rx/Defines.mak []
ext/nqp-rx/LICENSE []
@@ -1248,7 +1240,6 @@
runtime/parrot/library/SDL/Sprite.pir [library]
runtime/parrot/library/SDL/StopWatch.pir [library]
runtime/parrot/library/SDL/Surface.pir [library]
-runtime/parrot/library/SQLite3.pir [library]
runtime/parrot/library/Stream/Base.pir [library]
runtime/parrot/library/Stream/Combiner.pir [library]
runtime/parrot/library/Stream/Coroutine.pir [library]
@@ -1311,6 +1302,7 @@
src/dynpmc/ext.pir []
src/dynpmc/foo.pmc []
src/dynpmc/foo2.pmc []
+src/dynpmc/gziphandle.pmc []
src/dynpmc/main.pasm []
src/dynpmc/pccmethod_test.pmc []
src/dynpmc/rational.pmc []
@@ -1459,7 +1451,6 @@
src/pmc/resizableintegerarray.pmc []
src/pmc/resizablepmcarray.pmc []
src/pmc/resizablestringarray.pmc []
-src/pmc/retcontinuation.pmc []
src/pmc/role.pmc []
src/pmc/scalar.pmc []
src/pmc/scheduler.pmc []
@@ -1682,12 +1673,12 @@
t/configure/testlib/verbosefoobar [test]
t/distro/file_metadata.t [test]
t/distro/manifest.t [test]
-t/distro/meta_yml.t [test]
t/dynoplibs/math.t [test]
t/dynoplibs/obscure.t [test]
t/dynpmc/dynlexpad.t [test]
t/dynpmc/foo.t [test]
t/dynpmc/foo2.t [test]
+t/dynpmc/gziphandle.t [test]
t/dynpmc/pccmethod_test.t [test]
t/dynpmc/rational.t [test]
t/dynpmc/rotest.t [test]
@@ -1706,6 +1697,7 @@
t/examples/subs.t [test]
t/examples/tutorial.t [test]
t/harness [test]
+t/harness.pir [test]
t/include/fp_equality.t [test]
t/library/cgi_query_hash.t [test]
t/library/configure.t [test]
@@ -1942,7 +1934,6 @@
t/pmc/resizableintegerarray.t [test]
t/pmc/resizablepmcarray.t [test]
t/pmc/resizablestringarray.t [test]
-t/pmc/retcontinuation.t [test]
t/pmc/ro.t [test]
t/pmc/role.t [test]
t/pmc/scalar.t [test]
@@ -2015,6 +2006,7 @@
t/steps/auto/thread-01.t [test]
t/steps/auto/va_ptr-01.t [test]
t/steps/auto/warnings-01.t [test]
+t/steps/auto/zlib-01.t [test]
t/steps/gen/config_h-01.t [test]
t/steps/gen/config_pm-01.t [test]
t/steps/gen/core_pmcs-01.t [test]
Modified: branches/runcore_purge/MANIFEST.SKIP
==============================================================================
--- branches/runcore_purge/MANIFEST.SKIP Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/MANIFEST.SKIP Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 05:05:15 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 10:28:38 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
Modified: branches/runcore_purge/MANIFEST.generated
==============================================================================
--- branches/runcore_purge/MANIFEST.generated Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/MANIFEST.generated Sat Apr 24 00:51:33 2010 (r45948)
@@ -72,18 +72,14 @@
lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
lib/Parrot/PMC.pm [devel]lib
parrot.pc [main]pkgconfig
-runtime/parrot/dynext/digest_group.bundle [library]
-runtime/parrot/dynext/digest_group.dll [library]
-runtime/parrot/dynext/digest_group.dylib [library]
-runtime/parrot/dynext/digest_group.so [library]
runtime/parrot/dynext/dynlexpad.bundle [library]
runtime/parrot/dynext/dynlexpad.dll [library]
runtime/parrot/dynext/dynlexpad.dylib [library]
runtime/parrot/dynext/dynlexpad.so [library]
-runtime/parrot/dynext/gdbmhash.bundle [library]
-runtime/parrot/dynext/gdbmhash.dll [library]
-runtime/parrot/dynext/gdbmhash.dylib [library]
-runtime/parrot/dynext/gdbmhash.so [library]
+runtime/parrot/dynext/gziphandle.bundle [library]
+runtime/parrot/dynext/gziphandle.dll [library]
+runtime/parrot/dynext/gziphandle.dylib [library]
+runtime/parrot/dynext/gziphandle.so [library]
runtime/parrot/dynext/libglutcb.bundle [library]
runtime/parrot/dynext/libglutcb.dll [library]
runtime/parrot/dynext/libglutcb.dylib [library]
Deleted: branches/runcore_purge/META.yml
==============================================================================
--- branches/runcore_purge/META.yml Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,41 +0,0 @@
-# $Id$
-#
-# This file describes the CPAN distribution for Parrot.
-# See http://module-build.sourceforge.net/META-spec-current.html for details.
----
-name: parrot
-version: 2.3.0
-author: parrot-dev at lists.parrot.org
-abstract: a virtual machine designed for dynamic languages
-license: artistic2
-no_index:
- directory:
- - config
- - languages
- - lib
- - lib/Digest
- - lib/File
- - lib/Parse
- - lib/Perl/Critic
- - lib/Pod
- - t
- - tools
- file:
- - lib/IO/CaptureOutput.pm
- - lib/SmartLink.pm
- package:
- - DB
- - Parrot::Test::DB
- - Parrot::Distribution
- - Parrot::Docs::HTMLPage
- - Parrot::OpTrans::CGP
- - Parrot::OpTrans::CSwitch
- - Parrot::OpsFile
-requires:
- Storable: 2.12
- perl: 5.8.4
-resources:
- homepage: 'http://parrot.org/'
- license: 'http://opensource.org/licenses/artistic-license-2.0.php'
- bugtracker: 'https://trac.parrot.org/parrot/'
-generated_by: Humans
Deleted: branches/runcore_purge/Makefile.PL
==============================================================================
--- branches/runcore_purge/Makefile.PL Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,45 +0,0 @@
-#! perl
-
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Makefile.PL - CPAN installer passthrough to configure Parrot
-
-=head1 DESCRIPTION
-
-This file exists only to allow users of a CPAN shell to configure and build
-Parrot. If you're reading this yourself, use F<Configure.pl>
-
-=cut
-
-use strict;
-use warnings;
-
-BEGIN { require 5.008 }
-
-my %translations =
-(
- INSTALL_BASE => 'prefix',
- LIB => 'lib',
- PREFIX => 'prefix',
-);
-
-my @commands;
-
-for my $arg (@ARGV)
-{
- my ($name, $value) = split /=/, $arg, 2;
- next unless exists $translations{ $name };
- push @commands, "--$name=$value";
-}
-
-system( $^X, 'Configure.pl', @commands );
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/runcore_purge/NEWS
==============================================================================
--- branches/runcore_purge/NEWS Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/NEWS Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,9 @@
# $Id$
+New in 2.4.0
+- Deprecations
+ + Tools to distribute on CPAN removed
+
New in 2.3.0
- Core
+ Allow passing parameters to the dynamic linker ('dlopen' improved)
Modified: branches/runcore_purge/PBC_COMPAT
==============================================================================
--- branches/runcore_purge/PBC_COMPAT Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/PBC_COMPAT Sat Apr 24 00:51:33 2010 (r45948)
@@ -27,6 +27,8 @@
# please insert tab separated entries at the top of the list
+6.7 2010.04.22 coke remove RetContinuation PMC
+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
6.3 2010.02.16 whiteknight Add OpLib and Opcode PMCs
Modified: branches/runcore_purge/compilers/data_json/Defines.mak
==============================================================================
--- branches/runcore_purge/compilers/data_json/Defines.mak Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/compilers/data_json/Defines.mak Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,6 +1,6 @@
-DATA_JSON_LIB_PBCS = $(LIBRARY_DIR)/data_json.pbc
+DATA_JSON_LIB_PBCS = runtime/parrot/languages/data_json/data_json.pbc
-DATA_JSON_CLEANUPS = $(LIBRARY_DIR)/data_json.pbc \
+DATA_JSON_CLEANUPS = $(DATA_JSON_LIB_PBCS) \
compilers/data_json/data_json.pbc \
compilers/data_json/data_json/grammar.pir \
compilers/data_json/data_json/pge2pir.pir
Modified: branches/runcore_purge/compilers/data_json/Rules.mak
==============================================================================
--- branches/runcore_purge/compilers/data_json/Rules.mak Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/compilers/data_json/Rules.mak Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,4 +1,5 @@
-$(LIBRARY_DIR)/data_json.pbc: compilers/data_json/data_json.pbc
+runtime/parrot/languages/data_json/data_json.pbc: compilers/data_json/data_json.pbc
+ $(MKPATH) runtime/parrot/languages/data_json
$(CP) compilers/data_json/data_json.pbc $@
compilers/data_json/data_json.pbc : \
Modified: branches/runcore_purge/compilers/imcc/parser_util.c
==============================================================================
--- branches/runcore_purge/compilers/imcc/parser_util.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/compilers/imcc/parser_util.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -708,7 +708,7 @@
sub_data->seg = new_cs;
sub_data->start_offs = 0;
sub_data->end_offs = new_cs->base.size;
- sub_data->name = Parrot_str_copy(interp, name);
+ sub_data->name = name;
*error_message = NULL;
}
Modified: branches/runcore_purge/compilers/imcc/pbc.c
==============================================================================
--- branches/runcore_purge/compilers/imcc/pbc.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/compilers/imcc/pbc.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1538,13 +1538,14 @@
build_key(PARROT_INTERP, ARGIN(SymReg *key_reg))
{
ASSERT_ARGS(build_key)
-#define KEYLEN 21
- SymReg *reg;
+#define MAX_KEY_LEN 10
+#define MAX_KEYNAME_LEN 20
+ SymReg *reg = key_reg->set == 'K' ? key_reg->nextkey : key_reg;
- char s_key[KEYLEN * 10];
- opcode_t key[KEYLEN + 1]; /* [0] -> length, [1..] -> keys */
+ char s_key[MAX_KEY_LEN * MAX_KEYNAME_LEN];
+ opcode_t key[MAX_KEY_LEN * 2 + 1];
opcode_t size;
- int key_length; /* P0["hi;there"; S0; 2] has length 3 */
+ int key_length = 0; /* P0["hi;there"; S0; 2] has length 3 */
int k;
/* 0 is length */
@@ -1554,15 +1555,14 @@
char *s = s_key;
*s = 0;
- reg = key_reg->set == 'K' ? key_reg->nextkey : key_reg;
for (key_length = 0; reg ; reg = reg->nextkey, key_length++) {
SymReg *r = reg;
int type;
- if ((pc - key - 2) >= KEYLEN)
+ if (key_length >= MAX_KEY_LEN)
IMCC_fatal(interp, 1, "build_key:"
- "key too complex increase KEYLEN\n");
+ "Key too long, increase MAX_KEY_LEN.\n");
/* if key is a register, the original sym is in r->reg */
type = r->type;
Modified: branches/runcore_purge/compilers/pge/PGE/Exp.pir
==============================================================================
--- branches/runcore_purge/compilers/pge/PGE/Exp.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/compilers/pge/PGE/Exp.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -718,7 +718,7 @@
.namespace [ 'PGE';'Exp';'CGroup' ]
-.sub 'pir' :method
+.sub 'pir' :method :nsentry
.param pmc code
.param string label
.param string next
Copied: branches/runcore_purge/config/auto/zlib.pm (from r45947, trunk/config/auto/zlib.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/config/auto/zlib.pm Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/config/auto/zlib.pm)
@@ -0,0 +1,90 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+config/auto/zlib.pm - Test for zlib library
+
+=head1 DESCRIPTION
+
+This library is linked to a dynamic PMC.
+
+=cut
+
+package auto::zlib;
+
+use strict;
+use warnings;
+
+use base qw(Parrot::Configure::Step);
+
+use Parrot::Configure::Utils ':auto';
+
+
+sub _init {
+ my $self = shift;
+ my %data;
+ $data{description} = q{Does your platform support zlib};
+ $data{result} = q{};
+ return \%data;
+}
+
+sub runstep {
+ my ( $self, $conf ) = @_;
+
+ my ( $verbose, $without ) = $conf->options->get(
+ qw|
+ verbose
+ without-zlib
+ |
+ );
+
+ if ($without) {
+ $conf->data->set( has_zlib => 0 );
+ $self->set_result('no');
+ return 1;
+ }
+
+ my $osname = $conf->data->get('osname');
+
+ my $extra_libs = $self->_select_lib( {
+ conf => $conf,
+ osname => $osname,
+ cc => $conf->data->get('cc'),
+ win32_nongcc => 'zlib.lib',
+ default => '-lz',
+ } );
+
+ $conf->cc_gen('config/auto/zlib/zlib_c.in');
+ eval { $conf->cc_build( q{}, $extra_libs); };
+ my $has_zlib = 0;
+ if ( !$@ ) {
+ my $test = $conf->cc_run();
+ $has_zlib = $self->_evaluate_cc_run($conf, $test, $has_zlib, $verbose);
+ }
+ $conf->data->set( has_zlib => $has_zlib );
+ $self->set_result($has_zlib ? 'yes' : 'no');
+
+ return 1;
+}
+
+sub _evaluate_cc_run {
+ my $self = shift;
+ my ($conf, $test, $has_zlib, $verbose) = @_;
+ if ( $test =~ m/^(\d\.\d\.\d)/ ) {
+ my $version = $1;
+ $has_zlib = 1;
+ print " (yes) " if $verbose;
+ $self->set_result("yes, $version");
+ }
+ return $has_zlib;
+}
+
+1;
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Copied: branches/runcore_purge/config/auto/zlib/zlib_c.in (from r45947, trunk/config/auto/zlib/zlib_c.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/config/auto/zlib/zlib_c.in Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/config/auto/zlib/zlib_c.in)
@@ -0,0 +1,26 @@
+/*
+ Copyright (C) 2010, Parrot Foundation.
+ $Id$
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <zlib.h>
+
+int
+main(int argc, char *argv[])
+{
+ if (0 == strcmp(ZLIB_VERSION, zlibVersion())) {
+ printf("%s\n", ZLIB_VERSION);
+ return EXIT_SUCCESS;
+ }
+ printf("not same version between include and library\n");
+ return EXIT_FAILURE;
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/runcore_purge/config/gen/makefiles/dynpmc.in
==============================================================================
--- branches/runcore_purge/config/gen/makefiles/dynpmc.in Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/config/gen/makefiles/dynpmc.in Sat Apr 24 00:51:33 2010 (r45948)
@@ -33,6 +33,7 @@
pccmethod_test$(LOAD_EXT) \
rotest$(LOAD_EXT) \
rational$(LOAD_EXT) \
+#IF(has_zlib): gziphandle$(LOAD_EXT) \
subproxy$(LOAD_EXT)
PMCS_FOO = \
@@ -43,6 +44,10 @@
foo$(O) \
foo2$(O)
+#IF(win32 and cc==gcc):LIB_ZLIB = -lz
+#ELSIF(win32):LIB_ZLIB = zlib.lib
+#ELSE:LIB_ZLIB = -lz
+
CLEANUPS = \
"*.c" \
"pmc_*.h" \
@@ -161,6 +166,19 @@
subproxy.dump: subproxy.pmc
$(PMC2CD) subproxy.pmc
+gziphandle$(LOAD_EXT): gziphandle$(O)
+ $(LD) @ld_out at gziphandle$(LOAD_EXT) gziphandle$(O) $(LINKARGS) $(LIB_ZLIB)
+#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+
+gziphandle$(O): gziphandle.c
+ $(CC) -c @cc_o_out at gziphandle$(O) $(INCLUDES) $(CFLAGS) gziphandle.c
+
+gziphandle.c: gziphandle.dump
+ $(PMC2CC) gziphandle.pmc
+
+gziphandle.dump: gziphandle.pmc
+ $(PMC2CD) gziphandle.pmc
+
test : all
cd ../.. && $(PERL) -Ilib t/harness t/dynpmc/*.t
Modified: branches/runcore_purge/config/gen/makefiles/root.in
==============================================================================
--- branches/runcore_purge/config/gen/makefiles/root.in Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/config/gen/makefiles/root.in Sat Apr 24 00:51:33 2010 (r45948)
@@ -2487,11 +2487,11 @@
tags-vi: tags.vi.dummy
$(RM_F) tags
@ctags@ \
- --links=no --totals \
- -R --exclude=blib --exclude=.svn \
- --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
- -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
- .
+ --links=no --totals \
+ -R --exclude=blib --exclude=.svn \
+ --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
+ -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
+ .
$(PERL) $(BUILD_TOOLS_DIR)/addopstags.pl $(OPS_FILES)
tags.vi.dummy:
@@ -2503,6 +2503,7 @@
# Andy's extra-cranky Perl::Critic checking for cage cleaners
cagecritic:
+ @perl -MPerl::Critic::Bangs -e'$$min=q{1.04};die qq{You need Bangs $$min} unless $$Perl::Critic::Bangs::VERSION ge $$min'
perlcritic -1 --profile tools/util/perlcritic-cage.conf $(CRITIC_FILES)
# This target will eventually create all the headers automatically. If you
Modified: branches/runcore_purge/config/gen/platform/generic/itimer.c
==============================================================================
--- branches/runcore_purge/config/gen/platform/generic/itimer.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/config/gen/platform/generic/itimer.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,6 +1,6 @@
/*
+ * Copyright (C) 2004-2010, Parrot Foundation.
* $Id$
- * Copyright (C) 2004-2009, Parrot Foundation.
*/
/*
@@ -77,7 +77,7 @@
*/
int
-get_sys_timer_ms(void *handle)
+get_sys_timer_ms(SHIM(void *handle))
{
struct itimerval ots;
getitimer(ITIMER_REAL, &ots);
Modified: branches/runcore_purge/docs/embed.pod
==============================================================================
--- branches/runcore_purge/docs/embed.pod Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/docs/embed.pod Sat Apr 24 00:51:33 2010 (r45948)
@@ -1551,8 +1551,6 @@
=item C<Parrot_store_sub_in_namespace>
-=item C<Parrot_str_append>
-
=item C<Parrot_str_boolean>
=item C<Parrot_str_byte_length>
Modified: branches/runcore_purge/docs/pdds/pdd28_strings.pod
==============================================================================
--- branches/runcore_purge/docs/pdds/pdd28_strings.pod Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/docs/pdds/pdd28_strings.pod Sat Apr 24 00:51:33 2010 (r45948)
@@ -379,13 +379,6 @@
value of flags. If both string arguments are null, return a new string created
according to the integer flags.
-=head4 Parrot_str_append (was string_append)
-
-Append one string to another and return the result. In the default case, the
-return value is the same as the first string argument (modifying that argument
-in place). If the first argument is COW or read-only, then the return value is
-a new string.
-
=head4 Parrot_str_new (was string_from_cstring)
Return a new string with the default encoding and character set. Accepts two
Modified: branches/runcore_purge/docs/project/release_manager_guide.pod
==============================================================================
--- branches/runcore_purge/docs/project/release_manager_guide.pod Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/docs/project/release_manager_guide.pod Sat Apr 24 00:51:33 2010 (r45948)
@@ -66,7 +66,7 @@
=item a
Increment the version number in the following files:
-F<VERSION>, F<MANIFEST.generated>, F<META.yml>, F<README>.
+F<VERSION>, F<MANIFEST.generated>, F<README>.
Also update the version number, date, and your name in the
the file: F<docs/parrothist.pod>.
Modified: branches/runcore_purge/ext/Parrot-Embed/MANIFEST
==============================================================================
--- branches/runcore_purge/ext/Parrot-Embed/MANIFEST Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/ext/Parrot-Embed/MANIFEST Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,7 +1,6 @@
Build.PL
Changes
MANIFEST
-META.yml # Will be created by "make dist"
README
lib/Parrot/Embed.pm
lib/Parrot/Embed.xs
Deleted: branches/runcore_purge/ext/nqp-rx/.gitignore
==============================================================================
--- branches/runcore_purge/ext/nqp-rx/.gitignore Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,15 +0,0 @@
-Makefile
-/parrot
-/parrot_install
-.*.swp
-*.c
-*.o
-Regex.pbc
-HLL.pbc
-P6Regex
-P6Regex.pbc
-nqp
-nqp.pbc
-src/gen/*.pir
-src/stage1
-src/stage2
Modified: branches/runcore_purge/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/runcore_purge/ext/nqp-rx/src/stage0/HLL-s0.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/ext/nqp-rx/src/stage0/HLL-s0.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -522,7 +522,7 @@
.end
-.sub 'split_words' :method
+.sub 'split_words' :method :nsentry
.param string words
.local int pos, eos
.local pmc result
@@ -854,119 +854,117 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336377.56964")
+.sub "_block11" :anon :subid("10_1271948647.57035")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
.annotate "line", 5
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
- $P344 = $P14()
+ $P339 = $P14()
.annotate "line", 1
- .return ($P344)
+ .return ($P339)
.end
.namespace []
-.sub "" :load :init :subid("post105") :outer("10_1271336377.56964")
+.sub "" :load :init :subid("post103") :outer("10_1271948647.57035")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336377.56964"
+ .const 'Sub' $P12 = "10_1271948647.57035"
.local pmc block
set block, $P12
- $P345 = get_root_global ["parrot"], "P6metaclass"
- $P345."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
+ $P340 = get_root_global ["parrot"], "P6metaclass"
+ $P340."new_class"("HLL::Grammar", "Regex::Cursor" :named("parent"))
.end
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1271336377.56964") :outer("10_1271336377.56964")
+.sub "_block13" :subid("11_1271948647.57035") :outer("10_1271948647.57035")
.annotate "line", 5
- .const 'Sub' $P334 = "103_1271336377.56964"
- capture_lex $P334
- .const 'Sub' $P327 = "101_1271336377.56964"
- capture_lex $P327
- .const 'Sub' $P314 = "98_1271336377.56964"
- capture_lex $P314
- .const 'Sub' $P282 = "93_1271336377.56964"
- capture_lex $P282
- .const 'Sub' $P276 = "91_1271336377.56964"
- capture_lex $P276
- .const 'Sub' $P271 = "89_1271336377.56964"
+ .const 'Sub' $P329 = "101_1271948647.57035"
+ capture_lex $P329
+ .const 'Sub' $P322 = "99_1271948647.57035"
+ capture_lex $P322
+ .const 'Sub' $P309 = "96_1271948647.57035"
+ capture_lex $P309
+ .const 'Sub' $P277 = "91_1271948647.57035"
+ capture_lex $P277
+ .const 'Sub' $P271 = "89_1271948647.57035"
capture_lex $P271
- .const 'Sub' $P265 = "87_1271336377.56964"
- capture_lex $P265
- .const 'Sub' $P259 = "85_1271336377.56964"
- capture_lex $P259
- .const 'Sub' $P254 = "83_1271336377.56964"
+ .const 'Sub' $P266 = "87_1271948647.57035"
+ capture_lex $P266
+ .const 'Sub' $P260 = "85_1271948647.57035"
+ capture_lex $P260
+ .const 'Sub' $P254 = "83_1271948647.57035"
capture_lex $P254
- .const 'Sub' $P249 = "81_1271336377.56964"
+ .const 'Sub' $P249 = "81_1271948647.57035"
capture_lex $P249
- .const 'Sub' $P244 = "79_1271336377.56964"
+ .const 'Sub' $P244 = "79_1271948647.57035"
capture_lex $P244
- .const 'Sub' $P239 = "77_1271336377.56964"
+ .const 'Sub' $P239 = "77_1271948647.57035"
capture_lex $P239
- .const 'Sub' $P234 = "75_1271336377.56964"
+ .const 'Sub' $P234 = "75_1271948647.57035"
capture_lex $P234
- .const 'Sub' $P229 = "73_1271336377.56964"
+ .const 'Sub' $P229 = "73_1271948647.57035"
capture_lex $P229
- .const 'Sub' $P224 = "71_1271336377.56964"
+ .const 'Sub' $P224 = "71_1271948647.57035"
capture_lex $P224
- .const 'Sub' $P219 = "69_1271336377.56964"
+ .const 'Sub' $P219 = "69_1271948647.57035"
capture_lex $P219
- .const 'Sub' $P208 = "65_1271336377.56964"
+ .const 'Sub' $P208 = "65_1271948647.57035"
capture_lex $P208
- .const 'Sub' $P195 = "63_1271336377.56964"
+ .const 'Sub' $P195 = "63_1271948647.57035"
capture_lex $P195
- .const 'Sub' $P183 = "61_1271336377.56964"
+ .const 'Sub' $P183 = "61_1271948647.57035"
capture_lex $P183
- .const 'Sub' $P176 = "59_1271336377.56964"
+ .const 'Sub' $P176 = "59_1271948647.57035"
capture_lex $P176
- .const 'Sub' $P167 = "57_1271336377.56964"
+ .const 'Sub' $P167 = "57_1271948647.57035"
capture_lex $P167
- .const 'Sub' $P160 = "55_1271336377.56964"
+ .const 'Sub' $P160 = "55_1271948647.57035"
capture_lex $P160
- .const 'Sub' $P151 = "53_1271336377.56964"
+ .const 'Sub' $P151 = "53_1271948647.57035"
capture_lex $P151
- .const 'Sub' $P144 = "51_1271336377.56964"
+ .const 'Sub' $P144 = "51_1271948647.57035"
capture_lex $P144
- .const 'Sub' $P135 = "49_1271336377.56964"
+ .const 'Sub' $P135 = "49_1271948647.57035"
capture_lex $P135
- .const 'Sub' $P128 = "47_1271336377.56964"
+ .const 'Sub' $P128 = "47_1271948647.57035"
capture_lex $P128
- .const 'Sub' $P121 = "45_1271336377.56964"
+ .const 'Sub' $P121 = "45_1271948647.57035"
capture_lex $P121
- .const 'Sub' $P111 = "43_1271336377.56964"
+ .const 'Sub' $P111 = "43_1271948647.57035"
capture_lex $P111
- .const 'Sub' $P103 = "41_1271336377.56964"
+ .const 'Sub' $P103 = "41_1271948647.57035"
capture_lex $P103
- .const 'Sub' $P93 = "40_1271336377.56964"
+ .const 'Sub' $P93 = "40_1271948647.57035"
capture_lex $P93
- .const 'Sub' $P87 = "38_1271336377.56964"
+ .const 'Sub' $P87 = "38_1271948647.57035"
capture_lex $P87
- .const 'Sub' $P82 = "36_1271336377.56964"
+ .const 'Sub' $P82 = "36_1271948647.57035"
capture_lex $P82
- .const 'Sub' $P74 = "34_1271336377.56964"
+ .const 'Sub' $P74 = "34_1271948647.57035"
capture_lex $P74
- .const 'Sub' $P68 = "32_1271336377.56964"
+ .const 'Sub' $P68 = "32_1271948647.57035"
capture_lex $P68
- .const 'Sub' $P62 = "30_1271336377.56964"
+ .const 'Sub' $P62 = "30_1271948647.57035"
capture_lex $P62
- .const 'Sub' $P56 = "28_1271336377.56964"
+ .const 'Sub' $P56 = "28_1271948647.57035"
capture_lex $P56
- .const 'Sub' $P23 = "14_1271336377.56964"
+ .const 'Sub' $P23 = "14_1271948647.57035"
capture_lex $P23
- .const 'Sub' $P15 = "12_1271336377.56964"
+ .const 'Sub' $P15 = "12_1271948647.57035"
capture_lex $P15
.annotate "line", 33
- .const 'Sub' $P334 = "103_1271336377.56964"
- capture_lex $P334
+ .const 'Sub' $P329 = "101_1271948647.57035"
+ capture_lex $P329
.annotate "line", 5
- .return ($P334)
+ .return ($P329)
.end
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "ws" :subid("12_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx16_tgt
.local int rx16_pos
@@ -1050,7 +1048,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1271336377.56964") :method
+.sub "!PREFIX__ws" :subid("13_1271948647.57035") :method
.annotate "line", 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1059,7 +1057,7 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "termish" :subid("14_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx24_tgt
.local int rx24_pos
@@ -1151,7 +1149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1271336377.56964") :method
+.sub "!PREFIX__termish" :subid("15_1271948647.57035") :method
.annotate "line", 5
new $P26, "ResizablePMCArray"
push $P26, ""
@@ -1160,7 +1158,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1271336377.56964") :method
+.sub "term" :subid("16_1271948647.57035") :method
.annotate "line", 13
$P33 = self."!protoregex"("term")
.return ($P33)
@@ -1168,7 +1166,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1271336377.56964") :method
+.sub "!PREFIX__term" :subid("17_1271948647.57035") :method
.annotate "line", 13
$P35 = self."!PREFIX__!protoregex"("term")
.return ($P35)
@@ -1176,7 +1174,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1271336377.56964") :method
+.sub "infix" :subid("18_1271948647.57035") :method
.annotate "line", 14
$P37 = self."!protoregex"("infix")
.return ($P37)
@@ -1184,7 +1182,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1271336377.56964") :method
+.sub "!PREFIX__infix" :subid("19_1271948647.57035") :method
.annotate "line", 14
$P39 = self."!PREFIX__!protoregex"("infix")
.return ($P39)
@@ -1192,7 +1190,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1271336377.56964") :method
+.sub "prefix" :subid("20_1271948647.57035") :method
.annotate "line", 15
$P41 = self."!protoregex"("prefix")
.return ($P41)
@@ -1200,7 +1198,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1271336377.56964") :method
+.sub "!PREFIX__prefix" :subid("21_1271948647.57035") :method
.annotate "line", 15
$P43 = self."!PREFIX__!protoregex"("prefix")
.return ($P43)
@@ -1208,7 +1206,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1271336377.56964") :method
+.sub "postfix" :subid("22_1271948647.57035") :method
.annotate "line", 16
$P45 = self."!protoregex"("postfix")
.return ($P45)
@@ -1216,7 +1214,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1271336377.56964") :method
+.sub "!PREFIX__postfix" :subid("23_1271948647.57035") :method
.annotate "line", 16
$P47 = self."!PREFIX__!protoregex"("postfix")
.return ($P47)
@@ -1224,7 +1222,7 @@
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1271336377.56964") :method
+.sub "circumfix" :subid("24_1271948647.57035") :method
.annotate "line", 17
$P49 = self."!protoregex"("circumfix")
.return ($P49)
@@ -1232,7 +1230,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1271336377.56964") :method
+.sub "!PREFIX__circumfix" :subid("25_1271948647.57035") :method
.annotate "line", 17
$P51 = self."!PREFIX__!protoregex"("circumfix")
.return ($P51)
@@ -1240,7 +1238,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1271336377.56964") :method
+.sub "postcircumfix" :subid("26_1271948647.57035") :method
.annotate "line", 18
$P53 = self."!protoregex"("postcircumfix")
.return ($P53)
@@ -1248,7 +1246,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1271336377.56964") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1271948647.57035") :method
.annotate "line", 18
$P55 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P55)
@@ -1256,7 +1254,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "term:sym<circumfix>" :subid("28_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx57_tgt
.local int rx57_pos
@@ -1314,7 +1312,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1271336377.56964") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1271948647.57035") :method
.annotate "line", 5
$P59 = self."!PREFIX__!subrule"("circumfix", "")
new $P60, "ResizablePMCArray"
@@ -1324,7 +1322,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "infixish" :subid("30_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx63_tgt
.local int rx63_pos
@@ -1382,7 +1380,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1271336377.56964") :method
+.sub "!PREFIX__infixish" :subid("31_1271948647.57035") :method
.annotate "line", 5
$P65 = self."!PREFIX__!subrule"("OPER=infix", "")
new $P66, "ResizablePMCArray"
@@ -1392,7 +1390,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "prefixish" :subid("32_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx69_tgt
.local int rx69_pos
@@ -1455,7 +1453,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1271336377.56964") :method
+.sub "!PREFIX__prefixish" :subid("33_1271948647.57035") :method
.annotate "line", 5
$P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
new $P72, "ResizablePMCArray"
@@ -1465,7 +1463,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "postfixish" :subid("34_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx75_tgt
.local int rx75_pos
@@ -1539,7 +1537,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1271336377.56964") :method
+.sub "!PREFIX__postfixish" :subid("35_1271948647.57035") :method
.annotate "line", 5
$P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
$P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1551,7 +1549,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "nullterm" :subid("36_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx83_tgt
.local int rx83_pos
@@ -1602,7 +1600,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1271336377.56964") :method
+.sub "!PREFIX__nullterm" :subid("37_1271948647.57035") :method
.annotate "line", 5
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1611,7 +1609,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "nullterm_alt" :subid("38_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 5
.local string rx88_tgt
.local int rx88_pos
@@ -1669,7 +1667,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1271336377.56964") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1271948647.57035") :method
.annotate "line", 5
$P90 = self."!PREFIX__!subrule"("term", "")
new $P91, "ResizablePMCArray"
@@ -1679,7 +1677,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nulltermish" :subid("40_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "nulltermish" :subid("40_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
new $P95, 'ExceptionHandler'
set_addr $P95, control_94
@@ -1706,7 +1704,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_delimited" :subid("41_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx104_tgt
.local int rx104_pos
@@ -1788,7 +1786,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1271336377.56964") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1271948647.57035") :method
.annotate "line", 33
$P106 = self."!PREFIX__!subrule"("starter", "")
new $P107, "ResizablePMCArray"
@@ -1798,7 +1796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_atom" :subid("43_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx112_tgt
.local int rx112_pos
@@ -1889,7 +1887,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1271336377.56964") :method
+.sub "!PREFIX__quote_atom" :subid("44_1271948647.57035") :method
.annotate "line", 33
new $P114, "ResizablePMCArray"
push $P114, ""
@@ -1898,7 +1896,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "decint" :subid("45_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx122_tgt
.local int rx122_pos
@@ -1970,7 +1968,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1271336377.56964") :method
+.sub "!PREFIX__decint" :subid("46_1271948647.57035") :method
.annotate "line", 33
new $P124, "ResizablePMCArray"
push $P124, ""
@@ -1979,7 +1977,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "decints" :subid("47_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx129_tgt
.local int rx129_pos
@@ -2063,7 +2061,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1271336377.56964") :method
+.sub "!PREFIX__decints" :subid("48_1271948647.57035") :method
.annotate "line", 33
new $P131, "ResizablePMCArray"
push $P131, ""
@@ -2072,7 +2070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "hexint" :subid("49_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx136_tgt
.local int rx136_pos
@@ -2153,7 +2151,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1271336377.56964") :method
+.sub "!PREFIX__hexint" :subid("50_1271948647.57035") :method
.annotate "line", 33
new $P138, "ResizablePMCArray"
push $P138, ""
@@ -2162,7 +2160,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "hexints" :subid("51_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx145_tgt
.local int rx145_pos
@@ -2246,7 +2244,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1271336377.56964") :method
+.sub "!PREFIX__hexints" :subid("52_1271948647.57035") :method
.annotate "line", 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2255,7 +2253,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "octint" :subid("53_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx152_tgt
.local int rx152_pos
@@ -2336,7 +2334,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1271336377.56964") :method
+.sub "!PREFIX__octint" :subid("54_1271948647.57035") :method
.annotate "line", 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2345,7 +2343,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "octints" :subid("55_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx161_tgt
.local int rx161_pos
@@ -2429,7 +2427,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1271336377.56964") :method
+.sub "!PREFIX__octints" :subid("56_1271948647.57035") :method
.annotate "line", 33
new $P163, "ResizablePMCArray"
push $P163, ""
@@ -2438,7 +2436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "binint" :subid("57_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx168_tgt
.local int rx168_pos
@@ -2519,7 +2517,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1271336377.56964") :method
+.sub "!PREFIX__binint" :subid("58_1271948647.57035") :method
.annotate "line", 33
new $P170, "ResizablePMCArray"
push $P170, ""
@@ -2528,7 +2526,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "binints" :subid("59_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx177_tgt
.local int rx177_pos
@@ -2612,7 +2610,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1271336377.56964") :method
+.sub "!PREFIX__binints" :subid("60_1271948647.57035") :method
.annotate "line", 33
new $P179, "ResizablePMCArray"
push $P179, ""
@@ -2621,7 +2619,7 @@
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "integer" :subid("61_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx184_tgt
.local int rx184_pos
@@ -2769,7 +2767,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1271336377.56964") :method
+.sub "!PREFIX__integer" :subid("62_1271948647.57035") :method
.annotate "line", 33
$P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
$P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2787,7 +2785,7 @@
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "dec_number" :subid("63_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx196_tgt
.local int rx196_pos
@@ -2966,7 +2964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1271336377.56964") :method
+.sub "!PREFIX__dec_number" :subid("64_1271948647.57035") :method
.annotate "line", 33
new $P198, "ResizablePMCArray"
push $P198, ""
@@ -2977,7 +2975,7 @@
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "escale" :subid("65_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx209_tgt
.local int rx209_pos
@@ -3054,7 +3052,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1271336377.56964") :method
+.sub "!PREFIX__escale" :subid("66_1271948647.57035") :method
.annotate "line", 33
new $P211, "ResizablePMCArray"
push $P211, "e"
@@ -3064,7 +3062,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1271336377.56964") :method
+.sub "quote_escape" :subid("67_1271948647.57035") :method
.annotate "line", 79
$P216 = self."!protoregex"("quote_escape")
.return ($P216)
@@ -3072,7 +3070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1271336377.56964") :method
+.sub "!PREFIX__quote_escape" :subid("68_1271948647.57035") :method
.annotate "line", 79
$P218 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P218)
@@ -3080,7 +3078,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<backslash>" :subid("69_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx220_tgt
.local int rx220_pos
@@ -3142,7 +3140,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1271948647.57035") :method
.annotate "line", 33
new $P222, "ResizablePMCArray"
push $P222, "\\\\"
@@ -3151,7 +3149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<stopper>" :subid("71_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx225_tgt
.local int rx225_pos
@@ -3220,7 +3218,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1271948647.57035") :method
.annotate "line", 33
new $P227, "ResizablePMCArray"
push $P227, "\\"
@@ -3229,7 +3227,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<bs>" :subid("73_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx230_tgt
.local int rx230_pos
@@ -3291,7 +3289,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1271948647.57035") :method
.annotate "line", 33
new $P232, "ResizablePMCArray"
push $P232, "\\b"
@@ -3300,7 +3298,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<nl>" :subid("75_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx235_tgt
.local int rx235_pos
@@ -3362,7 +3360,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1271948647.57035") :method
.annotate "line", 33
new $P237, "ResizablePMCArray"
push $P237, "\\n"
@@ -3371,7 +3369,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<cr>" :subid("77_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx240_tgt
.local int rx240_pos
@@ -3433,7 +3431,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1271948647.57035") :method
.annotate "line", 33
new $P242, "ResizablePMCArray"
push $P242, "\\r"
@@ -3442,7 +3440,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<tab>" :subid("79_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx245_tgt
.local int rx245_pos
@@ -3504,7 +3502,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1271948647.57035") :method
.annotate "line", 33
new $P247, "ResizablePMCArray"
push $P247, "\\t"
@@ -3513,7 +3511,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<ff>" :subid("81_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx250_tgt
.local int rx250_pos
@@ -3575,7 +3573,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1271948647.57035") :method
.annotate "line", 33
new $P252, "ResizablePMCArray"
push $P252, "\\f"
@@ -3584,7 +3582,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("83_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<hex>" :subid("83_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx255_tgt
.local int rx255_pos
@@ -3593,7 +3591,7 @@
.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>")
+ rx255_cur."!cursor_debug"("START ", "quote_escape:sym<hex>")
.lex unicode:"$\x{a2}", rx255_cur
.local pmc match
.lex "$/", match
@@ -3615,21 +3613,57 @@
set_addr $I10, rxscan258_loop
rx255_cur."!mark_push"(0, rx255_pos, $I10)
rxscan258_done:
-.annotate "line", 88
- # rx literal "\\e"
+.annotate "line", 89
+ # rx literal unicode:"\\x"
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
+ ne $S10, unicode:"\\x", rx255_fail
add rx255_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
+ alt259_0:
+.annotate "line", 90
+ set_addr $I10, alt259_1
+ rx255_cur."!mark_push"(0, rx255_pos, $I10)
+ # rx subrule "hexint" subtype=capture negate=
+ rx255_cur."!cursor_pos"(rx255_pos)
+ $P10 = rx255_cur."hexint"()
+ unless $P10, rx255_fail
+ rx255_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("hexint")
+ rx255_pos = $P10."pos"()
+ goto alt259_end
+ alt259_1:
+ # rx literal "["
+ add $I11, rx255_pos, 1
+ gt $I11, rx255_eos, rx255_fail
+ sub $I11, rx255_pos, rx255_off
+ substr $S10, rx255_tgt, $I11, 1
+ ne $S10, "[", rx255_fail
+ add rx255_pos, 1
+ # rx subrule "hexints" subtype=capture negate=
+ rx255_cur."!cursor_pos"(rx255_pos)
+ $P10 = rx255_cur."hexints"()
+ unless $P10, rx255_fail
+ rx255_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("hexints")
+ rx255_pos = $P10."pos"()
+ # rx literal "]"
+ add $I11, rx255_pos, 1
+ gt $I11, rx255_eos, rx255_fail
+ sub $I11, rx255_pos, rx255_off
+ substr $S10, rx255_tgt, $I11, 1
+ ne $S10, "]", rx255_fail
+ add rx255_pos, 1
+ alt259_end:
+.annotate "line", 88
# 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)
+ rx255_cur."!cursor_pass"(rx255_pos, "quote_escape:sym<hex>")
+ rx255_cur."!cursor_debug"("PASS ", "quote_escape:sym<hex>", " at pos=", rx255_pos)
.return (rx255_cur)
rx255_fail:
.annotate "line", 33
@@ -3639,237 +3673,208 @@
jump $I10
rx255_done:
rx255_cur."!cursor_fail"()
- rx255_cur."!cursor_debug"("FAIL ", "quote_escape:sym<esc>")
+ rx255_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
.return (rx255_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("84_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1271948647.57035") :method
.annotate "line", 33
new $P257, "ResizablePMCArray"
- push $P257, "\\e"
+ push $P257, unicode:"\\x"
.return ($P257)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("85_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<oct>" :subid("85_1271948647.57035") :method :outer("11_1271948647.57035")
.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 rx261_tgt
+ .local int rx261_pos
+ .local int rx261_off
+ .local int rx261_eos
+ .local int rx261_rep
+ .local pmc rx261_cur
+ (rx261_cur, rx261_pos, rx261_tgt) = self."!cursor_start"()
+ rx261_cur."!cursor_debug"("START ", "quote_escape:sym<oct>")
+ .lex unicode:"$\x{a2}", rx261_cur
.local pmc match
.lex "$/", match
- length rx260_eos, rx260_tgt
- 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 rx261_eos, rx261_tgt
+ set rx261_off, 0
+ lt rx261_pos, 2, rx261_start
+ sub rx261_off, rx261_pos, 1
+ substr rx261_tgt, rx261_tgt, rx261_off
+ rx261_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan263_done
- goto rxscan263_scan
- rxscan263_loop:
- ($P10) = rx260_cur."from"()
+ ne $I10, -1, rxscan264_done
+ goto rxscan264_scan
+ rxscan264_loop:
+ ($P10) = rx261_cur."from"()
inc $P10
- set rx260_pos, $P10
- ge rx260_pos, rx260_eos, rxscan263_done
- rxscan263_scan:
- set_addr $I10, rxscan263_loop
- rx260_cur."!mark_push"(0, rx260_pos, $I10)
- rxscan263_done:
-.annotate "line", 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
+ set rx261_pos, $P10
+ ge rx261_pos, rx261_eos, rxscan264_done
+ rxscan264_scan:
+ set_addr $I10, rxscan264_loop
+ rx261_cur."!mark_push"(0, rx261_pos, $I10)
+ rxscan264_done:
+.annotate "line", 93
+ # rx literal "\\o"
+ add $I11, rx261_pos, 2
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 2
+ ne $S10, "\\o", rx261_fail
+ add rx261_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:
-.annotate "line", 91
- set_addr $I10, alt264_1
- rx260_cur."!mark_push"(0, rx260_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)
- $P10."!cursor_names"("hexint")
- rx260_pos = $P10."pos"()
- goto alt264_end
- alt264_1:
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."quotemod_check"("b")
+ unless $P10, rx261_fail
+ alt265_0:
+.annotate "line", 94
+ set_addr $I10, alt265_1
+ rx261_cur."!mark_push"(0, rx261_pos, $I10)
+ # rx subrule "octint" subtype=capture negate=
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."octint"()
+ unless $P10, rx261_fail
+ rx261_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("octint")
+ rx261_pos = $P10."pos"()
+ goto alt265_end
+ alt265_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
- # 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)
- $P10."!cursor_names"("hexints")
- rx260_pos = $P10."pos"()
+ add $I11, rx261_pos, 1
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 1
+ ne $S10, "[", rx261_fail
+ add rx261_pos, 1
+ # rx subrule "octints" subtype=capture negate=
+ rx261_cur."!cursor_pos"(rx261_pos)
+ $P10 = rx261_cur."octints"()
+ unless $P10, rx261_fail
+ rx261_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("octints")
+ rx261_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:
-.annotate "line", 89
+ add $I11, rx261_pos, 1
+ gt $I11, rx261_eos, rx261_fail
+ sub $I11, rx261_pos, rx261_off
+ substr $S10, rx261_tgt, $I11, 1
+ ne $S10, "]", rx261_fail
+ add rx261_pos, 1
+ alt265_end:
+.annotate "line", 92
# 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
+ rx261_cur."!cursor_pass"(rx261_pos, "quote_escape:sym<oct>")
+ rx261_cur."!cursor_debug"("PASS ", "quote_escape:sym<oct>", " at pos=", rx261_pos)
+ .return (rx261_cur)
+ rx261_fail:
+.annotate "line", 33
+ (rx261_rep, rx261_pos, $I10, $P10) = rx261_cur."!mark_fail"(0)
+ lt rx261_pos, -1, rx261_done
+ eq rx261_pos, -1, rx261_fail
jump $I10
- rx260_done:
- rx260_cur."!cursor_fail"()
- rx260_cur."!cursor_debug"("FAIL ", "quote_escape:sym<hex>")
- .return (rx260_cur)
+ rx261_done:
+ rx261_cur."!cursor_fail"()
+ rx261_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
+ .return (rx261_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("86_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1271948647.57035") :method
.annotate "line", 33
- new $P262, "ResizablePMCArray"
- push $P262, unicode:"\\x"
- .return ($P262)
+ new $P263, "ResizablePMCArray"
+ push $P263, "\\o"
+ .return ($P263)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("87_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<chr>" :subid("87_1271948647.57035") :method :outer("11_1271948647.57035")
.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 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 ", "quote_escape:sym<chr>")
+ .lex unicode:"$\x{a2}", rx267_cur
.local pmc match
.lex "$/", match
- length rx266_eos, rx266_tgt
- 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 rx267_eos, rx267_tgt
+ 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, rxscan269_done
- goto rxscan269_scan
- rxscan269_loop:
- ($P10) = rx266_cur."from"()
+ ne $I10, -1, rxscan270_done
+ goto rxscan270_scan
+ rxscan270_loop:
+ ($P10) = rx267_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:
-.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
+ set rx267_pos, $P10
+ ge rx267_pos, rx267_eos, rxscan270_done
+ rxscan270_scan:
+ set_addr $I10, rxscan270_loop
+ rx267_cur."!mark_push"(0, rx267_pos, $I10)
+ rxscan270_done:
+.annotate "line", 96
+ # rx literal "\\c"
+ 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, "\\c", rx267_fail
+ add rx267_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:
-.annotate "line", 95
- set_addr $I10, alt270_1
- rx266_cur."!mark_push"(0, rx266_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)
- $P10."!cursor_names"("octint")
- rx266_pos = $P10."pos"()
- goto alt270_end
- alt270_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
- # 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)
- $P10."!cursor_names"("octints")
- rx266_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:
-.annotate "line", 93
+ rx267_cur."!cursor_pos"(rx267_pos)
+ $P10 = rx267_cur."quotemod_check"("b")
+ unless $P10, rx267_fail
+ # rx subrule "charspec" subtype=capture negate=
+ rx267_cur."!cursor_pos"(rx267_pos)
+ $P10 = rx267_cur."charspec"()
+ unless $P10, rx267_fail
+ rx267_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("charspec")
+ rx267_pos = $P10."pos"()
# 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
+ rx267_cur."!cursor_pass"(rx267_pos, "quote_escape:sym<chr>")
+ rx267_cur."!cursor_debug"("PASS ", "quote_escape:sym<chr>", " at pos=", rx267_pos)
+ .return (rx267_cur)
+ rx267_fail:
+.annotate "line", 33
+ (rx267_rep, rx267_pos, $I10, $P10) = rx267_cur."!mark_fail"(0)
+ lt rx267_pos, -1, rx267_done
+ eq rx267_pos, -1, rx267_fail
jump $I10
- rx266_done:
- rx266_cur."!cursor_fail"()
- rx266_cur."!cursor_debug"("FAIL ", "quote_escape:sym<oct>")
- .return (rx266_cur)
+ rx267_done:
+ rx267_cur."!cursor_fail"()
+ rx267_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
+ .return (rx267_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("88_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1271948647.57035") :method
.annotate "line", 33
- new $P268, "ResizablePMCArray"
- push $P268, "\\o"
- .return ($P268)
+ new $P269, "ResizablePMCArray"
+ push $P269, "\\c"
+ .return ($P269)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("89_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<0>" :subid("89_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
.local string rx272_tgt
.local int rx272_pos
@@ -3878,7 +3883,7 @@
.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>")
+ rx272_cur."!cursor_debug"("START ", "quote_escape:sym<0>")
.lex unicode:"$\x{a2}", rx272_cur
.local pmc match
.lex "$/", match
@@ -3901,27 +3906,41 @@
rx272_cur."!mark_push"(0, rx272_pos, $I10)
rxscan275_done:
.annotate "line", 97
- # rx literal "\\c"
- add $I11, rx272_pos, 2
+ # rx literal "\\"
+ add $I11, rx272_pos, 1
+ gt $I11, rx272_eos, rx272_fail
+ sub $I11, rx272_pos, rx272_off
+ substr $S10, rx272_tgt, $I11, 1
+ ne $S10, "\\", rx272_fail
+ add rx272_pos, 1
+ # rx subcapture "sym"
+ set_addr $I10, rxcap_276_fail
+ rx272_cur."!mark_push"(0, rx272_pos, $I10)
+ # rx literal "0"
+ add $I11, rx272_pos, 1
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
+ substr $S10, rx272_tgt, $I11, 1
+ ne $S10, "0", rx272_fail
+ add rx272_pos, 1
+ set_addr $I10, rxcap_276_fail
+ ($I12, $I11) = rx272_cur."!mark_peek"($I10)
+ rx272_cur."!cursor_pos"($I11)
+ ($P10) = rx272_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx272_pos, "")
+ rx272_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("sym")
+ goto rxcap_276_done
+ rxcap_276_fail:
+ goto rx272_fail
+ rxcap_276_done:
# rx subrule "quotemod_check" subtype=zerowidth negate=
rx272_cur."!cursor_pos"(rx272_pos)
$P10 = rx272_cur."quotemod_check"("b")
unless $P10, rx272_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)
- $P10."!cursor_names"("charspec")
- rx272_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)
+ rx272_cur."!cursor_pass"(rx272_pos, "quote_escape:sym<0>")
+ rx272_cur."!cursor_debug"("PASS ", "quote_escape:sym<0>", " at pos=", rx272_pos)
.return (rx272_cur)
rx272_fail:
.annotate "line", 33
@@ -3931,950 +3950,856 @@
jump $I10
rx272_done:
rx272_cur."!cursor_fail"()
- rx272_cur."!cursor_debug"("FAIL ", "quote_escape:sym<chr>")
+ rx272_cur."!cursor_debug"("FAIL ", "quote_escape:sym<0>")
.return (rx272_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("90_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1271948647.57035") :method
.annotate "line", 33
new $P274, "ResizablePMCArray"
- push $P274, "\\c"
+ push $P274, "\\0"
.return ($P274)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("91_1271336377.56964") :method :outer("11_1271336377.56964")
-.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 pmc match
- .lex "$/", match
- length rx277_eos, rx277_tgt
- 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:
- $I10 = self.'from'()
- ne $I10, -1, rxscan280_done
- goto rxscan280_scan
- rxscan280_loop:
- ($P10) = rx277_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:
-.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
- # rx subcapture "sym"
- set_addr $I10, rxcap_281_fail
- rx277_cur."!mark_push"(0, rx277_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)
- $P10."!cursor_names"("sym")
- goto rxcap_281_done
- rxcap_281_fail:
- goto rx277_fail
- rxcap_281_done:
- # rx subrule "quotemod_check" subtype=zerowidth negate=
- rx277_cur."!cursor_pos"(rx277_pos)
- $P10 = rx277_cur."quotemod_check"("b")
- unless $P10, rx277_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
- jump $I10
- rx277_done:
- rx277_cur."!cursor_fail"()
- rx277_cur."!cursor_debug"("FAIL ", "quote_escape:sym<0>")
- .return (rx277_cur)
- .return ()
-.end
-
-
-.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1271336377.56964") :method
-.annotate "line", 33
- new $P279, "ResizablePMCArray"
- push $P279, "\\0"
- .return ($P279)
-.end
-
-
-.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("93_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "quote_escape:sym<misc>" :subid("91_1271948647.57035") :method :outer("11_1271948647.57035")
.annotate "line", 33
- .const 'Sub' $P302 = "97_1271336377.56964"
- capture_lex $P302
- .const 'Sub' $P295 = "96_1271336377.56964"
- capture_lex $P295
- .const 'Sub' $P290 = "95_1271336377.56964"
+ .const 'Sub' $P297 = "95_1271948647.57035"
+ capture_lex $P297
+ .const 'Sub' $P290 = "94_1271948647.57035"
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' $P285 = "93_1271948647.57035"
+ capture_lex $P285
+ .local string rx278_tgt
+ .local int rx278_pos
+ .local int rx278_off
+ .local int rx278_eos
+ .local int rx278_rep
+ .local pmc rx278_cur
+ (rx278_cur, rx278_pos, rx278_tgt) = self."!cursor_start"()
+ rx278_cur."!cursor_debug"("START ", "quote_escape:sym<misc>")
+ .lex unicode:"$\x{a2}", rx278_cur
.local pmc match
.lex "$/", match
- length rx283_eos, rx283_tgt
- 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 rx278_eos, rx278_tgt
+ set rx278_off, 0
+ lt rx278_pos, 2, rx278_start
+ sub rx278_off, rx278_pos, 1
+ substr rx278_tgt, rx278_tgt, rx278_off
+ rx278_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan286_done
- goto rxscan286_scan
- rxscan286_loop:
- ($P10) = rx283_cur."from"()
+ ne $I10, -1, rxscan281_done
+ goto rxscan281_scan
+ rxscan281_loop:
+ ($P10) = rx278_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 rx278_pos, $P10
+ ge rx278_pos, rx278_eos, rxscan281_done
+ rxscan281_scan:
+ set_addr $I10, rxscan281_loop
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
+ rxscan281_done:
+.annotate "line", 98
+ rx278_cur."!cursor_pos"(rx278_pos)
+ find_lex $P282, unicode:"$\x{a2}"
+ $P283 = $P282."MATCH"()
+ store_lex "$/", $P283
.annotate "line", 99
- rx283_cur."!cursor_pos"(rx283_pos)
- find_lex $P287, unicode:"$\x{a2}"
- $P288 = $P287."MATCH"()
- store_lex "$/", $P288
-.annotate "line", 100
- .const 'Sub' $P290 = "95_1271336377.56964"
- capture_lex $P290
- $P291 = $P290()
+ .const 'Sub' $P285 = "93_1271948647.57035"
+ capture_lex $P285
+ $P286 = $P285()
# 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, rx278_pos, 1
+ gt $I11, rx278_eos, rx278_fail
+ sub $I11, rx278_pos, rx278_off
+ substr $S10, rx278_tgt, $I11, 1
+ ne $S10, "\\", rx278_fail
+ add rx278_pos, 1
+ alt287_0:
+.annotate "line", 100
+ set_addr $I10, alt287_1
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
.annotate "line", 101
- set_addr $I10, alt292_1
- rx283_cur."!mark_push"(0, rx283_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:
+ rx278_cur."!cursor_pos"(rx278_pos)
+ $P10 = rx278_cur."quotemod_check"("b")
+ unless $P10, rx278_fail
+ alt288_0:
+.annotate "line", 102
+ set_addr $I10, alt288_1
+ rx278_cur."!mark_push"(0, rx278_pos, $I10)
.annotate "line", 103
- set_addr $I10, alt293_1
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
-.annotate "line", 104
- # rx subrule $P295 subtype=capture negate=
- rx283_cur."!cursor_pos"(rx283_pos)
- .const 'Sub' $P295 = "96_1271336377.56964"
- capture_lex $P295
- $P10 = rx283_cur.$P295()
- unless $P10, rx283_fail
- rx283_cur."!mark_push"(0, -1, 0, $P10)
+ # rx subrule $P290 subtype=capture negate=
+ rx278_cur."!cursor_pos"(rx278_pos)
+ .const 'Sub' $P290 = "94_1271948647.57035"
+ capture_lex $P290
+ $P10 = rx278_cur.$P290()
+ unless $P10, rx278_fail
+ rx278_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("textqq")
- rx283_pos = $P10."pos"()
- goto alt293_end
- alt293_1:
-.annotate "line", 105
+ rx278_pos = $P10."pos"()
+ goto alt288_end
+ alt288_1:
+.annotate "line", 104
# rx subcapture "x"
- set_addr $I10, rxcap_298_fail
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, rxcap_293_fail
+ rx278_cur."!mark_push"(0, rx278_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 rx278_pos, rx278_eos, rx278_fail
+ sub $I10, rx278_pos, rx278_off
+ is_cclass $I11, 8192, rx278_tgt, $I10
+ unless $I11, rx278_fail
+ inc rx278_pos
+ set_addr $I10, rxcap_293_fail
+ ($I12, $I11) = rx278_cur."!mark_peek"($I10)
+ rx278_cur."!cursor_pos"($I11)
+ ($P10) = rx278_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx278_pos, "")
+ rx278_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_1271336377.56964"
- capture_lex $P302
- $P312 = $P302()
- alt293_end:
-.annotate "line", 102
- goto alt292_end
- alt292_1:
-.annotate "line", 107
+ goto rxcap_293_done
+ rxcap_293_fail:
+ goto rx278_fail
+ rxcap_293_done:
+ rx278_cur."!cursor_pos"(rx278_pos)
+ find_lex $P294, unicode:"$\x{a2}"
+ $P295 = $P294."MATCH"()
+ store_lex "$/", $P295
+ .const 'Sub' $P297 = "95_1271948647.57035"
+ capture_lex $P297
+ $P307 = $P297()
+ alt288_end:
+.annotate "line", 101
+ goto alt287_end
+ alt287_1:
+.annotate "line", 106
# rx subcapture "textq"
- set_addr $I10, rxcap_313_fail
- rx283_cur."!mark_push"(0, rx283_pos, $I10)
+ set_addr $I10, rxcap_308_fail
+ rx278_cur."!mark_push"(0, rx278_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 rx278_pos, rx278_eos, rx278_fail
+ inc rx278_pos
+ set_addr $I10, rxcap_308_fail
+ ($I12, $I11) = rx278_cur."!mark_peek"($I10)
+ rx278_cur."!cursor_pos"($I11)
+ ($P10) = rx278_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx278_pos, "")
+ rx278_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:
-.annotate "line", 99
+ goto rxcap_308_done
+ rxcap_308_fail:
+ goto rx278_fail
+ rxcap_308_done:
+ alt287_end:
+.annotate "line", 98
# 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
+ rx278_cur."!cursor_pass"(rx278_pos, "quote_escape:sym<misc>")
+ rx278_cur."!cursor_debug"("PASS ", "quote_escape:sym<misc>", " at pos=", rx278_pos)
+ .return (rx278_cur)
+ rx278_fail:
+.annotate "line", 33
+ (rx278_rep, rx278_pos, $I10, $P10) = rx278_cur."!mark_fail"(0)
+ lt rx278_pos, -1, rx278_done
+ eq rx278_pos, -1, rx278_fail
jump $I10
- rx283_done:
- rx283_cur."!cursor_fail"()
- rx283_cur."!cursor_debug"("FAIL ", "quote_escape:sym<misc>")
- .return (rx283_cur)
+ rx278_done:
+ rx278_cur."!cursor_fail"()
+ rx278_cur."!cursor_debug"("FAIL ", "quote_escape:sym<misc>")
+ .return (rx278_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("94_1271336377.56964") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1271948647.57035") :method
.annotate "line", 33
- new $P285, "ResizablePMCArray"
- push $P285, ""
- .return ($P285)
+ new $P280, "ResizablePMCArray"
+ push $P280, ""
+ .return ($P280)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block289" :anon :subid("95_1271336377.56964") :outer("93_1271336377.56964")
-.annotate "line", 100
+.sub "_block284" :anon :subid("93_1271948647.57035") :outer("91_1271948647.57035")
+.annotate "line", 99
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block294" :anon :subid("96_1271336377.56964") :method :outer("93_1271336377.56964")
-.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
+.sub "_block289" :anon :subid("94_1271948647.57035") :method :outer("91_1271948647.57035")
+.annotate "line", 103
+ .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) = self."!cursor_start"()
+ rx291_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx291_cur
.local pmc match
.lex "$/", match
- length rx296_eos, rx296_tgt
- 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 rx291_eos, rx291_tgt
+ 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:
$I10 = self.'from'()
- ne $I10, -1, rxscan297_done
- goto rxscan297_scan
- rxscan297_loop:
- ($P10) = rx296_cur."from"()
+ ne $I10, -1, rxscan292_done
+ goto rxscan292_scan
+ rxscan292_loop:
+ ($P10) = rx291_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 rx291_pos, $P10
+ ge rx291_pos, rx291_eos, rxscan292_done
+ rxscan292_scan:
+ set_addr $I10, rxscan292_loop
+ rx291_cur."!mark_push"(0, rx291_pos, $I10)
+ rxscan292_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 rx291_pos, rx291_eos, rx291_fail
+ sub $I10, rx291_pos, rx291_off
+ is_cclass $I11, 8192, rx291_tgt, $I10
+ if $I11, rx291_fail
+ inc rx291_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
+ rx291_cur."!cursor_pass"(rx291_pos, "")
+ rx291_cur."!cursor_debug"("PASS ", "", " at pos=", rx291_pos)
+ .return (rx291_cur)
+ 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
- rx296_done:
- rx296_cur."!cursor_fail"()
- rx296_cur."!cursor_debug"("FAIL ", "")
- .return (rx296_cur)
+ rx291_done:
+ rx291_cur."!cursor_fail"()
+ rx291_cur."!cursor_debug"("FAIL ", "")
+ .return (rx291_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block301" :anon :subid("97_1271336377.56964") :outer("93_1271336377.56964")
-.annotate "line", 105
- find_lex $P303, "$/"
- $P304 = $P303."CURSOR"()
- new $P305, "String"
- assign $P305, "Unrecognized backslash sequence: '\\"
- find_lex $P306, "$/"
- unless_null $P306, vivify_106
- $P306 = root_new ['parrot';'Hash']
- vivify_106:
- set $P307, $P306["x"]
- unless_null $P307, vivify_107
- new $P307, "Undef"
- vivify_107:
- $S308 = $P307."Str"()
- concat $P309, $P305, $S308
- concat $P310, $P309, "'"
- $P311 = $P304."panic"($P310)
- .return ($P311)
+.sub "_block296" :anon :subid("95_1271948647.57035") :outer("91_1271948647.57035")
+.annotate "line", 104
+ find_lex $P298, "$/"
+ $P299 = $P298."CURSOR"()
+ new $P300, "String"
+ assign $P300, "Unrecognized backslash sequence: '\\"
+ find_lex $P301, "$/"
+ unless_null $P301, vivify_104
+ $P301 = root_new ['parrot';'Hash']
+ vivify_104:
+ set $P302, $P301["x"]
+ unless_null $P302, vivify_105
+ new $P302, "Undef"
+ vivify_105:
+ $S303 = $P302."Str"()
+ concat $P304, $P300, $S303
+ concat $P305, $P304, "'"
+ $P306 = $P299."panic"($P305)
+ .return ($P306)
.end
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("98_1271336377.56964") :method :outer("11_1271336377.56964")
-.annotate "line", 33
- .const 'Sub' $P324 = "100_1271336377.56964"
- 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("96_1271948647.57035") :method :outer("11_1271948647.57035")
+.annotate "line", 33
+ .const 'Sub' $P319 = "98_1271948647.57035"
+ capture_lex $P319
+ .local string rx310_tgt
+ .local int rx310_pos
+ .local int rx310_off
+ .local int rx310_eos
+ .local int rx310_rep
+ .local pmc rx310_cur
+ (rx310_cur, rx310_pos, rx310_tgt) = self."!cursor_start"()
+ rx310_cur."!cursor_debug"("START ", "charname")
+ .lex unicode:"$\x{a2}", rx310_cur
.local pmc match
.lex "$/", match
- length rx315_eos, rx315_tgt
- set rx315_off, 0
- lt rx315_pos, 2, rx315_start
- sub rx315_off, rx315_pos, 1
- substr rx315_tgt, rx315_tgt, rx315_off
- rx315_start:
+ length rx310_eos, rx310_tgt
+ set rx310_off, 0
+ lt rx310_pos, 2, rx310_start
+ sub rx310_off, rx310_pos, 1
+ substr rx310_tgt, rx310_tgt, rx310_off
+ rx310_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan319_done
- goto rxscan319_scan
- rxscan319_loop:
- ($P10) = rx315_cur."from"()
+ ne $I10, -1, rxscan314_done
+ goto rxscan314_scan
+ rxscan314_loop:
+ ($P10) = rx310_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 rx310_pos, $P10
+ ge rx310_pos, rx310_eos, rxscan314_done
+ rxscan314_scan:
+ set_addr $I10, rxscan314_loop
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
+ rxscan314_done:
+ alt315_0:
+.annotate "line", 110
+ set_addr $I10, alt315_1
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
.annotate "line", 111
- set_addr $I10, alt320_1
- rx315_cur."!mark_push"(0, rx315_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)
+ rx310_cur."!cursor_pos"(rx310_pos)
+ $P10 = rx310_cur."integer"()
+ unless $P10, rx310_fail
+ rx310_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("integer")
- rx315_pos = $P10."pos"()
- goto alt320_end
- alt320_1:
-.annotate "line", 113
+ rx310_pos = $P10."pos"()
+ goto alt315_end
+ alt315_1:
+.annotate "line", 112
# rx enumcharlist negate=0
- ge rx315_pos, rx315_eos, rx315_fail
- sub $I10, rx315_pos, rx315_off
- substr $S10, rx315_tgt, $I10, 1
+ ge rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_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, rx310_fail
+ inc rx310_pos
+ # rx rxquantf316 ** 0..*
+ set_addr $I10, rxquantf316_loop
+ rx310_cur."!mark_push"(0, rx310_pos, $I10)
+ goto rxquantf316_done
+ rxquantf316_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 rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_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, rx310_fail
+ inc rx310_pos
+ set_addr $I10, rxquantf316_loop
+ rx310_cur."!mark_push"($I317, rx310_pos, $I10)
+ rxquantf316_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 rx310_pos, rx310_eos, rx310_fail
+ sub $I10, rx310_pos, rx310_off
+ substr $S10, rx310_tgt, $I10, 1
index $I11, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)", $S10
- lt $I11, 0, rx315_fail
- inc rx315_pos
-.annotate "line", 114
+ lt $I11, 0, rx310_fail
+ inc rx310_pos
+.annotate "line", 113
# rx subrule "before" subtype=zerowidth negate=
- rx315_cur."!cursor_pos"(rx315_pos)
- .const 'Sub' $P324 = "100_1271336377.56964"
- capture_lex $P324
- $P10 = rx315_cur."before"($P324)
- unless $P10, rx315_fail
- alt320_end:
-.annotate "line", 111
+ rx310_cur."!cursor_pos"(rx310_pos)
+ .const 'Sub' $P319 = "98_1271948647.57035"
+ capture_lex $P319
+ $P10 = rx310_cur."before"($P319)
+ unless $P10, rx310_fail
+ alt315_end:
+.annotate "line", 110
# 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
+ rx310_cur."!cursor_pass"(rx310_pos, "charname")
+ rx310_cur."!cursor_debug"("PASS ", "charname", " at pos=", rx310_pos)
+ .return (rx310_cur)
+ rx310_fail:
+.annotate "line", 33
+ (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
+ lt rx310_pos, -1, rx310_done
+ eq rx310_pos, -1, rx310_fail
jump $I10
- rx315_done:
- rx315_cur."!cursor_fail"()
- rx315_cur."!cursor_debug"("FAIL ", "charname")
- .return (rx315_cur)
+ rx310_done:
+ rx310_cur."!cursor_fail"()
+ rx310_cur."!cursor_debug"("FAIL ", "charname")
+ .return (rx310_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("99_1271336377.56964") :method
+.sub "!PREFIX__charname" :subid("97_1271948647.57035") :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)
+ $P312 = self."!PREFIX__!subrule"("integer", "")
+ new $P313, "ResizablePMCArray"
+ push $P313, "Z"
+ push $P313, "Y"
+ push $P313, "X"
+ push $P313, "W"
+ push $P313, "V"
+ push $P313, "U"
+ push $P313, "T"
+ push $P313, "S"
+ push $P313, "R"
+ push $P313, "Q"
+ push $P313, "P"
+ push $P313, "O"
+ push $P313, "N"
+ push $P313, "M"
+ push $P313, "L"
+ push $P313, "K"
+ push $P313, "J"
+ push $P313, "I"
+ push $P313, "H"
+ push $P313, "G"
+ push $P313, "F"
+ push $P313, "E"
+ push $P313, "D"
+ push $P313, "C"
+ push $P313, "B"
+ push $P313, "A"
+ push $P313, "z"
+ push $P313, "y"
+ push $P313, "x"
+ push $P313, "w"
+ push $P313, "v"
+ push $P313, "u"
+ push $P313, "t"
+ push $P313, "s"
+ push $P313, "r"
+ push $P313, "q"
+ push $P313, "p"
+ push $P313, "o"
+ push $P313, "n"
+ push $P313, "m"
+ push $P313, "l"
+ push $P313, "k"
+ push $P313, "j"
+ push $P313, "i"
+ push $P313, "h"
+ push $P313, "g"
+ push $P313, "f"
+ push $P313, "e"
+ push $P313, "d"
+ push $P313, "c"
+ push $P313, "b"
+ push $P313, "a"
+ push $P313, $P312
+ .return ($P313)
.end
.namespace ["HLL";"Grammar"]
-.sub "_block323" :anon :subid("100_1271336377.56964") :method :outer("98_1271336377.56964")
-.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
+.sub "_block318" :anon :subid("98_1271948647.57035") :method :outer("96_1271948647.57035")
+.annotate "line", 113
+ .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) = self."!cursor_start"()
+ rx320_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx320_cur
.local pmc match
.lex "$/", match
- length rx325_eos, rx325_tgt
- 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 rx320_eos, rx320_tgt
+ 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:
$I10 = self.'from'()
- ne $I10, -1, rxscan326_done
- goto rxscan326_scan
- rxscan326_loop:
- ($P10) = rx325_cur."from"()
+ ne $I10, -1, rxscan321_done
+ goto rxscan321_scan
+ rxscan321_loop:
+ ($P10) = rx320_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 rx320_pos, $P10
+ ge rx320_pos, rx320_eos, rxscan321_done
+ rxscan321_scan:
+ set_addr $I10, rxscan321_loop
+ rx320_cur."!mark_push"(0, rx320_pos, $I10)
+ rxscan321_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, rx320_pos, rx320_off
+ find_not_cclass $I11, 32, rx320_tgt, $I10, rx320_eos
+ add rx320_pos, rx320_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 rx320_pos, rx320_eos, rx320_fail
+ sub $I10, rx320_pos, rx320_off
+ substr $S10, rx320_tgt, $I10, 1
index $I11, "],#", $S10
- lt $I11, 0, rx325_fail
- inc rx325_pos
+ lt $I11, 0, rx320_fail
+ inc rx320_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
+ rx320_cur."!cursor_pass"(rx320_pos, "")
+ rx320_cur."!cursor_debug"("PASS ", "", " at pos=", rx320_pos)
+ .return (rx320_cur)
+ 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
- rx325_done:
- rx325_cur."!cursor_fail"()
- rx325_cur."!cursor_debug"("FAIL ", "")
- .return (rx325_cur)
+ rx320_done:
+ rx320_cur."!cursor_fail"()
+ rx320_cur."!cursor_debug"("FAIL ", "")
+ .return (rx320_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("101_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "charnames" :subid("99_1271948647.57035") :method :outer("11_1271948647.57035")
.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 rx323_tgt
+ .local int rx323_pos
+ .local int rx323_off
+ .local int rx323_eos
+ .local int rx323_rep
+ .local pmc rx323_cur
+ (rx323_cur, rx323_pos, rx323_tgt) = self."!cursor_start"()
+ rx323_cur."!cursor_debug"("START ", "charnames")
+ rx323_cur."!cursor_caparray"("charname")
+ .lex unicode:"$\x{a2}", rx323_cur
.local pmc match
.lex "$/", match
- length rx328_eos, rx328_tgt
- 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 rx323_eos, rx323_tgt
+ set rx323_off, 0
+ lt rx323_pos, 2, rx323_start
+ sub rx323_off, rx323_pos, 1
+ substr rx323_tgt, rx323_tgt, rx323_off
+ rx323_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan331_done
- goto rxscan331_scan
- rxscan331_loop:
- ($P10) = rx328_cur."from"()
+ ne $I10, -1, rxscan326_done
+ goto rxscan326_scan
+ rxscan326_loop:
+ ($P10) = rx323_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:
-.annotate "line", 116
- # rx rxquantr332 ** 1..*
- set_addr $I333, rxquantr332_done
- rx328_cur."!mark_push"(0, -1, $I333)
- rxquantr332_loop:
+ set rx323_pos, $P10
+ ge rx323_pos, rx323_eos, rxscan326_done
+ rxscan326_scan:
+ set_addr $I10, rxscan326_loop
+ rx323_cur."!mark_push"(0, rx323_pos, $I10)
+ rxscan326_done:
+.annotate "line", 115
+ # rx rxquantr327 ** 1..*
+ set_addr $I328, rxquantr327_done
+ rx323_cur."!mark_push"(0, -1, $I328)
+ rxquantr327_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"()
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."ws"()
+ unless $P10, rx323_fail
+ rx323_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)
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."charname"()
+ unless $P10, rx323_fail
+ rx323_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charname")
- rx328_pos = $P10."pos"()
+ rx323_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)
+ rx323_cur."!cursor_pos"(rx323_pos)
+ $P10 = rx323_cur."ws"()
+ unless $P10, rx323_fail
+ rx323_pos = $P10."pos"()
+ (rx323_rep) = rx323_cur."!mark_commit"($I328)
+ rx323_cur."!mark_push"(rx323_rep, rx323_pos, $I328)
# 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, rx323_pos, 1
+ gt $I11, rx323_eos, rx323_fail
+ sub $I11, rx323_pos, rx323_off
+ substr $S10, rx323_tgt, $I11, 1
+ ne $S10, ",", rx323_fail
+ add rx323_pos, 1
+ goto rxquantr327_loop
+ rxquantr327_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
+ rx323_cur."!cursor_pass"(rx323_pos, "charnames")
+ rx323_cur."!cursor_debug"("PASS ", "charnames", " at pos=", rx323_pos)
+ .return (rx323_cur)
+ rx323_fail:
+.annotate "line", 33
+ (rx323_rep, rx323_pos, $I10, $P10) = rx323_cur."!mark_fail"(0)
+ lt rx323_pos, -1, rx323_done
+ eq rx323_pos, -1, rx323_fail
jump $I10
- rx328_done:
- rx328_cur."!cursor_fail"()
- rx328_cur."!cursor_debug"("FAIL ", "charnames")
- .return (rx328_cur)
+ rx323_done:
+ rx323_cur."!cursor_fail"()
+ rx323_cur."!cursor_debug"("FAIL ", "charnames")
+ .return (rx323_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("102_1271336377.56964") :method
+.sub "!PREFIX__charnames" :subid("100_1271948647.57035") :method
.annotate "line", 33
- new $P330, "ResizablePMCArray"
- push $P330, ""
- .return ($P330)
+ new $P325, "ResizablePMCArray"
+ push $P325, ""
+ .return ($P325)
.end
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("103_1271336377.56964") :method :outer("11_1271336377.56964")
+.sub "charspec" :subid("101_1271948647.57035") :method :outer("11_1271948647.57035")
.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 rx330_tgt
+ .local int rx330_pos
+ .local int rx330_off
+ .local int rx330_eos
+ .local int rx330_rep
+ .local pmc rx330_cur
+ (rx330_cur, rx330_pos, rx330_tgt) = self."!cursor_start"()
+ rx330_cur."!cursor_debug"("START ", "charspec")
+ .lex unicode:"$\x{a2}", rx330_cur
.local pmc match
.lex "$/", match
- length rx335_eos, rx335_tgt
- 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 rx330_eos, rx330_tgt
+ set rx330_off, 0
+ lt rx330_pos, 2, rx330_start
+ sub rx330_off, rx330_pos, 1
+ substr rx330_tgt, rx330_tgt, rx330_off
+ rx330_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan340_done
- goto rxscan340_scan
- rxscan340_loop:
- ($P10) = rx335_cur."from"()
+ ne $I10, -1, rxscan335_done
+ goto rxscan335_scan
+ rxscan335_loop:
+ ($P10) = rx330_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 rx330_pos, $P10
+ ge rx330_pos, rx330_eos, rxscan335_done
+ rxscan335_scan:
+ set_addr $I10, rxscan335_loop
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+ rxscan335_done:
+ alt336_0:
+.annotate "line", 117
+ set_addr $I10, alt336_1
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
.annotate "line", 118
- set_addr $I10, alt341_1
- rx335_cur."!mark_push"(0, rx335_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, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "[", rx330_fail
+ add rx330_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)
+ rx330_cur."!cursor_pos"(rx330_pos)
+ $P10 = rx330_cur."charnames"()
+ unless $P10, rx330_fail
+ rx330_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("charnames")
- rx335_pos = $P10."pos"()
+ rx330_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)
-.annotate "line", 120
+ add $I11, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "]", rx330_fail
+ add rx330_pos, 1
+ goto alt336_end
+ alt336_1:
+ set_addr $I10, alt336_2
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+.annotate "line", 119
# 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, rx330_pos, rx330_off
+ find_not_cclass $I11, 8, rx330_tgt, $I10, rx330_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, rx330_fail
+ add rx330_pos, rx330_off, $I11
+ # rx rxquantr337 ** 0..*
+ set_addr $I338, rxquantr337_done
+ rx330_cur."!mark_push"(0, rx330_pos, $I338)
+ rxquantr337_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, rx330_pos, 1
+ gt $I11, rx330_eos, rx330_fail
+ sub $I11, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I11, 1
+ ne $S10, "_", rx330_fail
+ add rx330_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, rx330_pos, rx330_off
+ find_not_cclass $I11, 8, rx330_tgt, $I10, rx330_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)
-.annotate "line", 121
+ lt $I11, $I12, rx330_fail
+ add rx330_pos, rx330_off, $I11
+ (rx330_rep) = rx330_cur."!mark_commit"($I338)
+ rx330_cur."!mark_push"(rx330_rep, rx330_pos, $I338)
+ goto rxquantr337_loop
+ rxquantr337_done:
+ goto alt336_end
+ alt336_2:
+ set_addr $I10, alt336_3
+ rx330_cur."!mark_push"(0, rx330_pos, $I10)
+.annotate "line", 120
# rx enumcharlist negate=0
- ge rx335_pos, rx335_eos, rx335_fail
- sub $I10, rx335_pos, rx335_off
- substr $S10, rx335_tgt, $I10, 1
+ ge rx330_pos, rx330_eos, rx330_fail
+ sub $I10, rx330_pos, rx330_off
+ substr $S10, rx330_tgt, $I10, 1
index $I11, "?@ABCDEFGHIJKLMNOPQRSTUVWXYZ", $S10
- lt $I11, 0, rx335_fail
- inc rx335_pos
- goto alt341_end
- alt341_3:
-.annotate "line", 122
+ lt $I11, 0, rx330_fail
+ inc rx330_pos
+ goto alt336_end
+ alt336_3:
+.annotate "line", 121
# 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:
-.annotate "line", 117
+ rx330_cur."!cursor_pos"(rx330_pos)
+ $P10 = rx330_cur."panic"("Unrecognized \\c character")
+ unless $P10, rx330_fail
+ rx330_pos = $P10."pos"()
+ alt336_end:
+.annotate "line", 116
# 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
+ rx330_cur."!cursor_pass"(rx330_pos, "charspec")
+ rx330_cur."!cursor_debug"("PASS ", "charspec", " at pos=", rx330_pos)
+ .return (rx330_cur)
+ rx330_fail:
+.annotate "line", 33
+ (rx330_rep, rx330_pos, $I10, $P10) = rx330_cur."!mark_fail"(0)
+ lt rx330_pos, -1, rx330_done
+ eq rx330_pos, -1, rx330_fail
jump $I10
- rx335_done:
- rx335_cur."!cursor_fail"()
- rx335_cur."!cursor_debug"("FAIL ", "charspec")
- .return (rx335_cur)
+ rx330_done:
+ rx330_cur."!cursor_fail"()
+ rx330_cur."!cursor_debug"("FAIL ", "charspec")
+ .return (rx330_cur)
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("104_1271336377.56964") :method
+.sub "!PREFIX__charspec" :subid("102_1271948647.57035") :method
.annotate "line", 33
- $P337 = self."!PREFIX__!subrule"("", "")
- $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)
+ $P332 = self."!PREFIX__!subrule"("", "")
+ $P333 = self."!PREFIX__!subrule"("charnames", "[")
+ new $P334, "ResizablePMCArray"
+ push $P334, $P332
+ push $P334, "Z"
+ push $P334, "Y"
+ push $P334, "X"
+ push $P334, "W"
+ push $P334, "V"
+ push $P334, "U"
+ push $P334, "T"
+ push $P334, "S"
+ push $P334, "R"
+ push $P334, "Q"
+ push $P334, "P"
+ push $P334, "O"
+ push $P334, "N"
+ push $P334, "M"
+ push $P334, "L"
+ push $P334, "K"
+ push $P334, "J"
+ push $P334, "I"
+ push $P334, "H"
+ push $P334, "G"
+ push $P334, "F"
+ push $P334, "E"
+ push $P334, "D"
+ push $P334, "C"
+ push $P334, "B"
+ push $P334, "A"
+ push $P334, "@"
+ push $P334, "?"
+ push $P334, ""
+ push $P334, $P333
+ .return ($P334)
.end
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336380.06238")
+.sub "_block11" :anon :subid("10_1271948650.1622")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
.annotate "line", 3
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
- $P578 = $P14()
+ $P571 = $P14()
.annotate "line", 1
- .return ($P578)
+ .return ($P571)
.end
.namespace []
-.sub "" :load :init :subid("post50") :outer("10_1271336380.06238")
+.sub "" :load :init :subid("post49") :outer("10_1271948650.1622")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336380.06238"
+ .const 'Sub' $P12 = "10_1271948650.1622"
.local pmc block
set block, $P12
- $P579 = get_root_global ["parrot"], "P6metaclass"
- $P579."new_class"("HLL::Actions")
+ $P572 = get_root_global ["parrot"], "P6metaclass"
+ $P572."new_class"("HLL::Actions")
.end
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1271336380.06238") :outer("10_1271336380.06238")
+.sub "_block13" :subid("11_1271948650.1622") :outer("10_1271948650.1622")
.annotate "line", 3
- .const 'Sub' $P561 = "49_1271336380.06238"
- capture_lex $P561
- .const 'Sub' $P536 = "47_1271336380.06238"
- capture_lex $P536
- .const 'Sub' $P505 = "46_1271336380.06238"
- capture_lex $P505
- .const 'Sub' $P486 = "45_1271336380.06238"
- capture_lex $P486
- .const 'Sub' $P479 = "44_1271336380.06238"
+ .const 'Sub' $P554 = "48_1271948650.1622"
+ capture_lex $P554
+ .const 'Sub' $P529 = "46_1271948650.1622"
+ capture_lex $P529
+ .const 'Sub' $P498 = "45_1271948650.1622"
+ capture_lex $P498
+ .const 'Sub' $P479 = "44_1271948650.1622"
capture_lex $P479
- .const 'Sub' $P469 = "43_1271336380.06238"
- capture_lex $P469
- .const 'Sub' $P452 = "42_1271336380.06238"
- capture_lex $P452
- .const 'Sub' $P435 = "41_1271336380.06238"
- capture_lex $P435
- .const 'Sub' $P428 = "40_1271336380.06238"
+ .const 'Sub' $P472 = "43_1271948650.1622"
+ capture_lex $P472
+ .const 'Sub' $P462 = "42_1271948650.1622"
+ capture_lex $P462
+ .const 'Sub' $P445 = "41_1271948650.1622"
+ capture_lex $P445
+ .const 'Sub' $P428 = "40_1271948650.1622"
capture_lex $P428
- .const 'Sub' $P421 = "39_1271336380.06238"
+ .const 'Sub' $P421 = "39_1271948650.1622"
capture_lex $P421
- .const 'Sub' $P414 = "38_1271336380.06238"
+ .const 'Sub' $P414 = "38_1271948650.1622"
capture_lex $P414
- .const 'Sub' $P407 = "37_1271336380.06238"
+ .const 'Sub' $P407 = "37_1271948650.1622"
capture_lex $P407
- .const 'Sub' $P400 = "36_1271336380.06238"
+ .const 'Sub' $P400 = "36_1271948650.1622"
capture_lex $P400
- .const 'Sub' $P393 = "35_1271336380.06238"
+ .const 'Sub' $P393 = "35_1271948650.1622"
capture_lex $P393
- .const 'Sub' $P383 = "34_1271336380.06238"
+ .const 'Sub' $P383 = "34_1271948650.1622"
capture_lex $P383
- .const 'Sub' $P376 = "33_1271336380.06238"
+ .const 'Sub' $P376 = "33_1271948650.1622"
capture_lex $P376
- .const 'Sub' $P360 = "32_1271336380.06238"
+ .const 'Sub' $P360 = "32_1271948650.1622"
capture_lex $P360
- .const 'Sub' $P285 = "30_1271336380.06238"
+ .const 'Sub' $P285 = "30_1271948650.1622"
capture_lex $P285
- .const 'Sub' $P222 = "27_1271336380.06238"
+ .const 'Sub' $P222 = "27_1271948650.1622"
capture_lex $P222
- .const 'Sub' $P213 = "26_1271336380.06238"
+ .const 'Sub' $P213 = "26_1271948650.1622"
capture_lex $P213
- .const 'Sub' $P204 = "25_1271336380.06238"
+ .const 'Sub' $P204 = "25_1271948650.1622"
capture_lex $P204
- .const 'Sub' $P195 = "24_1271336380.06238"
+ .const 'Sub' $P195 = "24_1271948650.1622"
capture_lex $P195
- .const 'Sub' $P186 = "23_1271336380.06238"
+ .const 'Sub' $P186 = "23_1271948650.1622"
capture_lex $P186
- .const 'Sub' $P177 = "22_1271336380.06238"
+ .const 'Sub' $P177 = "22_1271948650.1622"
capture_lex $P177
- .const 'Sub' $P167 = "21_1271336380.06238"
+ .const 'Sub' $P167 = "21_1271948650.1622"
capture_lex $P167
- .const 'Sub' $P157 = "20_1271336380.06238"
+ .const 'Sub' $P157 = "20_1271948650.1622"
capture_lex $P157
- .const 'Sub' $P149 = "19_1271336380.06238"
+ .const 'Sub' $P149 = "19_1271948650.1622"
capture_lex $P149
- .const 'Sub' $P139 = "18_1271336380.06238"
+ .const 'Sub' $P139 = "18_1271948650.1622"
capture_lex $P139
- .const 'Sub' $P129 = "17_1271336380.06238"
+ .const 'Sub' $P129 = "17_1271948650.1622"
capture_lex $P129
- .const 'Sub' $P28 = "14_1271336380.06238"
+ .const 'Sub' $P28 = "14_1271948650.1622"
capture_lex $P28
- .const 'Sub' $P22 = "13_1271336380.06238"
+ .const 'Sub' $P22 = "13_1271948650.1622"
capture_lex $P22
- .const 'Sub' $P15 = "12_1271336380.06238"
+ .const 'Sub' $P15 = "12_1271948650.1622"
capture_lex $P15
-.annotate "line", 198
- .const 'Sub' $P561 = "49_1271336380.06238"
- capture_lex $P561
+.annotate "line", 197
+ .const 'Sub' $P554 = "48_1271948650.1622"
+ capture_lex $P554
.annotate "line", 3
- .return ($P561)
+ .return ($P554)
.end
.namespace ["HLL";"Actions"]
-.sub "string_to_int" :subid("12_1271336380.06238") :outer("11_1271336380.06238")
+.sub "string_to_int" :subid("12_1271948650.1622") :outer("11_1271948650.1622")
.param pmc param_18
.param pmc param_19
.annotate "line", 3
@@ -4927,7 +4852,7 @@
.namespace ["HLL";"Actions"]
-.sub "ints_to_string" :subid("13_1271336380.06238") :outer("11_1271336380.06238")
+.sub "ints_to_string" :subid("13_1271948650.1622") :outer("11_1271948650.1622")
.param pmc param_25
.annotate "line", 37
new $P24, 'ExceptionHandler'
@@ -4968,14 +4893,14 @@
.namespace ["HLL";"Actions"]
-.sub "EXPR" :subid("14_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "EXPR" :subid("14_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_31
.param pmc param_32 :optional
.param int has_param_32 :opt_flag
.annotate "line", 62
- .const 'Sub' $P111 = "16_1271336380.06238"
+ .const 'Sub' $P111 = "16_1271948650.1622"
capture_lex $P111
- .const 'Sub' $P78 = "15_1271336380.06238"
+ .const 'Sub' $P78 = "15_1271948650.1622"
capture_lex $P78
new $P30, 'ExceptionHandler'
set_addr $P30, control_29
@@ -4983,10 +4908,10 @@
push_eh $P30
.lex "self", self
.lex "$/", param_31
- if has_param_32, optparam_51
+ if has_param_32, optparam_50
new $P33, "Undef"
set param_32, $P33
- optparam_51:
+ optparam_50:
.lex "$key", param_32
.annotate "line", 64
new $P34, "Undef"
@@ -5008,13 +4933,13 @@
defined $I43, $P39
if $I43, default_42
find_lex $P44, "$/"
- unless_null $P44, vivify_52
+ unless_null $P44, vivify_51
$P44 = root_new ['parrot';'Hash']
- vivify_52:
+ vivify_51:
set $P45, $P44["OPER"]
- unless_null $P45, vivify_53
+ unless_null $P45, vivify_52
new $P45, "Undef"
- vivify_53:
+ vivify_52:
$P46 = $P45."ast"()
set $P39, $P46
default_42:
@@ -5029,57 +4954,57 @@
store_lex "$past", $P51
.annotate "line", 67
find_lex $P53, "$/"
- unless_null $P53, vivify_54
+ unless_null $P53, vivify_53
$P53 = root_new ['parrot';'Hash']
- vivify_54:
+ vivify_53:
set $P54, $P53["OPER"]
- unless_null $P54, vivify_55
+ unless_null $P54, vivify_54
$P54 = root_new ['parrot';'Hash']
- vivify_55:
+ vivify_54:
set $P55, $P54["O"]
- unless_null $P55, vivify_56
+ unless_null $P55, vivify_55
$P55 = root_new ['parrot';'Hash']
- vivify_56:
+ vivify_55:
set $P56, $P55["pasttype"]
- unless_null $P56, vivify_57
+ unless_null $P56, vivify_56
new $P56, "Undef"
- vivify_57:
+ vivify_56:
if $P56, if_52
.annotate "line", 68
find_lex $P64, "$/"
- unless_null $P64, vivify_58
+ unless_null $P64, vivify_57
$P64 = root_new ['parrot';'Hash']
- vivify_58:
+ vivify_57:
set $P65, $P64["OPER"]
- unless_null $P65, vivify_59
+ unless_null $P65, vivify_58
$P65 = root_new ['parrot';'Hash']
- vivify_59:
+ vivify_58:
set $P66, $P65["O"]
- unless_null $P66, vivify_60
+ unless_null $P66, vivify_59
$P66 = root_new ['parrot';'Hash']
- vivify_60:
+ vivify_59:
set $P67, $P66["pirop"]
- unless_null $P67, vivify_61
+ unless_null $P67, vivify_60
new $P67, "Undef"
- vivify_61:
+ vivify_60:
unless $P67, if_63_end
find_lex $P68, "$past"
find_lex $P69, "$/"
- unless_null $P69, vivify_62
+ unless_null $P69, vivify_61
$P69 = root_new ['parrot';'Hash']
- vivify_62:
+ vivify_61:
set $P70, $P69["OPER"]
- unless_null $P70, vivify_63
+ unless_null $P70, vivify_62
$P70 = root_new ['parrot';'Hash']
- vivify_63:
+ vivify_62:
set $P71, $P70["O"]
- unless_null $P71, vivify_64
+ unless_null $P71, vivify_63
$P71 = root_new ['parrot';'Hash']
- vivify_64:
+ vivify_63:
set $P72, $P71["pirop"]
- unless_null $P72, vivify_65
+ unless_null $P72, vivify_64
new $P72, "Undef"
- vivify_65:
+ vivify_64:
set $S73, $P72
$P68."pirop"($S73)
if_63_end:
@@ -5088,21 +5013,21 @@
.annotate "line", 67
find_lex $P57, "$past"
find_lex $P58, "$/"
- unless_null $P58, vivify_66
+ unless_null $P58, vivify_65
$P58 = root_new ['parrot';'Hash']
- vivify_66:
+ vivify_65:
set $P59, $P58["OPER"]
- unless_null $P59, vivify_67
+ unless_null $P59, vivify_66
$P59 = root_new ['parrot';'Hash']
- vivify_67:
+ vivify_66:
set $P60, $P59["O"]
- unless_null $P60, vivify_68
+ unless_null $P60, vivify_67
$P60 = root_new ['parrot';'Hash']
- vivify_68:
+ vivify_67:
set $P61, $P60["pasttype"]
- unless_null $P61, vivify_69
+ unless_null $P61, vivify_68
new $P61, "Undef"
- vivify_69:
+ vivify_68:
set $S62, $P61
$P57."pasttype"($S62)
if_52_end:
@@ -5110,7 +5035,7 @@
find_lex $P75, "$past"
$P76 = $P75."name"()
if $P76, unless_74_end
- .const 'Sub' $P78 = "15_1271336380.06238"
+ .const 'Sub' $P78 = "15_1271948650.1622"
capture_lex $P78
$P78()
unless_74_end:
@@ -5124,7 +5049,7 @@
find_lex $P106, "$/"
$P107 = $P106."list"()
defined $I108, $P107
- unless $I108, for_undef_73
+ unless $I108, for_undef_72
iter $P105, $P107
new $P123, 'ExceptionHandler'
set_addr $P123, loop122_handler
@@ -5134,7 +5059,7 @@
unless $P105, loop122_done
shift $P109, $P105
loop122_redo:
- .const 'Sub' $P111 = "16_1271336380.06238"
+ .const 'Sub' $P111 = "16_1271948650.1622"
capture_lex $P111
$P111($P109)
loop122_next:
@@ -5147,20 +5072,20 @@
eq $P124, 67, loop122_redo
loop122_done:
pop_eh
- for_undef_73:
+ for_undef_72:
.annotate "line", 81
goto if_97_end
if_97:
.annotate "line", 80
find_lex $P101, "$past"
find_lex $P102, "$/"
- unless_null $P102, vivify_74
+ unless_null $P102, vivify_73
$P102 = root_new ['parrot';'ResizablePMCArray']
- vivify_74:
+ vivify_73:
set $P103, $P102[0]
- unless_null $P103, vivify_75
+ unless_null $P103, vivify_74
new $P103, "Undef"
- vivify_75:
+ vivify_74:
$P104 = $P103."ast"()
$P101."unshift"($P104)
if_97_end:
@@ -5179,7 +5104,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block77" :anon :subid("15_1271336380.06238") :outer("14_1271336380.06238")
+.sub "_block77" :anon :subid("15_1271948650.1622") :outer("14_1271948650.1622")
.annotate "line", 71
new $P79, "Undef"
.lex "$name", $P79
@@ -5202,17 +5127,17 @@
concat $P86, $P85, ":<"
.annotate "line", 76
find_lex $P87, "$/"
- unless_null $P87, vivify_70
+ unless_null $P87, vivify_69
$P87 = root_new ['parrot';'Hash']
- vivify_70:
+ vivify_69:
set $P88, $P87["OPER"]
- unless_null $P88, vivify_71
+ unless_null $P88, vivify_70
$P88 = root_new ['parrot';'Hash']
- vivify_71:
+ vivify_70:
set $P89, $P88["sym"]
- unless_null $P89, vivify_72
+ unless_null $P89, vivify_71
new $P89, "Undef"
- vivify_72:
+ vivify_71:
concat $P90, $P86, $P89
concat $P91, $P90, ">"
store_lex "$name", $P91
@@ -5229,7 +5154,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block110" :anon :subid("16_1271336380.06238") :outer("14_1271336380.06238")
+.sub "_block110" :anon :subid("16_1271948650.1622") :outer("14_1271948650.1622")
.param pmc param_112
.annotate "line", 82
.lex "$_", param_112
@@ -5252,7 +5177,7 @@
.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>" :subid("17_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "term:sym<circumfix>" :subid("17_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_132
.annotate "line", 87
new $P131, 'ExceptionHandler'
@@ -5263,13 +5188,13 @@
.lex "$/", param_132
find_lex $P133, "$/"
find_lex $P134, "$/"
- unless_null $P134, vivify_76
+ unless_null $P134, vivify_75
$P134 = root_new ['parrot';'Hash']
- vivify_76:
+ vivify_75:
set $P135, $P134["circumfix"]
- unless_null $P135, vivify_77
+ unless_null $P135, vivify_76
new $P135, "Undef"
- vivify_77:
+ vivify_76:
$P136 = $P135."ast"()
$P137 = $P133."!make"($P136)
.return ($P137)
@@ -5282,7 +5207,7 @@
.namespace ["HLL";"Actions"]
-.sub "termish" :subid("18_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "termish" :subid("18_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_142
.annotate "line", 89
new $P141, 'ExceptionHandler'
@@ -5293,13 +5218,13 @@
.lex "$/", param_142
find_lex $P143, "$/"
find_lex $P144, "$/"
- unless_null $P144, vivify_78
+ unless_null $P144, vivify_77
$P144 = root_new ['parrot';'Hash']
- vivify_78:
+ vivify_77:
set $P145, $P144["term"]
- unless_null $P145, vivify_79
+ unless_null $P145, vivify_78
new $P145, "Undef"
- vivify_79:
+ vivify_78:
$P146 = $P145."ast"()
$P147 = $P143."!make"($P146)
.return ($P147)
@@ -5312,7 +5237,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm" :subid("19_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "nullterm" :subid("19_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_152
.annotate "line", 90
new $P151, 'ExceptionHandler'
@@ -5334,7 +5259,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm_alt" :subid("20_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "nullterm_alt" :subid("20_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_160
.annotate "line", 91
new $P159, 'ExceptionHandler'
@@ -5345,13 +5270,13 @@
.lex "$/", param_160
find_lex $P161, "$/"
find_lex $P162, "$/"
- unless_null $P162, vivify_80
+ unless_null $P162, vivify_79
$P162 = root_new ['parrot';'Hash']
- vivify_80:
+ vivify_79:
set $P163, $P162["term"]
- unless_null $P163, vivify_81
+ unless_null $P163, vivify_80
new $P163, "Undef"
- vivify_81:
+ vivify_80:
$P164 = $P163."ast"()
$P165 = $P161."!make"($P164)
.return ($P165)
@@ -5364,7 +5289,7 @@
.namespace ["HLL";"Actions"]
-.sub "integer" :subid("21_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "integer" :subid("21_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_170
.annotate "line", 93
new $P169, 'ExceptionHandler'
@@ -5375,13 +5300,13 @@
.lex "$/", param_170
find_lex $P171, "$/"
find_lex $P172, "$/"
- unless_null $P172, vivify_82
+ unless_null $P172, vivify_81
$P172 = root_new ['parrot';'Hash']
- vivify_82:
+ vivify_81:
set $P173, $P172["VALUE"]
- unless_null $P173, vivify_83
+ unless_null $P173, vivify_82
new $P173, "Undef"
- vivify_83:
+ vivify_82:
$P174 = $P173."ast"()
$P175 = $P171."!make"($P174)
.return ($P175)
@@ -5394,7 +5319,7 @@
.namespace ["HLL";"Actions"]
-.sub "dec_number" :subid("22_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "dec_number" :subid("22_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_180
.annotate "line", 95
new $P179, 'ExceptionHandler'
@@ -5417,7 +5342,7 @@
.namespace ["HLL";"Actions"]
-.sub "decint" :subid("23_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "decint" :subid("23_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_189
.annotate "line", 97
new $P188, 'ExceptionHandler'
@@ -5440,7 +5365,7 @@
.namespace ["HLL";"Actions"]
-.sub "hexint" :subid("24_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "hexint" :subid("24_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_198
.annotate "line", 98
new $P197, 'ExceptionHandler'
@@ -5463,7 +5388,7 @@
.namespace ["HLL";"Actions"]
-.sub "octint" :subid("25_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "octint" :subid("25_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_207
.annotate "line", 99
new $P206, 'ExceptionHandler'
@@ -5486,7 +5411,7 @@
.namespace ["HLL";"Actions"]
-.sub "binint" :subid("26_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "binint" :subid("26_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_216
.annotate "line", 100
new $P215, 'ExceptionHandler'
@@ -5509,10 +5434,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_EXPR" :subid("27_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_EXPR" :subid("27_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_225
.annotate "line", 102
- .const 'Sub' $P241 = "28_1271336380.06238"
+ .const 'Sub' $P241 = "28_1271948650.1622"
capture_lex $P241
new $P224, 'ExceptionHandler'
set_addr $P224, control_223
@@ -5524,13 +5449,13 @@
new $P226, "Undef"
.lex "$past", $P226
find_lex $P227, "$/"
- unless_null $P227, vivify_84
+ unless_null $P227, vivify_83
$P227 = root_new ['parrot';'Hash']
- vivify_84:
+ vivify_83:
set $P228, $P227["quote_delimited"]
- unless_null $P228, vivify_85
+ unless_null $P228, vivify_84
new $P228, "Undef"
- vivify_85:
+ vivify_84:
$P229 = $P228."ast"()
store_lex "$past", $P229
.annotate "line", 104
@@ -5544,7 +5469,7 @@
$P237 = $P235."ACCEPTS"($P236)
if $P237, if_234
.annotate "line", 108
- .const 'Sub' $P241 = "28_1271336380.06238"
+ .const 'Sub' $P241 = "28_1271948650.1622"
capture_lex $P241
$P241()
goto if_234_end
@@ -5583,9 +5508,9 @@
.namespace ["HLL";"Actions"]
-.sub "_block240" :anon :subid("28_1271336380.06238") :outer("27_1271336380.06238")
+.sub "_block240" :anon :subid("28_1271948650.1622") :outer("27_1271948650.1622")
.annotate "line", 108
- .const 'Sub' $P260 = "29_1271336380.06238"
+ .const 'Sub' $P260 = "29_1271948650.1622"
capture_lex $P260
.annotate "line", 109
$P242 = root_new ['parrot';'ResizablePMCArray']
@@ -5602,13 +5527,13 @@
if $I251, if_248
.annotate "line", 115
find_lex $P268, "@words"
- unless_null $P268, vivify_86
+ unless_null $P268, vivify_85
$P268 = root_new ['parrot';'ResizablePMCArray']
- vivify_86:
+ vivify_85:
set $P269, $P268[0]
- unless_null $P269, vivify_87
+ unless_null $P269, vivify_86
new $P269, "Undef"
- vivify_87:
+ vivify_86:
set $S270, $P269
new $P271, 'String'
set $P271, $S270
@@ -5626,7 +5551,7 @@
.annotate "line", 112
find_lex $P256, "@words"
defined $I257, $P256
- unless $I257, for_undef_88
+ unless $I257, for_undef_87
iter $P255, $P256
new $P266, 'ExceptionHandler'
set_addr $P266, loop265_handler
@@ -5636,7 +5561,7 @@
unless $P255, loop265_done
shift $P258, $P255
loop265_redo:
- .const 'Sub' $P260 = "29_1271336380.06238"
+ .const 'Sub' $P260 = "29_1271948650.1622"
capture_lex $P260
$P260($P258)
loop265_next:
@@ -5649,7 +5574,7 @@
eq $P267, 67, loop265_redo
loop265_done:
pop_eh
- for_undef_88:
+ for_undef_87:
.annotate "line", 110
set $P247, $P255
if_248_end:
@@ -5659,7 +5584,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block259" :anon :subid("29_1271336380.06238") :outer("28_1271336380.06238")
+.sub "_block259" :anon :subid("29_1271948650.1622") :outer("28_1271948650.1622")
.param pmc param_261
.annotate "line", 112
.lex "$_", param_261
@@ -5671,10 +5596,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_delimited" :subid("30_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_delimited" :subid("30_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_288
.annotate "line", 125
- .const 'Sub' $P300 = "31_1271336380.06238"
+ .const 'Sub' $P300 = "31_1271948650.1622"
capture_lex $P300
new $P287, 'ExceptionHandler'
set_addr $P287, control_286
@@ -5699,15 +5624,15 @@
store_lex "$lastlit", $P293
.annotate "line", 128
find_lex $P295, "$/"
- unless_null $P295, vivify_89
+ unless_null $P295, vivify_88
$P295 = root_new ['parrot';'Hash']
- vivify_89:
+ vivify_88:
set $P296, $P295["quote_atom"]
- unless_null $P296, vivify_90
+ unless_null $P296, vivify_89
new $P296, "Undef"
- vivify_90:
+ vivify_89:
defined $I297, $P296
- unless $I297, for_undef_91
+ unless $I297, for_undef_90
iter $P294, $P296
new $P333, 'ExceptionHandler'
set_addr $P333, loop332_handler
@@ -5717,7 +5642,7 @@
unless $P294, loop332_done
shift $P298, $P294
loop332_redo:
- .const 'Sub' $P300 = "31_1271336380.06238"
+ .const 'Sub' $P300 = "31_1271948650.1622"
capture_lex $P300
$P300($P298)
loop332_next:
@@ -5730,7 +5655,7 @@
eq $P334, 67, loop332_redo
loop332_done:
pop_eh
- for_undef_91:
+ for_undef_90:
.annotate "line", 142
find_lex $P336, "$lastlit"
set $S337, $P336
@@ -5795,7 +5720,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block299" :anon :subid("31_1271336380.06238") :outer("30_1271336380.06238")
+.sub "_block299" :anon :subid("31_1271948650.1622") :outer("30_1271948650.1622")
.param pmc param_302
.annotate "line", 129
new $P301, "Undef"
@@ -5864,7 +5789,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_atom" :subid("32_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_atom" :subid("32_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_363
.annotate "line", 150
new $P362, 'ExceptionHandler'
@@ -5876,13 +5801,13 @@
.annotate "line", 151
find_lex $P364, "$/"
find_lex $P367, "$/"
- unless_null $P367, vivify_92
+ unless_null $P367, vivify_91
$P367 = root_new ['parrot';'Hash']
- vivify_92:
+ vivify_91:
set $P368, $P367["quote_escape"]
- unless_null $P368, vivify_93
+ unless_null $P368, vivify_92
new $P368, "Undef"
- vivify_93:
+ vivify_92:
if $P368, if_366
find_lex $P372, "$/"
set $S373, $P372
@@ -5891,13 +5816,13 @@
goto if_366_end
if_366:
find_lex $P369, "$/"
- unless_null $P369, vivify_94
+ unless_null $P369, vivify_93
$P369 = root_new ['parrot';'Hash']
- vivify_94:
+ vivify_93:
set $P370, $P369["quote_escape"]
- unless_null $P370, vivify_95
+ unless_null $P370, vivify_94
new $P370, "Undef"
- vivify_95:
+ vivify_94:
$P371 = $P370."ast"()
set $P365, $P371
if_366_end:
@@ -5913,7 +5838,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>" :subid("33_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<backslash>" :subid("33_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_379
.annotate "line", 154
new $P378, 'ExceptionHandler'
@@ -5934,7 +5859,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>" :subid("34_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<stopper>" :subid("34_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_386
.annotate "line", 155
new $P385, 'ExceptionHandler'
@@ -5945,13 +5870,13 @@
.lex "$/", param_386
find_lex $P387, "$/"
find_lex $P388, "$/"
- unless_null $P388, vivify_96
+ unless_null $P388, vivify_95
$P388 = root_new ['parrot';'Hash']
- vivify_96:
+ vivify_95:
set $P389, $P388["stopper"]
- unless_null $P389, vivify_97
+ unless_null $P389, vivify_96
new $P389, "Undef"
- vivify_97:
+ vivify_96:
set $S390, $P389
$P391 = $P387."!make"($S390)
.return ($P391)
@@ -5964,7 +5889,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>" :subid("35_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<bs>" :subid("35_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_396
.annotate "line", 157
new $P395, 'ExceptionHandler'
@@ -5985,7 +5910,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>" :subid("36_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<nl>" :subid("36_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_403
.annotate "line", 158
new $P402, 'ExceptionHandler'
@@ -6006,7 +5931,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>" :subid("37_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<cr>" :subid("37_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_410
.annotate "line", 159
new $P409, 'ExceptionHandler'
@@ -6027,7 +5952,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>" :subid("38_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<tab>" :subid("38_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_417
.annotate "line", 160
new $P416, 'ExceptionHandler'
@@ -6048,7 +5973,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>" :subid("39_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<ff>" :subid("39_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_424
.annotate "line", 161
new $P423, 'ExceptionHandler'
@@ -6069,167 +5994,169 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<esc>" :subid("40_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<hex>" :subid("40_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_431
-.annotate "line", 162
+.annotate "line", 163
new $P430, 'ExceptionHandler'
set_addr $P430, control_429
$P430."handle_types"(58)
push_eh $P430
.lex "self", self
.lex "$/", param_431
- find_lex $P432, "$/"
- $P433 = $P432."!make"("\e")
- .return ($P433)
- control_429:
- .local pmc exception
- .get_results (exception)
- getattribute $P434, exception, "payload"
- .return ($P434)
-.end
-
-
-.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>" :subid("41_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_438
.annotate "line", 164
- new $P437, 'ExceptionHandler'
- set_addr $P437, control_436
- $P437."handle_types"(58)
- push_eh $P437
- .lex "self", self
- .lex "$/", param_438
-.annotate "line", 165
- find_lex $P439, "$/"
- find_lex $P442, "$/"
- unless_null $P442, vivify_98
- $P442 = root_new ['parrot';'Hash']
+ find_lex $P432, "$/"
+ find_lex $P435, "$/"
+ unless_null $P435, vivify_97
+ $P435 = root_new ['parrot';'Hash']
+ vivify_97:
+ set $P436, $P435["hexint"]
+ unless_null $P436, vivify_98
+ new $P436, "Undef"
vivify_98:
- set $P443, $P442["hexint"]
- unless_null $P443, vivify_99
- new $P443, "Undef"
+ if $P436, if_434
+ find_lex $P439, "$/"
+ unless_null $P439, vivify_99
+ $P439 = root_new ['parrot';'Hash']
vivify_99:
- if $P443, if_441
- find_lex $P446, "$/"
- unless_null $P446, vivify_100
- $P446 = root_new ['parrot';'Hash']
+ set $P440, $P439["hexints"]
+ unless_null $P440, vivify_100
+ $P440 = root_new ['parrot';'Hash']
vivify_100:
- set $P447, $P446["hexints"]
- unless_null $P447, vivify_101
- $P447 = root_new ['parrot';'Hash']
+ set $P441, $P440["hexint"]
+ unless_null $P441, vivify_101
+ new $P441, "Undef"
vivify_101:
- set $P448, $P447["hexint"]
- unless_null $P448, vivify_102
- new $P448, "Undef"
+ set $P433, $P441
+ goto if_434_end
+ if_434:
+ find_lex $P437, "$/"
+ unless_null $P437, vivify_102
+ $P437 = root_new ['parrot';'Hash']
vivify_102:
- set $P440, $P448
- goto if_441_end
- if_441:
- find_lex $P444, "$/"
- unless_null $P444, vivify_103
- $P444 = root_new ['parrot';'Hash']
+ set $P438, $P437["hexint"]
+ unless_null $P438, vivify_103
+ new $P438, "Undef"
vivify_103:
- set $P445, $P444["hexint"]
- unless_null $P445, vivify_104
- new $P445, "Undef"
- vivify_104:
- set $P440, $P445
- if_441_end:
- $P449 = "ints_to_string"($P440)
- $P450 = $P439."!make"($P449)
-.annotate "line", 164
- .return ($P450)
- control_436:
+ set $P433, $P438
+ if_434_end:
+ $P442 = "ints_to_string"($P433)
+ $P443 = $P432."!make"($P442)
+.annotate "line", 163
+ .return ($P443)
+ control_429:
.local pmc exception
.get_results (exception)
- getattribute $P451, exception, "payload"
- .return ($P451)
+ getattribute $P444, exception, "payload"
+ .return ($P444)
.end
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>" :subid("42_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_455
-.annotate "line", 168
- new $P454, 'ExceptionHandler'
- set_addr $P454, control_453
- $P454."handle_types"(58)
- push_eh $P454
+.sub "quote_escape:sym<oct>" :subid("41_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_448
+.annotate "line", 167
+ new $P447, 'ExceptionHandler'
+ set_addr $P447, control_446
+ $P447."handle_types"(58)
+ push_eh $P447
.lex "self", self
- .lex "$/", param_455
-.annotate "line", 169
- find_lex $P456, "$/"
- find_lex $P459, "$/"
- unless_null $P459, vivify_105
- $P459 = root_new ['parrot';'Hash']
+ .lex "$/", param_448
+.annotate "line", 168
+ find_lex $P449, "$/"
+ find_lex $P452, "$/"
+ unless_null $P452, vivify_104
+ $P452 = root_new ['parrot';'Hash']
+ vivify_104:
+ set $P453, $P452["octint"]
+ unless_null $P453, vivify_105
+ new $P453, "Undef"
vivify_105:
- set $P460, $P459["octint"]
- unless_null $P460, vivify_106
- new $P460, "Undef"
+ if $P453, if_451
+ find_lex $P456, "$/"
+ unless_null $P456, vivify_106
+ $P456 = root_new ['parrot';'Hash']
vivify_106:
- if $P460, if_458
- find_lex $P463, "$/"
- unless_null $P463, vivify_107
- $P463 = root_new ['parrot';'Hash']
+ set $P457, $P456["octints"]
+ unless_null $P457, vivify_107
+ $P457 = root_new ['parrot';'Hash']
vivify_107:
- set $P464, $P463["octints"]
- unless_null $P464, vivify_108
- $P464 = root_new ['parrot';'Hash']
+ set $P458, $P457["octint"]
+ unless_null $P458, vivify_108
+ new $P458, "Undef"
vivify_108:
- set $P465, $P464["octint"]
- unless_null $P465, vivify_109
- new $P465, "Undef"
+ set $P450, $P458
+ goto if_451_end
+ if_451:
+ find_lex $P454, "$/"
+ unless_null $P454, vivify_109
+ $P454 = root_new ['parrot';'Hash']
vivify_109:
- set $P457, $P465
- goto if_458_end
- if_458:
- find_lex $P461, "$/"
- unless_null $P461, vivify_110
- $P461 = root_new ['parrot';'Hash']
+ set $P455, $P454["octint"]
+ unless_null $P455, vivify_110
+ new $P455, "Undef"
vivify_110:
- set $P462, $P461["octint"]
- unless_null $P462, vivify_111
- new $P462, "Undef"
- vivify_111:
- set $P457, $P462
- if_458_end:
- $P466 = "ints_to_string"($P457)
- $P467 = $P456."!make"($P466)
-.annotate "line", 168
- .return ($P467)
- control_453:
+ set $P450, $P455
+ if_451_end:
+ $P459 = "ints_to_string"($P450)
+ $P460 = $P449."!make"($P459)
+.annotate "line", 167
+ .return ($P460)
+ control_446:
.local pmc exception
.get_results (exception)
- getattribute $P468, exception, "payload"
- .return ($P468)
+ getattribute $P461, exception, "payload"
+ .return ($P461)
.end
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>" :subid("43_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_472
-.annotate "line", 172
- new $P471, 'ExceptionHandler'
- set_addr $P471, control_470
- $P471."handle_types"(58)
- push_eh $P471
+.sub "quote_escape:sym<chr>" :subid("42_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_465
+.annotate "line", 171
+ new $P464, 'ExceptionHandler'
+ set_addr $P464, control_463
+ $P464."handle_types"(58)
+ push_eh $P464
.lex "self", self
- .lex "$/", param_472
-.annotate "line", 173
- find_lex $P473, "$/"
- find_lex $P474, "$/"
- unless_null $P474, vivify_112
- $P474 = root_new ['parrot';'Hash']
- vivify_112:
- set $P475, $P474["charspec"]
- unless_null $P475, vivify_113
- new $P475, "Undef"
- vivify_113:
- $P476 = $P475."ast"()
- $P477 = $P473."!make"($P476)
+ .lex "$/", param_465
.annotate "line", 172
+ find_lex $P466, "$/"
+ find_lex $P467, "$/"
+ unless_null $P467, vivify_111
+ $P467 = root_new ['parrot';'Hash']
+ vivify_111:
+ set $P468, $P467["charspec"]
+ unless_null $P468, vivify_112
+ new $P468, "Undef"
+ vivify_112:
+ $P469 = $P468."ast"()
+ $P470 = $P466."!make"($P469)
+.annotate "line", 171
+ .return ($P470)
+ control_463:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P471, exception, "payload"
+ .return ($P471)
+.end
+
+
+.namespace ["HLL";"Actions"]
+.sub "quote_escape:sym<0>" :subid("43_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_475
+.annotate "line", 175
+ new $P474, 'ExceptionHandler'
+ set_addr $P474, control_473
+ $P474."handle_types"(58)
+ push_eh $P474
+ .lex "self", self
+ .lex "$/", param_475
+.annotate "line", 176
+ find_lex $P476, "$/"
+ $P477 = $P476."!make"(unicode:"\x{0}")
+.annotate "line", 175
.return ($P477)
- control_470:
+ control_473:
.local pmc exception
.get_results (exception)
getattribute $P478, exception, "payload"
@@ -6238,292 +6165,269 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>" :subid("44_1271336380.06238") :method :outer("11_1271336380.06238")
+.sub "quote_escape:sym<misc>" :subid("44_1271948650.1622") :method :outer("11_1271948650.1622")
.param pmc param_482
-.annotate "line", 176
+.annotate "line", 179
new $P481, 'ExceptionHandler'
set_addr $P481, control_480
$P481."handle_types"(58)
push_eh $P481
.lex "self", self
.lex "$/", param_482
-.annotate "line", 177
- find_lex $P483, "$/"
- $P484 = $P483."!make"(unicode:"\x{0}")
-.annotate "line", 176
- .return ($P484)
- control_480:
- .local pmc exception
- .get_results (exception)
- getattribute $P485, exception, "payload"
- .return ($P485)
-.end
-
-
-.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>" :subid("45_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_489
.annotate "line", 180
- new $P488, 'ExceptionHandler'
- set_addr $P488, control_487
- $P488."handle_types"(58)
- push_eh $P488
- .lex "self", self
- .lex "$/", param_489
-.annotate "line", 181
- find_lex $P490, "$/"
+ find_lex $P483, "$/"
+ find_lex $P486, "$/"
+ unless_null $P486, vivify_113
+ $P486 = root_new ['parrot';'Hash']
+ vivify_113:
+ set $P487, $P486["textq"]
+ unless_null $P487, vivify_114
+ new $P487, "Undef"
+ vivify_114:
+ if $P487, if_485
find_lex $P493, "$/"
- unless_null $P493, vivify_114
+ unless_null $P493, vivify_115
$P493 = root_new ['parrot';'Hash']
- vivify_114:
- set $P494, $P493["textq"]
- unless_null $P494, vivify_115
- new $P494, "Undef"
vivify_115:
- if $P494, if_492
- find_lex $P500, "$/"
- unless_null $P500, vivify_116
- $P500 = root_new ['parrot';'Hash']
+ set $P494, $P493["textqq"]
+ unless_null $P494, vivify_116
+ new $P494, "Undef"
vivify_116:
- set $P501, $P500["textqq"]
- unless_null $P501, vivify_117
- new $P501, "Undef"
+ $P495 = $P494."Str"()
+ set $P484, $P495
+ goto if_485_end
+ if_485:
+ new $P488, "String"
+ assign $P488, "\\"
+ find_lex $P489, "$/"
+ unless_null $P489, vivify_117
+ $P489 = root_new ['parrot';'Hash']
vivify_117:
- $P502 = $P501."Str"()
- set $P491, $P502
- goto if_492_end
- if_492:
- new $P495, "String"
- assign $P495, "\\"
- find_lex $P496, "$/"
- unless_null $P496, vivify_118
- $P496 = root_new ['parrot';'Hash']
+ set $P490, $P489["textq"]
+ unless_null $P490, vivify_118
+ new $P490, "Undef"
vivify_118:
- set $P497, $P496["textq"]
- unless_null $P497, vivify_119
- new $P497, "Undef"
- vivify_119:
- $S498 = $P497."Str"()
- concat $P499, $P495, $S498
- set $P491, $P499
- if_492_end:
- $P503 = $P490."!make"($P491)
-.annotate "line", 180
- .return ($P503)
- control_487:
+ $S491 = $P490."Str"()
+ concat $P492, $P488, $S491
+ set $P484, $P492
+ if_485_end:
+ $P496 = $P483."!make"($P484)
+.annotate "line", 179
+ .return ($P496)
+ control_480:
.local pmc exception
.get_results (exception)
- getattribute $P504, exception, "payload"
- .return ($P504)
+ getattribute $P497, exception, "payload"
+ .return ($P497)
.end
.namespace ["HLL";"Actions"]
-.sub "charname" :subid("46_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_508
-.annotate "line", 184
- new $P507, 'ExceptionHandler'
- set_addr $P507, control_506
- $P507."handle_types"(58)
- push_eh $P507
+.sub "charname" :subid("45_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_501
+.annotate "line", 183
+ new $P500, 'ExceptionHandler'
+ set_addr $P500, control_499
+ $P500."handle_types"(58)
+ push_eh $P500
.lex "self", self
- .lex "$/", param_508
+ .lex "$/", param_501
+.annotate "line", 184
+ new $P502, "Undef"
+ .lex "$codepoint", $P502
.annotate "line", 185
- new $P509, "Undef"
- .lex "$codepoint", $P509
-.annotate "line", 186
- find_lex $P512, "$/"
- unless_null $P512, vivify_120
- $P512 = root_new ['parrot';'Hash']
+ find_lex $P505, "$/"
+ unless_null $P505, vivify_119
+ $P505 = root_new ['parrot';'Hash']
+ vivify_119:
+ set $P506, $P505["integer"]
+ unless_null $P506, vivify_120
+ new $P506, "Undef"
vivify_120:
- set $P513, $P512["integer"]
- unless_null $P513, vivify_121
- new $P513, "Undef"
+ if $P506, if_504
+.annotate "line", 186
+ $P510 = new ['CodeString']
+ find_lex $P511, "$/"
+ set $S512, $P511
+ $P513 = $P510."charname_to_ord"($S512)
+ set $P503, $P513
+.annotate "line", 185
+ goto if_504_end
+ if_504:
+ find_lex $P507, "$/"
+ unless_null $P507, vivify_121
+ $P507 = root_new ['parrot';'Hash']
vivify_121:
- if $P513, if_511
+ set $P508, $P507["integer"]
+ unless_null $P508, vivify_122
+ new $P508, "Undef"
+ vivify_122:
+ $P509 = $P508."ast"()
+ set $P503, $P509
+ if_504_end:
+ store_lex "$codepoint", $P503
.annotate "line", 187
- $P517 = new ['CodeString']
+ find_lex $P515, "$codepoint"
+ set $N516, $P515
+ islt $I517, $N516, 0.0
+ unless $I517, if_514_end
find_lex $P518, "$/"
- set $S519, $P518
- $P520 = $P517."charname_to_ord"($S519)
- set $P510, $P520
-.annotate "line", 186
- goto if_511_end
- if_511:
- find_lex $P514, "$/"
- unless_null $P514, vivify_122
- $P514 = root_new ['parrot';'Hash']
- vivify_122:
- set $P515, $P514["integer"]
- unless_null $P515, vivify_123
- new $P515, "Undef"
- vivify_123:
- $P516 = $P515."ast"()
- set $P510, $P516
- if_511_end:
- store_lex "$codepoint", $P510
+ $P519 = $P518."CURSOR"()
+ new $P520, 'String'
+ set $P520, "Unrecognized character name "
+ find_lex $P521, "$/"
+ concat $P522, $P520, $P521
+ $P519."panic"($P522)
+ if_514_end:
.annotate "line", 188
- find_lex $P522, "$codepoint"
- set $N523, $P522
- islt $I524, $N523, 0.0
- unless $I524, if_521_end
- find_lex $P525, "$/"
- $P526 = $P525."CURSOR"()
- new $P527, 'String'
- set $P527, "Unrecognized character name "
- find_lex $P528, "$/"
- concat $P529, $P527, $P528
- $P526."panic"($P529)
- if_521_end:
-.annotate "line", 189
- find_lex $P530, "$/"
- find_lex $P531, "$codepoint"
- set $I532, $P531
- chr $S533, $I532
- $P534 = $P530."!make"($S533)
-.annotate "line", 184
- .return ($P534)
- control_506:
+ find_lex $P523, "$/"
+ find_lex $P524, "$codepoint"
+ set $I525, $P524
+ chr $S526, $I525
+ $P527 = $P523."!make"($S526)
+.annotate "line", 183
+ .return ($P527)
+ control_499:
.local pmc exception
.get_results (exception)
- getattribute $P535, exception, "payload"
- .return ($P535)
+ getattribute $P528, exception, "payload"
+ .return ($P528)
.end
.namespace ["HLL";"Actions"]
-.sub "charnames" :subid("47_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_539
-.annotate "line", 192
- .const 'Sub' $P548 = "48_1271336380.06238"
- capture_lex $P548
- new $P538, 'ExceptionHandler'
- set_addr $P538, control_537
- $P538."handle_types"(58)
- push_eh $P538
+.sub "charnames" :subid("46_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_532
+.annotate "line", 191
+ .const 'Sub' $P541 = "47_1271948650.1622"
+ capture_lex $P541
+ new $P531, 'ExceptionHandler'
+ set_addr $P531, control_530
+ $P531."handle_types"(58)
+ push_eh $P531
.lex "self", self
- .lex "$/", param_539
+ .lex "$/", param_532
+.annotate "line", 192
+ new $P533, "Undef"
+ .lex "$str", $P533
+ new $P534, "String"
+ assign $P534, ""
+ store_lex "$str", $P534
.annotate "line", 193
- new $P540, "Undef"
- .lex "$str", $P540
- new $P541, "String"
- assign $P541, ""
- store_lex "$str", $P541
-.annotate "line", 194
- find_lex $P543, "$/"
- unless_null $P543, vivify_124
- $P543 = root_new ['parrot';'Hash']
+ find_lex $P536, "$/"
+ unless_null $P536, vivify_123
+ $P536 = root_new ['parrot';'Hash']
+ vivify_123:
+ set $P537, $P536["charname"]
+ unless_null $P537, vivify_124
+ new $P537, "Undef"
vivify_124:
- set $P544, $P543["charname"]
- unless_null $P544, vivify_125
- new $P544, "Undef"
- vivify_125:
- defined $I545, $P544
- unless $I545, for_undef_126
- iter $P542, $P544
- new $P555, 'ExceptionHandler'
- set_addr $P555, loop554_handler
- $P555."handle_types"(65, 67, 66)
- push_eh $P555
- loop554_test:
- unless $P542, loop554_done
- shift $P546, $P542
- loop554_redo:
- .const 'Sub' $P548 = "48_1271336380.06238"
- capture_lex $P548
- $P548($P546)
- loop554_next:
- goto loop554_test
- loop554_handler:
- .local pmc exception
- .get_results (exception)
- getattribute $P556, exception, 'type'
- eq $P556, 65, loop554_next
- eq $P556, 67, loop554_redo
- loop554_done:
+ defined $I538, $P537
+ unless $I538, for_undef_125
+ iter $P535, $P537
+ new $P548, 'ExceptionHandler'
+ set_addr $P548, loop547_handler
+ $P548."handle_types"(65, 67, 66)
+ push_eh $P548
+ loop547_test:
+ unless $P535, loop547_done
+ shift $P539, $P535
+ loop547_redo:
+ .const 'Sub' $P541 = "47_1271948650.1622"
+ capture_lex $P541
+ $P541($P539)
+ loop547_next:
+ goto loop547_test
+ loop547_handler:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P549, exception, 'type'
+ eq $P549, 65, loop547_next
+ eq $P549, 67, loop547_redo
+ loop547_done:
pop_eh
- for_undef_126:
-.annotate "line", 195
- find_lex $P557, "$/"
- find_lex $P558, "$str"
- $P559 = $P557."!make"($P558)
-.annotate "line", 192
- .return ($P559)
- control_537:
+ for_undef_125:
+.annotate "line", 194
+ find_lex $P550, "$/"
+ find_lex $P551, "$str"
+ $P552 = $P550."!make"($P551)
+.annotate "line", 191
+ .return ($P552)
+ control_530:
.local pmc exception
.get_results (exception)
- getattribute $P560, exception, "payload"
- .return ($P560)
+ getattribute $P553, exception, "payload"
+ .return ($P553)
.end
.namespace ["HLL";"Actions"]
-.sub "_block547" :anon :subid("48_1271336380.06238") :outer("47_1271336380.06238")
- .param pmc param_549
-.annotate "line", 194
- .lex "$_", param_549
- find_lex $P550, "$str"
- find_lex $P551, "$_"
- $S552 = $P551."ast"()
- concat $P553, $P550, $S552
- store_lex "$str", $P553
- .return ($P553)
+.sub "_block540" :anon :subid("47_1271948650.1622") :outer("46_1271948650.1622")
+ .param pmc param_542
+.annotate "line", 193
+ .lex "$_", param_542
+ find_lex $P543, "$str"
+ find_lex $P544, "$_"
+ $S545 = $P544."ast"()
+ concat $P546, $P543, $S545
+ store_lex "$str", $P546
+ .return ($P546)
.end
.namespace ["HLL";"Actions"]
-.sub "charspec" :subid("49_1271336380.06238") :method :outer("11_1271336380.06238")
- .param pmc param_564
-.annotate "line", 198
- new $P563, 'ExceptionHandler'
- set_addr $P563, control_562
- $P563."handle_types"(58)
- push_eh $P563
+.sub "charspec" :subid("48_1271948650.1622") :method :outer("11_1271948650.1622")
+ .param pmc param_557
+.annotate "line", 197
+ new $P556, 'ExceptionHandler'
+ set_addr $P556, control_555
+ $P556."handle_types"(58)
+ push_eh $P556
.lex "self", self
- .lex "$/", param_564
-.annotate "line", 199
- find_lex $P565, "$/"
- find_lex $P568, "$/"
- unless_null $P568, vivify_127
- $P568 = root_new ['parrot';'Hash']
+ .lex "$/", param_557
+.annotate "line", 198
+ find_lex $P558, "$/"
+ find_lex $P561, "$/"
+ unless_null $P561, vivify_126
+ $P561 = root_new ['parrot';'Hash']
+ vivify_126:
+ set $P562, $P561["charnames"]
+ unless_null $P562, vivify_127
+ new $P562, "Undef"
vivify_127:
- set $P569, $P568["charnames"]
- unless_null $P569, vivify_128
- new $P569, "Undef"
+ if $P562, if_560
+ find_lex $P566, "$/"
+ $I567 = "string_to_int"($P566, 10)
+ chr $S568, $I567
+ new $P559, 'String'
+ set $P559, $S568
+ goto if_560_end
+ if_560:
+ find_lex $P563, "$/"
+ unless_null $P563, vivify_128
+ $P563 = root_new ['parrot';'Hash']
vivify_128:
- if $P569, if_567
- find_lex $P573, "$/"
- $I574 = "string_to_int"($P573, 10)
- chr $S575, $I574
- new $P566, 'String'
- set $P566, $S575
- goto if_567_end
- if_567:
- find_lex $P570, "$/"
- unless_null $P570, vivify_129
- $P570 = root_new ['parrot';'Hash']
+ set $P564, $P563["charnames"]
+ unless_null $P564, vivify_129
+ new $P564, "Undef"
vivify_129:
- set $P571, $P570["charnames"]
- unless_null $P571, vivify_130
- new $P571, "Undef"
- vivify_130:
- $P572 = $P571."ast"()
- set $P566, $P572
- if_567_end:
- $P576 = $P565."!make"($P566)
-.annotate "line", 198
- .return ($P576)
- control_562:
+ $P565 = $P564."ast"()
+ set $P559, $P565
+ if_560_end:
+ $P569 = $P558."!make"($P559)
+.annotate "line", 197
+ .return ($P569)
+ control_555:
.local pmc exception
.get_results (exception)
- getattribute $P577, exception, "payload"
- .return ($P577)
+ getattribute $P570, exception, "payload"
+ .return ($P570)
.end
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336381.18625")
+.sub "_block11" :anon :subid("10_1271948651.35295")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
@@ -6537,9 +6441,9 @@
.namespace []
-.sub "" :load :init :subid("post25") :outer("10_1271336381.18625")
+.sub "" :load :init :subid("post25") :outer("10_1271948651.35295")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336381.18625"
+ .const 'Sub' $P12 = "10_1271948651.35295"
.local pmc block
set block, $P12
.annotate "line", 2
@@ -6553,28 +6457,28 @@
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1271336381.18625") :outer("10_1271336381.18625")
+.sub "_block13" :subid("11_1271948651.35295") :outer("10_1271948651.35295")
.annotate "line", 6
- .const 'Sub' $P187 = "20_1271336381.18625"
+ .const 'Sub' $P187 = "20_1271948651.35295"
capture_lex $P187
- .const 'Sub' $P152 = "18_1271336381.18625"
+ .const 'Sub' $P152 = "18_1271948651.35295"
capture_lex $P152
- .const 'Sub' $P137 = "17_1271336381.18625"
+ .const 'Sub' $P137 = "17_1271948651.35295"
capture_lex $P137
- .const 'Sub' $P121 = "16_1271336381.18625"
+ .const 'Sub' $P121 = "16_1271948651.35295"
capture_lex $P121
- .const 'Sub' $P32 = "13_1271336381.18625"
+ .const 'Sub' $P32 = "13_1271948651.35295"
capture_lex $P32
- .const 'Sub' $P15 = "12_1271336381.18625"
+ .const 'Sub' $P15 = "12_1271948651.35295"
capture_lex $P15
.annotate "line", 14
- .const 'Sub' $P15 = "12_1271336381.18625"
+ .const 'Sub' $P15 = "12_1271948651.35295"
capture_lex $P15
.lex "value_type", $P15
.annotate "line", 10
find_lex $P31, "value_type"
.annotate "line", 69
- .const 'Sub' $P187 = "20_1271336381.18625"
+ .const 'Sub' $P187 = "20_1271948651.35295"
capture_lex $P187
.annotate "line", 6
.return ($P187)
@@ -6582,7 +6486,7 @@
.namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post26") :outer("11_1271336381.18625")
+.sub "" :load :init :subid("post26") :outer("11_1271948651.35295")
.annotate "line", 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
.local pmc block
@@ -6594,7 +6498,7 @@
.namespace ["HLL";"Compiler"]
-.sub "value_type" :subid("12_1271336381.18625") :outer("11_1271336381.18625")
+.sub "value_type" :subid("12_1271948651.35295") :outer("11_1271948651.35295")
.param pmc param_18
.annotate "line", 14
new $P17, 'ExceptionHandler'
@@ -6638,15 +6542,15 @@
.namespace ["HLL";"Compiler"]
-.sub "get_exports" :subid("13_1271336381.18625") :method :outer("11_1271336381.18625")
+.sub "get_exports" :subid("13_1271948651.35295") :method :outer("11_1271948651.35295")
.param pmc param_35
.param pmc param_38 :slurpy
.param pmc param_36 :optional :named("tagset")
.param int has_param_36 :opt_flag
.annotate "line", 20
- .const 'Sub' $P104 = "15_1271336381.18625"
+ .const 'Sub' $P104 = "15_1271948651.35295"
capture_lex $P104
- .const 'Sub' $P83 = "14_1271336381.18625"
+ .const 'Sub' $P83 = "14_1271948651.35295"
capture_lex $P83
new $P34, 'ExceptionHandler'
set_addr $P34, control_33
@@ -6752,7 +6656,7 @@
unless $P99, loop116_done
shift $P102, $P99
loop116_redo:
- .const 'Sub' $P104 = "15_1271336381.18625"
+ .const 'Sub' $P104 = "15_1271948651.35295"
capture_lex $P104
$P104($P102)
loop116_next:
@@ -6782,7 +6686,7 @@
unless $P78, loop96_done
shift $P81, $P78
loop96_redo:
- .const 'Sub' $P83 = "14_1271336381.18625"
+ .const 'Sub' $P83 = "14_1271948651.35295"
capture_lex $P83
$P83($P81)
loop96_next:
@@ -6810,7 +6714,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block103" :anon :subid("15_1271336381.18625") :outer("13_1271336381.18625")
+.sub "_block103" :anon :subid("15_1271948651.35295") :outer("13_1271948651.35295")
.param pmc param_106
.annotate "line", 40
new $P105, "Undef"
@@ -6842,7 +6746,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block82" :anon :subid("14_1271336381.18625") :outer("13_1271336381.18625")
+.sub "_block82" :anon :subid("14_1271948651.35295") :outer("13_1271948651.35295")
.param pmc param_85
.annotate "line", 34
new $P84, "Undef"
@@ -6881,7 +6785,7 @@
.namespace ["HLL";"Compiler"]
-.sub "get_module" :subid("16_1271336381.18625") :method :outer("11_1271336381.18625")
+.sub "get_module" :subid("16_1271948651.35295") :method :outer("11_1271948651.35295")
.param pmc param_124
.annotate "line", 47
new $P123, 'ExceptionHandler'
@@ -6921,7 +6825,7 @@
.namespace ["HLL";"Compiler"]
-.sub "language" :subid("17_1271336381.18625") :method :outer("11_1271336381.18625")
+.sub "language" :subid("17_1271948651.35295") :method :outer("11_1271948651.35295")
.param pmc param_140 :optional
.param int has_param_140 :opt_flag
.annotate "line", 53
@@ -6965,10 +6869,10 @@
.namespace ["HLL";"Compiler"]
-.sub "load_module" :subid("18_1271336381.18625") :method :outer("11_1271336381.18625")
+.sub "load_module" :subid("18_1271948651.35295") :method :outer("11_1271948651.35295")
.param pmc param_155
.annotate "line", 61
- .const 'Sub' $P165 = "19_1271336381.18625"
+ .const 'Sub' $P165 = "19_1271948651.35295"
capture_lex $P165
new $P154, 'ExceptionHandler'
set_addr $P154, control_153
@@ -6995,7 +6899,7 @@
assign $P163, 0
store_lex "$loaded", $P163
.annotate "line", 64
- .const 'Sub' $P165 = "19_1271336381.18625"
+ .const 'Sub' $P165 = "19_1271948651.35295"
capture_lex $P165
$P165()
.annotate "line", 65
@@ -7024,7 +6928,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block164" :anon :subid("19_1271336381.18625") :outer("18_1271336381.18625")
+.sub "_block164" :anon :subid("19_1271948651.35295") :outer("18_1271948651.35295")
.annotate "line", 64
new $P172, 'ExceptionHandler'
set_addr $P172, control_171
@@ -7057,11 +6961,11 @@
.namespace ["HLL";"Compiler"]
-.sub "import" :subid("20_1271336381.18625") :method :outer("11_1271336381.18625")
+.sub "import" :subid("20_1271948651.35295") :method :outer("11_1271948651.35295")
.param pmc param_190
.param pmc param_191
.annotate "line", 69
- .const 'Sub' $P197 = "21_1271336381.18625"
+ .const 'Sub' $P197 = "21_1271948651.35295"
capture_lex $P197
new $P189, 'ExceptionHandler'
set_addr $P189, control_188
@@ -7083,7 +6987,7 @@
unless $P192, loop278_done
shift $P195, $P192
loop278_redo:
- .const 'Sub' $P197 = "21_1271336381.18625"
+ .const 'Sub' $P197 = "21_1271948651.35295"
capture_lex $P197
$P197($P195)
loop278_next:
@@ -7108,14 +7012,14 @@
.namespace ["HLL";"Compiler"]
-.sub "_block196" :anon :subid("21_1271336381.18625") :outer("20_1271336381.18625")
+.sub "_block196" :anon :subid("21_1271948651.35295") :outer("20_1271948651.35295")
.param pmc param_200
.annotate "line", 70
- .const 'Sub' $P267 = "24_1271336381.18625"
+ .const 'Sub' $P267 = "24_1271948651.35295"
capture_lex $P267
- .const 'Sub' $P247 = "23_1271336381.18625"
+ .const 'Sub' $P247 = "23_1271948651.35295"
capture_lex $P247
- .const 'Sub' $P218 = "22_1271336381.18625"
+ .const 'Sub' $P218 = "22_1271948651.35295"
capture_lex $P218
.annotate "line", 71
new $P198, "Undef"
@@ -7163,7 +7067,7 @@
unless $P262, loop275_done
shift $P265, $P262
loop275_redo:
- .const 'Sub' $P267 = "24_1271336381.18625"
+ .const 'Sub' $P267 = "24_1271948651.35295"
capture_lex $P267
$P267($P265)
loop275_next:
@@ -7195,7 +7099,7 @@
unless $P242, loop259_done
shift $P245, $P242
loop259_redo:
- .const 'Sub' $P247 = "23_1271336381.18625"
+ .const 'Sub' $P247 = "23_1271948651.35295"
capture_lex $P247
$P247($P245)
loop259_next:
@@ -7229,7 +7133,7 @@
unless $P213, loop231_done
shift $P216, $P213
loop231_redo:
- .const 'Sub' $P218 = "22_1271336381.18625"
+ .const 'Sub' $P218 = "22_1271948651.35295"
capture_lex $P218
$P218($P216)
loop231_next:
@@ -7252,7 +7156,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block266" :anon :subid("24_1271336381.18625") :outer("21_1271336381.18625")
+.sub "_block266" :anon :subid("24_1271948651.35295") :outer("21_1271948651.35295")
.param pmc param_268
.annotate "line", 80
.lex "$_", param_268
@@ -7272,7 +7176,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block246" :anon :subid("23_1271336381.18625") :outer("21_1271336381.18625")
+.sub "_block246" :anon :subid("23_1271948651.35295") :outer("21_1271948651.35295")
.param pmc param_248
.annotate "line", 77
.lex "$_", param_248
@@ -7292,7 +7196,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block217" :anon :subid("22_1271336381.18625") :outer("21_1271336381.18625")
+.sub "_block217" :anon :subid("22_1271948651.35295") :outer("21_1271948651.35295")
.param pmc param_219
.annotate "line", 74
.lex "$_", param_219
Modified: branches/runcore_purge/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/runcore_purge/ext/nqp-rx/src/stage0/NQP-s0.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/ext/nqp-rx/src/stage0/NQP-s0.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -15,387 +15,389 @@
### .include 'gen/nqp-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336396.90314")
+.sub "_block11" :anon :subid("10_1271948667.92136")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
.annotate "line", 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
- $P1299 = $P14()
+ $P1304 = $P14()
.annotate "line", 1
- .return ($P1299)
+ .return ($P1304)
.end
.namespace []
-.sub "" :load :init :subid("post331") :outer("10_1271336396.90314")
+.sub "" :load :init :subid("post333") :outer("10_1271948667.92136")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336396.90314"
+ .const 'Sub' $P12 = "10_1271948667.92136"
.local pmc block
set block, $P12
- $P1300 = get_root_global ["parrot"], "P6metaclass"
- $P1300."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+ $P1305 = get_root_global ["parrot"], "P6metaclass"
+ $P1305."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
-.sub "_block13" :subid("11_1271336396.90314") :outer("10_1271336396.90314")
+.sub "_block13" :subid("11_1271948667.92136") :outer("10_1271948667.92136")
.annotate "line", 4
- get_hll_global $P1243, ["NQP";"Regex"], "_block1242"
- capture_lex $P1243
- .const 'Sub' $P1229 = "317_1271336396.90314"
- capture_lex $P1229
- .const 'Sub' $P1223 = "315_1271336396.90314"
- capture_lex $P1223
- .const 'Sub' $P1217 = "313_1271336396.90314"
- capture_lex $P1217
- .const 'Sub' $P1210 = "311_1271336396.90314"
- capture_lex $P1210
- .const 'Sub' $P1203 = "309_1271336396.90314"
- capture_lex $P1203
- .const 'Sub' $P1196 = "307_1271336396.90314"
- capture_lex $P1196
- .const 'Sub' $P1189 = "305_1271336396.90314"
- capture_lex $P1189
- .const 'Sub' $P1183 = "303_1271336396.90314"
- capture_lex $P1183
- .const 'Sub' $P1176 = "301_1271336396.90314"
- capture_lex $P1176
- .const 'Sub' $P1169 = "299_1271336396.90314"
- capture_lex $P1169
- .const 'Sub' $P1162 = "297_1271336396.90314"
- capture_lex $P1162
- .const 'Sub' $P1155 = "295_1271336396.90314"
- capture_lex $P1155
- .const 'Sub' $P1148 = "293_1271336396.90314"
- capture_lex $P1148
- .const 'Sub' $P1141 = "291_1271336396.90314"
- capture_lex $P1141
- .const 'Sub' $P1134 = "289_1271336396.90314"
- capture_lex $P1134
- .const 'Sub' $P1127 = "287_1271336396.90314"
- capture_lex $P1127
- .const 'Sub' $P1120 = "285_1271336396.90314"
- capture_lex $P1120
- .const 'Sub' $P1113 = "283_1271336396.90314"
- capture_lex $P1113
- .const 'Sub' $P1106 = "281_1271336396.90314"
- capture_lex $P1106
- .const 'Sub' $P1099 = "279_1271336396.90314"
- capture_lex $P1099
- .const 'Sub' $P1092 = "277_1271336396.90314"
- capture_lex $P1092
- .const 'Sub' $P1085 = "275_1271336396.90314"
- capture_lex $P1085
- .const 'Sub' $P1078 = "273_1271336396.90314"
- capture_lex $P1078
- .const 'Sub' $P1071 = "271_1271336396.90314"
- capture_lex $P1071
- .const 'Sub' $P1064 = "269_1271336396.90314"
- capture_lex $P1064
- .const 'Sub' $P1057 = "267_1271336396.90314"
- capture_lex $P1057
- .const 'Sub' $P1050 = "265_1271336396.90314"
- capture_lex $P1050
- .const 'Sub' $P1043 = "263_1271336396.90314"
- capture_lex $P1043
- .const 'Sub' $P1036 = "261_1271336396.90314"
- capture_lex $P1036
- .const 'Sub' $P1029 = "259_1271336396.90314"
- capture_lex $P1029
- .const 'Sub' $P1022 = "257_1271336396.90314"
- capture_lex $P1022
- .const 'Sub' $P1015 = "255_1271336396.90314"
- capture_lex $P1015
- .const 'Sub' $P1008 = "253_1271336396.90314"
- capture_lex $P1008
- .const 'Sub' $P1001 = "251_1271336396.90314"
- capture_lex $P1001
- .const 'Sub' $P995 = "249_1271336396.90314"
- capture_lex $P995
- .const 'Sub' $P988 = "247_1271336396.90314"
- capture_lex $P988
- .const 'Sub' $P981 = "245_1271336396.90314"
- capture_lex $P981
- .const 'Sub' $P974 = "243_1271336396.90314"
- capture_lex $P974
- .const 'Sub' $P967 = "241_1271336396.90314"
- capture_lex $P967
- .const 'Sub' $P960 = "239_1271336396.90314"
- capture_lex $P960
- .const 'Sub' $P953 = "237_1271336396.90314"
- capture_lex $P953
- .const 'Sub' $P946 = "235_1271336396.90314"
- capture_lex $P946
- .const 'Sub' $P940 = "233_1271336396.90314"
- capture_lex $P940
- .const 'Sub' $P934 = "231_1271336396.90314"
+ get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
+ capture_lex $P1248
+ .const 'Sub' $P1234 = "319_1271948667.92136"
+ capture_lex $P1234
+ .const 'Sub' $P1228 = "317_1271948667.92136"
+ capture_lex $P1228
+ .const 'Sub' $P1222 = "315_1271948667.92136"
+ capture_lex $P1222
+ .const 'Sub' $P1215 = "313_1271948667.92136"
+ capture_lex $P1215
+ .const 'Sub' $P1208 = "311_1271948667.92136"
+ capture_lex $P1208
+ .const 'Sub' $P1201 = "309_1271948667.92136"
+ capture_lex $P1201
+ .const 'Sub' $P1194 = "307_1271948667.92136"
+ capture_lex $P1194
+ .const 'Sub' $P1188 = "305_1271948667.92136"
+ capture_lex $P1188
+ .const 'Sub' $P1181 = "303_1271948667.92136"
+ capture_lex $P1181
+ .const 'Sub' $P1174 = "301_1271948667.92136"
+ capture_lex $P1174
+ .const 'Sub' $P1167 = "299_1271948667.92136"
+ capture_lex $P1167
+ .const 'Sub' $P1160 = "297_1271948667.92136"
+ capture_lex $P1160
+ .const 'Sub' $P1153 = "295_1271948667.92136"
+ capture_lex $P1153
+ .const 'Sub' $P1146 = "293_1271948667.92136"
+ capture_lex $P1146
+ .const 'Sub' $P1139 = "291_1271948667.92136"
+ capture_lex $P1139
+ .const 'Sub' $P1132 = "289_1271948667.92136"
+ capture_lex $P1132
+ .const 'Sub' $P1125 = "287_1271948667.92136"
+ capture_lex $P1125
+ .const 'Sub' $P1118 = "285_1271948667.92136"
+ capture_lex $P1118
+ .const 'Sub' $P1111 = "283_1271948667.92136"
+ capture_lex $P1111
+ .const 'Sub' $P1104 = "281_1271948667.92136"
+ capture_lex $P1104
+ .const 'Sub' $P1097 = "279_1271948667.92136"
+ capture_lex $P1097
+ .const 'Sub' $P1090 = "277_1271948667.92136"
+ capture_lex $P1090
+ .const 'Sub' $P1083 = "275_1271948667.92136"
+ capture_lex $P1083
+ .const 'Sub' $P1076 = "273_1271948667.92136"
+ capture_lex $P1076
+ .const 'Sub' $P1069 = "271_1271948667.92136"
+ capture_lex $P1069
+ .const 'Sub' $P1062 = "269_1271948667.92136"
+ capture_lex $P1062
+ .const 'Sub' $P1055 = "267_1271948667.92136"
+ capture_lex $P1055
+ .const 'Sub' $P1048 = "265_1271948667.92136"
+ capture_lex $P1048
+ .const 'Sub' $P1041 = "263_1271948667.92136"
+ capture_lex $P1041
+ .const 'Sub' $P1034 = "261_1271948667.92136"
+ capture_lex $P1034
+ .const 'Sub' $P1027 = "259_1271948667.92136"
+ capture_lex $P1027
+ .const 'Sub' $P1020 = "257_1271948667.92136"
+ capture_lex $P1020
+ .const 'Sub' $P1013 = "255_1271948667.92136"
+ capture_lex $P1013
+ .const 'Sub' $P1006 = "253_1271948667.92136"
+ capture_lex $P1006
+ .const 'Sub' $P1000 = "251_1271948667.92136"
+ capture_lex $P1000
+ .const 'Sub' $P993 = "249_1271948667.92136"
+ capture_lex $P993
+ .const 'Sub' $P986 = "247_1271948667.92136"
+ capture_lex $P986
+ .const 'Sub' $P979 = "245_1271948667.92136"
+ capture_lex $P979
+ .const 'Sub' $P972 = "243_1271948667.92136"
+ capture_lex $P972
+ .const 'Sub' $P965 = "241_1271948667.92136"
+ capture_lex $P965
+ .const 'Sub' $P958 = "239_1271948667.92136"
+ capture_lex $P958
+ .const 'Sub' $P951 = "237_1271948667.92136"
+ capture_lex $P951
+ .const 'Sub' $P945 = "235_1271948667.92136"
+ capture_lex $P945
+ .const 'Sub' $P939 = "233_1271948667.92136"
+ capture_lex $P939
+ .const 'Sub' $P934 = "231_1271948667.92136"
capture_lex $P934
- .const 'Sub' $P929 = "229_1271336396.90314"
- capture_lex $P929
- .const 'Sub' $P923 = "227_1271336396.90314"
- capture_lex $P923
- .const 'Sub' $P917 = "225_1271336396.90314"
+ .const 'Sub' $P928 = "229_1271948667.92136"
+ capture_lex $P928
+ .const 'Sub' $P922 = "227_1271948667.92136"
+ capture_lex $P922
+ .const 'Sub' $P917 = "225_1271948667.92136"
capture_lex $P917
- .const 'Sub' $P912 = "223_1271336396.90314"
+ .const 'Sub' $P912 = "223_1271948667.92136"
capture_lex $P912
- .const 'Sub' $P907 = "221_1271336396.90314"
- capture_lex $P907
- .const 'Sub' $P900 = "219_1271336396.90314"
- capture_lex $P900
- .const 'Sub' $P892 = "217_1271336396.90314"
+ .const 'Sub' $P905 = "221_1271948667.92136"
+ capture_lex $P905
+ .const 'Sub' $P897 = "219_1271948667.92136"
+ capture_lex $P897
+ .const 'Sub' $P892 = "217_1271948667.92136"
capture_lex $P892
- .const 'Sub' $P887 = "215_1271336396.90314"
+ .const 'Sub' $P887 = "215_1271948667.92136"
capture_lex $P887
- .const 'Sub' $P882 = "213_1271336396.90314"
+ .const 'Sub' $P882 = "213_1271948667.92136"
capture_lex $P882
- .const 'Sub' $P877 = "211_1271336396.90314"
- capture_lex $P877
- .const 'Sub' $P869 = "209_1271336396.90314"
- capture_lex $P869
- .const 'Sub' $P861 = "207_1271336396.90314"
+ .const 'Sub' $P874 = "211_1271948667.92136"
+ capture_lex $P874
+ .const 'Sub' $P866 = "209_1271948667.92136"
+ capture_lex $P866
+ .const 'Sub' $P861 = "207_1271948667.92136"
capture_lex $P861
- .const 'Sub' $P856 = "205_1271336396.90314"
+ .const 'Sub' $P856 = "205_1271948667.92136"
capture_lex $P856
- .const 'Sub' $P851 = "203_1271336396.90314"
+ .const 'Sub' $P851 = "203_1271948667.92136"
capture_lex $P851
- .const 'Sub' $P845 = "201_1271336396.90314"
+ .const 'Sub' $P845 = "201_1271948667.92136"
capture_lex $P845
- .const 'Sub' $P839 = "199_1271336396.90314"
+ .const 'Sub' $P839 = "199_1271948667.92136"
capture_lex $P839
- .const 'Sub' $P833 = "197_1271336396.90314"
+ .const 'Sub' $P833 = "197_1271948667.92136"
capture_lex $P833
- .const 'Sub' $P827 = "195_1271336396.90314"
+ .const 'Sub' $P827 = "195_1271948667.92136"
capture_lex $P827
- .const 'Sub' $P821 = "193_1271336396.90314"
+ .const 'Sub' $P821 = "193_1271948667.92136"
capture_lex $P821
- .const 'Sub' $P816 = "191_1271336396.90314"
+ .const 'Sub' $P816 = "191_1271948667.92136"
capture_lex $P816
- .const 'Sub' $P811 = "189_1271336396.90314"
+ .const 'Sub' $P811 = "189_1271948667.92136"
capture_lex $P811
- .const 'Sub' $P798 = "185_1271336396.90314"
+ .const 'Sub' $P798 = "185_1271948667.92136"
capture_lex $P798
- .const 'Sub' $P790 = "183_1271336396.90314"
+ .const 'Sub' $P790 = "183_1271948667.92136"
capture_lex $P790
- .const 'Sub' $P784 = "181_1271336396.90314"
+ .const 'Sub' $P784 = "181_1271948667.92136"
capture_lex $P784
- .const 'Sub' $P777 = "179_1271336396.90314"
+ .const 'Sub' $P777 = "179_1271948667.92136"
capture_lex $P777
- .const 'Sub' $P771 = "177_1271336396.90314"
+ .const 'Sub' $P771 = "177_1271948667.92136"
capture_lex $P771
- .const 'Sub' $P763 = "175_1271336396.90314"
+ .const 'Sub' $P763 = "175_1271948667.92136"
capture_lex $P763
- .const 'Sub' $P755 = "173_1271336396.90314"
+ .const 'Sub' $P755 = "173_1271948667.92136"
capture_lex $P755
- .const 'Sub' $P749 = "171_1271336396.90314"
+ .const 'Sub' $P749 = "171_1271948667.92136"
capture_lex $P749
- .const 'Sub' $P743 = "169_1271336396.90314"
+ .const 'Sub' $P743 = "169_1271948667.92136"
capture_lex $P743
- .const 'Sub' $P728 = "165_1271336396.90314"
+ .const 'Sub' $P728 = "165_1271948667.92136"
capture_lex $P728
- .const 'Sub' $P691 = "163_1271336396.90314"
+ .const 'Sub' $P691 = "163_1271948667.92136"
capture_lex $P691
- .const 'Sub' $P683 = "161_1271336396.90314"
+ .const 'Sub' $P683 = "161_1271948667.92136"
capture_lex $P683
- .const 'Sub' $P677 = "159_1271336396.90314"
+ .const 'Sub' $P677 = "159_1271948667.92136"
capture_lex $P677
- .const 'Sub' $P667 = "157_1271336396.90314"
+ .const 'Sub' $P667 = "157_1271948667.92136"
capture_lex $P667
- .const 'Sub' $P652 = "155_1271336396.90314"
+ .const 'Sub' $P652 = "155_1271948667.92136"
capture_lex $P652
- .const 'Sub' $P643 = "153_1271336396.90314"
+ .const 'Sub' $P643 = "153_1271948667.92136"
capture_lex $P643
- .const 'Sub' $P624 = "151_1271336396.90314"
+ .const 'Sub' $P624 = "151_1271948667.92136"
capture_lex $P624
- .const 'Sub' $P600 = "149_1271336396.90314"
+ .const 'Sub' $P600 = "149_1271948667.92136"
capture_lex $P600
- .const 'Sub' $P593 = "147_1271336396.90314"
+ .const 'Sub' $P593 = "147_1271948667.92136"
capture_lex $P593
- .const 'Sub' $P586 = "145_1271336396.90314"
+ .const 'Sub' $P586 = "145_1271948667.92136"
capture_lex $P586
- .const 'Sub' $P576 = "141_1271336396.90314"
+ .const 'Sub' $P576 = "141_1271948667.92136"
capture_lex $P576
- .const 'Sub' $P565 = "139_1271336396.90314"
+ .const 'Sub' $P565 = "139_1271948667.92136"
capture_lex $P565
- .const 'Sub' $P558 = "137_1271336396.90314"
+ .const 'Sub' $P558 = "137_1271948667.92136"
capture_lex $P558
- .const 'Sub' $P551 = "135_1271336396.90314"
+ .const 'Sub' $P551 = "135_1271948667.92136"
capture_lex $P551
- .const 'Sub' $P544 = "133_1271336396.90314"
+ .const 'Sub' $P544 = "133_1271948667.92136"
capture_lex $P544
- .const 'Sub' $P517 = "129_1271336396.90314"
+ .const 'Sub' $P517 = "129_1271948667.92136"
capture_lex $P517
- .const 'Sub' $P508 = "127_1271336396.90314"
+ .const 'Sub' $P508 = "127_1271948667.92136"
capture_lex $P508
- .const 'Sub' $P501 = "125_1271336396.90314"
+ .const 'Sub' $P501 = "125_1271948667.92136"
capture_lex $P501
- .const 'Sub' $P492 = "121_1271336396.90314"
+ .const 'Sub' $P492 = "121_1271948667.92136"
capture_lex $P492
- .const 'Sub' $P487 = "119_1271336396.90314"
+ .const 'Sub' $P487 = "119_1271948667.92136"
capture_lex $P487
- .const 'Sub' $P475 = "117_1271336396.90314"
+ .const 'Sub' $P475 = "117_1271948667.92136"
capture_lex $P475
- .const 'Sub' $P463 = "115_1271336396.90314"
+ .const 'Sub' $P463 = "115_1271948667.92136"
capture_lex $P463
- .const 'Sub' $P455 = "113_1271336396.90314"
+ .const 'Sub' $P455 = "113_1271948667.92136"
capture_lex $P455
- .const 'Sub' $P450 = "111_1271336396.90314"
+ .const 'Sub' $P450 = "111_1271948667.92136"
capture_lex $P450
- .const 'Sub' $P444 = "109_1271336396.90314"
+ .const 'Sub' $P444 = "109_1271948667.92136"
capture_lex $P444
- .const 'Sub' $P438 = "107_1271336396.90314"
+ .const 'Sub' $P438 = "107_1271948667.92136"
capture_lex $P438
- .const 'Sub' $P432 = "105_1271336396.90314"
+ .const 'Sub' $P432 = "105_1271948667.92136"
capture_lex $P432
- .const 'Sub' $P426 = "103_1271336396.90314"
+ .const 'Sub' $P426 = "103_1271948667.92136"
capture_lex $P426
- .const 'Sub' $P420 = "101_1271336396.90314"
+ .const 'Sub' $P420 = "101_1271948667.92136"
capture_lex $P420
- .const 'Sub' $P414 = "99_1271336396.90314"
+ .const 'Sub' $P414 = "99_1271948667.92136"
capture_lex $P414
- .const 'Sub' $P408 = "97_1271336396.90314"
+ .const 'Sub' $P408 = "97_1271948667.92136"
capture_lex $P408
- .const 'Sub' $P402 = "95_1271336396.90314"
+ .const 'Sub' $P402 = "95_1271948667.92136"
capture_lex $P402
- .const 'Sub' $P394 = "93_1271336396.90314"
+ .const 'Sub' $P394 = "93_1271948667.92136"
capture_lex $P394
- .const 'Sub' $P386 = "91_1271336396.90314"
+ .const 'Sub' $P386 = "91_1271948667.92136"
capture_lex $P386
- .const 'Sub' $P374 = "87_1271336396.90314"
+ .const 'Sub' $P374 = "87_1271948667.92136"
capture_lex $P374
- .const 'Sub' $P366 = "85_1271336396.90314"
+ .const 'Sub' $P366 = "85_1271948667.92136"
capture_lex $P366
- .const 'Sub' $P356 = "81_1271336396.90314"
+ .const 'Sub' $P356 = "81_1271948667.92136"
capture_lex $P356
- .const 'Sub' $P349 = "79_1271336396.90314"
+ .const 'Sub' $P349 = "79_1271948667.92136"
capture_lex $P349
- .const 'Sub' $P342 = "77_1271336396.90314"
+ .const 'Sub' $P342 = "77_1271948667.92136"
capture_lex $P342
- .const 'Sub' $P330 = "73_1271336396.90314"
+ .const 'Sub' $P330 = "73_1271948667.92136"
capture_lex $P330
- .const 'Sub' $P322 = "71_1271336396.90314"
+ .const 'Sub' $P322 = "71_1271948667.92136"
capture_lex $P322
- .const 'Sub' $P314 = "69_1271336396.90314"
+ .const 'Sub' $P314 = "69_1271948667.92136"
capture_lex $P314
- .const 'Sub' $P294 = "67_1271336396.90314"
+ .const 'Sub' $P294 = "67_1271948667.92136"
capture_lex $P294
- .const 'Sub' $P285 = "65_1271336396.90314"
+ .const 'Sub' $P285 = "65_1271948667.92136"
capture_lex $P285
- .const 'Sub' $P267 = "62_1271336396.90314"
+ .const 'Sub' $P267 = "62_1271948667.92136"
capture_lex $P267
- .const 'Sub' $P247 = "60_1271336396.90314"
+ .const 'Sub' $P247 = "60_1271948667.92136"
capture_lex $P247
- .const 'Sub' $P238 = "56_1271336396.90314"
+ .const 'Sub' $P238 = "56_1271948667.92136"
capture_lex $P238
- .const 'Sub' $P233 = "54_1271336396.90314"
+ .const 'Sub' $P233 = "54_1271948667.92136"
capture_lex $P233
- .const 'Sub' $P224 = "50_1271336396.90314"
+ .const 'Sub' $P224 = "50_1271948667.92136"
capture_lex $P224
- .const 'Sub' $P219 = "48_1271336396.90314"
+ .const 'Sub' $P219 = "48_1271948667.92136"
capture_lex $P219
- .const 'Sub' $P211 = "46_1271336396.90314"
+ .const 'Sub' $P211 = "46_1271948667.92136"
capture_lex $P211
- .const 'Sub' $P204 = "44_1271336396.90314"
+ .const 'Sub' $P204 = "44_1271948667.92136"
capture_lex $P204
- .const 'Sub' $P198 = "42_1271336396.90314"
+ .const 'Sub' $P198 = "42_1271948667.92136"
capture_lex $P198
- .const 'Sub' $P190 = "40_1271336396.90314"
+ .const 'Sub' $P190 = "40_1271948667.92136"
capture_lex $P190
- .const 'Sub' $P184 = "38_1271336396.90314"
+ .const 'Sub' $P184 = "38_1271948667.92136"
capture_lex $P184
- .const 'Sub' $P178 = "36_1271336396.90314"
+ .const 'Sub' $P178 = "36_1271948667.92136"
capture_lex $P178
- .const 'Sub' $P162 = "33_1271336396.90314"
+ .const 'Sub' $P162 = "33_1271948667.92136"
capture_lex $P162
- .const 'Sub' $P149 = "31_1271336396.90314"
+ .const 'Sub' $P149 = "31_1271948667.92136"
capture_lex $P149
- .const 'Sub' $P142 = "29_1271336396.90314"
+ .const 'Sub' $P142 = "29_1271948667.92136"
capture_lex $P142
- .const 'Sub' $P96 = "26_1271336396.90314"
+ .const 'Sub' $P96 = "26_1271948667.92136"
capture_lex $P96
- .const 'Sub' $P78 = "23_1271336396.90314"
+ .const 'Sub' $P78 = "23_1271948667.92136"
capture_lex $P78
- .const 'Sub' $P68 = "21_1271336396.90314"
+ .const 'Sub' $P68 = "21_1271948667.92136"
capture_lex $P68
- .const 'Sub' $P54 = "19_1271336396.90314"
+ .const 'Sub' $P54 = "19_1271948667.92136"
capture_lex $P54
- .const 'Sub' $P46 = "17_1271336396.90314"
+ .const 'Sub' $P46 = "17_1271948667.92136"
capture_lex $P46
- .const 'Sub' $P39 = "15_1271336396.90314"
+ .const 'Sub' $P39 = "15_1271948667.92136"
capture_lex $P39
- .const 'Sub' $P33 = "13_1271336396.90314"
+ .const 'Sub' $P33 = "13_1271948667.92136"
capture_lex $P33
- .const 'Sub' $P15 = "12_1271336396.90314"
+ .const 'Sub' $P15 = "12_1271948667.92136"
capture_lex $P15
-.annotate "line", 535
- get_hll_global $P1243, ["NQP";"Regex"], "_block1242"
- capture_lex $P1243
- $P1282 = $P1243()
+.annotate "line", 536
+ get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
+ capture_lex $P1248
+ $P1287 = $P1248()
.annotate "line", 4
- .return ($P1282)
+ .return ($P1287)
.end
.namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post332") :outer("11_1271336396.90314")
+.sub "" :load :init :subid("post334") :outer("11_1271948667.92136")
.annotate "line", 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
.local pmc block
set block, $P14
-.annotate "line", 422
- get_hll_global $P1283, ["NQP"], "Grammar"
- $P1283."O"(":prec<y=>, :assoc<unary>", "%methodop")
.annotate "line", 423
- get_hll_global $P1284, ["NQP"], "Grammar"
- $P1284."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+ get_hll_global $P1288, ["NQP"], "Grammar"
+ $P1288."O"(":prec<y=>, :assoc<unary>", "%methodop")
.annotate "line", 424
- get_hll_global $P1285, ["NQP"], "Grammar"
- $P1285."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+ get_hll_global $P1289, ["NQP"], "Grammar"
+ $P1289."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
.annotate "line", 425
- get_hll_global $P1286, ["NQP"], "Grammar"
- $P1286."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+ get_hll_global $P1290, ["NQP"], "Grammar"
+ $P1290."O"(":prec<w=>, :assoc<left>", "%exponentiation")
.annotate "line", 426
- get_hll_global $P1287, ["NQP"], "Grammar"
- $P1287."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+ get_hll_global $P1291, ["NQP"], "Grammar"
+ $P1291."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
.annotate "line", 427
- get_hll_global $P1288, ["NQP"], "Grammar"
- $P1288."O"(":prec<t=>, :assoc<left>", "%additive")
+ get_hll_global $P1292, ["NQP"], "Grammar"
+ $P1292."O"(":prec<u=>, :assoc<left>", "%multiplicative")
.annotate "line", 428
- get_hll_global $P1289, ["NQP"], "Grammar"
- $P1289."O"(":prec<r=>, :assoc<left>", "%concatenation")
+ get_hll_global $P1293, ["NQP"], "Grammar"
+ $P1293."O"(":prec<t=>, :assoc<left>", "%additive")
.annotate "line", 429
- get_hll_global $P1290, ["NQP"], "Grammar"
- $P1290."O"(":prec<m=>, :assoc<left>", "%relational")
+ get_hll_global $P1294, ["NQP"], "Grammar"
+ $P1294."O"(":prec<r=>, :assoc<left>", "%concatenation")
.annotate "line", 430
- get_hll_global $P1291, ["NQP"], "Grammar"
- $P1291."O"(":prec<l=>, :assoc<left>", "%tight_and")
+ get_hll_global $P1295, ["NQP"], "Grammar"
+ $P1295."O"(":prec<m=>, :assoc<left>", "%relational")
.annotate "line", 431
- get_hll_global $P1292, ["NQP"], "Grammar"
- $P1292."O"(":prec<k=>, :assoc<left>", "%tight_or")
+ get_hll_global $P1296, ["NQP"], "Grammar"
+ $P1296."O"(":prec<l=>, :assoc<left>", "%tight_and")
.annotate "line", 432
- get_hll_global $P1293, ["NQP"], "Grammar"
- $P1293."O"(":prec<j=>, :assoc<right>", "%conditional")
+ get_hll_global $P1297, ["NQP"], "Grammar"
+ $P1297."O"(":prec<k=>, :assoc<left>", "%tight_or")
.annotate "line", 433
- get_hll_global $P1294, ["NQP"], "Grammar"
- $P1294."O"(":prec<i=>, :assoc<right>", "%assignment")
+ get_hll_global $P1298, ["NQP"], "Grammar"
+ $P1298."O"(":prec<j=>, :assoc<right>", "%conditional")
.annotate "line", 434
- get_hll_global $P1295, ["NQP"], "Grammar"
- $P1295."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+ get_hll_global $P1299, ["NQP"], "Grammar"
+ $P1299."O"(":prec<i=>, :assoc<right>", "%assignment")
.annotate "line", 435
- get_hll_global $P1296, ["NQP"], "Grammar"
- $P1296."O"(":prec<f=>, :assoc<list>", "%list_infix")
+ get_hll_global $P1300, ["NQP"], "Grammar"
+ $P1300."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
.annotate "line", 436
- get_hll_global $P1297, ["NQP"], "Grammar"
- $P1297."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate "line", 421
- $P1298 = get_root_global ["parrot"], "P6metaclass"
- $P1298."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+ get_hll_global $P1301, ["NQP"], "Grammar"
+ $P1301."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate "line", 437
+ get_hll_global $P1302, ["NQP"], "Grammar"
+ $P1302."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate "line", 422
+ $P1303 = get_root_global ["parrot"], "P6metaclass"
+ $P1303."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
-.sub "TOP" :subid("12_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "TOP" :subid("12_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
@@ -410,55 +412,55 @@
.lex "$*SCOPE", $P19
.annotate "line", 4
find_lex $P20, "%*LANG"
- unless_null $P20, vivify_333
+ unless_null $P20, vivify_335
get_hll_global $P20, "%LANG"
- unless_null $P20, vivify_334
+ unless_null $P20, vivify_336
die "Contextual %*LANG not found"
- vivify_334:
- vivify_333:
+ vivify_336:
+ vivify_335:
.annotate "line", 6
get_hll_global $P21, ["NQP"], "Regex"
find_lex $P22, "%*LANG"
- unless_null $P22, vivify_335
+ unless_null $P22, vivify_337
get_hll_global $P22, "%LANG"
- unless_null $P22, vivify_336
+ unless_null $P22, vivify_338
die "Contextual %*LANG not found"
- vivify_336:
+ vivify_338:
store_lex "%*LANG", $P22
- vivify_335:
+ vivify_337:
set $P22["Regex"], $P21
.annotate "line", 7
get_hll_global $P23, ["NQP"], "RegexActions"
find_lex $P24, "%*LANG"
- unless_null $P24, vivify_337
+ unless_null $P24, vivify_339
get_hll_global $P24, "%LANG"
- unless_null $P24, vivify_338
+ unless_null $P24, vivify_340
die "Contextual %*LANG not found"
- vivify_338:
+ vivify_340:
store_lex "%*LANG", $P24
- vivify_337:
+ vivify_339:
set $P24["Regex-actions"], $P23
.annotate "line", 8
get_hll_global $P25, ["NQP"], "Grammar"
find_lex $P26, "%*LANG"
- unless_null $P26, vivify_339
+ unless_null $P26, vivify_341
get_hll_global $P26, "%LANG"
- unless_null $P26, vivify_340
+ unless_null $P26, vivify_342
die "Contextual %*LANG not found"
- vivify_340:
+ vivify_342:
store_lex "%*LANG", $P26
- vivify_339:
+ vivify_341:
set $P26["MAIN"], $P25
.annotate "line", 9
get_hll_global $P27, ["NQP"], "Actions"
find_lex $P28, "%*LANG"
- unless_null $P28, vivify_341
+ unless_null $P28, vivify_343
get_hll_global $P28, "%LANG"
- unless_null $P28, vivify_342
+ unless_null $P28, vivify_344
die "Contextual %*LANG not found"
- vivify_342:
+ vivify_344:
store_lex "%*LANG", $P28
- vivify_341:
+ vivify_343:
set $P28["MAIN-actions"], $P27
.annotate "line", 10
new $P29, "String"
@@ -478,7 +480,7 @@
.namespace ["NQP";"Grammar"]
-.sub "identifier" :subid("13_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "identifier" :subid("13_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx34_tgt
.local int rx34_pos
@@ -536,7 +538,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier" :subid("14_1271336396.90314") :method
+.sub "!PREFIX__identifier" :subid("14_1271948667.92136") :method
.annotate "line", 4
$P36 = self."!PREFIX__!subrule"("ident", "")
new $P37, "ResizablePMCArray"
@@ -546,7 +548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "name" :subid("15_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "name" :subid("15_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx40_tgt
.local int rx40_pos
@@ -620,7 +622,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name" :subid("16_1271336396.90314") :method
+.sub "!PREFIX__name" :subid("16_1271948667.92136") :method
.annotate "line", 4
new $P42, "ResizablePMCArray"
push $P42, ""
@@ -629,7 +631,7 @@
.namespace ["NQP";"Grammar"]
-.sub "deflongname" :subid("17_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "deflongname" :subid("17_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx47_tgt
.local int rx47_pos
@@ -702,7 +704,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname" :subid("18_1271336396.90314") :method
+.sub "!PREFIX__deflongname" :subid("18_1271948667.92136") :method
.annotate "line", 4
$P49 = self."!PREFIX__!subrule"("identifier", "")
new $P50, "ResizablePMCArray"
@@ -712,7 +714,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ENDSTMT" :subid("19_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "ENDSTMT" :subid("19_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx55_tgt
.local int rx55_pos
@@ -844,7 +846,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT" :subid("20_1271336396.90314") :method
+.sub "!PREFIX__ENDSTMT" :subid("20_1271948667.92136") :method
.annotate "line", 4
new $P57, "ResizablePMCArray"
push $P57, ""
@@ -853,7 +855,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ws" :subid("21_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "ws" :subid("21_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx69_tgt
.local int rx69_pos
@@ -979,7 +981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws" :subid("22_1271336396.90314") :method
+.sub "!PREFIX__ws" :subid("22_1271948667.92136") :method
.annotate "line", 4
new $P71, "ResizablePMCArray"
push $P71, ""
@@ -989,9 +991,9 @@
.namespace ["NQP";"Grammar"]
-.sub "unv" :subid("23_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "unv" :subid("23_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
- .const 'Sub' $P86 = "25_1271336396.90314"
+ .const 'Sub' $P86 = "25_1271948667.92136"
capture_lex $P86
.local string rx79_tgt
.local int rx79_pos
@@ -1037,7 +1039,7 @@
rxanchor84_done:
# rx subrule "before" subtype=zerowidth negate=
rx79_cur."!cursor_pos"(rx79_pos)
- .const 'Sub' $P86 = "25_1271336396.90314"
+ .const 'Sub' $P86 = "25_1271948667.92136"
capture_lex $P86
$P10 = rx79_cur."before"($P86)
unless $P10, rx79_fail
@@ -1116,7 +1118,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv" :subid("24_1271336396.90314") :method
+.sub "!PREFIX__unv" :subid("24_1271948667.92136") :method
.annotate "line", 4
new $P81, "ResizablePMCArray"
push $P81, ""
@@ -1127,7 +1129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block85" :anon :subid("25_1271336396.90314") :method :outer("23_1271336396.90314")
+.sub "_block85" :anon :subid("25_1271948667.92136") :method :outer("23_1271948667.92136")
.annotate "line", 44
.local string rx87_tgt
.local int rx87_pos
@@ -1217,9 +1219,9 @@
.namespace ["NQP";"Grammar"]
-.sub "pod_comment" :subid("26_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "pod_comment" :subid("26_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
- .const 'Sub' $P133 = "28_1271336396.90314"
+ .const 'Sub' $P133 = "28_1271948667.92136"
capture_lex $P133
.local string rx97_tgt
.local int rx97_pos
@@ -1675,7 +1677,7 @@
rxanchor131_done:
# rx subrule "before" subtype=zerowidth negate=
rx97_cur."!cursor_pos"(rx97_pos)
- .const 'Sub' $P133 = "28_1271336396.90314"
+ .const 'Sub' $P133 = "28_1271948667.92136"
capture_lex $P133
$P10 = rx97_cur."before"($P133)
unless $P10, rx97_fail
@@ -1726,7 +1728,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment" :subid("27_1271336396.90314") :method
+.sub "!PREFIX__pod_comment" :subid("27_1271948667.92136") :method
.annotate "line", 4
new $P99, "ResizablePMCArray"
push $P99, ""
@@ -1735,7 +1737,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block132" :anon :subid("28_1271336396.90314") :method :outer("26_1271336396.90314")
+.sub "_block132" :anon :subid("28_1271948667.92136") :method :outer("26_1271948667.92136")
.annotate "line", 67
.local string rx134_tgt
.local int rx134_pos
@@ -1854,7 +1856,7 @@
.namespace ["NQP";"Grammar"]
-.sub "comp_unit" :subid("29_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "comp_unit" :subid("29_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx143_tgt
.local int rx143_pos
@@ -1933,7 +1935,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit" :subid("30_1271336396.90314") :method
+.sub "!PREFIX__comp_unit" :subid("30_1271948667.92136") :method
.annotate "line", 4
$P145 = self."!PREFIX__!subrule"("", "")
new $P146, "ResizablePMCArray"
@@ -1943,7 +1945,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statementlist" :subid("31_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statementlist" :subid("31_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx150_tgt
.local int rx150_pos
@@ -2051,7 +2053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist" :subid("32_1271336396.90314") :method
+.sub "!PREFIX__statementlist" :subid("32_1271948667.92136") :method
.annotate "line", 4
new $P152, "ResizablePMCArray"
push $P152, ""
@@ -2061,9 +2063,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement" :subid("33_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement" :subid("33_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
- .const 'Sub' $P168 = "35_1271336396.90314"
+ .const 'Sub' $P168 = "35_1271948667.92136"
capture_lex $P168
.local string rx163_tgt
.local int rx163_pos
@@ -2073,7 +2075,7 @@
.local pmc rx163_cur
(rx163_cur, rx163_pos, rx163_tgt) = self."!cursor_start"()
rx163_cur."!cursor_debug"("START ", "statement")
- rx163_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+ rx163_cur."!cursor_caparray"("statement_mod_cond", "statement_mod_loop")
.lex unicode:"$\x{a2}", rx163_cur
.local pmc match
.lex "$/", match
@@ -2098,7 +2100,7 @@
.annotate "line", 93
# rx subrule "before" subtype=zerowidth negate=1
rx163_cur."!cursor_pos"(rx163_pos)
- .const 'Sub' $P168 = "35_1271336396.90314"
+ .const 'Sub' $P168 = "35_1271948667.92136"
capture_lex $P168
$P10 = rx163_cur."before"($P168)
if $P10, rx163_fail
@@ -2203,7 +2205,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement" :subid("34_1271336396.90314") :method
+.sub "!PREFIX__statement" :subid("34_1271948667.92136") :method
.annotate "line", 4
new $P165, "ResizablePMCArray"
push $P165, ""
@@ -2212,7 +2214,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block167" :anon :subid("35_1271336396.90314") :method :outer("33_1271336396.90314")
+.sub "_block167" :anon :subid("35_1271948667.92136") :method :outer("33_1271948667.92136")
.annotate "line", 93
.local string rx169_tgt
.local int rx169_pos
@@ -2276,7 +2278,7 @@
.namespace ["NQP";"Grammar"]
-.sub "eat_terminator" :subid("36_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "eat_terminator" :subid("36_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx179_tgt
.local int rx179_pos
@@ -2363,7 +2365,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator" :subid("37_1271336396.90314") :method
+.sub "!PREFIX__eat_terminator" :subid("37_1271948667.92136") :method
.annotate "line", 4
new $P181, "ResizablePMCArray"
push $P181, ""
@@ -2375,7 +2377,7 @@
.namespace ["NQP";"Grammar"]
-.sub "xblock" :subid("38_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "xblock" :subid("38_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx185_tgt
.local int rx185_pos
@@ -2446,7 +2448,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock" :subid("39_1271336396.90314") :method
+.sub "!PREFIX__xblock" :subid("39_1271948667.92136") :method
.annotate "line", 4
$P187 = self."!PREFIX__!subrule"("EXPR", "")
new $P188, "ResizablePMCArray"
@@ -2456,7 +2458,7 @@
.namespace ["NQP";"Grammar"]
-.sub "pblock" :subid("40_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "pblock" :subid("40_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx191_tgt
.local int rx191_pos
@@ -2575,7 +2577,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock" :subid("41_1271336396.90314") :method
+.sub "!PREFIX__pblock" :subid("41_1271948667.92136") :method
.annotate "line", 4
$P193 = self."!PREFIX__!subrule"("", "")
$P194 = self."!PREFIX__!subrule"("", "")
@@ -2588,7 +2590,7 @@
.namespace ["NQP";"Grammar"]
-.sub "lambda" :subid("42_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "lambda" :subid("42_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx199_tgt
.local int rx199_pos
@@ -2659,7 +2661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda" :subid("43_1271336396.90314") :method
+.sub "!PREFIX__lambda" :subid("43_1271948667.92136") :method
.annotate "line", 4
new $P201, "ResizablePMCArray"
push $P201, "<->"
@@ -2669,7 +2671,7 @@
.namespace ["NQP";"Grammar"]
-.sub "block" :subid("44_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "block" :subid("44_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx205_tgt
.local int rx205_pos
@@ -2752,7 +2754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block" :subid("45_1271336396.90314") :method
+.sub "!PREFIX__block" :subid("45_1271948667.92136") :method
.annotate "line", 4
$P207 = self."!PREFIX__!subrule"("", "")
new $P208, "ResizablePMCArray"
@@ -2763,7 +2765,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blockoid" :subid("46_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "blockoid" :subid("46_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx212_tgt
.local int rx212_pos
@@ -2858,7 +2860,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid" :subid("47_1271336396.90314") :method
+.sub "!PREFIX__blockoid" :subid("47_1271948667.92136") :method
.annotate "line", 4
$P214 = self."!PREFIX__!subrule"("", "")
new $P215, "ResizablePMCArray"
@@ -2868,7 +2870,7 @@
.namespace ["NQP";"Grammar"]
-.sub "newpad" :subid("48_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "newpad" :subid("48_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx220_tgt
.local int rx220_pos
@@ -2919,7 +2921,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad" :subid("49_1271336396.90314") :method
+.sub "!PREFIX__newpad" :subid("49_1271948667.92136") :method
.annotate "line", 4
new $P222, "ResizablePMCArray"
push $P222, ""
@@ -2928,7 +2930,7 @@
.namespace ["NQP";"Grammar"]
-.sub "finishpad" :subid("50_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "finishpad" :subid("50_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx225_tgt
.local int rx225_pos
@@ -2979,7 +2981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad" :subid("51_1271336396.90314") :method
+.sub "!PREFIX__finishpad" :subid("51_1271948667.92136") :method
.annotate "line", 4
new $P227, "ResizablePMCArray"
push $P227, ""
@@ -2988,7 +2990,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator" :subid("52_1271336396.90314") :method
+.sub "terminator" :subid("52_1271948667.92136") :method
.annotate "line", 144
$P230 = self."!protoregex"("terminator")
.return ($P230)
@@ -2996,7 +2998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator" :subid("53_1271336396.90314") :method
+.sub "!PREFIX__terminator" :subid("53_1271948667.92136") :method
.annotate "line", 144
$P232 = self."!PREFIX__!protoregex"("terminator")
.return ($P232)
@@ -3004,7 +3006,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>" :subid("54_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "terminator:sym<;>" :subid("54_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx234_tgt
.local int rx234_pos
@@ -3061,7 +3063,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>" :subid("55_1271336396.90314") :method
+.sub "!PREFIX__terminator:sym<;>" :subid("55_1271948667.92136") :method
.annotate "line", 4
new $P236, "ResizablePMCArray"
push $P236, ";"
@@ -3070,7 +3072,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>" :subid("56_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "terminator:sym<}>" :subid("56_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx239_tgt
.local int rx239_pos
@@ -3127,7 +3129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>" :subid("57_1271336396.90314") :method
+.sub "!PREFIX__terminator:sym<}>" :subid("57_1271948667.92136") :method
.annotate "line", 4
new $P241, "ResizablePMCArray"
push $P241, "}"
@@ -3136,7 +3138,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control" :subid("58_1271336396.90314") :method
+.sub "statement_control" :subid("58_1271948667.92136") :method
.annotate "line", 151
$P244 = self."!protoregex"("statement_control")
.return ($P244)
@@ -3144,7 +3146,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control" :subid("59_1271336396.90314") :method
+.sub "!PREFIX__statement_control" :subid("59_1271948667.92136") :method
.annotate "line", 151
$P246 = self."!PREFIX__!protoregex"("statement_control")
.return ($P246)
@@ -3152,7 +3154,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>" :subid("60_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<if>" :subid("60_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx248_tgt
.local int rx248_pos
@@ -3346,7 +3348,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>" :subid("61_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<if>" :subid("61_1271948667.92136") :method
.annotate "line", 4
new $P250, "ResizablePMCArray"
push $P250, "if"
@@ -3355,9 +3357,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>" :subid("62_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<unless>" :subid("62_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
- .const 'Sub' $P278 = "64_1271336396.90314"
+ .const 'Sub' $P278 = "64_1271948667.92136"
capture_lex $P278
.local string rx268_tgt
.local int rx268_pos
@@ -3445,7 +3447,7 @@
rx268_pos = $P10."pos"()
# rx subrule "before" subtype=zerowidth negate=1
rx268_cur."!cursor_pos"(rx268_pos)
- .const 'Sub' $P278 = "64_1271336396.90314"
+ .const 'Sub' $P278 = "64_1271948667.92136"
capture_lex $P278
$P10 = rx268_cur."before"($P278)
if $P10, rx268_fail
@@ -3497,7 +3499,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1271948667.92136") :method
.annotate "line", 4
new $P270, "ResizablePMCArray"
push $P270, "unless"
@@ -3506,7 +3508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block277" :anon :subid("64_1271336396.90314") :method :outer("62_1271336396.90314")
+.sub "_block277" :anon :subid("64_1271948667.92136") :method :outer("62_1271948667.92136")
.annotate "line", 163
.local string rx279_tgt
.local int rx279_pos
@@ -3562,7 +3564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>" :subid("65_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<while>" :subid("65_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx286_tgt
.local int rx286_pos
@@ -3672,7 +3674,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>" :subid("66_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<while>" :subid("66_1271948667.92136") :method
.annotate "line", 4
new $P288, "ResizablePMCArray"
push $P288, "until"
@@ -3682,7 +3684,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>" :subid("67_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<repeat>" :subid("67_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx295_tgt
.local int rx295_pos
@@ -3917,7 +3919,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1271948667.92136") :method
.annotate "line", 4
new $P297, "ResizablePMCArray"
push $P297, "repeat"
@@ -3926,7 +3928,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>" :subid("69_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<for>" :subid("69_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx315_tgt
.local int rx315_pos
@@ -4023,7 +4025,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>" :subid("70_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<for>" :subid("70_1271948667.92136") :method
.annotate "line", 4
new $P317, "ResizablePMCArray"
push $P317, "for"
@@ -4032,7 +4034,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>" :subid("71_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<CATCH>" :subid("71_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx323_tgt
.local int rx323_pos
@@ -4129,7 +4131,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1271948667.92136") :method
.annotate "line", 4
new $P325, "ResizablePMCArray"
push $P325, "CATCH"
@@ -4138,7 +4140,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>" :subid("73_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_control:sym<CONTROL>" :subid("73_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx331_tgt
.local int rx331_pos
@@ -4235,7 +4237,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1271336396.90314") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1271948667.92136") :method
.annotate "line", 4
new $P333, "ResizablePMCArray"
push $P333, "CONTROL"
@@ -4244,7 +4246,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix" :subid("75_1271336396.90314") :method
+.sub "statement_prefix" :subid("75_1271948667.92136") :method
.annotate "line", 194
$P339 = self."!protoregex"("statement_prefix")
.return ($P339)
@@ -4252,7 +4254,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix" :subid("76_1271336396.90314") :method
+.sub "!PREFIX__statement_prefix" :subid("76_1271948667.92136") :method
.annotate "line", 194
$P341 = self."!PREFIX__!protoregex"("statement_prefix")
.return ($P341)
@@ -4260,7 +4262,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>" :subid("77_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_prefix:sym<INIT>" :subid("77_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx343_tgt
.local int rx343_pos
@@ -4339,7 +4341,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1271336396.90314") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1271948667.92136") :method
.annotate "line", 4
$P345 = self."!PREFIX__!subrule"("blorst", "INIT")
new $P346, "ResizablePMCArray"
@@ -4349,7 +4351,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>" :subid("79_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_prefix:sym<try>" :subid("79_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx350_tgt
.local int rx350_pos
@@ -4430,7 +4432,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1271336396.90314") :method
+.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1271948667.92136") :method
.annotate "line", 4
$P352 = self."!PREFIX__!subrule"("blorst", "try")
new $P353, "ResizablePMCArray"
@@ -4440,7 +4442,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blorst" :subid("81_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "blorst" :subid("81_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx357_tgt
.local int rx357_pos
@@ -4529,7 +4531,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst" :subid("82_1271336396.90314") :method
+.sub "!PREFIX__blorst" :subid("82_1271948667.92136") :method
.annotate "line", 4
new $P359, "ResizablePMCArray"
push $P359, ""
@@ -4538,7 +4540,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond" :subid("83_1271336396.90314") :method
+.sub "statement_mod_cond" :subid("83_1271948667.92136") :method
.annotate "line", 208
$P363 = self."!protoregex"("statement_mod_cond")
.return ($P363)
@@ -4546,7 +4548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond" :subid("84_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_cond" :subid("84_1271948667.92136") :method
.annotate "line", 208
$P365 = self."!PREFIX__!protoregex"("statement_mod_cond")
.return ($P365)
@@ -4554,7 +4556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>" :subid("85_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_mod_cond:sym<if>" :subid("85_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx367_tgt
.local int rx367_pos
@@ -4643,7 +4645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1271948667.92136") :method
.annotate "line", 4
new $P369, "ResizablePMCArray"
push $P369, "if"
@@ -4652,7 +4654,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>" :subid("87_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_mod_cond:sym<unless>" :subid("87_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx375_tgt
.local int rx375_pos
@@ -4741,7 +4743,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1271948667.92136") :method
.annotate "line", 4
new $P377, "ResizablePMCArray"
push $P377, "unless"
@@ -4750,7 +4752,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop" :subid("89_1271336396.90314") :method
+.sub "statement_mod_loop" :subid("89_1271948667.92136") :method
.annotate "line", 213
$P383 = self."!protoregex"("statement_mod_loop")
.return ($P383)
@@ -4758,7 +4760,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop" :subid("90_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_loop" :subid("90_1271948667.92136") :method
.annotate "line", 213
$P385 = self."!PREFIX__!protoregex"("statement_mod_loop")
.return ($P385)
@@ -4766,7 +4768,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>" :subid("91_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_mod_loop:sym<while>" :subid("91_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx387_tgt
.local int rx387_pos
@@ -4855,7 +4857,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1271948667.92136") :method
.annotate "line", 4
new $P389, "ResizablePMCArray"
push $P389, "while"
@@ -4864,7 +4866,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>" :subid("93_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "statement_mod_loop:sym<until>" :subid("93_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx395_tgt
.local int rx395_pos
@@ -4953,7 +4955,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1271336396.90314") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1271948667.92136") :method
.annotate "line", 4
new $P397, "ResizablePMCArray"
push $P397, "until"
@@ -4962,7 +4964,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>" :subid("95_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<fatarrow>" :subid("95_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx403_tgt
.local int rx403_pos
@@ -5020,7 +5022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1271336396.90314") :method
+.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1271948667.92136") :method
.annotate "line", 4
$P405 = self."!PREFIX__!subrule"("fatarrow", "")
new $P406, "ResizablePMCArray"
@@ -5030,7 +5032,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>" :subid("97_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<colonpair>" :subid("97_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx409_tgt
.local int rx409_pos
@@ -5088,7 +5090,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>" :subid("98_1271336396.90314") :method
+.sub "!PREFIX__term:sym<colonpair>" :subid("98_1271948667.92136") :method
.annotate "line", 4
$P411 = self."!PREFIX__!subrule"("colonpair", "")
new $P412, "ResizablePMCArray"
@@ -5098,7 +5100,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>" :subid("99_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<variable>" :subid("99_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx415_tgt
.local int rx415_pos
@@ -5156,7 +5158,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>" :subid("100_1271336396.90314") :method
+.sub "!PREFIX__term:sym<variable>" :subid("100_1271948667.92136") :method
.annotate "line", 4
$P417 = self."!PREFIX__!subrule"("variable", "")
new $P418, "ResizablePMCArray"
@@ -5166,7 +5168,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>" :subid("101_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<package_declarator>" :subid("101_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx421_tgt
.local int rx421_pos
@@ -5224,7 +5226,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1271336396.90314") :method
+.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1271948667.92136") :method
.annotate "line", 4
$P423 = self."!PREFIX__!subrule"("package_declarator", "")
new $P424, "ResizablePMCArray"
@@ -5234,7 +5236,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>" :subid("103_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<scope_declarator>" :subid("103_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx427_tgt
.local int rx427_pos
@@ -5292,7 +5294,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1271336396.90314") :method
+.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1271948667.92136") :method
.annotate "line", 4
$P429 = self."!PREFIX__!subrule"("scope_declarator", "")
new $P430, "ResizablePMCArray"
@@ -5302,7 +5304,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>" :subid("105_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<routine_declarator>" :subid("105_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx433_tgt
.local int rx433_pos
@@ -5360,7 +5362,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1271336396.90314") :method
+.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1271948667.92136") :method
.annotate "line", 4
$P435 = self."!PREFIX__!subrule"("routine_declarator", "")
new $P436, "ResizablePMCArray"
@@ -5370,7 +5372,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>" :subid("107_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<regex_declarator>" :subid("107_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx439_tgt
.local int rx439_pos
@@ -5428,7 +5430,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1271336396.90314") :method
+.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1271948667.92136") :method
.annotate "line", 4
$P441 = self."!PREFIX__!subrule"("regex_declarator", "")
new $P442, "ResizablePMCArray"
@@ -5438,7 +5440,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>" :subid("109_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<statement_prefix>" :subid("109_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx445_tgt
.local int rx445_pos
@@ -5496,7 +5498,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1271336396.90314") :method
+.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1271948667.92136") :method
.annotate "line", 4
$P447 = self."!PREFIX__!subrule"("statement_prefix", "")
new $P448, "ResizablePMCArray"
@@ -5506,7 +5508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>" :subid("111_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<lambda>" :subid("111_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx451_tgt
.local int rx451_pos
@@ -5568,7 +5570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>" :subid("112_1271336396.90314") :method
+.sub "!PREFIX__term:sym<lambda>" :subid("112_1271948667.92136") :method
.annotate "line", 4
new $P453, "ResizablePMCArray"
push $P453, ""
@@ -5577,7 +5579,7 @@
.namespace ["NQP";"Grammar"]
-.sub "fatarrow" :subid("113_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "fatarrow" :subid("113_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx456_tgt
.local int rx456_pos
@@ -5670,7 +5672,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow" :subid("114_1271336396.90314") :method
+.sub "!PREFIX__fatarrow" :subid("114_1271948667.92136") :method
.annotate "line", 4
$P458 = self."!PREFIX__!subrule"("key", "")
new $P459, "ResizablePMCArray"
@@ -5680,7 +5682,7 @@
.namespace ["NQP";"Grammar"]
-.sub "colonpair" :subid("115_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "colonpair" :subid("115_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx464_tgt
.local int rx464_pos
@@ -5809,7 +5811,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair" :subid("116_1271336396.90314") :method
+.sub "!PREFIX__colonpair" :subid("116_1271948667.92136") :method
.annotate "line", 4
$P466 = self."!PREFIX__!subrule"("circumfix", ":")
$P467 = self."!PREFIX__!subrule"("identifier", ":")
@@ -5823,7 +5825,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable" :subid("117_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "variable" :subid("117_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx476_tgt
.local int rx476_pos
@@ -5978,7 +5980,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable" :subid("118_1271336396.90314") :method
+.sub "!PREFIX__variable" :subid("118_1271948667.92136") :method
.annotate "line", 4
$P478 = self."!PREFIX__!subrule"("sigil", "")
$P479 = self."!PREFIX__!subrule"("sigil", "")
@@ -5993,7 +5995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "sigil" :subid("119_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "sigil" :subid("119_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx488_tgt
.local int rx488_pos
@@ -6051,7 +6053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil" :subid("120_1271336396.90314") :method
+.sub "!PREFIX__sigil" :subid("120_1271948667.92136") :method
.annotate "line", 4
new $P490, "ResizablePMCArray"
push $P490, "&"
@@ -6063,7 +6065,7 @@
.namespace ["NQP";"Grammar"]
-.sub "twigil" :subid("121_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "twigil" :subid("121_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx493_tgt
.local int rx493_pos
@@ -6121,7 +6123,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil" :subid("122_1271336396.90314") :method
+.sub "!PREFIX__twigil" :subid("122_1271948667.92136") :method
.annotate "line", 4
new $P495, "ResizablePMCArray"
push $P495, "?"
@@ -6132,7 +6134,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator" :subid("123_1271336396.90314") :method
+.sub "package_declarator" :subid("123_1271948667.92136") :method
.annotate "line", 253
$P498 = self."!protoregex"("package_declarator")
.return ($P498)
@@ -6140,7 +6142,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator" :subid("124_1271336396.90314") :method
+.sub "!PREFIX__package_declarator" :subid("124_1271948667.92136") :method
.annotate "line", 253
$P500 = self."!PREFIX__!protoregex"("package_declarator")
.return ($P500)
@@ -6148,7 +6150,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>" :subid("125_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "package_declarator:sym<module>" :subid("125_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx502_tgt
.local int rx502_pos
@@ -6227,7 +6229,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1271336396.90314") :method
+.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1271948667.92136") :method
.annotate "line", 4
$P504 = self."!PREFIX__!subrule"("package_def", "module")
new $P505, "ResizablePMCArray"
@@ -6237,7 +6239,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>" :subid("127_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "package_declarator:sym<class>" :subid("127_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx509_tgt
.local int rx509_pos
@@ -6329,7 +6331,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1271336396.90314") :method
+.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1271948667.92136") :method
.annotate "line", 4
$P511 = self."!PREFIX__!subrule"("package_def", "grammar")
$P512 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6341,7 +6343,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_def" :subid("129_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "package_def" :subid("129_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx518_tgt
.local int rx518_pos
@@ -6545,7 +6547,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def" :subid("130_1271336396.90314") :method
+.sub "!PREFIX__package_def" :subid("130_1271948667.92136") :method
.annotate "line", 4
new $P520, "ResizablePMCArray"
push $P520, ""
@@ -6554,7 +6556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator" :subid("131_1271336396.90314") :method
+.sub "scope_declarator" :subid("131_1271948667.92136") :method
.annotate "line", 267
$P541 = self."!protoregex"("scope_declarator")
.return ($P541)
@@ -6562,7 +6564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator" :subid("132_1271336396.90314") :method
+.sub "!PREFIX__scope_declarator" :subid("132_1271948667.92136") :method
.annotate "line", 267
$P543 = self."!PREFIX__!protoregex"("scope_declarator")
.return ($P543)
@@ -6570,7 +6572,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>" :subid("133_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "scope_declarator:sym<my>" :subid("133_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx545_tgt
.local int rx545_pos
@@ -6649,7 +6651,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1271336396.90314") :method
+.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1271948667.92136") :method
.annotate "line", 4
$P547 = self."!PREFIX__!subrule"("scoped", "my")
new $P548, "ResizablePMCArray"
@@ -6659,7 +6661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>" :subid("135_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "scope_declarator:sym<our>" :subid("135_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx552_tgt
.local int rx552_pos
@@ -6738,7 +6740,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1271336396.90314") :method
+.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1271948667.92136") :method
.annotate "line", 4
$P554 = self."!PREFIX__!subrule"("scoped", "our")
new $P555, "ResizablePMCArray"
@@ -6748,7 +6750,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>" :subid("137_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "scope_declarator:sym<has>" :subid("137_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx559_tgt
.local int rx559_pos
@@ -6827,7 +6829,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1271336396.90314") :method
+.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1271948667.92136") :method
.annotate "line", 4
$P561 = self."!PREFIX__!subrule"("scoped", "has")
new $P562, "ResizablePMCArray"
@@ -6837,7 +6839,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scoped" :subid("139_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "scoped" :subid("139_1271948667.92136") :method :outer("11_1271948667.92136")
.param pmc param_566
.annotate "line", 272
.lex "$*SCOPE", param_566
@@ -6934,7 +6936,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped" :subid("140_1271336396.90314") :method
+.sub "!PREFIX__scoped" :subid("140_1271948667.92136") :method
.annotate "line", 4
new $P569, "ResizablePMCArray"
push $P569, ""
@@ -6944,7 +6946,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable_declarator" :subid("141_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "variable_declarator" :subid("141_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx577_tgt
.local int rx577_pos
@@ -7002,7 +7004,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator" :subid("142_1271336396.90314") :method
+.sub "!PREFIX__variable_declarator" :subid("142_1271948667.92136") :method
.annotate "line", 4
$P579 = self."!PREFIX__!subrule"("variable", "")
new $P580, "ResizablePMCArray"
@@ -7012,7 +7014,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator" :subid("143_1271336396.90314") :method
+.sub "routine_declarator" :subid("143_1271948667.92136") :method
.annotate "line", 279
$P583 = self."!protoregex"("routine_declarator")
.return ($P583)
@@ -7020,7 +7022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator" :subid("144_1271336396.90314") :method
+.sub "!PREFIX__routine_declarator" :subid("144_1271948667.92136") :method
.annotate "line", 279
$P585 = self."!PREFIX__!protoregex"("routine_declarator")
.return ($P585)
@@ -7028,7 +7030,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>" :subid("145_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "routine_declarator:sym<sub>" :subid("145_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx587_tgt
.local int rx587_pos
@@ -7107,7 +7109,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1271336396.90314") :method
+.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1271948667.92136") :method
.annotate "line", 4
$P589 = self."!PREFIX__!subrule"("routine_def", "sub")
new $P590, "ResizablePMCArray"
@@ -7117,7 +7119,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>" :subid("147_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "routine_declarator:sym<method>" :subid("147_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx594_tgt
.local int rx594_pos
@@ -7196,7 +7198,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1271336396.90314") :method
+.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1271948667.92136") :method
.annotate "line", 4
$P596 = self."!PREFIX__!subrule"("method_def", "method")
new $P597, "ResizablePMCArray"
@@ -7206,7 +7208,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_def" :subid("149_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "routine_def" :subid("149_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx601_tgt
.local int rx601_pos
@@ -7216,7 +7218,7 @@
.local pmc rx601_cur
(rx601_cur, rx601_pos, rx601_tgt) = self."!cursor_start"()
rx601_cur."!cursor_debug"("START ", "routine_def")
- rx601_cur."!cursor_caparray"("sigil", "deflongname")
+ rx601_cur."!cursor_caparray"("deflongname", "sigil")
.lex unicode:"$\x{a2}", rx601_cur
.local pmc match
.lex "$/", match
@@ -7413,7 +7415,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def" :subid("150_1271336396.90314") :method
+.sub "!PREFIX__routine_def" :subid("150_1271948667.92136") :method
.annotate "line", 4
new $P603, "ResizablePMCArray"
push $P603, ""
@@ -7422,7 +7424,7 @@
.namespace ["NQP";"Grammar"]
-.sub "method_def" :subid("151_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "method_def" :subid("151_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx625_tgt
.local int rx625_pos
@@ -7592,7 +7594,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def" :subid("152_1271336396.90314") :method
+.sub "!PREFIX__method_def" :subid("152_1271948667.92136") :method
.annotate "line", 4
new $P627, "ResizablePMCArray"
push $P627, ""
@@ -7601,7 +7603,7 @@
.namespace ["NQP";"Grammar"]
-.sub "signature" :subid("153_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "signature" :subid("153_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx644_tgt
.local int rx644_pos
@@ -7691,7 +7693,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature" :subid("154_1271336396.90314") :method
+.sub "!PREFIX__signature" :subid("154_1271948667.92136") :method
.annotate "line", 4
new $P646, "ResizablePMCArray"
push $P646, ""
@@ -7700,7 +7702,7 @@
.namespace ["NQP";"Grammar"]
-.sub "parameter" :subid("155_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "parameter" :subid("155_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx653_tgt
.local int rx653_pos
@@ -7861,7 +7863,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter" :subid("156_1271336396.90314") :method
+.sub "!PREFIX__parameter" :subid("156_1271948667.92136") :method
.annotate "line", 4
$P655 = self."!PREFIX__!subrule"("named_param", "")
$P656 = self."!PREFIX__!subrule"("param_var", "")
@@ -7875,7 +7877,7 @@
.namespace ["NQP";"Grammar"]
-.sub "param_var" :subid("157_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "param_var" :subid("157_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx668_tgt
.local int rx668_pos
@@ -7983,7 +7985,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var" :subid("158_1271336396.90314") :method
+.sub "!PREFIX__param_var" :subid("158_1271948667.92136") :method
.annotate "line", 4
$P670 = self."!PREFIX__!subrule"("sigil", "")
new $P671, "ResizablePMCArray"
@@ -7993,7 +7995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "named_param" :subid("159_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "named_param" :subid("159_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx678_tgt
.local int rx678_pos
@@ -8059,7 +8061,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param" :subid("160_1271336396.90314") :method
+.sub "!PREFIX__named_param" :subid("160_1271948667.92136") :method
.annotate "line", 4
$P680 = self."!PREFIX__!subrule"("param_var", ":")
new $P681, "ResizablePMCArray"
@@ -8069,7 +8071,7 @@
.namespace ["NQP";"Grammar"]
-.sub "default_value" :subid("161_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "default_value" :subid("161_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx684_tgt
.local int rx684_pos
@@ -8149,7 +8151,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value" :subid("162_1271336396.90314") :method
+.sub "!PREFIX__default_value" :subid("162_1271948667.92136") :method
.annotate "line", 4
new $P686, "ResizablePMCArray"
push $P686, ""
@@ -8158,7 +8160,7 @@
.namespace ["NQP";"Grammar"]
-.sub "regex_declarator" :subid("163_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "regex_declarator" :subid("163_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx692_tgt
.local int rx692_pos
@@ -8559,7 +8561,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator" :subid("164_1271336396.90314") :method
+.sub "!PREFIX__regex_declarator" :subid("164_1271948667.92136") :method
.annotate "line", 4
new $P694, "ResizablePMCArray"
push $P694, ""
@@ -8568,7 +8570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "dotty" :subid("165_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "dotty" :subid("165_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx729_tgt
.local int rx729_pos
@@ -8724,7 +8726,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty" :subid("166_1271336396.90314") :method
+.sub "!PREFIX__dotty" :subid("166_1271948667.92136") :method
.annotate "line", 4
$P731 = self."!PREFIX__!subrule"("longname=identifier", ".")
new $P732, "ResizablePMCArray"
@@ -8736,7 +8738,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term" :subid("167_1271336396.90314") :method
+.sub "term" :subid("167_1271948667.92136") :method
.annotate "line", 351
$P740 = self."!protoregex"("term")
.return ($P740)
@@ -8744,7 +8746,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term" :subid("168_1271336396.90314") :method
+.sub "!PREFIX__term" :subid("168_1271948667.92136") :method
.annotate "line", 351
$P742 = self."!PREFIX__!protoregex"("term")
.return ($P742)
@@ -8752,7 +8754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>" :subid("169_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<self>" :subid("169_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx744_tgt
.local int rx744_pos
@@ -8832,7 +8834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>" :subid("170_1271336396.90314") :method
+.sub "!PREFIX__term:sym<self>" :subid("170_1271948667.92136") :method
.annotate "line", 4
new $P746, "ResizablePMCArray"
push $P746, "self"
@@ -8841,7 +8843,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>" :subid("171_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<identifier>" :subid("171_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx750_tgt
.local int rx750_pos
@@ -8913,7 +8915,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>" :subid("172_1271336396.90314") :method
+.sub "!PREFIX__term:sym<identifier>" :subid("172_1271948667.92136") :method
.annotate "line", 4
$P752 = self."!PREFIX__!subrule"("identifier", "")
new $P753, "ResizablePMCArray"
@@ -8923,7 +8925,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>" :subid("173_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<name>" :subid("173_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx756_tgt
.local int rx756_pos
@@ -8996,7 +8998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>" :subid("174_1271336396.90314") :method
+.sub "!PREFIX__term:sym<name>" :subid("174_1271948667.92136") :method
.annotate "line", 4
$P758 = self."!PREFIX__!subrule"("name", "")
new $P759, "ResizablePMCArray"
@@ -9006,7 +9008,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>" :subid("175_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<pir::op>" :subid("175_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx764_tgt
.local int rx764_pos
@@ -9099,7 +9101,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>" :subid("176_1271336396.90314") :method
+.sub "!PREFIX__term:sym<pir::op>" :subid("176_1271948667.92136") :method
.annotate "line", 4
new $P766, "ResizablePMCArray"
push $P766, "pir::"
@@ -9108,7 +9110,7 @@
.namespace ["NQP";"Grammar"]
-.sub "args" :subid("177_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "args" :subid("177_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx772_tgt
.local int rx772_pos
@@ -9180,7 +9182,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args" :subid("178_1271336396.90314") :method
+.sub "!PREFIX__args" :subid("178_1271948667.92136") :method
.annotate "line", 4
$P774 = self."!PREFIX__!subrule"("arglist", "(")
new $P775, "ResizablePMCArray"
@@ -9190,7 +9192,7 @@
.namespace ["NQP";"Grammar"]
-.sub "arglist" :subid("179_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "arglist" :subid("179_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx778_tgt
.local int rx778_pos
@@ -9262,7 +9264,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist" :subid("180_1271336396.90314") :method
+.sub "!PREFIX__arglist" :subid("180_1271948667.92136") :method
.annotate "line", 4
$P780 = self."!PREFIX__!subrule"("", "")
new $P781, "ResizablePMCArray"
@@ -9272,7 +9274,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<value>" :subid("181_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "term:sym<value>" :subid("181_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx785_tgt
.local int rx785_pos
@@ -9330,7 +9332,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>" :subid("182_1271336396.90314") :method
+.sub "!PREFIX__term:sym<value>" :subid("182_1271948667.92136") :method
.annotate "line", 4
$P787 = self."!PREFIX__!subrule"("value", "")
new $P788, "ResizablePMCArray"
@@ -9340,7 +9342,7 @@
.namespace ["NQP";"Grammar"]
-.sub "value" :subid("183_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "value" :subid("183_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx791_tgt
.local int rx791_pos
@@ -9414,7 +9416,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value" :subid("184_1271336396.90314") :method
+.sub "!PREFIX__value" :subid("184_1271948667.92136") :method
.annotate "line", 4
$P793 = self."!PREFIX__!subrule"("number", "")
$P794 = self."!PREFIX__!subrule"("quote", "")
@@ -9426,7 +9428,7 @@
.namespace ["NQP";"Grammar"]
-.sub "number" :subid("185_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "number" :subid("185_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx799_tgt
.local int rx799_pos
@@ -9526,7 +9528,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number" :subid("186_1271336396.90314") :method
+.sub "!PREFIX__number" :subid("186_1271948667.92136") :method
.annotate "line", 4
new $P801, "ResizablePMCArray"
push $P801, ""
@@ -9535,7 +9537,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote" :subid("187_1271336396.90314") :method
+.sub "quote" :subid("187_1271948667.92136") :method
.annotate "line", 392
$P808 = self."!protoregex"("quote")
.return ($P808)
@@ -9543,7 +9545,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote" :subid("188_1271336396.90314") :method
+.sub "!PREFIX__quote" :subid("188_1271948667.92136") :method
.annotate "line", 392
$P810 = self."!PREFIX__!protoregex"("quote")
.return ($P810)
@@ -9551,7 +9553,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>" :subid("189_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<apos>" :subid("189_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx812_tgt
.local int rx812_pos
@@ -9615,7 +9617,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>" :subid("190_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<apos>" :subid("190_1271948667.92136") :method
.annotate "line", 4
new $P814, "ResizablePMCArray"
push $P814, "'"
@@ -9624,7 +9626,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>" :subid("191_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<dblq>" :subid("191_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx817_tgt
.local int rx817_pos
@@ -9688,7 +9690,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>" :subid("192_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<dblq>" :subid("192_1271948667.92136") :method
.annotate "line", 4
new $P819, "ResizablePMCArray"
push $P819, "\""
@@ -9697,7 +9699,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>" :subid("193_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<q>" :subid("193_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx822_tgt
.local int rx822_pos
@@ -9773,7 +9775,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>" :subid("194_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<q>" :subid("194_1271948667.92136") :method
.annotate "line", 4
$P824 = self."!PREFIX__!subrule"("", "q")
new $P825, "ResizablePMCArray"
@@ -9783,7 +9785,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>" :subid("195_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<qq>" :subid("195_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx828_tgt
.local int rx828_pos
@@ -9859,7 +9861,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>" :subid("196_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<qq>" :subid("196_1271948667.92136") :method
.annotate "line", 4
$P830 = self."!PREFIX__!subrule"("", "qq")
new $P831, "ResizablePMCArray"
@@ -9869,7 +9871,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>" :subid("197_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<Q>" :subid("197_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx834_tgt
.local int rx834_pos
@@ -9945,7 +9947,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>" :subid("198_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<Q>" :subid("198_1271948667.92136") :method
.annotate "line", 4
$P836 = self."!PREFIX__!subrule"("", "Q")
new $P837, "ResizablePMCArray"
@@ -9955,7 +9957,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>" :subid("199_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym<Q:PIR>" :subid("199_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx840_tgt
.local int rx840_pos
@@ -10025,7 +10027,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1271336396.90314") :method
+.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1271948667.92136") :method
.annotate "line", 4
$P842 = self."!PREFIX__!subrule"("", "Q:PIR")
new $P843, "ResizablePMCArray"
@@ -10035,7 +10037,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />" :subid("201_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote:sym</ />" :subid("201_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx846_tgt
.local int rx846_pos
@@ -10120,7 +10122,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />" :subid("202_1271336396.90314") :method
+.sub "!PREFIX__quote:sym</ />" :subid("202_1271948667.92136") :method
.annotate "line", 4
$P848 = self."!PREFIX__!subrule"("", "/")
new $P849, "ResizablePMCArray"
@@ -10130,7 +10132,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>" :subid("203_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote_escape:sym<$>" :subid("203_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx852_tgt
.local int rx852_pos
@@ -10198,7 +10200,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1271336396.90314") :method
+.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1271948667.92136") :method
.annotate "line", 4
new $P854, "ResizablePMCArray"
push $P854, "$"
@@ -10207,7 +10209,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>" :subid("205_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote_escape:sym<{ }>" :subid("205_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx857_tgt
.local int rx857_pos
@@ -10275,7 +10277,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1271336396.90314") :method
+.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1271948667.92136") :method
.annotate "line", 4
new $P859, "ResizablePMCArray"
push $P859, "{"
@@ -10284,7 +10286,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>" :subid("207_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "quote_escape:sym<esc>" :subid("207_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx862_tgt
.local int rx862_pos
@@ -10293,8 +10295,7 @@
.local int rx862_rep
.local pmc rx862_cur
(rx862_cur, rx862_pos, rx862_tgt) = self."!cursor_start"()
- rx862_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
- rx862_cur."!cursor_caparray"("EXPR")
+ rx862_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
.lex unicode:"$\x{a2}", rx862_cur
.local pmc match
.lex "$/", match
@@ -10305,53 +10306,32 @@
substr rx862_tgt, rx862_tgt, rx862_off
rx862_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan866_done
- goto rxscan866_scan
- rxscan866_loop:
+ ne $I10, -1, rxscan865_done
+ goto rxscan865_scan
+ rxscan865_loop:
($P10) = rx862_cur."from"()
inc $P10
set rx862_pos, $P10
- ge rx862_pos, rx862_eos, rxscan866_done
- rxscan866_scan:
- set_addr $I10, rxscan866_loop
+ ge rx862_pos, rx862_eos, rxscan865_done
+ rxscan865_scan:
+ set_addr $I10, rxscan865_loop
rx862_cur."!mark_push"(0, rx862_pos, $I10)
- rxscan866_done:
-.annotate "line", 410
- # rx literal "("
- add $I11, rx862_pos, 1
+ rxscan865_done:
+.annotate "line", 409
+ # rx literal "\\e"
+ add $I11, rx862_pos, 2
gt $I11, rx862_eos, rx862_fail
sub $I11, rx862_pos, rx862_off
- substr $S10, rx862_tgt, $I11, 1
- ne $S10, "(", rx862_fail
- add rx862_pos, 1
- # rx subrule "ws" subtype=method negate=
- rx862_cur."!cursor_pos"(rx862_pos)
- $P10 = rx862_cur."ws"()
- unless $P10, rx862_fail
- rx862_pos = $P10."pos"()
- # rx rxquantr867 ** 0..1
- set_addr $I868, rxquantr867_done
- rx862_cur."!mark_push"(0, rx862_pos, $I868)
- rxquantr867_loop:
- # rx subrule "EXPR" subtype=capture negate=
+ substr $S10, rx862_tgt, $I11, 2
+ ne $S10, "\\e", rx862_fail
+ add rx862_pos, 2
+ # rx subrule "quotemod_check" subtype=zerowidth negate=
rx862_cur."!cursor_pos"(rx862_pos)
- $P10 = rx862_cur."EXPR"()
+ $P10 = rx862_cur."quotemod_check"("b")
unless $P10, rx862_fail
- rx862_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("EXPR")
- rx862_pos = $P10."pos"()
- (rx862_rep) = rx862_cur."!mark_commit"($I868)
- rxquantr867_done:
- # rx literal ")"
- add $I11, rx862_pos, 1
- gt $I11, rx862_eos, rx862_fail
- sub $I11, rx862_pos, rx862_off
- substr $S10, rx862_tgt, $I11, 1
- ne $S10, ")", rx862_fail
- add rx862_pos, 1
# rx pass
- rx862_cur."!cursor_pass"(rx862_pos, "circumfix:sym<( )>")
- rx862_cur."!cursor_debug"("PASS ", "circumfix:sym<( )>", " at pos=", rx862_pos)
+ rx862_cur."!cursor_pass"(rx862_pos, "quote_escape:sym<esc>")
+ rx862_cur."!cursor_debug"("PASS ", "quote_escape:sym<esc>", " at pos=", rx862_pos)
.return (rx862_cur)
rx862_fail:
.annotate "line", 4
@@ -10361,191 +10341,211 @@
jump $I10
rx862_done:
rx862_cur."!cursor_fail"()
- rx862_cur."!cursor_debug"("FAIL ", "circumfix:sym<( )>")
+ rx862_cur."!cursor_debug"("FAIL ", "quote_escape:sym<esc>")
.return (rx862_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>" :subid("208_1271336396.90314") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("208_1271948667.92136") :method
.annotate "line", 4
- $P864 = self."!PREFIX__!subrule"("", "(")
- new $P865, "ResizablePMCArray"
- push $P865, $P864
- .return ($P865)
+ new $P864, "ResizablePMCArray"
+ push $P864, "\\e"
+ .return ($P864)
.end
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>" :subid("209_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 4
- .local string rx870_tgt
- .local int rx870_pos
- .local int rx870_off
- .local int rx870_eos
- .local int rx870_rep
- .local pmc rx870_cur
- (rx870_cur, rx870_pos, rx870_tgt) = self."!cursor_start"()
- rx870_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
- rx870_cur."!cursor_caparray"("EXPR")
- .lex unicode:"$\x{a2}", rx870_cur
- .local pmc match
- .lex "$/", match
- length rx870_eos, rx870_tgt
- set rx870_off, 0
- lt rx870_pos, 2, rx870_start
- sub rx870_off, rx870_pos, 1
- substr rx870_tgt, rx870_tgt, rx870_off
- rx870_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan874_done
- goto rxscan874_scan
- rxscan874_loop:
- ($P10) = rx870_cur."from"()
- inc $P10
- set rx870_pos, $P10
- ge rx870_pos, rx870_eos, rxscan874_done
- rxscan874_scan:
- set_addr $I10, rxscan874_loop
- rx870_cur."!mark_push"(0, rx870_pos, $I10)
- rxscan874_done:
+.sub "circumfix:sym<( )>" :subid("209_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 4
+ .local string rx867_tgt
+ .local int rx867_pos
+ .local int rx867_off
+ .local int rx867_eos
+ .local int rx867_rep
+ .local pmc rx867_cur
+ (rx867_cur, rx867_pos, rx867_tgt) = self."!cursor_start"()
+ rx867_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+ rx867_cur."!cursor_caparray"("EXPR")
+ .lex unicode:"$\x{a2}", rx867_cur
+ .local pmc match
+ .lex "$/", match
+ length rx867_eos, rx867_tgt
+ set rx867_off, 0
+ lt rx867_pos, 2, rx867_start
+ sub rx867_off, rx867_pos, 1
+ substr rx867_tgt, rx867_tgt, rx867_off
+ rx867_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan871_done
+ goto rxscan871_scan
+ rxscan871_loop:
+ ($P10) = rx867_cur."from"()
+ inc $P10
+ set rx867_pos, $P10
+ ge rx867_pos, rx867_eos, rxscan871_done
+ rxscan871_scan:
+ set_addr $I10, rxscan871_loop
+ rx867_cur."!mark_push"(0, rx867_pos, $I10)
+ rxscan871_done:
.annotate "line", 411
- # rx literal "["
- add $I11, rx870_pos, 1
- gt $I11, rx870_eos, rx870_fail
- sub $I11, rx870_pos, rx870_off
- substr $S10, rx870_tgt, $I11, 1
- ne $S10, "[", rx870_fail
- add rx870_pos, 1
- # rx subrule "ws" subtype=method negate=
- rx870_cur."!cursor_pos"(rx870_pos)
- $P10 = rx870_cur."ws"()
- unless $P10, rx870_fail
- rx870_pos = $P10."pos"()
- # rx rxquantr875 ** 0..1
- set_addr $I876, rxquantr875_done
- rx870_cur."!mark_push"(0, rx870_pos, $I876)
- rxquantr875_loop:
+ # rx literal "("
+ add $I11, rx867_pos, 1
+ gt $I11, rx867_eos, rx867_fail
+ sub $I11, rx867_pos, rx867_off
+ substr $S10, rx867_tgt, $I11, 1
+ ne $S10, "(", rx867_fail
+ add rx867_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx867_cur."!cursor_pos"(rx867_pos)
+ $P10 = rx867_cur."ws"()
+ unless $P10, rx867_fail
+ rx867_pos = $P10."pos"()
+ # rx rxquantr872 ** 0..1
+ set_addr $I873, rxquantr872_done
+ rx867_cur."!mark_push"(0, rx867_pos, $I873)
+ rxquantr872_loop:
# rx subrule "EXPR" subtype=capture negate=
- rx870_cur."!cursor_pos"(rx870_pos)
- $P10 = rx870_cur."EXPR"()
- unless $P10, rx870_fail
- rx870_cur."!mark_push"(0, -1, 0, $P10)
+ rx867_cur."!cursor_pos"(rx867_pos)
+ $P10 = rx867_cur."EXPR"()
+ unless $P10, rx867_fail
+ rx867_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("EXPR")
- rx870_pos = $P10."pos"()
- (rx870_rep) = rx870_cur."!mark_commit"($I876)
- rxquantr875_done:
- # rx literal "]"
- add $I11, rx870_pos, 1
- gt $I11, rx870_eos, rx870_fail
- sub $I11, rx870_pos, rx870_off
- substr $S10, rx870_tgt, $I11, 1
- ne $S10, "]", rx870_fail
- add rx870_pos, 1
+ rx867_pos = $P10."pos"()
+ (rx867_rep) = rx867_cur."!mark_commit"($I873)
+ rxquantr872_done:
+ # rx literal ")"
+ add $I11, rx867_pos, 1
+ gt $I11, rx867_eos, rx867_fail
+ sub $I11, rx867_pos, rx867_off
+ substr $S10, rx867_tgt, $I11, 1
+ ne $S10, ")", rx867_fail
+ add rx867_pos, 1
# rx pass
- rx870_cur."!cursor_pass"(rx870_pos, "circumfix:sym<[ ]>")
- rx870_cur."!cursor_debug"("PASS ", "circumfix:sym<[ ]>", " at pos=", rx870_pos)
- .return (rx870_cur)
- rx870_fail:
+ rx867_cur."!cursor_pass"(rx867_pos, "circumfix:sym<( )>")
+ rx867_cur."!cursor_debug"("PASS ", "circumfix:sym<( )>", " at pos=", rx867_pos)
+ .return (rx867_cur)
+ rx867_fail:
.annotate "line", 4
- (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
- lt rx870_pos, -1, rx870_done
- eq rx870_pos, -1, rx870_fail
+ (rx867_rep, rx867_pos, $I10, $P10) = rx867_cur."!mark_fail"(0)
+ lt rx867_pos, -1, rx867_done
+ eq rx867_pos, -1, rx867_fail
jump $I10
- rx870_done:
- rx870_cur."!cursor_fail"()
- rx870_cur."!cursor_debug"("FAIL ", "circumfix:sym<[ ]>")
- .return (rx870_cur)
+ rx867_done:
+ rx867_cur."!cursor_fail"()
+ rx867_cur."!cursor_debug"("FAIL ", "circumfix:sym<( )>")
+ .return (rx867_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>" :subid("210_1271336396.90314") :method
+.sub "!PREFIX__circumfix:sym<( )>" :subid("210_1271948667.92136") :method
.annotate "line", 4
- $P872 = self."!PREFIX__!subrule"("", "[")
- new $P873, "ResizablePMCArray"
- push $P873, $P872
- .return ($P873)
+ $P869 = self."!PREFIX__!subrule"("", "(")
+ new $P870, "ResizablePMCArray"
+ push $P870, $P869
+ .return ($P870)
.end
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>" :subid("211_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "circumfix:sym<[ ]>" :subid("211_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
- .local string rx878_tgt
- .local int rx878_pos
- .local int rx878_off
- .local int rx878_eos
- .local int rx878_rep
- .local pmc rx878_cur
- (rx878_cur, rx878_pos, rx878_tgt) = self."!cursor_start"()
- rx878_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
- .lex unicode:"$\x{a2}", rx878_cur
- .local pmc match
- .lex "$/", match
- length rx878_eos, rx878_tgt
- set rx878_off, 0
- lt rx878_pos, 2, rx878_start
- sub rx878_off, rx878_pos, 1
- substr rx878_tgt, rx878_tgt, rx878_off
- rx878_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan881_done
- goto rxscan881_scan
- rxscan881_loop:
- ($P10) = rx878_cur."from"()
- inc $P10
- set rx878_pos, $P10
- ge rx878_pos, rx878_eos, rxscan881_done
- rxscan881_scan:
- set_addr $I10, rxscan881_loop
- rx878_cur."!mark_push"(0, rx878_pos, $I10)
- rxscan881_done:
+ .local string rx875_tgt
+ .local int rx875_pos
+ .local int rx875_off
+ .local int rx875_eos
+ .local int rx875_rep
+ .local pmc rx875_cur
+ (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
+ rx875_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+ rx875_cur."!cursor_caparray"("EXPR")
+ .lex unicode:"$\x{a2}", rx875_cur
+ .local pmc match
+ .lex "$/", match
+ length rx875_eos, rx875_tgt
+ set rx875_off, 0
+ lt rx875_pos, 2, rx875_start
+ sub rx875_off, rx875_pos, 1
+ substr rx875_tgt, rx875_tgt, rx875_off
+ rx875_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan879_done
+ goto rxscan879_scan
+ rxscan879_loop:
+ ($P10) = rx875_cur."from"()
+ inc $P10
+ set rx875_pos, $P10
+ ge rx875_pos, rx875_eos, rxscan879_done
+ rxscan879_scan:
+ set_addr $I10, rxscan879_loop
+ rx875_cur."!mark_push"(0, rx875_pos, $I10)
+ rxscan879_done:
.annotate "line", 412
- # rx enumcharlist negate=0 zerowidth
- ge rx878_pos, rx878_eos, rx878_fail
- sub $I10, rx878_pos, rx878_off
- substr $S10, rx878_tgt, $I10, 1
- index $I11, "<", $S10
- lt $I11, 0, rx878_fail
- # rx subrule "quote_EXPR" subtype=capture negate=
- rx878_cur."!cursor_pos"(rx878_pos)
- $P10 = rx878_cur."quote_EXPR"(":q", ":w")
- unless $P10, rx878_fail
- rx878_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("quote_EXPR")
- rx878_pos = $P10."pos"()
+ # rx literal "["
+ add $I11, rx875_pos, 1
+ gt $I11, rx875_eos, rx875_fail
+ sub $I11, rx875_pos, rx875_off
+ substr $S10, rx875_tgt, $I11, 1
+ ne $S10, "[", rx875_fail
+ add rx875_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx875_cur."!cursor_pos"(rx875_pos)
+ $P10 = rx875_cur."ws"()
+ unless $P10, rx875_fail
+ rx875_pos = $P10."pos"()
+ # rx rxquantr880 ** 0..1
+ set_addr $I881, rxquantr880_done
+ rx875_cur."!mark_push"(0, rx875_pos, $I881)
+ rxquantr880_loop:
+ # rx subrule "EXPR" subtype=capture negate=
+ rx875_cur."!cursor_pos"(rx875_pos)
+ $P10 = rx875_cur."EXPR"()
+ unless $P10, rx875_fail
+ rx875_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("EXPR")
+ rx875_pos = $P10."pos"()
+ (rx875_rep) = rx875_cur."!mark_commit"($I881)
+ rxquantr880_done:
+ # rx literal "]"
+ add $I11, rx875_pos, 1
+ gt $I11, rx875_eos, rx875_fail
+ sub $I11, rx875_pos, rx875_off
+ substr $S10, rx875_tgt, $I11, 1
+ ne $S10, "]", rx875_fail
+ add rx875_pos, 1
# rx pass
- rx878_cur."!cursor_pass"(rx878_pos, "circumfix:sym<ang>")
- rx878_cur."!cursor_debug"("PASS ", "circumfix:sym<ang>", " at pos=", rx878_pos)
- .return (rx878_cur)
- rx878_fail:
+ rx875_cur."!cursor_pass"(rx875_pos, "circumfix:sym<[ ]>")
+ rx875_cur."!cursor_debug"("PASS ", "circumfix:sym<[ ]>", " at pos=", rx875_pos)
+ .return (rx875_cur)
+ rx875_fail:
.annotate "line", 4
- (rx878_rep, rx878_pos, $I10, $P10) = rx878_cur."!mark_fail"(0)
- lt rx878_pos, -1, rx878_done
- eq rx878_pos, -1, rx878_fail
+ (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
+ lt rx875_pos, -1, rx875_done
+ eq rx875_pos, -1, rx875_fail
jump $I10
- rx878_done:
- rx878_cur."!cursor_fail"()
- rx878_cur."!cursor_debug"("FAIL ", "circumfix:sym<ang>")
- .return (rx878_cur)
+ rx875_done:
+ rx875_cur."!cursor_fail"()
+ rx875_cur."!cursor_debug"("FAIL ", "circumfix:sym<[ ]>")
+ .return (rx875_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>" :subid("212_1271336396.90314") :method
+.sub "!PREFIX__circumfix:sym<[ ]>" :subid("212_1271948667.92136") :method
.annotate "line", 4
- new $P880, "ResizablePMCArray"
- push $P880, "<"
- .return ($P880)
+ $P877 = self."!PREFIX__!subrule"("", "[")
+ new $P878, "ResizablePMCArray"
+ push $P878, $P877
+ .return ($P878)
.end
.namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("213_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "circumfix:sym<ang>" :subid("213_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx883_tgt
.local int rx883_pos
@@ -10554,7 +10554,7 @@
.local int rx883_rep
.local pmc rx883_cur
(rx883_cur, rx883_pos, rx883_tgt) = self."!cursor_start"()
- rx883_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+ rx883_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
.lex unicode:"$\x{a2}", rx883_cur
.local pmc match
.lex "$/", match
@@ -10581,18 +10581,18 @@
ge rx883_pos, rx883_eos, rx883_fail
sub $I10, rx883_pos, rx883_off
substr $S10, rx883_tgt, $I10, 1
- index $I11, unicode:"\x{ab}", $S10
+ index $I11, "<", $S10
lt $I11, 0, rx883_fail
# rx subrule "quote_EXPR" subtype=capture negate=
rx883_cur."!cursor_pos"(rx883_pos)
- $P10 = rx883_cur."quote_EXPR"(":qq", ":w")
+ $P10 = rx883_cur."quote_EXPR"(":q", ":w")
unless $P10, rx883_fail
rx883_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("quote_EXPR")
rx883_pos = $P10."pos"()
# rx pass
- rx883_cur."!cursor_pass"(rx883_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
- rx883_cur."!cursor_debug"("PASS ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx883_pos)
+ rx883_cur."!cursor_pass"(rx883_pos, "circumfix:sym<ang>")
+ rx883_cur."!cursor_debug"("PASS ", "circumfix:sym<ang>", " at pos=", rx883_pos)
.return (rx883_cur)
rx883_fail:
.annotate "line", 4
@@ -10602,23 +10602,23 @@
jump $I10
rx883_done:
rx883_cur."!cursor_fail"()
- rx883_cur."!cursor_debug"("FAIL ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+ rx883_cur."!cursor_debug"("FAIL ", "circumfix:sym<ang>")
.return (rx883_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("214_1271336396.90314") :method
+.sub "!PREFIX__circumfix:sym<ang>" :subid("214_1271948667.92136") :method
.annotate "line", 4
new $P885, "ResizablePMCArray"
- push $P885, unicode:"\x{ab}"
+ push $P885, "<"
.return ($P885)
.end
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>" :subid("215_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("215_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx888_tgt
.local int rx888_pos
@@ -10627,7 +10627,7 @@
.local int rx888_rep
.local pmc rx888_cur
(rx888_cur, rx888_pos, rx888_tgt) = self."!cursor_start"()
- rx888_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
+ rx888_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
.lex unicode:"$\x{a2}", rx888_cur
.local pmc match
.lex "$/", match
@@ -10654,18 +10654,18 @@
ge rx888_pos, rx888_eos, rx888_fail
sub $I10, rx888_pos, rx888_off
substr $S10, rx888_tgt, $I10, 1
- index $I11, "{", $S10
+ index $I11, unicode:"\x{ab}", $S10
lt $I11, 0, rx888_fail
- # rx subrule "pblock" subtype=capture negate=
+ # rx subrule "quote_EXPR" subtype=capture negate=
rx888_cur."!cursor_pos"(rx888_pos)
- $P10 = rx888_cur."pblock"()
+ $P10 = rx888_cur."quote_EXPR"(":qq", ":w")
unless $P10, rx888_fail
rx888_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("pblock")
+ $P10."!cursor_names"("quote_EXPR")
rx888_pos = $P10."pos"()
# rx pass
- rx888_cur."!cursor_pass"(rx888_pos, "circumfix:sym<{ }>")
- rx888_cur."!cursor_debug"("PASS ", "circumfix:sym<{ }>", " at pos=", rx888_pos)
+ rx888_cur."!cursor_pass"(rx888_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+ rx888_cur."!cursor_debug"("PASS ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx888_pos)
.return (rx888_cur)
rx888_fail:
.annotate "line", 4
@@ -10675,23 +10675,23 @@
jump $I10
rx888_done:
rx888_cur."!cursor_fail"()
- rx888_cur."!cursor_debug"("FAIL ", "circumfix:sym<{ }>")
+ rx888_cur."!cursor_debug"("FAIL ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
.return (rx888_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>" :subid("216_1271336396.90314") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("216_1271948667.92136") :method
.annotate "line", 4
new $P890, "ResizablePMCArray"
- push $P890, "{"
+ push $P890, unicode:"\x{ab}"
.return ($P890)
.end
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>" :subid("217_1271336396.90314") :method :outer("11_1271336396.90314")
+.sub "circumfix:sym<{ }>" :subid("217_1271948667.92136") :method :outer("11_1271948667.92136")
.annotate "line", 4
.local string rx893_tgt
.local int rx893_pos
@@ -10700,7 +10700,7 @@
.local int rx893_rep
.local pmc rx893_cur
(rx893_cur, rx893_pos, rx893_tgt) = self."!cursor_start"()
- rx893_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
+ rx893_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
.lex unicode:"$\x{a2}", rx893_cur
.local pmc match
.lex "$/", match
@@ -10711,60 +10711,34 @@
substr rx893_tgt, rx893_tgt, rx893_off
rx893_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan897_done
- goto rxscan897_scan
- rxscan897_loop:
+ ne $I10, -1, rxscan896_done
+ goto rxscan896_scan
+ rxscan896_loop:
($P10) = rx893_cur."from"()
inc $P10
set rx893_pos, $P10
- ge rx893_pos, rx893_eos, rxscan897_done
- rxscan897_scan:
- set_addr $I10, rxscan897_loop
+ ge rx893_pos, rx893_eos, rxscan896_done
+ rxscan896_scan:
+ set_addr $I10, rxscan896_loop
rx893_cur."!mark_push"(0, rx893_pos, $I10)
- rxscan897_done:
+ rxscan896_done:
.annotate "line", 415
- # rx subrule "sigil" subtype=capture negate=
- rx893_cur."!cursor_pos"(rx893_pos)
- $P10 = rx893_cur."sigil"()
- unless $P10, rx893_fail
- rx893_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("sigil")
- rx893_pos = $P10."pos"()
- # rx literal "("
- add $I11, rx893_pos, 1
- gt $I11, rx893_eos, rx893_fail
- sub $I11, rx893_pos, rx893_off
- substr $S10, rx893_tgt, $I11, 1
- ne $S10, "(", rx893_fail
- add rx893_pos, 1
- # rx subrule "semilist" subtype=capture negate=
+ # rx enumcharlist negate=0 zerowidth
+ ge rx893_pos, rx893_eos, rx893_fail
+ sub $I10, rx893_pos, rx893_off
+ substr $S10, rx893_tgt, $I10, 1
+ index $I11, "{", $S10
+ lt $I11, 0, rx893_fail
+ # rx subrule "pblock" subtype=capture negate=
rx893_cur."!cursor_pos"(rx893_pos)
- $P10 = rx893_cur."semilist"()
+ $P10 = rx893_cur."pblock"()
unless $P10, rx893_fail
rx893_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("semilist")
- rx893_pos = $P10."pos"()
- alt898_0:
- set_addr $I10, alt898_1
- rx893_cur."!mark_push"(0, rx893_pos, $I10)
- # rx literal ")"
- add $I11, rx893_pos, 1
- gt $I11, rx893_eos, rx893_fail
- sub $I11, rx893_pos, rx893_off
- substr $S10, rx893_tgt, $I11, 1
- ne $S10, ")", rx893_fail
- add rx893_pos, 1
- goto alt898_end
- alt898_1:
- # rx subrule "FAILGOAL" subtype=method negate=
- rx893_cur."!cursor_pos"(rx893_pos)
- $P10 = rx893_cur."FAILGOAL"("')'")
- unless $P10, rx893_fail
+ $P10."!cursor_names"("pblock")
rx893_pos = $P10."pos"()
- alt898_end:
# rx pass
- rx893_cur."!cursor_pass"(rx893_pos, "circumfix:sym<sigil>")
- rx893_cur."!cursor_debug"("PASS ", "circumfix:sym<sigil>", " at pos=", rx893_pos)
+ rx893_cur."!cursor_pass"(rx893_pos, "circumfix:sym<{ }>")
+ rx893_cur."!cursor_debug"("PASS ", "circumfix:sym<{ }>", " at pos=", rx893_pos)
.return (rx893_cur)
rx893_fail:
.annotate "line", 4
@@ -10774,173 +10748,201 @@
jump $I10
rx893_done:
rx893_cur."!cursor_fail"()
- rx893_cur."!cursor_debug"("FAIL ", "circumfix:sym<sigil>")
+ rx893_cur."!cursor_debug"("FAIL ", "circumfix:sym<{ }>")
.return (rx893_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>" :subid("218_1271336396.90314") :method
+.sub "!PREFIX__circumfix:sym<{ }>" :subid("218_1271948667.92136") :method
.annotate "line", 4
- $P895 = self."!PREFIX__!subrule"("sigil", "")
- new $P896, "ResizablePMCArray"
- push $P896, $P895
- .return ($P896)
+ new $P895, "ResizablePMCArray"
+ push $P895, "{"
+ .return ($P895)
.end
.namespace ["NQP";"Grammar"]
-.sub "semilist" :subid("219_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 4
- .local string rx901_tgt
- .local int rx901_pos
- .local int rx901_off
- .local int rx901_eos
- .local int rx901_rep
- .local pmc rx901_cur
- (rx901_cur, rx901_pos, rx901_tgt) = self."!cursor_start"()
- rx901_cur."!cursor_debug"("START ", "semilist")
- .lex unicode:"$\x{a2}", rx901_cur
- .local pmc match
- .lex "$/", match
- length rx901_eos, rx901_tgt
- set rx901_off, 0
- lt rx901_pos, 2, rx901_start
- sub rx901_off, rx901_pos, 1
- substr rx901_tgt, rx901_tgt, rx901_off
- rx901_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan904_done
- goto rxscan904_scan
- rxscan904_loop:
- ($P10) = rx901_cur."from"()
- inc $P10
- set rx901_pos, $P10
- ge rx901_pos, rx901_eos, rxscan904_done
- rxscan904_scan:
- set_addr $I10, rxscan904_loop
- rx901_cur."!mark_push"(0, rx901_pos, $I10)
- rxscan904_done:
-.annotate "line", 417
- # rx subrule "ws" subtype=method negate=
- rx901_cur."!cursor_pos"(rx901_pos)
- $P10 = rx901_cur."ws"()
- unless $P10, rx901_fail
- rx901_pos = $P10."pos"()
- # rx subrule "statement" subtype=capture negate=
- rx901_cur."!cursor_pos"(rx901_pos)
- $P10 = rx901_cur."statement"()
- unless $P10, rx901_fail
- rx901_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("statement")
- rx901_pos = $P10."pos"()
- # rx subrule "ws" subtype=method negate=
- rx901_cur."!cursor_pos"(rx901_pos)
- $P10 = rx901_cur."ws"()
- unless $P10, rx901_fail
- rx901_pos = $P10."pos"()
+.sub "circumfix:sym<sigil>" :subid("219_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 4
+ .local string rx898_tgt
+ .local int rx898_pos
+ .local int rx898_off
+ .local int rx898_eos
+ .local int rx898_rep
+ .local pmc rx898_cur
+ (rx898_cur, rx898_pos, rx898_tgt) = self."!cursor_start"()
+ rx898_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
+ .lex unicode:"$\x{a2}", rx898_cur
+ .local pmc match
+ .lex "$/", match
+ length rx898_eos, rx898_tgt
+ set rx898_off, 0
+ lt rx898_pos, 2, rx898_start
+ sub rx898_off, rx898_pos, 1
+ substr rx898_tgt, rx898_tgt, rx898_off
+ rx898_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan902_done
+ goto rxscan902_scan
+ rxscan902_loop:
+ ($P10) = rx898_cur."from"()
+ inc $P10
+ set rx898_pos, $P10
+ ge rx898_pos, rx898_eos, rxscan902_done
+ rxscan902_scan:
+ set_addr $I10, rxscan902_loop
+ rx898_cur."!mark_push"(0, rx898_pos, $I10)
+ rxscan902_done:
+.annotate "line", 416
+ # rx subrule "sigil" subtype=capture negate=
+ rx898_cur."!cursor_pos"(rx898_pos)
+ $P10 = rx898_cur."sigil"()
+ unless $P10, rx898_fail
+ rx898_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("sigil")
+ rx898_pos = $P10."pos"()
+ # rx literal "("
+ add $I11, rx898_pos, 1
+ gt $I11, rx898_eos, rx898_fail
+ sub $I11, rx898_pos, rx898_off
+ substr $S10, rx898_tgt, $I11, 1
+ ne $S10, "(", rx898_fail
+ add rx898_pos, 1
+ # rx subrule "semilist" subtype=capture negate=
+ rx898_cur."!cursor_pos"(rx898_pos)
+ $P10 = rx898_cur."semilist"()
+ unless $P10, rx898_fail
+ rx898_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("semilist")
+ rx898_pos = $P10."pos"()
+ alt903_0:
+ set_addr $I10, alt903_1
+ rx898_cur."!mark_push"(0, rx898_pos, $I10)
+ # rx literal ")"
+ add $I11, rx898_pos, 1
+ gt $I11, rx898_eos, rx898_fail
+ sub $I11, rx898_pos, rx898_off
+ substr $S10, rx898_tgt, $I11, 1
+ ne $S10, ")", rx898_fail
+ add rx898_pos, 1
+ goto alt903_end
+ alt903_1:
+ # rx subrule "FAILGOAL" subtype=method negate=
+ rx898_cur."!cursor_pos"(rx898_pos)
+ $P10 = rx898_cur."FAILGOAL"("')'")
+ unless $P10, rx898_fail
+ rx898_pos = $P10."pos"()
+ alt903_end:
# rx pass
- rx901_cur."!cursor_pass"(rx901_pos, "semilist")
- rx901_cur."!cursor_debug"("PASS ", "semilist", " at pos=", rx901_pos)
- .return (rx901_cur)
- rx901_fail:
+ rx898_cur."!cursor_pass"(rx898_pos, "circumfix:sym<sigil>")
+ rx898_cur."!cursor_debug"("PASS ", "circumfix:sym<sigil>", " at pos=", rx898_pos)
+ .return (rx898_cur)
+ rx898_fail:
.annotate "line", 4
- (rx901_rep, rx901_pos, $I10, $P10) = rx901_cur."!mark_fail"(0)
- lt rx901_pos, -1, rx901_done
- eq rx901_pos, -1, rx901_fail
+ (rx898_rep, rx898_pos, $I10, $P10) = rx898_cur."!mark_fail"(0)
+ lt rx898_pos, -1, rx898_done
+ eq rx898_pos, -1, rx898_fail
jump $I10
- rx901_done:
- rx901_cur."!cursor_fail"()
- rx901_cur."!cursor_debug"("FAIL ", "semilist")
- .return (rx901_cur)
+ rx898_done:
+ rx898_cur."!cursor_fail"()
+ rx898_cur."!cursor_debug"("FAIL ", "circumfix:sym<sigil>")
+ .return (rx898_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist" :subid("220_1271336396.90314") :method
+.sub "!PREFIX__circumfix:sym<sigil>" :subid("220_1271948667.92136") :method
.annotate "line", 4
- new $P903, "ResizablePMCArray"
- push $P903, ""
- .return ($P903)
+ $P900 = self."!PREFIX__!subrule"("sigil", "")
+ new $P901, "ResizablePMCArray"
+ push $P901, $P900
+ .return ($P901)
.end
.namespace ["NQP";"Grammar"]
-.sub "infixish" :subid("221_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx908_tgt
- .local int rx908_pos
- .local int rx908_off
- .local int rx908_eos
- .local int rx908_rep
- .local pmc rx908_cur
- (rx908_cur, rx908_pos, rx908_tgt) = self."!cursor_start"()
- rx908_cur."!cursor_debug"("START ", "infixish")
- .lex unicode:"$\x{a2}", rx908_cur
+.sub "semilist" :subid("221_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 4
+ .local string rx906_tgt
+ .local int rx906_pos
+ .local int rx906_off
+ .local int rx906_eos
+ .local int rx906_rep
+ .local pmc rx906_cur
+ (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"()
+ rx906_cur."!cursor_debug"("START ", "semilist")
+ .lex unicode:"$\x{a2}", rx906_cur
.local pmc match
.lex "$/", match
- length rx908_eos, rx908_tgt
- set rx908_off, 0
- lt rx908_pos, 2, rx908_start
- sub rx908_off, rx908_pos, 1
- substr rx908_tgt, rx908_tgt, rx908_off
- rx908_start:
+ length rx906_eos, rx906_tgt
+ set rx906_off, 0
+ lt rx906_pos, 2, rx906_start
+ sub rx906_off, rx906_pos, 1
+ substr rx906_tgt, rx906_tgt, rx906_off
+ rx906_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan911_done
- goto rxscan911_scan
- rxscan911_loop:
- ($P10) = rx908_cur."from"()
+ ne $I10, -1, rxscan909_done
+ goto rxscan909_scan
+ rxscan909_loop:
+ ($P10) = rx906_cur."from"()
inc $P10
- set rx908_pos, $P10
- ge rx908_pos, rx908_eos, rxscan911_done
- rxscan911_scan:
- set_addr $I10, rxscan911_loop
- rx908_cur."!mark_push"(0, rx908_pos, $I10)
- rxscan911_done:
-.annotate "line", 440
- # rx subrule "infixstopper" subtype=zerowidth negate=1
- rx908_cur."!cursor_pos"(rx908_pos)
- $P10 = rx908_cur."infixstopper"()
- if $P10, rx908_fail
- # rx subrule "infix" subtype=capture negate=
- rx908_cur."!cursor_pos"(rx908_pos)
- $P10 = rx908_cur."infix"()
- unless $P10, rx908_fail
- rx908_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("OPER=infix")
- rx908_pos = $P10."pos"()
+ set rx906_pos, $P10
+ ge rx906_pos, rx906_eos, rxscan909_done
+ rxscan909_scan:
+ set_addr $I10, rxscan909_loop
+ rx906_cur."!mark_push"(0, rx906_pos, $I10)
+ rxscan909_done:
+.annotate "line", 418
+ # rx subrule "ws" subtype=method negate=
+ rx906_cur."!cursor_pos"(rx906_pos)
+ $P10 = rx906_cur."ws"()
+ unless $P10, rx906_fail
+ rx906_pos = $P10."pos"()
+ # rx subrule "statement" subtype=capture negate=
+ rx906_cur."!cursor_pos"(rx906_pos)
+ $P10 = rx906_cur."statement"()
+ unless $P10, rx906_fail
+ rx906_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("statement")
+ rx906_pos = $P10."pos"()
+ # rx subrule "ws" subtype=method negate=
+ rx906_cur."!cursor_pos"(rx906_pos)
+ $P10 = rx906_cur."ws"()
+ unless $P10, rx906_fail
+ rx906_pos = $P10."pos"()
# rx pass
- rx908_cur."!cursor_pass"(rx908_pos, "infixish")
- rx908_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx908_pos)
- .return (rx908_cur)
- rx908_fail:
-.annotate "line", 421
- (rx908_rep, rx908_pos, $I10, $P10) = rx908_cur."!mark_fail"(0)
- lt rx908_pos, -1, rx908_done
- eq rx908_pos, -1, rx908_fail
+ rx906_cur."!cursor_pass"(rx906_pos, "semilist")
+ rx906_cur."!cursor_debug"("PASS ", "semilist", " at pos=", rx906_pos)
+ .return (rx906_cur)
+ rx906_fail:
+.annotate "line", 4
+ (rx906_rep, rx906_pos, $I10, $P10) = rx906_cur."!mark_fail"(0)
+ lt rx906_pos, -1, rx906_done
+ eq rx906_pos, -1, rx906_fail
jump $I10
- rx908_done:
- rx908_cur."!cursor_fail"()
- rx908_cur."!cursor_debug"("FAIL ", "infixish")
- .return (rx908_cur)
+ rx906_done:
+ rx906_cur."!cursor_fail"()
+ rx906_cur."!cursor_debug"("FAIL ", "semilist")
+ .return (rx906_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish" :subid("222_1271336396.90314") :method
-.annotate "line", 421
- new $P910, "ResizablePMCArray"
- push $P910, ""
- .return ($P910)
+.sub "!PREFIX__semilist" :subid("222_1271948667.92136") :method
+.annotate "line", 4
+ new $P908, "ResizablePMCArray"
+ push $P908, ""
+ .return ($P908)
.end
.namespace ["NQP";"Grammar"]
-.sub "infixstopper" :subid("223_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
+.sub "infixish" :subid("223_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
.local string rx913_tgt
.local int rx913_pos
.local int rx913_off
@@ -10948,7 +10950,7 @@
.local int rx913_rep
.local pmc rx913_cur
(rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
- rx913_cur."!cursor_debug"("START ", "infixstopper")
+ rx913_cur."!cursor_debug"("START ", "infixish")
.lex unicode:"$\x{a2}", rx913_cur
.local pmc match
.lex "$/", match
@@ -10971,31 +10973,38 @@
rx913_cur."!mark_push"(0, rx913_pos, $I10)
rxscan916_done:
.annotate "line", 441
- # rx subrule "lambda" subtype=zerowidth negate=
+ # rx subrule "infixstopper" subtype=zerowidth negate=1
+ rx913_cur."!cursor_pos"(rx913_pos)
+ $P10 = rx913_cur."infixstopper"()
+ if $P10, rx913_fail
+ # rx subrule "infix" subtype=capture negate=
rx913_cur."!cursor_pos"(rx913_pos)
- $P10 = rx913_cur."lambda"()
+ $P10 = rx913_cur."infix"()
unless $P10, rx913_fail
+ rx913_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("OPER=infix")
+ rx913_pos = $P10."pos"()
# rx pass
- rx913_cur."!cursor_pass"(rx913_pos, "infixstopper")
- rx913_cur."!cursor_debug"("PASS ", "infixstopper", " at pos=", rx913_pos)
+ rx913_cur."!cursor_pass"(rx913_pos, "infixish")
+ rx913_cur."!cursor_debug"("PASS ", "infixish", " at pos=", rx913_pos)
.return (rx913_cur)
rx913_fail:
-.annotate "line", 421
+.annotate "line", 422
(rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
lt rx913_pos, -1, rx913_done
eq rx913_pos, -1, rx913_fail
jump $I10
rx913_done:
rx913_cur."!cursor_fail"()
- rx913_cur."!cursor_debug"("FAIL ", "infixstopper")
+ rx913_cur."!cursor_debug"("FAIL ", "infixish")
.return (rx913_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper" :subid("224_1271336396.90314") :method
-.annotate "line", 421
+.sub "!PREFIX__infixish" :subid("224_1271948667.92136") :method
+.annotate "line", 422
new $P915, "ResizablePMCArray"
push $P915, ""
.return ($P915)
@@ -11003,8 +11012,8 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>" :subid("225_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
+.sub "infixstopper" :subid("225_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
.local string rx918_tgt
.local int rx918_pos
.local int rx918_off
@@ -11012,7 +11021,7 @@
.local int rx918_rep
.local pmc rx918_cur
(rx918_cur, rx918_pos, rx918_tgt) = self."!cursor_start"()
- rx918_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+ rx918_cur."!cursor_debug"("START ", "infixstopper")
.lex unicode:"$\x{a2}", rx918_cur
.local pmc match
.lex "$/", match
@@ -11023,262 +11032,244 @@
substr rx918_tgt, rx918_tgt, rx918_off
rx918_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan922_done
- goto rxscan922_scan
- rxscan922_loop:
+ ne $I10, -1, rxscan921_done
+ goto rxscan921_scan
+ rxscan921_loop:
($P10) = rx918_cur."from"()
inc $P10
set rx918_pos, $P10
- ge rx918_pos, rx918_eos, rxscan922_done
- rxscan922_scan:
- set_addr $I10, rxscan922_loop
+ ge rx918_pos, rx918_eos, rxscan921_done
+ rxscan921_scan:
+ set_addr $I10, rxscan921_loop
rx918_cur."!mark_push"(0, rx918_pos, $I10)
- rxscan922_done:
-.annotate "line", 444
- # rx literal "["
- add $I11, rx918_pos, 1
- gt $I11, rx918_eos, rx918_fail
- sub $I11, rx918_pos, rx918_off
- substr $S10, rx918_tgt, $I11, 1
- ne $S10, "[", rx918_fail
- add rx918_pos, 1
- # rx subrule "ws" subtype=method negate=
- rx918_cur."!cursor_pos"(rx918_pos)
- $P10 = rx918_cur."ws"()
- unless $P10, rx918_fail
- rx918_pos = $P10."pos"()
- # rx subrule "EXPR" subtype=capture negate=
- rx918_cur."!cursor_pos"(rx918_pos)
- $P10 = rx918_cur."EXPR"()
- unless $P10, rx918_fail
- rx918_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("EXPR")
- rx918_pos = $P10."pos"()
- # rx literal "]"
- add $I11, rx918_pos, 1
- gt $I11, rx918_eos, rx918_fail
- sub $I11, rx918_pos, rx918_off
- substr $S10, rx918_tgt, $I11, 1
- ne $S10, "]", rx918_fail
- add rx918_pos, 1
-.annotate "line", 445
- # rx subrule "O" subtype=capture negate=
+ rxscan921_done:
+.annotate "line", 442
+ # rx subrule "lambda" subtype=zerowidth negate=
rx918_cur."!cursor_pos"(rx918_pos)
- $P10 = rx918_cur."O"("%methodop")
+ $P10 = rx918_cur."lambda"()
unless $P10, rx918_fail
- rx918_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("O")
- rx918_pos = $P10."pos"()
-.annotate "line", 443
# rx pass
- rx918_cur."!cursor_pass"(rx918_pos, "postcircumfix:sym<[ ]>")
- rx918_cur."!cursor_debug"("PASS ", "postcircumfix:sym<[ ]>", " at pos=", rx918_pos)
+ rx918_cur."!cursor_pass"(rx918_pos, "infixstopper")
+ rx918_cur."!cursor_debug"("PASS ", "infixstopper", " at pos=", rx918_pos)
.return (rx918_cur)
rx918_fail:
-.annotate "line", 421
+.annotate "line", 422
(rx918_rep, rx918_pos, $I10, $P10) = rx918_cur."!mark_fail"(0)
lt rx918_pos, -1, rx918_done
eq rx918_pos, -1, rx918_fail
jump $I10
rx918_done:
rx918_cur."!cursor_fail"()
- rx918_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<[ ]>")
+ rx918_cur."!cursor_debug"("FAIL ", "infixstopper")
.return (rx918_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("226_1271336396.90314") :method
-.annotate "line", 421
- $P920 = self."!PREFIX__!subrule"("", "[")
- new $P921, "ResizablePMCArray"
- push $P921, $P920
- .return ($P921)
+.sub "!PREFIX__infixstopper" :subid("226_1271948667.92136") :method
+.annotate "line", 422
+ new $P920, "ResizablePMCArray"
+ push $P920, ""
+ .return ($P920)
.end
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>" :subid("227_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx924_tgt
- .local int rx924_pos
- .local int rx924_off
- .local int rx924_eos
- .local int rx924_rep
- .local pmc rx924_cur
- (rx924_cur, rx924_pos, rx924_tgt) = self."!cursor_start"()
- rx924_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
- .lex unicode:"$\x{a2}", rx924_cur
- .local pmc match
- .lex "$/", match
- length rx924_eos, rx924_tgt
- set rx924_off, 0
- lt rx924_pos, 2, rx924_start
- sub rx924_off, rx924_pos, 1
- substr rx924_tgt, rx924_tgt, rx924_off
- rx924_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan928_done
- goto rxscan928_scan
- rxscan928_loop:
- ($P10) = rx924_cur."from"()
- inc $P10
- set rx924_pos, $P10
- ge rx924_pos, rx924_eos, rxscan928_done
- rxscan928_scan:
- set_addr $I10, rxscan928_loop
- rx924_cur."!mark_push"(0, rx924_pos, $I10)
- rxscan928_done:
-.annotate "line", 449
- # rx literal "{"
- add $I11, rx924_pos, 1
- gt $I11, rx924_eos, rx924_fail
- sub $I11, rx924_pos, rx924_off
- substr $S10, rx924_tgt, $I11, 1
- ne $S10, "{", rx924_fail
- add rx924_pos, 1
- # rx subrule "ws" subtype=method negate=
- rx924_cur."!cursor_pos"(rx924_pos)
- $P10 = rx924_cur."ws"()
- unless $P10, rx924_fail
- rx924_pos = $P10."pos"()
+.sub "postcircumfix:sym<[ ]>" :subid("227_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx923_tgt
+ .local int rx923_pos
+ .local int rx923_off
+ .local int rx923_eos
+ .local int rx923_rep
+ .local pmc rx923_cur
+ (rx923_cur, rx923_pos, rx923_tgt) = self."!cursor_start"()
+ rx923_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+ .lex unicode:"$\x{a2}", rx923_cur
+ .local pmc match
+ .lex "$/", match
+ length rx923_eos, rx923_tgt
+ set rx923_off, 0
+ lt rx923_pos, 2, rx923_start
+ sub rx923_off, rx923_pos, 1
+ substr rx923_tgt, rx923_tgt, rx923_off
+ rx923_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan927_done
+ goto rxscan927_scan
+ rxscan927_loop:
+ ($P10) = rx923_cur."from"()
+ inc $P10
+ set rx923_pos, $P10
+ ge rx923_pos, rx923_eos, rxscan927_done
+ rxscan927_scan:
+ set_addr $I10, rxscan927_loop
+ rx923_cur."!mark_push"(0, rx923_pos, $I10)
+ rxscan927_done:
+.annotate "line", 445
+ # rx literal "["
+ add $I11, rx923_pos, 1
+ gt $I11, rx923_eos, rx923_fail
+ sub $I11, rx923_pos, rx923_off
+ substr $S10, rx923_tgt, $I11, 1
+ ne $S10, "[", rx923_fail
+ add rx923_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx923_cur."!cursor_pos"(rx923_pos)
+ $P10 = rx923_cur."ws"()
+ unless $P10, rx923_fail
+ rx923_pos = $P10."pos"()
# rx subrule "EXPR" subtype=capture negate=
- rx924_cur."!cursor_pos"(rx924_pos)
- $P10 = rx924_cur."EXPR"()
- unless $P10, rx924_fail
- rx924_cur."!mark_push"(0, -1, 0, $P10)
+ rx923_cur."!cursor_pos"(rx923_pos)
+ $P10 = rx923_cur."EXPR"()
+ unless $P10, rx923_fail
+ rx923_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("EXPR")
- rx924_pos = $P10."pos"()
- # rx literal "}"
- add $I11, rx924_pos, 1
- gt $I11, rx924_eos, rx924_fail
- sub $I11, rx924_pos, rx924_off
- substr $S10, rx924_tgt, $I11, 1
- ne $S10, "}", rx924_fail
- add rx924_pos, 1
-.annotate "line", 450
+ rx923_pos = $P10."pos"()
+ # rx literal "]"
+ add $I11, rx923_pos, 1
+ gt $I11, rx923_eos, rx923_fail
+ sub $I11, rx923_pos, rx923_off
+ substr $S10, rx923_tgt, $I11, 1
+ ne $S10, "]", rx923_fail
+ add rx923_pos, 1
+.annotate "line", 446
# rx subrule "O" subtype=capture negate=
- rx924_cur."!cursor_pos"(rx924_pos)
- $P10 = rx924_cur."O"("%methodop")
- unless $P10, rx924_fail
- rx924_cur."!mark_push"(0, -1, 0, $P10)
+ rx923_cur."!cursor_pos"(rx923_pos)
+ $P10 = rx923_cur."O"("%methodop")
+ unless $P10, rx923_fail
+ rx923_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx924_pos = $P10."pos"()
-.annotate "line", 448
+ rx923_pos = $P10."pos"()
+.annotate "line", 444
# rx pass
- rx924_cur."!cursor_pass"(rx924_pos, "postcircumfix:sym<{ }>")
- rx924_cur."!cursor_debug"("PASS ", "postcircumfix:sym<{ }>", " at pos=", rx924_pos)
- .return (rx924_cur)
- rx924_fail:
-.annotate "line", 421
- (rx924_rep, rx924_pos, $I10, $P10) = rx924_cur."!mark_fail"(0)
- lt rx924_pos, -1, rx924_done
- eq rx924_pos, -1, rx924_fail
+ rx923_cur."!cursor_pass"(rx923_pos, "postcircumfix:sym<[ ]>")
+ rx923_cur."!cursor_debug"("PASS ", "postcircumfix:sym<[ ]>", " at pos=", rx923_pos)
+ .return (rx923_cur)
+ rx923_fail:
+.annotate "line", 422
+ (rx923_rep, rx923_pos, $I10, $P10) = rx923_cur."!mark_fail"(0)
+ lt rx923_pos, -1, rx923_done
+ eq rx923_pos, -1, rx923_fail
jump $I10
- rx924_done:
- rx924_cur."!cursor_fail"()
- rx924_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<{ }>")
- .return (rx924_cur)
+ rx923_done:
+ rx923_cur."!cursor_fail"()
+ rx923_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<[ ]>")
+ .return (rx923_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("228_1271336396.90314") :method
-.annotate "line", 421
- $P926 = self."!PREFIX__!subrule"("", "{")
- new $P927, "ResizablePMCArray"
- push $P927, $P926
- .return ($P927)
+.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("228_1271948667.92136") :method
+.annotate "line", 422
+ $P925 = self."!PREFIX__!subrule"("", "[")
+ new $P926, "ResizablePMCArray"
+ push $P926, $P925
+ .return ($P926)
.end
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>" :subid("229_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx930_tgt
- .local int rx930_pos
- .local int rx930_off
- .local int rx930_eos
- .local int rx930_rep
- .local pmc rx930_cur
- (rx930_cur, rx930_pos, rx930_tgt) = self."!cursor_start"()
- rx930_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
- .lex unicode:"$\x{a2}", rx930_cur
- .local pmc match
- .lex "$/", match
- length rx930_eos, rx930_tgt
- set rx930_off, 0
- lt rx930_pos, 2, rx930_start
- sub rx930_off, rx930_pos, 1
- substr rx930_tgt, rx930_tgt, rx930_off
- rx930_start:
+.sub "postcircumfix:sym<{ }>" :subid("229_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx929_tgt
+ .local int rx929_pos
+ .local int rx929_off
+ .local int rx929_eos
+ .local int rx929_rep
+ .local pmc rx929_cur
+ (rx929_cur, rx929_pos, rx929_tgt) = self."!cursor_start"()
+ rx929_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+ .lex unicode:"$\x{a2}", rx929_cur
+ .local pmc match
+ .lex "$/", match
+ length rx929_eos, rx929_tgt
+ set rx929_off, 0
+ lt rx929_pos, 2, rx929_start
+ sub rx929_off, rx929_pos, 1
+ substr rx929_tgt, rx929_tgt, rx929_off
+ rx929_start:
$I10 = self.'from'()
ne $I10, -1, rxscan933_done
goto rxscan933_scan
rxscan933_loop:
- ($P10) = rx930_cur."from"()
+ ($P10) = rx929_cur."from"()
inc $P10
- set rx930_pos, $P10
- ge rx930_pos, rx930_eos, rxscan933_done
+ set rx929_pos, $P10
+ ge rx929_pos, rx929_eos, rxscan933_done
rxscan933_scan:
set_addr $I10, rxscan933_loop
- rx930_cur."!mark_push"(0, rx930_pos, $I10)
+ rx929_cur."!mark_push"(0, rx929_pos, $I10)
rxscan933_done:
-.annotate "line", 454
- # rx enumcharlist negate=0 zerowidth
- ge rx930_pos, rx930_eos, rx930_fail
- sub $I10, rx930_pos, rx930_off
- substr $S10, rx930_tgt, $I10, 1
- index $I11, "<", $S10
- lt $I11, 0, rx930_fail
- # rx subrule "quote_EXPR" subtype=capture negate=
- rx930_cur."!cursor_pos"(rx930_pos)
- $P10 = rx930_cur."quote_EXPR"(":q")
- unless $P10, rx930_fail
- rx930_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("quote_EXPR")
- rx930_pos = $P10."pos"()
-.annotate "line", 455
+.annotate "line", 450
+ # rx literal "{"
+ add $I11, rx929_pos, 1
+ gt $I11, rx929_eos, rx929_fail
+ sub $I11, rx929_pos, rx929_off
+ substr $S10, rx929_tgt, $I11, 1
+ ne $S10, "{", rx929_fail
+ add rx929_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx929_cur."!cursor_pos"(rx929_pos)
+ $P10 = rx929_cur."ws"()
+ unless $P10, rx929_fail
+ rx929_pos = $P10."pos"()
+ # rx subrule "EXPR" subtype=capture negate=
+ rx929_cur."!cursor_pos"(rx929_pos)
+ $P10 = rx929_cur."EXPR"()
+ unless $P10, rx929_fail
+ rx929_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("EXPR")
+ rx929_pos = $P10."pos"()
+ # rx literal "}"
+ add $I11, rx929_pos, 1
+ gt $I11, rx929_eos, rx929_fail
+ sub $I11, rx929_pos, rx929_off
+ substr $S10, rx929_tgt, $I11, 1
+ ne $S10, "}", rx929_fail
+ add rx929_pos, 1
+.annotate "line", 451
# rx subrule "O" subtype=capture negate=
- rx930_cur."!cursor_pos"(rx930_pos)
- $P10 = rx930_cur."O"("%methodop")
- unless $P10, rx930_fail
- rx930_cur."!mark_push"(0, -1, 0, $P10)
+ rx929_cur."!cursor_pos"(rx929_pos)
+ $P10 = rx929_cur."O"("%methodop")
+ unless $P10, rx929_fail
+ rx929_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx930_pos = $P10."pos"()
-.annotate "line", 453
+ rx929_pos = $P10."pos"()
+.annotate "line", 449
# rx pass
- rx930_cur."!cursor_pass"(rx930_pos, "postcircumfix:sym<ang>")
- rx930_cur."!cursor_debug"("PASS ", "postcircumfix:sym<ang>", " at pos=", rx930_pos)
- .return (rx930_cur)
- rx930_fail:
-.annotate "line", 421
- (rx930_rep, rx930_pos, $I10, $P10) = rx930_cur."!mark_fail"(0)
- lt rx930_pos, -1, rx930_done
- eq rx930_pos, -1, rx930_fail
+ rx929_cur."!cursor_pass"(rx929_pos, "postcircumfix:sym<{ }>")
+ rx929_cur."!cursor_debug"("PASS ", "postcircumfix:sym<{ }>", " at pos=", rx929_pos)
+ .return (rx929_cur)
+ rx929_fail:
+.annotate "line", 422
+ (rx929_rep, rx929_pos, $I10, $P10) = rx929_cur."!mark_fail"(0)
+ lt rx929_pos, -1, rx929_done
+ eq rx929_pos, -1, rx929_fail
jump $I10
- rx930_done:
- rx930_cur."!cursor_fail"()
- rx930_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<ang>")
- .return (rx930_cur)
+ rx929_done:
+ rx929_cur."!cursor_fail"()
+ rx929_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<{ }>")
+ .return (rx929_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>" :subid("230_1271336396.90314") :method
-.annotate "line", 421
+.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("230_1271948667.92136") :method
+.annotate "line", 422
+ $P931 = self."!PREFIX__!subrule"("", "{")
new $P932, "ResizablePMCArray"
- push $P932, "<"
+ push $P932, $P931
.return ($P932)
.end
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>" :subid("231_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
+.sub "postcircumfix:sym<ang>" :subid("231_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
.local string rx935_tgt
.local int rx935_pos
.local int rx935_off
@@ -11286,7 +11277,7 @@
.local int rx935_rep
.local pmc rx935_cur
(rx935_cur, rx935_pos, rx935_tgt) = self."!cursor_start"()
- rx935_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+ rx935_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
.lex unicode:"$\x{a2}", rx935_cur
.local pmc match
.lex "$/", match
@@ -11297,45 +11288,32 @@
substr rx935_tgt, rx935_tgt, rx935_off
rx935_start:
$I10 = self.'from'()
- ne $I10, -1, rxscan939_done
- goto rxscan939_scan
- rxscan939_loop:
+ ne $I10, -1, rxscan938_done
+ goto rxscan938_scan
+ rxscan938_loop:
($P10) = rx935_cur."from"()
inc $P10
set rx935_pos, $P10
- ge rx935_pos, rx935_eos, rxscan939_done
- rxscan939_scan:
- set_addr $I10, rxscan939_loop
+ ge rx935_pos, rx935_eos, rxscan938_done
+ rxscan938_scan:
+ set_addr $I10, rxscan938_loop
rx935_cur."!mark_push"(0, rx935_pos, $I10)
- rxscan939_done:
-.annotate "line", 459
- # rx literal "("
- add $I11, rx935_pos, 1
- gt $I11, rx935_eos, rx935_fail
- sub $I11, rx935_pos, rx935_off
- substr $S10, rx935_tgt, $I11, 1
- ne $S10, "(", rx935_fail
- add rx935_pos, 1
- # rx subrule "ws" subtype=method negate=
- rx935_cur."!cursor_pos"(rx935_pos)
- $P10 = rx935_cur."ws"()
- unless $P10, rx935_fail
- rx935_pos = $P10."pos"()
- # rx subrule "arglist" subtype=capture negate=
+ rxscan938_done:
+.annotate "line", 455
+ # rx enumcharlist negate=0 zerowidth
+ ge rx935_pos, rx935_eos, rx935_fail
+ sub $I10, rx935_pos, rx935_off
+ substr $S10, rx935_tgt, $I10, 1
+ index $I11, "<", $S10
+ lt $I11, 0, rx935_fail
+ # rx subrule "quote_EXPR" subtype=capture negate=
rx935_cur."!cursor_pos"(rx935_pos)
- $P10 = rx935_cur."arglist"()
+ $P10 = rx935_cur."quote_EXPR"(":q")
unless $P10, rx935_fail
rx935_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("arglist")
+ $P10."!cursor_names"("quote_EXPR")
rx935_pos = $P10."pos"()
- # rx literal ")"
- add $I11, rx935_pos, 1
- gt $I11, rx935_eos, rx935_fail
- sub $I11, rx935_pos, rx935_off
- substr $S10, rx935_tgt, $I11, 1
- ne $S10, ")", rx935_fail
- add rx935_pos, 1
-.annotate "line", 460
+.annotate "line", 456
# rx subrule "O" subtype=capture negate=
rx935_cur."!cursor_pos"(rx935_pos)
$P10 = rx935_cur."O"("%methodop")
@@ -11343,4087 +11321,4108 @@
rx935_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
rx935_pos = $P10."pos"()
-.annotate "line", 458
+.annotate "line", 454
# rx pass
- rx935_cur."!cursor_pass"(rx935_pos, "postcircumfix:sym<( )>")
- rx935_cur."!cursor_debug"("PASS ", "postcircumfix:sym<( )>", " at pos=", rx935_pos)
+ rx935_cur."!cursor_pass"(rx935_pos, "postcircumfix:sym<ang>")
+ rx935_cur."!cursor_debug"("PASS ", "postcircumfix:sym<ang>", " at pos=", rx935_pos)
.return (rx935_cur)
rx935_fail:
-.annotate "line", 421
+.annotate "line", 422
(rx935_rep, rx935_pos, $I10, $P10) = rx935_cur."!mark_fail"(0)
lt rx935_pos, -1, rx935_done
eq rx935_pos, -1, rx935_fail
jump $I10
rx935_done:
rx935_cur."!cursor_fail"()
- rx935_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<( )>")
+ rx935_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<ang>")
.return (rx935_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>" :subid("232_1271336396.90314") :method
-.annotate "line", 421
- $P937 = self."!PREFIX__!subrule"("", "(")
- new $P938, "ResizablePMCArray"
- push $P938, $P937
- .return ($P938)
+.sub "!PREFIX__postcircumfix:sym<ang>" :subid("232_1271948667.92136") :method
+.annotate "line", 422
+ new $P937, "ResizablePMCArray"
+ push $P937, "<"
+ .return ($P937)
.end
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>" :subid("233_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx941_tgt
- .local int rx941_pos
- .local int rx941_off
- .local int rx941_eos
- .local int rx941_rep
- .local pmc rx941_cur
- (rx941_cur, rx941_pos, rx941_tgt) = self."!cursor_start"()
- rx941_cur."!cursor_debug"("START ", "postfix:sym<.>")
- .lex unicode:"$\x{a2}", rx941_cur
- .local pmc match
- .lex "$/", match
- length rx941_eos, rx941_tgt
- set rx941_off, 0
- lt rx941_pos, 2, rx941_start
- sub rx941_off, rx941_pos, 1
- substr rx941_tgt, rx941_tgt, rx941_off
- rx941_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan945_done
- goto rxscan945_scan
- rxscan945_loop:
- ($P10) = rx941_cur."from"()
- inc $P10
- set rx941_pos, $P10
- ge rx941_pos, rx941_eos, rxscan945_done
- rxscan945_scan:
- set_addr $I10, rxscan945_loop
- rx941_cur."!mark_push"(0, rx941_pos, $I10)
- rxscan945_done:
-.annotate "line", 463
- # rx subrule "dotty" subtype=capture negate=
- rx941_cur."!cursor_pos"(rx941_pos)
- $P10 = rx941_cur."dotty"()
- unless $P10, rx941_fail
- rx941_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("dotty")
- rx941_pos = $P10."pos"()
+.sub "postcircumfix:sym<( )>" :subid("233_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx940_tgt
+ .local int rx940_pos
+ .local int rx940_off
+ .local int rx940_eos
+ .local int rx940_rep
+ .local pmc rx940_cur
+ (rx940_cur, rx940_pos, rx940_tgt) = self."!cursor_start"()
+ rx940_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+ .lex unicode:"$\x{a2}", rx940_cur
+ .local pmc match
+ .lex "$/", match
+ length rx940_eos, rx940_tgt
+ set rx940_off, 0
+ lt rx940_pos, 2, rx940_start
+ sub rx940_off, rx940_pos, 1
+ substr rx940_tgt, rx940_tgt, rx940_off
+ rx940_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan944_done
+ goto rxscan944_scan
+ rxscan944_loop:
+ ($P10) = rx940_cur."from"()
+ inc $P10
+ set rx940_pos, $P10
+ ge rx940_pos, rx940_eos, rxscan944_done
+ rxscan944_scan:
+ set_addr $I10, rxscan944_loop
+ rx940_cur."!mark_push"(0, rx940_pos, $I10)
+ rxscan944_done:
+.annotate "line", 460
+ # rx literal "("
+ add $I11, rx940_pos, 1
+ gt $I11, rx940_eos, rx940_fail
+ sub $I11, rx940_pos, rx940_off
+ substr $S10, rx940_tgt, $I11, 1
+ ne $S10, "(", rx940_fail
+ add rx940_pos, 1
+ # rx subrule "ws" subtype=method negate=
+ rx940_cur."!cursor_pos"(rx940_pos)
+ $P10 = rx940_cur."ws"()
+ unless $P10, rx940_fail
+ rx940_pos = $P10."pos"()
+ # rx subrule "arglist" subtype=capture negate=
+ rx940_cur."!cursor_pos"(rx940_pos)
+ $P10 = rx940_cur."arglist"()
+ unless $P10, rx940_fail
+ rx940_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("arglist")
+ rx940_pos = $P10."pos"()
+ # rx literal ")"
+ add $I11, rx940_pos, 1
+ gt $I11, rx940_eos, rx940_fail
+ sub $I11, rx940_pos, rx940_off
+ substr $S10, rx940_tgt, $I11, 1
+ ne $S10, ")", rx940_fail
+ add rx940_pos, 1
+.annotate "line", 461
# rx subrule "O" subtype=capture negate=
- rx941_cur."!cursor_pos"(rx941_pos)
- $P10 = rx941_cur."O"("%methodop")
- unless $P10, rx941_fail
- rx941_cur."!mark_push"(0, -1, 0, $P10)
+ rx940_cur."!cursor_pos"(rx940_pos)
+ $P10 = rx940_cur."O"("%methodop")
+ unless $P10, rx940_fail
+ rx940_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx941_pos = $P10."pos"()
+ rx940_pos = $P10."pos"()
+.annotate "line", 459
# rx pass
- rx941_cur."!cursor_pass"(rx941_pos, "postfix:sym<.>")
- rx941_cur."!cursor_debug"("PASS ", "postfix:sym<.>", " at pos=", rx941_pos)
- .return (rx941_cur)
- rx941_fail:
-.annotate "line", 421
- (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0)
- lt rx941_pos, -1, rx941_done
- eq rx941_pos, -1, rx941_fail
- jump $I10
- rx941_done:
- rx941_cur."!cursor_fail"()
- rx941_cur."!cursor_debug"("FAIL ", "postfix:sym<.>")
- .return (rx941_cur)
+ rx940_cur."!cursor_pass"(rx940_pos, "postcircumfix:sym<( )>")
+ rx940_cur."!cursor_debug"("PASS ", "postcircumfix:sym<( )>", " at pos=", rx940_pos)
+ .return (rx940_cur)
+ rx940_fail:
+.annotate "line", 422
+ (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0)
+ lt rx940_pos, -1, rx940_done
+ eq rx940_pos, -1, rx940_fail
+ jump $I10
+ rx940_done:
+ rx940_cur."!cursor_fail"()
+ rx940_cur."!cursor_debug"("FAIL ", "postcircumfix:sym<( )>")
+ .return (rx940_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>" :subid("234_1271336396.90314") :method
-.annotate "line", 421
- $P943 = self."!PREFIX__!subrule"("dotty", "")
- new $P944, "ResizablePMCArray"
- push $P944, $P943
- .return ($P944)
+.sub "!PREFIX__postcircumfix:sym<( )>" :subid("234_1271948667.92136") :method
+.annotate "line", 422
+ $P942 = self."!PREFIX__!subrule"("", "(")
+ new $P943, "ResizablePMCArray"
+ push $P943, $P942
+ .return ($P943)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>" :subid("235_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx947_tgt
- .local int rx947_pos
- .local int rx947_off
- .local int rx947_eos
- .local int rx947_rep
- .local pmc rx947_cur
- (rx947_cur, rx947_pos, rx947_tgt) = self."!cursor_start"()
- rx947_cur."!cursor_debug"("START ", "prefix:sym<++>")
- .lex unicode:"$\x{a2}", rx947_cur
- .local pmc match
- .lex "$/", match
- length rx947_eos, rx947_tgt
- set rx947_off, 0
- lt rx947_pos, 2, rx947_start
- sub rx947_off, rx947_pos, 1
- substr rx947_tgt, rx947_tgt, rx947_off
- rx947_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan951_done
- goto rxscan951_scan
- rxscan951_loop:
- ($P10) = rx947_cur."from"()
- inc $P10
- set rx947_pos, $P10
- ge rx947_pos, rx947_eos, rxscan951_done
- rxscan951_scan:
- set_addr $I10, rxscan951_loop
- rx947_cur."!mark_push"(0, rx947_pos, $I10)
- rxscan951_done:
-.annotate "line", 465
- # rx subcapture "sym"
- set_addr $I10, rxcap_952_fail
- rx947_cur."!mark_push"(0, rx947_pos, $I10)
- # rx literal "++"
- add $I11, rx947_pos, 2
- gt $I11, rx947_eos, rx947_fail
- sub $I11, rx947_pos, rx947_off
- substr $S10, rx947_tgt, $I11, 2
- ne $S10, "++", rx947_fail
- add rx947_pos, 2
- set_addr $I10, rxcap_952_fail
- ($I12, $I11) = rx947_cur."!mark_peek"($I10)
- rx947_cur."!cursor_pos"($I11)
- ($P10) = rx947_cur."!cursor_start"()
- $P10."!cursor_pass"(rx947_pos, "")
- rx947_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("sym")
- goto rxcap_952_done
- rxcap_952_fail:
- goto rx947_fail
- rxcap_952_done:
+.sub "postfix:sym<.>" :subid("235_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx946_tgt
+ .local int rx946_pos
+ .local int rx946_off
+ .local int rx946_eos
+ .local int rx946_rep
+ .local pmc rx946_cur
+ (rx946_cur, rx946_pos, rx946_tgt) = self."!cursor_start"()
+ rx946_cur."!cursor_debug"("START ", "postfix:sym<.>")
+ .lex unicode:"$\x{a2}", rx946_cur
+ .local pmc match
+ .lex "$/", match
+ length rx946_eos, rx946_tgt
+ set rx946_off, 0
+ lt rx946_pos, 2, rx946_start
+ sub rx946_off, rx946_pos, 1
+ substr rx946_tgt, rx946_tgt, rx946_off
+ rx946_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan950_done
+ goto rxscan950_scan
+ rxscan950_loop:
+ ($P10) = rx946_cur."from"()
+ inc $P10
+ set rx946_pos, $P10
+ ge rx946_pos, rx946_eos, rxscan950_done
+ rxscan950_scan:
+ set_addr $I10, rxscan950_loop
+ rx946_cur."!mark_push"(0, rx946_pos, $I10)
+ rxscan950_done:
+.annotate "line", 464
+ # rx subrule "dotty" subtype=capture negate=
+ rx946_cur."!cursor_pos"(rx946_pos)
+ $P10 = rx946_cur."dotty"()
+ unless $P10, rx946_fail
+ rx946_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("dotty")
+ rx946_pos = $P10."pos"()
# rx subrule "O" subtype=capture negate=
- rx947_cur."!cursor_pos"(rx947_pos)
- $P10 = rx947_cur."O"("%autoincrement, :pirop<inc>")
- unless $P10, rx947_fail
- rx947_cur."!mark_push"(0, -1, 0, $P10)
+ rx946_cur."!cursor_pos"(rx946_pos)
+ $P10 = rx946_cur."O"("%methodop")
+ unless $P10, rx946_fail
+ rx946_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx947_pos = $P10."pos"()
+ rx946_pos = $P10."pos"()
# rx pass
- rx947_cur."!cursor_pass"(rx947_pos, "prefix:sym<++>")
- rx947_cur."!cursor_debug"("PASS ", "prefix:sym<++>", " at pos=", rx947_pos)
- .return (rx947_cur)
- rx947_fail:
-.annotate "line", 421
- (rx947_rep, rx947_pos, $I10, $P10) = rx947_cur."!mark_fail"(0)
- lt rx947_pos, -1, rx947_done
- eq rx947_pos, -1, rx947_fail
- jump $I10
- rx947_done:
- rx947_cur."!cursor_fail"()
- rx947_cur."!cursor_debug"("FAIL ", "prefix:sym<++>")
- .return (rx947_cur)
+ rx946_cur."!cursor_pass"(rx946_pos, "postfix:sym<.>")
+ rx946_cur."!cursor_debug"("PASS ", "postfix:sym<.>", " at pos=", rx946_pos)
+ .return (rx946_cur)
+ rx946_fail:
+.annotate "line", 422
+ (rx946_rep, rx946_pos, $I10, $P10) = rx946_cur."!mark_fail"(0)
+ lt rx946_pos, -1, rx946_done
+ eq rx946_pos, -1, rx946_fail
+ jump $I10
+ rx946_done:
+ rx946_cur."!cursor_fail"()
+ rx946_cur."!cursor_debug"("FAIL ", "postfix:sym<.>")
+ .return (rx946_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>" :subid("236_1271336396.90314") :method
-.annotate "line", 421
- $P949 = self."!PREFIX__!subrule"("O", "++")
- new $P950, "ResizablePMCArray"
- push $P950, $P949
- .return ($P950)
+.sub "!PREFIX__postfix:sym<.>" :subid("236_1271948667.92136") :method
+.annotate "line", 422
+ $P948 = self."!PREFIX__!subrule"("dotty", "")
+ new $P949, "ResizablePMCArray"
+ push $P949, $P948
+ .return ($P949)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->" :subid("237_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx954_tgt
- .local int rx954_pos
- .local int rx954_off
- .local int rx954_eos
- .local int rx954_rep
- .local pmc rx954_cur
- (rx954_cur, rx954_pos, rx954_tgt) = self."!cursor_start"()
- rx954_cur."!cursor_debug"("START ", "prefix:sym<-->")
- .lex unicode:"$\x{a2}", rx954_cur
- .local pmc match
- .lex "$/", match
- length rx954_eos, rx954_tgt
- set rx954_off, 0
- lt rx954_pos, 2, rx954_start
- sub rx954_off, rx954_pos, 1
- substr rx954_tgt, rx954_tgt, rx954_off
- rx954_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan958_done
- goto rxscan958_scan
- rxscan958_loop:
- ($P10) = rx954_cur."from"()
- inc $P10
- set rx954_pos, $P10
- ge rx954_pos, rx954_eos, rxscan958_done
- rxscan958_scan:
- set_addr $I10, rxscan958_loop
- rx954_cur."!mark_push"(0, rx954_pos, $I10)
- rxscan958_done:
+.sub "prefix:sym<++>" :subid("237_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx952_tgt
+ .local int rx952_pos
+ .local int rx952_off
+ .local int rx952_eos
+ .local int rx952_rep
+ .local pmc rx952_cur
+ (rx952_cur, rx952_pos, rx952_tgt) = self."!cursor_start"()
+ rx952_cur."!cursor_debug"("START ", "prefix:sym<++>")
+ .lex unicode:"$\x{a2}", rx952_cur
+ .local pmc match
+ .lex "$/", match
+ length rx952_eos, rx952_tgt
+ set rx952_off, 0
+ lt rx952_pos, 2, rx952_start
+ sub rx952_off, rx952_pos, 1
+ substr rx952_tgt, rx952_tgt, rx952_off
+ rx952_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan956_done
+ goto rxscan956_scan
+ rxscan956_loop:
+ ($P10) = rx952_cur."from"()
+ inc $P10
+ set rx952_pos, $P10
+ ge rx952_pos, rx952_eos, rxscan956_done
+ rxscan956_scan:
+ set_addr $I10, rxscan956_loop
+ rx952_cur."!mark_push"(0, rx952_pos, $I10)
+ rxscan956_done:
.annotate "line", 466
# rx subcapture "sym"
- set_addr $I10, rxcap_959_fail
- rx954_cur."!mark_push"(0, rx954_pos, $I10)
- # rx literal "--"
- add $I11, rx954_pos, 2
- gt $I11, rx954_eos, rx954_fail
- sub $I11, rx954_pos, rx954_off
- substr $S10, rx954_tgt, $I11, 2
- ne $S10, "--", rx954_fail
- add rx954_pos, 2
- set_addr $I10, rxcap_959_fail
- ($I12, $I11) = rx954_cur."!mark_peek"($I10)
- rx954_cur."!cursor_pos"($I11)
- ($P10) = rx954_cur."!cursor_start"()
- $P10."!cursor_pass"(rx954_pos, "")
- rx954_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_957_fail
+ rx952_cur."!mark_push"(0, rx952_pos, $I10)
+ # rx literal "++"
+ add $I11, rx952_pos, 2
+ gt $I11, rx952_eos, rx952_fail
+ sub $I11, rx952_pos, rx952_off
+ substr $S10, rx952_tgt, $I11, 2
+ ne $S10, "++", rx952_fail
+ add rx952_pos, 2
+ set_addr $I10, rxcap_957_fail
+ ($I12, $I11) = rx952_cur."!mark_peek"($I10)
+ rx952_cur."!cursor_pos"($I11)
+ ($P10) = rx952_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx952_pos, "")
+ rx952_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_959_done
- rxcap_959_fail:
- goto rx954_fail
- rxcap_959_done:
+ goto rxcap_957_done
+ rxcap_957_fail:
+ goto rx952_fail
+ rxcap_957_done:
# rx subrule "O" subtype=capture negate=
- rx954_cur."!cursor_pos"(rx954_pos)
- $P10 = rx954_cur."O"("%autoincrement, :pirop<dec>")
- unless $P10, rx954_fail
- rx954_cur."!mark_push"(0, -1, 0, $P10)
+ rx952_cur."!cursor_pos"(rx952_pos)
+ $P10 = rx952_cur."O"("%autoincrement, :pirop<inc>")
+ unless $P10, rx952_fail
+ rx952_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx954_pos = $P10."pos"()
+ rx952_pos = $P10."pos"()
# rx pass
- rx954_cur."!cursor_pass"(rx954_pos, "prefix:sym<-->")
- rx954_cur."!cursor_debug"("PASS ", "prefix:sym<-->", " at pos=", rx954_pos)
- .return (rx954_cur)
- rx954_fail:
-.annotate "line", 421
- (rx954_rep, rx954_pos, $I10, $P10) = rx954_cur."!mark_fail"(0)
- lt rx954_pos, -1, rx954_done
- eq rx954_pos, -1, rx954_fail
- jump $I10
- rx954_done:
- rx954_cur."!cursor_fail"()
- rx954_cur."!cursor_debug"("FAIL ", "prefix:sym<-->")
- .return (rx954_cur)
+ rx952_cur."!cursor_pass"(rx952_pos, "prefix:sym<++>")
+ rx952_cur."!cursor_debug"("PASS ", "prefix:sym<++>", " at pos=", rx952_pos)
+ .return (rx952_cur)
+ rx952_fail:
+.annotate "line", 422
+ (rx952_rep, rx952_pos, $I10, $P10) = rx952_cur."!mark_fail"(0)
+ lt rx952_pos, -1, rx952_done
+ eq rx952_pos, -1, rx952_fail
+ jump $I10
+ rx952_done:
+ rx952_cur."!cursor_fail"()
+ rx952_cur."!cursor_debug"("FAIL ", "prefix:sym<++>")
+ .return (rx952_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->" :subid("238_1271336396.90314") :method
-.annotate "line", 421
- $P956 = self."!PREFIX__!subrule"("O", "--")
- new $P957, "ResizablePMCArray"
- push $P957, $P956
- .return ($P957)
+.sub "!PREFIX__prefix:sym<++>" :subid("238_1271948667.92136") :method
+.annotate "line", 422
+ $P954 = self."!PREFIX__!subrule"("O", "++")
+ new $P955, "ResizablePMCArray"
+ push $P955, $P954
+ .return ($P955)
.end
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>" :subid("239_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx961_tgt
- .local int rx961_pos
- .local int rx961_off
- .local int rx961_eos
- .local int rx961_rep
- .local pmc rx961_cur
- (rx961_cur, rx961_pos, rx961_tgt) = self."!cursor_start"()
- rx961_cur."!cursor_debug"("START ", "postfix:sym<++>")
- .lex unicode:"$\x{a2}", rx961_cur
- .local pmc match
- .lex "$/", match
- length rx961_eos, rx961_tgt
- set rx961_off, 0
- lt rx961_pos, 2, rx961_start
- sub rx961_off, rx961_pos, 1
- substr rx961_tgt, rx961_tgt, rx961_off
- rx961_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan965_done
- goto rxscan965_scan
- rxscan965_loop:
- ($P10) = rx961_cur."from"()
- inc $P10
- set rx961_pos, $P10
- ge rx961_pos, rx961_eos, rxscan965_done
- rxscan965_scan:
- set_addr $I10, rxscan965_loop
- rx961_cur."!mark_push"(0, rx961_pos, $I10)
- rxscan965_done:
-.annotate "line", 469
+.sub "prefix:sym<-->" :subid("239_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx959_tgt
+ .local int rx959_pos
+ .local int rx959_off
+ .local int rx959_eos
+ .local int rx959_rep
+ .local pmc rx959_cur
+ (rx959_cur, rx959_pos, rx959_tgt) = self."!cursor_start"()
+ rx959_cur."!cursor_debug"("START ", "prefix:sym<-->")
+ .lex unicode:"$\x{a2}", rx959_cur
+ .local pmc match
+ .lex "$/", match
+ length rx959_eos, rx959_tgt
+ set rx959_off, 0
+ lt rx959_pos, 2, rx959_start
+ sub rx959_off, rx959_pos, 1
+ substr rx959_tgt, rx959_tgt, rx959_off
+ rx959_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan963_done
+ goto rxscan963_scan
+ rxscan963_loop:
+ ($P10) = rx959_cur."from"()
+ inc $P10
+ set rx959_pos, $P10
+ ge rx959_pos, rx959_eos, rxscan963_done
+ rxscan963_scan:
+ set_addr $I10, rxscan963_loop
+ rx959_cur."!mark_push"(0, rx959_pos, $I10)
+ rxscan963_done:
+.annotate "line", 467
# rx subcapture "sym"
- set_addr $I10, rxcap_966_fail
- rx961_cur."!mark_push"(0, rx961_pos, $I10)
- # rx literal "++"
- add $I11, rx961_pos, 2
- gt $I11, rx961_eos, rx961_fail
- sub $I11, rx961_pos, rx961_off
- substr $S10, rx961_tgt, $I11, 2
- ne $S10, "++", rx961_fail
- add rx961_pos, 2
- set_addr $I10, rxcap_966_fail
- ($I12, $I11) = rx961_cur."!mark_peek"($I10)
- rx961_cur."!cursor_pos"($I11)
- ($P10) = rx961_cur."!cursor_start"()
- $P10."!cursor_pass"(rx961_pos, "")
- rx961_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_964_fail
+ rx959_cur."!mark_push"(0, rx959_pos, $I10)
+ # rx literal "--"
+ add $I11, rx959_pos, 2
+ gt $I11, rx959_eos, rx959_fail
+ sub $I11, rx959_pos, rx959_off
+ substr $S10, rx959_tgt, $I11, 2
+ ne $S10, "--", rx959_fail
+ add rx959_pos, 2
+ set_addr $I10, rxcap_964_fail
+ ($I12, $I11) = rx959_cur."!mark_peek"($I10)
+ rx959_cur."!cursor_pos"($I11)
+ ($P10) = rx959_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx959_pos, "")
+ rx959_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_966_done
- rxcap_966_fail:
- goto rx961_fail
- rxcap_966_done:
+ goto rxcap_964_done
+ rxcap_964_fail:
+ goto rx959_fail
+ rxcap_964_done:
# rx subrule "O" subtype=capture negate=
- rx961_cur."!cursor_pos"(rx961_pos)
- $P10 = rx961_cur."O"("%autoincrement")
- unless $P10, rx961_fail
- rx961_cur."!mark_push"(0, -1, 0, $P10)
+ rx959_cur."!cursor_pos"(rx959_pos)
+ $P10 = rx959_cur."O"("%autoincrement, :pirop<dec>")
+ unless $P10, rx959_fail
+ rx959_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx961_pos = $P10."pos"()
+ rx959_pos = $P10."pos"()
# rx pass
- rx961_cur."!cursor_pass"(rx961_pos, "postfix:sym<++>")
- rx961_cur."!cursor_debug"("PASS ", "postfix:sym<++>", " at pos=", rx961_pos)
- .return (rx961_cur)
- rx961_fail:
-.annotate "line", 421
- (rx961_rep, rx961_pos, $I10, $P10) = rx961_cur."!mark_fail"(0)
- lt rx961_pos, -1, rx961_done
- eq rx961_pos, -1, rx961_fail
- jump $I10
- rx961_done:
- rx961_cur."!cursor_fail"()
- rx961_cur."!cursor_debug"("FAIL ", "postfix:sym<++>")
- .return (rx961_cur)
+ rx959_cur."!cursor_pass"(rx959_pos, "prefix:sym<-->")
+ rx959_cur."!cursor_debug"("PASS ", "prefix:sym<-->", " at pos=", rx959_pos)
+ .return (rx959_cur)
+ rx959_fail:
+.annotate "line", 422
+ (rx959_rep, rx959_pos, $I10, $P10) = rx959_cur."!mark_fail"(0)
+ lt rx959_pos, -1, rx959_done
+ eq rx959_pos, -1, rx959_fail
+ jump $I10
+ rx959_done:
+ rx959_cur."!cursor_fail"()
+ rx959_cur."!cursor_debug"("FAIL ", "prefix:sym<-->")
+ .return (rx959_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>" :subid("240_1271336396.90314") :method
-.annotate "line", 421
- $P963 = self."!PREFIX__!subrule"("O", "++")
- new $P964, "ResizablePMCArray"
- push $P964, $P963
- .return ($P964)
+.sub "!PREFIX__prefix:sym<-->" :subid("240_1271948667.92136") :method
+.annotate "line", 422
+ $P961 = self."!PREFIX__!subrule"("O", "--")
+ new $P962, "ResizablePMCArray"
+ push $P962, $P961
+ .return ($P962)
.end
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->" :subid("241_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx968_tgt
- .local int rx968_pos
- .local int rx968_off
- .local int rx968_eos
- .local int rx968_rep
- .local pmc rx968_cur
- (rx968_cur, rx968_pos, rx968_tgt) = self."!cursor_start"()
- rx968_cur."!cursor_debug"("START ", "postfix:sym<-->")
- .lex unicode:"$\x{a2}", rx968_cur
- .local pmc match
- .lex "$/", match
- length rx968_eos, rx968_tgt
- set rx968_off, 0
- lt rx968_pos, 2, rx968_start
- sub rx968_off, rx968_pos, 1
- substr rx968_tgt, rx968_tgt, rx968_off
- rx968_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan972_done
- goto rxscan972_scan
- rxscan972_loop:
- ($P10) = rx968_cur."from"()
- inc $P10
- set rx968_pos, $P10
- ge rx968_pos, rx968_eos, rxscan972_done
- rxscan972_scan:
- set_addr $I10, rxscan972_loop
- rx968_cur."!mark_push"(0, rx968_pos, $I10)
- rxscan972_done:
+.sub "postfix:sym<++>" :subid("241_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx966_tgt
+ .local int rx966_pos
+ .local int rx966_off
+ .local int rx966_eos
+ .local int rx966_rep
+ .local pmc rx966_cur
+ (rx966_cur, rx966_pos, rx966_tgt) = self."!cursor_start"()
+ rx966_cur."!cursor_debug"("START ", "postfix:sym<++>")
+ .lex unicode:"$\x{a2}", rx966_cur
+ .local pmc match
+ .lex "$/", match
+ length rx966_eos, rx966_tgt
+ set rx966_off, 0
+ lt rx966_pos, 2, rx966_start
+ sub rx966_off, rx966_pos, 1
+ substr rx966_tgt, rx966_tgt, rx966_off
+ rx966_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan970_done
+ goto rxscan970_scan
+ rxscan970_loop:
+ ($P10) = rx966_cur."from"()
+ inc $P10
+ set rx966_pos, $P10
+ ge rx966_pos, rx966_eos, rxscan970_done
+ rxscan970_scan:
+ set_addr $I10, rxscan970_loop
+ rx966_cur."!mark_push"(0, rx966_pos, $I10)
+ rxscan970_done:
.annotate "line", 470
# rx subcapture "sym"
- set_addr $I10, rxcap_973_fail
- rx968_cur."!mark_push"(0, rx968_pos, $I10)
- # rx literal "--"
- add $I11, rx968_pos, 2
- gt $I11, rx968_eos, rx968_fail
- sub $I11, rx968_pos, rx968_off
- substr $S10, rx968_tgt, $I11, 2
- ne $S10, "--", rx968_fail
- add rx968_pos, 2
- set_addr $I10, rxcap_973_fail
- ($I12, $I11) = rx968_cur."!mark_peek"($I10)
- rx968_cur."!cursor_pos"($I11)
- ($P10) = rx968_cur."!cursor_start"()
- $P10."!cursor_pass"(rx968_pos, "")
- rx968_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_971_fail
+ rx966_cur."!mark_push"(0, rx966_pos, $I10)
+ # rx literal "++"
+ add $I11, rx966_pos, 2
+ gt $I11, rx966_eos, rx966_fail
+ sub $I11, rx966_pos, rx966_off
+ substr $S10, rx966_tgt, $I11, 2
+ ne $S10, "++", rx966_fail
+ add rx966_pos, 2
+ set_addr $I10, rxcap_971_fail
+ ($I12, $I11) = rx966_cur."!mark_peek"($I10)
+ rx966_cur."!cursor_pos"($I11)
+ ($P10) = rx966_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx966_pos, "")
+ rx966_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_973_done
- rxcap_973_fail:
- goto rx968_fail
- rxcap_973_done:
+ goto rxcap_971_done
+ rxcap_971_fail:
+ goto rx966_fail
+ rxcap_971_done:
# rx subrule "O" subtype=capture negate=
- rx968_cur."!cursor_pos"(rx968_pos)
- $P10 = rx968_cur."O"("%autoincrement")
- unless $P10, rx968_fail
- rx968_cur."!mark_push"(0, -1, 0, $P10)
+ rx966_cur."!cursor_pos"(rx966_pos)
+ $P10 = rx966_cur."O"("%autoincrement")
+ unless $P10, rx966_fail
+ rx966_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx968_pos = $P10."pos"()
+ rx966_pos = $P10."pos"()
# rx pass
- rx968_cur."!cursor_pass"(rx968_pos, "postfix:sym<-->")
- rx968_cur."!cursor_debug"("PASS ", "postfix:sym<-->", " at pos=", rx968_pos)
- .return (rx968_cur)
- rx968_fail:
-.annotate "line", 421
- (rx968_rep, rx968_pos, $I10, $P10) = rx968_cur."!mark_fail"(0)
- lt rx968_pos, -1, rx968_done
- eq rx968_pos, -1, rx968_fail
- jump $I10
- rx968_done:
- rx968_cur."!cursor_fail"()
- rx968_cur."!cursor_debug"("FAIL ", "postfix:sym<-->")
- .return (rx968_cur)
+ rx966_cur."!cursor_pass"(rx966_pos, "postfix:sym<++>")
+ rx966_cur."!cursor_debug"("PASS ", "postfix:sym<++>", " at pos=", rx966_pos)
+ .return (rx966_cur)
+ rx966_fail:
+.annotate "line", 422
+ (rx966_rep, rx966_pos, $I10, $P10) = rx966_cur."!mark_fail"(0)
+ lt rx966_pos, -1, rx966_done
+ eq rx966_pos, -1, rx966_fail
+ jump $I10
+ rx966_done:
+ rx966_cur."!cursor_fail"()
+ rx966_cur."!cursor_debug"("FAIL ", "postfix:sym<++>")
+ .return (rx966_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->" :subid("242_1271336396.90314") :method
-.annotate "line", 421
- $P970 = self."!PREFIX__!subrule"("O", "--")
- new $P971, "ResizablePMCArray"
- push $P971, $P970
- .return ($P971)
+.sub "!PREFIX__postfix:sym<++>" :subid("242_1271948667.92136") :method
+.annotate "line", 422
+ $P968 = self."!PREFIX__!subrule"("O", "++")
+ new $P969, "ResizablePMCArray"
+ push $P969, $P968
+ .return ($P969)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>" :subid("243_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx975_tgt
- .local int rx975_pos
- .local int rx975_off
- .local int rx975_eos
- .local int rx975_rep
- .local pmc rx975_cur
- (rx975_cur, rx975_pos, rx975_tgt) = self."!cursor_start"()
- rx975_cur."!cursor_debug"("START ", "infix:sym<**>")
- .lex unicode:"$\x{a2}", rx975_cur
- .local pmc match
- .lex "$/", match
- length rx975_eos, rx975_tgt
- set rx975_off, 0
- lt rx975_pos, 2, rx975_start
- sub rx975_off, rx975_pos, 1
- substr rx975_tgt, rx975_tgt, rx975_off
- rx975_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan979_done
- goto rxscan979_scan
- rxscan979_loop:
- ($P10) = rx975_cur."from"()
- inc $P10
- set rx975_pos, $P10
- ge rx975_pos, rx975_eos, rxscan979_done
- rxscan979_scan:
- set_addr $I10, rxscan979_loop
- rx975_cur."!mark_push"(0, rx975_pos, $I10)
- rxscan979_done:
-.annotate "line", 472
+.sub "postfix:sym<-->" :subid("243_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx973_tgt
+ .local int rx973_pos
+ .local int rx973_off
+ .local int rx973_eos
+ .local int rx973_rep
+ .local pmc rx973_cur
+ (rx973_cur, rx973_pos, rx973_tgt) = self."!cursor_start"()
+ rx973_cur."!cursor_debug"("START ", "postfix:sym<-->")
+ .lex unicode:"$\x{a2}", rx973_cur
+ .local pmc match
+ .lex "$/", match
+ length rx973_eos, rx973_tgt
+ set rx973_off, 0
+ lt rx973_pos, 2, rx973_start
+ sub rx973_off, rx973_pos, 1
+ substr rx973_tgt, rx973_tgt, rx973_off
+ rx973_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan977_done
+ goto rxscan977_scan
+ rxscan977_loop:
+ ($P10) = rx973_cur."from"()
+ inc $P10
+ set rx973_pos, $P10
+ ge rx973_pos, rx973_eos, rxscan977_done
+ rxscan977_scan:
+ set_addr $I10, rxscan977_loop
+ rx973_cur."!mark_push"(0, rx973_pos, $I10)
+ rxscan977_done:
+.annotate "line", 471
# rx subcapture "sym"
- set_addr $I10, rxcap_980_fail
- rx975_cur."!mark_push"(0, rx975_pos, $I10)
- # rx literal "**"
- add $I11, rx975_pos, 2
- gt $I11, rx975_eos, rx975_fail
- sub $I11, rx975_pos, rx975_off
- substr $S10, rx975_tgt, $I11, 2
- ne $S10, "**", rx975_fail
- add rx975_pos, 2
- set_addr $I10, rxcap_980_fail
- ($I12, $I11) = rx975_cur."!mark_peek"($I10)
- rx975_cur."!cursor_pos"($I11)
- ($P10) = rx975_cur."!cursor_start"()
- $P10."!cursor_pass"(rx975_pos, "")
- rx975_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_978_fail
+ rx973_cur."!mark_push"(0, rx973_pos, $I10)
+ # rx literal "--"
+ add $I11, rx973_pos, 2
+ gt $I11, rx973_eos, rx973_fail
+ sub $I11, rx973_pos, rx973_off
+ substr $S10, rx973_tgt, $I11, 2
+ ne $S10, "--", rx973_fail
+ add rx973_pos, 2
+ set_addr $I10, rxcap_978_fail
+ ($I12, $I11) = rx973_cur."!mark_peek"($I10)
+ rx973_cur."!cursor_pos"($I11)
+ ($P10) = rx973_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx973_pos, "")
+ rx973_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_980_done
- rxcap_980_fail:
- goto rx975_fail
- rxcap_980_done:
+ goto rxcap_978_done
+ rxcap_978_fail:
+ goto rx973_fail
+ rxcap_978_done:
# rx subrule "O" subtype=capture negate=
- rx975_cur."!cursor_pos"(rx975_pos)
- $P10 = rx975_cur."O"("%exponentiation, :pirop<pow>")
- unless $P10, rx975_fail
- rx975_cur."!mark_push"(0, -1, 0, $P10)
+ rx973_cur."!cursor_pos"(rx973_pos)
+ $P10 = rx973_cur."O"("%autoincrement")
+ unless $P10, rx973_fail
+ rx973_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx975_pos = $P10."pos"()
+ rx973_pos = $P10."pos"()
# rx pass
- rx975_cur."!cursor_pass"(rx975_pos, "infix:sym<**>")
- rx975_cur."!cursor_debug"("PASS ", "infix:sym<**>", " at pos=", rx975_pos)
- .return (rx975_cur)
- rx975_fail:
-.annotate "line", 421
- (rx975_rep, rx975_pos, $I10, $P10) = rx975_cur."!mark_fail"(0)
- lt rx975_pos, -1, rx975_done
- eq rx975_pos, -1, rx975_fail
- jump $I10
- rx975_done:
- rx975_cur."!cursor_fail"()
- rx975_cur."!cursor_debug"("FAIL ", "infix:sym<**>")
- .return (rx975_cur)
+ rx973_cur."!cursor_pass"(rx973_pos, "postfix:sym<-->")
+ rx973_cur."!cursor_debug"("PASS ", "postfix:sym<-->", " at pos=", rx973_pos)
+ .return (rx973_cur)
+ rx973_fail:
+.annotate "line", 422
+ (rx973_rep, rx973_pos, $I10, $P10) = rx973_cur."!mark_fail"(0)
+ lt rx973_pos, -1, rx973_done
+ eq rx973_pos, -1, rx973_fail
+ jump $I10
+ rx973_done:
+ rx973_cur."!cursor_fail"()
+ rx973_cur."!cursor_debug"("FAIL ", "postfix:sym<-->")
+ .return (rx973_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>" :subid("244_1271336396.90314") :method
-.annotate "line", 421
- $P977 = self."!PREFIX__!subrule"("O", "**")
- new $P978, "ResizablePMCArray"
- push $P978, $P977
- .return ($P978)
+.sub "!PREFIX__postfix:sym<-->" :subid("244_1271948667.92136") :method
+.annotate "line", 422
+ $P975 = self."!PREFIX__!subrule"("O", "--")
+ new $P976, "ResizablePMCArray"
+ push $P976, $P975
+ .return ($P976)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>" :subid("245_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx982_tgt
- .local int rx982_pos
- .local int rx982_off
- .local int rx982_eos
- .local int rx982_rep
- .local pmc rx982_cur
- (rx982_cur, rx982_pos, rx982_tgt) = self."!cursor_start"()
- rx982_cur."!cursor_debug"("START ", "prefix:sym<+>")
- .lex unicode:"$\x{a2}", rx982_cur
- .local pmc match
- .lex "$/", match
- length rx982_eos, rx982_tgt
- set rx982_off, 0
- lt rx982_pos, 2, rx982_start
- sub rx982_off, rx982_pos, 1
- substr rx982_tgt, rx982_tgt, rx982_off
- rx982_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan986_done
- goto rxscan986_scan
- rxscan986_loop:
- ($P10) = rx982_cur."from"()
- inc $P10
- set rx982_pos, $P10
- ge rx982_pos, rx982_eos, rxscan986_done
- rxscan986_scan:
- set_addr $I10, rxscan986_loop
- rx982_cur."!mark_push"(0, rx982_pos, $I10)
- rxscan986_done:
-.annotate "line", 474
+.sub "infix:sym<**>" :subid("245_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx980_tgt
+ .local int rx980_pos
+ .local int rx980_off
+ .local int rx980_eos
+ .local int rx980_rep
+ .local pmc rx980_cur
+ (rx980_cur, rx980_pos, rx980_tgt) = self."!cursor_start"()
+ rx980_cur."!cursor_debug"("START ", "infix:sym<**>")
+ .lex unicode:"$\x{a2}", rx980_cur
+ .local pmc match
+ .lex "$/", match
+ length rx980_eos, rx980_tgt
+ set rx980_off, 0
+ lt rx980_pos, 2, rx980_start
+ sub rx980_off, rx980_pos, 1
+ substr rx980_tgt, rx980_tgt, rx980_off
+ rx980_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan984_done
+ goto rxscan984_scan
+ rxscan984_loop:
+ ($P10) = rx980_cur."from"()
+ inc $P10
+ set rx980_pos, $P10
+ ge rx980_pos, rx980_eos, rxscan984_done
+ rxscan984_scan:
+ set_addr $I10, rxscan984_loop
+ rx980_cur."!mark_push"(0, rx980_pos, $I10)
+ rxscan984_done:
+.annotate "line", 473
# rx subcapture "sym"
- set_addr $I10, rxcap_987_fail
- rx982_cur."!mark_push"(0, rx982_pos, $I10)
- # rx literal "+"
- add $I11, rx982_pos, 1
- gt $I11, rx982_eos, rx982_fail
- sub $I11, rx982_pos, rx982_off
- substr $S10, rx982_tgt, $I11, 1
- ne $S10, "+", rx982_fail
- add rx982_pos, 1
- set_addr $I10, rxcap_987_fail
- ($I12, $I11) = rx982_cur."!mark_peek"($I10)
- rx982_cur."!cursor_pos"($I11)
- ($P10) = rx982_cur."!cursor_start"()
- $P10."!cursor_pass"(rx982_pos, "")
- rx982_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_985_fail
+ rx980_cur."!mark_push"(0, rx980_pos, $I10)
+ # rx literal "**"
+ add $I11, rx980_pos, 2
+ gt $I11, rx980_eos, rx980_fail
+ sub $I11, rx980_pos, rx980_off
+ substr $S10, rx980_tgt, $I11, 2
+ ne $S10, "**", rx980_fail
+ add rx980_pos, 2
+ set_addr $I10, rxcap_985_fail
+ ($I12, $I11) = rx980_cur."!mark_peek"($I10)
+ rx980_cur."!cursor_pos"($I11)
+ ($P10) = rx980_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx980_pos, "")
+ rx980_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_987_done
- rxcap_987_fail:
- goto rx982_fail
- rxcap_987_done:
+ goto rxcap_985_done
+ rxcap_985_fail:
+ goto rx980_fail
+ rxcap_985_done:
# rx subrule "O" subtype=capture negate=
- rx982_cur."!cursor_pos"(rx982_pos)
- $P10 = rx982_cur."O"("%symbolic_unary, :pirop<set N*>")
- unless $P10, rx982_fail
- rx982_cur."!mark_push"(0, -1, 0, $P10)
+ rx980_cur."!cursor_pos"(rx980_pos)
+ $P10 = rx980_cur."O"("%exponentiation, :pirop<pow>")
+ unless $P10, rx980_fail
+ rx980_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx982_pos = $P10."pos"()
+ rx980_pos = $P10."pos"()
# rx pass
- rx982_cur."!cursor_pass"(rx982_pos, "prefix:sym<+>")
- rx982_cur."!cursor_debug"("PASS ", "prefix:sym<+>", " at pos=", rx982_pos)
- .return (rx982_cur)
- rx982_fail:
-.annotate "line", 421
- (rx982_rep, rx982_pos, $I10, $P10) = rx982_cur."!mark_fail"(0)
- lt rx982_pos, -1, rx982_done
- eq rx982_pos, -1, rx982_fail
- jump $I10
- rx982_done:
- rx982_cur."!cursor_fail"()
- rx982_cur."!cursor_debug"("FAIL ", "prefix:sym<+>")
- .return (rx982_cur)
+ rx980_cur."!cursor_pass"(rx980_pos, "infix:sym<**>")
+ rx980_cur."!cursor_debug"("PASS ", "infix:sym<**>", " at pos=", rx980_pos)
+ .return (rx980_cur)
+ rx980_fail:
+.annotate "line", 422
+ (rx980_rep, rx980_pos, $I10, $P10) = rx980_cur."!mark_fail"(0)
+ lt rx980_pos, -1, rx980_done
+ eq rx980_pos, -1, rx980_fail
+ jump $I10
+ rx980_done:
+ rx980_cur."!cursor_fail"()
+ rx980_cur."!cursor_debug"("FAIL ", "infix:sym<**>")
+ .return (rx980_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>" :subid("246_1271336396.90314") :method
-.annotate "line", 421
- $P984 = self."!PREFIX__!subrule"("O", "+")
- new $P985, "ResizablePMCArray"
- push $P985, $P984
- .return ($P985)
+.sub "!PREFIX__infix:sym<**>" :subid("246_1271948667.92136") :method
+.annotate "line", 422
+ $P982 = self."!PREFIX__!subrule"("O", "**")
+ new $P983, "ResizablePMCArray"
+ push $P983, $P982
+ .return ($P983)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>" :subid("247_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx989_tgt
- .local int rx989_pos
- .local int rx989_off
- .local int rx989_eos
- .local int rx989_rep
- .local pmc rx989_cur
- (rx989_cur, rx989_pos, rx989_tgt) = self."!cursor_start"()
- rx989_cur."!cursor_debug"("START ", "prefix:sym<~>")
- .lex unicode:"$\x{a2}", rx989_cur
- .local pmc match
- .lex "$/", match
- length rx989_eos, rx989_tgt
- set rx989_off, 0
- lt rx989_pos, 2, rx989_start
- sub rx989_off, rx989_pos, 1
- substr rx989_tgt, rx989_tgt, rx989_off
- rx989_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan993_done
- goto rxscan993_scan
- rxscan993_loop:
- ($P10) = rx989_cur."from"()
- inc $P10
- set rx989_pos, $P10
- ge rx989_pos, rx989_eos, rxscan993_done
- rxscan993_scan:
- set_addr $I10, rxscan993_loop
- rx989_cur."!mark_push"(0, rx989_pos, $I10)
- rxscan993_done:
+.sub "prefix:sym<+>" :subid("247_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx987_tgt
+ .local int rx987_pos
+ .local int rx987_off
+ .local int rx987_eos
+ .local int rx987_rep
+ .local pmc rx987_cur
+ (rx987_cur, rx987_pos, rx987_tgt) = self."!cursor_start"()
+ rx987_cur."!cursor_debug"("START ", "prefix:sym<+>")
+ .lex unicode:"$\x{a2}", rx987_cur
+ .local pmc match
+ .lex "$/", match
+ length rx987_eos, rx987_tgt
+ set rx987_off, 0
+ lt rx987_pos, 2, rx987_start
+ sub rx987_off, rx987_pos, 1
+ substr rx987_tgt, rx987_tgt, rx987_off
+ rx987_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan991_done
+ goto rxscan991_scan
+ rxscan991_loop:
+ ($P10) = rx987_cur."from"()
+ inc $P10
+ set rx987_pos, $P10
+ ge rx987_pos, rx987_eos, rxscan991_done
+ rxscan991_scan:
+ set_addr $I10, rxscan991_loop
+ rx987_cur."!mark_push"(0, rx987_pos, $I10)
+ rxscan991_done:
.annotate "line", 475
# rx subcapture "sym"
- set_addr $I10, rxcap_994_fail
- rx989_cur."!mark_push"(0, rx989_pos, $I10)
- # rx literal "~"
- add $I11, rx989_pos, 1
- gt $I11, rx989_eos, rx989_fail
- sub $I11, rx989_pos, rx989_off
- substr $S10, rx989_tgt, $I11, 1
- ne $S10, "~", rx989_fail
- add rx989_pos, 1
- set_addr $I10, rxcap_994_fail
- ($I12, $I11) = rx989_cur."!mark_peek"($I10)
- rx989_cur."!cursor_pos"($I11)
- ($P10) = rx989_cur."!cursor_start"()
- $P10."!cursor_pass"(rx989_pos, "")
- rx989_cur."!mark_push"(0, -1, 0, $P10)
+ set_addr $I10, rxcap_992_fail
+ rx987_cur."!mark_push"(0, rx987_pos, $I10)
+ # rx literal "+"
+ add $I11, rx987_pos, 1
+ gt $I11, rx987_eos, rx987_fail
+ sub $I11, rx987_pos, rx987_off
+ substr $S10, rx987_tgt, $I11, 1
+ ne $S10, "+", rx987_fail
+ add rx987_pos, 1
+ set_addr $I10, rxcap_992_fail
+ ($I12, $I11) = rx987_cur."!mark_peek"($I10)
+ rx987_cur."!cursor_pos"($I11)
+ ($P10) = rx987_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx987_pos, "")
+ rx987_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_994_done
- rxcap_994_fail:
- goto rx989_fail
- rxcap_994_done:
+ goto rxcap_992_done
+ rxcap_992_fail:
+ goto rx987_fail
+ rxcap_992_done:
# rx subrule "O" subtype=capture negate=
- rx989_cur."!cursor_pos"(rx989_pos)
- $P10 = rx989_cur."O"("%symbolic_unary, :pirop<set S*>")
- unless $P10, rx989_fail
- rx989_cur."!mark_push"(0, -1, 0, $P10)
+ rx987_cur."!cursor_pos"(rx987_pos)
+ $P10 = rx987_cur."O"("%symbolic_unary, :pirop<set N*>")
+ unless $P10, rx987_fail
+ rx987_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx989_pos = $P10."pos"()
+ rx987_pos = $P10."pos"()
# rx pass
- rx989_cur."!cursor_pass"(rx989_pos, "prefix:sym<~>")
- rx989_cur."!cursor_debug"("PASS ", "prefix:sym<~>", " at pos=", rx989_pos)
- .return (rx989_cur)
- rx989_fail:
-.annotate "line", 421
- (rx989_rep, rx989_pos, $I10, $P10) = rx989_cur."!mark_fail"(0)
- lt rx989_pos, -1, rx989_done
- eq rx989_pos, -1, rx989_fail
- jump $I10
- rx989_done:
- rx989_cur."!cursor_fail"()
- rx989_cur."!cursor_debug"("FAIL ", "prefix:sym<~>")
- .return (rx989_cur)
+ rx987_cur."!cursor_pass"(rx987_pos, "prefix:sym<+>")
+ rx987_cur."!cursor_debug"("PASS ", "prefix:sym<+>", " at pos=", rx987_pos)
+ .return (rx987_cur)
+ rx987_fail:
+.annotate "line", 422
+ (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0)
+ lt rx987_pos, -1, rx987_done
+ eq rx987_pos, -1, rx987_fail
+ jump $I10
+ rx987_done:
+ rx987_cur."!cursor_fail"()
+ rx987_cur."!cursor_debug"("FAIL ", "prefix:sym<+>")
+ .return (rx987_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>" :subid("248_1271336396.90314") :method
-.annotate "line", 421
- $P991 = self."!PREFIX__!subrule"("O", "~")
- new $P992, "ResizablePMCArray"
- push $P992, $P991
- .return ($P992)
+.sub "!PREFIX__prefix:sym<+>" :subid("248_1271948667.92136") :method
+.annotate "line", 422
+ $P989 = self."!PREFIX__!subrule"("O", "+")
+ new $P990, "ResizablePMCArray"
+ push $P990, $P989
+ .return ($P990)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->" :subid("249_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx996_tgt
- .local int rx996_pos
- .local int rx996_off
- .local int rx996_eos
- .local int rx996_rep
- .local pmc rx996_cur
- (rx996_cur, rx996_pos, rx996_tgt) = self."!cursor_start"()
- rx996_cur."!cursor_debug"("START ", "prefix:sym<->")
- .lex unicode:"$\x{a2}", rx996_cur
- .local pmc match
- .lex "$/", match
- length rx996_eos, rx996_tgt
- set rx996_off, 0
- lt rx996_pos, 2, rx996_start
- sub rx996_off, rx996_pos, 1
- substr rx996_tgt, rx996_tgt, rx996_off
- rx996_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan999_done
- goto rxscan999_scan
- rxscan999_loop:
- ($P10) = rx996_cur."from"()
- inc $P10
- set rx996_pos, $P10
- ge rx996_pos, rx996_eos, rxscan999_done
- rxscan999_scan:
- set_addr $I10, rxscan999_loop
- rx996_cur."!mark_push"(0, rx996_pos, $I10)
- rxscan999_done:
+.sub "prefix:sym<~>" :subid("249_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx994_tgt
+ .local int rx994_pos
+ .local int rx994_off
+ .local int rx994_eos
+ .local int rx994_rep
+ .local pmc rx994_cur
+ (rx994_cur, rx994_pos, rx994_tgt) = self."!cursor_start"()
+ rx994_cur."!cursor_debug"("START ", "prefix:sym<~>")
+ .lex unicode:"$\x{a2}", rx994_cur
+ .local pmc match
+ .lex "$/", match
+ length rx994_eos, rx994_tgt
+ set rx994_off, 0
+ lt rx994_pos, 2, rx994_start
+ sub rx994_off, rx994_pos, 1
+ substr rx994_tgt, rx994_tgt, rx994_off
+ rx994_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan998_done
+ goto rxscan998_scan
+ rxscan998_loop:
+ ($P10) = rx994_cur."from"()
+ inc $P10
+ set rx994_pos, $P10
+ ge rx994_pos, rx994_eos, rxscan998_done
+ rxscan998_scan:
+ set_addr $I10, rxscan998_loop
+ rx994_cur."!mark_push"(0, rx994_pos, $I10)
+ rxscan998_done:
.annotate "line", 476
# rx subcapture "sym"
- set_addr $I10, rxcap_1000_fail
- rx996_cur."!mark_push"(0, rx996_pos, $I10)
+ set_addr $I10, rxcap_999_fail
+ rx994_cur."!mark_push"(0, rx994_pos, $I10)
+ # rx literal "~"
+ add $I11, rx994_pos, 1
+ gt $I11, rx994_eos, rx994_fail
+ sub $I11, rx994_pos, rx994_off
+ substr $S10, rx994_tgt, $I11, 1
+ ne $S10, "~", rx994_fail
+ add rx994_pos, 1
+ set_addr $I10, rxcap_999_fail
+ ($I12, $I11) = rx994_cur."!mark_peek"($I10)
+ rx994_cur."!cursor_pos"($I11)
+ ($P10) = rx994_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx994_pos, "")
+ rx994_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("sym")
+ goto rxcap_999_done
+ rxcap_999_fail:
+ goto rx994_fail
+ rxcap_999_done:
+ # rx subrule "O" subtype=capture negate=
+ rx994_cur."!cursor_pos"(rx994_pos)
+ $P10 = rx994_cur."O"("%symbolic_unary, :pirop<set S*>")
+ unless $P10, rx994_fail
+ rx994_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("O")
+ rx994_pos = $P10."pos"()
+ # rx pass
+ rx994_cur."!cursor_pass"(rx994_pos, "prefix:sym<~>")
+ rx994_cur."!cursor_debug"("PASS ", "prefix:sym<~>", " at pos=", rx994_pos)
+ .return (rx994_cur)
+ rx994_fail:
+.annotate "line", 422
+ (rx994_rep, rx994_pos, $I10, $P10) = rx994_cur."!mark_fail"(0)
+ lt rx994_pos, -1, rx994_done
+ eq rx994_pos, -1, rx994_fail
+ jump $I10
+ rx994_done:
+ rx994_cur."!cursor_fail"()
+ rx994_cur."!cursor_debug"("FAIL ", "prefix:sym<~>")
+ .return (rx994_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__prefix:sym<~>" :subid("250_1271948667.92136") :method
+.annotate "line", 422
+ $P996 = self."!PREFIX__!subrule"("O", "~")
+ new $P997, "ResizablePMCArray"
+ push $P997, $P996
+ .return ($P997)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "prefix:sym<->" :subid("251_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1001_tgt
+ .local int rx1001_pos
+ .local int rx1001_off
+ .local int rx1001_eos
+ .local int rx1001_rep
+ .local pmc rx1001_cur
+ (rx1001_cur, rx1001_pos, rx1001_tgt) = self."!cursor_start"()
+ rx1001_cur."!cursor_debug"("START ", "prefix:sym<->")
+ .lex unicode:"$\x{a2}", rx1001_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1001_eos, rx1001_tgt
+ set rx1001_off, 0
+ lt rx1001_pos, 2, rx1001_start
+ sub rx1001_off, rx1001_pos, 1
+ substr rx1001_tgt, rx1001_tgt, rx1001_off
+ rx1001_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1004_done
+ goto rxscan1004_scan
+ rxscan1004_loop:
+ ($P10) = rx1001_cur."from"()
+ inc $P10
+ set rx1001_pos, $P10
+ ge rx1001_pos, rx1001_eos, rxscan1004_done
+ rxscan1004_scan:
+ set_addr $I10, rxscan1004_loop
+ rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
+ rxscan1004_done:
+.annotate "line", 477
+ # rx subcapture "sym"
+ set_addr $I10, rxcap_1005_fail
+ rx1001_cur."!mark_push"(0, rx1001_pos, $I10)
# rx literal "-"
- add $I11, rx996_pos, 1
- gt $I11, rx996_eos, rx996_fail
- sub $I11, rx996_pos, rx996_off
- substr $S10, rx996_tgt, $I11, 1
- ne $S10, "-", rx996_fail
- add rx996_pos, 1
- set_addr $I10, rxcap_1000_fail
- ($I12, $I11) = rx996_cur."!mark_peek"($I10)
- rx996_cur."!cursor_pos"($I11)
- ($P10) = rx996_cur."!cursor_start"()
- $P10."!cursor_pass"(rx996_pos, "")
- rx996_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1001_pos, 1
+ gt $I11, rx1001_eos, rx1001_fail
+ sub $I11, rx1001_pos, rx1001_off
+ substr $S10, rx1001_tgt, $I11, 1
+ ne $S10, "-", rx1001_fail
+ add rx1001_pos, 1
+ set_addr $I10, rxcap_1005_fail
+ ($I12, $I11) = rx1001_cur."!mark_peek"($I10)
+ rx1001_cur."!cursor_pos"($I11)
+ ($P10) = rx1001_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1001_pos, "")
+ rx1001_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1000_done
- rxcap_1000_fail:
- goto rx996_fail
- rxcap_1000_done:
+ goto rxcap_1005_done
+ rxcap_1005_fail:
+ goto rx1001_fail
+ rxcap_1005_done:
# rx enumcharlist negate=1 zerowidth
- ge rx996_pos, rx996_eos, rx996_fail
- sub $I10, rx996_pos, rx996_off
- substr $S10, rx996_tgt, $I10, 1
+ ge rx1001_pos, rx1001_eos, rx1001_fail
+ sub $I10, rx1001_pos, rx1001_off
+ substr $S10, rx1001_tgt, $I10, 1
index $I11, ">", $S10
- ge $I11, 0, rx996_fail
+ ge $I11, 0, rx1001_fail
# rx subrule "number" subtype=zerowidth negate=1
- rx996_cur."!cursor_pos"(rx996_pos)
- $P10 = rx996_cur."number"()
- if $P10, rx996_fail
+ rx1001_cur."!cursor_pos"(rx1001_pos)
+ $P10 = rx1001_cur."number"()
+ if $P10, rx1001_fail
# rx subrule "O" subtype=capture negate=
- rx996_cur."!cursor_pos"(rx996_pos)
- $P10 = rx996_cur."O"("%symbolic_unary, :pirop<neg>")
- unless $P10, rx996_fail
- rx996_cur."!mark_push"(0, -1, 0, $P10)
+ rx1001_cur."!cursor_pos"(rx1001_pos)
+ $P10 = rx1001_cur."O"("%symbolic_unary, :pirop<neg>")
+ unless $P10, rx1001_fail
+ rx1001_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx996_pos = $P10."pos"()
+ rx1001_pos = $P10."pos"()
# rx pass
- rx996_cur."!cursor_pass"(rx996_pos, "prefix:sym<->")
- rx996_cur."!cursor_debug"("PASS ", "prefix:sym<->", " at pos=", rx996_pos)
- .return (rx996_cur)
- rx996_fail:
-.annotate "line", 421
- (rx996_rep, rx996_pos, $I10, $P10) = rx996_cur."!mark_fail"(0)
- lt rx996_pos, -1, rx996_done
- eq rx996_pos, -1, rx996_fail
- jump $I10
- rx996_done:
- rx996_cur."!cursor_fail"()
- rx996_cur."!cursor_debug"("FAIL ", "prefix:sym<->")
- .return (rx996_cur)
+ rx1001_cur."!cursor_pass"(rx1001_pos, "prefix:sym<->")
+ rx1001_cur."!cursor_debug"("PASS ", "prefix:sym<->", " at pos=", rx1001_pos)
+ .return (rx1001_cur)
+ rx1001_fail:
+.annotate "line", 422
+ (rx1001_rep, rx1001_pos, $I10, $P10) = rx1001_cur."!mark_fail"(0)
+ lt rx1001_pos, -1, rx1001_done
+ eq rx1001_pos, -1, rx1001_fail
+ jump $I10
+ rx1001_done:
+ rx1001_cur."!cursor_fail"()
+ rx1001_cur."!cursor_debug"("FAIL ", "prefix:sym<->")
+ .return (rx1001_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->" :subid("250_1271336396.90314") :method
-.annotate "line", 421
- new $P998, "ResizablePMCArray"
- push $P998, "-"
- .return ($P998)
+.sub "!PREFIX__prefix:sym<->" :subid("252_1271948667.92136") :method
+.annotate "line", 422
+ new $P1003, "ResizablePMCArray"
+ push $P1003, "-"
+ .return ($P1003)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>" :subid("251_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1002_tgt
- .local int rx1002_pos
- .local int rx1002_off
- .local int rx1002_eos
- .local int rx1002_rep
- .local pmc rx1002_cur
- (rx1002_cur, rx1002_pos, rx1002_tgt) = self."!cursor_start"()
- rx1002_cur."!cursor_debug"("START ", "prefix:sym<?>")
- .lex unicode:"$\x{a2}", rx1002_cur
- .local pmc match
- .lex "$/", match
- length rx1002_eos, rx1002_tgt
- set rx1002_off, 0
- lt rx1002_pos, 2, rx1002_start
- sub rx1002_off, rx1002_pos, 1
- substr rx1002_tgt, rx1002_tgt, rx1002_off
- rx1002_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1006_done
- goto rxscan1006_scan
- rxscan1006_loop:
- ($P10) = rx1002_cur."from"()
- inc $P10
- set rx1002_pos, $P10
- ge rx1002_pos, rx1002_eos, rxscan1006_done
- rxscan1006_scan:
- set_addr $I10, rxscan1006_loop
- rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
- rxscan1006_done:
-.annotate "line", 477
+.sub "prefix:sym<?>" :subid("253_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1007_tgt
+ .local int rx1007_pos
+ .local int rx1007_off
+ .local int rx1007_eos
+ .local int rx1007_rep
+ .local pmc rx1007_cur
+ (rx1007_cur, rx1007_pos, rx1007_tgt) = self."!cursor_start"()
+ rx1007_cur."!cursor_debug"("START ", "prefix:sym<?>")
+ .lex unicode:"$\x{a2}", rx1007_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1007_eos, rx1007_tgt
+ set rx1007_off, 0
+ lt rx1007_pos, 2, rx1007_start
+ sub rx1007_off, rx1007_pos, 1
+ substr rx1007_tgt, rx1007_tgt, rx1007_off
+ rx1007_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1011_done
+ goto rxscan1011_scan
+ rxscan1011_loop:
+ ($P10) = rx1007_cur."from"()
+ inc $P10
+ set rx1007_pos, $P10
+ ge rx1007_pos, rx1007_eos, rxscan1011_done
+ rxscan1011_scan:
+ set_addr $I10, rxscan1011_loop
+ rx1007_cur."!mark_push"(0, rx1007_pos, $I10)
+ rxscan1011_done:
+.annotate "line", 478
# rx subcapture "sym"
- set_addr $I10, rxcap_1007_fail
- rx1002_cur."!mark_push"(0, rx1002_pos, $I10)
+ set_addr $I10, rxcap_1012_fail
+ rx1007_cur."!mark_push"(0, rx1007_pos, $I10)
# rx literal "?"
- add $I11, rx1002_pos, 1
- gt $I11, rx1002_eos, rx1002_fail
- sub $I11, rx1002_pos, rx1002_off
- substr $S10, rx1002_tgt, $I11, 1
- ne $S10, "?", rx1002_fail
- add rx1002_pos, 1
- set_addr $I10, rxcap_1007_fail
- ($I12, $I11) = rx1002_cur."!mark_peek"($I10)
- rx1002_cur."!cursor_pos"($I11)
- ($P10) = rx1002_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1002_pos, "")
- rx1002_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1007_pos, 1
+ gt $I11, rx1007_eos, rx1007_fail
+ sub $I11, rx1007_pos, rx1007_off
+ substr $S10, rx1007_tgt, $I11, 1
+ ne $S10, "?", rx1007_fail
+ add rx1007_pos, 1
+ set_addr $I10, rxcap_1012_fail
+ ($I12, $I11) = rx1007_cur."!mark_peek"($I10)
+ rx1007_cur."!cursor_pos"($I11)
+ ($P10) = rx1007_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1007_pos, "")
+ rx1007_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1007_done
- rxcap_1007_fail:
- goto rx1002_fail
- rxcap_1007_done:
+ goto rxcap_1012_done
+ rxcap_1012_fail:
+ goto rx1007_fail
+ rxcap_1012_done:
# rx subrule "O" subtype=capture negate=
- rx1002_cur."!cursor_pos"(rx1002_pos)
- $P10 = rx1002_cur."O"("%symbolic_unary, :pirop<istrue>")
- unless $P10, rx1002_fail
- rx1002_cur."!mark_push"(0, -1, 0, $P10)
+ rx1007_cur."!cursor_pos"(rx1007_pos)
+ $P10 = rx1007_cur."O"("%symbolic_unary, :pirop<istrue>")
+ unless $P10, rx1007_fail
+ rx1007_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1002_pos = $P10."pos"()
+ rx1007_pos = $P10."pos"()
# rx pass
- rx1002_cur."!cursor_pass"(rx1002_pos, "prefix:sym<?>")
- rx1002_cur."!cursor_debug"("PASS ", "prefix:sym<?>", " at pos=", rx1002_pos)
- .return (rx1002_cur)
- rx1002_fail:
-.annotate "line", 421
- (rx1002_rep, rx1002_pos, $I10, $P10) = rx1002_cur."!mark_fail"(0)
- lt rx1002_pos, -1, rx1002_done
- eq rx1002_pos, -1, rx1002_fail
+ rx1007_cur."!cursor_pass"(rx1007_pos, "prefix:sym<?>")
+ rx1007_cur."!cursor_debug"("PASS ", "prefix:sym<?>", " at pos=", rx1007_pos)
+ .return (rx1007_cur)
+ rx1007_fail:
+.annotate "line", 422
+ (rx1007_rep, rx1007_pos, $I10, $P10) = rx1007_cur."!mark_fail"(0)
+ lt rx1007_pos, -1, rx1007_done
+ eq rx1007_pos, -1, rx1007_fail
jump $I10
- rx1002_done:
- rx1002_cur."!cursor_fail"()
- rx1002_cur."!cursor_debug"("FAIL ", "prefix:sym<?>")
- .return (rx1002_cur)
+ rx1007_done:
+ rx1007_cur."!cursor_fail"()
+ rx1007_cur."!cursor_debug"("FAIL ", "prefix:sym<?>")
+ .return (rx1007_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>" :subid("252_1271336396.90314") :method
-.annotate "line", 421
- $P1004 = self."!PREFIX__!subrule"("O", "?")
- new $P1005, "ResizablePMCArray"
- push $P1005, $P1004
- .return ($P1005)
+.sub "!PREFIX__prefix:sym<?>" :subid("254_1271948667.92136") :method
+.annotate "line", 422
+ $P1009 = self."!PREFIX__!subrule"("O", "?")
+ new $P1010, "ResizablePMCArray"
+ push $P1010, $P1009
+ .return ($P1010)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>" :subid("253_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1009_tgt
- .local int rx1009_pos
- .local int rx1009_off
- .local int rx1009_eos
- .local int rx1009_rep
- .local pmc rx1009_cur
- (rx1009_cur, rx1009_pos, rx1009_tgt) = self."!cursor_start"()
- rx1009_cur."!cursor_debug"("START ", "prefix:sym<!>")
- .lex unicode:"$\x{a2}", rx1009_cur
- .local pmc match
- .lex "$/", match
- length rx1009_eos, rx1009_tgt
- set rx1009_off, 0
- lt rx1009_pos, 2, rx1009_start
- sub rx1009_off, rx1009_pos, 1
- substr rx1009_tgt, rx1009_tgt, rx1009_off
- rx1009_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1013_done
- goto rxscan1013_scan
- rxscan1013_loop:
- ($P10) = rx1009_cur."from"()
- inc $P10
- set rx1009_pos, $P10
- ge rx1009_pos, rx1009_eos, rxscan1013_done
- rxscan1013_scan:
- set_addr $I10, rxscan1013_loop
- rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
- rxscan1013_done:
-.annotate "line", 478
+.sub "prefix:sym<!>" :subid("255_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1014_tgt
+ .local int rx1014_pos
+ .local int rx1014_off
+ .local int rx1014_eos
+ .local int rx1014_rep
+ .local pmc rx1014_cur
+ (rx1014_cur, rx1014_pos, rx1014_tgt) = self."!cursor_start"()
+ rx1014_cur."!cursor_debug"("START ", "prefix:sym<!>")
+ .lex unicode:"$\x{a2}", rx1014_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1014_eos, rx1014_tgt
+ set rx1014_off, 0
+ lt rx1014_pos, 2, rx1014_start
+ sub rx1014_off, rx1014_pos, 1
+ substr rx1014_tgt, rx1014_tgt, rx1014_off
+ rx1014_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1018_done
+ goto rxscan1018_scan
+ rxscan1018_loop:
+ ($P10) = rx1014_cur."from"()
+ inc $P10
+ set rx1014_pos, $P10
+ ge rx1014_pos, rx1014_eos, rxscan1018_done
+ rxscan1018_scan:
+ set_addr $I10, rxscan1018_loop
+ rx1014_cur."!mark_push"(0, rx1014_pos, $I10)
+ rxscan1018_done:
+.annotate "line", 479
# rx subcapture "sym"
- set_addr $I10, rxcap_1014_fail
- rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+ set_addr $I10, rxcap_1019_fail
+ rx1014_cur."!mark_push"(0, rx1014_pos, $I10)
# rx literal "!"
- add $I11, rx1009_pos, 1
- gt $I11, rx1009_eos, rx1009_fail
- sub $I11, rx1009_pos, rx1009_off
- substr $S10, rx1009_tgt, $I11, 1
- ne $S10, "!", rx1009_fail
- add rx1009_pos, 1
- set_addr $I10, rxcap_1014_fail
- ($I12, $I11) = rx1009_cur."!mark_peek"($I10)
- rx1009_cur."!cursor_pos"($I11)
- ($P10) = rx1009_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1009_pos, "")
- rx1009_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1014_pos, 1
+ gt $I11, rx1014_eos, rx1014_fail
+ sub $I11, rx1014_pos, rx1014_off
+ substr $S10, rx1014_tgt, $I11, 1
+ ne $S10, "!", rx1014_fail
+ add rx1014_pos, 1
+ set_addr $I10, rxcap_1019_fail
+ ($I12, $I11) = rx1014_cur."!mark_peek"($I10)
+ rx1014_cur."!cursor_pos"($I11)
+ ($P10) = rx1014_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1014_pos, "")
+ rx1014_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1014_done
- rxcap_1014_fail:
- goto rx1009_fail
- rxcap_1014_done:
+ goto rxcap_1019_done
+ rxcap_1019_fail:
+ goto rx1014_fail
+ rxcap_1019_done:
# rx subrule "O" subtype=capture negate=
- rx1009_cur."!cursor_pos"(rx1009_pos)
- $P10 = rx1009_cur."O"("%symbolic_unary, :pirop<isfalse>")
- unless $P10, rx1009_fail
- rx1009_cur."!mark_push"(0, -1, 0, $P10)
+ rx1014_cur."!cursor_pos"(rx1014_pos)
+ $P10 = rx1014_cur."O"("%symbolic_unary, :pirop<isfalse>")
+ unless $P10, rx1014_fail
+ rx1014_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1009_pos = $P10."pos"()
+ rx1014_pos = $P10."pos"()
# rx pass
- rx1009_cur."!cursor_pass"(rx1009_pos, "prefix:sym<!>")
- rx1009_cur."!cursor_debug"("PASS ", "prefix:sym<!>", " at pos=", rx1009_pos)
- .return (rx1009_cur)
- rx1009_fail:
-.annotate "line", 421
- (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0)
- lt rx1009_pos, -1, rx1009_done
- eq rx1009_pos, -1, rx1009_fail
- jump $I10
- rx1009_done:
- rx1009_cur."!cursor_fail"()
- rx1009_cur."!cursor_debug"("FAIL ", "prefix:sym<!>")
- .return (rx1009_cur)
+ rx1014_cur."!cursor_pass"(rx1014_pos, "prefix:sym<!>")
+ rx1014_cur."!cursor_debug"("PASS ", "prefix:sym<!>", " at pos=", rx1014_pos)
+ .return (rx1014_cur)
+ rx1014_fail:
+.annotate "line", 422
+ (rx1014_rep, rx1014_pos, $I10, $P10) = rx1014_cur."!mark_fail"(0)
+ lt rx1014_pos, -1, rx1014_done
+ eq rx1014_pos, -1, rx1014_fail
+ jump $I10
+ rx1014_done:
+ rx1014_cur."!cursor_fail"()
+ rx1014_cur."!cursor_debug"("FAIL ", "prefix:sym<!>")
+ .return (rx1014_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>" :subid("254_1271336396.90314") :method
-.annotate "line", 421
- $P1011 = self."!PREFIX__!subrule"("O", "!")
- new $P1012, "ResizablePMCArray"
- push $P1012, $P1011
- .return ($P1012)
+.sub "!PREFIX__prefix:sym<!>" :subid("256_1271948667.92136") :method
+.annotate "line", 422
+ $P1016 = self."!PREFIX__!subrule"("O", "!")
+ new $P1017, "ResizablePMCArray"
+ push $P1017, $P1016
+ .return ($P1017)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>" :subid("255_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1016_tgt
- .local int rx1016_pos
- .local int rx1016_off
- .local int rx1016_eos
- .local int rx1016_rep
- .local pmc rx1016_cur
- (rx1016_cur, rx1016_pos, rx1016_tgt) = self."!cursor_start"()
- rx1016_cur."!cursor_debug"("START ", "prefix:sym<|>")
- .lex unicode:"$\x{a2}", rx1016_cur
- .local pmc match
- .lex "$/", match
- length rx1016_eos, rx1016_tgt
- set rx1016_off, 0
- lt rx1016_pos, 2, rx1016_start
- sub rx1016_off, rx1016_pos, 1
- substr rx1016_tgt, rx1016_tgt, rx1016_off
- rx1016_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1020_done
- goto rxscan1020_scan
- rxscan1020_loop:
- ($P10) = rx1016_cur."from"()
- inc $P10
- set rx1016_pos, $P10
- ge rx1016_pos, rx1016_eos, rxscan1020_done
- rxscan1020_scan:
- set_addr $I10, rxscan1020_loop
- rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
- rxscan1020_done:
-.annotate "line", 479
+.sub "prefix:sym<|>" :subid("257_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1021_tgt
+ .local int rx1021_pos
+ .local int rx1021_off
+ .local int rx1021_eos
+ .local int rx1021_rep
+ .local pmc rx1021_cur
+ (rx1021_cur, rx1021_pos, rx1021_tgt) = self."!cursor_start"()
+ rx1021_cur."!cursor_debug"("START ", "prefix:sym<|>")
+ .lex unicode:"$\x{a2}", rx1021_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1021_eos, rx1021_tgt
+ set rx1021_off, 0
+ lt rx1021_pos, 2, rx1021_start
+ sub rx1021_off, rx1021_pos, 1
+ substr rx1021_tgt, rx1021_tgt, rx1021_off
+ rx1021_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1025_done
+ goto rxscan1025_scan
+ rxscan1025_loop:
+ ($P10) = rx1021_cur."from"()
+ inc $P10
+ set rx1021_pos, $P10
+ ge rx1021_pos, rx1021_eos, rxscan1025_done
+ rxscan1025_scan:
+ set_addr $I10, rxscan1025_loop
+ rx1021_cur."!mark_push"(0, rx1021_pos, $I10)
+ rxscan1025_done:
+.annotate "line", 480
# rx subcapture "sym"
- set_addr $I10, rxcap_1021_fail
- rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
+ set_addr $I10, rxcap_1026_fail
+ rx1021_cur."!mark_push"(0, rx1021_pos, $I10)
# rx literal "|"
- add $I11, rx1016_pos, 1
- gt $I11, rx1016_eos, rx1016_fail
- sub $I11, rx1016_pos, rx1016_off
- substr $S10, rx1016_tgt, $I11, 1
- ne $S10, "|", rx1016_fail
- add rx1016_pos, 1
- set_addr $I10, rxcap_1021_fail
- ($I12, $I11) = rx1016_cur."!mark_peek"($I10)
- rx1016_cur."!cursor_pos"($I11)
- ($P10) = rx1016_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1016_pos, "")
- rx1016_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1021_pos, 1
+ gt $I11, rx1021_eos, rx1021_fail
+ sub $I11, rx1021_pos, rx1021_off
+ substr $S10, rx1021_tgt, $I11, 1
+ ne $S10, "|", rx1021_fail
+ add rx1021_pos, 1
+ set_addr $I10, rxcap_1026_fail
+ ($I12, $I11) = rx1021_cur."!mark_peek"($I10)
+ rx1021_cur."!cursor_pos"($I11)
+ ($P10) = rx1021_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1021_pos, "")
+ rx1021_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1021_done
- rxcap_1021_fail:
- goto rx1016_fail
- rxcap_1021_done:
+ goto rxcap_1026_done
+ rxcap_1026_fail:
+ goto rx1021_fail
+ rxcap_1026_done:
# rx subrule "O" subtype=capture negate=
- rx1016_cur."!cursor_pos"(rx1016_pos)
- $P10 = rx1016_cur."O"("%symbolic_unary")
- unless $P10, rx1016_fail
- rx1016_cur."!mark_push"(0, -1, 0, $P10)
+ rx1021_cur."!cursor_pos"(rx1021_pos)
+ $P10 = rx1021_cur."O"("%symbolic_unary")
+ unless $P10, rx1021_fail
+ rx1021_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1016_pos = $P10."pos"()
+ rx1021_pos = $P10."pos"()
# rx pass
- rx1016_cur."!cursor_pass"(rx1016_pos, "prefix:sym<|>")
- rx1016_cur."!cursor_debug"("PASS ", "prefix:sym<|>", " at pos=", rx1016_pos)
- .return (rx1016_cur)
- rx1016_fail:
-.annotate "line", 421
- (rx1016_rep, rx1016_pos, $I10, $P10) = rx1016_cur."!mark_fail"(0)
- lt rx1016_pos, -1, rx1016_done
- eq rx1016_pos, -1, rx1016_fail
- jump $I10
- rx1016_done:
- rx1016_cur."!cursor_fail"()
- rx1016_cur."!cursor_debug"("FAIL ", "prefix:sym<|>")
- .return (rx1016_cur)
+ rx1021_cur."!cursor_pass"(rx1021_pos, "prefix:sym<|>")
+ rx1021_cur."!cursor_debug"("PASS ", "prefix:sym<|>", " at pos=", rx1021_pos)
+ .return (rx1021_cur)
+ rx1021_fail:
+.annotate "line", 422
+ (rx1021_rep, rx1021_pos, $I10, $P10) = rx1021_cur."!mark_fail"(0)
+ lt rx1021_pos, -1, rx1021_done
+ eq rx1021_pos, -1, rx1021_fail
+ jump $I10
+ rx1021_done:
+ rx1021_cur."!cursor_fail"()
+ rx1021_cur."!cursor_debug"("FAIL ", "prefix:sym<|>")
+ .return (rx1021_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>" :subid("256_1271336396.90314") :method
-.annotate "line", 421
- $P1018 = self."!PREFIX__!subrule"("O", "|")
- new $P1019, "ResizablePMCArray"
- push $P1019, $P1018
- .return ($P1019)
+.sub "!PREFIX__prefix:sym<|>" :subid("258_1271948667.92136") :method
+.annotate "line", 422
+ $P1023 = self."!PREFIX__!subrule"("O", "|")
+ new $P1024, "ResizablePMCArray"
+ push $P1024, $P1023
+ .return ($P1024)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>" :subid("257_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1023_tgt
- .local int rx1023_pos
- .local int rx1023_off
- .local int rx1023_eos
- .local int rx1023_rep
- .local pmc rx1023_cur
- (rx1023_cur, rx1023_pos, rx1023_tgt) = self."!cursor_start"()
- rx1023_cur."!cursor_debug"("START ", "infix:sym<*>")
- .lex unicode:"$\x{a2}", rx1023_cur
- .local pmc match
- .lex "$/", match
- length rx1023_eos, rx1023_tgt
- set rx1023_off, 0
- lt rx1023_pos, 2, rx1023_start
- sub rx1023_off, rx1023_pos, 1
- substr rx1023_tgt, rx1023_tgt, rx1023_off
- rx1023_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1027_done
- goto rxscan1027_scan
- rxscan1027_loop:
- ($P10) = rx1023_cur."from"()
- inc $P10
- set rx1023_pos, $P10
- ge rx1023_pos, rx1023_eos, rxscan1027_done
- rxscan1027_scan:
- set_addr $I10, rxscan1027_loop
- rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
- rxscan1027_done:
-.annotate "line", 481
+.sub "infix:sym<*>" :subid("259_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1028_tgt
+ .local int rx1028_pos
+ .local int rx1028_off
+ .local int rx1028_eos
+ .local int rx1028_rep
+ .local pmc rx1028_cur
+ (rx1028_cur, rx1028_pos, rx1028_tgt) = self."!cursor_start"()
+ rx1028_cur."!cursor_debug"("START ", "infix:sym<*>")
+ .lex unicode:"$\x{a2}", rx1028_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1028_eos, rx1028_tgt
+ set rx1028_off, 0
+ lt rx1028_pos, 2, rx1028_start
+ sub rx1028_off, rx1028_pos, 1
+ substr rx1028_tgt, rx1028_tgt, rx1028_off
+ rx1028_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1032_done
+ goto rxscan1032_scan
+ rxscan1032_loop:
+ ($P10) = rx1028_cur."from"()
+ inc $P10
+ set rx1028_pos, $P10
+ ge rx1028_pos, rx1028_eos, rxscan1032_done
+ rxscan1032_scan:
+ set_addr $I10, rxscan1032_loop
+ rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
+ rxscan1032_done:
+.annotate "line", 482
# rx subcapture "sym"
- set_addr $I10, rxcap_1028_fail
- rx1023_cur."!mark_push"(0, rx1023_pos, $I10)
+ set_addr $I10, rxcap_1033_fail
+ rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
# rx literal "*"
- add $I11, rx1023_pos, 1
- gt $I11, rx1023_eos, rx1023_fail
- sub $I11, rx1023_pos, rx1023_off
- substr $S10, rx1023_tgt, $I11, 1
- ne $S10, "*", rx1023_fail
- add rx1023_pos, 1
- set_addr $I10, rxcap_1028_fail
- ($I12, $I11) = rx1023_cur."!mark_peek"($I10)
- rx1023_cur."!cursor_pos"($I11)
- ($P10) = rx1023_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1023_pos, "")
- rx1023_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1028_pos, 1
+ gt $I11, rx1028_eos, rx1028_fail
+ sub $I11, rx1028_pos, rx1028_off
+ substr $S10, rx1028_tgt, $I11, 1
+ ne $S10, "*", rx1028_fail
+ add rx1028_pos, 1
+ set_addr $I10, rxcap_1033_fail
+ ($I12, $I11) = rx1028_cur."!mark_peek"($I10)
+ rx1028_cur."!cursor_pos"($I11)
+ ($P10) = rx1028_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1028_pos, "")
+ rx1028_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1028_done
- rxcap_1028_fail:
- goto rx1023_fail
- rxcap_1028_done:
+ goto rxcap_1033_done
+ rxcap_1033_fail:
+ goto rx1028_fail
+ rxcap_1033_done:
# rx subrule "O" subtype=capture negate=
- rx1023_cur."!cursor_pos"(rx1023_pos)
- $P10 = rx1023_cur."O"("%multiplicative, :pirop<mul>")
- unless $P10, rx1023_fail
- rx1023_cur."!mark_push"(0, -1, 0, $P10)
+ rx1028_cur."!cursor_pos"(rx1028_pos)
+ $P10 = rx1028_cur."O"("%multiplicative, :pirop<mul>")
+ unless $P10, rx1028_fail
+ rx1028_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1023_pos = $P10."pos"()
+ rx1028_pos = $P10."pos"()
# rx pass
- rx1023_cur."!cursor_pass"(rx1023_pos, "infix:sym<*>")
- rx1023_cur."!cursor_debug"("PASS ", "infix:sym<*>", " at pos=", rx1023_pos)
- .return (rx1023_cur)
- rx1023_fail:
-.annotate "line", 421
- (rx1023_rep, rx1023_pos, $I10, $P10) = rx1023_cur."!mark_fail"(0)
- lt rx1023_pos, -1, rx1023_done
- eq rx1023_pos, -1, rx1023_fail
- jump $I10
- rx1023_done:
- rx1023_cur."!cursor_fail"()
- rx1023_cur."!cursor_debug"("FAIL ", "infix:sym<*>")
- .return (rx1023_cur)
+ rx1028_cur."!cursor_pass"(rx1028_pos, "infix:sym<*>")
+ rx1028_cur."!cursor_debug"("PASS ", "infix:sym<*>", " at pos=", rx1028_pos)
+ .return (rx1028_cur)
+ rx1028_fail:
+.annotate "line", 422
+ (rx1028_rep, rx1028_pos, $I10, $P10) = rx1028_cur."!mark_fail"(0)
+ lt rx1028_pos, -1, rx1028_done
+ eq rx1028_pos, -1, rx1028_fail
+ jump $I10
+ rx1028_done:
+ rx1028_cur."!cursor_fail"()
+ rx1028_cur."!cursor_debug"("FAIL ", "infix:sym<*>")
+ .return (rx1028_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>" :subid("258_1271336396.90314") :method
-.annotate "line", 421
- $P1025 = self."!PREFIX__!subrule"("O", "*")
- new $P1026, "ResizablePMCArray"
- push $P1026, $P1025
- .return ($P1026)
+.sub "!PREFIX__infix:sym<*>" :subid("260_1271948667.92136") :method
+.annotate "line", 422
+ $P1030 = self."!PREFIX__!subrule"("O", "*")
+ new $P1031, "ResizablePMCArray"
+ push $P1031, $P1030
+ .return ($P1031)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym</>" :subid("259_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1030_tgt
- .local int rx1030_pos
- .local int rx1030_off
- .local int rx1030_eos
- .local int rx1030_rep
- .local pmc rx1030_cur
- (rx1030_cur, rx1030_pos, rx1030_tgt) = self."!cursor_start"()
- rx1030_cur."!cursor_debug"("START ", "infix:sym</>")
- .lex unicode:"$\x{a2}", rx1030_cur
- .local pmc match
- .lex "$/", match
- length rx1030_eos, rx1030_tgt
- set rx1030_off, 0
- lt rx1030_pos, 2, rx1030_start
- sub rx1030_off, rx1030_pos, 1
- substr rx1030_tgt, rx1030_tgt, rx1030_off
- rx1030_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1034_done
- goto rxscan1034_scan
- rxscan1034_loop:
- ($P10) = rx1030_cur."from"()
- inc $P10
- set rx1030_pos, $P10
- ge rx1030_pos, rx1030_eos, rxscan1034_done
- rxscan1034_scan:
- set_addr $I10, rxscan1034_loop
- rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
- rxscan1034_done:
-.annotate "line", 482
+.sub "infix:sym</>" :subid("261_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1035_tgt
+ .local int rx1035_pos
+ .local int rx1035_off
+ .local int rx1035_eos
+ .local int rx1035_rep
+ .local pmc rx1035_cur
+ (rx1035_cur, rx1035_pos, rx1035_tgt) = self."!cursor_start"()
+ rx1035_cur."!cursor_debug"("START ", "infix:sym</>")
+ .lex unicode:"$\x{a2}", rx1035_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1035_eos, rx1035_tgt
+ set rx1035_off, 0
+ lt rx1035_pos, 2, rx1035_start
+ sub rx1035_off, rx1035_pos, 1
+ substr rx1035_tgt, rx1035_tgt, rx1035_off
+ rx1035_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1039_done
+ goto rxscan1039_scan
+ rxscan1039_loop:
+ ($P10) = rx1035_cur."from"()
+ inc $P10
+ set rx1035_pos, $P10
+ ge rx1035_pos, rx1035_eos, rxscan1039_done
+ rxscan1039_scan:
+ set_addr $I10, rxscan1039_loop
+ rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
+ rxscan1039_done:
+.annotate "line", 483
# rx subcapture "sym"
- set_addr $I10, rxcap_1035_fail
- rx1030_cur."!mark_push"(0, rx1030_pos, $I10)
+ set_addr $I10, rxcap_1040_fail
+ rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
# rx literal "/"
- add $I11, rx1030_pos, 1
- gt $I11, rx1030_eos, rx1030_fail
- sub $I11, rx1030_pos, rx1030_off
- substr $S10, rx1030_tgt, $I11, 1
- ne $S10, "/", rx1030_fail
- add rx1030_pos, 1
- set_addr $I10, rxcap_1035_fail
- ($I12, $I11) = rx1030_cur."!mark_peek"($I10)
- rx1030_cur."!cursor_pos"($I11)
- ($P10) = rx1030_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1030_pos, "")
- rx1030_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1035_pos, 1
+ gt $I11, rx1035_eos, rx1035_fail
+ sub $I11, rx1035_pos, rx1035_off
+ substr $S10, rx1035_tgt, $I11, 1
+ ne $S10, "/", rx1035_fail
+ add rx1035_pos, 1
+ set_addr $I10, rxcap_1040_fail
+ ($I12, $I11) = rx1035_cur."!mark_peek"($I10)
+ rx1035_cur."!cursor_pos"($I11)
+ ($P10) = rx1035_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1035_pos, "")
+ rx1035_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1035_done
- rxcap_1035_fail:
- goto rx1030_fail
- rxcap_1035_done:
+ goto rxcap_1040_done
+ rxcap_1040_fail:
+ goto rx1035_fail
+ rxcap_1040_done:
# rx subrule "O" subtype=capture negate=
- rx1030_cur."!cursor_pos"(rx1030_pos)
- $P10 = rx1030_cur."O"("%multiplicative, :pirop<div>")
- unless $P10, rx1030_fail
- rx1030_cur."!mark_push"(0, -1, 0, $P10)
+ rx1035_cur."!cursor_pos"(rx1035_pos)
+ $P10 = rx1035_cur."O"("%multiplicative, :pirop<div>")
+ unless $P10, rx1035_fail
+ rx1035_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1030_pos = $P10."pos"()
+ rx1035_pos = $P10."pos"()
# rx pass
- rx1030_cur."!cursor_pass"(rx1030_pos, "infix:sym</>")
- rx1030_cur."!cursor_debug"("PASS ", "infix:sym</>", " at pos=", rx1030_pos)
- .return (rx1030_cur)
- rx1030_fail:
-.annotate "line", 421
- (rx1030_rep, rx1030_pos, $I10, $P10) = rx1030_cur."!mark_fail"(0)
- lt rx1030_pos, -1, rx1030_done
- eq rx1030_pos, -1, rx1030_fail
- jump $I10
- rx1030_done:
- rx1030_cur."!cursor_fail"()
- rx1030_cur."!cursor_debug"("FAIL ", "infix:sym</>")
- .return (rx1030_cur)
+ rx1035_cur."!cursor_pass"(rx1035_pos, "infix:sym</>")
+ rx1035_cur."!cursor_debug"("PASS ", "infix:sym</>", " at pos=", rx1035_pos)
+ .return (rx1035_cur)
+ rx1035_fail:
+.annotate "line", 422
+ (rx1035_rep, rx1035_pos, $I10, $P10) = rx1035_cur."!mark_fail"(0)
+ lt rx1035_pos, -1, rx1035_done
+ eq rx1035_pos, -1, rx1035_fail
+ jump $I10
+ rx1035_done:
+ rx1035_cur."!cursor_fail"()
+ rx1035_cur."!cursor_debug"("FAIL ", "infix:sym</>")
+ .return (rx1035_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>" :subid("260_1271336396.90314") :method
-.annotate "line", 421
- $P1032 = self."!PREFIX__!subrule"("O", "/")
- new $P1033, "ResizablePMCArray"
- push $P1033, $P1032
- .return ($P1033)
+.sub "!PREFIX__infix:sym</>" :subid("262_1271948667.92136") :method
+.annotate "line", 422
+ $P1037 = self."!PREFIX__!subrule"("O", "/")
+ new $P1038, "ResizablePMCArray"
+ push $P1038, $P1037
+ .return ($P1038)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>" :subid("261_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1037_tgt
- .local int rx1037_pos
- .local int rx1037_off
- .local int rx1037_eos
- .local int rx1037_rep
- .local pmc rx1037_cur
- (rx1037_cur, rx1037_pos, rx1037_tgt) = self."!cursor_start"()
- rx1037_cur."!cursor_debug"("START ", "infix:sym<%>")
- .lex unicode:"$\x{a2}", rx1037_cur
- .local pmc match
- .lex "$/", match
- length rx1037_eos, rx1037_tgt
- set rx1037_off, 0
- lt rx1037_pos, 2, rx1037_start
- sub rx1037_off, rx1037_pos, 1
- substr rx1037_tgt, rx1037_tgt, rx1037_off
- rx1037_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1041_done
- goto rxscan1041_scan
- rxscan1041_loop:
- ($P10) = rx1037_cur."from"()
- inc $P10
- set rx1037_pos, $P10
- ge rx1037_pos, rx1037_eos, rxscan1041_done
- rxscan1041_scan:
- set_addr $I10, rxscan1041_loop
- rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
- rxscan1041_done:
-.annotate "line", 483
+.sub "infix:sym<%>" :subid("263_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1042_tgt
+ .local int rx1042_pos
+ .local int rx1042_off
+ .local int rx1042_eos
+ .local int rx1042_rep
+ .local pmc rx1042_cur
+ (rx1042_cur, rx1042_pos, rx1042_tgt) = self."!cursor_start"()
+ rx1042_cur."!cursor_debug"("START ", "infix:sym<%>")
+ .lex unicode:"$\x{a2}", rx1042_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1042_eos, rx1042_tgt
+ set rx1042_off, 0
+ lt rx1042_pos, 2, rx1042_start
+ sub rx1042_off, rx1042_pos, 1
+ substr rx1042_tgt, rx1042_tgt, rx1042_off
+ rx1042_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1046_done
+ goto rxscan1046_scan
+ rxscan1046_loop:
+ ($P10) = rx1042_cur."from"()
+ inc $P10
+ set rx1042_pos, $P10
+ ge rx1042_pos, rx1042_eos, rxscan1046_done
+ rxscan1046_scan:
+ set_addr $I10, rxscan1046_loop
+ rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
+ rxscan1046_done:
+.annotate "line", 484
# rx subcapture "sym"
- set_addr $I10, rxcap_1042_fail
- rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+ set_addr $I10, rxcap_1047_fail
+ rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
# rx literal "%"
- add $I11, rx1037_pos, 1
- gt $I11, rx1037_eos, rx1037_fail
- sub $I11, rx1037_pos, rx1037_off
- substr $S10, rx1037_tgt, $I11, 1
- ne $S10, "%", rx1037_fail
- add rx1037_pos, 1
- set_addr $I10, rxcap_1042_fail
- ($I12, $I11) = rx1037_cur."!mark_peek"($I10)
- rx1037_cur."!cursor_pos"($I11)
- ($P10) = rx1037_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1037_pos, "")
- rx1037_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1042_pos, 1
+ gt $I11, rx1042_eos, rx1042_fail
+ sub $I11, rx1042_pos, rx1042_off
+ substr $S10, rx1042_tgt, $I11, 1
+ ne $S10, "%", rx1042_fail
+ add rx1042_pos, 1
+ set_addr $I10, rxcap_1047_fail
+ ($I12, $I11) = rx1042_cur."!mark_peek"($I10)
+ rx1042_cur."!cursor_pos"($I11)
+ ($P10) = rx1042_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1042_pos, "")
+ rx1042_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1042_done
- rxcap_1042_fail:
- goto rx1037_fail
- rxcap_1042_done:
+ goto rxcap_1047_done
+ rxcap_1047_fail:
+ goto rx1042_fail
+ rxcap_1047_done:
# rx subrule "O" subtype=capture negate=
- rx1037_cur."!cursor_pos"(rx1037_pos)
- $P10 = rx1037_cur."O"("%multiplicative, :pirop<mod>")
- unless $P10, rx1037_fail
- rx1037_cur."!mark_push"(0, -1, 0, $P10)
+ rx1042_cur."!cursor_pos"(rx1042_pos)
+ $P10 = rx1042_cur."O"("%multiplicative, :pirop<mod>")
+ unless $P10, rx1042_fail
+ rx1042_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1037_pos = $P10."pos"()
+ rx1042_pos = $P10."pos"()
# rx pass
- rx1037_cur."!cursor_pass"(rx1037_pos, "infix:sym<%>")
- rx1037_cur."!cursor_debug"("PASS ", "infix:sym<%>", " at pos=", rx1037_pos)
- .return (rx1037_cur)
- rx1037_fail:
-.annotate "line", 421
- (rx1037_rep, rx1037_pos, $I10, $P10) = rx1037_cur."!mark_fail"(0)
- lt rx1037_pos, -1, rx1037_done
- eq rx1037_pos, -1, rx1037_fail
- jump $I10
- rx1037_done:
- rx1037_cur."!cursor_fail"()
- rx1037_cur."!cursor_debug"("FAIL ", "infix:sym<%>")
- .return (rx1037_cur)
+ rx1042_cur."!cursor_pass"(rx1042_pos, "infix:sym<%>")
+ rx1042_cur."!cursor_debug"("PASS ", "infix:sym<%>", " at pos=", rx1042_pos)
+ .return (rx1042_cur)
+ rx1042_fail:
+.annotate "line", 422
+ (rx1042_rep, rx1042_pos, $I10, $P10) = rx1042_cur."!mark_fail"(0)
+ lt rx1042_pos, -1, rx1042_done
+ eq rx1042_pos, -1, rx1042_fail
+ jump $I10
+ rx1042_done:
+ rx1042_cur."!cursor_fail"()
+ rx1042_cur."!cursor_debug"("FAIL ", "infix:sym<%>")
+ .return (rx1042_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>" :subid("262_1271336396.90314") :method
-.annotate "line", 421
- $P1039 = self."!PREFIX__!subrule"("O", "%")
- new $P1040, "ResizablePMCArray"
- push $P1040, $P1039
- .return ($P1040)
+.sub "!PREFIX__infix:sym<%>" :subid("264_1271948667.92136") :method
+.annotate "line", 422
+ $P1044 = self."!PREFIX__!subrule"("O", "%")
+ new $P1045, "ResizablePMCArray"
+ push $P1045, $P1044
+ .return ($P1045)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>" :subid("263_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1044_tgt
- .local int rx1044_pos
- .local int rx1044_off
- .local int rx1044_eos
- .local int rx1044_rep
- .local pmc rx1044_cur
- (rx1044_cur, rx1044_pos, rx1044_tgt) = self."!cursor_start"()
- rx1044_cur."!cursor_debug"("START ", "infix:sym<+>")
- .lex unicode:"$\x{a2}", rx1044_cur
- .local pmc match
- .lex "$/", match
- length rx1044_eos, rx1044_tgt
- set rx1044_off, 0
- lt rx1044_pos, 2, rx1044_start
- sub rx1044_off, rx1044_pos, 1
- substr rx1044_tgt, rx1044_tgt, rx1044_off
- rx1044_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1048_done
- goto rxscan1048_scan
- rxscan1048_loop:
- ($P10) = rx1044_cur."from"()
- inc $P10
- set rx1044_pos, $P10
- ge rx1044_pos, rx1044_eos, rxscan1048_done
- rxscan1048_scan:
- set_addr $I10, rxscan1048_loop
- rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
- rxscan1048_done:
-.annotate "line", 485
+.sub "infix:sym<+>" :subid("265_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1049_tgt
+ .local int rx1049_pos
+ .local int rx1049_off
+ .local int rx1049_eos
+ .local int rx1049_rep
+ .local pmc rx1049_cur
+ (rx1049_cur, rx1049_pos, rx1049_tgt) = self."!cursor_start"()
+ rx1049_cur."!cursor_debug"("START ", "infix:sym<+>")
+ .lex unicode:"$\x{a2}", rx1049_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1049_eos, rx1049_tgt
+ set rx1049_off, 0
+ lt rx1049_pos, 2, rx1049_start
+ sub rx1049_off, rx1049_pos, 1
+ substr rx1049_tgt, rx1049_tgt, rx1049_off
+ rx1049_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1053_done
+ goto rxscan1053_scan
+ rxscan1053_loop:
+ ($P10) = rx1049_cur."from"()
+ inc $P10
+ set rx1049_pos, $P10
+ ge rx1049_pos, rx1049_eos, rxscan1053_done
+ rxscan1053_scan:
+ set_addr $I10, rxscan1053_loop
+ rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
+ rxscan1053_done:
+.annotate "line", 486
# rx subcapture "sym"
- set_addr $I10, rxcap_1049_fail
- rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+ set_addr $I10, rxcap_1054_fail
+ rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
# rx literal "+"
- add $I11, rx1044_pos, 1
- gt $I11, rx1044_eos, rx1044_fail
- sub $I11, rx1044_pos, rx1044_off
- substr $S10, rx1044_tgt, $I11, 1
- ne $S10, "+", rx1044_fail
- add rx1044_pos, 1
- set_addr $I10, rxcap_1049_fail
- ($I12, $I11) = rx1044_cur."!mark_peek"($I10)
- rx1044_cur."!cursor_pos"($I11)
- ($P10) = rx1044_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1044_pos, "")
- rx1044_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1049_pos, 1
+ gt $I11, rx1049_eos, rx1049_fail
+ sub $I11, rx1049_pos, rx1049_off
+ substr $S10, rx1049_tgt, $I11, 1
+ ne $S10, "+", rx1049_fail
+ add rx1049_pos, 1
+ set_addr $I10, rxcap_1054_fail
+ ($I12, $I11) = rx1049_cur."!mark_peek"($I10)
+ rx1049_cur."!cursor_pos"($I11)
+ ($P10) = rx1049_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1049_pos, "")
+ rx1049_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1049_done
- rxcap_1049_fail:
- goto rx1044_fail
- rxcap_1049_done:
+ goto rxcap_1054_done
+ rxcap_1054_fail:
+ goto rx1049_fail
+ rxcap_1054_done:
# rx subrule "O" subtype=capture negate=
- rx1044_cur."!cursor_pos"(rx1044_pos)
- $P10 = rx1044_cur."O"("%additive, :pirop<add>")
- unless $P10, rx1044_fail
- rx1044_cur."!mark_push"(0, -1, 0, $P10)
+ rx1049_cur."!cursor_pos"(rx1049_pos)
+ $P10 = rx1049_cur."O"("%additive, :pirop<add>")
+ unless $P10, rx1049_fail
+ rx1049_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1044_pos = $P10."pos"()
+ rx1049_pos = $P10."pos"()
# rx pass
- rx1044_cur."!cursor_pass"(rx1044_pos, "infix:sym<+>")
- rx1044_cur."!cursor_debug"("PASS ", "infix:sym<+>", " at pos=", rx1044_pos)
- .return (rx1044_cur)
- rx1044_fail:
-.annotate "line", 421
- (rx1044_rep, rx1044_pos, $I10, $P10) = rx1044_cur."!mark_fail"(0)
- lt rx1044_pos, -1, rx1044_done
- eq rx1044_pos, -1, rx1044_fail
- jump $I10
- rx1044_done:
- rx1044_cur."!cursor_fail"()
- rx1044_cur."!cursor_debug"("FAIL ", "infix:sym<+>")
- .return (rx1044_cur)
+ rx1049_cur."!cursor_pass"(rx1049_pos, "infix:sym<+>")
+ rx1049_cur."!cursor_debug"("PASS ", "infix:sym<+>", " at pos=", rx1049_pos)
+ .return (rx1049_cur)
+ rx1049_fail:
+.annotate "line", 422
+ (rx1049_rep, rx1049_pos, $I10, $P10) = rx1049_cur."!mark_fail"(0)
+ lt rx1049_pos, -1, rx1049_done
+ eq rx1049_pos, -1, rx1049_fail
+ jump $I10
+ rx1049_done:
+ rx1049_cur."!cursor_fail"()
+ rx1049_cur."!cursor_debug"("FAIL ", "infix:sym<+>")
+ .return (rx1049_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>" :subid("264_1271336396.90314") :method
-.annotate "line", 421
- $P1046 = self."!PREFIX__!subrule"("O", "+")
- new $P1047, "ResizablePMCArray"
- push $P1047, $P1046
- .return ($P1047)
+.sub "!PREFIX__infix:sym<+>" :subid("266_1271948667.92136") :method
+.annotate "line", 422
+ $P1051 = self."!PREFIX__!subrule"("O", "+")
+ new $P1052, "ResizablePMCArray"
+ push $P1052, $P1051
+ .return ($P1052)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<->" :subid("265_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1051_tgt
- .local int rx1051_pos
- .local int rx1051_off
- .local int rx1051_eos
- .local int rx1051_rep
- .local pmc rx1051_cur
- (rx1051_cur, rx1051_pos, rx1051_tgt) = self."!cursor_start"()
- rx1051_cur."!cursor_debug"("START ", "infix:sym<->")
- .lex unicode:"$\x{a2}", rx1051_cur
- .local pmc match
- .lex "$/", match
- length rx1051_eos, rx1051_tgt
- set rx1051_off, 0
- lt rx1051_pos, 2, rx1051_start
- sub rx1051_off, rx1051_pos, 1
- substr rx1051_tgt, rx1051_tgt, rx1051_off
- rx1051_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1055_done
- goto rxscan1055_scan
- rxscan1055_loop:
- ($P10) = rx1051_cur."from"()
- inc $P10
- set rx1051_pos, $P10
- ge rx1051_pos, rx1051_eos, rxscan1055_done
- rxscan1055_scan:
- set_addr $I10, rxscan1055_loop
- rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
- rxscan1055_done:
-.annotate "line", 486
+.sub "infix:sym<->" :subid("267_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1056_tgt
+ .local int rx1056_pos
+ .local int rx1056_off
+ .local int rx1056_eos
+ .local int rx1056_rep
+ .local pmc rx1056_cur
+ (rx1056_cur, rx1056_pos, rx1056_tgt) = self."!cursor_start"()
+ rx1056_cur."!cursor_debug"("START ", "infix:sym<->")
+ .lex unicode:"$\x{a2}", rx1056_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1056_eos, rx1056_tgt
+ set rx1056_off, 0
+ lt rx1056_pos, 2, rx1056_start
+ sub rx1056_off, rx1056_pos, 1
+ substr rx1056_tgt, rx1056_tgt, rx1056_off
+ rx1056_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1060_done
+ goto rxscan1060_scan
+ rxscan1060_loop:
+ ($P10) = rx1056_cur."from"()
+ inc $P10
+ set rx1056_pos, $P10
+ ge rx1056_pos, rx1056_eos, rxscan1060_done
+ rxscan1060_scan:
+ set_addr $I10, rxscan1060_loop
+ rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
+ rxscan1060_done:
+.annotate "line", 487
# rx subcapture "sym"
- set_addr $I10, rxcap_1056_fail
- rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+ set_addr $I10, rxcap_1061_fail
+ rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
# rx literal "-"
- add $I11, rx1051_pos, 1
- gt $I11, rx1051_eos, rx1051_fail
- sub $I11, rx1051_pos, rx1051_off
- substr $S10, rx1051_tgt, $I11, 1
- ne $S10, "-", rx1051_fail
- add rx1051_pos, 1
- set_addr $I10, rxcap_1056_fail
- ($I12, $I11) = rx1051_cur."!mark_peek"($I10)
- rx1051_cur."!cursor_pos"($I11)
- ($P10) = rx1051_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1051_pos, "")
- rx1051_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1056_pos, 1
+ gt $I11, rx1056_eos, rx1056_fail
+ sub $I11, rx1056_pos, rx1056_off
+ substr $S10, rx1056_tgt, $I11, 1
+ ne $S10, "-", rx1056_fail
+ add rx1056_pos, 1
+ set_addr $I10, rxcap_1061_fail
+ ($I12, $I11) = rx1056_cur."!mark_peek"($I10)
+ rx1056_cur."!cursor_pos"($I11)
+ ($P10) = rx1056_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1056_pos, "")
+ rx1056_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1056_done
- rxcap_1056_fail:
- goto rx1051_fail
- rxcap_1056_done:
+ goto rxcap_1061_done
+ rxcap_1061_fail:
+ goto rx1056_fail
+ rxcap_1061_done:
# rx subrule "O" subtype=capture negate=
- rx1051_cur."!cursor_pos"(rx1051_pos)
- $P10 = rx1051_cur."O"("%additive, :pirop<sub>")
- unless $P10, rx1051_fail
- rx1051_cur."!mark_push"(0, -1, 0, $P10)
+ rx1056_cur."!cursor_pos"(rx1056_pos)
+ $P10 = rx1056_cur."O"("%additive, :pirop<sub>")
+ unless $P10, rx1056_fail
+ rx1056_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1051_pos = $P10."pos"()
+ rx1056_pos = $P10."pos"()
# rx pass
- rx1051_cur."!cursor_pass"(rx1051_pos, "infix:sym<->")
- rx1051_cur."!cursor_debug"("PASS ", "infix:sym<->", " at pos=", rx1051_pos)
- .return (rx1051_cur)
- rx1051_fail:
-.annotate "line", 421
- (rx1051_rep, rx1051_pos, $I10, $P10) = rx1051_cur."!mark_fail"(0)
- lt rx1051_pos, -1, rx1051_done
- eq rx1051_pos, -1, rx1051_fail
- jump $I10
- rx1051_done:
- rx1051_cur."!cursor_fail"()
- rx1051_cur."!cursor_debug"("FAIL ", "infix:sym<->")
- .return (rx1051_cur)
+ rx1056_cur."!cursor_pass"(rx1056_pos, "infix:sym<->")
+ rx1056_cur."!cursor_debug"("PASS ", "infix:sym<->", " at pos=", rx1056_pos)
+ .return (rx1056_cur)
+ rx1056_fail:
+.annotate "line", 422
+ (rx1056_rep, rx1056_pos, $I10, $P10) = rx1056_cur."!mark_fail"(0)
+ lt rx1056_pos, -1, rx1056_done
+ eq rx1056_pos, -1, rx1056_fail
+ jump $I10
+ rx1056_done:
+ rx1056_cur."!cursor_fail"()
+ rx1056_cur."!cursor_debug"("FAIL ", "infix:sym<->")
+ .return (rx1056_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->" :subid("266_1271336396.90314") :method
-.annotate "line", 421
- $P1053 = self."!PREFIX__!subrule"("O", "-")
- new $P1054, "ResizablePMCArray"
- push $P1054, $P1053
- .return ($P1054)
+.sub "!PREFIX__infix:sym<->" :subid("268_1271948667.92136") :method
+.annotate "line", 422
+ $P1058 = self."!PREFIX__!subrule"("O", "-")
+ new $P1059, "ResizablePMCArray"
+ push $P1059, $P1058
+ .return ($P1059)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>" :subid("267_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1058_tgt
- .local int rx1058_pos
- .local int rx1058_off
- .local int rx1058_eos
- .local int rx1058_rep
- .local pmc rx1058_cur
- (rx1058_cur, rx1058_pos, rx1058_tgt) = self."!cursor_start"()
- rx1058_cur."!cursor_debug"("START ", "infix:sym<~>")
- .lex unicode:"$\x{a2}", rx1058_cur
- .local pmc match
- .lex "$/", match
- length rx1058_eos, rx1058_tgt
- set rx1058_off, 0
- lt rx1058_pos, 2, rx1058_start
- sub rx1058_off, rx1058_pos, 1
- substr rx1058_tgt, rx1058_tgt, rx1058_off
- rx1058_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1062_done
- goto rxscan1062_scan
- rxscan1062_loop:
- ($P10) = rx1058_cur."from"()
- inc $P10
- set rx1058_pos, $P10
- ge rx1058_pos, rx1058_eos, rxscan1062_done
- rxscan1062_scan:
- set_addr $I10, rxscan1062_loop
- rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
- rxscan1062_done:
-.annotate "line", 488
+.sub "infix:sym<~>" :subid("269_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1063_tgt
+ .local int rx1063_pos
+ .local int rx1063_off
+ .local int rx1063_eos
+ .local int rx1063_rep
+ .local pmc rx1063_cur
+ (rx1063_cur, rx1063_pos, rx1063_tgt) = self."!cursor_start"()
+ rx1063_cur."!cursor_debug"("START ", "infix:sym<~>")
+ .lex unicode:"$\x{a2}", rx1063_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1063_eos, rx1063_tgt
+ set rx1063_off, 0
+ lt rx1063_pos, 2, rx1063_start
+ sub rx1063_off, rx1063_pos, 1
+ substr rx1063_tgt, rx1063_tgt, rx1063_off
+ rx1063_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1067_done
+ goto rxscan1067_scan
+ rxscan1067_loop:
+ ($P10) = rx1063_cur."from"()
+ inc $P10
+ set rx1063_pos, $P10
+ ge rx1063_pos, rx1063_eos, rxscan1067_done
+ rxscan1067_scan:
+ set_addr $I10, rxscan1067_loop
+ rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
+ rxscan1067_done:
+.annotate "line", 489
# rx subcapture "sym"
- set_addr $I10, rxcap_1063_fail
- rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+ set_addr $I10, rxcap_1068_fail
+ rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
# rx literal "~"
- add $I11, rx1058_pos, 1
- gt $I11, rx1058_eos, rx1058_fail
- sub $I11, rx1058_pos, rx1058_off
- substr $S10, rx1058_tgt, $I11, 1
- ne $S10, "~", rx1058_fail
- add rx1058_pos, 1
- set_addr $I10, rxcap_1063_fail
- ($I12, $I11) = rx1058_cur."!mark_peek"($I10)
- rx1058_cur."!cursor_pos"($I11)
- ($P10) = rx1058_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1058_pos, "")
- rx1058_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1063_pos, 1
+ gt $I11, rx1063_eos, rx1063_fail
+ sub $I11, rx1063_pos, rx1063_off
+ substr $S10, rx1063_tgt, $I11, 1
+ ne $S10, "~", rx1063_fail
+ add rx1063_pos, 1
+ set_addr $I10, rxcap_1068_fail
+ ($I12, $I11) = rx1063_cur."!mark_peek"($I10)
+ rx1063_cur."!cursor_pos"($I11)
+ ($P10) = rx1063_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1063_pos, "")
+ rx1063_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1063_done
- rxcap_1063_fail:
- goto rx1058_fail
- rxcap_1063_done:
+ goto rxcap_1068_done
+ rxcap_1068_fail:
+ goto rx1063_fail
+ rxcap_1068_done:
# rx subrule "O" subtype=capture negate=
- rx1058_cur."!cursor_pos"(rx1058_pos)
- $P10 = rx1058_cur."O"("%concatenation , :pirop<concat>")
- unless $P10, rx1058_fail
- rx1058_cur."!mark_push"(0, -1, 0, $P10)
+ rx1063_cur."!cursor_pos"(rx1063_pos)
+ $P10 = rx1063_cur."O"("%concatenation , :pirop<concat>")
+ unless $P10, rx1063_fail
+ rx1063_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1058_pos = $P10."pos"()
+ rx1063_pos = $P10."pos"()
# rx pass
- rx1058_cur."!cursor_pass"(rx1058_pos, "infix:sym<~>")
- rx1058_cur."!cursor_debug"("PASS ", "infix:sym<~>", " at pos=", rx1058_pos)
- .return (rx1058_cur)
- rx1058_fail:
-.annotate "line", 421
- (rx1058_rep, rx1058_pos, $I10, $P10) = rx1058_cur."!mark_fail"(0)
- lt rx1058_pos, -1, rx1058_done
- eq rx1058_pos, -1, rx1058_fail
- jump $I10
- rx1058_done:
- rx1058_cur."!cursor_fail"()
- rx1058_cur."!cursor_debug"("FAIL ", "infix:sym<~>")
- .return (rx1058_cur)
+ rx1063_cur."!cursor_pass"(rx1063_pos, "infix:sym<~>")
+ rx1063_cur."!cursor_debug"("PASS ", "infix:sym<~>", " at pos=", rx1063_pos)
+ .return (rx1063_cur)
+ rx1063_fail:
+.annotate "line", 422
+ (rx1063_rep, rx1063_pos, $I10, $P10) = rx1063_cur."!mark_fail"(0)
+ lt rx1063_pos, -1, rx1063_done
+ eq rx1063_pos, -1, rx1063_fail
+ jump $I10
+ rx1063_done:
+ rx1063_cur."!cursor_fail"()
+ rx1063_cur."!cursor_debug"("FAIL ", "infix:sym<~>")
+ .return (rx1063_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>" :subid("268_1271336396.90314") :method
-.annotate "line", 421
- $P1060 = self."!PREFIX__!subrule"("O", "~")
- new $P1061, "ResizablePMCArray"
- push $P1061, $P1060
- .return ($P1061)
+.sub "!PREFIX__infix:sym<~>" :subid("270_1271948667.92136") :method
+.annotate "line", 422
+ $P1065 = self."!PREFIX__!subrule"("O", "~")
+ new $P1066, "ResizablePMCArray"
+ push $P1066, $P1065
+ .return ($P1066)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>" :subid("269_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1065_tgt
- .local int rx1065_pos
- .local int rx1065_off
- .local int rx1065_eos
- .local int rx1065_rep
- .local pmc rx1065_cur
- (rx1065_cur, rx1065_pos, rx1065_tgt) = self."!cursor_start"()
- rx1065_cur."!cursor_debug"("START ", "infix:sym<==>")
- .lex unicode:"$\x{a2}", rx1065_cur
- .local pmc match
- .lex "$/", match
- length rx1065_eos, rx1065_tgt
- set rx1065_off, 0
- lt rx1065_pos, 2, rx1065_start
- sub rx1065_off, rx1065_pos, 1
- substr rx1065_tgt, rx1065_tgt, rx1065_off
- rx1065_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1069_done
- goto rxscan1069_scan
- rxscan1069_loop:
- ($P10) = rx1065_cur."from"()
- inc $P10
- set rx1065_pos, $P10
- ge rx1065_pos, rx1065_eos, rxscan1069_done
- rxscan1069_scan:
- set_addr $I10, rxscan1069_loop
- rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
- rxscan1069_done:
-.annotate "line", 490
+.sub "infix:sym<==>" :subid("271_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1070_tgt
+ .local int rx1070_pos
+ .local int rx1070_off
+ .local int rx1070_eos
+ .local int rx1070_rep
+ .local pmc rx1070_cur
+ (rx1070_cur, rx1070_pos, rx1070_tgt) = self."!cursor_start"()
+ rx1070_cur."!cursor_debug"("START ", "infix:sym<==>")
+ .lex unicode:"$\x{a2}", rx1070_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1070_eos, rx1070_tgt
+ set rx1070_off, 0
+ lt rx1070_pos, 2, rx1070_start
+ sub rx1070_off, rx1070_pos, 1
+ substr rx1070_tgt, rx1070_tgt, rx1070_off
+ rx1070_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1074_done
+ goto rxscan1074_scan
+ rxscan1074_loop:
+ ($P10) = rx1070_cur."from"()
+ inc $P10
+ set rx1070_pos, $P10
+ ge rx1070_pos, rx1070_eos, rxscan1074_done
+ rxscan1074_scan:
+ set_addr $I10, rxscan1074_loop
+ rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
+ rxscan1074_done:
+.annotate "line", 491
# rx subcapture "sym"
- set_addr $I10, rxcap_1070_fail
- rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+ set_addr $I10, rxcap_1075_fail
+ rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
# rx literal "=="
- add $I11, rx1065_pos, 2
- gt $I11, rx1065_eos, rx1065_fail
- sub $I11, rx1065_pos, rx1065_off
- substr $S10, rx1065_tgt, $I11, 2
- ne $S10, "==", rx1065_fail
- add rx1065_pos, 2
- set_addr $I10, rxcap_1070_fail
- ($I12, $I11) = rx1065_cur."!mark_peek"($I10)
- rx1065_cur."!cursor_pos"($I11)
- ($P10) = rx1065_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1065_pos, "")
- rx1065_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1070_pos, 2
+ gt $I11, rx1070_eos, rx1070_fail
+ sub $I11, rx1070_pos, rx1070_off
+ substr $S10, rx1070_tgt, $I11, 2
+ ne $S10, "==", rx1070_fail
+ add rx1070_pos, 2
+ set_addr $I10, rxcap_1075_fail
+ ($I12, $I11) = rx1070_cur."!mark_peek"($I10)
+ rx1070_cur."!cursor_pos"($I11)
+ ($P10) = rx1070_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1070_pos, "")
+ rx1070_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1070_done
- rxcap_1070_fail:
- goto rx1065_fail
- rxcap_1070_done:
+ goto rxcap_1075_done
+ rxcap_1075_fail:
+ goto rx1070_fail
+ rxcap_1075_done:
# rx subrule "O" subtype=capture negate=
- rx1065_cur."!cursor_pos"(rx1065_pos)
- $P10 = rx1065_cur."O"("%relational, :pirop<iseq INn>")
- unless $P10, rx1065_fail
- rx1065_cur."!mark_push"(0, -1, 0, $P10)
+ rx1070_cur."!cursor_pos"(rx1070_pos)
+ $P10 = rx1070_cur."O"("%relational, :pirop<iseq INn>")
+ unless $P10, rx1070_fail
+ rx1070_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1065_pos = $P10."pos"()
+ rx1070_pos = $P10."pos"()
# rx pass
- rx1065_cur."!cursor_pass"(rx1065_pos, "infix:sym<==>")
- rx1065_cur."!cursor_debug"("PASS ", "infix:sym<==>", " at pos=", rx1065_pos)
- .return (rx1065_cur)
- rx1065_fail:
-.annotate "line", 421
- (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0)
- lt rx1065_pos, -1, rx1065_done
- eq rx1065_pos, -1, rx1065_fail
- jump $I10
- rx1065_done:
- rx1065_cur."!cursor_fail"()
- rx1065_cur."!cursor_debug"("FAIL ", "infix:sym<==>")
- .return (rx1065_cur)
+ rx1070_cur."!cursor_pass"(rx1070_pos, "infix:sym<==>")
+ rx1070_cur."!cursor_debug"("PASS ", "infix:sym<==>", " at pos=", rx1070_pos)
+ .return (rx1070_cur)
+ rx1070_fail:
+.annotate "line", 422
+ (rx1070_rep, rx1070_pos, $I10, $P10) = rx1070_cur."!mark_fail"(0)
+ lt rx1070_pos, -1, rx1070_done
+ eq rx1070_pos, -1, rx1070_fail
+ jump $I10
+ rx1070_done:
+ rx1070_cur."!cursor_fail"()
+ rx1070_cur."!cursor_debug"("FAIL ", "infix:sym<==>")
+ .return (rx1070_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>" :subid("270_1271336396.90314") :method
-.annotate "line", 421
- $P1067 = self."!PREFIX__!subrule"("O", "==")
- new $P1068, "ResizablePMCArray"
- push $P1068, $P1067
- .return ($P1068)
+.sub "!PREFIX__infix:sym<==>" :subid("272_1271948667.92136") :method
+.annotate "line", 422
+ $P1072 = self."!PREFIX__!subrule"("O", "==")
+ new $P1073, "ResizablePMCArray"
+ push $P1073, $P1072
+ .return ($P1073)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>" :subid("271_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1072_tgt
- .local int rx1072_pos
- .local int rx1072_off
- .local int rx1072_eos
- .local int rx1072_rep
- .local pmc rx1072_cur
- (rx1072_cur, rx1072_pos, rx1072_tgt) = self."!cursor_start"()
- rx1072_cur."!cursor_debug"("START ", "infix:sym<!=>")
- .lex unicode:"$\x{a2}", rx1072_cur
- .local pmc match
- .lex "$/", match
- length rx1072_eos, rx1072_tgt
- set rx1072_off, 0
- lt rx1072_pos, 2, rx1072_start
- sub rx1072_off, rx1072_pos, 1
- substr rx1072_tgt, rx1072_tgt, rx1072_off
- rx1072_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1076_done
- goto rxscan1076_scan
- rxscan1076_loop:
- ($P10) = rx1072_cur."from"()
- inc $P10
- set rx1072_pos, $P10
- ge rx1072_pos, rx1072_eos, rxscan1076_done
- rxscan1076_scan:
- set_addr $I10, rxscan1076_loop
- rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
- rxscan1076_done:
-.annotate "line", 491
+.sub "infix:sym<!=>" :subid("273_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1077_tgt
+ .local int rx1077_pos
+ .local int rx1077_off
+ .local int rx1077_eos
+ .local int rx1077_rep
+ .local pmc rx1077_cur
+ (rx1077_cur, rx1077_pos, rx1077_tgt) = self."!cursor_start"()
+ rx1077_cur."!cursor_debug"("START ", "infix:sym<!=>")
+ .lex unicode:"$\x{a2}", rx1077_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1077_eos, rx1077_tgt
+ set rx1077_off, 0
+ lt rx1077_pos, 2, rx1077_start
+ sub rx1077_off, rx1077_pos, 1
+ substr rx1077_tgt, rx1077_tgt, rx1077_off
+ rx1077_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1081_done
+ goto rxscan1081_scan
+ rxscan1081_loop:
+ ($P10) = rx1077_cur."from"()
+ inc $P10
+ set rx1077_pos, $P10
+ ge rx1077_pos, rx1077_eos, rxscan1081_done
+ rxscan1081_scan:
+ set_addr $I10, rxscan1081_loop
+ rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
+ rxscan1081_done:
+.annotate "line", 492
# rx subcapture "sym"
- set_addr $I10, rxcap_1077_fail
- rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+ set_addr $I10, rxcap_1082_fail
+ rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
# rx literal "!="
- add $I11, rx1072_pos, 2
- gt $I11, rx1072_eos, rx1072_fail
- sub $I11, rx1072_pos, rx1072_off
- substr $S10, rx1072_tgt, $I11, 2
- ne $S10, "!=", rx1072_fail
- add rx1072_pos, 2
- set_addr $I10, rxcap_1077_fail
- ($I12, $I11) = rx1072_cur."!mark_peek"($I10)
- rx1072_cur."!cursor_pos"($I11)
- ($P10) = rx1072_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1072_pos, "")
- rx1072_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1077_pos, 2
+ gt $I11, rx1077_eos, rx1077_fail
+ sub $I11, rx1077_pos, rx1077_off
+ substr $S10, rx1077_tgt, $I11, 2
+ ne $S10, "!=", rx1077_fail
+ add rx1077_pos, 2
+ set_addr $I10, rxcap_1082_fail
+ ($I12, $I11) = rx1077_cur."!mark_peek"($I10)
+ rx1077_cur."!cursor_pos"($I11)
+ ($P10) = rx1077_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1077_pos, "")
+ rx1077_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1077_done
- rxcap_1077_fail:
- goto rx1072_fail
- rxcap_1077_done:
+ goto rxcap_1082_done
+ rxcap_1082_fail:
+ goto rx1077_fail
+ rxcap_1082_done:
# rx subrule "O" subtype=capture negate=
- rx1072_cur."!cursor_pos"(rx1072_pos)
- $P10 = rx1072_cur."O"("%relational, :pirop<isne INn>")
- unless $P10, rx1072_fail
- rx1072_cur."!mark_push"(0, -1, 0, $P10)
+ rx1077_cur."!cursor_pos"(rx1077_pos)
+ $P10 = rx1077_cur."O"("%relational, :pirop<isne INn>")
+ unless $P10, rx1077_fail
+ rx1077_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1072_pos = $P10."pos"()
+ rx1077_pos = $P10."pos"()
# rx pass
- rx1072_cur."!cursor_pass"(rx1072_pos, "infix:sym<!=>")
- rx1072_cur."!cursor_debug"("PASS ", "infix:sym<!=>", " at pos=", rx1072_pos)
- .return (rx1072_cur)
- rx1072_fail:
-.annotate "line", 421
- (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0)
- lt rx1072_pos, -1, rx1072_done
- eq rx1072_pos, -1, rx1072_fail
- jump $I10
- rx1072_done:
- rx1072_cur."!cursor_fail"()
- rx1072_cur."!cursor_debug"("FAIL ", "infix:sym<!=>")
- .return (rx1072_cur)
+ rx1077_cur."!cursor_pass"(rx1077_pos, "infix:sym<!=>")
+ rx1077_cur."!cursor_debug"("PASS ", "infix:sym<!=>", " at pos=", rx1077_pos)
+ .return (rx1077_cur)
+ rx1077_fail:
+.annotate "line", 422
+ (rx1077_rep, rx1077_pos, $I10, $P10) = rx1077_cur."!mark_fail"(0)
+ lt rx1077_pos, -1, rx1077_done
+ eq rx1077_pos, -1, rx1077_fail
+ jump $I10
+ rx1077_done:
+ rx1077_cur."!cursor_fail"()
+ rx1077_cur."!cursor_debug"("FAIL ", "infix:sym<!=>")
+ .return (rx1077_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>" :subid("272_1271336396.90314") :method
-.annotate "line", 421
- $P1074 = self."!PREFIX__!subrule"("O", "!=")
- new $P1075, "ResizablePMCArray"
- push $P1075, $P1074
- .return ($P1075)
+.sub "!PREFIX__infix:sym<!=>" :subid("274_1271948667.92136") :method
+.annotate "line", 422
+ $P1079 = self."!PREFIX__!subrule"("O", "!=")
+ new $P1080, "ResizablePMCArray"
+ push $P1080, $P1079
+ .return ($P1080)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>" :subid("273_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1079_tgt
- .local int rx1079_pos
- .local int rx1079_off
- .local int rx1079_eos
- .local int rx1079_rep
- .local pmc rx1079_cur
- (rx1079_cur, rx1079_pos, rx1079_tgt) = self."!cursor_start"()
- rx1079_cur."!cursor_debug"("START ", "infix:sym<<=>")
- .lex unicode:"$\x{a2}", rx1079_cur
- .local pmc match
- .lex "$/", match
- length rx1079_eos, rx1079_tgt
- set rx1079_off, 0
- lt rx1079_pos, 2, rx1079_start
- sub rx1079_off, rx1079_pos, 1
- substr rx1079_tgt, rx1079_tgt, rx1079_off
- rx1079_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1083_done
- goto rxscan1083_scan
- rxscan1083_loop:
- ($P10) = rx1079_cur."from"()
- inc $P10
- set rx1079_pos, $P10
- ge rx1079_pos, rx1079_eos, rxscan1083_done
- rxscan1083_scan:
- set_addr $I10, rxscan1083_loop
- rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
- rxscan1083_done:
-.annotate "line", 492
+.sub "infix:sym<<=>" :subid("275_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1084_tgt
+ .local int rx1084_pos
+ .local int rx1084_off
+ .local int rx1084_eos
+ .local int rx1084_rep
+ .local pmc rx1084_cur
+ (rx1084_cur, rx1084_pos, rx1084_tgt) = self."!cursor_start"()
+ rx1084_cur."!cursor_debug"("START ", "infix:sym<<=>")
+ .lex unicode:"$\x{a2}", rx1084_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1084_eos, rx1084_tgt
+ set rx1084_off, 0
+ lt rx1084_pos, 2, rx1084_start
+ sub rx1084_off, rx1084_pos, 1
+ substr rx1084_tgt, rx1084_tgt, rx1084_off
+ rx1084_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1088_done
+ goto rxscan1088_scan
+ rxscan1088_loop:
+ ($P10) = rx1084_cur."from"()
+ inc $P10
+ set rx1084_pos, $P10
+ ge rx1084_pos, rx1084_eos, rxscan1088_done
+ rxscan1088_scan:
+ set_addr $I10, rxscan1088_loop
+ rx1084_cur."!mark_push"(0, rx1084_pos, $I10)
+ rxscan1088_done:
+.annotate "line", 493
# rx subcapture "sym"
- set_addr $I10, rxcap_1084_fail
- rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+ set_addr $I10, rxcap_1089_fail
+ rx1084_cur."!mark_push"(0, rx1084_pos, $I10)
# rx literal "<="
- add $I11, rx1079_pos, 2
- gt $I11, rx1079_eos, rx1079_fail
- sub $I11, rx1079_pos, rx1079_off
- substr $S10, rx1079_tgt, $I11, 2
- ne $S10, "<=", rx1079_fail
- add rx1079_pos, 2
- set_addr $I10, rxcap_1084_fail
- ($I12, $I11) = rx1079_cur."!mark_peek"($I10)
- rx1079_cur."!cursor_pos"($I11)
- ($P10) = rx1079_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1079_pos, "")
- rx1079_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1084_pos, 2
+ gt $I11, rx1084_eos, rx1084_fail
+ sub $I11, rx1084_pos, rx1084_off
+ substr $S10, rx1084_tgt, $I11, 2
+ ne $S10, "<=", rx1084_fail
+ add rx1084_pos, 2
+ set_addr $I10, rxcap_1089_fail
+ ($I12, $I11) = rx1084_cur."!mark_peek"($I10)
+ rx1084_cur."!cursor_pos"($I11)
+ ($P10) = rx1084_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1084_pos, "")
+ rx1084_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1084_done
- rxcap_1084_fail:
- goto rx1079_fail
- rxcap_1084_done:
+ goto rxcap_1089_done
+ rxcap_1089_fail:
+ goto rx1084_fail
+ rxcap_1089_done:
# rx subrule "O" subtype=capture negate=
- rx1079_cur."!cursor_pos"(rx1079_pos)
- $P10 = rx1079_cur."O"("%relational, :pirop<isle INn>")
- unless $P10, rx1079_fail
- rx1079_cur."!mark_push"(0, -1, 0, $P10)
+ rx1084_cur."!cursor_pos"(rx1084_pos)
+ $P10 = rx1084_cur."O"("%relational, :pirop<isle INn>")
+ unless $P10, rx1084_fail
+ rx1084_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1079_pos = $P10."pos"()
+ rx1084_pos = $P10."pos"()
# rx pass
- rx1079_cur."!cursor_pass"(rx1079_pos, "infix:sym<<=>")
- rx1079_cur."!cursor_debug"("PASS ", "infix:sym<<=>", " at pos=", rx1079_pos)
- .return (rx1079_cur)
- rx1079_fail:
-.annotate "line", 421
- (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0)
- lt rx1079_pos, -1, rx1079_done
- eq rx1079_pos, -1, rx1079_fail
- jump $I10
- rx1079_done:
- rx1079_cur."!cursor_fail"()
- rx1079_cur."!cursor_debug"("FAIL ", "infix:sym<<=>")
- .return (rx1079_cur)
+ rx1084_cur."!cursor_pass"(rx1084_pos, "infix:sym<<=>")
+ rx1084_cur."!cursor_debug"("PASS ", "infix:sym<<=>", " at pos=", rx1084_pos)
+ .return (rx1084_cur)
+ rx1084_fail:
+.annotate "line", 422
+ (rx1084_rep, rx1084_pos, $I10, $P10) = rx1084_cur."!mark_fail"(0)
+ lt rx1084_pos, -1, rx1084_done
+ eq rx1084_pos, -1, rx1084_fail
+ jump $I10
+ rx1084_done:
+ rx1084_cur."!cursor_fail"()
+ rx1084_cur."!cursor_debug"("FAIL ", "infix:sym<<=>")
+ .return (rx1084_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>" :subid("274_1271336396.90314") :method
-.annotate "line", 421
- $P1081 = self."!PREFIX__!subrule"("O", "<=")
- new $P1082, "ResizablePMCArray"
- push $P1082, $P1081
- .return ($P1082)
+.sub "!PREFIX__infix:sym<<=>" :subid("276_1271948667.92136") :method
+.annotate "line", 422
+ $P1086 = self."!PREFIX__!subrule"("O", "<=")
+ new $P1087, "ResizablePMCArray"
+ push $P1087, $P1086
+ .return ($P1087)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>" :subid("275_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1086_tgt
- .local int rx1086_pos
- .local int rx1086_off
- .local int rx1086_eos
- .local int rx1086_rep
- .local pmc rx1086_cur
- (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"()
- rx1086_cur."!cursor_debug"("START ", "infix:sym<>=>")
- .lex unicode:"$\x{a2}", rx1086_cur
- .local pmc match
- .lex "$/", match
- length rx1086_eos, rx1086_tgt
- set rx1086_off, 0
- lt rx1086_pos, 2, rx1086_start
- sub rx1086_off, rx1086_pos, 1
- substr rx1086_tgt, rx1086_tgt, rx1086_off
- rx1086_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1090_done
- goto rxscan1090_scan
- rxscan1090_loop:
- ($P10) = rx1086_cur."from"()
- inc $P10
- set rx1086_pos, $P10
- ge rx1086_pos, rx1086_eos, rxscan1090_done
- rxscan1090_scan:
- set_addr $I10, rxscan1090_loop
- rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
- rxscan1090_done:
-.annotate "line", 493
+.sub "infix:sym<>=>" :subid("277_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1091_tgt
+ .local int rx1091_pos
+ .local int rx1091_off
+ .local int rx1091_eos
+ .local int rx1091_rep
+ .local pmc rx1091_cur
+ (rx1091_cur, rx1091_pos, rx1091_tgt) = self."!cursor_start"()
+ rx1091_cur."!cursor_debug"("START ", "infix:sym<>=>")
+ .lex unicode:"$\x{a2}", rx1091_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1091_eos, rx1091_tgt
+ set rx1091_off, 0
+ lt rx1091_pos, 2, rx1091_start
+ sub rx1091_off, rx1091_pos, 1
+ substr rx1091_tgt, rx1091_tgt, rx1091_off
+ rx1091_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1095_done
+ goto rxscan1095_scan
+ rxscan1095_loop:
+ ($P10) = rx1091_cur."from"()
+ inc $P10
+ set rx1091_pos, $P10
+ ge rx1091_pos, rx1091_eos, rxscan1095_done
+ rxscan1095_scan:
+ set_addr $I10, rxscan1095_loop
+ rx1091_cur."!mark_push"(0, rx1091_pos, $I10)
+ rxscan1095_done:
+.annotate "line", 494
# rx subcapture "sym"
- set_addr $I10, rxcap_1091_fail
- rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+ set_addr $I10, rxcap_1096_fail
+ rx1091_cur."!mark_push"(0, rx1091_pos, $I10)
# rx literal ">="
- add $I11, rx1086_pos, 2
- gt $I11, rx1086_eos, rx1086_fail
- sub $I11, rx1086_pos, rx1086_off
- substr $S10, rx1086_tgt, $I11, 2
- ne $S10, ">=", rx1086_fail
- add rx1086_pos, 2
- set_addr $I10, rxcap_1091_fail
- ($I12, $I11) = rx1086_cur."!mark_peek"($I10)
- rx1086_cur."!cursor_pos"($I11)
- ($P10) = rx1086_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1086_pos, "")
- rx1086_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1091_pos, 2
+ gt $I11, rx1091_eos, rx1091_fail
+ sub $I11, rx1091_pos, rx1091_off
+ substr $S10, rx1091_tgt, $I11, 2
+ ne $S10, ">=", rx1091_fail
+ add rx1091_pos, 2
+ set_addr $I10, rxcap_1096_fail
+ ($I12, $I11) = rx1091_cur."!mark_peek"($I10)
+ rx1091_cur."!cursor_pos"($I11)
+ ($P10) = rx1091_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1091_pos, "")
+ rx1091_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1091_done
- rxcap_1091_fail:
- goto rx1086_fail
- rxcap_1091_done:
+ goto rxcap_1096_done
+ rxcap_1096_fail:
+ goto rx1091_fail
+ rxcap_1096_done:
# rx subrule "O" subtype=capture negate=
- rx1086_cur."!cursor_pos"(rx1086_pos)
- $P10 = rx1086_cur."O"("%relational, :pirop<isge INn>")
- unless $P10, rx1086_fail
- rx1086_cur."!mark_push"(0, -1, 0, $P10)
+ rx1091_cur."!cursor_pos"(rx1091_pos)
+ $P10 = rx1091_cur."O"("%relational, :pirop<isge INn>")
+ unless $P10, rx1091_fail
+ rx1091_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1086_pos = $P10."pos"()
+ rx1091_pos = $P10."pos"()
# rx pass
- rx1086_cur."!cursor_pass"(rx1086_pos, "infix:sym<>=>")
- rx1086_cur."!cursor_debug"("PASS ", "infix:sym<>=>", " at pos=", rx1086_pos)
- .return (rx1086_cur)
- rx1086_fail:
-.annotate "line", 421
- (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0)
- lt rx1086_pos, -1, rx1086_done
- eq rx1086_pos, -1, rx1086_fail
- jump $I10
- rx1086_done:
- rx1086_cur."!cursor_fail"()
- rx1086_cur."!cursor_debug"("FAIL ", "infix:sym<>=>")
- .return (rx1086_cur)
+ rx1091_cur."!cursor_pass"(rx1091_pos, "infix:sym<>=>")
+ rx1091_cur."!cursor_debug"("PASS ", "infix:sym<>=>", " at pos=", rx1091_pos)
+ .return (rx1091_cur)
+ rx1091_fail:
+.annotate "line", 422
+ (rx1091_rep, rx1091_pos, $I10, $P10) = rx1091_cur."!mark_fail"(0)
+ lt rx1091_pos, -1, rx1091_done
+ eq rx1091_pos, -1, rx1091_fail
+ jump $I10
+ rx1091_done:
+ rx1091_cur."!cursor_fail"()
+ rx1091_cur."!cursor_debug"("FAIL ", "infix:sym<>=>")
+ .return (rx1091_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>" :subid("276_1271336396.90314") :method
-.annotate "line", 421
- $P1088 = self."!PREFIX__!subrule"("O", ">=")
- new $P1089, "ResizablePMCArray"
- push $P1089, $P1088
- .return ($P1089)
+.sub "!PREFIX__infix:sym<>=>" :subid("278_1271948667.92136") :method
+.annotate "line", 422
+ $P1093 = self."!PREFIX__!subrule"("O", ">=")
+ new $P1094, "ResizablePMCArray"
+ push $P1094, $P1093
+ .return ($P1094)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>" :subid("277_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1093_tgt
- .local int rx1093_pos
- .local int rx1093_off
- .local int rx1093_eos
- .local int rx1093_rep
- .local pmc rx1093_cur
- (rx1093_cur, rx1093_pos, rx1093_tgt) = self."!cursor_start"()
- rx1093_cur."!cursor_debug"("START ", "infix:sym<<>")
- .lex unicode:"$\x{a2}", rx1093_cur
- .local pmc match
- .lex "$/", match
- length rx1093_eos, rx1093_tgt
- set rx1093_off, 0
- lt rx1093_pos, 2, rx1093_start
- sub rx1093_off, rx1093_pos, 1
- substr rx1093_tgt, rx1093_tgt, rx1093_off
- rx1093_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1097_done
- goto rxscan1097_scan
- rxscan1097_loop:
- ($P10) = rx1093_cur."from"()
- inc $P10
- set rx1093_pos, $P10
- ge rx1093_pos, rx1093_eos, rxscan1097_done
- rxscan1097_scan:
- set_addr $I10, rxscan1097_loop
- rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
- rxscan1097_done:
-.annotate "line", 494
+.sub "infix:sym<<>" :subid("279_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1098_tgt
+ .local int rx1098_pos
+ .local int rx1098_off
+ .local int rx1098_eos
+ .local int rx1098_rep
+ .local pmc rx1098_cur
+ (rx1098_cur, rx1098_pos, rx1098_tgt) = self."!cursor_start"()
+ rx1098_cur."!cursor_debug"("START ", "infix:sym<<>")
+ .lex unicode:"$\x{a2}", rx1098_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1098_eos, rx1098_tgt
+ set rx1098_off, 0
+ lt rx1098_pos, 2, rx1098_start
+ sub rx1098_off, rx1098_pos, 1
+ substr rx1098_tgt, rx1098_tgt, rx1098_off
+ rx1098_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1102_done
+ goto rxscan1102_scan
+ rxscan1102_loop:
+ ($P10) = rx1098_cur."from"()
+ inc $P10
+ set rx1098_pos, $P10
+ ge rx1098_pos, rx1098_eos, rxscan1102_done
+ rxscan1102_scan:
+ set_addr $I10, rxscan1102_loop
+ rx1098_cur."!mark_push"(0, rx1098_pos, $I10)
+ rxscan1102_done:
+.annotate "line", 495
# rx subcapture "sym"
- set_addr $I10, rxcap_1098_fail
- rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+ set_addr $I10, rxcap_1103_fail
+ rx1098_cur."!mark_push"(0, rx1098_pos, $I10)
# rx literal "<"
- add $I11, rx1093_pos, 1
- gt $I11, rx1093_eos, rx1093_fail
- sub $I11, rx1093_pos, rx1093_off
- substr $S10, rx1093_tgt, $I11, 1
- ne $S10, "<", rx1093_fail
- add rx1093_pos, 1
- set_addr $I10, rxcap_1098_fail
- ($I12, $I11) = rx1093_cur."!mark_peek"($I10)
- rx1093_cur."!cursor_pos"($I11)
- ($P10) = rx1093_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1093_pos, "")
- rx1093_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1098_pos, 1
+ gt $I11, rx1098_eos, rx1098_fail
+ sub $I11, rx1098_pos, rx1098_off
+ substr $S10, rx1098_tgt, $I11, 1
+ ne $S10, "<", rx1098_fail
+ add rx1098_pos, 1
+ set_addr $I10, rxcap_1103_fail
+ ($I12, $I11) = rx1098_cur."!mark_peek"($I10)
+ rx1098_cur."!cursor_pos"($I11)
+ ($P10) = rx1098_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1098_pos, "")
+ rx1098_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1098_done
- rxcap_1098_fail:
- goto rx1093_fail
- rxcap_1098_done:
+ goto rxcap_1103_done
+ rxcap_1103_fail:
+ goto rx1098_fail
+ rxcap_1103_done:
# rx subrule "O" subtype=capture negate=
- rx1093_cur."!cursor_pos"(rx1093_pos)
- $P10 = rx1093_cur."O"("%relational, :pirop<islt INn>")
- unless $P10, rx1093_fail
- rx1093_cur."!mark_push"(0, -1, 0, $P10)
+ rx1098_cur."!cursor_pos"(rx1098_pos)
+ $P10 = rx1098_cur."O"("%relational, :pirop<islt INn>")
+ unless $P10, rx1098_fail
+ rx1098_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1093_pos = $P10."pos"()
+ rx1098_pos = $P10."pos"()
# rx pass
- rx1093_cur."!cursor_pass"(rx1093_pos, "infix:sym<<>")
- rx1093_cur."!cursor_debug"("PASS ", "infix:sym<<>", " at pos=", rx1093_pos)
- .return (rx1093_cur)
- rx1093_fail:
-.annotate "line", 421
- (rx1093_rep, rx1093_pos, $I10, $P10) = rx1093_cur."!mark_fail"(0)
- lt rx1093_pos, -1, rx1093_done
- eq rx1093_pos, -1, rx1093_fail
- jump $I10
- rx1093_done:
- rx1093_cur."!cursor_fail"()
- rx1093_cur."!cursor_debug"("FAIL ", "infix:sym<<>")
- .return (rx1093_cur)
+ rx1098_cur."!cursor_pass"(rx1098_pos, "infix:sym<<>")
+ rx1098_cur."!cursor_debug"("PASS ", "infix:sym<<>", " at pos=", rx1098_pos)
+ .return (rx1098_cur)
+ rx1098_fail:
+.annotate "line", 422
+ (rx1098_rep, rx1098_pos, $I10, $P10) = rx1098_cur."!mark_fail"(0)
+ lt rx1098_pos, -1, rx1098_done
+ eq rx1098_pos, -1, rx1098_fail
+ jump $I10
+ rx1098_done:
+ rx1098_cur."!cursor_fail"()
+ rx1098_cur."!cursor_debug"("FAIL ", "infix:sym<<>")
+ .return (rx1098_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>" :subid("278_1271336396.90314") :method
-.annotate "line", 421
- $P1095 = self."!PREFIX__!subrule"("O", "<")
- new $P1096, "ResizablePMCArray"
- push $P1096, $P1095
- .return ($P1096)
+.sub "!PREFIX__infix:sym<<>" :subid("280_1271948667.92136") :method
+.annotate "line", 422
+ $P1100 = self."!PREFIX__!subrule"("O", "<")
+ new $P1101, "ResizablePMCArray"
+ push $P1101, $P1100
+ .return ($P1101)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>" :subid("279_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1100_tgt
- .local int rx1100_pos
- .local int rx1100_off
- .local int rx1100_eos
- .local int rx1100_rep
- .local pmc rx1100_cur
- (rx1100_cur, rx1100_pos, rx1100_tgt) = self."!cursor_start"()
- rx1100_cur."!cursor_debug"("START ", "infix:sym<>>")
- .lex unicode:"$\x{a2}", rx1100_cur
- .local pmc match
- .lex "$/", match
- length rx1100_eos, rx1100_tgt
- set rx1100_off, 0
- lt rx1100_pos, 2, rx1100_start
- sub rx1100_off, rx1100_pos, 1
- substr rx1100_tgt, rx1100_tgt, rx1100_off
- rx1100_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1104_done
- goto rxscan1104_scan
- rxscan1104_loop:
- ($P10) = rx1100_cur."from"()
- inc $P10
- set rx1100_pos, $P10
- ge rx1100_pos, rx1100_eos, rxscan1104_done
- rxscan1104_scan:
- set_addr $I10, rxscan1104_loop
- rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
- rxscan1104_done:
-.annotate "line", 495
+.sub "infix:sym<>>" :subid("281_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1105_tgt
+ .local int rx1105_pos
+ .local int rx1105_off
+ .local int rx1105_eos
+ .local int rx1105_rep
+ .local pmc rx1105_cur
+ (rx1105_cur, rx1105_pos, rx1105_tgt) = self."!cursor_start"()
+ rx1105_cur."!cursor_debug"("START ", "infix:sym<>>")
+ .lex unicode:"$\x{a2}", rx1105_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1105_eos, rx1105_tgt
+ set rx1105_off, 0
+ lt rx1105_pos, 2, rx1105_start
+ sub rx1105_off, rx1105_pos, 1
+ substr rx1105_tgt, rx1105_tgt, rx1105_off
+ rx1105_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1109_done
+ goto rxscan1109_scan
+ rxscan1109_loop:
+ ($P10) = rx1105_cur."from"()
+ inc $P10
+ set rx1105_pos, $P10
+ ge rx1105_pos, rx1105_eos, rxscan1109_done
+ rxscan1109_scan:
+ set_addr $I10, rxscan1109_loop
+ rx1105_cur."!mark_push"(0, rx1105_pos, $I10)
+ rxscan1109_done:
+.annotate "line", 496
# rx subcapture "sym"
- set_addr $I10, rxcap_1105_fail
- rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+ set_addr $I10, rxcap_1110_fail
+ rx1105_cur."!mark_push"(0, rx1105_pos, $I10)
# rx literal ">"
- add $I11, rx1100_pos, 1
- gt $I11, rx1100_eos, rx1100_fail
- sub $I11, rx1100_pos, rx1100_off
- substr $S10, rx1100_tgt, $I11, 1
- ne $S10, ">", rx1100_fail
- add rx1100_pos, 1
- set_addr $I10, rxcap_1105_fail
- ($I12, $I11) = rx1100_cur."!mark_peek"($I10)
- rx1100_cur."!cursor_pos"($I11)
- ($P10) = rx1100_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1100_pos, "")
- rx1100_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1105_pos, 1
+ gt $I11, rx1105_eos, rx1105_fail
+ sub $I11, rx1105_pos, rx1105_off
+ substr $S10, rx1105_tgt, $I11, 1
+ ne $S10, ">", rx1105_fail
+ add rx1105_pos, 1
+ set_addr $I10, rxcap_1110_fail
+ ($I12, $I11) = rx1105_cur."!mark_peek"($I10)
+ rx1105_cur."!cursor_pos"($I11)
+ ($P10) = rx1105_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1105_pos, "")
+ rx1105_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1105_done
- rxcap_1105_fail:
- goto rx1100_fail
- rxcap_1105_done:
+ goto rxcap_1110_done
+ rxcap_1110_fail:
+ goto rx1105_fail
+ rxcap_1110_done:
# rx subrule "O" subtype=capture negate=
- rx1100_cur."!cursor_pos"(rx1100_pos)
- $P10 = rx1100_cur."O"("%relational, :pirop<isgt INn>")
- unless $P10, rx1100_fail
- rx1100_cur."!mark_push"(0, -1, 0, $P10)
+ rx1105_cur."!cursor_pos"(rx1105_pos)
+ $P10 = rx1105_cur."O"("%relational, :pirop<isgt INn>")
+ unless $P10, rx1105_fail
+ rx1105_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1100_pos = $P10."pos"()
+ rx1105_pos = $P10."pos"()
# rx pass
- rx1100_cur."!cursor_pass"(rx1100_pos, "infix:sym<>>")
- rx1100_cur."!cursor_debug"("PASS ", "infix:sym<>>", " at pos=", rx1100_pos)
- .return (rx1100_cur)
- rx1100_fail:
-.annotate "line", 421
- (rx1100_rep, rx1100_pos, $I10, $P10) = rx1100_cur."!mark_fail"(0)
- lt rx1100_pos, -1, rx1100_done
- eq rx1100_pos, -1, rx1100_fail
- jump $I10
- rx1100_done:
- rx1100_cur."!cursor_fail"()
- rx1100_cur."!cursor_debug"("FAIL ", "infix:sym<>>")
- .return (rx1100_cur)
+ rx1105_cur."!cursor_pass"(rx1105_pos, "infix:sym<>>")
+ rx1105_cur."!cursor_debug"("PASS ", "infix:sym<>>", " at pos=", rx1105_pos)
+ .return (rx1105_cur)
+ rx1105_fail:
+.annotate "line", 422
+ (rx1105_rep, rx1105_pos, $I10, $P10) = rx1105_cur."!mark_fail"(0)
+ lt rx1105_pos, -1, rx1105_done
+ eq rx1105_pos, -1, rx1105_fail
+ jump $I10
+ rx1105_done:
+ rx1105_cur."!cursor_fail"()
+ rx1105_cur."!cursor_debug"("FAIL ", "infix:sym<>>")
+ .return (rx1105_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>" :subid("280_1271336396.90314") :method
-.annotate "line", 421
- $P1102 = self."!PREFIX__!subrule"("O", ">")
- new $P1103, "ResizablePMCArray"
- push $P1103, $P1102
- .return ($P1103)
+.sub "!PREFIX__infix:sym<>>" :subid("282_1271948667.92136") :method
+.annotate "line", 422
+ $P1107 = self."!PREFIX__!subrule"("O", ">")
+ new $P1108, "ResizablePMCArray"
+ push $P1108, $P1107
+ .return ($P1108)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>" :subid("281_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1107_tgt
- .local int rx1107_pos
- .local int rx1107_off
- .local int rx1107_eos
- .local int rx1107_rep
- .local pmc rx1107_cur
- (rx1107_cur, rx1107_pos, rx1107_tgt) = self."!cursor_start"()
- rx1107_cur."!cursor_debug"("START ", "infix:sym<eq>")
- .lex unicode:"$\x{a2}", rx1107_cur
- .local pmc match
- .lex "$/", match
- length rx1107_eos, rx1107_tgt
- set rx1107_off, 0
- lt rx1107_pos, 2, rx1107_start
- sub rx1107_off, rx1107_pos, 1
- substr rx1107_tgt, rx1107_tgt, rx1107_off
- rx1107_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1111_done
- goto rxscan1111_scan
- rxscan1111_loop:
- ($P10) = rx1107_cur."from"()
- inc $P10
- set rx1107_pos, $P10
- ge rx1107_pos, rx1107_eos, rxscan1111_done
- rxscan1111_scan:
- set_addr $I10, rxscan1111_loop
- rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
- rxscan1111_done:
-.annotate "line", 496
+.sub "infix:sym<eq>" :subid("283_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1112_tgt
+ .local int rx1112_pos
+ .local int rx1112_off
+ .local int rx1112_eos
+ .local int rx1112_rep
+ .local pmc rx1112_cur
+ (rx1112_cur, rx1112_pos, rx1112_tgt) = self."!cursor_start"()
+ rx1112_cur."!cursor_debug"("START ", "infix:sym<eq>")
+ .lex unicode:"$\x{a2}", rx1112_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1112_eos, rx1112_tgt
+ set rx1112_off, 0
+ lt rx1112_pos, 2, rx1112_start
+ sub rx1112_off, rx1112_pos, 1
+ substr rx1112_tgt, rx1112_tgt, rx1112_off
+ rx1112_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1116_done
+ goto rxscan1116_scan
+ rxscan1116_loop:
+ ($P10) = rx1112_cur."from"()
+ inc $P10
+ set rx1112_pos, $P10
+ ge rx1112_pos, rx1112_eos, rxscan1116_done
+ rxscan1116_scan:
+ set_addr $I10, rxscan1116_loop
+ rx1112_cur."!mark_push"(0, rx1112_pos, $I10)
+ rxscan1116_done:
+.annotate "line", 497
# rx subcapture "sym"
- set_addr $I10, rxcap_1112_fail
- rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+ set_addr $I10, rxcap_1117_fail
+ rx1112_cur."!mark_push"(0, rx1112_pos, $I10)
# rx literal "eq"
- add $I11, rx1107_pos, 2
- gt $I11, rx1107_eos, rx1107_fail
- sub $I11, rx1107_pos, rx1107_off
- substr $S10, rx1107_tgt, $I11, 2
- ne $S10, "eq", rx1107_fail
- add rx1107_pos, 2
- set_addr $I10, rxcap_1112_fail
- ($I12, $I11) = rx1107_cur."!mark_peek"($I10)
- rx1107_cur."!cursor_pos"($I11)
- ($P10) = rx1107_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1107_pos, "")
- rx1107_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1112_pos, 2
+ gt $I11, rx1112_eos, rx1112_fail
+ sub $I11, rx1112_pos, rx1112_off
+ substr $S10, rx1112_tgt, $I11, 2
+ ne $S10, "eq", rx1112_fail
+ add rx1112_pos, 2
+ set_addr $I10, rxcap_1117_fail
+ ($I12, $I11) = rx1112_cur."!mark_peek"($I10)
+ rx1112_cur."!cursor_pos"($I11)
+ ($P10) = rx1112_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1112_pos, "")
+ rx1112_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1112_done
- rxcap_1112_fail:
- goto rx1107_fail
- rxcap_1112_done:
+ goto rxcap_1117_done
+ rxcap_1117_fail:
+ goto rx1112_fail
+ rxcap_1117_done:
# rx subrule "O" subtype=capture negate=
- rx1107_cur."!cursor_pos"(rx1107_pos)
- $P10 = rx1107_cur."O"("%relational, :pirop<iseq ISs>")
- unless $P10, rx1107_fail
- rx1107_cur."!mark_push"(0, -1, 0, $P10)
+ rx1112_cur."!cursor_pos"(rx1112_pos)
+ $P10 = rx1112_cur."O"("%relational, :pirop<iseq ISs>")
+ unless $P10, rx1112_fail
+ rx1112_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1107_pos = $P10."pos"()
+ rx1112_pos = $P10."pos"()
# rx pass
- rx1107_cur."!cursor_pass"(rx1107_pos, "infix:sym<eq>")
- rx1107_cur."!cursor_debug"("PASS ", "infix:sym<eq>", " at pos=", rx1107_pos)
- .return (rx1107_cur)
- rx1107_fail:
-.annotate "line", 421
- (rx1107_rep, rx1107_pos, $I10, $P10) = rx1107_cur."!mark_fail"(0)
- lt rx1107_pos, -1, rx1107_done
- eq rx1107_pos, -1, rx1107_fail
- jump $I10
- rx1107_done:
- rx1107_cur."!cursor_fail"()
- rx1107_cur."!cursor_debug"("FAIL ", "infix:sym<eq>")
- .return (rx1107_cur)
+ rx1112_cur."!cursor_pass"(rx1112_pos, "infix:sym<eq>")
+ rx1112_cur."!cursor_debug"("PASS ", "infix:sym<eq>", " at pos=", rx1112_pos)
+ .return (rx1112_cur)
+ rx1112_fail:
+.annotate "line", 422
+ (rx1112_rep, rx1112_pos, $I10, $P10) = rx1112_cur."!mark_fail"(0)
+ lt rx1112_pos, -1, rx1112_done
+ eq rx1112_pos, -1, rx1112_fail
+ jump $I10
+ rx1112_done:
+ rx1112_cur."!cursor_fail"()
+ rx1112_cur."!cursor_debug"("FAIL ", "infix:sym<eq>")
+ .return (rx1112_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>" :subid("282_1271336396.90314") :method
-.annotate "line", 421
- $P1109 = self."!PREFIX__!subrule"("O", "eq")
- new $P1110, "ResizablePMCArray"
- push $P1110, $P1109
- .return ($P1110)
+.sub "!PREFIX__infix:sym<eq>" :subid("284_1271948667.92136") :method
+.annotate "line", 422
+ $P1114 = self."!PREFIX__!subrule"("O", "eq")
+ new $P1115, "ResizablePMCArray"
+ push $P1115, $P1114
+ .return ($P1115)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>" :subid("283_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1114_tgt
- .local int rx1114_pos
- .local int rx1114_off
- .local int rx1114_eos
- .local int rx1114_rep
- .local pmc rx1114_cur
- (rx1114_cur, rx1114_pos, rx1114_tgt) = self."!cursor_start"()
- rx1114_cur."!cursor_debug"("START ", "infix:sym<ne>")
- .lex unicode:"$\x{a2}", rx1114_cur
- .local pmc match
- .lex "$/", match
- length rx1114_eos, rx1114_tgt
- set rx1114_off, 0
- lt rx1114_pos, 2, rx1114_start
- sub rx1114_off, rx1114_pos, 1
- substr rx1114_tgt, rx1114_tgt, rx1114_off
- rx1114_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1118_done
- goto rxscan1118_scan
- rxscan1118_loop:
- ($P10) = rx1114_cur."from"()
- inc $P10
- set rx1114_pos, $P10
- ge rx1114_pos, rx1114_eos, rxscan1118_done
- rxscan1118_scan:
- set_addr $I10, rxscan1118_loop
- rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
- rxscan1118_done:
-.annotate "line", 497
+.sub "infix:sym<ne>" :subid("285_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1119_tgt
+ .local int rx1119_pos
+ .local int rx1119_off
+ .local int rx1119_eos
+ .local int rx1119_rep
+ .local pmc rx1119_cur
+ (rx1119_cur, rx1119_pos, rx1119_tgt) = self."!cursor_start"()
+ rx1119_cur."!cursor_debug"("START ", "infix:sym<ne>")
+ .lex unicode:"$\x{a2}", rx1119_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1119_eos, rx1119_tgt
+ set rx1119_off, 0
+ lt rx1119_pos, 2, rx1119_start
+ sub rx1119_off, rx1119_pos, 1
+ substr rx1119_tgt, rx1119_tgt, rx1119_off
+ rx1119_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1123_done
+ goto rxscan1123_scan
+ rxscan1123_loop:
+ ($P10) = rx1119_cur."from"()
+ inc $P10
+ set rx1119_pos, $P10
+ ge rx1119_pos, rx1119_eos, rxscan1123_done
+ rxscan1123_scan:
+ set_addr $I10, rxscan1123_loop
+ rx1119_cur."!mark_push"(0, rx1119_pos, $I10)
+ rxscan1123_done:
+.annotate "line", 498
# rx subcapture "sym"
- set_addr $I10, rxcap_1119_fail
- rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+ set_addr $I10, rxcap_1124_fail
+ rx1119_cur."!mark_push"(0, rx1119_pos, $I10)
# rx literal "ne"
- add $I11, rx1114_pos, 2
- gt $I11, rx1114_eos, rx1114_fail
- sub $I11, rx1114_pos, rx1114_off
- substr $S10, rx1114_tgt, $I11, 2
- ne $S10, "ne", rx1114_fail
- add rx1114_pos, 2
- set_addr $I10, rxcap_1119_fail
- ($I12, $I11) = rx1114_cur."!mark_peek"($I10)
- rx1114_cur."!cursor_pos"($I11)
- ($P10) = rx1114_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1114_pos, "")
- rx1114_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1119_pos, 2
+ gt $I11, rx1119_eos, rx1119_fail
+ sub $I11, rx1119_pos, rx1119_off
+ substr $S10, rx1119_tgt, $I11, 2
+ ne $S10, "ne", rx1119_fail
+ add rx1119_pos, 2
+ set_addr $I10, rxcap_1124_fail
+ ($I12, $I11) = rx1119_cur."!mark_peek"($I10)
+ rx1119_cur."!cursor_pos"($I11)
+ ($P10) = rx1119_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1119_pos, "")
+ rx1119_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1119_done
- rxcap_1119_fail:
- goto rx1114_fail
- rxcap_1119_done:
+ goto rxcap_1124_done
+ rxcap_1124_fail:
+ goto rx1119_fail
+ rxcap_1124_done:
# rx subrule "O" subtype=capture negate=
- rx1114_cur."!cursor_pos"(rx1114_pos)
- $P10 = rx1114_cur."O"("%relational, :pirop<isne ISs>")
- unless $P10, rx1114_fail
- rx1114_cur."!mark_push"(0, -1, 0, $P10)
+ rx1119_cur."!cursor_pos"(rx1119_pos)
+ $P10 = rx1119_cur."O"("%relational, :pirop<isne ISs>")
+ unless $P10, rx1119_fail
+ rx1119_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1114_pos = $P10."pos"()
+ rx1119_pos = $P10."pos"()
# rx pass
- rx1114_cur."!cursor_pass"(rx1114_pos, "infix:sym<ne>")
- rx1114_cur."!cursor_debug"("PASS ", "infix:sym<ne>", " at pos=", rx1114_pos)
- .return (rx1114_cur)
- rx1114_fail:
-.annotate "line", 421
- (rx1114_rep, rx1114_pos, $I10, $P10) = rx1114_cur."!mark_fail"(0)
- lt rx1114_pos, -1, rx1114_done
- eq rx1114_pos, -1, rx1114_fail
- jump $I10
- rx1114_done:
- rx1114_cur."!cursor_fail"()
- rx1114_cur."!cursor_debug"("FAIL ", "infix:sym<ne>")
- .return (rx1114_cur)
+ rx1119_cur."!cursor_pass"(rx1119_pos, "infix:sym<ne>")
+ rx1119_cur."!cursor_debug"("PASS ", "infix:sym<ne>", " at pos=", rx1119_pos)
+ .return (rx1119_cur)
+ rx1119_fail:
+.annotate "line", 422
+ (rx1119_rep, rx1119_pos, $I10, $P10) = rx1119_cur."!mark_fail"(0)
+ lt rx1119_pos, -1, rx1119_done
+ eq rx1119_pos, -1, rx1119_fail
+ jump $I10
+ rx1119_done:
+ rx1119_cur."!cursor_fail"()
+ rx1119_cur."!cursor_debug"("FAIL ", "infix:sym<ne>")
+ .return (rx1119_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>" :subid("284_1271336396.90314") :method
-.annotate "line", 421
- $P1116 = self."!PREFIX__!subrule"("O", "ne")
- new $P1117, "ResizablePMCArray"
- push $P1117, $P1116
- .return ($P1117)
+.sub "!PREFIX__infix:sym<ne>" :subid("286_1271948667.92136") :method
+.annotate "line", 422
+ $P1121 = self."!PREFIX__!subrule"("O", "ne")
+ new $P1122, "ResizablePMCArray"
+ push $P1122, $P1121
+ .return ($P1122)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>" :subid("285_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1121_tgt
- .local int rx1121_pos
- .local int rx1121_off
- .local int rx1121_eos
- .local int rx1121_rep
- .local pmc rx1121_cur
- (rx1121_cur, rx1121_pos, rx1121_tgt) = self."!cursor_start"()
- rx1121_cur."!cursor_debug"("START ", "infix:sym<le>")
- .lex unicode:"$\x{a2}", rx1121_cur
- .local pmc match
- .lex "$/", match
- length rx1121_eos, rx1121_tgt
- set rx1121_off, 0
- lt rx1121_pos, 2, rx1121_start
- sub rx1121_off, rx1121_pos, 1
- substr rx1121_tgt, rx1121_tgt, rx1121_off
- rx1121_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1125_done
- goto rxscan1125_scan
- rxscan1125_loop:
- ($P10) = rx1121_cur."from"()
- inc $P10
- set rx1121_pos, $P10
- ge rx1121_pos, rx1121_eos, rxscan1125_done
- rxscan1125_scan:
- set_addr $I10, rxscan1125_loop
- rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
- rxscan1125_done:
-.annotate "line", 498
+.sub "infix:sym<le>" :subid("287_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1126_tgt
+ .local int rx1126_pos
+ .local int rx1126_off
+ .local int rx1126_eos
+ .local int rx1126_rep
+ .local pmc rx1126_cur
+ (rx1126_cur, rx1126_pos, rx1126_tgt) = self."!cursor_start"()
+ rx1126_cur."!cursor_debug"("START ", "infix:sym<le>")
+ .lex unicode:"$\x{a2}", rx1126_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1126_eos, rx1126_tgt
+ set rx1126_off, 0
+ lt rx1126_pos, 2, rx1126_start
+ sub rx1126_off, rx1126_pos, 1
+ substr rx1126_tgt, rx1126_tgt, rx1126_off
+ rx1126_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1130_done
+ goto rxscan1130_scan
+ rxscan1130_loop:
+ ($P10) = rx1126_cur."from"()
+ inc $P10
+ set rx1126_pos, $P10
+ ge rx1126_pos, rx1126_eos, rxscan1130_done
+ rxscan1130_scan:
+ set_addr $I10, rxscan1130_loop
+ rx1126_cur."!mark_push"(0, rx1126_pos, $I10)
+ rxscan1130_done:
+.annotate "line", 499
# rx subcapture "sym"
- set_addr $I10, rxcap_1126_fail
- rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+ set_addr $I10, rxcap_1131_fail
+ rx1126_cur."!mark_push"(0, rx1126_pos, $I10)
# rx literal "le"
- add $I11, rx1121_pos, 2
- gt $I11, rx1121_eos, rx1121_fail
- sub $I11, rx1121_pos, rx1121_off
- substr $S10, rx1121_tgt, $I11, 2
- ne $S10, "le", rx1121_fail
- add rx1121_pos, 2
- set_addr $I10, rxcap_1126_fail
- ($I12, $I11) = rx1121_cur."!mark_peek"($I10)
- rx1121_cur."!cursor_pos"($I11)
- ($P10) = rx1121_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1121_pos, "")
- rx1121_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1126_pos, 2
+ gt $I11, rx1126_eos, rx1126_fail
+ sub $I11, rx1126_pos, rx1126_off
+ substr $S10, rx1126_tgt, $I11, 2
+ ne $S10, "le", rx1126_fail
+ add rx1126_pos, 2
+ set_addr $I10, rxcap_1131_fail
+ ($I12, $I11) = rx1126_cur."!mark_peek"($I10)
+ rx1126_cur."!cursor_pos"($I11)
+ ($P10) = rx1126_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1126_pos, "")
+ rx1126_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1126_done
- rxcap_1126_fail:
- goto rx1121_fail
- rxcap_1126_done:
+ goto rxcap_1131_done
+ rxcap_1131_fail:
+ goto rx1126_fail
+ rxcap_1131_done:
# rx subrule "O" subtype=capture negate=
- rx1121_cur."!cursor_pos"(rx1121_pos)
- $P10 = rx1121_cur."O"("%relational, :pirop<isle ISs>")
- unless $P10, rx1121_fail
- rx1121_cur."!mark_push"(0, -1, 0, $P10)
+ rx1126_cur."!cursor_pos"(rx1126_pos)
+ $P10 = rx1126_cur."O"("%relational, :pirop<isle ISs>")
+ unless $P10, rx1126_fail
+ rx1126_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1121_pos = $P10."pos"()
+ rx1126_pos = $P10."pos"()
# rx pass
- rx1121_cur."!cursor_pass"(rx1121_pos, "infix:sym<le>")
- rx1121_cur."!cursor_debug"("PASS ", "infix:sym<le>", " at pos=", rx1121_pos)
- .return (rx1121_cur)
- rx1121_fail:
-.annotate "line", 421
- (rx1121_rep, rx1121_pos, $I10, $P10) = rx1121_cur."!mark_fail"(0)
- lt rx1121_pos, -1, rx1121_done
- eq rx1121_pos, -1, rx1121_fail
- jump $I10
- rx1121_done:
- rx1121_cur."!cursor_fail"()
- rx1121_cur."!cursor_debug"("FAIL ", "infix:sym<le>")
- .return (rx1121_cur)
+ rx1126_cur."!cursor_pass"(rx1126_pos, "infix:sym<le>")
+ rx1126_cur."!cursor_debug"("PASS ", "infix:sym<le>", " at pos=", rx1126_pos)
+ .return (rx1126_cur)
+ rx1126_fail:
+.annotate "line", 422
+ (rx1126_rep, rx1126_pos, $I10, $P10) = rx1126_cur."!mark_fail"(0)
+ lt rx1126_pos, -1, rx1126_done
+ eq rx1126_pos, -1, rx1126_fail
+ jump $I10
+ rx1126_done:
+ rx1126_cur."!cursor_fail"()
+ rx1126_cur."!cursor_debug"("FAIL ", "infix:sym<le>")
+ .return (rx1126_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>" :subid("286_1271336396.90314") :method
-.annotate "line", 421
- $P1123 = self."!PREFIX__!subrule"("O", "le")
- new $P1124, "ResizablePMCArray"
- push $P1124, $P1123
- .return ($P1124)
+.sub "!PREFIX__infix:sym<le>" :subid("288_1271948667.92136") :method
+.annotate "line", 422
+ $P1128 = self."!PREFIX__!subrule"("O", "le")
+ new $P1129, "ResizablePMCArray"
+ push $P1129, $P1128
+ .return ($P1129)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>" :subid("287_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1128_tgt
- .local int rx1128_pos
- .local int rx1128_off
- .local int rx1128_eos
- .local int rx1128_rep
- .local pmc rx1128_cur
- (rx1128_cur, rx1128_pos, rx1128_tgt) = self."!cursor_start"()
- rx1128_cur."!cursor_debug"("START ", "infix:sym<ge>")
- .lex unicode:"$\x{a2}", rx1128_cur
- .local pmc match
- .lex "$/", match
- length rx1128_eos, rx1128_tgt
- set rx1128_off, 0
- lt rx1128_pos, 2, rx1128_start
- sub rx1128_off, rx1128_pos, 1
- substr rx1128_tgt, rx1128_tgt, rx1128_off
- rx1128_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1132_done
- goto rxscan1132_scan
- rxscan1132_loop:
- ($P10) = rx1128_cur."from"()
- inc $P10
- set rx1128_pos, $P10
- ge rx1128_pos, rx1128_eos, rxscan1132_done
- rxscan1132_scan:
- set_addr $I10, rxscan1132_loop
- rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
- rxscan1132_done:
-.annotate "line", 499
+.sub "infix:sym<ge>" :subid("289_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1133_tgt
+ .local int rx1133_pos
+ .local int rx1133_off
+ .local int rx1133_eos
+ .local int rx1133_rep
+ .local pmc rx1133_cur
+ (rx1133_cur, rx1133_pos, rx1133_tgt) = self."!cursor_start"()
+ rx1133_cur."!cursor_debug"("START ", "infix:sym<ge>")
+ .lex unicode:"$\x{a2}", rx1133_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1133_eos, rx1133_tgt
+ set rx1133_off, 0
+ lt rx1133_pos, 2, rx1133_start
+ sub rx1133_off, rx1133_pos, 1
+ substr rx1133_tgt, rx1133_tgt, rx1133_off
+ rx1133_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1137_done
+ goto rxscan1137_scan
+ rxscan1137_loop:
+ ($P10) = rx1133_cur."from"()
+ inc $P10
+ set rx1133_pos, $P10
+ ge rx1133_pos, rx1133_eos, rxscan1137_done
+ rxscan1137_scan:
+ set_addr $I10, rxscan1137_loop
+ rx1133_cur."!mark_push"(0, rx1133_pos, $I10)
+ rxscan1137_done:
+.annotate "line", 500
# rx subcapture "sym"
- set_addr $I10, rxcap_1133_fail
- rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+ set_addr $I10, rxcap_1138_fail
+ rx1133_cur."!mark_push"(0, rx1133_pos, $I10)
# rx literal "ge"
- add $I11, rx1128_pos, 2
- gt $I11, rx1128_eos, rx1128_fail
- sub $I11, rx1128_pos, rx1128_off
- substr $S10, rx1128_tgt, $I11, 2
- ne $S10, "ge", rx1128_fail
- add rx1128_pos, 2
- set_addr $I10, rxcap_1133_fail
- ($I12, $I11) = rx1128_cur."!mark_peek"($I10)
- rx1128_cur."!cursor_pos"($I11)
- ($P10) = rx1128_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1128_pos, "")
- rx1128_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1133_pos, 2
+ gt $I11, rx1133_eos, rx1133_fail
+ sub $I11, rx1133_pos, rx1133_off
+ substr $S10, rx1133_tgt, $I11, 2
+ ne $S10, "ge", rx1133_fail
+ add rx1133_pos, 2
+ set_addr $I10, rxcap_1138_fail
+ ($I12, $I11) = rx1133_cur."!mark_peek"($I10)
+ rx1133_cur."!cursor_pos"($I11)
+ ($P10) = rx1133_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1133_pos, "")
+ rx1133_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1133_done
- rxcap_1133_fail:
- goto rx1128_fail
- rxcap_1133_done:
+ goto rxcap_1138_done
+ rxcap_1138_fail:
+ goto rx1133_fail
+ rxcap_1138_done:
# rx subrule "O" subtype=capture negate=
- rx1128_cur."!cursor_pos"(rx1128_pos)
- $P10 = rx1128_cur."O"("%relational, :pirop<isge ISs>")
- unless $P10, rx1128_fail
- rx1128_cur."!mark_push"(0, -1, 0, $P10)
+ rx1133_cur."!cursor_pos"(rx1133_pos)
+ $P10 = rx1133_cur."O"("%relational, :pirop<isge ISs>")
+ unless $P10, rx1133_fail
+ rx1133_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1128_pos = $P10."pos"()
+ rx1133_pos = $P10."pos"()
# rx pass
- rx1128_cur."!cursor_pass"(rx1128_pos, "infix:sym<ge>")
- rx1128_cur."!cursor_debug"("PASS ", "infix:sym<ge>", " at pos=", rx1128_pos)
- .return (rx1128_cur)
- rx1128_fail:
-.annotate "line", 421
- (rx1128_rep, rx1128_pos, $I10, $P10) = rx1128_cur."!mark_fail"(0)
- lt rx1128_pos, -1, rx1128_done
- eq rx1128_pos, -1, rx1128_fail
- jump $I10
- rx1128_done:
- rx1128_cur."!cursor_fail"()
- rx1128_cur."!cursor_debug"("FAIL ", "infix:sym<ge>")
- .return (rx1128_cur)
+ rx1133_cur."!cursor_pass"(rx1133_pos, "infix:sym<ge>")
+ rx1133_cur."!cursor_debug"("PASS ", "infix:sym<ge>", " at pos=", rx1133_pos)
+ .return (rx1133_cur)
+ rx1133_fail:
+.annotate "line", 422
+ (rx1133_rep, rx1133_pos, $I10, $P10) = rx1133_cur."!mark_fail"(0)
+ lt rx1133_pos, -1, rx1133_done
+ eq rx1133_pos, -1, rx1133_fail
+ jump $I10
+ rx1133_done:
+ rx1133_cur."!cursor_fail"()
+ rx1133_cur."!cursor_debug"("FAIL ", "infix:sym<ge>")
+ .return (rx1133_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>" :subid("288_1271336396.90314") :method
-.annotate "line", 421
- $P1130 = self."!PREFIX__!subrule"("O", "ge")
- new $P1131, "ResizablePMCArray"
- push $P1131, $P1130
- .return ($P1131)
+.sub "!PREFIX__infix:sym<ge>" :subid("290_1271948667.92136") :method
+.annotate "line", 422
+ $P1135 = self."!PREFIX__!subrule"("O", "ge")
+ new $P1136, "ResizablePMCArray"
+ push $P1136, $P1135
+ .return ($P1136)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>" :subid("289_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1135_tgt
- .local int rx1135_pos
- .local int rx1135_off
- .local int rx1135_eos
- .local int rx1135_rep
- .local pmc rx1135_cur
- (rx1135_cur, rx1135_pos, rx1135_tgt) = self."!cursor_start"()
- rx1135_cur."!cursor_debug"("START ", "infix:sym<lt>")
- .lex unicode:"$\x{a2}", rx1135_cur
- .local pmc match
- .lex "$/", match
- length rx1135_eos, rx1135_tgt
- set rx1135_off, 0
- lt rx1135_pos, 2, rx1135_start
- sub rx1135_off, rx1135_pos, 1
- substr rx1135_tgt, rx1135_tgt, rx1135_off
- rx1135_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1139_done
- goto rxscan1139_scan
- rxscan1139_loop:
- ($P10) = rx1135_cur."from"()
- inc $P10
- set rx1135_pos, $P10
- ge rx1135_pos, rx1135_eos, rxscan1139_done
- rxscan1139_scan:
- set_addr $I10, rxscan1139_loop
- rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
- rxscan1139_done:
-.annotate "line", 500
+.sub "infix:sym<lt>" :subid("291_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1140_tgt
+ .local int rx1140_pos
+ .local int rx1140_off
+ .local int rx1140_eos
+ .local int rx1140_rep
+ .local pmc rx1140_cur
+ (rx1140_cur, rx1140_pos, rx1140_tgt) = self."!cursor_start"()
+ rx1140_cur."!cursor_debug"("START ", "infix:sym<lt>")
+ .lex unicode:"$\x{a2}", rx1140_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1140_eos, rx1140_tgt
+ set rx1140_off, 0
+ lt rx1140_pos, 2, rx1140_start
+ sub rx1140_off, rx1140_pos, 1
+ substr rx1140_tgt, rx1140_tgt, rx1140_off
+ rx1140_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1144_done
+ goto rxscan1144_scan
+ rxscan1144_loop:
+ ($P10) = rx1140_cur."from"()
+ inc $P10
+ set rx1140_pos, $P10
+ ge rx1140_pos, rx1140_eos, rxscan1144_done
+ rxscan1144_scan:
+ set_addr $I10, rxscan1144_loop
+ rx1140_cur."!mark_push"(0, rx1140_pos, $I10)
+ rxscan1144_done:
+.annotate "line", 501
# rx subcapture "sym"
- set_addr $I10, rxcap_1140_fail
- rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
+ set_addr $I10, rxcap_1145_fail
+ rx1140_cur."!mark_push"(0, rx1140_pos, $I10)
# rx literal "lt"
- add $I11, rx1135_pos, 2
- gt $I11, rx1135_eos, rx1135_fail
- sub $I11, rx1135_pos, rx1135_off
- substr $S10, rx1135_tgt, $I11, 2
- ne $S10, "lt", rx1135_fail
- add rx1135_pos, 2
- set_addr $I10, rxcap_1140_fail
- ($I12, $I11) = rx1135_cur."!mark_peek"($I10)
- rx1135_cur."!cursor_pos"($I11)
- ($P10) = rx1135_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1135_pos, "")
- rx1135_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1140_pos, 2
+ gt $I11, rx1140_eos, rx1140_fail
+ sub $I11, rx1140_pos, rx1140_off
+ substr $S10, rx1140_tgt, $I11, 2
+ ne $S10, "lt", rx1140_fail
+ add rx1140_pos, 2
+ set_addr $I10, rxcap_1145_fail
+ ($I12, $I11) = rx1140_cur."!mark_peek"($I10)
+ rx1140_cur."!cursor_pos"($I11)
+ ($P10) = rx1140_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1140_pos, "")
+ rx1140_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1140_done
- rxcap_1140_fail:
- goto rx1135_fail
- rxcap_1140_done:
+ goto rxcap_1145_done
+ rxcap_1145_fail:
+ goto rx1140_fail
+ rxcap_1145_done:
# rx subrule "O" subtype=capture negate=
- rx1135_cur."!cursor_pos"(rx1135_pos)
- $P10 = rx1135_cur."O"("%relational, :pirop<islt ISs>")
- unless $P10, rx1135_fail
- rx1135_cur."!mark_push"(0, -1, 0, $P10)
+ rx1140_cur."!cursor_pos"(rx1140_pos)
+ $P10 = rx1140_cur."O"("%relational, :pirop<islt ISs>")
+ unless $P10, rx1140_fail
+ rx1140_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1135_pos = $P10."pos"()
+ rx1140_pos = $P10."pos"()
# rx pass
- rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<lt>")
- rx1135_cur."!cursor_debug"("PASS ", "infix:sym<lt>", " at pos=", rx1135_pos)
- .return (rx1135_cur)
- rx1135_fail:
-.annotate "line", 421
- (rx1135_rep, rx1135_pos, $I10, $P10) = rx1135_cur."!mark_fail"(0)
- lt rx1135_pos, -1, rx1135_done
- eq rx1135_pos, -1, rx1135_fail
- jump $I10
- rx1135_done:
- rx1135_cur."!cursor_fail"()
- rx1135_cur."!cursor_debug"("FAIL ", "infix:sym<lt>")
- .return (rx1135_cur)
+ rx1140_cur."!cursor_pass"(rx1140_pos, "infix:sym<lt>")
+ rx1140_cur."!cursor_debug"("PASS ", "infix:sym<lt>", " at pos=", rx1140_pos)
+ .return (rx1140_cur)
+ rx1140_fail:
+.annotate "line", 422
+ (rx1140_rep, rx1140_pos, $I10, $P10) = rx1140_cur."!mark_fail"(0)
+ lt rx1140_pos, -1, rx1140_done
+ eq rx1140_pos, -1, rx1140_fail
+ jump $I10
+ rx1140_done:
+ rx1140_cur."!cursor_fail"()
+ rx1140_cur."!cursor_debug"("FAIL ", "infix:sym<lt>")
+ .return (rx1140_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>" :subid("290_1271336396.90314") :method
-.annotate "line", 421
- $P1137 = self."!PREFIX__!subrule"("O", "lt")
- new $P1138, "ResizablePMCArray"
- push $P1138, $P1137
- .return ($P1138)
+.sub "!PREFIX__infix:sym<lt>" :subid("292_1271948667.92136") :method
+.annotate "line", 422
+ $P1142 = self."!PREFIX__!subrule"("O", "lt")
+ new $P1143, "ResizablePMCArray"
+ push $P1143, $P1142
+ .return ($P1143)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>" :subid("291_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1142_tgt
- .local int rx1142_pos
- .local int rx1142_off
- .local int rx1142_eos
- .local int rx1142_rep
- .local pmc rx1142_cur
- (rx1142_cur, rx1142_pos, rx1142_tgt) = self."!cursor_start"()
- rx1142_cur."!cursor_debug"("START ", "infix:sym<gt>")
- .lex unicode:"$\x{a2}", rx1142_cur
- .local pmc match
- .lex "$/", match
- length rx1142_eos, rx1142_tgt
- set rx1142_off, 0
- lt rx1142_pos, 2, rx1142_start
- sub rx1142_off, rx1142_pos, 1
- substr rx1142_tgt, rx1142_tgt, rx1142_off
- rx1142_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1146_done
- goto rxscan1146_scan
- rxscan1146_loop:
- ($P10) = rx1142_cur."from"()
- inc $P10
- set rx1142_pos, $P10
- ge rx1142_pos, rx1142_eos, rxscan1146_done
- rxscan1146_scan:
- set_addr $I10, rxscan1146_loop
- rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
- rxscan1146_done:
-.annotate "line", 501
+.sub "infix:sym<gt>" :subid("293_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1147_tgt
+ .local int rx1147_pos
+ .local int rx1147_off
+ .local int rx1147_eos
+ .local int rx1147_rep
+ .local pmc rx1147_cur
+ (rx1147_cur, rx1147_pos, rx1147_tgt) = self."!cursor_start"()
+ rx1147_cur."!cursor_debug"("START ", "infix:sym<gt>")
+ .lex unicode:"$\x{a2}", rx1147_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1147_eos, rx1147_tgt
+ set rx1147_off, 0
+ lt rx1147_pos, 2, rx1147_start
+ sub rx1147_off, rx1147_pos, 1
+ substr rx1147_tgt, rx1147_tgt, rx1147_off
+ rx1147_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1151_done
+ goto rxscan1151_scan
+ rxscan1151_loop:
+ ($P10) = rx1147_cur."from"()
+ inc $P10
+ set rx1147_pos, $P10
+ ge rx1147_pos, rx1147_eos, rxscan1151_done
+ rxscan1151_scan:
+ set_addr $I10, rxscan1151_loop
+ rx1147_cur."!mark_push"(0, rx1147_pos, $I10)
+ rxscan1151_done:
+.annotate "line", 502
# rx subcapture "sym"
- set_addr $I10, rxcap_1147_fail
- rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
+ set_addr $I10, rxcap_1152_fail
+ rx1147_cur."!mark_push"(0, rx1147_pos, $I10)
# rx literal "gt"
- add $I11, rx1142_pos, 2
- gt $I11, rx1142_eos, rx1142_fail
- sub $I11, rx1142_pos, rx1142_off
- substr $S10, rx1142_tgt, $I11, 2
- ne $S10, "gt", rx1142_fail
- add rx1142_pos, 2
- set_addr $I10, rxcap_1147_fail
- ($I12, $I11) = rx1142_cur."!mark_peek"($I10)
- rx1142_cur."!cursor_pos"($I11)
- ($P10) = rx1142_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1142_pos, "")
- rx1142_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1147_pos, 2
+ gt $I11, rx1147_eos, rx1147_fail
+ sub $I11, rx1147_pos, rx1147_off
+ substr $S10, rx1147_tgt, $I11, 2
+ ne $S10, "gt", rx1147_fail
+ add rx1147_pos, 2
+ set_addr $I10, rxcap_1152_fail
+ ($I12, $I11) = rx1147_cur."!mark_peek"($I10)
+ rx1147_cur."!cursor_pos"($I11)
+ ($P10) = rx1147_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1147_pos, "")
+ rx1147_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1147_done
- rxcap_1147_fail:
- goto rx1142_fail
- rxcap_1147_done:
+ goto rxcap_1152_done
+ rxcap_1152_fail:
+ goto rx1147_fail
+ rxcap_1152_done:
# rx subrule "O" subtype=capture negate=
- rx1142_cur."!cursor_pos"(rx1142_pos)
- $P10 = rx1142_cur."O"("%relational, :pirop<isgt ISs>")
- unless $P10, rx1142_fail
- rx1142_cur."!mark_push"(0, -1, 0, $P10)
+ rx1147_cur."!cursor_pos"(rx1147_pos)
+ $P10 = rx1147_cur."O"("%relational, :pirop<isgt ISs>")
+ unless $P10, rx1147_fail
+ rx1147_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1142_pos = $P10."pos"()
+ rx1147_pos = $P10."pos"()
# rx pass
- rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<gt>")
- rx1142_cur."!cursor_debug"("PASS ", "infix:sym<gt>", " at pos=", rx1142_pos)
- .return (rx1142_cur)
- rx1142_fail:
-.annotate "line", 421
- (rx1142_rep, rx1142_pos, $I10, $P10) = rx1142_cur."!mark_fail"(0)
- lt rx1142_pos, -1, rx1142_done
- eq rx1142_pos, -1, rx1142_fail
- jump $I10
- rx1142_done:
- rx1142_cur."!cursor_fail"()
- rx1142_cur."!cursor_debug"("FAIL ", "infix:sym<gt>")
- .return (rx1142_cur)
+ rx1147_cur."!cursor_pass"(rx1147_pos, "infix:sym<gt>")
+ rx1147_cur."!cursor_debug"("PASS ", "infix:sym<gt>", " at pos=", rx1147_pos)
+ .return (rx1147_cur)
+ rx1147_fail:
+.annotate "line", 422
+ (rx1147_rep, rx1147_pos, $I10, $P10) = rx1147_cur."!mark_fail"(0)
+ lt rx1147_pos, -1, rx1147_done
+ eq rx1147_pos, -1, rx1147_fail
+ jump $I10
+ rx1147_done:
+ rx1147_cur."!cursor_fail"()
+ rx1147_cur."!cursor_debug"("FAIL ", "infix:sym<gt>")
+ .return (rx1147_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>" :subid("292_1271336396.90314") :method
-.annotate "line", 421
- $P1144 = self."!PREFIX__!subrule"("O", "gt")
- new $P1145, "ResizablePMCArray"
- push $P1145, $P1144
- .return ($P1145)
+.sub "!PREFIX__infix:sym<gt>" :subid("294_1271948667.92136") :method
+.annotate "line", 422
+ $P1149 = self."!PREFIX__!subrule"("O", "gt")
+ new $P1150, "ResizablePMCArray"
+ push $P1150, $P1149
+ .return ($P1150)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>" :subid("293_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1149_tgt
- .local int rx1149_pos
- .local int rx1149_off
- .local int rx1149_eos
- .local int rx1149_rep
- .local pmc rx1149_cur
- (rx1149_cur, rx1149_pos, rx1149_tgt) = self."!cursor_start"()
- rx1149_cur."!cursor_debug"("START ", "infix:sym<=:=>")
- .lex unicode:"$\x{a2}", rx1149_cur
- .local pmc match
- .lex "$/", match
- length rx1149_eos, rx1149_tgt
- set rx1149_off, 0
- lt rx1149_pos, 2, rx1149_start
- sub rx1149_off, rx1149_pos, 1
- substr rx1149_tgt, rx1149_tgt, rx1149_off
- rx1149_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1153_done
- goto rxscan1153_scan
- rxscan1153_loop:
- ($P10) = rx1149_cur."from"()
- inc $P10
- set rx1149_pos, $P10
- ge rx1149_pos, rx1149_eos, rxscan1153_done
- rxscan1153_scan:
- set_addr $I10, rxscan1153_loop
- rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
- rxscan1153_done:
-.annotate "line", 502
+.sub "infix:sym<=:=>" :subid("295_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1154_tgt
+ .local int rx1154_pos
+ .local int rx1154_off
+ .local int rx1154_eos
+ .local int rx1154_rep
+ .local pmc rx1154_cur
+ (rx1154_cur, rx1154_pos, rx1154_tgt) = self."!cursor_start"()
+ rx1154_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+ .lex unicode:"$\x{a2}", rx1154_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1154_eos, rx1154_tgt
+ set rx1154_off, 0
+ lt rx1154_pos, 2, rx1154_start
+ sub rx1154_off, rx1154_pos, 1
+ substr rx1154_tgt, rx1154_tgt, rx1154_off
+ rx1154_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1158_done
+ goto rxscan1158_scan
+ rxscan1158_loop:
+ ($P10) = rx1154_cur."from"()
+ inc $P10
+ set rx1154_pos, $P10
+ ge rx1154_pos, rx1154_eos, rxscan1158_done
+ rxscan1158_scan:
+ set_addr $I10, rxscan1158_loop
+ rx1154_cur."!mark_push"(0, rx1154_pos, $I10)
+ rxscan1158_done:
+.annotate "line", 503
# rx subcapture "sym"
- set_addr $I10, rxcap_1154_fail
- rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
+ set_addr $I10, rxcap_1159_fail
+ rx1154_cur."!mark_push"(0, rx1154_pos, $I10)
# rx literal "=:="
- add $I11, rx1149_pos, 3
- gt $I11, rx1149_eos, rx1149_fail
- sub $I11, rx1149_pos, rx1149_off
- substr $S10, rx1149_tgt, $I11, 3
- ne $S10, "=:=", rx1149_fail
- add rx1149_pos, 3
- set_addr $I10, rxcap_1154_fail
- ($I12, $I11) = rx1149_cur."!mark_peek"($I10)
- rx1149_cur."!cursor_pos"($I11)
- ($P10) = rx1149_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1149_pos, "")
- rx1149_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1154_pos, 3
+ gt $I11, rx1154_eos, rx1154_fail
+ sub $I11, rx1154_pos, rx1154_off
+ substr $S10, rx1154_tgt, $I11, 3
+ ne $S10, "=:=", rx1154_fail
+ add rx1154_pos, 3
+ set_addr $I10, rxcap_1159_fail
+ ($I12, $I11) = rx1154_cur."!mark_peek"($I10)
+ rx1154_cur."!cursor_pos"($I11)
+ ($P10) = rx1154_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1154_pos, "")
+ rx1154_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1154_done
- rxcap_1154_fail:
- goto rx1149_fail
- rxcap_1154_done:
+ goto rxcap_1159_done
+ rxcap_1159_fail:
+ goto rx1154_fail
+ rxcap_1159_done:
# rx subrule "O" subtype=capture negate=
- rx1149_cur."!cursor_pos"(rx1149_pos)
- $P10 = rx1149_cur."O"("%relational, :pirop<issame>")
- unless $P10, rx1149_fail
- rx1149_cur."!mark_push"(0, -1, 0, $P10)
+ rx1154_cur."!cursor_pos"(rx1154_pos)
+ $P10 = rx1154_cur."O"("%relational, :pirop<issame>")
+ unless $P10, rx1154_fail
+ rx1154_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1149_pos = $P10."pos"()
+ rx1154_pos = $P10."pos"()
# rx pass
- rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<=:=>")
- rx1149_cur."!cursor_debug"("PASS ", "infix:sym<=:=>", " at pos=", rx1149_pos)
- .return (rx1149_cur)
- rx1149_fail:
-.annotate "line", 421
- (rx1149_rep, rx1149_pos, $I10, $P10) = rx1149_cur."!mark_fail"(0)
- lt rx1149_pos, -1, rx1149_done
- eq rx1149_pos, -1, rx1149_fail
- jump $I10
- rx1149_done:
- rx1149_cur."!cursor_fail"()
- rx1149_cur."!cursor_debug"("FAIL ", "infix:sym<=:=>")
- .return (rx1149_cur)
+ rx1154_cur."!cursor_pass"(rx1154_pos, "infix:sym<=:=>")
+ rx1154_cur."!cursor_debug"("PASS ", "infix:sym<=:=>", " at pos=", rx1154_pos)
+ .return (rx1154_cur)
+ rx1154_fail:
+.annotate "line", 422
+ (rx1154_rep, rx1154_pos, $I10, $P10) = rx1154_cur."!mark_fail"(0)
+ lt rx1154_pos, -1, rx1154_done
+ eq rx1154_pos, -1, rx1154_fail
+ jump $I10
+ rx1154_done:
+ rx1154_cur."!cursor_fail"()
+ rx1154_cur."!cursor_debug"("FAIL ", "infix:sym<=:=>")
+ .return (rx1154_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>" :subid("294_1271336396.90314") :method
-.annotate "line", 421
- $P1151 = self."!PREFIX__!subrule"("O", "=:=")
- new $P1152, "ResizablePMCArray"
- push $P1152, $P1151
- .return ($P1152)
+.sub "!PREFIX__infix:sym<=:=>" :subid("296_1271948667.92136") :method
+.annotate "line", 422
+ $P1156 = self."!PREFIX__!subrule"("O", "=:=")
+ new $P1157, "ResizablePMCArray"
+ push $P1157, $P1156
+ .return ($P1157)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>" :subid("295_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1156_tgt
- .local int rx1156_pos
- .local int rx1156_off
- .local int rx1156_eos
- .local int rx1156_rep
- .local pmc rx1156_cur
- (rx1156_cur, rx1156_pos, rx1156_tgt) = self."!cursor_start"()
- rx1156_cur."!cursor_debug"("START ", "infix:sym<~~>")
- .lex unicode:"$\x{a2}", rx1156_cur
- .local pmc match
- .lex "$/", match
- length rx1156_eos, rx1156_tgt
- set rx1156_off, 0
- lt rx1156_pos, 2, rx1156_start
- sub rx1156_off, rx1156_pos, 1
- substr rx1156_tgt, rx1156_tgt, rx1156_off
- rx1156_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1160_done
- goto rxscan1160_scan
- rxscan1160_loop:
- ($P10) = rx1156_cur."from"()
- inc $P10
- set rx1156_pos, $P10
- ge rx1156_pos, rx1156_eos, rxscan1160_done
- rxscan1160_scan:
- set_addr $I10, rxscan1160_loop
- rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
- rxscan1160_done:
-.annotate "line", 503
+.sub "infix:sym<~~>" :subid("297_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1161_tgt
+ .local int rx1161_pos
+ .local int rx1161_off
+ .local int rx1161_eos
+ .local int rx1161_rep
+ .local pmc rx1161_cur
+ (rx1161_cur, rx1161_pos, rx1161_tgt) = self."!cursor_start"()
+ rx1161_cur."!cursor_debug"("START ", "infix:sym<~~>")
+ .lex unicode:"$\x{a2}", rx1161_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1161_eos, rx1161_tgt
+ set rx1161_off, 0
+ lt rx1161_pos, 2, rx1161_start
+ sub rx1161_off, rx1161_pos, 1
+ substr rx1161_tgt, rx1161_tgt, rx1161_off
+ rx1161_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1165_done
+ goto rxscan1165_scan
+ rxscan1165_loop:
+ ($P10) = rx1161_cur."from"()
+ inc $P10
+ set rx1161_pos, $P10
+ ge rx1161_pos, rx1161_eos, rxscan1165_done
+ rxscan1165_scan:
+ set_addr $I10, rxscan1165_loop
+ rx1161_cur."!mark_push"(0, rx1161_pos, $I10)
+ rxscan1165_done:
+.annotate "line", 504
# rx subcapture "sym"
- set_addr $I10, rxcap_1161_fail
- rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
+ set_addr $I10, rxcap_1166_fail
+ rx1161_cur."!mark_push"(0, rx1161_pos, $I10)
# rx literal "~~"
- add $I11, rx1156_pos, 2
- gt $I11, rx1156_eos, rx1156_fail
- sub $I11, rx1156_pos, rx1156_off
- substr $S10, rx1156_tgt, $I11, 2
- ne $S10, "~~", rx1156_fail
- add rx1156_pos, 2
- set_addr $I10, rxcap_1161_fail
- ($I12, $I11) = rx1156_cur."!mark_peek"($I10)
- rx1156_cur."!cursor_pos"($I11)
- ($P10) = rx1156_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1156_pos, "")
- rx1156_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1161_pos, 2
+ gt $I11, rx1161_eos, rx1161_fail
+ sub $I11, rx1161_pos, rx1161_off
+ substr $S10, rx1161_tgt, $I11, 2
+ ne $S10, "~~", rx1161_fail
+ add rx1161_pos, 2
+ set_addr $I10, rxcap_1166_fail
+ ($I12, $I11) = rx1161_cur."!mark_peek"($I10)
+ rx1161_cur."!cursor_pos"($I11)
+ ($P10) = rx1161_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1161_pos, "")
+ rx1161_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1161_done
- rxcap_1161_fail:
- goto rx1156_fail
- rxcap_1161_done:
+ goto rxcap_1166_done
+ rxcap_1166_fail:
+ goto rx1161_fail
+ rxcap_1166_done:
# rx subrule "O" subtype=capture negate=
- rx1156_cur."!cursor_pos"(rx1156_pos)
- $P10 = rx1156_cur."O"("%relational, :reducecheck<smartmatch>")
- unless $P10, rx1156_fail
- rx1156_cur."!mark_push"(0, -1, 0, $P10)
+ rx1161_cur."!cursor_pos"(rx1161_pos)
+ $P10 = rx1161_cur."O"("%relational, :reducecheck<smartmatch>")
+ unless $P10, rx1161_fail
+ rx1161_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1156_pos = $P10."pos"()
+ rx1161_pos = $P10."pos"()
# rx pass
- rx1156_cur."!cursor_pass"(rx1156_pos, "infix:sym<~~>")
- rx1156_cur."!cursor_debug"("PASS ", "infix:sym<~~>", " at pos=", rx1156_pos)
- .return (rx1156_cur)
- rx1156_fail:
-.annotate "line", 421
- (rx1156_rep, rx1156_pos, $I10, $P10) = rx1156_cur."!mark_fail"(0)
- lt rx1156_pos, -1, rx1156_done
- eq rx1156_pos, -1, rx1156_fail
- jump $I10
- rx1156_done:
- rx1156_cur."!cursor_fail"()
- rx1156_cur."!cursor_debug"("FAIL ", "infix:sym<~~>")
- .return (rx1156_cur)
+ rx1161_cur."!cursor_pass"(rx1161_pos, "infix:sym<~~>")
+ rx1161_cur."!cursor_debug"("PASS ", "infix:sym<~~>", " at pos=", rx1161_pos)
+ .return (rx1161_cur)
+ rx1161_fail:
+.annotate "line", 422
+ (rx1161_rep, rx1161_pos, $I10, $P10) = rx1161_cur."!mark_fail"(0)
+ lt rx1161_pos, -1, rx1161_done
+ eq rx1161_pos, -1, rx1161_fail
+ jump $I10
+ rx1161_done:
+ rx1161_cur."!cursor_fail"()
+ rx1161_cur."!cursor_debug"("FAIL ", "infix:sym<~~>")
+ .return (rx1161_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>" :subid("296_1271336396.90314") :method
-.annotate "line", 421
- $P1158 = self."!PREFIX__!subrule"("O", "~~")
- new $P1159, "ResizablePMCArray"
- push $P1159, $P1158
- .return ($P1159)
+.sub "!PREFIX__infix:sym<~~>" :subid("298_1271948667.92136") :method
+.annotate "line", 422
+ $P1163 = self."!PREFIX__!subrule"("O", "~~")
+ new $P1164, "ResizablePMCArray"
+ push $P1164, $P1163
+ .return ($P1164)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>" :subid("297_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1163_tgt
- .local int rx1163_pos
- .local int rx1163_off
- .local int rx1163_eos
- .local int rx1163_rep
- .local pmc rx1163_cur
- (rx1163_cur, rx1163_pos, rx1163_tgt) = self."!cursor_start"()
- rx1163_cur."!cursor_debug"("START ", "infix:sym<&&>")
- .lex unicode:"$\x{a2}", rx1163_cur
- .local pmc match
- .lex "$/", match
- length rx1163_eos, rx1163_tgt
- set rx1163_off, 0
- lt rx1163_pos, 2, rx1163_start
- sub rx1163_off, rx1163_pos, 1
- substr rx1163_tgt, rx1163_tgt, rx1163_off
- rx1163_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1167_done
- goto rxscan1167_scan
- rxscan1167_loop:
- ($P10) = rx1163_cur."from"()
- inc $P10
- set rx1163_pos, $P10
- ge rx1163_pos, rx1163_eos, rxscan1167_done
- rxscan1167_scan:
- set_addr $I10, rxscan1167_loop
- rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
- rxscan1167_done:
-.annotate "line", 505
+.sub "infix:sym<&&>" :subid("299_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1168_tgt
+ .local int rx1168_pos
+ .local int rx1168_off
+ .local int rx1168_eos
+ .local int rx1168_rep
+ .local pmc rx1168_cur
+ (rx1168_cur, rx1168_pos, rx1168_tgt) = self."!cursor_start"()
+ rx1168_cur."!cursor_debug"("START ", "infix:sym<&&>")
+ .lex unicode:"$\x{a2}", rx1168_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1168_eos, rx1168_tgt
+ set rx1168_off, 0
+ lt rx1168_pos, 2, rx1168_start
+ sub rx1168_off, rx1168_pos, 1
+ substr rx1168_tgt, rx1168_tgt, rx1168_off
+ rx1168_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1172_done
+ goto rxscan1172_scan
+ rxscan1172_loop:
+ ($P10) = rx1168_cur."from"()
+ inc $P10
+ set rx1168_pos, $P10
+ ge rx1168_pos, rx1168_eos, rxscan1172_done
+ rxscan1172_scan:
+ set_addr $I10, rxscan1172_loop
+ rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
+ rxscan1172_done:
+.annotate "line", 506
# rx subcapture "sym"
- set_addr $I10, rxcap_1168_fail
- rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
+ set_addr $I10, rxcap_1173_fail
+ rx1168_cur."!mark_push"(0, rx1168_pos, $I10)
# rx literal "&&"
- add $I11, rx1163_pos, 2
- gt $I11, rx1163_eos, rx1163_fail
- sub $I11, rx1163_pos, rx1163_off
- substr $S10, rx1163_tgt, $I11, 2
- ne $S10, "&&", rx1163_fail
- add rx1163_pos, 2
- set_addr $I10, rxcap_1168_fail
- ($I12, $I11) = rx1163_cur."!mark_peek"($I10)
- rx1163_cur."!cursor_pos"($I11)
- ($P10) = rx1163_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1163_pos, "")
- rx1163_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1168_pos, 2
+ gt $I11, rx1168_eos, rx1168_fail
+ sub $I11, rx1168_pos, rx1168_off
+ substr $S10, rx1168_tgt, $I11, 2
+ ne $S10, "&&", rx1168_fail
+ add rx1168_pos, 2
+ set_addr $I10, rxcap_1173_fail
+ ($I12, $I11) = rx1168_cur."!mark_peek"($I10)
+ rx1168_cur."!cursor_pos"($I11)
+ ($P10) = rx1168_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1168_pos, "")
+ rx1168_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1168_done
- rxcap_1168_fail:
- goto rx1163_fail
- rxcap_1168_done:
+ goto rxcap_1173_done
+ rxcap_1173_fail:
+ goto rx1168_fail
+ rxcap_1173_done:
# rx subrule "O" subtype=capture negate=
- rx1163_cur."!cursor_pos"(rx1163_pos)
- $P10 = rx1163_cur."O"("%tight_and, :pasttype<if>")
- unless $P10, rx1163_fail
- rx1163_cur."!mark_push"(0, -1, 0, $P10)
+ rx1168_cur."!cursor_pos"(rx1168_pos)
+ $P10 = rx1168_cur."O"("%tight_and, :pasttype<if>")
+ unless $P10, rx1168_fail
+ rx1168_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1163_pos = $P10."pos"()
+ rx1168_pos = $P10."pos"()
# rx pass
- rx1163_cur."!cursor_pass"(rx1163_pos, "infix:sym<&&>")
- rx1163_cur."!cursor_debug"("PASS ", "infix:sym<&&>", " at pos=", rx1163_pos)
- .return (rx1163_cur)
- rx1163_fail:
-.annotate "line", 421
- (rx1163_rep, rx1163_pos, $I10, $P10) = rx1163_cur."!mark_fail"(0)
- lt rx1163_pos, -1, rx1163_done
- eq rx1163_pos, -1, rx1163_fail
- jump $I10
- rx1163_done:
- rx1163_cur."!cursor_fail"()
- rx1163_cur."!cursor_debug"("FAIL ", "infix:sym<&&>")
- .return (rx1163_cur)
+ rx1168_cur."!cursor_pass"(rx1168_pos, "infix:sym<&&>")
+ rx1168_cur."!cursor_debug"("PASS ", "infix:sym<&&>", " at pos=", rx1168_pos)
+ .return (rx1168_cur)
+ rx1168_fail:
+.annotate "line", 422
+ (rx1168_rep, rx1168_pos, $I10, $P10) = rx1168_cur."!mark_fail"(0)
+ lt rx1168_pos, -1, rx1168_done
+ eq rx1168_pos, -1, rx1168_fail
+ jump $I10
+ rx1168_done:
+ rx1168_cur."!cursor_fail"()
+ rx1168_cur."!cursor_debug"("FAIL ", "infix:sym<&&>")
+ .return (rx1168_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>" :subid("298_1271336396.90314") :method
-.annotate "line", 421
- $P1165 = self."!PREFIX__!subrule"("O", "&&")
- new $P1166, "ResizablePMCArray"
- push $P1166, $P1165
- .return ($P1166)
+.sub "!PREFIX__infix:sym<&&>" :subid("300_1271948667.92136") :method
+.annotate "line", 422
+ $P1170 = self."!PREFIX__!subrule"("O", "&&")
+ new $P1171, "ResizablePMCArray"
+ push $P1171, $P1170
+ .return ($P1171)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>" :subid("299_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1170_tgt
- .local int rx1170_pos
- .local int rx1170_off
- .local int rx1170_eos
- .local int rx1170_rep
- .local pmc rx1170_cur
- (rx1170_cur, rx1170_pos, rx1170_tgt) = self."!cursor_start"()
- rx1170_cur."!cursor_debug"("START ", "infix:sym<||>")
- .lex unicode:"$\x{a2}", rx1170_cur
- .local pmc match
- .lex "$/", match
- length rx1170_eos, rx1170_tgt
- set rx1170_off, 0
- lt rx1170_pos, 2, rx1170_start
- sub rx1170_off, rx1170_pos, 1
- substr rx1170_tgt, rx1170_tgt, rx1170_off
- rx1170_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1174_done
- goto rxscan1174_scan
- rxscan1174_loop:
- ($P10) = rx1170_cur."from"()
- inc $P10
- set rx1170_pos, $P10
- ge rx1170_pos, rx1170_eos, rxscan1174_done
- rxscan1174_scan:
- set_addr $I10, rxscan1174_loop
- rx1170_cur."!mark_push"(0, rx1170_pos, $I10)
- rxscan1174_done:
-.annotate "line", 507
+.sub "infix:sym<||>" :subid("301_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1175_tgt
+ .local int rx1175_pos
+ .local int rx1175_off
+ .local int rx1175_eos
+ .local int rx1175_rep
+ .local pmc rx1175_cur
+ (rx1175_cur, rx1175_pos, rx1175_tgt) = self."!cursor_start"()
+ rx1175_cur."!cursor_debug"("START ", "infix:sym<||>")
+ .lex unicode:"$\x{a2}", rx1175_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1175_eos, rx1175_tgt
+ set rx1175_off, 0
+ lt rx1175_pos, 2, rx1175_start
+ sub rx1175_off, rx1175_pos, 1
+ substr rx1175_tgt, rx1175_tgt, rx1175_off
+ rx1175_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1179_done
+ goto rxscan1179_scan
+ rxscan1179_loop:
+ ($P10) = rx1175_cur."from"()
+ inc $P10
+ set rx1175_pos, $P10
+ ge rx1175_pos, rx1175_eos, rxscan1179_done
+ rxscan1179_scan:
+ set_addr $I10, rxscan1179_loop
+ rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
+ rxscan1179_done:
+.annotate "line", 508
# rx subcapture "sym"
- set_addr $I10, rxcap_1175_fail
- rx1170_cur."!mark_push"(0, rx1170_pos, $I10)
+ set_addr $I10, rxcap_1180_fail
+ rx1175_cur."!mark_push"(0, rx1175_pos, $I10)
# rx literal "||"
- add $I11, rx1170_pos, 2
- gt $I11, rx1170_eos, rx1170_fail
- sub $I11, rx1170_pos, rx1170_off
- substr $S10, rx1170_tgt, $I11, 2
- ne $S10, "||", rx1170_fail
- add rx1170_pos, 2
- set_addr $I10, rxcap_1175_fail
- ($I12, $I11) = rx1170_cur."!mark_peek"($I10)
- rx1170_cur."!cursor_pos"($I11)
- ($P10) = rx1170_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1170_pos, "")
- rx1170_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1175_pos, 2
+ gt $I11, rx1175_eos, rx1175_fail
+ sub $I11, rx1175_pos, rx1175_off
+ substr $S10, rx1175_tgt, $I11, 2
+ ne $S10, "||", rx1175_fail
+ add rx1175_pos, 2
+ set_addr $I10, rxcap_1180_fail
+ ($I12, $I11) = rx1175_cur."!mark_peek"($I10)
+ rx1175_cur."!cursor_pos"($I11)
+ ($P10) = rx1175_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1175_pos, "")
+ rx1175_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1175_done
- rxcap_1175_fail:
- goto rx1170_fail
- rxcap_1175_done:
+ goto rxcap_1180_done
+ rxcap_1180_fail:
+ goto rx1175_fail
+ rxcap_1180_done:
# rx subrule "O" subtype=capture negate=
- rx1170_cur."!cursor_pos"(rx1170_pos)
- $P10 = rx1170_cur."O"("%tight_or, :pasttype<unless>")
- unless $P10, rx1170_fail
- rx1170_cur."!mark_push"(0, -1, 0, $P10)
+ rx1175_cur."!cursor_pos"(rx1175_pos)
+ $P10 = rx1175_cur."O"("%tight_or, :pasttype<unless>")
+ unless $P10, rx1175_fail
+ rx1175_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1170_pos = $P10."pos"()
+ rx1175_pos = $P10."pos"()
# rx pass
- rx1170_cur."!cursor_pass"(rx1170_pos, "infix:sym<||>")
- rx1170_cur."!cursor_debug"("PASS ", "infix:sym<||>", " at pos=", rx1170_pos)
- .return (rx1170_cur)
- rx1170_fail:
-.annotate "line", 421
- (rx1170_rep, rx1170_pos, $I10, $P10) = rx1170_cur."!mark_fail"(0)
- lt rx1170_pos, -1, rx1170_done
- eq rx1170_pos, -1, rx1170_fail
- jump $I10
- rx1170_done:
- rx1170_cur."!cursor_fail"()
- rx1170_cur."!cursor_debug"("FAIL ", "infix:sym<||>")
- .return (rx1170_cur)
+ rx1175_cur."!cursor_pass"(rx1175_pos, "infix:sym<||>")
+ rx1175_cur."!cursor_debug"("PASS ", "infix:sym<||>", " at pos=", rx1175_pos)
+ .return (rx1175_cur)
+ rx1175_fail:
+.annotate "line", 422
+ (rx1175_rep, rx1175_pos, $I10, $P10) = rx1175_cur."!mark_fail"(0)
+ lt rx1175_pos, -1, rx1175_done
+ eq rx1175_pos, -1, rx1175_fail
+ jump $I10
+ rx1175_done:
+ rx1175_cur."!cursor_fail"()
+ rx1175_cur."!cursor_debug"("FAIL ", "infix:sym<||>")
+ .return (rx1175_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>" :subid("300_1271336396.90314") :method
-.annotate "line", 421
- $P1172 = self."!PREFIX__!subrule"("O", "||")
- new $P1173, "ResizablePMCArray"
- push $P1173, $P1172
- .return ($P1173)
+.sub "!PREFIX__infix:sym<||>" :subid("302_1271948667.92136") :method
+.annotate "line", 422
+ $P1177 = self."!PREFIX__!subrule"("O", "||")
+ new $P1178, "ResizablePMCArray"
+ push $P1178, $P1177
+ .return ($P1178)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>" :subid("301_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1177_tgt
- .local int rx1177_pos
- .local int rx1177_off
- .local int rx1177_eos
- .local int rx1177_rep
- .local pmc rx1177_cur
- (rx1177_cur, rx1177_pos, rx1177_tgt) = self."!cursor_start"()
- rx1177_cur."!cursor_debug"("START ", "infix:sym<//>")
- .lex unicode:"$\x{a2}", rx1177_cur
- .local pmc match
- .lex "$/", match
- length rx1177_eos, rx1177_tgt
- set rx1177_off, 0
- lt rx1177_pos, 2, rx1177_start
- sub rx1177_off, rx1177_pos, 1
- substr rx1177_tgt, rx1177_tgt, rx1177_off
- rx1177_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1181_done
- goto rxscan1181_scan
- rxscan1181_loop:
- ($P10) = rx1177_cur."from"()
- inc $P10
- set rx1177_pos, $P10
- ge rx1177_pos, rx1177_eos, rxscan1181_done
- rxscan1181_scan:
- set_addr $I10, rxscan1181_loop
- rx1177_cur."!mark_push"(0, rx1177_pos, $I10)
- rxscan1181_done:
-.annotate "line", 508
+.sub "infix:sym<//>" :subid("303_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1182_tgt
+ .local int rx1182_pos
+ .local int rx1182_off
+ .local int rx1182_eos
+ .local int rx1182_rep
+ .local pmc rx1182_cur
+ (rx1182_cur, rx1182_pos, rx1182_tgt) = self."!cursor_start"()
+ rx1182_cur."!cursor_debug"("START ", "infix:sym<//>")
+ .lex unicode:"$\x{a2}", rx1182_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1182_eos, rx1182_tgt
+ set rx1182_off, 0
+ lt rx1182_pos, 2, rx1182_start
+ sub rx1182_off, rx1182_pos, 1
+ substr rx1182_tgt, rx1182_tgt, rx1182_off
+ rx1182_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1186_done
+ goto rxscan1186_scan
+ rxscan1186_loop:
+ ($P10) = rx1182_cur."from"()
+ inc $P10
+ set rx1182_pos, $P10
+ ge rx1182_pos, rx1182_eos, rxscan1186_done
+ rxscan1186_scan:
+ set_addr $I10, rxscan1186_loop
+ rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
+ rxscan1186_done:
+.annotate "line", 509
# rx subcapture "sym"
- set_addr $I10, rxcap_1182_fail
- rx1177_cur."!mark_push"(0, rx1177_pos, $I10)
+ set_addr $I10, rxcap_1187_fail
+ rx1182_cur."!mark_push"(0, rx1182_pos, $I10)
# rx literal "//"
- add $I11, rx1177_pos, 2
- gt $I11, rx1177_eos, rx1177_fail
- sub $I11, rx1177_pos, rx1177_off
- substr $S10, rx1177_tgt, $I11, 2
- ne $S10, "//", rx1177_fail
- add rx1177_pos, 2
- set_addr $I10, rxcap_1182_fail
- ($I12, $I11) = rx1177_cur."!mark_peek"($I10)
- rx1177_cur."!cursor_pos"($I11)
- ($P10) = rx1177_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1177_pos, "")
- rx1177_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1182_pos, 2
+ gt $I11, rx1182_eos, rx1182_fail
+ sub $I11, rx1182_pos, rx1182_off
+ substr $S10, rx1182_tgt, $I11, 2
+ ne $S10, "//", rx1182_fail
+ add rx1182_pos, 2
+ set_addr $I10, rxcap_1187_fail
+ ($I12, $I11) = rx1182_cur."!mark_peek"($I10)
+ rx1182_cur."!cursor_pos"($I11)
+ ($P10) = rx1182_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1182_pos, "")
+ rx1182_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1182_done
- rxcap_1182_fail:
- goto rx1177_fail
- rxcap_1182_done:
+ goto rxcap_1187_done
+ rxcap_1187_fail:
+ goto rx1182_fail
+ rxcap_1187_done:
# rx subrule "O" subtype=capture negate=
- rx1177_cur."!cursor_pos"(rx1177_pos)
- $P10 = rx1177_cur."O"("%tight_or, :pasttype<def_or>")
- unless $P10, rx1177_fail
- rx1177_cur."!mark_push"(0, -1, 0, $P10)
+ rx1182_cur."!cursor_pos"(rx1182_pos)
+ $P10 = rx1182_cur."O"("%tight_or, :pasttype<def_or>")
+ unless $P10, rx1182_fail
+ rx1182_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1177_pos = $P10."pos"()
+ rx1182_pos = $P10."pos"()
# rx pass
- rx1177_cur."!cursor_pass"(rx1177_pos, "infix:sym<//>")
- rx1177_cur."!cursor_debug"("PASS ", "infix:sym<//>", " at pos=", rx1177_pos)
- .return (rx1177_cur)
- rx1177_fail:
-.annotate "line", 421
- (rx1177_rep, rx1177_pos, $I10, $P10) = rx1177_cur."!mark_fail"(0)
- lt rx1177_pos, -1, rx1177_done
- eq rx1177_pos, -1, rx1177_fail
- jump $I10
- rx1177_done:
- rx1177_cur."!cursor_fail"()
- rx1177_cur."!cursor_debug"("FAIL ", "infix:sym<//>")
- .return (rx1177_cur)
+ rx1182_cur."!cursor_pass"(rx1182_pos, "infix:sym<//>")
+ rx1182_cur."!cursor_debug"("PASS ", "infix:sym<//>", " at pos=", rx1182_pos)
+ .return (rx1182_cur)
+ rx1182_fail:
+.annotate "line", 422
+ (rx1182_rep, rx1182_pos, $I10, $P10) = rx1182_cur."!mark_fail"(0)
+ lt rx1182_pos, -1, rx1182_done
+ eq rx1182_pos, -1, rx1182_fail
+ jump $I10
+ rx1182_done:
+ rx1182_cur."!cursor_fail"()
+ rx1182_cur."!cursor_debug"("FAIL ", "infix:sym<//>")
+ .return (rx1182_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>" :subid("302_1271336396.90314") :method
-.annotate "line", 421
- $P1179 = self."!PREFIX__!subrule"("O", "//")
- new $P1180, "ResizablePMCArray"
- push $P1180, $P1179
- .return ($P1180)
+.sub "!PREFIX__infix:sym<//>" :subid("304_1271948667.92136") :method
+.annotate "line", 422
+ $P1184 = self."!PREFIX__!subrule"("O", "//")
+ new $P1185, "ResizablePMCArray"
+ push $P1185, $P1184
+ .return ($P1185)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>" :subid("303_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1184_tgt
- .local int rx1184_pos
- .local int rx1184_off
- .local int rx1184_eos
- .local int rx1184_rep
- .local pmc rx1184_cur
- (rx1184_cur, rx1184_pos, rx1184_tgt) = self."!cursor_start"()
- rx1184_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
- .lex unicode:"$\x{a2}", rx1184_cur
- .local pmc match
- .lex "$/", match
- length rx1184_eos, rx1184_tgt
- set rx1184_off, 0
- lt rx1184_pos, 2, rx1184_start
- sub rx1184_off, rx1184_pos, 1
- substr rx1184_tgt, rx1184_tgt, rx1184_off
- rx1184_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1188_done
- goto rxscan1188_scan
- rxscan1188_loop:
- ($P10) = rx1184_cur."from"()
- inc $P10
- set rx1184_pos, $P10
- ge rx1184_pos, rx1184_eos, rxscan1188_done
- rxscan1188_scan:
- set_addr $I10, rxscan1188_loop
- rx1184_cur."!mark_push"(0, rx1184_pos, $I10)
- rxscan1188_done:
-.annotate "line", 511
- # rx literal "??"
- add $I11, rx1184_pos, 2
- gt $I11, rx1184_eos, rx1184_fail
- sub $I11, rx1184_pos, rx1184_off
- substr $S10, rx1184_tgt, $I11, 2
- ne $S10, "??", rx1184_fail
- add rx1184_pos, 2
+.sub "infix:sym<?? !!>" :subid("305_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1189_tgt
+ .local int rx1189_pos
+ .local int rx1189_off
+ .local int rx1189_eos
+ .local int rx1189_rep
+ .local pmc rx1189_cur
+ (rx1189_cur, rx1189_pos, rx1189_tgt) = self."!cursor_start"()
+ rx1189_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+ .lex unicode:"$\x{a2}", rx1189_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1189_eos, rx1189_tgt
+ set rx1189_off, 0
+ lt rx1189_pos, 2, rx1189_start
+ sub rx1189_off, rx1189_pos, 1
+ substr rx1189_tgt, rx1189_tgt, rx1189_off
+ rx1189_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1193_done
+ goto rxscan1193_scan
+ rxscan1193_loop:
+ ($P10) = rx1189_cur."from"()
+ inc $P10
+ set rx1189_pos, $P10
+ ge rx1189_pos, rx1189_eos, rxscan1193_done
+ rxscan1193_scan:
+ set_addr $I10, rxscan1193_loop
+ rx1189_cur."!mark_push"(0, rx1189_pos, $I10)
+ rxscan1193_done:
.annotate "line", 512
- # rx subrule "ws" subtype=method negate=
- rx1184_cur."!cursor_pos"(rx1184_pos)
- $P10 = rx1184_cur."ws"()
- unless $P10, rx1184_fail
- rx1184_pos = $P10."pos"()
+ # rx literal "??"
+ add $I11, rx1189_pos, 2
+ gt $I11, rx1189_eos, rx1189_fail
+ sub $I11, rx1189_pos, rx1189_off
+ substr $S10, rx1189_tgt, $I11, 2
+ ne $S10, "??", rx1189_fail
+ add rx1189_pos, 2
.annotate "line", 513
+ # rx subrule "ws" subtype=method negate=
+ rx1189_cur."!cursor_pos"(rx1189_pos)
+ $P10 = rx1189_cur."ws"()
+ unless $P10, rx1189_fail
+ rx1189_pos = $P10."pos"()
+.annotate "line", 514
# rx subrule "EXPR" subtype=capture negate=
- rx1184_cur."!cursor_pos"(rx1184_pos)
- $P10 = rx1184_cur."EXPR"("i=")
- unless $P10, rx1184_fail
- rx1184_cur."!mark_push"(0, -1, 0, $P10)
+ rx1189_cur."!cursor_pos"(rx1189_pos)
+ $P10 = rx1189_cur."EXPR"("i=")
+ unless $P10, rx1189_fail
+ rx1189_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("EXPR")
- rx1184_pos = $P10."pos"()
-.annotate "line", 514
- # rx literal "!!"
- add $I11, rx1184_pos, 2
- gt $I11, rx1184_eos, rx1184_fail
- sub $I11, rx1184_pos, rx1184_off
- substr $S10, rx1184_tgt, $I11, 2
- ne $S10, "!!", rx1184_fail
- add rx1184_pos, 2
+ rx1189_pos = $P10."pos"()
.annotate "line", 515
+ # rx literal "!!"
+ add $I11, rx1189_pos, 2
+ gt $I11, rx1189_eos, rx1189_fail
+ sub $I11, rx1189_pos, rx1189_off
+ substr $S10, rx1189_tgt, $I11, 2
+ ne $S10, "!!", rx1189_fail
+ add rx1189_pos, 2
+.annotate "line", 516
# rx subrule "O" subtype=capture negate=
- rx1184_cur."!cursor_pos"(rx1184_pos)
- $P10 = rx1184_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
- unless $P10, rx1184_fail
- rx1184_cur."!mark_push"(0, -1, 0, $P10)
+ rx1189_cur."!cursor_pos"(rx1189_pos)
+ $P10 = rx1189_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+ unless $P10, rx1189_fail
+ rx1189_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1184_pos = $P10."pos"()
-.annotate "line", 510
+ rx1189_pos = $P10."pos"()
+.annotate "line", 511
# rx pass
- rx1184_cur."!cursor_pass"(rx1184_pos, "infix:sym<?? !!>")
- rx1184_cur."!cursor_debug"("PASS ", "infix:sym<?? !!>", " at pos=", rx1184_pos)
- .return (rx1184_cur)
- rx1184_fail:
-.annotate "line", 421
- (rx1184_rep, rx1184_pos, $I10, $P10) = rx1184_cur."!mark_fail"(0)
- lt rx1184_pos, -1, rx1184_done
- eq rx1184_pos, -1, rx1184_fail
- jump $I10
- rx1184_done:
- rx1184_cur."!cursor_fail"()
- rx1184_cur."!cursor_debug"("FAIL ", "infix:sym<?? !!>")
- .return (rx1184_cur)
+ rx1189_cur."!cursor_pass"(rx1189_pos, "infix:sym<?? !!>")
+ rx1189_cur."!cursor_debug"("PASS ", "infix:sym<?? !!>", " at pos=", rx1189_pos)
+ .return (rx1189_cur)
+ rx1189_fail:
+.annotate "line", 422
+ (rx1189_rep, rx1189_pos, $I10, $P10) = rx1189_cur."!mark_fail"(0)
+ lt rx1189_pos, -1, rx1189_done
+ eq rx1189_pos, -1, rx1189_fail
+ jump $I10
+ rx1189_done:
+ rx1189_cur."!cursor_fail"()
+ rx1189_cur."!cursor_debug"("FAIL ", "infix:sym<?? !!>")
+ .return (rx1189_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>" :subid("304_1271336396.90314") :method
-.annotate "line", 421
- $P1186 = self."!PREFIX__!subrule"("", "??")
- new $P1187, "ResizablePMCArray"
- push $P1187, $P1186
- .return ($P1187)
+.sub "!PREFIX__infix:sym<?? !!>" :subid("306_1271948667.92136") :method
+.annotate "line", 422
+ $P1191 = self."!PREFIX__!subrule"("", "??")
+ new $P1192, "ResizablePMCArray"
+ push $P1192, $P1191
+ .return ($P1192)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>" :subid("305_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1190_tgt
- .local int rx1190_pos
- .local int rx1190_off
- .local int rx1190_eos
- .local int rx1190_rep
- .local pmc rx1190_cur
- (rx1190_cur, rx1190_pos, rx1190_tgt) = self."!cursor_start"()
- rx1190_cur."!cursor_debug"("START ", "infix:sym<=>")
- .lex unicode:"$\x{a2}", rx1190_cur
- .local pmc match
- .lex "$/", match
- length rx1190_eos, rx1190_tgt
- set rx1190_off, 0
- lt rx1190_pos, 2, rx1190_start
- sub rx1190_off, rx1190_pos, 1
- substr rx1190_tgt, rx1190_tgt, rx1190_off
- rx1190_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1194_done
- goto rxscan1194_scan
- rxscan1194_loop:
- ($P10) = rx1190_cur."from"()
- inc $P10
- set rx1190_pos, $P10
- ge rx1190_pos, rx1190_eos, rxscan1194_done
- rxscan1194_scan:
- set_addr $I10, rxscan1194_loop
- rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
- rxscan1194_done:
-.annotate "line", 519
+.sub "infix:sym<=>" :subid("307_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1195_tgt
+ .local int rx1195_pos
+ .local int rx1195_off
+ .local int rx1195_eos
+ .local int rx1195_rep
+ .local pmc rx1195_cur
+ (rx1195_cur, rx1195_pos, rx1195_tgt) = self."!cursor_start"()
+ rx1195_cur."!cursor_debug"("START ", "infix:sym<=>")
+ .lex unicode:"$\x{a2}", rx1195_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1195_eos, rx1195_tgt
+ set rx1195_off, 0
+ lt rx1195_pos, 2, rx1195_start
+ sub rx1195_off, rx1195_pos, 1
+ substr rx1195_tgt, rx1195_tgt, rx1195_off
+ rx1195_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1199_done
+ goto rxscan1199_scan
+ rxscan1199_loop:
+ ($P10) = rx1195_cur."from"()
+ inc $P10
+ set rx1195_pos, $P10
+ ge rx1195_pos, rx1195_eos, rxscan1199_done
+ rxscan1199_scan:
+ set_addr $I10, rxscan1199_loop
+ rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
+ rxscan1199_done:
+.annotate "line", 520
# rx subcapture "sym"
- set_addr $I10, rxcap_1195_fail
- rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
+ set_addr $I10, rxcap_1200_fail
+ rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
# rx literal "="
- add $I11, rx1190_pos, 1
- gt $I11, rx1190_eos, rx1190_fail
- sub $I11, rx1190_pos, rx1190_off
- substr $S10, rx1190_tgt, $I11, 1
- ne $S10, "=", rx1190_fail
- add rx1190_pos, 1
- set_addr $I10, rxcap_1195_fail
- ($I12, $I11) = rx1190_cur."!mark_peek"($I10)
- rx1190_cur."!cursor_pos"($I11)
- ($P10) = rx1190_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1190_pos, "")
- rx1190_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1195_pos, 1
+ gt $I11, rx1195_eos, rx1195_fail
+ sub $I11, rx1195_pos, rx1195_off
+ substr $S10, rx1195_tgt, $I11, 1
+ ne $S10, "=", rx1195_fail
+ add rx1195_pos, 1
+ set_addr $I10, rxcap_1200_fail
+ ($I12, $I11) = rx1195_cur."!mark_peek"($I10)
+ rx1195_cur."!cursor_pos"($I11)
+ ($P10) = rx1195_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1195_pos, "")
+ rx1195_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1195_done
- rxcap_1195_fail:
- goto rx1190_fail
- rxcap_1195_done:
+ goto rxcap_1200_done
+ rxcap_1200_fail:
+ goto rx1195_fail
+ rxcap_1200_done:
# rx subrule "panic" subtype=method negate=
- rx1190_cur."!cursor_pos"(rx1190_pos)
- $P10 = rx1190_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
- unless $P10, rx1190_fail
- rx1190_pos = $P10."pos"()
-.annotate "line", 518
- # rx pass
- rx1190_cur."!cursor_pass"(rx1190_pos, "infix:sym<=>")
- rx1190_cur."!cursor_debug"("PASS ", "infix:sym<=>", " at pos=", rx1190_pos)
- .return (rx1190_cur)
- rx1190_fail:
-.annotate "line", 421
- (rx1190_rep, rx1190_pos, $I10, $P10) = rx1190_cur."!mark_fail"(0)
- lt rx1190_pos, -1, rx1190_done
- eq rx1190_pos, -1, rx1190_fail
- jump $I10
- rx1190_done:
- rx1190_cur."!cursor_fail"()
- rx1190_cur."!cursor_debug"("FAIL ", "infix:sym<=>")
- .return (rx1190_cur)
+ rx1195_cur."!cursor_pos"(rx1195_pos)
+ $P10 = rx1195_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+ unless $P10, rx1195_fail
+ rx1195_pos = $P10."pos"()
+.annotate "line", 519
+ # rx pass
+ rx1195_cur."!cursor_pass"(rx1195_pos, "infix:sym<=>")
+ rx1195_cur."!cursor_debug"("PASS ", "infix:sym<=>", " at pos=", rx1195_pos)
+ .return (rx1195_cur)
+ rx1195_fail:
+.annotate "line", 422
+ (rx1195_rep, rx1195_pos, $I10, $P10) = rx1195_cur."!mark_fail"(0)
+ lt rx1195_pos, -1, rx1195_done
+ eq rx1195_pos, -1, rx1195_fail
+ jump $I10
+ rx1195_done:
+ rx1195_cur."!cursor_fail"()
+ rx1195_cur."!cursor_debug"("FAIL ", "infix:sym<=>")
+ .return (rx1195_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>" :subid("306_1271336396.90314") :method
-.annotate "line", 421
- $P1192 = self."!PREFIX__!subrule"("", "=")
- new $P1193, "ResizablePMCArray"
- push $P1193, $P1192
- .return ($P1193)
+.sub "!PREFIX__infix:sym<=>" :subid("308_1271948667.92136") :method
+.annotate "line", 422
+ $P1197 = self."!PREFIX__!subrule"("", "=")
+ new $P1198, "ResizablePMCArray"
+ push $P1198, $P1197
+ .return ($P1198)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>" :subid("307_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1197_tgt
- .local int rx1197_pos
- .local int rx1197_off
- .local int rx1197_eos
- .local int rx1197_rep
- .local pmc rx1197_cur
- (rx1197_cur, rx1197_pos, rx1197_tgt) = self."!cursor_start"()
- rx1197_cur."!cursor_debug"("START ", "infix:sym<:=>")
- .lex unicode:"$\x{a2}", rx1197_cur
- .local pmc match
- .lex "$/", match
- length rx1197_eos, rx1197_tgt
- set rx1197_off, 0
- lt rx1197_pos, 2, rx1197_start
- sub rx1197_off, rx1197_pos, 1
- substr rx1197_tgt, rx1197_tgt, rx1197_off
- rx1197_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1201_done
- goto rxscan1201_scan
- rxscan1201_loop:
- ($P10) = rx1197_cur."from"()
- inc $P10
- set rx1197_pos, $P10
- ge rx1197_pos, rx1197_eos, rxscan1201_done
- rxscan1201_scan:
- set_addr $I10, rxscan1201_loop
- rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
- rxscan1201_done:
-.annotate "line", 521
+.sub "infix:sym<:=>" :subid("309_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1202_tgt
+ .local int rx1202_pos
+ .local int rx1202_off
+ .local int rx1202_eos
+ .local int rx1202_rep
+ .local pmc rx1202_cur
+ (rx1202_cur, rx1202_pos, rx1202_tgt) = self."!cursor_start"()
+ rx1202_cur."!cursor_debug"("START ", "infix:sym<:=>")
+ .lex unicode:"$\x{a2}", rx1202_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1202_eos, rx1202_tgt
+ set rx1202_off, 0
+ lt rx1202_pos, 2, rx1202_start
+ sub rx1202_off, rx1202_pos, 1
+ substr rx1202_tgt, rx1202_tgt, rx1202_off
+ rx1202_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1206_done
+ goto rxscan1206_scan
+ rxscan1206_loop:
+ ($P10) = rx1202_cur."from"()
+ inc $P10
+ set rx1202_pos, $P10
+ ge rx1202_pos, rx1202_eos, rxscan1206_done
+ rxscan1206_scan:
+ set_addr $I10, rxscan1206_loop
+ rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
+ rxscan1206_done:
+.annotate "line", 522
# rx subcapture "sym"
- set_addr $I10, rxcap_1202_fail
- rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+ set_addr $I10, rxcap_1207_fail
+ rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
# rx literal ":="
- add $I11, rx1197_pos, 2
- gt $I11, rx1197_eos, rx1197_fail
- sub $I11, rx1197_pos, rx1197_off
- substr $S10, rx1197_tgt, $I11, 2
- ne $S10, ":=", rx1197_fail
- add rx1197_pos, 2
- set_addr $I10, rxcap_1202_fail
- ($I12, $I11) = rx1197_cur."!mark_peek"($I10)
- rx1197_cur."!cursor_pos"($I11)
- ($P10) = rx1197_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1197_pos, "")
- rx1197_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1202_pos, 2
+ gt $I11, rx1202_eos, rx1202_fail
+ sub $I11, rx1202_pos, rx1202_off
+ substr $S10, rx1202_tgt, $I11, 2
+ ne $S10, ":=", rx1202_fail
+ add rx1202_pos, 2
+ set_addr $I10, rxcap_1207_fail
+ ($I12, $I11) = rx1202_cur."!mark_peek"($I10)
+ rx1202_cur."!cursor_pos"($I11)
+ ($P10) = rx1202_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1202_pos, "")
+ rx1202_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1202_done
- rxcap_1202_fail:
- goto rx1197_fail
- rxcap_1202_done:
+ goto rxcap_1207_done
+ rxcap_1207_fail:
+ goto rx1202_fail
+ rxcap_1207_done:
# rx subrule "O" subtype=capture negate=
- rx1197_cur."!cursor_pos"(rx1197_pos)
- $P10 = rx1197_cur."O"("%assignment, :pasttype<bind>")
- unless $P10, rx1197_fail
- rx1197_cur."!mark_push"(0, -1, 0, $P10)
+ rx1202_cur."!cursor_pos"(rx1202_pos)
+ $P10 = rx1202_cur."O"("%assignment, :pasttype<bind>")
+ unless $P10, rx1202_fail
+ rx1202_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1197_pos = $P10."pos"()
+ rx1202_pos = $P10."pos"()
# rx pass
- rx1197_cur."!cursor_pass"(rx1197_pos, "infix:sym<:=>")
- rx1197_cur."!cursor_debug"("PASS ", "infix:sym<:=>", " at pos=", rx1197_pos)
- .return (rx1197_cur)
- rx1197_fail:
-.annotate "line", 421
- (rx1197_rep, rx1197_pos, $I10, $P10) = rx1197_cur."!mark_fail"(0)
- lt rx1197_pos, -1, rx1197_done
- eq rx1197_pos, -1, rx1197_fail
- jump $I10
- rx1197_done:
- rx1197_cur."!cursor_fail"()
- rx1197_cur."!cursor_debug"("FAIL ", "infix:sym<:=>")
- .return (rx1197_cur)
+ rx1202_cur."!cursor_pass"(rx1202_pos, "infix:sym<:=>")
+ rx1202_cur."!cursor_debug"("PASS ", "infix:sym<:=>", " at pos=", rx1202_pos)
+ .return (rx1202_cur)
+ rx1202_fail:
+.annotate "line", 422
+ (rx1202_rep, rx1202_pos, $I10, $P10) = rx1202_cur."!mark_fail"(0)
+ lt rx1202_pos, -1, rx1202_done
+ eq rx1202_pos, -1, rx1202_fail
+ jump $I10
+ rx1202_done:
+ rx1202_cur."!cursor_fail"()
+ rx1202_cur."!cursor_debug"("FAIL ", "infix:sym<:=>")
+ .return (rx1202_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>" :subid("308_1271336396.90314") :method
-.annotate "line", 421
- $P1199 = self."!PREFIX__!subrule"("O", ":=")
- new $P1200, "ResizablePMCArray"
- push $P1200, $P1199
- .return ($P1200)
+.sub "!PREFIX__infix:sym<:=>" :subid("310_1271948667.92136") :method
+.annotate "line", 422
+ $P1204 = self."!PREFIX__!subrule"("O", ":=")
+ new $P1205, "ResizablePMCArray"
+ push $P1205, $P1204
+ .return ($P1205)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>" :subid("309_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1204_tgt
- .local int rx1204_pos
- .local int rx1204_off
- .local int rx1204_eos
- .local int rx1204_rep
- .local pmc rx1204_cur
- (rx1204_cur, rx1204_pos, rx1204_tgt) = self."!cursor_start"()
- rx1204_cur."!cursor_debug"("START ", "infix:sym<::=>")
- .lex unicode:"$\x{a2}", rx1204_cur
- .local pmc match
- .lex "$/", match
- length rx1204_eos, rx1204_tgt
- set rx1204_off, 0
- lt rx1204_pos, 2, rx1204_start
- sub rx1204_off, rx1204_pos, 1
- substr rx1204_tgt, rx1204_tgt, rx1204_off
- rx1204_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1208_done
- goto rxscan1208_scan
- rxscan1208_loop:
- ($P10) = rx1204_cur."from"()
- inc $P10
- set rx1204_pos, $P10
- ge rx1204_pos, rx1204_eos, rxscan1208_done
- rxscan1208_scan:
- set_addr $I10, rxscan1208_loop
- rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
- rxscan1208_done:
-.annotate "line", 522
+.sub "infix:sym<::=>" :subid("311_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1209_tgt
+ .local int rx1209_pos
+ .local int rx1209_off
+ .local int rx1209_eos
+ .local int rx1209_rep
+ .local pmc rx1209_cur
+ (rx1209_cur, rx1209_pos, rx1209_tgt) = self."!cursor_start"()
+ rx1209_cur."!cursor_debug"("START ", "infix:sym<::=>")
+ .lex unicode:"$\x{a2}", rx1209_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1209_eos, rx1209_tgt
+ set rx1209_off, 0
+ lt rx1209_pos, 2, rx1209_start
+ sub rx1209_off, rx1209_pos, 1
+ substr rx1209_tgt, rx1209_tgt, rx1209_off
+ rx1209_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1213_done
+ goto rxscan1213_scan
+ rxscan1213_loop:
+ ($P10) = rx1209_cur."from"()
+ inc $P10
+ set rx1209_pos, $P10
+ ge rx1209_pos, rx1209_eos, rxscan1213_done
+ rxscan1213_scan:
+ set_addr $I10, rxscan1213_loop
+ rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
+ rxscan1213_done:
+.annotate "line", 523
# rx subcapture "sym"
- set_addr $I10, rxcap_1209_fail
- rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
+ set_addr $I10, rxcap_1214_fail
+ rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
# rx literal "::="
- add $I11, rx1204_pos, 3
- gt $I11, rx1204_eos, rx1204_fail
- sub $I11, rx1204_pos, rx1204_off
- substr $S10, rx1204_tgt, $I11, 3
- ne $S10, "::=", rx1204_fail
- add rx1204_pos, 3
- set_addr $I10, rxcap_1209_fail
- ($I12, $I11) = rx1204_cur."!mark_peek"($I10)
- rx1204_cur."!cursor_pos"($I11)
- ($P10) = rx1204_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1204_pos, "")
- rx1204_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1209_pos, 3
+ gt $I11, rx1209_eos, rx1209_fail
+ sub $I11, rx1209_pos, rx1209_off
+ substr $S10, rx1209_tgt, $I11, 3
+ ne $S10, "::=", rx1209_fail
+ add rx1209_pos, 3
+ set_addr $I10, rxcap_1214_fail
+ ($I12, $I11) = rx1209_cur."!mark_peek"($I10)
+ rx1209_cur."!cursor_pos"($I11)
+ ($P10) = rx1209_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1209_pos, "")
+ rx1209_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1209_done
- rxcap_1209_fail:
- goto rx1204_fail
- rxcap_1209_done:
+ goto rxcap_1214_done
+ rxcap_1214_fail:
+ goto rx1209_fail
+ rxcap_1214_done:
# rx subrule "O" subtype=capture negate=
- rx1204_cur."!cursor_pos"(rx1204_pos)
- $P10 = rx1204_cur."O"("%assignment, :pasttype<bind>")
- unless $P10, rx1204_fail
- rx1204_cur."!mark_push"(0, -1, 0, $P10)
+ rx1209_cur."!cursor_pos"(rx1209_pos)
+ $P10 = rx1209_cur."O"("%assignment, :pasttype<bind>")
+ unless $P10, rx1209_fail
+ rx1209_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1204_pos = $P10."pos"()
+ rx1209_pos = $P10."pos"()
# rx pass
- rx1204_cur."!cursor_pass"(rx1204_pos, "infix:sym<::=>")
- rx1204_cur."!cursor_debug"("PASS ", "infix:sym<::=>", " at pos=", rx1204_pos)
- .return (rx1204_cur)
- rx1204_fail:
-.annotate "line", 421
- (rx1204_rep, rx1204_pos, $I10, $P10) = rx1204_cur."!mark_fail"(0)
- lt rx1204_pos, -1, rx1204_done
- eq rx1204_pos, -1, rx1204_fail
- jump $I10
- rx1204_done:
- rx1204_cur."!cursor_fail"()
- rx1204_cur."!cursor_debug"("FAIL ", "infix:sym<::=>")
- .return (rx1204_cur)
+ rx1209_cur."!cursor_pass"(rx1209_pos, "infix:sym<::=>")
+ rx1209_cur."!cursor_debug"("PASS ", "infix:sym<::=>", " at pos=", rx1209_pos)
+ .return (rx1209_cur)
+ rx1209_fail:
+.annotate "line", 422
+ (rx1209_rep, rx1209_pos, $I10, $P10) = rx1209_cur."!mark_fail"(0)
+ lt rx1209_pos, -1, rx1209_done
+ eq rx1209_pos, -1, rx1209_fail
+ jump $I10
+ rx1209_done:
+ rx1209_cur."!cursor_fail"()
+ rx1209_cur."!cursor_debug"("FAIL ", "infix:sym<::=>")
+ .return (rx1209_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>" :subid("310_1271336396.90314") :method
-.annotate "line", 421
- $P1206 = self."!PREFIX__!subrule"("O", "::=")
- new $P1207, "ResizablePMCArray"
- push $P1207, $P1206
- .return ($P1207)
+.sub "!PREFIX__infix:sym<::=>" :subid("312_1271948667.92136") :method
+.annotate "line", 422
+ $P1211 = self."!PREFIX__!subrule"("O", "::=")
+ new $P1212, "ResizablePMCArray"
+ push $P1212, $P1211
+ .return ($P1212)
.end
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>" :subid("311_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1211_tgt
- .local int rx1211_pos
- .local int rx1211_off
- .local int rx1211_eos
- .local int rx1211_rep
- .local pmc rx1211_cur
- (rx1211_cur, rx1211_pos, rx1211_tgt) = self."!cursor_start"()
- rx1211_cur."!cursor_debug"("START ", "infix:sym<,>")
- .lex unicode:"$\x{a2}", rx1211_cur
- .local pmc match
- .lex "$/", match
- length rx1211_eos, rx1211_tgt
- set rx1211_off, 0
- lt rx1211_pos, 2, rx1211_start
- sub rx1211_off, rx1211_pos, 1
- substr rx1211_tgt, rx1211_tgt, rx1211_off
- rx1211_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1215_done
- goto rxscan1215_scan
- rxscan1215_loop:
- ($P10) = rx1211_cur."from"()
- inc $P10
- set rx1211_pos, $P10
- ge rx1211_pos, rx1211_eos, rxscan1215_done
- rxscan1215_scan:
- set_addr $I10, rxscan1215_loop
- rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
- rxscan1215_done:
-.annotate "line", 524
+.sub "infix:sym<,>" :subid("313_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1216_tgt
+ .local int rx1216_pos
+ .local int rx1216_off
+ .local int rx1216_eos
+ .local int rx1216_rep
+ .local pmc rx1216_cur
+ (rx1216_cur, rx1216_pos, rx1216_tgt) = self."!cursor_start"()
+ rx1216_cur."!cursor_debug"("START ", "infix:sym<,>")
+ .lex unicode:"$\x{a2}", rx1216_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1216_eos, rx1216_tgt
+ set rx1216_off, 0
+ lt rx1216_pos, 2, rx1216_start
+ sub rx1216_off, rx1216_pos, 1
+ substr rx1216_tgt, rx1216_tgt, rx1216_off
+ rx1216_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1220_done
+ goto rxscan1220_scan
+ rxscan1220_loop:
+ ($P10) = rx1216_cur."from"()
+ inc $P10
+ set rx1216_pos, $P10
+ ge rx1216_pos, rx1216_eos, rxscan1220_done
+ rxscan1220_scan:
+ set_addr $I10, rxscan1220_loop
+ rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
+ rxscan1220_done:
+.annotate "line", 525
# rx subcapture "sym"
- set_addr $I10, rxcap_1216_fail
- rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
+ set_addr $I10, rxcap_1221_fail
+ rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
# rx literal ","
- add $I11, rx1211_pos, 1
- gt $I11, rx1211_eos, rx1211_fail
- sub $I11, rx1211_pos, rx1211_off
- substr $S10, rx1211_tgt, $I11, 1
- ne $S10, ",", rx1211_fail
- add rx1211_pos, 1
- set_addr $I10, rxcap_1216_fail
- ($I12, $I11) = rx1211_cur."!mark_peek"($I10)
- rx1211_cur."!cursor_pos"($I11)
- ($P10) = rx1211_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1211_pos, "")
- rx1211_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1216_pos, 1
+ gt $I11, rx1216_eos, rx1216_fail
+ sub $I11, rx1216_pos, rx1216_off
+ substr $S10, rx1216_tgt, $I11, 1
+ ne $S10, ",", rx1216_fail
+ add rx1216_pos, 1
+ set_addr $I10, rxcap_1221_fail
+ ($I12, $I11) = rx1216_cur."!mark_peek"($I10)
+ rx1216_cur."!cursor_pos"($I11)
+ ($P10) = rx1216_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1216_pos, "")
+ rx1216_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1216_done
- rxcap_1216_fail:
- goto rx1211_fail
- rxcap_1216_done:
+ goto rxcap_1221_done
+ rxcap_1221_fail:
+ goto rx1216_fail
+ rxcap_1221_done:
# rx subrule "O" subtype=capture negate=
- rx1211_cur."!cursor_pos"(rx1211_pos)
- $P10 = rx1211_cur."O"("%comma, :pasttype<list>")
- unless $P10, rx1211_fail
- rx1211_cur."!mark_push"(0, -1, 0, $P10)
+ rx1216_cur."!cursor_pos"(rx1216_pos)
+ $P10 = rx1216_cur."O"("%comma, :pasttype<list>")
+ unless $P10, rx1216_fail
+ rx1216_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1211_pos = $P10."pos"()
+ rx1216_pos = $P10."pos"()
# rx pass
- rx1211_cur."!cursor_pass"(rx1211_pos, "infix:sym<,>")
- rx1211_cur."!cursor_debug"("PASS ", "infix:sym<,>", " at pos=", rx1211_pos)
- .return (rx1211_cur)
- rx1211_fail:
-.annotate "line", 421
- (rx1211_rep, rx1211_pos, $I10, $P10) = rx1211_cur."!mark_fail"(0)
- lt rx1211_pos, -1, rx1211_done
- eq rx1211_pos, -1, rx1211_fail
- jump $I10
- rx1211_done:
- rx1211_cur."!cursor_fail"()
- rx1211_cur."!cursor_debug"("FAIL ", "infix:sym<,>")
- .return (rx1211_cur)
+ rx1216_cur."!cursor_pass"(rx1216_pos, "infix:sym<,>")
+ rx1216_cur."!cursor_debug"("PASS ", "infix:sym<,>", " at pos=", rx1216_pos)
+ .return (rx1216_cur)
+ rx1216_fail:
+.annotate "line", 422
+ (rx1216_rep, rx1216_pos, $I10, $P10) = rx1216_cur."!mark_fail"(0)
+ lt rx1216_pos, -1, rx1216_done
+ eq rx1216_pos, -1, rx1216_fail
+ jump $I10
+ rx1216_done:
+ rx1216_cur."!cursor_fail"()
+ rx1216_cur."!cursor_debug"("FAIL ", "infix:sym<,>")
+ .return (rx1216_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>" :subid("312_1271336396.90314") :method
-.annotate "line", 421
- $P1213 = self."!PREFIX__!subrule"("O", ",")
- new $P1214, "ResizablePMCArray"
- push $P1214, $P1213
- .return ($P1214)
+.sub "!PREFIX__infix:sym<,>" :subid("314_1271948667.92136") :method
+.annotate "line", 422
+ $P1218 = self."!PREFIX__!subrule"("O", ",")
+ new $P1219, "ResizablePMCArray"
+ push $P1219, $P1218
+ .return ($P1219)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>" :subid("313_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1218_tgt
- .local int rx1218_pos
- .local int rx1218_off
- .local int rx1218_eos
- .local int rx1218_rep
- .local pmc rx1218_cur
- (rx1218_cur, rx1218_pos, rx1218_tgt) = self."!cursor_start"()
- rx1218_cur."!cursor_debug"("START ", "prefix:sym<return>")
- .lex unicode:"$\x{a2}", rx1218_cur
- .local pmc match
- .lex "$/", match
- length rx1218_eos, rx1218_tgt
- set rx1218_off, 0
- lt rx1218_pos, 2, rx1218_start
- sub rx1218_off, rx1218_pos, 1
- substr rx1218_tgt, rx1218_tgt, rx1218_off
- rx1218_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1221_done
- goto rxscan1221_scan
- rxscan1221_loop:
- ($P10) = rx1218_cur."from"()
- inc $P10
- set rx1218_pos, $P10
- ge rx1218_pos, rx1218_eos, rxscan1221_done
- rxscan1221_scan:
- set_addr $I10, rxscan1221_loop
- rx1218_cur."!mark_push"(0, rx1218_pos, $I10)
- rxscan1221_done:
-.annotate "line", 526
+.sub "prefix:sym<return>" :subid("315_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1223_tgt
+ .local int rx1223_pos
+ .local int rx1223_off
+ .local int rx1223_eos
+ .local int rx1223_rep
+ .local pmc rx1223_cur
+ (rx1223_cur, rx1223_pos, rx1223_tgt) = self."!cursor_start"()
+ rx1223_cur."!cursor_debug"("START ", "prefix:sym<return>")
+ .lex unicode:"$\x{a2}", rx1223_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1223_eos, rx1223_tgt
+ set rx1223_off, 0
+ lt rx1223_pos, 2, rx1223_start
+ sub rx1223_off, rx1223_pos, 1
+ substr rx1223_tgt, rx1223_tgt, rx1223_off
+ rx1223_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1226_done
+ goto rxscan1226_scan
+ rxscan1226_loop:
+ ($P10) = rx1223_cur."from"()
+ inc $P10
+ set rx1223_pos, $P10
+ ge rx1223_pos, rx1223_eos, rxscan1226_done
+ rxscan1226_scan:
+ set_addr $I10, rxscan1226_loop
+ rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
+ rxscan1226_done:
+.annotate "line", 527
# rx subcapture "sym"
- set_addr $I10, rxcap_1222_fail
- rx1218_cur."!mark_push"(0, rx1218_pos, $I10)
+ set_addr $I10, rxcap_1227_fail
+ rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
# rx literal "return"
- add $I11, rx1218_pos, 6
- gt $I11, rx1218_eos, rx1218_fail
- sub $I11, rx1218_pos, rx1218_off
- substr $S10, rx1218_tgt, $I11, 6
- ne $S10, "return", rx1218_fail
- add rx1218_pos, 6
- set_addr $I10, rxcap_1222_fail
- ($I12, $I11) = rx1218_cur."!mark_peek"($I10)
- rx1218_cur."!cursor_pos"($I11)
- ($P10) = rx1218_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1218_pos, "")
- rx1218_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1223_pos, 6
+ gt $I11, rx1223_eos, rx1223_fail
+ sub $I11, rx1223_pos, rx1223_off
+ substr $S10, rx1223_tgt, $I11, 6
+ ne $S10, "return", rx1223_fail
+ add rx1223_pos, 6
+ set_addr $I10, rxcap_1227_fail
+ ($I12, $I11) = rx1223_cur."!mark_peek"($I10)
+ rx1223_cur."!cursor_pos"($I11)
+ ($P10) = rx1223_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1223_pos, "")
+ rx1223_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1222_done
- rxcap_1222_fail:
- goto rx1218_fail
- rxcap_1222_done:
+ goto rxcap_1227_done
+ rxcap_1227_fail:
+ goto rx1223_fail
+ rxcap_1227_done:
# rx charclass s
- ge rx1218_pos, rx1218_eos, rx1218_fail
- sub $I10, rx1218_pos, rx1218_off
- is_cclass $I11, 32, rx1218_tgt, $I10
- unless $I11, rx1218_fail
- inc rx1218_pos
+ ge rx1223_pos, rx1223_eos, rx1223_fail
+ sub $I10, rx1223_pos, rx1223_off
+ is_cclass $I11, 32, rx1223_tgt, $I10
+ unless $I11, rx1223_fail
+ inc rx1223_pos
# rx subrule "O" subtype=capture negate=
- rx1218_cur."!cursor_pos"(rx1218_pos)
- $P10 = rx1218_cur."O"("%list_prefix, :pasttype<return>")
- unless $P10, rx1218_fail
- rx1218_cur."!mark_push"(0, -1, 0, $P10)
+ rx1223_cur."!cursor_pos"(rx1223_pos)
+ $P10 = rx1223_cur."O"("%list_prefix, :pasttype<return>")
+ unless $P10, rx1223_fail
+ rx1223_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1218_pos = $P10."pos"()
+ rx1223_pos = $P10."pos"()
# rx pass
- rx1218_cur."!cursor_pass"(rx1218_pos, "prefix:sym<return>")
- rx1218_cur."!cursor_debug"("PASS ", "prefix:sym<return>", " at pos=", rx1218_pos)
- .return (rx1218_cur)
- rx1218_fail:
-.annotate "line", 421
- (rx1218_rep, rx1218_pos, $I10, $P10) = rx1218_cur."!mark_fail"(0)
- lt rx1218_pos, -1, rx1218_done
- eq rx1218_pos, -1, rx1218_fail
- jump $I10
- rx1218_done:
- rx1218_cur."!cursor_fail"()
- rx1218_cur."!cursor_debug"("FAIL ", "prefix:sym<return>")
- .return (rx1218_cur)
+ rx1223_cur."!cursor_pass"(rx1223_pos, "prefix:sym<return>")
+ rx1223_cur."!cursor_debug"("PASS ", "prefix:sym<return>", " at pos=", rx1223_pos)
+ .return (rx1223_cur)
+ rx1223_fail:
+.annotate "line", 422
+ (rx1223_rep, rx1223_pos, $I10, $P10) = rx1223_cur."!mark_fail"(0)
+ lt rx1223_pos, -1, rx1223_done
+ eq rx1223_pos, -1, rx1223_fail
+ jump $I10
+ rx1223_done:
+ rx1223_cur."!cursor_fail"()
+ rx1223_cur."!cursor_debug"("FAIL ", "prefix:sym<return>")
+ .return (rx1223_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>" :subid("314_1271336396.90314") :method
-.annotate "line", 421
- new $P1220, "ResizablePMCArray"
- push $P1220, "return"
- .return ($P1220)
+.sub "!PREFIX__prefix:sym<return>" :subid("316_1271948667.92136") :method
+.annotate "line", 422
+ new $P1225, "ResizablePMCArray"
+ push $P1225, "return"
+ .return ($P1225)
.end
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>" :subid("315_1271336396.90314") :method :outer("11_1271336396.90314")
-.annotate "line", 421
- .local string rx1224_tgt
- .local int rx1224_pos
- .local int rx1224_off
- .local int rx1224_eos
- .local int rx1224_rep
- .local pmc rx1224_cur
- (rx1224_cur, rx1224_pos, rx1224_tgt) = self."!cursor_start"()
- rx1224_cur."!cursor_debug"("START ", "prefix:sym<make>")
- .lex unicode:"$\x{a2}", rx1224_cur
- .local pmc match
- .lex "$/", match
- length rx1224_eos, rx1224_tgt
- set rx1224_off, 0
- lt rx1224_pos, 2, rx1224_start
- sub rx1224_off, rx1224_pos, 1
- substr rx1224_tgt, rx1224_tgt, rx1224_off
- rx1224_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1227_done
- goto rxscan1227_scan
- rxscan1227_loop:
- ($P10) = rx1224_cur."from"()
- inc $P10
- set rx1224_pos, $P10
- ge rx1224_pos, rx1224_eos, rxscan1227_done
- rxscan1227_scan:
- set_addr $I10, rxscan1227_loop
- rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
- rxscan1227_done:
-.annotate "line", 527
+.sub "prefix:sym<make>" :subid("317_1271948667.92136") :method :outer("11_1271948667.92136")
+.annotate "line", 422
+ .local string rx1229_tgt
+ .local int rx1229_pos
+ .local int rx1229_off
+ .local int rx1229_eos
+ .local int rx1229_rep
+ .local pmc rx1229_cur
+ (rx1229_cur, rx1229_pos, rx1229_tgt) = self."!cursor_start"()
+ rx1229_cur."!cursor_debug"("START ", "prefix:sym<make>")
+ .lex unicode:"$\x{a2}", rx1229_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1229_eos, rx1229_tgt
+ set rx1229_off, 0
+ lt rx1229_pos, 2, rx1229_start
+ sub rx1229_off, rx1229_pos, 1
+ substr rx1229_tgt, rx1229_tgt, rx1229_off
+ rx1229_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1232_done
+ goto rxscan1232_scan
+ rxscan1232_loop:
+ ($P10) = rx1229_cur."from"()
+ inc $P10
+ set rx1229_pos, $P10
+ ge rx1229_pos, rx1229_eos, rxscan1232_done
+ rxscan1232_scan:
+ set_addr $I10, rxscan1232_loop
+ rx1229_cur."!mark_push"(0, rx1229_pos, $I10)
+ rxscan1232_done:
+.annotate "line", 528
# rx subcapture "sym"
- set_addr $I10, rxcap_1228_fail
- rx1224_cur."!mark_push"(0, rx1224_pos, $I10)
+ set_addr $I10, rxcap_1233_fail
+ rx1229_cur."!mark_push"(0, rx1229_pos, $I10)
# rx literal "make"
- add $I11, rx1224_pos, 4
- gt $I11, rx1224_eos, rx1224_fail
- sub $I11, rx1224_pos, rx1224_off
- substr $S10, rx1224_tgt, $I11, 4
- ne $S10, "make", rx1224_fail
- add rx1224_pos, 4
- set_addr $I10, rxcap_1228_fail
- ($I12, $I11) = rx1224_cur."!mark_peek"($I10)
- rx1224_cur."!cursor_pos"($I11)
- ($P10) = rx1224_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1224_pos, "")
- rx1224_cur."!mark_push"(0, -1, 0, $P10)
+ add $I11, rx1229_pos, 4
+ gt $I11, rx1229_eos, rx1229_fail
+ sub $I11, rx1229_pos, rx1229_off
+ substr $S10, rx1229_tgt, $I11, 4
+ ne $S10, "make", rx1229_fail
+ add rx1229_pos, 4
+ set_addr $I10, rxcap_1233_fail
+ ($I12, $I11) = rx1229_cur."!mark_peek"($I10)
+ rx1229_cur."!cursor_pos"($I11)
+ ($P10) = rx1229_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1229_pos, "")
+ rx1229_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("sym")
- goto rxcap_1228_done
- rxcap_1228_fail:
- goto rx1224_fail
- rxcap_1228_done:
+ goto rxcap_1233_done
+ rxcap_1233_fail:
+ goto rx1229_fail
+ rxcap_1233_done:
# rx charclass s
- ge rx1224_pos, rx1224_eos, rx1224_fail
- sub $I10, rx1224_pos, rx1224_off
- is_cclass $I11, 32, rx1224_tgt, $I10
- unless $I11, rx1224_fail
- inc rx1224_pos
+ ge rx1229_pos, rx1229_eos, rx1229_fail
+ sub $I10, rx1229_pos, rx1229_off
+ is_cclass $I11, 32, rx1229_tgt, $I10
+ unless $I11, rx1229_fail
+ inc rx1229_pos
# rx subrule "O" subtype=capture negate=
- rx1224_cur."!cursor_pos"(rx1224_pos)
- $P10 = rx1224_cur."O"("%list_prefix")
- unless $P10, rx1224_fail
- rx1224_cur."!mark_push"(0, -1, 0, $P10)
+ rx1229_cur."!cursor_pos"(rx1229_pos)
+ $P10 = rx1229_cur."O"("%list_prefix")
+ unless $P10, rx1229_fail
+ rx1229_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("O")
- rx1224_pos = $P10."pos"()
+ rx1229_pos = $P10."pos"()
# rx pass
- rx1224_cur."!cursor_pass"(rx1224_pos, "prefix:sym<make>")
- rx1224_cur."!cursor_debug"("PASS ", "prefix:sym<make>", " at pos=", rx1224_pos)
- .return (rx1224_cur)
- rx1224_fail:
-.annotate "line", 421
- (rx1224_rep, rx1224_pos, $I10, $P10) = rx1224_cur."!mark_fail"(0)
- lt rx1224_pos, -1, rx1224_done
- eq rx1224_pos, -1, rx1224_fail
+ rx1229_cur."!cursor_pass"(rx1229_pos, "prefix:sym<make>")
+ rx1229_cur."!cursor_debug"("PASS ", "prefix:sym<make>", " at pos=", rx1229_pos)
+ .return (rx1229_cur)
+ rx1229_fail:
+.annotate "line", 422
+ (rx1229_rep, rx1229_pos, $I10, $P10) = rx1229_cur."!mark_fail"(0)
+ lt rx1229_pos, -1, rx1229_done
+ eq rx1229_pos, -1, rx1229_fail
jump $I10
- rx1224_done:
- rx1224_cur."!cursor_fail"()
- rx1224_cur."!cursor_debug"("FAIL ", "prefix:sym<make>")
- .return (rx1224_cur)
+ rx1229_done:
+ rx1229_cur."!cursor_fail"()
+ rx1229_cur."!cursor_debug"("FAIL ", "prefix:sym<make>")
+ .return (rx1229_cur)
.return ()
.end
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>" :subid("316_1271336396.90314") :method
-.annotate "line", 421
- new $P1226, "ResizablePMCArray"
- push $P1226, "make"
- .return ($P1226)
+.sub "!PREFIX__prefix:sym<make>" :subid("318_1271948667.92136") :method
+.annotate "line", 422
+ new $P1231, "ResizablePMCArray"
+ push $P1231, "make"
+ .return ($P1231)
.end
.namespace ["NQP";"Grammar"]
-.sub "smartmatch" :subid("317_1271336396.90314") :method :outer("11_1271336396.90314")
- .param pmc param_1232
-.annotate "line", 529
- new $P1231, 'ExceptionHandler'
- set_addr $P1231, control_1230
- $P1231."handle_types"(58)
- push_eh $P1231
+.sub "smartmatch" :subid("319_1271948667.92136") :method :outer("11_1271948667.92136")
+ .param pmc param_1237
+.annotate "line", 530
+ new $P1236, 'ExceptionHandler'
+ set_addr $P1236, control_1235
+ $P1236."handle_types"(58)
+ push_eh $P1236
.lex "self", self
- .lex "$/", param_1232
-.annotate "line", 531
- new $P1233, "Undef"
- .lex "$t", $P1233
- find_lex $P1234, "$/"
- unless_null $P1234, vivify_343
- $P1234 = root_new ['parrot';'ResizablePMCArray']
- vivify_343:
- set $P1235, $P1234[0]
- unless_null $P1235, vivify_344
- new $P1235, "Undef"
- vivify_344:
- store_lex "$t", $P1235
- find_lex $P1236, "$/"
- unless_null $P1236, vivify_345
- $P1236 = root_new ['parrot';'ResizablePMCArray']
+ .lex "$/", param_1237
+.annotate "line", 532
+ new $P1238, "Undef"
+ .lex "$t", $P1238
+ find_lex $P1239, "$/"
+ unless_null $P1239, vivify_345
+ $P1239 = root_new ['parrot';'ResizablePMCArray']
vivify_345:
- set $P1237, $P1236[1]
- unless_null $P1237, vivify_346
- new $P1237, "Undef"
+ set $P1240, $P1239[0]
+ unless_null $P1240, vivify_346
+ new $P1240, "Undef"
vivify_346:
- find_lex $P1238, "$/"
- unless_null $P1238, vivify_347
- $P1238 = root_new ['parrot';'ResizablePMCArray']
- store_lex "$/", $P1238
+ store_lex "$t", $P1240
+ find_lex $P1241, "$/"
+ unless_null $P1241, vivify_347
+ $P1241 = root_new ['parrot';'ResizablePMCArray']
vivify_347:
- set $P1238[0], $P1237
- find_lex $P1239, "$t"
- find_lex $P1240, "$/"
- unless_null $P1240, vivify_348
- $P1240 = root_new ['parrot';'ResizablePMCArray']
- store_lex "$/", $P1240
+ set $P1242, $P1241[1]
+ unless_null $P1242, vivify_348
+ new $P1242, "Undef"
vivify_348:
- set $P1240[1], $P1239
-.annotate "line", 529
- .return ($P1239)
- control_1230:
+ find_lex $P1243, "$/"
+ unless_null $P1243, vivify_349
+ $P1243 = root_new ['parrot';'ResizablePMCArray']
+ store_lex "$/", $P1243
+ vivify_349:
+ set $P1243[0], $P1242
+ find_lex $P1244, "$t"
+ find_lex $P1245, "$/"
+ unless_null $P1245, vivify_350
+ $P1245 = root_new ['parrot';'ResizablePMCArray']
+ store_lex "$/", $P1245
+ vivify_350:
+ set $P1245[1], $P1244
+.annotate "line", 530
+ .return ($P1244)
+ control_1235:
.local pmc exception
.get_results (exception)
- getattribute $P1241, exception, "payload"
- .return ($P1241)
+ getattribute $P1246, exception, "payload"
+ .return ($P1246)
.end
.namespace ["NQP";"Regex"]
-.sub "_block1242" :subid("318_1271336396.90314") :outer("11_1271336396.90314")
-.annotate "line", 535
- .const 'Sub' $P1276 = "329_1271336396.90314"
- capture_lex $P1276
- .const 'Sub' $P1263 = "326_1271336396.90314"
+.sub "_block1247" :subid("320_1271948667.92136") :outer("11_1271948667.92136")
+.annotate "line", 536
+ .const 'Sub' $P1281 = "331_1271948667.92136"
+ capture_lex $P1281
+ .const 'Sub' $P1268 = "328_1271948667.92136"
+ capture_lex $P1268
+ .const 'Sub' $P1263 = "326_1271948667.92136"
capture_lex $P1263
- .const 'Sub' $P1258 = "324_1271336396.90314"
+ .const 'Sub' $P1258 = "324_1271948667.92136"
capture_lex $P1258
- .const 'Sub' $P1253 = "322_1271336396.90314"
- capture_lex $P1253
- .const 'Sub' $P1244 = "319_1271336396.90314"
- capture_lex $P1244
- .const 'Sub' $P1276 = "329_1271336396.90314"
- capture_lex $P1276
- .return ($P1276)
+ .const 'Sub' $P1249 = "321_1271948667.92136"
+ capture_lex $P1249
+ .const 'Sub' $P1281 = "331_1271948667.92136"
+ capture_lex $P1281
+ .return ($P1281)
.end
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>" :subid("319_1271336396.90314") :method :outer("318_1271336396.90314")
-.annotate "line", 535
- .const 'Sub' $P1250 = "321_1271336396.90314"
- capture_lex $P1250
- .local string rx1245_tgt
- .local int rx1245_pos
- .local int rx1245_off
- .local int rx1245_eos
- .local int rx1245_rep
- .local pmc rx1245_cur
- (rx1245_cur, rx1245_pos, rx1245_tgt) = self."!cursor_start"()
- rx1245_cur."!cursor_debug"("START ", "metachar:sym<:my>")
- .lex unicode:"$\x{a2}", rx1245_cur
- .local pmc match
- .lex "$/", match
- length rx1245_eos, rx1245_tgt
- set rx1245_off, 0
- lt rx1245_pos, 2, rx1245_start
- sub rx1245_off, rx1245_pos, 1
- substr rx1245_tgt, rx1245_tgt, rx1245_off
- rx1245_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1248_done
- goto rxscan1248_scan
- rxscan1248_loop:
- ($P10) = rx1245_cur."from"()
- inc $P10
- set rx1245_pos, $P10
- ge rx1245_pos, rx1245_eos, rxscan1248_done
- rxscan1248_scan:
- set_addr $I10, rxscan1248_loop
- rx1245_cur."!mark_push"(0, rx1245_pos, $I10)
- rxscan1248_done:
-.annotate "line", 537
+.sub "metachar:sym<:my>" :subid("321_1271948667.92136") :method :outer("320_1271948667.92136")
+.annotate "line", 536
+ .const 'Sub' $P1255 = "323_1271948667.92136"
+ capture_lex $P1255
+ .local string rx1250_tgt
+ .local int rx1250_pos
+ .local int rx1250_off
+ .local int rx1250_eos
+ .local int rx1250_rep
+ .local pmc rx1250_cur
+ (rx1250_cur, rx1250_pos, rx1250_tgt) = self."!cursor_start"()
+ rx1250_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+ .lex unicode:"$\x{a2}", rx1250_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1250_eos, rx1250_tgt
+ set rx1250_off, 0
+ lt rx1250_pos, 2, rx1250_start
+ sub rx1250_off, rx1250_pos, 1
+ substr rx1250_tgt, rx1250_tgt, rx1250_off
+ rx1250_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1253_done
+ goto rxscan1253_scan
+ rxscan1253_loop:
+ ($P10) = rx1250_cur."from"()
+ inc $P10
+ set rx1250_pos, $P10
+ ge rx1250_pos, rx1250_eos, rxscan1253_done
+ rxscan1253_scan:
+ set_addr $I10, rxscan1253_loop
+ rx1250_cur."!mark_push"(0, rx1250_pos, $I10)
+ rxscan1253_done:
+.annotate "line", 538
# rx literal ":"
- add $I11, rx1245_pos, 1
- gt $I11, rx1245_eos, rx1245_fail
- sub $I11, rx1245_pos, rx1245_off
- substr $S10, rx1245_tgt, $I11, 1
- ne $S10, ":", rx1245_fail
- add rx1245_pos, 1
+ add $I11, rx1250_pos, 1
+ gt $I11, rx1250_eos, rx1250_fail
+ sub $I11, rx1250_pos, rx1250_off
+ substr $S10, rx1250_tgt, $I11, 1
+ ne $S10, ":", rx1250_fail
+ add rx1250_pos, 1
# rx subrule "before" subtype=zerowidth negate=
- rx1245_cur."!cursor_pos"(rx1245_pos)
- .const 'Sub' $P1250 = "321_1271336396.90314"
- capture_lex $P1250
- $P10 = rx1245_cur."before"($P1250)
- unless $P10, rx1245_fail
+ rx1250_cur."!cursor_pos"(rx1250_pos)
+ .const 'Sub' $P1255 = "323_1271948667.92136"
+ capture_lex $P1255
+ $P10 = rx1250_cur."before"($P1255)
+ unless $P10, rx1250_fail
# rx subrule "LANG" subtype=capture negate=
- rx1245_cur."!cursor_pos"(rx1245_pos)
- $P10 = rx1245_cur."LANG"("MAIN", "statement")
- unless $P10, rx1245_fail
- rx1245_cur."!mark_push"(0, -1, 0, $P10)
+ rx1250_cur."!cursor_pos"(rx1250_pos)
+ $P10 = rx1250_cur."LANG"("MAIN", "statement")
+ unless $P10, rx1250_fail
+ rx1250_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("statement")
- rx1245_pos = $P10."pos"()
+ rx1250_pos = $P10."pos"()
# rx subrule "ws" subtype=method negate=
- rx1245_cur."!cursor_pos"(rx1245_pos)
- $P10 = rx1245_cur."ws"()
- unless $P10, rx1245_fail
- rx1245_pos = $P10."pos"()
+ rx1250_cur."!cursor_pos"(rx1250_pos)
+ $P10 = rx1250_cur."ws"()
+ unless $P10, rx1250_fail
+ rx1250_pos = $P10."pos"()
# rx literal ";"
- add $I11, rx1245_pos, 1
- gt $I11, rx1245_eos, rx1245_fail
- sub $I11, rx1245_pos, rx1245_off
- substr $S10, rx1245_tgt, $I11, 1
- ne $S10, ";", rx1245_fail
- add rx1245_pos, 1
-.annotate "line", 536
+ add $I11, rx1250_pos, 1
+ gt $I11, rx1250_eos, rx1250_fail
+ sub $I11, rx1250_pos, rx1250_off
+ substr $S10, rx1250_tgt, $I11, 1
+ ne $S10, ";", rx1250_fail
+ add rx1250_pos, 1
+.annotate "line", 537
# rx pass
- rx1245_cur."!cursor_pass"(rx1245_pos, "metachar:sym<:my>")
- rx1245_cur."!cursor_debug"("PASS ", "metachar:sym<:my>", " at pos=", rx1245_pos)
- .return (rx1245_cur)
- rx1245_fail:
-.annotate "line", 535
- (rx1245_rep, rx1245_pos, $I10, $P10) = rx1245_cur."!mark_fail"(0)
- lt rx1245_pos, -1, rx1245_done
- eq rx1245_pos, -1, rx1245_fail
- jump $I10
- rx1245_done:
- rx1245_cur."!cursor_fail"()
- rx1245_cur."!cursor_debug"("FAIL ", "metachar:sym<:my>")
- .return (rx1245_cur)
+ rx1250_cur."!cursor_pass"(rx1250_pos, "metachar:sym<:my>")
+ rx1250_cur."!cursor_debug"("PASS ", "metachar:sym<:my>", " at pos=", rx1250_pos)
+ .return (rx1250_cur)
+ rx1250_fail:
+.annotate "line", 536
+ (rx1250_rep, rx1250_pos, $I10, $P10) = rx1250_cur."!mark_fail"(0)
+ lt rx1250_pos, -1, rx1250_done
+ eq rx1250_pos, -1, rx1250_fail
+ jump $I10
+ rx1250_done:
+ rx1250_cur."!cursor_fail"()
+ rx1250_cur."!cursor_debug"("FAIL ", "metachar:sym<:my>")
+ .return (rx1250_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>" :subid("320_1271336396.90314") :method
-.annotate "line", 535
- new $P1247, "ResizablePMCArray"
- push $P1247, ":"
- .return ($P1247)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "_block1249" :anon :subid("321_1271336396.90314") :method :outer("319_1271336396.90314")
-.annotate "line", 537
- .local string rx1251_tgt
- .local int rx1251_pos
- .local int rx1251_off
- .local int rx1251_eos
- .local int rx1251_rep
- .local pmc rx1251_cur
- (rx1251_cur, rx1251_pos, rx1251_tgt) = self."!cursor_start"()
- rx1251_cur."!cursor_debug"("START ", "")
- .lex unicode:"$\x{a2}", rx1251_cur
- .local pmc match
- .lex "$/", match
- length rx1251_eos, rx1251_tgt
- set rx1251_off, 0
- lt rx1251_pos, 2, rx1251_start
- sub rx1251_off, rx1251_pos, 1
- substr rx1251_tgt, rx1251_tgt, rx1251_off
- rx1251_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1252_done
- goto rxscan1252_scan
- rxscan1252_loop:
- ($P10) = rx1251_cur."from"()
- inc $P10
- set rx1251_pos, $P10
- ge rx1251_pos, rx1251_eos, rxscan1252_done
- rxscan1252_scan:
- set_addr $I10, rxscan1252_loop
- rx1251_cur."!mark_push"(0, rx1251_pos, $I10)
- rxscan1252_done:
- # rx literal "my"
- add $I11, rx1251_pos, 2
- gt $I11, rx1251_eos, rx1251_fail
- sub $I11, rx1251_pos, rx1251_off
- substr $S10, rx1251_tgt, $I11, 2
- ne $S10, "my", rx1251_fail
- add rx1251_pos, 2
- # rx pass
- rx1251_cur."!cursor_pass"(rx1251_pos, "")
- rx1251_cur."!cursor_debug"("PASS ", "", " at pos=", rx1251_pos)
- .return (rx1251_cur)
- rx1251_fail:
- (rx1251_rep, rx1251_pos, $I10, $P10) = rx1251_cur."!mark_fail"(0)
- lt rx1251_pos, -1, rx1251_done
- eq rx1251_pos, -1, rx1251_fail
- jump $I10
- rx1251_done:
- rx1251_cur."!cursor_fail"()
- rx1251_cur."!cursor_debug"("FAIL ", "")
- .return (rx1251_cur)
- .return ()
+.sub "!PREFIX__metachar:sym<:my>" :subid("322_1271948667.92136") :method
+.annotate "line", 536
+ new $P1252, "ResizablePMCArray"
+ push $P1252, ":"
+ .return ($P1252)
.end
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>" :subid("322_1271336396.90314") :method :outer("318_1271336396.90314")
-.annotate "line", 535
- .local string rx1254_tgt
- .local int rx1254_pos
- .local int rx1254_off
- .local int rx1254_eos
- .local int rx1254_rep
- .local pmc rx1254_cur
- (rx1254_cur, rx1254_pos, rx1254_tgt) = self."!cursor_start"()
- rx1254_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
- .lex unicode:"$\x{a2}", rx1254_cur
- .local pmc match
- .lex "$/", match
- length rx1254_eos, rx1254_tgt
- set rx1254_off, 0
- lt rx1254_pos, 2, rx1254_start
- sub rx1254_off, rx1254_pos, 1
- substr rx1254_tgt, rx1254_tgt, rx1254_off
- rx1254_start:
+.sub "_block1254" :anon :subid("323_1271948667.92136") :method :outer("321_1271948667.92136")
+.annotate "line", 538
+ .local string rx1256_tgt
+ .local int rx1256_pos
+ .local int rx1256_off
+ .local int rx1256_eos
+ .local int rx1256_rep
+ .local pmc rx1256_cur
+ (rx1256_cur, rx1256_pos, rx1256_tgt) = self."!cursor_start"()
+ rx1256_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1256_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1256_eos, rx1256_tgt
+ set rx1256_off, 0
+ lt rx1256_pos, 2, rx1256_start
+ sub rx1256_off, rx1256_pos, 1
+ substr rx1256_tgt, rx1256_tgt, rx1256_off
+ rx1256_start:
$I10 = self.'from'()
ne $I10, -1, rxscan1257_done
goto rxscan1257_scan
rxscan1257_loop:
- ($P10) = rx1254_cur."from"()
+ ($P10) = rx1256_cur."from"()
inc $P10
- set rx1254_pos, $P10
- ge rx1254_pos, rx1254_eos, rxscan1257_done
+ set rx1256_pos, $P10
+ ge rx1256_pos, rx1256_eos, rxscan1257_done
rxscan1257_scan:
set_addr $I10, rxscan1257_loop
- rx1254_cur."!mark_push"(0, rx1254_pos, $I10)
+ rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
rxscan1257_done:
-.annotate "line", 541
- # rx enumcharlist negate=0 zerowidth
- ge rx1254_pos, rx1254_eos, rx1254_fail
- sub $I10, rx1254_pos, rx1254_off
- substr $S10, rx1254_tgt, $I10, 1
- index $I11, "{", $S10
- lt $I11, 0, rx1254_fail
- # rx subrule "codeblock" subtype=capture negate=
- rx1254_cur."!cursor_pos"(rx1254_pos)
- $P10 = rx1254_cur."codeblock"()
- unless $P10, rx1254_fail
- rx1254_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("codeblock")
- rx1254_pos = $P10."pos"()
-.annotate "line", 540
- # rx pass
- rx1254_cur."!cursor_pass"(rx1254_pos, "metachar:sym<{ }>")
- rx1254_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1254_pos)
- .return (rx1254_cur)
- rx1254_fail:
-.annotate "line", 535
- (rx1254_rep, rx1254_pos, $I10, $P10) = rx1254_cur."!mark_fail"(0)
- lt rx1254_pos, -1, rx1254_done
- eq rx1254_pos, -1, rx1254_fail
- jump $I10
- rx1254_done:
- rx1254_cur."!cursor_fail"()
- rx1254_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>")
- .return (rx1254_cur)
+ # rx literal "my"
+ add $I11, rx1256_pos, 2
+ gt $I11, rx1256_eos, rx1256_fail
+ sub $I11, rx1256_pos, rx1256_off
+ substr $S10, rx1256_tgt, $I11, 2
+ ne $S10, "my", rx1256_fail
+ add rx1256_pos, 2
+ # rx pass
+ rx1256_cur."!cursor_pass"(rx1256_pos, "")
+ rx1256_cur."!cursor_debug"("PASS ", "", " at pos=", rx1256_pos)
+ .return (rx1256_cur)
+ rx1256_fail:
+ (rx1256_rep, rx1256_pos, $I10, $P10) = rx1256_cur."!mark_fail"(0)
+ lt rx1256_pos, -1, rx1256_done
+ eq rx1256_pos, -1, rx1256_fail
+ jump $I10
+ rx1256_done:
+ rx1256_cur."!cursor_fail"()
+ rx1256_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1256_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>" :subid("323_1271336396.90314") :method
-.annotate "line", 535
- new $P1256, "ResizablePMCArray"
- push $P1256, "{"
- .return ($P1256)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>" :subid("324_1271336396.90314") :method :outer("318_1271336396.90314")
-.annotate "line", 535
+.sub "metachar:sym<{ }>" :subid("324_1271948667.92136") :method :outer("320_1271948667.92136")
+.annotate "line", 536
.local string rx1259_tgt
.local int rx1259_pos
.local int rx1259_off
@@ -15431,7 +15430,7 @@
.local int rx1259_rep
.local pmc rx1259_cur
(rx1259_cur, rx1259_pos, rx1259_tgt) = self."!cursor_start"()
- rx1259_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+ rx1259_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
.lex unicode:"$\x{a2}", rx1259_cur
.local pmc match
.lex "$/", match
@@ -15453,7 +15452,7 @@
set_addr $I10, rxscan1262_loop
rx1259_cur."!mark_push"(0, rx1259_pos, $I10)
rxscan1262_done:
-.annotate "line", 545
+.annotate "line", 542
# rx enumcharlist negate=0 zerowidth
ge rx1259_pos, rx1259_eos, rx1259_fail
sub $I10, rx1259_pos, rx1259_off
@@ -15467,28 +15466,28 @@
rx1259_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("codeblock")
rx1259_pos = $P10."pos"()
-.annotate "line", 544
+.annotate "line", 541
# rx pass
- rx1259_cur."!cursor_pass"(rx1259_pos, "assertion:sym<{ }>")
- rx1259_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1259_pos)
+ rx1259_cur."!cursor_pass"(rx1259_pos, "metachar:sym<{ }>")
+ rx1259_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1259_pos)
.return (rx1259_cur)
rx1259_fail:
-.annotate "line", 535
+.annotate "line", 536
(rx1259_rep, rx1259_pos, $I10, $P10) = rx1259_cur."!mark_fail"(0)
lt rx1259_pos, -1, rx1259_done
eq rx1259_pos, -1, rx1259_fail
jump $I10
rx1259_done:
rx1259_cur."!cursor_fail"()
- rx1259_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>")
+ rx1259_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>")
.return (rx1259_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>" :subid("325_1271336396.90314") :method
-.annotate "line", 535
+.sub "!PREFIX__metachar:sym<{ }>" :subid("325_1271948667.92136") :method
+.annotate "line", 536
new $P1261, "ResizablePMCArray"
push $P1261, "{"
.return ($P1261)
@@ -15496,10 +15495,8 @@
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>" :subid("326_1271336396.90314") :method :outer("318_1271336396.90314")
-.annotate "line", 535
- .const 'Sub' $P1272 = "328_1271336396.90314"
- capture_lex $P1272
+.sub "assertion:sym<{ }>" :subid("326_1271948667.92136") :method :outer("320_1271948667.92136")
+.annotate "line", 536
.local string rx1264_tgt
.local int rx1264_pos
.local int rx1264_off
@@ -15507,8 +15504,7 @@
.local int rx1264_rep
.local pmc rx1264_cur
(rx1264_cur, rx1264_pos, rx1264_tgt) = self."!cursor_start"()
- rx1264_cur."!cursor_debug"("START ", "assertion:sym<name>")
- rx1264_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+ rx1264_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
.lex unicode:"$\x{a2}", rx1264_cur
.local pmc match
.lex "$/", match
@@ -15530,523 +15526,602 @@
set_addr $I10, rxscan1267_loop
rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
rxscan1267_done:
-.annotate "line", 549
+.annotate "line", 546
+ # rx enumcharlist negate=0 zerowidth
+ ge rx1264_pos, rx1264_eos, rx1264_fail
+ sub $I10, rx1264_pos, rx1264_off
+ substr $S10, rx1264_tgt, $I10, 1
+ index $I11, "{", $S10
+ lt $I11, 0, rx1264_fail
+ # rx subrule "codeblock" subtype=capture negate=
+ rx1264_cur."!cursor_pos"(rx1264_pos)
+ $P10 = rx1264_cur."codeblock"()
+ unless $P10, rx1264_fail
+ rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("codeblock")
+ rx1264_pos = $P10."pos"()
+.annotate "line", 545
+ # rx pass
+ rx1264_cur."!cursor_pass"(rx1264_pos, "assertion:sym<{ }>")
+ rx1264_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1264_pos)
+ .return (rx1264_cur)
+ rx1264_fail:
+.annotate "line", 536
+ (rx1264_rep, rx1264_pos, $I10, $P10) = rx1264_cur."!mark_fail"(0)
+ lt rx1264_pos, -1, rx1264_done
+ eq rx1264_pos, -1, rx1264_fail
+ jump $I10
+ rx1264_done:
+ rx1264_cur."!cursor_fail"()
+ rx1264_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>")
+ .return (rx1264_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__assertion:sym<{ }>" :subid("327_1271948667.92136") :method
+.annotate "line", 536
+ new $P1266, "ResizablePMCArray"
+ push $P1266, "{"
+ .return ($P1266)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "assertion:sym<name>" :subid("328_1271948667.92136") :method :outer("320_1271948667.92136")
+.annotate "line", 536
+ .const 'Sub' $P1277 = "330_1271948667.92136"
+ capture_lex $P1277
+ .local string rx1269_tgt
+ .local int rx1269_pos
+ .local int rx1269_off
+ .local int rx1269_eos
+ .local int rx1269_rep
+ .local pmc rx1269_cur
+ (rx1269_cur, rx1269_pos, rx1269_tgt) = self."!cursor_start"()
+ rx1269_cur."!cursor_debug"("START ", "assertion:sym<name>")
+ rx1269_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+ .lex unicode:"$\x{a2}", rx1269_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1269_eos, rx1269_tgt
+ set rx1269_off, 0
+ lt rx1269_pos, 2, rx1269_start
+ sub rx1269_off, rx1269_pos, 1
+ substr rx1269_tgt, rx1269_tgt, rx1269_off
+ rx1269_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1272_done
+ goto rxscan1272_scan
+ rxscan1272_loop:
+ ($P10) = rx1269_cur."from"()
+ inc $P10
+ set rx1269_pos, $P10
+ ge rx1269_pos, rx1269_eos, rxscan1272_done
+ rxscan1272_scan:
+ set_addr $I10, rxscan1272_loop
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+ rxscan1272_done:
+.annotate "line", 550
# rx subcapture "longname"
- set_addr $I10, rxcap_1268_fail
- rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
+ set_addr $I10, rxcap_1273_fail
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
# rx charclass_q w r 1..-1
- sub $I10, rx1264_pos, rx1264_off
- find_not_cclass $I11, 8192, rx1264_tgt, $I10, rx1264_eos
+ sub $I10, rx1269_pos, rx1269_off
+ find_not_cclass $I11, 8192, rx1269_tgt, $I10, rx1269_eos
add $I12, $I10, 1
- lt $I11, $I12, rx1264_fail
- add rx1264_pos, rx1264_off, $I11
- set_addr $I10, rxcap_1268_fail
- ($I12, $I11) = rx1264_cur."!mark_peek"($I10)
- rx1264_cur."!cursor_pos"($I11)
- ($P10) = rx1264_cur."!cursor_start"()
- $P10."!cursor_pass"(rx1264_pos, "")
- rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ lt $I11, $I12, rx1269_fail
+ add rx1269_pos, rx1269_off, $I11
+ set_addr $I10, rxcap_1273_fail
+ ($I12, $I11) = rx1269_cur."!mark_peek"($I10)
+ rx1269_cur."!cursor_pos"($I11)
+ ($P10) = rx1269_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1269_pos, "")
+ rx1269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("longname")
- goto rxcap_1268_done
- rxcap_1268_fail:
- goto rx1264_fail
- rxcap_1268_done:
-.annotate "line", 556
- # rx rxquantr1269 ** 0..1
- set_addr $I1275, rxquantr1269_done
- rx1264_cur."!mark_push"(0, rx1264_pos, $I1275)
- rxquantr1269_loop:
- alt1270_0:
-.annotate "line", 550
- set_addr $I10, alt1270_1
- rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
+ goto rxcap_1273_done
+ rxcap_1273_fail:
+ goto rx1269_fail
+ rxcap_1273_done:
+.annotate "line", 557
+ # rx rxquantr1274 ** 0..1
+ set_addr $I1280, rxquantr1274_done
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I1280)
+ rxquantr1274_loop:
+ alt1275_0:
.annotate "line", 551
- # rx subrule "before" subtype=zerowidth negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- .const 'Sub' $P1272 = "328_1271336396.90314"
- capture_lex $P1272
- $P10 = rx1264_cur."before"($P1272)
- unless $P10, rx1264_fail
- goto alt1270_end
- alt1270_1:
- set_addr $I10, alt1270_2
- rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
+ set_addr $I10, alt1275_1
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
.annotate "line", 552
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ .const 'Sub' $P1277 = "330_1271948667.92136"
+ capture_lex $P1277
+ $P10 = rx1269_cur."before"($P1277)
+ unless $P10, rx1269_fail
+ goto alt1275_end
+ alt1275_1:
+ set_addr $I10, alt1275_2
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+.annotate "line", 553
# rx literal "="
- add $I11, rx1264_pos, 1
- gt $I11, rx1264_eos, rx1264_fail
- sub $I11, rx1264_pos, rx1264_off
- substr $S10, rx1264_tgt, $I11, 1
- ne $S10, "=", rx1264_fail
- add rx1264_pos, 1
+ add $I11, rx1269_pos, 1
+ gt $I11, rx1269_eos, rx1269_fail
+ sub $I11, rx1269_pos, rx1269_off
+ substr $S10, rx1269_tgt, $I11, 1
+ ne $S10, "=", rx1269_fail
+ add rx1269_pos, 1
# rx subrule "assertion" subtype=capture negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- $P10 = rx1264_cur."assertion"()
- unless $P10, rx1264_fail
- rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ $P10 = rx1269_cur."assertion"()
+ unless $P10, rx1269_fail
+ rx1269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("assertion")
- rx1264_pos = $P10."pos"()
- goto alt1270_end
- alt1270_2:
- set_addr $I10, alt1270_3
- rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
-.annotate "line", 553
+ rx1269_pos = $P10."pos"()
+ goto alt1275_end
+ alt1275_2:
+ set_addr $I10, alt1275_3
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+.annotate "line", 554
# rx literal ":"
- add $I11, rx1264_pos, 1
- gt $I11, rx1264_eos, rx1264_fail
- sub $I11, rx1264_pos, rx1264_off
- substr $S10, rx1264_tgt, $I11, 1
- ne $S10, ":", rx1264_fail
- add rx1264_pos, 1
+ add $I11, rx1269_pos, 1
+ gt $I11, rx1269_eos, rx1269_fail
+ sub $I11, rx1269_pos, rx1269_off
+ substr $S10, rx1269_tgt, $I11, 1
+ ne $S10, ":", rx1269_fail
+ add rx1269_pos, 1
# rx subrule "arglist" subtype=capture negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- $P10 = rx1264_cur."arglist"()
- unless $P10, rx1264_fail
- rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ $P10 = rx1269_cur."arglist"()
+ unless $P10, rx1269_fail
+ rx1269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("arglist")
- rx1264_pos = $P10."pos"()
- goto alt1270_end
- alt1270_3:
- set_addr $I10, alt1270_4
- rx1264_cur."!mark_push"(0, rx1264_pos, $I10)
-.annotate "line", 554
+ rx1269_pos = $P10."pos"()
+ goto alt1275_end
+ alt1275_3:
+ set_addr $I10, alt1275_4
+ rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+.annotate "line", 555
# rx literal "("
- add $I11, rx1264_pos, 1
- gt $I11, rx1264_eos, rx1264_fail
- sub $I11, rx1264_pos, rx1264_off
- substr $S10, rx1264_tgt, $I11, 1
- ne $S10, "(", rx1264_fail
- add rx1264_pos, 1
+ add $I11, rx1269_pos, 1
+ gt $I11, rx1269_eos, rx1269_fail
+ sub $I11, rx1269_pos, rx1269_off
+ substr $S10, rx1269_tgt, $I11, 1
+ ne $S10, "(", rx1269_fail
+ add rx1269_pos, 1
# rx subrule "LANG" subtype=capture negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- $P10 = rx1264_cur."LANG"("MAIN", "arglist")
- unless $P10, rx1264_fail
- rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ $P10 = rx1269_cur."LANG"("MAIN", "arglist")
+ unless $P10, rx1269_fail
+ rx1269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("arglist")
- rx1264_pos = $P10."pos"()
+ rx1269_pos = $P10."pos"()
# rx literal ")"
- add $I11, rx1264_pos, 1
- gt $I11, rx1264_eos, rx1264_fail
- sub $I11, rx1264_pos, rx1264_off
- substr $S10, rx1264_tgt, $I11, 1
- ne $S10, ")", rx1264_fail
- add rx1264_pos, 1
- goto alt1270_end
- alt1270_4:
-.annotate "line", 555
+ add $I11, rx1269_pos, 1
+ gt $I11, rx1269_eos, rx1269_fail
+ sub $I11, rx1269_pos, rx1269_off
+ substr $S10, rx1269_tgt, $I11, 1
+ ne $S10, ")", rx1269_fail
+ add rx1269_pos, 1
+ goto alt1275_end
+ alt1275_4:
+.annotate "line", 556
# rx subrule "normspace" subtype=method negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- $P10 = rx1264_cur."normspace"()
- unless $P10, rx1264_fail
- rx1264_pos = $P10."pos"()
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ $P10 = rx1269_cur."normspace"()
+ unless $P10, rx1269_fail
+ rx1269_pos = $P10."pos"()
# rx subrule "nibbler" subtype=capture negate=
- rx1264_cur."!cursor_pos"(rx1264_pos)
- $P10 = rx1264_cur."nibbler"()
- unless $P10, rx1264_fail
- rx1264_cur."!mark_push"(0, -1, 0, $P10)
+ rx1269_cur."!cursor_pos"(rx1269_pos)
+ $P10 = rx1269_cur."nibbler"()
+ unless $P10, rx1269_fail
+ rx1269_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("nibbler")
- rx1264_pos = $P10."pos"()
- alt1270_end:
-.annotate "line", 556
- (rx1264_rep) = rx1264_cur."!mark_commit"($I1275)
- rxquantr1269_done:
-.annotate "line", 548
+ rx1269_pos = $P10."pos"()
+ alt1275_end:
+.annotate "line", 557
+ (rx1269_rep) = rx1269_cur."!mark_commit"($I1280)
+ rxquantr1274_done:
+.annotate "line", 549
# rx pass
- rx1264_cur."!cursor_pass"(rx1264_pos, "assertion:sym<name>")
- rx1264_cur."!cursor_debug"("PASS ", "assertion:sym<name>", " at pos=", rx1264_pos)
- .return (rx1264_cur)
- rx1264_fail:
-.annotate "line", 535
- (rx1264_rep, rx1264_pos, $I10, $P10) = rx1264_cur."!mark_fail"(0)
- lt rx1264_pos, -1, rx1264_done
- eq rx1264_pos, -1, rx1264_fail
- jump $I10
- rx1264_done:
- rx1264_cur."!cursor_fail"()
- rx1264_cur."!cursor_debug"("FAIL ", "assertion:sym<name>")
- .return (rx1264_cur)
+ rx1269_cur."!cursor_pass"(rx1269_pos, "assertion:sym<name>")
+ rx1269_cur."!cursor_debug"("PASS ", "assertion:sym<name>", " at pos=", rx1269_pos)
+ .return (rx1269_cur)
+ rx1269_fail:
+.annotate "line", 536
+ (rx1269_rep, rx1269_pos, $I10, $P10) = rx1269_cur."!mark_fail"(0)
+ lt rx1269_pos, -1, rx1269_done
+ eq rx1269_pos, -1, rx1269_fail
+ jump $I10
+ rx1269_done:
+ rx1269_cur."!cursor_fail"()
+ rx1269_cur."!cursor_debug"("FAIL ", "assertion:sym<name>")
+ .return (rx1269_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>" :subid("327_1271336396.90314") :method
-.annotate "line", 535
- new $P1266, "ResizablePMCArray"
- push $P1266, ""
- .return ($P1266)
+.sub "!PREFIX__assertion:sym<name>" :subid("329_1271948667.92136") :method
+.annotate "line", 536
+ new $P1271, "ResizablePMCArray"
+ push $P1271, ""
+ .return ($P1271)
.end
.namespace ["NQP";"Regex"]
-.sub "_block1271" :anon :subid("328_1271336396.90314") :method :outer("326_1271336396.90314")
-.annotate "line", 551
- .local string rx1273_tgt
- .local int rx1273_pos
- .local int rx1273_off
- .local int rx1273_eos
- .local int rx1273_rep
- .local pmc rx1273_cur
- (rx1273_cur, rx1273_pos, rx1273_tgt) = self."!cursor_start"()
- rx1273_cur."!cursor_debug"("START ", "")
- .lex unicode:"$\x{a2}", rx1273_cur
- .local pmc match
- .lex "$/", match
- length rx1273_eos, rx1273_tgt
- set rx1273_off, 0
- lt rx1273_pos, 2, rx1273_start
- sub rx1273_off, rx1273_pos, 1
- substr rx1273_tgt, rx1273_tgt, rx1273_off
- rx1273_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1274_done
- goto rxscan1274_scan
- rxscan1274_loop:
- ($P10) = rx1273_cur."from"()
- inc $P10
- set rx1273_pos, $P10
- ge rx1273_pos, rx1273_eos, rxscan1274_done
- rxscan1274_scan:
- set_addr $I10, rxscan1274_loop
- rx1273_cur."!mark_push"(0, rx1273_pos, $I10)
- rxscan1274_done:
+.sub "_block1276" :anon :subid("330_1271948667.92136") :method :outer("328_1271948667.92136")
+.annotate "line", 552
+ .local string rx1278_tgt
+ .local int rx1278_pos
+ .local int rx1278_off
+ .local int rx1278_eos
+ .local int rx1278_rep
+ .local pmc rx1278_cur
+ (rx1278_cur, rx1278_pos, rx1278_tgt) = self."!cursor_start"()
+ rx1278_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1278_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1278_eos, rx1278_tgt
+ set rx1278_off, 0
+ lt rx1278_pos, 2, rx1278_start
+ sub rx1278_off, rx1278_pos, 1
+ substr rx1278_tgt, rx1278_tgt, rx1278_off
+ rx1278_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1279_done
+ goto rxscan1279_scan
+ rxscan1279_loop:
+ ($P10) = rx1278_cur."from"()
+ inc $P10
+ set rx1278_pos, $P10
+ ge rx1278_pos, rx1278_eos, rxscan1279_done
+ rxscan1279_scan:
+ set_addr $I10, rxscan1279_loop
+ rx1278_cur."!mark_push"(0, rx1278_pos, $I10)
+ rxscan1279_done:
# rx literal ">"
- add $I11, rx1273_pos, 1
- gt $I11, rx1273_eos, rx1273_fail
- sub $I11, rx1273_pos, rx1273_off
- substr $S10, rx1273_tgt, $I11, 1
- ne $S10, ">", rx1273_fail
- add rx1273_pos, 1
- # rx pass
- rx1273_cur."!cursor_pass"(rx1273_pos, "")
- rx1273_cur."!cursor_debug"("PASS ", "", " at pos=", rx1273_pos)
- .return (rx1273_cur)
- rx1273_fail:
- (rx1273_rep, rx1273_pos, $I10, $P10) = rx1273_cur."!mark_fail"(0)
- lt rx1273_pos, -1, rx1273_done
- eq rx1273_pos, -1, rx1273_fail
- jump $I10
- rx1273_done:
- rx1273_cur."!cursor_fail"()
- rx1273_cur."!cursor_debug"("FAIL ", "")
- .return (rx1273_cur)
+ add $I11, rx1278_pos, 1
+ gt $I11, rx1278_eos, rx1278_fail
+ sub $I11, rx1278_pos, rx1278_off
+ substr $S10, rx1278_tgt, $I11, 1
+ ne $S10, ">", rx1278_fail
+ add rx1278_pos, 1
+ # rx pass
+ rx1278_cur."!cursor_pass"(rx1278_pos, "")
+ rx1278_cur."!cursor_debug"("PASS ", "", " at pos=", rx1278_pos)
+ .return (rx1278_cur)
+ rx1278_fail:
+ (rx1278_rep, rx1278_pos, $I10, $P10) = rx1278_cur."!mark_fail"(0)
+ lt rx1278_pos, -1, rx1278_done
+ eq rx1278_pos, -1, rx1278_fail
+ jump $I10
+ rx1278_done:
+ rx1278_cur."!cursor_fail"()
+ rx1278_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1278_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "codeblock" :subid("329_1271336396.90314") :method :outer("318_1271336396.90314")
-.annotate "line", 535
- .local string rx1277_tgt
- .local int rx1277_pos
- .local int rx1277_off
- .local int rx1277_eos
- .local int rx1277_rep
- .local pmc rx1277_cur
- (rx1277_cur, rx1277_pos, rx1277_tgt) = self."!cursor_start"()
- rx1277_cur."!cursor_debug"("START ", "codeblock")
- .lex unicode:"$\x{a2}", rx1277_cur
- .local pmc match
- .lex "$/", match
- length rx1277_eos, rx1277_tgt
- set rx1277_off, 0
- lt rx1277_pos, 2, rx1277_start
- sub rx1277_off, rx1277_pos, 1
- substr rx1277_tgt, rx1277_tgt, rx1277_off
- rx1277_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1281_done
- goto rxscan1281_scan
- rxscan1281_loop:
- ($P10) = rx1277_cur."from"()
- inc $P10
- set rx1277_pos, $P10
- ge rx1277_pos, rx1277_eos, rxscan1281_done
- rxscan1281_scan:
- set_addr $I10, rxscan1281_loop
- rx1277_cur."!mark_push"(0, rx1277_pos, $I10)
- rxscan1281_done:
-.annotate "line", 561
+.sub "codeblock" :subid("331_1271948667.92136") :method :outer("320_1271948667.92136")
+.annotate "line", 536
+ .local string rx1282_tgt
+ .local int rx1282_pos
+ .local int rx1282_off
+ .local int rx1282_eos
+ .local int rx1282_rep
+ .local pmc rx1282_cur
+ (rx1282_cur, rx1282_pos, rx1282_tgt) = self."!cursor_start"()
+ rx1282_cur."!cursor_debug"("START ", "codeblock")
+ .lex unicode:"$\x{a2}", rx1282_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1282_eos, rx1282_tgt
+ set rx1282_off, 0
+ lt rx1282_pos, 2, rx1282_start
+ sub rx1282_off, rx1282_pos, 1
+ substr rx1282_tgt, rx1282_tgt, rx1282_off
+ rx1282_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1286_done
+ goto rxscan1286_scan
+ rxscan1286_loop:
+ ($P10) = rx1282_cur."from"()
+ inc $P10
+ set rx1282_pos, $P10
+ ge rx1282_pos, rx1282_eos, rxscan1286_done
+ rxscan1286_scan:
+ set_addr $I10, rxscan1286_loop
+ rx1282_cur."!mark_push"(0, rx1282_pos, $I10)
+ rxscan1286_done:
+.annotate "line", 562
# rx subrule "LANG" subtype=capture negate=
- rx1277_cur."!cursor_pos"(rx1277_pos)
- $P10 = rx1277_cur."LANG"("MAIN", "pblock")
- unless $P10, rx1277_fail
- rx1277_cur."!mark_push"(0, -1, 0, $P10)
+ rx1282_cur."!cursor_pos"(rx1282_pos)
+ $P10 = rx1282_cur."LANG"("MAIN", "pblock")
+ unless $P10, rx1282_fail
+ rx1282_cur."!mark_push"(0, -1, 0, $P10)
$P10."!cursor_names"("block")
- rx1277_pos = $P10."pos"()
-.annotate "line", 560
+ rx1282_pos = $P10."pos"()
+.annotate "line", 561
# rx pass
- rx1277_cur."!cursor_pass"(rx1277_pos, "codeblock")
- rx1277_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1277_pos)
- .return (rx1277_cur)
- rx1277_fail:
-.annotate "line", 535
- (rx1277_rep, rx1277_pos, $I10, $P10) = rx1277_cur."!mark_fail"(0)
- lt rx1277_pos, -1, rx1277_done
- eq rx1277_pos, -1, rx1277_fail
- jump $I10
- rx1277_done:
- rx1277_cur."!cursor_fail"()
- rx1277_cur."!cursor_debug"("FAIL ", "codeblock")
- .return (rx1277_cur)
+ rx1282_cur."!cursor_pass"(rx1282_pos, "codeblock")
+ rx1282_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1282_pos)
+ .return (rx1282_cur)
+ rx1282_fail:
+.annotate "line", 536
+ (rx1282_rep, rx1282_pos, $I10, $P10) = rx1282_cur."!mark_fail"(0)
+ lt rx1282_pos, -1, rx1282_done
+ eq rx1282_pos, -1, rx1282_fail
+ jump $I10
+ rx1282_done:
+ rx1282_cur."!cursor_fail"()
+ rx1282_cur."!cursor_debug"("FAIL ", "codeblock")
+ .return (rx1282_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock" :subid("330_1271336396.90314") :method
-.annotate "line", 535
- $P1279 = self."!PREFIX__!subrule"("block", "")
- new $P1280, "ResizablePMCArray"
- push $P1280, $P1279
- .return ($P1280)
+.sub "!PREFIX__codeblock" :subid("332_1271948667.92136") :method
+.annotate "line", 536
+ $P1284 = self."!PREFIX__!subrule"("block", "")
+ new $P1285, "ResizablePMCArray"
+ push $P1285, $P1284
+ .return ($P1285)
.end
### .include 'gen/nqp-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336409.53729")
+.sub "_block11" :anon :subid("10_1271948680.36754")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Actions"], "_block13"
capture_lex $P14
.annotate "line", 3
get_hll_global $P14, ["NQP";"Actions"], "_block13"
capture_lex $P14
- $P2168 = $P14()
+ $P2175 = $P14()
.annotate "line", 1
- .return ($P2168)
+ .return ($P2175)
.end
.namespace []
-.sub "" :load :init :subid("post126") :outer("10_1271336409.53729")
+.sub "" :load :init :subid("post127") :outer("10_1271948680.36754")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336409.53729"
+ .const 'Sub' $P12 = "10_1271948680.36754"
.local pmc block
set block, $P12
- $P2169 = get_root_global ["parrot"], "P6metaclass"
- $P2169."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+ $P2176 = get_root_global ["parrot"], "P6metaclass"
+ $P2176."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
.end
.namespace ["NQP";"Actions"]
-.sub "_block13" :subid("11_1271336409.53729") :outer("10_1271336409.53729")
+.sub "_block13" :subid("11_1271948680.36754") :outer("10_1271948680.36754")
.annotate "line", 3
- .const 'Sub' $P2164 = "125_1271336409.53729"
- capture_lex $P2164
- get_hll_global $P2100, ["NQP";"RegexActions"], "_block2099"
- capture_lex $P2100
- .const 'Sub' $P2089 = "119_1271336409.53729"
- capture_lex $P2089
- .const 'Sub' $P2077 = "118_1271336409.53729"
- capture_lex $P2077
- .const 'Sub' $P2067 = "117_1271336409.53729"
- capture_lex $P2067
- .const 'Sub' $P2057 = "116_1271336409.53729"
- capture_lex $P2057
- .const 'Sub' $P2047 = "115_1271336409.53729"
+ .const 'Sub' $P2171 = "126_1271948680.36754"
+ capture_lex $P2171
+ get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106"
+ capture_lex $P2107
+ .const 'Sub' $P2096 = "120_1271948680.36754"
+ capture_lex $P2096
+ .const 'Sub' $P2084 = "119_1271948680.36754"
+ capture_lex $P2084
+ .const 'Sub' $P2074 = "118_1271948680.36754"
+ capture_lex $P2074
+ .const 'Sub' $P2064 = "117_1271948680.36754"
+ capture_lex $P2064
+ .const 'Sub' $P2054 = "116_1271948680.36754"
+ capture_lex $P2054
+ .const 'Sub' $P2047 = "115_1271948680.36754"
capture_lex $P2047
- .const 'Sub' $P2033 = "114_1271336409.53729"
+ .const 'Sub' $P2033 = "114_1271948680.36754"
capture_lex $P2033
- .const 'Sub' $P2023 = "113_1271336409.53729"
+ .const 'Sub' $P2023 = "113_1271948680.36754"
capture_lex $P2023
- .const 'Sub' $P1986 = "112_1271336409.53729"
+ .const 'Sub' $P1986 = "112_1271948680.36754"
capture_lex $P1986
- .const 'Sub' $P1972 = "111_1271336409.53729"
+ .const 'Sub' $P1972 = "111_1271948680.36754"
capture_lex $P1972
- .const 'Sub' $P1962 = "110_1271336409.53729"
+ .const 'Sub' $P1962 = "110_1271948680.36754"
capture_lex $P1962
- .const 'Sub' $P1952 = "109_1271336409.53729"
+ .const 'Sub' $P1952 = "109_1271948680.36754"
capture_lex $P1952
- .const 'Sub' $P1942 = "108_1271336409.53729"
+ .const 'Sub' $P1942 = "108_1271948680.36754"
capture_lex $P1942
- .const 'Sub' $P1932 = "107_1271336409.53729"
+ .const 'Sub' $P1932 = "107_1271948680.36754"
capture_lex $P1932
- .const 'Sub' $P1922 = "106_1271336409.53729"
+ .const 'Sub' $P1922 = "106_1271948680.36754"
capture_lex $P1922
- .const 'Sub' $P1894 = "105_1271336409.53729"
+ .const 'Sub' $P1894 = "105_1271948680.36754"
capture_lex $P1894
- .const 'Sub' $P1877 = "104_1271336409.53729"
+ .const 'Sub' $P1877 = "104_1271948680.36754"
capture_lex $P1877
- .const 'Sub' $P1867 = "103_1271336409.53729"
+ .const 'Sub' $P1867 = "103_1271948680.36754"
capture_lex $P1867
- .const 'Sub' $P1854 = "102_1271336409.53729"
+ .const 'Sub' $P1854 = "102_1271948680.36754"
capture_lex $P1854
- .const 'Sub' $P1841 = "101_1271336409.53729"
+ .const 'Sub' $P1841 = "101_1271948680.36754"
capture_lex $P1841
- .const 'Sub' $P1828 = "100_1271336409.53729"
+ .const 'Sub' $P1828 = "100_1271948680.36754"
capture_lex $P1828
- .const 'Sub' $P1818 = "99_1271336409.53729"
+ .const 'Sub' $P1818 = "99_1271948680.36754"
capture_lex $P1818
- .const 'Sub' $P1789 = "98_1271336409.53729"
+ .const 'Sub' $P1789 = "98_1271948680.36754"
capture_lex $P1789
- .const 'Sub' $P1769 = "97_1271336409.53729"
+ .const 'Sub' $P1769 = "97_1271948680.36754"
capture_lex $P1769
- .const 'Sub' $P1759 = "96_1271336409.53729"
+ .const 'Sub' $P1759 = "96_1271948680.36754"
capture_lex $P1759
- .const 'Sub' $P1749 = "95_1271336409.53729"
+ .const 'Sub' $P1749 = "95_1271948680.36754"
capture_lex $P1749
- .const 'Sub' $P1722 = "94_1271336409.53729"
+ .const 'Sub' $P1722 = "94_1271948680.36754"
capture_lex $P1722
- .const 'Sub' $P1704 = "93_1271336409.53729"
+ .const 'Sub' $P1704 = "93_1271948680.36754"
capture_lex $P1704
- .const 'Sub' $P1694 = "92_1271336409.53729"
+ .const 'Sub' $P1694 = "92_1271948680.36754"
capture_lex $P1694
- .const 'Sub' $P1610 = "89_1271336409.53729"
+ .const 'Sub' $P1610 = "89_1271948680.36754"
capture_lex $P1610
- .const 'Sub' $P1600 = "88_1271336409.53729"
+ .const 'Sub' $P1600 = "88_1271948680.36754"
capture_lex $P1600
- .const 'Sub' $P1571 = "87_1271336409.53729"
+ .const 'Sub' $P1571 = "87_1271948680.36754"
capture_lex $P1571
- .const 'Sub' $P1529 = "86_1271336409.53729"
+ .const 'Sub' $P1529 = "86_1271948680.36754"
capture_lex $P1529
- .const 'Sub' $P1513 = "85_1271336409.53729"
+ .const 'Sub' $P1513 = "85_1271948680.36754"
capture_lex $P1513
- .const 'Sub' $P1504 = "84_1271336409.53729"
+ .const 'Sub' $P1504 = "84_1271948680.36754"
capture_lex $P1504
- .const 'Sub' $P1472 = "83_1271336409.53729"
+ .const 'Sub' $P1472 = "83_1271948680.36754"
capture_lex $P1472
- .const 'Sub' $P1373 = "80_1271336409.53729"
+ .const 'Sub' $P1373 = "80_1271948680.36754"
capture_lex $P1373
- .const 'Sub' $P1356 = "79_1271336409.53729"
+ .const 'Sub' $P1356 = "79_1271948680.36754"
capture_lex $P1356
- .const 'Sub' $P1336 = "78_1271336409.53729"
+ .const 'Sub' $P1336 = "78_1271948680.36754"
capture_lex $P1336
- .const 'Sub' $P1252 = "77_1271336409.53729"
+ .const 'Sub' $P1252 = "77_1271948680.36754"
capture_lex $P1252
- .const 'Sub' $P1228 = "75_1271336409.53729"
+ .const 'Sub' $P1228 = "75_1271948680.36754"
capture_lex $P1228
- .const 'Sub' $P1194 = "73_1271336409.53729"
+ .const 'Sub' $P1194 = "73_1271948680.36754"
capture_lex $P1194
- .const 'Sub' $P1144 = "71_1271336409.53729"
+ .const 'Sub' $P1144 = "71_1271948680.36754"
capture_lex $P1144
- .const 'Sub' $P1134 = "70_1271336409.53729"
+ .const 'Sub' $P1134 = "70_1271948680.36754"
capture_lex $P1134
- .const 'Sub' $P1124 = "69_1271336409.53729"
+ .const 'Sub' $P1124 = "69_1271948680.36754"
capture_lex $P1124
- .const 'Sub' $P1053 = "67_1271336409.53729"
+ .const 'Sub' $P1053 = "67_1271948680.36754"
capture_lex $P1053
- .const 'Sub' $P1036 = "66_1271336409.53729"
+ .const 'Sub' $P1036 = "66_1271948680.36754"
capture_lex $P1036
- .const 'Sub' $P1026 = "65_1271336409.53729"
+ .const 'Sub' $P1026 = "65_1271948680.36754"
capture_lex $P1026
- .const 'Sub' $P1016 = "64_1271336409.53729"
+ .const 'Sub' $P1016 = "64_1271948680.36754"
capture_lex $P1016
- .const 'Sub' $P1006 = "63_1271336409.53729"
+ .const 'Sub' $P1006 = "63_1271948680.36754"
capture_lex $P1006
- .const 'Sub' $P982 = "62_1271336409.53729"
+ .const 'Sub' $P982 = "62_1271948680.36754"
capture_lex $P982
- .const 'Sub' $P929 = "61_1271336409.53729"
+ .const 'Sub' $P929 = "61_1271948680.36754"
capture_lex $P929
- .const 'Sub' $P919 = "60_1271336409.53729"
+ .const 'Sub' $P919 = "60_1271948680.36754"
capture_lex $P919
- .const 'Sub' $P830 = "58_1271336409.53729"
+ .const 'Sub' $P830 = "58_1271948680.36754"
capture_lex $P830
- .const 'Sub' $P804 = "57_1271336409.53729"
+ .const 'Sub' $P804 = "57_1271948680.36754"
capture_lex $P804
- .const 'Sub' $P788 = "56_1271336409.53729"
+ .const 'Sub' $P788 = "56_1271948680.36754"
capture_lex $P788
- .const 'Sub' $P778 = "55_1271336409.53729"
+ .const 'Sub' $P778 = "55_1271948680.36754"
capture_lex $P778
- .const 'Sub' $P768 = "54_1271336409.53729"
+ .const 'Sub' $P768 = "54_1271948680.36754"
capture_lex $P768
- .const 'Sub' $P758 = "53_1271336409.53729"
+ .const 'Sub' $P758 = "53_1271948680.36754"
capture_lex $P758
- .const 'Sub' $P748 = "52_1271336409.53729"
+ .const 'Sub' $P748 = "52_1271948680.36754"
capture_lex $P748
- .const 'Sub' $P738 = "51_1271336409.53729"
+ .const 'Sub' $P738 = "51_1271948680.36754"
capture_lex $P738
- .const 'Sub' $P728 = "50_1271336409.53729"
+ .const 'Sub' $P728 = "50_1271948680.36754"
capture_lex $P728
- .const 'Sub' $P718 = "49_1271336409.53729"
+ .const 'Sub' $P718 = "49_1271948680.36754"
capture_lex $P718
- .const 'Sub' $P708 = "48_1271336409.53729"
+ .const 'Sub' $P708 = "48_1271948680.36754"
capture_lex $P708
- .const 'Sub' $P698 = "47_1271336409.53729"
+ .const 'Sub' $P698 = "47_1271948680.36754"
capture_lex $P698
- .const 'Sub' $P688 = "46_1271336409.53729"
+ .const 'Sub' $P688 = "46_1271948680.36754"
capture_lex $P688
- .const 'Sub' $P678 = "45_1271336409.53729"
+ .const 'Sub' $P678 = "45_1271948680.36754"
capture_lex $P678
- .const 'Sub' $P668 = "44_1271336409.53729"
+ .const 'Sub' $P668 = "44_1271948680.36754"
capture_lex $P668
- .const 'Sub' $P658 = "43_1271336409.53729"
+ .const 'Sub' $P658 = "43_1271948680.36754"
capture_lex $P658
- .const 'Sub' $P640 = "42_1271336409.53729"
+ .const 'Sub' $P640 = "42_1271948680.36754"
capture_lex $P640
- .const 'Sub' $P605 = "41_1271336409.53729"
+ .const 'Sub' $P605 = "41_1271948680.36754"
capture_lex $P605
- .const 'Sub' $P589 = "40_1271336409.53729"
+ .const 'Sub' $P589 = "40_1271948680.36754"
capture_lex $P589
- .const 'Sub' $P568 = "39_1271336409.53729"
+ .const 'Sub' $P568 = "39_1271948680.36754"
capture_lex $P568
- .const 'Sub' $P548 = "38_1271336409.53729"
+ .const 'Sub' $P548 = "38_1271948680.36754"
capture_lex $P548
- .const 'Sub' $P535 = "37_1271336409.53729"
+ .const 'Sub' $P535 = "37_1271948680.36754"
capture_lex $P535
- .const 'Sub' $P509 = "36_1271336409.53729"
+ .const 'Sub' $P509 = "36_1271948680.36754"
capture_lex $P509
- .const 'Sub' $P473 = "35_1271336409.53729"
+ .const 'Sub' $P473 = "35_1271948680.36754"
capture_lex $P473
- .const 'Sub' $P456 = "34_1271336409.53729"
+ .const 'Sub' $P456 = "34_1271948680.36754"
capture_lex $P456
- .const 'Sub' $P442 = "33_1271336409.53729"
+ .const 'Sub' $P442 = "33_1271948680.36754"
capture_lex $P442
- .const 'Sub' $P389 = "31_1271336409.53729"
+ .const 'Sub' $P389 = "31_1271948680.36754"
capture_lex $P389
- .const 'Sub' $P376 = "30_1271336409.53729"
+ .const 'Sub' $P376 = "30_1271948680.36754"
capture_lex $P376
- .const 'Sub' $P357 = "29_1271336409.53729"
+ .const 'Sub' $P357 = "29_1271948680.36754"
capture_lex $P357
- .const 'Sub' $P347 = "28_1271336409.53729"
+ .const 'Sub' $P347 = "28_1271948680.36754"
capture_lex $P347
- .const 'Sub' $P337 = "27_1271336409.53729"
+ .const 'Sub' $P337 = "27_1271948680.36754"
capture_lex $P337
- .const 'Sub' $P321 = "26_1271336409.53729"
+ .const 'Sub' $P321 = "26_1271948680.36754"
capture_lex $P321
- .const 'Sub' $P261 = "24_1271336409.53729"
+ .const 'Sub' $P261 = "24_1271948680.36754"
capture_lex $P261
- .const 'Sub' $P212 = "22_1271336409.53729"
+ .const 'Sub' $P212 = "22_1271948680.36754"
capture_lex $P212
- .const 'Sub' $P193 = "21_1271336409.53729"
+ .const 'Sub' $P193 = "21_1271948680.36754"
capture_lex $P193
- .const 'Sub' $P160 = "20_1271336409.53729"
+ .const 'Sub' $P160 = "20_1271948680.36754"
capture_lex $P160
- .const 'Sub' $P150 = "19_1271336409.53729"
+ .const 'Sub' $P150 = "19_1271948680.36754"
capture_lex $P150
- .const 'Sub' $P96 = "18_1271336409.53729"
+ .const 'Sub' $P96 = "18_1271948680.36754"
capture_lex $P96
- .const 'Sub' $P81 = "17_1271336409.53729"
+ .const 'Sub' $P81 = "17_1271948680.36754"
capture_lex $P81
- .const 'Sub' $P61 = "16_1271336409.53729"
+ .const 'Sub' $P61 = "16_1271948680.36754"
capture_lex $P61
- .const 'Sub' $P26 = "13_1271336409.53729"
+ .const 'Sub' $P26 = "13_1271948680.36754"
capture_lex $P26
- .const 'Sub' $P16 = "12_1271336409.53729"
+ .const 'Sub' $P16 = "12_1271948680.36754"
capture_lex $P16
get_global $P15, "@BLOCK"
- unless_null $P15, vivify_129
+ unless_null $P15, vivify_130
$P15 = root_new ['parrot';'ResizablePMCArray']
set_global "@BLOCK", $P15
- vivify_129:
+ vivify_130:
.annotate "line", 9
- .const 'Sub' $P16 = "12_1271336409.53729"
+ .const 'Sub' $P16 = "12_1271948680.36754"
capture_lex $P16
.lex "xblock_immediate", $P16
.annotate "line", 14
- .const 'Sub' $P26 = "13_1271336409.53729"
+ .const 'Sub' $P26 = "13_1271948680.36754"
capture_lex $P26
.lex "block_immediate", $P26
.annotate "line", 24
- .const 'Sub' $P61 = "16_1271336409.53729"
+ .const 'Sub' $P61 = "16_1271948680.36754"
capture_lex $P61
.lex "vivitype", $P61
.annotate "line", 43
- .const 'Sub' $P81 = "17_1271336409.53729"
+ .const 'Sub' $P81 = "17_1271948680.36754"
capture_lex $P81
.lex "colonpair_str", $P81
.annotate "line", 190
- .const 'Sub' $P96 = "18_1271336409.53729"
+ .const 'Sub' $P96 = "18_1271948680.36754"
capture_lex $P96
.lex "push_block_handler", $P96
.annotate "line", 3
@@ -16059,47 +16134,47 @@
find_lex $P192, "colonpair_str"
.annotate "line", 183
find_lex $P588, "push_block_handler"
-.annotate "line", 768
- get_hll_global $P2100, ["NQP";"RegexActions"], "_block2099"
- capture_lex $P2100
- $P2162 = $P2100()
+.annotate "line", 769
+ get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106"
+ capture_lex $P2107
+ $P2169 = $P2107()
.annotate "line", 3
- .return ($P2162)
+ .return ($P2169)
.end
.namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post127") :outer("11_1271336409.53729")
+.sub "" :load :init :subid("post128") :outer("11_1271948680.36754")
.annotate "line", 3
get_hll_global $P14, ["NQP";"Actions"], "_block13"
.local pmc block
set block, $P14
.annotate "line", 5
- .const 'Sub' $P2164 = "125_1271336409.53729"
- capture_lex $P2164
- $P2164()
- $P2167 = get_root_global ["parrot"], "P6metaclass"
- $P2167."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+ .const 'Sub' $P2171 = "126_1271948680.36754"
+ capture_lex $P2171
+ $P2171()
+ $P2174 = get_root_global ["parrot"], "P6metaclass"
+ $P2174."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
.end
.namespace ["NQP";"Actions"]
-.sub "_block2163" :anon :subid("125_1271336409.53729") :outer("11_1271336409.53729")
+.sub "_block2170" :anon :subid("126_1271948680.36754") :outer("11_1271948680.36754")
.annotate "line", 6
- get_global $P2165, "@BLOCK"
- unless_null $P2165, vivify_128
- $P2165 = root_new ['parrot';'ResizablePMCArray']
- set_global "@BLOCK", $P2165
- vivify_128:
- $P2166 = new ['ResizablePMCArray']
- set_global "@BLOCK", $P2166
+ get_global $P2172, "@BLOCK"
+ unless_null $P2172, vivify_129
+ $P2172 = root_new ['parrot';'ResizablePMCArray']
+ set_global "@BLOCK", $P2172
+ vivify_129:
+ $P2173 = new ['ResizablePMCArray']
+ set_global "@BLOCK", $P2173
.annotate "line", 5
- .return ($P2166)
+ .return ($P2173)
.end
.namespace ["NQP";"Actions"]
-.sub "xblock_immediate" :subid("12_1271336409.53729") :outer("11_1271336409.53729")
+.sub "xblock_immediate" :subid("12_1271948680.36754") :outer("11_1271948680.36754")
.param pmc param_19
.annotate "line", 9
new $P18, 'ExceptionHandler'
@@ -16109,19 +16184,19 @@
.lex "$xblock", param_19
.annotate "line", 10
find_lex $P20, "$xblock"
- unless_null $P20, vivify_130
+ unless_null $P20, vivify_131
$P20 = root_new ['parrot';'ResizablePMCArray']
- vivify_130:
+ vivify_131:
set $P21, $P20[1]
- unless_null $P21, vivify_131
+ unless_null $P21, vivify_132
new $P21, "Undef"
- vivify_131:
+ vivify_132:
$P22 = "block_immediate"($P21)
find_lex $P23, "$xblock"
- unless_null $P23, vivify_132
+ unless_null $P23, vivify_133
$P23 = root_new ['parrot';'ResizablePMCArray']
store_lex "$xblock", $P23
- vivify_132:
+ vivify_133:
set $P23[1], $P22
find_lex $P24, "$xblock"
.annotate "line", 9
@@ -16135,10 +16210,10 @@
.namespace ["NQP";"Actions"]
-.sub "block_immediate" :subid("13_1271336409.53729") :outer("11_1271336409.53729")
+.sub "block_immediate" :subid("13_1271948680.36754") :outer("11_1271948680.36754")
.param pmc param_29
.annotate "line", 14
- .const 'Sub' $P39 = "14_1271336409.53729"
+ .const 'Sub' $P39 = "14_1271948680.36754"
capture_lex $P39
new $P28, 'ExceptionHandler'
set_addr $P28, control_27
@@ -16160,7 +16235,7 @@
set $P32, $P37
unless_33_end:
if $P32, unless_31_end
- .const 'Sub' $P39 = "14_1271336409.53729"
+ .const 'Sub' $P39 = "14_1271948680.36754"
capture_lex $P39
$P39()
unless_31_end:
@@ -16176,9 +16251,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block38" :anon :subid("14_1271336409.53729") :outer("13_1271336409.53729")
+.sub "_block38" :anon :subid("14_1271948680.36754") :outer("13_1271948680.36754")
.annotate "line", 16
- .const 'Sub' $P50 = "15_1271336409.53729"
+ .const 'Sub' $P50 = "15_1271948680.36754"
capture_lex $P50
.annotate "line", 17
new $P40, "Undef"
@@ -16191,7 +16266,7 @@
find_lex $P45, "$block"
$P46 = $P45."list"()
defined $I47, $P46
- unless $I47, for_undef_133
+ unless $I47, for_undef_134
iter $P44, $P46
new $P56, 'ExceptionHandler'
set_addr $P56, loop55_handler
@@ -16201,7 +16276,7 @@
unless $P44, loop55_done
shift $P48, $P44
loop55_redo:
- .const 'Sub' $P50 = "15_1271336409.53729"
+ .const 'Sub' $P50 = "15_1271948680.36754"
capture_lex $P50
$P50($P48)
loop55_next:
@@ -16214,7 +16289,7 @@
eq $P57, 67, loop55_redo
loop55_done:
pop_eh
- for_undef_133:
+ for_undef_134:
.annotate "line", 19
find_lex $P58, "$stmts"
store_lex "$block", $P58
@@ -16224,7 +16299,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block49" :anon :subid("15_1271336409.53729") :outer("14_1271336409.53729")
+.sub "_block49" :anon :subid("15_1271948680.36754") :outer("14_1271948680.36754")
.param pmc param_51
.annotate "line", 18
.lex "$_", param_51
@@ -16236,7 +16311,7 @@
.namespace ["NQP";"Actions"]
-.sub "vivitype" :subid("16_1271336409.53729") :outer("11_1271336409.53729")
+.sub "vivitype" :subid("16_1271948680.36754") :outer("11_1271948680.36754")
.param pmc param_64
.annotate "line", 24
new $P63, 'ExceptionHandler'
@@ -16284,7 +16359,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair_str" :subid("17_1271336409.53729") :outer("11_1271336409.53729")
+.sub "colonpair_str" :subid("17_1271948680.36754") :outer("11_1271948680.36754")
.param pmc param_84
.annotate "line", 43
new $P83, 'ExceptionHandler'
@@ -16322,7 +16397,7 @@
.namespace ["NQP";"Actions"]
-.sub "push_block_handler" :subid("18_1271336409.53729") :outer("11_1271336409.53729")
+.sub "push_block_handler" :subid("18_1271948680.36754") :outer("11_1271948680.36754")
.param pmc param_99
.param pmc param_100
.annotate "line", 190
@@ -16334,24 +16409,24 @@
.lex "$block", param_100
.annotate "line", 191
get_global $P102, "@BLOCK"
- unless_null $P102, vivify_134
+ unless_null $P102, vivify_135
$P102 = root_new ['parrot';'ResizablePMCArray']
- vivify_134:
+ vivify_135:
set $P103, $P102[0]
- unless_null $P103, vivify_135
+ unless_null $P103, vivify_136
new $P103, "Undef"
- vivify_135:
+ vivify_136:
$P104 = $P103."handlers"()
if $P104, unless_101_end
.annotate "line", 192
get_global $P105, "@BLOCK"
- unless_null $P105, vivify_136
+ unless_null $P105, vivify_137
$P105 = root_new ['parrot';'ResizablePMCArray']
- vivify_136:
+ vivify_137:
set $P106, $P105[0]
- unless_null $P106, vivify_137
+ unless_null $P106, vivify_138
new $P106, "Undef"
- vivify_137:
+ vivify_138:
new $P107, "ResizablePMCArray"
$P106."handlers"($P107)
unless_101_end:
@@ -16392,13 +16467,13 @@
$P124."blocktype"("declaration")
.annotate "line", 207
get_global $P125, "@BLOCK"
- unless_null $P125, vivify_138
+ unless_null $P125, vivify_139
$P125 = root_new ['parrot';'ResizablePMCArray']
- vivify_138:
+ vivify_139:
set $P126, $P125[0]
- unless_null $P126, vivify_139
+ unless_null $P126, vivify_140
new $P126, "Undef"
- vivify_139:
+ vivify_140:
$P127 = $P126."handlers"()
.annotate "line", 208
get_hll_global $P128, ["PAST"], "Control"
@@ -16439,7 +16514,7 @@
.namespace ["NQP";"Actions"]
-.sub "TOP" :subid("19_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "TOP" :subid("19_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_153
.annotate "line", 33
new $P152, 'ExceptionHandler'
@@ -16450,13 +16525,13 @@
.lex "$/", param_153
find_lex $P154, "$/"
find_lex $P155, "$/"
- unless_null $P155, vivify_140
+ unless_null $P155, vivify_141
$P155 = root_new ['parrot';'Hash']
- vivify_140:
+ vivify_141:
set $P156, $P155["comp_unit"]
- unless_null $P156, vivify_141
+ unless_null $P156, vivify_142
new $P156, "Undef"
- vivify_141:
+ vivify_142:
$P157 = $P156."ast"()
$P158 = $P154."!make"($P157)
.return ($P158)
@@ -16469,7 +16544,7 @@
.namespace ["NQP";"Actions"]
-.sub "deflongname" :subid("20_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "deflongname" :subid("20_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_163
.annotate "line", 35
new $P162, 'ExceptionHandler'
@@ -16482,13 +16557,13 @@
find_lex $P164, "$/"
.annotate "line", 37
find_lex $P167, "$/"
- unless_null $P167, vivify_142
+ unless_null $P167, vivify_143
$P167 = root_new ['parrot';'Hash']
- vivify_142:
+ vivify_143:
set $P168, $P167["colonpair"]
- unless_null $P168, vivify_143
+ unless_null $P168, vivify_144
new $P168, "Undef"
- vivify_143:
+ vivify_144:
if $P168, if_166
.annotate "line", 39
find_lex $P188, "$/"
@@ -16499,46 +16574,46 @@
goto if_166_end
if_166:
find_lex $P169, "$/"
- unless_null $P169, vivify_144
+ unless_null $P169, vivify_145
$P169 = root_new ['parrot';'Hash']
- vivify_144:
+ vivify_145:
set $P170, $P169["identifier"]
- unless_null $P170, vivify_145
+ unless_null $P170, vivify_146
new $P170, "Undef"
- vivify_145:
+ vivify_146:
set $S171, $P170
new $P172, 'String'
set $P172, $S171
concat $P173, $P172, ":"
find_lex $P174, "$/"
- unless_null $P174, vivify_146
+ unless_null $P174, vivify_147
$P174 = root_new ['parrot';'Hash']
- vivify_146:
+ vivify_147:
set $P175, $P174["colonpair"]
- unless_null $P175, vivify_147
+ unless_null $P175, vivify_148
$P175 = root_new ['parrot';'ResizablePMCArray']
- vivify_147:
+ vivify_148:
set $P176, $P175[0]
- unless_null $P176, vivify_148
+ unless_null $P176, vivify_149
new $P176, "Undef"
- vivify_148:
+ vivify_149:
$P177 = $P176."ast"()
$S178 = $P177."named"()
concat $P179, $P173, $S178
concat $P180, $P179, "<"
.annotate "line", 38
find_lex $P181, "$/"
- unless_null $P181, vivify_149
+ unless_null $P181, vivify_150
$P181 = root_new ['parrot';'Hash']
- vivify_149:
+ vivify_150:
set $P182, $P181["colonpair"]
- unless_null $P182, vivify_150
+ unless_null $P182, vivify_151
$P182 = root_new ['parrot';'ResizablePMCArray']
- vivify_150:
+ vivify_151:
set $P183, $P182[0]
- unless_null $P183, vivify_151
+ unless_null $P183, vivify_152
new $P183, "Undef"
- vivify_151:
+ vivify_152:
$P184 = $P183."ast"()
$S185 = "colonpair_str"($P184)
concat $P186, $P180, $S185
@@ -16558,7 +16633,7 @@
.namespace ["NQP";"Actions"]
-.sub "comp_unit" :subid("21_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "comp_unit" :subid("21_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_196
.annotate "line", 49
new $P195, 'ExceptionHandler'
@@ -16575,13 +16650,13 @@
.lex "$BLOCK", $P198
.annotate "line", 50
find_lex $P199, "$/"
- unless_null $P199, vivify_152
+ unless_null $P199, vivify_153
$P199 = root_new ['parrot';'Hash']
- vivify_152:
+ vivify_153:
set $P200, $P199["statementlist"]
- unless_null $P200, vivify_153
+ unless_null $P200, vivify_154
new $P200, "Undef"
- vivify_153:
+ vivify_154:
$P201 = $P200."ast"()
store_lex "$past", $P201
.annotate "line", 51
@@ -16611,10 +16686,10 @@
.namespace ["NQP";"Actions"]
-.sub "statementlist" :subid("22_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statementlist" :subid("22_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_215
.annotate "line", 57
- .const 'Sub' $P229 = "23_1271336409.53729"
+ .const 'Sub' $P229 = "23_1271948680.36754"
capture_lex $P229
new $P214, 'ExceptionHandler'
set_addr $P214, control_213
@@ -16631,25 +16706,25 @@
store_lex "$past", $P219
.annotate "line", 59
find_lex $P221, "$/"
- unless_null $P221, vivify_154
+ unless_null $P221, vivify_155
$P221 = root_new ['parrot';'Hash']
- vivify_154:
+ vivify_155:
set $P222, $P221["statement"]
- unless_null $P222, vivify_155
+ unless_null $P222, vivify_156
new $P222, "Undef"
- vivify_155:
+ vivify_156:
unless $P222, if_220_end
.annotate "line", 60
find_lex $P224, "$/"
- unless_null $P224, vivify_156
+ unless_null $P224, vivify_157
$P224 = root_new ['parrot';'Hash']
- vivify_156:
+ vivify_157:
set $P225, $P224["statement"]
- unless_null $P225, vivify_157
+ unless_null $P225, vivify_158
new $P225, "Undef"
- vivify_157:
+ vivify_158:
defined $I226, $P225
- unless $I226, for_undef_158
+ unless $I226, for_undef_159
iter $P223, $P225
new $P255, 'ExceptionHandler'
set_addr $P255, loop254_handler
@@ -16659,7 +16734,7 @@
unless $P223, loop254_done
shift $P227, $P223
loop254_redo:
- .const 'Sub' $P229 = "23_1271336409.53729"
+ .const 'Sub' $P229 = "23_1271948680.36754"
capture_lex $P229
$P229($P227)
loop254_next:
@@ -16672,7 +16747,7 @@
eq $P256, 67, loop254_redo
loop254_done:
pop_eh
- for_undef_158:
+ for_undef_159:
if_220_end:
.annotate "line", 69
find_lex $P257, "$/"
@@ -16689,7 +16764,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block228" :anon :subid("23_1271336409.53729") :outer("22_1271336409.53729")
+.sub "_block228" :anon :subid("23_1271948680.36754") :outer("22_1271948680.36754")
.param pmc param_231
.annotate "line", 61
new $P230, "Undef"
@@ -16700,23 +16775,23 @@
store_lex "$ast", $P233
.annotate "line", 62
find_lex $P235, "$ast"
- unless_null $P235, vivify_159
+ unless_null $P235, vivify_160
$P235 = root_new ['parrot';'Hash']
- vivify_159:
+ vivify_160:
set $P236, $P235["sink"]
- unless_null $P236, vivify_160
+ unless_null $P236, vivify_161
new $P236, "Undef"
- vivify_160:
+ vivify_161:
defined $I237, $P236
unless $I237, if_234_end
find_lex $P238, "$ast"
- unless_null $P238, vivify_161
+ unless_null $P238, vivify_162
$P238 = root_new ['parrot';'Hash']
- vivify_161:
+ vivify_162:
set $P239, $P238["sink"]
- unless_null $P239, vivify_162
+ unless_null $P239, vivify_163
new $P239, "Undef"
- vivify_162:
+ vivify_163:
store_lex "$ast", $P239
if_234_end:
.annotate "line", 63
@@ -16749,12 +16824,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement" :subid("24_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement" :subid("24_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_264
.param pmc param_265 :optional
.param int has_param_265 :opt_flag
.annotate "line", 72
- .const 'Sub' $P273 = "25_1271336409.53729"
+ .const 'Sub' $P273 = "25_1271948680.36754"
capture_lex $P273
new $P263, 'ExceptionHandler'
set_addr $P263, control_262
@@ -16762,10 +16837,10 @@
push_eh $P263
.lex "self", self
.lex "$/", param_264
- if has_param_265, optparam_163
+ if has_param_265, optparam_164
new $P266, "Undef"
set param_265, $P266
- optparam_163:
+ optparam_164:
.lex "$key", param_265
.annotate "line", 73
new $P267, "Undef"
@@ -16774,23 +16849,23 @@
find_lex $P268, "$past"
.annotate "line", 74
find_lex $P270, "$/"
- unless_null $P270, vivify_164
+ unless_null $P270, vivify_165
$P270 = root_new ['parrot';'Hash']
- vivify_164:
+ vivify_165:
set $P271, $P270["EXPR"]
- unless_null $P271, vivify_165
+ unless_null $P271, vivify_166
new $P271, "Undef"
- vivify_165:
+ vivify_166:
if $P271, if_269
.annotate "line", 85
find_lex $P311, "$/"
- unless_null $P311, vivify_166
+ unless_null $P311, vivify_167
$P311 = root_new ['parrot';'Hash']
- vivify_166:
+ vivify_167:
set $P312, $P311["statement_control"]
- unless_null $P312, vivify_167
+ unless_null $P312, vivify_168
new $P312, "Undef"
- vivify_167:
+ vivify_168:
if $P312, if_310
.annotate "line", 86
new $P316, "Integer"
@@ -16800,20 +16875,20 @@
if_310:
.annotate "line", 85
find_lex $P313, "$/"
- unless_null $P313, vivify_168
+ unless_null $P313, vivify_169
$P313 = root_new ['parrot';'Hash']
- vivify_168:
+ vivify_169:
set $P314, $P313["statement_control"]
- unless_null $P314, vivify_169
+ unless_null $P314, vivify_170
new $P314, "Undef"
- vivify_169:
+ vivify_170:
$P315 = $P314."ast"()
store_lex "$past", $P315
if_310_end:
goto if_269_end
if_269:
.annotate "line", 74
- .const 'Sub' $P273 = "25_1271336409.53729"
+ .const 'Sub' $P273 = "25_1271948680.36754"
capture_lex $P273
$P273()
if_269_end:
@@ -16832,7 +16907,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block272" :anon :subid("25_1271336409.53729") :outer("24_1271336409.53729")
+.sub "_block272" :anon :subid("25_1271948680.36754") :outer("24_1271948680.36754")
.annotate "line", 75
new $P274, "Undef"
.lex "$mc", $P274
@@ -16841,41 +16916,41 @@
.lex "$ml", $P275
.annotate "line", 75
find_lex $P276, "$/"
- unless_null $P276, vivify_170
+ unless_null $P276, vivify_171
$P276 = root_new ['parrot';'Hash']
- vivify_170:
+ vivify_171:
set $P277, $P276["statement_mod_cond"]
- unless_null $P277, vivify_171
+ unless_null $P277, vivify_172
$P277 = root_new ['parrot';'ResizablePMCArray']
- vivify_171:
+ vivify_172:
set $P278, $P277[0]
- unless_null $P278, vivify_172
+ unless_null $P278, vivify_173
new $P278, "Undef"
- vivify_172:
+ vivify_173:
store_lex "$mc", $P278
.annotate "line", 76
find_lex $P279, "$/"
- unless_null $P279, vivify_173
+ unless_null $P279, vivify_174
$P279 = root_new ['parrot';'Hash']
- vivify_173:
+ vivify_174:
set $P280, $P279["statement_mod_loop"]
- unless_null $P280, vivify_174
+ unless_null $P280, vivify_175
$P280 = root_new ['parrot';'ResizablePMCArray']
- vivify_174:
+ vivify_175:
set $P281, $P280[0]
- unless_null $P281, vivify_175
+ unless_null $P281, vivify_176
new $P281, "Undef"
- vivify_175:
+ vivify_176:
store_lex "$ml", $P281
.annotate "line", 77
find_lex $P282, "$/"
- unless_null $P282, vivify_176
+ unless_null $P282, vivify_177
$P282 = root_new ['parrot';'Hash']
- vivify_176:
+ vivify_177:
set $P283, $P282["EXPR"]
- unless_null $P283, vivify_177
+ unless_null $P283, vivify_178
new $P283, "Undef"
- vivify_177:
+ vivify_178:
$P284 = $P283."ast"()
store_lex "$past", $P284
.annotate "line", 78
@@ -16884,23 +16959,23 @@
.annotate "line", 79
get_hll_global $P287, ["PAST"], "Op"
find_lex $P288, "$mc"
- unless_null $P288, vivify_178
+ unless_null $P288, vivify_179
$P288 = root_new ['parrot';'Hash']
- vivify_178:
+ vivify_179:
set $P289, $P288["cond"]
- unless_null $P289, vivify_179
+ unless_null $P289, vivify_180
new $P289, "Undef"
- vivify_179:
+ vivify_180:
$P290 = $P289."ast"()
find_lex $P291, "$past"
find_lex $P292, "$mc"
- unless_null $P292, vivify_180
+ unless_null $P292, vivify_181
$P292 = root_new ['parrot';'Hash']
- vivify_180:
+ vivify_181:
set $P293, $P292["sym"]
- unless_null $P293, vivify_181
+ unless_null $P293, vivify_182
new $P293, "Undef"
- vivify_181:
+ vivify_182:
set $S294, $P293
find_lex $P295, "$/"
$P296 = $P287."new"($P290, $P291, $S294 :named("pasttype"), $P295 :named("node"))
@@ -16915,23 +16990,23 @@
.annotate "line", 82
get_hll_global $P300, ["PAST"], "Op"
find_lex $P301, "$ml"
- unless_null $P301, vivify_182
+ unless_null $P301, vivify_183
$P301 = root_new ['parrot';'Hash']
- vivify_182:
+ vivify_183:
set $P302, $P301["cond"]
- unless_null $P302, vivify_183
+ unless_null $P302, vivify_184
new $P302, "Undef"
- vivify_183:
+ vivify_184:
$P303 = $P302."ast"()
find_lex $P304, "$past"
find_lex $P305, "$ml"
- unless_null $P305, vivify_184
+ unless_null $P305, vivify_185
$P305 = root_new ['parrot';'Hash']
- vivify_184:
+ vivify_185:
set $P306, $P305["sym"]
- unless_null $P306, vivify_185
+ unless_null $P306, vivify_186
new $P306, "Undef"
- vivify_185:
+ vivify_186:
set $S307, $P306
find_lex $P308, "$/"
$P309 = $P300."new"($P303, $P304, $S307 :named("pasttype"), $P308 :named("node"))
@@ -16945,7 +17020,7 @@
.namespace ["NQP";"Actions"]
-.sub "xblock" :subid("26_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "xblock" :subid("26_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_324
.annotate "line", 90
new $P323, 'ExceptionHandler'
@@ -16958,22 +17033,22 @@
find_lex $P325, "$/"
get_hll_global $P326, ["PAST"], "Op"
find_lex $P327, "$/"
- unless_null $P327, vivify_186
+ unless_null $P327, vivify_187
$P327 = root_new ['parrot';'Hash']
- vivify_186:
+ vivify_187:
set $P328, $P327["EXPR"]
- unless_null $P328, vivify_187
+ unless_null $P328, vivify_188
new $P328, "Undef"
- vivify_187:
+ vivify_188:
$P329 = $P328."ast"()
find_lex $P330, "$/"
- unless_null $P330, vivify_188
+ unless_null $P330, vivify_189
$P330 = root_new ['parrot';'Hash']
- vivify_188:
+ vivify_189:
set $P331, $P330["pblock"]
- unless_null $P331, vivify_189
+ unless_null $P331, vivify_190
new $P331, "Undef"
- vivify_189:
+ vivify_190:
$P332 = $P331."ast"()
find_lex $P333, "$/"
$P334 = $P326."new"($P329, $P332, "if" :named("pasttype"), $P333 :named("node"))
@@ -16989,7 +17064,7 @@
.namespace ["NQP";"Actions"]
-.sub "pblock" :subid("27_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "pblock" :subid("27_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_340
.annotate "line", 94
new $P339, 'ExceptionHandler'
@@ -17001,13 +17076,13 @@
.annotate "line", 95
find_lex $P341, "$/"
find_lex $P342, "$/"
- unless_null $P342, vivify_190
+ unless_null $P342, vivify_191
$P342 = root_new ['parrot';'Hash']
- vivify_190:
+ vivify_191:
set $P343, $P342["blockoid"]
- unless_null $P343, vivify_191
+ unless_null $P343, vivify_192
new $P343, "Undef"
- vivify_191:
+ vivify_192:
$P344 = $P343."ast"()
$P345 = $P341."!make"($P344)
.annotate "line", 94
@@ -17021,7 +17096,7 @@
.namespace ["NQP";"Actions"]
-.sub "block" :subid("28_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "block" :subid("28_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_350
.annotate "line", 98
new $P349, 'ExceptionHandler'
@@ -17033,13 +17108,13 @@
.annotate "line", 99
find_lex $P351, "$/"
find_lex $P352, "$/"
- unless_null $P352, vivify_192
+ unless_null $P352, vivify_193
$P352 = root_new ['parrot';'Hash']
- vivify_192:
+ vivify_193:
set $P353, $P352["blockoid"]
- unless_null $P353, vivify_193
+ unless_null $P353, vivify_194
new $P353, "Undef"
- vivify_193:
+ vivify_194:
$P354 = $P353."ast"()
$P355 = $P351."!make"($P354)
.annotate "line", 98
@@ -17053,7 +17128,7 @@
.namespace ["NQP";"Actions"]
-.sub "blockoid" :subid("29_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "blockoid" :subid("29_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_360
.annotate "line", 102
new $P359, 'ExceptionHandler'
@@ -17070,13 +17145,13 @@
.lex "$BLOCK", $P362
.annotate "line", 103
find_lex $P363, "$/"
- unless_null $P363, vivify_194
+ unless_null $P363, vivify_195
$P363 = root_new ['parrot';'Hash']
- vivify_194:
+ vivify_195:
set $P364, $P363["statementlist"]
- unless_null $P364, vivify_195
+ unless_null $P364, vivify_196
new $P364, "Undef"
- vivify_195:
+ vivify_196:
$P365 = $P364."ast"()
store_lex "$past", $P365
.annotate "line", 104
@@ -17106,7 +17181,7 @@
.namespace ["NQP";"Actions"]
-.sub "newpad" :subid("30_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "newpad" :subid("30_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_379
.annotate "line", 110
new $P378, 'ExceptionHandler'
@@ -17117,10 +17192,10 @@
.lex "$/", param_379
.annotate "line", 111
get_global $P380, "@BLOCK"
- unless_null $P380, vivify_196
+ unless_null $P380, vivify_197
$P380 = root_new ['parrot';'ResizablePMCArray']
set_global "@BLOCK", $P380
- vivify_196:
+ vivify_197:
.annotate "line", 110
get_global $P381, "@BLOCK"
.annotate "line", 112
@@ -17141,10 +17216,10 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>" :subid("31_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<if>" :subid("31_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_392
.annotate "line", 117
- .const 'Sub' $P420 = "32_1271336409.53729"
+ .const 'Sub' $P420 = "32_1271948680.36754"
capture_lex $P420
new $P391, 'ExceptionHandler'
set_addr $P391, control_390
@@ -17160,13 +17235,13 @@
.lex "$past", $P394
.annotate "line", 118
find_lex $P395, "$/"
- unless_null $P395, vivify_197
+ unless_null $P395, vivify_198
$P395 = root_new ['parrot';'Hash']
- vivify_197:
+ vivify_198:
set $P396, $P395["xblock"]
- unless_null $P396, vivify_198
+ unless_null $P396, vivify_199
new $P396, "Undef"
- vivify_198:
+ vivify_199:
set $N397, $P396
new $P398, 'Float'
set $P398, $N397
@@ -17176,44 +17251,44 @@
find_lex $P400, "$count"
set $I401, $P400
find_lex $P402, "$/"
- unless_null $P402, vivify_199
+ unless_null $P402, vivify_200
$P402 = root_new ['parrot';'Hash']
- vivify_199:
+ vivify_200:
set $P403, $P402["xblock"]
- unless_null $P403, vivify_200
+ unless_null $P403, vivify_201
$P403 = root_new ['parrot';'ResizablePMCArray']
- vivify_200:
+ vivify_201:
set $P404, $P403[$I401]
- unless_null $P404, vivify_201
+ unless_null $P404, vivify_202
new $P404, "Undef"
- vivify_201:
+ vivify_202:
$P405 = $P404."ast"()
$P406 = "xblock_immediate"($P405)
store_lex "$past", $P406
.annotate "line", 120
find_lex $P408, "$/"
- unless_null $P408, vivify_202
+ unless_null $P408, vivify_203
$P408 = root_new ['parrot';'Hash']
- vivify_202:
+ vivify_203:
set $P409, $P408["else"]
- unless_null $P409, vivify_203
+ unless_null $P409, vivify_204
new $P409, "Undef"
- vivify_203:
+ vivify_204:
unless $P409, if_407_end
.annotate "line", 121
find_lex $P410, "$past"
find_lex $P411, "$/"
- unless_null $P411, vivify_204
+ unless_null $P411, vivify_205
$P411 = root_new ['parrot';'Hash']
- vivify_204:
+ vivify_205:
set $P412, $P411["else"]
- unless_null $P412, vivify_205
+ unless_null $P412, vivify_206
$P412 = root_new ['parrot';'ResizablePMCArray']
- vivify_205:
+ vivify_206:
set $P413, $P412[0]
- unless_null $P413, vivify_206
+ unless_null $P413, vivify_207
new $P413, "Undef"
- vivify_206:
+ vivify_207:
$P414 = $P413."ast"()
$P415 = "block_immediate"($P414)
$P410."push"($P415)
@@ -17229,7 +17304,7 @@
isgt $I418, $N417, 0.0
unless $I418, loop435_done
loop435_redo:
- .const 'Sub' $P420 = "32_1271336409.53729"
+ .const 'Sub' $P420 = "32_1271948680.36754"
capture_lex $P420
$P420()
loop435_next:
@@ -17257,7 +17332,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block419" :anon :subid("32_1271336409.53729") :outer("31_1271336409.53729")
+.sub "_block419" :anon :subid("32_1271948680.36754") :outer("31_1271948680.36754")
.annotate "line", 126
new $P421, "Undef"
.lex "$else", $P421
@@ -17272,17 +17347,17 @@
find_lex $P425, "$count"
set $I426, $P425
find_lex $P427, "$/"
- unless_null $P427, vivify_207
+ unless_null $P427, vivify_208
$P427 = root_new ['parrot';'Hash']
- vivify_207:
+ vivify_208:
set $P428, $P427["xblock"]
- unless_null $P428, vivify_208
+ unless_null $P428, vivify_209
$P428 = root_new ['parrot';'ResizablePMCArray']
- vivify_208:
+ vivify_209:
set $P429, $P428[$I426]
- unless_null $P429, vivify_209
+ unless_null $P429, vivify_210
new $P429, "Undef"
- vivify_209:
+ vivify_210:
$P430 = $P429."ast"()
$P431 = "xblock_immediate"($P430)
store_lex "$past", $P431
@@ -17296,7 +17371,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>" :subid("33_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<unless>" :subid("33_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_445
.annotate "line", 133
new $P444, 'ExceptionHandler'
@@ -17309,13 +17384,13 @@
new $P446, "Undef"
.lex "$past", $P446
find_lex $P447, "$/"
- unless_null $P447, vivify_210
+ unless_null $P447, vivify_211
$P447 = root_new ['parrot';'Hash']
- vivify_210:
+ vivify_211:
set $P448, $P447["xblock"]
- unless_null $P448, vivify_211
+ unless_null $P448, vivify_212
new $P448, "Undef"
- vivify_211:
+ vivify_212:
$P449 = $P448."ast"()
$P450 = "xblock_immediate"($P449)
store_lex "$past", $P450
@@ -17337,7 +17412,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>" :subid("34_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<while>" :subid("34_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_459
.annotate "line", 139
new $P458, 'ExceptionHandler'
@@ -17350,26 +17425,26 @@
new $P460, "Undef"
.lex "$past", $P460
find_lex $P461, "$/"
- unless_null $P461, vivify_212
+ unless_null $P461, vivify_213
$P461 = root_new ['parrot';'Hash']
- vivify_212:
+ vivify_213:
set $P462, $P461["xblock"]
- unless_null $P462, vivify_213
+ unless_null $P462, vivify_214
new $P462, "Undef"
- vivify_213:
+ vivify_214:
$P463 = $P462."ast"()
$P464 = "xblock_immediate"($P463)
store_lex "$past", $P464
.annotate "line", 141
find_lex $P465, "$past"
find_lex $P466, "$/"
- unless_null $P466, vivify_214
+ unless_null $P466, vivify_215
$P466 = root_new ['parrot';'Hash']
- vivify_214:
+ vivify_215:
set $P467, $P466["sym"]
- unless_null $P467, vivify_215
+ unless_null $P467, vivify_216
new $P467, "Undef"
- vivify_215:
+ vivify_216:
set $S468, $P467
$P465."pasttype"($S468)
.annotate "line", 142
@@ -17387,7 +17462,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>" :subid("35_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<repeat>" :subid("35_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_476
.annotate "line", 145
new $P475, 'ExceptionHandler'
@@ -17406,46 +17481,46 @@
new $P479, "String"
assign $P479, "repeat_"
find_lex $P480, "$/"
- unless_null $P480, vivify_216
+ unless_null $P480, vivify_217
$P480 = root_new ['parrot';'Hash']
- vivify_216:
+ vivify_217:
set $P481, $P480["wu"]
- unless_null $P481, vivify_217
+ unless_null $P481, vivify_218
new $P481, "Undef"
- vivify_217:
+ vivify_218:
set $S482, $P481
concat $P483, $P479, $S482
store_lex "$pasttype", $P483
find_lex $P484, "$past"
.annotate "line", 148
find_lex $P486, "$/"
- unless_null $P486, vivify_218
+ unless_null $P486, vivify_219
$P486 = root_new ['parrot';'Hash']
- vivify_218:
+ vivify_219:
set $P487, $P486["xblock"]
- unless_null $P487, vivify_219
+ unless_null $P487, vivify_220
new $P487, "Undef"
- vivify_219:
+ vivify_220:
if $P487, if_485
.annotate "line", 153
get_hll_global $P494, ["PAST"], "Op"
find_lex $P495, "$/"
- unless_null $P495, vivify_220
+ unless_null $P495, vivify_221
$P495 = root_new ['parrot';'Hash']
- vivify_220:
+ vivify_221:
set $P496, $P495["EXPR"]
- unless_null $P496, vivify_221
+ unless_null $P496, vivify_222
new $P496, "Undef"
- vivify_221:
+ vivify_222:
$P497 = $P496."ast"()
find_lex $P498, "$/"
- unless_null $P498, vivify_222
+ unless_null $P498, vivify_223
$P498 = root_new ['parrot';'Hash']
- vivify_222:
+ vivify_223:
set $P499, $P498["pblock"]
- unless_null $P499, vivify_223
+ unless_null $P499, vivify_224
new $P499, "Undef"
- vivify_223:
+ vivify_224:
$P500 = $P499."ast"()
$P501 = "block_immediate"($P500)
find_lex $P502, "$pasttype"
@@ -17457,13 +17532,13 @@
if_485:
.annotate "line", 149
find_lex $P488, "$/"
- unless_null $P488, vivify_224
+ unless_null $P488, vivify_225
$P488 = root_new ['parrot';'Hash']
- vivify_224:
+ vivify_225:
set $P489, $P488["xblock"]
- unless_null $P489, vivify_225
+ unless_null $P489, vivify_226
new $P489, "Undef"
- vivify_225:
+ vivify_226:
$P490 = $P489."ast"()
$P491 = "xblock_immediate"($P490)
store_lex "$past", $P491
@@ -17487,7 +17562,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>" :subid("36_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<for>" :subid("36_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_512
.annotate "line", 159
new $P511, 'ExceptionHandler'
@@ -17504,13 +17579,13 @@
.lex "$block", $P514
.annotate "line", 160
find_lex $P515, "$/"
- unless_null $P515, vivify_226
+ unless_null $P515, vivify_227
$P515 = root_new ['parrot';'Hash']
- vivify_226:
+ vivify_227:
set $P516, $P515["xblock"]
- unless_null $P516, vivify_227
+ unless_null $P516, vivify_228
new $P516, "Undef"
- vivify_227:
+ vivify_228:
$P517 = $P516."ast"()
store_lex "$past", $P517
.annotate "line", 161
@@ -17518,13 +17593,13 @@
$P518."pasttype"("for")
.annotate "line", 162
find_lex $P519, "$past"
- unless_null $P519, vivify_228
+ unless_null $P519, vivify_229
$P519 = root_new ['parrot';'ResizablePMCArray']
- vivify_228:
+ vivify_229:
set $P520, $P519[1]
- unless_null $P520, vivify_229
+ unless_null $P520, vivify_230
new $P520, "Undef"
- vivify_229:
+ vivify_230:
store_lex "$block", $P520
.annotate "line", 163
find_lex $P522, "$block"
@@ -17532,13 +17607,13 @@
if $P523, unless_521_end
.annotate "line", 164
find_lex $P524, "$block"
- unless_null $P524, vivify_230
+ unless_null $P524, vivify_231
$P524 = root_new ['parrot';'ResizablePMCArray']
- vivify_230:
+ vivify_231:
set $P525, $P524[0]
- unless_null $P525, vivify_231
+ unless_null $P525, vivify_232
new $P525, "Undef"
- vivify_231:
+ vivify_232:
get_hll_global $P526, ["PAST"], "Var"
$P527 = $P526."new"("$_" :named("name"), "parameter" :named("scope"))
$P525."push"($P527)
@@ -17567,7 +17642,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>" :subid("37_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<return>" :subid("37_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_538
.annotate "line", 172
new $P537, 'ExceptionHandler'
@@ -17580,13 +17655,13 @@
find_lex $P539, "$/"
get_hll_global $P540, ["PAST"], "Op"
find_lex $P541, "$/"
- unless_null $P541, vivify_232
+ unless_null $P541, vivify_233
$P541 = root_new ['parrot';'Hash']
- vivify_232:
+ vivify_233:
set $P542, $P541["EXPR"]
- unless_null $P542, vivify_233
+ unless_null $P542, vivify_234
new $P542, "Undef"
- vivify_233:
+ vivify_234:
$P543 = $P542."ast"()
find_lex $P544, "$/"
$P545 = $P540."new"($P543, "return" :named("pasttype"), $P544 :named("node"))
@@ -17602,7 +17677,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>" :subid("38_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<CATCH>" :subid("38_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_551
.annotate "line", 176
new $P550, 'ExceptionHandler'
@@ -17615,13 +17690,13 @@
new $P552, "Undef"
.lex "$block", $P552
find_lex $P553, "$/"
- unless_null $P553, vivify_234
+ unless_null $P553, vivify_235
$P553 = root_new ['parrot';'Hash']
- vivify_234:
+ vivify_235:
set $P554, $P553["block"]
- unless_null $P554, vivify_235
+ unless_null $P554, vivify_236
new $P554, "Undef"
- vivify_235:
+ vivify_236:
$P555 = $P554."ast"()
store_lex "$block", $P555
.annotate "line", 178
@@ -17630,18 +17705,18 @@
"push_block_handler"($P556, $P557)
.annotate "line", 179
get_global $P558, "@BLOCK"
- unless_null $P558, vivify_236
+ unless_null $P558, vivify_237
$P558 = root_new ['parrot';'ResizablePMCArray']
- vivify_236:
+ vivify_237:
set $P559, $P558[0]
- unless_null $P559, vivify_237
+ unless_null $P559, vivify_238
new $P559, "Undef"
- vivify_237:
+ vivify_238:
$P560 = $P559."handlers"()
set $P561, $P560[0]
- unless_null $P561, vivify_238
+ unless_null $P561, vivify_239
new $P561, "Undef"
- vivify_238:
+ vivify_239:
$P561."handle_types_except"("CONTROL")
.annotate "line", 180
find_lex $P562, "$/"
@@ -17660,7 +17735,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>" :subid("39_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_control:sym<CONTROL>" :subid("39_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_571
.annotate "line", 183
new $P570, 'ExceptionHandler'
@@ -17673,13 +17748,13 @@
new $P572, "Undef"
.lex "$block", $P572
find_lex $P573, "$/"
- unless_null $P573, vivify_239
+ unless_null $P573, vivify_240
$P573 = root_new ['parrot';'Hash']
- vivify_239:
+ vivify_240:
set $P574, $P573["block"]
- unless_null $P574, vivify_240
+ unless_null $P574, vivify_241
new $P574, "Undef"
- vivify_240:
+ vivify_241:
$P575 = $P574."ast"()
store_lex "$block", $P575
.annotate "line", 185
@@ -17688,18 +17763,18 @@
"push_block_handler"($P576, $P577)
.annotate "line", 186
get_global $P578, "@BLOCK"
- unless_null $P578, vivify_241
+ unless_null $P578, vivify_242
$P578 = root_new ['parrot';'ResizablePMCArray']
- vivify_241:
+ vivify_242:
set $P579, $P578[0]
- unless_null $P579, vivify_242
+ unless_null $P579, vivify_243
new $P579, "Undef"
- vivify_242:
+ vivify_243:
$P580 = $P579."handlers"()
set $P581, $P580[0]
- unless_null $P581, vivify_243
+ unless_null $P581, vivify_244
new $P581, "Undef"
- vivify_243:
+ vivify_244:
$P581."handle_types"("CONTROL")
.annotate "line", 187
find_lex $P582, "$/"
@@ -17718,7 +17793,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>" :subid("40_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_prefix:sym<INIT>" :subid("40_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_592
.annotate "line", 227
new $P591, 'ExceptionHandler'
@@ -17729,22 +17804,22 @@
.lex "$/", param_592
.annotate "line", 228
get_global $P593, "@BLOCK"
- unless_null $P593, vivify_244
+ unless_null $P593, vivify_245
$P593 = root_new ['parrot';'ResizablePMCArray']
- vivify_244:
+ vivify_245:
set $P594, $P593[0]
- unless_null $P594, vivify_245
+ unless_null $P594, vivify_246
new $P594, "Undef"
- vivify_245:
+ vivify_246:
$P595 = $P594."loadinit"()
find_lex $P596, "$/"
- unless_null $P596, vivify_246
+ unless_null $P596, vivify_247
$P596 = root_new ['parrot';'Hash']
- vivify_246:
+ vivify_247:
set $P597, $P596["blorst"]
- unless_null $P597, vivify_247
+ unless_null $P597, vivify_248
new $P597, "Undef"
- vivify_247:
+ vivify_248:
$P598 = $P597."ast"()
$P595."push"($P598)
.annotate "line", 229
@@ -17764,7 +17839,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>" :subid("41_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_prefix:sym<try>" :subid("41_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_608
.annotate "line", 232
new $P607, 'ExceptionHandler'
@@ -17777,13 +17852,13 @@
new $P609, "Undef"
.lex "$past", $P609
find_lex $P610, "$/"
- unless_null $P610, vivify_248
+ unless_null $P610, vivify_249
$P610 = root_new ['parrot';'Hash']
- vivify_248:
+ vivify_249:
set $P611, $P610["blorst"]
- unless_null $P611, vivify_249
+ unless_null $P611, vivify_250
new $P611, "Undef"
- vivify_249:
+ vivify_250:
$P612 = $P611."ast"()
store_lex "$past", $P612
.annotate "line", 234
@@ -17841,7 +17916,7 @@
.namespace ["NQP";"Actions"]
-.sub "blorst" :subid("42_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "blorst" :subid("42_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_643
.annotate "line", 255
new $P642, 'ExceptionHandler'
@@ -17854,36 +17929,36 @@
find_lex $P644, "$/"
.annotate "line", 257
find_lex $P647, "$/"
- unless_null $P647, vivify_250
+ unless_null $P647, vivify_251
$P647 = root_new ['parrot';'Hash']
- vivify_250:
+ vivify_251:
set $P648, $P647["block"]
- unless_null $P648, vivify_251
+ unless_null $P648, vivify_252
new $P648, "Undef"
- vivify_251:
+ vivify_252:
if $P648, if_646
.annotate "line", 258
find_lex $P653, "$/"
- unless_null $P653, vivify_252
+ unless_null $P653, vivify_253
$P653 = root_new ['parrot';'Hash']
- vivify_252:
+ vivify_253:
set $P654, $P653["statement"]
- unless_null $P654, vivify_253
+ unless_null $P654, vivify_254
new $P654, "Undef"
- vivify_253:
+ vivify_254:
$P655 = $P654."ast"()
set $P645, $P655
.annotate "line", 257
goto if_646_end
if_646:
find_lex $P649, "$/"
- unless_null $P649, vivify_254
+ unless_null $P649, vivify_255
$P649 = root_new ['parrot';'Hash']
- vivify_254:
+ vivify_255:
set $P650, $P649["block"]
- unless_null $P650, vivify_255
+ unless_null $P650, vivify_256
new $P650, "Undef"
- vivify_255:
+ vivify_256:
$P651 = $P650."ast"()
$P652 = "block_immediate"($P651)
set $P645, $P652
@@ -17900,7 +17975,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>" :subid("43_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_mod_cond:sym<if>" :subid("43_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_661
.annotate "line", 263
new $P660, 'ExceptionHandler'
@@ -17911,13 +17986,13 @@
.lex "$/", param_661
find_lex $P662, "$/"
find_lex $P663, "$/"
- unless_null $P663, vivify_256
+ unless_null $P663, vivify_257
$P663 = root_new ['parrot';'Hash']
- vivify_256:
+ vivify_257:
set $P664, $P663["cond"]
- unless_null $P664, vivify_257
+ unless_null $P664, vivify_258
new $P664, "Undef"
- vivify_257:
+ vivify_258:
$P665 = $P664."ast"()
$P666 = $P662."!make"($P665)
.return ($P666)
@@ -17930,7 +18005,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>" :subid("44_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_mod_cond:sym<unless>" :subid("44_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_671
.annotate "line", 264
new $P670, 'ExceptionHandler'
@@ -17941,13 +18016,13 @@
.lex "$/", param_671
find_lex $P672, "$/"
find_lex $P673, "$/"
- unless_null $P673, vivify_258
+ unless_null $P673, vivify_259
$P673 = root_new ['parrot';'Hash']
- vivify_258:
+ vivify_259:
set $P674, $P673["cond"]
- unless_null $P674, vivify_259
+ unless_null $P674, vivify_260
new $P674, "Undef"
- vivify_259:
+ vivify_260:
$P675 = $P674."ast"()
$P676 = $P672."!make"($P675)
.return ($P676)
@@ -17960,7 +18035,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>" :subid("45_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_mod_loop:sym<while>" :subid("45_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_681
.annotate "line", 266
new $P680, 'ExceptionHandler'
@@ -17971,13 +18046,13 @@
.lex "$/", param_681
find_lex $P682, "$/"
find_lex $P683, "$/"
- unless_null $P683, vivify_260
+ unless_null $P683, vivify_261
$P683 = root_new ['parrot';'Hash']
- vivify_260:
+ vivify_261:
set $P684, $P683["cond"]
- unless_null $P684, vivify_261
+ unless_null $P684, vivify_262
new $P684, "Undef"
- vivify_261:
+ vivify_262:
$P685 = $P684."ast"()
$P686 = $P682."!make"($P685)
.return ($P686)
@@ -17990,7 +18065,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>" :subid("46_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "statement_mod_loop:sym<until>" :subid("46_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_691
.annotate "line", 267
new $P690, 'ExceptionHandler'
@@ -18001,13 +18076,13 @@
.lex "$/", param_691
find_lex $P692, "$/"
find_lex $P693, "$/"
- unless_null $P693, vivify_262
+ unless_null $P693, vivify_263
$P693 = root_new ['parrot';'Hash']
- vivify_262:
+ vivify_263:
set $P694, $P693["cond"]
- unless_null $P694, vivify_263
+ unless_null $P694, vivify_264
new $P694, "Undef"
- vivify_263:
+ vivify_264:
$P695 = $P694."ast"()
$P696 = $P692."!make"($P695)
.return ($P696)
@@ -18020,7 +18095,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>" :subid("47_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<fatarrow>" :subid("47_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_701
.annotate "line", 271
new $P700, 'ExceptionHandler'
@@ -18031,13 +18106,13 @@
.lex "$/", param_701
find_lex $P702, "$/"
find_lex $P703, "$/"
- unless_null $P703, vivify_264
+ unless_null $P703, vivify_265
$P703 = root_new ['parrot';'Hash']
- vivify_264:
+ vivify_265:
set $P704, $P703["fatarrow"]
- unless_null $P704, vivify_265
+ unless_null $P704, vivify_266
new $P704, "Undef"
- vivify_265:
+ vivify_266:
$P705 = $P704."ast"()
$P706 = $P702."!make"($P705)
.return ($P706)
@@ -18050,7 +18125,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>" :subid("48_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<colonpair>" :subid("48_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_711
.annotate "line", 272
new $P710, 'ExceptionHandler'
@@ -18061,13 +18136,13 @@
.lex "$/", param_711
find_lex $P712, "$/"
find_lex $P713, "$/"
- unless_null $P713, vivify_266
+ unless_null $P713, vivify_267
$P713 = root_new ['parrot';'Hash']
- vivify_266:
+ vivify_267:
set $P714, $P713["colonpair"]
- unless_null $P714, vivify_267
+ unless_null $P714, vivify_268
new $P714, "Undef"
- vivify_267:
+ vivify_268:
$P715 = $P714."ast"()
$P716 = $P712."!make"($P715)
.return ($P716)
@@ -18080,7 +18155,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<variable>" :subid("49_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<variable>" :subid("49_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_721
.annotate "line", 273
new $P720, 'ExceptionHandler'
@@ -18091,13 +18166,13 @@
.lex "$/", param_721
find_lex $P722, "$/"
find_lex $P723, "$/"
- unless_null $P723, vivify_268
+ unless_null $P723, vivify_269
$P723 = root_new ['parrot';'Hash']
- vivify_268:
+ vivify_269:
set $P724, $P723["variable"]
- unless_null $P724, vivify_269
+ unless_null $P724, vivify_270
new $P724, "Undef"
- vivify_269:
+ vivify_270:
$P725 = $P724."ast"()
$P726 = $P722."!make"($P725)
.return ($P726)
@@ -18110,7 +18185,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>" :subid("50_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<package_declarator>" :subid("50_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_731
.annotate "line", 274
new $P730, 'ExceptionHandler'
@@ -18121,13 +18196,13 @@
.lex "$/", param_731
find_lex $P732, "$/"
find_lex $P733, "$/"
- unless_null $P733, vivify_270
+ unless_null $P733, vivify_271
$P733 = root_new ['parrot';'Hash']
- vivify_270:
+ vivify_271:
set $P734, $P733["package_declarator"]
- unless_null $P734, vivify_271
+ unless_null $P734, vivify_272
new $P734, "Undef"
- vivify_271:
+ vivify_272:
$P735 = $P734."ast"()
$P736 = $P732."!make"($P735)
.return ($P736)
@@ -18140,7 +18215,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>" :subid("51_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<scope_declarator>" :subid("51_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_741
.annotate "line", 275
new $P740, 'ExceptionHandler'
@@ -18151,13 +18226,13 @@
.lex "$/", param_741
find_lex $P742, "$/"
find_lex $P743, "$/"
- unless_null $P743, vivify_272
+ unless_null $P743, vivify_273
$P743 = root_new ['parrot';'Hash']
- vivify_272:
+ vivify_273:
set $P744, $P743["scope_declarator"]
- unless_null $P744, vivify_273
+ unless_null $P744, vivify_274
new $P744, "Undef"
- vivify_273:
+ vivify_274:
$P745 = $P744."ast"()
$P746 = $P742."!make"($P745)
.return ($P746)
@@ -18170,7 +18245,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>" :subid("52_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<routine_declarator>" :subid("52_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_751
.annotate "line", 276
new $P750, 'ExceptionHandler'
@@ -18181,13 +18256,13 @@
.lex "$/", param_751
find_lex $P752, "$/"
find_lex $P753, "$/"
- unless_null $P753, vivify_274
+ unless_null $P753, vivify_275
$P753 = root_new ['parrot';'Hash']
- vivify_274:
+ vivify_275:
set $P754, $P753["routine_declarator"]
- unless_null $P754, vivify_275
+ unless_null $P754, vivify_276
new $P754, "Undef"
- vivify_275:
+ vivify_276:
$P755 = $P754."ast"()
$P756 = $P752."!make"($P755)
.return ($P756)
@@ -18200,7 +18275,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>" :subid("53_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<regex_declarator>" :subid("53_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_761
.annotate "line", 277
new $P760, 'ExceptionHandler'
@@ -18211,13 +18286,13 @@
.lex "$/", param_761
find_lex $P762, "$/"
find_lex $P763, "$/"
- unless_null $P763, vivify_276
+ unless_null $P763, vivify_277
$P763 = root_new ['parrot';'Hash']
- vivify_276:
+ vivify_277:
set $P764, $P763["regex_declarator"]
- unless_null $P764, vivify_277
+ unless_null $P764, vivify_278
new $P764, "Undef"
- vivify_277:
+ vivify_278:
$P765 = $P764."ast"()
$P766 = $P762."!make"($P765)
.return ($P766)
@@ -18230,7 +18305,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>" :subid("54_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<statement_prefix>" :subid("54_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_771
.annotate "line", 278
new $P770, 'ExceptionHandler'
@@ -18241,13 +18316,13 @@
.lex "$/", param_771
find_lex $P772, "$/"
find_lex $P773, "$/"
- unless_null $P773, vivify_278
+ unless_null $P773, vivify_279
$P773 = root_new ['parrot';'Hash']
- vivify_278:
+ vivify_279:
set $P774, $P773["statement_prefix"]
- unless_null $P774, vivify_279
+ unless_null $P774, vivify_280
new $P774, "Undef"
- vivify_279:
+ vivify_280:
$P775 = $P774."ast"()
$P776 = $P772."!make"($P775)
.return ($P776)
@@ -18260,7 +18335,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>" :subid("55_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<lambda>" :subid("55_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_781
.annotate "line", 279
new $P780, 'ExceptionHandler'
@@ -18271,13 +18346,13 @@
.lex "$/", param_781
find_lex $P782, "$/"
find_lex $P783, "$/"
- unless_null $P783, vivify_280
+ unless_null $P783, vivify_281
$P783 = root_new ['parrot';'Hash']
- vivify_280:
+ vivify_281:
set $P784, $P783["pblock"]
- unless_null $P784, vivify_281
+ unless_null $P784, vivify_282
new $P784, "Undef"
- vivify_281:
+ vivify_282:
$P785 = $P784."ast"()
$P786 = $P782."!make"($P785)
.return ($P786)
@@ -18290,7 +18365,7 @@
.namespace ["NQP";"Actions"]
-.sub "fatarrow" :subid("56_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "fatarrow" :subid("56_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_791
.annotate "line", 281
new $P790, 'ExceptionHandler'
@@ -18303,25 +18378,25 @@
new $P792, "Undef"
.lex "$past", $P792
find_lex $P793, "$/"
- unless_null $P793, vivify_282
+ unless_null $P793, vivify_283
$P793 = root_new ['parrot';'Hash']
- vivify_282:
+ vivify_283:
set $P794, $P793["val"]
- unless_null $P794, vivify_283
+ unless_null $P794, vivify_284
new $P794, "Undef"
- vivify_283:
+ vivify_284:
$P795 = $P794."ast"()
store_lex "$past", $P795
.annotate "line", 283
find_lex $P796, "$past"
find_lex $P797, "$/"
- unless_null $P797, vivify_284
+ unless_null $P797, vivify_285
$P797 = root_new ['parrot';'Hash']
- vivify_284:
+ vivify_285:
set $P798, $P797["key"]
- unless_null $P798, vivify_285
+ unless_null $P798, vivify_286
new $P798, "Undef"
- vivify_285:
+ vivify_286:
$P799 = $P798."Str"()
$P796."named"($P799)
.annotate "line", 284
@@ -18339,7 +18414,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair" :subid("57_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "colonpair" :subid("57_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_807
.annotate "line", 287
new $P806, 'ExceptionHandler'
@@ -18353,24 +18428,24 @@
.lex "$past", $P808
.annotate "line", 289
find_lex $P811, "$/"
- unless_null $P811, vivify_286
+ unless_null $P811, vivify_287
$P811 = root_new ['parrot';'Hash']
- vivify_286:
+ vivify_287:
set $P812, $P811["circumfix"]
- unless_null $P812, vivify_287
+ unless_null $P812, vivify_288
new $P812, "Undef"
- vivify_287:
+ vivify_288:
if $P812, if_810
.annotate "line", 290
get_hll_global $P817, ["PAST"], "Val"
find_lex $P818, "$/"
- unless_null $P818, vivify_288
+ unless_null $P818, vivify_289
$P818 = root_new ['parrot';'Hash']
- vivify_288:
+ vivify_289:
set $P819, $P818["not"]
- unless_null $P819, vivify_289
+ unless_null $P819, vivify_290
new $P819, "Undef"
- vivify_289:
+ vivify_290:
isfalse $I820, $P819
$P821 = $P817."new"($I820 :named("value"))
set $P809, $P821
@@ -18378,17 +18453,17 @@
goto if_810_end
if_810:
find_lex $P813, "$/"
- unless_null $P813, vivify_290
+ unless_null $P813, vivify_291
$P813 = root_new ['parrot';'Hash']
- vivify_290:
+ vivify_291:
set $P814, $P813["circumfix"]
- unless_null $P814, vivify_291
+ unless_null $P814, vivify_292
$P814 = root_new ['parrot';'ResizablePMCArray']
- vivify_291:
+ vivify_292:
set $P815, $P814[0]
- unless_null $P815, vivify_292
+ unless_null $P815, vivify_293
new $P815, "Undef"
- vivify_292:
+ vivify_293:
$P816 = $P815."ast"()
set $P809, $P816
if_810_end:
@@ -18396,13 +18471,13 @@
.annotate "line", 291
find_lex $P822, "$past"
find_lex $P823, "$/"
- unless_null $P823, vivify_293
+ unless_null $P823, vivify_294
$P823 = root_new ['parrot';'Hash']
- vivify_293:
+ vivify_294:
set $P824, $P823["identifier"]
- unless_null $P824, vivify_294
+ unless_null $P824, vivify_295
new $P824, "Undef"
- vivify_294:
+ vivify_295:
set $S825, $P824
$P822."named"($S825)
.annotate "line", 292
@@ -18420,10 +18495,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable" :subid("58_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "variable" :subid("58_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_833
.annotate "line", 295
- .const 'Sub' $P846 = "59_1271336409.53729"
+ .const 'Sub' $P846 = "59_1271948680.36754"
capture_lex $P846
new $P832, 'ExceptionHandler'
set_addr $P832, control_831
@@ -18438,29 +18513,29 @@
find_lex $P835, "$past"
.annotate "line", 297
find_lex $P837, "$/"
- unless_null $P837, vivify_295
+ unless_null $P837, vivify_296
$P837 = root_new ['parrot';'Hash']
- vivify_295:
+ vivify_296:
set $P838, $P837["postcircumfix"]
- unless_null $P838, vivify_296
+ unless_null $P838, vivify_297
new $P838, "Undef"
- vivify_296:
+ vivify_297:
if $P838, if_836
.annotate "line", 301
- .const 'Sub' $P846 = "59_1271336409.53729"
+ .const 'Sub' $P846 = "59_1271948680.36754"
capture_lex $P846
$P846()
goto if_836_end
if_836:
.annotate "line", 298
find_lex $P839, "$/"
- unless_null $P839, vivify_313
+ unless_null $P839, vivify_314
$P839 = root_new ['parrot';'Hash']
- vivify_313:
+ vivify_314:
set $P840, $P839["postcircumfix"]
- unless_null $P840, vivify_314
+ unless_null $P840, vivify_315
new $P840, "Undef"
- vivify_314:
+ vivify_315:
$P841 = $P840."ast"()
store_lex "$past", $P841
.annotate "line", 299
@@ -18484,7 +18559,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block845" :anon :subid("59_1271336409.53729") :outer("58_1271336409.53729")
+.sub "_block845" :anon :subid("59_1271948680.36754") :outer("58_1271948680.36754")
.annotate "line", 302
$P847 = root_new ['parrot';'ResizablePMCArray']
.lex "@name", $P847
@@ -18505,13 +18580,13 @@
unless $P858, if_857_end
.annotate "line", 305
find_lex $P860, "@name"
- unless_null $P860, vivify_297
+ unless_null $P860, vivify_298
$P860 = root_new ['parrot';'ResizablePMCArray']
- vivify_297:
+ vivify_298:
set $P861, $P860[0]
- unless_null $P861, vivify_298
+ unless_null $P861, vivify_299
new $P861, "Undef"
- vivify_298:
+ vivify_299:
set $S862, $P861
iseq $I863, $S862, "GLOBAL"
unless $I863, if_859_end
@@ -18528,13 +18603,13 @@
.annotate "line", 308
find_lex $P868, "$past"
find_lex $P869, "$/"
- unless_null $P869, vivify_299
+ unless_null $P869, vivify_300
$P869 = root_new ['parrot';'Hash']
- vivify_299:
+ vivify_300:
set $P870, $P869["sigil"]
- unless_null $P870, vivify_300
+ unless_null $P870, vivify_301
new $P870, "Undef"
- vivify_300:
+ vivify_301:
$P871 = "vivitype"($P870)
$P868."viviself"($P871)
.annotate "line", 309
@@ -18543,33 +18618,33 @@
if_857_end:
.annotate "line", 311
find_lex $P875, "$/"
- unless_null $P875, vivify_301
+ unless_null $P875, vivify_302
$P875 = root_new ['parrot';'Hash']
- vivify_301:
+ vivify_302:
set $P876, $P875["twigil"]
- unless_null $P876, vivify_302
+ unless_null $P876, vivify_303
$P876 = root_new ['parrot';'ResizablePMCArray']
- vivify_302:
+ vivify_303:
set $P877, $P876[0]
- unless_null $P877, vivify_303
+ unless_null $P877, vivify_304
new $P877, "Undef"
- vivify_303:
+ vivify_304:
set $S878, $P877
iseq $I879, $S878, "*"
if $I879, if_874
.annotate "line", 324
find_lex $P901, "$/"
- unless_null $P901, vivify_304
+ unless_null $P901, vivify_305
$P901 = root_new ['parrot';'Hash']
- vivify_304:
+ vivify_305:
set $P902, $P901["twigil"]
- unless_null $P902, vivify_305
+ unless_null $P902, vivify_306
$P902 = root_new ['parrot';'ResizablePMCArray']
- vivify_305:
+ vivify_306:
set $P903, $P902[0]
- unless_null $P903, vivify_306
+ unless_null $P903, vivify_307
new $P903, "Undef"
- vivify_306:
+ vivify_307:
set $S904, $P903
iseq $I905, $S904, "!"
if $I905, if_900
@@ -18588,13 +18663,13 @@
.annotate "line", 327
find_lex $P910, "$past"
find_lex $P911, "$/"
- unless_null $P911, vivify_307
+ unless_null $P911, vivify_308
$P911 = root_new ['parrot';'Hash']
- vivify_307:
+ vivify_308:
set $P912, $P911["sigil"]
- unless_null $P912, vivify_308
+ unless_null $P912, vivify_309
new $P912, "Undef"
- vivify_308:
+ vivify_309:
$P913 = "vivitype"($P912)
$P914 = $P910."viviself"($P913)
.annotate "line", 324
@@ -18613,24 +18688,24 @@
get_hll_global $P882, ["PAST"], "Var"
.annotate "line", 316
find_lex $P883, "$/"
- unless_null $P883, vivify_309
+ unless_null $P883, vivify_310
$P883 = root_new ['parrot';'Hash']
- vivify_309:
+ vivify_310:
set $P884, $P883["sigil"]
- unless_null $P884, vivify_310
+ unless_null $P884, vivify_311
new $P884, "Undef"
- vivify_310:
+ vivify_311:
set $S885, $P884
new $P886, 'String'
set $P886, $S885
find_lex $P887, "$/"
- unless_null $P887, vivify_311
+ unless_null $P887, vivify_312
$P887 = root_new ['parrot';'Hash']
- vivify_311:
+ vivify_312:
set $P888, $P887["desigilname"]
- unless_null $P888, vivify_312
+ unless_null $P888, vivify_313
new $P888, "Undef"
- vivify_312:
+ vivify_313:
concat $P889, $P886, $P888
.annotate "line", 318
get_hll_global $P890, ["PAST"], "Op"
@@ -18653,7 +18728,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>" :subid("60_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "package_declarator:sym<module>" :subid("60_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_922
.annotate "line", 333
new $P921, 'ExceptionHandler'
@@ -18664,13 +18739,13 @@
.lex "$/", param_922
find_lex $P923, "$/"
find_lex $P924, "$/"
- unless_null $P924, vivify_315
+ unless_null $P924, vivify_316
$P924 = root_new ['parrot';'Hash']
- vivify_315:
+ vivify_316:
set $P925, $P924["package_def"]
- unless_null $P925, vivify_316
+ unless_null $P925, vivify_317
new $P925, "Undef"
- vivify_316:
+ vivify_317:
$P926 = $P925."ast"()
$P927 = $P923."!make"($P926)
.return ($P927)
@@ -18683,7 +18758,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>" :subid("61_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "package_declarator:sym<class>" :subid("61_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_932
.annotate "line", 334
new $P931, 'ExceptionHandler'
@@ -18703,13 +18778,13 @@
.lex "$parent", $P935
.annotate "line", 335
find_lex $P936, "$/"
- unless_null $P936, vivify_317
+ unless_null $P936, vivify_318
$P936 = root_new ['parrot';'Hash']
- vivify_317:
+ vivify_318:
set $P937, $P936["package_def"]
- unless_null $P937, vivify_318
+ unless_null $P937, vivify_319
new $P937, "Undef"
- vivify_318:
+ vivify_319:
$P938 = $P937."ast"()
store_lex "$past", $P938
.annotate "line", 337
@@ -18719,38 +18794,38 @@
$P941 = $P940."new"(" %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
.annotate "line", 341
find_lex $P942, "$/"
- unless_null $P942, vivify_319
+ unless_null $P942, vivify_320
$P942 = root_new ['parrot';'Hash']
- vivify_319:
+ vivify_320:
set $P943, $P942["package_def"]
- unless_null $P943, vivify_320
+ unless_null $P943, vivify_321
$P943 = root_new ['parrot';'Hash']
- vivify_320:
+ vivify_321:
set $P944, $P943["name"]
- unless_null $P944, vivify_321
+ unless_null $P944, vivify_322
new $P944, "Undef"
- vivify_321:
+ vivify_322:
set $S945, $P944
$P946 = $P939."new"($P941, $S945, "new_class" :named("name"), "callmethod" :named("pasttype"))
.annotate "line", 337
store_lex "$classinit", $P946
.annotate "line", 345
find_lex $P949, "$/"
- unless_null $P949, vivify_322
+ unless_null $P949, vivify_323
$P949 = root_new ['parrot';'Hash']
- vivify_322:
+ vivify_323:
set $P950, $P949["package_def"]
- unless_null $P950, vivify_323
+ unless_null $P950, vivify_324
$P950 = root_new ['parrot';'Hash']
- vivify_323:
+ vivify_324:
set $P951, $P950["parent"]
- unless_null $P951, vivify_324
+ unless_null $P951, vivify_325
$P951 = root_new ['parrot';'ResizablePMCArray']
- vivify_324:
+ vivify_325:
set $P952, $P951[0]
- unless_null $P952, vivify_325
+ unless_null $P952, vivify_326
new $P952, "Undef"
- vivify_325:
+ vivify_326:
set $S953, $P952
unless $S953, unless_948
new $P947, 'String'
@@ -18759,13 +18834,13 @@
unless_948:
.annotate "line", 346
find_lex $P956, "$/"
- unless_null $P956, vivify_326
+ unless_null $P956, vivify_327
$P956 = root_new ['parrot';'Hash']
- vivify_326:
+ vivify_327:
set $P957, $P956["sym"]
- unless_null $P957, vivify_327
+ unless_null $P957, vivify_328
new $P957, "Undef"
- vivify_327:
+ vivify_328:
set $S958, $P957
iseq $I959, $S958, "grammar"
if $I959, if_955
@@ -18793,35 +18868,35 @@
if_962_end:
.annotate "line", 350
find_lex $P969, "$past"
- unless_null $P969, vivify_328
+ unless_null $P969, vivify_329
$P969 = root_new ['parrot';'Hash']
- vivify_328:
+ vivify_329:
set $P970, $P969["attributes"]
- unless_null $P970, vivify_329
+ unless_null $P970, vivify_330
new $P970, "Undef"
- vivify_329:
+ vivify_330:
unless $P970, if_968_end
.annotate "line", 351
find_lex $P971, "$classinit"
find_lex $P972, "$past"
- unless_null $P972, vivify_330
+ unless_null $P972, vivify_331
$P972 = root_new ['parrot';'Hash']
- vivify_330:
+ vivify_331:
set $P973, $P972["attributes"]
- unless_null $P973, vivify_331
+ unless_null $P973, vivify_332
new $P973, "Undef"
- vivify_331:
+ vivify_332:
$P971."push"($P973)
if_968_end:
.annotate "line", 353
get_global $P974, "@BLOCK"
- unless_null $P974, vivify_332
+ unless_null $P974, vivify_333
$P974 = root_new ['parrot';'ResizablePMCArray']
- vivify_332:
+ vivify_333:
set $P975, $P974[0]
- unless_null $P975, vivify_333
+ unless_null $P975, vivify_334
new $P975, "Undef"
- vivify_333:
+ vivify_334:
$P976 = $P975."loadinit"()
find_lex $P977, "$classinit"
$P976."push"($P977)
@@ -18840,7 +18915,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_def" :subid("62_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "package_def" :subid("62_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_985
.annotate "line", 357
new $P984, 'ExceptionHandler'
@@ -18853,34 +18928,34 @@
new $P986, "Undef"
.lex "$past", $P986
find_lex $P989, "$/"
- unless_null $P989, vivify_334
+ unless_null $P989, vivify_335
$P989 = root_new ['parrot';'Hash']
- vivify_334:
+ vivify_335:
set $P990, $P989["block"]
- unless_null $P990, vivify_335
+ unless_null $P990, vivify_336
new $P990, "Undef"
- vivify_335:
+ vivify_336:
if $P990, if_988
find_lex $P994, "$/"
- unless_null $P994, vivify_336
+ unless_null $P994, vivify_337
$P994 = root_new ['parrot';'Hash']
- vivify_336:
+ vivify_337:
set $P995, $P994["comp_unit"]
- unless_null $P995, vivify_337
+ unless_null $P995, vivify_338
new $P995, "Undef"
- vivify_337:
+ vivify_338:
$P996 = $P995."ast"()
set $P987, $P996
goto if_988_end
if_988:
find_lex $P991, "$/"
- unless_null $P991, vivify_338
+ unless_null $P991, vivify_339
$P991 = root_new ['parrot';'Hash']
- vivify_338:
+ vivify_339:
set $P992, $P991["block"]
- unless_null $P992, vivify_339
+ unless_null $P992, vivify_340
new $P992, "Undef"
- vivify_339:
+ vivify_340:
$P993 = $P992."ast"()
set $P987, $P993
if_988_end:
@@ -18888,17 +18963,17 @@
.annotate "line", 359
find_lex $P997, "$past"
find_lex $P998, "$/"
- unless_null $P998, vivify_340
+ unless_null $P998, vivify_341
$P998 = root_new ['parrot';'Hash']
- vivify_340:
+ vivify_341:
set $P999, $P998["name"]
- unless_null $P999, vivify_341
+ unless_null $P999, vivify_342
$P999 = root_new ['parrot';'Hash']
- vivify_341:
+ vivify_342:
set $P1000, $P999["identifier"]
- unless_null $P1000, vivify_342
+ unless_null $P1000, vivify_343
new $P1000, "Undef"
- vivify_342:
+ vivify_343:
$P997."namespace"($P1000)
.annotate "line", 360
find_lex $P1001, "$past"
@@ -18918,7 +18993,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>" :subid("63_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "scope_declarator:sym<my>" :subid("63_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1009
.annotate "line", 364
new $P1008, 'ExceptionHandler'
@@ -18929,13 +19004,13 @@
.lex "$/", param_1009
find_lex $P1010, "$/"
find_lex $P1011, "$/"
- unless_null $P1011, vivify_343
+ unless_null $P1011, vivify_344
$P1011 = root_new ['parrot';'Hash']
- vivify_343:
+ vivify_344:
set $P1012, $P1011["scoped"]
- unless_null $P1012, vivify_344
+ unless_null $P1012, vivify_345
new $P1012, "Undef"
- vivify_344:
+ vivify_345:
$P1013 = $P1012."ast"()
$P1014 = $P1010."!make"($P1013)
.return ($P1014)
@@ -18948,7 +19023,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>" :subid("64_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "scope_declarator:sym<our>" :subid("64_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1019
.annotate "line", 365
new $P1018, 'ExceptionHandler'
@@ -18959,13 +19034,13 @@
.lex "$/", param_1019
find_lex $P1020, "$/"
find_lex $P1021, "$/"
- unless_null $P1021, vivify_345
+ unless_null $P1021, vivify_346
$P1021 = root_new ['parrot';'Hash']
- vivify_345:
+ vivify_346:
set $P1022, $P1021["scoped"]
- unless_null $P1022, vivify_346
+ unless_null $P1022, vivify_347
new $P1022, "Undef"
- vivify_346:
+ vivify_347:
$P1023 = $P1022."ast"()
$P1024 = $P1020."!make"($P1023)
.return ($P1024)
@@ -18978,7 +19053,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>" :subid("65_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "scope_declarator:sym<has>" :subid("65_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1029
.annotate "line", 366
new $P1028, 'ExceptionHandler'
@@ -18989,13 +19064,13 @@
.lex "$/", param_1029
find_lex $P1030, "$/"
find_lex $P1031, "$/"
- unless_null $P1031, vivify_347
+ unless_null $P1031, vivify_348
$P1031 = root_new ['parrot';'Hash']
- vivify_347:
+ vivify_348:
set $P1032, $P1031["scoped"]
- unless_null $P1032, vivify_348
+ unless_null $P1032, vivify_349
new $P1032, "Undef"
- vivify_348:
+ vivify_349:
$P1033 = $P1032."ast"()
$P1034 = $P1030."!make"($P1033)
.return ($P1034)
@@ -19008,7 +19083,7 @@
.namespace ["NQP";"Actions"]
-.sub "scoped" :subid("66_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "scoped" :subid("66_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1039
.annotate "line", 368
new $P1038, 'ExceptionHandler'
@@ -19021,36 +19096,36 @@
find_lex $P1040, "$/"
.annotate "line", 370
find_lex $P1043, "$/"
- unless_null $P1043, vivify_349
+ unless_null $P1043, vivify_350
$P1043 = root_new ['parrot';'Hash']
- vivify_349:
+ vivify_350:
set $P1044, $P1043["routine_declarator"]
- unless_null $P1044, vivify_350
+ unless_null $P1044, vivify_351
new $P1044, "Undef"
- vivify_350:
+ vivify_351:
if $P1044, if_1042
.annotate "line", 371
find_lex $P1048, "$/"
- unless_null $P1048, vivify_351
+ unless_null $P1048, vivify_352
$P1048 = root_new ['parrot';'Hash']
- vivify_351:
+ vivify_352:
set $P1049, $P1048["variable_declarator"]
- unless_null $P1049, vivify_352
+ unless_null $P1049, vivify_353
new $P1049, "Undef"
- vivify_352:
+ vivify_353:
$P1050 = $P1049."ast"()
set $P1041, $P1050
.annotate "line", 370
goto if_1042_end
if_1042:
find_lex $P1045, "$/"
- unless_null $P1045, vivify_353
+ unless_null $P1045, vivify_354
$P1045 = root_new ['parrot';'Hash']
- vivify_353:
+ vivify_354:
set $P1046, $P1045["routine_declarator"]
- unless_null $P1046, vivify_354
+ unless_null $P1046, vivify_355
new $P1046, "Undef"
- vivify_354:
+ vivify_355:
$P1047 = $P1046."ast"()
set $P1041, $P1047
if_1042_end:
@@ -19066,10 +19141,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable_declarator" :subid("67_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "variable_declarator" :subid("67_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1056
.annotate "line", 374
- .const 'Sub' $P1096 = "68_1271336409.53729"
+ .const 'Sub' $P1096 = "68_1271948680.36754"
capture_lex $P1096
new $P1055, 'ExceptionHandler'
set_addr $P1055, control_1054
@@ -19091,28 +19166,28 @@
.lex "$BLOCK", $P1060
.annotate "line", 375
find_lex $P1061, "$/"
- unless_null $P1061, vivify_355
+ unless_null $P1061, vivify_356
$P1061 = root_new ['parrot';'Hash']
- vivify_355:
+ vivify_356:
set $P1062, $P1061["variable"]
- unless_null $P1062, vivify_356
+ unless_null $P1062, vivify_357
new $P1062, "Undef"
- vivify_356:
+ vivify_357:
$P1063 = $P1062."ast"()
store_lex "$past", $P1063
.annotate "line", 376
find_lex $P1064, "$/"
- unless_null $P1064, vivify_357
+ unless_null $P1064, vivify_358
$P1064 = root_new ['parrot';'Hash']
- vivify_357:
+ vivify_358:
set $P1065, $P1064["variable"]
- unless_null $P1065, vivify_358
+ unless_null $P1065, vivify_359
$P1065 = root_new ['parrot';'Hash']
- vivify_358:
+ vivify_359:
set $P1066, $P1065["sigil"]
- unless_null $P1066, vivify_359
+ unless_null $P1066, vivify_360
new $P1066, "Undef"
- vivify_359:
+ vivify_360:
store_lex "$sigil", $P1066
.annotate "line", 377
find_lex $P1067, "$past"
@@ -19120,13 +19195,13 @@
store_lex "$name", $P1068
.annotate "line", 378
get_global $P1069, "@BLOCK"
- unless_null $P1069, vivify_360
+ unless_null $P1069, vivify_361
$P1069 = root_new ['parrot';'ResizablePMCArray']
- vivify_360:
+ vivify_361:
set $P1070, $P1069[0]
- unless_null $P1070, vivify_361
+ unless_null $P1070, vivify_362
new $P1070, "Undef"
- vivify_361:
+ vivify_362:
store_lex "$BLOCK", $P1070
.annotate "line", 379
find_lex $P1072, "$BLOCK"
@@ -19141,17 +19216,17 @@
if_1071_end:
.annotate "line", 382
find_dynamic_lex $P1079, "$*SCOPE"
- unless_null $P1079, vivify_362
- get_hll_global $P1079, "$SCOPE"
unless_null $P1079, vivify_363
+ get_hll_global $P1079, "$SCOPE"
+ unless_null $P1079, vivify_364
die "Contextual $*SCOPE not found"
+ vivify_364:
vivify_363:
- vivify_362:
set $S1080, $P1079
iseq $I1081, $S1080, "has"
if $I1081, if_1078
.annotate "line", 391
- .const 'Sub' $P1096 = "68_1271336409.53729"
+ .const 'Sub' $P1096 = "68_1271948680.36754"
capture_lex $P1096
$P1096()
goto if_1078_end
@@ -19162,33 +19237,33 @@
$P1082."symbol"($P1083, "attribute" :named("scope"))
.annotate "line", 384
find_lex $P1085, "$BLOCK"
- unless_null $P1085, vivify_368
+ unless_null $P1085, vivify_369
$P1085 = root_new ['parrot';'Hash']
- vivify_368:
+ vivify_369:
set $P1086, $P1085["attributes"]
- unless_null $P1086, vivify_369
+ unless_null $P1086, vivify_370
new $P1086, "Undef"
- vivify_369:
+ vivify_370:
if $P1086, unless_1084_end
.annotate "line", 386
get_hll_global $P1087, ["PAST"], "Op"
$P1088 = $P1087."new"("list" :named("pasttype"), "attr" :named("named"))
find_lex $P1089, "$BLOCK"
- unless_null $P1089, vivify_370
+ unless_null $P1089, vivify_371
$P1089 = root_new ['parrot';'Hash']
store_lex "$BLOCK", $P1089
- vivify_370:
+ vivify_371:
set $P1089["attributes"], $P1088
unless_1084_end:
.annotate "line", 388
find_lex $P1090, "$BLOCK"
- unless_null $P1090, vivify_371
+ unless_null $P1090, vivify_372
$P1090 = root_new ['parrot';'Hash']
- vivify_371:
+ vivify_372:
set $P1091, $P1090["attributes"]
- unless_null $P1091, vivify_372
+ unless_null $P1091, vivify_373
new $P1091, "Undef"
- vivify_372:
+ vivify_373:
find_lex $P1092, "$name"
$P1091."push"($P1092)
.annotate "line", 389
@@ -19211,7 +19286,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1095" :anon :subid("68_1271336409.53729") :outer("67_1271336409.53729")
+.sub "_block1095" :anon :subid("68_1271948680.36754") :outer("67_1271948680.36754")
.annotate "line", 392
new $P1097, "Undef"
.lex "$scope", $P1097
@@ -19220,12 +19295,12 @@
.lex "$decl", $P1098
.annotate "line", 392
find_dynamic_lex $P1101, "$*SCOPE"
- unless_null $P1101, vivify_364
- get_hll_global $P1101, "$SCOPE"
unless_null $P1101, vivify_365
+ get_hll_global $P1101, "$SCOPE"
+ unless_null $P1101, vivify_366
die "Contextual $*SCOPE not found"
+ vivify_366:
vivify_365:
- vivify_364:
set $S1102, $P1101
iseq $I1103, $S1102, "our"
if $I1103, if_1100
@@ -19257,13 +19332,13 @@
$P1113."symbol"($P1114, $P1115 :named("scope"))
.annotate "line", 397
find_lex $P1116, "$BLOCK"
- unless_null $P1116, vivify_366
+ unless_null $P1116, vivify_367
$P1116 = root_new ['parrot';'ResizablePMCArray']
- vivify_366:
+ vivify_367:
set $P1117, $P1116[0]
- unless_null $P1117, vivify_367
+ unless_null $P1117, vivify_368
new $P1117, "Undef"
- vivify_367:
+ vivify_368:
find_lex $P1118, "$decl"
$P1119 = $P1117."push"($P1118)
.annotate "line", 391
@@ -19272,7 +19347,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>" :subid("69_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "routine_declarator:sym<sub>" :subid("69_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1127
.annotate "line", 402
new $P1126, 'ExceptionHandler'
@@ -19283,13 +19358,13 @@
.lex "$/", param_1127
find_lex $P1128, "$/"
find_lex $P1129, "$/"
- unless_null $P1129, vivify_373
+ unless_null $P1129, vivify_374
$P1129 = root_new ['parrot';'Hash']
- vivify_373:
+ vivify_374:
set $P1130, $P1129["routine_def"]
- unless_null $P1130, vivify_374
+ unless_null $P1130, vivify_375
new $P1130, "Undef"
- vivify_374:
+ vivify_375:
$P1131 = $P1130."ast"()
$P1132 = $P1128."!make"($P1131)
.return ($P1132)
@@ -19302,7 +19377,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>" :subid("70_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "routine_declarator:sym<method>" :subid("70_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1137
.annotate "line", 403
new $P1136, 'ExceptionHandler'
@@ -19313,13 +19388,13 @@
.lex "$/", param_1137
find_lex $P1138, "$/"
find_lex $P1139, "$/"
- unless_null $P1139, vivify_375
+ unless_null $P1139, vivify_376
$P1139 = root_new ['parrot';'Hash']
- vivify_375:
+ vivify_376:
set $P1140, $P1139["method_def"]
- unless_null $P1140, vivify_376
+ unless_null $P1140, vivify_377
new $P1140, "Undef"
- vivify_376:
+ vivify_377:
$P1141 = $P1140."ast"()
$P1142 = $P1138."!make"($P1141)
.return ($P1142)
@@ -19332,10 +19407,10 @@
.namespace ["NQP";"Actions"]
-.sub "routine_def" :subid("71_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "routine_def" :subid("71_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1147
.annotate "line", 405
- .const 'Sub' $P1158 = "72_1271336409.53729"
+ .const 'Sub' $P1158 = "72_1271948680.36754"
capture_lex $P1158
new $P1146, 'ExceptionHandler'
set_addr $P1146, control_1145
@@ -19347,13 +19422,13 @@
new $P1148, "Undef"
.lex "$past", $P1148
find_lex $P1149, "$/"
- unless_null $P1149, vivify_377
+ unless_null $P1149, vivify_378
$P1149 = root_new ['parrot';'Hash']
- vivify_377:
+ vivify_378:
set $P1150, $P1149["blockoid"]
- unless_null $P1150, vivify_378
+ unless_null $P1150, vivify_379
new $P1150, "Undef"
- vivify_378:
+ vivify_379:
$P1151 = $P1150."ast"()
store_lex "$past", $P1151
.annotate "line", 407
@@ -19364,15 +19439,15 @@
$P1153."control"("return_pir")
.annotate "line", 409
find_lex $P1155, "$/"
- unless_null $P1155, vivify_379
+ unless_null $P1155, vivify_380
$P1155 = root_new ['parrot';'Hash']
- vivify_379:
+ vivify_380:
set $P1156, $P1155["deflongname"]
- unless_null $P1156, vivify_380
+ unless_null $P1156, vivify_381
new $P1156, "Undef"
- vivify_380:
+ vivify_381:
unless $P1156, if_1154_end
- .const 'Sub' $P1158 = "72_1271336409.53729"
+ .const 'Sub' $P1158 = "72_1271948680.36754"
capture_lex $P1158
$P1158()
if_1154_end:
@@ -19391,37 +19466,37 @@
.namespace ["NQP";"Actions"]
-.sub "_block1157" :anon :subid("72_1271336409.53729") :outer("71_1271336409.53729")
+.sub "_block1157" :anon :subid("72_1271948680.36754") :outer("71_1271948680.36754")
.annotate "line", 410
new $P1159, "Undef"
.lex "$name", $P1159
find_lex $P1160, "$/"
- unless_null $P1160, vivify_381
+ unless_null $P1160, vivify_382
$P1160 = root_new ['parrot';'Hash']
- vivify_381:
+ vivify_382:
set $P1161, $P1160["sigil"]
- unless_null $P1161, vivify_382
+ unless_null $P1161, vivify_383
$P1161 = root_new ['parrot';'ResizablePMCArray']
- vivify_382:
+ vivify_383:
set $P1162, $P1161[0]
- unless_null $P1162, vivify_383
+ unless_null $P1162, vivify_384
new $P1162, "Undef"
- vivify_383:
+ vivify_384:
set $S1163, $P1162
new $P1164, 'String'
set $P1164, $S1163
find_lex $P1165, "$/"
- unless_null $P1165, vivify_384
+ unless_null $P1165, vivify_385
$P1165 = root_new ['parrot';'Hash']
- vivify_384:
+ vivify_385:
set $P1166, $P1165["deflongname"]
- unless_null $P1166, vivify_385
+ unless_null $P1166, vivify_386
$P1166 = root_new ['parrot';'ResizablePMCArray']
- vivify_385:
+ vivify_386:
set $P1167, $P1166[0]
- unless_null $P1167, vivify_386
+ unless_null $P1167, vivify_387
new $P1167, "Undef"
- vivify_386:
+ vivify_387:
$S1168 = $P1167."ast"()
concat $P1169, $P1164, $S1168
store_lex "$name", $P1169
@@ -19431,12 +19506,12 @@
$P1170."name"($P1171)
.annotate "line", 412
find_dynamic_lex $P1174, "$*SCOPE"
- unless_null $P1174, vivify_387
- get_hll_global $P1174, "$SCOPE"
unless_null $P1174, vivify_388
+ get_hll_global $P1174, "$SCOPE"
+ unless_null $P1174, vivify_389
die "Contextual $*SCOPE not found"
+ vivify_389:
vivify_388:
- vivify_387:
set $S1175, $P1174
isne $I1176, $S1175, "our"
if $I1176, if_1173
@@ -19446,17 +19521,17 @@
if_1173:
.annotate "line", 413
get_global $P1177, "@BLOCK"
- unless_null $P1177, vivify_389
+ unless_null $P1177, vivify_390
$P1177 = root_new ['parrot';'ResizablePMCArray']
- vivify_389:
+ vivify_390:
set $P1178, $P1177[0]
- unless_null $P1178, vivify_390
+ unless_null $P1178, vivify_391
$P1178 = root_new ['parrot';'ResizablePMCArray']
- vivify_390:
+ vivify_391:
set $P1179, $P1178[0]
- unless_null $P1179, vivify_391
+ unless_null $P1179, vivify_392
new $P1179, "Undef"
- vivify_391:
+ vivify_392:
get_hll_global $P1180, ["PAST"], "Var"
find_lex $P1181, "$name"
find_lex $P1182, "$past"
@@ -19464,13 +19539,13 @@
$P1179."push"($P1183)
.annotate "line", 415
get_global $P1184, "@BLOCK"
- unless_null $P1184, vivify_392
+ unless_null $P1184, vivify_393
$P1184 = root_new ['parrot';'ResizablePMCArray']
- vivify_392:
+ vivify_393:
set $P1185, $P1184[0]
- unless_null $P1185, vivify_393
+ unless_null $P1185, vivify_394
new $P1185, "Undef"
- vivify_393:
+ vivify_394:
find_lex $P1186, "$name"
$P1185."symbol"($P1186, "lexical" :named("scope"))
.annotate "line", 416
@@ -19487,10 +19562,10 @@
.namespace ["NQP";"Actions"]
-.sub "method_def" :subid("73_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "method_def" :subid("73_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1197
.annotate "line", 423
- .const 'Sub' $P1213 = "74_1271336409.53729"
+ .const 'Sub' $P1213 = "74_1271948680.36754"
capture_lex $P1213
new $P1196, 'ExceptionHandler'
set_addr $P1196, control_1195
@@ -19502,13 +19577,13 @@
new $P1198, "Undef"
.lex "$past", $P1198
find_lex $P1199, "$/"
- unless_null $P1199, vivify_394
+ unless_null $P1199, vivify_395
$P1199 = root_new ['parrot';'Hash']
- vivify_394:
+ vivify_395:
set $P1200, $P1199["blockoid"]
- unless_null $P1200, vivify_395
+ unless_null $P1200, vivify_396
new $P1200, "Undef"
- vivify_395:
+ vivify_396:
$P1201 = $P1200."ast"()
store_lex "$past", $P1201
.annotate "line", 425
@@ -19519,13 +19594,13 @@
$P1203."control"("return_pir")
.annotate "line", 427
find_lex $P1204, "$past"
- unless_null $P1204, vivify_396
+ unless_null $P1204, vivify_397
$P1204 = root_new ['parrot';'ResizablePMCArray']
- vivify_396:
+ vivify_397:
set $P1205, $P1204[0]
- unless_null $P1205, vivify_397
+ unless_null $P1205, vivify_398
new $P1205, "Undef"
- vivify_397:
+ vivify_398:
get_hll_global $P1206, ["PAST"], "Op"
$P1207 = $P1206."new"(" .lex \"self\", self" :named("inline"))
$P1205."unshift"($P1207)
@@ -19534,15 +19609,15 @@
$P1208."symbol"("self", "lexical" :named("scope"))
.annotate "line", 429
find_lex $P1210, "$/"
- unless_null $P1210, vivify_398
+ unless_null $P1210, vivify_399
$P1210 = root_new ['parrot';'Hash']
- vivify_398:
+ vivify_399:
set $P1211, $P1210["deflongname"]
- unless_null $P1211, vivify_399
+ unless_null $P1211, vivify_400
new $P1211, "Undef"
- vivify_399:
+ vivify_400:
unless $P1211, if_1209_end
- .const 'Sub' $P1213 = "74_1271336409.53729"
+ .const 'Sub' $P1213 = "74_1271948680.36754"
capture_lex $P1213
$P1213()
if_1209_end:
@@ -19561,22 +19636,22 @@
.namespace ["NQP";"Actions"]
-.sub "_block1212" :anon :subid("74_1271336409.53729") :outer("73_1271336409.53729")
+.sub "_block1212" :anon :subid("74_1271948680.36754") :outer("73_1271948680.36754")
.annotate "line", 430
new $P1214, "Undef"
.lex "$name", $P1214
find_lex $P1215, "$/"
- unless_null $P1215, vivify_400
+ unless_null $P1215, vivify_401
$P1215 = root_new ['parrot';'Hash']
- vivify_400:
+ vivify_401:
set $P1216, $P1215["deflongname"]
- unless_null $P1216, vivify_401
+ unless_null $P1216, vivify_402
$P1216 = root_new ['parrot';'ResizablePMCArray']
- vivify_401:
+ vivify_402:
set $P1217, $P1216[0]
- unless_null $P1217, vivify_402
+ unless_null $P1217, vivify_403
new $P1217, "Undef"
- vivify_402:
+ vivify_403:
$P1218 = $P1217."ast"()
set $S1219, $P1218
new $P1220, 'String'
@@ -19592,10 +19667,10 @@
.namespace ["NQP";"Actions"]
-.sub "signature" :subid("75_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "signature" :subid("75_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1231
.annotate "line", 437
- .const 'Sub' $P1242 = "76_1271336409.53729"
+ .const 'Sub' $P1242 = "76_1271948680.36754"
capture_lex $P1242
new $P1230, 'ExceptionHandler'
set_addr $P1230, control_1229
@@ -19607,29 +19682,29 @@
new $P1232, "Undef"
.lex "$BLOCKINIT", $P1232
get_global $P1233, "@BLOCK"
- unless_null $P1233, vivify_403
+ unless_null $P1233, vivify_404
$P1233 = root_new ['parrot';'ResizablePMCArray']
- vivify_403:
+ vivify_404:
set $P1234, $P1233[0]
- unless_null $P1234, vivify_404
+ unless_null $P1234, vivify_405
$P1234 = root_new ['parrot';'ResizablePMCArray']
- vivify_404:
+ vivify_405:
set $P1235, $P1234[0]
- unless_null $P1235, vivify_405
+ unless_null $P1235, vivify_406
new $P1235, "Undef"
- vivify_405:
+ vivify_406:
store_lex "$BLOCKINIT", $P1235
.annotate "line", 439
find_lex $P1237, "$/"
- unless_null $P1237, vivify_406
+ unless_null $P1237, vivify_407
$P1237 = root_new ['parrot';'Hash']
- vivify_406:
+ vivify_407:
set $P1238, $P1237["parameter"]
- unless_null $P1238, vivify_407
+ unless_null $P1238, vivify_408
new $P1238, "Undef"
- vivify_407:
+ vivify_408:
defined $I1239, $P1238
- unless $I1239, for_undef_408
+ unless $I1239, for_undef_409
iter $P1236, $P1238
new $P1249, 'ExceptionHandler'
set_addr $P1249, loop1248_handler
@@ -19639,7 +19714,7 @@
unless $P1236, loop1248_done
shift $P1240, $P1236
loop1248_redo:
- .const 'Sub' $P1242 = "76_1271336409.53729"
+ .const 'Sub' $P1242 = "76_1271948680.36754"
capture_lex $P1242
$P1242($P1240)
loop1248_next:
@@ -19652,7 +19727,7 @@
eq $P1250, 67, loop1248_redo
loop1248_done:
pop_eh
- for_undef_408:
+ for_undef_409:
.annotate "line", 437
.return ($P1236)
control_1229:
@@ -19664,7 +19739,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1241" :anon :subid("76_1271336409.53729") :outer("75_1271336409.53729")
+.sub "_block1241" :anon :subid("76_1271948680.36754") :outer("75_1271948680.36754")
.param pmc param_1243
.annotate "line", 439
.lex "$_", param_1243
@@ -19677,7 +19752,7 @@
.namespace ["NQP";"Actions"]
-.sub "parameter" :subid("77_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "parameter" :subid("77_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1255
.annotate "line", 442
new $P1254, 'ExceptionHandler'
@@ -19694,34 +19769,34 @@
.lex "$past", $P1257
.annotate "line", 443
find_lex $P1258, "$/"
- unless_null $P1258, vivify_409
+ unless_null $P1258, vivify_410
$P1258 = root_new ['parrot';'Hash']
- vivify_409:
+ vivify_410:
set $P1259, $P1258["quant"]
- unless_null $P1259, vivify_410
+ unless_null $P1259, vivify_411
new $P1259, "Undef"
- vivify_410:
+ vivify_411:
store_lex "$quant", $P1259
find_lex $P1260, "$past"
.annotate "line", 445
find_lex $P1262, "$/"
- unless_null $P1262, vivify_411
+ unless_null $P1262, vivify_412
$P1262 = root_new ['parrot';'Hash']
- vivify_411:
+ vivify_412:
set $P1263, $P1262["named_param"]
- unless_null $P1263, vivify_412
+ unless_null $P1263, vivify_413
new $P1263, "Undef"
- vivify_412:
+ vivify_413:
if $P1263, if_1261
.annotate "line", 452
find_lex $P1277, "$/"
- unless_null $P1277, vivify_413
+ unless_null $P1277, vivify_414
$P1277 = root_new ['parrot';'Hash']
- vivify_413:
+ vivify_414:
set $P1278, $P1277["param_var"]
- unless_null $P1278, vivify_414
+ unless_null $P1278, vivify_415
new $P1278, "Undef"
- vivify_414:
+ vivify_415:
$P1279 = $P1278."ast"()
store_lex "$past", $P1279
.annotate "line", 453
@@ -19737,17 +19812,17 @@
.annotate "line", 458
find_lex $P1295, "$past"
find_lex $P1296, "$/"
- unless_null $P1296, vivify_415
+ unless_null $P1296, vivify_416
$P1296 = root_new ['parrot';'Hash']
- vivify_415:
+ vivify_416:
set $P1297, $P1296["param_var"]
- unless_null $P1297, vivify_416
+ unless_null $P1297, vivify_417
$P1297 = root_new ['parrot';'Hash']
- vivify_416:
+ vivify_417:
set $P1298, $P1297["sigil"]
- unless_null $P1298, vivify_417
+ unless_null $P1298, vivify_418
new $P1298, "Undef"
- vivify_417:
+ vivify_418:
$P1299 = "vivitype"($P1298)
$P1295."viviself"($P1299)
if_1291_end:
@@ -19760,17 +19835,17 @@
.annotate "line", 455
find_lex $P1285, "$past"
find_lex $P1286, "$/"
- unless_null $P1286, vivify_418
+ unless_null $P1286, vivify_419
$P1286 = root_new ['parrot';'Hash']
- vivify_418:
+ vivify_419:
set $P1287, $P1286["param_var"]
- unless_null $P1287, vivify_419
+ unless_null $P1287, vivify_420
$P1287 = root_new ['parrot';'Hash']
- vivify_419:
+ vivify_420:
set $P1288, $P1287["sigil"]
- unless_null $P1288, vivify_420
+ unless_null $P1288, vivify_421
new $P1288, "Undef"
- vivify_420:
+ vivify_421:
set $S1289, $P1288
iseq $I1290, $S1289, "%"
$P1285."named"($I1290)
@@ -19780,13 +19855,13 @@
if_1261:
.annotate "line", 446
find_lex $P1264, "$/"
- unless_null $P1264, vivify_421
+ unless_null $P1264, vivify_422
$P1264 = root_new ['parrot';'Hash']
- vivify_421:
+ vivify_422:
set $P1265, $P1264["named_param"]
- unless_null $P1265, vivify_422
+ unless_null $P1265, vivify_423
new $P1265, "Undef"
- vivify_422:
+ vivify_423:
$P1266 = $P1265."ast"()
store_lex "$past", $P1266
.annotate "line", 447
@@ -19797,34 +19872,34 @@
.annotate "line", 448
find_lex $P1271, "$past"
find_lex $P1272, "$/"
- unless_null $P1272, vivify_423
+ unless_null $P1272, vivify_424
$P1272 = root_new ['parrot';'Hash']
- vivify_423:
+ vivify_424:
set $P1273, $P1272["named_param"]
- unless_null $P1273, vivify_424
+ unless_null $P1273, vivify_425
$P1273 = root_new ['parrot';'Hash']
- vivify_424:
+ vivify_425:
set $P1274, $P1273["param_var"]
- unless_null $P1274, vivify_425
+ unless_null $P1274, vivify_426
$P1274 = root_new ['parrot';'Hash']
- vivify_425:
+ vivify_426:
set $P1275, $P1274["sigil"]
- unless_null $P1275, vivify_426
+ unless_null $P1275, vivify_427
new $P1275, "Undef"
- vivify_426:
+ vivify_427:
$P1276 = "vivitype"($P1275)
$P1271."viviself"($P1276)
if_1267_end:
if_1261_end:
.annotate "line", 461
find_lex $P1301, "$/"
- unless_null $P1301, vivify_427
+ unless_null $P1301, vivify_428
$P1301 = root_new ['parrot';'Hash']
- vivify_427:
+ vivify_428:
set $P1302, $P1301["default_value"]
- unless_null $P1302, vivify_428
+ unless_null $P1302, vivify_429
new $P1302, "Undef"
- vivify_428:
+ vivify_429:
unless $P1302, if_1300_end
.annotate "line", 462
find_lex $P1304, "$quant"
@@ -19849,21 +19924,21 @@
.annotate "line", 468
find_lex $P1315, "$past"
find_lex $P1316, "$/"
- unless_null $P1316, vivify_429
+ unless_null $P1316, vivify_430
$P1316 = root_new ['parrot';'Hash']
- vivify_429:
+ vivify_430:
set $P1317, $P1316["default_value"]
- unless_null $P1317, vivify_430
+ unless_null $P1317, vivify_431
$P1317 = root_new ['parrot';'ResizablePMCArray']
- vivify_430:
+ vivify_431:
set $P1318, $P1317[0]
- unless_null $P1318, vivify_431
+ unless_null $P1318, vivify_432
$P1318 = root_new ['parrot';'Hash']
- vivify_431:
+ vivify_432:
set $P1319, $P1318["EXPR"]
- unless_null $P1319, vivify_432
+ unless_null $P1319, vivify_433
new $P1319, "Undef"
- vivify_432:
+ vivify_433:
$P1320 = $P1319."ast"()
$P1315."viviself"($P1320)
if_1300_end:
@@ -19872,21 +19947,21 @@
$P1323 = $P1322."viviself"()
if $P1323, unless_1321_end
get_global $P1324, "@BLOCK"
- unless_null $P1324, vivify_433
+ unless_null $P1324, vivify_434
$P1324 = root_new ['parrot';'ResizablePMCArray']
- vivify_433:
+ vivify_434:
set $P1325, $P1324[0]
- unless_null $P1325, vivify_434
+ unless_null $P1325, vivify_435
new $P1325, "Undef"
- vivify_434:
+ vivify_435:
get_global $P1326, "@BLOCK"
- unless_null $P1326, vivify_435
+ unless_null $P1326, vivify_436
$P1326 = root_new ['parrot';'ResizablePMCArray']
- vivify_435:
+ vivify_436:
set $P1327, $P1326[0]
- unless_null $P1327, vivify_436
+ unless_null $P1327, vivify_437
new $P1327, "Undef"
- vivify_436:
+ vivify_437:
$P1328 = $P1327."arity"()
set $N1329, $P1328
new $P1330, 'Float'
@@ -19909,7 +19984,7 @@
.namespace ["NQP";"Actions"]
-.sub "param_var" :subid("78_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "param_var" :subid("78_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1339
.annotate "line", 474
new $P1338, 'ExceptionHandler'
@@ -19938,13 +20013,13 @@
store_lex "$past", $P1348
.annotate "line", 478
get_global $P1349, "@BLOCK"
- unless_null $P1349, vivify_437
+ unless_null $P1349, vivify_438
$P1349 = root_new ['parrot';'ResizablePMCArray']
- vivify_437:
+ vivify_438:
set $P1350, $P1349[0]
- unless_null $P1350, vivify_438
+ unless_null $P1350, vivify_439
new $P1350, "Undef"
- vivify_438:
+ vivify_439:
find_lex $P1351, "$name"
$P1350."symbol"($P1351, "lexical" :named("scope"))
.annotate "line", 479
@@ -19962,7 +20037,7 @@
.namespace ["NQP";"Actions"]
-.sub "named_param" :subid("79_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "named_param" :subid("79_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1359
.annotate "line", 482
new $P1358, 'ExceptionHandler'
@@ -19975,29 +20050,29 @@
new $P1360, "Undef"
.lex "$past", $P1360
find_lex $P1361, "$/"
- unless_null $P1361, vivify_439
+ unless_null $P1361, vivify_440
$P1361 = root_new ['parrot';'Hash']
- vivify_439:
+ vivify_440:
set $P1362, $P1361["param_var"]
- unless_null $P1362, vivify_440
+ unless_null $P1362, vivify_441
new $P1362, "Undef"
- vivify_440:
+ vivify_441:
$P1363 = $P1362."ast"()
store_lex "$past", $P1363
.annotate "line", 484
find_lex $P1364, "$past"
find_lex $P1365, "$/"
- unless_null $P1365, vivify_441
+ unless_null $P1365, vivify_442
$P1365 = root_new ['parrot';'Hash']
- vivify_441:
+ vivify_442:
set $P1366, $P1365["param_var"]
- unless_null $P1366, vivify_442
+ unless_null $P1366, vivify_443
$P1366 = root_new ['parrot';'Hash']
- vivify_442:
+ vivify_443:
set $P1367, $P1366["name"]
- unless_null $P1367, vivify_443
+ unless_null $P1367, vivify_444
new $P1367, "Undef"
- vivify_443:
+ vivify_444:
set $S1368, $P1367
$P1364."named"($S1368)
.annotate "line", 485
@@ -20015,14 +20090,14 @@
.namespace ["NQP";"Actions"]
-.sub "regex_declarator" :subid("80_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "regex_declarator" :subid("80_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1376
.param pmc param_1377 :optional
.param int has_param_1377 :opt_flag
.annotate "line", 488
- .const 'Sub' $P1447 = "82_1271336409.53729"
+ .const 'Sub' $P1447 = "82_1271948680.36754"
capture_lex $P1447
- .const 'Sub' $P1419 = "81_1271336409.53729"
+ .const 'Sub' $P1419 = "81_1271948680.36754"
capture_lex $P1419
new $P1375, 'ExceptionHandler'
set_addr $P1375, control_1374
@@ -20030,10 +20105,10 @@
push_eh $P1375
.lex "self", self
.lex "$/", param_1376
- if has_param_1377, optparam_444
+ if has_param_1377, optparam_445
new $P1378, "Undef"
set param_1377, $P1378
- optparam_444:
+ optparam_445:
.lex "$key", param_1377
.annotate "line", 489
$P1379 = root_new ['parrot';'ResizablePMCArray']
@@ -20051,13 +20126,13 @@
store_lex "@MODIFIERS", $P1382
.annotate "line", 492
find_lex $P1383, "$/"
- unless_null $P1383, vivify_445
+ unless_null $P1383, vivify_446
$P1383 = root_new ['parrot';'Hash']
- vivify_445:
+ vivify_446:
set $P1384, $P1383["deflongname"]
- unless_null $P1384, vivify_446
+ unless_null $P1384, vivify_447
new $P1384, "Undef"
- vivify_446:
+ vivify_447:
$P1385 = $P1384."ast"()
set $S1386, $P1385
new $P1387, 'String'
@@ -20066,13 +20141,13 @@
find_lex $P1388, "$past"
.annotate "line", 494
find_lex $P1390, "$/"
- unless_null $P1390, vivify_447
+ unless_null $P1390, vivify_448
$P1390 = root_new ['parrot';'Hash']
- vivify_447:
+ vivify_448:
set $P1391, $P1390["proto"]
- unless_null $P1391, vivify_448
+ unless_null $P1391, vivify_449
new $P1391, "Undef"
- vivify_448:
+ vivify_449:
if $P1391, if_1389
.annotate "line", 521
find_lex $P1415, "$key"
@@ -20080,13 +20155,13 @@
iseq $I1417, $S1416, "open"
if $I1417, if_1414
.annotate "line", 534
- .const 'Sub' $P1447 = "82_1271336409.53729"
+ .const 'Sub' $P1447 = "82_1271948680.36754"
capture_lex $P1447
$P1447()
goto if_1414_end
if_1414:
.annotate "line", 521
- .const 'Sub' $P1419 = "81_1271336409.53729"
+ .const 'Sub' $P1419 = "81_1271948680.36754"
capture_lex $P1419
$P1419()
if_1414_end:
@@ -20143,20 +20218,20 @@
.namespace ["NQP";"Actions"]
-.sub "_block1446" :anon :subid("82_1271336409.53729") :outer("80_1271336409.53729")
+.sub "_block1446" :anon :subid("82_1271948680.36754") :outer("80_1271948680.36754")
.annotate "line", 535
new $P1448, "Undef"
.lex "$regex", $P1448
.annotate "line", 536
get_hll_global $P1449, ["Regex";"P6Regex";"Actions"], "buildsub"
find_lex $P1450, "$/"
- unless_null $P1450, vivify_449
+ unless_null $P1450, vivify_450
$P1450 = root_new ['parrot';'Hash']
- vivify_449:
+ vivify_450:
set $P1451, $P1450["p6regex"]
- unless_null $P1451, vivify_450
+ unless_null $P1451, vivify_451
new $P1451, "Undef"
- vivify_450:
+ vivify_451:
$P1452 = $P1451."ast"()
get_global $P1453, "@BLOCK"
$P1454 = $P1453."shift"()
@@ -20180,10 +20255,10 @@
.annotate "line", 545
find_lex $P1464, "$regex"
find_lex $P1465, "$past"
- unless_null $P1465, vivify_451
+ unless_null $P1465, vivify_452
$P1465 = root_new ['parrot';'Hash']
store_lex "$past", $P1465
- vivify_451:
+ vivify_452:
set $P1465["sink"], $P1464
.annotate "line", 546
find_lex $P1466, "@MODIFIERS"
@@ -20194,7 +20269,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1418" :anon :subid("81_1271336409.53729") :outer("80_1271336409.53729")
+.sub "_block1418" :anon :subid("81_1271948680.36754") :outer("80_1271948680.36754")
.annotate "line", 522
$P1420 = root_new ['parrot';'Hash']
.lex "%h", $P1420
@@ -20202,52 +20277,52 @@
find_lex $P1421, "%h"
.annotate "line", 523
find_lex $P1423, "$/"
- unless_null $P1423, vivify_452
+ unless_null $P1423, vivify_453
$P1423 = root_new ['parrot';'Hash']
- vivify_452:
+ vivify_453:
set $P1424, $P1423["sym"]
- unless_null $P1424, vivify_453
+ unless_null $P1424, vivify_454
new $P1424, "Undef"
- vivify_453:
+ vivify_454:
set $S1425, $P1424
iseq $I1426, $S1425, "token"
unless $I1426, if_1422_end
new $P1427, "Integer"
assign $P1427, 1
find_lex $P1428, "%h"
- unless_null $P1428, vivify_454
+ unless_null $P1428, vivify_455
$P1428 = root_new ['parrot';'Hash']
store_lex "%h", $P1428
- vivify_454:
+ vivify_455:
set $P1428["r"], $P1427
if_1422_end:
.annotate "line", 524
find_lex $P1430, "$/"
- unless_null $P1430, vivify_455
+ unless_null $P1430, vivify_456
$P1430 = root_new ['parrot';'Hash']
- vivify_455:
+ vivify_456:
set $P1431, $P1430["sym"]
- unless_null $P1431, vivify_456
+ unless_null $P1431, vivify_457
new $P1431, "Undef"
- vivify_456:
+ vivify_457:
set $S1432, $P1431
iseq $I1433, $S1432, "rule"
unless $I1433, if_1429_end
new $P1434, "Integer"
assign $P1434, 1
find_lex $P1435, "%h"
- unless_null $P1435, vivify_457
+ unless_null $P1435, vivify_458
$P1435 = root_new ['parrot';'Hash']
store_lex "%h", $P1435
- vivify_457:
+ vivify_458:
set $P1435["r"], $P1434
new $P1436, "Integer"
assign $P1436, 1
find_lex $P1437, "%h"
- unless_null $P1437, vivify_458
+ unless_null $P1437, vivify_459
$P1437 = root_new ['parrot';'Hash']
store_lex "%h", $P1437
- vivify_458:
+ vivify_459:
set $P1437["s"], $P1436
if_1429_end:
.annotate "line", 525
@@ -20261,23 +20336,23 @@
.annotate "line", 530
get_global $P1440, "@BLOCK"
- unless_null $P1440, vivify_459
+ unless_null $P1440, vivify_460
$P1440 = root_new ['parrot';'ResizablePMCArray']
- vivify_459:
+ vivify_460:
set $P1441, $P1440[0]
- unless_null $P1441, vivify_460
+ unless_null $P1441, vivify_461
new $P1441, "Undef"
- vivify_460:
+ vivify_461:
$P1441."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
.annotate "line", 531
get_global $P1442, "@BLOCK"
- unless_null $P1442, vivify_461
+ unless_null $P1442, vivify_462
$P1442 = root_new ['parrot';'ResizablePMCArray']
- vivify_461:
+ vivify_462:
set $P1443, $P1442[0]
- unless_null $P1443, vivify_462
+ unless_null $P1443, vivify_463
new $P1443, "Undef"
- vivify_462:
+ vivify_463:
$P1443."symbol"("$/", "lexical" :named("scope"))
.annotate "line", 532
new $P1444, "Exception"
@@ -20292,7 +20367,7 @@
.namespace ["NQP";"Actions"]
-.sub "dotty" :subid("83_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "dotty" :subid("83_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1475
.annotate "line", 552
new $P1474, 'ExceptionHandler'
@@ -20305,13 +20380,13 @@
new $P1476, "Undef"
.lex "$past", $P1476
find_lex $P1479, "$/"
- unless_null $P1479, vivify_463
+ unless_null $P1479, vivify_464
$P1479 = root_new ['parrot';'Hash']
- vivify_463:
+ vivify_464:
set $P1480, $P1479["args"]
- unless_null $P1480, vivify_464
+ unless_null $P1480, vivify_465
new $P1480, "Undef"
- vivify_464:
+ vivify_465:
if $P1480, if_1478
get_hll_global $P1485, ["PAST"], "Op"
find_lex $P1486, "$/"
@@ -20320,17 +20395,17 @@
goto if_1478_end
if_1478:
find_lex $P1481, "$/"
- unless_null $P1481, vivify_465
+ unless_null $P1481, vivify_466
$P1481 = root_new ['parrot';'Hash']
- vivify_465:
+ vivify_466:
set $P1482, $P1481["args"]
- unless_null $P1482, vivify_466
+ unless_null $P1482, vivify_467
$P1482 = root_new ['parrot';'ResizablePMCArray']
- vivify_466:
+ vivify_467:
set $P1483, $P1482[0]
- unless_null $P1483, vivify_467
+ unless_null $P1483, vivify_468
new $P1483, "Undef"
- vivify_467:
+ vivify_468:
$P1484 = $P1483."ast"()
set $P1477, $P1484
if_1478_end:
@@ -20338,35 +20413,35 @@
.annotate "line", 554
find_lex $P1488, "$past"
find_lex $P1491, "$/"
- unless_null $P1491, vivify_468
+ unless_null $P1491, vivify_469
$P1491 = root_new ['parrot';'Hash']
- vivify_468:
+ vivify_469:
set $P1492, $P1491["quote"]
- unless_null $P1492, vivify_469
+ unless_null $P1492, vivify_470
new $P1492, "Undef"
- vivify_469:
+ vivify_470:
if $P1492, if_1490
find_lex $P1496, "$/"
- unless_null $P1496, vivify_470
+ unless_null $P1496, vivify_471
$P1496 = root_new ['parrot';'Hash']
- vivify_470:
+ vivify_471:
set $P1497, $P1496["longname"]
- unless_null $P1497, vivify_471
+ unless_null $P1497, vivify_472
new $P1497, "Undef"
- vivify_471:
+ vivify_472:
set $S1498, $P1497
new $P1489, 'String'
set $P1489, $S1498
goto if_1490_end
if_1490:
find_lex $P1493, "$/"
- unless_null $P1493, vivify_472
+ unless_null $P1493, vivify_473
$P1493 = root_new ['parrot';'Hash']
- vivify_472:
+ vivify_473:
set $P1494, $P1493["quote"]
- unless_null $P1494, vivify_473
+ unless_null $P1494, vivify_474
new $P1494, "Undef"
- vivify_473:
+ vivify_474:
$P1495 = $P1494."ast"()
set $P1489, $P1495
if_1490_end:
@@ -20389,7 +20464,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<self>" :subid("84_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<self>" :subid("84_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1507
.annotate "line", 561
new $P1506, 'ExceptionHandler'
@@ -20414,7 +20489,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>" :subid("85_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<identifier>" :subid("85_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1516
.annotate "line", 565
new $P1515, 'ExceptionHandler'
@@ -20427,25 +20502,25 @@
new $P1517, "Undef"
.lex "$past", $P1517
find_lex $P1518, "$/"
- unless_null $P1518, vivify_474
+ unless_null $P1518, vivify_475
$P1518 = root_new ['parrot';'Hash']
- vivify_474:
+ vivify_475:
set $P1519, $P1518["args"]
- unless_null $P1519, vivify_475
+ unless_null $P1519, vivify_476
new $P1519, "Undef"
- vivify_475:
+ vivify_476:
$P1520 = $P1519."ast"()
store_lex "$past", $P1520
.annotate "line", 567
find_lex $P1521, "$past"
find_lex $P1522, "$/"
- unless_null $P1522, vivify_476
+ unless_null $P1522, vivify_477
$P1522 = root_new ['parrot';'Hash']
- vivify_476:
+ vivify_477:
set $P1523, $P1522["identifier"]
- unless_null $P1523, vivify_477
+ unless_null $P1523, vivify_478
new $P1523, "Undef"
- vivify_477:
+ vivify_478:
set $S1524, $P1523
$P1521."name"($S1524)
.annotate "line", 568
@@ -20463,7 +20538,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<name>" :subid("86_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<name>" :subid("86_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1532
.annotate "line", 571
new $P1531, 'ExceptionHandler'
@@ -20486,17 +20561,17 @@
.lex "$past", $P1536
.annotate "line", 572
find_lex $P1537, "$/"
- unless_null $P1537, vivify_478
+ unless_null $P1537, vivify_479
$P1537 = root_new ['parrot';'Hash']
- vivify_478:
+ vivify_479:
set $P1538, $P1537["name"]
- unless_null $P1538, vivify_479
+ unless_null $P1538, vivify_480
$P1538 = root_new ['parrot';'Hash']
- vivify_479:
+ vivify_480:
set $P1539, $P1538["identifier"]
- unless_null $P1539, vivify_480
+ unless_null $P1539, vivify_481
new $P1539, "Undef"
- vivify_480:
+ vivify_481:
clone $P1540, $P1539
store_lex "@ns", $P1540
.annotate "line", 573
@@ -20510,13 +20585,13 @@
goto if_1545_end
if_1545:
find_lex $P1547, "@ns"
- unless_null $P1547, vivify_481
+ unless_null $P1547, vivify_482
$P1547 = root_new ['parrot';'ResizablePMCArray']
- vivify_481:
+ vivify_482:
set $P1548, $P1547[0]
- unless_null $P1548, vivify_482
+ unless_null $P1548, vivify_483
new $P1548, "Undef"
- vivify_482:
+ vivify_483:
set $S1549, $P1548
iseq $I1550, $S1549, "GLOBAL"
new $P1544, 'Integer'
@@ -20538,27 +20613,27 @@
store_lex "$past", $P1557
.annotate "line", 578
find_lex $P1559, "$/"
- unless_null $P1559, vivify_483
+ unless_null $P1559, vivify_484
$P1559 = root_new ['parrot';'Hash']
- vivify_483:
+ vivify_484:
set $P1560, $P1559["args"]
- unless_null $P1560, vivify_484
+ unless_null $P1560, vivify_485
new $P1560, "Undef"
- vivify_484:
+ vivify_485:
unless $P1560, if_1558_end
.annotate "line", 579
find_lex $P1561, "$/"
- unless_null $P1561, vivify_485
+ unless_null $P1561, vivify_486
$P1561 = root_new ['parrot';'Hash']
- vivify_485:
+ vivify_486:
set $P1562, $P1561["args"]
- unless_null $P1562, vivify_486
+ unless_null $P1562, vivify_487
$P1562 = root_new ['parrot';'ResizablePMCArray']
- vivify_486:
+ vivify_487:
set $P1563, $P1562[0]
- unless_null $P1563, vivify_487
+ unless_null $P1563, vivify_488
new $P1563, "Undef"
- vivify_487:
+ vivify_488:
$P1564 = $P1563."ast"()
store_lex "$past", $P1564
.annotate "line", 580
@@ -20581,7 +20656,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>" :subid("87_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<pir::op>" :subid("87_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1574
.annotate "line", 585
new $P1573, 'ExceptionHandler'
@@ -20598,13 +20673,13 @@
.lex "$pirop", $P1576
.annotate "line", 586
find_lex $P1579, "$/"
- unless_null $P1579, vivify_488
+ unless_null $P1579, vivify_489
$P1579 = root_new ['parrot';'Hash']
- vivify_488:
+ vivify_489:
set $P1580, $P1579["args"]
- unless_null $P1580, vivify_489
+ unless_null $P1580, vivify_490
new $P1580, "Undef"
- vivify_489:
+ vivify_490:
if $P1580, if_1578
get_hll_global $P1585, ["PAST"], "Op"
find_lex $P1586, "$/"
@@ -20613,30 +20688,30 @@
goto if_1578_end
if_1578:
find_lex $P1581, "$/"
- unless_null $P1581, vivify_490
+ unless_null $P1581, vivify_491
$P1581 = root_new ['parrot';'Hash']
- vivify_490:
+ vivify_491:
set $P1582, $P1581["args"]
- unless_null $P1582, vivify_491
+ unless_null $P1582, vivify_492
$P1582 = root_new ['parrot';'ResizablePMCArray']
- vivify_491:
+ vivify_492:
set $P1583, $P1582[0]
- unless_null $P1583, vivify_492
+ unless_null $P1583, vivify_493
new $P1583, "Undef"
- vivify_492:
+ vivify_493:
$P1584 = $P1583."ast"()
set $P1577, $P1584
if_1578_end:
store_lex "$past", $P1577
.annotate "line", 587
find_lex $P1588, "$/"
- unless_null $P1588, vivify_493
+ unless_null $P1588, vivify_494
$P1588 = root_new ['parrot';'Hash']
- vivify_493:
+ vivify_494:
set $P1589, $P1588["op"]
- unless_null $P1589, vivify_494
+ unless_null $P1589, vivify_495
new $P1589, "Undef"
- vivify_494:
+ vivify_495:
set $S1590, $P1589
new $P1591, 'String'
set $P1591, $S1590
@@ -20672,7 +20747,7 @@
.namespace ["NQP";"Actions"]
-.sub "args" :subid("88_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "args" :subid("88_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1603
.annotate "line", 600
new $P1602, 'ExceptionHandler'
@@ -20683,13 +20758,13 @@
.lex "$/", param_1603
find_lex $P1604, "$/"
find_lex $P1605, "$/"
- unless_null $P1605, vivify_495
+ unless_null $P1605, vivify_496
$P1605 = root_new ['parrot';'Hash']
- vivify_495:
+ vivify_496:
set $P1606, $P1605["arglist"]
- unless_null $P1606, vivify_496
+ unless_null $P1606, vivify_497
new $P1606, "Undef"
- vivify_496:
+ vivify_497:
$P1607 = $P1606."ast"()
$P1608 = $P1604."!make"($P1607)
.return ($P1608)
@@ -20702,10 +20777,10 @@
.namespace ["NQP";"Actions"]
-.sub "arglist" :subid("89_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "arglist" :subid("89_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1613
.annotate "line", 602
- .const 'Sub' $P1624 = "90_1271336409.53729"
+ .const 'Sub' $P1624 = "90_1271948680.36754"
capture_lex $P1624
new $P1612, 'ExceptionHandler'
set_addr $P1612, control_1611
@@ -20729,15 +20804,15 @@
store_lex "$past", $P1619
.annotate "line", 604
find_lex $P1621, "$/"
- unless_null $P1621, vivify_497
+ unless_null $P1621, vivify_498
$P1621 = root_new ['parrot';'Hash']
- vivify_497:
+ vivify_498:
set $P1622, $P1621["EXPR"]
- unless_null $P1622, vivify_498
+ unless_null $P1622, vivify_499
new $P1622, "Undef"
- vivify_498:
+ vivify_499:
unless $P1622, if_1620_end
- .const 'Sub' $P1624 = "90_1271336409.53729"
+ .const 'Sub' $P1624 = "90_1271948680.36754"
capture_lex $P1624
$P1624()
if_1620_end:
@@ -20769,13 +20844,13 @@
find_lex $P1667, "$i"
set $I1668, $P1667
find_lex $P1669, "$past"
- unless_null $P1669, vivify_502
+ unless_null $P1669, vivify_503
$P1669 = root_new ['parrot';'ResizablePMCArray']
- vivify_502:
+ vivify_503:
set $P1670, $P1669[$I1668]
- unless_null $P1670, vivify_503
+ unless_null $P1670, vivify_504
new $P1670, "Undef"
- vivify_503:
+ vivify_504:
$S1671 = $P1670."name"()
iseq $I1672, $S1671, "&prefix:<|>"
unless $I1672, if_1666_end
@@ -20783,36 +20858,36 @@
find_lex $P1673, "$i"
set $I1674, $P1673
find_lex $P1675, "$past"
- unless_null $P1675, vivify_504
+ unless_null $P1675, vivify_505
$P1675 = root_new ['parrot';'ResizablePMCArray']
- vivify_504:
+ vivify_505:
set $P1676, $P1675[$I1674]
- unless_null $P1676, vivify_505
+ unless_null $P1676, vivify_506
$P1676 = root_new ['parrot';'ResizablePMCArray']
- vivify_505:
+ vivify_506:
set $P1677, $P1676[0]
- unless_null $P1677, vivify_506
+ unless_null $P1677, vivify_507
new $P1677, "Undef"
- vivify_506:
+ vivify_507:
find_lex $P1678, "$i"
set $I1679, $P1678
find_lex $P1680, "$past"
- unless_null $P1680, vivify_507
+ unless_null $P1680, vivify_508
$P1680 = root_new ['parrot';'ResizablePMCArray']
store_lex "$past", $P1680
- vivify_507:
+ vivify_508:
set $P1680[$I1679], $P1677
.annotate "line", 616
find_lex $P1681, "$i"
set $I1682, $P1681
find_lex $P1683, "$past"
- unless_null $P1683, vivify_508
+ unless_null $P1683, vivify_509
$P1683 = root_new ['parrot';'ResizablePMCArray']
- vivify_508:
+ vivify_509:
set $P1684, $P1683[$I1682]
- unless_null $P1684, vivify_509
+ unless_null $P1684, vivify_510
new $P1684, "Undef"
- vivify_509:
+ vivify_510:
$P1684."flat"(1)
if_1666_end:
.annotate "line", 614
@@ -20845,21 +20920,21 @@
.namespace ["NQP";"Actions"]
-.sub "_block1623" :anon :subid("90_1271336409.53729") :outer("89_1271336409.53729")
+.sub "_block1623" :anon :subid("90_1271948680.36754") :outer("89_1271948680.36754")
.annotate "line", 604
- .const 'Sub' $P1645 = "91_1271336409.53729"
+ .const 'Sub' $P1645 = "91_1271948680.36754"
capture_lex $P1645
.annotate "line", 605
new $P1625, "Undef"
.lex "$expr", $P1625
find_lex $P1626, "$/"
- unless_null $P1626, vivify_499
+ unless_null $P1626, vivify_500
$P1626 = root_new ['parrot';'Hash']
- vivify_499:
+ vivify_500:
set $P1627, $P1626["EXPR"]
- unless_null $P1627, vivify_500
+ unless_null $P1627, vivify_501
new $P1627, "Undef"
- vivify_500:
+ vivify_501:
$P1628 = $P1627."ast"()
store_lex "$expr", $P1628
.annotate "line", 606
@@ -20890,7 +20965,7 @@
find_lex $P1640, "$expr"
$P1641 = $P1640."list"()
defined $I1642, $P1641
- unless $I1642, for_undef_501
+ unless $I1642, for_undef_502
iter $P1639, $P1641
new $P1651, 'ExceptionHandler'
set_addr $P1651, loop1650_handler
@@ -20900,7 +20975,7 @@
unless $P1639, loop1650_done
shift $P1643, $P1639
loop1650_redo:
- .const 'Sub' $P1645 = "91_1271336409.53729"
+ .const 'Sub' $P1645 = "91_1271948680.36754"
capture_lex $P1645
$P1645($P1643)
loop1650_next:
@@ -20913,7 +20988,7 @@
eq $P1652, 67, loop1650_redo
loop1650_done:
pop_eh
- for_undef_501:
+ for_undef_502:
.annotate "line", 606
set $P1629, $P1639
if_1630_end:
@@ -20923,7 +20998,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1644" :anon :subid("91_1271336409.53729") :outer("90_1271336409.53729")
+.sub "_block1644" :anon :subid("91_1271948680.36754") :outer("90_1271948680.36754")
.param pmc param_1646
.annotate "line", 607
.lex "$_", param_1646
@@ -20935,7 +21010,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<value>" :subid("92_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "term:sym<value>" :subid("92_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1697
.annotate "line", 624
new $P1696, 'ExceptionHandler'
@@ -20946,13 +21021,13 @@
.lex "$/", param_1697
find_lex $P1698, "$/"
find_lex $P1699, "$/"
- unless_null $P1699, vivify_510
+ unless_null $P1699, vivify_511
$P1699 = root_new ['parrot';'Hash']
- vivify_510:
+ vivify_511:
set $P1700, $P1699["value"]
- unless_null $P1700, vivify_511
+ unless_null $P1700, vivify_512
new $P1700, "Undef"
- vivify_511:
+ vivify_512:
$P1701 = $P1700."ast"()
$P1702 = $P1698."!make"($P1701)
.return ($P1702)
@@ -20965,7 +21040,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>" :subid("93_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "circumfix:sym<( )>" :subid("93_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1707
.annotate "line", 626
new $P1706, 'ExceptionHandler'
@@ -20978,13 +21053,13 @@
find_lex $P1708, "$/"
.annotate "line", 628
find_lex $P1711, "$/"
- unless_null $P1711, vivify_512
+ unless_null $P1711, vivify_513
$P1711 = root_new ['parrot';'Hash']
- vivify_512:
+ vivify_513:
set $P1712, $P1711["EXPR"]
- unless_null $P1712, vivify_513
+ unless_null $P1712, vivify_514
new $P1712, "Undef"
- vivify_513:
+ vivify_514:
if $P1712, if_1710
.annotate "line", 629
get_hll_global $P1717, ["PAST"], "Op"
@@ -20995,17 +21070,17 @@
goto if_1710_end
if_1710:
find_lex $P1713, "$/"
- unless_null $P1713, vivify_514
+ unless_null $P1713, vivify_515
$P1713 = root_new ['parrot';'Hash']
- vivify_514:
+ vivify_515:
set $P1714, $P1713["EXPR"]
- unless_null $P1714, vivify_515
+ unless_null $P1714, vivify_516
$P1714 = root_new ['parrot';'ResizablePMCArray']
- vivify_515:
+ vivify_516:
set $P1715, $P1714[0]
- unless_null $P1715, vivify_516
+ unless_null $P1715, vivify_517
new $P1715, "Undef"
- vivify_516:
+ vivify_517:
$P1716 = $P1715."ast"()
set $P1709, $P1716
if_1710_end:
@@ -21021,7 +21096,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>" :subid("94_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "circumfix:sym<[ ]>" :subid("94_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1725
.annotate "line", 632
new $P1724, 'ExceptionHandler'
@@ -21037,13 +21112,13 @@
find_lex $P1727, "$past"
.annotate "line", 634
find_lex $P1729, "$/"
- unless_null $P1729, vivify_517
+ unless_null $P1729, vivify_518
$P1729 = root_new ['parrot';'Hash']
- vivify_517:
+ vivify_518:
set $P1730, $P1729["EXPR"]
- unless_null $P1730, vivify_518
+ unless_null $P1730, vivify_519
new $P1730, "Undef"
- vivify_518:
+ vivify_519:
if $P1730, if_1728
.annotate "line", 641
get_hll_global $P1742, ["PAST"], "Op"
@@ -21054,17 +21129,17 @@
if_1728:
.annotate "line", 635
find_lex $P1731, "$/"
- unless_null $P1731, vivify_519
+ unless_null $P1731, vivify_520
$P1731 = root_new ['parrot';'Hash']
- vivify_519:
+ vivify_520:
set $P1732, $P1731["EXPR"]
- unless_null $P1732, vivify_520
+ unless_null $P1732, vivify_521
$P1732 = root_new ['parrot';'ResizablePMCArray']
- vivify_520:
+ vivify_521:
set $P1733, $P1732[0]
- unless_null $P1733, vivify_521
+ unless_null $P1733, vivify_522
new $P1733, "Undef"
- vivify_521:
+ vivify_522:
$P1734 = $P1733."ast"()
store_lex "$past", $P1734
.annotate "line", 636
@@ -21097,7 +21172,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>" :subid("95_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "circumfix:sym<ang>" :subid("95_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1752
.annotate "line", 647
new $P1751, 'ExceptionHandler'
@@ -21108,13 +21183,13 @@
.lex "$/", param_1752
find_lex $P1753, "$/"
find_lex $P1754, "$/"
- unless_null $P1754, vivify_522
+ unless_null $P1754, vivify_523
$P1754 = root_new ['parrot';'Hash']
- vivify_522:
+ vivify_523:
set $P1755, $P1754["quote_EXPR"]
- unless_null $P1755, vivify_523
+ unless_null $P1755, vivify_524
new $P1755, "Undef"
- vivify_523:
+ vivify_524:
$P1756 = $P1755."ast"()
$P1757 = $P1753."!make"($P1756)
.return ($P1757)
@@ -21127,7 +21202,7 @@
.namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1762
.annotate "line", 648
new $P1761, 'ExceptionHandler'
@@ -21138,13 +21213,13 @@
.lex "$/", param_1762
find_lex $P1763, "$/"
find_lex $P1764, "$/"
- unless_null $P1764, vivify_524
+ unless_null $P1764, vivify_525
$P1764 = root_new ['parrot';'Hash']
- vivify_524:
+ vivify_525:
set $P1765, $P1764["quote_EXPR"]
- unless_null $P1765, vivify_525
+ unless_null $P1765, vivify_526
new $P1765, "Undef"
- vivify_525:
+ vivify_526:
$P1766 = $P1765."ast"()
$P1767 = $P1763."!make"($P1766)
.return ($P1767)
@@ -21157,7 +21232,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>" :subid("97_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "circumfix:sym<{ }>" :subid("97_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1772
.annotate "line", 650
new $P1771, 'ExceptionHandler'
@@ -21169,25 +21244,25 @@
.annotate "line", 651
find_lex $P1773, "$/"
find_lex $P1776, "$/"
- unless_null $P1776, vivify_526
+ unless_null $P1776, vivify_527
$P1776 = root_new ['parrot';'Hash']
- vivify_526:
+ vivify_527:
set $P1777, $P1776["pblock"]
- unless_null $P1777, vivify_527
+ unless_null $P1777, vivify_528
$P1777 = root_new ['parrot';'Hash']
- vivify_527:
+ vivify_528:
set $P1778, $P1777["blockoid"]
- unless_null $P1778, vivify_528
+ unless_null $P1778, vivify_529
$P1778 = root_new ['parrot';'Hash']
- vivify_528:
+ vivify_529:
set $P1779, $P1778["statementlist"]
- unless_null $P1779, vivify_529
+ unless_null $P1779, vivify_530
$P1779 = root_new ['parrot';'Hash']
- vivify_529:
+ vivify_530:
set $P1780, $P1779["statement"]
- unless_null $P1780, vivify_530
+ unless_null $P1780, vivify_531
new $P1780, "Undef"
- vivify_530:
+ vivify_531:
set $N1781, $P1780
isgt $I1782, $N1781, 0.0
if $I1782, if_1775
@@ -21199,13 +21274,13 @@
if_1775:
.annotate "line", 652
find_lex $P1783, "$/"
- unless_null $P1783, vivify_531
+ unless_null $P1783, vivify_532
$P1783 = root_new ['parrot';'Hash']
- vivify_531:
+ vivify_532:
set $P1784, $P1783["pblock"]
- unless_null $P1784, vivify_532
+ unless_null $P1784, vivify_533
new $P1784, "Undef"
- vivify_532:
+ vivify_533:
$P1785 = $P1784."ast"()
set $P1774, $P1785
if_1775_end:
@@ -21221,7 +21296,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>" :subid("98_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "circumfix:sym<sigil>" :subid("98_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1792
.annotate "line", 656
new $P1791, 'ExceptionHandler'
@@ -21234,25 +21309,25 @@
new $P1793, "Undef"
.lex "$name", $P1793
find_lex $P1796, "$/"
- unless_null $P1796, vivify_533
+ unless_null $P1796, vivify_534
$P1796 = root_new ['parrot';'Hash']
- vivify_533:
+ vivify_534:
set $P1797, $P1796["sigil"]
- unless_null $P1797, vivify_534
+ unless_null $P1797, vivify_535
new $P1797, "Undef"
- vivify_534:
+ vivify_535:
set $S1798, $P1797
iseq $I1799, $S1798, "@"
if $I1799, if_1795
.annotate "line", 658
find_lex $P1803, "$/"
- unless_null $P1803, vivify_535
+ unless_null $P1803, vivify_536
$P1803 = root_new ['parrot';'Hash']
- vivify_535:
+ vivify_536:
set $P1804, $P1803["sigil"]
- unless_null $P1804, vivify_536
+ unless_null $P1804, vivify_537
new $P1804, "Undef"
- vivify_536:
+ vivify_537:
set $S1805, $P1804
iseq $I1806, $S1805, "%"
if $I1806, if_1802
@@ -21279,13 +21354,13 @@
get_hll_global $P1810, ["PAST"], "Op"
find_lex $P1811, "$name"
find_lex $P1812, "$/"
- unless_null $P1812, vivify_537
+ unless_null $P1812, vivify_538
$P1812 = root_new ['parrot';'Hash']
- vivify_537:
+ vivify_538:
set $P1813, $P1812["semilist"]
- unless_null $P1813, vivify_538
+ unless_null $P1813, vivify_539
new $P1813, "Undef"
- vivify_538:
+ vivify_539:
$P1814 = $P1813."ast"()
$P1815 = $P1810."new"($P1814, "callmethod" :named("pasttype"), $P1811 :named("name"))
$P1816 = $P1809."!make"($P1815)
@@ -21300,7 +21375,7 @@
.namespace ["NQP";"Actions"]
-.sub "semilist" :subid("99_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "semilist" :subid("99_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1821
.annotate "line", 663
new $P1820, 'ExceptionHandler'
@@ -21311,13 +21386,13 @@
.lex "$/", param_1821
find_lex $P1822, "$/"
find_lex $P1823, "$/"
- unless_null $P1823, vivify_539
+ unless_null $P1823, vivify_540
$P1823 = root_new ['parrot';'Hash']
- vivify_539:
+ vivify_540:
set $P1824, $P1823["statement"]
- unless_null $P1824, vivify_540
+ unless_null $P1824, vivify_541
new $P1824, "Undef"
- vivify_540:
+ vivify_541:
$P1825 = $P1824."ast"()
$P1826 = $P1822."!make"($P1825)
.return ($P1826)
@@ -21330,7 +21405,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>" :subid("100_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "postcircumfix:sym<[ ]>" :subid("100_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1831
.annotate "line", 665
new $P1830, 'ExceptionHandler'
@@ -21343,13 +21418,13 @@
find_lex $P1832, "$/"
get_hll_global $P1833, ["PAST"], "Var"
find_lex $P1834, "$/"
- unless_null $P1834, vivify_541
+ unless_null $P1834, vivify_542
$P1834 = root_new ['parrot';'Hash']
- vivify_541:
+ vivify_542:
set $P1835, $P1834["EXPR"]
- unless_null $P1835, vivify_542
+ unless_null $P1835, vivify_543
new $P1835, "Undef"
- vivify_542:
+ vivify_543:
$P1836 = $P1835."ast"()
.annotate "line", 668
$P1837 = "vivitype"("@")
@@ -21367,7 +21442,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>" :subid("101_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "postcircumfix:sym<{ }>" :subid("101_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1844
.annotate "line", 671
new $P1843, 'ExceptionHandler'
@@ -21380,13 +21455,13 @@
find_lex $P1845, "$/"
get_hll_global $P1846, ["PAST"], "Var"
find_lex $P1847, "$/"
- unless_null $P1847, vivify_543
+ unless_null $P1847, vivify_544
$P1847 = root_new ['parrot';'Hash']
- vivify_543:
+ vivify_544:
set $P1848, $P1847["EXPR"]
- unless_null $P1848, vivify_544
+ unless_null $P1848, vivify_545
new $P1848, "Undef"
- vivify_544:
+ vivify_545:
$P1849 = $P1848."ast"()
.annotate "line", 674
$P1850 = "vivitype"("%")
@@ -21404,7 +21479,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>" :subid("102_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "postcircumfix:sym<ang>" :subid("102_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1857
.annotate "line", 677
new $P1856, 'ExceptionHandler'
@@ -21417,13 +21492,13 @@
find_lex $P1858, "$/"
get_hll_global $P1859, ["PAST"], "Var"
find_lex $P1860, "$/"
- unless_null $P1860, vivify_545
+ unless_null $P1860, vivify_546
$P1860 = root_new ['parrot';'Hash']
- vivify_545:
+ vivify_546:
set $P1861, $P1860["quote_EXPR"]
- unless_null $P1861, vivify_546
+ unless_null $P1861, vivify_547
new $P1861, "Undef"
- vivify_546:
+ vivify_547:
$P1862 = $P1861."ast"()
.annotate "line", 680
$P1863 = "vivitype"("%")
@@ -21441,7 +21516,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>" :subid("103_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "postcircumfix:sym<( )>" :subid("103_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1870
.annotate "line", 683
new $P1869, 'ExceptionHandler'
@@ -21453,13 +21528,13 @@
.annotate "line", 684
find_lex $P1871, "$/"
find_lex $P1872, "$/"
- unless_null $P1872, vivify_547
+ unless_null $P1872, vivify_548
$P1872 = root_new ['parrot';'Hash']
- vivify_547:
+ vivify_548:
set $P1873, $P1872["arglist"]
- unless_null $P1873, vivify_548
+ unless_null $P1873, vivify_549
new $P1873, "Undef"
- vivify_548:
+ vivify_549:
$P1874 = $P1873."ast"()
$P1875 = $P1871."!make"($P1874)
.annotate "line", 683
@@ -21473,7 +21548,7 @@
.namespace ["NQP";"Actions"]
-.sub "value" :subid("104_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "value" :subid("104_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1880
.annotate "line", 687
new $P1879, 'ExceptionHandler'
@@ -21485,34 +21560,34 @@
.annotate "line", 688
find_lex $P1881, "$/"
find_lex $P1884, "$/"
- unless_null $P1884, vivify_549
+ unless_null $P1884, vivify_550
$P1884 = root_new ['parrot';'Hash']
- vivify_549:
+ vivify_550:
set $P1885, $P1884["quote"]
- unless_null $P1885, vivify_550
+ unless_null $P1885, vivify_551
new $P1885, "Undef"
- vivify_550:
+ vivify_551:
if $P1885, if_1883
find_lex $P1889, "$/"
- unless_null $P1889, vivify_551
+ unless_null $P1889, vivify_552
$P1889 = root_new ['parrot';'Hash']
- vivify_551:
+ vivify_552:
set $P1890, $P1889["number"]
- unless_null $P1890, vivify_552
+ unless_null $P1890, vivify_553
new $P1890, "Undef"
- vivify_552:
+ vivify_553:
$P1891 = $P1890."ast"()
set $P1882, $P1891
goto if_1883_end
if_1883:
find_lex $P1886, "$/"
- unless_null $P1886, vivify_553
+ unless_null $P1886, vivify_554
$P1886 = root_new ['parrot';'Hash']
- vivify_553:
+ vivify_554:
set $P1887, $P1886["quote"]
- unless_null $P1887, vivify_554
+ unless_null $P1887, vivify_555
new $P1887, "Undef"
- vivify_554:
+ vivify_555:
$P1888 = $P1887."ast"()
set $P1882, $P1888
if_1883_end:
@@ -21528,7 +21603,7 @@
.namespace ["NQP";"Actions"]
-.sub "number" :subid("105_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "number" :subid("105_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1897
.annotate "line", 691
new $P1896, 'ExceptionHandler'
@@ -21541,47 +21616,47 @@
new $P1898, "Undef"
.lex "$value", $P1898
find_lex $P1901, "$/"
- unless_null $P1901, vivify_555
+ unless_null $P1901, vivify_556
$P1901 = root_new ['parrot';'Hash']
- vivify_555:
+ vivify_556:
set $P1902, $P1901["dec_number"]
- unless_null $P1902, vivify_556
+ unless_null $P1902, vivify_557
new $P1902, "Undef"
- vivify_556:
+ vivify_557:
if $P1902, if_1900
find_lex $P1906, "$/"
- unless_null $P1906, vivify_557
+ unless_null $P1906, vivify_558
$P1906 = root_new ['parrot';'Hash']
- vivify_557:
+ vivify_558:
set $P1907, $P1906["integer"]
- unless_null $P1907, vivify_558
+ unless_null $P1907, vivify_559
new $P1907, "Undef"
- vivify_558:
+ vivify_559:
$P1908 = $P1907."ast"()
set $P1899, $P1908
goto if_1900_end
if_1900:
find_lex $P1903, "$/"
- unless_null $P1903, vivify_559
+ unless_null $P1903, vivify_560
$P1903 = root_new ['parrot';'Hash']
- vivify_559:
+ vivify_560:
set $P1904, $P1903["dec_number"]
- unless_null $P1904, vivify_560
+ unless_null $P1904, vivify_561
new $P1904, "Undef"
- vivify_560:
+ vivify_561:
$P1905 = $P1904."ast"()
set $P1899, $P1905
if_1900_end:
store_lex "$value", $P1899
.annotate "line", 693
find_lex $P1910, "$/"
- unless_null $P1910, vivify_561
+ unless_null $P1910, vivify_562
$P1910 = root_new ['parrot';'Hash']
- vivify_561:
+ vivify_562:
set $P1911, $P1910["sign"]
- unless_null $P1911, vivify_562
+ unless_null $P1911, vivify_563
new $P1911, "Undef"
- vivify_562:
+ vivify_563:
set $S1912, $P1911
iseq $I1913, $S1912, "-"
unless $I1913, if_1909_end
@@ -21606,7 +21681,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>" :subid("106_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<apos>" :subid("106_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1925
.annotate "line", 697
new $P1924, 'ExceptionHandler'
@@ -21617,13 +21692,13 @@
.lex "$/", param_1925
find_lex $P1926, "$/"
find_lex $P1927, "$/"
- unless_null $P1927, vivify_563
+ unless_null $P1927, vivify_564
$P1927 = root_new ['parrot';'Hash']
- vivify_563:
+ vivify_564:
set $P1928, $P1927["quote_EXPR"]
- unless_null $P1928, vivify_564
+ unless_null $P1928, vivify_565
new $P1928, "Undef"
- vivify_564:
+ vivify_565:
$P1929 = $P1928."ast"()
$P1930 = $P1926."!make"($P1929)
.return ($P1930)
@@ -21636,7 +21711,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>" :subid("107_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<dblq>" :subid("107_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1935
.annotate "line", 698
new $P1934, 'ExceptionHandler'
@@ -21647,13 +21722,13 @@
.lex "$/", param_1935
find_lex $P1936, "$/"
find_lex $P1937, "$/"
- unless_null $P1937, vivify_565
+ unless_null $P1937, vivify_566
$P1937 = root_new ['parrot';'Hash']
- vivify_565:
+ vivify_566:
set $P1938, $P1937["quote_EXPR"]
- unless_null $P1938, vivify_566
+ unless_null $P1938, vivify_567
new $P1938, "Undef"
- vivify_566:
+ vivify_567:
$P1939 = $P1938."ast"()
$P1940 = $P1936."!make"($P1939)
.return ($P1940)
@@ -21666,7 +21741,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>" :subid("108_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<qq>" :subid("108_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1945
.annotate "line", 699
new $P1944, 'ExceptionHandler'
@@ -21677,13 +21752,13 @@
.lex "$/", param_1945
find_lex $P1946, "$/"
find_lex $P1947, "$/"
- unless_null $P1947, vivify_567
+ unless_null $P1947, vivify_568
$P1947 = root_new ['parrot';'Hash']
- vivify_567:
+ vivify_568:
set $P1948, $P1947["quote_EXPR"]
- unless_null $P1948, vivify_568
+ unless_null $P1948, vivify_569
new $P1948, "Undef"
- vivify_568:
+ vivify_569:
$P1949 = $P1948."ast"()
$P1950 = $P1946."!make"($P1949)
.return ($P1950)
@@ -21696,7 +21771,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<q>" :subid("109_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<q>" :subid("109_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1955
.annotate "line", 700
new $P1954, 'ExceptionHandler'
@@ -21707,13 +21782,13 @@
.lex "$/", param_1955
find_lex $P1956, "$/"
find_lex $P1957, "$/"
- unless_null $P1957, vivify_569
+ unless_null $P1957, vivify_570
$P1957 = root_new ['parrot';'Hash']
- vivify_569:
+ vivify_570:
set $P1958, $P1957["quote_EXPR"]
- unless_null $P1958, vivify_570
+ unless_null $P1958, vivify_571
new $P1958, "Undef"
- vivify_570:
+ vivify_571:
$P1959 = $P1958."ast"()
$P1960 = $P1956."!make"($P1959)
.return ($P1960)
@@ -21726,7 +21801,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>" :subid("110_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<Q>" :subid("110_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1965
.annotate "line", 701
new $P1964, 'ExceptionHandler'
@@ -21737,13 +21812,13 @@
.lex "$/", param_1965
find_lex $P1966, "$/"
find_lex $P1967, "$/"
- unless_null $P1967, vivify_571
+ unless_null $P1967, vivify_572
$P1967 = root_new ['parrot';'Hash']
- vivify_571:
+ vivify_572:
set $P1968, $P1967["quote_EXPR"]
- unless_null $P1968, vivify_572
+ unless_null $P1968, vivify_573
new $P1968, "Undef"
- vivify_572:
+ vivify_573:
$P1969 = $P1968."ast"()
$P1970 = $P1966."!make"($P1969)
.return ($P1970)
@@ -21756,7 +21831,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>" :subid("111_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym<Q:PIR>" :subid("111_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1975
.annotate "line", 702
new $P1974, 'ExceptionHandler'
@@ -21769,13 +21844,13 @@
find_lex $P1976, "$/"
get_hll_global $P1977, ["PAST"], "Op"
find_lex $P1978, "$/"
- unless_null $P1978, vivify_573
+ unless_null $P1978, vivify_574
$P1978 = root_new ['parrot';'Hash']
- vivify_573:
+ vivify_574:
set $P1979, $P1978["quote_EXPR"]
- unless_null $P1979, vivify_574
+ unless_null $P1979, vivify_575
new $P1979, "Undef"
- vivify_574:
+ vivify_575:
$P1980 = $P1979."ast"()
$P1981 = $P1980."value"()
find_lex $P1982, "$/"
@@ -21792,7 +21867,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym</ />" :subid("112_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote:sym</ />" :subid("112_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_1989
.param pmc param_1990 :optional
.param int has_param_1990 :opt_flag
@@ -21803,10 +21878,10 @@
push_eh $P1988
.lex "self", self
.lex "$/", param_1989
- if has_param_1990, optparam_575
+ if has_param_1990, optparam_576
new $P1991, "Undef"
set param_1990, $P1991
- optparam_575:
+ optparam_576:
.lex "$key", param_1990
.annotate "line", 718
new $P1992, "Undef"
@@ -21826,23 +21901,23 @@
.annotate "line", 714
get_global $P1998, "@BLOCK"
- unless_null $P1998, vivify_576
+ unless_null $P1998, vivify_577
$P1998 = root_new ['parrot';'ResizablePMCArray']
- vivify_576:
+ vivify_577:
set $P1999, $P1998[0]
- unless_null $P1999, vivify_577
+ unless_null $P1999, vivify_578
new $P1999, "Undef"
- vivify_577:
+ vivify_578:
$P1999."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
.annotate "line", 715
get_global $P2000, "@BLOCK"
- unless_null $P2000, vivify_578
+ unless_null $P2000, vivify_579
$P2000 = root_new ['parrot';'ResizablePMCArray']
- vivify_578:
+ vivify_579:
set $P2001, $P2000[0]
- unless_null $P2001, vivify_579
+ unless_null $P2001, vivify_580
new $P2001, "Undef"
- vivify_579:
+ vivify_580:
$P2001."symbol"("$/", "lexical" :named("scope"))
.annotate "line", 716
new $P2002, "Exception"
@@ -21855,13 +21930,13 @@
.annotate "line", 719
get_hll_global $P2004, ["Regex";"P6Regex";"Actions"], "buildsub"
find_lex $P2005, "$/"
- unless_null $P2005, vivify_580
+ unless_null $P2005, vivify_581
$P2005 = root_new ['parrot';'Hash']
- vivify_580:
+ vivify_581:
set $P2006, $P2005["p6regex"]
- unless_null $P2006, vivify_581
+ unless_null $P2006, vivify_582
new $P2006, "Undef"
- vivify_581:
+ vivify_582:
$P2007 = $P2006."ast"()
get_global $P2008, "@BLOCK"
$P2009 = $P2008."shift"()
@@ -21881,10 +21956,10 @@
.annotate "line", 727
find_lex $P2017, "$regex"
find_lex $P2018, "$past"
- unless_null $P2018, vivify_582
+ unless_null $P2018, vivify_583
$P2018 = root_new ['parrot';'Hash']
store_lex "$past", $P2018
- vivify_582:
+ vivify_583:
set $P2018["sink"], $P2017
.annotate "line", 728
find_lex $P2019, "$/"
@@ -21901,7 +21976,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>" :subid("113_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote_escape:sym<$>" :subid("113_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_2026
.annotate "line", 731
new $P2025, 'ExceptionHandler'
@@ -21912,13 +21987,13 @@
.lex "$/", param_2026
find_lex $P2027, "$/"
find_lex $P2028, "$/"
- unless_null $P2028, vivify_583
+ unless_null $P2028, vivify_584
$P2028 = root_new ['parrot';'Hash']
- vivify_583:
+ vivify_584:
set $P2029, $P2028["variable"]
- unless_null $P2029, vivify_584
+ unless_null $P2029, vivify_585
new $P2029, "Undef"
- vivify_584:
+ vivify_585:
$P2030 = $P2029."ast"()
$P2031 = $P2027."!make"($P2030)
.return ($P2031)
@@ -21931,7 +22006,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>" :subid("114_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote_escape:sym<{ }>" :subid("114_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_2036
.annotate "line", 732
new $P2035, 'ExceptionHandler'
@@ -21945,13 +22020,13 @@
get_hll_global $P2038, ["PAST"], "Op"
.annotate "line", 734
find_lex $P2039, "$/"
- unless_null $P2039, vivify_585
+ unless_null $P2039, vivify_586
$P2039 = root_new ['parrot';'Hash']
- vivify_585:
+ vivify_586:
set $P2040, $P2039["block"]
- unless_null $P2040, vivify_586
+ unless_null $P2040, vivify_587
new $P2040, "Undef"
- vivify_586:
+ vivify_587:
$P2041 = $P2040."ast"()
$P2042 = "block_immediate"($P2041)
find_lex $P2043, "$/"
@@ -21969,9 +22044,9 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>" :subid("115_1271336409.53729") :method :outer("11_1271336409.53729")
+.sub "quote_escape:sym<esc>" :subid("115_1271948680.36754") :method :outer("11_1271948680.36754")
.param pmc param_2050
-.annotate "line", 740
+.annotate "line", 737
new $P2049, 'ExceptionHandler'
set_addr $P2049, control_2048
$P2049."handle_types"(58)
@@ -21979,324 +22054,345 @@
.lex "self", self
.lex "$/", param_2050
find_lex $P2051, "$/"
- find_lex $P2052, "$/"
- unless_null $P2052, vivify_587
- $P2052 = root_new ['parrot';'Hash']
- vivify_587:
- set $P2053, $P2052["dotty"]
- unless_null $P2053, vivify_588
- new $P2053, "Undef"
- vivify_588:
- $P2054 = $P2053."ast"()
- $P2055 = $P2051."!make"($P2054)
- .return ($P2055)
+ $P2052 = $P2051."!make"("\e")
+ .return ($P2052)
control_2048:
.local pmc exception
.get_results (exception)
- getattribute $P2056, exception, "payload"
- .return ($P2056)
+ getattribute $P2053, exception, "payload"
+ .return ($P2053)
.end
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>" :subid("116_1271336409.53729") :method :outer("11_1271336409.53729")
- .param pmc param_2060
-.annotate "line", 742
- new $P2059, 'ExceptionHandler'
- set_addr $P2059, control_2058
- $P2059."handle_types"(58)
- push_eh $P2059
+.sub "postfix:sym<.>" :subid("116_1271948680.36754") :method :outer("11_1271948680.36754")
+ .param pmc param_2057
+.annotate "line", 741
+ new $P2056, 'ExceptionHandler'
+ set_addr $P2056, control_2055
+ $P2056."handle_types"(58)
+ push_eh $P2056
.lex "self", self
- .lex "$/", param_2060
+ .lex "$/", param_2057
+ find_lex $P2058, "$/"
+ find_lex $P2059, "$/"
+ unless_null $P2059, vivify_588
+ $P2059 = root_new ['parrot';'Hash']
+ vivify_588:
+ set $P2060, $P2059["dotty"]
+ unless_null $P2060, vivify_589
+ new $P2060, "Undef"
+ vivify_589:
+ $P2061 = $P2060."ast"()
+ $P2062 = $P2058."!make"($P2061)
+ .return ($P2062)
+ control_2055:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P2063, exception, "payload"
+ .return ($P2063)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "postfix:sym<++>" :subid("117_1271948680.36754") :method :outer("11_1271948680.36754")
+ .param pmc param_2067
.annotate "line", 743
- find_lex $P2061, "$/"
- get_hll_global $P2062, ["PAST"], "Op"
+ new $P2066, 'ExceptionHandler'
+ set_addr $P2066, control_2065
+ $P2066."handle_types"(58)
+ push_eh $P2066
+ .lex "self", self
+ .lex "$/", param_2067
.annotate "line", 744
- new $P2063, "ResizablePMCArray"
- push $P2063, " clone %r, %0"
- push $P2063, " inc %0"
- $P2064 = $P2062."new"("postfix:<++>" :named("name"), $P2063 :named("inline"), "inline" :named("pasttype"))
+ find_lex $P2068, "$/"
+ get_hll_global $P2069, ["PAST"], "Op"
+.annotate "line", 745
+ new $P2070, "ResizablePMCArray"
+ push $P2070, " clone %r, %0"
+ push $P2070, " inc %0"
+ $P2071 = $P2069."new"("postfix:<++>" :named("name"), $P2070 :named("inline"), "inline" :named("pasttype"))
+.annotate "line", 744
+ $P2072 = $P2068."!make"($P2071)
.annotate "line", 743
- $P2065 = $P2061."!make"($P2064)
-.annotate "line", 742
- .return ($P2065)
- control_2058:
+ .return ($P2072)
+ control_2065:
.local pmc exception
.get_results (exception)
- getattribute $P2066, exception, "payload"
- .return ($P2066)
+ getattribute $P2073, exception, "payload"
+ .return ($P2073)
.end
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->" :subid("117_1271336409.53729") :method :outer("11_1271336409.53729")
- .param pmc param_2070
-.annotate "line", 748
- new $P2069, 'ExceptionHandler'
- set_addr $P2069, control_2068
- $P2069."handle_types"(58)
- push_eh $P2069
- .lex "self", self
- .lex "$/", param_2070
+.sub "postfix:sym<-->" :subid("118_1271948680.36754") :method :outer("11_1271948680.36754")
+ .param pmc param_2077
.annotate "line", 749
- find_lex $P2071, "$/"
- get_hll_global $P2072, ["PAST"], "Op"
+ new $P2076, 'ExceptionHandler'
+ set_addr $P2076, control_2075
+ $P2076."handle_types"(58)
+ push_eh $P2076
+ .lex "self", self
+ .lex "$/", param_2077
+.annotate "line", 750
+ find_lex $P2078, "$/"
+ get_hll_global $P2079, ["PAST"], "Op"
+.annotate "line", 751
+ new $P2080, "ResizablePMCArray"
+ push $P2080, " clone %r, %0"
+ push $P2080, " dec %0"
+ $P2081 = $P2079."new"("postfix:<-->" :named("name"), $P2080 :named("inline"), "inline" :named("pasttype"))
.annotate "line", 750
- new $P2073, "ResizablePMCArray"
- push $P2073, " clone %r, %0"
- push $P2073, " dec %0"
- $P2074 = $P2072."new"("postfix:<-->" :named("name"), $P2073 :named("inline"), "inline" :named("pasttype"))
+ $P2082 = $P2078."!make"($P2081)
.annotate "line", 749
- $P2075 = $P2071."!make"($P2074)
-.annotate "line", 748
- .return ($P2075)
- control_2068:
+ .return ($P2082)
+ control_2075:
.local pmc exception
.get_results (exception)
- getattribute $P2076, exception, "payload"
- .return ($P2076)
+ getattribute $P2083, exception, "payload"
+ .return ($P2083)
.end
.namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>" :subid("118_1271336409.53729") :method :outer("11_1271336409.53729")
- .param pmc param_2080
-.annotate "line", 754
- new $P2079, 'ExceptionHandler'
- set_addr $P2079, control_2078
- $P2079."handle_types"(58)
- push_eh $P2079
- .lex "self", self
- .lex "$/", param_2080
+.sub "prefix:sym<make>" :subid("119_1271948680.36754") :method :outer("11_1271948680.36754")
+ .param pmc param_2087
.annotate "line", 755
- find_lex $P2081, "$/"
- get_hll_global $P2082, ["PAST"], "Op"
+ new $P2086, 'ExceptionHandler'
+ set_addr $P2086, control_2085
+ $P2086."handle_types"(58)
+ push_eh $P2086
+ .lex "self", self
+ .lex "$/", param_2087
.annotate "line", 756
- get_hll_global $P2083, ["PAST"], "Var"
- $P2084 = $P2083."new"("$/" :named("name"), "contextual" :named("scope"))
- find_lex $P2085, "$/"
- $P2086 = $P2082."new"($P2084, "callmethod" :named("pasttype"), "!make" :named("name"), $P2085 :named("node"))
+ find_lex $P2088, "$/"
+ get_hll_global $P2089, ["PAST"], "Op"
+.annotate "line", 757
+ get_hll_global $P2090, ["PAST"], "Var"
+ $P2091 = $P2090."new"("$/" :named("name"), "contextual" :named("scope"))
+ find_lex $P2092, "$/"
+ $P2093 = $P2089."new"($P2091, "callmethod" :named("pasttype"), "!make" :named("name"), $P2092 :named("node"))
+.annotate "line", 756
+ $P2094 = $P2088."!make"($P2093)
.annotate "line", 755
- $P2087 = $P2081."!make"($P2086)
-.annotate "line", 754
- .return ($P2087)
- control_2078:
+ .return ($P2094)
+ control_2085:
.local pmc exception
.get_results (exception)
- getattribute $P2088, exception, "payload"
- .return ($P2088)
+ getattribute $P2095, exception, "payload"
+ .return ($P2095)
.end
.namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>" :subid("119_1271336409.53729") :method :outer("11_1271336409.53729")
- .param pmc param_2092
-.annotate "line", 763
- new $P2091, 'ExceptionHandler'
- set_addr $P2091, control_2090
- $P2091."handle_types"(58)
- push_eh $P2091
- .lex "self", self
- .lex "$/", param_2092
+.sub "infix:sym<~~>" :subid("120_1271948680.36754") :method :outer("11_1271948680.36754")
+ .param pmc param_2099
.annotate "line", 764
- find_lex $P2093, "$/"
- get_hll_global $P2094, ["PAST"], "Op"
- find_lex $P2095, "$/"
- $P2096 = $P2094."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2095 :named("node"))
- $P2097 = $P2093."!make"($P2096)
-.annotate "line", 763
- .return ($P2097)
- control_2090:
+ new $P2098, 'ExceptionHandler'
+ set_addr $P2098, control_2097
+ $P2098."handle_types"(58)
+ push_eh $P2098
+ .lex "self", self
+ .lex "$/", param_2099
+.annotate "line", 765
+ find_lex $P2100, "$/"
+ get_hll_global $P2101, ["PAST"], "Op"
+ find_lex $P2102, "$/"
+ $P2103 = $P2101."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2102 :named("node"))
+ $P2104 = $P2100."!make"($P2103)
+.annotate "line", 764
+ .return ($P2104)
+ control_2097:
.local pmc exception
.get_results (exception)
- getattribute $P2098, exception, "payload"
- .return ($P2098)
+ getattribute $P2105, exception, "payload"
+ .return ($P2105)
.end
.namespace ["NQP";"RegexActions"]
-.sub "_block2099" :subid("120_1271336409.53729") :outer("11_1271336409.53729")
-.annotate "line", 768
- .const 'Sub' $P2135 = "124_1271336409.53729"
- capture_lex $P2135
- .const 'Sub' $P2125 = "123_1271336409.53729"
- capture_lex $P2125
- .const 'Sub' $P2115 = "122_1271336409.53729"
- capture_lex $P2115
- .const 'Sub' $P2101 = "121_1271336409.53729"
- capture_lex $P2101
-.annotate "line", 779
- .const 'Sub' $P2135 = "124_1271336409.53729"
- capture_lex $P2135
-.annotate "line", 768
- .return ($P2135)
+.sub "_block2106" :subid("121_1271948680.36754") :outer("11_1271948680.36754")
+.annotate "line", 769
+ .const 'Sub' $P2142 = "125_1271948680.36754"
+ capture_lex $P2142
+ .const 'Sub' $P2132 = "124_1271948680.36754"
+ capture_lex $P2132
+ .const 'Sub' $P2122 = "123_1271948680.36754"
+ capture_lex $P2122
+ .const 'Sub' $P2108 = "122_1271948680.36754"
+ capture_lex $P2108
+.annotate "line", 780
+ .const 'Sub' $P2142 = "125_1271948680.36754"
+ capture_lex $P2142
+.annotate "line", 769
+ .return ($P2142)
.end
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>" :subid("121_1271336409.53729") :method :outer("120_1271336409.53729")
- .param pmc param_2104
-.annotate "line", 770
- new $P2103, 'ExceptionHandler'
- set_addr $P2103, control_2102
- $P2103."handle_types"(58)
- push_eh $P2103
- .lex "self", self
- .lex "$/", param_2104
+.sub "metachar:sym<:my>" :subid("122_1271948680.36754") :method :outer("121_1271948680.36754")
+ .param pmc param_2111
.annotate "line", 771
- new $P2105, "Undef"
- .lex "$past", $P2105
- find_lex $P2106, "$/"
- unless_null $P2106, vivify_589
- $P2106 = root_new ['parrot';'Hash']
- vivify_589:
- set $P2107, $P2106["statement"]
- unless_null $P2107, vivify_590
- new $P2107, "Undef"
- vivify_590:
- $P2108 = $P2107."ast"()
- store_lex "$past", $P2108
+ new $P2110, 'ExceptionHandler'
+ set_addr $P2110, control_2109
+ $P2110."handle_types"(58)
+ push_eh $P2110
+ .lex "self", self
+ .lex "$/", param_2111
.annotate "line", 772
- find_lex $P2109, "$/"
- get_hll_global $P2110, ["PAST"], "Regex"
- find_lex $P2111, "$past"
- $P2112 = $P2110."new"($P2111, "pastnode" :named("pasttype"))
- $P2113 = $P2109."!make"($P2112)
-.annotate "line", 770
- .return ($P2113)
- control_2102:
+ new $P2112, "Undef"
+ .lex "$past", $P2112
+ find_lex $P2113, "$/"
+ unless_null $P2113, vivify_590
+ $P2113 = root_new ['parrot';'Hash']
+ vivify_590:
+ set $P2114, $P2113["statement"]
+ unless_null $P2114, vivify_591
+ new $P2114, "Undef"
+ vivify_591:
+ $P2115 = $P2114."ast"()
+ store_lex "$past", $P2115
+.annotate "line", 773
+ find_lex $P2116, "$/"
+ get_hll_global $P2117, ["PAST"], "Regex"
+ find_lex $P2118, "$past"
+ $P2119 = $P2117."new"($P2118, "pastnode" :named("pasttype"))
+ $P2120 = $P2116."!make"($P2119)
+.annotate "line", 771
+ .return ($P2120)
+ control_2109:
.local pmc exception
.get_results (exception)
- getattribute $P2114, exception, "payload"
- .return ($P2114)
+ getattribute $P2121, exception, "payload"
+ .return ($P2121)
.end
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>" :subid("122_1271336409.53729") :method :outer("120_1271336409.53729")
- .param pmc param_2118
-.annotate "line", 775
- new $P2117, 'ExceptionHandler'
- set_addr $P2117, control_2116
- $P2117."handle_types"(58)
- push_eh $P2117
- .lex "self", self
- .lex "$/", param_2118
- find_lex $P2119, "$/"
- find_lex $P2120, "$/"
- unless_null $P2120, vivify_591
- $P2120 = root_new ['parrot';'Hash']
- vivify_591:
- set $P2121, $P2120["codeblock"]
- unless_null $P2121, vivify_592
- new $P2121, "Undef"
+.sub "metachar:sym<{ }>" :subid("123_1271948680.36754") :method :outer("121_1271948680.36754")
+ .param pmc param_2125
+.annotate "line", 776
+ new $P2124, 'ExceptionHandler'
+ set_addr $P2124, control_2123
+ $P2124."handle_types"(58)
+ push_eh $P2124
+ .lex "self", self
+ .lex "$/", param_2125
+ find_lex $P2126, "$/"
+ find_lex $P2127, "$/"
+ unless_null $P2127, vivify_592
+ $P2127 = root_new ['parrot';'Hash']
vivify_592:
- $P2122 = $P2121."ast"()
- $P2123 = $P2119."!make"($P2122)
- .return ($P2123)
- control_2116:
+ set $P2128, $P2127["codeblock"]
+ unless_null $P2128, vivify_593
+ new $P2128, "Undef"
+ vivify_593:
+ $P2129 = $P2128."ast"()
+ $P2130 = $P2126."!make"($P2129)
+ .return ($P2130)
+ control_2123:
.local pmc exception
.get_results (exception)
- getattribute $P2124, exception, "payload"
- .return ($P2124)
+ getattribute $P2131, exception, "payload"
+ .return ($P2131)
.end
.namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>" :subid("123_1271336409.53729") :method :outer("120_1271336409.53729")
- .param pmc param_2128
-.annotate "line", 777
- new $P2127, 'ExceptionHandler'
- set_addr $P2127, control_2126
- $P2127."handle_types"(58)
- push_eh $P2127
- .lex "self", self
- .lex "$/", param_2128
- find_lex $P2129, "$/"
- find_lex $P2130, "$/"
- unless_null $P2130, vivify_593
- $P2130 = root_new ['parrot';'Hash']
- vivify_593:
- set $P2131, $P2130["codeblock"]
- unless_null $P2131, vivify_594
- new $P2131, "Undef"
+.sub "assertion:sym<{ }>" :subid("124_1271948680.36754") :method :outer("121_1271948680.36754")
+ .param pmc param_2135
+.annotate "line", 778
+ new $P2134, 'ExceptionHandler'
+ set_addr $P2134, control_2133
+ $P2134."handle_types"(58)
+ push_eh $P2134
+ .lex "self", self
+ .lex "$/", param_2135
+ find_lex $P2136, "$/"
+ find_lex $P2137, "$/"
+ unless_null $P2137, vivify_594
+ $P2137 = root_new ['parrot';'Hash']
vivify_594:
- $P2132 = $P2131."ast"()
- $P2133 = $P2129."!make"($P2132)
- .return ($P2133)
- control_2126:
+ set $P2138, $P2137["codeblock"]
+ unless_null $P2138, vivify_595
+ new $P2138, "Undef"
+ vivify_595:
+ $P2139 = $P2138."ast"()
+ $P2140 = $P2136."!make"($P2139)
+ .return ($P2140)
+ control_2133:
.local pmc exception
.get_results (exception)
- getattribute $P2134, exception, "payload"
- .return ($P2134)
+ getattribute $P2141, exception, "payload"
+ .return ($P2141)
.end
.namespace ["NQP";"RegexActions"]
-.sub "codeblock" :subid("124_1271336409.53729") :method :outer("120_1271336409.53729")
- .param pmc param_2138
-.annotate "line", 779
- new $P2137, 'ExceptionHandler'
- set_addr $P2137, control_2136
- $P2137."handle_types"(58)
- push_eh $P2137
- .lex "self", self
- .lex "$/", param_2138
-.annotate "line", 780
- new $P2139, "Undef"
- .lex "$block", $P2139
-.annotate "line", 782
- new $P2140, "Undef"
- .lex "$past", $P2140
+.sub "codeblock" :subid("125_1271948680.36754") :method :outer("121_1271948680.36754")
+ .param pmc param_2145
.annotate "line", 780
- find_lex $P2141, "$/"
- unless_null $P2141, vivify_595
- $P2141 = root_new ['parrot';'Hash']
- vivify_595:
- set $P2142, $P2141["block"]
- unless_null $P2142, vivify_596
- new $P2142, "Undef"
- vivify_596:
- $P2143 = $P2142."ast"()
- store_lex "$block", $P2143
+ new $P2144, 'ExceptionHandler'
+ set_addr $P2144, control_2143
+ $P2144."handle_types"(58)
+ push_eh $P2144
+ .lex "self", self
+ .lex "$/", param_2145
.annotate "line", 781
- find_lex $P2144, "$block"
- $P2144."blocktype"("immediate")
+ new $P2146, "Undef"
+ .lex "$block", $P2146
.annotate "line", 783
- get_hll_global $P2145, ["PAST"], "Regex"
+ new $P2147, "Undef"
+ .lex "$past", $P2147
+.annotate "line", 781
+ find_lex $P2148, "$/"
+ unless_null $P2148, vivify_596
+ $P2148 = root_new ['parrot';'Hash']
+ vivify_596:
+ set $P2149, $P2148["block"]
+ unless_null $P2149, vivify_597
+ new $P2149, "Undef"
+ vivify_597:
+ $P2150 = $P2149."ast"()
+ store_lex "$block", $P2150
+.annotate "line", 782
+ find_lex $P2151, "$block"
+ $P2151."blocktype"("immediate")
.annotate "line", 784
- get_hll_global $P2146, ["PAST"], "Stmts"
+ get_hll_global $P2152, ["PAST"], "Regex"
.annotate "line", 785
- get_hll_global $P2147, ["PAST"], "Op"
+ get_hll_global $P2153, ["PAST"], "Stmts"
.annotate "line", 786
- get_hll_global $P2148, ["PAST"], "Var"
- $P2149 = $P2148."new"("$/" :named("name"))
+ get_hll_global $P2154, ["PAST"], "Op"
.annotate "line", 787
- get_hll_global $P2150, ["PAST"], "Op"
+ get_hll_global $P2155, ["PAST"], "Var"
+ $P2156 = $P2155."new"("$/" :named("name"))
.annotate "line", 788
- get_hll_global $P2151, ["PAST"], "Var"
- $P2152 = $P2151."new"(unicode:"$\x{a2}" :named("name"))
- $P2153 = $P2150."new"($P2152, "MATCH" :named("name"), "callmethod" :named("pasttype"))
-.annotate "line", 787
- $P2154 = $P2147."new"($P2149, $P2153, "bind" :named("pasttype"))
+ get_hll_global $P2157, ["PAST"], "Op"
+.annotate "line", 789
+ get_hll_global $P2158, ["PAST"], "Var"
+ $P2159 = $P2158."new"(unicode:"$\x{a2}" :named("name"))
+ $P2160 = $P2157."new"($P2159, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate "line", 788
+ $P2161 = $P2154."new"($P2156, $P2160, "bind" :named("pasttype"))
+.annotate "line", 786
+ find_lex $P2162, "$block"
+ $P2163 = $P2153."new"($P2161, $P2162)
.annotate "line", 785
- find_lex $P2155, "$block"
- $P2156 = $P2146."new"($P2154, $P2155)
+ $P2164 = $P2152."new"($P2163, "pastnode" :named("pasttype"))
.annotate "line", 784
- $P2157 = $P2145."new"($P2156, "pastnode" :named("pasttype"))
-.annotate "line", 783
- store_lex "$past", $P2157
-.annotate "line", 798
- find_lex $P2158, "$/"
- find_lex $P2159, "$past"
- $P2160 = $P2158."!make"($P2159)
-.annotate "line", 779
- .return ($P2160)
- control_2136:
+ store_lex "$past", $P2164
+.annotate "line", 799
+ find_lex $P2165, "$/"
+ find_lex $P2166, "$past"
+ $P2167 = $P2165."!make"($P2166)
+.annotate "line", 780
+ .return ($P2167)
+ control_2143:
.local pmc exception
.get_results (exception)
- getattribute $P2161, exception, "payload"
- .return ($P2161)
+ getattribute $P2168, exception, "payload"
+ .return ($P2168)
.end
### .include 'src/cheats/nqp-builtins.pir'
Modified: branches/runcore_purge/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/runcore_purge/ext/nqp-rx/src/stage0/P6Regex-s0.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/ext/nqp-rx/src/stage0/P6Regex-s0.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,7 +16,7 @@
### .include 'gen/p6regex-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336383.463")
+.sub "_block11" :anon :subid("10_1271948653.77811")
.annotate "line", 0
get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13"
capture_lex $P14
@@ -30,9 +30,9 @@
.namespace []
-.sub "" :load :init :subid("post158") :outer("10_1271336383.463")
+.sub "" :load :init :subid("post158") :outer("10_1271948653.77811")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336383.463"
+ .const 'Sub' $P12 = "10_1271948653.77811"
.local pmc block
set block, $P12
$P580 = get_root_global ["parrot"], "P6metaclass"
@@ -41,140 +41,140 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13" :subid("11_1271336383.463") :outer("10_1271336383.463")
+.sub "_block13" :subid("11_1271948653.77811") :outer("10_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P571 = "156_1271336383.463"
+ .const 'Sub' $P571 = "156_1271948653.77811"
capture_lex $P571
- .const 'Sub' $P563 = "154_1271336383.463"
+ .const 'Sub' $P563 = "154_1271948653.77811"
capture_lex $P563
- .const 'Sub' $P555 = "152_1271336383.463"
+ .const 'Sub' $P555 = "152_1271948653.77811"
capture_lex $P555
- .const 'Sub' $P534 = "147_1271336383.463"
+ .const 'Sub' $P534 = "147_1271948653.77811"
capture_lex $P534
- .const 'Sub' $P499 = "141_1271336383.463"
+ .const 'Sub' $P499 = "141_1271948653.77811"
capture_lex $P499
- .const 'Sub' $P487 = "138_1271336383.463"
+ .const 'Sub' $P487 = "138_1271948653.77811"
capture_lex $P487
- .const 'Sub' $P474 = "135_1271336383.463"
+ .const 'Sub' $P474 = "135_1271948653.77811"
capture_lex $P474
- .const 'Sub' $P468 = "133_1271336383.463"
+ .const 'Sub' $P468 = "133_1271948653.77811"
capture_lex $P468
- .const 'Sub' $P457 = "130_1271336383.463"
+ .const 'Sub' $P457 = "130_1271948653.77811"
capture_lex $P457
- .const 'Sub' $P446 = "127_1271336383.463"
+ .const 'Sub' $P446 = "127_1271948653.77811"
capture_lex $P446
- .const 'Sub' $P437 = "123_1271336383.463"
+ .const 'Sub' $P437 = "123_1271948653.77811"
capture_lex $P437
- .const 'Sub' $P431 = "121_1271336383.463"
+ .const 'Sub' $P431 = "121_1271948653.77811"
capture_lex $P431
- .const 'Sub' $P425 = "119_1271336383.463"
+ .const 'Sub' $P425 = "119_1271948653.77811"
capture_lex $P425
- .const 'Sub' $P419 = "117_1271336383.463"
+ .const 'Sub' $P419 = "117_1271948653.77811"
capture_lex $P419
- .const 'Sub' $P413 = "115_1271336383.463"
+ .const 'Sub' $P413 = "115_1271948653.77811"
capture_lex $P413
- .const 'Sub' $P405 = "113_1271336383.463"
+ .const 'Sub' $P405 = "113_1271948653.77811"
capture_lex $P405
- .const 'Sub' $P394 = "111_1271336383.463"
+ .const 'Sub' $P394 = "111_1271948653.77811"
capture_lex $P394
- .const 'Sub' $P383 = "109_1271336383.463"
+ .const 'Sub' $P383 = "109_1271948653.77811"
capture_lex $P383
- .const 'Sub' $P377 = "107_1271336383.463"
+ .const 'Sub' $P377 = "107_1271948653.77811"
capture_lex $P377
- .const 'Sub' $P371 = "105_1271336383.463"
+ .const 'Sub' $P371 = "105_1271948653.77811"
capture_lex $P371
- .const 'Sub' $P365 = "103_1271336383.463"
+ .const 'Sub' $P365 = "103_1271948653.77811"
capture_lex $P365
- .const 'Sub' $P359 = "101_1271336383.463"
+ .const 'Sub' $P359 = "101_1271948653.77811"
capture_lex $P359
- .const 'Sub' $P353 = "99_1271336383.463"
+ .const 'Sub' $P353 = "99_1271948653.77811"
capture_lex $P353
- .const 'Sub' $P347 = "97_1271336383.463"
+ .const 'Sub' $P347 = "97_1271948653.77811"
capture_lex $P347
- .const 'Sub' $P341 = "95_1271336383.463"
+ .const 'Sub' $P341 = "95_1271948653.77811"
capture_lex $P341
- .const 'Sub' $P335 = "93_1271336383.463"
+ .const 'Sub' $P335 = "93_1271948653.77811"
capture_lex $P335
- .const 'Sub' $P323 = "89_1271336383.463"
+ .const 'Sub' $P323 = "89_1271948653.77811"
capture_lex $P323
- .const 'Sub' $P311 = "87_1271336383.463"
+ .const 'Sub' $P311 = "87_1271948653.77811"
capture_lex $P311
- .const 'Sub' $P304 = "85_1271336383.463"
+ .const 'Sub' $P304 = "85_1271948653.77811"
capture_lex $P304
- .const 'Sub' $P287 = "83_1271336383.463"
+ .const 'Sub' $P287 = "83_1271948653.77811"
capture_lex $P287
- .const 'Sub' $P280 = "81_1271336383.463"
+ .const 'Sub' $P280 = "81_1271948653.77811"
capture_lex $P280
- .const 'Sub' $P274 = "79_1271336383.463"
+ .const 'Sub' $P274 = "79_1271948653.77811"
capture_lex $P274
- .const 'Sub' $P268 = "77_1271336383.463"
+ .const 'Sub' $P268 = "77_1271948653.77811"
capture_lex $P268
- .const 'Sub' $P261 = "75_1271336383.463"
+ .const 'Sub' $P261 = "75_1271948653.77811"
capture_lex $P261
- .const 'Sub' $P254 = "73_1271336383.463"
+ .const 'Sub' $P254 = "73_1271948653.77811"
capture_lex $P254
- .const 'Sub' $P247 = "71_1271336383.463"
+ .const 'Sub' $P247 = "71_1271948653.77811"
capture_lex $P247
- .const 'Sub' $P240 = "69_1271336383.463"
+ .const 'Sub' $P240 = "69_1271948653.77811"
capture_lex $P240
- .const 'Sub' $P234 = "67_1271336383.463"
+ .const 'Sub' $P234 = "67_1271948653.77811"
capture_lex $P234
- .const 'Sub' $P228 = "65_1271336383.463"
+ .const 'Sub' $P228 = "65_1271948653.77811"
capture_lex $P228
- .const 'Sub' $P222 = "63_1271336383.463"
+ .const 'Sub' $P222 = "63_1271948653.77811"
capture_lex $P222
- .const 'Sub' $P216 = "61_1271336383.463"
+ .const 'Sub' $P216 = "61_1271948653.77811"
capture_lex $P216
- .const 'Sub' $P210 = "59_1271336383.463"
+ .const 'Sub' $P210 = "59_1271948653.77811"
capture_lex $P210
- .const 'Sub' $P205 = "57_1271336383.463"
+ .const 'Sub' $P205 = "57_1271948653.77811"
capture_lex $P205
- .const 'Sub' $P200 = "55_1271336383.463"
+ .const 'Sub' $P200 = "55_1271948653.77811"
capture_lex $P200
- .const 'Sub' $P194 = "53_1271336383.463"
+ .const 'Sub' $P194 = "53_1271948653.77811"
capture_lex $P194
- .const 'Sub' $P188 = "51_1271336383.463"
+ .const 'Sub' $P188 = "51_1271948653.77811"
capture_lex $P188
- .const 'Sub' $P182 = "49_1271336383.463"
+ .const 'Sub' $P182 = "49_1271948653.77811"
capture_lex $P182
- .const 'Sub' $P166 = "44_1271336383.463"
+ .const 'Sub' $P166 = "44_1271948653.77811"
capture_lex $P166
- .const 'Sub' $P154 = "42_1271336383.463"
+ .const 'Sub' $P154 = "42_1271948653.77811"
capture_lex $P154
- .const 'Sub' $P147 = "40_1271336383.463"
+ .const 'Sub' $P147 = "40_1271948653.77811"
capture_lex $P147
- .const 'Sub' $P140 = "38_1271336383.463"
+ .const 'Sub' $P140 = "38_1271948653.77811"
capture_lex $P140
- .const 'Sub' $P133 = "36_1271336383.463"
+ .const 'Sub' $P133 = "36_1271948653.77811"
capture_lex $P133
- .const 'Sub' $P114 = "31_1271336383.463"
+ .const 'Sub' $P114 = "31_1271948653.77811"
capture_lex $P114
- .const 'Sub' $P101 = "28_1271336383.463"
+ .const 'Sub' $P101 = "28_1271948653.77811"
capture_lex $P101
- .const 'Sub' $P94 = "26_1271336383.463"
+ .const 'Sub' $P94 = "26_1271948653.77811"
capture_lex $P94
- .const 'Sub' $P82 = "24_1271336383.463"
+ .const 'Sub' $P82 = "24_1271948653.77811"
capture_lex $P82
- .const 'Sub' $P75 = "22_1271336383.463"
+ .const 'Sub' $P75 = "22_1271948653.77811"
capture_lex $P75
- .const 'Sub' $P63 = "20_1271336383.463"
+ .const 'Sub' $P63 = "20_1271948653.77811"
capture_lex $P63
- .const 'Sub' $P56 = "18_1271336383.463"
+ .const 'Sub' $P56 = "18_1271948653.77811"
capture_lex $P56
- .const 'Sub' $P46 = "15_1271336383.463"
+ .const 'Sub' $P46 = "15_1271948653.77811"
capture_lex $P46
- .const 'Sub' $P38 = "13_1271336383.463"
+ .const 'Sub' $P38 = "13_1271948653.77811"
capture_lex $P38
- .const 'Sub' $P15 = "12_1271336383.463"
+ .const 'Sub' $P15 = "12_1271948653.77811"
capture_lex $P15
- .const 'Sub' $P571 = "156_1271336383.463"
+ .const 'Sub' $P571 = "156_1271948653.77811"
capture_lex $P571
.return ($P571)
.end
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs" :subid("12_1271336383.463") :method :outer("11_1271336383.463")
+.sub "obs" :subid("12_1271948653.77811") :method :outer("11_1271948653.77811")
.param pmc param_18
.param pmc param_19
.param pmc param_20 :optional
@@ -222,7 +222,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws" :subid("13_1271336383.463") :method :outer("11_1271336383.463")
+.sub "ws" :subid("13_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx39_tgt
.local int rx39_pos
@@ -304,7 +304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws" :subid("14_1271336383.463") :method
+.sub "!PREFIX__ws" :subid("14_1271948653.77811") :method
.annotate "line", 3
new $P41, "ResizablePMCArray"
push $P41, ""
@@ -313,9 +313,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace" :subid("15_1271336383.463") :method :outer("11_1271336383.463")
+.sub "normspace" :subid("15_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P52 = "17_1271336383.463"
+ .const 'Sub' $P52 = "17_1271948653.77811"
capture_lex $P52
.local string rx47_tgt
.local int rx47_pos
@@ -349,7 +349,7 @@
.annotate "line", 10
# rx subrule "before" subtype=zerowidth negate=
rx47_cur."!cursor_pos"(rx47_pos)
- .const 'Sub' $P52 = "17_1271336383.463"
+ .const 'Sub' $P52 = "17_1271948653.77811"
capture_lex $P52
$P10 = rx47_cur."before"($P52)
unless $P10, rx47_fail
@@ -377,7 +377,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace" :subid("16_1271336383.463") :method
+.sub "!PREFIX__normspace" :subid("16_1271948653.77811") :method
.annotate "line", 3
new $P49, "ResizablePMCArray"
push $P49, ""
@@ -386,7 +386,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51" :anon :subid("17_1271336383.463") :method :outer("15_1271336383.463")
+.sub "_block51" :anon :subid("17_1271948653.77811") :method :outer("15_1271948653.77811")
.annotate "line", 10
.local string rx53_tgt
.local int rx53_pos
@@ -454,7 +454,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg" :subid("18_1271336383.463") :method :outer("11_1271336383.463")
+.sub "arg" :subid("18_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx57_tgt
.local int rx57_pos
@@ -565,7 +565,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg" :subid("19_1271336383.463") :method
+.sub "!PREFIX__arg" :subid("19_1271948653.77811") :method
.annotate "line", 3
new $P59, "ResizablePMCArray"
push $P59, ""
@@ -576,7 +576,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist" :subid("20_1271336383.463") :method :outer("11_1271336383.463")
+.sub "arglist" :subid("20_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx64_tgt
.local int rx64_pos
@@ -682,7 +682,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist" :subid("21_1271336383.463") :method
+.sub "!PREFIX__arglist" :subid("21_1271948653.77811") :method
.annotate "line", 3
new $P66, "ResizablePMCArray"
push $P66, ""
@@ -691,7 +691,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP" :subid("22_1271336383.463") :method :outer("11_1271336383.463")
+.sub "TOP" :subid("22_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx76_tgt
.local int rx76_pos
@@ -764,7 +764,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP" :subid("23_1271336383.463") :method
+.sub "!PREFIX__TOP" :subid("23_1271948653.77811") :method
.annotate "line", 3
$P78 = self."!PREFIX__!subrule"("nibbler", "")
new $P79, "ResizablePMCArray"
@@ -774,7 +774,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler" :subid("24_1271336383.463") :method :outer("11_1271336383.463")
+.sub "nibbler" :subid("24_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx83_tgt
.local int rx83_pos
@@ -942,7 +942,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler" :subid("25_1271336383.463") :method
+.sub "!PREFIX__nibbler" :subid("25_1271948653.77811") :method
.annotate "line", 3
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -951,7 +951,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish" :subid("26_1271336383.463") :method :outer("11_1271336383.463")
+.sub "termish" :subid("26_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx95_tgt
.local int rx95_pos
@@ -1019,7 +1019,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish" :subid("27_1271336383.463") :method
+.sub "!PREFIX__termish" :subid("27_1271948653.77811") :method
.annotate "line", 3
new $P97, "ResizablePMCArray"
push $P97, ""
@@ -1028,9 +1028,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom" :subid("28_1271336383.463") :method :outer("11_1271336383.463")
+.sub "quantified_atom" :subid("28_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P110 = "30_1271336383.463"
+ .const 'Sub' $P110 = "30_1271948653.77811"
capture_lex $P110
.local string rx102_tgt
.local int rx102_pos
@@ -1093,7 +1093,7 @@
alt108_1:
# rx subrule "before" subtype=zerowidth negate=
rx102_cur."!cursor_pos"(rx102_pos)
- .const 'Sub' $P110 = "30_1271336383.463"
+ .const 'Sub' $P110 = "30_1271948653.77811"
capture_lex $P110
$P10 = rx102_cur."before"($P110)
unless $P10, rx102_fail
@@ -1131,7 +1131,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom" :subid("29_1271336383.463") :method
+.sub "!PREFIX__quantified_atom" :subid("29_1271948653.77811") :method
.annotate "line", 3
$P104 = self."!PREFIX__!subrule"("atom", "")
new $P105, "ResizablePMCArray"
@@ -1141,7 +1141,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109" :anon :subid("30_1271336383.463") :method :outer("28_1271336383.463")
+.sub "_block109" :anon :subid("30_1271948653.77811") :method :outer("28_1271948653.77811")
.annotate "line", 41
.local string rx111_tgt
.local int rx111_pos
@@ -1197,9 +1197,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom" :subid("31_1271336383.463") :method :outer("11_1271336383.463")
+.sub "atom" :subid("31_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P125 = "33_1271336383.463"
+ .const 'Sub' $P125 = "33_1271948653.77811"
capture_lex $P125
.local string rx115_tgt
.local int rx115_pos
@@ -1259,7 +1259,7 @@
rxquantg122_done:
# rx subrule "before" subtype=zerowidth negate=
rx115_cur."!cursor_pos"(rx115_pos)
- .const 'Sub' $P125 = "33_1271336383.463"
+ .const 'Sub' $P125 = "33_1271948653.77811"
capture_lex $P125
$P10 = rx115_cur."before"($P125)
unless $P10, rx115_fail
@@ -1296,7 +1296,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom" :subid("32_1271336383.463") :method
+.sub "!PREFIX__atom" :subid("32_1271948653.77811") :method
.annotate "line", 3
$P117 = self."!PREFIX__!subrule"("metachar", "")
new $P118, "ResizablePMCArray"
@@ -1307,7 +1307,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124" :anon :subid("33_1271336383.463") :method :outer("31_1271336383.463")
+.sub "_block124" :anon :subid("33_1271948653.77811") :method :outer("31_1271948653.77811")
.annotate "line", 47
.local string rx126_tgt
.local int rx126_pos
@@ -1362,7 +1362,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier" :subid("34_1271336383.463") :method
+.sub "quantifier" :subid("34_1271948653.77811") :method
.annotate "line", 52
$P130 = self."!protoregex"("quantifier")
.return ($P130)
@@ -1370,7 +1370,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier" :subid("35_1271336383.463") :method
+.sub "!PREFIX__quantifier" :subid("35_1271948653.77811") :method
.annotate "line", 52
$P132 = self."!PREFIX__!protoregex"("quantifier")
.return ($P132)
@@ -1378,7 +1378,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>" :subid("36_1271336383.463") :method :outer("11_1271336383.463")
+.sub "quantifier:sym<*>" :subid("36_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx134_tgt
.local int rx134_pos
@@ -1457,7 +1457,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>" :subid("37_1271336383.463") :method
+.sub "!PREFIX__quantifier:sym<*>" :subid("37_1271948653.77811") :method
.annotate "line", 3
$P136 = self."!PREFIX__!subrule"("backmod", "*")
new $P137, "ResizablePMCArray"
@@ -1467,7 +1467,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>" :subid("38_1271336383.463") :method :outer("11_1271336383.463")
+.sub "quantifier:sym<+>" :subid("38_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx141_tgt
.local int rx141_pos
@@ -1546,7 +1546,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>" :subid("39_1271336383.463") :method
+.sub "!PREFIX__quantifier:sym<+>" :subid("39_1271948653.77811") :method
.annotate "line", 3
$P143 = self."!PREFIX__!subrule"("backmod", "+")
new $P144, "ResizablePMCArray"
@@ -1556,7 +1556,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>" :subid("40_1271336383.463") :method :outer("11_1271336383.463")
+.sub "quantifier:sym<?>" :subid("40_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx148_tgt
.local int rx148_pos
@@ -1635,7 +1635,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>" :subid("41_1271336383.463") :method
+.sub "!PREFIX__quantifier:sym<?>" :subid("41_1271948653.77811") :method
.annotate "line", 3
$P150 = self."!PREFIX__!subrule"("backmod", "?")
new $P151, "ResizablePMCArray"
@@ -1645,7 +1645,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>" :subid("42_1271336383.463") :method :outer("11_1271336383.463")
+.sub "quantifier:sym<**>" :subid("42_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx155_tgt
.local int rx155_pos
@@ -1834,7 +1834,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>" :subid("43_1271336383.463") :method
+.sub "!PREFIX__quantifier:sym<**>" :subid("43_1271948653.77811") :method
.annotate "line", 3
new $P157, "ResizablePMCArray"
push $P157, "**"
@@ -1843,9 +1843,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod" :subid("44_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backmod" :subid("44_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P175 = "46_1271336383.463"
+ .const 'Sub' $P175 = "46_1271948653.77811"
capture_lex $P175
.local string rx167_tgt
.local int rx167_pos
@@ -1915,7 +1915,7 @@
alt173_2:
# rx subrule "before" subtype=zerowidth negate=1
rx167_cur."!cursor_pos"(rx167_pos)
- .const 'Sub' $P175 = "46_1271336383.463"
+ .const 'Sub' $P175 = "46_1271948653.77811"
capture_lex $P175
$P10 = rx167_cur."before"($P175)
if $P10, rx167_fail
@@ -1939,7 +1939,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod" :subid("45_1271336383.463") :method
+.sub "!PREFIX__backmod" :subid("45_1271948653.77811") :method
.annotate "line", 3
new $P169, "ResizablePMCArray"
push $P169, ""
@@ -1948,7 +1948,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174" :anon :subid("46_1271336383.463") :method :outer("44_1271336383.463")
+.sub "_block174" :anon :subid("46_1271948653.77811") :method :outer("44_1271948653.77811")
.annotate "line", 71
.local string rx176_tgt
.local int rx176_pos
@@ -2004,7 +2004,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar" :subid("47_1271336383.463") :method
+.sub "metachar" :subid("47_1271948653.77811") :method
.annotate "line", 73
$P179 = self."!protoregex"("metachar")
.return ($P179)
@@ -2012,7 +2012,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar" :subid("48_1271336383.463") :method
+.sub "!PREFIX__metachar" :subid("48_1271948653.77811") :method
.annotate "line", 73
$P181 = self."!PREFIX__!protoregex"("metachar")
.return ($P181)
@@ -2020,7 +2020,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>" :subid("49_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<ws>" :subid("49_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx183_tgt
.local int rx183_pos
@@ -2076,7 +2076,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>" :subid("50_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<ws>" :subid("50_1271948653.77811") :method
.annotate "line", 3
$P185 = self."!PREFIX__!subrule"("", "")
new $P186, "ResizablePMCArray"
@@ -2086,7 +2086,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>" :subid("51_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<[ ]>" :subid("51_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx189_tgt
.local int rx189_pos
@@ -2158,7 +2158,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1271948653.77811") :method
.annotate "line", 3
$P191 = self."!PREFIX__!subrule"("nibbler", "[")
new $P192, "ResizablePMCArray"
@@ -2168,7 +2168,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>" :subid("53_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<( )>" :subid("53_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx195_tgt
.local int rx195_pos
@@ -2240,7 +2240,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>" :subid("54_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<( )>" :subid("54_1271948653.77811") :method
.annotate "line", 3
$P197 = self."!PREFIX__!subrule"("nibbler", "(")
new $P198, "ResizablePMCArray"
@@ -2250,7 +2250,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>" :subid("55_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<'>" :subid("55_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx201_tgt
.local int rx201_pos
@@ -2314,7 +2314,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>" :subid("56_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<'>" :subid("56_1271948653.77811") :method
.annotate "line", 3
new $P203, "ResizablePMCArray"
push $P203, "'"
@@ -2323,7 +2323,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">" :subid("57_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<\">" :subid("57_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx206_tgt
.local int rx206_pos
@@ -2387,7 +2387,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">" :subid("58_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<\">" :subid("58_1271948653.77811") :method
.annotate "line", 3
new $P208, "ResizablePMCArray"
push $P208, "\""
@@ -2396,7 +2396,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>" :subid("59_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<.>" :subid("59_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx211_tgt
.local int rx211_pos
@@ -2468,7 +2468,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>" :subid("60_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<.>" :subid("60_1271948653.77811") :method
.annotate "line", 3
new $P213, "ResizablePMCArray"
push $P213, "."
@@ -2477,7 +2477,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>" :subid("61_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<^>" :subid("61_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx217_tgt
.local int rx217_pos
@@ -2549,7 +2549,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>" :subid("62_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<^>" :subid("62_1271948653.77811") :method
.annotate "line", 3
new $P219, "ResizablePMCArray"
push $P219, "^"
@@ -2558,7 +2558,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>" :subid("63_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<^^>" :subid("63_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx223_tgt
.local int rx223_pos
@@ -2630,7 +2630,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>" :subid("64_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<^^>" :subid("64_1271948653.77811") :method
.annotate "line", 3
new $P225, "ResizablePMCArray"
push $P225, "^^"
@@ -2639,7 +2639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>" :subid("65_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<$>" :subid("65_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx229_tgt
.local int rx229_pos
@@ -2711,7 +2711,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>" :subid("66_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<$>" :subid("66_1271948653.77811") :method
.annotate "line", 3
new $P231, "ResizablePMCArray"
push $P231, "$"
@@ -2720,7 +2720,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>" :subid("67_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<$$>" :subid("67_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx235_tgt
.local int rx235_pos
@@ -2792,7 +2792,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>" :subid("68_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<$$>" :subid("68_1271948653.77811") :method
.annotate "line", 3
new $P237, "ResizablePMCArray"
push $P237, "$$"
@@ -2801,7 +2801,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>" :subid("69_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<:::>" :subid("69_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx241_tgt
.local int rx241_pos
@@ -2878,7 +2878,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>" :subid("70_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<:::>" :subid("70_1271948653.77811") :method
.annotate "line", 3
$P243 = self."!PREFIX__!subrule"("", ":::")
new $P244, "ResizablePMCArray"
@@ -2888,7 +2888,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>" :subid("71_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<::>" :subid("71_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx248_tgt
.local int rx248_pos
@@ -2965,7 +2965,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>" :subid("72_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<::>" :subid("72_1271948653.77811") :method
.annotate "line", 3
$P250 = self."!PREFIX__!subrule"("", "::")
new $P251, "ResizablePMCArray"
@@ -2975,7 +2975,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>" :subid("73_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<lwb>" :subid("73_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx255_tgt
.local int rx255_pos
@@ -3060,7 +3060,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1271948653.77811") :method
.annotate "line", 3
new $P257, "ResizablePMCArray"
push $P257, unicode:"\x{ab}"
@@ -3070,7 +3070,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>" :subid("75_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<rwb>" :subid("75_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx262_tgt
.local int rx262_pos
@@ -3155,7 +3155,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1271948653.77811") :method
.annotate "line", 3
new $P264, "ResizablePMCArray"
push $P264, unicode:"\x{bb}"
@@ -3165,7 +3165,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>" :subid("77_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<bs>" :subid("77_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx269_tgt
.local int rx269_pos
@@ -3230,7 +3230,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>" :subid("78_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<bs>" :subid("78_1271948653.77811") :method
.annotate "line", 3
$P271 = self."!PREFIX__!subrule"("backslash", "\\")
new $P272, "ResizablePMCArray"
@@ -3240,7 +3240,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>" :subid("79_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<mod>" :subid("79_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx275_tgt
.local int rx275_pos
@@ -3298,7 +3298,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>" :subid("80_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<mod>" :subid("80_1271948653.77811") :method
.annotate "line", 3
$P277 = self."!PREFIX__!subrule"("mod_internal", "")
new $P278, "ResizablePMCArray"
@@ -3308,7 +3308,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>" :subid("81_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<~>" :subid("81_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx281_tgt
.local int rx281_pos
@@ -3407,7 +3407,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>" :subid("82_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<~>" :subid("82_1271948653.77811") :method
.annotate "line", 3
$P283 = self."!PREFIX__!subrule"("", "~")
new $P284, "ResizablePMCArray"
@@ -3417,7 +3417,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>" :subid("83_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<{*}>" :subid("83_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx288_tgt
.local int rx288_pos
@@ -3584,7 +3584,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1271948653.77811") :method
.annotate "line", 3
new $P290, "ResizablePMCArray"
push $P290, "{*}"
@@ -3593,7 +3593,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>" :subid("85_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<assert>" :subid("85_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx305_tgt
.local int rx305_pos
@@ -3678,7 +3678,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>" :subid("86_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<assert>" :subid("86_1271948653.77811") :method
.annotate "line", 3
$P307 = self."!PREFIX__!subrule"("assertion", "<")
new $P308, "ResizablePMCArray"
@@ -3688,7 +3688,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>" :subid("87_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<var>" :subid("87_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx312_tgt
.local int rx312_pos
@@ -3850,7 +3850,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>" :subid("88_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<var>" :subid("88_1271948653.77811") :method
.annotate "line", 3
new $P314, "ResizablePMCArray"
push $P314, "$"
@@ -3860,7 +3860,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>" :subid("89_1271336383.463") :method :outer("11_1271336383.463")
+.sub "metachar:sym<PIR>" :subid("89_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx324_tgt
.local int rx324_pos
@@ -3951,7 +3951,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1271336383.463") :method
+.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1271948653.77811") :method
.annotate "line", 3
new $P326, "ResizablePMCArray"
push $P326, ":PIR{{"
@@ -3960,7 +3960,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash" :subid("91_1271336383.463") :method
+.sub "backslash" :subid("91_1271948653.77811") :method
.annotate "line", 120
$P332 = self."!protoregex"("backslash")
.return ($P332)
@@ -3968,7 +3968,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash" :subid("92_1271336383.463") :method
+.sub "!PREFIX__backslash" :subid("92_1271948653.77811") :method
.annotate "line", 120
$P334 = self."!PREFIX__!protoregex"("backslash")
.return ($P334)
@@ -3976,7 +3976,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>" :subid("93_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<w>" :subid("93_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx336_tgt
.local int rx336_pos
@@ -4048,7 +4048,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>" :subid("94_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<w>" :subid("94_1271948653.77811") :method
.annotate "line", 3
new $P338, "ResizablePMCArray"
push $P338, "N"
@@ -4064,7 +4064,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>" :subid("95_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<b>" :subid("95_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx342_tgt
.local int rx342_pos
@@ -4136,7 +4136,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>" :subid("96_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<b>" :subid("96_1271948653.77811") :method
.annotate "line", 3
new $P344, "ResizablePMCArray"
push $P344, "B"
@@ -4146,7 +4146,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>" :subid("97_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<e>" :subid("97_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx348_tgt
.local int rx348_pos
@@ -4218,7 +4218,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>" :subid("98_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<e>" :subid("98_1271948653.77811") :method
.annotate "line", 3
new $P350, "ResizablePMCArray"
push $P350, "E"
@@ -4228,7 +4228,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>" :subid("99_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<f>" :subid("99_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx354_tgt
.local int rx354_pos
@@ -4300,7 +4300,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>" :subid("100_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<f>" :subid("100_1271948653.77811") :method
.annotate "line", 3
new $P356, "ResizablePMCArray"
push $P356, "F"
@@ -4310,7 +4310,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>" :subid("101_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<h>" :subid("101_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx360_tgt
.local int rx360_pos
@@ -4382,7 +4382,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>" :subid("102_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<h>" :subid("102_1271948653.77811") :method
.annotate "line", 3
new $P362, "ResizablePMCArray"
push $P362, "H"
@@ -4392,7 +4392,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>" :subid("103_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<r>" :subid("103_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx366_tgt
.local int rx366_pos
@@ -4464,7 +4464,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>" :subid("104_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<r>" :subid("104_1271948653.77811") :method
.annotate "line", 3
new $P368, "ResizablePMCArray"
push $P368, "R"
@@ -4474,7 +4474,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>" :subid("105_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<t>" :subid("105_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx372_tgt
.local int rx372_pos
@@ -4546,7 +4546,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>" :subid("106_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<t>" :subid("106_1271948653.77811") :method
.annotate "line", 3
new $P374, "ResizablePMCArray"
push $P374, "T"
@@ -4556,7 +4556,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>" :subid("107_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<v>" :subid("107_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx378_tgt
.local int rx378_pos
@@ -4628,7 +4628,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>" :subid("108_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<v>" :subid("108_1271948653.77811") :method
.annotate "line", 3
new $P380, "ResizablePMCArray"
push $P380, "V"
@@ -4638,7 +4638,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>" :subid("109_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<o>" :subid("109_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx384_tgt
.local int rx384_pos
@@ -4744,7 +4744,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>" :subid("110_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<o>" :subid("110_1271948653.77811") :method
.annotate "line", 3
$P386 = self."!PREFIX__!subrule"("octints", "O[")
$P387 = self."!PREFIX__!subrule"("octint", "O")
@@ -4760,7 +4760,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>" :subid("111_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<x>" :subid("111_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx395_tgt
.local int rx395_pos
@@ -4866,7 +4866,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>" :subid("112_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<x>" :subid("112_1271948653.77811") :method
.annotate "line", 3
$P397 = self."!PREFIX__!subrule"("hexints", "X[")
$P398 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4882,7 +4882,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>" :subid("113_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<c>" :subid("113_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx406_tgt
.local int rx406_pos
@@ -4961,7 +4961,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>" :subid("114_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<c>" :subid("114_1271948653.77811") :method
.annotate "line", 3
$P408 = self."!PREFIX__!subrule"("charspec", "C")
$P409 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4973,7 +4973,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>" :subid("115_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<A>" :subid("115_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx414_tgt
.local int rx414_pos
@@ -5036,7 +5036,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>" :subid("116_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<A>" :subid("116_1271948653.77811") :method
.annotate "line", 3
$P416 = self."!PREFIX__!subrule"("", "A")
new $P417, "ResizablePMCArray"
@@ -5046,7 +5046,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>" :subid("117_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<z>" :subid("117_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx420_tgt
.local int rx420_pos
@@ -5109,7 +5109,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>" :subid("118_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<z>" :subid("118_1271948653.77811") :method
.annotate "line", 3
$P422 = self."!PREFIX__!subrule"("", "z")
new $P423, "ResizablePMCArray"
@@ -5119,7 +5119,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>" :subid("119_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<Z>" :subid("119_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx426_tgt
.local int rx426_pos
@@ -5182,7 +5182,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>" :subid("120_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<Z>" :subid("120_1271948653.77811") :method
.annotate "line", 3
$P428 = self."!PREFIX__!subrule"("", "Z")
new $P429, "ResizablePMCArray"
@@ -5192,7 +5192,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>" :subid("121_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<Q>" :subid("121_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx432_tgt
.local int rx432_pos
@@ -5255,7 +5255,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>" :subid("122_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<Q>" :subid("122_1271948653.77811") :method
.annotate "line", 3
$P434 = self."!PREFIX__!subrule"("", "Q")
new $P435, "ResizablePMCArray"
@@ -5265,7 +5265,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>" :subid("123_1271336383.463") :method :outer("11_1271336383.463")
+.sub "backslash:sym<misc>" :subid("123_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx438_tgt
.local int rx438_pos
@@ -5322,7 +5322,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>" :subid("124_1271336383.463") :method
+.sub "!PREFIX__backslash:sym<misc>" :subid("124_1271948653.77811") :method
.annotate "line", 3
new $P440, "ResizablePMCArray"
push $P440, ""
@@ -5331,7 +5331,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion" :subid("125_1271336383.463") :method
+.sub "assertion" :subid("125_1271948653.77811") :method
.annotate "line", 138
$P443 = self."!protoregex"("assertion")
.return ($P443)
@@ -5339,7 +5339,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion" :subid("126_1271336383.463") :method
+.sub "!PREFIX__assertion" :subid("126_1271948653.77811") :method
.annotate "line", 138
$P445 = self."!PREFIX__!protoregex"("assertion")
.return ($P445)
@@ -5347,9 +5347,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>" :subid("127_1271336383.463") :method :outer("11_1271336383.463")
+.sub "assertion:sym<?>" :subid("127_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P454 = "129_1271336383.463"
+ .const 'Sub' $P454 = "129_1271948653.77811"
capture_lex $P454
.local string rx447_tgt
.local int rx447_pos
@@ -5393,7 +5393,7 @@
rx447_cur."!mark_push"(0, rx447_pos, $I10)
# rx subrule "before" subtype=zerowidth negate=
rx447_cur."!cursor_pos"(rx447_pos)
- .const 'Sub' $P454 = "129_1271336383.463"
+ .const 'Sub' $P454 = "129_1271948653.77811"
capture_lex $P454
$P10 = rx447_cur."before"($P454)
unless $P10, rx447_fail
@@ -5426,7 +5426,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>" :subid("128_1271336383.463") :method
+.sub "!PREFIX__assertion:sym<?>" :subid("128_1271948653.77811") :method
.annotate "line", 3
$P449 = self."!PREFIX__!subrule"("assertion", "?")
new $P450, "ResizablePMCArray"
@@ -5437,7 +5437,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453" :anon :subid("129_1271336383.463") :method :outer("127_1271336383.463")
+.sub "_block453" :anon :subid("129_1271948653.77811") :method :outer("127_1271948653.77811")
.annotate "line", 140
.local string rx455_tgt
.local int rx455_pos
@@ -5493,9 +5493,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>" :subid("130_1271336383.463") :method :outer("11_1271336383.463")
+.sub "assertion:sym<!>" :subid("130_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P465 = "132_1271336383.463"
+ .const 'Sub' $P465 = "132_1271948653.77811"
capture_lex $P465
.local string rx458_tgt
.local int rx458_pos
@@ -5539,7 +5539,7 @@
rx458_cur."!mark_push"(0, rx458_pos, $I10)
# rx subrule "before" subtype=zerowidth negate=
rx458_cur."!cursor_pos"(rx458_pos)
- .const 'Sub' $P465 = "132_1271336383.463"
+ .const 'Sub' $P465 = "132_1271948653.77811"
capture_lex $P465
$P10 = rx458_cur."before"($P465)
unless $P10, rx458_fail
@@ -5572,7 +5572,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>" :subid("131_1271336383.463") :method
+.sub "!PREFIX__assertion:sym<!>" :subid("131_1271948653.77811") :method
.annotate "line", 3
$P460 = self."!PREFIX__!subrule"("assertion", "!")
new $P461, "ResizablePMCArray"
@@ -5583,7 +5583,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464" :anon :subid("132_1271336383.463") :method :outer("130_1271336383.463")
+.sub "_block464" :anon :subid("132_1271948653.77811") :method :outer("130_1271948653.77811")
.annotate "line", 141
.local string rx466_tgt
.local int rx466_pos
@@ -5639,7 +5639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>" :subid("133_1271336383.463") :method :outer("11_1271336383.463")
+.sub "assertion:sym<method>" :subid("133_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx469_tgt
.local int rx469_pos
@@ -5705,7 +5705,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>" :subid("134_1271336383.463") :method
+.sub "!PREFIX__assertion:sym<method>" :subid("134_1271948653.77811") :method
.annotate "line", 3
$P471 = self."!PREFIX__!subrule"("assertion", ".")
new $P472, "ResizablePMCArray"
@@ -5715,9 +5715,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>" :subid("135_1271336383.463") :method :outer("11_1271336383.463")
+.sub "assertion:sym<name>" :subid("135_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P483 = "137_1271336383.463"
+ .const 'Sub' $P483 = "137_1271948653.77811"
capture_lex $P483
.local string rx475_tgt
.local int rx475_pos
@@ -5782,7 +5782,7 @@
.annotate "line", 150
# rx subrule "before" subtype=zerowidth negate=
rx475_cur."!cursor_pos"(rx475_pos)
- .const 'Sub' $P483 = "137_1271336383.463"
+ .const 'Sub' $P483 = "137_1271948653.77811"
capture_lex $P483
$P10 = rx475_cur."before"($P483)
unless $P10, rx475_fail
@@ -5889,7 +5889,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>" :subid("136_1271336383.463") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("136_1271948653.77811") :method
.annotate "line", 3
new $P477, "ResizablePMCArray"
push $P477, ""
@@ -5898,7 +5898,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482" :anon :subid("137_1271336383.463") :method :outer("135_1271336383.463")
+.sub "_block482" :anon :subid("137_1271948653.77811") :method :outer("135_1271948653.77811")
.annotate "line", 150
.local string rx484_tgt
.local int rx484_pos
@@ -5954,9 +5954,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>" :subid("138_1271336383.463") :method :outer("11_1271336383.463")
+.sub "assertion:sym<[>" :subid("138_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P493 = "140_1271336383.463"
+ .const 'Sub' $P493 = "140_1271948653.77811"
capture_lex $P493
.local string rx488_tgt
.local int rx488_pos
@@ -5991,7 +5991,7 @@
.annotate "line", 158
# rx subrule "before" subtype=zerowidth negate=
rx488_cur."!cursor_pos"(rx488_pos)
- .const 'Sub' $P493 = "140_1271336383.463"
+ .const 'Sub' $P493 = "140_1271948653.77811"
capture_lex $P493
$P10 = rx488_cur."before"($P493)
unless $P10, rx488_fail
@@ -6029,7 +6029,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>" :subid("139_1271336383.463") :method
+.sub "!PREFIX__assertion:sym<[>" :subid("139_1271948653.77811") :method
.annotate "line", 3
new $P490, "ResizablePMCArray"
push $P490, ""
@@ -6038,7 +6038,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492" :anon :subid("140_1271336383.463") :method :outer("138_1271336383.463")
+.sub "_block492" :anon :subid("140_1271948653.77811") :method :outer("138_1271948653.77811")
.annotate "line", 158
.local string rx494_tgt
.local int rx494_pos
@@ -6118,9 +6118,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem" :subid("141_1271336383.463") :method :outer("11_1271336383.463")
+.sub "cclass_elem" :subid("141_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P511 = "143_1271336383.463"
+ .const 'Sub' $P511 = "143_1271948653.77811"
capture_lex $P511
.local string rx500_tgt
.local int rx500_pos
@@ -6223,7 +6223,7 @@
.annotate "line", 164
# rx subrule $P511 subtype=capture negate=
rx500_cur."!cursor_pos"(rx500_pos)
- .const 'Sub' $P511 = "143_1271336383.463"
+ .const 'Sub' $P511 = "143_1271948653.77811"
capture_lex $P511
$P10 = rx500_cur.$P511()
unless $P10, rx500_fail
@@ -6304,7 +6304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem" :subid("142_1271336383.463") :method
+.sub "!PREFIX__cclass_elem" :subid("142_1271948653.77811") :method
.annotate "line", 3
new $P502, "ResizablePMCArray"
push $P502, ""
@@ -6315,13 +6315,13 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510" :anon :subid("143_1271336383.463") :method :outer("141_1271336383.463")
+.sub "_block510" :anon :subid("143_1271948653.77811") :method :outer("141_1271948653.77811")
.annotate "line", 164
- .const 'Sub' $P526 = "146_1271336383.463"
+ .const 'Sub' $P526 = "146_1271948653.77811"
capture_lex $P526
- .const 'Sub' $P521 = "145_1271336383.463"
+ .const 'Sub' $P521 = "145_1271948653.77811"
capture_lex $P521
- .const 'Sub' $P517 = "144_1271336383.463"
+ .const 'Sub' $P517 = "144_1271948653.77811"
capture_lex $P517
.local string rx512_tgt
.local int rx512_pos
@@ -6392,7 +6392,7 @@
add rx512_pos, 1
# rx subrule $P517 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P517 = "144_1271336383.463"
+ .const 'Sub' $P517 = "144_1271948653.77811"
capture_lex $P517
$P10 = rx512_cur.$P517()
unless $P10, rx512_fail
@@ -6403,7 +6403,7 @@
alt515_1:
# rx subrule $P521 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P521 = "145_1271336383.463"
+ .const 'Sub' $P521 = "145_1271948653.77811"
capture_lex $P521
$P10 = rx512_cur.$P521()
unless $P10, rx512_fail
@@ -6432,7 +6432,7 @@
add rx512_pos, rx512_off, $I11
# rx subrule $P526 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P526 = "146_1271336383.463"
+ .const 'Sub' $P526 = "146_1271948653.77811"
capture_lex $P526
$P10 = rx512_cur.$P526()
unless $P10, rx512_fail
@@ -6461,7 +6461,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516" :anon :subid("144_1271336383.463") :method :outer("143_1271336383.463")
+.sub "_block516" :anon :subid("144_1271948653.77811") :method :outer("143_1271948653.77811")
.annotate "line", 166
.local string rx518_tgt
.local int rx518_pos
@@ -6513,7 +6513,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520" :anon :subid("145_1271336383.463") :method :outer("143_1271336383.463")
+.sub "_block520" :anon :subid("145_1271948653.77811") :method :outer("143_1271948653.77811")
.annotate "line", 166
.local string rx522_tgt
.local int rx522_pos
@@ -6569,7 +6569,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525" :anon :subid("146_1271336383.463") :method :outer("143_1271336383.463")
+.sub "_block525" :anon :subid("146_1271948653.77811") :method :outer("143_1271948653.77811")
.annotate "line", 166
.local string rx527_tgt
.local int rx527_pos
@@ -6621,9 +6621,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal" :subid("147_1271336383.463") :method :outer("11_1271336383.463")
+.sub "mod_internal" :subid("147_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
- .const 'Sub' $P543 = "149_1271336383.463"
+ .const 'Sub' $P543 = "149_1271948653.77811"
capture_lex $P543
.local string rx535_tgt
.local int rx535_pos
@@ -6673,7 +6673,7 @@
rxquantr541_loop:
# rx subrule $P543 subtype=capture negate=
rx535_cur."!cursor_pos"(rx535_pos)
- .const 'Sub' $P543 = "149_1271336383.463"
+ .const 'Sub' $P543 = "149_1271948653.77811"
capture_lex $P543
$P10 = rx535_cur.$P543()
unless $P10, rx535_fail
@@ -6775,7 +6775,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal" :subid("148_1271336383.463") :method
+.sub "!PREFIX__mod_internal" :subid("148_1271948653.77811") :method
.annotate "line", 3
$P537 = self."!PREFIX__!subrule"("mod_ident", ":")
new $P538, "ResizablePMCArray"
@@ -6786,7 +6786,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542" :anon :subid("149_1271336383.463") :method :outer("147_1271336383.463")
+.sub "_block542" :anon :subid("149_1271948653.77811") :method :outer("147_1271948653.77811")
.annotate "line", 176
.local string rx544_tgt
.local int rx544_pos
@@ -6854,7 +6854,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident" :subid("150_1271336383.463") :method
+.sub "mod_ident" :subid("150_1271948653.77811") :method
.annotate "line", 181
$P552 = self."!protoregex"("mod_ident")
.return ($P552)
@@ -6862,7 +6862,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident" :subid("151_1271336383.463") :method
+.sub "!PREFIX__mod_ident" :subid("151_1271948653.77811") :method
.annotate "line", 181
$P554 = self."!PREFIX__!protoregex"("mod_ident")
.return ($P554)
@@ -6870,7 +6870,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>" :subid("152_1271336383.463") :method :outer("11_1271336383.463")
+.sub "mod_ident:sym<ignorecase>" :subid("152_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx556_tgt
.local int rx556_pos
@@ -6955,7 +6955,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1271336383.463") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1271948653.77811") :method
.annotate "line", 3
new $P558, "ResizablePMCArray"
push $P558, "i"
@@ -6964,7 +6964,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>" :subid("154_1271336383.463") :method :outer("11_1271336383.463")
+.sub "mod_ident:sym<ratchet>" :subid("154_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx564_tgt
.local int rx564_pos
@@ -7049,7 +7049,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1271336383.463") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1271948653.77811") :method
.annotate "line", 3
new $P566, "ResizablePMCArray"
push $P566, "r"
@@ -7058,7 +7058,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>" :subid("156_1271336383.463") :method :outer("11_1271336383.463")
+.sub "mod_ident:sym<sigspace>" :subid("156_1271948653.77811") :method :outer("11_1271948653.77811")
.annotate "line", 3
.local string rx572_tgt
.local int rx572_pos
@@ -7143,7 +7143,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1271336383.463") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1271948653.77811") :method
.annotate "line", 3
new $P574, "ResizablePMCArray"
push $P574, "s"
@@ -7153,7 +7153,7 @@
### .include 'gen/p6regex-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271336390.22432")
+.sub "_block11" :anon :subid("10_1271948660.90108")
.annotate "line", 0
get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13"
capture_lex $P14
@@ -7167,9 +7167,9 @@
.namespace []
-.sub "" :load :init :subid("post90") :outer("10_1271336390.22432")
+.sub "" :load :init :subid("post90") :outer("10_1271948660.90108")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271336390.22432"
+ .const 'Sub' $P12 = "10_1271948660.90108"
.local pmc block
set block, $P12
$P1570 = get_root_global ["parrot"], "P6metaclass"
@@ -7178,117 +7178,117 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13" :subid("11_1271336390.22432") :outer("10_1271336390.22432")
+.sub "_block13" :subid("11_1271948660.90108") :outer("10_1271948660.90108")
.annotate "line", 4
- .const 'Sub' $P1536 = "89_1271336390.22432"
+ .const 'Sub' $P1536 = "89_1271948660.90108"
capture_lex $P1536
- .const 'Sub' $P1467 = "85_1271336390.22432"
+ .const 'Sub' $P1467 = "85_1271948660.90108"
capture_lex $P1467
- .const 'Sub' $P1399 = "83_1271336390.22432"
+ .const 'Sub' $P1399 = "83_1271948660.90108"
capture_lex $P1399
- .const 'Sub' $P1326 = "80_1271336390.22432"
+ .const 'Sub' $P1326 = "80_1271948660.90108"
capture_lex $P1326
- .const 'Sub' $P1312 = "79_1271336390.22432"
+ .const 'Sub' $P1312 = "79_1271948660.90108"
capture_lex $P1312
- .const 'Sub' $P1288 = "78_1271336390.22432"
+ .const 'Sub' $P1288 = "78_1271948660.90108"
capture_lex $P1288
- .const 'Sub' $P1270 = "77_1271336390.22432"
+ .const 'Sub' $P1270 = "77_1271948660.90108"
capture_lex $P1270
- .const 'Sub' $P1256 = "76_1271336390.22432"
+ .const 'Sub' $P1256 = "76_1271948660.90108"
capture_lex $P1256
- .const 'Sub' $P1243 = "75_1271336390.22432"
+ .const 'Sub' $P1243 = "75_1271948660.90108"
capture_lex $P1243
- .const 'Sub' $P1212 = "74_1271336390.22432"
+ .const 'Sub' $P1212 = "74_1271948660.90108"
capture_lex $P1212
- .const 'Sub' $P1181 = "73_1271336390.22432"
+ .const 'Sub' $P1181 = "73_1271948660.90108"
capture_lex $P1181
- .const 'Sub' $P1165 = "72_1271336390.22432"
+ .const 'Sub' $P1165 = "72_1271948660.90108"
capture_lex $P1165
- .const 'Sub' $P1149 = "71_1271336390.22432"
+ .const 'Sub' $P1149 = "71_1271948660.90108"
capture_lex $P1149
- .const 'Sub' $P1133 = "70_1271336390.22432"
+ .const 'Sub' $P1133 = "70_1271948660.90108"
capture_lex $P1133
- .const 'Sub' $P1117 = "69_1271336390.22432"
+ .const 'Sub' $P1117 = "69_1271948660.90108"
capture_lex $P1117
- .const 'Sub' $P1101 = "68_1271336390.22432"
+ .const 'Sub' $P1101 = "68_1271948660.90108"
capture_lex $P1101
- .const 'Sub' $P1085 = "67_1271336390.22432"
+ .const 'Sub' $P1085 = "67_1271948660.90108"
capture_lex $P1085
- .const 'Sub' $P1069 = "66_1271336390.22432"
+ .const 'Sub' $P1069 = "66_1271948660.90108"
capture_lex $P1069
- .const 'Sub' $P1045 = "65_1271336390.22432"
+ .const 'Sub' $P1045 = "65_1271948660.90108"
capture_lex $P1045
- .const 'Sub' $P1030 = "64_1271336390.22432"
+ .const 'Sub' $P1030 = "64_1271948660.90108"
capture_lex $P1030
- .const 'Sub' $P974 = "63_1271336390.22432"
+ .const 'Sub' $P974 = "63_1271948660.90108"
capture_lex $P974
- .const 'Sub' $P953 = "62_1271336390.22432"
+ .const 'Sub' $P953 = "62_1271948660.90108"
capture_lex $P953
- .const 'Sub' $P931 = "61_1271336390.22432"
+ .const 'Sub' $P931 = "61_1271948660.90108"
capture_lex $P931
- .const 'Sub' $P921 = "60_1271336390.22432"
+ .const 'Sub' $P921 = "60_1271948660.90108"
capture_lex $P921
- .const 'Sub' $P911 = "59_1271336390.22432"
+ .const 'Sub' $P911 = "59_1271948660.90108"
capture_lex $P911
- .const 'Sub' $P901 = "58_1271336390.22432"
+ .const 'Sub' $P901 = "58_1271948660.90108"
capture_lex $P901
- .const 'Sub' $P889 = "57_1271336390.22432"
+ .const 'Sub' $P889 = "57_1271948660.90108"
capture_lex $P889
- .const 'Sub' $P877 = "56_1271336390.22432"
+ .const 'Sub' $P877 = "56_1271948660.90108"
capture_lex $P877
- .const 'Sub' $P865 = "55_1271336390.22432"
+ .const 'Sub' $P865 = "55_1271948660.90108"
capture_lex $P865
- .const 'Sub' $P853 = "54_1271336390.22432"
+ .const 'Sub' $P853 = "54_1271948660.90108"
capture_lex $P853
- .const 'Sub' $P841 = "53_1271336390.22432"
+ .const 'Sub' $P841 = "53_1271948660.90108"
capture_lex $P841
- .const 'Sub' $P829 = "52_1271336390.22432"
+ .const 'Sub' $P829 = "52_1271948660.90108"
capture_lex $P829
- .const 'Sub' $P817 = "51_1271336390.22432"
+ .const 'Sub' $P817 = "51_1271948660.90108"
capture_lex $P817
- .const 'Sub' $P805 = "50_1271336390.22432"
+ .const 'Sub' $P805 = "50_1271948660.90108"
capture_lex $P805
- .const 'Sub' $P782 = "49_1271336390.22432"
+ .const 'Sub' $P782 = "49_1271948660.90108"
capture_lex $P782
- .const 'Sub' $P759 = "48_1271336390.22432"
+ .const 'Sub' $P759 = "48_1271948660.90108"
capture_lex $P759
- .const 'Sub' $P741 = "47_1271336390.22432"
+ .const 'Sub' $P741 = "47_1271948660.90108"
capture_lex $P741
- .const 'Sub' $P731 = "46_1271336390.22432"
+ .const 'Sub' $P731 = "46_1271948660.90108"
capture_lex $P731
- .const 'Sub' $P713 = "45_1271336390.22432"
+ .const 'Sub' $P713 = "45_1271948660.90108"
capture_lex $P713
- .const 'Sub' $P666 = "44_1271336390.22432"
+ .const 'Sub' $P666 = "44_1271948660.90108"
capture_lex $P666
- .const 'Sub' $P649 = "43_1271336390.22432"
+ .const 'Sub' $P649 = "43_1271948660.90108"
capture_lex $P649
- .const 'Sub' $P634 = "42_1271336390.22432"
+ .const 'Sub' $P634 = "42_1271948660.90108"
capture_lex $P634
- .const 'Sub' $P619 = "41_1271336390.22432"
+ .const 'Sub' $P619 = "41_1271948660.90108"
capture_lex $P619
- .const 'Sub' $P593 = "40_1271336390.22432"
+ .const 'Sub' $P593 = "40_1271948660.90108"
capture_lex $P593
- .const 'Sub' $P543 = "38_1271336390.22432"
+ .const 'Sub' $P543 = "38_1271948660.90108"
capture_lex $P543
- .const 'Sub' $P475 = "36_1271336390.22432"
+ .const 'Sub' $P475 = "36_1271948660.90108"
capture_lex $P475
- .const 'Sub' $P420 = "33_1271336390.22432"
+ .const 'Sub' $P420 = "33_1271948660.90108"
capture_lex $P420
- .const 'Sub' $P405 = "32_1271336390.22432"
+ .const 'Sub' $P405 = "32_1271948660.90108"
capture_lex $P405
- .const 'Sub' $P379 = "30_1271336390.22432"
+ .const 'Sub' $P379 = "30_1271948660.90108"
capture_lex $P379
- .const 'Sub' $P362 = "29_1271336390.22432"
+ .const 'Sub' $P362 = "29_1271948660.90108"
capture_lex $P362
- .const 'Sub' $P340 = "28_1271336390.22432"
+ .const 'Sub' $P340 = "28_1271948660.90108"
capture_lex $P340
- .const 'Sub' $P308 = "27_1271336390.22432"
+ .const 'Sub' $P308 = "27_1271948660.90108"
capture_lex $P308
- .const 'Sub' $P54 = "14_1271336390.22432"
+ .const 'Sub' $P54 = "14_1271948660.90108"
capture_lex $P54
- .const 'Sub' $P21 = "13_1271336390.22432"
+ .const 'Sub' $P21 = "13_1271948660.90108"
capture_lex $P21
- .const 'Sub' $P16 = "12_1271336390.22432"
+ .const 'Sub' $P16 = "12_1271948660.90108"
capture_lex $P16
get_global $P15, "@MODIFIERS"
unless_null $P15, vivify_91
@@ -7296,23 +7296,23 @@
set_global "@MODIFIERS", $P15
vivify_91:
.annotate "line", 6
- .const 'Sub' $P16 = "12_1271336390.22432"
+ .const 'Sub' $P16 = "12_1271948660.90108"
capture_lex $P16
.lex "INIT", $P16
.annotate "line", 479
- .const 'Sub' $P21 = "13_1271336390.22432"
+ .const 'Sub' $P21 = "13_1271948660.90108"
capture_lex $P21
.lex "buildsub", $P21
.annotate "line", 496
- .const 'Sub' $P54 = "14_1271336390.22432"
+ .const 'Sub' $P54 = "14_1271948660.90108"
capture_lex $P54
.lex "capnames", $P54
.annotate "line", 562
- .const 'Sub' $P308 = "27_1271336390.22432"
+ .const 'Sub' $P308 = "27_1271948660.90108"
capture_lex $P308
.lex "backmod", $P308
.annotate "line", 569
- .const 'Sub' $P340 = "28_1271336390.22432"
+ .const 'Sub' $P340 = "28_1271948660.90108"
capture_lex $P340
.lex "subrule_alias", $P340
.annotate "line", 4
@@ -7329,7 +7329,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT" :subid("12_1271336390.22432") :outer("11_1271336390.22432")
+.sub "INIT" :subid("12_1271948660.90108") :outer("11_1271948660.90108")
.annotate "line", 6
new $P18, 'ExceptionHandler'
set_addr $P18, control_17
@@ -7353,7 +7353,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub" :subid("13_1271336390.22432") :outer("11_1271336390.22432")
+.sub "buildsub" :subid("13_1271948660.90108") :outer("11_1271948660.90108")
.param pmc param_24
.param pmc param_25 :optional
.param int has_param_25 :opt_flag
@@ -7430,19 +7430,19 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames" :subid("14_1271336390.22432") :outer("11_1271336390.22432")
+.sub "capnames" :subid("14_1271948660.90108") :outer("11_1271948660.90108")
.param pmc param_57
.param pmc param_58
.annotate "line", 496
- .const 'Sub' $P283 = "25_1271336390.22432"
+ .const 'Sub' $P283 = "25_1271948660.90108"
capture_lex $P283
- .const 'Sub' $P220 = "22_1271336390.22432"
+ .const 'Sub' $P220 = "22_1271948660.90108"
capture_lex $P220
- .const 'Sub' $P178 = "20_1271336390.22432"
+ .const 'Sub' $P178 = "20_1271948660.90108"
capture_lex $P178
- .const 'Sub' $P136 = "18_1271336390.22432"
+ .const 'Sub' $P136 = "18_1271948660.90108"
capture_lex $P136
- .const 'Sub' $P69 = "15_1271336390.22432"
+ .const 'Sub' $P69 = "15_1271948660.90108"
capture_lex $P69
new $P56, 'ExceptionHandler'
set_addr $P56, control_55
@@ -7498,21 +7498,21 @@
set $S280, $P279
iseq $I281, $S280, "quant"
unless $I281, if_278_end
- .const 'Sub' $P283 = "25_1271336390.22432"
+ .const 'Sub' $P283 = "25_1271948660.90108"
capture_lex $P283
$P283()
if_278_end:
goto if_215_end
if_215:
.annotate "line", 534
- .const 'Sub' $P220 = "22_1271336390.22432"
+ .const 'Sub' $P220 = "22_1271948660.90108"
capture_lex $P220
$P220()
if_215_end:
goto if_168_end
if_168:
.annotate "line", 521
- .const 'Sub' $P178 = "20_1271336390.22432"
+ .const 'Sub' $P178 = "20_1271948660.90108"
capture_lex $P178
$P178()
if_168_end:
@@ -7532,7 +7532,7 @@
unless $P130, loop165_done
shift $P134, $P130
loop165_redo:
- .const 'Sub' $P136 = "18_1271336390.22432"
+ .const 'Sub' $P136 = "18_1271948660.90108"
capture_lex $P136
$P136($P134)
loop165_next:
@@ -7551,7 +7551,7 @@
goto if_64_end
if_64:
.annotate "line", 499
- .const 'Sub' $P69 = "15_1271336390.22432"
+ .const 'Sub' $P69 = "15_1271948660.90108"
capture_lex $P69
$P69()
if_64_end:
@@ -7575,9 +7575,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block282" :anon :subid("25_1271336390.22432") :outer("14_1271336390.22432")
+.sub "_block282" :anon :subid("25_1271948660.90108") :outer("14_1271948660.90108")
.annotate "line", 551
- .const 'Sub' $P294 = "26_1271336390.22432"
+ .const 'Sub' $P294 = "26_1271948660.90108"
capture_lex $P294
.annotate "line", 552
$P284 = root_new ['parrot';'Hash']
@@ -7606,7 +7606,7 @@
unless $P289, loop299_done
shift $P292, $P289
loop299_redo:
- .const 'Sub' $P294 = "26_1271336390.22432"
+ .const 'Sub' $P294 = "26_1271948660.90108"
capture_lex $P294
$P294($P292)
loop299_next:
@@ -7636,7 +7636,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block293" :anon :subid("26_1271336390.22432") :outer("25_1271336390.22432")
+.sub "_block293" :anon :subid("26_1271948660.90108") :outer("25_1271948660.90108")
.param pmc param_295
.annotate "line", 553
.lex "$_", param_295
@@ -7656,11 +7656,11 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block219" :anon :subid("22_1271336390.22432") :outer("14_1271336390.22432")
+.sub "_block219" :anon :subid("22_1271948660.90108") :outer("14_1271948660.90108")
.annotate "line", 534
- .const 'Sub' $P260 = "24_1271336390.22432"
+ .const 'Sub' $P260 = "24_1271948660.90108"
capture_lex $P260
- .const 'Sub' $P232 = "23_1271336390.22432"
+ .const 'Sub' $P232 = "23_1271948660.90108"
capture_lex $P232
.annotate "line", 535
new $P221, "Undef"
@@ -7695,7 +7695,7 @@
unless $P227, loop248_done
shift $P230, $P227
loop248_redo:
- .const 'Sub' $P232 = "23_1271336390.22432"
+ .const 'Sub' $P232 = "23_1271948660.90108"
capture_lex $P232
$P232($P230)
loop248_next:
@@ -7734,7 +7734,7 @@
unless $P255, loop273_done
shift $P258, $P255
loop273_redo:
- .const 'Sub' $P260 = "24_1271336390.22432"
+ .const 'Sub' $P260 = "24_1271948660.90108"
capture_lex $P260
$P260($P258)
loop273_next:
@@ -7764,7 +7764,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block231" :anon :subid("23_1271336390.22432") :outer("22_1271336390.22432")
+.sub "_block231" :anon :subid("23_1271948660.90108") :outer("22_1271948660.90108")
.param pmc param_233
.annotate "line", 541
.lex "$_", param_233
@@ -7804,7 +7804,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block259" :anon :subid("24_1271336390.22432") :outer("22_1271336390.22432")
+.sub "_block259" :anon :subid("24_1271948660.90108") :outer("22_1271948660.90108")
.param pmc param_261
.annotate "line", 546
.lex "$_", param_261
@@ -7844,9 +7844,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block177" :anon :subid("20_1271336390.22432") :outer("14_1271336390.22432")
+.sub "_block177" :anon :subid("20_1271948660.90108") :outer("14_1271948660.90108")
.annotate "line", 521
- .const 'Sub' $P196 = "21_1271336390.22432"
+ .const 'Sub' $P196 = "21_1271948660.90108"
capture_lex $P196
.annotate "line", 522
new $P179, "Undef"
@@ -7889,7 +7889,7 @@
unless $P191, loop212_done
shift $P194, $P191
loop212_redo:
- .const 'Sub' $P196 = "21_1271336390.22432"
+ .const 'Sub' $P196 = "21_1271948660.90108"
capture_lex $P196
$P196($P194)
loop212_next:
@@ -7909,7 +7909,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block195" :anon :subid("21_1271336390.22432") :outer("20_1271336390.22432")
+.sub "_block195" :anon :subid("21_1271948660.90108") :outer("20_1271948660.90108")
.param pmc param_197
.annotate "line", 529
.lex "$_", param_197
@@ -7949,10 +7949,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block135" :anon :subid("18_1271336390.22432") :outer("14_1271336390.22432")
+.sub "_block135" :anon :subid("18_1271948660.90108") :outer("14_1271948660.90108")
.param pmc param_138
.annotate "line", 513
- .const 'Sub' $P147 = "19_1271336390.22432"
+ .const 'Sub' $P147 = "19_1271948660.90108"
capture_lex $P147
.annotate "line", 514
$P137 = root_new ['parrot';'Hash']
@@ -7975,7 +7975,7 @@
unless $P142, loop160_done
shift $P145, $P142
loop160_redo:
- .const 'Sub' $P147 = "19_1271336390.22432"
+ .const 'Sub' $P147 = "19_1271948660.90108"
capture_lex $P147
$P147($P145)
loop160_next:
@@ -8005,7 +8005,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block146" :anon :subid("19_1271336390.22432") :outer("18_1271336390.22432")
+.sub "_block146" :anon :subid("19_1271948660.90108") :outer("18_1271948660.90108")
.param pmc param_148
.annotate "line", 515
.lex "$_", param_148
@@ -8045,9 +8045,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68" :anon :subid("15_1271336390.22432") :outer("14_1271336390.22432")
+.sub "_block68" :anon :subid("15_1271948660.90108") :outer("14_1271948660.90108")
.annotate "line", 499
- .const 'Sub' $P78 = "16_1271336390.22432"
+ .const 'Sub' $P78 = "16_1271948660.90108"
capture_lex $P78
.annotate "line", 500
new $P70, "Undef"
@@ -8068,7 +8068,7 @@
unless $P72, loop122_done
shift $P76, $P72
loop122_redo:
- .const 'Sub' $P78 = "16_1271336390.22432"
+ .const 'Sub' $P78 = "16_1271948660.90108"
capture_lex $P78
$P78($P76)
loop122_next:
@@ -8091,10 +8091,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77" :anon :subid("16_1271336390.22432") :outer("15_1271336390.22432")
+.sub "_block77" :anon :subid("16_1271948660.90108") :outer("15_1271948660.90108")
.param pmc param_80
.annotate "line", 501
- .const 'Sub' $P89 = "17_1271336390.22432"
+ .const 'Sub' $P89 = "17_1271948660.90108"
capture_lex $P89
.annotate "line", 502
$P79 = root_new ['parrot';'Hash']
@@ -8117,7 +8117,7 @@
unless $P84, loop109_done
shift $P87, $P84
loop109_redo:
- .const 'Sub' $P89 = "17_1271336390.22432"
+ .const 'Sub' $P89 = "17_1271948660.90108"
capture_lex $P89
$P89($P87)
loop109_next:
@@ -8166,7 +8166,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88" :anon :subid("17_1271336390.22432") :outer("16_1271336390.22432")
+.sub "_block88" :anon :subid("17_1271948660.90108") :outer("16_1271948660.90108")
.param pmc param_90
.annotate "line", 503
.lex "$_", param_90
@@ -8225,7 +8225,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod" :subid("27_1271336390.22432") :outer("11_1271336390.22432")
+.sub "backmod" :subid("27_1271948660.90108") :outer("11_1271948660.90108")
.param pmc param_311
.param pmc param_312
.annotate "line", 562
@@ -8299,7 +8299,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias" :subid("28_1271336390.22432") :outer("11_1271336390.22432")
+.sub "subrule_alias" :subid("28_1271948660.90108") :outer("11_1271948660.90108")
.param pmc param_343
.param pmc param_344
.annotate "line", 569
@@ -8343,7 +8343,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg" :subid("29_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "arg" :subid("29_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_365
.annotate "line", 14
new $P364, 'ExceptionHandler'
@@ -8399,10 +8399,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist" :subid("30_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "arglist" :subid("30_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_382
.annotate "line", 18
- .const 'Sub' $P392 = "31_1271336390.22432"
+ .const 'Sub' $P392 = "31_1271948660.90108"
capture_lex $P392
new $P381, 'ExceptionHandler'
set_addr $P381, control_380
@@ -8436,7 +8436,7 @@
unless $P386, loop398_done
shift $P390, $P386
loop398_redo:
- .const 'Sub' $P392 = "31_1271336390.22432"
+ .const 'Sub' $P392 = "31_1271948660.90108"
capture_lex $P392
$P392($P390)
loop398_next:
@@ -8465,7 +8465,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block391" :anon :subid("31_1271336390.22432") :outer("30_1271336390.22432")
+.sub "_block391" :anon :subid("31_1271948660.90108") :outer("30_1271948660.90108")
.param pmc param_393
.annotate "line", 20
.lex "$_", param_393
@@ -8478,7 +8478,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP" :subid("32_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "TOP" :subid("32_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_408
.annotate "line", 24
new $P407, 'ExceptionHandler'
@@ -8520,14 +8520,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler" :subid("33_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "nibbler" :subid("33_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_423
.param pmc param_424 :optional
.param int has_param_424 :opt_flag
.annotate "line", 30
- .const 'Sub' $P458 = "35_1271336390.22432"
+ .const 'Sub' $P458 = "35_1271948660.90108"
capture_lex $P458
- .const 'Sub' $P432 = "34_1271336390.22432"
+ .const 'Sub' $P432 = "34_1271948660.90108"
capture_lex $P432
new $P422, 'ExceptionHandler'
set_addr $P422, control_421
@@ -8548,7 +8548,7 @@
set $S429, $P428
iseq $I430, $S429, "open"
unless $I430, if_427_end
- .const 'Sub' $P432 = "34_1271336390.22432"
+ .const 'Sub' $P432 = "34_1271948660.90108"
capture_lex $P432
$P432()
if_427_end:
@@ -8611,7 +8611,7 @@
unless $P452, loop464_done
shift $P456, $P452
loop464_redo:
- .const 'Sub' $P458 = "35_1271336390.22432"
+ .const 'Sub' $P458 = "35_1271948660.90108"
capture_lex $P458
$P458($P456)
loop464_next:
@@ -8641,7 +8641,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block431" :anon :subid("34_1271336390.22432") :outer("33_1271336390.22432")
+.sub "_block431" :anon :subid("34_1271948660.90108") :outer("33_1271948660.90108")
.annotate "line", 32
$P433 = root_new ['parrot';'Hash']
.lex "%old", $P433
@@ -8681,7 +8681,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block457" :anon :subid("35_1271336390.22432") :outer("33_1271336390.22432")
+.sub "_block457" :anon :subid("35_1271948660.90108") :outer("33_1271948660.90108")
.param pmc param_459
.annotate "line", 45
.lex "$_", param_459
@@ -8696,10 +8696,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish" :subid("36_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "termish" :subid("36_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_478
.annotate "line", 55
- .const 'Sub' $P491 = "37_1271336390.22432"
+ .const 'Sub' $P491 = "37_1271948660.90108"
capture_lex $P491
new $P477, 'ExceptionHandler'
set_addr $P477, control_476
@@ -8742,7 +8742,7 @@
unless $P485, loop536_done
shift $P489, $P485
loop536_redo:
- .const 'Sub' $P491 = "37_1271336390.22432"
+ .const 'Sub' $P491 = "37_1271948660.90108"
capture_lex $P491
$P491($P489)
loop536_next:
@@ -8771,7 +8771,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block490" :anon :subid("37_1271336390.22432") :outer("36_1271336390.22432")
+.sub "_block490" :anon :subid("37_1271948660.90108") :outer("36_1271948660.90108")
.param pmc param_493
.annotate "line", 59
new $P492, "Undef"
@@ -8898,10 +8898,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom" :subid("38_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "quantified_atom" :subid("38_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_546
.annotate "line", 76
- .const 'Sub' $P555 = "39_1271336390.22432"
+ .const 'Sub' $P555 = "39_1271948660.90108"
capture_lex $P555
new $P545, 'ExceptionHandler'
set_addr $P545, control_544
@@ -8964,7 +8964,7 @@
goto if_551_end
if_551:
.annotate "line", 78
- .const 'Sub' $P555 = "39_1271336390.22432"
+ .const 'Sub' $P555 = "39_1271948660.90108"
capture_lex $P555
$P555()
if_551_end:
@@ -9018,7 +9018,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block554" :anon :subid("39_1271336390.22432") :outer("38_1271336390.22432")
+.sub "_block554" :anon :subid("39_1271948660.90108") :outer("38_1271948660.90108")
.annotate "line", 80
new $P556, "Undef"
.lex "$qast", $P556
@@ -9057,7 +9057,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom" :subid("40_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "atom" :subid("40_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_596
.annotate "line", 91
new $P595, 'ExceptionHandler'
@@ -9135,7 +9135,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>" :subid("41_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "quantifier:sym<*>" :subid("41_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_622
.annotate "line", 101
new $P621, 'ExceptionHandler'
@@ -9175,7 +9175,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>" :subid("42_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "quantifier:sym<+>" :subid("42_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_637
.annotate "line", 106
new $P636, 'ExceptionHandler'
@@ -9215,7 +9215,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>" :subid("43_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "quantifier:sym<?>" :subid("43_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_652
.annotate "line", 111
new $P651, 'ExceptionHandler'
@@ -9259,7 +9259,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>" :subid("44_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "quantifier:sym<**>" :subid("44_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_669
.annotate "line", 117
new $P668, 'ExceptionHandler'
@@ -9399,7 +9399,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>" :subid("45_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<ws>" :subid("45_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_716
.annotate "line", 131
new $P715, 'ExceptionHandler'
@@ -9451,7 +9451,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>" :subid("46_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<[ ]>" :subid("46_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_734
.annotate "line", 140
new $P733, 'ExceptionHandler'
@@ -9483,7 +9483,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>" :subid("47_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<( )>" :subid("47_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_744
.annotate "line", 144
new $P743, 'ExceptionHandler'
@@ -9531,7 +9531,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>" :subid("48_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<'>" :subid("48_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_762
.annotate "line", 151
new $P761, 'ExceptionHandler'
@@ -9587,7 +9587,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">" :subid("49_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<\">" :subid("49_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_785
.annotate "line", 158
new $P784, 'ExceptionHandler'
@@ -9643,7 +9643,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>" :subid("50_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<.>" :subid("50_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_808
.annotate "line", 165
new $P807, 'ExceptionHandler'
@@ -9674,7 +9674,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>" :subid("51_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<^>" :subid("51_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_820
.annotate "line", 170
new $P819, 'ExceptionHandler'
@@ -9705,7 +9705,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>" :subid("52_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<^^>" :subid("52_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_832
.annotate "line", 175
new $P831, 'ExceptionHandler'
@@ -9736,7 +9736,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>" :subid("53_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<$>" :subid("53_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_844
.annotate "line", 180
new $P843, 'ExceptionHandler'
@@ -9767,7 +9767,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>" :subid("54_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<$$>" :subid("54_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_856
.annotate "line", 185
new $P855, 'ExceptionHandler'
@@ -9798,7 +9798,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>" :subid("55_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<:::>" :subid("55_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_868
.annotate "line", 190
new $P867, 'ExceptionHandler'
@@ -9829,7 +9829,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>" :subid("56_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<lwb>" :subid("56_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_880
.annotate "line", 195
new $P879, 'ExceptionHandler'
@@ -9860,7 +9860,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>" :subid("57_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<rwb>" :subid("57_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_892
.annotate "line", 200
new $P891, 'ExceptionHandler'
@@ -9891,7 +9891,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>" :subid("58_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<bs>" :subid("58_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_904
.annotate "line", 205
new $P903, 'ExceptionHandler'
@@ -9923,7 +9923,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>" :subid("59_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<mod>" :subid("59_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_914
.annotate "line", 209
new $P913, 'ExceptionHandler'
@@ -9955,7 +9955,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>" :subid("60_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<assert>" :subid("60_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_924
.annotate "line", 213
new $P923, 'ExceptionHandler'
@@ -9987,7 +9987,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>" :subid("61_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<~>" :subid("61_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_934
.annotate "line", 217
new $P933, 'ExceptionHandler'
@@ -10049,7 +10049,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>" :subid("62_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<{*}>" :subid("62_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_956
.annotate "line", 230
new $P955, 'ExceptionHandler'
@@ -10110,7 +10110,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>" :subid("63_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<var>" :subid("63_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_977
.annotate "line", 237
new $P976, 'ExceptionHandler'
@@ -10270,7 +10270,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>" :subid("64_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "metachar:sym<PIR>" :subid("64_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1033
.annotate "line", 257
new $P1032, 'ExceptionHandler'
@@ -10309,7 +10309,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>" :subid("65_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<w>" :subid("65_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1048
.annotate "line", 265
new $P1047, 'ExceptionHandler'
@@ -10375,7 +10375,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>" :subid("66_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<b>" :subid("66_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1072
.annotate "line", 271
new $P1071, 'ExceptionHandler'
@@ -10418,7 +10418,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>" :subid("67_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<e>" :subid("67_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1088
.annotate "line", 277
new $P1087, 'ExceptionHandler'
@@ -10461,7 +10461,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>" :subid("68_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<f>" :subid("68_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1104
.annotate "line", 283
new $P1103, 'ExceptionHandler'
@@ -10504,7 +10504,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>" :subid("69_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<h>" :subid("69_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1120
.annotate "line", 289
new $P1119, 'ExceptionHandler'
@@ -10547,7 +10547,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>" :subid("70_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<r>" :subid("70_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1136
.annotate "line", 295
new $P1135, 'ExceptionHandler'
@@ -10590,7 +10590,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>" :subid("71_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<t>" :subid("71_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1152
.annotate "line", 301
new $P1151, 'ExceptionHandler'
@@ -10633,7 +10633,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>" :subid("72_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<v>" :subid("72_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1168
.annotate "line", 307
new $P1167, 'ExceptionHandler'
@@ -10676,7 +10676,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>" :subid("73_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<o>" :subid("73_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1184
.annotate "line", 314
new $P1183, 'ExceptionHandler'
@@ -10759,7 +10759,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>" :subid("74_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<x>" :subid("74_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1215
.annotate "line", 323
new $P1214, 'ExceptionHandler'
@@ -10842,7 +10842,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>" :subid("75_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<c>" :subid("75_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1246
.annotate "line", 332
new $P1245, 'ExceptionHandler'
@@ -10877,7 +10877,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>" :subid("76_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "backslash:sym<misc>" :subid("76_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1259
.annotate "line", 336
new $P1258, 'ExceptionHandler'
@@ -10910,7 +10910,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>" :subid("77_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "assertion:sym<?>" :subid("77_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1273
.annotate "line", 342
new $P1272, 'ExceptionHandler'
@@ -10970,7 +10970,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>" :subid("78_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "assertion:sym<!>" :subid("78_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1291
.annotate "line", 352
new $P1290, 'ExceptionHandler'
@@ -11038,7 +11038,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>" :subid("79_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "assertion:sym<method>" :subid("79_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1315
.annotate "line", 365
new $P1314, 'ExceptionHandler'
@@ -11081,12 +11081,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>" :subid("80_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "assertion:sym<name>" :subid("80_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1329
.annotate "line", 372
- .const 'Sub' $P1387 = "82_1271336390.22432"
+ .const 'Sub' $P1387 = "82_1271948660.90108"
capture_lex $P1387
- .const 'Sub' $P1351 = "81_1271336390.22432"
+ .const 'Sub' $P1351 = "81_1271948660.90108"
capture_lex $P1351
new $P1328, 'ExceptionHandler'
set_addr $P1328, control_1327
@@ -11182,7 +11182,7 @@
unless $P1378, loop1392_done
shift $P1385, $P1378
loop1392_redo:
- .const 'Sub' $P1387 = "82_1271336390.22432"
+ .const 'Sub' $P1387 = "82_1271948660.90108"
capture_lex $P1387
$P1387($P1385)
loop1392_next:
@@ -11222,7 +11222,7 @@
goto if_1346_end
if_1346:
.annotate "line", 379
- .const 'Sub' $P1351 = "81_1271336390.22432"
+ .const 'Sub' $P1351 = "81_1271948660.90108"
capture_lex $P1351
$P1351()
if_1346_end:
@@ -11263,7 +11263,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1386" :anon :subid("82_1271336390.22432") :outer("80_1271336390.22432")
+.sub "_block1386" :anon :subid("82_1271948660.90108") :outer("80_1271948660.90108")
.param pmc param_1388
.annotate "line", 401
.lex "$_", param_1388
@@ -11275,7 +11275,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1350" :anon :subid("81_1271336390.22432") :outer("80_1271336390.22432")
+.sub "_block1350" :anon :subid("81_1271948660.90108") :outer("80_1271948660.90108")
.annotate "line", 380
new $P1352, "Undef"
.lex "$regexsym", $P1352
@@ -11306,10 +11306,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>" :subid("83_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "assertion:sym<[>" :subid("83_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1402
.annotate "line", 407
- .const 'Sub' $P1437 = "84_1271336390.22432"
+ .const 'Sub' $P1437 = "84_1271948660.90108"
capture_lex $P1437
new $P1401, 'ExceptionHandler'
set_addr $P1401, control_1400
@@ -11401,7 +11401,7 @@
islt $I1435, $N1432, $N1434
unless $I1435, loop1460_done
loop1460_redo:
- .const 'Sub' $P1437 = "84_1271336390.22432"
+ .const 'Sub' $P1437 = "84_1271948660.90108"
capture_lex $P1437
$P1437()
loop1460_next:
@@ -11429,7 +11429,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1436" :anon :subid("84_1271336390.22432") :outer("83_1271336390.22432")
+.sub "_block1436" :anon :subid("84_1271948660.90108") :outer("83_1271948660.90108")
.annotate "line", 421
new $P1438, "Undef"
.lex "$ast", $P1438
@@ -11480,12 +11480,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem" :subid("85_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "cclass_elem" :subid("85_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1470
.annotate "line", 434
- .const 'Sub' $P1495 = "87_1271336390.22432"
+ .const 'Sub' $P1495 = "87_1271948660.90108"
capture_lex $P1495
- .const 'Sub' $P1479 = "86_1271336390.22432"
+ .const 'Sub' $P1479 = "86_1271948660.90108"
capture_lex $P1479
new $P1469, 'ExceptionHandler'
set_addr $P1469, control_1468
@@ -11534,7 +11534,7 @@
unless $P1489, loop1520_done
shift $P1493, $P1489
loop1520_redo:
- .const 'Sub' $P1495 = "87_1271336390.22432"
+ .const 'Sub' $P1495 = "87_1271948660.90108"
capture_lex $P1495
$P1495($P1493)
loop1520_next:
@@ -11558,7 +11558,7 @@
goto if_1475_end
if_1475:
.annotate "line", 437
- .const 'Sub' $P1479 = "86_1271336390.22432"
+ .const 'Sub' $P1479 = "86_1271948660.90108"
capture_lex $P1479
$P1479()
if_1475_end:
@@ -11590,10 +11590,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1494" :anon :subid("87_1271336390.22432") :outer("85_1271336390.22432")
+.sub "_block1494" :anon :subid("87_1271948660.90108") :outer("85_1271948660.90108")
.param pmc param_1496
.annotate "line", 441
- .const 'Sub' $P1502 = "88_1271336390.22432"
+ .const 'Sub' $P1502 = "88_1271948660.90108"
capture_lex $P1502
.lex "$_", param_1496
.annotate "line", 442
@@ -11622,7 +11622,7 @@
.annotate "line", 442
goto if_1498_end
if_1498:
- .const 'Sub' $P1502 = "88_1271336390.22432"
+ .const 'Sub' $P1502 = "88_1271948660.90108"
capture_lex $P1502
$P1515 = $P1502()
set $P1497, $P1515
@@ -11633,7 +11633,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1501" :anon :subid("88_1271336390.22432") :outer("87_1271336390.22432")
+.sub "_block1501" :anon :subid("88_1271948660.90108") :outer("87_1271948660.90108")
.annotate "line", 443
new $P1503, "Undef"
.lex "$a", $P1503
@@ -11697,7 +11697,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1478" :anon :subid("86_1271336390.22432") :outer("85_1271336390.22432")
+.sub "_block1478" :anon :subid("86_1271948660.90108") :outer("85_1271948660.90108")
.annotate "line", 438
new $P1480, "Undef"
.lex "$name", $P1480
@@ -11725,7 +11725,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal" :subid("89_1271336390.22432") :method :outer("11_1271336390.22432")
+.sub "mod_internal" :subid("89_1271948660.90108") :method :outer("11_1271948660.90108")
.param pmc param_1539
.annotate "line", 472
new $P1538, 'ExceptionHandler'
Modified: branches/runcore_purge/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/runcore_purge/ext/nqp-rx/src/stage0/Regex-s0.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/ext/nqp-rx/src/stage0/Regex-s0.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -295,7 +295,7 @@
parrotclass = getattribute $P0, 'parrotclass'
cur = new parrotclass
- .local pmc from, pos, target, debug
+ .local pmc from, target, debug
from = getattribute self, '$!pos'
setattribute cur, '$!from', from
Modified: branches/runcore_purge/include/parrot/charset.h
==============================================================================
--- branches/runcore_purge/include/parrot/charset.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/charset.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -34,19 +34,17 @@
#define PARROT_UNICODE_CHARSET Parrot_unicode_charset_ptr
typedef STRING *(*charset_get_graphemes_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset, UINTVAL count);
-typedef STRING *(*charset_get_graphemes_inplace_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset, UINTVAL count, STRING *dest_string);
-typedef void (*charset_set_graphemes_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset, UINTVAL replace_count, STRING *insert_string);
-typedef STRING * (*charset_to_charset_t)(PARROT_INTERP, STRING *source_string, STRING *dest);
-typedef STRING * (*charset_from_unicode_t)(PARROT_INTERP, STRING *source_string, STRING *dest);
+typedef STRING * (*charset_to_charset_t)(PARROT_INTERP, STRING *source_string);
+typedef STRING * (*charset_from_unicode_t)(PARROT_INTERP, STRING *source_string);
typedef STRING* (*charset_compose_t)(PARROT_INTERP, STRING *source_string);
typedef STRING* (*charset_decompose_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_upcase_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_downcase_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_titlecase_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_upcase_first_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_downcase_first_t)(PARROT_INTERP, STRING *source_string);
-typedef void (*charset_titlecase_first_t)(PARROT_INTERP, STRING *source_string);
+typedef STRING* (*charset_upcase_t)(PARROT_INTERP, const STRING *source_string);
+typedef STRING* (*charset_downcase_t)(PARROT_INTERP, const STRING *source_string);
+typedef STRING* (*charset_titlecase_t)(PARROT_INTERP, const STRING *source_string);
+typedef STRING* (*charset_upcase_first_t)(PARROT_INTERP, const STRING *source_string);
+typedef STRING* (*charset_downcase_first_t)(PARROT_INTERP, const STRING *source_string);
+typedef STRING* (*charset_titlecase_first_t)(PARROT_INTERP, const STRING *source_string);
typedef INTVAL (*charset_compare_t)(PARROT_INTERP, const STRING *lhs, const STRING *rhs);
typedef INTVAL (*charset_index_t)(PARROT_INTERP, STRING *source_string, STRING *search_string, UINTVAL offset);
typedef INTVAL (*charset_rindex_t)(PARROT_INTERP, STRING *source_string, STRING *search_string, UINTVAL offset);
@@ -73,7 +71,7 @@
typedef STRING *(*charset_string_from_codepoint_t)(PARROT_INTERP, UINTVAL codepoint);
typedef size_t (*charset_compute_hash_t)(PARROT_INTERP, const STRING *, size_t seed);
-typedef STRING* (*charset_converter_t)(PARROT_INTERP, STRING *src, STRING *dst);
+typedef STRING* (*charset_converter_t)(PARROT_INTERP, STRING *src);
/* HEADERIZER BEGIN: src/string/charset.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -86,7 +84,7 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-STRING* Parrot_charset_name(SHIM_INTERP, INTVAL number_of_charset);
+STRING * Parrot_charset_name(SHIM_INTERP, INTVAL number_of_charset);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -137,18 +135,19 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-CHARSET * Parrot_load_charset(PARROT_INTERP, ARGIN(const char *charsetname))
+const CHARSET * Parrot_load_charset(PARROT_INTERP,
+ ARGIN(const char *charsetname))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
INTVAL Parrot_make_default_charset(SHIM_INTERP,
SHIM(const char *charsetname),
- ARGIN(CHARSET *charset))
+ ARGIN(const CHARSET *charset))
__attribute__nonnull__(3);
PARROT_EXPORT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PARROT_MALLOC
CHARSET * Parrot_new_charset(PARROT_INTERP)
__attribute__nonnull__(1);
@@ -164,7 +163,7 @@
PARROT_EXPORT
void Parrot_register_charset_converter(PARROT_INTERP,
ARGIN(const CHARSET *lhs),
- ARGIN(CHARSET *rhs),
+ ARGIN(const CHARSET *rhs),
ARGIN(charset_converter_t func))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -214,8 +213,6 @@
struct _charset {
const char *name;
charset_get_graphemes_t get_graphemes;
- charset_get_graphemes_inplace_t get_graphemes_inplace;
- charset_set_graphemes_t set_graphemes;
charset_to_charset_t to_charset;
charset_compose_t compose;
charset_decompose_t decompose;
@@ -238,8 +235,6 @@
};
#define CHARSET_GET_GRAPEMES(interp, source, offset, count) ((source)->charset)->get_graphemes((interp), (source), (offset), (count))
-#define CHARSET_GET_GRAPHEMES_INPLACE(interp, source, dest, offset, count) ((source)->charset)->get_graphemes((interp), (source), (dest), (offset), (count))
-#define CHARSET_SET_GRAPHEMES(interp, source, offset, replace_count, insert) ((source)->charset)->set_graphemes((interp), (source), (offset), (replace_count), (insert))
#define CHARSET_TO_UNICODE(interp, source, dest) ((source)->charset)->to_unicode((interp), (source), (dest))
#define CHARSET_COMPOSE(interp, source) ((source)->charset)->compose((interp), (source))
#define CHARSET_DECOMPOSE(interp, source) ((source)->charset)->decompose((interp), (source))
@@ -262,16 +257,10 @@
#define CHARSET_TO_ENCODING(interp, source) ((source)->encoding)->to_encoding((interp), (source))
#define CHARSET_COPY_TO_ENCODING(interp, source) ((source)->encoding)->copy_to_encoding((interp), (source))
#define CHARSET_GET_CODEPOINT(interp, source, offset) ((source)->encoding)->get_codepoint((interp), (source), (offset))
-#define CHARSET_SET_CODEPOINT(interp, source, offset, codepoint) ((source)->encoding)->set_codepoint((interp), (source), (offset), (codepoint))
#define CHARSET_GET_BYTE(interp, source, offset) ((source)->encoding)->get_byte((interp), (source), (offset))
#define CHARSET_SET_BYTE(interp, source, offset, value) ((source)->encoding)->set_byte((interp), (source), (offset), (value))
#define CHARSET_GET_CODEPOINTS(interp, source, offset, count) ((source)->encoding)->get_codepoints((interp), (source), (offset), (count))
-#define CHARSET_GET_CODEPOINTS_INPLACE(interp, source, dest, offset, count) ((source)->encoding)->get_codepoints_inplace((interp), (source), (dest), (offset), (count))
#define CHARSET_GET_BYTES(interp, source, offset, count) ((source)->encoding)->get_bytes((interp), (source), (offset), (count))
-#define CHARSET_GET_BYTES_INPLACE(interp, source, offset, count, dest) ((source)->encoding)->get_bytes((interp), (source), (offset), (count), (dest))
-#define CHARSET_SET_CODEPOINTS(interp, source, offset, count, newdata) ((source)->encoding)->set_codepoints((interp), (source), (offset), (count), (newdata))
-#define CHARSET_SET_BYTES(interp, source, offset, count, newdata) ((source)->encoding)->set_bytes((interp), (source), (offset), (count), (newdata))
-#define CHARSET_BECOME_ENCODING(interp, source) ((source)->encoding)->become_encoding((interp), (source))
#define CHARSET_CODEPOINTS(interp, source) ((source)->encoding)->codepoints((interp), (source))
#define CHARSET_BYTES(interp, source) ((source)->encoding)->bytes((interp), (source))
Modified: branches/runcore_purge/include/parrot/encoding.h
==============================================================================
--- branches/runcore_purge/include/parrot/encoding.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/encoding.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -15,20 +15,14 @@
#include "parrot/parrot.h"
-typedef STRING * (*encoding_to_encoding_t)(PARROT_INTERP, NOTNULL(STRING *src), NULLOK(STRING *dest));
+typedef STRING * (*encoding_to_encoding_t)(PARROT_INTERP, NOTNULL(const STRING *src));
typedef UINTVAL (*encoding_get_codepoint_t)(PARROT_INTERP, const STRING *src, UINTVAL offset);
-typedef void (*encoding_set_codepoint_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL codepoint);
typedef UINTVAL (*encoding_get_byte_t)(PARROT_INTERP, const STRING *src, UINTVAL offset);
typedef void (*encoding_set_byte_t)(PARROT_INTERP, const STRING *src, UINTVAL offset, UINTVAL count);
typedef STRING *(*encoding_get_codepoints_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count);
typedef STRING *(*encoding_get_bytes_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count);
-typedef STRING *(*encoding_get_codepoints_inplace_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count, STRING *dest_string);
-typedef STRING *(*encoding_get_bytes_inplace_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count, STRING *dest_string);
-typedef void (*encoding_set_codepoints_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count, STRING *new_bytes);
-typedef void (*encoding_set_bytes_t)(PARROT_INTERP, STRING *src, UINTVAL offset, UINTVAL count, STRING *new_bytes);
-typedef void (*encoding_become_encoding_t)(PARROT_INTERP, STRING *src);
-typedef UINTVAL (*encoding_codepoints_t)(PARROT_INTERP, STRING *src);
-typedef UINTVAL (*encoding_bytes_t)(PARROT_INTERP, STRING *src);
+typedef UINTVAL (*encoding_codepoints_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef UINTVAL (*encoding_bytes_t)(PARROT_INTERP, ARGIN(const STRING *src));
typedef UINTVAL (*encoding_find_cclass_t)(PARROT_INTERP, STRING *s, const INTVAL *typetable, INTVAL flags, UINTVAL offset, UINTVAL count);
typedef size_t (*encoding_hash_t)(PARROT_INTERP, const STRING *s, size_t hashval);
@@ -44,16 +38,10 @@
UINTVAL max_bytes_per_codepoint;
encoding_to_encoding_t to_encoding;
encoding_get_codepoint_t get_codepoint;
- encoding_set_codepoint_t set_codepoint;
encoding_get_byte_t get_byte;
encoding_set_byte_t set_byte;
encoding_get_codepoints_t get_codepoints;
- encoding_get_codepoints_inplace_t get_codepoints_inplace;
encoding_get_bytes_t get_bytes;
- encoding_get_bytes_inplace_t get_bytes_inplace;
- encoding_set_codepoints_t set_codepoints;
- encoding_set_bytes_t set_bytes;
- encoding_become_encoding_t become_encoding;
encoding_codepoints_t codepoints;
encoding_bytes_t bytes;
encoding_iter_init_t iter_init;
@@ -208,26 +196,14 @@
((src)->encoding)->max_bytes_per_codepoint
#define ENCODING_GET_CODEPOINT(i, src, offset) \
((src)->encoding)->get_codepoint((i), (src), (offset))
-#define ENCODING_SET_CODEPOINT(i, src, offset, codepoint) \
- ((src)->encoding)->set_codepoint((i), (src), (offset), (codepoint))
#define ENCODING_GET_BYTE(i, src, offset) \
((src)->encoding)->get_byte((i), (src), (offset))
#define ENCODING_SET_BYTE(i, src, offset, value) \
((src)->encoding)->set_byte((i), (src), (offset), (value))
#define ENCODING_GET_CODEPOINTS(i, src, offset, count) \
((src)->encoding)->get_codepoints((i), (src), (offset), (count))
-#define ENCODING_GET_CODEPOINTS_INPLACE(i, src, offset, count, dest) \
- ((src)->encoding)->get_codepoints_inplace((i), (src), (offset), (count), (dest))
#define ENCODING_GET_BYTES(i, src, offset, count) \
((src)->encoding)->get_bytes((i), (src), (offset), (count))
-#define ENCODING_GET_BYTES_INPLACE(i, src, offset, count, dest) \
- ((src)->encoding)->get_bytes_inplace((i), (src), (offset), (count), (dest))
-#define ENCODING_SET_CODEPOINTS(i, src, offset, count, newdata) \
- ((src)->encoding)->set_codepoints((i), (src), (offset), (count), (newdata))
-#define ENCODING_SET_BYTES(i, src, offset, count, newdata) \
- ((src)->encoding)->set_bytes((i), (src), (offset), (count), (newdata))
-#define ENCODING_BECOME_ENCODING(i, src) \
- ((src)->encoding)->become_encoding((i), (src))
#define ENCODING_CODEPOINTS(i, src) \
((src)->encoding)->codepoints((i), (src))
#define ENCODING_BYTES(i, src) \
Modified: branches/runcore_purge/include/parrot/io.h
==============================================================================
--- branches/runcore_purge/include/parrot/io.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/io.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -453,14 +453,17 @@
FUNC_MODIFIES(*filehandle)
FUNC_MODIFIES(*buf);
+PARROT_WARN_UNUSED_RESULT
size_t Parrot_io_read_buffer(PARROT_INTERP,
ARGMOD(PMC *filehandle),
- ARGIN(STRING **buf))
+ ARGMOD(STRING **buf))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
- FUNC_MODIFIES(*filehandle);
+ FUNC_MODIFIES(*filehandle)
+ FUNC_MODIFIES(*buf);
+PARROT_WARN_UNUSED_RESULT
size_t Parrot_io_readline_buffer(PARROT_INTERP,
ARGMOD(PMC *filehandle),
ARGOUT(STRING **buf))
@@ -646,7 +649,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_io_parse_open_flags(PARROT_INTERP,
- ARGIN_NULLOK(STRING *mode_str))
+ ARGIN_NULLOK(const STRING *mode_str))
__attribute__nonnull__(1);
PARROT_EXPORT
Modified: branches/runcore_purge/include/parrot/packfile.h
==============================================================================
--- branches/runcore_purge/include/parrot/packfile.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/packfile.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -269,7 +269,7 @@
typedef struct PackFile_Debug {
PackFile_Segment base;
opcode_t num_mappings;
- PackFile_DebugFilenameMapping **mappings;
+ PackFile_DebugFilenameMapping *mappings;
PackFile_ByteCode *code; /* where this segment belongs to */
} PackFile_Debug;
@@ -581,7 +581,7 @@
PARROT_CAN_RETURN_NULL
PackFile_Segment * PackFile_find_segment(PARROT_INTERP,
ARGIN_NULLOK(PackFile_Directory *dir),
- ARGIN(STRING *name),
+ ARGIN(const STRING *name),
int sub_dir)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
Modified: branches/runcore_purge/include/parrot/string_funcs.h
==============================================================================
--- branches/runcore_purge/include/parrot/string_funcs.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/string_funcs.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -27,48 +27,31 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-STRING * Parrot_str_append(PARROT_INTERP,
- ARGMOD_NULLOK(STRING *a),
- ARGIN_NULLOK(STRING *b))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*a);
-
-PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_bitwise_and(PARROT_INTERP,
ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2),
- ARGOUT_NULLOK(STRING **dest))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*dest);
+ ARGIN_NULLOK(const STRING *s2))
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_bitwise_not(PARROT_INTERP,
- ARGIN_NULLOK(const STRING *s),
- ARGOUT_NULLOK(STRING **dest))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*dest);
+ ARGIN_NULLOK(const STRING *s))
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_bitwise_or(PARROT_INTERP,
ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2),
- ARGOUT_NULLOK(STRING **dest))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*dest);
+ ARGIN_NULLOK(const STRING *s2))
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_bitwise_xor(PARROT_INTERP,
ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2),
- ARGOUT_NULLOK(STRING **dest))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*dest);
+ ARGIN_NULLOK(const STRING *s2))
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -84,21 +67,17 @@
PARROT_CAN_RETURN_NULL
STRING* Parrot_str_change_charset(PARROT_INTERP,
ARGMOD_NULLOK(STRING *src),
- INTVAL charset_nr,
- ARGOUT_NULLOK(STRING *dest))
+ INTVAL charset_nr)
__attribute__nonnull__(1)
- FUNC_MODIFIES(*src)
- FUNC_MODIFIES(*dest);
+ FUNC_MODIFIES(*src);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
STRING* Parrot_str_change_encoding(PARROT_INTERP,
ARGIN_NULLOK(STRING *src),
- INTVAL encoding_nr,
- ARGOUT_NULLOK(STRING *dest))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*dest);
+ INTVAL encoding_nr)
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
@@ -108,12 +87,6 @@
FUNC_MODIFIES(*s);
PARROT_EXPORT
-void Parrot_str_chopn_inplace(PARROT_INTERP, ARGMOD(STRING *s), INTVAL n)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_str_compare(PARROT_INTERP,
ARGIN_NULLOK(const STRING *s1),
@@ -130,8 +103,7 @@
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_concat(PARROT_INTERP,
ARGIN_NULLOK(STRING *a),
- ARGIN_NULLOK(STRING *b),
- UINTVAL Uflags)
+ ARGIN_NULLOK(STRING *b))
__attribute__nonnull__(1);
PARROT_EXPORT
@@ -149,11 +121,6 @@
__attribute__nonnull__(1);
PARROT_EXPORT
-void Parrot_str_downcase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_str_equal(PARROT_INTERP,
ARGIN_NULLOK(const STRING *s1),
@@ -264,10 +231,8 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-INTVAL Parrot_str_length(PARROT_INTERP, ARGMOD(STRING *s))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
+INTVAL Parrot_str_length(SHIM_INTERP, ARGIN(const STRING *s))
+ __attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -286,14 +251,6 @@
__attribute__nonnull__(2);
PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-PARROT_WARN_UNUSED_RESULT
-STRING * Parrot_str_new_COW(PARROT_INTERP, ARGMOD(STRING *s))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_MALLOC
PARROT_CANNOT_RETURN_NULL
@@ -332,8 +289,7 @@
__attribute__nonnull__(1);
PARROT_EXPORT
-void Parrot_str_pin(PARROT_INTERP, ARGMOD(STRING *s))
- __attribute__nonnull__(1)
+void Parrot_str_pin(SHIM_INTERP, ARGMOD(STRING *s))
__attribute__nonnull__(2)
FUNC_MODIFIES(*s);
@@ -347,42 +303,15 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
STRING * Parrot_str_replace(PARROT_INTERP,
- ARGIN(STRING *src),
+ ARGIN(const STRING *src),
INTVAL offset,
INTVAL length,
- ARGIN(STRING *rep),
- ARGOUT_NULLOK(STRING **d))
+ ARGIN(const STRING *rep))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*d);
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING * Parrot_str_resize(PARROT_INTERP, ARGMOD(STRING *s), UINTVAL addlen)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING * Parrot_str_reuse_COW(SHIM_INTERP,
- ARGMOD(STRING *s),
- ARGOUT(STRING *d))
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*s)
- FUNC_MODIFIES(*d);
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING * Parrot_str_set(PARROT_INTERP,
- ARGIN_NULLOK(STRING *dest),
- ARGMOD(STRING *src))
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*src);
+ __attribute__nonnull__(5);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -398,11 +327,8 @@
STRING * Parrot_str_substr(PARROT_INTERP,
ARGIN_NULLOK(STRING *src),
INTVAL offset,
- INTVAL length,
- ARGOUT_NULLOK(STRING **d),
- int replace_dest)
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*d);
+ INTVAL length)
+ __attribute__nonnull__(1);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
@@ -411,11 +337,6 @@
__attribute__nonnull__(1);
PARROT_EXPORT
-void Parrot_str_titlecase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
PARROT_MALLOC
PARROT_CANNOT_RETURN_NULL
char * Parrot_str_to_cstring(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
@@ -460,29 +381,12 @@
__attribute__nonnull__(1);
PARROT_EXPORT
-void Parrot_str_upcase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
-void Parrot_str_write_COW(PARROT_INTERP, ARGMOD(STRING *s))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
-
-PARROT_EXPORT
PARROT_PURE_FUNCTION
PARROT_CANNOT_RETURN_NULL
const char * Parrot_string_cstring(SHIM_INTERP, ARGIN(const STRING *str))
__attribute__nonnull__(2);
PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
-UINTVAL string_capacity(SHIM_INTERP, ARGIN(const STRING *s))
- __attribute__nonnull__(2);
-
-PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING * string_chr(PARROT_INTERP, UINTVAL character)
@@ -546,6 +450,12 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
+STRING* Parrot_str_clone(PARROT_INTERP, ARGIN(const STRING *s))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_from_int_base(PARROT_INTERP,
ARGOUT(char *tc),
HUGEINTVAL num,
@@ -565,8 +475,6 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*tc);
-#define ASSERT_ARGS_Parrot_str_append __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_bitwise_and __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_bitwise_not __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -585,9 +493,6 @@
#define ASSERT_ARGS_Parrot_str_chopn __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(s))
-#define ASSERT_ARGS_Parrot_str_chopn_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_compose __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -599,8 +504,6 @@
, PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_downcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_str_downcase_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_equal __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_escape __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -638,16 +541,12 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ar))
#define ASSERT_ARGS_Parrot_str_length __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
+ PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_new __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_new_constant __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(buffer))
-#define ASSERT_ARGS_Parrot_str_new_COW __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_new_from_buffer __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(buffer))
@@ -660,8 +559,7 @@
#define ASSERT_ARGS_Parrot_str_not_equal __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_pin __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
+ PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_repeat __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(s))
@@ -669,23 +567,12 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(rep))
-#define ASSERT_ARGS_Parrot_str_resize __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
-#define ASSERT_ARGS_Parrot_str_reuse_COW __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(s) \
- , PARROT_ASSERT_ARG(d))
-#define ASSERT_ARGS_Parrot_str_set __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_Parrot_str_split __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_substr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_titlecase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_str_titlecase_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_to_cstring __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_to_hashval __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -703,15 +590,8 @@
, PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_upcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_str_upcase_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_str_write_COW __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_string_cstring __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(str))
-#define ASSERT_ARGS_string_capacity __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_string_chr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_string_increment __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -730,6 +610,9 @@
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_string_to_cstring_nullable __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_Parrot_str_clone __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_Parrot_str_from_int_base __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(tc))
Modified: branches/runcore_purge/include/parrot/string_primitives.h
==============================================================================
--- branches/runcore_purge/include/parrot/string_primitives.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/string_primitives.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -36,12 +36,11 @@
PARROT_EXPORT
Parrot_UInt4 string_unescape_one(PARROT_INTERP,
ARGMOD(UINTVAL *offset),
- ARGMOD(STRING *string))
+ ARGIN(const STRING *string))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
- FUNC_MODIFIES(*offset)
- FUNC_MODIFIES(*string);
+ FUNC_MODIFIES(*offset);
#define ASSERT_ARGS_Parrot_char_digit_value __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_str_dup_remove_quotes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/include/parrot/sub.h
==============================================================================
--- branches/runcore_purge/include/parrot/sub.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/include/parrot/sub.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -172,13 +172,6 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
-PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
-PMC * new_ret_continuation_pmc(PARROT_INTERP,
- ARGIN_NULLOK(opcode_t *address))
- __attribute__nonnull__(1);
-
-PARROT_EXPORT
void Parrot_capture_lex(PARROT_INTERP, ARGMOD(PMC *sub_pmc))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -219,11 +212,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-void invalidate_retc_context(PARROT_INTERP, ARGMOD(PMC *cont))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*cont);
-
void mark_context_start(void);
void Parrot_continuation_check(PARROT_INTERP, ARGIN(const PMC *pmc))
__attribute__nonnull__(1)
@@ -262,8 +250,6 @@
ARGIN_NULLOK(opcode_t *pc))
__attribute__nonnull__(1);
-#define ASSERT_ARGS_new_ret_continuation_pmc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_capture_lex __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(sub_pmc))
@@ -283,9 +269,6 @@
#define ASSERT_ARGS_parrot_new_closure __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(sub_pmc))
-#define ASSERT_ARGS_invalidate_retc_context __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(cont))
#define ASSERT_ARGS_mark_context_start __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_Parrot_continuation_check __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: branches/runcore_purge/lib/Parrot/Configure/Options/Conf.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Configure/Options/Conf.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Configure/Options/Conf.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -102,6 +102,7 @@
--without-gmp Build parrot without GMP support
--without-opengl Build parrot without OpenGL support (GL/GLU/GLUT)
--without-pcre Build parrot without pcre support
+ --without-zlib Build parrot without zlib support
ICU Options:
Modified: branches/runcore_purge/lib/Parrot/Configure/Options/Conf/Shared.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Configure/Options/Conf/Shared.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Configure/Options/Conf/Shared.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -79,6 +79,7 @@
without-opengl
without-pcre
without-threads
+ without-zlib
yacc
};
Modified: branches/runcore_purge/lib/Parrot/Configure/Options/Test/Prepare.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Configure/Options/Test/Prepare.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Configure/Options/Test/Prepare.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -78,6 +78,8 @@
? qq|$secondlevel-$number|
: $number;
$steps_tests_complex{$category}{$class}{$final}++;
+
+ return;
}
} # END wanted()
finddepth( \&wanted, ( $steps_dir ) );
Modified: branches/runcore_purge/lib/Parrot/Configure/Step/List.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Configure/Step/List.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Configure/Step/List.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -53,6 +53,7 @@
auto::readline
auto::pcre
auto::opengl
+ auto::zlib
auto::gettext
auto::snprintf
auto::perldoc
Modified: branches/runcore_purge/lib/Parrot/Distribution.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Distribution.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Distribution.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2009, Parrot Foundation.
+# Copyright (C) 2004-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -248,13 +248,13 @@
# and make a hash out of the directories
my %dirs =
map { ( ( File::Spec->splitpath($_) )[1] => 1 ) }
- grep { m|(?i)(?:$filter_ext)| } $self->_dist_files;
+ grep { m/(?i)(?:$filter_ext)/ } $self->_dist_files;
# Filter out ignored directories
# and return the results
my @dirs = sort
map { $self->directory_with_name($_) }
- grep { !m|(?:$filter_dir)| }
+ grep { !m/(?:$filter_dir)/ }
keys %dirs;
return @dirs;
};
@@ -281,7 +281,7 @@
}
}
- print 'WARNING: ' . __FILE__ . ':' . __LINE__ . ' File not found: ' . $name . "\n";
+ print '# WARNING: ' . __FILE__ . ':' . __LINE__ . ' File not found: ' . $name . "\n";
return;
};
@@ -293,7 +293,7 @@
# and return a sorted list of filenames
my @files = sort
map { $self->file_with_name($_) }
- grep { m|(?i)(?:$filter_ext)| }
+ grep { m/(?i)(?:$filter_ext)/ }
$self->_dist_files;
return @files;
};
@@ -334,7 +334,7 @@
# and return a sorted list of filenames
my @files = sort
map { $self->file_with_name($_) }
- grep { m|[/\\]makefiles[/\\][a-z]+\.in$| }
+ grep { m{[/\\]makefiles[/\\][a-z]+\.in$} }
$self->_dist_files;
return @files;
}
Modified: branches/runcore_purge/lib/Parrot/Pmc2c/PMCEmitter.pm
==============================================================================
--- branches/runcore_purge/lib/Parrot/Pmc2c/PMCEmitter.pm Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/lib/Parrot/Pmc2c/PMCEmitter.pm Sat Apr 24 00:51:33 2010 (r45948)
@@ -570,7 +570,7 @@
vt->base_type = entry;
vt->whoami = string_make(interp, "$classname", @{[length($classname)]},
"ascii", PObj_constant_FLAG|PObj_external_FLAG);
- vt->provides_str = Parrot_str_append(interp, vt->provides_str,
+ vt->provides_str = Parrot_str_concat(interp, vt->provides_str,
string_make(interp, "$provides", @{[length($provides)]}, "ascii",
PObj_constant_FLAG|PObj_external_FLAG));
Copied: branches/runcore_purge/ports/fedora/2.3.0/parrot.desk.in.tar.gz (from r45947, trunk/ports/fedora/2.3.0/parrot.desk.in.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: branches/runcore_purge/ports/fedora/2.3.0/parrot.patch (from r45947, trunk/ports/fedora/2.3.0/parrot.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/ports/fedora/2.3.0/parrot.patch Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/ports/fedora/2.3.0/parrot.patch)
@@ -0,0 +1,19 @@
+--- lib/Parrot/Install.pm 2009-06-01 09:29:57.000000000 +0200
++++ lib/Parrot/Install.pm 2009-06-03 08:41:22.000000000 +0200
+@@ -220,6 +220,16 @@
+ else {
+ next unless -e $src;
+ next if $^O eq 'cygwin' and -e "$src.exe"; # stat works, copy not
++ if (-l $src) {
++ # check if the system supports symbolic linking
++ use Config;
++ if ($Config{d_symlink} && $Config{d_readlink}) {
++ # copy as symbolic link
++ symlink(readlink($src), $dest);
++ print "$dest\n";
++ next;
++ }
++ }
+ copy( $src, $dest ) or die "Error: couldn't copy $src to $dest: $!\n";
+ print "$dest\n";
+ }
Copied: branches/runcore_purge/ports/fedora/2.3.0/parrot.spec (from r45947, trunk/ports/fedora/2.3.0/parrot.spec)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/ports/fedora/2.3.0/parrot.spec Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/ports/fedora/2.3.0/parrot.spec)
@@ -0,0 +1,379 @@
+Name: parrot
+Version: 2.3.0
+Release: 1%{?dist}
+Summary: a virtual machine
+License: Artistic 2.0
+Group: Development/Libraries
+URL: http://www.parrot.org/
+
+Source0: ftp://ftp.parrot.org/pub/parrot/releases/stable/%{version}/parrot-%{version}.tar.gz
+Source1: %{name}.desk.in.tar.gz
+
+Patch0: parrot.patch
+#
+# see for upstream: https://trac.parrot.org/parrot/ticket/509
+# patched file: lib/Parrot/Install.pm
+# is to have the symlink: libparrot.so -> libparrot.so.%{version}
+# Without this %{_libdir}/libparrot.so would not be a symbolic link to
+# %{_libdir}/libparrot.so.%{version}
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: readline-devel
+BuildRequires: ncurses-devel
+BuildRequires: gmp-devel
+BuildRequires: gdbm-devel
+BuildRequires: libicu-devel
+BuildRequires: perl(Test::Harness)
+BuildRequires: perl(Test::Simple)
+BuildRequires: ctags
+BuildRequires: openssl-devel
+BuildRequires: flex
+BuildRequires: bison
+# Needed to generate the Parrot PDF book
+BuildRequires: perl(Pod::PseudoPod::LaTeX), texlive-latex
+# Needed to desktop-file-install usage
+BuildRequires: desktop-file-utils
+
+
+%package docs
+Summary: Parrot Virtual Machine documentation
+Group: Documentation
+Requires: perl(strict)
+Requires: perl(warnings)
+# Provides the executable in the desktop file (xdg-open)
+Requires: xdg-utils
+BuildArch: noarch
+
+#--
+
+%package devel
+Summary: Parrot Virtual Machine development headers and libraries
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
+
+#--
+
+%package tools
+Summary: Parrot Virtual Machine development for languages
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: perl(Pod::Simple)
+Requires: perl(File::Which) >= 0.05
+Requires: perl(Parrot::OpLib::core)
+# It is necessary to have installed the package "perl-Perl-Critic" to install
+# the parrot-tools
+Provides: perl(Parrot::Pmc2c::MethodEmitter) = %{version}
+Provides: perl(Parrot::Pmc2c::PCCMETHOD_BITS) = %{version}
+Provides: perl(Parrot::Pmc2c::PMCEmitter) = %{version}
+Provides: perl(Parrot::OpLib::core) = %{version}
+
+
+%description
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+#--
+
+%description docs
+Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
+examples about the Parrot Virtual Machine.
+
+#--
+
+%description devel
+Parrot Virtual Machine development headers and libraries.
+
+#--
+
+%description tools
+Parrot Virtual Machine development files for building languages.
+
+
+%prep
+%setup -q
+%patch0 -p0
+
+
+cat << \EOF > %{name}-prov
+#!/bin/sh
+%{__perl_provides} $* | %{__sed} -e '/perl(A)/d' -e '/perl(B)/d' \
+ -e '/perl(DB)/d' -e '/perl(Parrot::OpLib::core)/d'
+EOF
+
+%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
+chmod +x %{__perl_provides}
+
+
+%build
+%ifarch %{ix86} x86_64
+ RPM_OPT_FLAGS="$RPM_OPT_FLAGS -maccumulate-outgoing-args"
+%else
+# The PowerPC-architecture do not build with the '-maccumulate-outgoing-args'
+# option.
+ RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
+%endif
+
+# there are problems in this version with the optimize="-O2" option on ppc64
+%ifarch ppc64
+ RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS" | %{__perl} -pi -e 's/-O2//'`
+%endif
+
+%{__perl} Configure.pl \
+ --prefix=%{_usr} \
+ --libdir=%{_libdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --infodir=%{_datadir}/info \
+ --mandir=%{_mandir} \
+ --cc="%{__cc}" \
+ --cxx=%{__cxx} \
+ --optimize="$RPM_OPT_FLAGS" \
+ --parrot_is_shared \
+ --disable-rpath \
+ --pkgconfigdir=pkgconfig \
+ --lex=%{_bindir}/flex
+
+# The LD_LIBRARY_PATH hack is needed for "miniparrot"
+# to find his parrot-library in "blib/lib"
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+
+# pbc_to_exe would not build if %{_smp_mflags} would used
+make
+make html pdf
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc"
+# to find his parrot-library in "blib/lib"
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# Creating man-pages
+%{__install} -d $RPM_BUILD_ROOT%{_mandir}/man1
+for var in 'parrot docs/running.pod' 'parrot_debugger src/parrot_debugger.c' \
+ 'pbc_disassemble src/pbc_disassemble.c' 'pbc_dump src/pbc_dump.c' \
+ 'pbc_merge src/pbc_merge.c' 'pbc_to_exe tools/dev/pbc_to_exe.pir' \
+ 'parrot_config tools/build/parrot_config_c.pl' \
+ 'parrot-nqp compilers/nqp/README.pod'
+do
+ MAN_NAME=`echo $var | %{__perl} -na -e 'print $F[0]'`
+ MAN_SOURCE=`echo $var | %{__perl} -na -e 'print $F[1]'`
+ pod2man --section=1 --name=$MAN_NAME $MAN_SOURCE | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/${MAN_NAME}.1.gz
+done
+
+# Drop the docs so rpm can pick them up itself.
+rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
+
+# Force permissions on doc directories.
+find docs examples -type d -exec chmod 755 {} \;
+find docs examples -type f -exec chmod 644 {} \;
+
+
+%define RPM_PAR_LIB_DIR $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/
+
+
+# Force permissions on shared versioned libs so they get stripped.
+# The parrot-install-script don't set the permissions right
+# With changed permissions the dependencies will be found
+find %{RPM_PAR_LIB_DIR}dynext -type f -name '*.so' -exec chmod 755 {} \;
+
+# Remove module that should be install instead (perl(File::Which))
+rm -rf %{RPM_PAR_LIB_DIR}tools/lib/File
+
+
+# Added to reduce output errors when using rpmlint
+
+# Force permission on perl-scripts in the "tools" subdirctory
+find %{RPM_PAR_LIB_DIR}tools -type f -name "*.pl" -exec chmod 755 {} \; \
+ -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
+# Set path to parrot binary and Force permission
+find %{RPM_PAR_LIB_DIR}tools/dev -type f -name "pbc_to_exe.pir" \
+ -exec %{__sed} -i -e '1 s&#! parrot&#!/usr/bin/parrot&' {} \; \
+ -exec chmod 755 {} \;
+
+# Remove doc-files with zero-length
+find docs/html -type f -size 0 -exec rm -f {} \;
+find docs -wholename 'docs/doc-prep' -type f -size 0 -exec rm -f {} \;
+
+# Set path for installed programs in docs package
+find examples/json -type f -name "*.pir" \
+ -exec %{__sed} -i -e '1 s&#!../../parrot&#!/usr/bin/parrot&' {} \;
+find examples -type f -path 'examples/*/*/setup.pir' \
+ -exec %{__sed} -i -e '1 s&#! ../../../parrot&#!/usr/bin/parrot&' {} \;
+find examples -type f \( -name '*.pl' -o \
+ -wholename 'examples/pir/befunge/t/basic.t' -o \
+ -path 'examples/languages/*/harness' \) \
+ -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
+find examples -type f -name "*.py" \
+ -exec %{__sed} -i -e '1 s&#! python&#!/usr/bin/python&' {} \;
+find examples -type f -name "*.rb" \
+ -exec %{__sed} -i -e '1 s&#! ruby&#!/usr/bin/ruby&' {} \;
+
+find examples -type f \( -name "*.pir" -o \
+ -wholename 'examples/shootout/random.pasm' \) \
+ -exec %{__sed} -i -e '1 s&#!./parrot&#!/usr/bin/parrot&' {} \;
+
+find examples -wholename 'examples/languages/abc/t/01-tests.t' \
+ -exec %{__sed} -i -e '1 s&#!perl&#!/usr/bin/perl&' {} \;
+find examples -wholename 'examples/shootout/revcomp.pir' \
+ -exec %{__sed} -i -e '1 s&#!parrot&#!/usr/bin/parrot&' {} \;
+
+find examples -wholename 'examples/languages/abc/t/harness' \
+ -exec %{__perl} -pi -e 's/\r$//' {} \;
+
+#install desktop file
+%{__mkdir} ${RPM_BUILD_ROOT}%{_datadir}/applications/
+%{__tar} xzf %{SOURCE1} parrot_html.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop
+%{__tar} xzf %{SOURCE1} parrot_pdf.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop
+
+desktop-file-install --delete-original --add-category="Documentation" \
+ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \
+ ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop
+desktop-file-install --delete-original --add-category="Documentation" \
+ --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \
+ ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop
+
+
+%check
+# 'make fulltest' is done by default; it take a lot of time
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+FULL='full'
+%{?_without_fulltest: FULL=''}
+%{?!_without_tests: make ${FULL}test}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
+%doc RESPONSIBLE_PARTIES TODO LICENSE
+%{_bindir}/parrot
+%{_libdir}/parrot/
+%exclude %{_libdir}/parrot/%{version}/tools
+%exclude %{_libdir}/parrot/%{version}/VERSION
+%{_libdir}/libparrot.so.*
+%{_mandir}/man1/parrot.1.gz
+
+%files docs
+%defattr(-,root,root,-)
+%doc docs examples
+%{_datadir}/applications/parrot_html.desktop
+%{_datadir}/applications/parrot_pdf.desktop
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/parrot_config
+%{_bindir}/parrot_debugger
+%{_bindir}/parrot_nci_thunk_gen
+%{_bindir}/parrot-nqp
+%{_bindir}/pbc_disassemble
+%{_bindir}/pbc_merge
+%{_bindir}/pbc_to_exe
+%{_bindir}/pbc_dump
+%{_bindir}/tapir
+%{_includedir}/parrot
+%{_libdir}/libparrot.so
+%exclude %{_libdir}/libparrot.a
+%{_libdir}/pkgconfig/*
+%{_mandir}/man1/parrot_config.1.gz
+%{_mandir}/man1/parrot_debugger.1.gz
+%{_mandir}/man1/pbc_disassemble.1.gz
+%{_mandir}/man1/pbc_merge.1.gz
+%{_mandir}/man1/pbc_to_exe.1.gz
+%{_mandir}/man1/pbc_dump.1.gz
+%{_mandir}/man1/parrot-nqp.1.gz
+
+%files tools
+%defattr(-,root,root,-)
+# Files for building languages
+%{_libdir}/parrot/%{version}/tools/*
+%{_libdir}/parrot/%{version}/VERSION
+%{_usr}/src/parrot/*
+
+
+%changelog
+* Tue Apr 20 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.3.0-1
+- updated to 2.3.0
+- add desktop files to access the documentation for reading
+- add the tapir binary
+
+* Tue Mar 16 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.2.0-1
+- add the parrot_nci_thunk_gen binary
+
+* Wed Jan 20 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.0.0-1
+- new upstream version
+- add the parrot-nqp binary, with generating of the man-page
+
+* Fri Aug 21 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.5.0-1
+- add man pages
+
+* Sat Aug 1 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.4.0-9
+- include the necessary module Parrot::OpLib::core
+- change the place of header files to /usr/include/parrot/<version>
+- install the files /usr/src/parrot/*
+- add the new disable-rpath configure option
+
+* Wed Mar 25 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.0.0-6
+- add a list of changes from Lubomir Rintel
+- add filtering Provides
+- change requires for docs-subpackage
+- enable test suite
+- change the group of the subpackage "-docs" to Documentation
+- put the main-documentation from the docs-package to the main package
+- LICENSE file added
+- add Provides-lines
+- add patch for the file "tools/dev/install_files.pl"
+- add commands to reduce output of errors when using rpmlint
+- define RPM_PAR_LIB_DIR added
+- add subpackage "tools"
+- exclude tools directory from main-package
+- added make html
+
+* Sun Mar 22 2009 Fabien Georget <fabien.georget at gmail.com> 1.0.0-4
+- add tools
+
+* Sun Mar 22 2009 David Fetter <david at fetter.org> 1.0.0-3
+- Removed wrong prefix from pkgconfig per Christoph Wickert
+- Changed i386 to ix86 per Christoph Wickert
+
+* Tue Mar 17 2009 Allison Randal <allison at parrot.org> 1.0.0
+- updated to 1.0.0
+
+* Tue Jan 23 2009 Reini Urban <rurban at x-ray.at> 0.9.0
+- added parrot_utils to devel
+
+* Tue Dec 16 2008 Whiteknight <wknight8111 at gmail.com> 0.8.2
+- updated to 0.8.2
+
+* Wed Feb 20 2008 Patrick Michaud <pmichaud at pobox.com> 0.5.3
+- Update to 0.5.3.
+
+* Sat Mar 10 2007 Steven Pritchard <steve at kspei.com> 0.4.9-1
+- Update to 0.4.9.
+- BuildRequires ncurses-devel.
+- For some reason now I need to force -lm too.
+- Remove some files/directories that shouldn't be included.
+- Override lib_dir and make various substitutions to try to fix multilib.
+- Remove rpath use from Makefile.
+- Fix a pod error in src/ops/experimental.ops.
+- Enable "make test" since t/doc/pod.t won't fail now.
+- Force permissions on shared libraries so rpmbuild strips them.
+- Fix URL, description, summary, etc.
+- Add post/postun.
+- Move parrot-config to the devel sub-package.
+- Force permissions on the doc directories.
+- Add -lcurses to get readline detection to work.
+- Add BuildRequires libicu-devel.
+
+* Tue Mar 18 2003 Steve Fink <sfink at foxglove.localdomain> 0.0.11
+- first .spec file created
Deleted: branches/runcore_purge/ports/fedora/parrot.patch
==============================================================================
--- branches/runcore_purge/ports/fedora/parrot.patch Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,38 +0,0 @@
---- tools/dev/install_files.pl 2009-07-13 10:26:40.000000000 +0200
-+++ tools/dev/install_files.pl 2009-07-13 13:37:49.000000000 +0200
-@@ -163,7 +163,7 @@
- # libdir as it is typically done with automake installed packages.
- # If there is a use case to make this configurable we'll add a
- # seperate --pkgconfigdir option.
-- $filehash->{DestDirs} = ['pkgconfig', $parrotdir];
-+ $filehash->{DestDirs} = ['pkgconfig'];
- return($filehash);
- },
- },
---- config/gen/makefiles/parrot_pc.in 2009-06-06 16:33:32.000000000 +0200
-+++ config/gen/makefiles/parrot_pc.in.new 2009-07-13 23:09:45.000000000 +0200
-@@ -7,4 +7,4 @@
- Description: virtual machine to execute bytecode for interpreted languages
- Version: @VERSION@
- Libs: -L${libdir} -lparrot @icu_shared@ @libs@
--Cflags: -I${includedir}
-+Cflags: -I${includedir}@versiondir@
---- lib/Parrot/Install.pm 2009-06-01 09:29:57.000000000 +0200
-+++ lib/Parrot/Install.pm 2009-06-03 08:41:22.000000000 +0200
-@@ -220,6 +220,16 @@
- else {
- next unless -e $src;
- next if $^O eq 'cygwin' and -e "$src.exe"; # stat works, copy not
-+ if (-l $src) {
-+ # check if the system supports symbolic linking
-+ use Config;
-+ if ($Config{d_symlink} && $Config{d_readlink}) {
-+ # copy as symbolic link
-+ symlink(readlink($src), $dest);
-+ print "$dest\n";
-+ next;
-+ }
-+ }
- copy( $src, $dest ) or die "Error: couldn't copy $src to $dest: $!\n";
- print "$dest\n";
- }
Deleted: branches/runcore_purge/ports/fedora/parrot.spec.fedora
==============================================================================
--- branches/runcore_purge/ports/fedora/parrot.spec.fedora Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,356 +0,0 @@
-Name: parrot
-Version: 2.0.0
-Release: 1%{?dist}
-Summary: a virtual machine
-License: Artistic 2.0
-Group: Development/Libraries
-URL: http://www.parrot.org/
-
-Source0: ftp://ftp.parrot.org/pub/parrot/releases/stable/%{version}/parrot-%{version}.tar.gz
-
-Patch0: parrot.patch
-# patched file: tools/dev/install_files.pl
-# It is responsible to have no subdirectory under pkgconfig.
-#
-# patched file: config/gen/makefiles/parrot_pc.in
-# So "pkg-config parrot --cflags" works correct
-#
-# see for upstream: https://trac.parrot.org/parrot/ticket/509
-# patched file: lib/Parrot/Install.pm
-# is to have the symlink: libparrot.so -> libparrot.so.%{version}
-# Without this %{_libdir}/libparrot.so would not be a symbolic link to
-# %{_libdir}/libparrot.so.%{version}
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: readline-devel
-BuildRequires: ncurses-devel
-BuildRequires: gmp-devel
-BuildRequires: gdbm-devel
-BuildRequires: libicu-devel
-BuildRequires: perl(Test::Harness)
-BuildRequires: perl(Test::Simple)
-BuildRequires: ctags
-BuildRequires: openssl-devel
-BuildRequires: flex
-BuildRequires: bison
-
-
-%package docs
-Summary: Parrot Virtual Machine documentation
-Group: Documentation
-Requires: perl(strict)
-Requires: perl(warnings)
-BuildArch: noarch
-
-#--
-
-%package devel
-Summary: Parrot Virtual Machine development headers and libraries
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: pkgconfig
-
-#--
-
-%package tools
-Summary: Parrot Virtual Machine development for languages
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: perl(Pod::Simple)
-Requires: perl(File::Which) >= 0.05
-Requires: perl(Parrot::OpLib::core)
-# It is necessary to have installed the package "perl-Perl-Critic" to install
-# the parrot-tools
-Provides: perl(Parrot::Pmc2c::MethodEmitter) = %{version}
-Provides: perl(Parrot::Pmc2c::PCCMETHOD_BITS) = %{version}
-Provides: perl(Parrot::Pmc2c::PMCEmitter) = %{version}
-Provides: perl(Parrot::OpLib::core) = %{version}
-
-
-%description
-Parrot is a virtual machine designed to efficiently compile and execute
-bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
-as well as variety of other languages.
-
-#--
-
-%description docs
-Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
-examples about the Parrot Virtual Machine.
-
-#--
-
-%description devel
-Parrot Virtual Machine development headers and libraries.
-
-#--
-
-%description tools
-Parrot Virtual Machine development files for building languages.
-
-
-%prep
-%setup -q
-%patch0 -p0
-
-
-cat << \EOF > %{name}-prov
-#!/bin/sh
-%{__perl_provides} $* | %{__sed} -e '/perl(A)/d' -e '/perl(B)/d' \
- -e '/perl(DB)/d' -e '/perl(Parrot::OpLib::core)/d'
-EOF
-
-%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
-chmod +x %{__perl_provides}
-
-
-%build
-%ifarch %{ix86} x86_64
- RPM_OPT_FLAGS="$RPM_OPT_FLAGS -maccumulate-outgoing-args"
-%else
-# The PowerPC-architecture do not build with the '-maccumulate-outgoing-args'
-# option.
- RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
-%endif
-
-%{__perl} Configure.pl \
- --prefix=%{_usr} \
- --libdir=%{_libdir} \
- --sysconfdir=%{_sysconfdir} \
- --infodir=%{_datadir}/info \
- --mandir=%{_mandir} \
- --cc="%{__cc}" \
- --cxx=%{__cxx} \
- --optimize="$RPM_OPT_FLAGS" \
- --parrot_is_shared \
- --disable-rpath \
- --lex=%{_bindir}/flex
-
-# The LD_LIBRARY_PATH hack is needed for "miniparrot"
-# to find his parrot-library in "blib/lib"
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-
-# pbc_to_exe would not build if %{_smp_mflags} would used
-make
-make parrot_utils
-make installable
-make html
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc"
-# to find his parrot-library in "blib/lib"
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-
-# install-dev: Same as 'install' taget but also install support for
-# language development
-make install-dev DESTDIR=$RPM_BUILD_ROOT
-
-# Creating man-pages
-%{__install} -d $RPM_BUILD_ROOT%{_mandir}/man1
-for var in 'parrot docs/running.pod' 'parrot_debugger src/parrot_debugger.c' \
- 'pbc_disassemble src/pbc_disassemble.c' 'pbc_dump src/pbc_dump.c' \
- 'pbc_merge src/pbc_merge.c' 'pbc_to_exe tools/dev/pbc_to_exe.pir' \
- 'parrot_config tools/build/parrot_config_c.pl' \
- 'parrot-nqp compilers/nqp/README.pod'
-do
- MAN_NAME=`echo $var | %{__perl} -na -e 'print $F[0]'`
- MAN_SOURCE=`echo $var | %{__perl} -na -e 'print $F[1]'`
- pod2man --section=1 --name=$MAN_NAME $MAN_SOURCE | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/${MAN_NAME}.1.gz
-done
-
-# Drop the docs so rpm can pick them up itself.
-rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
-
-# Force permissions on doc directories.
-find docs examples -type d -exec chmod 755 {} \;
-find docs examples -type f -exec chmod 644 {} \;
-
-
-%define RPM_PAR_LIB_DIR $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/
-
-
-# Force permissions on shared versioned libs so they get stripped.
-# The parrot-install-script don't set the permissions right
-# With changed permissions the dependencies will be found
-find %{RPM_PAR_LIB_DIR}dynext -type f -name '*.so' -exec chmod 755 {} \;
-
-# Remove module that should be install instead (perl(File::Which))
-rm -rf %{RPM_PAR_LIB_DIR}tools/lib/File
-
-
-# Added to reduce output errors when using rpmlint
-
-# Force permission on perl-scripts in the "tools" subdirctory
-find %{RPM_PAR_LIB_DIR}tools -type f -name "*.pl" -exec chmod 755 {} \; \
- -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
-# Set path to parrot binary and Force permission
-find %{RPM_PAR_LIB_DIR}tools/dev -type f -name "pbc_to_exe.pir" \
- -exec %{__sed} -i -e '1 s&#! parrot&#!/usr/bin/parrot&' {} \; \
- -exec chmod 755 {} \;
-
-# Remove doc-files with zero-length
-find docs/html -type f -size 0 -exec rm -f {} \;
-find docs -wholename 'docs/doc-prep' -type f -size 0 -exec rm -f {} \;
-
-# Set path for installed programs in docs package
-find examples/json -type f -name "*.pir" \
- -exec %{__sed} -i -e '1 s&#!../../parrot&#!/usr/bin/parrot&' {} \;
-find examples -type f -path 'examples/*/*/setup.pir' \
- -exec %{__sed} -i -e '1 s&#! ../../../parrot&#!/usr/bin/parrot&' {} \;
-find examples -type f \( -name '*.pl' -o \
- -wholename 'examples/pir/befunge/t/basic.t' -o \
- -path 'examples/languages/*/harness' \) \
- -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
-find examples -type f -name "*.py" \
- -exec %{__sed} -i -e '1 s&#! python&#!/usr/bin/python&' {} \;
-find examples -type f -name "*.rb" \
- -exec %{__sed} -i -e '1 s&#! ruby&#!/usr/bin/ruby&' {} \;
-
-find examples -type f \( -name "*.pir" -o \
- -wholename 'examples/shootout/random.pasm' \) \
- -exec %{__sed} -i -e '1 s&#!./parrot&#!/usr/bin/parrot&' {} \;
-
-find examples -wholename 'examples/languages/abc/t/01-tests.t' \
- -exec %{__sed} -i -e '1 s&#!perl&#!/usr/bin/perl&' {} \;
-find examples -wholename 'examples/shootout/revcomp.pir' \
- -exec %{__sed} -i -e '1 s&#!parrot&#!/usr/bin/parrot&' {} \;
-
-find examples -wholename 'examples/languages/abc/t/harness' \
- -exec %{__perl} -pi -e 's/\r$//' {} \;
-
-
-%check
-# 'make fulltest' is done by default; it take a lot of time
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-FULL='full'
-%{?_without_fulltest: FULL=''}
-%{?!_without_tests: make ${FULL}test}
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root,-)
-%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
-%doc RESPONSIBLE_PARTIES TODO LICENSE
-%{_bindir}/parrot
-%{_libdir}/parrot/
-%exclude %{_libdir}/parrot/%{version}/tools
-%exclude %{_libdir}/parrot/%{version}/VERSION
-%{_libdir}/libparrot.so.*
-%{_mandir}/man1/parrot.1.gz
-
-%files docs
-%defattr(-,root,root,-)
-%doc docs examples
-
-%files devel
-%defattr(-,root,root,-)
-%{_bindir}/parrot_config
-%{_bindir}/parrot_debugger
-%{_bindir}/parrot-nqp
-%{_bindir}/pbc_disassemble
-%{_bindir}/pbc_merge
-%{_bindir}/pbc_to_exe
-%{_bindir}/pbc_dump
-%{_includedir}/parrot
-%{_libdir}/libparrot.so
-%exclude %{_libdir}/libparrot.a
-%{_libdir}/pkgconfig/*
-%{_mandir}/man1/parrot_config.1.gz
-%{_mandir}/man1/parrot_debugger.1.gz
-%{_mandir}/man1/pbc_disassemble.1.gz
-%{_mandir}/man1/pbc_merge.1.gz
-%{_mandir}/man1/pbc_to_exe.1.gz
-%{_mandir}/man1/pbc_dump.1.gz
-%{_mandir}/man1/parrot-nqp.1.gz
-
-%files tools
-%defattr(-,root,root,-)
-# Files for building languages
-%{_libdir}/parrot/%{version}/tools/*
-%{_libdir}/parrot/%{version}/VERSION
-%{_usr}/src/parrot/*
-
-
-%changelog
-* Wed Jan 20 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.0.0-1
-- new upstream version
-- add the parrot-nqp binary, with generating of the man-page
-
-* Sat Aug 22 2009 Tomas Mraz <tmraz at redhat.com> 1.5.0-2
-- rebuilt with new openssl
-
-* Fri Aug 21 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.5.0-1
-- add man pages
-
-* Sat Aug 1 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.4.0-9
-- include the necessary module Parrot::OpLib::core
-- change the place of header files to /usr/include/parrot/<version>
-- install the files /usr/src/parrot/*
-- add the new disable-rpath configure option
-
-* Wed Mar 25 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.0.0-6
-- add a list of changes from Lubomir Rintel
-- add filtering Provides
-- change requires for docs-subpackage
-- enable test suite
-- change the group of the subpackage "-docs" to Documentation
-- put the main-documentation from the docs-package to the main package
-- LICENSE file added
-- change 'make install' to 'make install-dev' to also install support for development (tools)
-- add Provides-lines
-- add patch for the file "tools/dev/install_files.pl"
-- add commands to reduce output of errors when using rpmlint
-- define RPM_PAR_LIB_DIR added
-- add subpackage "tools"
-- exclude tools directory from main-package
-- added make html
-
-* Sun Mar 22 2009 Fabien Georget <fabien.georget at gmail.com> 1.0.0-4
-- add tools
-
-* Sun Mar 22 2009 David Fetter <david at fetter.org> 1.0.0-3
-- Removed wrong prefix from pkgconfig per Christoph Wickert
-- Changed i386 to ix86 per Christoph Wickert
-
-* Tue Mar 17 2009 Allison Randal <allison at parrot.org> 1.0.0
-- updated to 1.0.0
-
-* Tue Jan 23 2009 Reini Urban <rurban at x-ray.at> 0.9.0
-- added make installable
-- added parrot_utils to devel
-
-* Tue Dec 16 2008 Whiteknight <wknight8111 at gmail.com> 0.8.2
-- updated to 0.8.2
-
-* Wed Feb 20 2008 Patrick Michaud <pmichaud at pobox.com> 0.5.3
-- Update to 0.5.3.
-
-* Sat Mar 10 2007 Steven Pritchard <steve at kspei.com> 0.4.9-1
-- Update to 0.4.9.
-- BuildRequires ncurses-devel.
-- For some reason now I need to force -lm too.
-- Remove some files/directories that shouldn't be included.
-- Override lib_dir and make various substitutions to try to fix multilib.
-- Remove rpath use from Makefile.
-- Fix a pod error in src/ops/experimental.ops.
-- Enable "make test" since t/doc/pod.t won't fail now.
-- Force permissions on shared libraries so rpmbuild strips them.
-- Fix URL, description, summary, etc.
-- Add post/postun.
-- Move parrot-config to the devel sub-package.
-- Force permissions on the doc directories.
-- Add -lcurses to get readline detection to work.
-- Add BuildRequires libicu-devel.
-
-* Tue Mar 18 2003 Steve Fink <sfink at foxglove.localdomain> 0.0.11
-- first .spec file created
Copied: branches/runcore_purge/ports/suse/2.2.0/parrot.diff (from r45947, trunk/ports/suse/2.2.0/parrot.diff)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/ports/suse/2.2.0/parrot.diff Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/ports/suse/2.2.0/parrot.diff)
@@ -0,0 +1,47 @@
+--- ./src/packfile.c.orig 2010-03-16 05:15:34.000000000 +0000
++++ ./src/packfile.c 2010-03-17 13:44:10.000000000 +0000
+@@ -4442,8 +4442,7 @@ PackFile_Annotations_add_group(PARROT_IN
+
+ /* Allocate extra space for the group in the groups array. */
+ if (self->groups)
+- self->groups =
+- self->groups = mem_gc_realloc_n_typed_zeroed(interp, self->groups,
++ self->groups = mem_gc_realloc_n_typed_zeroed(interp, self->groups,
+ 1 + self->num_groups, self->num_groups, PackFile_Annotations_Group *);
+ else
+ self->groups = mem_gc_allocate_n_typed(interp,
+--- ./src/pmc.c.orig 2010-03-16 05:15:34.000000000 +0000
++++ ./src/pmc.c 2010-03-17 13:32:50.000000000 +0000
+@@ -584,7 +584,7 @@ Parrot_pmc_new_init_int(PARROT_INTERP, I
+ if (!PMC_IS_NULL(classobj) && PObj_is_class_TEST(classobj)) {
+ PMC *initial = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, init);
+- VTABLE_instantiate(interp, classobj, initial);
++ return VTABLE_instantiate(interp, classobj, initial);
+ }
+ else {
+ PMC * const pmc = get_new_pmc_header(interp, base_type, 0);
+--- ./tools/dev/pbc_to_exe.pir.orig 2010-03-17 14:04:34.000000000 +0000
++++ ./tools/dev/pbc_to_exe.pir 2010-03-17 14:05:34.000000000 +0000
+@@ -510,10 +510,11 @@ END_OF_FUNCTION
+ .param int install :optional
+
+ $P0 = '_config'()
+- .local string cc, ccflags, cc_o_out, osname, build_dir, slash
++ .local string cc, ccflags, optimize, cc_o_out, osname, build_dir, slash
+ .local string installed, includepath, versiondir
+ cc = $P0['cc']
+ ccflags = $P0['ccflags']
++ optimize = $P0['optimize']
+ cc_o_out = $P0['cc_o_out']
+ osname = $P0['osname']
+ build_dir = $P0['build_dir']
+@@ -547,6 +548,8 @@ END_OF_FUNCTION
+ compile .= pathquote
+ compile .= ' '
+ compile .= ccflags
++ compile .= ' '
++ compile .= optimize
+ compile .= ' -c '
+ compile .= cfile
+
Copied: branches/runcore_purge/ports/suse/2.2.0/parrot.spec (from r45947, trunk/ports/suse/2.2.0/parrot.spec)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/ports/suse/2.2.0/parrot.spec Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/ports/suse/2.2.0/parrot.spec)
@@ -0,0 +1,226 @@
+#
+# spec file for package parrot (Version 2.2.0)
+#
+# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+
+Name: parrot
+Version: 2.2.0
+Release: 1.10
+%define pversion 2_2_0
+Summary: Parrot Virtual Machine
+License: Artistic 2.0
+Group: Development/Libraries
+Url: http://www.parrot.org/
+Source0: parrot-%{version}.tar.bz2
+Patch0: parrot.diff
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: readline-devel
+BuildRequires: ncurses-devel
+BuildRequires: gmp-devel
+BuildRequires: gdbm-devel
+BuildRequires: libicu-devel
+%if ! 0%{?suse_version}
+BuildRequires: perl-Test-Harness
+%endif
+
+%package docs
+Summary: Parrot Virtual Machine documentation
+License: Artistic 2.0
+Group: Development/Libraries
+%if ! 0%{?suse_version}
+BuildRequires: /usr/bin/perldoc
+%endif
+
+%package -n libparrot%pversion
+
+
+Summary: Parrot Virtual Machine Library
+License: Artistic 2.0
+Group: Development/Libraries
+
+%package devel
+Summary: Parrot Virtual Machine development headers and libraries
+License: Artistic 2.0
+Group: Development/Libraries
+Requires: %{name} = %{version}
+Requires: readline-devel
+Requires: ncurses-devel
+Requires: gmp-devel
+Requires: gdbm-devel
+Requires: libicu-devel
+%if ! 0%{?suse_version}
+Requires: %{_libdir}/pkgconfig
+%endif
+
+%description
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description -n libparrot%pversion
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description docs
+Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
+examples about the Parrot Virtual Machine
+
+%description devel
+Parrot Virtual Machine development headers and libraries.
+
+%prep
+%setup -q
+%patch0
+%{__perl} -pi -e 's,"lib/,"%{_lib}/, if (/CONST_STRING\(interp,/)' \
+ src/library.c
+%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
+ tools/dev/install_files.pl
+%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
+ tools/dev/install_dev_files.pl
+
+%build
+if test "%{_vendor}" = "suse"
+then
+ LIBS='-lncurses -lm -lrt'
+else
+ LIBS='-lcurses -lm -lrt'
+fi
+OPTIMIZE="$RPM_OPT_FLAGS -fno-strict-aliasing"
+OPTIMIZE="$RPM_OPT_FLAGS"
+%ifarch %ix86 %x86_64
+OPTIMIZE="$OPTIMIZE -maccumulate-outgoing-args"
+%endif
+%ifarch ppc ia64
+OPTIMIZE="-O0"
+%endif
+%{__perl} Configure.pl \
+ --prefix=%{_usr} \
+ --libdir=%{_libdir} \
+ --sysconfdir=%{_sysconfdir} \
+ --infodir=%{_datadir}/info \
+ --mandir=%{_mandir} \
+ --cc="%{__cc}" \
+ --cxx=%{__cxx} \
+ --optimize="$OPTIMIZE" \
+ --parrot_is_shared \
+ --disable-rpath \
+ --lex=/usr/bin/flex \
+ --yacc=/usr/bin/yacc \
+ --libs="$LIBS"
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make
+make parrot_utils
+make installable
+make html
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir $RPM_BUILD_ROOT
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make install-dev DESTDIR=$RPM_BUILD_ROOT
+PARROT_LIB=%{_libdir}`./parrot_config versiondir`
+PARROT_INC=%{_includedir}`./parrot_config versiondir`
+wd=`pwd`
+for i in $RPM_BUILD_ROOT$PARROT_LIB/tools/build/* ; do
+ perl -pi -e "s@$wd/include@$PARROT_INC at g" $i
+ perl -pi -e "s@$wd/src/pmc@$PARROT_INC/pmc at g" $i
+ perl -pi -e "s@(-Wl,)?-L$wd/blib/lib@@" $i
+ perl -pi -e "s@$wd@$PARROT_LIB at g" $i
+done
+perl -pi -e 's@^(use lib ..FindBin::Bin/\.\./)\.\."@$1lib"@' $RPM_BUILD_ROOT$PARROT_LIB/tools/build/dynpmc.pl
+# Drop the docs so rpm can pick them up itself.
+rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot # necessary for SuSE
+#rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot # for Solaris?
+# Force permissions on doc directories.
+find docs examples -type d -exec chmod 755 {} \;
+find docs examples -type f -exec chmod 644 {} \;
+# Force permissions on shared libs so they get stripped.
+find $RPM_BUILD_ROOT%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) \
+ -exec chmod 755 {} \;
+# make libparrot.so a symlink
+(cd $RPM_BUILD_ROOT%{_libdir} ; ln -fs libparrot.so.* libparrot.so)
+
+%check
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+# make test < /dev/null
+# %{?_with_fulltest:make fulltest < /dev/null}
+# make test || :
+# %{?_with_fulltest:make fulltest || :}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -n libparrot%pversion -p /sbin/ldconfig
+
+%postun -n libparrot%pversion -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%exclude %{_bindir}/parrot_config
+%exclude %{_bindir}/parrot_debugger
+%exclude %{_bindir}/pbc_*
+%{_bindir}/*
+
+%files -n libparrot%pversion
+%defattr(-,root,root,-)
+%dir %{_libdir}/parrot
+%dir %{_libdir}/parrot/*
+%{_libdir}/parrot/*/[^st]*
+%{_libdir}/libparrot.so.*
+
+%files docs
+%defattr(-,root,root,-)
+%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
+%doc RESPONSIBLE_PARTIES TODO
+%doc docs examples
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/parrot_config
+%{_bindir}/parrot_debugger
+%{_bindir}/pbc_disassemble
+%{_bindir}/pbc_merge
+%{_bindir}/pbc_to_exe
+%{_bindir}/pbc_dump
+%{_includedir}/parrot
+%{_libdir}/libparrot.so
+%{_libdir}/libparrot.a
+%{_libdir}/pkgconfig/*
+%{_libdir}/parrot/*/[st]*
+%{_usrsrc}/parrot
+
+%changelog
+* Wed Mar 17 2010 mls at suse.de
+- update to parrot-2.2.0
+ * Most internal allocations now use the GC
+ * RNG non-randomness fixes
+ * Elimination of much dead code
+* Fri Feb 19 2010 mls at suse.de
+- update to parrot-2.1.1
+* Fri Oct 23 2009 mls at suse.de
+- update to October version
+* Mon Sep 21 2009 mls at suse.de
+- update to September version
+* Thu Aug 27 2009 mls at suse.de
+- update to August version
+* Fri Jun 26 2009 mls at suse.de
+- update to June version
+* Thu Apr 23 2009 mls at suse.de
+- update to April version
+* Fri Apr 3 2009 mls at suse.de
+- initial revision
Deleted: branches/runcore_purge/ports/suse/parrot.spec.suse
==============================================================================
--- branches/runcore_purge/ports/suse/parrot.spec.suse Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,244 +0,0 @@
-Name: parrot
-Version: 1.1.0
-Release: 1%{dist}
-Summary: Parrot Virtual Machine
-License: Artistic 2.0
-Group: Development/Libraries
-URL: http://www.parrot.org/
-Source0: ftp://ftp.parrot.org/pub/parrot/releases/stable/%{version}/parrot-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: readline-devel
-BuildRequires: ncurses-devel
-BuildRequires: gmp-devel
-BuildRequires: gdbm-devel
-BuildRequires: libicu-devel
-BuildRequires: perl-Test-Harness
-
-%package docs
-Summary: Parrot Virtual Machine documentation
-License: Artistic 2.0
-Group: Development/Libraries
-BuildRequires: /usr/bin/perldoc
-
-%package devel
-Summary: Parrot Virtual Machine development headers and libraries
-License: Artistic 2.0
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{_libdir}/pkgconfig
-
-%description
-Parrot is a virtual machine designed to efficiently compile and execute
-bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
-as well as variety of other languages.
-
-%description docs
-Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
-examples about the Parrot Virtual Machine
-
-%description devel
-Parrot Virtual Machine development headers and libraries.
-
-%prep
-%setup -q
-
-%{__perl} -pi -e 's,"lib/,"%{_lib}/, if (/CONST_STRING\(interp,/)' \
- src/library.c
-%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
- tools/dev/install_files.pl
-
-%build
-
-%ifarch i386 x86_64
-%{__perl} Configure.pl \
- --prefix=%{_usr} \
- --libdir=%{_libdir} \
- --sysconfdir=%{_sysconfdir} \
- --infodir=%{_datadir}/info \
- --mandir=%{_mandir} \
- --cc="%{__cc}" \
- --cxx=%{__cxx} \
- --optimize="$RPM_OPT_FLAGS -maccumulate-outgoing-args" \
- --parrot_is_shared \
- --lex=/usr/bin/flex \
- --yacc=/usr/bin/yacc \
- --libs="-lncurses -lm"
-%else
-# PowerPC
-%{__perl} Configure.pl \
- --prefix=%{_usr} \
- --libdir=%{_libdir}
-%endif
-
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-make
-make parrot_utils
-make installable
-make html
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-make install DESTDIR=$RPM_BUILD_ROOT
-
-# Drop the docs so rpm can pick them up itself.
-rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot # necessary for SuSE
-#rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot # for Solaris?
-
-# Force permissions on doc directories.
-find docs examples -type d -exec chmod 755 {} \;
-find docs examples -type f -exec chmod 644 {} \;
-
-# Force permissions on shared libs so they get stripped.
-find $RPM_BUILD_ROOT%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) \
- -exec chmod 755 {} \;
-
-# These files *probably* aren't needed.
-rm -rf $RPM_BUILD_ROOT%{_usr}/config \
- $RPM_BUILD_ROOT%{_includedir}/src \
- $RPM_BUILD_ROOT%{_usr}/src \
- $RPM_BUILD_ROOT%{_usr}/tools
-
-%check
-export LD_LIBRARY_PATH=$( pwd )/blib/lib
-# make test < /dev/null
-# %{?_with_fulltest:make fulltest < /dev/null}
-# make test || :
-# %{?_with_fulltest:make fulltest || :}
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root,-)
-%exclude %{_bindir}/parrot_config
-%exclude %{_bindir}/parrot_debugger
-%exclude %{_bindir}/pbc_*
-%{_bindir}/*
-%{_libdir}/parrot
-%{_libdir}/libparrot.so.*
-
-%files docs
-%defattr(-,root,root,-)
-%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
-%doc RESPONSIBLE_PARTIES TODO
-%doc docs examples
-
-%files devel
-%defattr(-,root,root,-)
-%{_bindir}/parrot_config
-%{_bindir}/parrot_debugger
-%{_bindir}/pbc_disassemble
-%{_bindir}/pbc_merge
-%{_bindir}/pbc_to_exe
-%{_bindir}/pbc_dump
-%{_includedir}/parrot
-%{_libdir}/libparrot.so
-%{_libdir}/libparrot.a
-%{_libdir}/pkgconfig/*
-
-%changelog
-* Tue Apr 21 2009 Francois Perrad <francois.perrad at gadz.org> 1.1.0
-- updated to 1.1.0
-
-* Tue Mar 17 2009 Allison Randal <allison at parrot.org> 1.0.0
-- updated to 1.0.0
-
-* Tue Jan 23 2009 Reini Urban <rurban at x-ray.at> 0.9.0
-- added make installable, perl6 is still not installable
-- added parrot_utils to devel
-- fixed Source0 url
-
-* Tue Jan 23 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 0.9.0
-- added make html
-- make reallyinstall => make install
-
-* Tue Jan 20 2009 chromatic <chromatic at wgz.org> 0.9.0
-- updated to 0.9.0
-
-* Tue Dec 16 2008 Whiteknight <wknight8111 at gmail.com> 0.8.2
-- updated to 0.8.2
-
-* Tue Nov 18 2008 chromatic <chromatic at parrot.org> 0.8.1
-- updated to 0.8.1
-
-* Tue Oct 21 2008 particle <particle at parrot.org> 0.8.0
-- updated to 0.8.0
-
-* Tue Sep 16 2008 pmichaud <pmichaud at pobox.com> 0.7.1
-- updated to 0.7.1
-
-* Wed Sep 3 2008 chromatic <chromatic at wgz.org> 0.7.0
-- install parrot_config (not parrot-config)
-
-* Tue Jun 17 2008 Nuno Carvalho <smash at cpan.org> 0.6.3
-- updated to 0.6.3
-
-* Tue May 20 2008 chromatic <chromatic at wgz.org>> 0.6.2
-- updated to 0.6.2
-
-* Mon Apr 28 2008 chromatic <chromatic at wgz.org> 0.6.1
-- minor fixes; tested with Fedora 7, 8, and 9-beta
-
-* Tue Mar 18 2008 Bernhard Schmalhofer <Bernhard.Schmalhofer at gmx.de> 0.6.0
-- Update to 0.5.3.
-
-* Wed Feb 20 2008 Patrick Michaud <pmichaud at pobox.com> 0.5.3
-- Update to 0.5.3.
-
-* Tue Jan 15 2008 Bob Rogers <rogers at rgrjr.dyndns.org> 0.5.2
-- Update to 0.5.2.
-
-* Tue Dec 18 2007 Jonathan Worthington <jnthn at jnthn.net> 0.5.1
-- Update to 0.5.1.
-
-* Tue Nov 20 2007 chromatic <chromatic at wgz.org> 0.5.0
-- Update to 0.5.0.
-
-* Fri May 25 2007 David Fetter <david at fetter.org> 0.4.12-1
-- Update to 0.4.12.
-
-* Wed Apr 18 2007 Steven Pritchard <steve at kspei.com> 0.4.11-1
-- Update to 0.4.11.
-
-* Wed Mar 21 2007 Steven Pritchard <steve at kspei.com> 0.4.10-1
-- Update to 0.4.10.
-
-* Sat Mar 10 2007 Steven Pritchard <steve at kspei.com> 0.4.9-1
-- Update to 0.4.9.
-- BR ncurses-devel.
-- For some reason now I need to force -lm too.
-- Remove some files/directories that shouldn't be included.
-
-* Wed Jan 17 2007 Steven Pritchard <steve at kspei.com> 0.4.8-1
-- Attempt update to 0.4.8.
-
-* Fri Jun 30 2006 Steven Pritchard <steve at kspei.com> 0.4.5-5
-- Override lib_dir and make various substitutions to try to fix multilib.
-- Remove rpath use from Makefile.
-- Fix a pod error in src/ops/experimental.ops.
-- Enable "make test" since t/doc/pod.t won't fail now.
-
-* Wed Jun 28 2006 Steven Pritchard <steve at kspei.com> 0.4.5-4
-- Force permissions on shared libraries so rpmbuild strips them.
-
-* Wed Jun 28 2006 Steven Pritchard <steve at kspei.com> 0.4.5-3
-- Fix URL, description, summary, etc.
-- Add post/postun.
-- Move parrot-config to the devel sub-package.
-- Force permissions on the doc directories.
-
-* Tue Jun 27 2006 Steven Pritchard <steve at kspei.com> 0.4.5-2
-- Add -lcurses to get readline detection to work.
-- BR libicu-devel.
-
-* Tue Jun 27 2006 Steven Pritchard <steve at kspei.com> 0.4.5-1
-- Initial packaging attempt.
-
-* Tue Mar 18 2003 Steve Fink <sfink at foxglove.localdomain> 0.0.11
-- first .spec file created
Deleted: branches/runcore_purge/runtime/parrot/library/SQLite3.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/SQLite3.pir Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,135 +0,0 @@
-# Copyright (C) 2008-2009, Parrot Foundation.
-# $Id$
-
-.namespace ['SQLite3']
-
-.const int SQLITE_OK = 0 # Successful result
-# beginning-of-error-codes
-.const int SQLITE_ERROR = 1 # SQL error or missing database
-.const int SQLITE_INTERNAL = 2 # Internal logic error in SQLite
-.const int SQLITE_PERM = 3 # Access permission denied
-.const int SQLITE_ABORT = 4 # Callback routine requested an abort
-.const int SQLITE_BUSY = 5 # The database file is locked
-.const int SQLITE_LOCKED = 6 # A table in the database is locked
-.const int SQLITE_NOMEM = 7 # A malloc() failed
-.const int SQLITE_READONLY = 8 # Attempt to write a readonly database
-.const int SQLITE_INTERRUPT = 9 # Operation terminated by sqlite3_interrupt()
-.const int SQLITE_IOERR = 10 # Some kind of disk I/O error occurred
-.const int SQLITE_CORRUPT = 11 # The database disk image is malformed
-.const int SQLITE_NOTFOUND = 12 # NOT USED. Table or record not found
-.const int SQLITE_FULL = 13 # Insertion failed because database is full
-.const int SQLITE_CANTOPEN = 14 # Unable to open the database file
-.const int SQLITE_PROTOCOL = 15 # NOT USED. Database lock protocol error
-.const int SQLITE_EMPTY = 16 # Database is empty
-.const int SQLITE_SCHEMA = 17 # The database schema changed
-.const int SQLITE_TOOBIG = 18 # String or BLOB exceeds size limit
-.const int SQLITE_CONSTRAINT = 19 # Abort due to constraint violation
-.const int SQLITE_MISMATCH = 20 # Data type mismatch
-.const int SQLITE_MISUSE = 21 # Library used incorrectly
-.const int SQLITE_NOLFS = 22 # Uses OS features not supported on host
-.const int SQLITE_AUTH = 23 # Authorization denied
-.const int SQLITE_FORMAT = 24 # Auxiliary database format error
-.const int SQLITE_RANGE = 25 # 2nd parameter to sqlite3_bind out of range
-.const int SQLITE_NOTADB = 26 # File opened that is not a database file
-.const int SQLITE_ROW = 100 # sqlite3_step() has another row ready
-.const int SQLITE_DONE = 101 # sqlite3_step() has finished executing
-
-.sub '_sqlite_init' :load
- .local pmc libname
- .local pmc function
- .local pmc sqlite_funcs
-
- libname = loadlib 'libsqlite3'
- set_global '_sqlite3', libname
-
- sqlite_funcs = new 'ResizableStringArray'
- push sqlite_funcs, 'step'
- push sqlite_funcs, 'ip'
- push sqlite_funcs, 'finalize'
- push sqlite_funcs, 'ip'
- push sqlite_funcs, 'close'
- push sqlite_funcs, 'ip'
- push sqlite_funcs, 'errmsg'
- push sqlite_funcs, 'tp'
- push sqlite_funcs, 'errcode'
- push sqlite_funcs, 'ip'
- push sqlite_funcs, 'bind_int'
- push sqlite_funcs, 'ipii'
- push sqlite_funcs, 'bind_double'
- push sqlite_funcs, 'ipid'
- push sqlite_funcs, 'bind_text'
- push sqlite_funcs, 'ipitii'
- push sqlite_funcs, 'column_name'
- push sqlite_funcs, 'tpi'
- push sqlite_funcs, 'column_count'
- push sqlite_funcs, 'ip'
- push sqlite_funcs, 'column_type'
- push sqlite_funcs, 'ipi'
- push sqlite_funcs, 'column_int'
- push sqlite_funcs, 'ipi'
- push sqlite_funcs, 'column_double'
- push sqlite_funcs, 'lpi'
- push sqlite_funcs, 'column_text'
- push sqlite_funcs, 'tpi'
-
- function = dlfunc libname, 'sqlite3_open', 'itV'
- set_global 'open_raw', function
-
- function = dlfunc libname, 'sqlite3_prepare_v2', 'iptiVp'
- set_global 'prepare_raw', function
-
- .local pmc list_iter
- list_iter = iter sqlite_funcs
- .local string func_name, signature
- .local pmc function
-
- list_loop:
- unless list_iter goto done
- func_name = shift list_iter
- signature = shift list_iter
- $S0 = concat 'sqlite3_', func_name
- function = dlfunc libname, $S0, signature
- set_global func_name, function
- goto list_loop
-
- done:
-
-.end
-
-.sub 'open'
- .param string connectstr
- .local pmc dbhandle
- .local pmc open_raw
- .local int rc
-
- open_raw = get_global 'open_raw'
- dbhandle = new 'Pointer'
- rc = open_raw(connectstr, dbhandle)
-
- .return(dbhandle)
-.end
-
-.sub 'prepare'
- .param pmc dbhandle
- .param string psstr
- .local int psstrlen
- .local pmc pshandle
- .local pmc dummy
- .local pmc prepare_raw
- .local int rc
-
- prepare_raw = get_global 'prepare_raw'
-
- pshandle = new 'Pointer'
- dummy = new 'Pointer'
- psstrlen = length psstr
- rc = prepare_raw(dbhandle, psstr, psstrlen, pshandle, dummy)
-
- .return(pshandle)
-.end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/runcore_purge/runtime/parrot/library/TAP/Formatter.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/TAP/Formatter.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/runtime/parrot/library/TAP/Formatter.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -11,6 +11,12 @@
See L<http://search.cpan.org/~andya/Test-Harness/>
+=head3 Class TAP;Formatter;Base
+
+Base class for harness output delegates
+
+=over 4
+
=cut
.namespace ['TAP';'Formatter';'Base']
@@ -31,6 +37,10 @@
setattribute self, 'verbosity', $P0
.end
+=item process_args
+
+=cut
+
.sub 'process_args' :method
.param pmc opts
$I0 = exists opts['verbose']
@@ -74,6 +84,10 @@
L7:
.end
+=item verbose
+
+=cut
+
.sub 'verbose' :method
$P0 = getattribute self, 'verbosity'
$I0 = $P0
@@ -81,6 +95,10 @@
.return ($I0)
.end
+=item quiet
+
+=cut
+
.sub 'quiet' :method
$P0 = getattribute self, 'verbosity'
$I0 = $P0
@@ -88,6 +106,10 @@
.return ($I0)
.end
+=item really_quiet
+
+=cut
+
.sub 'really_quiet' :method
$P0 = getattribute self, 'verbosity'
$I0 = $P0
@@ -95,6 +117,10 @@
.return ($I0)
.end
+=item silent
+
+=cut
+
.sub 'silent' :method
$P0 = getattribute self, 'verbosity'
$I0 = $P0
@@ -102,6 +128,10 @@
.return ($I0)
.end
+=item prepare
+
+=cut
+
.sub 'prepare' :method
.param pmc tests
.local int longest
@@ -119,6 +149,10 @@
setattribute self, '_longest', $P0
.end
+=item _format_name
+
+=cut
+
.sub '_format_name' :method
.param string name
$P0 = getattribute self, '_longest'
@@ -137,6 +171,10 @@
die "Unimplemented."
.end
+=item summary
+
+=cut
+
.sub 'summary' :method
.param pmc aggregate
$I0 = self.'silent'()
@@ -257,12 +295,20 @@
L1:
.end
+=item _output
+
+=cut
+
.sub '_output' :method
.param pmc args :slurpy
$S0 = join '', args
print $S0
.end
+=item _failure_output
+
+=cut
+
.sub '_failure_output' :method
.param pmc args :slurpy
self.'_output'(args :flat)
@@ -345,6 +391,15 @@
.return (range)
.end
+=back
+
+=head3 Class TAP;Formatter;Session
+
+Abstract base class for harness output delegate
+
+=over 4
+
+=cut
.namespace ['TAP';'Formatter';'Session']
@@ -356,7 +411,7 @@
$P0.'add_attribute'('show_count')
.end
-.sub 'init' :vtable
+.sub 'init' :vtable :nsentry
$P0 = getattribute self, 'show_count'
unless null $P0 goto L1
$P0 = new 'Boolean'
@@ -365,19 +420,35 @@
L1:
.end
+=item header
+
+=cut
+
.sub 'header' :method
# nothing
.end
+=item result
+
+=cut
+
.sub 'result' :method
.param pmc result
# nothing
.end
+=item close_test
+
+=cut
+
.sub 'close_test' :method
# nothing
.end
+=item clear_for_close
+
+=cut
+
.sub 'clear_for_close' :method
# nothing
.end
@@ -483,6 +554,15 @@
L1:
.end
+=back
+
+=head3 Class TAP;Formatter;Console
+
+Harness output delegate for default console output
+
+=over 4
+
+=cut
.namespace ['TAP';'Formatter';'Console']
@@ -490,6 +570,10 @@
$P0 = subclass ['TAP';'Formatter';'Base'], ['TAP';'Formatter';'Console']
.end
+=item open_test
+
+=cut
+
.sub 'open_test' :method
.param string test
.param pmc parser
@@ -507,10 +591,18 @@
.return ($P0)
.end
+=item _set_colors
+
+=cut
+
.sub '_set_colors' :method
.param pmc colors :slurpy
.end
+=item _output_success
+
+=cut
+
.sub '_output_success' :method
.param string msg
self.'_set_colors'('green')
@@ -518,6 +610,10 @@
self.'_set_colors'('reset')
.end
+=item _failure_output
+
+=cut
+
.sub '_failure_output' :method
.param pmc args :slurpy
self.'_set_colors'('red')
@@ -526,6 +622,15 @@
self.'_set_colors'('reset')
.end
+=back
+
+=head3 Class TAP;Formatter;Console;Session
+
+Harness output delegate for default console output
+
+=over 4
+
+=cut
.namespace ['TAP';'Formatter';'Console';'Session']
@@ -548,6 +653,10 @@
$P0(self)
.end
+=item _get_output_result
+
+=cut
+
.sub '_get_output_result' :method
.param pmc result
.local pmc formatter
@@ -556,6 +665,10 @@
formatter.'_output'($S0)
.end
+=item header
+
+=cut
+
.sub 'header' :method
.local pmc formatter
formatter = getattribute self, 'formatter'
@@ -569,6 +682,10 @@
L1:
.end
+=item result
+
+=cut
+
.sub 'result' :method
.param pmc result
.local pmc formatter
@@ -652,6 +769,10 @@
L2:
.end
+=item close_test
+
+=cut
+
.sub 'close_test' :method
.local pmc formatter
formatter = getattribute self, 'formatter'
@@ -690,6 +811,10 @@
L1:
.end
+=item clear_for_close
+
+=cut
+
.sub 'clear_for_close' :method
.local pmc parser, formatter, name, plan, output
.local string tests_run, pretty
@@ -711,6 +836,8 @@
formatter.'_output'("\r", $S0)
.end
+=back
+
=head1 AUTHOR
Francois Perrad
Modified: branches/runcore_purge/runtime/parrot/library/TAP/Harness.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/TAP/Harness.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/runtime/parrot/library/TAP/Harness.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -13,6 +13,13 @@
See L<http://search.cpan.org/~andya/Test-Harness/>
end L<http://search.cpan.org/~wonko/TAP-Harness-Archive/>.
+=head3 Class TAP;Harness
+
+This is a simple test harness which allows tests to be run and results
+automatically aggregated and output to STDOUT.
+
+=over 4
+
=cut
.namespace ['TAP';'Harness']
@@ -43,6 +50,10 @@
setattribute self, 'ok_callbacks', $P0
.end
+=item process_args
+
+=cut
+
.sub 'process_args' :method
.param pmc opts
setattribute self, 'opts', opts
@@ -68,12 +79,20 @@
L3:
.end
+=item formatter
+
+=cut
+
.sub 'formatter' :method
.param pmc formatter
setattribute self, 'formatter', formatter
.end
-.sub 'runtests' :method
+=item runtests
+
+=cut
+
+.sub 'runtests' :method :nsentry
.param pmc tests
$P0 = getattribute self, 'formatter'
unless null $P0 goto L1
@@ -212,6 +231,19 @@
L1:
.end
+=back
+
+=head3 Class TAP';Harness;Archive
+
+This module is a direct subclass of C<TAP;Harness> and behaves
+in exactly the same way except for one detail. In addition to
+outputting a running progress of the tests and an ending summary
+it can also capture all of the raw TAP from the individual test
+files or streams into an archive file (C<.tar.gz>).
+
+=over 4
+
+=cut
.namespace ['TAP';'Harness';'Archive']
@@ -223,11 +255,19 @@
$P0.'add_attribute'('archive_extra_props')
.end
+=item archive
+
+=cut
+
.sub 'archive' :method
.param pmc archive
setattribute self, 'archive_file', archive
.end
+=item extra_files
+
+=cut
+
.sub 'extra_files' :method
.param pmc extra_files
$I0 = does extra_files, 'array'
@@ -237,6 +277,10 @@
setattribute self, 'archive_extra_files', extra_files
.end
+=item extra_props
+
+=cut
+
.sub 'extra_props' :method
.param pmc extra_props
$I0 = does extra_props, 'hash'
@@ -246,6 +290,10 @@
setattribute self, 'archive_extra_props', extra_props
.end
+=item runtests
+
+=cut
+
.sub 'runtests' :method
.param pmc files
$P0 = getattribute self, 'archive_file'
@@ -291,8 +339,7 @@
cmd .= " *"
system(cmd)
chdir(current_dir)
- cmd = "gzip --best " . $S0
- system(cmd)
+ gzip($S0)
rmtree(dir)
.return (aggregate)
.end
@@ -358,6 +405,7 @@
.return ($S0)
.end
+=back
=head1 AUTHOR
Modified: branches/runcore_purge/runtime/parrot/library/TAP/Parser.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/TAP/Parser.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/runtime/parrot/library/TAP/Parser.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -11,6 +11,12 @@
See L<http://search.cpan.org/~andya/Test-Harness/>
+=head3 Class TAP;Parser;Result
+
+Base class for TAP::Parser output objects
+
+=over 4
+
=cut
.namespace ['TAP';'Parser';'Result']
@@ -22,12 +28,20 @@
$P0.'add_attribute'('explanation')
.end
+=item get_string
+
+=cut
+
.sub 'get_string' :vtable :method
$P0 = getattribute self, 'raw'
$S0 = $P0
.return ($S0)
.end
+=item type
+
+=cut
+
.sub 'type' :method
$S0 = typeof self
$P0 = split ';', $S0
@@ -36,6 +50,10 @@
.return ($S0)
.end
+=item has_todo
+
+=cut
+
.sub 'has_todo' :method
$P0 = getattribute self, 'directive'
unless null $P0 goto L1
@@ -46,6 +64,10 @@
.return ($I0)
.end
+=item has_skip
+
+=cut
+
.sub 'has_skip' :method
$P0 = getattribute self, 'directive'
unless null $P0 goto L1
@@ -56,6 +78,10 @@
.return ($I0)
.end
+=item has_directive
+
+=cut
+
.sub 'has_directive' :method
$I0 = self.'has_todo'()
if $I0 goto L1
@@ -64,6 +90,13 @@
.return ($I0)
.end
+=back
+
+=head3 Class TAP;Parser;Result;Bailout
+
+=over 4
+
+=cut
.namespace ['TAP';'Parser';'Result';'Bailout']
@@ -71,11 +104,20 @@
$P0 = subclass ['TAP';'Parser';'Result'], ['TAP';'Parser';'Result';'Bailout']
.end
+=item bailout
+
+=cut
+
.sub 'bailout' :method
$P0 = getattribute self, 'explanation'
.return ($P0)
.end
+=back
+
+=head3 Class TAP;Parser;Result;Comment
+
+=cut
.namespace ['TAP';'Parser';'Result';'Comment']
@@ -84,6 +126,9 @@
$P0.'add_attribute'('comment')
.end
+=head3 Class TAP;Parser;Result;Plan
+
+=cut
.namespace ['TAP';'Parser';'Result';'Plan']
@@ -93,6 +138,11 @@
$P0.'add_attribute'('tests_planned')
.end
+=head3 Class TAP;Parser;Result;Test
+
+=over 4
+
+=cut
.namespace ['TAP';'Parser';'Result';'Test']
@@ -104,6 +154,10 @@
$P0.'add_attribute'('unplanned')
.end
+=item get_string
+
+=cut
+
.sub 'get_string' :vtable :method
$P0 = getattribute self, 'ok'
$S0 = $P0
@@ -133,6 +187,10 @@
.return ($S0)
.end
+=item is_ok
+
+=cut
+
.sub 'is_ok' :method
$P0 = getattribute self, 'unplanned'
if null $P0 goto L1
@@ -146,6 +204,10 @@
.return ($I0)
.end
+=item is_actual_ok
+
+=cut
+
.sub 'is_actual_ok' :method
$P0 = getattribute self, 'ok'
$S0 = $P0
@@ -154,6 +216,10 @@
.return ($I0)
.end
+=item todo_passed
+
+=cut
+
.sub 'todo_passed' :method
$I0 = self.'has_todo'()
unless $I0 goto L1
@@ -162,6 +228,10 @@
.return ($I0)
.end
+=item is_unplanned
+
+=cut
+
.sub 'is_unplanned' :method
$I0 = 0
$P0 = getattribute self, 'unplanned'
@@ -171,6 +241,11 @@
.return ($I0)
.end
+=back
+
+=head3 Class TAP;Parser;Result;Unknown
+
+=cut
.namespace ['TAP';'Parser';'Result';'Unknown']
@@ -178,6 +253,9 @@
$P0 = subclass ['TAP';'Parser';'Result'], ['TAP';'Parser';'Result';'Unknown']
.end
+=head3 Class TAP;Parser;Result;Version
+
+=cut
.namespace ['TAP';'Parser';'Result';'Version']
@@ -186,6 +264,14 @@
$P0.'add_attribute'('version')
.end
+=head3 Class TAP;Parser;Grammar
+
+C<TAP;Parser;Grammar> tokenizes lines and constructs C<TAP;Parser;Result>
+subclasses to represent the tokens.
+
+=over 4
+
+=cut
.namespace ['TAP';'Parser';'Grammar']
@@ -212,6 +298,10 @@
.return (str)
.end
+=item tokenize
+
+=cut
+
.sub 'tokenize' :method
.param string line
.local pmc result
@@ -430,6 +520,16 @@
.return (result)
.end
+=back
+
+=head3 Class TAP;Base
+
+Base class that provides common functionality to C<TAP;Parser>
+and C<TAP;Harness> ie. callback support.
+
+=over 4
+
+=cut
.namespace ['TAP';'Base']
@@ -439,6 +539,10 @@
$P0.'add_attribute'('ok_callbacks')
.end
+=item callback
+
+=cut
+
.sub 'callback' :method
.param string event
.param pmc callback
@@ -458,6 +562,10 @@
$P0[event] = callback
.end
+=item _has_callback
+
+=cut
+
.sub '_has_callback' :method
$P0 = getattribute self, 'code_for'
if null $P0 goto L1
@@ -466,6 +574,10 @@
.return (0)
.end
+=item _callback_for
+
+=cut
+
.sub '_callback_for' :method
.param string event
null $P1
@@ -478,6 +590,10 @@
.return ($P1)
.end
+=item _make_callback
+
+=cut
+
.sub '_make_callback' :method
.param string event
.param pmc args :slurpy
@@ -492,6 +608,15 @@
.return ()
.end
+=back
+
+=head3 Class TAP;Parser
+
+C<TAP;Parser> is designed to produce a proper parse of TAP output.
+
+=over 4
+
+=cut
.namespace ['TAP';'Parser']
@@ -558,56 +683,100 @@
setattribute self, 'ok_callbacks', $P0
.end
+=item start_time
+
+=cut
+
.sub 'start_time' :method
$P0 = getattribute self, 'start_time'
.return ($P0)
.end
+=item end_time
+
+=cut
+
.sub 'end_time' :method
$P0 = getattribute self, 'end_time'
.return ($P0)
.end
+=item skipped
+
+=cut
+
.sub 'skipped' :method :nsentry
$P0 = getattribute self, 'skipped'
.return ($P0)
.end
+=item todo
+
+=cut
+
.sub 'todo' :method :nsentry
$P0 = getattribute self, 'todo'
.return ($P0)
.end
+=item passed
+
+=cut
+
.sub 'passed' :method :nsentry
$P0 = getattribute self, 'passed'
.return ($P0)
.end
+=item failed
+
+=cut
+
.sub 'failed' :method :nsentry
$P0 = getattribute self, 'failed'
.return ($P0)
.end
+=item todo_passed
+
+=cut
+
.sub 'todo_passed' :method :nsentry
$P0 = getattribute self, 'todo_passed'
.return ($P0)
.end
+=item parse_errors
+
+=cut
+
.sub 'parse_errors' :method :nsentry
$P0 = getattribute self, 'parse_errors'
.return ($P0)
.end
+=item tests_run
+
+=cut
+
.sub 'tests_run' :method :nsentry
$P0 = getattribute self, 'tests_run'
.return ($P0)
.end
+=item tests_planned
+
+=cut
+
.sub 'tests_planned' :method :nsentry
$P0 = getattribute self, 'tests_planned'
.return ($P0)
.end
+=item merge
+
+=cut
+
.sub 'merge' :method :nsentry
.param int val
$P0 = new 'Boolean'
@@ -615,6 +784,10 @@
setattribute self, 'merge', $P0
.end
+=item ignore_exit
+
+=cut
+
.sub 'ignore_exit' :method :nsentry
.param int val
$P0 = new 'Boolean'
@@ -622,6 +795,10 @@
setattribute self, 'ignore_exit', $P0
.end
+=item exit
+
+=cut
+
.sub 'exit' :method :nsentry
$P0 = getattribute self, 'ignore_exit'
if null $P0 goto L1
@@ -636,6 +813,10 @@
.return ($I0)
.end
+=item has_problems
+
+=cut
+
.sub 'has_problems' :method
$P0 = getattribute self, 'failed'
$I0 = elements $P0
@@ -655,6 +836,10 @@
.return ($I0)
.end
+=item _add_error
+
+=cut
+
.sub '_add_error' :method
.param pmc args :slurpy
$P0 = getattribute self, 'parse_errors'
@@ -663,16 +848,28 @@
push $P0, $P1
.end
+=item is_good_plan
+
+=cut
+
.sub 'is_good_plan' :method
$P0 = getattribute self, 'good_plan'
.return ($P0)
.end
+=item spool
+
+=cut
+
.sub 'spool' :method
.param pmc spool
setattribute self, 'spool', spool
.end
+=item delete_spool
+
+=cut
+
.sub 'delete_spool' :method
$P0 = getattribute self, 'spool'
null $P1
@@ -680,11 +877,19 @@
.return ($P0)
.end
+=item pragma
+
+=cut
+
.sub 'pragma' :method
.param string name
.return (1)
.end
+=item tap
+
+=cut
+
.sub 'tap' :method
.param string tap
$P0 = new 'StringHandle'
@@ -693,6 +898,10 @@
setattribute self, 'stream', $P0
.end
+=item file
+
+=cut
+
.sub 'file' :method
.param string filename
$P0 = new 'FileHandle'
@@ -739,6 +948,10 @@
.return ($S0)
.end
+=item exec
+
+=cut
+
.sub 'exec' :method
.param pmc cmds :slurpy
.local string cmd
@@ -767,6 +980,10 @@
rethrow ex
.end
+=item run
+
+=cut
+
.sub 'run' :method
.const 'Sub' $P0 = 'next'
$P0 = newclosure $P0
@@ -775,6 +992,10 @@
unless null $P1 goto L1
.end
+=item next
+
+=cut
+
.sub 'next' :method :nsentry :lex
.local pmc stream, spool
stream = getattribute self, 'stream'
@@ -1126,6 +1347,16 @@
L5:
.end
+=back
+
+=head3 Class TAP;Parser;Aggregator
+
+C<TAP;Parser;Aggregator> collects parser objects and allows
+reporting/querying their aggregate results.
+
+=over 4
+
+=cut
.namespace ['TAP';'Parser';'Aggregator']
@@ -1196,6 +1427,10 @@
L2:
.end
+=item add
+
+=cut
+
.sub 'add' :method
.param string description
.param pmc parser
@@ -1233,6 +1468,10 @@
L3:
.end
+=item parsers
+
+=cut
+
.sub 'parsers' :method
.param string desc
$P0 = getattribute self, 'parser_for'
@@ -1240,45 +1479,77 @@
.return ($P1)
.end
+=item total
+
+=cut
+
.sub 'total' :method
$P0 = getattribute self, 'total'
$I0 = $P0
.return ($I0)
.end
+=item passed
+
+=cut
+
.sub 'passed' :method
$P0 = getattribute self, 'passed'
$I0 = $P0
.return ($I0)
.end
+=item descriptions
+
+=cut
+
.sub 'descriptions' :method
$P0 = getattribute self, 'parse_order'
.return ($P0)
.end
+=item start
+
+=cut
+
.sub 'start' :method
$N0 = time
$P0 = box $N0
setattribute self, 'start_time', $P0
.end
+=item stop
+
+=cut
+
.sub 'stop' :method
$N0 = time
$P0 = box $N0
setattribute self, 'end_time', $P0
.end
+=item start_time
+
+=cut
+
.sub 'start_time' :method
$P0= getattribute self, 'start_time'
.return ($P0)
.end
+=item en_time
+
+=cut
+
.sub 'end_time' :method
$P0= getattribute self, 'end_time'
.return ($P0)
.end
+=item elapsed
+
+=cut
+
.sub 'elapsed' :method
$P0 = getattribute self, 'end_time'
if null $P0 goto L1
@@ -1292,6 +1563,10 @@
die "Can't call elapsed without first calling start and then stop"
.end
+=item elapsed_timestr
+
+=cut
+
.sub 'elapsed_timestr' :method
$N0 = self.'elapsed'()
$P0 = new 'FixedPMCArray'
@@ -1301,6 +1576,10 @@
.return ($S0)
.end
+=item has_problems
+
+=cut
+
.sub 'has_problems' :method
$P0 = getattribute self, 'todo_passed'
$I0 = $P0
@@ -1310,6 +1589,10 @@
.return ($I0)
.end
+=item has_errors
+
+=cut
+
.sub 'has_errors' :method
$P0 = getattribute self, 'failed'
$I0 = $P0
@@ -1323,6 +1606,10 @@
.return ($I0)
.end
+=item get_status
+
+=cut
+
.sub 'get_status' :method
.local int total, passed
$P0 = getattribute self, 'total'
@@ -1341,6 +1628,10 @@
.return ('NOTESTS')
.end
+=item all_passed
+
+=cut
+
.sub 'all_passed' :method
.local int total
$P0 = getattribute self, 'total'
@@ -1356,6 +1647,8 @@
.return (0)
.end
+=back
+
=head1 AUTHOR
Francois Perrad
Modified: branches/runcore_purge/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/distutils.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/runtime/parrot/library/distutils.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -62,7 +62,7 @@
Output a skeleton for Plumage
-=item sdist, sdist_gztar, sdist_bztar, sdist_zip, sdist_rpm, manifest
+=item sdist, sdist_gztar, sdist_zip, sdist_rpm, manifest
Create a source distribution or a source RPM package
@@ -126,15 +126,11 @@
=item smoke
-tar, gzip, curl
+tar, curl
=item sdist_gztar
-Some coreutils : tar, gzip
-
-=item sdist_bztar
-
-bzip2
+Some coreutils : tar
=item sdist_zip
@@ -254,8 +250,6 @@
register_step_after('clean', _clean_html_pod)
.const 'Sub' _clean_gztar = '_clean_gztar'
register_step_after('clean', _clean_gztar)
- .const 'Sub' _clean_bztar = '_clean_bztar'
- register_step_after('clean', _clean_bztar)
.const 'Sub' _clean_zip = '_clean_zip'
register_step_after('clean', _clean_zip)
.const 'Sub' _clean_smoke = '_clean_smoke'
@@ -289,8 +283,6 @@
register_step('sdist', _sdist)
.const 'Sub' _sdist_gztar = '_sdist_gztar'
register_step('sdist_gztar', _sdist_gztar)
- .const 'Sub' _sdist_bztar = '_sdist_bztar'
- register_step('sdist_bztar', _sdist_bztar)
.const 'Sub' _sdist_zip = '_sdist_zip'
register_step('sdist_zip', _sdist_zip)
.const 'Sub' _manifest = '_manifest'
@@ -1361,10 +1353,6 @@
pmc2c .= " "
$S0 = get_tool('build/pmc2c.pl')
pmc2c .= $S0
- $S0 = config['osname']
- unless $S0 == 'solaris' goto L1
- pmc2c .= " --no-lines"
- L1:
.local string pmc2c_includes
pmc2c_includes = "--include "
$S0 = get_srcdir()
@@ -1413,10 +1401,6 @@
cmd .= " "
$S0 = get_tool('build/pmc2c.pl')
cmd .= $S0
- $S0 = config['osname']
- unless $S0 == 'solaris' goto L0
- cmd .= " --no-lines"
- L0:
cmd .= " --library "
$S0 = dirname(src)
cmd .= $S0
@@ -3063,9 +3047,8 @@
rmtree($S0)
- cmd = 'gzip --best ' . $S0
- cmd .= '.tar'
- system(cmd, 1 :named('verbose'))
+ $S1 = $S0 . '.tar'
+ gzip($S1)
L1:
.end
@@ -3106,45 +3089,6 @@
.return ($S0)
.end
-=head3 Step sdist_bztar
-
-=cut
-
-.sub '_sdist_bztar' :anon
- .param pmc kv :slurpy :named
- run_step('manifest', kv :flat :named)
-
- $S0 = slurp('MANIFEST')
- $P0 = split "\n", $S0
- $S0 = pop $P0
- $S0 = get_tarname('.tar.bz2', kv :flat :named)
- $I0 = newer($S0, $P0)
- if $I0 goto L1
- $S0 = get_tarname('', kv :flat :named)
- copy_sdist($S0, $P0)
-
- .local string cmd
- cmd = 'tar -cvf ' . $S0
- cmd .= '.tar '
- cmd .= $S0
- system(cmd, 1 :named('verbose'))
-
- rmtree($S0)
-
- cmd = 'bzip2 ' . $S0
- cmd .= '.tar'
- system(cmd, 1 :named('verbose'))
- L1:
-.end
-
-.sub '_clean_bztar' :anon
- .param pmc kv :slurpy :named
-
- $S0 = get_tarname('.tar.bz2', kv :flat :named)
- unlink($S0, 1 :named('verbose'))
- unlink('MANIFEST', 1 :named('verbose'))
-.end
-
=head3 Step sdist_zip
=cut
Modified: branches/runcore_purge/runtime/parrot/library/osutils.pir
==============================================================================
--- branches/runcore_purge/runtime/parrot/library/osutils.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/runtime/parrot/library/osutils.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -764,6 +764,48 @@
L7:
.end
+=item gzip
+
+=cut
+
+.sub 'gzip'
+ .param string filename
+ .local pmc fh, gh
+ fh = new 'FileHandle'
+ push_eh _handler1
+ $S0 = fh.'readall'(filename)
+ $I0 = length $S0
+ pop_eh
+ $P0 = loadlib 'gziphandle'
+ push_eh _handler2
+ gh = new 'GzipHandle'
+ $S1 = filename . '.gz'
+ gh.'open'($S1, 'wb')
+ gh.'puts'($S0)
+ gh.'close'()
+ unlink(filename)
+ .return ()
+ _handler1:
+ .local pmc e
+ .get_results (e)
+ $S0 = "Can't open '"
+ $S0 .= filename
+ $S0 .= "' ("
+ $S1 = err
+ $S0 .= $S1
+ $S0 .= ")\n"
+ e = $S0
+ rethrow e
+ _handler2:
+ .local pmc e
+ .get_results (e)
+ $S0 = "Can't gzip '"
+ $S0 .= filename
+ $S0 .= "'\n"
+ e = $S0
+ rethrow e
+.end
+
=back
=head1 AUTHOR
Modified: branches/runcore_purge/src/call/args.c
==============================================================================
--- branches/runcore_purge/src/call/args.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/call/args.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -364,9 +364,7 @@
{
STRING *string_value;
if (constant)
- /* ensure that callees don't modify constant caller strings */
- string_value = Parrot_str_new_COW(interp,
- Parrot_pcc_get_string_constant(interp, ctx, raw_index));
+ string_value = Parrot_pcc_get_string_constant(interp, ctx, raw_index);
else
string_value = CTX_REG_STR(ctx, raw_index);
@@ -456,10 +454,8 @@
break;
case PARROT_ARG_STRING:
if (constant)
- /* ensure that callees don't modify constant caller strings */
VTABLE_set_string_keyed_str(interp, call_object, name,
- Parrot_str_new_COW(interp,
- Parrot_pcc_get_string_constant(interp, ctx, raw_index)));
+ Parrot_pcc_get_string_constant(interp, ctx, raw_index));
else
VTABLE_set_string_keyed_str(interp, call_object, name,
CTX_REG_STR(ctx, raw_index));
@@ -808,8 +804,6 @@
}
/* First iterate over positional args and positional parameters. */
- arg_index = 0;
- param_index = 0;
GETATTR_CallContext_num_positionals(interp, call_object, positional_args);
while (1) {
Modified: branches/runcore_purge/src/call/context.c
==============================================================================
--- branches/runcore_purge/src/call/context.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/call/context.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2009, Parrot Foundation.
+Copyright (C) 2009-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -79,10 +79,10 @@
ARGIN(const UINTVAL *number_regs_used))
__attribute__nonnull__(2);
-static void clear_regs(PARROT_INTERP, ARGMOD(PMC *pmcctx))
+static void clear_regs(PARROT_INTERP, ARGMOD(Parrot_Context *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- FUNC_MODIFIES(*pmcctx);
+ FUNC_MODIFIES(*ctx);
PARROT_INLINE
PARROT_CANNOT_RETURN_NULL
@@ -111,7 +111,7 @@
PARROT_ASSERT_ARG(number_regs_used))
#define ASSERT_ARGS_clear_regs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(pmcctx))
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_get_context_struct_fast __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
@@ -242,7 +242,7 @@
/*
-=item C<static void clear_regs(PARROT_INTERP, PMC *pmcctx)>
+=item C<static void clear_regs(PARROT_INTERP, Parrot_Context *ctx)>
Clears all registers in a context. PMC and STRING registers contain PMCNULL
and NULL, respectively. Integer and float registers contain negative flag
@@ -253,11 +253,10 @@
*/
static void
-clear_regs(PARROT_INTERP, ARGMOD(PMC *pmcctx))
+clear_regs(PARROT_INTERP, ARGMOD(Parrot_Context *ctx))
{
ASSERT_ARGS(clear_regs)
UINTVAL i;
- Parrot_Context *ctx = get_context_struct_fast(interp, pmcctx);
/* NULL out registers - P/S have to be NULL for GC
*
@@ -269,7 +268,7 @@
}
for (i = 0; i < ctx->n_regs_used[REGNO_STR]; i++) {
- ctx->bp_ps.regs_s[i] = NULL;
+ ctx->bp_ps.regs_s[i] = STRINGNULL;
}
if (Interp_debug_TEST(interp, PARROT_REG_DEBUG_FLAG)) {
@@ -347,7 +346,7 @@
}
/* other stuff is set inside Sub.invoke */
- clear_regs(interp, pmcctx);
+ clear_regs(interp, ctx);
}
@@ -485,7 +484,7 @@
/* ctx.bp_ps points to S0, which has Px on the left */
ctx->bp_ps.regs_s = (STRING **)((char *)ctx->registers + size_nip);
- clear_regs(interp, pmcctx);
+ clear_regs(interp, ctx);
}
Modified: branches/runcore_purge/src/call/pcc.c
==============================================================================
--- branches/runcore_purge/src/call/pcc.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/call/pcc.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -340,7 +340,7 @@
opcode_t *dest;
UINTVAL n_regs_used[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
PMC *ctx = Parrot_push_context(interp, n_regs_used);
- PMC * const ret_cont = new_ret_continuation_pmc(interp, NULL);
+ PMC * const ret_cont = pmc_new(interp, enum_class_Continuation);
Parrot_pcc_set_signature(interp, ctx, call_object);
Parrot_pcc_set_continuation(interp, ctx, ret_cont);
Modified: branches/runcore_purge/src/dynext.c
==============================================================================
--- branches/runcore_purge/src/dynext.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/dynext.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -294,7 +294,7 @@
for (i = 0; i < n; ++i) {
ext = VTABLE_get_string_keyed_int(interp, share_ext, i);
- full_name = Parrot_str_concat(interp, wo_ext, ext, 0);
+ full_name = Parrot_str_concat(interp, wo_ext, ext);
path = Parrot_locate_runtime_file_str(interp, full_name,
PARROT_RUNTIME_FT_DYNEXT);
if (path) {
@@ -341,7 +341,7 @@
if (!STRING_IS_EMPTY(lib) && memcmp(lib->strstart, "lib", 3) == 0) {
*handle = Parrot_dlopen((char *)lib->strstart + 3, 0);
if (*handle) {
- path = Parrot_str_substr(interp, lib, 3, lib->strlen - 3, NULL, 0);
+ path = Parrot_str_substr(interp, lib, 3, lib->strlen - 3);
return path;
}
}
@@ -350,8 +350,8 @@
/* And on cygwin replace a leading "lib" by "cyg". */
#ifdef __CYGWIN__
if (!STRING_IS_EMPTY(lib) && memcmp(lib->strstart, "lib", 3) == 0) {
- path = Parrot_str_append(interp, CONST_STRING(interp, "cyg"),
- Parrot_str_substr(interp, lib, 3, lib->strlen - 3, NULL, 0));
+ path = Parrot_str_concat(interp, CONST_STRING(interp, "cyg"),
+ Parrot_str_substr(interp, lib, 3, lib->strlen - 3));
*handle = dlopen_string(interp, flags, path);
Copied: branches/runcore_purge/src/dynpmc/gziphandle.pmc (from r45947, trunk/src/dynpmc/gziphandle.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/src/dynpmc/gziphandle.pmc Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/src/dynpmc/gziphandle.pmc)
@@ -0,0 +1,300 @@
+/*
+Copyright (C) 2010, Parrot Foundation.
+$Id$
+
+=head1 NAME
+
+src/dynpmc/gziphandle.pmc - GzipHandle PMC
+
+=head1 DESCRIPTION
+
+The GzipHandle PMC performs I/O operations on a source or destination file.
+
+This PMC wraps the zlib.
+
+=head2 Vtable Functions
+
+=over 4
+
+=cut
+
+*/
+
+#include <zlib.h>
+#include "parrot/extend.h"
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER BEGIN: static */
+/* HEADERIZER END: static */
+
+pmclass GzipHandle provides Handle dynpmc auto_attrs {
+ ATTR void *file;
+
+/*
+
+=item C<void init()>
+
+Initializes a newly created FileHandle object.
+
+=cut
+
+*/
+ VTABLE void init() {
+ PARROT_GZIPHANDLE(SELF)->file = NULL;
+ }
+
+/*
+
+=item C<INTVAL get_bool()>
+
+Returns whether the GzipHandle has reached the end of the file.
+
+=cut
+
+*/
+ VTABLE INTVAL get_bool() {
+ gzFile file;
+ GET_ATTR_file(INTERP, SELF, file);
+ return !gzeof(file);
+ }
+
+/*
+
+=back
+
+=head2 Stream-Oriented Methods
+
+=over 4
+
+=item C<METHOD open(STRING *filename, STRING *mode :optional)>
+
+Opens the file at the given filename (including path) with the given mode. The
+invocant is modified and becomes an open filehandle.
+
+=cut
+
+*/
+ METHOD open(STRING *filename, STRING *mode :optional,
+ INTVAL has_mode :opt_flag) {
+ gzFile file;
+ char *path;
+ char *mod = (char *)"rb";
+ path = Parrot_str_to_cstring(INTERP, filename);
+ if (has_mode)
+ mod = Parrot_str_to_cstring(INTERP, mode);
+ file = gzopen (path, mod);
+ Parrot_str_free_cstring(path);
+ if (has_mode)
+ Parrot_str_free_cstring(mod);
+ if (NULL == file) {
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "gzopen fails");
+ }
+ SET_ATTR_file(INTERP, SELF, file);
+ RETURN(PMC SELF);
+ }
+
+/*
+
+=item C<METHOD close()>
+
+Close the gziphandle.
+
+=cut
+
+*/
+ METHOD close() {
+ INTVAL status;
+ gzFile file;
+ GET_ATTR_file(INTERP, SELF, file);
+ status = gzclose(file);
+ RETURN(INTVAL status);
+ }
+
+/*
+
+=item C<METHOD eof()>
+
+Returns true if the filehandle is at end-of-file, returns false otherwise.
+
+=cut
+
+*/
+ METHOD eof() {
+ INTVAL status;
+ gzFile file;
+ GET_ATTR_file(INTERP, SELF, file);
+ status = gzeof(file);
+ RETURN(INTVAL status);
+ }
+
+/*
+
+=item C<METHOD flush()>
+
+Flushes the gziphandle.
+
+=cut
+
+*/
+ METHOD flush() {
+ INTVAL status;
+ gzFile file;
+ GET_ATTR_file(INTERP, SELF, file);
+ status = gzflush(file, Z_SYNC_FLUSH);
+ RETURN(INTVAL status);
+ }
+
+/*
+
+=item C<METHOD print([INTVAL|FLOATVAL|STRING *|PMC*] value)>
+
+Print the passed in integer, number, string, or PMC to the gziphandle.
+(Integers, numbers, and strings are auto-boxed as PMCs.)
+
+=cut
+
+*/
+ METHOD print(PMC *value) {
+ gzFile file;
+ STRING * const str = VTABLE_get_string(INTERP, value);
+ char *buf = Parrot_str_to_cstring(INTERP, str);
+ UINTVAL len = Parrot_str_byte_length(INTERP, str);
+ GET_ATTR_file(INTERP, SELF, file);
+ (void)gzwrite(file, buf, len);
+ Parrot_str_free_cstring(buf);
+ }
+
+
+/*
+
+=item C<METHOD puts(STRING *value)>
+
+Print the string to the gziphandle.
+
+=cut
+
+*/
+ METHOD puts(STRING *value) {
+ INTVAL status;
+ gzFile file;
+ char *buf = Parrot_str_to_cstring(INTERP, value);
+ UINTVAL len = Parrot_str_byte_length(INTERP, value);
+ GET_ATTR_file(INTERP, SELF, file);
+ status = gzwrite(file, buf, len);
+ Parrot_str_free_cstring(buf);
+ RETURN(INTVAL status);
+ }
+
+/*
+
+=item C<METHOD read(INTVAL bytes)>
+
+Read the given number of bytes from the gziphandle and return them in a string.
+
+=cut
+
+*/
+ METHOD read(INTVAL length) {
+ int result;
+ gzFile file;
+ STRING *str = STRINGNULL;
+ char * const buf = mem_allocate_n_zeroed_typed(length, char);
+ GET_ATTR_file(INTERP, SELF, file);
+ result = gzread(file, buf, length);
+ if (result > 0) {
+ str = Parrot_str_new(INTERP, buf, result);
+ }
+ mem_sys_free(buf);
+ RETURN(STRING *str);
+ }
+
+/*
+
+=item C<METHOD is_tty()>
+
+GzipHandles are never tty's, returns false.
+
+=cut
+
+*/
+ METHOD is_tty() {
+ RETURN(INTVAL 0);
+ }
+
+/*
+
+=back
+
+=head2 Basic Methods
+
+=over 4
+
+=item C<METHOD version()>
+
+Returns a string with the zlib version.
+
+*/
+ METHOD version() {
+ STRING *version = Parrot_str_new_constant(INTERP, zlibVersion());
+ RETURN(STRING *version);
+ }
+
+ METHOD compress(STRING *str) {
+ int rc;
+ char *buf;
+ STRING *dst = NULL;
+ UINTVAL srcLen, bufSize, dstLen;
+ char *src = Parrot_str_to_cstring(INTERP, str);
+ if (NULL == src) {
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "failed to allocate");
+ }
+ srcLen = Parrot_str_byte_length(INTERP, str);
+ bufSize = 12 + srcLen + srcLen / 1000;
+ buf = mem_allocate_n_zeroed_typed(bufSize, char);
+ if (NULL == buf) {
+ Parrot_str_free_cstring(src);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "failed to allocate");
+ }
+ rc = compress((Bytef *)buf, &dstLen, (const Bytef *)src, srcLen);
+ Parrot_str_free_cstring(src);
+ switch (rc) {
+ case Z_OK:
+ dst = Parrot_str_new(INTERP, buf, dstLen);
+ mem_sys_free(buf);
+ break;
+
+ case Z_MEM_ERROR:
+ mem_sys_free(buf);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "not enough memory");
+ break;
+
+ case Z_BUF_ERROR:
+ mem_sys_free(buf);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "output buffer error");
+ break;
+ }
+ RETURN(STRING *dst);
+ }
+
+/*
+
+=back
+
+=cut
+
+*/
+
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
+
Modified: branches/runcore_purge/src/embed.c
==============================================================================
--- branches/runcore_purge/src/embed.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/embed.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -992,12 +992,12 @@
/* Parrot_io_fprintf(interp, output, "%i < %i %i == %i \n", curr_mapping,
* num_mappings, op_code_seq_num,
- * interp->code->debugs->mappings[curr_mapping]->offset); */
+ * interp->code->debugs->mappings[curr_mapping].offset); */
if (debugs && curr_mapping < num_mappings) {
- if (op_code_seq_num == interp->code->debugs->mappings[curr_mapping]->offset) {
+ if (op_code_seq_num == interp->code->debugs->mappings[curr_mapping].offset) {
const int filename_const_offset =
- interp->code->debugs->mappings[curr_mapping]->filename;
+ interp->code->debugs->mappings[curr_mapping].filename;
Parrot_io_fprintf(interp, output, "# Current Source Filename '%Ss'\n",
interp->code->const_table->constants[filename_const_offset]->u.string);
curr_mapping++;
Modified: branches/runcore_purge/src/hash.c
==============================================================================
--- branches/runcore_purge/src/hash.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/hash.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -183,7 +183,8 @@
return 1;
/* COWed strings */
- if (Buffer_bufstart(s1) == Buffer_bufstart(s2) && s1->bufused == s2->bufused)
+ if (Buffer_bufstart(s1) == Buffer_bufstart(s2)
+ && s1->bufused == s2->bufused)
return 0;
return CHARSET_COMPARE(interp, s1, s2);
@@ -1323,13 +1324,14 @@
/* When the hash is constant, check that the key and value are also
* constant. */
if (!PMC_IS_NULL(hash->container)
- && PObj_constant_TEST(hash->container)) {
+ && PObj_constant_TEST(hash->container)) {
if (hash->key_type == Hash_key_type_STRING
- && !PObj_constant_TEST((PObj *)key))
+ && !PObj_constant_TEST((PObj *)key))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Used non-constant key in constant hash.");
- if (((hash->entry_type == enum_type_PMC) || (hash->entry_type == enum_type_STRING))
- && !PObj_constant_TEST((PObj *)value))
+ if (((hash->entry_type == enum_type_PMC)
+ || (hash->entry_type == enum_type_STRING))
+ && !PObj_constant_TEST((PObj *)value))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Used non-constant value in constant hash.");
}
@@ -1434,7 +1436,7 @@
break;
case enum_type_STRING:
- valtmp = (void *)Parrot_str_copy(interp, (STRING *)b->value);
+ valtmp = b->value;
break;
case enum_type_PMC:
@@ -1450,9 +1452,8 @@
"hash corruption: type = %d\n", hash->entry_type);
};
- if (key){
+ if (key)
parrot_hash_put(interp, dest, key, valtmp);
- }
}
}
Modified: branches/runcore_purge/src/hll.c
==============================================================================
--- branches/runcore_purge/src/hll.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/hll.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -521,11 +521,11 @@
if (PMC_IS_NULL(ns_hash) ||
ns_hash->vtable->base_type == enum_class_Undef)
{
- STRING * const hll_name = Parrot_get_HLL_name(interp, hll_id);
+ STRING * hll_name = Parrot_get_HLL_name(interp, hll_id);
if (!hll_name)
continue;
- Parrot_str_downcase_inplace(interp, hll_name);
+ hll_name = Parrot_str_downcase(interp, hll_name);
/* XXX as in Parrot_register_HLL() this needs to be fixed to use
* the correct type of namespace. It's relatively easy to do that
Modified: branches/runcore_purge/src/interp/inter_misc.c
==============================================================================
--- branches/runcore_purge/src/interp/inter_misc.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/interp/inter_misc.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -277,9 +277,6 @@
case CURRENT_CONT:
{
PMC * const cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
- if (!PMC_IS_NULL(cont) && cont->vtable->base_type ==
- enum_class_RetContinuation)
- return VTABLE_clone(interp, cont);
return cont;
}
case CURRENT_OBJECT:
Modified: branches/runcore_purge/src/io/api.c
==============================================================================
--- branches/runcore_purge/src/io/api.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/io/api.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -366,7 +366,7 @@
"Cannot read from a closed filehandle");
if (length == 0)
- result = Parrot_str_copy(interp, string_orig);
+ result = string_orig;
else {
INTVAL read_length = length;
const INTVAL orig_length = Parrot_str_byte_length(interp, string_orig);
@@ -377,8 +377,7 @@
if (offset + read_length > orig_length)
read_length = orig_length - offset;
- result = Parrot_str_substr(interp, string_orig, offset,
- read_length, NULL, 0);
+ result = Parrot_str_substr(interp, string_orig, offset, read_length);
SETATTR_StringHandle_read_offset(interp, pmc, offset + read_length);
}
}
@@ -436,8 +435,7 @@
else
read_length = newline_pos - offset + 1; /* +1 to include the newline */
- result = Parrot_str_substr(interp, result, offset,
- read_length, NULL, 0);
+ result = Parrot_str_substr(interp, result, offset, read_length);
SETATTR_StringHandle_read_offset(interp, pmc, newline_pos + 1);
}
else
Modified: branches/runcore_purge/src/io/buffer.c
==============================================================================
--- branches/runcore_purge/src/io/buffer.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/io/buffer.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -266,9 +266,10 @@
*/
+PARROT_WARN_UNUSED_RESULT
size_t
Parrot_io_read_buffer(PARROT_INTERP, ARGMOD(PMC *filehandle),
- ARGIN(STRING **buf))
+ ARGMOD(STRING **buf))
{
ASSERT_ARGS(Parrot_io_read_buffer)
unsigned char *out_buf, *buffer_start, *buffer_next, *buffer_end;
@@ -449,6 +450,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
size_t
Parrot_io_readline_buffer(PARROT_INTERP, ARGMOD(PMC *filehandle), ARGOUT(STRING **buf))
{
Modified: branches/runcore_purge/src/io/filehandle.c
==============================================================================
--- branches/runcore_purge/src/io/filehandle.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/io/filehandle.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -27,7 +27,8 @@
=over 4
-=item C<INTVAL Parrot_io_parse_open_flags(PARROT_INTERP, STRING *mode_str)>
+=item C<INTVAL Parrot_io_parse_open_flags(PARROT_INTERP, const STRING
+*mode_str)>
Parses a Parrot string for file open mode flags (C<r> for read, C<w> for write,
C<a> for append, and C<p> for pipe) and returns the combined generic bit flags.
@@ -39,7 +40,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL
-Parrot_io_parse_open_flags(PARROT_INTERP, ARGIN_NULLOK(STRING *mode_str))
+Parrot_io_parse_open_flags(PARROT_INTERP, ARGIN_NULLOK(const STRING *mode_str))
{
ASSERT_ARGS(Parrot_io_parse_open_flags)
INTVAL i, mode_len;
Modified: branches/runcore_purge/src/io/utf8.c
==============================================================================
--- branches/runcore_purge/src/io/utf8.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/io/utf8.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -83,7 +83,10 @@
UNUSED(read);
s->strlen = iter.charpos;
- s = Parrot_str_append(interp, s, s2);
+ s = Parrot_str_concat(interp, s, s2);
+ /* String is updated. Poke into iterator to replace old string */
+ iter.str = s;
+ *buf = s;
len += len2 + 1;
/* check last char */
@@ -116,8 +119,7 @@
if (s->encoding == Parrot_utf8_encoding_ptr)
return Parrot_io_write_buffer(interp, filehandle, s);
- dest = Parrot_utf8_encoding_ptr->to_encoding(interp, s,
- Parrot_gc_new_string_header(interp, 0));
+ dest = Parrot_utf8_encoding_ptr->to_encoding(interp, s);
return Parrot_io_write_buffer(interp, filehandle, dest);
}
Modified: branches/runcore_purge/src/io/win32.c
==============================================================================
--- branches/runcore_purge/src/io/win32.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/io/win32.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -660,8 +660,8 @@
if (comspec == NULL)
comspec = "cmd";
auxcomm = Parrot_str_new(interp, comspec, 0);
- auxcomm = Parrot_str_append(interp, auxcomm, Parrot_str_new(interp, " /c ", 0));
- auxcomm = Parrot_str_append(interp, auxcomm, command);
+ auxcomm = Parrot_str_concat(interp, auxcomm, Parrot_str_new(interp, " /c ", 0));
+ auxcomm = Parrot_str_concat(interp, auxcomm, command);
cmd = Parrot_str_to_cstring(interp, auxcomm);
start.cb = sizeof start;
GetStartupInfo(&start);
Modified: branches/runcore_purge/src/key.c
==============================================================================
--- branches/runcore_purge/src/key.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/key.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -444,8 +444,6 @@
{
STRING *s;
GETATTR_Key_str_key(interp, key, s);
- if (s)
- s = Parrot_str_new_COW(interp, s);
return s;
}
case KEY_string_FLAG | KEY_register_FLAG:
@@ -652,65 +650,65 @@
switch (PObj_get_FLAGS(key) & KEY_type_FLAGS) {
case KEY_integer_FLAG:
GETATTR_Key_int_key(interp, key, int_key);
- value = Parrot_str_append(interp, value,
- Parrot_str_from_int(interp, int_key));
+ value = Parrot_str_concat(interp, value,
+ Parrot_str_from_int(interp, int_key));
break;
case KEY_number_FLAG:
GETATTR_Key_int_key(interp, key, int_key);
- value = Parrot_str_append(interp, value,
- Parrot_str_from_num(interp, (FLOATVAL)int_key));
+ value = Parrot_str_concat(interp, value,
+ Parrot_str_from_num(interp, (FLOATVAL)int_key));
break;
case KEY_string_FLAG:
GETATTR_Key_str_key(interp, key, str_key);
- value = Parrot_str_append(interp, value, quote);
- value = Parrot_str_append(interp, value, str_key);
- value = Parrot_str_append(interp, value, quote);
+ value = Parrot_str_concat(interp, value, quote);
+ value = Parrot_str_concat(interp, value, str_key);
+ value = Parrot_str_concat(interp, value, quote);
break;
case KEY_pmc_FLAG:
- value = Parrot_str_append(interp, value,
- VTABLE_get_string(interp, key));
+ value = Parrot_str_concat(interp, value,
+ VTABLE_get_string(interp, key));
break;
case KEY_integer_FLAG | KEY_register_FLAG:
GETATTR_Key_int_key(interp, key, int_key);
- value = Parrot_str_append(interp, value,
+ value = Parrot_str_concat(interp, value,
Parrot_str_from_int(interp,
REG_INT(interp, int_key)));
break;
case KEY_number_FLAG | KEY_register_FLAG:
GETATTR_Key_int_key(interp, key, int_key);
- value = Parrot_str_append(interp, value,
+ value = Parrot_str_concat(interp, value,
Parrot_str_from_num(interp,
REG_NUM(interp, int_key)));
break;
case KEY_string_FLAG | KEY_register_FLAG:
- value = Parrot_str_append(interp, value, quote);
+ value = Parrot_str_concat(interp, value, quote);
GETATTR_Key_int_key(interp, key, int_key);
- value = Parrot_str_append(interp, value,
+ value = Parrot_str_concat(interp, value,
REG_STR(interp, int_key));
- value = Parrot_str_append(interp, value, quote);
+ value = Parrot_str_concat(interp, value, quote);
break;
case KEY_pmc_FLAG | KEY_register_FLAG:
{
PMC *reg;
GETATTR_Key_int_key(interp, key, int_key);
reg = REG_PMC(interp, int_key);
- value = Parrot_str_append(interp, value,
- VTABLE_get_string(interp, reg));
+ value = Parrot_str_concat(interp, value,
+ VTABLE_get_string(interp, reg));
}
break;
default:
- value = Parrot_str_append(interp, value, CONST_STRING(interp, "Key type unknown"));
+ value = Parrot_str_concat(interp, value, CONST_STRING(interp, "Key type unknown"));
break;
}
GETATTR_Key_next_key(interp, key, next_key);
if (next_key)
- value = Parrot_str_append(interp, value, semicolon);
+ value = Parrot_str_concat(interp, value, semicolon);
GETATTR_Key_next_key(interp, key, key);
}
- value = Parrot_str_append(interp, value, Parrot_str_new(interp, " ]", 2));
+ value = Parrot_str_concat(interp, value, Parrot_str_new(interp, " ]", 2));
return value;
}
Modified: branches/runcore_purge/src/library.c
==============================================================================
--- branches/runcore_purge/src/library.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/library.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -181,7 +181,7 @@
versionlib = VTABLE_get_string_keyed_str(interp, config_hash, libkey);
entry = VTABLE_get_string_keyed_str(interp, config_hash, verkey);
- versionlib = Parrot_str_append(interp, versionlib, entry);
+ versionlib = Parrot_str_concat(interp, versionlib, entry);
if (!VTABLE_get_integer_keyed_str(interp, config_hash, installed))
builddir = VTABLE_get_string_keyed_str(interp,
@@ -202,15 +202,15 @@
}
}
if (!STRING_IS_NULL(builddir)) {
- entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/"), 0);
+ entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/"));
VTABLE_push_string(interp, paths, entry);
- entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/include/"), 0);
+ entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/include/"));
VTABLE_push_string(interp, paths, entry);
}
entry = CONST_STRING(interp, "./");
VTABLE_push_string(interp, paths, entry);
if (!STRING_IS_NULL(versionlib)) {
- entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/include/"), 0);
+ entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/include/"));
VTABLE_push_string(interp, paths, entry);
}
@@ -227,13 +227,13 @@
}
}
if (!STRING_IS_NULL(builddir)) {
- entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/library/"), 0);
+ entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/library/"));
VTABLE_push_string(interp, paths, entry);
}
entry = CONST_STRING(interp, "./");
VTABLE_push_string(interp, paths, entry);
if (!STRING_IS_NULL(versionlib)) {
- entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/library/"), 0);
+ entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/library/"));
VTABLE_push_string(interp, paths, entry);
}
@@ -242,13 +242,13 @@
VTABLE_set_pmc_keyed_int(interp, lib_paths,
PARROT_LIB_PATH_LANG, paths);
if (!STRING_IS_NULL(builddir)) {
- entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/languages/"), 0);
+ entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/languages/"));
VTABLE_push_string(interp, paths, entry);
}
entry = CONST_STRING(interp, "./");
VTABLE_push_string(interp, paths, entry);
if (!STRING_IS_NULL(versionlib)) {
- entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/languages/"), 0);
+ entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/languages/"));
VTABLE_push_string(interp, paths, entry);
}
@@ -257,13 +257,13 @@
VTABLE_set_pmc_keyed_int(interp, lib_paths,
PARROT_LIB_PATH_DYNEXT, paths);
if (!STRING_IS_NULL(builddir)) {
- entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/dynext/"), 0);
+ entry = Parrot_str_concat(interp, builddir, CONST_STRING(interp, "/runtime/parrot/dynext/"));
VTABLE_push_string(interp, paths, entry);
}
entry = CONST_STRING(interp, "dynext/");
VTABLE_push_string(interp, paths, entry);
if (!STRING_IS_NULL(versionlib)) {
- entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/dynext/"), 0);
+ entry = Parrot_str_concat(interp, versionlib, CONST_STRING(interp, "/dynext/"));
VTABLE_push_string(interp, paths, entry);
}
@@ -419,7 +419,7 @@
STRING * const nul = string_chr(interp, '\0');
- path = Parrot_str_append(interp, path, nul);
+ path = Parrot_str_concat(interp, path, nul);
path->bufused--;
path->strlen--;
@@ -454,7 +454,7 @@
/* make sure the path has a trailing slash before appending the file */
if (Parrot_str_indexed(interp, path , path->strlen - 1)
!= Parrot_str_indexed(interp, path_separator_string, 0))
- path = Parrot_str_append(interp, path , path_separator_string);
+ path = Parrot_str_concat(interp, path , path_separator_string);
return path;
}
@@ -479,7 +479,7 @@
{
ASSERT_ARGS(path_append)
l_path = path_guarantee_trailing_separator(interp, l_path);
- l_path = Parrot_str_append(interp, l_path, r_path);
+ l_path = Parrot_str_concat(interp, l_path, r_path);
return l_path;
}
@@ -505,9 +505,9 @@
ASSERT_ARGS(path_concat)
STRING* join;
- join = Parrot_str_copy(interp, l_path);
+ join = l_path;
join = path_guarantee_trailing_separator(interp, join);
- join = Parrot_str_append(interp, join, r_path);
+ join = Parrot_str_concat(interp, join, r_path);
return join;
}
@@ -532,9 +532,7 @@
ASSERT_ARGS(try_load_path)
STRING *final;
- final = Parrot_str_copy(interp, path);
-
- final = path_finalize(interp, final);
+ final = path_finalize(interp, path);
if (Parrot_stat_info_intval(interp, final, STAT_EXISTS)) {
return final;
@@ -566,7 +564,7 @@
STRING * const pir_extension = CONST_STRING(interp, ".pir");
STRING * const pasm_extension = CONST_STRING(interp, ".pasm");
- test_path = Parrot_str_copy(interp, path);
+ test_path = path;
/* First try the path as given. */
result = try_load_path(interp, test_path);
@@ -582,11 +580,11 @@
if (!STRING_IS_NULL(test_path)) {
if (Parrot_str_byte_length(interp, test_path) > 4) {
- STRING *orig_ext = Parrot_str_substr(interp, test_path, -4, 4, NULL, 0);
+ STRING *orig_ext = Parrot_str_substr(interp, test_path, -4, 4);
/* First try substituting .pbc for the .pir extension */
if (Parrot_str_equal(interp, orig_ext, pir_extension)) {
STRING * const without_ext = Parrot_str_chopn(interp, test_path, 4);
- test_path = Parrot_str_append(interp, without_ext, bytecode_extension);
+ test_path = Parrot_str_concat(interp, without_ext, bytecode_extension);
result = try_load_path(interp, test_path);
if (result)
return result;
@@ -594,12 +592,12 @@
/* Next try substituting .pir, then .pasm for the .pbc extension */
else if (Parrot_str_equal(interp, orig_ext, bytecode_extension)) {
STRING * const without_ext = Parrot_str_chopn(interp, test_path, 4);
- test_path = Parrot_str_append(interp, without_ext, pir_extension);
+ test_path = Parrot_str_concat(interp, without_ext, pir_extension);
result = try_load_path(interp, test_path);
if (result)
return result;
- test_path = Parrot_str_append(interp, without_ext, pasm_extension);
+ test_path = Parrot_str_concat(interp, without_ext, pasm_extension);
result = try_load_path(interp, test_path);
if (result)
return result;
@@ -609,10 +607,10 @@
/* Finally, try substituting .pbc for the .pasm extension. */
if (Parrot_str_byte_length(interp, test_path) > 5) {
- STRING * const orig_ext = Parrot_str_substr(interp, test_path, -5, 5, NULL, 0);
+ STRING * const orig_ext = Parrot_str_substr(interp, test_path, -5, 5);
if (Parrot_str_equal(interp, orig_ext, pasm_extension)) {
STRING * const without_ext = Parrot_str_chopn(interp, test_path, 5);
- test_path = Parrot_str_append(interp, without_ext, bytecode_extension);
+ test_path = Parrot_str_concat(interp, without_ext, bytecode_extension);
result = try_load_path(interp, test_path);
if (result)
return result;
@@ -717,8 +715,7 @@
STRING * const path = VTABLE_get_string_keyed_int(interp, paths, i);
STRING *found_name;
- full_name = Parrot_str_copy(interp, path);
- full_name = path_append(interp, full_name, file);
+ full_name = path_append(interp, path, file);
found_name =
(type & PARROT_RUNTIME_FT_DYNEXT)
@@ -917,23 +914,22 @@
++pos_dot;
++pos_sl;
if (pos_sl && pos_dot) {
- stem = Parrot_str_substr(interp, in, pos_sl, pos_dot - pos_sl - 1,
- NULL, 0);
- *wo_ext = Parrot_str_substr(interp, in, 0, pos_dot - 1, NULL, 0);
- *ext = Parrot_str_substr(interp, in, pos_dot, len - pos_dot, NULL, 0);
+ stem = Parrot_str_substr(interp, in, pos_sl, pos_dot - pos_sl - 1);
+ *wo_ext = Parrot_str_substr(interp, in, 0, pos_dot - 1);
+ *ext = Parrot_str_substr(interp, in, pos_dot, len - pos_dot);
}
else if (pos_dot) {
- stem = Parrot_str_substr(interp, in, 0, pos_dot - 1, NULL, 0);
+ stem = Parrot_str_substr(interp, in, 0, pos_dot - 1);
*wo_ext = stem;
- *ext = Parrot_str_substr(interp, in, pos_dot, len - pos_dot, NULL, 0);
+ *ext = Parrot_str_substr(interp, in, pos_dot, len - pos_dot);
}
else if (pos_sl) {
- stem = Parrot_str_substr(interp, in, pos_sl, len - pos_sl, NULL, 0);
- *wo_ext = Parrot_str_copy(interp, in);
+ stem = Parrot_str_substr(interp, in, pos_sl, len - pos_sl);
+ *wo_ext = in;
*ext = NULL;
}
else {
- stem = Parrot_str_copy(interp, in);
+ stem = in;
*wo_ext = stem;
*ext = NULL;
}
Modified: branches/runcore_purge/src/ops/bit.ops
==============================================================================
--- branches/runcore_purge/src/ops/bit.ops Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/ops/bit.ops Sat Apr 24 00:51:33 2010 (r45948)
@@ -109,37 +109,37 @@
=cut
-inline op bands(inout STR, in STR) :base_core {
- Parrot_str_bitwise_and(interp, $1, $2, &$1);
+inline op bands(inout STR, in STR) :base_core :deprecated {
+ $1 = Parrot_str_bitwise_and(interp, $1, $2);
}
inline op bands(invar PMC, in STR) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
- STRING * const b = Parrot_str_bitwise_and(interp, a, $2, NULL);
+ STRING * const b = Parrot_str_bitwise_and(interp, a, $2);
VTABLE_set_string_native(interp, $1, b);
}
inline op bands(invar PMC, invar PMC) :base_core {
STRING * a = VTABLE_get_string(interp, $1);
STRING * const b = VTABLE_get_string(interp, $2);
- a = Parrot_str_bitwise_and(interp, a, b, NULL);
+ a = Parrot_str_bitwise_and(interp, a, b);
VTABLE_set_string_native(interp, $1, a);
}
inline op bands(out STR, in STR, in STR) :base_core {
- $1 = Parrot_str_bitwise_and(interp, $2, $3, NULL);
+ $1 = Parrot_str_bitwise_and(interp, $2, $3);
}
inline op bands(invar PMC, invar PMC, in STR) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
- STRING * const b = Parrot_str_bitwise_and(interp, a, $3, NULL);
+ STRING * const b = Parrot_str_bitwise_and(interp, a, $3);
VTABLE_set_string_native(interp, $1, b);
}
inline op bands(invar PMC, invar PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
STRING * const b = VTABLE_get_string(interp, $3);
- STRING * const c = Parrot_str_bitwise_and(interp, a, b, NULL);
+ STRING * const c = Parrot_str_bitwise_and(interp, a, b);
VTABLE_set_string_native(interp, $1, c);
}
@@ -187,23 +187,23 @@
=cut
-inline op bnots(inout STR) :base_core {
- Parrot_str_bitwise_not(interp, $1, &$1);
+inline op bnots(inout STR) :base_core :deprecated {
+ $1 = Parrot_str_bitwise_not(interp, $1);
}
inline op bnots(out STR, in STR) :base_core {
- Parrot_str_bitwise_not(interp, $2, &$1);
+ $1 = Parrot_str_bitwise_not(interp, $2);
}
inline op bnots(invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
- STRING * const b = Parrot_str_bitwise_not(interp, a, NULL);
+ STRING * const b = Parrot_str_bitwise_not(interp, a);
VTABLE_set_string_native(interp, $1, b);
}
inline op bnots(out PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
- STRING * const b = Parrot_str_bitwise_not(interp, a, NULL);
+ STRING * const b = Parrot_str_bitwise_not(interp, a);
VTABLE_set_string_native(interp, $1, b);
}
@@ -279,37 +279,37 @@
=cut
-inline op bors(inout STR, in STR) :base_core {
- Parrot_str_bitwise_or(interp, $1, $2, &$1);
+inline op bors(inout STR, in STR) :base_core :deprecated {
+ $1 = Parrot_str_bitwise_or(interp, $1, $2);
}
inline op bors(invar PMC, in STR) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
- STRING * const b = Parrot_str_bitwise_or(interp, a, $2, NULL);
+ STRING * const b = Parrot_str_bitwise_or(interp, a, $2);
VTABLE_set_string_native(interp, $1, b);
}
inline op bors(invar PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
STRING * const b = VTABLE_get_string(interp, $2);
- STRING * const c = Parrot_str_bitwise_or(interp, a, b, NULL);
+ STRING * const c = Parrot_str_bitwise_or(interp, a, b);
VTABLE_set_string_native(interp, $1, c);
}
inline op bors(out STR, in STR, in STR) :base_core {
- $1 = Parrot_str_bitwise_or(interp, $2, $3, NULL);
+ $1 = Parrot_str_bitwise_or(interp, $2, $3);
}
inline op bors(invar PMC, invar PMC, in STR) :base_core {
STRING * const b = VTABLE_get_string(interp, $2);
- STRING * const c = Parrot_str_bitwise_or(interp, b, $3, NULL);
+ STRING * const c = Parrot_str_bitwise_or(interp, b, $3);
VTABLE_set_string_native(interp, $1, c);
}
inline op bors(invar PMC, invar PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
STRING * const b = VTABLE_get_string(interp, $3);
- STRING * const c = Parrot_str_bitwise_or(interp, a, b, NULL);
+ STRING * const c = Parrot_str_bitwise_or(interp, a, b);
VTABLE_set_string_native(interp, $1, c);
}
@@ -579,37 +579,37 @@
=cut
-inline op bxors(inout STR, in STR) :base_core {
- Parrot_str_bitwise_xor(interp, $1, $2, &$1);
+inline op bxors(inout STR, in STR) :base_core :deprecated {
+ $1 = Parrot_str_bitwise_xor(interp, $1, $2);
}
inline op bxors(invar PMC, in STR) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
- STRING * const b = Parrot_str_bitwise_xor(interp, a, $2, NULL);
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, $2);
VTABLE_set_string_native(interp, $1, b);
}
inline op bxors(invar PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $1);
STRING * const b = VTABLE_get_string(interp, $2);
- STRING * const c = Parrot_str_bitwise_xor(interp, a, b, NULL);
+ STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
VTABLE_set_string_native(interp, $1, c);
}
inline op bxors(out STR, in STR, in STR) :base_core {
- $1 = Parrot_str_bitwise_xor(interp, $2, $3, NULL);
+ $1 = Parrot_str_bitwise_xor(interp, $2, $3);
}
inline op bxors(invar PMC, invar PMC, in STR) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
- STRING * const b = Parrot_str_bitwise_xor(interp, a, $3, NULL);
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, $3);
VTABLE_set_string_native(interp, $1, b);
}
inline op bxors(invar PMC, invar PMC, invar PMC) :base_core {
STRING * const a = VTABLE_get_string(interp, $2);
STRING * const b = VTABLE_get_string(interp, $3);
- STRING * const c = Parrot_str_bitwise_xor(interp, a, b, NULL);
+ STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
VTABLE_set_string_native(interp, $1, c);
}
Modified: branches/runcore_purge/src/ops/core.ops
==============================================================================
--- branches/runcore_purge/src/ops/core.ops Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/ops/core.ops Sat Apr 24 00:51:33 2010 (r45948)
@@ -746,7 +746,9 @@
PMC * except = $1;
opcode_t *dest;
opcode_t * const ret = expr NEXT();
- PMC * const resume = new_ret_continuation_pmc(interp, ret);
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+
+ VTABLE_set_pointer(interp, resume, ret);
if (PMC_IS_NULL(except) || except->vtable->base_type != enum_class_Exception)
except = Parrot_ex_build_exception(interp, EXCEPT_fatal,
@@ -792,10 +794,12 @@
inline op die(in STR) :flow {
opcode_t *dest;
opcode_t * const ret = expr NEXT();
- PMC * const resume = new_ret_continuation_pmc(interp, ret);
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_error,
CONTROL_ERROR, $1);
+ VTABLE_set_pointer(interp, resume, ret);
+
VTABLE_set_attr_str(interp, exception,
Parrot_str_new_constant(interp, "resume"), resume);
dest = Parrot_ex_throw_from_op(interp, exception, ret);
@@ -805,11 +809,13 @@
inline op die(in PMC) :flow {
opcode_t *dest;
opcode_t * const ret = expr NEXT();
- PMC * const resume = new_ret_continuation_pmc(interp, ret);
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
STRING * const msg = PMC_IS_NULL($1) ? NULL : VTABLE_get_string(interp, $1);
PMC * const exception =
Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, msg);
+ VTABLE_set_pointer(interp, resume, ret);
+
VTABLE_set_attr_str(interp, exception,
Parrot_str_new_constant(interp, "resume"), resume);
dest = Parrot_ex_throw_from_op(interp, exception, ret);
@@ -831,9 +837,11 @@
inline op exit(in INT) :flow {
opcode_t *dest;
opcode_t * const ret = expr NEXT();
- PMC * const resume = new_ret_continuation_pmc(interp, ret);
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, $1, NULL);
+ VTABLE_set_pointer(interp, resume, ret);
+
VTABLE_set_attr_str(interp, exception,
Parrot_str_new_constant(interp, "resume"), resume);
VTABLE_set_integer_keyed_str(interp, exception,
Modified: branches/runcore_purge/src/ops/ops.num
==============================================================================
--- branches/runcore_purge/src/ops/ops.num Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/ops/ops.num Sat Apr 24 00:51:33 2010 (r45948)
@@ -1087,193 +1087,209 @@
substr_s_p_ic_i 1063
substr_s_p_i_ic 1064
substr_s_p_ic_ic 1065
-index_i_s_s 1066
-index_i_sc_s 1067
-index_i_s_sc 1068
-index_i_sc_sc 1069
-index_i_s_s_i 1070
-index_i_sc_s_i 1071
-index_i_s_sc_i 1072
-index_i_sc_sc_i 1073
-index_i_s_s_ic 1074
-index_i_sc_s_ic 1075
-index_i_s_sc_ic 1076
-index_i_sc_sc_ic 1077
-sprintf_s_s_p 1078
-sprintf_s_sc_p 1079
-sprintf_p_p_p 1080
-new_s 1081
-new_s_i 1082
-new_s_ic 1083
-stringinfo_i_s_i 1084
-stringinfo_i_sc_i 1085
-stringinfo_i_s_ic 1086
-stringinfo_i_sc_ic 1087
-upcase_s_s 1088
-upcase_s_sc 1089
-upcase_s 1090
-downcase_s_s 1091
-downcase_s_sc 1092
-downcase_s 1093
-titlecase_s_s 1094
-titlecase_s_sc 1095
-titlecase_s 1096
-join_s_s_p 1097
-join_s_sc_p 1098
-split_p_s_s 1099
-split_p_sc_s 1100
-split_p_s_sc 1101
-split_p_sc_sc 1102
-charset_i_s 1103
-charset_i_sc 1104
-charsetname_s_i 1105
-charsetname_s_ic 1106
-find_charset_i_s 1107
-find_charset_i_sc 1108
-trans_charset_s_i 1109
-trans_charset_s_ic 1110
-trans_charset_s_s_i 1111
-trans_charset_s_sc_i 1112
-trans_charset_s_s_ic 1113
-trans_charset_s_sc_ic 1114
-encoding_i_s 1115
-encoding_i_sc 1116
-encodingname_s_i 1117
-encodingname_s_ic 1118
-find_encoding_i_s 1119
-find_encoding_i_sc 1120
-trans_encoding_s_i 1121
-trans_encoding_s_ic 1122
-trans_encoding_s_s_i 1123
-trans_encoding_s_sc_i 1124
-trans_encoding_s_s_ic 1125
-trans_encoding_s_sc_ic 1126
-is_cclass_i_i_s_i 1127
-is_cclass_i_ic_s_i 1128
-is_cclass_i_i_sc_i 1129
-is_cclass_i_ic_sc_i 1130
-is_cclass_i_i_s_ic 1131
-is_cclass_i_ic_s_ic 1132
-is_cclass_i_i_sc_ic 1133
-is_cclass_i_ic_sc_ic 1134
-find_cclass_i_i_s_i_i 1135
-find_cclass_i_ic_s_i_i 1136
-find_cclass_i_i_sc_i_i 1137
-find_cclass_i_ic_sc_i_i 1138
-find_cclass_i_i_s_ic_i 1139
-find_cclass_i_ic_s_ic_i 1140
-find_cclass_i_i_sc_ic_i 1141
-find_cclass_i_ic_sc_ic_i 1142
-find_cclass_i_i_s_i_ic 1143
-find_cclass_i_ic_s_i_ic 1144
-find_cclass_i_i_sc_i_ic 1145
-find_cclass_i_ic_sc_i_ic 1146
-find_cclass_i_i_s_ic_ic 1147
-find_cclass_i_ic_s_ic_ic 1148
-find_cclass_i_i_sc_ic_ic 1149
-find_cclass_i_ic_sc_ic_ic 1150
-find_not_cclass_i_i_s_i_i 1151
-find_not_cclass_i_ic_s_i_i 1152
-find_not_cclass_i_i_sc_i_i 1153
-find_not_cclass_i_ic_sc_i_i 1154
-find_not_cclass_i_i_s_ic_i 1155
-find_not_cclass_i_ic_s_ic_i 1156
-find_not_cclass_i_i_sc_ic_i 1157
-find_not_cclass_i_ic_sc_ic_i 1158
-find_not_cclass_i_i_s_i_ic 1159
-find_not_cclass_i_ic_s_i_ic 1160
-find_not_cclass_i_i_sc_i_ic 1161
-find_not_cclass_i_ic_sc_i_ic 1162
-find_not_cclass_i_i_s_ic_ic 1163
-find_not_cclass_i_ic_s_ic_ic 1164
-find_not_cclass_i_i_sc_ic_ic 1165
-find_not_cclass_i_ic_sc_ic_ic 1166
-escape_s_s 1167
-compose_s_s 1168
-compose_s_sc 1169
-spawnw_i_s 1170
-spawnw_i_sc 1171
-spawnw_i_p 1172
-err_i 1173
-err_s 1174
-err_s_i 1175
-err_s_ic 1176
-time_i 1177
-time_n 1178
-gmtime_s_i 1179
-gmtime_s_ic 1180
-localtime_s_i 1181
-localtime_s_ic 1182
-decodetime_p_i 1183
-decodetime_p_ic 1184
-decodelocaltime_p_i 1185
-decodelocaltime_p_ic 1186
-sysinfo_s_i 1187
-sysinfo_s_ic 1188
-sysinfo_i_i 1189
-sysinfo_i_ic 1190
-sleep_i 1191
-sleep_ic 1192
-sleep_n 1193
-sleep_nc 1194
-sizeof_i_i 1195
-sizeof_i_ic 1196
-store_lex_s_p 1197
-store_lex_sc_p 1198
-store_dynamic_lex_s_p 1199
-store_dynamic_lex_sc_p 1200
-find_lex_p_s 1201
-find_lex_p_sc 1202
-find_dynamic_lex_p_s 1203
-find_dynamic_lex_p_sc 1204
-find_caller_lex_p_s 1205
-find_caller_lex_p_sc 1206
-get_namespace_p 1207
-get_namespace_p_p 1208
-get_namespace_p_pc 1209
-get_hll_namespace_p 1210
-get_hll_namespace_p_p 1211
-get_hll_namespace_p_pc 1212
-get_root_namespace_p 1213
-get_root_namespace_p_p 1214
-get_root_namespace_p_pc 1215
-get_global_p_s 1216
-get_global_p_sc 1217
-get_global_p_p_s 1218
-get_global_p_pc_s 1219
-get_global_p_p_sc 1220
-get_global_p_pc_sc 1221
-get_hll_global_p_s 1222
-get_hll_global_p_sc 1223
-get_hll_global_p_p_s 1224
-get_hll_global_p_pc_s 1225
-get_hll_global_p_p_sc 1226
-get_hll_global_p_pc_sc 1227
-get_root_global_p_s 1228
-get_root_global_p_sc 1229
-get_root_global_p_p_s 1230
-get_root_global_p_pc_s 1231
-get_root_global_p_p_sc 1232
-get_root_global_p_pc_sc 1233
-set_global_s_p 1234
-set_global_sc_p 1235
-set_global_p_s_p 1236
-set_global_pc_s_p 1237
-set_global_p_sc_p 1238
-set_global_pc_sc_p 1239
-set_hll_global_s_p 1240
-set_hll_global_sc_p 1241
-set_hll_global_p_s_p 1242
-set_hll_global_pc_s_p 1243
-set_hll_global_p_sc_p 1244
-set_hll_global_pc_sc_p 1245
-set_root_global_s_p 1246
-set_root_global_sc_p 1247
-set_root_global_p_s_p 1248
-set_root_global_pc_s_p 1249
-set_root_global_p_sc_p 1250
-set_root_global_pc_sc_p 1251
-find_name_p_s 1252
-find_name_p_sc 1253
-find_sub_not_null_p_s 1254
-find_sub_not_null_p_sc 1255
+replace_s_s_i_i_s 1066
+replace_s_sc_i_i_s 1067
+replace_s_s_ic_i_s 1068
+replace_s_sc_ic_i_s 1069
+replace_s_s_i_ic_s 1070
+replace_s_sc_i_ic_s 1071
+replace_s_s_ic_ic_s 1072
+replace_s_sc_ic_ic_s 1073
+replace_s_s_i_i_sc 1074
+replace_s_sc_i_i_sc 1075
+replace_s_s_ic_i_sc 1076
+replace_s_sc_ic_i_sc 1077
+replace_s_s_i_ic_sc 1078
+replace_s_sc_i_ic_sc 1079
+replace_s_s_ic_ic_sc 1080
+replace_s_sc_ic_ic_sc 1081
+index_i_s_s 1082
+index_i_sc_s 1083
+index_i_s_sc 1084
+index_i_sc_sc 1085
+index_i_s_s_i 1086
+index_i_sc_s_i 1087
+index_i_s_sc_i 1088
+index_i_sc_sc_i 1089
+index_i_s_s_ic 1090
+index_i_sc_s_ic 1091
+index_i_s_sc_ic 1092
+index_i_sc_sc_ic 1093
+sprintf_s_s_p 1094
+sprintf_s_sc_p 1095
+sprintf_p_p_p 1096
+new_s 1097
+new_s_i 1098
+new_s_ic 1099
+stringinfo_i_s_i 1100
+stringinfo_i_sc_i 1101
+stringinfo_i_s_ic 1102
+stringinfo_i_sc_ic 1103
+upcase_s_s 1104
+upcase_s_sc 1105
+upcase_s 1106
+downcase_s_s 1107
+downcase_s_sc 1108
+downcase_s 1109
+titlecase_s_s 1110
+titlecase_s_sc 1111
+titlecase_s 1112
+join_s_s_p 1113
+join_s_sc_p 1114
+split_p_s_s 1115
+split_p_sc_s 1116
+split_p_s_sc 1117
+split_p_sc_sc 1118
+charset_i_s 1119
+charset_i_sc 1120
+charsetname_s_i 1121
+charsetname_s_ic 1122
+find_charset_i_s 1123
+find_charset_i_sc 1124
+trans_charset_s_i 1125
+trans_charset_s_ic 1126
+trans_charset_s_s_i 1127
+trans_charset_s_sc_i 1128
+trans_charset_s_s_ic 1129
+trans_charset_s_sc_ic 1130
+encoding_i_s 1131
+encoding_i_sc 1132
+encodingname_s_i 1133
+encodingname_s_ic 1134
+find_encoding_i_s 1135
+find_encoding_i_sc 1136
+trans_encoding_s_i 1137
+trans_encoding_s_ic 1138
+trans_encoding_s_s_i 1139
+trans_encoding_s_sc_i 1140
+trans_encoding_s_s_ic 1141
+trans_encoding_s_sc_ic 1142
+is_cclass_i_i_s_i 1143
+is_cclass_i_ic_s_i 1144
+is_cclass_i_i_sc_i 1145
+is_cclass_i_ic_sc_i 1146
+is_cclass_i_i_s_ic 1147
+is_cclass_i_ic_s_ic 1148
+is_cclass_i_i_sc_ic 1149
+is_cclass_i_ic_sc_ic 1150
+find_cclass_i_i_s_i_i 1151
+find_cclass_i_ic_s_i_i 1152
+find_cclass_i_i_sc_i_i 1153
+find_cclass_i_ic_sc_i_i 1154
+find_cclass_i_i_s_ic_i 1155
+find_cclass_i_ic_s_ic_i 1156
+find_cclass_i_i_sc_ic_i 1157
+find_cclass_i_ic_sc_ic_i 1158
+find_cclass_i_i_s_i_ic 1159
+find_cclass_i_ic_s_i_ic 1160
+find_cclass_i_i_sc_i_ic 1161
+find_cclass_i_ic_sc_i_ic 1162
+find_cclass_i_i_s_ic_ic 1163
+find_cclass_i_ic_s_ic_ic 1164
+find_cclass_i_i_sc_ic_ic 1165
+find_cclass_i_ic_sc_ic_ic 1166
+find_not_cclass_i_i_s_i_i 1167
+find_not_cclass_i_ic_s_i_i 1168
+find_not_cclass_i_i_sc_i_i 1169
+find_not_cclass_i_ic_sc_i_i 1170
+find_not_cclass_i_i_s_ic_i 1171
+find_not_cclass_i_ic_s_ic_i 1172
+find_not_cclass_i_i_sc_ic_i 1173
+find_not_cclass_i_ic_sc_ic_i 1174
+find_not_cclass_i_i_s_i_ic 1175
+find_not_cclass_i_ic_s_i_ic 1176
+find_not_cclass_i_i_sc_i_ic 1177
+find_not_cclass_i_ic_sc_i_ic 1178
+find_not_cclass_i_i_s_ic_ic 1179
+find_not_cclass_i_ic_s_ic_ic 1180
+find_not_cclass_i_i_sc_ic_ic 1181
+find_not_cclass_i_ic_sc_ic_ic 1182
+escape_s_s 1183
+compose_s_s 1184
+compose_s_sc 1185
+spawnw_i_s 1186
+spawnw_i_sc 1187
+spawnw_i_p 1188
+err_i 1189
+err_s 1190
+err_s_i 1191
+err_s_ic 1192
+time_i 1193
+time_n 1194
+gmtime_s_i 1195
+gmtime_s_ic 1196
+localtime_s_i 1197
+localtime_s_ic 1198
+decodetime_p_i 1199
+decodetime_p_ic 1200
+decodelocaltime_p_i 1201
+decodelocaltime_p_ic 1202
+sysinfo_s_i 1203
+sysinfo_s_ic 1204
+sysinfo_i_i 1205
+sysinfo_i_ic 1206
+sleep_i 1207
+sleep_ic 1208
+sleep_n 1209
+sleep_nc 1210
+sizeof_i_i 1211
+sizeof_i_ic 1212
+store_lex_s_p 1213
+store_lex_sc_p 1214
+store_dynamic_lex_s_p 1215
+store_dynamic_lex_sc_p 1216
+find_lex_p_s 1217
+find_lex_p_sc 1218
+find_dynamic_lex_p_s 1219
+find_dynamic_lex_p_sc 1220
+find_caller_lex_p_s 1221
+find_caller_lex_p_sc 1222
+get_namespace_p 1223
+get_namespace_p_p 1224
+get_namespace_p_pc 1225
+get_hll_namespace_p 1226
+get_hll_namespace_p_p 1227
+get_hll_namespace_p_pc 1228
+get_root_namespace_p 1229
+get_root_namespace_p_p 1230
+get_root_namespace_p_pc 1231
+get_global_p_s 1232
+get_global_p_sc 1233
+get_global_p_p_s 1234
+get_global_p_pc_s 1235
+get_global_p_p_sc 1236
+get_global_p_pc_sc 1237
+get_hll_global_p_s 1238
+get_hll_global_p_sc 1239
+get_hll_global_p_p_s 1240
+get_hll_global_p_pc_s 1241
+get_hll_global_p_p_sc 1242
+get_hll_global_p_pc_sc 1243
+get_root_global_p_s 1244
+get_root_global_p_sc 1245
+get_root_global_p_p_s 1246
+get_root_global_p_pc_s 1247
+get_root_global_p_p_sc 1248
+get_root_global_p_pc_sc 1249
+set_global_s_p 1250
+set_global_sc_p 1251
+set_global_p_s_p 1252
+set_global_pc_s_p 1253
+set_global_p_sc_p 1254
+set_global_pc_sc_p 1255
+set_hll_global_s_p 1256
+set_hll_global_sc_p 1257
+set_hll_global_p_s_p 1258
+set_hll_global_pc_s_p 1259
+set_hll_global_p_sc_p 1260
+set_hll_global_pc_sc_p 1261
+set_root_global_s_p 1262
+set_root_global_sc_p 1263
+set_root_global_p_s_p 1264
+set_root_global_pc_s_p 1265
+set_root_global_p_sc_p 1266
+set_root_global_pc_sc_p 1267
+find_name_p_s 1268
+find_name_p_sc 1269
+find_sub_not_null_p_s 1270
+find_sub_not_null_p_sc 1271
Modified: branches/runcore_purge/src/ops/set.ops
==============================================================================
--- branches/runcore_purge/src/ops/set.ops Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/ops/set.ops Sat Apr 24 00:51:33 2010 (r45948)
@@ -19,15 +19,15 @@
=item B<clone>(out STR, in STR)
-Make a clone of $2, and put it in $1. Doesn't affect what was in
-$1. Removes the constant flag on the copy, if there was one.
+Effectively the same as set $1, $2, except that if $2 is a null STRING, $1 gets
+a new empty string instead.
=cut
inline op clone(out STR, in STR) :base_mem {
/* cloning a NULL STRING produces an empty STRING; TT #964 */
$1 = $2
- ? Parrot_str_copy(interp, $2)
+ ? $2
: Parrot_str_new(interp, NULL, 0);
}
@@ -154,7 +154,7 @@
}
inline op set(out STR, inconst STR) :base_core {
- $1 = Parrot_str_copy(interp, $2);
+ $1 = $2;
}
inline op set(out STR, in INT) :base_core {
@@ -186,8 +186,7 @@
}
inline op set(invar PMC, inconst STR) :base_core {
- VTABLE_set_string_native(interp, $1,
- Parrot_str_copy(interp, $2));
+ VTABLE_set_string_native(interp, $1, $2);
}
inline op set(out INT, invar PMC) :base_core {
$1 = VTABLE_get_integer(interp, $2);
@@ -247,7 +246,7 @@
}
inline op assign(out STR, in STR) :base_core {
- $1 = Parrot_str_set(interp, $1, $2);
+ $1 = $2;
}
inline op setref(invar PMC, invar PMC) :base_core {
Modified: branches/runcore_purge/src/ops/string.ops
==============================================================================
--- branches/runcore_purge/src/ops/string.ops Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/ops/string.ops Sat Apr 24 00:51:33 2010 (r45948)
@@ -70,8 +70,8 @@
=cut
-inline op chopn(inout STR, in INT) :base_core {
- Parrot_str_chopn_inplace(interp, $1, $2);
+inline op chopn(inout STR, in INT) :base_core :deprecated {
+ $1 = Parrot_str_chopn(interp, $1, $2);
}
inline op chopn(out STR, in STR, in INT) :base_core {
@@ -97,8 +97,8 @@
=cut
-inline op concat(inout STR, in STR) :base_mem {
- $1 = Parrot_str_append(interp, $1, $2);
+inline op concat(inout STR, in STR) :base_mem :deprecated {
+ $1 = Parrot_str_concat(interp, $1, $2);
}
inline op concat(invar PMC, invar PMC) :base_core {
@@ -110,7 +110,7 @@
}
inline op concat(out STR, in STR, in STR) :base_mem {
- $1 = Parrot_str_concat(interp, $2, $3, 1);
+ $1 = Parrot_str_concat(interp, $2, $3);
}
inline op concat(invar PMC, invar PMC, in STR) :base_core {
@@ -198,8 +198,8 @@
inline op bytelength(out INT, in STR) :base_mem {
UINTVAL n;
- STRING * const s = $2;
- if (!s)
+ const STRING * const s = $2;
+ if (STRING_IS_NULL(s))
n = 0;
else {
n = s->bufused;
@@ -244,6 +244,8 @@
=item B<substr>(inout STR, in INT, in INT, in STR)
+=item B<replace>(out STR, in STR, in INT, in INT, in STR)
+
=item B<substr>(out STR, invar PMC, in INT, in INT)
Set $1 to the portion of $2 starting at (zero-based) character position
@@ -269,25 +271,30 @@
inline op substr(out STR, in STR, in INT) :base_core {
const INTVAL len = Parrot_str_byte_length(interp, $2);
- $1 = Parrot_str_substr(interp, $2, $3, len, &$1, 0);
+ $1 = Parrot_str_substr(interp, $2, $3, len);
}
inline op substr(out STR, in STR, in INT, in INT) :base_core {
- $1 = Parrot_str_substr(interp, $2, $3, $4, &$1, 0);
+ $1 = Parrot_str_substr(interp, $2, $3, $4);
}
-inline op substr(out STR, inout STR, in INT, in INT, in STR) :base_core {
- $1 = Parrot_str_replace(interp, $2, $3, $4, $5, &$1);
+inline op substr(out STR, inout STR, in INT, in INT, in STR) :base_core :deprecated {
+ $1 = Parrot_str_substr(interp, $2, $3, $4);
+ $2 = Parrot_str_replace(interp, $2, $3, $4, $5);
}
-inline op substr(inout STR, in INT, in INT, in STR) :base_core {
- (void)Parrot_str_replace(interp, $1, $2, $3, $4, NULL);
+inline op substr(inout STR, in INT, in INT, in STR) :base_core :deprecated {
+ $1 = Parrot_str_replace(interp, $1, $2, $3, $4);
}
inline op substr(out STR, invar PMC, in INT, in INT) :base_core {
$1 = VTABLE_substr_str(interp, $2, $3, $4);
}
+inline op replace(out STR, in STR, in INT, in INT, in STR) :base_core {
+ $1 = Parrot_str_replace(interp, $2, $3, $4, $5);
+}
+
=item B<index>(out INT, in STR, in STR)
@@ -429,8 +436,8 @@
$1 = Parrot_str_upcase(interp, $2);
}
-inline op upcase(inout STR) :base_core {
- Parrot_str_upcase_inplace(interp, $1);
+inline op upcase(inout STR) :base_core :deprecated {
+ $1 = Parrot_str_upcase(interp, $1);
}
@@ -448,8 +455,8 @@
$1 = Parrot_str_downcase(interp, $2);
}
-inline op downcase(inout STR) :base_core {
- Parrot_str_downcase_inplace(interp, $1);
+inline op downcase(inout STR) :base_core :deprecated {
+ $1 = Parrot_str_downcase(interp, $1);
}
@@ -467,8 +474,8 @@
$1 = Parrot_str_titlecase(interp, $2);
}
-inline op titlecase(inout STR) :base_core {
- Parrot_str_titlecase_inplace(interp, $1);
+inline op titlecase(inout STR) :base_core :deprecated {
+ $1 = Parrot_str_titlecase(interp, $1);
}
@@ -529,8 +536,7 @@
}
op charsetname(out STR, in INT) :base_core {
- STRING * const name = Parrot_charset_name(interp, $2);
- $1 = name ? Parrot_str_copy(interp, name) : NULL;
+ $1 = Parrot_charset_name(interp, $2);
}
op find_charset(out INT, in STR) :base_core {
@@ -544,13 +550,12 @@
$1 = n;
}
-op trans_charset(inout STR, in INT) {
- $1 = Parrot_str_change_charset(interp, $1, $2, NULL);
+op trans_charset(inout STR, in INT) :deprecated {
+ $1 = Parrot_str_change_charset(interp, $1, $2);
}
op trans_charset(out STR, in STR, in INT) {
- STRING *dest = Parrot_gc_new_string_header(interp, 0);
- $1 = Parrot_str_change_charset(interp, $2, $3, dest);
+ $1 = Parrot_str_change_charset(interp, $2, $3);
}
@@ -585,8 +590,7 @@
}
op encodingname(out STR, in INT) :base_core {
- STRING * const name = Parrot_encoding_name(interp, $2);
- $1 = name ? Parrot_str_copy(interp, name) : NULL;
+ $1 = Parrot_encoding_name(interp, $2);
}
op find_encoding(out INT, in STR) :base_core {
@@ -600,13 +604,12 @@
$1 = n;
}
-op trans_encoding(inout STR, in INT) {
- $1 = Parrot_str_change_encoding(interp, $1, $2, NULL);
+op trans_encoding(inout STR, in INT) :deprecated {
+ $1 = Parrot_str_change_encoding(interp, $1, $2);
}
op trans_encoding(out STR, in STR, in INT) {
- STRING * const dest = Parrot_gc_new_string_header(interp, 0);
- $1 = Parrot_str_change_encoding(interp, $2, $3, dest);
+ $1 = Parrot_str_change_encoding(interp, $2, $3);
}
@@ -674,7 +677,7 @@
=head1 COPYRIGHT
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
=head1 LICENSE
Modified: branches/runcore_purge/src/packdump.c
==============================================================================
--- branches/runcore_purge/src/packdump.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/packdump.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -299,10 +299,10 @@
switch (sub->namespace_name->vtable->base_type) {
case enum_class_String:
namespace_description = Parrot_str_new(interp, "'", 1);
- namespace_description = Parrot_str_append(interp,
+ namespace_description = Parrot_str_concat(interp,
namespace_description,
VTABLE_get_string(interp, sub->namespace_name));
- namespace_description = Parrot_str_append(interp,
+ namespace_description = Parrot_str_concat(interp,
namespace_description,
Parrot_str_new(interp, "'", 1));
break;
Modified: branches/runcore_purge/src/packfile.c
==============================================================================
--- branches/runcore_purge/src/packfile.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/packfile.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1206,7 +1206,7 @@
/*
=item C<PackFile_Segment * PackFile_find_segment(PARROT_INTERP,
-PackFile_Directory *dir, STRING *name, int sub_dir)>
+PackFile_Directory *dir, const STRING *name, int sub_dir)>
Finds the segment with the name C<name> in the C<PackFile_Directory> if
C<sub_dir> is true, searches directories recursively. The returned segment is
@@ -1221,7 +1221,7 @@
PARROT_CAN_RETURN_NULL
PackFile_Segment *
PackFile_find_segment(PARROT_INTERP, ARGIN_NULLOK(PackFile_Directory *dir),
- ARGIN(STRING *name), int sub_dir)
+ ARGIN(const STRING *name), int sub_dir)
{
ASSERT_ARGS(PackFile_find_segment)
if (dir) {
@@ -2443,7 +2443,7 @@
self->size = 0;
self->data = NULL;
self->id = 0;
- self->name = Parrot_str_copy(interp, name);
+ self->name = name;
}
@@ -2625,11 +2625,6 @@
{
ASSERT_ARGS(pf_debug_destroy)
PackFile_Debug * const debug = (PackFile_Debug *) self;
- int i;
-
- /* Free each mapping. */
- for (i = 0; i < debug->num_mappings; i++)
- mem_gc_free(interp, debug->mappings[i]);
/* Free mappings pointer array. */
mem_gc_free(interp, debug->mappings);
@@ -2713,8 +2708,8 @@
/* Now store each mapping. */
for (i = 0; i < n; i++) {
/* Bytecode offset and filename. */
- *cursor++ = debug->mappings[i]->offset;
- *cursor++ = debug->mappings[i]->filename;
+ *cursor++ = debug->mappings[i].offset;
+ *cursor++ = debug->mappings[i].filename;
}
return cursor;
@@ -2754,20 +2749,18 @@
/* Allocate space for mappings vector. */
debug->mappings = mem_gc_allocate_n_zeroed_typed(interp,
- debug->num_mappings + 1, PackFile_DebugFilenameMapping *);
+ debug->num_mappings + 1, PackFile_DebugFilenameMapping);
/* Read in each mapping. */
for (i = 0; i < debug->num_mappings; i++) {
- /* Allocate struct and get offset and filename type. */
- debug->mappings[i] =
- mem_gc_allocate_zeroed_typed(interp, PackFile_DebugFilenameMapping);
- debug->mappings[i]->offset = PF_fetch_opcode(self->pf, &cursor);
- debug->mappings[i]->filename = PF_fetch_opcode(self->pf, &cursor);
+ /* Get offset and filename type. */
+ debug->mappings[i].offset = PF_fetch_opcode(self->pf, &cursor);
+ debug->mappings[i].filename = PF_fetch_opcode(self->pf, &cursor);
}
/* find seg e.g. CODE_DB => CODE and attach it */
str_len = Parrot_str_length(interp, debug->base.name);
- code_name = Parrot_str_substr(interp, debug->base.name, 0, str_len - 3, NULL, 1);
+ code_name = Parrot_str_substr(interp, debug->base.name, 0, str_len - 3);
code = (PackFile_ByteCode *)PackFile_find_segment(interp, self->dir, code_name, 0);
if (!code || code->base.type != PF_BYTEC_SEG) {
@@ -2807,9 +2800,9 @@
for (i = 0; i < debug->num_mappings; i++) {
Parrot_io_printf(interp, " #%d\n [\n", i);
Parrot_io_printf(interp, " OFFSET => %d,\n",
- debug->mappings[i]->offset);
+ debug->mappings[i].offset);
Parrot_io_printf(interp, " FILENAME => %Ss\n",
- PF_CONST(debug->code, debug->mappings[i]->filename)->u.string);
+ PF_CONST(debug->code, debug->mappings[i].filename)->u.string);
Parrot_io_printf(interp, " ],\n");
}
@@ -2892,7 +2885,7 @@
/* If the previous mapping has the same filename, don't record it. */
if (debug->num_mappings) {
- prev_filename_n = debug->mappings[debug->num_mappings-1]->filename;
+ prev_filename_n = debug->mappings[debug->num_mappings-1].filename;
filename_pstr = Parrot_str_new(interp, filename, 0);
if (ct->constants[prev_filename_n]->type == PFC_STRING &&
Parrot_str_equal(interp, filename_pstr,
@@ -2904,18 +2897,18 @@
/* Allocate space for the extra entry. */
debug->mappings = mem_gc_realloc_n_typed(interp,
debug->mappings, debug->num_mappings + 1,
- PackFile_DebugFilenameMapping *);
+ PackFile_DebugFilenameMapping);
/* Can it just go on the end? */
if (debug->num_mappings == 0
- || offset >= debug->mappings[debug->num_mappings - 1]->offset)
+ || offset >= debug->mappings[debug->num_mappings - 1].offset)
insert_pos = debug->num_mappings;
else {
/* Find the right place and shift stuff that's after it. */
int i;
for (i = 0; i < debug->num_mappings; i++) {
- if (debug->mappings[i]->offset > offset) {
+ if (debug->mappings[i].offset > offset) {
insert_pos = i;
memmove(debug->mappings + i + 1, debug->mappings + i,
debug->num_mappings - i);
@@ -2927,14 +2920,13 @@
/* Need to put filename in constants table. */
{
/* Set up new entry and insert it. */
- PackFile_DebugFilenameMapping *mapping =
- mem_gc_allocate_zeroed_typed(interp, PackFile_DebugFilenameMapping);
+ PackFile_DebugFilenameMapping *mapping = debug->mappings + insert_pos;
STRING *namestr = Parrot_str_new_init(interp, filename, strlen(filename),
PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET, 0);
size_t count = ct->const_count;
size_t i;
- mapping->offset = offset;
+ mapping->offset = offset;
/* Check if there is already a constant with this filename */
for (i= 0; i < count; ++i) {
@@ -2962,8 +2954,7 @@
}
/* Set the mapped value */
- mapping->filename = count;
- debug->mappings[insert_pos] = mapping;
+ mapping->filename = count;
debug->num_mappings = debug->num_mappings + 1;
}
}
@@ -2996,10 +2987,10 @@
/* If this is the last mapping or the current position is
between this mapping and the next one, return a filename. */
if (i + 1 == debug->num_mappings
- || (debug->mappings[i]->offset <= pc
- && debug->mappings[i + 1]->offset > pc))
+ || (debug->mappings[i].offset <= pc
+ && debug->mappings[i + 1].offset > pc))
return PF_CONST(debug->code,
- debug->mappings[i]->filename)->u.string;
+ debug->mappings[i].filename)->u.string;
}
/* Otherwise, no mappings == no filename. */
@@ -4304,7 +4295,7 @@
/* Need to associate this segment with the applicable code segment. */
str_len = Parrot_str_length(interp, self->base.name);
- code_name = Parrot_str_substr(interp, self->base.name, 0, str_len - 4, NULL, 1);
+ code_name = Parrot_str_substr(interp, self->base.name, 0, str_len - 4);
code = (PackFile_ByteCode *)PackFile_find_segment(interp,
self->base.dir, code_name, 0);
@@ -4739,10 +4730,10 @@
/* Full path to language library is "abc/abc.pbc". */
pbc = CONST_STRING(interp, "pbc");
- wo_ext = Parrot_str_concat(interp, lang_name, CONST_STRING(interp, "/"), 0);
- wo_ext = Parrot_str_append(interp, wo_ext, lang_name);
- file_str = Parrot_str_concat(interp, wo_ext, CONST_STRING(interp, "."), 0);
- file_str = Parrot_str_append(interp, file_str, pbc);
+ wo_ext = Parrot_str_concat(interp, lang_name, CONST_STRING(interp, "/"));
+ wo_ext = Parrot_str_concat(interp, wo_ext, lang_name);
+ file_str = Parrot_str_concat(interp, wo_ext, CONST_STRING(interp, "."));
+ file_str = Parrot_str_concat(interp, file_str, pbc);
/* Check if the language is already loaded */
is_loaded_hash = VTABLE_get_pmc_keyed_int(interp,
@@ -4767,13 +4758,13 @@
parrot_split_path_ext(interp, path, &found_path, &found_ext);
name_length = Parrot_str_length(interp, lang_name);
found_path = Parrot_str_substr(interp, found_path, 0,
- Parrot_str_length(interp, found_path)-name_length, NULL, 0);
+ Parrot_str_length(interp, found_path)-name_length);
- Parrot_lib_add_path(interp, Parrot_str_append(interp, found_path, CONST_STRING(interp, "include/")),
+ Parrot_lib_add_path(interp, Parrot_str_concat(interp, found_path, CONST_STRING(interp, "include/")),
PARROT_LIB_PATH_INCLUDE);
- Parrot_lib_add_path(interp, Parrot_str_append(interp, found_path, CONST_STRING(interp, "dynext/")),
+ Parrot_lib_add_path(interp, Parrot_str_concat(interp, found_path, CONST_STRING(interp, "dynext/")),
PARROT_LIB_PATH_DYNEXT);
- Parrot_lib_add_path(interp, Parrot_str_append(interp, found_path, CONST_STRING(interp, "library/")),
+ Parrot_lib_add_path(interp, Parrot_str_concat(interp, found_path, CONST_STRING(interp, "library/")),
PARROT_LIB_PATH_LIBRARY);
Modified: branches/runcore_purge/src/packfile/pf_items.c
==============================================================================
--- branches/runcore_purge/src/packfile/pf_items.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/packfile/pf_items.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1332,7 +1332,7 @@
TRACE_PRINTF(("size=%ld.\n", size));
s = string_make_from_charset(interp, (const char *)*cursor,
- size, charset_nr, flags);
+ size, charset_nr, flags | PObj_external_FLAG);
/* print only printable characters */
TRACE_PRINTF_VAL(("PF_fetch_string(): string is '%s' at 0x%x\n",
Modified: branches/runcore_purge/src/pbc_dump.c
==============================================================================
--- branches/runcore_purge/src/pbc_dump.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pbc_dump.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -111,7 +111,7 @@
static void
disas_dump(PARROT_INTERP, const PackFile_Segment *self)
{
- opcode_t *pc = self->data;
+ const opcode_t *pc = self->data;
Parrot_io_printf(interp, "%Ss => [ # %d ops at offs 0x%x\n",
self->name, (int)self->size, (int)self->file_offset + 4);
@@ -154,14 +154,14 @@
static void
nums_dump(PARROT_INTERP, const PackFile_Segment *self)
{
- STRING *debug_name = Parrot_str_concat(interp, self->name,
- Parrot_str_new_constant(interp, "_DB"), 0);
+ const STRING *debug_name = Parrot_str_concat(interp, self->name,
+ Parrot_str_new_constant(interp, "_DB"));
const PackFile_Segment *debug = PackFile_find_segment(interp,
self->dir, debug_name, 1);
- opcode_t *pc = self->data;
- opcode_t *debug_ops = debug->data;
- const op_info_t * const op_info = interp->op_info_table;
+ const opcode_t * pc = self->data;
+ const opcode_t * debug_ops = debug->data;
+ const op_info_t * const op_info = interp->op_info_table;
while (pc < self->data + self->size) {
/* n can't be const; the ADD_OP_VAR_PART macro increments it */
Modified: branches/runcore_purge/src/pbc_merge.c
==============================================================================
--- branches/runcore_purge/src/pbc_merge.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pbc_merge.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -566,8 +566,8 @@
PackFile_Debug *debug_seg;
opcode_t *lines = mem_gc_allocate_typed(interp,
opcode_t);
- PackFile_DebugFilenameMapping **mappings =
- mem_gc_allocate_typed(interp, PackFile_DebugFilenameMapping *);
+ PackFile_DebugFilenameMapping *mappings =
+ mem_gc_allocate_typed(interp, PackFile_DebugFilenameMapping);
opcode_t num_mappings = 0;
opcode_t num_lines = 0;
@@ -591,16 +591,14 @@
/* Concatenate mappings. */
mappings = mem_gc_realloc_n_typed(interp, mappings,
num_mappings + in_seg->num_mappings,
- PackFile_DebugFilenameMapping*);
+ PackFile_DebugFilenameMapping);
for (j = 0; j < in_seg->num_mappings; j++) {
- PackFile_DebugFilenameMapping * const mapping =
- mem_gc_allocate_typed(interp, PackFile_DebugFilenameMapping);
+ PackFile_DebugFilenameMapping *mapping = mappings + num_mappings + j;
- STRUCT_COPY(mapping, in_seg->mappings[j]);
+ STRUCT_COPY_FROM_STRUCT(mapping, in_seg->mappings[j]);
mapping->offset += num_lines;
mapping->filename += inputs[i]->const_start;
- mappings[num_mappings + j] = mapping;
}
num_lines += in_seg->base.size - 1;
Modified: branches/runcore_purge/src/pmc/bigint.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/bigint.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/bigint.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -1143,7 +1143,7 @@
VTABLE STRING *get_repr() {
STRING * const s = SELF.get_string();
- return Parrot_str_append(INTERP, s, CONST_STRING(INTERP, "L"));
+ return Parrot_str_concat(INTERP, s, CONST_STRING(INTERP, "L"));
}
/*
Modified: branches/runcore_purge/src/pmc/bignum.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/bignum.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/bignum.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -723,7 +723,6 @@
ASSERT_ARGS(bignum_get_string_size)
BIGNUM *bn;
- size_t n;
char *s;
mp_exp_t exponent;
@@ -1509,7 +1508,7 @@
VTABLE STRING *get_repr() {
STRING *s = SELF.get_string();
- return Parrot_str_append(INTERP, s, Parrot_str_new(interp, "N", 1));
+ return Parrot_str_concat(INTERP, s, Parrot_str_new(interp, "N", 1));
}
/*
@@ -1760,7 +1759,6 @@
*/
MULTI PMC *divide(BigNum value, PMC *dest) {
- BIGNUM *bn;
dest = Parrot_pmc_new(INTERP, VTABLE_type(INTERP, SELF));
bignum_div_bignum(INTERP, SELF, value, dest);
Modified: branches/runcore_purge/src/pmc/callcontext.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/callcontext.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/callcontext.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -675,16 +675,16 @@
for (i = 0; i < num_positionals; ++i) {
switch (c[i].type) {
case INTCELL:
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "I"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "I"));
break;
case FLOATCELL:
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "N"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "N"));
break;
case STRINGCELL:
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "S"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "S"));
break;
case PMCCELL:
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "P"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "P"));
break;
default:
PARROT_FAILURE("Impossible flag");
@@ -1425,7 +1425,7 @@
SET_ATTR_type_tuple(INTERP, dest, VTABLE_clone(INTERP, type_tuple));
if (short_sig)
- SET_ATTR_short_sig(INTERP, dest, Parrot_str_copy(INTERP, short_sig));
+ SET_ATTR_short_sig(INTERP, dest, short_sig);
if (!PMC_IS_NULL(arg_flags))
SET_ATTR_arg_flags(INTERP, dest, VTABLE_clone(INTERP, arg_flags));
Modified: branches/runcore_purge/src/pmc/class.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/class.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/class.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -203,7 +203,7 @@
STRING * const attrib_name = VTABLE_get_string_keyed_str(
interp, cur_attrib, name_str);
- STRING * const full_key = Parrot_str_append(interp, fq_class, attrib_name);
+ STRING * const full_key = Parrot_str_concat(interp, fq_class, attrib_name);
/* Insert into hash, along with index. */
VTABLE_set_integer_keyed_str(interp, attrib_index, full_key, cur_index);
@@ -668,7 +668,7 @@
*/
VTABLE STRING *get_string() {
- return Parrot_str_copy(interp, make_class_name(interp, SELF));
+ return make_class_name(interp, SELF);
}
/*
Modified: branches/runcore_purge/src/pmc/codestring.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/codestring.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/codestring.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -112,15 +112,13 @@
INTVAL pos = 0;
INTVAL replen = 0;
- fmt = Parrot_str_new_COW(INTERP, fmt);
-
while (pos >= 0) {
pos += replen;
pos = Parrot_str_find_index(INTERP, fmt, percent, pos);
if (pos < 0)
break;
- key = Parrot_str_substr(INTERP, fmt, pos+1, 1, &key, 0);
+ key = Parrot_str_substr(INTERP, fmt, pos+1, 1);
if (VTABLE_exists_keyed_str(INTERP, hash, key)) {
repl = VTABLE_get_string_keyed_str(INTERP, hash, key);
@@ -134,14 +132,13 @@
INTVAL I1;
repl = VTABLE_get_string_keyed_int(INTERP, args, 0);
- repl = Parrot_str_new_COW(INTERP, repl);
I1 = VTABLE_elements(INTERP, args);
I0 = 1;
while (I0 < I1) {
STRING * const S0 = VTABLE_get_string_keyed_int(INTERP, args, I0);
- repl = Parrot_str_append(INTERP, repl, comma_space);
- repl = Parrot_str_append(INTERP, repl, S0);
+ repl = Parrot_str_concat(INTERP, repl, comma_space);
+ repl = Parrot_str_concat(INTERP, repl, S0);
I0++;
}
}
@@ -154,16 +151,16 @@
continue;
}
- (void) Parrot_str_replace(INTERP, fmt, pos, 2, repl, NULL);
+ fmt = Parrot_str_replace(INTERP, fmt, pos, 2, repl);
replen = Parrot_str_byte_length(INTERP, repl);
}
/* Add a newline if necessary */
if ('\n' != Parrot_str_indexed(INTERP, fmt, Parrot_str_byte_length(INTERP, fmt) - 1))
- fmt = Parrot_str_concat(INTERP, fmt, newline, 0);
+ fmt = Parrot_str_concat(INTERP, fmt, newline);
GET_ATTR_str_val(INTERP, SELF, S1);
- S1 = Parrot_str_concat(INTERP, S1, fmt, 0);
+ S1 = Parrot_str_concat(INTERP, S1, fmt);
VTABLE_set_string_native(INTERP, SELF, S1);
RETURN(PMC *SELF);
@@ -258,8 +255,7 @@
RETURN(STRING *counter_as_string);
}
else {
- STRING *result = Parrot_str_copy(INTERP, format);
- result = Parrot_str_concat(INTERP, result, counter_as_string, 1);
+ STRING *result = Parrot_str_concat(INTERP, format, counter_as_string);
RETURN(STRING *result);
}
}
@@ -284,8 +280,8 @@
INTVAL is_unicode = 0;
UNUSED(SELF);
- escaped_str = Parrot_str_concat(INTERP, quote, escaped_str, 1);
- escaped_str = Parrot_str_concat(INTERP, escaped_str, quote, 1);
+ escaped_str = Parrot_str_concat(INTERP, quote, escaped_str);
+ escaped_str = Parrot_str_concat(INTERP, escaped_str, quote);
x_pos = Parrot_str_find_index(INTERP, escaped_str, x, 0);
if (x_pos != -1) {
@@ -300,7 +296,7 @@
if (is_unicode) {
STRING * const unicode = CONST_STRING(INTERP, "unicode:");
- escaped_str = Parrot_str_concat(INTERP, unicode, escaped_str, 1);
+ escaped_str = Parrot_str_concat(INTERP, unicode, escaped_str);
}
RETURN(STRING *escaped_str);
@@ -367,8 +363,8 @@
STRING *S0 = VTABLE_get_string_keyed_int(INTERP, P0, index2);
(STRING *S0) = PCCINVOKE(INTERP, SELF, "escape", STRING *S0);
if (prefix)
- out = Parrot_str_append(INTERP, out, prefix);
- out = Parrot_str_append(INTERP, out, S0);
+ out = Parrot_str_concat(INTERP, out, prefix);
+ out = Parrot_str_concat(INTERP, out, S0);
prefix = semi;
}
}
@@ -376,14 +372,14 @@
STRING *S0 = VTABLE_get_string_keyed_int(INTERP, args, index);
(STRING *S0) = PCCINVOKE(INTERP, SELF, "escape", STRING *S0);
if (prefix)
- out = Parrot_str_append(INTERP, out, prefix);
- out = Parrot_str_append(INTERP, out, S0);
+ out = Parrot_str_concat(INTERP, out, prefix);
+ out = Parrot_str_concat(INTERP, out, S0);
prefix = semi;
}
}
}
- out = Parrot_str_append(INTERP, out, close_bracket);
+ out = Parrot_str_concat(INTERP, out, close_bracket);
RETURN(STRING *out);
}
Modified: branches/runcore_purge/src/pmc/continuation.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/continuation.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/continuation.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -78,15 +78,6 @@
SET_ATTR_address(INTERP, SELF, NULL);
PObj_custom_mark_SET(SELF);
-
- /* PANIC("don't do that"); */
- /*
- * Whenever we create a continuation, all return continuations
- * up the call chain may be reused due to invoking the
- * continuation. To avoid that all return continuations are
- * converted to true continuations.
- */
- invalidate_retc_context(INTERP, SELF);
}
/*if they pass in a PMC to initialize with*/
@@ -109,15 +100,6 @@
SET_ATTR_address(INTERP, SELF, address);
PObj_custom_mark_SET(SELF);
-
- /* PANIC("don't do that"); */
- /*
- * Whenever we create a continuation, all return continuations
- * up the call chain may be reused due to invoking the
- * continuation. To avoid that all return continuations are
- * converted to true continuations.
- */
- invalidate_retc_context(INTERP, SELF);
}
Modified: branches/runcore_purge/src/pmc/coroutine.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/coroutine.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/coroutine.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -120,9 +120,6 @@
(Parrot_Coroutine_attributes *)PMC_data(SELF),
sizeof (Parrot_Coroutine_attributes));
- GET_ATTR_name(INTERP, ret, name);
- SET_ATTR_name(INTERP, ret, Parrot_str_copy(INTERP, name));
-
return ret;
}
@@ -172,8 +169,10 @@
PMC *ctx = Parrot_pcc_get_signature(INTERP, caller_ctx);
PMC *ccont = INTERP->current_cont;
- if (ccont == NEED_CONTINUATION)
- ccont = (PMC *)new_ret_continuation_pmc(INTERP, next_op);
+ if (ccont == NEED_CONTINUATION) {
+ ccont = pmc_new(interp, enum_class_Continuation);
+ VTABLE_set_pointer(interp, ccont, next_op);
+ }
if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL)
Parrot_ex_throw_from_c_args(INTERP, NULL, CONTROL_ERROR,
Modified: branches/runcore_purge/src/pmc/eventhandler.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/eventhandler.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/eventhandler.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -167,9 +167,9 @@
Parrot_EventHandler_attributes * const e = PARROT_EVENTHANDLER(SELF);
if (e)
- return Parrot_str_copy(INTERP, e->type);
+ return e->type;
- return string_from_literal(INTERP, "");
+ return CONST_STRING(INTERP, "");
}
/*
Modified: branches/runcore_purge/src/pmc/filehandle.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/filehandle.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/filehandle.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -253,10 +253,10 @@
"Cannot reopen already open filehandle");
if (got_mode && !STRING_IS_NULL(mode))
- SET_ATTR_mode(INTERP, SELF, Parrot_str_copy(INTERP, mode));
+ SET_ATTR_mode(INTERP, SELF, mode);
if (got_filename && !STRING_IS_NULL(filename))
- SET_ATTR_filename(INTERP, SELF, Parrot_str_copy(INTERP, filename));
+ SET_ATTR_filename(INTERP, SELF, filename);
/* Open the file. With no options, reopen the same file as before */
GET_ATTR_filename(INTERP, SELF, open_filename);
@@ -475,7 +475,7 @@
do {
STRING * const part = Parrot_io_reads(INTERP, SELF, 0);
- result = Parrot_str_append(INTERP, result, part);
+ result = Parrot_str_concat(INTERP, result, part);
if (Parrot_io_eof(INTERP, SELF))
break;
@@ -618,12 +618,9 @@
*/
METHOD mode() {
- STRING *mode, *mode_copy;
-
+ STRING *mode;
GET_ATTR_mode(INTERP, SELF, mode);
- mode_copy = Parrot_str_copy(INTERP, mode);
-
- RETURN(STRING *mode_copy);
+ RETURN(STRING *mode);
}
@@ -640,20 +637,14 @@
METHOD encoding(STRING *new_encoding :optional, INTVAL got_encoding :opt_flag) {
STRING *encoding;
- STRING *encoding_copy = NULL;
if (got_encoding) {
- if (!STRING_IS_NULL(new_encoding))
- encoding_copy = Parrot_str_copy(INTERP, new_encoding);
- SET_ATTR_encoding(INTERP, SELF, encoding_copy);
+ SET_ATTR_encoding(INTERP, SELF, new_encoding);
RETURN(STRING *new_encoding);
}
GET_ATTR_encoding(INTERP, SELF, encoding);
- if (!STRING_IS_NULL(encoding))
- encoding_copy = Parrot_str_copy(INTERP, encoding);
-
- RETURN(STRING *encoding_copy);
+ RETURN(STRING *encoding);
}
Modified: branches/runcore_purge/src/pmc/fixedbooleanarray.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/fixedbooleanarray.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/fixedbooleanarray.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -283,9 +283,9 @@
for (i = 0; i < elems; i++) {
if (SELF.get_integer_keyed_int((INTVAL)i))
- str = Parrot_str_concat(INTERP, str, one, 0);
+ str = Parrot_str_concat(INTERP, str, one);
else
- str = Parrot_str_concat(INTERP, str, zero, 0);
+ str = Parrot_str_concat(INTERP, str, zero);
}
return str;
Modified: branches/runcore_purge/src/pmc/fixedintegerarray.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/fixedintegerarray.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/fixedintegerarray.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -279,13 +279,13 @@
for (j = 0; j < n; ++j) {
PMC * const val = SELF.get_pmc_keyed_int(j);
- res = Parrot_str_append(INTERP, res, VTABLE_get_repr(INTERP, val));
+ res = Parrot_str_concat(INTERP, res, VTABLE_get_repr(INTERP, val));
if (j < n - 1)
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ", "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ", "));
}
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, " ]"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, " ]"));
return res;
}
Modified: branches/runcore_purge/src/pmc/fixedpmcarray.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/fixedpmcarray.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/fixedpmcarray.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -222,12 +222,12 @@
for (i = 0; i < n; ++i) {
PMC * const val = SELF.get_pmc_keyed_int(i);
if (i > 0)
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ", "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ", "));
- res = Parrot_str_append(INTERP, res, VTABLE_get_repr(INTERP, val));
+ res = Parrot_str_concat(INTERP, res, VTABLE_get_repr(INTERP, val));
}
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ")"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ")"));
return res;
}
Modified: branches/runcore_purge/src/pmc/fixedstringarray.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/fixedstringarray.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/fixedstringarray.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -538,15 +538,15 @@
for (j = 0; j < n; ++j) {
STRING * const val = SELF.get_string_keyed_int(j);
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "\""));
- res = Parrot_str_append(INTERP, res, val);
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "\""));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "\""));
+ res = Parrot_str_concat(INTERP, res, val);
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "\""));
if (j < n - 1)
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ", "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ", "));
}
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, " ]"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, " ]"));
return res;
}
Modified: branches/runcore_purge/src/pmc/hash.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/hash.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/hash.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -61,6 +61,10 @@
Initializes the instance.
+=item C<void init_int(INTVAL value_type)>
+
+Initializes the instance with the value_type provided.
+
=item C<void destroy()>
Free hash structure.
@@ -78,6 +82,19 @@
PObj_custom_mark_destroy_SETALL(SELF);
}
+ VTABLE void init_int(INTVAL value_type) {
+ Parrot_Hash_attributes * const attr =
+ (Parrot_Hash_attributes *) PMC_data(SELF);
+
+ attr->hash = parrot_create_hash(INTERP,
+ (PARROT_DATA_TYPE)value_type,
+ Hash_key_type_STRING,
+ STRING_compare,
+ (hash_hash_key_fn)key_hash_STRING);
+ attr->hash->container = SELF;
+ PObj_custom_mark_destroy_SETALL(SELF);
+ }
+
VTABLE void destroy() {
Hash * const hash = (Hash *)SELF.get_pointer();
if (hash)
@@ -236,18 +253,15 @@
if (old_hash && old_hash->entry_type == type)
return;
- if (!old_hash)
- old_hash = parrot_new_hash(INTERP);
-
switch (type) {
case enum_type_INTVAL:
case enum_type_STRING:
case enum_type_PMC:
new_hash = parrot_create_hash(interp,
(PARROT_DATA_TYPE)type,
- old_hash->key_type,
- old_hash->compare,
- old_hash->hash_val);
+ old_hash ? old_hash->key_type : Hash_key_type_STRING,
+ old_hash ? old_hash->compare : STRING_compare,
+ old_hash ? old_hash->hash_val : (hash_hash_key_fn)key_hash_STRING);
break;
default:
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
@@ -257,7 +271,8 @@
PARROT_HASH(SELF)->hash = new_hash;
new_hash->container = SELF;
- parrot_hash_destroy(INTERP, old_hash);
+ if (old_hash)
+ parrot_hash_destroy(INTERP, old_hash);
}
METHOD get_value_type() {
@@ -342,23 +357,23 @@
Parrot_str_free_cstring(key_str);
if (all_digit) {
- res = Parrot_str_append(INTERP, res, key);
+ res = Parrot_str_concat(INTERP, res, key);
}
else {
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "'"));
- res = Parrot_str_append(INTERP, res, key);
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "'"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "'"));
+ res = Parrot_str_concat(INTERP, res, key);
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "'"));
}
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ": "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ": "));
val = SELF.get_pmc_keyed_str(key);
- res = Parrot_str_append(INTERP, res, VTABLE_get_string(INTERP, val));
+ res = Parrot_str_concat(INTERP, res, VTABLE_get_string(INTERP, val));
if (j < n - 1)
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ", "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ", "));
}
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, "}"));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, "}"));
return res;
}
Modified: branches/runcore_purge/src/pmc/key.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/key.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/key.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -74,8 +74,7 @@
break;
case KEY_string_FLAG:
case KEY_string_FLAG | KEY_register_FLAG:
- key_set_string(INTERP, dkey,
- Parrot_str_copy(INTERP, VTABLE_get_string(INTERP, key)));
+ key_set_string(INTERP, dkey, VTABLE_get_string(INTERP, key));
break;
case KEY_pmc_FLAG:
case KEY_pmc_FLAG | KEY_register_FLAG:
Modified: branches/runcore_purge/src/pmc/lexinfo.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/lexinfo.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/lexinfo.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -64,7 +64,7 @@
PARROT_ASSERT(PObj_constant_TEST(SELF));
/* Set value type to INTVAL */
- Parrot_pcc_invoke_method_from_c_args(interp, SELF, CONST_STRING(INTERP, "set_value_type"), "I->", (INTVAL)enum_type_INTVAL);
+ SELF.init_int((INTVAL)enum_type_INTVAL);
PObj_custom_mark_destroy_SETALL(SELF);
}
Modified: branches/runcore_purge/src/pmc/namespace.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/namespace.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/namespace.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -166,7 +166,7 @@
if (Parrot_str_equal(interp, sub->method_name, CONST_STRING(interp, ""))) {
if (sub->vtable_index != -1 && !STRING_IS_NULL(vtable_key)) {
- method_name = Parrot_str_copy(interp, vtable_key);
+ method_name = vtable_key;
}
}
else {
Modified: branches/runcore_purge/src/pmc/object.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/object.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/object.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -119,7 +119,7 @@
/* Build a string representing the fully qualified attribute name. */
STRING *fq_name = VTABLE_get_string(interp, cur_class);
- fq_name = Parrot_str_append(interp, fq_name, name);
+ fq_name = Parrot_str_concat(interp, fq_name, name);
/* Look up. */
if (VTABLE_exists_keyed_str(interp, _class->attrib_index, fq_name)) {
@@ -160,7 +160,7 @@
/* Build a string representing the fully qualified attribute name. */
parent_class = Parrot_oo_get_class(interp, key);
fq_name = VTABLE_get_string(interp, parent_class);
- fq_name = Parrot_str_append(interp, fq_name, name);
+ fq_name = Parrot_str_concat(interp, fq_name, name);
/* Look up. */
if (VTABLE_exists_keyed_str(interp, _class->attrib_index, fq_name)) {
Modified: branches/runcore_purge/src/pmc/packfileannotations.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/packfileannotations.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/packfileannotations.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -267,7 +267,6 @@
PackFile_Annotations *res = mem_gc_allocate_zeroed_typed(INTERP,
PackFile_Annotations);
INTVAL i, num;
- INTVAL key_type;
PMC *keys; /* Temporary representation of Keys */
PMC *names; /* Constants for Key's names */
PMC *types; /* Types of Keys */
@@ -304,8 +303,9 @@
res->num_entries = num;
res->entries = mem_gc_allocate_n_typed(INTERP, num, PackFile_Annotations_Entry*);
for (i = 0; i < num; ++i) {
- PMC *entity = VTABLE_get_pmc_keyed_int(interp, attrs->annotations, i);
- Parrot_PackfileAnnotation_attributes *entity_attrs = PARROT_PACKFILEANNOTATION(entity);
+ PMC * const entity = VTABLE_get_pmc_keyed_int(interp, attrs->annotations, i);
+ const Parrot_PackfileAnnotation_attributes * const entity_attrs =
+ PARROT_PACKFILEANNOTATION(entity);
/* Handle creating of Key */
PMC * key_array = VTABLE_get_pmc_keyed_str(interp, keys, entity_attrs->name);
Modified: branches/runcore_purge/src/pmc/packfiledirectory.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/packfiledirectory.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/packfiledirectory.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -148,7 +148,7 @@
PackFile_Segment * const pfseg = (PackFile_Segment *)VTABLE_get_pointer(interp, seg);
pfseg->pf = pf;
- pfseg->name = Parrot_str_copy(interp, name);
+ pfseg->name = name;
PackFile_add_segment(interp, pfdir, pfseg);
}
Modified: branches/runcore_purge/src/pmc/packfilefixupentry.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/packfilefixupentry.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/packfilefixupentry.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -58,7 +58,7 @@
*/
VTABLE void mark() {
- Parrot_PackfileFixupEntry_attributes * attrs =
+ Parrot_PackfileFixupEntry_attributes * const attrs =
PARROT_PACKFILEFIXUPENTRY(SELF);
Parrot_gc_mark_STRING_alive(interp, attrs->name);
@@ -75,7 +75,7 @@
*/
VTABLE void set_pointer(void * pointer) {
- Parrot_PackfileFixupEntry_attributes * attrs =
+ Parrot_PackfileFixupEntry_attributes * const attrs =
PARROT_PACKFILEFIXUPENTRY(SELF);
PackFile_FixupEntry *entry = (PackFile_FixupEntry*)pointer;
@@ -96,9 +96,9 @@
*/
VTABLE void *get_pointer() {
- Parrot_PackfileFixupEntry_attributes * attrs =
+ Parrot_PackfileFixupEntry_attributes * const attrs =
PARROT_PACKFILEFIXUPENTRY(SELF);
- PackFile_FixupEntry * entry =
+ PackFile_FixupEntry * const entry =
mem_gc_allocate_zeroed_typed(INTERP, PackFile_FixupEntry);
entry->type = attrs->type;
@@ -173,7 +173,7 @@
*/
METHOD get_type() {
- INTVAL rv = PARROT_PACKFILEFIXUPENTRY(SELF)->type;
+ const INTVAL rv = PARROT_PACKFILEFIXUPENTRY(SELF)->type;
RETURN(INTVAL rv);
}
Modified: branches/runcore_purge/src/pmc/parrotinterpreter.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/parrotinterpreter.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/parrotinterpreter.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -145,7 +145,7 @@
Parrot_Class_attributes * const source_class = PARROT_CLASS(source);
Parrot_Class_attributes * const dest_class = PARROT_CLASS(dest);
- dest_class->name = Parrot_str_copy(d, source_class->name);
+ dest_class->name = source_class->name;
dest_class->_namespace = VTABLE_clone(d, source_class->_namespace);
}
}
Modified: branches/runcore_purge/src/pmc/pmcproxy.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/pmcproxy.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/pmcproxy.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -486,9 +486,7 @@
VTABLE STRING *get_string() {
Parrot_Class_attributes * const proxy_info = PARROT_CLASS(SELF);
-
- /* Copy the stored string name of the proxy. */
- return Parrot_str_copy(interp, proxy_info->name);
+ return proxy_info->name;
}
Modified: branches/runcore_purge/src/pmc/resizablepmcarray.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/resizablepmcarray.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/resizablepmcarray.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -391,9 +391,14 @@
}
VTABLE void push_pmc(PMC *value) {
+ const INTVAL size = PMC_size(SELF);
+ const INTVAL thresh = PMC_threshold(SELF);
- const INTVAL size = PMC_size(SELF);
- SELF.set_integer_native(size + 1);
+ if (PMC_array(SELF) && size < thresh)
+ PMC_size(SELF) = size + 1;
+ else {
+ SELF.set_integer_native(size + 1);
+ }
((PMC **)PMC_array(SELF))[size] = value;
return;
@@ -655,13 +660,13 @@
for (j = 0; j < n; ++j) {
PMC * const val = SELF.get_pmc_keyed_int(j);
- res = Parrot_str_append(INTERP, res, VTABLE_get_repr(INTERP, val));
+ res = Parrot_str_concat(INTERP, res, VTABLE_get_repr(INTERP, val));
if (j < n - 1)
- res = Parrot_str_append(INTERP, res, CONST_STRING(INTERP, ", "));
+ res = Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, ", "));
}
- return Parrot_str_append(INTERP, res, CONST_STRING(INTERP, " ]"));
+ return Parrot_str_concat(INTERP, res, CONST_STRING(INTERP, " ]"));
}
/*
Deleted: branches/runcore_purge/src/pmc/retcontinuation.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/retcontinuation.pmc Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,118 +0,0 @@
-/*
-Copyright (C) 2001-2008, Parrot Foundation.
-$Id$
-
-=head1 NAME
-
-src/pmc/retcontinuation.pmc - Return Continuation
-
-=head1 DESCRIPTION
-
-C<RetContinuation> extends C<Continuation>.
-
-A return continuation is a one shot Continuation. It gets recycled immediately
-after invocation.
-
-=head2 Methods
-
-=over 4
-
-=cut
-
-*/
-
-#include "parrot/oplib/ops.h"
-
-/* HEADERIZER HFILE: none */
-/* HEADERIZER BEGIN: static */
-/* HEADERIZER END: static */
-
-pmclass RetContinuation extends Continuation auto_attrs {
-
-/*
-
-=item C<void init()>
-
-Initializes the continuation.
-
-=cut
-
-*/
-
- VTABLE void init() {
- Parrot_RetContinuation_attributes * const attrs = PARROT_RETCONTINUATION(SELF);
-
- attrs->to_ctx = CURRENT_CONTEXT(interp);
- attrs->from_ctx = PMCNULL; /* filled in during a call */
- attrs->runloop_id = 0;
- attrs->seg = interp->code;
- attrs->address = NULL;
- }
-
-
-/*
-
-=item C<PMC *clone>
-
-Return a new Continuation PMC with the context of SELF. Note: the returned
-object is not a RetContinuation and creating a real Continuation invalidates
-all RetContinuation all the way up the call chain. That is, these can't be
-recycled; they persist until the GC gets at them.
-
-=cut
-
-*/
- VTABLE PMC *clone() {
- invalidate_retc_context(INTERP, SELF);
- return SUPER();
- }
-/*
-
-=item C<opcode_t *invoke(void *next)>
-
-Transfers control to the calling context and frees the current context.
-
-=cut
-
-*/
-
- VTABLE opcode_t *invoke(void *in_next) {
- Parrot_Continuation_attributes *data = PARROT_CONTINUATION(SELF);
- PMC *from_ctx = data->from_ctx;
- PackFile_ByteCode * const seg = data->seg;
- opcode_t *next = data->address;
- UNUSED(in_next)
-
- Parrot_continuation_check(interp, SELF);
- Parrot_continuation_rewind_environment(interp, SELF);
-
- /* recycle this PMC and make sure it doesn't get marked */
- if (!PMC_IS_NULL(from_ctx))
- Parrot_pcc_set_continuation(interp, from_ctx, NULL);
-
- if (INTERP->code != seg)
- Parrot_switch_to_cs(INTERP, seg, 1);
-
- return next;
- }
-}
-
-
-/*
-
-=back
-
-=head1 HISTORY
-
-Initial revision by sean 2002/08/04.
-
-=cut
-
-*/
-
-/*
- * Local variables:
- * c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */
Modified: branches/runcore_purge/src/pmc/role.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/role.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/role.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -515,7 +515,7 @@
}
/* Otherwise, copy the stored string name of the class. */
- return Parrot_str_copy(interp, role->name);
+ return role->name;
}
/*
Modified: branches/runcore_purge/src/pmc/scalar.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/scalar.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/scalar.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -632,7 +632,7 @@
VTABLE PMC *concatenate(PMC *value, PMC *dest) {
STRING * const s = Parrot_str_concat(INTERP, SELF.get_string(),
- VTABLE_get_string(INTERP, value), 0);
+ VTABLE_get_string(INTERP, value));
dest = Parrot_pmc_new(INTERP, VTABLE_type(INTERP, SELF));
@@ -642,7 +642,7 @@
VTABLE PMC *concatenate_str(STRING *value, PMC *dest) {
STRING * const s = Parrot_str_concat(INTERP,
- SELF.get_string(), value, 0);
+ SELF.get_string(), value);
dest = Parrot_pmc_new(INTERP, VTABLE_type(INTERP, SELF));
@@ -653,12 +653,12 @@
VTABLE void i_concatenate(PMC *value) {
STRING * const s = SELF.get_string();
STRING * const v = VTABLE_get_string(INTERP, value);
- SELF.set_string_native(Parrot_str_append(INTERP, s, v));
+ SELF.set_string_native(Parrot_str_concat(INTERP, s, v));
}
VTABLE void i_concatenate_str(STRING *value) {
STRING * const s = SELF.get_string();
- SELF.set_string_native(Parrot_str_append(INTERP, s, value));
+ SELF.set_string_native(Parrot_str_concat(INTERP, s, value));
}
/*
@@ -924,7 +924,7 @@
VTABLE STRING *substr_str(INTVAL offset, INTVAL length) {
return Parrot_str_substr(INTERP, VTABLE_get_string(INTERP, SELF),
- offset, length, NULL, 0);
+ offset, length);
}
/*
Modified: branches/runcore_purge/src/pmc/schedulermessage.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/schedulermessage.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/schedulermessage.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -114,7 +114,10 @@
*/
VTABLE INTVAL get_integer() {
- Parrot_SchedulerMessage_attributes * core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ const Parrot_SchedulerMessage_attributes * const
+ core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ UNUSED(interp);
+
return core_struct->id;
}
@@ -129,7 +132,8 @@
*/
VTABLE void set_integer_native(INTVAL value) {
- Parrot_SchedulerMessage_attributes * core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ Parrot_SchedulerMessage_attributes * const core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ UNUSED(interp);
core_struct->id = value;
}
@@ -145,7 +149,9 @@
*/
STRING * get_string() {
- Parrot_SchedulerMessage_attributes * core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ const Parrot_SchedulerMessage_attributes * const core_struct =
+ PARROT_SCHEDULERMESSAGE(SELF);
+ UNUSED(interp);
return core_struct->type;
}
@@ -160,7 +166,8 @@
*/
VTABLE void set_string_native(STRING *value) {
- Parrot_SchedulerMessage_attributes * core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ Parrot_SchedulerMessage_attributes * const core_struct = PARROT_SCHEDULERMESSAGE(SELF);
+ UNUSED(interp);
core_struct->type = value;
}
Modified: branches/runcore_purge/src/pmc/string.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/string.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/string.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -125,8 +125,7 @@
VTABLE STRING *get_string() {
STRING *str_val;
GET_ATTR_str_val(INTERP, SELF, str_val);
-
- return STRING_IS_NULL(str_val) ? STRINGNULL : Parrot_str_copy(INTERP, str_val);
+ return str_val;
}
/*
@@ -217,12 +216,7 @@
*/
VTABLE void assign_string_native(STRING *value) {
- if (!STRING_IS_NULL(value)) {
- SET_ATTR_str_val(INTERP, SELF,
- Parrot_str_set(INTERP, SELF.get_string(), value));
- }
- else
- SET_ATTR_str_val(INTERP, SELF, NULL);
+ SET_ATTR_str_val(INTERP, SELF, value);
}
/*
@@ -375,7 +369,7 @@
VTABLE void substr(INTVAL offset, INTVAL length, PMC *dest) {
STRING *str_val, *s2;
GET_ATTR_str_val(INTERP, SELF, str_val);
- s2 = Parrot_str_substr(INTERP, str_val, offset, length, NULL, 0);
+ s2 = Parrot_str_substr(INTERP, str_val, offset, length);
VTABLE_set_string_native(INTERP, dest, s2);
}
@@ -392,7 +386,7 @@
VTABLE STRING *substr_str(INTVAL offset, INTVAL length) {
STRING *str_val;
GET_ATTR_str_val(INTERP, SELF, str_val);
- return Parrot_str_substr(INTERP, str_val, offset, length, NULL, 0);
+ return Parrot_str_substr(INTERP, str_val, offset, length);
}
/*
@@ -447,7 +441,7 @@
VTABLE STRING *get_string_keyed_int(INTVAL pos) {
STRING *str_val;
GET_ATTR_str_val(INTERP, SELF, str_val);
- return Parrot_str_substr(INTERP, str_val, pos, 1, NULL, 0);
+ return Parrot_str_substr(INTERP, str_val, pos, 1);
}
VTABLE INTVAL get_integer_keyed(PMC *key) {
@@ -478,7 +472,8 @@
STRING *str_val;
const INTVAL len = Parrot_str_byte_length(INTERP, value);
GET_ATTR_str_val(INTERP, SELF, str_val);
- Parrot_str_replace(INTERP, str_val, pos, len, value, NULL);
+ str_val = Parrot_str_replace(INTERP, str_val, pos, len, value);
+ SET_ATTR_str_val(INTERP, SELF, str_val);
}
VTABLE void set_integer_keyed(PMC *key, INTVAL value) {
@@ -489,7 +484,8 @@
STRING *str_val;
STRING * const c = string_chr(INTERP, (UINTVAL) value);
GET_ATTR_str_val(INTERP, SELF, str_val);
- Parrot_str_replace(INTERP, str_val, pos, 1, c, NULL);
+ str_val = Parrot_str_replace(INTERP, str_val, pos, 1, c);
+ SET_ATTR_str_val(INTERP, SELF, str_val);
}
VTABLE void set_pmc_keyed(PMC *key, PMC *value) {
@@ -512,11 +508,11 @@
METHOD replace(STRING *orig, STRING *_new) {
const INTVAL old_len = Parrot_str_byte_length(INTERP, orig);
const INTVAL new_len = Parrot_str_byte_length(INTERP, _new);
- STRING * const s = VTABLE_get_string(INTERP, SELF);
+ STRING * s = VTABLE_get_string(INTERP, SELF);
INTVAL i = 0;
while (-1 != (i = Parrot_str_find_index(INTERP, s, orig, i))) {
- (void)Parrot_str_replace(INTERP, s, i, old_len, _new, NULL);
+ s = Parrot_str_replace(INTERP, s, i, old_len, _new);
i += new_len;
}
Modified: branches/runcore_purge/src/pmc/stringhandle.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/stringhandle.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/stringhandle.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -110,11 +110,11 @@
Parrot_StringHandle_attributes * const data_struct = PARROT_STRINGHANDLE(copy);
if (old_struct->stringhandle != NULL)
- data_struct->stringhandle = Parrot_str_copy(INTERP, old_struct->stringhandle);
+ data_struct->stringhandle = old_struct->stringhandle;
if (old_struct->mode != NULL)
- data_struct->mode = Parrot_str_copy(INTERP, old_struct->mode);
+ data_struct->mode = old_struct->mode;
if (old_struct->encoding != NULL)
- data_struct->encoding = Parrot_str_copy(INTERP, old_struct->encoding);
+ data_struct->encoding = old_struct->encoding;
data_struct->flags = old_struct->flags;
return copy;
@@ -182,10 +182,10 @@
INTVAL flags;
if (got_mode && !STRING_IS_NULL(mode))
- SET_ATTR_mode(INTERP, SELF, Parrot_str_copy(INTERP, mode));
+ SET_ATTR_mode(INTERP, SELF, mode);
if (got_filename && !STRING_IS_NULL(filename))
- SET_ATTR_filename(INTERP, SELF, Parrot_str_copy(INTERP, filename));
+ SET_ATTR_filename(INTERP, SELF, filename);
/* If StringHandle hasn't already been initialized, create a new string. */
@@ -317,8 +317,6 @@
else
string_result = Parrot_str_new_constant(INTERP, "");
}
- else
- string_result = Parrot_str_copy(INTERP, string_result);
RETURN(STRING *string_result);
}
@@ -378,7 +376,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_PIO_ERROR,
"Cannot write to a filehandle not opened for write");
- new_string = Parrot_str_append(interp, old_string, to_print);
+ new_string = Parrot_str_concat(interp, old_string, to_print);
SET_ATTR_stringhandle(INTERP, SELF, new_string);
@@ -464,13 +462,9 @@
*/
METHOD mode() {
- STRING *mode, *mode_copy;
-
+ STRING *mode;
GET_ATTR_mode(INTERP, SELF, mode);
- mode_copy = Parrot_str_copy(INTERP, mode);
-
- RETURN(STRING *mode_copy);
-
+ RETURN(STRING *mode);
}
/*
@@ -486,21 +480,14 @@
METHOD encoding(STRING *new_encoding :optional, INTVAL got_encoding :opt_flag) {
STRING *encoding;
- STRING *encoding_copy = NULL;
if (got_encoding) {
- if (!STRING_IS_NULL(new_encoding))
- encoding_copy = Parrot_str_copy(INTERP, new_encoding);
- SET_ATTR_encoding(INTERP, SELF, encoding_copy);
+ SET_ATTR_encoding(INTERP, SELF, new_encoding);
RETURN(STRING *new_encoding);
}
GET_ATTR_encoding(INTERP, SELF, encoding);
- if (!STRING_IS_NULL(encoding))
- encoding_copy = Parrot_str_copy(INTERP, encoding);
-
- RETURN(STRING *encoding_copy);
-
+ RETURN(STRING *encoding);
}
/*
Modified: branches/runcore_purge/src/pmc/sub.pmc
==============================================================================
--- branches/runcore_purge/src/pmc/sub.pmc Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/pmc/sub.pmc Sat Apr 24 00:51:33 2010 (r45948)
@@ -252,20 +252,14 @@
*/
VTABLE STRING *get_string() {
- Parrot_Sub_attributes *sub;
- PMC_get_sub(INTERP, SELF, sub);
-
- if (sub->name)
- return Parrot_str_copy(INTERP, sub->name);
-
- return NULL;
+ STRING *name;
+ GET_ATTR_name(INTERP, SELF, name);
+ return name;
}
VTABLE void set_string_native(STRING *subname) {
- Parrot_Sub_attributes *sub;
- PMC_get_sub(INTERP, SELF, sub);
- sub->name = Parrot_str_copy(INTERP, subname);
+ SET_ATTR_name(INTERP, SELF, subname);
}
@@ -398,8 +392,10 @@
pc = sub->seg->base.data + sub->start_offs;
INTERP->current_cont = NULL;
- if (ccont == NEED_CONTINUATION)
- ccont = new_ret_continuation_pmc(interp, (opcode_t *)next);
+ if (ccont == NEED_CONTINUATION) {
+ ccont = pmc_new(interp, enum_class_Continuation);
+ VTABLE_set_pointer(interp, ccont, next);
+ }
PARROT_ASSERT(!PMC_IS_NULL(ccont));
@@ -427,12 +423,9 @@
PARROT_CONTINUATION(ccont)->from_ctx = context;
/* if this is an outer sub, then we need to set sub->ctx
- * to the new context (refcounted) and convert the
- * retcontinuation to a normal continuation. */
+ * to the new context (refcounted) */
if (PObj_get_FLAGS(SELF) & SUB_FLAG_IS_OUTER) {
sub->ctx = context;
- /* convert retcontinuation to a continuation */
- ccont->vtable = interp->vtables[enum_class_Continuation];
}
/* create pad if needed
@@ -528,9 +521,6 @@
/* first set the sub struct, Parrot_str_copy may cause GC */
*sub = *dest_sub;
- if (sub->name)
- sub->name = Parrot_str_copy(INTERP, sub->name);
-
/* Be sure not to share arg_info. */
dest_sub->arg_info = NULL;
@@ -563,10 +553,6 @@
/* copy the sub struct */
memmove(my_sub, other_sub, sizeof (Parrot_Sub_attributes));
-
- /* copy the name so it's a different string in memory */
- if (my_sub->name)
- my_sub->name = Parrot_str_copy(INTERP, my_sub->name);
}
else
Parrot_ex_throw_from_c_args(INTERP, NULL,
Modified: branches/runcore_purge/src/runcore/profiling.c
==============================================================================
--- branches/runcore_purge/src/runcore/profiling.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/runcore/profiling.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -387,12 +387,12 @@
i++;
i++; /* the root namespace has an empty name, so ignore it */
for (;i < MAX_NS_DEPTH; i++) {
- full_ns = Parrot_str_concat(interp, full_ns, ns_names[i], 0);
- full_ns = Parrot_str_concat(interp, full_ns, ns_separator, 0);
+ full_ns = Parrot_str_concat(interp, full_ns, ns_names[i]);
+ full_ns = Parrot_str_concat(interp, full_ns, ns_separator);
}
GETATTR_Sub_name(interp, preop_ctx->current_sub, sub_name);
- full_ns = Parrot_str_concat(interp, full_ns, sub_name, 0);
+ full_ns = Parrot_str_concat(interp, full_ns, sub_name);
full_ns_cstr = Parrot_str_to_cstring(interp, full_ns);
pprof_data[PPROF_DATA_NAMESPACE] = (PPROF_DATA) full_ns_cstr;
Modified: branches/runcore_purge/src/spf_render.c
==============================================================================
--- branches/runcore_purge/src/spf_render.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/spf_render.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -69,16 +69,15 @@
PARROT_CANNOT_RETURN_NULL
static STRING * handle_flags(PARROT_INTERP,
ARGIN(const SpfInfo *info),
- ARGMOD(STRING *str),
+ ARGIN(STRING *str),
INTVAL is_int_type,
ARGIN_NULLOK(STRING* prefix))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*str);
+ __attribute__nonnull__(3);
PARROT_CANNOT_RETURN_NULL
-static STRING* str_append_w_flags(PARROT_INTERP,
+static STRING* str_concat_w_flags(PARROT_INTERP,
ARGOUT(STRING *dest),
ARGIN(const SpfInfo *info),
ARGMOD(STRING *src),
@@ -97,7 +96,7 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(info) \
, PARROT_ASSERT_ARG(str))
-#define ASSERT_ARGS_str_append_w_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+#define ASSERT_ARGS_str_concat_w_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(dest) \
, PARROT_ASSERT_ARG(info) \
@@ -127,7 +126,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-handle_flags(PARROT_INTERP, ARGIN(const SpfInfo *info), ARGMOD(STRING *str),
+handle_flags(PARROT_INTERP, ARGIN(const SpfInfo *info), ARGIN(STRING *str),
INTVAL is_int_type, ARGIN_NULLOK(STRING* prefix))
{
ASSERT_ARGS(handle_flags)
@@ -137,26 +136,26 @@
if (info->flags & FLAG_PREC && info->prec == 0 &&
len == 1 &&
string_ord(interp, str, 0) == '0') {
- Parrot_str_chopn_inplace(interp, str, len);
+ str = Parrot_str_chopn(interp, str, len);
len = 0;
}
/* +, space */
if (!len || string_ord(interp, str, 0) != '-') {
if (info->flags & FLAG_PLUS) {
STRING * const cs = CONST_STRING(interp, "+");
- str = Parrot_str_concat(interp, cs, str, 0);
+ str = Parrot_str_concat(interp, cs, str);
len++;
}
else if (info->flags & FLAG_SPACE) {
STRING * const cs = CONST_STRING(interp, " ");
- str = Parrot_str_concat(interp, cs, str, 0);
+ str = Parrot_str_concat(interp, cs, str);
len++;
}
}
/* # 0x ... */
if ((info->flags & FLAG_SHARP) && prefix) {
- str = Parrot_str_concat(interp, prefix, str, 0);
+ str = Parrot_str_concat(interp, prefix, str);
len += Parrot_str_byte_length(interp, prefix);
}
/* XXX sharp + fill ??? */
@@ -178,11 +177,11 @@
else {
/* string precision */
if (info->flags & FLAG_PREC && info->prec == 0) {
- Parrot_str_chopn_inplace(interp, str, len);
+ str = Parrot_str_chopn(interp, str, len);
len = 0;
}
else if (info->flags & FLAG_PREC && info->prec < len) {
- Parrot_str_chopn_inplace(interp, str, -(INTVAL)(info->prec));
+ str = Parrot_str_chopn(interp, str, -(INTVAL)(info->prec));
len = info->prec;
}
}
@@ -195,7 +194,7 @@
STRING * const fill = Parrot_str_repeat(interp, filler, info->width - len);
if (info->flags & FLAG_MINUS) { /* left-align */
- str = Parrot_str_concat(interp, str, fill, 0);
+ str = Parrot_str_concat(interp, str, fill);
}
else { /* right-align */
/* signed and zero padded */
@@ -204,14 +203,13 @@
string_ord(interp, str, 0) == '+')) {
STRING *temp = NULL;
STRING *ignored;
- ignored = Parrot_str_substr(interp, str, 1, len-1, &temp, 0);
- UNUSED(ignored);
- Parrot_str_chopn_inplace(interp, str, -1);
- str = Parrot_str_append(interp, str, fill);
- str = Parrot_str_append(interp, str, temp);
+ temp = Parrot_str_substr(interp, str, 1, len-1);
+ str = Parrot_str_chopn(interp, str, -1);
+ str = Parrot_str_concat(interp, str, fill);
+ str = Parrot_str_concat(interp, str, temp);
}
else {
- str = Parrot_str_concat(interp, fill, str, 0);
+ str = Parrot_str_concat(interp, fill, str);
}
}
}
@@ -220,7 +218,7 @@
/*
-=item C<static STRING* str_append_w_flags(PARROT_INTERP, STRING *dest, const
+=item C<static STRING* str_concat_w_flags(PARROT_INTERP, STRING *dest, const
SpfInfo *info, STRING *src, STRING *prefix)>
Used by Parrot_sprintf_format. Prepends supplied prefix for numeric
@@ -234,12 +232,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-str_append_w_flags(PARROT_INTERP, ARGOUT(STRING *dest), ARGIN(const SpfInfo *info),
+str_concat_w_flags(PARROT_INTERP, ARGOUT(STRING *dest), ARGIN(const SpfInfo *info),
ARGMOD(STRING *src), ARGIN_NULLOK(STRING *prefix))
{
- ASSERT_ARGS(str_append_w_flags)
+ ASSERT_ARGS(str_concat_w_flags)
src = handle_flags(interp, info, src, 1, prefix);
- dest = Parrot_str_append(interp, dest, src);
+ dest = Parrot_str_concat(interp, dest, src);
return dest;
}
@@ -346,11 +344,9 @@
for (i = 0; i < pat_len; i++) {
if (string_ord(interp, pat, i) == '%') { /* % */
if (len) {
- STRING *ignored
- = Parrot_str_substr(interp, pat, old, len, &substr, 1);
- UNUSED(ignored);
+ substr = Parrot_str_substr(interp, pat, old, len);
/* XXX This shouldn't modify targ the pointer */
- targ = Parrot_str_append(interp, targ, substr);
+ targ = Parrot_str_concat(interp, targ, substr);
}
len = 0;
old = i;
@@ -604,7 +600,7 @@
{
STRING * const ts = string_chr(interp,
(UINTVAL)obj->getint(interp, info.type, obj));
- targ = str_append_w_flags(interp, targ, &info, ts, NULL);
+ targ = str_concat_w_flags(interp, targ, &info, ts, NULL);
}
break;
@@ -618,7 +614,7 @@
/* unsigned conversion - no plus */
info.flags &= ~FLAG_PLUS;
- targ = str_append_w_flags(interp, targ,
+ targ = str_concat_w_flags(interp, targ,
&info, ts, prefix);
}
break;
@@ -633,7 +629,7 @@
/* unsigned conversion - no plus */
info.flags &= ~FLAG_PLUS;
- targ = str_append_w_flags(interp, targ,
+ targ = str_concat_w_flags(interp, targ,
&info, ts, prefix);
}
break;
@@ -643,13 +639,13 @@
STRING * const prefix = CONST_STRING(interp, "0X");
const UHUGEINTVAL theuint =
obj->getuint(interp, info.type, obj);
- STRING * const ts =
+ STRING * ts =
Parrot_str_from_uint(interp, tc, theuint, 16, 0);
- Parrot_str_upcase_inplace(interp, ts);
+ ts = Parrot_str_upcase(interp, ts);
/* unsigned conversion - no plus */
info.flags &= ~FLAG_PLUS;
- targ = str_append_w_flags(interp, targ,
+ targ = str_concat_w_flags(interp, targ,
&info, ts, prefix);
}
break;
@@ -664,7 +660,7 @@
/* unsigned conversion - no plus */
info.flags &= ~FLAG_PLUS;
- targ = str_append_w_flags(interp, targ,
+ targ = str_concat_w_flags(interp, targ,
&info, ts, prefix);
}
break;
@@ -679,7 +675,7 @@
/* unsigned conversion - no plus */
info.flags &= ~FLAG_PLUS;
- targ = str_append_w_flags(interp, targ,
+ targ = str_concat_w_flags(interp, targ,
&info, ts, prefix);
}
break;
@@ -718,7 +714,7 @@
#endif
Parrot_str_free_cstring(tempstr);
}
- targ = Parrot_str_append(interp, targ, cstr2pstr(tc));
+ targ = Parrot_str_concat(interp, targ, cstr2pstr(tc));
}
break;
@@ -730,7 +726,7 @@
STRING * const ts = Parrot_str_from_uint(interp, tc,
(UHUGEINTVAL) (size_t) ptr, 16, 0);
- targ = str_append_w_flags(interp, targ, &info,
+ targ = str_concat_w_flags(interp, targ, &info,
ts, prefix);
}
break;
@@ -818,7 +814,7 @@
}
#endif /* WIN32 */
- targ = Parrot_str_append(interp, targ, cstr2pstr(tc));
+ targ = Parrot_str_concat(interp, targ, cstr2pstr(tc));
}
break;
@@ -838,7 +834,7 @@
string, 0, NULL);
obj->index++;
- targ = Parrot_str_append(interp, targ, ts);
+ targ = Parrot_str_concat(interp, targ, ts);
break;
}
@@ -851,7 +847,7 @@
if (!STRING_IS_NULL(string)) {
STRING * const ts = handle_flags(interp,
&info, string, 0, NULL);
- targ = Parrot_str_append(interp, targ, ts);
+ targ = Parrot_str_concat(interp, targ, ts);
}
}
break;
@@ -894,9 +890,8 @@
}
}
if (len) {
- STRING *ignored = Parrot_str_substr(interp, pat, old, len, &substr, 1);
- UNUSED(ignored);
- targ = Parrot_str_append(interp, targ, substr);
+ substr = Parrot_str_substr(interp, pat, old, len);
+ targ = Parrot_str_concat(interp, targ, substr);
}
return targ;
Modified: branches/runcore_purge/src/spf_vtable.c
==============================================================================
--- branches/runcore_purge/src/spf_vtable.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/spf_vtable.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -453,7 +453,7 @@
obj->index++;
s = VTABLE_get_string(interp, tmp);
/* XXX Parrot_str_copy like below? + adjusting bufused */
- return Parrot_str_substr(interp, s, 0, 1, NULL, 0);
+ return Parrot_str_substr(interp, s, 0, 1);
}
/*
Modified: branches/runcore_purge/src/string/api.c
==============================================================================
--- branches/runcore_purge/src/string/api.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/api.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -33,7 +33,7 @@
#endif
#define nonnull_encoding_name(s) (s) ? (s)->encoding->name : "null string"
-#define saneify_string(s) \
+#define ASSERT_STRING_SANITY(s) \
PARROT_ASSERT((s)->encoding); \
PARROT_ASSERT((s)->charset); \
PARROT_ASSERT(!PObj_on_free_list_TEST(s))
@@ -43,16 +43,8 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void make_writable(PARROT_INTERP,
- ARGMOD(STRING **s),
- const size_t len,
- parrot_string_representation_t representation)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
-
PARROT_INLINE
-PARROT_WARN_UNUSED_RESULT
+PARROT_IGNORABLE_RESULT
PARROT_CAN_RETURN_NULL
static const CHARSET * string_rep_compatible(SHIM_INTERP,
ARGIN(const STRING *a),
@@ -63,9 +55,6 @@
__attribute__nonnull__(4)
FUNC_MODIFIES(*e);
-#define ASSERT_ARGS_make_writable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_string_rep_compatible __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(a) \
, PARROT_ASSERT_ARG(b) \
@@ -114,162 +103,6 @@
return STRING_IS_NULL(s);
}
-
-/*
-
-=item C<void Parrot_str_write_COW(PARROT_INTERP, STRING *s)>
-
-If the specified Parrot string is copy-on-write then the memory is
-copied over and the copy-on-write flag is cleared.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-void
-Parrot_str_write_COW(PARROT_INTERP, ARGMOD(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_write_COW)
-
- /* COW_FLAG | constant_FLAG | external_FLAG) */
- if (PObj_is_cowed_TESTALL(s)) {
- /* Create new pool data for this header to use,
- * independent of the original COW data */
- PObj_constant_CLEAR(s);
-
- /* constant may have been marked */
- PObj_live_CLEAR(s);
-
- if (Buffer_buflen(s)) {
- STRING for_alloc;
- size_t alloc_size;
-
- PObj_flags_CLEARALL(&for_alloc);
- alloc_size = s->bufused;
- Parrot_gc_allocate_string_storage(interp, &for_alloc, alloc_size);
-
- /* now copy memory over */
- mem_sys_memcopy(for_alloc.strstart, s->strstart, alloc_size);
-
- /* and finally use that string memory */
-
- Buffer_bufstart(s) = Buffer_bufstart(&for_alloc);
- s->strstart = for_alloc.strstart;
- Buffer_buflen(s) = Buffer_buflen(&for_alloc);
- PARROT_ASSERT(Buffer_buflen(s) >= alloc_size);
- }
-
- /* COW_FLAG | external_FLAG */
- PObj_is_external_CLEARALL(s);
- }
-
- s->hashval = 0;
-}
-
-/*
-
-=item C<STRING * Parrot_str_new_COW(PARROT_INTERP, STRING *s)>
-
-Creates a copy-on-write string, cloning a string header without
-allocating a new buffer.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-PARROT_WARN_UNUSED_RESULT
-STRING *
-Parrot_str_new_COW(PARROT_INTERP, ARGMOD(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_new_COW)
- STRING *d;
-
- if (PObj_constant_TEST(s)) {
- d = Parrot_gc_new_string_header(interp,
- PObj_get_FLAGS(s) & ~PObj_constant_FLAG);
- PObj_COW_SET(s);
- STRUCT_COPY(d, s);
- /* we can't move the memory, because constants aren't
- * scanned in compact_pool, therefore the other end
- * would point to garbage.
- */
- PObj_constant_CLEAR(d);
- PObj_external_SET(d);
- }
- else {
- d = Parrot_gc_new_string_header(interp, PObj_get_FLAGS(s));
- PObj_COW_SET(s);
- STRUCT_COPY(d, s);
- PObj_sysmem_CLEAR(d);
- }
- return d;
-}
-
-/*
-
-=item C<STRING * Parrot_str_reuse_COW(PARROT_INTERP, STRING *s, STRING *d)>
-
-Creates a copy-on-write string by cloning a string header without
-allocating a new buffer. Doesn't allocate a new string header, instead
-using the one passed in and returns it.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING *
-Parrot_str_reuse_COW(SHIM_INTERP, ARGMOD(STRING *s), ARGOUT(STRING *d))
-{
- ASSERT_ARGS(Parrot_str_reuse_COW)
-
- if (PObj_constant_TEST(s)) {
- PObj_COW_SET(s);
- STRUCT_COPY(d, s);
- PObj_constant_CLEAR(d);
- PObj_external_SET(d);
- }
- else {
- PObj_COW_SET(s);
- STRUCT_COPY(d, s);
- PObj_sysmem_CLEAR(d);
- }
- return d;
-}
-
-/*
-
-=item C<STRING * Parrot_str_set(PARROT_INTERP, STRING *dest, STRING *src)>
-
-Makes the contents of first Parrot string a copy of the contents of
-second.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING *
-Parrot_str_set(PARROT_INTERP, ARGIN_NULLOK(STRING *dest), ARGMOD(STRING *src))
-{
- ASSERT_ARGS(Parrot_str_set)
- if (dest == src)
- return dest;
- if (!STRING_IS_NULL(dest)) { /* && dest != src */
- /* they are different, dest is not an external string */
- dest = Parrot_str_reuse_COW(interp, src, dest);
- }
- else
- dest = Parrot_str_new_COW(interp, src);
- return dest;
-}
-
-
/*
=back
@@ -298,15 +131,16 @@
const size_t n_parrot_cstrings =
sizeof (parrot_cstrings) / sizeof (parrot_cstrings[0]);
- if (interp->parent_interpreter) {
+ if (interp->parent_interpreter)
interp->hash_seed = interp->parent_interpreter->hash_seed;
- }
+
/* interp is initialized from zeroed memory, so this is fine */
else if (interp->hash_seed == 0) {
/* TT #64 - use an entropy source once available */
Parrot_srand(Parrot_intval_time());
interp->hash_seed = Parrot_uint_rand(0);
}
+
/* initialize the constant string table */
if (interp->parent_interpreter) {
interp->const_cstring_table =
@@ -345,6 +179,7 @@
}
}
+
/*
=item C<void Parrot_str_finish(PARROT_INTERP)>
@@ -360,6 +195,7 @@
Parrot_str_finish(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_str_finish)
+
/* all are shared between interpreters */
if (!interp->parent_interpreter) {
mem_internal_free(interp->const_cstring_table);
@@ -369,28 +205,6 @@
}
}
-/*
-
-=item C<UINTVAL string_capacity(PARROT_INTERP, const STRING *s)>
-
-Returns the capacity of the specified Parrot string in bytes, that
-is how many bytes can be appended onto strstart.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
-UINTVAL
-string_capacity(SHIM_INTERP, ARGIN(const STRING *s))
-{
- ASSERT_ARGS(string_capacity)
-
- return ((ptrcast_t)Buffer_bufstart(s) + Buffer_buflen(s) -
- (ptrcast_t)s->strstart);
-}
/*
@@ -426,6 +240,7 @@
return s;
}
+
/*
=item C<static const CHARSET * string_rep_compatible(PARROT_INTERP, const STRING
@@ -436,20 +251,21 @@
ascii <op> utf8 => utf8
=> ascii, B<if> C<STRING *b> has ascii chars only.
-Returs NULL, if no compatible string representation can be found.
+Returns NULL, if no compatible string representation can be found.
=cut
*/
PARROT_INLINE
-PARROT_WARN_UNUSED_RESULT
+PARROT_IGNORABLE_RESULT
PARROT_CAN_RETURN_NULL
static const CHARSET *
string_rep_compatible(SHIM_INTERP,
ARGIN(const STRING *a), ARGIN(const STRING *b), ARGOUT(const ENCODING **e))
{
ASSERT_ARGS(string_rep_compatible)
+
if (a->encoding == b->encoding && a->charset == b->charset) {
*e = a->encoding;
return a->charset;
@@ -457,7 +273,7 @@
/* a table could possibly simplify the logic */
if (a->encoding == Parrot_utf8_encoding_ptr
- && b->charset == Parrot_ascii_charset_ptr) {
+ && b->charset == Parrot_ascii_charset_ptr) {
if (a->strlen == a->bufused) {
*e = Parrot_fixed_8_encoding_ptr;
return b->charset;
@@ -467,7 +283,7 @@
}
if (b->encoding == Parrot_utf8_encoding_ptr
- && a->charset == Parrot_ascii_charset_ptr) {
+ && a->charset == Parrot_ascii_charset_ptr) {
if (b->strlen == b->bufused) {
*e = Parrot_fixed_8_encoding_ptr;
return a->charset;
@@ -501,14 +317,47 @@
/*
-=item C<STRING * Parrot_str_concat(PARROT_INTERP, STRING *a, STRING *b, UINTVAL
-Uflags)>
+=item C<STRING* Parrot_str_clone(PARROT_INTERP, const STRING *s)>
-Concatenates two Parrot strings. If necessary, converts the second
-string's encoding and/or type to match those of the first string. If
-either string is C<NULL>, then a copy of the non-C<NULL> string is
-returned. If both strings are C<NULL>, then a new zero-length string is
-created and returned.
+Helper function to clone string.
+
+=cut
+
+*/
+
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+STRING*
+Parrot_str_clone(PARROT_INTERP, ARGIN(const STRING *s))
+{
+ ASSERT_ARGS(Parrot_str_clone)
+
+ const size_t alloc_size = s->bufused;
+ STRING * const result = Parrot_gc_new_string_header(interp, 0);
+
+ /* Copy encoding/charset/etc */
+ STRUCT_COPY(result, s);
+
+ /* Clear COW flag. We own buffer */
+ PObj_get_FLAGS(result) = PObj_is_string_FLAG
+ | PObj_is_COWable_FLAG
+ | PObj_live_FLAG;
+
+ /* Allocate new chunk of memory */
+ Parrot_gc_allocate_string_storage(interp, result, alloc_size);
+
+ /* and copy it over */
+ mem_sys_memcopy(result->strstart, s->strstart, alloc_size);
+
+ return result;
+}
+
+
+/*
+
+=item C<STRING * Parrot_str_copy(PARROT_INTERP, STRING *s)>
+
+Creates and returns a shallow copy of the specified Parrot string.
=cut
@@ -516,52 +365,63 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
STRING *
-Parrot_str_concat(PARROT_INTERP, ARGIN_NULLOK(STRING *a),
- ARGIN_NULLOK(STRING *b), UINTVAL Uflags)
+Parrot_str_copy(PARROT_INTERP, ARGMOD(STRING *s))
{
- ASSERT_ARGS(Parrot_str_concat)
- if (a && a->strlen) {
- if (b && b->strlen) {
- /* don't make a copy; get the size right from the start */
- STRING *result = Parrot_str_new_init(interp, NULL,
- a->strlen + b->strlen, a->encoding, a->charset, Uflags);
- result = Parrot_str_append(interp, result, a);
- return Parrot_str_append(interp, result, b);
- }
+ ASSERT_ARGS(Parrot_str_copy)
+ STRING *d;
- return Parrot_str_copy(interp, a);
+ /* We set COW flag to avoid cloning buffer in compact_pool */
+
+ if (PObj_constant_TEST(s)) {
+ d = Parrot_gc_new_string_header(interp,
+ PObj_get_FLAGS(s) & ~PObj_constant_FLAG);
+ PObj_COW_SET(s);
+ STRUCT_COPY(d, s);
+ /* we can't move the memory, because constants aren't
+ * scanned in compact_pool, therefore the other end
+ * would point to garbage.
+ */
+ PObj_constant_CLEAR(d);
+ PObj_external_SET(d);
+ }
+ else {
+ d = Parrot_gc_new_string_header(interp, PObj_get_FLAGS(s));
+ PObj_COW_SET(s);
+ STRUCT_COPY(d, s);
+ PObj_sysmem_CLEAR(d);
}
- return b
- ? Parrot_str_copy(interp, b)
- : string_make(interp, NULL, 0, NULL, Uflags);
+ return d;
}
/*
-=item C<STRING * Parrot_str_append(PARROT_INTERP, STRING *a, STRING *b)>
+=item C<STRING * Parrot_str_concat(PARROT_INTERP, STRING *a, STRING *b)>
-Take in two Parrot strings and append the second to the first. NOTE THAT
-RETURN VALUE MAY NOT BE THE FIRST STRING, if the first string is COW'd or
-read-only. So make sure to _use_ the return value.
+Concatenates two Parrot strings. If necessary, converts the second
+string's encoding and/or type to match those of the first string. If
+either string is C<NULL>, then a copy of the non-C<NULL> string is
+returned. If both strings are C<NULL>, then a new zero-length string is
+created and returned.
=cut
*/
PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
STRING *
-Parrot_str_append(PARROT_INTERP, ARGMOD_NULLOK(STRING *a), ARGIN_NULLOK(STRING *b))
+Parrot_str_concat(PARROT_INTERP, ARGIN_NULLOK(STRING *a),
+ ARGIN_NULLOK(STRING *b))
{
- ASSERT_ARGS(Parrot_str_append)
- UINTVAL a_capacity;
- UINTVAL total_length;
- const CHARSET *cs;
- const ENCODING *enc;
+ ASSERT_ARGS(Parrot_str_concat)
+ const CHARSET *cs;
+ const ENCODING *enc;
+ STRING *dest;
+ UINTVAL total_length;
/* XXX should this be a CHARSET method? */
@@ -572,15 +432,10 @@
/* Is A real? */
if (STRING_IS_NULL(a) || Buffer_bufstart(a) == NULL)
- return Parrot_str_copy(interp, b);
+ return b;
- saneify_string(a);
- saneify_string(b);
-
- /* If the destination's constant, or external then just fall back to
- Parrot_str_concat */
- if (PObj_is_cowed_TESTALL(a))
- return Parrot_str_concat(interp, a, b, 0);
+ ASSERT_STRING_SANITY(a);
+ ASSERT_STRING_SANITY(b);
cs = string_rep_compatible(interp, a, b, &enc);
@@ -594,46 +449,45 @@
|| b->encoding == Parrot_utf16_encoding_ptr
|| a->encoding == Parrot_ucs2_encoding_ptr
|| b->encoding == Parrot_ucs2_encoding_ptr)
- ? Parrot_utf16_encoding_ptr
- : Parrot_utf8_encoding_ptr;
+ ? Parrot_utf16_encoding_ptr
+ : Parrot_utf8_encoding_ptr;
- Parrot_unicode_charset_ptr->to_charset(interp, a, NULL);
- b = Parrot_unicode_charset_ptr->to_charset(interp, b,
- Parrot_gc_new_string_header(interp, 0));
+ a = Parrot_unicode_charset_ptr->to_charset(interp, a);
+ b = Parrot_unicode_charset_ptr->to_charset(interp, b);
if (a->encoding != enc)
- enc->to_encoding(interp, a, NULL);
+ a = enc->to_encoding(interp, a);
if (b->encoding != enc)
- enc->to_encoding(interp, b, NULL);
+ b = enc->to_encoding(interp, b);
}
/* calc usable and total bytes */
- a_capacity = string_capacity(interp, a);
total_length = a->bufused + b->bufused;
- /* make sure A's big enough for both */
- if (total_length > a_capacity)
- Parrot_gc_reallocate_string_storage(interp, a, total_length << 1);
+ dest = Parrot_str_new_noinit(interp, enum_stringrep_one, total_length);
+ dest->encoding = a->encoding;
+ dest->charset = a->charset;
- /* A is now ready to receive the contents of B */
+ /* Copy A first */
+ mem_sys_memcopy(dest->strstart, a->strstart, a->bufused);
/* Tack B on the end of A */
- mem_sys_memcopy((void *)((ptrcast_t)a->strstart + a->bufused),
+ mem_sys_memcopy((void *)((ptrcast_t)dest->strstart + a->bufused),
b->strstart, b->bufused);
- a->bufused += b->bufused;
- a->strlen += b_len;
- a->hashval = 0;
+ dest->bufused = a->bufused + b->bufused;
+ dest->strlen = a->strlen + b_len;
- return a;
+ return dest;
}
+
/*
=item C<STRING * Parrot_str_new(PARROT_INTERP, const char * const buffer, const
UINTVAL len)>
-Make a Parrot string from a specified C string.
+Makes a Parrot string from a specified C string.
=cut
@@ -647,11 +501,15 @@
Parrot_str_new(PARROT_INTERP, ARGIN_NULLOK(const char * const buffer), const UINTVAL len)
{
ASSERT_ARGS(Parrot_str_new)
- return Parrot_str_new_init(interp, buffer, len ? len :
- buffer ? strlen(buffer) : 0,
- PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET,
- 0); /* Force an 8-bit encoding at some
- point? */
+ /* Force an 8-bit encoding at some point? */
+ if (len)
+ return Parrot_str_new_init(interp, buffer, len,
+ PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET, 0);
+ else {
+ const UINTVAL buff_length = buffer ? strlen(buffer) : 0;
+ return Parrot_str_new_init(interp, buffer, buff_length,
+ PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET, 0);
+ }
}
@@ -660,9 +518,10 @@
=item C<STRING * Parrot_str_new_from_buffer(PARROT_INTERP, Buffer *buffer, const
UINTVAL len)>
-Make a Parrot string from a Buffer.
+Makes a Parrot string from a Buffer.
-The Buffer is nulled afterwards - only one PObj can point at a given string pool object.
+The Buffer is nulled afterwards, as only one PObj can point at a given string
+pool object.
=cut
@@ -676,23 +535,23 @@
Parrot_str_new_from_buffer(PARROT_INTERP, ARGMOD(Buffer *buffer), const UINTVAL len)
{
ASSERT_ARGS(Parrot_str_new_from_buffer)
- STRING *result;
- result = Parrot_gc_new_string_header(interp, 0);
+ STRING * const result = Parrot_gc_new_string_header(interp, 0);
Buffer_bufstart(result) = Buffer_bufstart(buffer);
Buffer_buflen(result) = Buffer_buflen(buffer);
- result->strstart = (char *) Buffer_bufstart(result);
+ result->strstart = (char *)Buffer_bufstart(result);
result->bufused = len;
result->strlen = len;
result->encoding = Parrot_fixed_8_encoding_ptr;
result->charset = Parrot_binary_charset_ptr;
- Buffer_bufstart(buffer) = NULL;
Buffer_buflen(buffer) = 0;
+ Buffer_bufstart(buffer) = NULL;
return result;
}
+
/*
=item C<const char* string_primary_encoding_for_representation(PARROT_INTERP,
@@ -723,6 +582,7 @@
"invalid string representation");
}
+
/*
=item C<STRING * Parrot_str_new_constant(PARROT_INTERP, const char *buffer)>
@@ -741,10 +601,9 @@
{
ASSERT_ARGS(Parrot_str_new_constant)
DECL_CONST_CAST;
- STRING *s;
Hash * const cstring_cache = (Hash *)interp->const_cstring_hash;
-
- s = (STRING *)parrot_hash_get(interp, cstring_cache, buffer);
+ STRING *s = (STRING *)parrot_hash_get(interp,
+ cstring_cache, buffer);
if (s)
return s;
@@ -899,7 +758,7 @@
if (encoding == Parrot_fixed_8_encoding_ptr)
s->strlen = len;
else
- (void)Parrot_str_length(interp, s);
+ s->strlen = CHARSET_CODEPOINTS(interp, s);
return s;
}
@@ -912,7 +771,7 @@
if (encoding == Parrot_fixed_8_encoding_ptr)
s->strlen = len;
else
- (void)Parrot_str_length(interp, s);
+ s->strlen = CHARSET_CODEPOINTS(interp, s);
}
else {
s->strlen = s->bufused = 0;
@@ -924,31 +783,6 @@
/*
-=item C<STRING * Parrot_str_resize(PARROT_INTERP, STRING *s, UINTVAL addlen)>
-
-Grows the Parrot string's buffer by the specified number of characters.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-STRING *
-Parrot_str_resize(PARROT_INTERP, ARGMOD(STRING *s), UINTVAL addlen)
-{
- ASSERT_ARGS(Parrot_str_resize)
- Parrot_str_write_COW(interp, s);
-
- /* Don't check buflen, if we are here, we already checked. */
- Parrot_gc_reallocate_string_storage(interp,
- s, Buffer_buflen(s) + string_max_bytes(interp, s, addlen));
- return s;
-}
-
-
-/*
-
=back
=head2 Ordinary user-visible string operations
@@ -970,7 +804,7 @@
{
ASSERT_ARGS(Parrot_str_byte_length)
- return !STRING_IS_NULL(s) ? s->strlen : 0;
+ return STRING_IS_NULL(s) ? 0 : s->strlen;
}
@@ -995,7 +829,7 @@
Parrot_str_indexed(PARROT_INTERP, ARGIN(const STRING *s), UINTVAL idx)
{
ASSERT_ARGS(Parrot_str_indexed)
- saneify_string(s);
+ ASSERT_STRING_SANITY(s);
return (INTVAL)CHARSET_GET_CODEPOINT(interp, s, idx);
}
@@ -1020,9 +854,7 @@
ARGIN(const STRING *s2), INTVAL start)
{
ASSERT_ARGS(Parrot_str_find_index)
- STRING *src, *search;
UINTVAL len;
- DECL_CONST_CAST;
if (start < 0)
return -1;
@@ -1037,11 +869,13 @@
if (!Parrot_str_byte_length(interp, s2))
return -1;
+ else {
+ DECL_CONST_CAST;
+ STRING *src = PARROT_const_cast(STRING *, s);
+ STRING *search = PARROT_const_cast(STRING *, s2);
- src = PARROT_const_cast(STRING *, s);
- search = PARROT_const_cast(STRING *, s2);
-
- return CHARSET_INDEX(interp, src, search, (UINTVAL)start);
+ return CHARSET_INDEX(interp, src, search, (UINTVAL)start);
+ }
}
@@ -1121,34 +955,13 @@
/*
-=item C<STRING * Parrot_str_copy(PARROT_INTERP, STRING *s)>
-
-Creates and returns a copy of the specified Parrot string.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_CANNOT_RETURN_NULL
-PARROT_WARN_UNUSED_RESULT
-STRING *
-Parrot_str_copy(PARROT_INTERP, ARGMOD(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_copy)
- return Parrot_str_new_COW(interp, s);
-}
-
-
-/*
-
=back
=head2 Vtable Dispatch Functions
=over 4
-=item C<INTVAL Parrot_str_length(PARROT_INTERP, STRING *s)>
+=item C<INTVAL Parrot_str_length(PARROT_INTERP, const STRING *s)>
Calculates and returns the number of characters in the specified Parrot string.
@@ -1159,11 +972,10 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL
-Parrot_str_length(PARROT_INTERP, ARGMOD(STRING *s))
+Parrot_str_length(SHIM_INTERP, ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_str_length)
- s->strlen = CHARSET_CODEPOINTS(interp, s);
return s->strlen;
}
@@ -1190,6 +1002,7 @@
return ENCODING_MAX_BYTES_PER_CODEPOINT(interp, s) * nchars;
}
+
/*
=item C<STRING * Parrot_str_repeat(PARROT_INTERP, const STRING *s, UINTVAL num)>
@@ -1220,21 +1033,21 @@
destpos += length;
}
+ dest->strlen = s->strlen * num;
dest->bufused = s->bufused * num;
- dest->strlen = s->strlen * num;
}
return dest;
}
+
/*
=item C<STRING * Parrot_str_substr(PARROT_INTERP, STRING *src, INTVAL offset,
-INTVAL length, STRING **d, int replace_dest)>
+INTVAL length)>
-Copies the substring of length C<length> from C<offset> from the specified
-Parrot string and stores it in C<**d>, allocating memory if necessary. The
-substring is also returned.
+Returns substring of length C<length> from C<offset> from the specified
+Parrot string.
=cut
@@ -1245,66 +1058,45 @@
PARROT_WARN_UNUSED_RESULT
STRING *
Parrot_str_substr(PARROT_INTERP,
- ARGIN_NULLOK(STRING *src), INTVAL offset, INTVAL length,
- ARGOUT_NULLOK(STRING **d), int replace_dest)
+ ARGIN_NULLOK(STRING *src), INTVAL offset, INTVAL length)
{
ASSERT_ARGS(Parrot_str_substr)
- if (STRING_IS_NULL(src))
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_SUBSTR_OUT_OF_STRING,
- "Cannot substr on a null string");
- else {
- STRING *dest;
- UINTVAL true_length;
- UINTVAL true_offset = (UINTVAL)offset;
- saneify_string(src);
+ UINTVAL true_length;
+ UINTVAL true_offset = (UINTVAL)offset;
- /* Allow regexes to return $' easily for "aaa" =~ /aaa/ */
- if (offset == (INTVAL)Parrot_str_byte_length(interp, src) || length < 1)
- return Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
-
- if (offset < 0)
- true_offset = (UINTVAL)(src->strlen + offset);
-
- /* 0 based... */
- if (src->strlen == 0 || true_offset > src->strlen - 1)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_SUBSTR_OUT_OF_STRING,
- "Cannot take substr outside string");
+ if (STRING_IS_NULL(src))
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_SUBSTR_OUT_OF_STRING, "Cannot substr on a null string");
- true_length = (UINTVAL)length;
- if (true_length > (src->strlen - true_offset))
- true_length = (UINTVAL)(src->strlen - true_offset);
+ ASSERT_STRING_SANITY(src);
- /* do in-place i.e. reuse existing header if one */
- if (replace_dest && d && !STRING_IS_NULL(*d)) {
- PARROT_ASSERT(src->encoding == Parrot_fixed_8_encoding_ptr);
- dest = *d;
+ /* Allow regexes to return $' easily for "aaa" =~ /aaa/ */
+ if (offset == (INTVAL)Parrot_str_byte_length(interp, src) || length < 1)
+ return Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
- dest->encoding = src->encoding;
- dest->charset = src->charset;
+ if (offset < 0)
+ true_offset = (UINTVAL)(src->strlen + offset);
- dest->strstart = (char *)src->strstart + true_offset;
- dest->bufused = true_length;
+ /* 0 based... */
+ if (src->strlen == 0 || true_offset > src->strlen - 1)
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_SUBSTR_OUT_OF_STRING,
+ "Cannot take substr outside string");
- dest->strlen = true_length;
- dest->hashval = 0;
- }
- else
- dest = CHARSET_GET_CODEPOINTS(interp, src, true_offset,
- true_length);
+ true_length = (UINTVAL)length;
- if (d)
- *d = dest;
+ if (true_length > (src->strlen - true_offset))
+ true_length = (UINTVAL)(src->strlen - true_offset);
- return dest;
- }
+ return CHARSET_GET_CODEPOINTS(interp, src, true_offset, true_length);
}
/*
-=item C<STRING * Parrot_str_replace(PARROT_INTERP, STRING *src, INTVAL offset,
-INTVAL length, STRING *rep, STRING **d)>
+=item C<STRING * Parrot_str_replace(PARROT_INTERP, const STRING *src, INTVAL
+offset, INTVAL length, const STRING *rep)>
Replaces a sequence of C<length> characters from C<offset> in the first
Parrot string with the second Parrot string, returning what was
@@ -1328,39 +1120,25 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
STRING *
-Parrot_str_replace(PARROT_INTERP, ARGIN(STRING *src),
- INTVAL offset, INTVAL length, ARGIN(STRING *rep), ARGOUT_NULLOK(STRING **d))
+Parrot_str_replace(PARROT_INTERP, ARGIN(const STRING *src),
+ INTVAL offset, INTVAL length, ARGIN(const STRING *rep))
{
ASSERT_ARGS(Parrot_str_replace)
- UINTVAL start_byte, end_byte;
- INTVAL diff;
String_iter iter;
-
const CHARSET *cs;
const ENCODING *enc;
STRING *dest = NULL;
UINTVAL true_offset = (UINTVAL)offset;
UINTVAL true_length = (UINTVAL)length;
- if (STRING_IS_NULL(src))
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
- "Cannot replace on a null string");
-
- /* special case */
- if (d == NULL
- && src->encoding == Parrot_fixed_8_encoding_ptr
- && rep->encoding == Parrot_fixed_8_encoding_ptr
- && offset >= 0
- && true_offset < src->strlen
- && length == 1
- && rep->strlen == 1) {
- if (PObj_is_cowed_TESTALL(src))
- Parrot_str_write_COW(interp, src);
-
- ((char *)src->strstart)[offset] = ((char *)rep->strstart)[0];
+ UINTVAL start_byte, end_byte;
+ INTVAL buf_size;
- return STRINGNULL;
+ if (STRING_IS_NULL(src)) {
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
+ "Can't replace in NULL string");
}
/* abs(-offset) may not be > strlen-1 */
@@ -1372,29 +1150,22 @@
* Only give exception if caller trys to replace end of string + 2
*/
if (true_offset > src->strlen)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_SUBSTR_OUT_OF_STRING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_SUBSTR_OUT_OF_STRING,
"Can only replace inside string or index after end of string");
if (true_length > (src->strlen - true_offset))
true_length = (UINTVAL)(src->strlen - true_offset);
- /* Save the substring that is replaced for the return value */
- if (d) {
- dest = CHARSET_GET_CODEPOINTS(interp, src, true_offset, true_length);
- *d = dest;
- }
-
/* may have different reps..... */
cs = string_rep_compatible(interp, src, rep, &enc);
if (!cs) {
- Parrot_utf16_encoding_ptr->to_encoding(interp, src, NULL);
- rep = Parrot_utf16_encoding_ptr->to_encoding(interp, rep,
- Parrot_gc_new_string_header(interp, 0));
- }
- else {
- src->charset = cs;
- src->encoding = enc;
+ src = Parrot_utf16_encoding_ptr->to_encoding(interp, src);
+ rep = Parrot_utf16_encoding_ptr->to_encoding(interp, rep);
+ /* Remember selected charset and encoding */
+ enc = src->encoding;
+ cs = src->charset;
}
/* get byte position of the part that will be replaced */
@@ -1408,54 +1179,44 @@
/* not possible.... */
if (end_byte < start_byte)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_SUBSTR_OUT_OF_STRING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_SUBSTR_OUT_OF_STRING,
"replace: subend somehow is less than substart");
/* Now do the replacement */
- Parrot_str_write_COW(interp, src);
-
- /*
- * If the replacement string fits inside the original substring
- * don't create a new string, just pack it.
- */
- diff = (end_byte - start_byte) - rep->bufused;
-
- if (diff >= 0
- || ((INTVAL)src->bufused - (INTVAL)Buffer_buflen(src)) <= diff) {
+ dest = Parrot_gc_new_string_header(interp, 0);
- if (diff != 0) {
- mem_sys_memmove((char *)src->strstart + start_byte + rep->bufused,
- (char *)src->strstart + end_byte,
- src->bufused - end_byte);
- src->bufused -= diff;
- }
-
- mem_sys_memcopy((char *)src->strstart + start_byte,
- rep->strstart, rep->bufused);
-
- if (diff)
- (void)Parrot_str_length(interp, src);
- }
+ /* Set encoding and charset to compatible */
+ dest->encoding = enc;
+ dest->charset = cs;
+
+ /* Clear COW flag. We own buffer */
+ PObj_get_FLAGS(dest) = PObj_is_string_FLAG
+ | PObj_is_COWable_FLAG
+ | PObj_live_FLAG;
+
+ /* size removed bytes added bytes */
+ buf_size = src->bufused - (end_byte - start_byte) + rep->bufused;
+
+ /* Alloctate new string size. */
+ Parrot_gc_allocate_string_storage(interp, dest, buf_size);
+ dest->bufused = buf_size;
+
+ /* Copy begin of string */
+ mem_sys_memcopy(dest->strstart, src->strstart, start_byte);
+
+ /* Copy the replacement in */
+ mem_sys_memcopy((char *)dest->strstart + start_byte, rep->strstart,
+ rep->bufused);
+
+ /* Copy the end of old string */
+ mem_sys_memcopy((char *)dest->strstart + start_byte + rep->bufused,
+ (char *)src->strstart + end_byte,
+ src->bufused - end_byte);
- /* Replacement is larger than avail buffer, grow the string */
- else {
- /* diff is negative here, make it positive */
- diff = -(diff);
- Parrot_str_resize(interp, src, (UINTVAL)diff);
-
- /* Move the end of old string that isn't replaced to new offset first */
- mem_sys_memmove((char *)src->strstart + end_byte + diff,
- (char *)src->strstart + end_byte,
- src->bufused - end_byte);
-
- /* Copy the replacement in */
- mem_sys_memcopy((char *)src->strstart + start_byte, rep->strstart,
- rep->bufused);
- src->bufused += diff;
- src->strlen = CHARSET_CODEPOINTS(interp, src);
- }
+ dest->strlen = CHARSET_CODEPOINTS(interp, dest);
+ dest->hashval = 0;
- /* src is modified, now return the original substring */
return dest;
}
@@ -1464,9 +1225,8 @@
=item C<STRING * Parrot_str_chopn(PARROT_INTERP, STRING *s, INTVAL n)>
-Removes the last C<n> characters of the specified Parrot string. If C<n> is
-negative, cuts the string after C<+n> characters. The returned string is a copy
-of the one passed in.
+Removes the last C<n> characters of the specified Parrot string and returns the
+modified string. If C<n> is negative, cuts the string after C<+n> characters.
=cut
@@ -1478,68 +1238,47 @@
Parrot_str_chopn(PARROT_INTERP, ARGMOD(STRING *s), INTVAL n)
{
ASSERT_ARGS(Parrot_str_chopn)
- STRING * const chopped = Parrot_str_copy(interp, s);
- Parrot_str_chopn_inplace(interp, chopped, n);
- return chopped;
-}
-
-
-/*
-
-=item C<void Parrot_str_chopn_inplace(PARROT_INTERP, STRING *s, INTVAL n)>
-
-Removes the last C<n> characters of the specified Parrot string. If C<n> is
-negative, cuts the string after C<+n> characters. The string passed in is
-modified and returned.
-
-=cut
-*/
-
-PARROT_EXPORT
-void
-Parrot_str_chopn_inplace(PARROT_INTERP, ARGMOD(STRING *s), INTVAL n)
-{
- ASSERT_ARGS(Parrot_str_chopn_inplace)
+ STRING * const chopped = Parrot_str_copy(interp, s);
UINTVAL new_length, uchar_size;
if (n < 0) {
new_length = -n;
- if (new_length > s->strlen)
- return;
+ if (new_length > chopped->strlen)
+ return chopped;
}
else {
- if (s->strlen > (UINTVAL)n)
- new_length = s->strlen - n;
+ if (chopped->strlen > (UINTVAL)n)
+ new_length = chopped->strlen - n;
else
new_length = 0;
}
- s->hashval = 0;
+ chopped->hashval = 0;
- if (!new_length || !s->strlen) {
- s->bufused = s->strlen = 0;
- return;
+ if (!new_length || !chopped->strlen) {
+ chopped->bufused = chopped->strlen = 0;
+ return chopped;
}
- uchar_size = s->bufused / s->strlen;
- s->strlen = new_length;
+ uchar_size = chopped->bufused / chopped->strlen;
+ chopped->strlen = new_length;
- if (s->encoding == Parrot_fixed_8_encoding_ptr) {
- s->bufused = new_length;
+ if (chopped->encoding == Parrot_fixed_8_encoding_ptr) {
+ chopped->bufused = new_length;
}
- else if (s->encoding == Parrot_ucs2_encoding_ptr) {
- s->bufused = new_length * uchar_size;
+ else if (chopped->encoding == Parrot_ucs2_encoding_ptr) {
+ chopped->bufused = new_length * uchar_size;
}
else {
String_iter iter;
ENCODING_ITER_INIT(interp, s, &iter);
iter.set_position(interp, &iter, new_length);
- s->bufused = iter.bytepos;
+ chopped->bufused = iter.bytepos;
}
- return;
+ return chopped;
}
@@ -1569,8 +1308,8 @@
if (STRING_IS_NULL(s1))
return -(s2->strlen != 0);
- saneify_string(s1);
- saneify_string(s2);
+ ASSERT_STRING_SANITY(s1);
+ ASSERT_STRING_SANITY(s2);
return CHARSET_COMPARE(interp, s1, s2);
}
@@ -1597,6 +1336,7 @@
return !Parrot_str_equal(interp, s1, s2);
}
+
/*
=item C<INTVAL Parrot_str_equal(PARROT_INTERP, const STRING *s1, const STRING
@@ -1617,28 +1357,27 @@
Parrot_str_equal(PARROT_INTERP, ARGIN_NULLOK(const STRING *s1), ARGIN_NULLOK(const STRING *s2))
{
ASSERT_ARGS(Parrot_str_equal)
- if ((s1 == s2) || (STRING_IS_NULL(s1) && STRING_IS_NULL(s2))) {
+
+ if ((s1 == s2) || (STRING_IS_NULL(s1) && STRING_IS_NULL(s2)))
return 1;
- }
- else if (STRING_IS_NULL(s2)) {
+ else if (STRING_IS_NULL(s2))
return s1->strlen == 0;
- }
- else if (STRING_IS_NULL(s1)) {
+ else if (STRING_IS_NULL(s1))
return s2->strlen == 0;
- }
- else if (s1->strlen != s2->strlen) {
- return 0; /* we don't care which is bigger */
- }
- else if (s1->hashval != s2->hashval && s1->hashval && s2->hashval) {
+
+ /* we don't care which is bigger */
+ else if (s1->strlen != s2->strlen)
return 0;
- }
- else if (!s1->strlen) { /* s2->strlen is the same here */
+ else if (s1->hashval != s2->hashval && s1->hashval && s2->hashval)
+ return 0;
+
+ /* s2->strlen is the same here */
+ else if (!s1->strlen)
return 1;
- }
+
/* COWed strings */
- else if (s1->strstart == s2->strstart && s1->bufused == s2->bufused) {
+ else if (s1->strstart == s2->strstart && s1->bufused == s2->bufused)
return 1;
- }
/*
* now,
@@ -1651,39 +1390,11 @@
/*
-=item C<static void make_writable(PARROT_INTERP, STRING **s, const size_t len,
-parrot_string_representation_t representation)>
-
-Makes the specified Parrot string writable with minimum length C<len>. The
-C<representation> argument is required in case a new Parrot string has to be
-created.
-
-=cut
-
-*/
-
-static void
-make_writable(PARROT_INTERP, ARGMOD(STRING **s),
- const size_t len, parrot_string_representation_t representation)
-{
- ASSERT_ARGS(make_writable)
- if (STRING_IS_NULL(*s))
- *s = Parrot_str_new_noinit(interp, representation, len);
- else if ((*s)->strlen < len)
- Parrot_str_resize(interp, *s, (UINTVAL)(len - (*s)->strlen));
- else if (PObj_is_cowed_TESTALL(*s))
- Parrot_str_write_COW(interp, *s);
-}
-
-
-/*
-
=item C<STRING * Parrot_str_bitwise_and(PARROT_INTERP, const STRING *s1, const
-STRING *s2, STRING **dest)>
+STRING *s2)>
Performs a bitwise C<AND> on two Parrot strings, performing type and encoding
-conversions if necessary. If the third string is not C<NULL> then it is
-reused. Otherwise a new Parrot string is created.
+conversions if necessary. Returns the result as a new string.
=cut
@@ -1693,7 +1404,7 @@
PARROT_CANNOT_RETURN_NULL
STRING *
Parrot_str_bitwise_and(PARROT_INTERP, ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2), ARGOUT_NULLOK(STRING **dest))
+ ARGIN_NULLOK(const STRING *s2))
{
ASSERT_ARGS(Parrot_str_bitwise_and)
STRING *res;
@@ -1716,14 +1427,8 @@
else
minlen = 0;
- if (dest && !STRING_IS_NULL(*dest)) {
- res = *dest;
- res->encoding = Parrot_fixed_8_encoding_ptr;
- res->charset = Parrot_binary_charset_ptr;
- }
- else
- res = Parrot_str_new_init(interp, NULL, minlen,
- Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
+ res = Parrot_str_new_init(interp, NULL, minlen,
+ Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
if (STRING_IS_NULL(s1) || STRING_IS_NULL(s2)) {
res->bufused = 0;
@@ -1738,8 +1443,6 @@
Parrot_gc_mark_and_sweep(interp, GC_trace_stack_FLAG);
#endif
- make_writable(interp, &res, minlen, enum_stringrep_one);
-
{ /* bitwise AND the strings */
const Parrot_UInt1 *curr1 = (Parrot_UInt1 *)s1->strstart;
const Parrot_UInt1 *curr2 = (Parrot_UInt1 *)s2->strstart;
@@ -1752,12 +1455,10 @@
res->bufused = res->strlen = minlen;
- if (dest)
- *dest = res;
-
return res;
}
+
#define BITWISE_XOR_STRINGS(type1, type2, restype, s1, s2, res, maxlen) \
do { \
const type1 *curr1 = NULL; \
@@ -1831,11 +1532,10 @@
/*
=item C<STRING * Parrot_str_bitwise_or(PARROT_INTERP, const STRING *s1, const
-STRING *s2, STRING **dest)>
+STRING *s2)>
Performs a bitwise C<OR> on two Parrot strings, performing type and encoding
-conversions if necessary. If the third string is not C<NULL>, then it is
-reused. Otherwise a new Parrot string is created.
+conversions if necessary. Returns the result as a new string.
=cut
@@ -1845,7 +1545,7 @@
PARROT_CANNOT_RETURN_NULL
STRING *
Parrot_str_bitwise_or(PARROT_INTERP, ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2), ARGOUT_NULLOK(STRING **dest))
+ ARGIN_NULLOK(const STRING *s2))
{
ASSERT_ARGS(Parrot_str_bitwise_or)
STRING *res;
@@ -1853,7 +1553,8 @@
if (!STRING_IS_NULL(s1)) {
if (s1->encoding != Parrot_fixed_8_encoding_ptr)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_ENCODING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
"string bitwise_or (%s/%s) unsupported",
s1->encoding->name, nonnull_encoding_name(s2));
@@ -1862,7 +1563,8 @@
if (!STRING_IS_NULL(s2)) {
if (s2->encoding != Parrot_fixed_8_encoding_ptr)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_ENCODING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
"string bitwise_or (%s/%s) unsupported",
nonnull_encoding_name(s1), s2->encoding->name);
@@ -1870,14 +1572,8 @@
maxlen = s2->bufused;
}
- if (dest && !STRING_IS_NULL(*dest)) {
- res = *dest;
- res->encoding = Parrot_fixed_8_encoding_ptr;
- res->charset = Parrot_binary_charset_ptr;
- }
- else
- res = Parrot_str_new_init(interp, NULL, maxlen,
- Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
+ res = Parrot_str_new_init(interp, NULL, maxlen,
+ Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
if (!maxlen) {
res->bufused = 0;
@@ -1891,15 +1587,10 @@
Parrot_gc_mark_and_sweep(interp, GC_trace_stack_FLAG);
#endif
- make_writable(interp, &res, maxlen, enum_stringrep_one);
-
BITWISE_OR_STRINGS(Parrot_UInt1, Parrot_UInt1, Parrot_UInt1,
s1, s2, res, maxlen);
res->bufused = res->strlen = maxlen;
- if (dest)
- *dest = res;
-
return res;
}
@@ -1907,11 +1598,10 @@
/*
=item C<STRING * Parrot_str_bitwise_xor(PARROT_INTERP, const STRING *s1, const
-STRING *s2, STRING **dest)>
+STRING *s2)>
Performs a bitwise C<XOR> on two Parrot strings, performing type and encoding
-conversions if necessary. If the third string is not C<NULL>, then it is
-reused. Otherwise a new Parrot string is created.
+conversions if necessary. Returns the result as a new string.
=cut
@@ -1921,7 +1611,7 @@
PARROT_CANNOT_RETURN_NULL
STRING *
Parrot_str_bitwise_xor(PARROT_INTERP, ARGIN_NULLOK(const STRING *s1),
- ARGIN_NULLOK(const STRING *s2), ARGOUT_NULLOK(STRING **dest))
+ ARGIN_NULLOK(const STRING *s2))
{
ASSERT_ARGS(Parrot_str_bitwise_xor)
STRING *res;
@@ -1929,7 +1619,8 @@
if (!STRING_IS_NULL(s1)) {
if (s1->encoding != Parrot_fixed_8_encoding_ptr)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_ENCODING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
"string bitwise_xor (%s/%s) unsupported",
s1->encoding->name, nonnull_encoding_name(s2));
@@ -1938,7 +1629,8 @@
if (!STRING_IS_NULL(s2)) {
if (s2->encoding != Parrot_fixed_8_encoding_ptr)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_ENCODING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
"string bitwise_xor (%s/%s) unsupported",
nonnull_encoding_name(s1), s2->encoding->name);
@@ -1946,14 +1638,8 @@
maxlen = s2->bufused;
}
- if (dest && !STRING_IS_NULL(*dest)) {
- res = *dest;
- res->encoding = Parrot_fixed_8_encoding_ptr;
- res->charset = Parrot_binary_charset_ptr;
- }
- else
- res = Parrot_str_new_init(interp, NULL, maxlen,
- Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
+ res = Parrot_str_new_init(interp, NULL, maxlen,
+ Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
if (!maxlen) {
res->bufused = 0;
@@ -1967,15 +1653,10 @@
Parrot_gc_mark_and_sweep(interp, GC_trace_stack_FLAG);
#endif
- make_writable(interp, &res, maxlen, enum_stringrep_one);
-
BITWISE_XOR_STRINGS(Parrot_UInt1, Parrot_UInt1, Parrot_UInt1,
s1, s2, res, maxlen);
res->bufused = res->strlen = maxlen;
- if (dest)
- *dest = res;
-
return res;
}
@@ -1992,13 +1673,13 @@
} \
} while (0)
+
/*
-=item C<STRING * Parrot_str_bitwise_not(PARROT_INTERP, const STRING *s, STRING
-**dest)>
+=item C<STRING * Parrot_str_bitwise_not(PARROT_INTERP, const STRING *s)>
-Performs a bitwise C<NOT> on a Parrot string. If the second string is
-not C<NULL> then it is reused, otherwise a new Parrot string is created.
+Performs a bitwise C<NOT> on a Parrot string. Returns the result as a new
+string.
=cut
@@ -2007,8 +1688,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING *
-Parrot_str_bitwise_not(PARROT_INTERP, ARGIN_NULLOK(const STRING *s),
- ARGOUT_NULLOK(STRING **dest))
+Parrot_str_bitwise_not(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_bitwise_not)
STRING *res;
@@ -2016,7 +1696,8 @@
if (!STRING_IS_NULL(s)) {
if (s->encoding != Parrot_fixed_8_encoding_ptr)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_ENCODING,
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
"string bitwise_not (%s/%s) unsupported",
s->encoding->name, s->encoding->name);
@@ -2025,14 +1706,8 @@
else
len = 0;
- if (dest && !STRING_IS_NULL(*dest)) {
- res = *dest;
- res->encoding = Parrot_fixed_8_encoding_ptr;
- res->charset = Parrot_binary_charset_ptr;
- }
- else
- res = Parrot_str_new_init(interp, NULL, len,
- Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
+ res = Parrot_str_new_init(interp, NULL, len,
+ Parrot_fixed_8_encoding_ptr, Parrot_binary_charset_ptr, 0);
if (!len) {
res->bufused = 0;
@@ -2046,13 +1721,9 @@
Parrot_gc_mark_and_sweep(interp, GC_trace_stack_FLAG);
#endif
- make_writable(interp, &res, len, enum_stringrep_one);
-
res->strlen = res->bufused = len;
BITWISE_NOT_STRING(Parrot_UInt1, s, res);
- if (dest)
- *dest = res;
return res;
}
@@ -2121,12 +1792,15 @@
return output;
}
+
/*
+
State of FSM during number value parsing.
Integer uses only parse_start, parse_before_dot and parse_end.
*/
+
typedef enum number_parse_state {
parse_start,
parse_before_dot,
@@ -2192,8 +1866,9 @@
if (i < max_safe || (i == max_safe && nextval <= last_dig))
i = i * 10 + nextval;
else
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ERR_OVERFLOW,
- "Integer value of String '%S' too big", s);
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_ERR_OVERFLOW,
+ "Integer value of String '%S' too big", s);
state = parse_before_dot;
}
else if (c == '-') {
@@ -2215,8 +1890,9 @@
if (i < max_safe || (i == max_safe && nextval <= last_dig))
i = i * 10 + nextval;
else
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ERR_OVERFLOW,
- "Integer value of String '%S' too big", s);
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_ERR_OVERFLOW,
+ "Integer value of String '%S' too big", s);
}
else
state = parse_end;
@@ -2234,6 +1910,7 @@
}
}
+
/*
=item C<FLOATVAL Parrot_str_to_num(PARROT_INTERP, const STRING *s)>
@@ -2379,16 +2056,16 @@
}
/* Support for non-canonical NaN and Inf */
- /* charpos <=2 because for "-i" iter will be advanced to next char already */
+ /* charpos <= 2 because for "-i" iter already advanced to next char */
if (check_nan && (iter.charpos <= 2)) {
STRING *t = Parrot_str_upcase(interp, s);
if (Parrot_str_equal(interp, t, CONST_STRING(interp, "NAN")))
return PARROT_FLOATVAL_NAN_QUIET;
else if (Parrot_str_equal(interp, t, CONST_STRING(interp, "INF"))
- || Parrot_str_equal(interp, t, CONST_STRING(interp, "INFINITY")))
+ || Parrot_str_equal(interp, t, CONST_STRING(interp, "INFINITY")))
return PARROT_FLOATVAL_INF_POSITIVE;
else if (Parrot_str_equal(interp, t, CONST_STRING(interp, "-INF"))
- || Parrot_str_equal(interp, t, CONST_STRING(interp, "-INFINITY")))
+ || Parrot_str_equal(interp, t, CONST_STRING(interp, "-INFINITY")))
return PARROT_FLOATVAL_INF_NEGATIVE;
else
return 0.0;
@@ -2472,8 +2149,8 @@
=item C<char * Parrot_str_to_cstring(PARROT_INTERP, const STRING *s)>
Returns a C string for the specified Parrot string. Use
-C<Parrot_str_free_cstring()> to free the string. Failure to do this will result in
-a memory leak.
+C<Parrot_str_free_cstring()> to free the string. Failure to do this will result
+in a memory leak.
=cut
@@ -2486,12 +2163,13 @@
Parrot_str_to_cstring(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_to_cstring)
+
if (STRING_IS_NULL(s)) {
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't convert NULL string");
}
- else
- return string_to_cstring_nullable(interp, s);
+
+ return string_to_cstring_nullable(interp, s);
}
@@ -2500,8 +2178,9 @@
=item C<char * string_to_cstring_nullable(PARROT_INTERP, const STRING *s)>
Returns a C string for the specified Parrot string. Use
-C<Parrot_str_free_cstring()> to free the string. Failure to do this will result in
-a memory leak.
+C<Parrot_str_free_cstring()> to free the string, if it's not NULL. Failure to
+do this will result in a memory leak. Failure to check if the return value is
+NULL will result in embarrassment for you.
=cut
@@ -2559,24 +2238,15 @@
PARROT_EXPORT
void
-Parrot_str_pin(PARROT_INTERP, ARGMOD(STRING *s))
+Parrot_str_pin(SHIM_INTERP, ARGMOD(STRING *s))
{
ASSERT_ARGS(Parrot_str_pin)
- char *memory;
- size_t size;
-
- /* XXX -lt: COW strings have the external_FLAG set, so this will
- * not work for these
- * so probably only sysmem should be tested
- */
- Parrot_str_write_COW(interp, s);
-
- size = Buffer_buflen(s);
- memory = (char *)mem_internal_allocate(size);
+ size_t size = Buffer_buflen(s);
+ char *memory = (char *)mem_internal_allocate(size);
mem_sys_memcopy(memory, Buffer_bufstart(s), size);
Buffer_bufstart(s) = memory;
- s->strstart = memory;
+ s->strstart = memory;
/* Mark the memory as both from the system and immobile */
PObj_sysmem_SET(s);
@@ -2602,12 +2272,10 @@
size_t size;
/* If this string is not marked using system memory,
- * we just don't do this
- */
+ * we just don't do this */
if (!PObj_sysmem_TEST(s))
return;
- Parrot_str_write_COW(interp, s);
size = Buffer_buflen(s);
/* We need a handle on the fixed memory so we can get rid of it later */
@@ -2660,7 +2328,7 @@
hashval = ENCODING_HASH(interp, s, hashval);
else {
/* ZZZZZ workaround for something not setting up encodings right */
- saneify_string(s);
+ ASSERT_STRING_SANITY(s);
ENCODING_ITER_INIT(interp, s, &iter);
@@ -2812,7 +2480,7 @@
else
hex = Parrot_sprintf_c(interp, "\\u%04x", c);
- result = Parrot_str_append(interp, result, hex);
+ result = Parrot_str_concat(interp, result, hex);
/* adjust our insert idx */
i += hex->strlen;
@@ -2934,7 +2602,7 @@
/* Force validating the string */
if (encoding != result->encoding)
- (void)Parrot_str_length(interp, result);
+ result->strlen = CHARSET_CODEPOINTS(interp, result);
if (!CHARSET_VALIDATE(interp, result))
Parrot_ex_throw_from_c_args(interp, NULL,
@@ -2962,41 +2630,13 @@
Parrot_str_upcase(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_upcase)
- if (STRING_IS_NULL(s)) {
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
- "Can't upcase NULL string");
- }
- else {
- DECL_CONST_CAST;
- STRING * const dest = Parrot_str_copy(interp, PARROT_const_cast(STRING *, s));
- Parrot_str_upcase_inplace(interp, dest);
- return dest;
- }
-}
-
-
-/*
-
-=item C<void Parrot_str_upcase_inplace(PARROT_INTERP, STRING *s)>
-
-Converts the specified Parrot string to upper case.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-void
-Parrot_str_upcase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_upcase_inplace)
- if (STRING_IS_NULL(s)) {
+ if (STRING_IS_NULL(s))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't upcase NULL string");
- }
else {
- Parrot_str_write_COW(interp, s);
- CHARSET_UPCASE(interp, s);
+ STRING * const res = CHARSET_UPCASE(interp, s);
+ res->hashval = 0;
+ return res;
}
}
@@ -3019,47 +2659,14 @@
Parrot_str_downcase(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_downcase)
- if (STRING_IS_NULL(s)) {
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
- "Can't downcase NULL string");
- }
- else {
- DECL_CONST_CAST;
- STRING * const dest = Parrot_str_copy(interp, PARROT_const_cast(STRING *, s));
- Parrot_str_downcase_inplace(interp, dest);
- return dest;
- }
-}
-
-
-/*
-
-=item C<void Parrot_str_downcase_inplace(PARROT_INTERP, STRING *s)>
-
-Converts the specified Parrot string to lower case.
-
-=cut
-*/
-
-PARROT_EXPORT
-void
-Parrot_str_downcase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_downcase_inplace)
- if (STRING_IS_NULL(s)) {
+ if (STRING_IS_NULL(s))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't downcase NULL string");
- }
else {
- /*
- * TODO get rid of all the inplace variants. We have for utf8:
- * * 1 Parrot_str_copy from the non-incase variant
- * * conversion to utf16, with doubling the buffer
- * * possibly one more reallocation in downcase
- */
- Parrot_str_write_COW(interp, s);
- CHARSET_DOWNCASE(interp, s);
+ STRING * const res = CHARSET_DOWNCASE(interp, s);
+ res->hashval = 0;
+ return res;
}
}
@@ -3082,41 +2689,14 @@
Parrot_str_titlecase(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_titlecase)
- if (STRING_IS_NULL(s)) {
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
- "Can't titlecase NULL string");
- }
- else {
- DECL_CONST_CAST;
- STRING * const dest = Parrot_str_copy(interp, PARROT_const_cast(STRING *, s));
- Parrot_str_titlecase_inplace(interp, dest);
- return dest;
- }
-}
-
-
-/*
-
-=item C<void Parrot_str_titlecase_inplace(PARROT_INTERP, STRING *s)>
-
-Converts the specified Parrot string to title case.
-=cut
-
-*/
-
-PARROT_EXPORT
-void
-Parrot_str_titlecase_inplace(PARROT_INTERP, ARGMOD_NULLOK(STRING *s))
-{
- ASSERT_ARGS(Parrot_str_titlecase_inplace)
- if (STRING_IS_NULL(s)) {
+ if (STRING_IS_NULL(s))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't titlecase NULL string");
- }
else {
- Parrot_str_write_COW(interp, s);
- CHARSET_TITLECASE(interp, s);
+ STRING * const res = CHARSET_TITLECASE(interp, s);
+ res->hashval = 0;
+ return res;
}
}
@@ -3176,7 +2756,7 @@
Parrot_string_cstring(SHIM_INTERP, ARGIN(const STRING *str))
{
ASSERT_ARGS(Parrot_string_cstring)
- /* TODO handle NUL and friends */
+ /* TODO handle NULL and friends */
return str->strstart;
}
@@ -3201,6 +2781,7 @@
ARGIN(const STRING *s), UINTVAL offset)
{
ASSERT_ARGS(Parrot_str_is_cclass)
+
if (!Parrot_str_byte_length(interp, s))
return 0;
@@ -3227,12 +2808,14 @@
UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(Parrot_str_find_cclass)
+
if (STRING_IS_NULL(s))
return -1;
return CHARSET_FIND_CCLASS(interp, flags, s, offset, count);
}
+
/*
=item C<INTVAL Parrot_str_find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
@@ -3254,6 +2837,7 @@
ARGIN_NULLOK(STRING *s), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(Parrot_str_find_not_cclass)
+
if (STRING_IS_NULL(s))
return -1;
@@ -3264,10 +2848,10 @@
/*
=item C<STRING* Parrot_str_change_charset(PARROT_INTERP, STRING *src, INTVAL
-charset_nr, STRING *dest)>
+charset_nr)>
-If C<dest> == NULL, converts C<src> to the given charset or encoding inplace.
-Otherwise returns a copy of C<src> with the charset/encoding in C<dest>.
+Converts C<src> to the given charset or encoding and returns the result as a
+new string.
=cut
@@ -3278,7 +2862,7 @@
PARROT_CAN_RETURN_NULL
STRING*
Parrot_str_change_charset(PARROT_INTERP, ARGMOD_NULLOK(STRING *src),
- INTVAL charset_nr, ARGOUT_NULLOK(STRING *dest))
+ INTVAL charset_nr)
{
ASSERT_ARGS(Parrot_str_change_charset)
const CHARSET *new_charset;
@@ -3292,41 +2876,20 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_CHARTYPE,
"charset #%d not found", (int) charset_nr);
- /*
- * dest is an empty string header or NULL, if an inplace
- * operation is desired
- */
- if (!STRING_IS_NULL(dest)) {
- if (new_charset == src->charset) {
- dest = Parrot_str_reuse_COW(interp, src, dest);
- dest->charset = new_charset;
- /* keep encoding */
- return dest;
- }
-
- dest->charset = new_charset;
-
- /* get prefered encoding for charset */
- dest->encoding = CHARSET_GET_PREFERRED_ENCODING(interp, dest);
- }
- else {
- if (new_charset == src->charset)
- return src;
-
- Parrot_str_write_COW(interp, src);
- }
+ if (new_charset == src->charset)
+ return src;
- return new_charset->to_charset(interp, src, dest);
+ return new_charset->to_charset(interp, src);
}
/*
=item C<STRING* Parrot_str_change_encoding(PARROT_INTERP, STRING *src, INTVAL
-encoding_nr, STRING *dest)>
+encoding_nr)>
-If C<dest> == NULL, converts C<src> to the given charset or encoding in place.
-Otherwise returns a copy of C<src> with the charset/encoding in C<dest>
+Converts C<src> to the given charset or encoding and returns the result as a
+new string.
=cut
@@ -3337,7 +2900,7 @@
PARROT_CAN_RETURN_NULL
STRING*
Parrot_str_change_encoding(PARROT_INTERP, ARGIN_NULLOK(STRING *src),
- INTVAL encoding_nr, ARGOUT_NULLOK(STRING *dest))
+ INTVAL encoding_nr)
{
ASSERT_ARGS(Parrot_str_change_encoding)
const ENCODING *new_encoding;
@@ -3351,25 +2914,10 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_CHARTYPE,
"encoding #%d not found", (int) encoding_nr);
- /*
- * dest is an empty string header or NULL, if an inplace
- * operation is desired
- */
- if (!STRING_IS_NULL(dest)) {
- dest->encoding = new_encoding;
- if (new_encoding == src->encoding) {
- dest = Parrot_str_reuse_COW(interp, src, dest);
- return dest;
- }
- }
- else {
- if (new_encoding == src->encoding)
- return src;
-
- Parrot_str_write_COW(interp, src);
- }
+ if (new_encoding == src->encoding)
+ return src;
- return new_encoding->to_encoding(interp, src, dest);
+ return new_encoding->to_encoding(interp, src);
}
@@ -3390,6 +2938,7 @@
Parrot_str_compose(PARROT_INTERP, ARGIN_NULLOK(STRING *src))
{
ASSERT_ARGS(Parrot_str_compose)
+
if (STRING_IS_NULL(src))
return NULL;
@@ -3418,24 +2967,105 @@
Parrot_str_join(PARROT_INTERP, ARGIN_NULLOK(STRING *j), ARGIN(PMC *ar))
{
ASSERT_ARGS(Parrot_str_join)
- STRING *res;
- STRING *s;
- const int ar_len = VTABLE_elements(interp, ar);
- int i;
+ STRING **chunks;
+ STRING *res;
+ STRING *s;
+ char *pos;
+ const int ar_len = VTABLE_elements(interp, ar);
+ int total_length = 0;
+ int transcoded = 0;
+ int i;
if (ar_len == 0)
return Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
- s = VTABLE_get_string_keyed_int(interp, ar, 0);
- res = !STRING_IS_NULL(s) ? Parrot_str_copy(interp, s) : NULL;
+ if (STRING_IS_NULL(j))
+ j = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+
+ chunks = (STRING **)Parrot_gc_allocate_fixed_size_storage(interp,
+ ar_len * sizeof (STRING *));
+
+ for (i = 0; i < ar_len; ++i) {
+ STRING *next = VTABLE_get_string_keyed_int(interp, ar, i);
+
+ if (STRING_IS_NULL(next)) {
+ chunks[i] = STRINGNULL;
+ continue;
+ }
+
+ if (next->encoding != j->encoding) {
+ const ENCODING *e = j->encoding;
+
+ string_rep_compatible(interp, next, j, &e);
+ if (e == Parrot_fixed_8_encoding_ptr)
+ e = Parrot_utf8_encoding_ptr;
+ j = e->to_encoding(interp, j);
+ transcoded = 1;
+ }
+
+ chunks[i] = next;
+ total_length += next->bufused;
+ }
+
+ /* with the right charset, transcode any strings if necessary*/
+ if (transcoded) {
+ const CHARSET *c = j->charset;
+ const ENCODING *e = j->encoding;
+
+ for (i = 0; i < ar_len; ++i) {
+ STRING *s = chunks[i];
+
+ if (STRING_IS_NULL(s))
+ continue;
+
+ if (s->encoding != e || s->charset != c) {
+ STRING *new_s = e->to_encoding(interp, s);
+ chunks[i] = new_s;
+ total_length += s->bufused - new_s->bufused;
+ }
+ }
+ }
+
+ /* add the length of the separator, now that it's transcoded */
+ total_length += j->bufused * ar_len;
+
+ res = Parrot_gc_new_string_header(interp, 0);
+ Parrot_gc_allocate_string_storage(interp, res, total_length);
+
+ res->charset = j->charset;
+ res->encoding = j->encoding;
+
+ /* Iterate over chunks and append it to res */
+ pos = res->strstart;
+
+ /* Copy first chunk */
+ s = chunks[0];
+ if (!STRING_IS_NULL(s)) {
+ mem_sys_memcopy(pos, s->strstart, s->bufused);
+ pos += s->bufused;
+ }
for (i = 1; i < ar_len; ++i) {
- STRING * const next = VTABLE_get_string_keyed_int(interp, ar, i);
+ STRING *next = chunks[i];
+
+ if (STRING_IS_NULL(next))
+ continue;
- res = Parrot_str_append(interp, res, j);
- res = Parrot_str_append(interp, res, next);
+ mem_sys_memcopy(pos, j->strstart, j->bufused);
+ pos += j->bufused;
+
+ mem_sys_memcopy(pos, next->strstart, next->bufused);
+ pos += next->bufused;
+
+ PARROT_ASSERT(pos <= res->strstart + Buffer_buflen(res));
}
+ res->bufused = pos - res->strstart;
+ res->strlen = CHARSET_CODEPOINTS(interp, res);
+
+ Parrot_gc_free_fixed_size_storage(interp, ar_len * sizeof (STRING *),
+ chunks);
+
return res;
}
@@ -3445,8 +3075,8 @@
=item C<PMC* Parrot_str_split(PARROT_INTERP, STRING *delim, STRING *str)>
Splits the string C<str> at the delimiter C<delim>, returning a
-C<ResizableStringArray>, or his mapped type in the current HLL,
-of results. Returns PMCNULL if the string or the delimiter is NULL.
+C<ResizableStringArray>, or his mapped type in the current HLL, of results.
+Returns PMCNULL if the string or the delimiter is NULL.
=cut
@@ -3466,7 +3096,8 @@
if (STRING_IS_NULL(delim) || STRING_IS_NULL(str))
return PMCNULL;
- res = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_ResizableStringArray));
+ res = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_ResizableStringArray));
slen = Parrot_str_byte_length(interp, str);
if (!slen)
@@ -3479,7 +3110,7 @@
VTABLE_set_integer_native(interp, res, slen);
for (i = 0; i < slen; ++i) {
- STRING * const p = Parrot_str_substr(interp, str, i, 1, NULL, 0);
+ STRING * const p = Parrot_str_substr(interp, str, i, 1);
VTABLE_set_string_keyed_int(interp, res, i, p);
}
@@ -3497,7 +3128,7 @@
while (ps <= slen) {
const int pl = pe - ps;
- STRING * const tstr = Parrot_str_substr(interp, str, ps, pl, NULL, 0);
+ STRING * const tstr = Parrot_str_substr(interp, str, ps, pl);
VTABLE_push_string(interp, res, tstr);
ps = pe + Parrot_str_byte_length(interp, delim);
@@ -3539,6 +3170,7 @@
unsigned int base, int minus)
{
ASSERT_ARGS(Parrot_str_from_uint)
+
/* the buffer must be at least as long as this */
char *p = tc + sizeof (UHUGEINTVAL)*8 + 1;
const char * const tail = p;
@@ -3547,12 +3179,12 @@
do {
const char cur = (char)(num % base);
- if (cur < 10) {
+
+ if (cur < 10)
*--p = (char)('0' + cur);
- }
- else {
+ else
*--p = (char)('a' + cur - 10);
- }
+
} while (num /= base);
if (minus)
@@ -3591,6 +3223,7 @@
return Parrot_str_from_uint(interp, tc, (UHUGEINTVAL)num, base, is_neg);
}
+
/*
=back
Modified: branches/runcore_purge/src/string/charset.c
==============================================================================
--- branches/runcore_purge/src/string/charset.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -29,16 +29,16 @@
#include "charset/iso-8859-1.h"
#include "charset/unicode.h"
-CHARSET *Parrot_iso_8859_1_charset_ptr;
-CHARSET *Parrot_binary_charset_ptr;
-CHARSET *Parrot_default_charset_ptr;
-CHARSET *Parrot_unicode_charset_ptr;
-CHARSET *Parrot_ascii_charset_ptr;
+const CHARSET *Parrot_iso_8859_1_charset_ptr;
+const CHARSET *Parrot_binary_charset_ptr;
+const CHARSET *Parrot_default_charset_ptr;
+const CHARSET *Parrot_unicode_charset_ptr;
+const CHARSET *Parrot_ascii_charset_ptr;
/* all registered charsets are collected in one global structure */
typedef struct To_converter {
- NOTNULL(CHARSET *to);
+ NOTNULL(const CHARSET *to);
NOTNULL(charset_converter_t func);
} To_converter;
@@ -97,7 +97,7 @@
*/
PARROT_EXPORT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PARROT_MALLOC
CHARSET *
Parrot_new_charset(PARROT_INTERP)
@@ -168,7 +168,8 @@
/*
-=item C<CHARSET * Parrot_load_charset(PARROT_INTERP, const char *charsetname)>
+=item C<const CHARSET * Parrot_load_charset(PARROT_INTERP, const char
+*charsetname)>
Throws an exception (Can't load charsets dynamically yet. https://trac.parrot.org/parrot/wiki/StringsTasklist).
@@ -179,7 +180,7 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-CHARSET *
+const CHARSET *
Parrot_load_charset(PARROT_INTERP, ARGIN(const char *charsetname))
{
ASSERT_ARGS(Parrot_load_charset)
@@ -243,7 +244,7 @@
/*
-=item C<STRING* Parrot_charset_name(PARROT_INTERP, INTVAL number_of_charset)>
+=item C<STRING * Parrot_charset_name(PARROT_INTERP, INTVAL number_of_charset)>
Returns the name of the charset given by the INTVAL index
C<number_of_charset>.
@@ -255,12 +256,12 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-STRING*
+STRING *
Parrot_charset_name(SHIM_INTERP, INTVAL number_of_charset)
{
ASSERT_ARGS(Parrot_charset_name)
if (number_of_charset < 0 || number_of_charset >= all_charsets->n_charsets)
- return NULL;
+ return STRINGNULL;
return all_charsets->set[number_of_charset].name;
}
@@ -509,7 +510,7 @@
/*
=item C<INTVAL Parrot_make_default_charset(PARROT_INTERP, const char
-*charsetname, CHARSET *charset)>
+*charsetname, const CHARSET *charset)>
Sets the current default charset to C<charset> with name C<charsetname>.
@@ -520,7 +521,7 @@
PARROT_EXPORT
INTVAL
Parrot_make_default_charset(SHIM_INTERP, SHIM(const char *charsetname),
- ARGIN(CHARSET *charset))
+ ARGIN(const CHARSET *charset))
{
ASSERT_ARGS(Parrot_make_default_charset)
Parrot_default_charset_ptr = charset;
@@ -587,7 +588,7 @@
/*
=item C<void Parrot_register_charset_converter(PARROT_INTERP, const CHARSET
-*lhs, CHARSET *rhs, charset_converter_t func)>
+*lhs, const CHARSET *rhs, charset_converter_t func)>
Registers a converter C<func> from charset C<lhs> to C<rhs>.
@@ -598,7 +599,7 @@
PARROT_EXPORT
void
Parrot_register_charset_converter(PARROT_INTERP,
- ARGIN(const CHARSET *lhs), ARGIN(CHARSET *rhs),
+ ARGIN(const CHARSET *lhs), ARGIN(const CHARSET *rhs),
ARGIN(charset_converter_t func))
{
ASSERT_ARGS(Parrot_register_charset_converter)
Modified: branches/runcore_purge/src/string/charset/ascii.c
==============================================================================
--- branches/runcore_purge/src/string/charset/ascii.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/ascii.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2009, Parrot Foundation.
+Copyright (C) 2004-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -42,10 +42,15 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*src);
-static void downcase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+ __attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void downcase_first(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
+ __attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
@@ -73,56 +78,41 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-static void set_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL replace_count,
- ARGMOD(STRING *insert_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*insert_string);
-
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
static STRING * string_from_codepoint(PARROT_INTERP, UINTVAL codepoint)
__attribute__nonnull__(1);
-static void titlecase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
+ __attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void titlecase_first(SHIM_INTERP, ARGMOD(STRING *source_string))
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*source_string);
-
PARROT_CANNOT_RETURN_NULL
-static STRING * to_ascii(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+static STRING* titlecase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_charset(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+static STRING * to_ascii(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_unicode(PARROT_INTERP,
- ARGMOD(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+static STRING * to_charset(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*src)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
-static void upcase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+ __attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void upcase_first(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
+ __attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
@@ -137,9 +127,11 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_downcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_downcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
@@ -149,29 +141,26 @@
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_set_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(insert_string))
#define ASSERT_ARGS_string_from_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_titlecase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_titlecase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_to_ascii __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_to_charset __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_to_unicode __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_upcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_upcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_validate __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -202,53 +191,7 @@
/*
-=item C<static void set_graphemes(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL replace_count, STRING *insert_string)>
-
-Sets the graphemes for C<source_string>, starting at C<offset>. Replace
-C<replace_count> graphemes with those from STRING C<insert_string>.
-
-=cut
-
-*/
-
-static void
-set_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL replace_count, ARGMOD(STRING *insert_string))
-{
- ASSERT_ARGS(set_graphemes)
- ENCODING_SET_BYTES(interp, source_string, offset,
- replace_count, insert_string);
-
-}
-
-/*
-
-=item C<STRING * ascii_get_graphemes_inplace(PARROT_INTERP, STRING
-*source_string, UINTVAL offset, UINTVAL count, STRING *dest_string)>
-
-Retrieves the graphemes in place for ascii STRING C<source_string>,
-starting at C<offset>. Retrieves C<count> graphemes and puts them
-into C<dest_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-STRING *
-ascii_get_graphemes_inplace(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *dest_string))
-{
- ASSERT_ARGS(ascii_get_graphemes_inplace)
- return ENCODING_GET_BYTES_INPLACE(interp, source_string,
- offset, count, dest_string);
-}
-
-/*
-
-=item C<static STRING * to_ascii(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_ascii(PARROT_INTERP, STRING *src)>
Attempts to convert STRING C<src> to ASCII in STRING C<dest>. Throws
an exception if unconvertable UNICODE characters are involved.
@@ -259,7 +202,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_ascii(PARROT_INTERP, ARGIN(STRING *src), ARGMOD_NULLOK(STRING *dest))
+to_ascii(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_ascii)
String_iter iter;
@@ -267,13 +210,9 @@
unsigned char *p;
const UINTVAL len = src->strlen;
- if (dest) {
- Parrot_gc_reallocate_string_storage(interp, dest, len);
- }
- else {
- /* the string can't grow - replace inplace */
- dest = src;
- }
+ /* the string can't grow. Just clone it */
+ STRING * dest = Parrot_str_clone(interp, src);
+
p = (unsigned char *)dest->strstart;
ENCODING_ITER_INIT(interp, src, &iter);
for (offs = 0; offs < len; ++offs) {
@@ -292,35 +231,7 @@
/*
-=item C<static STRING * to_unicode(PARROT_INTERP, STRING *src, STRING *dest)>
-
-Converts the ASCII STRING C<src> to UNICODE STRING C<dest>.
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-to_unicode(PARROT_INTERP, ARGMOD(STRING *src), ARGMOD_NULLOK(STRING *dest))
-{
- ASSERT_ARGS(to_unicode)
- if (dest) {
- dest->charset = Parrot_unicode_charset_ptr;
- dest->encoding = CHARSET_GET_PREFERRED_ENCODING(interp, dest);
- Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
- return dest;
- }
- else {
- src->charset = Parrot_unicode_charset_ptr;
- src->encoding = CHARSET_GET_PREFERRED_ENCODING(interp, src);
- return src;
- }
-}
-
-/*
-
-=item C<static STRING * to_charset(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_charset(PARROT_INTERP, STRING *src)>
Converts STRING C<src> to ASCII charset STRING C<dest>.
@@ -330,17 +241,17 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_charset(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+to_charset(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
Parrot_find_charset_converter(interp, src->charset, Parrot_ascii_charset_ptr);
if (conversion_func) {
- return conversion_func(interp, src, dest);
+ return conversion_func(interp, src);
}
else {
- return to_ascii(interp, src, dest);
+ return to_ascii(interp, src);
}
}
@@ -361,7 +272,7 @@
compose(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(compose)
- return Parrot_str_copy(interp, src);
+ return src;
}
/* A noop. can't decompose ascii */
@@ -381,12 +292,12 @@
decompose(PARROT_INTERP, ARGMOD(STRING *src))
{
ASSERT_ARGS(decompose)
- return Parrot_str_copy(interp, src);
+ return src;
}
/*
-=item C<static void upcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
Converts the STRING C<source_string> to all uppercase.
@@ -394,25 +305,29 @@
*/
-static void
-upcase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(upcase)
+ STRING * const result = Parrot_str_clone(interp, source_string);
const UINTVAL n = source_string->strlen;
if (n) {
- char * const buffer = source_string->strstart;
+ char * const buffer = result->strstart;
UINTVAL offset;
for (offset = 0; offset < n; offset++) {
buffer[offset] = (char)toupper((unsigned char)buffer[offset]);
}
}
+
+ return result;
}
/*
-=item C<static void downcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
Converts the STRING C<source_string> to all lower-case.
@@ -420,25 +335,29 @@
*/
-static void
-downcase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(downcase)
- const UINTVAL n = source_string->strlen;
+ STRING *result = Parrot_str_clone(interp, source_string);
+ const UINTVAL n = source_string->strlen;
if (n) {
- char * const buffer = source_string->strstart;
+ char * const buffer = result->strstart;
UINTVAL offset;
for (offset = 0; offset < n; offset++) {
buffer[offset] = (char)tolower((unsigned char)buffer[offset]);
}
}
+
+ return result;
}
/*
-=item C<static void titlecase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
Converts the STRING given by C<source_string> to title case, where
the first character is upper case and all the rest of the characters
@@ -448,14 +367,16 @@
*/
-static void
-titlecase(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(titlecase)
- const UINTVAL n = source_string->strlen;
+ STRING *result = Parrot_str_clone(interp, source_string);
+ const UINTVAL n = source_string->strlen;
if (n) {
- char * const buffer = source_string->strstart;
+ char * const buffer = result->strstart;
UINTVAL offset;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
@@ -463,11 +384,13 @@
buffer[offset] = (char)tolower((unsigned char)buffer[offset]);
}
}
+
+ return result;
}
/*
-=item C<static void upcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
Sets the first character in the STRING C<source_string> to upper case,
but doesn't modify the rest of the string.
@@ -476,19 +399,25 @@
*/
-static void
-upcase_first(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(upcase_first)
- if (source_string->strlen) {
- char * const buffer = source_string->strstart;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (result->strlen) {
+ char * const buffer = result->strstart;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
}
+
+ return result;
}
/*
-=item C<static void downcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
+*source_string)>
Sets the first character of the STRING C<source_string> to lowercase,
but doesn't modify the rest of the characters.
@@ -497,19 +426,25 @@
*/
-static void
-downcase_first(SHIM_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(downcase_first)
- if (source_string->strlen) {
- char * const buffer = source_string->strstart;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (result->strlen) {
+ char * const buffer = result->strstart;
buffer[0] = (char)tolower((unsigned char)buffer[0]);
}
+
+ return result;
}
/*
-=item C<static void titlecase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
+*source_string)>
Converts the first letter of STRING C<source_string> to upper case,
but doesn't modify the rest of the string.
@@ -518,14 +453,19 @@
*/
-static void
-titlecase_first(SHIM_INTERP, ARGMOD(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(titlecase_first)
- if (source_string->strlen) {
- char * const buffer = source_string->strstart;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (result->strlen) {
+ char * const buffer = result->strstart;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
}
+
+ return result;
}
/*
@@ -550,8 +490,7 @@
const UINTVAL min_len = l_len > r_len ? r_len : l_len;
String_iter iter;
- if (lhs->encoding == Parrot_fixed_8_encoding_ptr &&
- rhs->encoding == Parrot_fixed_8_encoding_ptr) {
+ if (lhs->encoding == rhs->encoding) {
const int ret_val = memcmp(lhs->strstart, rhs->strstart, min_len);
if (ret_val)
return ret_val < 0 ? -1 : 1;
@@ -856,7 +795,7 @@
/*
-=item C<const CHARSET * Parrot_charset_ascii_init(PARROT_INTERP)>
+=item C<void Parrot_charset_ascii_init(PARROT_INTERP)>
Initialize the ASCII charset but registering all the necessary
function pointers and settings.
@@ -865,8 +804,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-const CHARSET *
+void
Parrot_charset_ascii_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_charset_ascii_init)
@@ -874,8 +812,6 @@
static const CHARSET base_set = {
"ascii",
ascii_get_graphemes,
- ascii_get_graphemes_inplace,
- set_graphemes,
to_charset,
compose,
decompose,
@@ -900,13 +836,13 @@
STRUCT_COPY_FROM_STRUCT(return_set, base_set);
return_set->preferred_encoding = Parrot_fixed_8_encoding_ptr;
Parrot_register_charset(interp, "ascii", return_set);
- return return_set;
+
+ return;
}
/*
-=item C<STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, STRING *src, STRING
-*dest)>
+=item C<STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, STRING *src)>
Converts an ASCII STRING C<src> to a binary STRING C<dest>.
@@ -916,29 +852,24 @@
PARROT_CANNOT_RETURN_NULL
STRING *
-charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(charset_cvt_ascii_to_binary)
- if (dest) {
- UINTVAL offs;
+ STRING *dest = Parrot_str_clone(interp, src);
+ UINTVAL offs;
- Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
- dest->bufused = src->bufused;
- dest->strlen = src->strlen;
- for (offs = 0; offs < src->strlen; ++offs) {
- const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
- ENCODING_SET_BYTE(interp, dest, offs, c);
- }
- return dest;
+ for (offs = 0; offs < src->strlen; ++offs) {
+ const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
+ ENCODING_SET_BYTE(interp, dest, offs, c);
}
- src->charset = Parrot_binary_charset_ptr;
- return src;
+
+ dest->charset = Parrot_binary_charset_ptr;
+ return dest;
}
/*
-=item C<STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, STRING *src,
-STRING *dest)>
+=item C<STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, STRING *src)>
Converts ASCII STRING C<src> to ISO8859-1 STRING C<dest>.
@@ -948,24 +879,19 @@
PARROT_CANNOT_RETURN_NULL
STRING *
-charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(charset_cvt_ascii_to_iso_8859_1)
- if (dest) {
- UINTVAL offs;
+ STRING * dest = Parrot_str_clone(interp, src);
+ UINTVAL offs;
- Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
- dest->bufused = src->bufused;
- dest->strlen = src->strlen;
- for (offs = 0; offs < src->strlen; ++offs) {
- const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
- ENCODING_SET_BYTE(interp, dest, offs, c);
- }
- return dest;
+ for (offs = 0; offs < src->strlen; ++offs) {
+ const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
+ ENCODING_SET_BYTE(interp, dest, offs, c);
}
- src->charset = Parrot_iso_8859_1_charset_ptr;
- return src;
+
+ dest->charset = Parrot_iso_8859_1_charset_ptr;
+ return dest;
}
/*
Modified: branches/runcore_purge/src/string/charset/ascii.h
==============================================================================
--- branches/runcore_purge/src/string/charset/ascii.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/ascii.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -61,29 +61,13 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-STRING * ascii_get_graphemes_inplace(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *dest_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*dest_string);
-
PARROT_CANNOT_RETURN_NULL
-STRING * charset_cvt_ascii_to_binary(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -96,8 +80,7 @@
__attribute__nonnull__(2)
__attribute__nonnull__(3);
-PARROT_CANNOT_RETURN_NULL
-const CHARSET * Parrot_charset_ascii_init(PARROT_INTERP)
+void Parrot_charset_ascii_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_ascii_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -117,10 +100,6 @@
#define ASSERT_ARGS_ascii_get_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_ascii_get_graphemes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(dest_string))
#define ASSERT_ARGS_charset_cvt_ascii_to_binary __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
Modified: branches/runcore_purge/src/string/charset/binary.c
==============================================================================
--- branches/runcore_purge/src/string/charset/binary.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/binary.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -51,10 +51,13 @@
static STRING* decompose(PARROT_INTERP, SHIM(STRING *source_string))
__attribute__nonnull__(1);
-static void downcase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase(PARROT_INTERP, SHIM(const STRING *source_string))
__attribute__nonnull__(1);
-static void downcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
static INTVAL find_cclass(SHIM_INTERP,
@@ -74,37 +77,31 @@
SHIM(const STRING *source_string),
SHIM(UINTVAL offset));
-static void set_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL replace_count,
- ARGMOD(STRING *insert_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*insert_string);
-
PARROT_CANNOT_RETURN_NULL
static STRING * string_from_codepoint(PARROT_INTERP, UINTVAL codepoint)
__attribute__nonnull__(1);
-static void titlecase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase(PARROT_INTERP, SHIM(const STRING *source_string))
__attribute__nonnull__(1);
-static void titlecase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* to_charset(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+static STRING* to_charset(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void upcase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase(PARROT_INTERP, SHIM(const STRING *source_string))
__attribute__nonnull__(1);
-static void upcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
static UINTVAL validate(SHIM_INTERP, SHIM(STRING *source_string));
@@ -124,10 +121,6 @@
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_find_not_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
-#define ASSERT_ARGS_set_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(insert_string))
#define ASSERT_ARGS_string_from_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_titlecase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -152,31 +145,10 @@
#define EXCEPTION(err, str) \
Parrot_ex_throw_from_c_args(interp, NULL, (err), (str))
-/*
-
-=item C<static void set_graphemes(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL replace_count, STRING *insert_string)>
-
-Sets the graphemes for STRING C<source_string>, starting at offset
-C<offset>. Replaces C<replace_count> graphemes from STRING
-C<insert_string>.
-
-=cut
-
-*/
-
-static void
-set_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL replace_count, ARGMOD(STRING *insert_string))
-{
- ASSERT_ARGS(set_graphemes)
- ENCODING_SET_BYTES(interp, source_string, offset,
- replace_count, insert_string);
-}
/*
-=item C<static STRING* to_charset(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING* to_charset(PARROT_INTERP, STRING *src)>
Converts the STRING C<src> to STRING C<dest> in binary mode. Throws
an exception if a suitable conversion function is not found.
@@ -187,14 +159,14 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-to_charset(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+to_charset(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_charset)
charset_converter_t conversion_func =
Parrot_find_charset_converter(interp, src->charset, Parrot_binary_charset_ptr);
if (conversion_func)
- return conversion_func(interp, src, dest);
+ return conversion_func(interp, src);
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
"to_charset for binary not implemented");
@@ -240,7 +212,7 @@
/*
-=item C<static void upcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
Throws an exception because we cannot convert a binary string to
upper case.
@@ -249,8 +221,9 @@
*/
-static void
-upcase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(upcase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't upcase binary data");
@@ -258,7 +231,7 @@
/*
-=item C<static void downcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
Throws an exception because we cannot convert a binary string to
lower-case.
@@ -267,8 +240,9 @@
*/
-static void
-downcase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(downcase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't downcase binary data");
@@ -276,7 +250,7 @@
/*
-=item C<static void titlecase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
Throws an exception because we cannot convert a binary string to
title case.
@@ -285,8 +259,9 @@
*/
-static void
-titlecase(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(titlecase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't titlecase binary data");
@@ -294,7 +269,7 @@
/*
-=item C<static void upcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
Throws an exception because we cannot set the first "character" of the
binary string to uppercase.
@@ -303,8 +278,9 @@
*/
-static void
-upcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(upcase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't upcase binary data");
@@ -312,7 +288,8 @@
/*
-=item C<static void downcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
+*source_string)>
Throws an exception because we cannot set the first "character"
of the binary string to lowercase.
@@ -321,8 +298,9 @@
*/
-static void
-downcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(downcase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't downcase binary data");
@@ -330,7 +308,8 @@
/*
-=item C<static void titlecase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
+*source_string)>
Throws an exception because we can't convert the first "character"
of binary data to title case.
@@ -339,8 +318,9 @@
*/
-static void
-titlecase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(titlecase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't titlecase binary data");
@@ -500,7 +480,7 @@
/*
-=item C<const CHARSET * Parrot_charset_binary_init(PARROT_INTERP)>
+=item C<void Parrot_charset_binary_init(PARROT_INTERP)>
Initialize the binary charset, including function pointers and
settings.
@@ -509,8 +489,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-const CHARSET *
+void
Parrot_charset_binary_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_charset_binary_init)
@@ -518,8 +497,6 @@
static const CHARSET base_set = {
"binary",
ascii_get_graphemes,
- ascii_get_graphemes_inplace,
- set_graphemes,
to_charset,
compose,
decompose,
@@ -544,7 +521,8 @@
STRUCT_COPY_FROM_STRUCT(return_set, base_set);
return_set->preferred_encoding = Parrot_fixed_8_encoding_ptr;
Parrot_register_charset(interp, "binary", return_set);
- return return_set;
+
+ return;
}
Modified: branches/runcore_purge/src/string/charset/binary.h
==============================================================================
--- branches/runcore_purge/src/string/charset/binary.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/binary.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,8 +16,7 @@
/* HEADERIZER BEGIN: src/string/charset/binary.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-const CHARSET * Parrot_charset_binary_init(PARROT_INTERP)
+void Parrot_charset_binary_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_charset_binary_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/charset/iso-8859-1.c
==============================================================================
--- branches/runcore_purge/src/string/charset/iso-8859-1.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/iso-8859-1.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -35,11 +35,14 @@
static STRING* decompose(PARROT_INTERP, SHIM(STRING *src))
__attribute__nonnull__(1);
-static void downcase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void downcase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -66,57 +69,45 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-static void set_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL replace_count,
- ARGMOD(STRING *insert_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*insert_string);
-
PARROT_CANNOT_RETURN_NULL
static STRING * string_from_codepoint(PARROT_INTERP, UINTVAL codepoint)
__attribute__nonnull__(1);
-static void titlecase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void titlecase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-static STRING * to_charset(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+static STRING * to_charset(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_iso_8859_1(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+static STRING * to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_unicode(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+static STRING * to_unicode(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
-static void upcase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void upcase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase_first(PARROT_INTERP,
+ ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -144,10 +135,6 @@
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_set_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(insert_string))
#define ASSERT_ARGS_string_from_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_titlecase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -181,28 +168,7 @@
/*
-=item C<static void set_graphemes(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL replace_count, STRING *insert_string)>
-
-Sets C<replace_count> graphemes in STRING C<source_string> starting at offset C<offset>.
-Gets the replacement graphemes from STRING C<insert_string>.
-
-=cut
-
-*/
-
-static void
-set_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL replace_count, ARGMOD(STRING *insert_string))
-{
- ASSERT_ARGS(set_graphemes)
- ENCODING_SET_BYTES(interp, source_string, offset,
- replace_count, insert_string);
-}
-
-/*
-
-=item C<static STRING * to_iso_8859_1(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_iso_8859_1(PARROT_INTERP, STRING *src)>
Converts STRING C<src> to iso-8859-1 in STRING C<dest>.
@@ -212,22 +178,16 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src), ARGMOD_NULLOK(STRING *dest))
+to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_iso_8859_1)
UINTVAL offs, src_len;
String_iter iter;
+ /* iso-8859-1 is never bigger then source */
+ STRING * dest = Parrot_str_clone(interp, src);
ENCODING_ITER_INIT(interp, src, &iter);
src_len = src->strlen;
- if (dest) {
- Parrot_gc_reallocate_string_storage(interp, dest, src_len);
- dest->strlen = src_len;
- }
- else {
- /* iso-8859-1 is never bigger then source */
- dest = src;
- }
dest->bufused = src_len;
dest->charset = Parrot_iso_8859_1_charset_ptr;
dest->encoding = Parrot_fixed_8_encoding_ptr;
@@ -244,7 +204,7 @@
/*
-=item C<static STRING * to_unicode(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_unicode(PARROT_INTERP, STRING *src)>
Converts STRING C<src> to unicode STRING C<dest>.
@@ -254,40 +214,37 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_unicode(PARROT_INTERP, ARGIN(STRING *src), ARGMOD_NULLOK(STRING *dest))
+to_unicode(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_unicode)
- if (dest) {
- UINTVAL offs;
- String_iter iter;
-
- dest->charset = Parrot_unicode_charset_ptr;
- dest->encoding = CHARSET_GET_PREFERRED_ENCODING(interp, dest);
- Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
- ENCODING_ITER_INIT(interp, dest, &iter);
- for (offs = 0; offs < src->strlen; ++offs) {
- const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
-
- if (iter.bytepos >= Buffer_buflen(dest) - 4) {
- UINTVAL need = (UINTVAL)((src->strlen - offs) * 1.5);
- if (need < 16)
- need = 16;
- Parrot_gc_reallocate_string_storage(interp, dest,
- Buffer_buflen(dest) + need);
- }
- iter.set_and_advance(interp, &iter, c);
+ STRING * dest = Parrot_str_clone(interp, src);
+ UINTVAL offs;
+ String_iter iter;
+
+ dest->charset = Parrot_unicode_charset_ptr;
+ dest->encoding = CHARSET_GET_PREFERRED_ENCODING(interp, dest);
+ Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
+ ENCODING_ITER_INIT(interp, dest, &iter);
+ for (offs = 0; offs < src->strlen; ++offs) {
+ const UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
+
+ if (iter.bytepos >= Buffer_buflen(dest) - 4) {
+ UINTVAL need = (UINTVAL)((src->strlen - offs) * 1.5);
+ if (need < 16)
+ need = 16;
+ Parrot_gc_reallocate_string_storage(interp, dest,
+ Buffer_buflen(dest) + need);
}
- dest->bufused = iter.bytepos;
- dest->strlen = iter.charpos;
- return dest;
+ iter.set_and_advance(interp, &iter, c);
}
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
- "to_unicode inplace for iso-8859-1 not implemented");
+ dest->bufused = iter.bytepos;
+ dest->strlen = iter.charpos;
+ return dest;
}
/*
-=item C<static STRING * to_charset(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_charset(PARROT_INTERP, STRING *src)>
Converts the STRING C<src> to an ISO-8859-1 STRING C<dest>.
@@ -298,16 +255,16 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
static STRING *
-to_charset(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+to_charset(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
Parrot_find_charset_converter(interp, src->charset, Parrot_iso_8859_1_charset_ptr);
if (conversion_func)
- return conversion_func(interp, src, dest);
+ return conversion_func(interp, src);
else
- return to_iso_8859_1(interp, src, dest);
+ return to_iso_8859_1(interp, src);
}
@@ -329,7 +286,7 @@
compose(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(compose)
- return Parrot_str_copy(interp, src);
+ return src;
}
/*
@@ -353,7 +310,7 @@
/*
-=item C<static void upcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
Convert all graphemes in the STRING C<source_string> to upper case, for those
graphemes that support cases.
@@ -362,19 +319,20 @@
*/
-static void
-upcase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(upcase)
unsigned char *buffer;
- UINTVAL offset = 0;
+ UINTVAL offset = 0;
+ STRING *result = Parrot_str_clone(interp, source_string);
- if (!source_string->strlen)
- return;
+ if (!result->strlen)
+ return result;
- Parrot_str_write_COW(interp, source_string);
- buffer = (unsigned char *)source_string->strstart;
- for (offset = 0; offset < source_string->strlen; offset++) {
+ buffer = (unsigned char *)result->strstart;
+ for (offset = 0; offset < result->strlen; offset++) {
unsigned int c = buffer[offset]; /* XXX use encoding ? */
if (c >= 0xe0 && c != 0xf7)
c &= ~0x20;
@@ -382,11 +340,13 @@
c = toupper((unsigned char)c);
buffer[offset] = (unsigned char)c;
}
+
+ return result;
}
/*
-=item C<static void downcase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
Converts all graphemes in STRING C<source_string> to lower-case, for those graphemes
that support cases.
@@ -395,30 +355,34 @@
*/
-static void
-downcase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(downcase)
- if (source_string->strlen) {
- UINTVAL offset;
- unsigned char *buffer;
-
- Parrot_str_write_COW(interp, source_string);
- buffer = (unsigned char *)source_string->strstart;
- for (offset = 0; offset < source_string->strlen; offset++) {
- unsigned int c = buffer[offset];
- if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
- c |= 0x20;
- else
- c = tolower((unsigned char)c);
- buffer[offset] = (unsigned char)c;
- }
+ unsigned char *buffer;
+ UINTVAL offset = 0;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (!result->strlen)
+ return result;
+
+ buffer = (unsigned char *)result->strstart;
+ for (offset = 0; offset < result->strlen; offset++) {
+ unsigned int c = buffer[offset];
+ if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
+ c |= 0x20;
+ else
+ c = tolower((unsigned char)c);
+ buffer[offset] = (unsigned char)c;
}
+
+ return result;
}
/*
-=item C<static void titlecase(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
Converts the graphemes in STRING C<source_string> to title case, for those graphemes
that support cases.
@@ -427,19 +391,20 @@
*/
-static void
-titlecase(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(titlecase)
unsigned char *buffer;
- unsigned int c;
- UINTVAL offset;
+ unsigned int c;
+ UINTVAL offset;
+ STRING *result = Parrot_str_clone(interp, source_string);
- if (!source_string->strlen)
- return;
+ if (!result->strlen)
+ return result;
- Parrot_str_write_COW(interp, source_string);
- buffer = (unsigned char *)source_string->strstart;
+ buffer = (unsigned char *)result->strstart;
c = buffer[0];
if (c >= 0xe0 && c != 0xf7)
c &= ~0x20;
@@ -447,7 +412,7 @@
c = toupper((unsigned char)c);
buffer[0] = (unsigned char)c;
- for (offset = 1; offset < source_string->strlen; offset++) {
+ for (offset = 1; offset < result->strlen; offset++) {
c = buffer[offset];
if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
c |= 0x20;
@@ -455,11 +420,13 @@
c = tolower((unsigned char)c);
buffer[offset] = (unsigned char)c;
}
+
+ return result;
}
/*
-=item C<static void upcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
Converts the first grapheme in STRING C<source_string> to upper case, if it
supports cases.
@@ -468,28 +435,33 @@
*/
-static void
-upcase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(upcase_first)
- if (source_string->strlen) {
- unsigned char *buffer;
- unsigned int c;
-
- Parrot_str_write_COW(interp, source_string);
- buffer = (unsigned char *)source_string->strstart;
- c = buffer[0];
- if (c >= 0xe0 && c != 0xf7)
- c &= ~0x20;
- else
- c = toupper((unsigned char)c);
- buffer[0] = (unsigned char)c;
- }
+ unsigned char *buffer;
+ unsigned int c;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (!result->strlen)
+ return result;
+
+ buffer = (unsigned char *)result->strstart;
+ c = buffer[0];
+ if (c >= 0xe0 && c != 0xf7)
+ c &= ~0x20;
+ else
+ c = toupper((unsigned char)c);
+ buffer[0] = (unsigned char)c;
+
+ return result;
}
/*
-=item C<static void downcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
+*source_string)>
Converts the first character of the STRING C<source_string> to lower case, if the
grapheme supports lower case.
@@ -498,28 +470,33 @@
*/
-static void
-downcase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(downcase_first)
- if (source_string->strlen) {
- unsigned char *buffer;
- unsigned int c;
-
- Parrot_str_write_COW(interp, source_string);
- buffer = (unsigned char *)source_string->strstart;
- c = buffer[0];
- if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
- c &= ~0x20;
- else
- c = tolower((unsigned char)c);
- buffer[0] = (unsigned char)c;
- }
+ unsigned char *buffer;
+ unsigned int c;
+ STRING *result = Parrot_str_clone(interp, source_string);
+
+ if (!result->strlen)
+ return result;
+
+ buffer = (unsigned char *)result->strstart;
+ c = buffer[0];
+ if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
+ c &= ~0x20;
+ else
+ c = tolower((unsigned char)c);
+ buffer[0] = (unsigned char)c;
+
+ return result;
}
/*
-=item C<static void titlecase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
+*source_string)>
Converts the first grapheme in STRING C<source_string> to title case, if the grapheme
supports case.
@@ -528,11 +505,12 @@
*/
-static void
-titlecase_first(PARROT_INTERP, ARGIN(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(titlecase_first)
- upcase_first(interp, source_string);
+ return upcase_first(interp, source_string);
}
@@ -662,7 +640,7 @@
/*
-=item C<const CHARSET * Parrot_charset_iso_8859_1_init(PARROT_INTERP)>
+=item C<void Parrot_charset_iso_8859_1_init(PARROT_INTERP)>
Initializes the ISO-8859-1 charset by installing all the necessary function pointers.
@@ -670,8 +648,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-const CHARSET *
+void
Parrot_charset_iso_8859_1_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_charset_iso_8859_1_init)
@@ -679,8 +656,6 @@
static const CHARSET base_set = {
"iso-8859-1",
ascii_get_graphemes,
- ascii_get_graphemes_inplace,
- set_graphemes,
to_charset,
compose,
decompose,
@@ -705,13 +680,13 @@
STRUCT_COPY_FROM_STRUCT(return_set, base_set);
return_set->preferred_encoding = Parrot_fixed_8_encoding_ptr;
Parrot_register_charset(interp, "iso-8859-1", return_set);
- return return_set;
+
+ return;
}
/*
-=item C<STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, STRING *src,
-STRING *dest)>
+=item C<STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, STRING *src)>
Converts STRING C<src> in ISO-8859-1 to ASCII STRING C<dest>.
@@ -722,29 +697,21 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING *
-charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(charset_cvt_iso_8859_1_to_ascii)
UINTVAL offs;
- if (dest) {
- Parrot_gc_reallocate_string_storage(interp, dest, src->strlen);
- dest->bufused = src->bufused;
- dest->strlen = src->strlen;
- }
+ STRING *dest = Parrot_str_clone(interp, src);
+
for (offs = 0; offs < src->strlen; ++offs) {
UINTVAL c = ENCODING_GET_BYTE(interp, src, offs);
if (c >= 0x80)
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LOSSY_CONVERSION,
"lossy conversion to ascii");
- if (dest)
- ENCODING_SET_BYTE(interp, dest, offs, c);
+ ENCODING_SET_BYTE(interp, dest, offs, c);
}
- if (dest)
- return dest;
- src->charset = Parrot_ascii_charset_ptr;
- return src;
+ return dest;
}
/*
Modified: branches/runcore_purge/src/string/charset/iso-8859-1.h
==============================================================================
--- branches/runcore_purge/src/string/charset/iso-8859-1.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/iso-8859-1.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -18,15 +18,11 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
-PARROT_CANNOT_RETURN_NULL
-const CHARSET * Parrot_charset_iso_8859_1_init(PARROT_INTERP)
+void Parrot_charset_iso_8859_1_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_charset_cvt_iso_8859_1_to_ascii \
Modified: branches/runcore_purge/src/string/charset/unicode.c
==============================================================================
--- branches/runcore_purge/src/string/charset/unicode.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/unicode.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -54,11 +54,14 @@
static STRING* decompose(PARROT_INTERP, SHIM(STRING *src))
__attribute__nonnull__(1);
-static void downcase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void downcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* downcase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
static INTVAL find_cclass(PARROT_INTERP,
@@ -85,17 +88,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_graphemes_inplace(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *dest_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*dest_string);
-
static INTVAL is_cclass(PARROT_INTERP,
INTVAL flags,
ARGIN(const STRING *source_string),
@@ -103,42 +95,36 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-static void set_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL replace_count,
- ARGMOD(STRING *insert_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*insert_string);
-
PARROT_CANNOT_RETURN_NULL
static STRING * string_from_codepoint(PARROT_INTERP, UINTVAL codepoint)
__attribute__nonnull__(1);
-static void titlecase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void titlecase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* titlecase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* to_charset(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+static STRING* to_charset(PARROT_INTERP, ARGIN(STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
static int u_iscclass(PARROT_INTERP, UINTVAL codepoint, INTVAL flags)
__attribute__nonnull__(1);
-static void upcase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void upcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING* upcase_first(PARROT_INTERP,
+ SHIM(const STRING *source_string))
__attribute__nonnull__(1);
static UINTVAL validate(PARROT_INTERP, ARGIN(STRING *src))
@@ -173,17 +159,9 @@
#define ASSERT_ARGS_get_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_get_graphemes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(dest_string))
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_set_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(insert_string))
#define ASSERT_ARGS_string_from_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_titlecase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -223,27 +201,6 @@
#define UNIMPL EXCEPTION(EXCEPTION_UNIMPLEMENTED, "unimplemented unicode")
-/*
-
-=item C<static void set_graphemes(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL replace_count, STRING *insert_string)>
-
-Sets C<replace_count> graphemes in STRING C<source_string> starting at offset
-C<offset>. Gets the graphemes to be replaced from STRING C<insert_string>.
-
-=cut
-
-*/
-
-static void
-set_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL replace_count, ARGMOD(STRING *insert_string))
-{
- ASSERT_ARGS(set_graphemes)
- ENCODING_SET_CODEPOINTS(interp, source_string, offset,
- replace_count, insert_string);
-}
-
/*
@@ -269,30 +226,7 @@
/*
-=item C<static STRING * get_graphemes_inplace(PARROT_INTERP, STRING
-*source_string, UINTVAL offset, UINTVAL count, STRING *dest_string)>
-
-Gets C<count> graphemes in place from STRING C<source_string> starting at
-offset C<offset>. Puts them into STRING C<dest_string>.
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_graphemes_inplace(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *dest_string))
-{
- ASSERT_ARGS(get_graphemes_inplace)
- return ENCODING_GET_CODEPOINTS_INPLACE(interp, source_string,
- offset, count, dest_string);
-}
-
-
-/*
-
-=item C<static STRING* to_charset(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING* to_charset(PARROT_INTERP, STRING *src)>
Converts input STRING C<src> to unicode STRING C<dest>.
@@ -302,7 +236,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-to_charset(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+to_charset(PARROT_INTERP, ARGIN(STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
@@ -310,9 +244,9 @@
Parrot_unicode_charset_ptr);
if (conversion_func)
- return conversion_func(interp, src, dest);
+ return conversion_func(interp, src);
- return Parrot_utf8_encoding_ptr->to_encoding(interp, src, dest);
+ return Parrot_utf8_encoding_ptr->to_encoding(interp, src);
}
@@ -401,7 +335,7 @@
/*
-=item C<static void upcase(PARROT_INTERP, STRING *src)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *src)>
Converts the STRING C<src> to all upper-case graphemes, for those characters
which support upper-case versions.
@@ -412,23 +346,25 @@
*/
-static void
-upcase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(upcase)
#if PARROT_HAS_ICU
UErrorCode err;
int dest_len, src_len, needed;
+ STRING *res;
#endif
if (src->bufused == src->strlen
&& src->encoding == Parrot_utf8_encoding_ptr) {
- Parrot_ascii_charset_ptr->upcase(interp, src);
- return;
+ return Parrot_ascii_charset_ptr->upcase(interp, src);
}
#if PARROT_HAS_ICU
- src = Parrot_utf16_encoding_ptr->to_encoding(interp, src, NULL);
+ /* to_encoding will allocate new string */
+ res = Parrot_utf16_encoding_ptr->to_encoding(interp, src);
/*
U_CAPI int32_t U_EXPORT2
u_strToUpper(UChar *dest, int32_t destCapacity,
@@ -440,8 +376,8 @@
/* use all available space - see below XXX */
/* TODO downcase, titlecase too */
- dest_len = Buffer_buflen(src) / sizeof (UChar);
- src_len = src->bufused / sizeof (UChar);
+ dest_len = Buffer_buflen(res) / sizeof (UChar);
+ src_len = res->bufused / sizeof (UChar);
/*
* XXX troubles:
@@ -460,33 +396,35 @@
* TODO downcase, titlecase
*/
needed = u_strToUpper(NULL, 0,
- (UChar *)src->strstart, src_len,
+ (UChar *)res->strstart, src_len,
NULL, /* locale = default */
&err);
if (needed > dest_len) {
- Parrot_gc_reallocate_string_storage(interp, src, needed * sizeof (UChar));
+ Parrot_gc_reallocate_string_storage(interp, res, needed * sizeof (UChar));
dest_len = needed;
}
err = U_ZERO_ERROR;
- dest_len = u_strToUpper((UChar *)src->strstart, dest_len,
- (UChar *)src->strstart, src_len,
+ dest_len = u_strToUpper((UChar *)res->strstart, dest_len,
+ (UChar *)res->strstart, src_len,
NULL, /* locale = default */
&err);
PARROT_ASSERT(U_SUCCESS(err));
- src->bufused = dest_len * sizeof (UChar);
+ res->bufused = dest_len * sizeof (UChar);
/* downgrade if possible */
if (dest_len == (int)src->strlen)
- src->encoding = Parrot_ucs2_encoding_ptr;
+ res->encoding = Parrot_ucs2_encoding_ptr;
else {
/* string is likely still ucs2 if it was earlier
* but strlen changed due to combining char
*/
- src->strlen = dest_len;
+ res->strlen = dest_len;
}
+ return res;
+
#else
UNUSED(src);
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
@@ -497,7 +435,7 @@
/*
-=item C<static void downcase(PARROT_INTERP, STRING *src)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *src)>
Converts all graphemes to lower-case, for those graphemes which have cases.
@@ -507,23 +445,25 @@
*/
-static void
-downcase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(downcase)
#if PARROT_HAS_ICU
UErrorCode err;
int dest_len, src_len;
+ STRING *res;
#endif
if (src->bufused == src->strlen
&& src->encoding == Parrot_utf8_encoding_ptr) {
- Parrot_ascii_charset_ptr->downcase(interp, src);
- return;
+ return Parrot_ascii_charset_ptr->downcase(interp, src);
}
#if PARROT_HAS_ICU
- src = Parrot_utf16_encoding_ptr->to_encoding(interp, src, NULL);
+ /* to_encoding will allocate new string */
+ res = Parrot_utf16_encoding_ptr->to_encoding(interp, src);
/*
U_CAPI int32_t U_EXPORT2
u_strToLower(UChar *dest, int32_t destCapacity,
@@ -532,26 +472,29 @@
UErrorCode *pErrorCode);
*/
err = U_ZERO_ERROR;
- src_len = src->bufused / sizeof (UChar);
- dest_len = u_strToLower((UChar *)src->strstart, src_len,
- (UChar *)src->strstart, src_len,
+ src_len = res->bufused / sizeof (UChar);
+ dest_len = u_strToLower((UChar *)res->strstart, src_len,
+ (UChar *)res->strstart, src_len,
NULL, /* locale = default */
&err);
- src->bufused = dest_len * sizeof (UChar);
+ res->bufused = dest_len * sizeof (UChar);
if (!U_SUCCESS(err)) {
err = U_ZERO_ERROR;
- Parrot_gc_reallocate_string_storage(interp, src, src->bufused);
- dest_len = u_strToLower((UChar *)src->strstart, dest_len,
- (UChar *)src->strstart, src_len,
+ Parrot_gc_reallocate_string_storage(interp, res, res->bufused);
+ dest_len = u_strToLower((UChar *)res->strstart, dest_len,
+ (UChar *)res->strstart, src_len,
NULL, /* locale = default */
&err);
PARROT_ASSERT(U_SUCCESS(err));
}
/* downgrade if possible */
- if (dest_len == (int)src->strlen)
- src->encoding = Parrot_ucs2_encoding_ptr;
+ if (dest_len == (int)res->strlen)
+ res->encoding = Parrot_ucs2_encoding_ptr;
+
+ return res;
+
#else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
"no ICU lib loaded");
@@ -561,7 +504,7 @@
/*
-=item C<static void titlecase(PARROT_INTERP, STRING *src)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *src)>
Converts the string to title case, for those characters which support cases.
@@ -571,22 +514,24 @@
*/
-static void
-titlecase(PARROT_INTERP, ARGIN(STRING *src))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(titlecase)
#if PARROT_HAS_ICU
UErrorCode err;
int dest_len, src_len;
+ STRING *res;
if (src->bufused == src->strlen
&& src->encoding == Parrot_utf8_encoding_ptr) {
- Parrot_ascii_charset_ptr->titlecase(interp, src);
- return;
+ return Parrot_ascii_charset_ptr->titlecase(interp, src);
}
- src = Parrot_utf16_encoding_ptr->to_encoding(interp, src, NULL);
+ /* to_encoding will allocate new string */
+ res = Parrot_utf16_encoding_ptr->to_encoding(interp, src);
/*
U_CAPI int32_t U_EXPORT2
@@ -598,27 +543,30 @@
*/
err = U_ZERO_ERROR;
- src_len = src->bufused / sizeof (UChar);
- dest_len = u_strToTitle((UChar *)src->strstart, src_len,
- (UChar *)src->strstart, src_len,
+ src_len = res->bufused / sizeof (UChar);
+ dest_len = u_strToTitle((UChar *)res->strstart, src_len,
+ (UChar *)res->strstart, src_len,
NULL, /* default titleiter */
NULL, /* locale = default */
&err);
- src->bufused = dest_len * sizeof (UChar);
+ res->bufused = dest_len * sizeof (UChar);
if (!U_SUCCESS(err)) {
err = U_ZERO_ERROR;
- Parrot_gc_reallocate_string_storage(interp, src, src->bufused);
- dest_len = u_strToTitle((UChar *)src->strstart, dest_len,
- (UChar *)src->strstart, src_len,
+ Parrot_gc_reallocate_string_storage(interp, res, res->bufused);
+ dest_len = u_strToTitle((UChar *)res->strstart, dest_len,
+ (UChar *)res->strstart, src_len,
NULL, NULL,
&err);
PARROT_ASSERT(U_SUCCESS(err));
}
/* downgrade if possible */
- if (dest_len == (int)src->strlen)
- src->encoding = Parrot_ucs2_encoding_ptr;
+ if (dest_len == (int)res->strlen)
+ res->encoding = Parrot_ucs2_encoding_ptr;
+
+ return res;
+
#else
UNUSED(src);
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_LIBRARY_ERROR,
@@ -629,7 +577,7 @@
/*
-=item C<static void upcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
Converts the first grapheme in the STRING C<source_string> to uppercase, if the
grapheme supports it. Not implemented.
@@ -638,8 +586,9 @@
*/
-static void
-upcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+upcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(upcase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -649,7 +598,8 @@
/*
-=item C<static void downcase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
+*source_string)>
Converts the first grapheme in the STRING C<source_string> to lower-case, if
the grapheme supports it. Not implemented
@@ -658,8 +608,9 @@
*/
-static void
-downcase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+downcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(downcase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -669,7 +620,8 @@
/*
-=item C<static void titlecase_first(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
+*source_string)>
Converts the first grapheme in STRING C<source_string> to title case, if the
string supports it. Not implemented.
@@ -678,8 +630,9 @@
*/
-static void
-titlecase_first(PARROT_INTERP, SHIM(STRING *source_string))
+PARROT_CANNOT_RETURN_NULL
+static STRING*
+titlecase_first(PARROT_INTERP, SHIM(const STRING *source_string))
{
ASSERT_ARGS(titlecase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -1064,7 +1017,7 @@
/*
-=item C<const CHARSET * Parrot_charset_unicode_init(PARROT_INTERP)>
+=item C<void Parrot_charset_unicode_init(PARROT_INTERP)>
Initializes the Unicode charset by installing all the necessary function
pointers.
@@ -1073,8 +1026,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-const CHARSET *
+void
Parrot_charset_unicode_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_charset_unicode_init)
@@ -1082,8 +1034,6 @@
static const CHARSET base_set = {
"unicode",
get_graphemes,
- get_graphemes_inplace,
- set_graphemes,
to_charset,
compose,
decompose,
@@ -1115,7 +1065,8 @@
*/
return_set->preferred_encoding = Parrot_utf8_encoding_ptr;
Parrot_register_charset(interp, "unicode", return_set);
- return return_set;
+
+ return;
}
Modified: branches/runcore_purge/src/string/charset/unicode.h
==============================================================================
--- branches/runcore_purge/src/string/charset/unicode.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/charset/unicode.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -21,8 +21,7 @@
/* HEADERIZER BEGIN: src/string/charset/unicode.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-const CHARSET * Parrot_charset_unicode_init(PARROT_INTERP)
+void Parrot_charset_unicode_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_charset_unicode_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/encoding/fixed_8.c
==============================================================================
--- branches/runcore_purge/src/string/encoding/fixed_8.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/fixed_8.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -24,13 +24,10 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void become_encoding(PARROT_INTERP, SHIM(STRING *source_string))
- __attribute__nonnull__(1);
-
-static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *source_string))
+static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *source_string))
__attribute__nonnull__(2);
-static UINTVAL codepoints(PARROT_INTERP, ARGIN(STRING *source_string))
+static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *source_string))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -83,18 +80,6 @@
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_bytes_inplace(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *return_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*return_string);
-
-PARROT_WARN_UNUSED_RESULT
static UINTVAL get_codepoint(PARROT_INTERP,
ARGIN(const STRING *source_string),
UINTVAL offset)
@@ -110,18 +95,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_codepoints_inplace(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *dest_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*dest_string);
-
static void iter_init(SHIM_INTERP,
ARGIN(const STRING *src),
ARGOUT(String_iter *iter))
@@ -136,42 +109,11 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void set_bytes(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *new_bytes))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*new_bytes);
-
-static void set_codepoint(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL codepoint)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-static void set_codepoints(PARROT_INTERP,
- ARGIN(STRING *source_string),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *new_codepoints))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*new_codepoints);
-
PARROT_DOES_NOT_RETURN
PARROT_CANNOT_RETURN_NULL
-static STRING * to_encoding(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(STRING *dest))
+static STRING * to_encoding(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -195,37 +137,18 @@
#define ASSERT_ARGS_get_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_get_bytes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(return_string))
#define ASSERT_ARGS_get_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
#define ASSERT_ARGS_get_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_get_codepoints_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(dest_string))
#define ASSERT_ARGS_iter_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(iter))
#define ASSERT_ARGS_set_byte __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_set_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(new_bytes))
-#define ASSERT_ARGS_set_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
-#define ASSERT_ARGS_set_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
- , PARROT_ASSERT_ARG(new_codepoints))
#define ASSERT_ARGS_to_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -236,7 +159,7 @@
/*
-=item C<static STRING * to_encoding(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_encoding(PARROT_INTERP, const STRING *src)>
Converts the string C<src> to this particular encoding. If C<dest> is
provided, it will contain the result. Otherwise this function operates in
@@ -250,7 +173,7 @@
PARROT_DOES_NOT_RETURN
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_encoding(PARROT_INTERP, SHIM(STRING *src), SHIM(STRING *dest))
+to_encoding(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(to_encoding)
UNIMPL;
@@ -277,25 +200,6 @@
return get_byte(interp, source_string, offset);
}
-/*
-
-=item C<static void set_codepoint(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL codepoint)>
-
-This is the same as set byte
-
-=cut
-
-*/
-
-static void
-set_codepoint(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL codepoint)
-{
- ASSERT_ARGS(set_codepoint)
- set_byte(interp, source_string, offset, codepoint);
-}
-
/*
@@ -419,8 +323,8 @@
get_bytes(PARROT_INTERP, ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_bytes)
- STRING * const return_string = Parrot_str_new_COW(interp,
- source_string);
+ STRING * const return_string = Parrot_str_copy(interp, source_string);
+
return_string->encoding = source_string->encoding;
return_string->charset = source_string->charset;
@@ -436,117 +340,7 @@
/*
-=item C<static STRING * get_codepoints_inplace(PARROT_INTERP, STRING
-*source_string, UINTVAL offset, UINTVAL count, STRING *dest_string)>
-
-Gets from string C<src> at position C<offset> C<count> codepoints and returns
-them in C<return_string>. (Delegates to C<get_bytes>.)
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_codepoints_inplace(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *dest_string))
-{
- ASSERT_ARGS(get_codepoints_inplace)
- return get_bytes_inplace(interp, source_string, offset,
- count, dest_string);
-}
-
-/*
-
-=item C<static STRING * get_bytes_inplace(PARROT_INTERP, STRING *source_string,
-UINTVAL offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> bytes and returns them
-in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_bytes_inplace(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *return_string))
-{
- ASSERT_ARGS(get_bytes_inplace)
- Parrot_str_reuse_COW(interp, source_string, return_string);
-
- return_string->strstart = (char *)return_string->strstart + offset ;
- return_string->bufused = count;
-
- return_string->strlen = count;
- return_string->hashval = 0;
-
- return return_string;
-}
-
-/*
-
-=item C<static void set_codepoints(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL count, STRING *new_codepoints)>
-
-Delegate to set_bytes
-
-=cut
-
-*/
-
-static void
-set_codepoints(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *new_codepoints))
-{
- ASSERT_ARGS(set_codepoints)
- set_bytes(interp, source_string, offset, count, new_codepoints);
-}
-
-/*
-
-=item C<static void set_bytes(PARROT_INTERP, STRING *source_string, UINTVAL
-offset, UINTVAL count, STRING *new_bytes)>
-
-Replaces in string C<src> at position C<offset> for C<count> bytes with the
-contents of string C<new_bytes>.
-
-=cut
-
-*/
-
-static void
-set_bytes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *new_bytes))
-{
- ASSERT_ARGS(set_bytes)
- Parrot_str_replace(interp, source_string, offset, count, new_bytes, NULL);
-}
-
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *source_string)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *source_string))
-{
- ASSERT_ARGS(become_encoding)
- UNIMPL;
-}
-
-
-/*
-
-=item C<static UINTVAL codepoints(PARROT_INTERP, STRING *source_string)>
+=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *source_string)>
Returns the number of codepoints in string C<src>.
@@ -555,7 +349,7 @@
*/
static UINTVAL
-codepoints(PARROT_INTERP, ARGIN(STRING *source_string))
+codepoints(PARROT_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(codepoints)
return bytes(interp, source_string);
@@ -563,7 +357,7 @@
/*
-=item C<static UINTVAL bytes(PARROT_INTERP, STRING *source_string)>
+=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *source_string)>
Returns the number of bytes in string C<src>.
@@ -572,7 +366,7 @@
*/
static UINTVAL
-bytes(SHIM_INTERP, ARGIN(STRING *source_string))
+bytes(SHIM_INTERP, ARGIN(const STRING *source_string))
{
ASSERT_ARGS(bytes)
return source_string->bufused;
@@ -693,7 +487,7 @@
/*
-=item C<ENCODING * Parrot_encoding_fixed_8_init(PARROT_INTERP)>
+=item C<void Parrot_encoding_fixed_8_init(PARROT_INTERP)>
Initializes the fixed-8 encoding.
@@ -701,8 +495,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-ENCODING *
+void
Parrot_encoding_fixed_8_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_encoding_fixed_8_init)
@@ -713,26 +506,21 @@
1, /* Max bytes per codepoint */
to_encoding,
get_codepoint,
- set_codepoint,
get_byte,
set_byte,
get_codepoints,
- get_codepoints_inplace,
get_bytes,
- get_bytes_inplace,
- set_codepoints,
- set_bytes,
- become_encoding,
codepoints,
bytes,
iter_init,
find_cclass,
fixed_8_hash
-
};
+
STRUCT_COPY_FROM_STRUCT(return_encoding, base_encoding);
Parrot_register_encoding(interp, "fixed_8", return_encoding);
- return return_encoding;
+
+ return;
}
Modified: branches/runcore_purge/src/string/encoding/fixed_8.h
==============================================================================
--- branches/runcore_purge/src/string/encoding/fixed_8.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/fixed_8.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,8 +16,7 @@
/* HEADERIZER BEGIN: src/string/encoding/fixed_8.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-ENCODING * Parrot_encoding_fixed_8_init(PARROT_INTERP)
+void Parrot_encoding_fixed_8_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_encoding_fixed_8_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/encoding/ucs2.c
==============================================================================
--- branches/runcore_purge/src/string/encoding/ucs2.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/ucs2.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -36,15 +36,12 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
-static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *src))
+static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-static UINTVAL codepoints(PARROT_INTERP, ARGIN(STRING *src))
+static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -72,15 +69,6 @@
SHIM(UINTVAL count))
__attribute__nonnull__(1);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_bytes_inplace(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *return_string))
- __attribute__nonnull__(1);
-
static UINTVAL get_codepoint(PARROT_INTERP,
ARGIN(const STRING *src),
UINTVAL offset)
@@ -96,15 +84,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_codepoints_inplace(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *dest_string))
- __attribute__nonnull__(1);
-
static void iter_init(PARROT_INTERP,
ARGIN(const STRING *src),
ARGOUT(String_iter *iter))
@@ -119,36 +98,11 @@
SHIM(UINTVAL byte))
__attribute__nonnull__(1);
-static void set_bytes(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *new_bytes))
- __attribute__nonnull__(1);
-
-static void set_codepoint(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL codepoint)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-static void set_codepoints(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *new_codepoints))
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-static STRING * to_encoding(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGMOD(STRING *dest))
+static STRING * to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
static UINTVAL ucs2_decode_and_advance(SHIM_INTERP, ARGMOD(String_iter *i))
__attribute__nonnull__(2)
@@ -172,8 +126,6 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*i);
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -187,33 +139,21 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_get_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_get_bytes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_get_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_get_codepoints_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_iter_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(iter))
#define ASSERT_ARGS_set_byte __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_set_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_set_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_set_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_to_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src) \
- , PARROT_ASSERT_ARG(dest))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_ucs2_decode_and_advance __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(i))
#define ASSERT_ARGS_ucs2_encode_and_advance __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -237,7 +177,7 @@
/*
-=item C<static STRING * to_encoding(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_encoding(PARROT_INTERP, const STRING *src)>
Converts the string C<src> to this particular encoding. If C<dest> is
provided, it will contain the result. Otherwise this function operates in
@@ -250,11 +190,11 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_encoding(PARROT_INTERP, ARGIN(STRING *src), ARGMOD(STRING *dest))
+to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_encoding)
STRING * const result =
- Parrot_utf16_encoding_ptr->to_encoding(interp, src, dest);
+ Parrot_utf16_encoding_ptr->to_encoding(interp, src);
/* conversion to utf16 downgrads to ucs-2 if possible - check result */
if (result->encoding == Parrot_utf16_encoding_ptr)
@@ -281,39 +221,15 @@
ASSERT_ARGS(get_codepoint)
#if PARROT_HAS_ICU
const UChar * const s = (const UChar*) src->strstart;
+ UNUSED(interp);
return s[offset];
#else
+ UNUSED(offset);
UNUSED(src);
- UNUSED(offset)
no_ICU_lib(interp);
#endif
}
-/*
-
-=item C<static void set_codepoint(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL codepoint)>
-
-Sets, in string C<src> at position C<offset>, the codepoint C<codepoint>.
-
-=cut
-
-*/
-
-static void
-set_codepoint(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL codepoint)
-{
- ASSERT_ARGS(set_codepoint)
-#if PARROT_HAS_ICU
- UChar * const s = (UChar*) src->strstart;
- s[offset] = codepoint;
-#else
- UNUSED(src)
- UNUSED(offset)
- UNUSED(codepoint)
- no_ICU_lib(interp);
-#endif
-}
/*
@@ -397,7 +313,8 @@
get_codepoints(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_codepoints)
- STRING * const return_string = Parrot_str_new_COW(interp, src);
+ STRING * const return_string = Parrot_str_copy(interp, src);
+
#if PARROT_HAS_ICU
return_string->strstart = (char*)src->strstart + offset * sizeof (UChar);
return_string->bufused = count * sizeof (UChar);
@@ -443,109 +360,7 @@
/*
-=item C<static STRING * get_codepoints_inplace(PARROT_INTERP, STRING *src,
-UINTVAL offset, UINTVAL count, STRING *dest_string)>
-
-Gets from string C<src> at position C<offset> C<count> codepoints and returns
-them in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_codepoints_inplace(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *dest_string))
-{
- ASSERT_ARGS(get_codepoints_inplace)
- UNIMPL;
-}
-
-/*
-
-=item C<static STRING * get_bytes_inplace(PARROT_INTERP, STRING *src, UINTVAL
-offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> bytes and returns them
-in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_bytes_inplace(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *return_string))
-{
- ASSERT_ARGS(get_bytes_inplace)
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_codepoints(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_codepoints)>
-
-Replaces in string C<src> at position C<offset> for C<count> codepoints with
-the contents of string C<new_codepoints>.
-
-=cut
-
-*/
-
-static void
-set_codepoints(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *new_codepoints))
-{
- ASSERT_ARGS(set_codepoints)
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_bytes)>
-
-Replaces in string C<src> at position C<offset> for C<count> bytes with the
-contents of string C<new_bytes>.
-
-=cut
-
-*/
-
-static void
-set_bytes(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *new_bytes))
-{
- ASSERT_ARGS(set_bytes)
- UNIMPL;
-}
-
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
- ASSERT_ARGS(become_encoding)
- UNIMPL;
-}
-
-
-/*
-
-=item C<static UINTVAL codepoints(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *src)>
Returns the number of codepoints in string C<src>.
@@ -555,10 +370,11 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-codepoints(PARROT_INTERP, ARGIN(STRING *src))
+codepoints(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(codepoints)
#if PARROT_HAS_ICU
+ UNUSED(interp);
return src->bufused / sizeof (UChar);
#else
UNUSED(src);
@@ -568,7 +384,7 @@
/*
-=item C<static UINTVAL bytes(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *src)>
Returns the number of bytes in string C<src>.
@@ -578,7 +394,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-bytes(SHIM_INTERP, ARGIN(STRING *src))
+bytes(SHIM_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(bytes)
return src->bufused;
@@ -638,9 +454,9 @@
ASSERT_ARGS(ucs2_encode_and_advance)
#if PARROT_HAS_ICU
- UChar * const s = (UChar*) i->str->strstart;
+ UChar *s = (UChar*) i->str->strstart;
UINTVAL pos = i->bytepos / sizeof (UChar);
- s[pos++] = (UChar)c;
+ s[pos++] = (UChar)c;
i->charpos++;
i->bytepos = pos * sizeof (UChar);
#else
@@ -668,8 +484,9 @@
{
ASSERT_ARGS(ucs2_hash)
#if PARROT_HAS_ICU
- UChar *pos = (UChar*) s->strstart;
+ const UChar *pos = (const UChar*) s->strstart;
UINTVAL len = s->strlen;
+ UNUSED(interp);
while (len--) {
hashval += hashval << 5;
@@ -748,7 +565,7 @@
/*
-=item C<ENCODING * Parrot_encoding_ucs2_init(PARROT_INTERP)>
+=item C<void Parrot_encoding_ucs2_init(PARROT_INTERP)>
Initializes the UCS-2 encoding.
@@ -756,8 +573,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-ENCODING *
+void
Parrot_encoding_ucs2_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_encoding_ucs2_init)
@@ -768,16 +584,10 @@
2, /* Max bytes per codepoint 0 .. 0x10ffff */
to_encoding,
get_codepoint,
- set_codepoint,
get_byte,
set_byte,
get_codepoints,
- get_codepoints_inplace,
get_bytes,
- get_bytes_inplace,
- set_codepoints,
- set_bytes,
- become_encoding,
codepoints,
bytes,
iter_init,
@@ -786,7 +596,8 @@
};
STRUCT_COPY_FROM_STRUCT(return_encoding, base_encoding);
Parrot_register_encoding(interp, "ucs2", return_encoding);
- return return_encoding;
+
+ return;
}
/*
Modified: branches/runcore_purge/src/string/encoding/ucs2.h
==============================================================================
--- branches/runcore_purge/src/string/encoding/ucs2.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/ucs2.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,8 +16,7 @@
/* HEADERIZER BEGIN: src/string/encoding/ucs2.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-ENCODING * Parrot_encoding_ucs2_init(PARROT_INTERP)
+void Parrot_encoding_ucs2_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_encoding_ucs2_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/encoding/utf16.c
==============================================================================
--- branches/runcore_purge/src/string/encoding/utf16.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/utf16.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -26,15 +26,12 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
-static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *src))
+static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-static UINTVAL codepoints(PARROT_INTERP, ARGIN(STRING *src))
+static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -63,17 +60,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_bytes_inplace(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL count,
- ARGIN(STRING *return_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5);
-
static UINTVAL get_codepoint(PARROT_INTERP,
ARGIN(const STRING *src),
UINTVAL offset)
@@ -89,18 +75,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_codepoints_inplace(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *return_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*return_string);
-
static void iter_init(PARROT_INTERP,
ARGIN(const STRING *src),
ARGOUT(String_iter *iter))
@@ -116,60 +90,29 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void set_bytes(PARROT_INTERP,
- SHIM(STRING *src),
- UINTVAL offset,
- UINTVAL count,
- SHIM(STRING *new_bytes))
- __attribute__nonnull__(1);
-
-static void set_codepoint(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL codepoint)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-static void set_codepoints(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL count,
- ARGIN(STRING *new_codepoints))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5);
-
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-static STRING * to_encoding(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN_NULLOK(STRING *dest))
+static STRING * to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-static UINTVAL utf16_decode_and_advance(PARROT_INTERP,
- ARGMOD(String_iter *i))
- __attribute__nonnull__(1)
+static UINTVAL utf16_decode_and_advance(SHIM_INTERP, ARGMOD(String_iter *i))
__attribute__nonnull__(2)
FUNC_MODIFIES(*i);
-static void utf16_encode_and_advance(PARROT_INTERP,
+static void utf16_encode_and_advance(SHIM_INTERP,
ARGMOD(String_iter *i),
UINTVAL c)
- __attribute__nonnull__(1)
__attribute__nonnull__(2)
FUNC_MODIFIES(*i);
-static void utf16_set_position(PARROT_INTERP,
+static void utf16_set_position(SHIM_INTERP,
ARGMOD(String_iter *i),
UINTVAL n)
- __attribute__nonnull__(1)
__attribute__nonnull__(2)
FUNC_MODIFIES(*i);
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -184,20 +127,12 @@
#define ASSERT_ARGS_get_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_get_bytes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src) \
- , PARROT_ASSERT_ARG(return_string))
#define ASSERT_ARGS_get_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_get_codepoints_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src) \
- , PARROT_ASSERT_ARG(return_string))
#define ASSERT_ARGS_iter_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src) \
@@ -205,27 +140,15 @@
#define ASSERT_ARGS_set_byte __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_set_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_set_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_set_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src) \
- , PARROT_ASSERT_ARG(new_codepoints))
#define ASSERT_ARGS_to_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_utf16_decode_and_advance __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(i))
+ PARROT_ASSERT_ARG(i))
#define ASSERT_ARGS_utf16_encode_and_advance __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(i))
+ PARROT_ASSERT_ARG(i))
#define ASSERT_ARGS_utf16_set_position __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(i))
+ PARROT_ASSERT_ARG(i))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
@@ -242,7 +165,7 @@
/*
-=item C<static STRING * to_encoding(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_encoding(PARROT_INTERP, const STRING *src)>
Converts the string C<src> to this particular encoding. If C<dest> is
provided, it will contain the result. Otherwise this function operates in
@@ -256,7 +179,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_encoding(PARROT_INTERP, ARGIN(STRING *src), ARGIN_NULLOK(STRING *dest))
+to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_encoding)
#if PARROT_HAS_ICU
@@ -265,45 +188,28 @@
UChar *p;
#endif
int src_len;
- int in_place = dest == NULL;
STRING *result;
if (src->encoding == Parrot_utf16_encoding_ptr ||
src->encoding == Parrot_ucs2_encoding_ptr)
- return in_place ? src : Parrot_str_copy(interp, src);
+ return Parrot_str_clone(interp, src);
+
+ result = Parrot_gc_new_string_header(interp, 0);
+
/*
* TODO adapt string creation functions
*/
src_len = src->strlen;
- if (in_place) {
- result = src;
- }
- else {
- result = dest;
- }
if (!src_len) {
result->charset = Parrot_unicode_charset_ptr;
result->encoding = Parrot_ucs2_encoding_ptr;
result->strlen = result->bufused = 0;
return result;
}
- /*
- u_strFromUTF8(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const char *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
- */
#if PARROT_HAS_ICU
- if (in_place) {
- /* need intermediate memory */
- p = mem_gc_allocate_n_typed(interp, src_len, UChar);
- }
- else {
- Parrot_gc_reallocate_string_storage(interp, dest, sizeof (UChar) * src_len);
- p = (UChar *)dest->strstart;
- }
+ Parrot_gc_allocate_string_storage(interp, result, sizeof (UChar) * src_len);
+ p = (UChar *)result->strstart;
+
if (src->charset == Parrot_iso_8859_1_charset_ptr ||
src->charset == Parrot_ascii_charset_ptr) {
for (dest_len = 0; dest_len < (int)src->strlen; ++dest_len) {
@@ -318,25 +224,16 @@
/*
* have to resize - required len in UChars is in dest_len
*/
- if (in_place)
- p = mem_gc_realloc_n_typed(interp, p, dest_len, UChar);
- else {
- result->bufused = dest_len * sizeof (UChar);
- Parrot_gc_reallocate_string_storage(interp, dest,
- sizeof (UChar) * dest_len);
- p = (UChar *)dest->strstart;
- }
+ result->bufused = dest_len * sizeof (UChar);
+ Parrot_gc_reallocate_string_storage(interp, result,
+ sizeof (UChar) * dest_len);
+ p = (UChar *)result->strstart;
u_strFromUTF8(p, dest_len,
&dest_len, src->strstart, src->bufused, &err);
PARROT_ASSERT(U_SUCCESS(err));
}
}
result->bufused = dest_len * sizeof (UChar);
- if (in_place) {
- Parrot_gc_reallocate_string_storage(interp, src, src->bufused);
- memcpy(src->strstart, p, src->bufused);
- mem_gc_free(interp, p);
- }
result->charset = Parrot_unicode_charset_ptr;
result->encoding = Parrot_utf16_encoding_ptr;
result->strlen = src_len;
@@ -367,8 +264,9 @@
{
ASSERT_ARGS(get_codepoint)
#if PARROT_HAS_ICU
- UChar * const s = (UChar*) src->strstart;
+ const UChar * const s = (UChar*) src->strstart;
UINTVAL c, pos;
+ UNUSED(interp);
pos = 0;
U16_FWD_N_UNSAFE(s, pos, offset);
@@ -383,27 +281,6 @@
#endif
}
-/*
-
-=item C<static void set_codepoint(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL codepoint)>
-
-Sets, in string C<src> at position C<offset>, the codepoint C<codepoint>.
-
-=cut
-
-*/
-
-static void
-set_codepoint(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL codepoint)
-{
- ASSERT_ARGS(set_codepoint)
- UNUSED(interp);
- UNUSED(src);
- UNUSED(offset);
- UNUSED(codepoint);
- UNIMPL;
-}
/*
@@ -502,7 +379,7 @@
ASSERT_ARGS(get_codepoints)
String_iter iter;
UINTVAL start;
- STRING * const return_string = Parrot_str_new_COW(interp, src);
+ STRING * const return_string = Parrot_str_copy(interp, src);
iter_init(interp, src, &iter);
iter.set_position(interp, &iter, offset);
@@ -518,39 +395,6 @@
/*
-=item C<static STRING * get_codepoints_inplace(PARROT_INTERP, STRING *src,
-UINTVAL offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> codepoints and returns
-them in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_codepoints_inplace(PARROT_INTERP, ARGIN(STRING *src),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *return_string))
-{
- ASSERT_ARGS(get_codepoints_inplace)
- String_iter iter;
- UINTVAL start;
- Parrot_str_reuse_COW(interp, src, return_string);
- iter_init(interp, src, &iter);
- iter.set_position(interp, &iter, offset);
- start = iter.bytepos;
- return_string->strstart = (char *)return_string->strstart + start ;
- iter.set_position(interp, &iter, offset + count);
- return_string->bufused = iter.bytepos - start;
- return_string->strlen = count;
- return_string->hashval = 0;
- return return_string;
-}
-
-/*
-
=item C<static STRING * get_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
UINTVAL count)>
@@ -575,100 +419,7 @@
/*
-=item C<static STRING * get_bytes_inplace(PARROT_INTERP, STRING *src, UINTVAL
-offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> bytes and returns them
-in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_bytes_inplace(PARROT_INTERP, ARGIN(STRING *src),
- UINTVAL offset, UINTVAL count, ARGIN(STRING *return_string))
-{
- ASSERT_ARGS(get_bytes_inplace)
- UNUSED(interp);
- UNUSED(src);
- UNUSED(offset)
- UNUSED(count);
- UNUSED(return_string);
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_codepoints(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_codepoints)>
-
-Replaces in string C<src> at position C<offset> for C<count> codepoints with
-the contents of string C<new_codepoints>.
-
-=cut
-
-*/
-
-static void
-set_codepoints(PARROT_INTERP, ARGIN(STRING *src),
- UINTVAL offset, UINTVAL count, ARGIN(STRING *new_codepoints))
-{
- ASSERT_ARGS(set_codepoints)
- UNUSED(interp);
- UNUSED(src);
- UNUSED(offset)
- UNUSED(count);
- UNUSED(new_codepoints);
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_bytes)>
-
-Replaces in string C<src> at position C<offset> for C<count> bytes with the
-contents of string C<new_bytes>.
-
-=cut
-
-*/
-
-static void
-set_bytes(PARROT_INTERP, SHIM(STRING *src),
- UINTVAL offset, UINTVAL count, SHIM(STRING *new_bytes))
-{
- ASSERT_ARGS(set_bytes)
- UNUSED(interp);
- UNUSED(offset)
- UNUSED(count);
- UNIMPL;
-}
-
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
- ASSERT_ARGS(become_encoding)
- UNIMPL;
-}
-
-
-/*
-
-=item C<static UINTVAL codepoints(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *src)>
Returns the number of codepoints in string C<src>.
@@ -678,7 +429,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-codepoints(PARROT_INTERP, ARGIN(STRING *src))
+codepoints(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(codepoints)
String_iter iter;
@@ -694,7 +445,7 @@
/*
-=item C<static UINTVAL bytes(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *src)>
Returns the number of bytes in string C<src>.
@@ -704,7 +455,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-bytes(SHIM_INTERP, ARGIN(STRING *src))
+bytes(SHIM_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(bytes)
return src->bufused;
@@ -723,12 +474,13 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-utf16_decode_and_advance(PARROT_INTERP, ARGMOD(String_iter *i))
+utf16_decode_and_advance(SHIM_INTERP, ARGMOD(String_iter *i))
{
ASSERT_ARGS(utf16_decode_and_advance)
- UChar *s = (UChar*) i->str->strstart;
- UINTVAL c, pos;
- pos = i->bytepos / sizeof (UChar);
+ const UChar * const s = (const UChar*) i->str->strstart;
+ UINTVAL pos = i->bytepos / sizeof (UChar);
+ UINTVAL c;
+
/* TODO either make sure that we don't go past end or use SAFE
* iter versions
*/
@@ -751,12 +503,11 @@
*/
static void
-utf16_encode_and_advance(PARROT_INTERP, ARGMOD(String_iter *i), UINTVAL c)
+utf16_encode_and_advance(SHIM_INTERP, ARGMOD(String_iter *i), UINTVAL c)
{
ASSERT_ARGS(utf16_encode_and_advance)
- UChar *s = (UChar*) i->str->strstart;
- UINTVAL pos;
- pos = i->bytepos / sizeof (UChar);
+ UChar * const s = (UChar*) i->str->strstart;
+ UINTVAL pos = i->bytepos / sizeof (UChar);
U16_APPEND_UNSAFE(s, pos, c);
i->charpos++;
i->bytepos = pos * sizeof (UChar);
@@ -774,7 +525,7 @@
*/
static void
-utf16_set_position(PARROT_INTERP, ARGMOD(String_iter *i), UINTVAL n)
+utf16_set_position(SHIM_INTERP, ARGMOD(String_iter *i), UINTVAL n)
{
ASSERT_ARGS(utf16_set_position)
UChar * const s = (UChar*) i->str->strstart;
@@ -805,6 +556,7 @@
iter->str = src;
iter->bytepos = iter->charpos = 0;
#if PARROT_HAS_ICU
+ UNUSED(interp);
iter->get_and_advance = utf16_decode_and_advance;
iter->set_and_advance = utf16_encode_and_advance;
iter->set_position = utf16_set_position;
@@ -816,7 +568,7 @@
/*
-=item C<ENCODING * Parrot_encoding_utf16_init(PARROT_INTERP)>
+=item C<void Parrot_encoding_utf16_init(PARROT_INTERP)>
Initializes the UTF-16 encoding.
@@ -824,8 +576,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-ENCODING *
+void
Parrot_encoding_utf16_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_encoding_utf16_init)
@@ -836,16 +587,10 @@
4, /* Max bytes per codepoint 0 .. 0x10ffff */
to_encoding,
get_codepoint,
- set_codepoint,
get_byte,
set_byte,
get_codepoints,
- get_codepoints_inplace,
get_bytes,
- get_bytes_inplace,
- set_codepoints,
- set_bytes,
- become_encoding,
codepoints,
bytes,
iter_init,
@@ -854,7 +599,8 @@
};
STRUCT_COPY_FROM_STRUCT(return_encoding, base_encoding);
Parrot_register_encoding(interp, "utf16", return_encoding);
- return return_encoding;
+
+ return;
}
/*
Modified: branches/runcore_purge/src/string/encoding/utf16.h
==============================================================================
--- branches/runcore_purge/src/string/encoding/utf16.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/utf16.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,8 +16,7 @@
/* HEADERIZER BEGIN: src/string/encoding/utf16.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-ENCODING * Parrot_encoding_utf16_init(PARROT_INTERP)
+void Parrot_encoding_utf16_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_encoding_utf16_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/encoding/utf8.c
==============================================================================
--- branches/runcore_purge/src/string/encoding/utf8.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/utf8.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -27,17 +27,13 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void become_encoding(PARROT_INTERP, SHIM(STRING *src))
- __attribute__nonnull__(1);
-
PARROT_PURE_FUNCTION
-static UINTVAL bytes(SHIM_INTERP, ARGIN(STRING *src))
+static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(2);
-static UINTVAL codepoints(PARROT_INTERP, ARGMOD(STRING *src))
+static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*src);
+ __attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
static UINTVAL find_cclass(PARROT_INTERP,
@@ -62,14 +58,6 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*src);
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_bytes_inplace(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *return_string))
- __attribute__nonnull__(1);
-
static UINTVAL get_codepoint(PARROT_INTERP,
ARGIN(const STRING *src),
UINTVAL offset)
@@ -84,18 +72,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-PARROT_CANNOT_RETURN_NULL
-static STRING * get_codepoints_inplace(PARROT_INTERP,
- ARGMOD(STRING *src),
- UINTVAL offset,
- UINTVAL count,
- ARGMOD(STRING *return_string))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*src)
- FUNC_MODIFIES(*return_string);
-
static void iter_init(SHIM_INTERP,
ARGIN(const STRING *src),
ARGOUT(String_iter *iter))
@@ -110,35 +86,10 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void set_bytes(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *new_bytes))
- __attribute__nonnull__(1);
-
-static void set_codepoint(PARROT_INTERP,
- ARGIN(STRING *src),
- UINTVAL offset,
- UINTVAL codepoint)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-static void set_codepoints(PARROT_INTERP,
- SHIM(STRING *src),
- SHIM(UINTVAL offset),
- SHIM(UINTVAL count),
- SHIM(STRING *new_codepoints))
- __attribute__nonnull__(1);
-
PARROT_CAN_RETURN_NULL
-static STRING * to_encoding(PARROT_INTERP,
- ARGMOD(STRING *src),
- ARGMOD_NULLOK(STRING *dest))
+static STRING * to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*src)
- FUNC_MODIFIES(*dest);
+ __attribute__nonnull__(2);
static UINTVAL utf8_characters(PARROT_INTERP,
ARGIN(const utf8_t *ptr),
@@ -183,8 +134,6 @@
static const void * utf8_skip_forward(ARGIN(const void *ptr), UINTVAL n)
__attribute__nonnull__(1);
-#define ASSERT_ARGS_become_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -197,31 +146,18 @@
#define ASSERT_ARGS_get_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_get_bytes_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_get_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_get_codepoints_inplace __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src) \
- , PARROT_ASSERT_ARG(return_string))
#define ASSERT_ARGS_iter_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(iter))
#define ASSERT_ARGS_set_byte __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_set_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_set_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(src))
-#define ASSERT_ARGS_set_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_to_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -271,10 +207,6 @@
4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6 /* cjk etc. */
};
-#if 0
-typedef unsigned char utf8_t;
-#endif
-
/*
=item C<static UINTVAL utf8_characters(PARROT_INTERP, const utf8_t *ptr, UINTVAL
@@ -566,7 +498,7 @@
/*
-=item C<static STRING * to_encoding(PARROT_INTERP, STRING *src, STRING *dest)>
+=item C<static STRING * to_encoding(PARROT_INTERP, const STRING *src)>
Converts the string C<src> to this particular encoding. If C<dest> is
provided, it will contain the result. Otherwise this function operates in
@@ -578,24 +510,19 @@
PARROT_CAN_RETURN_NULL
static STRING *
-to_encoding(PARROT_INTERP, ARGMOD(STRING *src), ARGMOD_NULLOK(STRING *dest))
+to_encoding(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_encoding)
STRING *result;
String_iter src_iter;
UINTVAL offs, dest_len, dest_pos, src_len;
- const int in_place = (dest == NULL);
unsigned char *p;
if (src->encoding == Parrot_utf8_encoding_ptr)
- return in_place ? src : Parrot_str_copy(interp, src);
+ return Parrot_str_clone(interp, src);
+
+ result = Parrot_gc_new_string_header(interp, 0);
src_len = src->strlen;
- if (in_place) {
- result = src;
- }
- else {
- result = dest;
- }
/* init iter before possilby changing encoding */
ENCODING_ITER_INIT(interp, src, &src_iter);
@@ -604,16 +531,11 @@
result->strlen = src_len;
if (!src->strlen)
- return dest;
+ return result;
+
+ Parrot_gc_allocate_string_storage(interp, result, src_len);
+ p = (unsigned char *)result->strstart;
- if (in_place) {
- /* need intermediate memory */
- p = mem_gc_allocate_n_typed(interp, src_len, unsigned char);
- }
- else {
- Parrot_gc_reallocate_string_storage(interp, dest, src_len);
- p = (unsigned char *)dest->strstart;
- }
if (src->charset == Parrot_ascii_charset_ptr) {
for (dest_len = 0; dest_len < src_len; ++dest_len) {
p[dest_len] = ((unsigned char*)src->strstart)[dest_len];
@@ -633,13 +555,9 @@
if (need < 16)
need = 16;
dest_len += need;
- if (in_place)
- p = mem_gc_realloc_n_typed(interp, p, dest_len, unsigned char);
- else {
- result->bufused = dest_pos;
- Parrot_gc_reallocate_string_storage(interp, dest, dest_len);
- p = (unsigned char *)dest->strstart;
- }
+ result->bufused = dest_pos;
+ Parrot_gc_reallocate_string_storage(interp, result, dest_len);
+ p = (unsigned char *)result->strstart;
}
pos = p + dest_pos;
@@ -648,11 +566,7 @@
}
result->bufused = dest_pos;
}
- if (in_place) {
- Parrot_gc_reallocate_string_storage(interp, src, src->bufused);
- memcpy(src->strstart, p, src->bufused);
- mem_gc_free(interp, p);
- }
+
return result;
}
@@ -675,29 +589,6 @@
return utf8_decode(interp, start);
}
-/*
-
-=item C<static void set_codepoint(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL codepoint)>
-
-Sets, in string C<src> at position C<offset>, the codepoint C<codepoint>.
-
-=cut
-
-*/
-
-static void
-set_codepoint(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL codepoint)
-{
- ASSERT_ARGS(set_codepoint)
- const void *start;
- void *p;
- DECL_CONST_CAST;
-
- start = utf8_skip_forward(src->strstart, offset);
- p = PARROT_const_cast(void *, start);
- utf8_encode(interp, p, codepoint);
-}
/*
@@ -789,7 +680,7 @@
{
ASSERT_ARGS(get_codepoints)
- STRING * const return_string = Parrot_str_new_COW(interp, src);
+ STRING * const return_string = Parrot_str_copy(interp, src);
String_iter iter;
UINTVAL start;
@@ -827,10 +718,7 @@
get_bytes(PARROT_INTERP, ARGMOD(STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_bytes)
- STRING * const return_string = Parrot_str_new_COW(interp, src);
-
- return_string->encoding = src->encoding; /* XXX */
- return_string->charset = src->charset;
+ STRING * const return_string = Parrot_str_copy(interp, src);
return_string->strstart = (char *)return_string->strstart + offset ;
return_string->bufused = count;
@@ -841,125 +729,11 @@
return return_string;
}
-/*
-
-=item C<static STRING * get_codepoints_inplace(PARROT_INTERP, STRING *src,
-UINTVAL offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> codepoints and returns
-them in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_codepoints_inplace(PARROT_INTERP, ARGMOD(STRING *src),
- UINTVAL offset, UINTVAL count, ARGMOD(STRING *return_string))
-{
- ASSERT_ARGS(get_codepoints_inplace)
- String_iter iter;
- UINTVAL start;
-
- Parrot_str_reuse_COW(interp, src, return_string);
- iter_init(interp, src, &iter);
- iter.set_position(interp, &iter, offset);
-
- start = iter.bytepos;
-
- return_string->strstart = (char *)return_string->strstart + start;
- iter.set_position(interp, &iter, offset + count);
-
- return_string->bufused = iter.bytepos - start;
- return_string->strlen = count;
- return_string->hashval = 0;
-
- return return_string;
-}
-
-/*
-
-=item C<static STRING * get_bytes_inplace(PARROT_INTERP, STRING *src, UINTVAL
-offset, UINTVAL count, STRING *return_string)>
-
-Gets from string C<src> at position C<offset> C<count> bytes and returns them
-in C<return_string>.
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-static STRING *
-get_bytes_inplace(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *return_string))
-{
- ASSERT_ARGS(get_bytes_inplace)
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_codepoints(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_codepoints)>
-
-Replaces in string C<src> at position C<offset> for C<count> codepoints with
-the contents of string C<new_codepoints>.
-
-=cut
-
-*/
-
-static void
-set_codepoints(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *new_codepoints))
-{
- ASSERT_ARGS(set_codepoints)
- UNIMPL;
-}
-
-/*
-
-=item C<static void set_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count, STRING *new_bytes)>
-
-Replaces in string C<src> at position C<offset> for C<count> bytes with the
-contents of string C<new_bytes>.
-
-=cut
-
-*/
-
-static void
-set_bytes(PARROT_INTERP, SHIM(STRING *src),
- SHIM(UINTVAL offset), SHIM(UINTVAL count), SHIM(STRING *new_bytes))
-{
- ASSERT_ARGS(set_bytes)
- UNIMPL;
-}
-
-/*
-
-=item C<static void become_encoding(PARROT_INTERP, STRING *src)>
-
-Unconditionally makes the string be in this encoding, if that's valid
-
-=cut
-
-*/
-
-static void
-become_encoding(PARROT_INTERP, SHIM(STRING *src))
-{
- ASSERT_ARGS(become_encoding)
- UNIMPL;
-}
/*
-=item C<static UINTVAL codepoints(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *src)>
Returns the number of codepoints in string C<src>.
@@ -968,7 +742,7 @@
*/
static UINTVAL
-codepoints(PARROT_INTERP, ARGMOD(STRING *src))
+codepoints(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(codepoints)
String_iter iter;
@@ -984,7 +758,7 @@
/*
-=item C<static UINTVAL bytes(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *src)>
Returns the number of bytes in string C<src>.
@@ -994,7 +768,7 @@
PARROT_PURE_FUNCTION
static UINTVAL
-bytes(SHIM_INTERP, ARGIN(STRING *src))
+bytes(SHIM_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(bytes)
return src->bufused;
@@ -1025,7 +799,7 @@
/*
-=item C<ENCODING * Parrot_encoding_utf8_init(PARROT_INTERP)>
+=item C<void Parrot_encoding_utf8_init(PARROT_INTERP)>
Initializes the UTF-8 encoding.
@@ -1033,8 +807,7 @@
*/
-PARROT_CANNOT_RETURN_NULL
-ENCODING *
+void
Parrot_encoding_utf8_init(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_encoding_utf8_init)
@@ -1045,16 +818,10 @@
4, /* Max bytes per codepoint 0 .. 0x10ffff */
to_encoding,
get_codepoint,
- set_codepoint,
get_byte,
set_byte,
get_codepoints,
- get_codepoints_inplace,
get_bytes,
- get_bytes_inplace,
- set_codepoints,
- set_bytes,
- become_encoding,
codepoints,
bytes,
iter_init,
@@ -1063,7 +830,8 @@
};
STRUCT_COPY_FROM_STRUCT(return_encoding, base_encoding);
Parrot_register_encoding(interp, "utf8", return_encoding);
- return return_encoding;
+
+ return;
}
/*
Modified: branches/runcore_purge/src/string/encoding/utf8.h
==============================================================================
--- branches/runcore_purge/src/string/encoding/utf8.h Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/encoding/utf8.h Sat Apr 24 00:51:33 2010 (r45948)
@@ -16,8 +16,7 @@
/* HEADERIZER BEGIN: src/string/encoding/utf8.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-ENCODING * Parrot_encoding_utf8_init(PARROT_INTERP)
+void Parrot_encoding_utf8_init(PARROT_INTERP)
__attribute__nonnull__(1);
#define ASSERT_ARGS_Parrot_encoding_utf8_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/runcore_purge/src/string/primitives.c
==============================================================================
--- branches/runcore_purge/src/string/primitives.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/string/primitives.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -70,8 +70,8 @@
/*
-=item C<Parrot_UInt4 string_unescape_one(PARROT_INTERP, UINTVAL *offset, STRING
-*string)>
+=item C<Parrot_UInt4 string_unescape_one(PARROT_INTERP, UINTVAL *offset, const
+STRING *string)>
Unescape a single character. We assume that we're at the start of a
sequence, right after the \.
@@ -83,7 +83,7 @@
PARROT_EXPORT
Parrot_UInt4
string_unescape_one(PARROT_INTERP, ARGMOD(UINTVAL *offset),
- ARGMOD(STRING *string))
+ ARGIN(const STRING *string))
{
ASSERT_ARGS(string_unescape_one)
UINTVAL workchar = 0;
Modified: branches/runcore_purge/src/sub.c
==============================================================================
--- branches/runcore_purge/src/sub.c Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/src/sub.c Sat Apr 24 00:51:33 2010 (r45948)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -49,60 +49,6 @@
/*
-=item C<PMC * new_ret_continuation_pmc(PARROT_INTERP, opcode_t *address)>
-
-Returns a new C<RetContinuation> PMC, and sets address field to C<address>
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
-PMC *
-new_ret_continuation_pmc(PARROT_INTERP, ARGIN_NULLOK(opcode_t *address))
-{
- ASSERT_ARGS(new_ret_continuation_pmc)
- PMC* const continuation = Parrot_pmc_new(interp, enum_class_RetContinuation);
- VTABLE_set_pointer(interp, continuation, address);
- return continuation;
-}
-
-/*
-
-=item C<void invalidate_retc_context(PARROT_INTERP, PMC *cont)>
-
-Make true Continuations from all RetContinuations up the call chain.
-
-=cut
-
-*/
-
-void
-invalidate_retc_context(PARROT_INTERP, ARGMOD(PMC *cont))
-{
- ASSERT_ARGS(invalidate_retc_context)
-
- PMC *ctx = PARROT_CONTINUATION(cont)->from_ctx;
- cont = Parrot_pcc_get_continuation(interp, ctx);
-
- while (1) {
- /*
- * We stop if we encounter a true continuation, because
- * if one were created, everything up the chain would have been
- * invalidated earlier.
- */
- if (!cont || cont->vtable != interp->vtables[enum_class_RetContinuation])
- break;
- cont->vtable = interp->vtables[enum_class_Continuation];
- ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
- cont = Parrot_pcc_get_continuation(interp, ctx);
- }
-}
-
-/*
-
=item C<STRING* Parrot_full_sub_name(PARROT_INTERP, PMC* sub_pmc)>
Return namespace, name, and location of subroutine.
@@ -395,7 +341,7 @@
PMC * const lex_pad = Parrot_pcc_get_lex_pad(interp, ctx);
PMC * outer = Parrot_pcc_get_outer_ctx(interp, ctx);
- if (!outer)
+ if (PMC_IS_NULL(outer))
return lex_pad;
if (!PMC_IS_NULL(lex_pad))
@@ -428,7 +374,7 @@
PMC * const lex_pad = Parrot_pcc_get_lex_pad(interp, ctx);
PMC * caller = Parrot_pcc_get_caller_ctx(interp, ctx);
- if (!caller)
+ if (PMC_IS_NULL(caller))
return lex_pad;
if (!PMC_IS_NULL(lex_pad))
@@ -633,10 +579,6 @@
F<include/parrot/sub.h>.
-=head1 HISTORY
-
-Initial version by Melvin on 2002/06/6.
-
=cut
*/
Modified: branches/runcore_purge/t/compilers/imcc/syn/regressions.t
==============================================================================
--- branches/runcore_purge/t/compilers/imcc/syn/regressions.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/compilers/imcc/syn/regressions.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -230,10 +230,10 @@
pir_error_output_like( <<'CODE', <<'OUT', 'over long keys should not segfault (TT #641)');
.sub main
- $P0 = new [0;0;0;0;0;0;0;0;0;0;0;0] # more than KEYLEN.
+ $P0 = new [0;0;0;0;0;0;0;0;0;0;0;0] # more than MAX_KEY_LEN.
.end
CODE
-/key too complex/
+/Key too long/
OUT
# This test probably belongs in subflags.t
Deleted: branches/runcore_purge/t/distro/meta_yml.t
==============================================================================
--- branches/runcore_purge/t/distro/meta_yml.t Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,39 +0,0 @@
-#! perl
-# Copyright (C) 2008-2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/distro/meta_yml.t - check sanity of the META.yml file
-
-=head1 SYNOPSIS
-
- % prove t/distro/meta_yml.t
-
-=head1 DESCRIPTION
-
-Checks the sanitiy of the file META.yml, which gives information
-on a CPAN distribution.
-
-=cut
-
-use strict;
-use warnings;
-use 5.008;
-
-use Test::More;
-
-# Test::CPAN::Meta complains about 'artistic2' license.
-# So let's wait for version 0.08
-# See http://rt.cpan.org/Public/Bug/Display.html?id=34130
-eval "use Test::CPAN::Meta 0.08";
-plan skip_all => "Test::CPAN::Meta 0.08 required for testing META.yml" if $@;
-
-meta_yaml_ok();
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Copied: branches/runcore_purge/t/dynpmc/gziphandle.t (from r45947, trunk/t/dynpmc/gziphandle.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/t/dynpmc/gziphandle.t Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/t/dynpmc/gziphandle.t)
@@ -0,0 +1,66 @@
+#! parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynpmc/gziphandle.t - test the GzipHandle PMC
+
+=head1 SYNOPSIS
+
+ % parrot t/dynpmc/gziphandle.t
+
+=head1 DESCRIPTION
+
+Tests the C<GzipHandle> PMC, a zlib wrapper.
+
+=cut
+
+.sub 'main' :main
+ .include 'test_more.pir'
+ .include 'iglobals.pasm'
+ .local pmc config_hash, interp
+ .local int num_tests
+
+ num_tests = 3
+ plan(num_tests)
+ interp = getinterp
+ config_hash = interp[.IGLOBALS_CONFIG_HASH]
+ $S0 = config_hash['has_zlib']
+ unless $S0 goto no_zlib
+
+ $P0 = loadlib 'gziphandle'
+ test_handle()
+ test_version()
+ .return()
+
+ no_zlib:
+ skip(num_tests, 'No zlib library available')
+ .return()
+.end
+
+
+.sub 'test_handle'
+ $P0 = new 'GzipHandle'
+ $S0 = typeof $P0
+ is($S0, 'GzipHandle', 'GzipHandle typeof')
+ $I0 = does $P0, 'Handle'
+ ok($I0, 'does Handle')
+.end
+
+.sub 'test_version'
+ $P0 = new 'GzipHandle'
+ $S0 =$P0.'version'()
+ diag($S0)
+ $I0 = index $S0, '1.'
+ is($I0, 0, 'zlib version')
+.end
+
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
+
+
Copied: branches/runcore_purge/t/harness.pir (from r45947, trunk/t/harness.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/t/harness.pir Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/t/harness.pir)
@@ -0,0 +1,390 @@
+#!parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+.sub 'main' :main
+ .param pmc argv
+ $S0 = shift argv
+ .local int argc
+ argc = elements argv
+ if argc > 0 goto L1
+ help()
+ end
+ L1:
+ .local pmc opts
+ opts = _parse_opts(argv)
+ $I0 = exists opts['help']
+ unless $I0 goto L2
+ help()
+ end
+ L2:
+ .tailcall do(opts, argv)
+.end
+
+.sub 'help' :anon
+ say <<"HELP"
+parrot t/harness.pir [options] [testfiles]
+ --core-tests
+ --runcore-tests
+ --code-tests
+ --archive ... create a TAP archive of the test run
+ --send-to-smolder ... send the TAP archive to the Parrot Smolder server
+HELP
+.end
+
+.sub '_parse_opts' :anon
+ .param pmc argv
+ load_bytecode 'Getopt/Obj.pbc'
+ $P0 = new ['Getopt';'Obj']
+ $P0.'notOptStop'(1)
+ push $P0, 'gc-debug'
+ push $P0, 'core-tests'
+ push $P0, 'runcore-tests'
+ push $P0, 'code-tests'
+ push $P0, 'run-exec'
+ push $P0, 'archive'
+ push $P0, 'send-to-smolder'
+ push $P0, 'help|h'
+ $P1 = $P0.'get_options'(argv)
+ .return ($P1)
+.end
+
+.sub 'do' :anon
+ .param pmc opts
+ .param pmc files
+ set_test_prog_args(opts)
+ load_bytecode 'TAP/Harness.pbc'
+ .local pmc options, env, harness, aggregate
+ options = new 'Hash'
+ env = new 'Env'
+ $I0 = exists env['HARNESS_VERBOSE']
+ unless $I0 goto L1
+ $S0 = env['HARNESS_VERBOSE']
+ options['verbosity'] = $S0
+ L1:
+ $I0 = exists opts['archive']
+ if $I0 goto L2
+ harness = new ['TAP';'Harness']
+ options['directives'] = 1
+ goto L3
+ L2:
+ harness = new ['TAP';'Harness';'Archive']
+ harness.'archive'('parrot_test_run.tar.gz')
+ options['merge'] = 1
+ .local pmc env_data
+ env_data = collect_test_environment_data()
+ harness.'extra_props'(env_data)
+ $P0 = split ' ', 'myconfig config_lib.pir'
+ harness.'extra_files'($P0)
+ L3:
+ harness.'process_args'(options)
+ $P0 = _get_tests(opts, files)
+ aggregate = harness.'runtests'($P0)
+ $I0 = exists opts['send-to-smolder']
+ unless $I0 goto L4
+ .tailcall send_archive_to_smolder(env_data)
+ L4:
+ $I0 = aggregate.'all_passed'()
+ $I0 = not $I0
+ exit $I0
+.end
+
+.sub 'set_test_prog_args' :anon
+ .param pmc opts
+ $S0 = ''
+ $I0 = exists opts['gc-debug']
+ unless $I0 goto L1
+ $S0 .= ' --gc-debug'
+ L1:
+ $I0 = exists opts['run-exec']
+ unless $I0 goto L2
+ $S0 .= ' --run-exec'
+ L2:
+ $S0 = substr $S0, 1
+ $P0 = new 'Env'
+ $P0['TEST_PROG_ARGS'] = $S0
+.end
+
+.sub '_get_tests' :anon
+ .param pmc opts
+ .param pmc files
+ .local int nb
+ $I0 = opts['code-tests']
+ unless $I0 goto L1
+ .const string developing_tests = 't/distro/file_metadata.t t/codingstd/*.t'
+ files = glob(developing_tests)
+ goto L2
+ L1:
+ nb = elements files
+ unless nb == 0 goto L2
+ files = _get_common_tests(opts)
+ L2:
+ nb = elements files
+ # currently, FixedStringArray hasn't the method sort.
+ # see TT #1356
+ $P0 = new 'FixedPMCArray'
+ set $P0, nb
+ $I0 = 0
+ $P1 = iter files
+ L3:
+ unless $P1 goto L4
+ $S0 = shift $P1
+ $P2 = split "\\", $S0
+ $S0 = join "/", $P2
+ $P2 = box $S0
+ $P0[$I0] = $P2
+ inc $I0
+ goto L3
+ L4:
+ $P0.'sort'()
+ .return ($P0)
+.end
+
+.sub '_get_common_tests' :anon
+ .param pmc opts
+ .const string runcore_tests = <<'TEST'
+t/compilers/imcc/*/*.t
+t/op/*.t
+t/pmc/*.t
+t/oo/*.t
+t/native_pbc/*.t
+t/dynpmc/*.t
+t/dynoplibs/*.t
+TEST
+ .const string core_tests = <<'TEST'
+t/src/*.t
+t/run/*.t
+t/perl/*.t
+TEST
+ .const string library_tests = <<'TEST'
+t/compilers/pct/*.t
+t/compilers/pge/*.t
+t/compilers/pge/p5regex/*.t
+t/compilers/pge/perl6regex/*.t
+t/compilers/tge/*.t
+t/library/*.t
+t/tools/*.t
+t/profiling/*.t
+TEST
+ .const string configure_tests = <<'TEST'
+t/configure/*.t
+t/steps/*.t
+t/postconfigure/*.t
+TEST
+ $S0 = runcore_tests
+ $I0 = exists opts['runcore-tests']
+ if $I0 goto L1
+ $S0 .= core_tests
+ $I0 = exists opts['core-tests']
+ if $I0 goto L1
+ $S0 .= library_tests
+ $S0 .= configure_tests
+ L1:
+ $P0 = split "\n", $S0
+ $S0 = join ' ', $P0
+ $P0 = glob($S0)
+ .return ($P0)
+.end
+
+.include 'iglobals.pasm'
+
+.sub 'collect_test_environment_data' :anon
+ .local pmc config, env
+ $P0 = getinterp
+ config = $P0[.IGLOBALS_CONFIG_HASH]
+ env = new 'Env'
+ $P0 = new 'Hash'
+ .local string arch
+ arch = config['cpuarch']
+ $P0['Architecture'] = arch
+ $S0 = _get_compiler_version(config)
+ $P0['Compiler'] = $S0
+ .local string devel
+ devel = config['DEVEL']
+ $P0['DEVEL'] = devel
+ .local string optimize
+ optimize = 'none'
+ $I0 = exists config['optimize']
+ unless $I0 goto L1
+ optimize = config['optimize']
+ L1:
+ $P0['Optimize'] = optimize
+ .local string osname
+ osname = config['osname']
+ $P0['Platform'] = osname
+ .local string version
+ version = config['VERSION']
+ $P0['Version'] = version
+ .local string submitter
+ submitter = _get_submitter(config, env)
+ $P0['Submitter'] = submitter
+ _add_subversion_info($P0)
+ .return ($P0)
+.end
+
+.sub '_get_compiler_version' :anon
+ .param pmc config
+ $S0 = config['cc']
+ $I0 = index $S0, 'gcc'
+ unless $I0 >= 0 goto L1
+ $I0 = exists config['gccversion']
+ unless $I0 goto L1
+ $S0 .= ' '
+ $S1 = config['gccversion']
+ $S0 .= $S1
+ .return ($S0)
+ L1:
+ $I0 = index $S0, 'cl'
+ unless $I0 >= 0 goto L2
+ $I0 = exists config['msvcversion']
+ unless $I0 goto L2
+ $S0 .= ' '
+ $S1 = config['msvcversion']
+ $S0 .= $S1
+ .return ($S0)
+ L2:
+ $I0 = exists config['gccversion']
+ unless $I0 goto L3
+ $S0 .= ' (gcc '
+ $S1 = config['gccversion']
+ $S0 .= $S1
+ $S0 .= ')'
+ .return ($S0)
+ L3:
+ $I0 = exists config['msvcversion']
+ unless $I0 goto L4
+ $S0 .= ' (msvc '
+ $S1 = config['msvcversion']
+ $S0 .= $S1
+ $S0 .= ')'
+ .return ($S0)
+ L4:
+ .return ($S0)
+.end
+
+.sub '_get_submitter' :anon
+ .param pmc config
+ .param pmc env
+ $I0 = exists env['SMOLDER_SUBMITTER']
+ unless $I0 goto L1
+ $S0 = env['SMOLDER_SUBMITTER']
+ .return ($S0)
+ L1:
+ .local string me
+ $I0 = exists config['win32']
+ unless $I0 goto L2
+ me = env['USERNAME']
+ goto L3
+ L2:
+ me = env['LOGNAME']
+ L3:
+ $S0 = me . '@unknown'
+ .return ($S0)
+.end
+
+.include 'cclass.pasm'
+
+.sub '_add_subversion_info' :anon
+ .param pmc hash
+ $I0 = file_exists('.svn')
+ unless $I0 goto L1
+ $P0 = new 'FileHandle'
+ $P0.'open'('svn info', 'pr')
+ $S0 = $P0.'readall'()
+ $P0.'close'()
+ $I0 = length $S0
+ $S1 = 'trunk'
+ $I1 = index $S0, '/branches/'
+ unless $I1 >= 0 goto L2
+ $I1 += 10
+ $I2 = find_not_cclass .CCLASS_WHITESPACE, $S0, $I1, $I0
+ $I3 = $I2 - $I1
+ $S1 = substr $S0, $I1, $I3
+ L2:
+ hash['Branch'] = $S1
+ $P0.'open'('svn status', 'pr')
+ $P1 = new 'ResizableStringArray'
+ L3:
+ $S0 = readline $P0
+ if $S0 == '' goto L4
+ $I0 = index $S0, 'M'
+ unless $I0 == 0 goto L3
+ $S0 = chomp($S0)
+ $I0 = length $S0
+ $I0 = find_not_cclass .CCLASS_WHITESPACE, $S0, 2, $I0
+ $S0 = substr $S0, $I0
+ push $P1, $S0
+ goto L3
+ L4:
+ $P0.'close'()
+ $I0 = elements $P1
+ unless $I0 != 0 goto L1
+ $S0 = hash['DEVEL']
+ $S0 .= ' '
+ $S1 = $I0
+ $S0 .= $S1
+ $S0 .= ' mods'
+ hash['DEVEL'] = $S0
+ $S0 = join ' ', $P1
+ hash['Modifications'] = $S0
+ L1:
+ .return (hash)
+.end
+
+.sub 'send_archive_to_smolder' :anon
+ .param pmc env_data
+ load_bytecode 'osutils.pbc'
+ .const string archive = 'parrot_test_run.tar.gz'
+ .const string smolder_url = 'http://smolder.plusthree.com/app/projects/process_add_report/8'
+ .const string username = 'parrot-autobot'
+ .const string password = 'squ at wk'
+ .local pmc config
+ $P0 = getinterp
+ config = $P0[.IGLOBALS_CONFIG_HASH]
+ .local string cmd
+ cmd = "curl -F architecture="
+ $S0 = config['cpuarch']
+ cmd .= $S0
+ cmd .= " -F platform="
+ $S0 = config['osname']
+ cmd .= $S0
+ cmd .= " -F revision="
+ $S0 = config['revision']
+ cmd .= $S0
+ cmd .= " -F tags=\""
+ $S0 = _get_tags(env_data)
+ cmd .= $S0
+ cmd .= "\""
+ cmd .= " -F username="
+ cmd .= username
+ cmd .= " -F password="
+ cmd .= password
+ cmd .= " -F comments=\"EXPERIMENTAL t/harness.pir\""
+ cmd .= " -F report_file=@"
+ cmd .= archive
+ cmd .= " "
+ cmd .= smolder_url
+ .tailcall system(cmd, 1 :named('verbose'))
+.end
+
+.sub '_get_tags' :anon
+ .param pmc env_data
+ $P0 = split ' ', 'Architecture Compiler Platform Version'
+ $P1 = new 'ResizableStringArray'
+ L1:
+ unless $P0 goto L2
+ $S0 = shift $P0
+ $S1 = env_data[$S0]
+ push $P1, $S1
+ goto L1
+ L2:
+ $S0 = join ', ', $P1
+ .return ($S0)
+.end
+
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/runcore_purge/t/library/mime_base64.t
==============================================================================
--- branches/runcore_purge/t/library/mime_base64.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/library/mime_base64.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -23,7 +23,7 @@
load_bytecode 'MIME/Base64.pbc'
load_bytecode 'PGE.pbc'
load_bytecode 'PGE/Util.pbc'
- load_bytecode 'compilers/json/JSON.pbc'
+ load_language 'data_json'
.local pmc plan, is, ok
plan = get_hll_global [ 'Test'; 'More' ], 'plan'
@@ -32,11 +32,11 @@
plan(550)
- .local pmc JSON
- JSON = compreg "JSON"
+ .local pmc json
+ json = compreg 'data_json'
.local pmc encode_decode_tests, decode_tests
- encode_decode_tests = JSON( <<'END_JSON' )
+ encode_decode_tests = json.'compile'( <<'END_JSON' )
[ ["Hello, World!\n","SGVsbG8sIFdvcmxkIQo="],
["\u0000","AA=="],
["\u0001","AQ=="],
@@ -310,7 +310,7 @@
]
END_JSON
- decode_tests = JSON( <<'END_JSON' )
+ decode_tests = json.'compile'( <<'END_JSON' )
[ ["YWE=","aa"],
[" YWE=","aa"],
["Y WE=","aa"],
@@ -333,6 +333,7 @@
.local pmc test_iterator, test_case
.local string plain, base64, comment, comment_cnt
+ encode_decode_tests = encode_decode_tests()
test_iterator = iter encode_decode_tests
enc_dec_loop:
unless test_iterator goto enc_dec_loop_end
@@ -351,6 +352,7 @@
goto enc_dec_loop
enc_dec_loop_end:
+ decode_tests = decode_tests()
test_iterator = iter decode_tests
dec_loop:
unless test_iterator goto dec_loop_end
Modified: branches/runcore_purge/t/library/pcre.t
==============================================================================
--- branches/runcore_purge/t/library/pcre.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/library/pcre.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -26,7 +26,7 @@
# if we keep pcre, we need a config test
my $cmd = ( $^O =~ /MSWin32/ ) ? "pcregrep --version" : "pcre-config --version";
-my $has_pcre = !Parrot::Test::run_command( $cmd, STDERR => File::Spec->devnull, );
+my $has_pcre = !Parrot::Test::run_command( $cmd, STDOUT => File::Spec->devnull ,STDERR => File::Spec->devnull, );
my $pcre_libpath = '';
# It's possible that libpcre is installed in some non-standard path...
Modified: branches/runcore_purge/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/runcore_purge/t/native_pbc/integer_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/runcore_purge/t/native_pbc/number_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/runcore_purge/t/native_pbc/string_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/runcore_purge/t/op/00ff-unix.t
==============================================================================
--- branches/runcore_purge/t/op/00ff-unix.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/00ff-unix.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -26,7 +26,7 @@
.sub test_fileformat_unix
lives_ok( <<'CODE', 'fileformat unix' )
.sub main
- print "testing\n"
+ print "# testing\n"
.end
CODE
.end
Modified: branches/runcore_purge/t/op/fetch.t
==============================================================================
--- branches/runcore_purge/t/op/fetch.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/fetch.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -28,7 +28,6 @@
.end
.sub 'test_fetch_keyed_int'
- diag( 'test_fetch_keyed_int' )
$P0 = new [ 'Hash' ]
$P1 = box 111
$P0[1] = $P1
@@ -48,7 +47,6 @@
.end
.sub 'test_fetch_keyed_str'
- diag( 'test_fetch_keyed_str' )
$P0 = new [ 'Hash' ]
$P1 = box 111
$P0['one'] = $P1
@@ -68,7 +66,6 @@
.end
.sub 'test_fetch_keyed_pmc'
- diag( 'test_fetch_keyed_pmc' )
$P0 = new [ 'Hash' ]
$P1 = box 111
Modified: branches/runcore_purge/t/op/gc-leaky.t
==============================================================================
--- branches/runcore_purge/t/op/gc-leaky.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/gc-leaky.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -48,7 +48,7 @@
if counter > 1e6 goto done
goto loop
done:
- say ""
+ diag("")
$I1 = interpinfo.INTERPINFO_GC_COLLECT_RUNS
$I2 = interpinfo.INTERPINFO_GC_MARK_RUNS
Modified: branches/runcore_purge/t/op/gc.t
==============================================================================
--- branches/runcore_purge/t/op/gc.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/gc.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -508,7 +508,6 @@
# coro context and invalid return continuations
# this is a stripped down version of imcc/t/syn/pcc_16
-# s. also src/pmc/retcontinuation.pmc
.sub coro_context_ret_continuation
.const 'Sub' $P0 = "co1"
Modified: branches/runcore_purge/t/op/string.t
==============================================================================
--- branches/runcore_purge/t/op/string.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/string.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -19,7 +19,7 @@
.sub main :main
.include 'test_more.pir'
- plan(412)
+ plan(399)
set_s_s_sc()
test_clone()
@@ -27,7 +27,6 @@
test_length_i_s()
zero_length_substr()
chopn_with_clone()
- chopn_with_set()
chopn_oob_values()
three_argument_chopn()
three_argument_chopn__oob_values()
@@ -40,6 +39,7 @@
five_arg_substr_w_rep_eq_length()
five_arg_substr_w_replacement_gt_length()
five_arg_substr_w_replacement_lt_length()
+ five_arg_substr_vs_hash()
five_arg_substr__offset_at_end_of_string()
exception_five_arg_substr__offset_past_end_of_string()
five_arg_substr_neg_offset_repl_eq_length()
@@ -122,10 +122,8 @@
correct_precision_for_sprintf_x()
test_exchange()
test_find_encoding()
- test_string_encoding()
test_assign()
assign_and_globber()
- assign_and_globber_2()
bands_null_string()
bands_2()
bands_3()
@@ -141,8 +139,6 @@
bnots_null_string()
bnots_2()
bnots_cow()
- transcode_to_utf8()
- string_chartype()
split_on_empty_string()
split_on_non_empty_string()
test_join()
@@ -237,20 +233,6 @@
is( $S3, "JAPHxyzw", '' )
.end
-.sub chopn_with_set
- set $S4, "JAPHxyzw"
- set $S5, "japhXYZW"
- set $S3, $S4
- set $I1, 4
- chopn $S4, 3
- chopn $S4, 1
- chopn $S5, $I1
-
- is( $S4, "JAPH", '' )
- is( $S5, "japh", '' )
- is( $S3, "JAPH", '' )
-.end
-
.sub chopn_oob_values
set $S1, "A string of length 21"
chopn $S1, 0
@@ -292,10 +274,6 @@
set $S3, $S1
chopn $S2, $S1, 3
is( $S3, "Parrot", '' )
-
- set $S3, $S1
- chopn $S1, 3
- is( $S3, "Par", '' )
.end
#
.sub three_argument_chopn__oob_values
@@ -427,6 +405,18 @@
is( $S2, "", '' )
.end
+.sub five_arg_substr_vs_hash
+ # Check that string hashval properly updated.
+ .local pmc hash
+ hash = new ['Hash']
+ $S0 = "fooo"
+ hash[$S0] = 1
+ hash["foo"] = 42
+ $S0 = replace $S0, 1, 1, ''
+ $S1 = hash[$S0]
+ is( $S1, '42', 'substr behave it self')
+.end
+
.sub exception_five_arg_substr__offset_past_end_of_string
set $S0, "abcdefghijk"
set $S1, "xyz"
@@ -434,7 +424,7 @@
substr $S2, $S0, 12, 3, $S1
ok(0,"no exception")
handler:
- .exception_is( "Can only replace inside string or index after end of string" )
+ .exception_is( "Cannot take substr outside string" )
.end
.sub five_arg_substr_neg_offset_repl_eq_length
@@ -471,7 +461,7 @@
substr $S2, $S0, -12, 4, $S1
ok(0,"no exception")
handler:
- .exception_is( "Can only replace inside string or index after end of string" )
+ .exception_is( "Cannot take substr outside string" )
.end
.sub five_arg_substr_length_gt_strlen
@@ -495,9 +485,10 @@
.sub four_arg_replacement_only_substr
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S0, 3, 3, $S1
- is( $S0, "abcxyzghijk", '' )
+ $S2 = replace $S0, 3, 3, $S1
+ is( $S0, "abcdefghijk", '' )
is( $S1, "xyz", '' )
+ is( $S2, "abcxyzghijk", '' )
.end
.sub three_arg_substr
@@ -1477,34 +1468,6 @@
# is( $I0, "3", 'find_encoding' )
.end
-.sub test_string_encoding
- skip(4, "no more visible encoding" )
- # set $I0, 0
- # new $S0, 0, $I0
- # string_encoding $I1, $S0
- # eq $I0, $I1, OK1
- # print "not "
- # OK1: print "ok 1\n"
- # set $I0, 1
- # new $S0, 0, $I0
- # string_encoding $I1, $S0
- # eq $I0, $I1, OK2
- # print "not "
- # OK2: print "ok 2\n"
- # set $I0, 2
- # new $S0, 0, $I0
- # string_encoding $I1, $S0
- # eq $I0, $I1, OK3
- # print "not "
- # OK3: print "ok 3\n"
- # set $I0, 3
- # new $S0, 0, $I0
- # string_encoding $I1, $S0
- # eq $I0, $I1, OK4
- # print "not "
- # OK4: print "ok 4\n"
-.end
-
.sub test_assign
set $S4, "JAPH"
assign $S5, $S4
@@ -1520,14 +1483,6 @@
is( $S5, "JAPH", 'assign & globber' )
.end
-.sub assign_and_globber_2
- set $S4, "JAPH"
- set $S5, $S4
- assign $S4, "Parrot"
- is( $S4, "Parrot", 'assign & globber 2' )
- is( $S5, "Parrot", 'assign & globber 2' )
-.end
-
.sub bands_null_string
null $S1
set $S2, "abc"
@@ -1768,25 +1723,6 @@
is( $S2, "foo", 'bnots COW' )
.end
-.sub transcode_to_utf8
- skip( 2, "no more transcode" )
- # set $S1, "ASCII is the same as UTF8\n"
- # find_encoding $I1, "utf8"
- # transcode $S2, $S1, $I1
- # is( $S1, "ASCII is the same as UTF8", 'transcode to utf8' )
- # is( $S2, "ASCII is the same as UTF8", 'transcode to utf8' )
-.end
-
-.sub string_chartype
- skip( 1, "no more chartype" )
-
- # set $S0, "Test String"
- # find_chartype $I0, "usascii"
- # set_chartype $S0, $I0
- # string_chartype $I1, $S0
- # is( $I0, $I1, 'string_chartype' )
-.end
-
.sub split_on_empty_string
split $P1, "", ""
set $I1, $P1
@@ -1865,19 +1801,6 @@
OK1:
ok($I99, 'eq_addr/ne_addr')
- set $S1, "Test"
- set $I99, 0
- eq_addr $S1, $S0, BAD2
- set $I99, 1
- BAD2:
- ok($I99, 'eq_addr/ne_addr')
-
- set $I99, 1
- ne_addr $S1, $S0, OK3
- set $I99, 0
- OK3:
- ok($I99, 'eq_addr/ne_addr')
-
set $S0, $S1
set $I99, 0
ne_addr $S1, $S0, BAD4
Modified: branches/runcore_purge/t/op/vivify.t
==============================================================================
--- branches/runcore_purge/t/op/vivify.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/op/vivify.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -28,7 +28,6 @@
.end
.sub 'test_vivify_keyed_int'
- diag( 'test_vivify_keyed_int' )
$P0 = new [ 'Hash' ]
$P1 = box 111
$P0[1] = $P1
@@ -56,7 +55,6 @@
.end
.sub 'test_vivify_keyed_str'
- diag( 'test_vivify_keyed_str' )
$P0 = new [ 'Hash' ]
$P1 = box 111
$P0['one'] = $P1
@@ -84,7 +82,6 @@
.end
.sub 'test_vivify_keyed_pmc'
- diag( 'test_vivify_keyed_pmc' )
$P0 = new [ 'Hash' ]
$P1 = box 111
Modified: branches/runcore_purge/t/pmc/bigint.t
==============================================================================
--- branches/runcore_purge/t/pmc/bigint.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/pmc/bigint.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -51,7 +51,7 @@
$P2 = $P1['gmp']
$I1 = isnull $P2
if $I1, NoLibGMP
- say 'This Parrot uses GMP'
+ say '# This Parrot uses GMP'
# check version is >= 4.1.4
$P0 = new ['BigInt']
@@ -70,18 +70,18 @@
lt $I2, 4, OldLibGMP
Config2:
- print 'Suitable GMP version ['
+ print '# Suitable GMP version ['
print $S3
say '] available'
goto ret
NoLibGMP:
- say 'No BigInt Lib configured'
+ say '# No BigInt Lib configured'
skip(34)
exit 0
OldLibGMP:
- print 'Buggy GMP version ['
+ print '# Buggy GMP version ['
print $S3
say '] with huge digit multiply - please upgrade'
skip(34)
@@ -567,7 +567,7 @@
goto esz
esz:
- print 'Using '
+ print '# Using '
$I0 = mul $I0, 8
print $I0
print '-bit Integers ['
Modified: branches/runcore_purge/t/pmc/namespace.t
==============================================================================
--- branches/runcore_purge/t/pmc/namespace.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/pmc/namespace.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -282,7 +282,7 @@
$I0 = isnull $P0
is($I0, 0, "Find Sub in an ISO-8859-1 NameSpace looked up by a Unicode name")
$S0 = $P0()
- say $S0
+ diag($S0)
is($S0, iso-8859-1:"Fran\x{E7}ois", "ISO-8859 NameSpace with Unicode name")
goto end_test8
eh8:
Deleted: branches/runcore_purge/t/pmc/retcontinuation.t
==============================================================================
--- branches/runcore_purge/t/pmc/retcontinuation.t Sat Apr 24 00:51:33 2010 (r45947)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,32 +0,0 @@
-#! parrot
-# Copyright (C) 2006-2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/pmc/retcontinuation.t - test the RetContinuation PMC
-
-=head1 SYNOPSIS
-
- % prove t/pmc/retcontinuation.t
-
-=head1 DESCRIPTION
-
-Tests the RetContinuation PMC.
-
-=cut
-
-.sub main :main
- .include 'test_more.pir'
-
- plan(1)
-
- new $P0, ['RetContinuation']
- ok(1, 'Instantiated a RetContinuation PMC')
-.end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/runcore_purge/t/pmc/string.t
==============================================================================
--- branches/runcore_purge/t/pmc/string.t Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/t/pmc/string.t Sat Apr 24 00:51:33 2010 (r45948)
@@ -20,14 +20,13 @@
.sub main :main
.include 'test_more.pir'
- plan(173)
+ plan(171)
set_or_get_strings()
setting_integers()
setting_numbers()
ensure_that_concat_ppp_copies_strings()
ensure_that_concat_pps_copies_strings()
- setting_string_references()
assigning_string_copies()
test_repeat()
test_repeat_without_creating_dest_pmc()
@@ -203,16 +202,6 @@
is( $P0, 'fnarghGrunties', 'concat success' )
.end
-.sub setting_string_references
- new $P0, ['String']
- set $S0, "C2H5OH + 10H20"
- set $P0, $S0
- chopn $S0, 8
-
- is( $S0, 'C2H5OH', 'removed last 8 from string' )
- is( $P0, 'C2H5OH', '...and the PMC still reference $S0' )
-.end
-
.sub assigning_string_copies
new $P0, ['String']
set $S0, "C2H5OH + 10H20"
Copied: branches/runcore_purge/t/steps/auto/zlib-01.t (from r45947, trunk/t/steps/auto/zlib-01.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/runcore_purge/t/steps/auto/zlib-01.t Sat Apr 24 00:51:33 2010 (r45948, copy of r45947, trunk/t/steps/auto/zlib-01.t)
@@ -0,0 +1,176 @@
+#! perl
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use Test::More tests => 24;
+use Carp;
+use lib qw( lib t/configure/testlib );
+use_ok('config::auto::zlib');
+use Parrot::Configure::Options qw( process_options );
+use Parrot::Configure::Step::Test;
+use Parrot::Configure::Test qw(
+ test_step_constructor_and_description
+);
+use IO::CaptureOutput qw( capture );
+
+########## --without-zlib ##########
+
+my ($args, $step_list_ref) = process_options(
+ {
+ argv => [ q{--without-zlib} ],
+ mode => q{configure},
+ }
+);
+
+my $conf = Parrot::Configure::Step::Test->new;
+$conf->include_config_results( $args );
+
+my $pkg = q{auto::zlib};
+
+$conf->add_steps($pkg);
+
+my $serialized = $conf->pcfreeze();
+
+$conf->options->set( %{$args} );
+my $step = test_step_constructor_and_description($conf);
+my $ret = $step->runstep($conf);
+ok( $ret, "runstep() returned true value" );
+is($conf->data->get('has_zlib'), 0,
+ "Got expected value for 'has_zlib'");
+is($step->result(), q{no}, "Expected result was set");
+
+$conf->replenish($serialized);
+
+########## _select_lib() ##########
+
+($args, $step_list_ref) = process_options( {
+ argv => [ ],
+ mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+# Mock different OS/compiler combinations.
+my ($osname, $cc, $initial_libs);
+$initial_libs = $conf->data->get('libs');
+$osname = 'mswin32';
+$cc = 'gcc';
+is($step->_select_lib( {
+ conf => $conf,
+ osname => $osname,
+ cc => $cc,
+ win32_nongcc => 'zlib.lib',
+ default => '-lz',
+} ),
+ '-lz',
+ "_select_lib() returned expected value");
+
+$osname = 'mswin32';
+$cc = 'cc';
+is($step->_select_lib( {
+ conf => $conf,
+ osname => $osname,
+ cc => $cc,
+ win32_nongcc => 'zlib.lib',
+ default => '-lz',
+} ),
+ 'zlib.lib',
+ "_select_lib() returned expected value");
+
+$osname = 'foobar';
+$cc = 'cc';
+is($step->_select_lib( {
+ conf => $conf,
+ osname => $osname,
+ cc => $cc,
+ win32_nongcc => 'zlib.lib',
+ default => '-lz',
+} ),
+ '-lz',
+ "_select_lib() returned expected value");
+
+my $verbose = undef;
+
+$conf->replenish($serialized);
+
+########## --without-zlib; _evaluate_cc_run() ##########
+
+($args, $step_list_ref) = process_options( {
+ argv => [ q{--without-zlib} ],
+ mode => q{configure},
+} );
+$conf->options->set( %{$args} );
+$step = test_step_constructor_and_description($conf);
+my ($test, $has_zlib);
+$test = qq{1.2.3\n};
+$has_zlib = 0;
+$verbose = undef;
+$has_zlib = $step->_evaluate_cc_run($conf, $test, $has_zlib, $verbose);
+is($has_zlib, 1, "'has_zlib' set as expected");
+is($step->result(), 'yes, 1.2.3', "Expected result was set");
+# Prepare for next test
+$step->set_result(undef);
+
+$test = qq{foobar};
+$has_zlib = 0;
+$verbose = undef;
+$has_zlib = $step->_evaluate_cc_run($conf, $test, $has_zlib, $verbose);
+is($has_zlib, 0, "'has_zlib' set as expected");
+ok(! defined $step->result(), "Result is undefined, as expected");
+
+{
+ my $stdout;
+ $test = qq{1.2.3\n};
+ $has_zlib = 0;
+ $verbose = 1;
+ capture(
+ sub { $has_zlib =
+ $step->_evaluate_cc_run($conf, $test, $has_zlib, $verbose); },
+ \$stdout,
+ );
+ is($has_zlib, 1, "'has_zlib' set as expected");
+ is($step->result(), 'yes, 1.2.3', "Expected result was set");
+ like($stdout, qr/\(yes\)/, "Got expected verbose output");
+ # Prepare for next test
+ $step->set_result(undef);
+}
+
+pass("Completed all tests in $0");
+
+################### DOCUMENTATION ###################
+
+=head1 NAME
+
+auto/zlib-01.t - test auto::zlib
+
+=head1 SYNOPSIS
+
+ % prove t/steps/auto/zlib-01.t
+
+=head1 DESCRIPTION
+
+The files in this directory test functionality used by F<Configure.pl>.
+
+The tests in this file test auto::zlib.
+
+=head1 HISTORY
+
+Mostly taken from F<t/steps/auto/gdbm-01.t>.
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=head1 SEE ALSO
+
+config::auto::zlib, F<Configure.pl>.
+
+=cut
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Modified: branches/runcore_purge/tools/dev/checkdepend.pl
==============================================================================
--- branches/runcore_purge/tools/dev/checkdepend.pl Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/tools/dev/checkdepend.pl Sat Apr 24 00:51:33 2010 (r45948)
@@ -85,6 +85,11 @@
diag "couldn't find $include, included from $file";
}
+ # always require an explicit .o -> .c dep. This is lazy and not always
+ # needed. However, missing it when it is needed causes pain.
+ if ($file =~ /\.c$/) {
+ push @{$deps{$file}}, $file;
+ }
}
foreach my $file (sort grep /\.pir$/, @incfiles) {
@@ -267,7 +272,7 @@
$rule_deps = join "\n", sort split /\s+/, $rule_deps;
my $expected_deps = join "\n", sort (get_deps($file));
- eq_or_diff_text($rule_deps, $expected_deps, "$file has correct dependencies $extra_info.", {context => 0});
+ eq_or_diff_text($rule_deps, $expected_deps, "$file $extra_info.", {context => 0});
}
}
Modified: branches/runcore_purge/tools/dev/mk_manifest_and_skip.pl
==============================================================================
--- branches/runcore_purge/tools/dev/mk_manifest_and_skip.pl Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/tools/dev/mk_manifest_and_skip.pl Sat Apr 24 00:51:33 2010 (r45948)
@@ -38,9 +38,12 @@
=head1 DESCRIPTION
-Recreates MANIFEST and MANIFEST.SKIP from the subversion properties
-and the output of C<svn status>. .
-So far tested with svn 1.2.0 and svn 1.4.2.
+Recreates MANIFEST and MANIFEST.SKIP from the output of C<svn status> and the subversion properties. Run this script after SVN has been told about new or deleted files and before you commit to the repository. So far tested with svn 1.2.0, 1.4.2 and 1.6.6.
+
+ svn add PATH...
+ svn delete PATH...
+ perl tools/dev/mk_manifest_and_skip.pl
+ svn commit -m ... [PATH...]
This won't work for git-svn.
Modified: branches/runcore_purge/tools/dev/nci_thunk_gen.pir
==============================================================================
--- branches/runcore_purge/tools/dev/nci_thunk_gen.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/tools/dev/nci_thunk_gen.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -918,7 +918,7 @@
# decode table
.local pmc compiler
- load_bytecode 'data_json.pbc'
+ load_language 'data_json'
compiler = compreg 'data_json'
.local pmc table
Modified: branches/runcore_purge/tools/dev/pbc_to_exe.pir
==============================================================================
--- branches/runcore_purge/tools/dev/pbc_to_exe.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/tools/dev/pbc_to_exe.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -217,9 +217,12 @@
.local pmc ifh
ifh = open infile, 'r'
unless ifh goto err_infile
- .local string codestring
+
+ .local pmc codestring
.local int size
- codestring = "const Parrot_UInt1 program_code[] = {"
+
+ codestring = new [ 'ResizableStringArray' ]
+ push codestring, "const Parrot_UInt1 program_code[] = {"
size = 0
read_loop:
@@ -236,13 +239,13 @@
unless pos < pbclength goto code_done
$I0 = ord pbcstring, pos
$S0 = $I0
- codestring .= $S0
- codestring .= ','
+ push codestring, $S0
+ push codestring, ','
inc pos
inc size
$I0 = size % 32
unless $I0 == 0 goto code_loop
- codestring .= "\n"
+ push codestring, "\n"
goto code_loop
code_done:
goto read_loop
@@ -250,19 +253,19 @@
read_done:
close ifh
- codestring .= "\n};\n\n"
- codestring .= "const int bytecode_size = "
+ push codestring, "\n};\n\nconst int bytecode_size = "
$S0 = size
- codestring .= $S0
- codestring .= ";\n"
- codestring .= <<'END_OF_FUNCTION'
+ push codestring, $S0
+ push codestring, ";\n"
+ push codestring, <<'END_OF_FUNCTION'
const void * get_program_code(void)
{
return program_code;
}
END_OF_FUNCTION
- .return (codestring)
+ $S0 = join '', codestring
+ .return ($S0)
err_infile:
die "cannot open infile"
@@ -307,10 +310,13 @@
.local pmc encoding_table
encoding_table = 'generate_encoding_table'()
- .local string codestring
+ .local pmc codestring
.local int size
- codestring = "const char * program_code =\n"
- codestring .= '"'
+
+ codestring = new ['ResizableStringArray']
+
+ push codestring, "const char * program_code =\n"
+ push codestring, '"'
size = 0
read_loop:
@@ -327,14 +333,14 @@
unless pos < pbclength goto code_done
$I0 = ord pbcstring, pos
$S0 = encoding_table[$I0]
- codestring .= $S0
+ push codestring, $S0
inc pos
inc size
$I0 = size % 32
unless $I0 == 0 goto code_loop
- codestring .= '"'
- codestring .= "\n"
- codestring .= '"'
+ push codestring, '"'
+ push codestring, "\n"
+ push codestring, '"'
goto code_loop
code_done:
goto read_loop
@@ -342,21 +348,22 @@
read_done:
close ifh
- codestring .= '"'
- codestring .= "\n;\n\n"
- codestring .= "const int bytecode_size = "
+ push codestring, '"'
+ push codestring, "\n;\n\n"
+ push codestring, "const int bytecode_size = "
$S0 = size
- codestring .= $S0
- codestring .= ";\n"
+ push codestring, $S0
+ push codestring, ";\n"
- codestring .= <<'END_OF_FUNCTION'
+ push codestring, <<'END_OF_FUNCTION'
const void * get_program_code(void)
{
return program_code;
}
END_OF_FUNCTION
- .return (codestring)
+ $S0 = join '', codestring
+ .return ($S0)
err_infile:
die "cannot open infile"
@@ -437,17 +444,16 @@
pbc_size = $P2[7]
- .local string codestring
- codestring = ''
- codestring .= '#include <windows.h>'
- codestring .= "\n"
- codestring .= rc_constant_defines
- codestring .= "const unsigned int bytecode_size = "
+ .local pmc codestring
+ codestring = new [ 'ResizableStringArray' ]
+ push codestring, "#include <windows.h>\n"
+ push codestring, rc_constant_defines
+ push codestring, "const unsigned int bytecode_size = "
$S0 = pbc_size
- codestring .= $S0
- codestring .= ";\n"
+ push codestring, $S0
+ push codestring, ";\n"
- codestring .= <<'END_OF_FUNCTION'
+ push codestring, <<'END_OF_FUNCTION'
const void * get_program_code(void)
{
HRSRC hResource;
@@ -489,9 +495,10 @@
unless status goto rc_ok
die "RC command failed"
- rc_ok:
- .return (codestring)
+ rc_ok:
+ $S0 = join '', codestring
+ .return ($S0)
err_h_open:
die "cannot open .h file"
Modified: branches/runcore_purge/tools/dev/tapir.pir
==============================================================================
--- branches/runcore_purge/tools/dev/tapir.pir Fri Apr 23 23:15:12 2010 (r45947)
+++ branches/runcore_purge/tools/dev/tapir.pir Sat Apr 24 00:51:33 2010 (r45948)
@@ -107,27 +107,26 @@
.sub '_parse_opts' :anon
.param pmc argv
- .local pmc getopts, opts
load_bytecode 'Getopt/Obj.pbc'
- getopts = new ['Getopt';'Obj']
- getopts.'notOptStop'(1)
- push getopts, 'exec|e:s'
- push getopts, 'archive|a:s'
- push getopts, 'verbose|v'
- push getopts, 'quiet|q'
- push getopts, 'QUIET|Q'
- push getopts, 'normalize'
- push getopts, 'failures|f'
- push getopts, 'comments|o'
- push getopts, 'directives'
- push getopts, 'ignore-exit'
- push getopts, 'reverse'
- push getopts, 'merge|m'
- push getopts, 'shuffle|s'
- push getopts, 'version|V'
- push getopts, 'help|h'
- opts = getopts.'get_options'(argv)
- .return(opts)
+ $P0 = new ['Getopt';'Obj']
+ $P0.'notOptStop'(1)
+ push $P0, 'exec|e:s'
+ push $P0, 'archive|a:s'
+ push $P0, 'verbose|v'
+ push $P0, 'quiet|q'
+ push $P0, 'QUIET|Q'
+ push $P0, 'normalize'
+ push $P0, 'failures|f'
+ push $P0, 'comments|o'
+ push $P0, 'directives'
+ push $P0, 'ignore-exit'
+ push $P0, 'reverse'
+ push $P0, 'merge|m'
+ push $P0, 'shuffle|s'
+ push $P0, 'version|V'
+ push $P0, 'help|h'
+ $P1 = $P0.'get_options'(argv)
+ .return ($P1)
.end
.sub 'do' :anon
More information about the parrot-commits
mailing list