[svn:parrot] r46116 - in branches/include_dynpmc_makefile: . compilers/data_json compilers/imcc compilers/json compilers/ncigen compilers/nqp compilers/pct compilers/pct/src/PAST compilers/pct/src/PCT compilers/pge compilers/pge/PGE compilers/pirc compilers/tge config/auto config/auto/cgoto config/auto/sizes config/auto/zlib config/gen config/gen/config_h config/gen/makefiles config/init docs docs/book/draft docs/book/pct docs/dev docs/pdds docs/project examples/benchmarks examples/c examples/config/file examples/embed examples/japh examples/json examples/languages/abc examples/languages/squaak examples/languages/squaak/src/parser examples/library examples/nci examples/pge examples/pir examples/pir/befunge examples/sdl examples/shootout examples/tutorial ext/Parrot-Embed ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot lib/Parrot lib/Parrot/Configure/Options lib/Parrot/Configure/Options/Conf lib/Parrot/Configure/Step lib/Parrot/Docs/Section lib/Parrot/Harness lib/Parr ot/OpTrans lib/Parrot/Ops2c lib/Parrot/Pmc2c lib/Parrot/Pmc2c/PMC ports/cpan ports/cygwin ports/debian ports/mandriva runtime/parrot/languages runtime/parrot/library runtime/parrot/library/CGI runtime/parrot/library/MIME runtime/parrot/library/Math runtime/parrot/library/ProfTest runtime/parrot/library/String runtime/parrot/library/TAP runtime/parrot/library/Test runtime/parrot/library/Test/Builder src src/call src/dynoplibs src/dynpmc src/gc src/interp src/io src/ops src/packfile src/pmc src/runcore src/string src/string/charset src/string/encoding t t/compilers/data_json t/compilers/imcc/reg t/compilers/imcc/syn t/compilers/json t/compilers/pct t/compilers/pge t/compilers/pge/p5regex t/compilers/pge/perl6regex t/compilers/tge t/configure/testlib t/distro t/dynoplibs t/dynpmc t/examples t/include t/library t/native_pbc t/oo t/op t/pharness t/pir t/pmc t/run t/src t/steps/auto t/steps/init/hints t/tools/install/testlib t/tools/ops2cutils tools/build tools/dev tools/install t ools/util
darbelo at svn.parrot.org
darbelo at svn.parrot.org
Wed Apr 28 19:17:24 UTC 2010
Author: darbelo
Date: Wed Apr 28 19:17:12 2010
New Revision: 46116
URL: https://trac.parrot.org/parrot/changeset/46116
Log:
Sync branch with trunk.
Added:
branches/include_dynpmc_makefile/config/auto/zlib/ (props changed)
- copied from r46115, trunk/config/auto/zlib/
branches/include_dynpmc_makefile/config/auto/zlib.pm
- copied unchanged from r46115, trunk/config/auto/zlib.pm
branches/include_dynpmc_makefile/examples/benchmarks/stress_strings.pir
- copied unchanged from r46115, trunk/examples/benchmarks/stress_strings.pir
branches/include_dynpmc_makefile/src/dynpmc/gziphandle.pmc
- copied unchanged from r46115, trunk/src/dynpmc/gziphandle.pmc
branches/include_dynpmc_makefile/t/compilers/data_json/ (props changed)
- copied from r46115, trunk/t/compilers/data_json/
branches/include_dynpmc_makefile/t/dynpmc/gziphandle.t
- copied unchanged from r46115, trunk/t/dynpmc/gziphandle.t
branches/include_dynpmc_makefile/t/steps/auto/zlib-01.t
- copied unchanged from r46115, trunk/t/steps/auto/zlib-01.t
Replaced:
branches/include_dynpmc_makefile/config/auto/zlib/zlib_c.in
- copied unchanged from r46115, trunk/config/auto/zlib/zlib_c.in
branches/include_dynpmc_makefile/t/compilers/data_json/from_parrot.t
- copied unchanged from r46115, trunk/t/compilers/data_json/from_parrot.t
branches/include_dynpmc_makefile/t/compilers/data_json/to_parrot.t
- copied unchanged from r46115, trunk/t/compilers/data_json/to_parrot.t
Deleted:
branches/include_dynpmc_makefile/META.yml
branches/include_dynpmc_makefile/Makefile.PL
branches/include_dynpmc_makefile/compilers/json/
branches/include_dynpmc_makefile/compilers/ncigen/
branches/include_dynpmc_makefile/compilers/nqp/
branches/include_dynpmc_makefile/config/auto/cgoto/
branches/include_dynpmc_makefile/config/auto/cgoto.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGP.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGoto.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CPrederef.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CSwitch.pm
branches/include_dynpmc_makefile/ports/cpan/
branches/include_dynpmc_makefile/t/compilers/json/
branches/include_dynpmc_makefile/t/distro/meta_yml.t
branches/include_dynpmc_makefile/t/steps/auto/cgoto-01.t
Modified:
branches/include_dynpmc_makefile/ (props changed)
branches/include_dynpmc_makefile/.gitignore
branches/include_dynpmc_makefile/CREDITS
branches/include_dynpmc_makefile/Configure.pl
branches/include_dynpmc_makefile/DEPRECATED.pod
branches/include_dynpmc_makefile/MANIFEST
branches/include_dynpmc_makefile/MANIFEST.SKIP
branches/include_dynpmc_makefile/MANIFEST.generated
branches/include_dynpmc_makefile/NEWS
branches/include_dynpmc_makefile/PBC_COMPAT
branches/include_dynpmc_makefile/README
branches/include_dynpmc_makefile/compilers/data_json/Defines.mak
branches/include_dynpmc_makefile/compilers/data_json/Rules.mak (contents, props changed)
branches/include_dynpmc_makefile/compilers/imcc/Rules.in (contents, props changed)
branches/include_dynpmc_makefile/compilers/imcc/imcc.l
branches/include_dynpmc_makefile/compilers/imcc/imclexer.c
branches/include_dynpmc_makefile/compilers/imcc/main.c
branches/include_dynpmc_makefile/compilers/imcc/parser_util.c
branches/include_dynpmc_makefile/compilers/imcc/pbc.c
branches/include_dynpmc_makefile/compilers/pct/Rules.mak (props changed)
branches/include_dynpmc_makefile/compilers/pct/src/PAST/Compiler.pir
branches/include_dynpmc_makefile/compilers/pct/src/PCT/HLLCompiler.pir
branches/include_dynpmc_makefile/compilers/pge/PGE/Exp.pir
branches/include_dynpmc_makefile/compilers/pge/PGE/OPTable.pir
branches/include_dynpmc_makefile/compilers/pge/PGE/Perl6Regex.pir
branches/include_dynpmc_makefile/compilers/pge/Rules.mak (props changed)
branches/include_dynpmc_makefile/compilers/pirc/Rules.mak
branches/include_dynpmc_makefile/compilers/tge/Rules.mak (props changed)
branches/include_dynpmc_makefile/config/auto/sizes/intval_maxmin_c.in (props changed)
branches/include_dynpmc_makefile/config/auto/warnings.pm
branches/include_dynpmc_makefile/config/gen/config_h/config_h.in
branches/include_dynpmc_makefile/config/gen/makefiles.pm
branches/include_dynpmc_makefile/config/gen/makefiles/root.in
branches/include_dynpmc_makefile/config/init/optimize.pm
branches/include_dynpmc_makefile/docs/book/draft/README (props changed)
branches/include_dynpmc_makefile/docs/book/draft/appa_glossary.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/appb_patch_submission.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/appc_command_line_options.pod (contents, props changed)
branches/include_dynpmc_makefile/docs/book/draft/appd_build_options.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/appe_source_code.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch01_introduction.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch02_getting_started.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch07_dynpmcs.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch08_dynops.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch10_opcode_reference.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch11_directive_reference.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/ch12_operator_reference.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/chXX_hlls.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/chXX_library.pod (props changed)
branches/include_dynpmc_makefile/docs/book/draft/chXX_testing_and_debugging.pod (props changed)
branches/include_dynpmc_makefile/docs/book/pct/ch01_introduction.pod (props changed)
branches/include_dynpmc_makefile/docs/book/pct/ch02_getting_started.pod (props changed)
branches/include_dynpmc_makefile/docs/book/pct/ch03_compiler_tools.pod (props changed)
branches/include_dynpmc_makefile/docs/book/pct/ch04_pge.pod (props changed)
branches/include_dynpmc_makefile/docs/book/pct/ch05_nqp.pod (props changed)
branches/include_dynpmc_makefile/docs/configuration.pod
branches/include_dynpmc_makefile/docs/dev/c_functions.pod (props changed)
branches/include_dynpmc_makefile/docs/embed.pod
branches/include_dynpmc_makefile/docs/pdds/pdd30_install.pod (props changed)
branches/include_dynpmc_makefile/docs/porting_intro.pod
branches/include_dynpmc_makefile/docs/project/release_manager_guide.pod
branches/include_dynpmc_makefile/docs/running.pod
branches/include_dynpmc_makefile/examples/benchmarks/oo1.pir
branches/include_dynpmc_makefile/examples/benchmarks/oo2.pir
branches/include_dynpmc_makefile/examples/c/test_main.c
branches/include_dynpmc_makefile/examples/config/file/configcompiler
branches/include_dynpmc_makefile/examples/config/file/configwithfatalstep
branches/include_dynpmc_makefile/examples/embed/cotorra.c (contents, props changed)
branches/include_dynpmc_makefile/examples/japh/japh3.pasm
branches/include_dynpmc_makefile/examples/json/postalcodes.pir
branches/include_dynpmc_makefile/examples/languages/abc/ (props changed)
branches/include_dynpmc_makefile/examples/languages/squaak/ (props changed)
branches/include_dynpmc_makefile/examples/languages/squaak/setup.pir
branches/include_dynpmc_makefile/examples/languages/squaak/src/parser/actions.pm
branches/include_dynpmc_makefile/examples/library/ncurses_life.pir
branches/include_dynpmc_makefile/examples/nci/Xlib.pir
branches/include_dynpmc_makefile/examples/nci/xlibtest.pir
branches/include_dynpmc_makefile/examples/pge/demo.pir (contents, props changed)
branches/include_dynpmc_makefile/examples/pir/befunge/debug.pir
branches/include_dynpmc_makefile/examples/pir/befunge/io.pir
branches/include_dynpmc_makefile/examples/pir/befunge/load.pir
branches/include_dynpmc_makefile/examples/pir/pirric.pir
branches/include_dynpmc_makefile/examples/pir/quine_ord.pir
branches/include_dynpmc_makefile/examples/pir/substr.pir
branches/include_dynpmc_makefile/examples/sdl/mandel.pir
branches/include_dynpmc_makefile/examples/shootout/ack.pir
branches/include_dynpmc_makefile/examples/shootout/binarytrees.pir
branches/include_dynpmc_makefile/examples/shootout/fasta.pir
branches/include_dynpmc_makefile/examples/shootout/knucleotide.pir
branches/include_dynpmc_makefile/examples/shootout/partialsums.pir
branches/include_dynpmc_makefile/examples/shootout/pidigits.pir
branches/include_dynpmc_makefile/examples/shootout/random.pir
branches/include_dynpmc_makefile/examples/shootout/recursive-2.pir
branches/include_dynpmc_makefile/examples/shootout/recursive.pir
branches/include_dynpmc_makefile/examples/shootout/regexdna.pir
branches/include_dynpmc_makefile/examples/shootout/revcomp.pir
branches/include_dynpmc_makefile/examples/shootout/takfp.pir
branches/include_dynpmc_makefile/examples/tutorial/23_string_ops_substr.pir
branches/include_dynpmc_makefile/ext/Parrot-Embed/MANIFEST
branches/include_dynpmc_makefile/ext/nqp-rx/Rules.mak (props changed)
branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/include_dynpmc_makefile/include/parrot/call.h (props changed)
branches/include_dynpmc_makefile/include/parrot/charset.h
branches/include_dynpmc_makefile/include/parrot/context.h
branches/include_dynpmc_makefile/include/parrot/debugger.h
branches/include_dynpmc_makefile/include/parrot/embed.h
branches/include_dynpmc_makefile/include/parrot/encoding.h
branches/include_dynpmc_makefile/include/parrot/exceptions.h
branches/include_dynpmc_makefile/include/parrot/gc_api.h (contents, props changed)
branches/include_dynpmc_makefile/include/parrot/hash.h
branches/include_dynpmc_makefile/include/parrot/interpreter.h
branches/include_dynpmc_makefile/include/parrot/io.h
branches/include_dynpmc_makefile/include/parrot/io_portable.h
branches/include_dynpmc_makefile/include/parrot/io_unix.h
branches/include_dynpmc_makefile/include/parrot/io_win32.h
branches/include_dynpmc_makefile/include/parrot/op.h
branches/include_dynpmc_makefile/include/parrot/oplib.h
branches/include_dynpmc_makefile/include/parrot/packfile.h
branches/include_dynpmc_makefile/include/parrot/pmc_freeze.h
branches/include_dynpmc_makefile/include/parrot/pobj.h
branches/include_dynpmc_makefile/include/parrot/runcore_api.h (contents, props changed)
branches/include_dynpmc_makefile/include/parrot/runcore_profiling.h (props changed)
branches/include_dynpmc_makefile/include/parrot/runcore_trace.h (props changed)
branches/include_dynpmc_makefile/include/parrot/string.h
branches/include_dynpmc_makefile/include/parrot/string_funcs.h
branches/include_dynpmc_makefile/include/parrot/sub.h
branches/include_dynpmc_makefile/include/parrot/vtables.h
branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf.pm
branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf/Shared.pm
branches/include_dynpmc_makefile/lib/Parrot/Configure/Step/List.pm
branches/include_dynpmc_makefile/lib/Parrot/Configure/Step/Test.pm (props changed)
branches/include_dynpmc_makefile/lib/Parrot/Distribution.pm
branches/include_dynpmc_makefile/lib/Parrot/Docs/Section/Compilers.pm
branches/include_dynpmc_makefile/lib/Parrot/H2inc.pm (props changed)
branches/include_dynpmc_makefile/lib/Parrot/Harness/DefaultTests.pm
branches/include_dynpmc_makefile/lib/Parrot/Harness/Options.pm
branches/include_dynpmc_makefile/lib/Parrot/Manifest.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans.pm
branches/include_dynpmc_makefile/lib/Parrot/OpTrans/C.pm
branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Auxiliary.pm
branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Utils.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/MethodEmitter.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PCCMETHOD.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Null.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Object.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/default.pm
branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMCEmitter.pm
branches/include_dynpmc_makefile/ports/cygwin/README
branches/include_dynpmc_makefile/ports/cygwin/parrot-1.0.0-1.cygport (props changed)
branches/include_dynpmc_makefile/ports/debian/libparrot-dev.install.in (props changed)
branches/include_dynpmc_makefile/ports/debian/libparrot.install.in (props changed)
branches/include_dynpmc_makefile/ports/debian/parrot-doc.install.in (props changed)
branches/include_dynpmc_makefile/ports/debian/parrot.install.in (props changed)
branches/include_dynpmc_makefile/ports/mandriva/parrot.spec.mandriva (props changed)
branches/include_dynpmc_makefile/runtime/parrot/languages/ (props changed)
branches/include_dynpmc_makefile/runtime/parrot/library/CGI/QueryHash.pir
branches/include_dynpmc_makefile/runtime/parrot/library/Crow.pir
branches/include_dynpmc_makefile/runtime/parrot/library/JSON.pir
branches/include_dynpmc_makefile/runtime/parrot/library/MIME/Base64.pir
branches/include_dynpmc_makefile/runtime/parrot/library/Math/Rand.pir (props changed)
branches/include_dynpmc_makefile/runtime/parrot/library/OpenGL.pir
branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/PIRProfile.nqp
branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/Want.nqp
branches/include_dynpmc_makefile/runtime/parrot/library/Rules.mak (props changed)
branches/include_dynpmc_makefile/runtime/parrot/library/String/Utils.pir
branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Harness.pir
branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Parser.pir
branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder.pir
branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder/Output.pir
branches/include_dynpmc_makefile/runtime/parrot/library/Test/More.pir
branches/include_dynpmc_makefile/runtime/parrot/library/distutils.pir
branches/include_dynpmc_makefile/runtime/parrot/library/osutils.pir
branches/include_dynpmc_makefile/runtime/parrot/library/uuid.pir
branches/include_dynpmc_makefile/src/call/context.c
branches/include_dynpmc_makefile/src/call/context_accessors.c
branches/include_dynpmc_makefile/src/call/ops.c (props changed)
branches/include_dynpmc_makefile/src/call/pcc.c (contents, props changed)
branches/include_dynpmc_makefile/src/debug.c
branches/include_dynpmc_makefile/src/dynoplibs/Defines.in
branches/include_dynpmc_makefile/src/dynoplibs/Rules.in
branches/include_dynpmc_makefile/src/embed.c
branches/include_dynpmc_makefile/src/gc/ (props changed)
branches/include_dynpmc_makefile/src/gc/alloc_memory.c (props changed)
branches/include_dynpmc_makefile/src/gc/alloc_resources.c (contents, props changed)
branches/include_dynpmc_makefile/src/gc/api.c (contents, props changed)
branches/include_dynpmc_makefile/src/gc/gc_ms.c
branches/include_dynpmc_makefile/src/gc/gc_private.h
branches/include_dynpmc_makefile/src/gc/malloc.c (props changed)
branches/include_dynpmc_makefile/src/gc/malloc_trace.c (props changed)
branches/include_dynpmc_makefile/src/gc/mark_sweep.c (contents, props changed)
branches/include_dynpmc_makefile/src/gc/system.c (props changed)
branches/include_dynpmc_makefile/src/interp/inter_cb.c (props changed)
branches/include_dynpmc_makefile/src/interp/inter_create.c (props changed)
branches/include_dynpmc_makefile/src/interp/inter_misc.c (contents, props changed)
branches/include_dynpmc_makefile/src/io/api.c
branches/include_dynpmc_makefile/src/io/buffer.c
branches/include_dynpmc_makefile/src/io/portable.c
branches/include_dynpmc_makefile/src/io/unix.c
branches/include_dynpmc_makefile/src/io/utf8.c
branches/include_dynpmc_makefile/src/io/win32.c
branches/include_dynpmc_makefile/src/main.c
branches/include_dynpmc_makefile/src/oo.c
branches/include_dynpmc_makefile/src/ops/bit.ops
branches/include_dynpmc_makefile/src/ops/ops.num
branches/include_dynpmc_makefile/src/ops/string.ops
branches/include_dynpmc_makefile/src/packdump.c
branches/include_dynpmc_makefile/src/packfile.c
branches/include_dynpmc_makefile/src/packfile/pf_items.c
branches/include_dynpmc_makefile/src/pbc_merge.c
branches/include_dynpmc_makefile/src/pmc/callcontext.pmc
branches/include_dynpmc_makefile/src/pmc/default.pmc
branches/include_dynpmc_makefile/src/pmc/eval.pmc
branches/include_dynpmc_makefile/src/pmc/exception.pmc
branches/include_dynpmc_makefile/src/pmc/fixedfloatarray.pmc
branches/include_dynpmc_makefile/src/pmc/fixedintegerarray.pmc
branches/include_dynpmc_makefile/src/pmc/hash.pmc
branches/include_dynpmc_makefile/src/pmc/namespace.pmc
branches/include_dynpmc_makefile/src/pmc/object.pmc
branches/include_dynpmc_makefile/src/pmc/os.pmc
branches/include_dynpmc_makefile/src/pmc/packfileannotations.pmc
branches/include_dynpmc_makefile/src/pmc/packfilefixupentry.pmc
branches/include_dynpmc_makefile/src/pmc/packfilefixuptable.pmc
branches/include_dynpmc_makefile/src/pmc/resizablefloatarray.pmc
branches/include_dynpmc_makefile/src/pmc/stringhandle.pmc
branches/include_dynpmc_makefile/src/pmc/sub.pmc
branches/include_dynpmc_makefile/src/pmc/unmanagedstruct.pmc
branches/include_dynpmc_makefile/src/pmc_freeze.c
branches/include_dynpmc_makefile/src/runcore/cores.c (contents, props changed)
branches/include_dynpmc_makefile/src/runcore/main.c (contents, props changed)
branches/include_dynpmc_makefile/src/runcore/profiling.c (props changed)
branches/include_dynpmc_makefile/src/runcore/trace.c (props changed)
branches/include_dynpmc_makefile/src/string/api.c
branches/include_dynpmc_makefile/src/string/charset/ascii.c
branches/include_dynpmc_makefile/src/string/charset/ascii.h
branches/include_dynpmc_makefile/src/string/charset/binary.c
branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.c
branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.h
branches/include_dynpmc_makefile/src/string/charset/unicode.c
branches/include_dynpmc_makefile/src/string/encoding/fixed_8.c
branches/include_dynpmc_makefile/src/string/encoding/ucs2.c
branches/include_dynpmc_makefile/src/string/encoding/utf16.c
branches/include_dynpmc_makefile/src/string/encoding/utf8.c
branches/include_dynpmc_makefile/t/compilers/imcc/reg/spill.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/labels.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/objects.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/op.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/regressions.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/scope.t
branches/include_dynpmc_makefile/t/compilers/imcc/syn/veracity.t
branches/include_dynpmc_makefile/t/compilers/pct/complete_workflow.t
branches/include_dynpmc_makefile/t/compilers/pge/02-match.t
branches/include_dynpmc_makefile/t/compilers/pge/03-optable.t
branches/include_dynpmc_makefile/t/compilers/pge/04-compile.t
branches/include_dynpmc_makefile/t/compilers/pge/p5regex/p5rx.t
branches/include_dynpmc_makefile/t/compilers/pge/perl6regex/01-regex.t
branches/include_dynpmc_makefile/t/compilers/pge/pge-hs.t
branches/include_dynpmc_makefile/t/compilers/tge/NoneGrammar.tg (props changed)
branches/include_dynpmc_makefile/t/compilers/tge/basic.t
branches/include_dynpmc_makefile/t/compilers/tge/parser.t
branches/include_dynpmc_makefile/t/configure/testlib/adefectivefoobar
branches/include_dynpmc_makefile/t/configure/testlib/bdefectivefoobar
branches/include_dynpmc_makefile/t/configure/testlib/cdefectivefoobar
branches/include_dynpmc_makefile/t/configure/testlib/ddefectivefoobar
branches/include_dynpmc_makefile/t/configure/testlib/verbosefoobar
branches/include_dynpmc_makefile/t/dynoplibs/math.t
branches/include_dynpmc_makefile/t/dynoplibs/obscure.t
branches/include_dynpmc_makefile/t/dynpmc/foo2.t
branches/include_dynpmc_makefile/t/dynpmc/rational.t
branches/include_dynpmc_makefile/t/dynpmc/subproxy.t
branches/include_dynpmc_makefile/t/examples/shootout.t
branches/include_dynpmc_makefile/t/examples/tutorial.t
branches/include_dynpmc_makefile/t/harness
branches/include_dynpmc_makefile/t/include/fp_equality.t
branches/include_dynpmc_makefile/t/library/configure.t
branches/include_dynpmc_makefile/t/library/getopt_obj.t
branches/include_dynpmc_makefile/t/library/hllmacros.t
branches/include_dynpmc_makefile/t/library/md5.t
branches/include_dynpmc_makefile/t/library/mime_base64.t
branches/include_dynpmc_makefile/t/library/osutils.t
branches/include_dynpmc_makefile/t/library/parrotlib.t
branches/include_dynpmc_makefile/t/library/pcre.t
branches/include_dynpmc_makefile/t/library/protoobject.t
branches/include_dynpmc_makefile/t/library/rand.t
branches/include_dynpmc_makefile/t/library/range.t
branches/include_dynpmc_makefile/t/library/tap_parser.t
branches/include_dynpmc_makefile/t/library/test_class.t
branches/include_dynpmc_makefile/t/library/test_more.t
branches/include_dynpmc_makefile/t/library/uuid.t
branches/include_dynpmc_makefile/t/native_pbc/annotations.pbc
branches/include_dynpmc_makefile/t/native_pbc/integer_1.pbc
branches/include_dynpmc_makefile/t/native_pbc/number_1.pbc
branches/include_dynpmc_makefile/t/native_pbc/string_1.pbc
branches/include_dynpmc_makefile/t/oo/attributes.t
branches/include_dynpmc_makefile/t/oo/composition.t
branches/include_dynpmc_makefile/t/oo/inheritance.t
branches/include_dynpmc_makefile/t/oo/isa.t
branches/include_dynpmc_makefile/t/oo/metamodel.t
branches/include_dynpmc_makefile/t/oo/methods.t
branches/include_dynpmc_makefile/t/oo/mro-c3.t
branches/include_dynpmc_makefile/t/oo/names.t
branches/include_dynpmc_makefile/t/oo/new.t
branches/include_dynpmc_makefile/t/oo/ops.t
branches/include_dynpmc_makefile/t/oo/proxy.t
branches/include_dynpmc_makefile/t/oo/root_new.t (contents, props changed)
branches/include_dynpmc_makefile/t/oo/subclass.t
branches/include_dynpmc_makefile/t/oo/vtableoverride.t
branches/include_dynpmc_makefile/t/op/00ff-dos.t
branches/include_dynpmc_makefile/t/op/00ff-unix.t
branches/include_dynpmc_makefile/t/op/64bit.t
branches/include_dynpmc_makefile/t/op/annotate-old.t
branches/include_dynpmc_makefile/t/op/annotate.t
branches/include_dynpmc_makefile/t/op/arithmetics.t
branches/include_dynpmc_makefile/t/op/arithmetics_pmc.t
branches/include_dynpmc_makefile/t/op/box.t
branches/include_dynpmc_makefile/t/op/cc_params.t
branches/include_dynpmc_makefile/t/op/cmp-nonbranch.t
branches/include_dynpmc_makefile/t/op/comp.t
branches/include_dynpmc_makefile/t/op/copy.t
branches/include_dynpmc_makefile/t/op/debuginfo.t
branches/include_dynpmc_makefile/t/op/errorson.t
branches/include_dynpmc_makefile/t/op/fetch.t
branches/include_dynpmc_makefile/t/op/gc-leaky.t
branches/include_dynpmc_makefile/t/op/gc.t
branches/include_dynpmc_makefile/t/op/globals.t
branches/include_dynpmc_makefile/t/op/ifunless.t
branches/include_dynpmc_makefile/t/op/inf_nan.t
branches/include_dynpmc_makefile/t/op/integer.t
branches/include_dynpmc_makefile/t/op/interp.t
branches/include_dynpmc_makefile/t/op/io.t
branches/include_dynpmc_makefile/t/op/literal.t
branches/include_dynpmc_makefile/t/op/number.t
branches/include_dynpmc_makefile/t/op/sprintf.t
branches/include_dynpmc_makefile/t/op/sprintf2.t
branches/include_dynpmc_makefile/t/op/string.t
branches/include_dynpmc_makefile/t/op/string_cmp.t
branches/include_dynpmc_makefile/t/op/string_cs.t
branches/include_dynpmc_makefile/t/op/stringu.t
branches/include_dynpmc_makefile/t/op/time.t
branches/include_dynpmc_makefile/t/op/trans.t
branches/include_dynpmc_makefile/t/op/vivify.t
branches/include_dynpmc_makefile/t/pharness/02-get_test_prog_args.t
branches/include_dynpmc_makefile/t/pir/macro.t
branches/include_dynpmc_makefile/t/pir/registernames.t
branches/include_dynpmc_makefile/t/pmc/addrregistry.t
branches/include_dynpmc_makefile/t/pmc/arrayiterator.t
branches/include_dynpmc_makefile/t/pmc/bigint.t
branches/include_dynpmc_makefile/t/pmc/boolean.t
branches/include_dynpmc_makefile/t/pmc/callcontext.t
branches/include_dynpmc_makefile/t/pmc/capture.t
branches/include_dynpmc_makefile/t/pmc/class.t
branches/include_dynpmc_makefile/t/pmc/codestring.t
branches/include_dynpmc_makefile/t/pmc/complex.t
branches/include_dynpmc_makefile/t/pmc/config.t
branches/include_dynpmc_makefile/t/pmc/context.t
branches/include_dynpmc_makefile/t/pmc/continuation.t
branches/include_dynpmc_makefile/t/pmc/default.t
branches/include_dynpmc_makefile/t/pmc/env.t
branches/include_dynpmc_makefile/t/pmc/eventhandler.t
branches/include_dynpmc_makefile/t/pmc/exception.t
branches/include_dynpmc_makefile/t/pmc/exceptionhandler.t
branches/include_dynpmc_makefile/t/pmc/fixedbooleanarray.t
branches/include_dynpmc_makefile/t/pmc/fixedfloatarray.t
branches/include_dynpmc_makefile/t/pmc/fixedintegerarray.t
branches/include_dynpmc_makefile/t/pmc/fixedpmcarray.t
branches/include_dynpmc_makefile/t/pmc/fixedstringarray.t
branches/include_dynpmc_makefile/t/pmc/float.t
branches/include_dynpmc_makefile/t/pmc/handle.t
branches/include_dynpmc_makefile/t/pmc/hash.t
branches/include_dynpmc_makefile/t/pmc/hashiterator.t
branches/include_dynpmc_makefile/t/pmc/imageio.t
branches/include_dynpmc_makefile/t/pmc/imageiosize.t
branches/include_dynpmc_makefile/t/pmc/integer.t
branches/include_dynpmc_makefile/t/pmc/io.t
branches/include_dynpmc_makefile/t/pmc/key.t
branches/include_dynpmc_makefile/t/pmc/lexinfo.t
branches/include_dynpmc_makefile/t/pmc/lexpad.t
branches/include_dynpmc_makefile/t/pmc/managedstruct.t
branches/include_dynpmc_makefile/t/pmc/namespace-old.t (props changed)
branches/include_dynpmc_makefile/t/pmc/namespace-subs.t
branches/include_dynpmc_makefile/t/pmc/namespace.t
branches/include_dynpmc_makefile/t/pmc/null.t
branches/include_dynpmc_makefile/t/pmc/object.t
branches/include_dynpmc_makefile/t/pmc/objects.t
branches/include_dynpmc_makefile/t/pmc/opcode.t
branches/include_dynpmc_makefile/t/pmc/oplib.t
branches/include_dynpmc_makefile/t/pmc/packfile.t
branches/include_dynpmc_makefile/t/pmc/packfileannotation.t
branches/include_dynpmc_makefile/t/pmc/packfileannotations.t
branches/include_dynpmc_makefile/t/pmc/packfileconstanttable.t
branches/include_dynpmc_makefile/t/pmc/packfiledirectory.t
branches/include_dynpmc_makefile/t/pmc/packfilefixupentry.t
branches/include_dynpmc_makefile/t/pmc/packfilefixuptable.t
branches/include_dynpmc_makefile/t/pmc/packfilerawsegment.t
branches/include_dynpmc_makefile/t/pmc/packfilesegment.t
branches/include_dynpmc_makefile/t/pmc/parrotclass.t
branches/include_dynpmc_makefile/t/pmc/parrotinterpreter.t
branches/include_dynpmc_makefile/t/pmc/parrotlibrary.t
branches/include_dynpmc_makefile/t/pmc/parrotrunningthread.t
branches/include_dynpmc_makefile/t/pmc/parrotthread.t
branches/include_dynpmc_makefile/t/pmc/pmcproxy.t
branches/include_dynpmc_makefile/t/pmc/pointer.t
branches/include_dynpmc_makefile/t/pmc/prop.t
branches/include_dynpmc_makefile/t/pmc/resizablebooleanarray.t
branches/include_dynpmc_makefile/t/pmc/resizablefloatarray.t
branches/include_dynpmc_makefile/t/pmc/resizableintegerarray.t
branches/include_dynpmc_makefile/t/pmc/resizablepmcarray.t
branches/include_dynpmc_makefile/t/pmc/ro.t
branches/include_dynpmc_makefile/t/pmc/role.t
branches/include_dynpmc_makefile/t/pmc/scalar.t
branches/include_dynpmc_makefile/t/pmc/scheduler.t
branches/include_dynpmc_makefile/t/pmc/schedulermessage.t
branches/include_dynpmc_makefile/t/pmc/sockaddr.t
branches/include_dynpmc_makefile/t/pmc/socket.t
branches/include_dynpmc_makefile/t/pmc/string.t
branches/include_dynpmc_makefile/t/pmc/stringiterator.t
branches/include_dynpmc_makefile/t/pmc/undef.t
branches/include_dynpmc_makefile/t/pmc/unmanagedstruct.t
branches/include_dynpmc_makefile/t/run/exit.t
branches/include_dynpmc_makefile/t/src/embed.t (props changed)
branches/include_dynpmc_makefile/t/steps/init/hints/linux-01.t (props changed)
branches/include_dynpmc_makefile/t/tools/install/testlib/README
branches/include_dynpmc_makefile/t/tools/ops2cutils/01-new.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/03-print_c_header_file.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/04-print_c_source_top.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/05-print_c_source_bottom.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/06-dynamic.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/07-make_incdir.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/08-nolines.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/09-dynamic_nolines.t
branches/include_dynpmc_makefile/t/tools/ops2cutils/10-print_c_source_file.t
branches/include_dynpmc_makefile/tools/build/h2inc.pl (props changed)
branches/include_dynpmc_makefile/tools/build/ops2c.pl
branches/include_dynpmc_makefile/tools/dev/checkdepend.pl
branches/include_dynpmc_makefile/tools/dev/fetch_languages.pl (props changed)
branches/include_dynpmc_makefile/tools/dev/gen_charset_tables.pl
branches/include_dynpmc_makefile/tools/dev/mk_gitignore.pl (props changed)
branches/include_dynpmc_makefile/tools/dev/mk_manifest_and_skip.pl
branches/include_dynpmc_makefile/tools/dev/mk_native_pbc
branches/include_dynpmc_makefile/tools/dev/nci_thunk_gen.pir
branches/include_dynpmc_makefile/tools/dev/parrot-fuzzer
branches/include_dynpmc_makefile/tools/dev/pbc_to_exe.pir
branches/include_dynpmc_makefile/tools/install/smoke.pl
branches/include_dynpmc_makefile/tools/util/parrot-config.pir
branches/include_dynpmc_makefile/tools/util/perlcritic-cage.conf (props changed)
Modified: branches/include_dynpmc_makefile/.gitignore
==============================================================================
--- branches/include_dynpmc_makefile/.gitignore Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/.gitignore Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,603 +1,580 @@
# ex: set ro:
-# $Id
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 10:28:38 2010 UT
+# $Id$
+# generated by tools/dev/mk_gitignore.pl Sat Apr 24 05:11:34 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.
+# of the directories in the Parrot subversion repository.
+# The .gitignore file is a convenience for developers working with git-svn.
+# See http://www.kernel.org/pub/software/scm/git/docs/gitignore.html for the
+# format of this file.
#
-# 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
+/*.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
+/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
+/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
+/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/pct/src/PAST/'
-compilers/pct/src/PAST/*.pbc
+/compilers/pct/src/PAST/*.pbc
# generated from svn:ignore of 'compilers/pct/src/PCT/'
-compilers/pct/src/PCT/*.pbc
+/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
+/compilers/pct/src/POST/*.pbc
+/compilers/pct/src/POST/Grammar_gen.pir
# generated from svn:ignore of 'compilers/pge/'
-compilers/pge/PGE.pbc
+/compilers/pge/PGE.pbc
# generated from svn:ignore of 'compilers/pge/PGE/'
-compilers/pge/PGE/*.dll
-compilers/pge/PGE/builtins_gen.pir
+/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
+/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
+/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
+/compilers/tge/tgc.pbc
# generated from svn:ignore of 'compilers/tge/TGE/'
-compilers/tge/TGE/Parser.pir
+/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
+/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
+/docs/book/*.html
# generated from svn:ignore of 'docs/ops/'
-docs/ops/*.pod
+/docs/ops/*.pod
# generated from svn:ignore of 'editor/'
-editor/Makefile
-editor/imc.vim
-editor/imcc.xml
-editor/pir.vim
+/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
+/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
+/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
+/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
+/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
+/examples/languages/squaak/src/gen_*.pir
# generated from svn:ignore of 'examples/mops/'
-examples/mops/*.o
-examples/mops/mops
+/examples/mops/*.o
+/examples/mops/mops
# generated from svn:ignore of 'examples/nci/'
-examples/nci/*.pbc
+/examples/nci/*.pbc
# generated from svn:ignore of 'examples/pasm/'
-examples/pasm/hello
-examples/pasm/hello.o
-examples/pasm/hello.pbc
+/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
+/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
+/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
+/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
+/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
+/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
+/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
+/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
+/include/pmc/*.h
# generated from svn:ignore of 'lib/'
-lib/DumbLink.pm
+/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
+/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
+/lib/Parrot/Config/Generated.pm
# generated from svn:ignore of 'lib/Parrot/Pmc2c/'
-lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
+/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.*
+/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
+/runtime/parrot/include/*.fpmc
+/runtime/parrot/include/*.pasm
+/runtime/parrot/include/*.pbc
+# generated from svn:ignore of 'runtime/parrot/languages/'
+/runtime/parrot/languages/data_json
# 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
+/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
+/runtime/parrot/library/CGI/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Config/'
-runtime/parrot/library/Config/*.pbc
+/runtime/parrot/library/Config/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Configure/'
-runtime/parrot/library/Configure/*.pbc
+/runtime/parrot/library/Configure/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Data/'
-runtime/parrot/library/Data/*.pbc
+/runtime/parrot/library/Data/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Data/Dumper/'
-runtime/parrot/library/Data/Dumper/*.pbc
+/runtime/parrot/library/Data/Dumper/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Digest/'
-runtime/parrot/library/Digest/*.pbc
+/runtime/parrot/library/Digest/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Getopt/'
-runtime/parrot/library/Getopt/Obj.pbc
+/runtime/parrot/library/Getopt/Obj.pbc
# generated from svn:ignore of 'runtime/parrot/library/MIME/'
-runtime/parrot/library/MIME/*.pbc
+/runtime/parrot/library/MIME/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Math/'
-runtime/parrot/library/Math/*.pbc
+/runtime/parrot/library/Math/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/NCI/'
-runtime/parrot/library/NCI/*.pbc
+/runtime/parrot/library/NCI/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/OpenGL/'
-runtime/parrot/library/OpenGL/*.pbc
+/runtime/parrot/library/OpenGL/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/PCT/'
-runtime/parrot/library/PCT/*.pbc
+/runtime/parrot/library/PCT/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/PGE/'
-runtime/parrot/library/PGE/*.pbc
+/runtime/parrot/library/PGE/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Parrot/'
-runtime/parrot/library/Parrot/*.pbc
+/runtime/parrot/library/Parrot/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/ProfTest/'
-runtime/parrot/library/ProfTest/*.pbc
-runtime/parrot/library/ProfTest/*.pir
+/runtime/parrot/library/ProfTest/*.pbc
+/runtime/parrot/library/ProfTest/*.pir
# generated from svn:ignore of 'runtime/parrot/library/Stream/'
-runtime/parrot/library/Stream/*.pbc
+/runtime/parrot/library/Stream/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/String/'
-runtime/parrot/library/String/Utils.pbc
+/runtime/parrot/library/String/Utils.pbc
# generated from svn:ignore of 'runtime/parrot/library/TAP/'
-runtime/parrot/library/TAP/*.pbc
+/runtime/parrot/library/TAP/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Tcl/'
-runtime/parrot/library/Tcl/*.pbc
+/runtime/parrot/library/Tcl/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Test/'
-runtime/parrot/library/Test/*.pbc
+/runtime/parrot/library/Test/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/Test/Builder/'
-runtime/parrot/library/Test/Builder/*.pbc
+/runtime/parrot/library/Test/Builder/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/YAML/'
-runtime/parrot/library/YAML/*.pbc
+/runtime/parrot/library/YAML/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/YAML/Dumper/'
-runtime/parrot/library/YAML/Dumper/*.pbc
+/runtime/parrot/library/YAML/Dumper/*.pbc
# generated from svn:ignore of 'runtime/parrot/library/YAML/Parser/'
-runtime/parrot/library/YAML/Parser/*.pbc
+/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
+/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
+/src/atomic/*.gcda
+/src/atomic/*.o
# generated from svn:ignore of 'src/call/'
-src/call/*.o
-src/call/*.obj
-src/call/*.str
+/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
+/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
+/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
+/src/gc/*.bundle
+/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
+/src/interp/*.o
+/src/interp/*.str
# generated from svn:ignore of 'src/io/'
-src/io/*.o
-src/io/*.obj
-src/io/*.str
+/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
+/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
+/src/ops/*.c
+/src/ops/*.o
+/src/ops/*.obj
# generated from svn:ignore of 'src/packfile/'
-src/packfile/*.o
-src/packfile/*.obj
+/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
+/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
+/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
+/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
+/src/string/charset/*.o
+/src/string/charset/*.obj
# generated from svn:ignore of 'src/string/encoding/'
-src/string/encoding/*.o
-src/string/encoding/*.obj
+/src/string/encoding/*.o
+/src/string/encoding/*.obj
# generated from svn:ignore of 't/benchmark/'
-t/benchmark/*.pasm
-t/benchmark/*.pir
+/t/benchmark/*.pasm
+/t/benchmark/*.pir
+# generated from svn:ignore of 't/compilers/data_json/'
+/t/compilers/data_json/*.pbc
+/t/compilers/data_json/*.pir
+/t/compilers/data_json/*_pbcexe
# generated from svn:ignore of 't/compilers/imcc/'
-t/compilers/imcc/*.pbc
+/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
+/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*
+/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
+/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/pct/'
-t/compilers/pct/*.pbc
-t/compilers/pct/*.pir
+/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
+/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
+/t/compilers/pge/p5regex/*.pir
# generated from svn:ignore of 't/compilers/pge/perl6regex/'
-t/compilers/pge/perl6regex/*.pbc
-t/compilers/pge/perl6regex/*.pir
+/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
+/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
+/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
+/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*
+/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*
+/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*
+/t/native_pbc/*_pbcexe*
# generated from svn:ignore of 't/oo/'
-t/oo/*.pbc
-t/oo/*.pir
+/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*
+/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
+/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*
+/t/pmc/*.out
+/t/pmc/*.pasm
+/t/pmc/*.pbc
+/t/pmc/*.pir
+/t/pmc/*_pbcexe*
# generated from svn:ignore of 't/src/'
-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*
+/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
+/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
Modified: branches/include_dynpmc_makefile/CREDITS
==============================================================================
--- branches/include_dynpmc_makefile/CREDITS Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/CREDITS Wed Apr 28 19:17:12 2010 (r46116)
@@ -509,9 +509,10 @@
E: jesse at fsck.com
N: Jimmy Zhuo
-A: jimmy
+A: JimmyZ
+U: jimmy
E: zhuomingliang at yahoo.com.cn
-D: Bugfixes
+D: Bugfixes, cage cleaning
N: John J. Trammell
E: trammell at el-swifto.com
Modified: branches/include_dynpmc_makefile/Configure.pl
==============================================================================
--- branches/include_dynpmc_makefile/Configure.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/Configure.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -343,10 +343,6 @@
Use the given ops files.
-=item C<--cgoto=0>
-
-Don't build cgoto core. This is recommended when you are short of memory.
-
=item C<--jitcapable>
Use JIT system.
@@ -623,7 +619,6 @@
auto::jit
auto::frames
auto::cpu
- auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/DEPRECATED.pod
==============================================================================
--- branches/include_dynpmc_makefile/DEPRECATED.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/DEPRECATED.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -37,11 +37,9 @@
=over 4
-=item RetContinuation [eligible in 2.4]
+=item gziphandle [experimental]
-In future, just use Continuation.
-
-L<https://trac.parrot.org/parrot/ticket/1427>
+L<https://trac.parrot.org/parrot/ticket/1580>
=item moved to dynpmc [eligible in 1.1]
@@ -174,14 +172,20 @@
Ability to get the string name of the current GC core from the interpinfo_s_i.
See r43900 and r43904 for details.
+L<https://trac.parrot.org/parrot/ticket/1581>
+
=item NCI_FB_CB and NCI_FB_UD in iglobals [experimental]
Hooks allowing a runtime-loadable dynamic frame builder.
+L<https://trac.parrot.org/parrot/ticket/1582>
+
=item loadlib_p_s_p [experimental]
Ability to use non-default dynamic loading behaviour.
+L<https://trac.parrot.org/parrot/ticket/1583>
+
=item pushaction, pushmark, popmark [eligible in 2.4]
L<https://trac.parrot.org/parrot/ticket/876>
@@ -227,23 +231,6 @@
=back
-=head1 Runcores
-
-=over 4
-
-=item Unused Runcores [eligible in 2.4]
-
-The following Runcores do not appear to be used. Accordingly they will
-be eligible for removal.
-
-CGoto
-CGP
-Switch
-
-L<https://trac.parrot.org/parrot/ticket/1563>
-
-=back
-
=head1 Bytecode
=over 4
@@ -306,21 +293,27 @@
Parrot_gc_free_pmc_attributes
These items and related helper functions are added as experimental support
-for L<https://trac.parrot.org/parrot/ticket/895>
+for L<https://trac.parrot.org/parrot/ticket/1506>
=item STRING Out parameters in Parrot_str_* functions [eligible in 2.1]
All STRING modification functions will return a STRING pointer; capture and use
this rather than relying on in-place modification of an existing pointer.
+L<https://trac.parrot.org/parrot/ticket/1584>
+
=item STRING_is_null function [eligible in 2.4]
renamed to Parrot_str_is_null
+L<https://trac.parrot.org/parrot/ticket/1585>
+
=item Parrot_string_* [eligible in 2.4]
rename Parrot_string_cstring to Parrot_str_cstring
+L<https://trac.parrot.org/parrot/ticket/1586>
+
=item STRING COW [eligible in 2.4]
COW strings are to be removed. All "inplace" string modification
@@ -338,6 +331,8 @@
Parrot_PMC_set_vtable
Parrot_PMC_newclass
+L<https://trac.parrot.org/parrot/ticket/1587>
+
=item Parrot_VTABLE, Parrot_get_vtable, Parrot_PMC_set_vtable [eligible in 2.4]
These do not expose any functionality that should be available to code outside
@@ -346,6 +341,8 @@
These might get revived in some form to allow for creating new types and adding
vtable-overrides, if that functionality becomes desired.
+L<https://trac.parrot.org/parrot/ticket/1588>
+
=back
=head1 Compiler tools
@@ -398,23 +395,6 @@
=back
-=head1 Compilers
-
-=over 4
-
-=item json [eligible in 2.4]
-
-The json compiler was dupicated into data_json some time ago. If you're
-using json, just use data_json instead, it's the same code. See TT #1461.
-
-=item nqp [eligible in 2.4]
-
-Replaced by ext/nqp-rx and parrot-nqp.
-
-L<http://trac.parrot.org/parrot/ticket/1462>
-
-=back
-
=head1 Parrot library
=over 4
@@ -426,7 +406,7 @@
A way to provide an equivalent of -L and -I parrot command line options
to language that doesn't support it.
-=item JSON, JSON, and Config;JSON [eligible in 1.5]
+=item JSON, and Config;JSON [eligible in 1.5]
L<https://trac.parrot.org/parrot/ticket/508>
Modified: branches/include_dynpmc_makefile/MANIFEST
==============================================================================
--- branches/include_dynpmc_makefile/MANIFEST Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/MANIFEST Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,11 +1,12 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Thu Apr 22 09:47:18 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Mon Apr 26 12:41:21 2010 UT
#
# See below for documentation on the format of this file.
#
-# See docs/submissions.pod on how to recreate this file after SVN
+# See docs/submissions.pod and the documentation in
+# tools/dev/mk_manifest_and_skip.pl on how to recreate this file after SVN
# has been told about new or deleted files.
.gitignore []
CREDITS [main]doc
@@ -18,8 +19,6 @@
MANIFEST []
MANIFEST.SKIP []
MANIFEST.generated []
-META.yml []
-Makefile.PL []
NEWS [main]doc
PBC_COMPAT [main]doc
PLATFORMS [devel]doc
@@ -63,72 +62,6 @@
compilers/imcc/symreg.c [imcc]
compilers/imcc/symreg.h [imcc]
compilers/imcc/unit.h [imcc]
-compilers/json/Defines.mak [json]
-compilers/json/JSON.pir [json]
-compilers/json/JSON/grammar.pg [json]
-compilers/json/JSON/pge2pir.tg [json]
-compilers/json/Rules.mak [json]
-compilers/ncigen/MAINTAINER [ncigen]
-compilers/ncigen/NCIGEN.TODO [ncigen]
-compilers/ncigen/NCIGENP6.pm [ncigen]
-compilers/ncigen/README []doc
-compilers/ncigen/config/makefiles/ncigen.in [ncigen]
-compilers/ncigen/lib/Parrot/Test/NCIGENAST.pm [ncigen]
-compilers/ncigen/ncigen.pir [ncigen]
-compilers/ncigen/ncigen.pl [ncigen]
-compilers/ncigen/src/NCIGENAST.pir [ncigen]
-compilers/ncigen/src/NCIPIR.pir [ncigen]
-compilers/ncigen/src/builtins/say.pir [ncigen]
-compilers/ncigen/src/parser/actions.pm [ncigen]
-compilers/ncigen/src/parser/grammar.pg [ncigen]
-compilers/ncigen/t/NCIGENAST/struct_00.t [test]
-compilers/ncigen/t/NCIGENAST/typedef_00.t [test]
-compilers/ncigen/t/harness [test]
-compilers/ncigen/t/parse_00.t [test]
-compilers/ncigen/t/parse_01.t [test]
-compilers/ncigen/t/parse_02.t [test]
-compilers/nqp/Defines.mak [nqp]
-compilers/nqp/README.pod []doc
-compilers/nqp/Rules.mak [nqp]
-compilers/nqp/TODO.pod [nqp]
-compilers/nqp/bootstrap/actions.pm [nqp]
-compilers/nqp/bootstrap/nqp.pir [nqp]
-compilers/nqp/bootstrap/t/harness [test]
-compilers/nqp/nqp.pir [nqp]
-compilers/nqp/src/Grammar.pg [nqp]
-compilers/nqp/src/Grammar/Actions.pir [nqp]
-compilers/nqp/src/builtins.pir [nqp]
-compilers/nqp/t/01-literals.t [test]
-compilers/nqp/t/02-if-else.t [test]
-compilers/nqp/t/02-if.t [test]
-compilers/nqp/t/03-unless.t [test]
-compilers/nqp/t/04-comments.t [test]
-compilers/nqp/t/05-pod.t [test]
-compilers/nqp/t/06-args-pos.t [test]
-compilers/nqp/t/07-boolean.t [test]
-compilers/nqp/t/08-blocks.t [test]
-compilers/nqp/t/09-var.t [test]
-compilers/nqp/t/10-sub.t [test]
-compilers/nqp/t/11-cmp.t [test]
-compilers/nqp/t/12-list.t [test]
-compilers/nqp/t/13-logical.t [test]
-compilers/nqp/t/14-op.t [test]
-compilers/nqp/t/15-module.t [test]
-compilers/nqp/t/16-while.t [test]
-compilers/nqp/t/17-class.t [test]
-compilers/nqp/t/18-inline.t [test]
-compilers/nqp/t/19-hash_access.t [test]
-compilers/nqp/t/20-list_access.t [test]
-compilers/nqp/t/22-optional_args.t [test]
-compilers/nqp/t/23-named_args.t [test]
-compilers/nqp/t/24-scalar_context.t [test]
-compilers/nqp/t/25-list_context.t [test]
-compilers/nqp/t/26-method_ops.t [test]
-compilers/nqp/t/27-ternary.t [test]
-compilers/nqp/t/28-return.t [test]
-compilers/nqp/t/29-self.t [test]
-compilers/nqp/t/30-subclass.t [test]
-compilers/nqp/t/harness [test]
compilers/pct/Defines.mak [pct]
compilers/pct/PCT.pir [pct]
compilers/pct/README.pod []doc
@@ -226,8 +159,6 @@
config/auto/backtrace/test_dlinfo_c.in []
config/auto/byteorder.pm []
config/auto/byteorder/test_c.in []
-config/auto/cgoto.pm []
-config/auto/cgoto/test_c.in []
config/auto/cpu.pm []
config/auto/cpu/i386/auto.pm []
config/auto/cpu/i386/test_gcc_cmpxchg_c.in []
@@ -300,6 +231,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 []
@@ -630,6 +563,7 @@
examples/benchmarks/stress2.pl [examples]
examples/benchmarks/stress2.rb [examples]
examples/benchmarks/stress3.pasm [examples]
+examples/benchmarks/stress_strings.pir [examples]
examples/benchmarks/vpm.pir [examples]
examples/benchmarks/vpm.pl [examples]
examples/benchmarks/vpm.py [examples]
@@ -1108,10 +1042,6 @@
lib/Parrot/Op.pm [devel]lib
lib/Parrot/OpTrans.pm [devel]lib
lib/Parrot/OpTrans/C.pm [devel]lib
-lib/Parrot/OpTrans/CGP.pm [devel]lib
-lib/Parrot/OpTrans/CGoto.pm [devel]lib
-lib/Parrot/OpTrans/CPrederef.pm [devel]lib
-lib/Parrot/OpTrans/CSwitch.pm [devel]lib
lib/Parrot/Ops2c/Auxiliary.pm [devel]lib
lib/Parrot/Ops2c/Utils.pm [devel]lib
lib/Parrot/Ops2pm.pm [devel]lib
@@ -1309,6 +1239,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 []
@@ -1543,6 +1474,8 @@
t/codingstd/svn_id.t [test]
t/codingstd/tabs.t [test]
t/codingstd/trailing_space.t [test]
+t/compilers/data_json/from_parrot.t [test]
+t/compilers/data_json/to_parrot.t [test]
t/compilers/imcc/imcpasm/cfg.t [test]
t/compilers/imcc/imcpasm/opt0.t [test]
t/compilers/imcc/imcpasm/opt1.t [test]
@@ -1572,8 +1505,6 @@
t/compilers/imcc/syn/symbols.t [test]
t/compilers/imcc/syn/tail.t [test]
t/compilers/imcc/syn/veracity.t [test]
-t/compilers/json/from_parrot.t [test]
-t/compilers/json/to_parrot.t [test]
t/compilers/pct/complete_workflow.t [test]
t/compilers/pct/past.t [test]
t/compilers/pct/pct_hllcompiler.t [test]
@@ -1679,12 +1610,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]
@@ -1978,7 +1909,6 @@
t/steps/auto/attributes-01.t [test]
t/steps/auto/backtrace-01.t [test]
t/steps/auto/byteorder-01.t [test]
-t/steps/auto/cgoto-01.t [test]
t/steps/auto/cpu-01.t [test]
t/steps/auto/ctags-01.t [test]
t/steps/auto/env-01.t [test]
@@ -2013,6 +1943,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/include_dynpmc_makefile/MANIFEST.SKIP
==============================================================================
--- branches/include_dynpmc_makefile/MANIFEST.SKIP Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/MANIFEST.SKIP Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 21 10:28:38 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Wed Apr 28 02:20:18 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -188,37 +188,6 @@
^compilers/imcc/imcparser\.h/
^compilers/imcc/imcparser\.output$
^compilers/imcc/imcparser\.output/
-# generated from svn:ignore of 'compilers/json/'
-^compilers/json/JSON\.pbc$
-^compilers/json/JSON\.pbc/
-# generated from svn:ignore of 'compilers/json/JSON/'
-^compilers/json/JSON/.*\.pbc$
-^compilers/json/JSON/.*\.pbc/
-^compilers/json/JSON/.*\.pir$
-^compilers/json/JSON/.*\.pir/
-# generated from svn:ignore of 'compilers/ncigen/'
-^compilers/ncigen/Makefile$
-^compilers/ncigen/Makefile/
-^compilers/ncigen/ncigen\.pbc$
-^compilers/ncigen/ncigen\.pbc/
-# generated from svn:ignore of 'compilers/ncigen/src/'
-^compilers/ncigen/src/gen_actions\.pir$
-^compilers/ncigen/src/gen_actions\.pir/
-^compilers/ncigen/src/gen_builtins\.pir$
-^compilers/ncigen/src/gen_builtins\.pir/
-^compilers/ncigen/src/gen_grammar\.pir$
-^compilers/ncigen/src/gen_grammar\.pir/
-# generated from svn:ignore of 'compilers/nqp/'
-^compilers/nqp/nqp\.pbc$
-^compilers/nqp/nqp\.pbc/
-# generated from svn:ignore of 'compilers/nqp/bootstrap/'
-^compilers/nqp/bootstrap/gen_actions\.pir$
-^compilers/nqp/bootstrap/gen_actions\.pir/
-^compilers/nqp/bootstrap/nqp\.pbc$
-^compilers/nqp/bootstrap/nqp\.pbc/
-# generated from svn:ignore of 'compilers/nqp/src/'
-^compilers/nqp/src/Grammar_gen\.pir$
-^compilers/nqp/src/Grammar_gen\.pir/
# generated from svn:ignore of 'compilers/pct/src/PAST/'
^compilers/pct/src/PAST/.*\.pbc$
^compilers/pct/src/PAST/.*\.pbc/
@@ -554,6 +523,9 @@
^runtime/parrot/include/.*\.pasm/
^runtime/parrot/include/.*\.pbc$
^runtime/parrot/include/.*\.pbc/
+# generated from svn:ignore of 'runtime/parrot/languages/'
+^runtime/parrot/languages/data_json$
+^runtime/parrot/languages/data_json/
# generated from svn:ignore of 'runtime/parrot/library/'
^runtime/parrot/library/.*\.pbc$
^runtime/parrot/library/.*\.pbc/
@@ -781,8 +753,6 @@
# generated from svn:ignore of 'src/gc/'
^src/gc/.*\.bundle$
^src/gc/.*\.bundle/
-^src/gc/.*\.c$
-^src/gc/.*\.c/
^src/gc/.*\.def$
^src/gc/.*\.def/
^src/gc/.*\.dll$
@@ -892,6 +862,13 @@
^t/benchmark/.*\.pasm/
^t/benchmark/.*\.pir$
^t/benchmark/.*\.pir/
+# generated from svn:ignore of 't/compilers/data_json/'
+^t/compilers/data_json/.*\.pbc$
+^t/compilers/data_json/.*\.pbc/
+^t/compilers/data_json/.*\.pir$
+^t/compilers/data_json/.*\.pir/
+^t/compilers/data_json/.*_pbcexe$
+^t/compilers/data_json/.*_pbcexe/
# generated from svn:ignore of 't/compilers/imcc/'
^t/compilers/imcc/.*\.pbc$
^t/compilers/imcc/.*\.pbc/
@@ -922,13 +899,6 @@
^t/compilers/imcc/syn/.*\.pir/
^t/compilers/imcc/syn/.*_pbcexe.*$
^t/compilers/imcc/syn/.*_pbcexe.*/
-# generated from svn:ignore of 't/compilers/json/'
-^t/compilers/json/.*\.pbc$
-^t/compilers/json/.*\.pbc/
-^t/compilers/json/.*\.pir$
-^t/compilers/json/.*\.pir/
-^t/compilers/json/.*_pbcexe$
-^t/compilers/json/.*_pbcexe/
# generated from svn:ignore of 't/compilers/pct/'
^t/compilers/pct/.*\.pbc$
^t/compilers/pct/.*\.pbc/
Modified: branches/include_dynpmc_makefile/MANIFEST.generated
==============================================================================
--- branches/include_dynpmc_makefile/MANIFEST.generated Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/MANIFEST.generated Wed Apr 28 19:17:12 2010 (r46116)
@@ -8,10 +8,6 @@
blib/lib/libparrot.so.2.3.0 [main]lib
blib/lib/libparrot.so [main]lib
compilers/data_json/data_json.pbc [data_json]
-compilers/json/JSON.pbc [json]
-compilers/json/JSON/grammar.pbc [json]
-compilers/json/JSON/pge2pir.pbc [json]
-compilers/nqp/nqp.pbc [nqp]
config/gen/call_list/opengl.in []
docs/ops/bit.pod [doc]
docs/ops/cmp.pod [doc]
@@ -37,10 +33,7 @@
include/parrot/extend_vtable.h [main]include
include/parrot/feature.h [main]include
include/parrot/has_header.h [main]include
-include/parrot/oplib/core_ops_cg.h [main]include
-include/parrot/oplib/core_ops_cgp.h [main]include
include/parrot/oplib/core_ops.h [main]include
-include/parrot/oplib/core_ops_switch.h [main]include
include/parrot/oplib/ops.h [main]include
include/parrot/pbcversion.h [devel]include
include/parrot/platform.h [main]include
@@ -75,30 +68,18 @@
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]
runtime/parrot/dynext/libglutcb.so [library]
-runtime/parrot/dynext/libnci_test.bundle [library]
-runtime/parrot/dynext/libnci_test.dll [library]
-runtime/parrot/dynext/libnci_test.dylib [library]
-runtime/parrot/dynext/libnci_test.so [library]
-runtime/parrot/dynext/match_group.bundle [library]
-runtime/parrot/dynext/match_group.dll [library]
-runtime/parrot/dynext/match_group.dylib [library]
-runtime/parrot/dynext/match_group.so [library]
runtime/parrot/dynext/math_ops.so [library]
runtime/parrot/dynext/math_ops.bundle [library]
runtime/parrot/dynext/math_ops.dll [library]
@@ -111,10 +92,6 @@
runtime/parrot/dynext/rational.dll [library]
runtime/parrot/dynext/rational.dylib [library]
runtime/parrot/dynext/rational.so [library]
-runtime/parrot/dynext/subproxy.bundle [library]
-runtime/parrot/dynext/subproxy.dll [library]
-runtime/parrot/dynext/subproxy.dylib [library]
-runtime/parrot/dynext/subproxy.so [library]
runtime/parrot/include/call_bits.pasm [main]
runtime/parrot/include/cclass.pasm [main]
runtime/parrot/include/config.fpmc []
@@ -229,8 +206,6 @@
src/jit_emit.h []
src/nci.c []
src/null_config.c []
-src/ops/core_ops_cgp.c []
-src/ops/core_ops_switch.c []
src/parrot_config.c []
src/pmc/boolean.dump [devel]src
src/pmc/continuation.dump [devel]src
Deleted: branches/include_dynpmc_makefile/META.yml
==============================================================================
--- branches/include_dynpmc_makefile/META.yml Wed Apr 28 19:17:12 2010 (r46115)
+++ /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/include_dynpmc_makefile/Makefile.PL
==============================================================================
--- branches/include_dynpmc_makefile/Makefile.PL Wed Apr 28 19:17:12 2010 (r46115)
+++ /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/include_dynpmc_makefile/NEWS
==============================================================================
--- branches/include_dynpmc_makefile/NEWS Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/NEWS Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,9 @@
# $Id$
+New in 2.4.0
+- Deprecations
+ + Tools to distribute on CPAN were removed
+
New in 2.3.0
- Core
+ Allow passing parameters to the dynamic linker ('dlopen' improved)
Modified: branches/include_dynpmc_makefile/PBC_COMPAT
==============================================================================
--- branches/include_dynpmc_makefile/PBC_COMPAT Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/PBC_COMPAT Wed Apr 28 19:17:12 2010 (r46116)
@@ -27,6 +27,8 @@
# please insert tab separated entries at the top of the list
+6.9 2010.04.27 bacek remove deprecated in-place string ops (bitwise, charset, case change)
+6.8 2010.04.27 bacek remove deprecated in-place substr ops
6.7 2010.04.22 coke remove RetContinuation PMC
6.6 2010.04.17 bacek add replace op
6.5 2010.03.09 cotto remove cpu_ret op
Modified: branches/include_dynpmc_makefile/README
==============================================================================
--- branches/include_dynpmc_makefile/README Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/README Wed Apr 28 19:17:12 2010 (r46116)
@@ -92,14 +92,6 @@
perldoc -F docs/intro.pod
-NOTES
------
-
-On some older computers with little RAM, the computed-goto dispatch core
-(ops/core_ops_cg.c) may take a while to compile or may fail to compile at all.
-You can pass a flag to Configure.pl (--cgoto=0) to disable the computed-goto
-core, at a slight cost in runtime speed.
-
CHANGES
-------
Modified: branches/include_dynpmc_makefile/compilers/data_json/Defines.mak
==============================================================================
--- branches/include_dynpmc_makefile/compilers/data_json/Defines.mak Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/data_json/Defines.mak Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/compilers/data_json/Rules.mak
==============================================================================
--- branches/include_dynpmc_makefile/compilers/data_json/Rules.mak Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/data_json/Rules.mak Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/compilers/imcc/Rules.in
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/Rules.in Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/Rules.in Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,5 @@
compilers/imcc/pcc$(O) : \
+ compilers/imcc/pcc.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -12,6 +13,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/instructions$(O) : \
+ compilers/imcc/instructions.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -25,6 +27,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/pbc$(O) : \
+ compilers/imcc/pbc.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -38,6 +41,7 @@
include/pmc/pmc_sub.h
compilers/imcc/parser_util$(O) : \
+ compilers/imcc/parser_util.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -56,6 +60,7 @@
include/pmc/pmc_sub.h
compilers/imcc/imc$(O) : \
+ compilers/imcc/imc.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -68,6 +73,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/cfg$(O) : \
+ compilers/imcc/cfg.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -80,6 +86,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/debug$(O) : \
+ compilers/imcc/debug.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -126,6 +133,7 @@
$(CC) $(CFLAGS) @optimize::compilers/imcc/imcparser.c@ @ccwarn::compilers/imcc/imcparser.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c compilers/imcc/imcparser.c
compilers/imcc/main$(O) : \
+ compilers/imcc/main.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -159,6 +167,7 @@
$(CC) $(CFLAGS) @optimize::compilers/imcc/optimizer.c@ @ccwarn::compilers/imcc/optimizer.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c compilers/imcc/optimizer.c
compilers/imcc/reg_alloc$(O) : \
+ compilers/imcc/reg_alloc.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -171,6 +180,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/sets$(O) : \
+ compilers/imcc/sets.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
@@ -182,6 +192,7 @@
$(PARROT_H_HEADERS)
compilers/imcc/symreg$(O) : \
+ compilers/imcc/symreg.c \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/imc.h \
Modified: branches/include_dynpmc_makefile/compilers/imcc/imcc.l
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/imcc.l Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/imcc.l Wed Apr 28 19:17:12 2010 (r46116)
@@ -93,6 +93,8 @@
#define YYCHOP() (yytext[--yyleng] = '\0')
+#define SET_LINE_NUMBER (IMCC_INFO(interp)->line = yylineno)
+
#define DUP_AND_RET(valp, token) \
do { \
if (valp) (valp)->s = mem_sys_strdup(yytext); \
@@ -113,6 +115,7 @@
%option reentrant
%option never-interactive
%option stack
+%option yylineno
LETTER [a-zA-Z_@]
DIGIT [0-9]
@@ -169,10 +172,10 @@
return 0;
}
-<*>^{WS}* { IMCC_INFO(interp)->line++; }
+<*>^{WS}* { SET_LINE_NUMBER; }
<heredoc1>.*{EOL} {
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->frames->heredoc_rest = mem_sys_strdup(yytext);
BEGIN(heredoc2);
}
@@ -191,7 +194,7 @@
}
<heredoc2>.* {
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
if (STREQ(IMCC_INFO(interp)->heredoc_end, yytext)) {
/* End of the heredoc. */
@@ -249,7 +252,7 @@
<*>setline{SP}+ { yy_push_state(cmt1, yyscanner); }
<cmt1>{DIGITS} {
- IMCC_INFO(interp)->line = atoi(yytext);
+ yylineno = IMCC_INFO(interp)->line = atoi(yytext);
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
return LINECOMMENT;
@@ -286,22 +289,22 @@
<INITIAL,emit,macro>^"=cut"{EOL} {
/* this is a stand-alone =cut, but we're not in POD mode, so ignore. */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
}
-<INITIAL,emit,macro>^"=" {
- IMCC_INFO(interp)->line++;
+<INITIAL,emit,macro>^"=".*{EOL} {
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 1;
yy_push_state(pod, yyscanner);
}
<pod>^"=cut"{EOL} {
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 0;
yy_pop_state(yyscanner);
}
-<pod>.* { IMCC_INFO(interp)->line++; }
+<pod>.* { SET_LINE_NUMBER; }
<pod>{EOL} { /* ignore */ }
@@ -451,7 +454,7 @@
<emit,INITIAL>".macro" {
/* the initial whitespace catcher misses this one */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
return read_macro(valp, interp, yyscanner);
}
@@ -664,7 +667,7 @@
<macro>".endm" {
/* the initial whitespace catcher misses this one */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
DUP_AND_RET(valp, ENDM);
}
@@ -1261,6 +1264,7 @@
scan_file(PARROT_INTERP, macro_frame_t *frame, FILE *file, void *yyscanner)
{
yyguts_t * const yyg = (yyguts_t *)yyscanner;
+ const int oldline = IMCC_INFO(interp)->line;
frame->buffer = YY_CURRENT_BUFFER;
frame->s.next = (parser_state_t *)IMCC_INFO(interp)->frames;
IMCC_INFO(interp)->frames = frame;
@@ -1271,6 +1275,8 @@
yy_switch_to_buffer(yy_create_buffer(file, YY_BUF_SIZE, yyscanner),
yyscanner);
+
+ IMCC_INFO(interp)->line = oldline;
}
void
Modified: branches/include_dynpmc_makefile/compilers/imcc/imclexer.c
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/imclexer.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/imclexer.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -204,7 +204,20 @@
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
- #define YY_LESS_LINENO(n)
+ /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
+ * access to the local variable yy_act. Since yyless() is a macro, it would break
+ * existing scanners that call yyless() from OUTSIDE yylex.
+ * One obvious solution it to make yy_act a global. I tried that, and saw
+ * a 5% performance hit in a non-yylineno scanner, because yy_act is
+ * normally declared as a register variable-- so it is not worth it.
+ */
+ #define YY_LESS_LINENO(n) \
+ do { \
+ int yyl;\
+ for ( yyl = n; yyl < yyleng; ++yyl )\
+ if ( yytext[yyl] == '\n' )\
+ --yylineno;\
+ }while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@@ -385,17 +398,17 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1090] =
+static yyconst flex_int16_t yy_accept[1095] =
{ 0,
0, 1, 0, 1, 0, 1, 17, 1, 0, 1,
0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
4, 1, 149, 136, 135, 11, 135, 136, 136, 12,
136, 136, 136, 136, 136, 136, 116, 136, 96, 136,
120, 120, 136, 88, 136, 90, 134, 134, 134, 134,
- 134, 134, 134, 134, 136, 136, 1, 1, 15, 135,
- 135, 136, 136, 136, 136, 134, 1, 1, 15, 147,
+ 134, 134, 134, 134, 136, 136, 1, 1, 136, 135,
+ 135, 136, 136, 136, 136, 134, 1, 1, 136, 147,
142, 138, 142, 147, 147, 147, 147, 147, 120, 120,
- 147, 145, 145, 145, 1, 1, 15, 17, 18, 17,
+ 147, 145, 145, 145, 1, 1, 147, 17, 18, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 1,
1, 17, 148, 136, 9, 9, 136, 136, 1, 5,
@@ -415,97 +428,99 @@
0, 0, 0, 0, 0, 0, 0, 0, 82, 89,
92, 65, 91, 83, 115, 0, 134, 117, 133, 134,
75, 134, 134, 134, 134, 134, 134, 105, 86, 106,
- 87, 1, 0, 135, 118, 118, 118, 118, 118, 118,
- 0, 0, 0, 0, 1, 142, 138, 142, 0, 0,
- 0, 146, 146, 146, 146, 145, 0, 143, 145, 1,
- 1, 17, 18, 17, 17, 17, 17, 17, 17, 17,
+ 87, 1, 0, 15, 0, 92, 65, 0, 135, 118,
+ 118, 118, 118, 118, 118, 0, 0, 0, 0, 1,
+ 142, 138, 142, 0, 0, 0, 146, 146, 146, 146,
+ 145, 0, 143, 145, 1, 1, 17, 18, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 1, 17, 0, 0, 9, 0, 1, 5,
+ 17, 17, 17, 17, 17, 17, 17, 1, 17, 0,
+ 0, 9, 0, 1, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 1, 0, 10,
- 0, 0, 0, 125, 0, 0, 0, 0, 120, 119,
- 0, 0, 119, 0, 0, 124, 0, 0, 0, 0,
- 0, 0, 1, 1, 0, 13, 0, 0, 0, 125,
- 0, 0, 0, 0, 120, 119, 0, 0, 119, 0,
- 0, 124, 0, 0, 0, 0, 0, 0, 1, 1,
- 0, 2, 0, 0, 0, 125, 0, 0, 0, 0,
-
- 120, 119, 0, 0, 119, 0, 0, 124, 0, 0,
- 0, 0, 0, 0, 1, 1, 4, 3, 4, 4,
+ 5, 5, 1, 0, 10, 0, 0, 0, 125, 0,
+ 0, 0, 0, 120, 119, 0, 0, 119, 0, 0,
+ 124, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+ 13, 0, 0, 0, 125, 0, 0, 0, 0, 120,
+ 119, 0, 0, 119, 0, 0, 124, 0, 0, 0,
+ 0, 0, 0, 1, 1, 0, 2, 0, 0, 0,
+
+ 125, 0, 0, 0, 0, 120, 119, 0, 0, 119,
+ 0, 0, 124, 0, 0, 0, 0, 0, 0, 1,
+ 1, 4, 3, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 1, 95, 128,
- 129, 131, 130, 0, 118, 118, 118, 118, 118, 118,
+ 4, 4, 1, 95, 128, 129, 131, 130, 0, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 103,
- 119, 122, 0, 119, 123, 121, 0, 0, 0, 0,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 103, 119, 122, 0, 119, 123,
+ 121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 108, 107, 84,
- 114, 0, 0, 133, 134, 78, 134, 79, 80, 134,
- 134, 134, 0, 118, 118, 0, 0, 139, 144, 141,
- 146, 146, 146, 146, 146, 145, 17, 17, 17, 17,
+ 0, 0, 108, 107, 84, 114, 0, 0, 133, 134,
+ 78, 134, 79, 80, 134, 134, 134, 0, 118, 118,
+ 0, 0, 139, 144, 141, 146, 146, 146, 146, 146,
+ 145, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 17, 17, 0, 0, 0, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 0, 0, 0, 119, 122, 0, 119, 123, 121,
+ 0, 0, 0, 0, 0, 0, 0, 0, 119, 122,
+ 0, 119, 123, 121, 0, 0, 0, 0, 0, 0,
+ 0, 0, 119, 122, 0, 119, 123, 121, 0, 0,
+
+ 0, 0, 0, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 0, 119, 69,
+ 118, 118, 118, 118, 25, 118, 118, 118, 118, 118,
+ 22, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 24, 118, 118, 0, 0, 0, 0, 0,
+ 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 126, 0, 0,
+ 109, 0, 127, 0, 0, 0, 74, 77, 134, 134,
+ 134, 134, 0, 141, 146, 146, 146, 146, 145, 145,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 0, 0, 0, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 0, 0, 0, 119,
- 122, 0, 119, 123, 121, 0, 0, 0, 0, 0,
- 0, 0, 0, 119, 122, 0, 119, 123, 121, 0,
- 0, 0, 0, 0, 0, 0, 0, 119, 122, 0,
- 119, 123, 121, 0, 0, 0, 0, 0, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 0, 119, 69, 118, 118, 118, 118, 25,
- 118, 118, 118, 118, 118, 22, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 24, 118, 118,
- 0, 0, 0, 0, 0, 0, 0, 46, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 126, 0, 0, 109, 0, 127, 0, 0,
- 0, 74, 77, 134, 134, 134, 134, 0, 141, 146,
- 146, 146, 146, 145, 145, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 17, 17, 0, 0, 0, 0,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 0, 119, 0, 0, 0, 0, 126, 0, 0, 0,
+ 0, 0, 127, 0, 0, 0, 0, 0, 0, 119,
+ 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
+ 127, 0, 0, 0, 0, 0, 0, 119, 0, 0,
+ 0, 0, 126, 0, 0, 0, 0, 0, 127, 0,
+ 0, 0, 0, 0, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 118,
+ 118, 28, 118, 118, 20, 118, 118, 118, 118, 19,
- 17, 0, 0, 0, 0, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 0, 119, 0, 0, 0,
- 0, 126, 0, 0, 0, 0, 0, 127, 0, 0,
- 0, 0, 0, 0, 119, 0, 0, 0, 0, 126,
- 0, 0, 0, 0, 0, 127, 0, 0, 0, 0,
- 0, 0, 119, 0, 0, 0, 0, 126, 0, 0,
- 0, 0, 0, 127, 0, 0, 0, 0, 0, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 118, 118, 28, 118, 118, 20,
- 118, 118, 118, 118, 19, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 44, 0, 60, 0, 41, 0, 0, 40,
+ 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 134, 134, 134, 134, 14, 0, 137,
+ 20, 146, 19, 145, 145, 17, 17, 17, 17, 16,
+ 17, 20, 19, 0, 0, 5, 5, 5, 5, 20,
+ 19, 0, 0, 20, 19, 0, 0, 20, 19, 0,
+ 0, 4, 4, 4, 4, 118, 118, 71, 118, 118,
+ 118, 118, 118, 118, 118, 118, 70, 112, 118, 118,
+ 118, 73, 118, 118, 118, 118, 118, 118, 54, 0,
+
+ 0, 0, 0, 0, 38, 64, 0, 0, 0, 45,
+ 0, 0, 51, 0, 0, 134, 134, 81, 76, 146,
+ 145, 145, 17, 17, 0, 0, 5, 5, 0, 0,
+ 0, 0, 0, 0, 4, 4, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 56, 118, 118, 118, 118, 0, 0, 0, 0,
+ 37, 0, 0, 0, 0, 61, 0, 47, 134, 134,
+ 140, 145, 145, 17, 17, 0, 0, 5, 5, 0,
+ 0, 0, 0, 0, 0, 4, 4, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 113, 118, 59, 118,
+
+ 118, 118, 118, 32, 23, 118, 118, 118, 0, 0,
+ 0, 0, 48, 0, 0, 0, 0, 0, 8, 17,
+ 8, 5, 5, 0, 8, 0, 8, 0, 8, 4,
+ 4, 21, 118, 118, 118, 27, 118, 118, 118, 118,
+ 31, 118, 118, 118, 29, 118, 118, 58, 67, 0,
+ 0, 66, 63, 62, 43, 0, 7, 7, 7, 7,
+ 7, 4, 118, 118, 118, 118, 36, 118, 118, 118,
+ 30, 68, 118, 55, 42, 0, 0, 26, 118, 118,
+ 34, 52, 118, 118, 57, 50, 49, 118, 35, 53,
+ 72, 111, 33, 0
- 118, 118, 118, 118, 118, 118, 118, 44, 0, 60,
- 0, 41, 0, 0, 40, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 134, 134,
- 134, 134, 14, 0, 137, 20, 146, 19, 145, 145,
- 17, 17, 17, 17, 16, 17, 20, 19, 0, 0,
- 5, 5, 5, 5, 20, 19, 0, 0, 20, 19,
- 0, 0, 20, 19, 0, 0, 4, 4, 4, 4,
- 118, 118, 71, 118, 118, 118, 118, 118, 118, 118,
- 118, 70, 112, 118, 118, 118, 73, 118, 118, 118,
- 118, 118, 118, 54, 0, 0, 0, 0, 0, 38,
-
- 64, 0, 0, 0, 45, 0, 0, 51, 0, 0,
- 134, 134, 81, 76, 146, 145, 145, 17, 17, 0,
- 0, 5, 5, 0, 0, 0, 0, 0, 0, 4,
- 4, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 56, 118, 118, 118,
- 118, 0, 0, 0, 0, 37, 0, 0, 0, 0,
- 61, 0, 47, 134, 134, 140, 145, 145, 17, 17,
- 0, 0, 5, 5, 0, 0, 0, 0, 0, 0,
- 4, 4, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 113, 118, 59, 118, 118, 118, 118, 32, 23,
-
- 118, 118, 118, 0, 0, 0, 0, 48, 0, 0,
- 0, 0, 0, 8, 17, 8, 5, 5, 0, 8,
- 0, 8, 0, 8, 4, 4, 21, 118, 118, 118,
- 27, 118, 118, 118, 118, 31, 118, 118, 118, 29,
- 118, 118, 58, 67, 0, 0, 66, 63, 62, 43,
- 0, 7, 7, 7, 7, 7, 4, 118, 118, 118,
- 118, 36, 118, 118, 118, 30, 68, 118, 55, 42,
- 0, 0, 26, 118, 118, 34, 52, 118, 118, 57,
- 50, 49, 118, 35, 53, 72, 111, 33, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -551,287 +566,289 @@
10, 10, 10, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1241] =
+static yyconst flex_int16_t yy_base[1251] =
{ 0,
0, 64, 88, 70, 153, 75, 218, 82, 283, 113,
348, 117, 109, 412, 434, 121, 499, 130, 564, 135,
- 629, 140, 4564, 7041, 693, 7041, 697, 4538, 63, 7041,
- 385, 4537, 56, 4549, 58, 686, 7041, 696, 703, 60,
+ 629, 140, 4665, 7097, 693, 7097, 697, 4639, 63, 7097,
+ 385, 4638, 56, 4648, 58, 686, 7097, 696, 703, 60,
750, 780, 785, 72, 83, 124, 703, 797, 767, 825,
- 765, 759, 769, 833, 63, 766, 848, 856, 837, 422,
- 864, 863, 862, 846, 4536, 848, 803, 872, 4515, 7041,
- 887, 7041, 924, 84, 897, 4546, 919, 924, 0, 930,
- 4533, 405, 946, 908, 953, 975, 4512, 0, 7041, 4552,
- 689, 4542, 964, 968, 1003, 964, 4528, 1065, 1130, 990,
-
- 994, 4507, 7041, 989, 1008, 1076, 4527, 87, 1000, 0,
- 0, 791, 1031, 1065, 1179, 1002, 4525, 1241, 1306, 1012,
- 815, 426, 7041, 820, 1110, 899, 1104, 1159, 1369, 1128,
- 1031, 1431, 1496, 1056, 1097, 919, 7041, 969, 1162, 1009,
- 1217, 1275, 1559, 1299, 1148, 1621, 1686, 1156, 1181, 1040,
- 7041, 1059, 1184, 1115, 1265, 1336, 1749, 1305, 1208, 1811,
- 1876, 1224, 1258, 0, 7041, 4545, 897, 4535, 1253, 1355,
- 1925, 1368, 4522, 1987, 2052, 1212, 1286, 1296, 1345, 7041,
- 7041, 902, 7041, 0, 0, 1343, 1359, 1373, 1397, 7041,
- 7041, 7041, 4533, 7041, 7041, 1405, 1442, 7041, 7041, 1447,
-
- 7041, 0, 4510, 4490, 4496, 1050, 4488, 4490, 658, 4482,
- 1143, 105, 851, 874, 4488, 727, 4491, 4482, 4504, 7041,
- 1504, 1154, 1459, 7041, 1184, 0, 4463, 4465, 4455, 1178,
- 907, 1291, 685, 946, 4451, 22, 4451, 4444, 1108, 7041,
- 7041, 7041, 7041, 1251, 4479, 4478, 1405, 4493, 1524, 1532,
- 1442, 1542, 1548, 1543, 1559, 1594, 1561, 7041, 7041, 7041,
- 7041, 1513, 4439, 1364, 4444, 4444, 1436, 4451, 4450, 4447,
- 1240, 4432, 4429, 1228, 1380, 1604, 7041, 1638, 4394, 1633,
- 0, 0, 4363, 4365, 932, 828, 4407, 1643, 1468, 1665,
- 1669, 0, 7041, 1264, 0, 0, 4401, 1656, 1697, 1703,
-
- 4362, 4361, 1715, 1283, 1743, 0, 1518, 2099, 1389, 2146,
- 2211, 2276, 1448, 4350, 4359, 4358, 1822, 1424, 1527, 0,
- 1482, 0, 1660, 1828, 1754, 4357, 4356, 1884, 1390, 1777,
- 0, 1553, 2323, 1480, 2370, 2435, 2500, 1581, 1550, 7041,
- 1593, 1737, 1798, 1611, 1616, 1645, 1703, 1850, 2563, 1904,
- 1680, 1717, 2003, 1735, 1917, 1725, 1892, 2607, 1945, 2654,
- 2719, 2784, 1804, 1828, 1743, 7041, 1777, 1857, 1925, 1783,
- 1786, 1906, 1963, 2015, 2847, 2025, 1959, 1966, 2069, 2011,
- 2081, 1862, 2090, 2891, 1969, 2938, 3003, 3068, 1980, 2036,
- 1974, 7041, 2017, 2127, 2133, 2039, 2076, 2101, 2120, 2162,
-
- 3131, 2292, 2083, 2135, 2304, 2171, 2173, 2078, 2300, 3175,
- 2193, 3222, 3287, 3352, 2199, 2204, 0, 7041, 1320, 0,
- 0, 4393, 2308, 2381, 2386, 4354, 4353, 2500, 2087, 2340,
- 0, 2159, 3399, 1604, 3446, 3511, 3576, 2313, 2344, 2370,
- 2398, 2402, 2409, 2513, 0, 4368, 4348, 4352, 4348, 4345,
- 4352, 4345, 4336, 4339, 786, 4330, 4338, 1067, 4346, 4330,
- 4336, 4337, 4329, 4341, 4325, 4324, 4339, 4331, 4330, 7041,
- 2517, 2106, 2522, 2529, 2312, 0, 4321, 4323, 4331, 4318,
- 2248, 4286, 4305, 4296, 4286, 4293, 4291, 4296, 4282, 4281,
- 4281, 4278, 4291, 4283, 4290, 1509, 4319, 7041, 7041, 4305,
-
- 7041, 1597, 4302, 2545, 2546, 2563, 2565, 2578, 2580, 2583,
- 2582, 2598, 4265, 4279, 4280, 4271, 4297, 7041, 2619, 0,
- 0, 4274, 4267, 4274, 4263, 2596, 2667, 4264, 4261, 2654,
- 2179, 2556, 2603, 2393, 3623, 1787, 4301, 1833, 3670, 3735,
- 4253, 4191, 4188, 2505, 2676, 4189, 4186, 2784, 2317, 2682,
- 2686, 2690, 3782, 2601, 3829, 3894, 2812, 2567, 2808, 2816,
- 2836, 2838, 2867, 2871, 3957, 2814, 2841, 2869, 4004, 4069,
- 2954, 2642, 2875, 3084, 2879, 2881, 2903, 2911, 4132, 3106,
- 2893, 3114, 4179, 4244, 2963, 2914, 3086, 3137, 2968, 2977,
- 3165, 3169, 4307, 3122, 2988, 3140, 4354, 4419, 3192, 4187,
-
- 4184, 3077, 2338, 2693, 3179, 2974, 4466, 1852, 4224, 1920,
- 4513, 4578, 3222, 3230, 0, 4181, 4184, 4182, 4174, 4190,
- 4184, 4188, 4185, 4176, 4172, 0, 4179, 4179, 4181, 4165,
- 4172, 4174, 4177, 4175, 4175, 4155, 4173, 0, 4162, 4161,
- 4158, 4159, 4150, 4162, 4148, 4147, 4147, 7041, 4155, 4146,
- 4149, 4136, 4127, 4119, 829, 4125, 4111, 4112, 4118, 4111,
- 4123, 1946, 7041, 0, 4153, 7041, 2010, 7041, 0, 4141,
- 4156, 3115, 3193, 3363, 3364, 3372, 3373, 2360, 0, 4107,
- 4112, 4111, 4110, 1031, 3099, 3234, 3238, 4109, 4104, 2128,
- 0, 0, 4137, 2550, 0, 0, 4643, 4141, 4708, 4097,
-
- 2422, 4100, 4099, 1169, 1544, 3244, 3248, 4098, 4097, 3163,
- 0, 4773, 4135, 4838, 4091, 3380, 3387, 2819, 2923, 3390,
- 3433, 2713, 2956, 3108, 3133, 3474, 3606, 2986, 3097, 4903,
- 3268, 4968, 4090, 3463, 3471, 3419, 3430, 3608, 3614, 3160,
- 3178, 3270, 3273, 3616, 3621, 3188, 3275, 5033, 3277, 5098,
- 4089, 3476, 3484, 3592, 3601, 3623, 3698, 3400, 3435, 3496,
- 3594, 3810, 3816, 3498, 3604, 5163, 3629, 5228, 4088, 3638,
- 3670, 4091, 4021, 2608, 0, 0, 4054, 2840, 0, 0,
- 5293, 4058, 5358, 4014, 4004, 4009, 0, 4001, 3405, 0,
- 4002, 4016, 3997, 4012, 0, 4004, 4003, 3999, 4011, 3993,
-
- 4006, 3997, 3990, 3990, 2628, 4002, 4000, 7041, 4002, 7041,
- 3997, 7041, 3999, 3996, 7041, 7041, 3985, 3987, 3991, 3976,
- 3987, 3979, 3975, 3982, 3968, 3951, 3934, 3938, 3850, 3972,
- 3842, 3799, 7041, 3889, 0, 0, 3835, 0, 3681, 3382,
- 0, 0, 5423, 1124, 7041, 3877, 7041, 7041, 940, 1719,
- 0, 0, 5488, 1292, 3646, 3695, 3656, 1096, 3705, 3708,
- 3663, 1230, 3712, 3714, 3669, 1652, 0, 0, 3671, 2567,
- 3822, 3821, 0, 3803, 3790, 3771, 3772, 3765, 3688, 3661,
- 3623, 0, 3623, 3618, 3584, 3592, 0, 3571, 3576, 3565,
- 3568, 3553, 3537, 0, 3451, 3457, 3441, 3447, 3387, 7041,
-
- 7041, 3369, 3373, 3362, 7041, 3358, 3347, 7041, 3339, 3328,
- 3974, 4015, 3851, 3852, 3721, 3946, 3947, 1662, 1905, 1489,
- 1546, 1957, 2246, 1424, 1710, 1817, 1869, 2062, 2779, 2858,
- 3678, 3312, 3819, 3317, 3224, 3215, 3157, 3166, 3161, 3118,
- 3117, 3111, 3100, 3086, 3068, 3073, 0, 2953, 2927, 2908,
- 2878, 2866, 2821, 2808, 2774, 7041, 2750, 2758, 2657, 2630,
- 7041, 2561, 7041, 3959, 3975, 3725, 2381, 3079, 1349, 1753,
- 772, 1912, 1975, 2063, 804, 1805, 1893, 2305, 3188, 3587,
- 3650, 3681, 2549, 2531, 2507, 2495, 2480, 2456, 2456, 2373,
- 2355, 0, 2340, 0, 2323, 2296, 2295, 2254, 0, 0,
-
- 2219, 2163, 2137, 2114, 2090, 2076, 2037, 7041, 2035, 2023,
- 1993, 1975, 1653, 1985, 2553, 1969, 2626, 1953, 3802, 3867,
- 3874, 3880, 3884, 3962, 3169, 1852, 0, 1795, 1723, 1702,
- 0, 1593, 1545, 1505, 1475, 0, 1407, 1378, 1374, 0,
- 1356, 1291, 0, 7041, 1279, 1245, 7041, 7041, 7041, 7041,
- 1211, 7041, 0, 3845, 3968, 3970, 0, 1197, 1163, 1156,
- 1115, 0, 1069, 1045, 1036, 0, 0, 1015, 0, 7041,
- 912, 900, 0, 776, 675, 0, 367, 356, 61, 0,
- 7041, 7041, 23, 0, 0, 0, 0, 0, 7041, 5553,
- 5559, 5569, 5577, 5581, 5589, 5596, 5607, 5618, 5629, 5640,
-
- 5647, 5658, 5669, 5680, 5691, 5702, 5713, 5724, 5735, 5746,
- 5757, 5768, 5779, 5790, 5801, 5812, 5823, 5834, 5845, 5856,
- 5862, 5872, 5878, 5884, 5889, 5897, 5906, 5912, 5916, 5922,
- 5929, 5940, 5951, 5962, 5973, 5984, 5995, 6006, 6017, 6028,
- 6039, 6050, 6061, 6072, 6083, 6094, 6105, 6116, 6127, 6138,
- 6149, 6160, 6171, 6182, 6188, 6193, 6199, 6208, 6219, 6230,
- 6237, 6245, 6251, 6257, 6263, 6270, 6281, 6292, 6303, 6314,
- 6325, 6332, 6343, 6354, 6365, 6376, 6387, 6398, 6409, 6420,
- 6431, 6442, 6453, 6464, 6475, 6486, 6497, 6508, 6519, 6530,
- 6541, 6552, 6563, 6574, 6585, 6591, 6602, 6613, 6624, 6631,
-
- 6639, 6645, 6651, 6658, 6669, 6680, 6691, 6702, 6713, 6720,
- 6731, 6742, 6753, 6764, 6775, 6786, 6797, 6808, 6819, 6830,
- 6841, 6852, 6863, 6874, 6885, 6896, 6907, 6918, 6929, 6940,
- 6951, 6962, 6973, 6979, 6987, 6993, 7000, 7011, 7018, 7029
+ 765, 759, 769, 833, 63, 766, 848, 856, 851, 422,
+ 864, 862, 871, 838, 4623, 848, 803, 898, 819, 7097,
+ 902, 7097, 906, 84, 898, 4570, 920, 929, 0, 935,
+ 4553, 405, 951, 828, 941, 956, 909, 0, 7097, 4573,
+ 689, 4563, 965, 969, 1004, 965, 4550, 1066, 1131, 991,
+
+ 995, 4529, 7097, 990, 1009, 1077, 4549, 87, 1001, 0,
+ 0, 791, 1032, 1066, 1180, 1003, 4547, 1242, 1307, 1013,
+ 878, 426, 7097, 894, 1111, 1010, 1105, 1160, 1370, 1129,
+ 959, 1432, 1497, 1057, 1098, 974, 7097, 1032, 1163, 1052,
+ 1218, 1276, 1560, 1300, 1149, 1622, 1687, 1157, 1182, 1041,
+ 7097, 1101, 1185, 1116, 1266, 1337, 1750, 1306, 1209, 1812,
+ 1877, 1225, 1259, 0, 7097, 4567, 880, 4557, 1254, 1356,
+ 1926, 1369, 4544, 1988, 2053, 1213, 1287, 1297, 1346, 7097,
+ 7097, 1168, 7097, 0, 0, 1344, 1360, 1374, 1398, 7097,
+ 7097, 7097, 4555, 7097, 7097, 1406, 1443, 7097, 7097, 1448,
+
+ 7097, 0, 4532, 4512, 4518, 1136, 4510, 4512, 658, 4508,
+ 1425, 105, 883, 922, 4514, 727, 4517, 4508, 4532, 7097,
+ 1505, 1174, 1466, 7097, 1185, 0, 4503, 4513, 4502, 1179,
+ 816, 1292, 685, 947, 4498, 22, 4498, 4491, 1109, 7097,
+ 7097, 7097, 7097, 1252, 4526, 4525, 1406, 4540, 1525, 1533,
+ 1443, 1543, 1467, 1544, 1549, 1560, 1562, 7097, 7097, 7097,
+ 7097, 1593, 1290, 7097, 1300, 1366, 1382, 1513, 1449, 4492,
+ 4492, 1482, 4502, 4501, 4498, 1349, 4483, 4476, 1162, 1582,
+ 1616, 7097, 1639, 4512, 1630, 0, 0, 4481, 4483, 1199,
+ 1321, 4523, 1638, 1515, 1661, 1665, 0, 7097, 1265, 0,
+
+ 0, 4505, 1652, 1698, 1704, 4458, 4457, 1716, 1391, 1661,
+ 0, 1472, 2100, 1543, 2147, 2212, 2277, 1607, 4446, 4455,
+ 4454, 1744, 909, 1674, 0, 1736, 0, 1687, 1823, 1828,
+ 4453, 4452, 1885, 1510, 1778, 0, 1710, 2324, 1563, 2371,
+ 2436, 2501, 1753, 1536, 7097, 1597, 1799, 1856, 1601, 1612,
+ 1737, 1756, 1851, 2564, 1905, 1778, 1784, 2004, 1894, 1918,
+ 1652, 1954, 2608, 1964, 2655, 2720, 2785, 1805, 1862, 1681,
+ 7097, 1718, 1926, 1946, 1772, 1828, 1907, 1975, 2016, 2848,
+ 2026, 1960, 1981, 2070, 2013, 2082, 1858, 2091, 2892, 2037,
+ 2939, 3004, 3069, 2078, 2103, 1978, 7097, 2018, 2128, 2134,
+
+ 2039, 2084, 2111, 2121, 2163, 3132, 2293, 2136, 2301, 2387,
+ 2172, 2174, 2123, 2305, 3176, 2194, 3223, 3288, 3353, 2200,
+ 2205, 0, 7097, 1321, 0, 0, 4489, 2299, 2382, 2310,
+ 4450, 4449, 2501, 2160, 2341, 0, 2314, 3400, 1735, 3447,
+ 3512, 3577, 2345, 2416, 2403, 2410, 2513, 2517, 2529, 0,
+ 4464, 4441, 4445, 4441, 4438, 4445, 4367, 4358, 4362, 786,
+ 4353, 4361, 1051, 4369, 4353, 4359, 4360, 4352, 4364, 4348,
+ 4347, 4362, 4354, 4357, 7097, 2533, 2180, 2537, 2550, 2394,
+ 0, 4348, 4350, 4358, 4347, 2249, 4336, 4355, 4346, 4335,
+ 4342, 4340, 4345, 4331, 4330, 4330, 4327, 4343, 4335, 4342,
+
+ 1390, 4371, 7097, 7097, 4357, 7097, 1441, 4354, 2564, 2566,
+ 2579, 2581, 2583, 2584, 2592, 2624, 2600, 2334, 4332, 4333,
+ 4324, 4348, 7097, 2663, 0, 0, 4304, 4297, 4304, 4293,
+ 2598, 2677, 4294, 4291, 2785, 2308, 2668, 2681, 2509, 3624,
+ 1921, 4331, 1937, 3671, 3736, 4283, 4290, 4287, 1754, 2690,
+ 4288, 4282, 2797, 2339, 2694, 2801, 2557, 3783, 2610, 3830,
+ 3895, 2826, 2809, 2622, 2834, 2615, 2854, 2868, 2880, 3958,
+ 2920, 2829, 2926, 4005, 4070, 2888, 2922, 2832, 2955, 2912,
+ 2967, 2977, 3085, 4133, 3104, 2894, 3110, 4180, 4245, 3126,
+ 3087, 2914, 3153, 3096, 3099, 3165, 3173, 4308, 3119, 2979,
+
+ 3160, 4355, 4420, 3193, 4283, 4280, 3223, 2345, 2973, 3169,
+ 2842, 4467, 2011, 4320, 2129, 4514, 4579, 3235, 3239, 0,
+ 4277, 4276, 4274, 4266, 4282, 4276, 4280, 4277, 4268, 4264,
+ 0, 4271, 4271, 4273, 4257, 4264, 4197, 4201, 4199, 4199,
+ 4179, 4197, 0, 4186, 4185, 4182, 4183, 4174, 4186, 4172,
+ 4171, 4175, 7097, 4183, 4174, 4177, 4166, 4178, 4170, 783,
+ 4176, 4162, 4162, 4168, 4161, 4173, 2584, 7097, 0, 4203,
+ 7097, 2637, 7097, 0, 4191, 4206, 2870, 3116, 3364, 3365,
+ 3373, 3194, 2423, 0, 4160, 4165, 4164, 4163, 3108, 3374,
+ 3245, 3251, 4162, 4161, 2794, 0, 0, 4190, 2819, 0,
+
+ 0, 4644, 4193, 4709, 4149, 2558, 4128, 4126, 1733, 1818,
+ 3255, 3259, 4124, 4123, 3158, 0, 4774, 4161, 4839, 4117,
+ 3380, 3388, 3391, 3428, 3475, 3607, 2638, 2704, 3401, 3463,
+ 3609, 3615, 2714, 2965, 4904, 3094, 4969, 4115, 3473, 3477,
+ 3437, 3593, 3617, 3622, 3178, 3198, 3497, 3595, 3624, 3699,
+ 3247, 3279, 5034, 3431, 5099, 4110, 3485, 3688, 3602, 3605,
+ 3811, 3817, 3281, 3382, 3701, 3711, 3862, 3986, 3465, 3481,
+ 5164, 3630, 5229, 4108, 3639, 3679, 4110, 4105, 2921, 0,
+ 0, 4138, 3103, 0, 0, 5294, 4142, 5359, 4098, 4088,
+ 4093, 0, 4086, 1855, 0, 4087, 4101, 4082, 4097, 0,
+
+ 4089, 4088, 4084, 4027, 4009, 4022, 4013, 4005, 4005, 1006,
+ 4017, 4015, 7097, 4018, 7097, 4013, 7097, 4015, 4012, 7097,
+ 7097, 4001, 4000, 3996, 3965, 3950, 3942, 3925, 3931, 3915,
+ 3923, 3906, 3842, 3976, 4148, 4016, 3800, 7097, 3487, 0,
+ 0, 3834, 0, 2580, 3640, 0, 0, 5424, 1059, 7097,
+ 3878, 7097, 7097, 1332, 1986, 0, 0, 5489, 1540, 3499,
+ 3713, 3668, 1097, 3717, 3721, 3676, 1231, 3725, 3727, 3682,
+ 1504, 0, 0, 3756, 3158, 3821, 3796, 0, 3780, 3773,
+ 3767, 3764, 3757, 3689, 3680, 3662, 0, 3649, 3643, 3619,
+ 3623, 0, 3580, 3582, 3566, 3569, 3530, 3468, 0, 3428,
+
+ 3400, 3386, 3394, 3388, 7097, 7097, 3370, 3365, 3358, 7097,
+ 3352, 3340, 7097, 3352, 3329, 3975, 4150, 3851, 3852, 3874,
+ 3836, 3948, 1800, 1908, 1438, 1810, 2247, 2260, 1174, 1745,
+ 1870, 2063, 2494, 2496, 2778, 2831, 3313, 3820, 3318, 3227,
+ 3222, 3181, 3127, 3114, 3102, 3094, 3083, 3070, 3043, 2951,
+ 2947, 0, 2936, 2919, 2926, 2868, 2816, 2797, 2770, 2652,
+ 7097, 2629, 2634, 2629, 2553, 7097, 2533, 7097, 3958, 3960,
+ 3882, 2382, 3857, 1295, 2643, 772, 1490, 3211, 3599, 942,
+ 1965, 2950, 3091, 3458, 3588, 3841, 3990, 2518, 2475, 2462,
+ 2384, 2368, 2350, 2349, 2332, 2324, 0, 2289, 0, 2268,
+
+ 2265, 2236, 2164, 0, 0, 2129, 2130, 2112, 2102, 2075,
+ 2051, 2025, 7097, 2027, 2018, 1972, 1947, 1709, 1986, 2898,
+ 1978, 3418, 1947, 3885, 4030, 4039, 4033, 4044, 4049, 3625,
+ 1931, 0, 1842, 1816, 1765, 0, 1728, 1728, 1694, 1650,
+ 0, 1585, 1556, 1522, 0, 1476, 1429, 0, 7097, 1375,
+ 1360, 7097, 7097, 7097, 7097, 1321, 7097, 0, 3846, 3868,
+ 3969, 0, 1275, 1198, 1185, 1145, 0, 1117, 1071, 1024,
+ 0, 0, 926, 0, 7097, 869, 827, 0, 752, 675,
+ 0, 367, 356, 61, 0, 7097, 7097, 23, 0, 0,
+ 0, 0, 0, 7097, 5554, 5560, 5570, 5578, 5589, 5593,
+
+ 5601, 5608, 5619, 5630, 5641, 5652, 5659, 5670, 5681, 5692,
+ 5703, 5714, 5725, 5736, 5747, 5758, 5769, 5780, 5791, 5802,
+ 5813, 5824, 5835, 5846, 5857, 5868, 5874, 5884, 5890, 5896,
+ 5901, 5909, 5918, 5929, 5935, 5939, 5945, 5952, 5963, 5974,
+ 5985, 5996, 6007, 6018, 6029, 6040, 6051, 6062, 6073, 6084,
+ 6095, 6106, 6117, 6128, 6139, 6150, 6161, 6172, 6183, 6194,
+ 6205, 6211, 6216, 6222, 6231, 6242, 6253, 6260, 6268, 6279,
+ 6285, 6291, 6297, 6304, 6315, 6326, 6337, 6348, 6359, 6366,
+ 6377, 6388, 6399, 6410, 6421, 6432, 6443, 6454, 6465, 6476,
+ 6487, 6498, 6509, 6520, 6531, 6542, 6553, 6564, 6575, 6586,
+
+ 6597, 6608, 6619, 6625, 6636, 6647, 6658, 6665, 6673, 6684,
+ 6690, 6696, 6703, 6714, 6725, 6736, 6747, 6758, 6765, 6776,
+ 6787, 6798, 6809, 6820, 6831, 6842, 6853, 6864, 6875, 6886,
+ 6897, 6908, 6919, 6930, 6941, 6952, 6963, 6974, 6985, 6996,
+ 7007, 7018, 7024, 7032, 7043, 7049, 7056, 7067, 7074, 7085
} ;
-static yyconst flex_int16_t yy_def[1241] =
+static yyconst flex_int16_t yy_def[1251] =
{ 0,
- 1089, 1, 1, 3, 1089, 5, 1089, 7, 1089, 9,
- 1089, 11, 9, 9, 1089, 15, 1089, 17, 1089, 19,
- 1089, 21, 1089, 1089, 1089, 1089, 1089, 1089, 1090, 1089,
- 1091, 1089, 1089, 1092, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1093, 1093, 1093, 1093,
- 1093, 1093, 1093, 1093, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 39, 1089, 1089, 1093, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1090, 1094, 1092, 1089, 1095, 41, 1089,
- 1089, 1096, 1096, 1096, 1089, 1089, 1089, 1097, 1089, 1097,
- 1098, 1099, 1097, 1097, 1097, 95, 1097, 1100, 1100, 1097,
-
- 1097, 1097, 1089, 1089, 41, 1089, 1101, 1101, 1089, 1102,
- 1102, 1103, 1102, 1102, 1102, 115, 1102, 1104, 1104, 1102,
- 1090, 1105, 1089, 1105, 1106, 1107, 1105, 1105, 1105, 129,
- 1105, 1108, 1108, 1105, 1105, 1109, 1089, 1109, 1110, 1111,
- 1109, 1109, 1109, 143, 1109, 1112, 1112, 1109, 1109, 1113,
- 1089, 1113, 1114, 1115, 1113, 1113, 1113, 157, 1113, 1116,
- 1116, 1113, 1113, 1117, 1089, 1117, 1118, 1119, 1117, 1117,
- 1117, 171, 1117, 1120, 1120, 1117, 1117, 1089, 1089, 1089,
- 1089, 1090, 1089, 1090, 1121, 1121, 1121, 1121, 1121, 1089,
- 1089, 1089, 1122, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
- 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1124, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1125, 1126, 1127, 1126, 1126,
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1123, 1123, 1123, 1123, 1123, 1123,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1128, 1128,
- 1129, 1130, 1130, 1130, 1130, 1131, 1127, 1131, 1131, 1089,
- 1089, 1132, 1089, 1133, 1132, 1133, 1134, 1132, 1132, 1132,
-
- 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1135,
- 1089, 1135, 1132, 1132, 1089, 1089, 1089, 1125, 1089, 1136,
- 1137, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
- 1136, 1136, 1136, 1136, 1138, 1089, 1138, 1136, 1139, 1089,
- 1139, 1140, 1140, 1139, 1140, 1141, 1141, 1139, 1139, 1139,
- 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1142,
- 1089, 1142, 1139, 1139, 1143, 1089, 1143, 1144, 1144, 1143,
- 1144, 1145, 1145, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
- 1143, 1143, 1143, 1143, 1143, 1146, 1089, 1146, 1143, 1143,
- 1147, 1089, 1147, 1148, 1148, 1147, 1148, 1149, 1149, 1147,
-
- 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
- 1147, 1150, 1089, 1150, 1147, 1147, 1151, 1089, 1152, 1151,
- 1152, 1153, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1154, 1089, 1154, 1151, 1089, 1155,
- 1155, 1155, 1155, 1089, 1156, 1156, 1156, 1156, 1156, 1156,
- 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
- 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1089,
- 1089, 1089, 1089, 1089, 1089, 1157, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1158, 1159, 1089, 1089, 1089,
-
- 1089, 1160, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1162, 1162, 1089, 1156, 1156, 1089, 1163, 1089, 1163, 1164,
- 1165, 1165, 1165, 1165, 1165, 1166, 1167, 1167, 1167, 1167,
- 1167, 1167, 1167, 1167, 1167, 1168, 1169, 1170, 1171, 1089,
- 1167, 1089, 1089, 1172, 1173, 1173, 1173, 1173, 1173, 1173,
- 1173, 1173, 1173, 1174, 1175, 1089, 1176, 1176, 1176, 1176,
- 1176, 1176, 1176, 1176, 1176, 1177, 1178, 1179, 1180, 1089,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182,
- 1183, 1184, 1185, 1089, 1186, 1186, 1186, 1186, 1186, 1186,
- 1186, 1186, 1186, 1187, 1188, 1189, 1190, 1089, 1191, 1191,
-
- 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1192, 1193, 1194,
- 1195, 1089, 1089, 1089, 1196, 1196, 1196, 1196, 1196, 1196,
- 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
- 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1197, 1089, 1197, 1198, 1089, 1199, 1089, 1199, 1200,
- 1089, 1201, 1201, 1201, 1201, 1201, 1201, 1089, 1202, 1203,
- 1203, 1203, 1203, 1204, 1204, 1205, 1205, 1205, 1205, 1206,
- 1205, 1206, 1207, 1208, 1205, 1208, 1209, 1205, 1089, 699,
-
- 1205, 1089, 1089, 1210, 1210, 1211, 1211, 1211, 1211, 1212,
- 1211, 1213, 1211, 1089, 714, 1214, 1214, 1214, 1214, 1215,
- 1215, 1214, 1215, 1216, 1216, 1217, 1217, 1214, 1217, 1218,
- 1214, 1089, 732, 1219, 1219, 1219, 1219, 1220, 1220, 1219,
- 1220, 1221, 1221, 1222, 1222, 1219, 1222, 1223, 1219, 1089,
- 750, 1224, 1224, 1224, 1224, 1225, 1225, 1224, 1225, 1226,
- 1226, 1227, 1227, 1224, 1227, 1228, 1224, 1089, 768, 1229,
- 1229, 1229, 1229, 1230, 1229, 1230, 1231, 1232, 1229, 1232,
- 1233, 1229, 1089, 783, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
-
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1235, 1235,
- 1235, 1235, 1089, 1089, 1236, 1236, 1236, 1236, 1237, 1237,
- 1238, 1238, 1089, 843, 1089, 1238, 1089, 1089, 1239, 1239,
- 1240, 1240, 1089, 853, 1214, 1214, 732, 732, 1219, 1219,
- 750, 750, 1224, 1224, 768, 768, 1229, 1229, 783, 783,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1235, 1235, 1235, 1235, 1236, 1237, 1237, 843, 843, 1239,
- 1239, 853, 853, 732, 732, 750, 750, 768, 768, 783,
- 783, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1235, 1235, 1089, 1237, 1237, 843, 843,
- 1239, 1239, 853, 853, 732, 732, 750, 750, 768, 768,
- 783, 783, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
-
- 1234, 1234, 1234, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1238, 1238, 1240, 1240, 1214, 1214,
- 1219, 1219, 1224, 1224, 1229, 1229, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1234, 1234, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1238, 1214, 1219, 1224, 1229, 1234, 1234, 1234,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1089,
- 1089, 1089, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1089, 1089, 1234, 1234, 1234, 1234, 1234, 1234, 0, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089
+ 1094, 1, 1, 3, 1094, 5, 1094, 7, 1094, 9,
+ 1094, 11, 9, 9, 1094, 15, 1094, 17, 1094, 19,
+ 1094, 21, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1094,
+ 1096, 1094, 1094, 1097, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1098, 1098, 1098, 1098,
+ 1098, 1098, 1098, 1098, 1094, 1094, 1094, 1094, 1099, 1094,
+ 1094, 1094, 39, 1094, 1094, 1098, 1094, 1094, 1099, 1094,
+ 1094, 1094, 1094, 1095, 1100, 1097, 1094, 1101, 41, 1094,
+ 1094, 1102, 1102, 1102, 1094, 1094, 1099, 1103, 1094, 1103,
+ 1104, 1105, 1103, 1103, 1103, 95, 1103, 1106, 1106, 1103,
+
+ 1103, 1103, 1094, 1094, 41, 1094, 1107, 1107, 1094, 1108,
+ 1108, 1109, 1108, 1108, 1108, 115, 1108, 1110, 1110, 1108,
+ 1095, 1111, 1094, 1111, 1112, 1113, 1111, 1111, 1111, 129,
+ 1111, 1114, 1114, 1111, 1111, 1115, 1094, 1115, 1116, 1117,
+ 1115, 1115, 1115, 143, 1115, 1118, 1118, 1115, 1115, 1119,
+ 1094, 1119, 1120, 1121, 1119, 1119, 1119, 157, 1119, 1122,
+ 1122, 1119, 1119, 1123, 1094, 1123, 1124, 1125, 1123, 1123,
+ 1123, 171, 1123, 1126, 1126, 1123, 1123, 1094, 1094, 1094,
+ 1094, 1095, 1094, 1095, 1127, 1127, 1127, 1127, 1127, 1094,
+ 1094, 1094, 1128, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1094, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1130, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1131, 1132, 1133, 1132, 1132,
+ 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1094, 1094, 1094,
+ 1094, 1094, 1134, 1094, 1134, 1134, 1134, 1134, 1094, 1129,
+ 1129, 1129, 1129, 1129, 1129, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1135, 1135, 1136, 1137, 1137, 1137, 1137,
+ 1138, 1133, 1138, 1138, 1094, 1094, 1139, 1094, 1140, 1139,
+
+ 1140, 1141, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
+ 1139, 1139, 1139, 1139, 1142, 1094, 1142, 1139, 1139, 1094,
+ 1094, 1094, 1131, 1094, 1143, 1144, 1143, 1143, 1143, 1143,
+ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1145,
+ 1094, 1145, 1143, 1146, 1094, 1146, 1147, 1147, 1146, 1147,
+ 1148, 1148, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
+ 1146, 1146, 1146, 1146, 1149, 1094, 1149, 1146, 1146, 1150,
+ 1094, 1150, 1151, 1151, 1150, 1151, 1152, 1152, 1150, 1150,
+ 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
+ 1153, 1094, 1153, 1150, 1150, 1154, 1094, 1154, 1155, 1155,
+
+ 1154, 1155, 1156, 1156, 1154, 1154, 1154, 1154, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1157, 1094, 1157, 1154,
+ 1154, 1158, 1094, 1159, 1158, 1159, 1160, 1158, 1158, 1158,
+ 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1161,
+ 1094, 1161, 1158, 1094, 1162, 1162, 1162, 1162, 1094, 1163,
+ 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
+ 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
+ 1163, 1163, 1163, 1163, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1164, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1165, 1166, 1094, 1094, 1094, 1094, 1167, 1168, 1169, 1169,
+ 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1163, 1163,
+ 1094, 1171, 1094, 1171, 1172, 1173, 1173, 1173, 1173, 1173,
+ 1174, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
+ 1176, 1177, 1178, 1179, 1094, 1175, 1094, 1094, 1180, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1183,
+ 1094, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
+ 1185, 1186, 1187, 1188, 1094, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1190, 1191, 1192, 1193, 1094, 1194,
+ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1196,
+
+ 1197, 1198, 1094, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
+ 1199, 1199, 1200, 1201, 1202, 1203, 1094, 1094, 1094, 1204,
+ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+ 1204, 1204, 1204, 1204, 1204, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1205, 1094, 1205, 1206,
+ 1094, 1207, 1094, 1207, 1208, 1094, 1209, 1209, 1209, 1209,
+ 1209, 1209, 1210, 1211, 1212, 1212, 1212, 1212, 1213, 1213,
+ 1214, 1214, 1214, 1214, 1215, 1214, 1215, 1216, 1217, 1214,
+
+ 1217, 1218, 1214, 1094, 704, 1214, 1094, 1094, 1219, 1219,
+ 1220, 1220, 1220, 1220, 1221, 1220, 1222, 1220, 1094, 719,
+ 1223, 1223, 1223, 1223, 1224, 1224, 1223, 1224, 1225, 1225,
+ 1226, 1226, 1223, 1226, 1227, 1223, 1094, 737, 1228, 1228,
+ 1228, 1228, 1229, 1229, 1228, 1229, 1230, 1230, 1231, 1231,
+ 1228, 1231, 1232, 1228, 1094, 755, 1233, 1233, 1233, 1233,
+ 1234, 1234, 1233, 1234, 1235, 1235, 1236, 1236, 1233, 1236,
+ 1237, 1233, 1094, 773, 1238, 1238, 1238, 1238, 1239, 1238,
+ 1239, 1240, 1241, 1238, 1241, 1242, 1238, 1094, 788, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1244, 1244, 1244, 1244, 1094, 1245, 1246,
+ 1246, 1246, 1246, 1247, 1247, 1248, 1248, 1094, 848, 1094,
+ 1248, 1094, 1094, 1249, 1249, 1250, 1250, 1094, 858, 1223,
+ 1223, 737, 737, 1228, 1228, 755, 755, 1233, 1233, 773,
+ 773, 1238, 1238, 788, 788, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1244, 1244, 1244, 1244, 1246,
+ 1247, 1247, 848, 848, 1249, 1249, 858, 858, 737, 737,
+ 755, 755, 773, 773, 788, 788, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1244, 1244,
+ 1094, 1247, 1247, 848, 848, 1249, 1249, 858, 858, 737,
+ 737, 755, 755, 773, 773, 788, 788, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1248,
+ 1248, 1250, 1250, 1223, 1223, 1228, 1228, 1233, 1233, 1238,
+ 1238, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1248, 1223, 1228,
+ 1233, 1238, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1094, 1094, 1094, 1243, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1094, 1094, 1243, 1243, 1243,
+ 1243, 1243, 1243, 0, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094
} ;
-static yyconst flex_int16_t yy_nxt[7107] =
+static yyconst flex_int16_t yy_nxt[7163] =
{ 0,
24, 25, 26, 27, 25, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
@@ -840,16 +857,16 @@
47, 47, 47, 47, 47, 47, 47, 49, 47, 50,
47, 47, 51, 47, 52, 47, 47, 53, 47, 54,
47, 47, 47, 55, 56, 57, 191, 58, 57, 183,
- 194, 67, 492, 68, 67, 1088, 85, 219, 86, 85,
- 192, 493, 195, 100, 220, 101, 100, 258, 59, 60,
+ 194, 67, 497, 68, 67, 1093, 85, 219, 86, 85,
+ 192, 498, 195, 100, 220, 101, 100, 258, 59, 60,
183, 61, 60, 24, 69, 239, 240, 24, 24, 87,
- 24, 62, 184, 62, 63, 24, 102, 241, 242, 287,
- 64, 65, 24, 24, 109, 121, 109, 109, 120, 1087,
+ 24, 62, 184, 62, 63, 24, 102, 241, 242, 292,
+ 64, 65, 24, 24, 109, 121, 109, 109, 120, 1092,
120, 120, 134, 184, 135, 134, 259, 41, 42, 42,
- 42, 148, 318, 149, 148, 47, 162, 47, 163, 162,
- 47, 176, 47, 177, 176, 66, 459, 47, 243, 244,
- 460, 24, 24, 70, 71, 72, 73, 71, 70, 74,
+ 42, 148, 323, 149, 148, 47, 162, 47, 163, 162,
+ 47, 176, 47, 177, 176, 66, 464, 47, 243, 244,
+ 465, 24, 24, 70, 71, 72, 73, 71, 70, 74,
70, 75, 70, 70, 76, 70, 77, 70, 77, 78,
70, 79, 80, 80, 80, 70, 81, 70, 70, 82,
82, 82, 82, 82, 82, 83, 82, 83, 82, 83,
@@ -878,8 +895,8 @@
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 119, 118, 118, 118, 118,
- 118, 110, 110, 109, 1086, 109, 109, 186, 121, 187,
- 246, 188, 189, 264, 1085, 264, 264, 287, 340, 341,
+ 118, 110, 110, 109, 1091, 109, 109, 186, 121, 187,
+ 246, 188, 189, 269, 1090, 269, 269, 292, 345, 346,
41, 42, 42, 42, 122, 122, 123, 124, 122, 122,
125, 122, 122, 122, 122, 126, 122, 127, 122, 127,
128, 122, 129, 130, 130, 130, 122, 131, 122, 122,
@@ -908,716 +925,722 @@
174, 174, 174, 174, 174, 174, 174, 174, 164, 174,
174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
174, 174, 174, 174, 174, 174, 175, 174, 174, 174,
- 174, 174, 164, 164, 178, 295, 178, 178, 178, 180,
+ 174, 174, 164, 164, 178, 300, 178, 178, 178, 180,
- 178, 178, 196, 453, 197, 197, 197, 197, 454, 179,
- 198, 245, 196, 179, 197, 197, 197, 197, 246, 1084,
- 199, 200, 200, 200, 200, 248, 487, 201, 296, 202,
+ 178, 178, 196, 458, 197, 197, 197, 197, 459, 179,
+ 198, 245, 196, 179, 197, 197, 197, 197, 246, 1089,
+ 199, 200, 200, 200, 200, 248, 492, 201, 301, 202,
202, 202, 202, 202, 203, 202, 202, 202, 202, 202,
- 202, 202, 488, 202, 204, 205, 206, 202, 207, 208,
+ 202, 202, 493, 202, 204, 205, 206, 202, 207, 208,
209, 202, 210, 211, 212, 213, 202, 214, 202, 215,
216, 217, 202, 202, 202, 218, 221, 245, 197, 197,
- 197, 197, 466, 245, 246, 245, 1013, 245, 222, 223,
- 246, 248, 246, 224, 246, 225, 467, 248, 226, 248,
- 260, 248, 222, 320, 287, 223, 221, 193, 197, 197,
+ 197, 197, 471, 245, 246, 245, 1018, 245, 222, 223,
+ 246, 248, 246, 224, 246, 225, 472, 248, 226, 248,
+ 260, 248, 222, 325, 292, 223, 221, 193, 197, 197,
- 197, 197, 322, 225, 275, 245, 275, 275, 1019, 223,
+ 197, 197, 327, 225, 280, 245, 280, 280, 1088, 223,
254, 226, 246, 224, 255, 249, 249, 249, 249, 248,
- 250, 183, 340, 341, 253, 223, 227, 256, 228, 624,
- 261, 229, 1083, 245, 230, 231, 232, 233, 234, 235,
- 246, 245, 236, 246, 237, 238, 625, 248, 246, 262,
- 287, 262, 262, 360, 184, 248, 245, 262, 180, 262,
- 262, 241, 242, 246, 179, 264, 180, 264, 264, 821,
- 248, 251, 179, 275, 180, 275, 275, 252, 822, 196,
- 263, 197, 197, 197, 197, 257, 1089, 227, 276, 277,
- 278, 276, 461, 255, 462, 271, 231, 232, 272, 273,
-
- 235, 340, 347, 420, 202, 265, 238, 202, 183, 202,
- 344, 266, 267, 268, 269, 463, 270, 464, 202, 202,
- 202, 366, 367, 246, 202, 276, 277, 278, 276, 280,
- 287, 280, 281, 280, 280, 196, 421, 197, 197, 197,
- 197, 184, 200, 200, 200, 200, 221, 1082, 197, 197,
- 197, 197, 482, 289, 290, 277, 291, 290, 1081, 223,
- 483, 246, 287, 224, 288, 288, 288, 288, 287, 283,
- 284, 366, 367, 524, 285, 223, 290, 277, 291, 290,
- 298, 525, 299, 299, 299, 299, 300, 300, 300, 300,
- 920, 313, 292, 313, 313, 313, 293, 313, 313, 292,
-
- 489, 319, 292, 319, 319, 490, 292, 200, 200, 200,
- 200, 366, 373, 338, 301, 338, 338, 292, 302, 303,
- 370, 299, 299, 299, 299, 292, 317, 317, 317, 317,
- 320, 304, 305, 340, 341, 315, 306, 320, 307, 316,
- 320, 308, 392, 393, 320, 304, 246, 323, 305, 324,
- 324, 324, 324, 287, 359, 320, 307, 363, 340, 364,
- 363, 392, 393, 320, 308, 292, 292, 1080, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 839, 292, 292, 325, 325, 325, 325, 311, 292, 292,
- 292, 449, 221, 1079, 317, 317, 317, 317, 363, 340,
-
- 364, 363, 1078, 450, 292, 223, 340, 341, 628, 224,
- 629, 326, 340, 343, 496, 327, 344, 392, 399, 497,
- 348, 223, 349, 349, 349, 349, 396, 1077, 292, 292,
- 292, 292, 498, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 360, 292, 292, 925, 345,
- 366, 367, 311, 292, 292, 292, 339, 389, 366, 390,
- 389, 340, 341, 339, 366, 369, 339, 1076, 370, 292,
- 339, 385, 472, 472, 310, 312, 919, 350, 350, 350,
- 350, 339, 389, 366, 390, 389, 392, 395, 456, 339,
- 396, 287, 457, 292, 292, 328, 458, 324, 324, 324,
-
- 324, 371, 475, 475, 475, 351, 1075, 329, 330, 352,
- 392, 393, 331, 438, 332, 438, 438, 333, 849, 366,
- 367, 329, 1074, 397, 330, 415, 392, 416, 415, 480,
- 481, 411, 332, 374, 496, 375, 375, 375, 375, 497,
- 333, 320, 320, 320, 320, 320, 320, 1073, 320, 320,
- 320, 320, 320, 320, 320, 320, 1072, 320, 320, 415,
- 392, 416, 415, 336, 320, 320, 320, 392, 393, 423,
- 295, 424, 424, 424, 424, 499, 500, 366, 367, 386,
- 320, 400, 927, 401, 401, 401, 401, 438, 418, 438,
- 438, 480, 516, 376, 376, 376, 376, 178, 1071, 178,
-
- 178, 531, 531, 296, 320, 320, 320, 320, 320, 320,
- 320, 320, 179, 320, 320, 320, 320, 320, 320, 320,
- 320, 377, 320, 320, 1070, 378, 420, 365, 336, 320,
- 320, 320, 484, 391, 365, 1069, 485, 365, 392, 393,
- 391, 365, 335, 391, 923, 320, 439, 391, 439, 439,
- 486, 337, 365, 1015, 402, 402, 402, 402, 391, 421,
- 365, 440, 440, 440, 440, 264, 391, 264, 264, 320,
- 320, 340, 341, 425, 425, 425, 425, 441, 441, 441,
- 441, 275, 403, 275, 275, 353, 404, 349, 349, 349,
- 349, 442, 442, 442, 442, 536, 417, 354, 355, 310,
-
- 537, 426, 356, 417, 357, 427, 417, 358, 549, 549,
- 417, 354, 1068, 245, 355, 443, 443, 443, 443, 1067,
- 246, 417, 357, 200, 200, 200, 200, 248, 1066, 417,
- 358, 339, 339, 340, 341, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 287, 339, 339, 313,
- 245, 313, 313, 361, 339, 339, 339, 246, 221, 1065,
- 197, 197, 197, 197, 248, 200, 200, 200, 200, 975,
- 339, 223, 473, 360, 473, 224, 444, 474, 474, 474,
- 474, 456, 544, 246, 320, 457, 496, 223, 193, 515,
- 287, 554, 444, 322, 339, 339, 339, 339, 340, 341,
-
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 287, 339, 339, 262, 663, 262, 262, 361, 339,
- 339, 339, 471, 471, 471, 471, 526, 1064, 319, 179,
- 319, 319, 245, 444, 971, 339, 534, 534, 534, 246,
- 245, 362, 504, 504, 504, 504, 248, 246, 664, 444,
- 245, 245, 340, 341, 248, 1063, 245, 246, 246, 339,
- 339, 366, 367, 246, 248, 248, 287, 245, 287, 245,
- 248, 552, 552, 552, 246, 379, 246, 375, 375, 375,
- 375, 248, 338, 248, 338, 338, 509, 380, 381, 1062,
- 505, 972, 382, 850, 383, 340, 341, 384, 507, 508,
-
- 506, 380, 245, 668, 381, 276, 277, 278, 276, 246,
- 608, 512, 383, 340, 341, 609, 248, 510, 340, 343,
- 384, 365, 365, 366, 367, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 669, 365, 365, 276,
- 277, 278, 276, 387, 365, 365, 365, 340, 347, 1061,
- 511, 519, 519, 519, 519, 518, 344, 1013, 246, 1052,
- 365, 288, 288, 288, 288, 287, 290, 277, 291, 290,
- 290, 277, 291, 290, 300, 300, 300, 300, 325, 325,
- 325, 325, 340, 341, 365, 365, 365, 365, 366, 367,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 250, 264, 265, 826, 253, 223, 227, 256, 228, 629,
+ 261, 229, 827, 245, 230, 231, 232, 233, 234, 235,
+ 246, 245, 236, 246, 237, 238, 630, 248, 246, 262,
+ 292, 262, 262, 264, 265, 248, 245, 262, 180, 262,
+ 262, 487, 268, 246, 179, 269, 180, 269, 269, 488,
+ 248, 251, 179, 294, 1087, 266, 267, 252, 196, 227,
+ 197, 197, 197, 197, 183, 257, 425, 276, 231, 232,
+ 277, 278, 235, 255, 268, 1094, 345, 346, 238, 280,
+
+ 180, 280, 280, 281, 282, 283, 281, 281, 282, 283,
+ 281, 264, 265, 202, 270, 1086, 202, 184, 202, 426,
+ 271, 272, 273, 274, 466, 275, 467, 202, 202, 202,
+ 285, 292, 285, 202, 285, 285, 196, 286, 197, 197,
+ 197, 197, 295, 282, 296, 295, 1024, 200, 200, 200,
+ 200, 221, 268, 197, 197, 197, 197, 295, 282, 296,
+ 295, 345, 346, 468, 223, 469, 246, 549, 224, 293,
+ 293, 293, 293, 292, 288, 289, 371, 372, 1085, 290,
+ 223, 303, 364, 304, 304, 304, 304, 305, 305, 305,
+ 305, 365, 318, 297, 318, 318, 318, 298, 318, 318,
+
+ 297, 494, 324, 297, 324, 324, 495, 297, 200, 200,
+ 200, 200, 345, 352, 343, 306, 343, 343, 297, 307,
+ 308, 349, 304, 304, 304, 304, 297, 322, 322, 322,
+ 322, 325, 309, 310, 371, 372, 320, 311, 325, 312,
+ 321, 325, 313, 397, 398, 325, 309, 895, 328, 310,
+ 329, 329, 329, 329, 371, 378, 325, 312, 368, 345,
+ 369, 368, 896, 375, 325, 313, 297, 297, 897, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 1084, 297, 297, 330, 330, 330, 330, 316, 297,
+ 297, 297, 633, 221, 634, 322, 322, 322, 322, 368,
+
+ 345, 369, 368, 397, 398, 297, 223, 345, 346, 315,
+ 224, 924, 331, 345, 348, 501, 332, 349, 397, 404,
+ 502, 353, 223, 354, 354, 354, 354, 401, 1083, 297,
+ 297, 297, 297, 503, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 365, 297, 297, 930,
+ 350, 371, 372, 316, 297, 297, 297, 344, 394, 371,
+ 395, 394, 345, 346, 344, 371, 374, 344, 501, 375,
+ 297, 344, 390, 502, 183, 1082, 317, 454, 355, 355,
+ 355, 355, 344, 394, 371, 395, 394, 397, 400, 455,
+ 344, 401, 477, 477, 297, 297, 333, 1081, 329, 329,
+
+ 329, 329, 376, 480, 480, 480, 356, 184, 334, 335,
+ 357, 397, 398, 336, 443, 337, 443, 443, 338, 980,
+ 371, 372, 334, 365, 402, 335, 420, 397, 421, 420,
+ 485, 486, 416, 337, 379, 1080, 380, 380, 380, 380,
+ 529, 338, 325, 325, 325, 325, 325, 325, 530, 325,
+ 325, 325, 325, 325, 325, 325, 325, 1079, 325, 325,
+ 420, 397, 421, 420, 341, 325, 325, 325, 397, 398,
+ 428, 300, 429, 429, 429, 429, 504, 505, 371, 372,
+ 391, 325, 405, 932, 406, 406, 406, 406, 443, 423,
+ 443, 443, 264, 265, 381, 381, 381, 381, 178, 1020,
+
+ 178, 178, 264, 265, 301, 325, 325, 325, 325, 325,
+ 325, 325, 325, 179, 325, 325, 325, 325, 325, 325,
+ 325, 325, 382, 325, 325, 1078, 383, 425, 370, 341,
+ 325, 325, 325, 489, 396, 370, 246, 490, 370, 397,
+ 398, 396, 370, 292, 396, 315, 325, 444, 396, 444,
+ 444, 491, 342, 370, 292, 407, 407, 407, 407, 396,
+ 426, 370, 445, 445, 445, 445, 1077, 396, 264, 265,
+ 325, 325, 345, 346, 430, 430, 430, 430, 446, 446,
+ 446, 446, 925, 408, 264, 265, 358, 409, 354, 354,
+ 354, 354, 447, 447, 447, 447, 668, 422, 359, 360,
+
+ 485, 521, 431, 361, 422, 362, 432, 422, 363, 536,
+ 536, 422, 359, 1076, 245, 360, 448, 448, 448, 448,
+ 1075, 246, 422, 362, 200, 200, 200, 200, 248, 669,
+ 422, 363, 344, 344, 345, 346, 344, 344, 344, 344,
+ 344, 344, 344, 344, 344, 344, 344, 673, 344, 344,
+ 269, 245, 269, 269, 366, 344, 344, 344, 246, 221,
+ 292, 197, 197, 197, 197, 248, 200, 200, 200, 200,
+ 461, 344, 223, 1074, 462, 245, 224, 449, 463, 478,
+ 674, 478, 246, 976, 479, 479, 479, 479, 223, 248,
+ 539, 539, 539, 449, 1019, 344, 344, 344, 344, 345,
+
+ 346, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 344, 344, 292, 344, 344, 264, 265, 512, 513, 366,
+ 344, 344, 344, 476, 476, 476, 476, 461, 554, 554,
+ 246, 462, 1073, 245, 449, 520, 344, 292, 345, 346,
+ 246, 245, 367, 509, 509, 509, 509, 248, 246, 541,
+ 449, 245, 245, 417, 542, 248, 934, 245, 246, 246,
+ 344, 344, 371, 372, 246, 248, 248, 1072, 245, 501,
+ 245, 248, 518, 531, 559, 246, 384, 246, 380, 380,
+ 380, 380, 248, 280, 248, 280, 280, 514, 385, 386,
+ 340, 510, 928, 387, 262, 388, 262, 262, 389, 345,
+
+ 346, 511, 385, 345, 346, 386, 1071, 515, 318, 179,
+ 318, 318, 517, 388, 345, 348, 516, 281, 282, 283,
+ 281, 389, 370, 370, 371, 372, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 1070, 370, 370,
+ 281, 282, 283, 281, 392, 370, 370, 370, 524, 524,
+ 524, 524, 523, 246, 345, 346, 293, 293, 293, 293,
+ 292, 370, 295, 282, 296, 295, 295, 282, 296, 295,
+ 305, 305, 305, 305, 537, 324, 537, 324, 324, 538,
+ 538, 538, 538, 371, 372, 370, 370, 370, 370, 371,
+ 372, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+
+ 370, 370, 1069, 370, 370, 330, 330, 330, 330, 392,
+ 370, 370, 370, 1018, 308, 1057, 304, 304, 304, 304,
+ 371, 372, 305, 305, 305, 305, 370, 310, 557, 557,
+ 557, 311, 393, 532, 535, 535, 535, 535, 325, 345,
+ 352, 613, 193, 310, 1068, 532, 614, 327, 349, 532,
+ 370, 370, 397, 398, 343, 292, 343, 343, 345, 352,
+ 221, 532, 322, 322, 322, 322, 410, 349, 406, 406,
+ 406, 406, 1067, 223, 371, 372, 292, 224, 411, 412,
+ 345, 346, 854, 413, 1066, 414, 345, 346, 415, 223,
+ 981, 555, 411, 555, 365, 412, 556, 556, 556, 556,
+
+ 709, 345, 348, 414, 710, 349, 368, 345, 369, 368,
+ 1065, 415, 396, 396, 397, 398, 396, 396, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 563, 396, 396,
+ 371, 374, 292, 564, 418, 396, 396, 396, 350, 333,
+ 292, 329, 329, 329, 329, 974, 330, 330, 330, 330,
+ 315, 396, 335, 345, 346, 977, 336, 550, 345, 348,
+ 371, 372, 349, 368, 345, 369, 368, 855, 335, 355,
+ 355, 355, 355, 550, 1064, 396, 396, 396, 396, 397,
+ 398, 396, 396, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 1063, 396, 396, 350, 345, 346, 879, 418,
+
+ 396, 396, 396, 553, 553, 553, 553, 345, 346, 371,
+ 378, 880, 566, 566, 550, 982, 396, 881, 375, 391,
+ 345, 346, 419, 355, 355, 355, 355, 696, 371, 374,
+ 550, 567, 375, 567, 562, 1031, 568, 568, 568, 568,
+ 396, 396, 433, 700, 429, 429, 429, 429, 371, 374,
+ 562, 1023, 375, 975, 434, 435, 345, 346, 315, 436,
+ 697, 437, 371, 372, 438, 376, 345, 346, 434, 1025,
+ 571, 435, 569, 569, 569, 572, 701, 371, 378, 437,
+ 397, 398, 1021, 371, 372, 376, 375, 438, 422, 422,
+ 1019, 422, 422, 422, 422, 422, 422, 422, 422, 422,
+
+ 422, 422, 422, 1056, 422, 422, 345, 346, 292, 577,
+ 441, 422, 422, 422, 365, 371, 372, 780, 371, 372,
+ 397, 398, 565, 565, 565, 565, 1055, 422, 371, 372,
+ 578, 580, 580, 562, 381, 381, 381, 381, 926, 371,
+ 372, 397, 398, 585, 381, 381, 381, 381, 586, 562,
+ 781, 422, 422, 422, 422, 576, 422, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 422, 422, 1054, 422,
+ 422, 576, 371, 372, 1053, 441, 422, 422, 422, 394,
+ 371, 395, 394, 1052, 371, 372, 397, 400, 579, 579,
+ 579, 579, 422, 371, 372, 581, 1051, 581, 442, 576,
+
+ 582, 582, 582, 582, 394, 371, 395, 394, 983, 583,
+ 583, 583, 391, 397, 404, 576, 422, 422, 540, 540,
+ 540, 540, 401, 397, 404, 397, 398, 540, 540, 540,
+ 397, 400, 401, 1050, 401, 784, 397, 400, 397, 398,
+ 401, 540, 540, 540, 540, 540, 540, 297, 297, 1049,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 1048, 297, 297, 397, 398, 402, 785, 316,
+ 297, 297, 297, 402, 397, 398, 397, 398, 608, 608,
+ 1047, 407, 407, 407, 407, 591, 297, 595, 1046, 595,
+ 594, 594, 596, 596, 596, 596, 397, 398, 477, 477,
+
+ 599, 420, 397, 421, 420, 600, 420, 397, 421, 420,
+ 297, 297, 297, 297, 1045, 297, 297, 297, 543, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 544, 544,
+ 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
+ 544, 297, 544, 544, 544, 544, 544, 544, 544, 544,
+ 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
+ 544, 544, 544, 544, 544, 297, 297, 297, 297, 1044,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 978, 297, 297, 397, 398, 340, 650, 316,
+
+ 297, 297, 297, 397, 398, 979, 651, 397, 398, 652,
+ 340, 407, 407, 407, 407, 1043, 297, 430, 430, 430,
+ 430, 1042, 590, 597, 597, 597, 536, 536, 430, 430,
+ 430, 430, 611, 611, 611, 545, 264, 265, 590, 604,
+ 297, 297, 558, 558, 558, 558, 443, 1041, 443, 443,
+ 592, 558, 558, 558, 609, 604, 609, 554, 554, 610,
+ 610, 610, 610, 608, 608, 558, 558, 558, 558, 558,
+ 558, 325, 325, 325, 325, 325, 325, 1040, 325, 325,
+ 325, 325, 325, 325, 325, 325, 1018, 325, 325, 397,
+ 398, 1039, 683, 341, 325, 325, 325, 246, 433, 1038,
+
+ 429, 429, 429, 429, 292, 593, 593, 593, 593, 1037,
+ 325, 435, 480, 480, 480, 436, 590, 444, 1036, 444,
+ 444, 445, 445, 445, 445, 838, 839, 435, 446, 446,
+ 446, 446, 590, 1035, 325, 325, 325, 325, 325, 325,
+ 325, 325, 507, 325, 325, 325, 325, 325, 325, 325,
+ 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
+ 325, 325, 560, 560, 560, 560, 560, 560, 560, 560,
+ 560, 560, 560, 560, 560, 325, 560, 560, 560, 560,
+ 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
+ 560, 560, 560, 560, 560, 560, 560, 560, 560, 325,
+
+ 325, 325, 325, 325, 325, 325, 325, 1034, 325, 325,
+ 325, 325, 325, 325, 325, 325, 1033, 325, 325, 607,
+ 607, 607, 607, 341, 325, 325, 325, 539, 539, 539,
+ 604, 447, 447, 447, 447, 448, 448, 448, 448, 984,
+ 325, 985, 618, 417, 618, 417, 604, 619, 619, 619,
+ 619, 476, 476, 476, 476, 479, 479, 479, 479, 561,
+ 850, 851, 449, 1032, 325, 325, 345, 346, 479, 479,
+ 479, 479, 245, 1017, 245, 557, 557, 557, 449, 246,
+ 358, 246, 354, 354, 354, 354, 248, 245, 248, 245,
+ 668, 245, 245, 360, 246, 246, 246, 361, 246, 246,
+
+ 245, 248, 292, 248, 1016, 248, 248, 246, 245, 360,
+ 345, 346, 325, 246, 248, 246, 670, 345, 346, 677,
+ 292, 716, 248, 669, 345, 346, 570, 570, 570, 570,
+ 921, 678, 245, 566, 566, 570, 570, 570, 679, 246,
+ 345, 346, 680, 673, 689, 682, 248, 1021, 690, 570,
+ 570, 570, 570, 570, 570, 344, 344, 345, 346, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 1015, 344, 344, 681, 724, 1014, 674, 366, 344, 344,
+ 344, 524, 524, 524, 524, 523, 538, 538, 538, 538,
+ 691, 1013, 691, 315, 344, 692, 692, 692, 692, 538,
+
+ 538, 538, 538, 711, 1012, 711, 345, 726, 712, 712,
+ 712, 712, 556, 556, 556, 556, 345, 346, 344, 344,
+ 344, 344, 345, 346, 344, 344, 573, 344, 344, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 344, 344, 344, 344, 344, 344, 574, 574, 574, 574,
+ 574, 574, 574, 574, 574, 574, 574, 574, 574, 344,
+ 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
+ 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
+ 574, 574, 574, 344, 344, 344, 344, 345, 346, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+
+ 696, 344, 344, 535, 535, 535, 535, 366, 344, 344,
+ 344, 345, 346, 1011, 532, 553, 553, 553, 553, 556,
+ 556, 556, 556, 986, 344, 700, 550, 440, 345, 346,
+ 532, 345, 730, 697, 371, 372, 345, 346, 1010, 721,
+ 727, 721, 550, 575, 722, 722, 722, 722, 344, 344,
+ 371, 372, 565, 565, 565, 565, 345, 346, 701, 723,
+ 611, 611, 611, 562, 384, 1009, 380, 380, 380, 380,
+ 345, 346, 568, 568, 568, 568, 987, 386, 245, 562,
+ 440, 387, 345, 346, 742, 246, 568, 568, 568, 568,
+ 371, 372, 248, 386, 371, 372, 371, 748, 569, 569,
+
+ 569, 739, 1020, 739, 1058, 745, 740, 740, 740, 740,
+ 584, 584, 584, 584, 371, 372, 397, 398, 1008, 584,
+ 584, 584, 345, 726, 371, 372, 727, 780, 345, 732,
+ 580, 580, 733, 584, 584, 584, 584, 584, 584, 370,
+ 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 1026, 370, 370, 371, 372, 728,
+ 781, 392, 370, 370, 370, 734, 760, 345, 732, 371,
+ 372, 1007, 741, 579, 579, 579, 579, 1006, 370, 371,
+ 372, 397, 766, 1005, 576, 582, 582, 582, 582, 1004,
+ 763, 610, 610, 610, 610, 582, 582, 582, 582, 391,
+
+ 576, 1003, 370, 370, 370, 370, 371, 372, 370, 370,
+ 587, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 370, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 588, 588, 588, 588, 370, 370, 370,
+ 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 1002, 370, 370, 371, 372, 397,
+ 398, 392, 370, 370, 370, 1027, 345, 346, 397, 398,
+
+ 573, 397, 398, 583, 583, 583, 371, 744, 370, 784,
+ 745, 1001, 371, 750, 594, 594, 751, 596, 596, 596,
+ 596, 397, 762, 246, 245, 763, 1000, 589, 397, 398,
+ 292, 246, 370, 370, 397, 398, 999, 759, 248, 757,
+ 391, 757, 785, 746, 758, 758, 758, 758, 410, 752,
+ 406, 406, 406, 406, 998, 397, 398, 844, 764, 997,
+ 325, 412, 397, 768, 670, 413, 769, 397, 398, 716,
+ 996, 593, 593, 593, 593, 397, 398, 412, 397, 398,
+ 371, 372, 590, 596, 596, 596, 596, 610, 610, 610,
+ 610, 597, 597, 597, 598, 598, 598, 598, 590, 770,
+
+ 371, 744, 245, 598, 598, 598, 775, 440, 775, 246,
+ 936, 776, 776, 776, 776, 1022, 248, 598, 598, 598,
+ 598, 598, 598, 396, 396, 397, 398, 396, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 995, 396,
+ 396, 607, 607, 607, 607, 418, 396, 396, 396, 371,
+ 372, 837, 604, 619, 619, 619, 619, 619, 619, 619,
+ 619, 340, 396, 692, 692, 692, 692, 994, 604, 692,
+ 692, 692, 692, 712, 712, 712, 712, 712, 712, 712,
+ 712, 371, 750, 397, 398, 993, 396, 396, 396, 396,
+ 397, 398, 396, 396, 601, 396, 396, 396, 396, 396,
+
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 396, 396, 602, 602, 602, 602, 602, 602,
+ 602, 602, 602, 602, 602, 602, 602, 396, 602, 602,
+ 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
+ 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
+ 602, 396, 396, 396, 396, 397, 398, 396, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 992, 396,
+ 396, 988, 245, 245, 968, 418, 396, 396, 396, 246,
+ 246, 245, 345, 346, 397, 762, 248, 248, 246, 246,
+ 345, 346, 396, 345, 346, 248, 292, 967, 722, 722,
+
+ 722, 722, 966, 345, 730, 965, 722, 722, 722, 722,
+ 964, 603, 727, 834, 835, 963, 396, 396, 612, 612,
+ 612, 612, 1022, 845, 1057, 836, 962, 612, 612, 612,
+ 345, 346, 961, 371, 372, 960, 860, 587, 959, 371,
+ 372, 612, 612, 612, 612, 612, 612, 422, 422, 958,
+ 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 422, 1028, 422, 422, 345, 730, 397, 398, 441,
+ 422, 422, 422, 861, 727, 371, 372, 345, 726, 371,
+ 372, 727, 864, 397, 768, 957, 422, 397, 398, 838,
+ 265, 740, 740, 740, 740, 740, 740, 740, 740, 371,
+
+ 748, 345, 346, 758, 758, 758, 758, 417, 745, 956,
+ 422, 422, 422, 422, 728, 422, 422, 422, 615, 422,
+ 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 422, 422, 616, 616,
+ 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
+ 616, 422, 616, 616, 616, 616, 616, 616, 616, 616,
+ 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
+ 616, 616, 616, 616, 616, 422, 422, 422, 422, 955,
+ 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 422, 1029, 422, 422, 371, 372, 371, 748, 441,
+
+ 422, 422, 422, 1023, 397, 398, 745, 397, 398, 345,
+ 726, 345, 732, 727, 954, 733, 422, 345, 732, 371,
+ 744, 733, 953, 745, 371, 744, 371, 750, 745, 1030,
+ 751, 1062, 397, 398, 952, 617, 601, 417, 865, 951,
+ 422, 422, 540, 540, 540, 540, 728, 868, 734, 340,
+ 869, 540, 540, 540, 734, 246, 746, 776, 776, 776,
+ 776, 746, 292, 752, 950, 540, 540, 540, 540, 540,
+ 540, 297, 297, 949, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 948, 297, 297, 947,
+ 397, 398, 922, 703, 297, 297, 297, 776, 776, 776,
+
+ 776, 371, 750, 397, 766, 751, 758, 758, 758, 758,
+ 297, 946, 763, 397, 766, 345, 346, 365, 929, 371,
+ 372, 945, 763, 371, 372, 391, 931, 397, 398, 397,
+ 398, 417, 933, 944, 297, 297, 297, 297, 752, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 315, 297, 297, 315, 315, 315, 315, 316, 297,
+ 297, 297, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 315, 297, 315, 315, 315, 315,
+ 315, 315, 704, 315, 315, 315, 705, 315, 315, 315,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 297,
+
+ 297, 558, 558, 558, 558, 440, 935, 943, 245, 942,
+ 558, 558, 558, 397, 762, 246, 941, 763, 940, 397,
+ 762, 939, 248, 763, 558, 558, 558, 558, 558, 558,
+ 325, 325, 325, 325, 325, 325, 938, 325, 325, 325,
+ 325, 325, 325, 325, 325, 1030, 325, 325, 345, 346,
+ 764, 246, 718, 325, 325, 325, 764, 919, 292, 245,
+ 245, 1019, 937, 989, 397, 768, 246, 246, 769, 325,
+ 371, 372, 246, 248, 248, 971, 990, 971, 971, 292,
+ 850, 972, 991, 971, 920, 971, 971, 345, 346, 1024,
+ 440, 1059, 915, 325, 325, 325, 325, 325, 325, 325,
+
+ 325, 770, 325, 325, 325, 325, 325, 325, 325, 325,
+ 340, 325, 325, 340, 340, 340, 340, 341, 325, 325,
+ 325, 340, 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 325, 340, 340, 340, 340, 340,
+ 340, 719, 340, 340, 340, 720, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 325, 325,
+ 345, 346, 1018, 246, 1019, 914, 245, 913, 245, 912,
+ 292, 397, 398, 246, 911, 246, 570, 570, 570, 570,
+ 248, 910, 248, 245, 245, 570, 570, 570, 397, 768,
+ 246, 246, 769, 973, 1031, 909, 908, 248, 248, 570,
+
+ 570, 570, 570, 570, 570, 344, 344, 345, 346, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 969, 344, 344, 907, 245, 770, 916, 736, 344, 344,
+ 344, 246, 345, 346, 1025, 371, 372, 1027, 248, 440,
+ 906, 371, 372, 1026, 344, 1060, 397, 398, 1028, 905,
+ 1061, 397, 398, 1029, 904, 903, 902, 901, 900, 899,
+ 898, 894, 893, 918, 892, 891, 890, 889, 344, 344,
+ 344, 344, 345, 346, 344, 344, 344, 344, 344, 344,
+ 344, 344, 344, 344, 344, 365, 344, 344, 365, 365,
+ 365, 365, 366, 344, 344, 344, 365, 365, 365, 365,
+
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 344,
+ 365, 365, 365, 365, 365, 365, 737, 365, 365, 365,
+ 738, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 344, 344, 371, 372, 888, 887, 886,
+ 885, 884, 883, 882, 878, 877, 876, 875, 615, 780,
+ 873, 584, 584, 584, 584, 872, 245, 871, 245, 867,
+ 584, 584, 584, 246, 863, 246, 859, 507, 857, 856,
+ 248, 853, 248, 852, 584, 584, 584, 584, 584, 584,
+ 370, 370, 371, 372, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 970, 370, 370, 849, 543,
+
+ 917, 696, 754, 370, 370, 370, 847, 846, 843, 842,
+ 841, 840, 507, 676, 668, 833, 832, 831, 830, 370,
+ 829, 828, 825, 824, 823, 822, 821, 820, 819, 818,
+ 817, 816, 815, 814, 813, 812, 811, 810, 809, 808,
+ 807, 806, 805, 370, 370, 370, 370, 371, 372, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 391, 370, 370, 391, 391, 391, 391, 392, 370, 370,
+ 370, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 370, 391, 391, 391, 391, 391,
+ 391, 755, 391, 391, 391, 756, 391, 391, 391, 391,
+
+ 391, 391, 391, 391, 391, 391, 391, 391, 370, 370,
+ 397, 398, 804, 803, 802, 801, 800, 799, 798, 797,
+ 796, 795, 794, 793, 792, 791, 598, 598, 598, 598,
+ 790, 780, 778, 777, 714, 598, 598, 598, 713, 708,
+ 707, 706, 696, 694, 693, 688, 687, 686, 685, 598,
+ 598, 598, 598, 598, 598, 396, 396, 397, 398, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
+ 523, 396, 396, 650, 633, 629, 676, 772, 396, 396,
+ 396, 671, 668, 666, 665, 664, 663, 662, 661, 660,
+ 659, 658, 657, 656, 396, 655, 654, 653, 649, 648,
+
+ 647, 646, 645, 644, 643, 642, 641, 640, 639, 638,
+ 637, 636, 635, 632, 631, 628, 627, 626, 396, 396,
+ 396, 396, 397, 398, 396, 396, 396, 396, 396, 396,
+ 396, 396, 396, 396, 396, 417, 396, 396, 417, 417,
+ 417, 417, 418, 396, 396, 396, 417, 417, 417, 417,
+ 417, 417, 417, 417, 417, 417, 417, 417, 417, 396,
+ 417, 417, 417, 417, 417, 417, 773, 417, 417, 417,
+ 774, 417, 417, 417, 417, 417, 417, 417, 417, 417,
+ 417, 417, 417, 396, 396, 612, 612, 612, 612, 625,
+ 624, 623, 622, 621, 612, 612, 612, 620, 606, 605,
+
+ 425, 552, 551, 548, 547, 546, 534, 533, 612, 612,
+ 612, 612, 612, 612, 422, 422, 300, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 422, 422, 422, 507,
+ 422, 422, 528, 527, 523, 495, 787, 422, 422, 422,
+ 493, 469, 466, 464, 519, 455, 507, 292, 506, 500,
+ 499, 496, 484, 422, 483, 482, 475, 474, 473, 470,
+ 460, 457, 456, 453, 452, 451, 183, 439, 425, 423,
+ 339, 292, 319, 314, 300, 298, 279, 422, 422, 422,
+ 422, 183, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 422, 422, 422, 440, 422, 422, 440, 440, 440,
+
+ 440, 441, 422, 422, 422, 440, 440, 440, 440, 440,
+ 440, 440, 440, 440, 440, 440, 440, 440, 422, 440,
+ 440, 440, 440, 440, 440, 788, 440, 440, 440, 789,
+ 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
+ 440, 440, 422, 422, 297, 297, 279, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 183,
+ 297, 297, 190, 181, 1094, 1094, 703, 297, 297, 297,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 297, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 297, 297, 297,
+ 297, 1094, 297, 297, 297, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 315, 297, 297, 315, 315, 315,
+ 315, 316, 297, 297, 297, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 315, 315, 315, 315, 297, 315,
+ 315, 315, 315, 315, 315, 315, 315, 315, 848, 315,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 297, 297, 325, 325, 325, 325, 325, 325,
+ 1094, 325, 325, 325, 325, 325, 325, 325, 325, 1094,
+ 325, 325, 1094, 1094, 1094, 1094, 718, 325, 325, 325,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 325, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 325, 325, 325,
+ 325, 325, 325, 325, 325, 1094, 325, 325, 325, 325,
+ 325, 325, 325, 325, 340, 325, 325, 340, 340, 340,
+ 340, 341, 325, 325, 325, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 325, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 858, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
+
+ 340, 340, 325, 325, 344, 344, 345, 346, 344, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 1094,
+ 344, 344, 1094, 1094, 1094, 1094, 736, 344, 344, 344,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 344, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 344, 344, 344,
+ 344, 345, 346, 344, 344, 344, 344, 344, 344, 344,
+ 344, 344, 344, 344, 365, 344, 344, 365, 365, 365,
+ 365, 366, 344, 344, 344, 365, 365, 365, 365, 365,
- 365, 412, 365, 365, 929, 340, 347, 969, 387, 365,
- 365, 365, 310, 303, 344, 299, 299, 299, 299, 340,
- 341, 300, 300, 300, 300, 365, 305, 340, 341, 558,
- 306, 388, 527, 530, 530, 530, 530, 340, 341, 340,
- 343, 287, 305, 344, 527, 366, 367, 1060, 527, 365,
- 365, 392, 393, 561, 561, 976, 532, 1016, 532, 360,
- 527, 533, 533, 533, 533, 405, 559, 401, 401, 401,
- 401, 921, 325, 325, 325, 325, 345, 406, 407, 366,
- 367, 1059, 408, 545, 409, 366, 367, 410, 366, 369,
- 550, 406, 550, 691, 407, 551, 551, 551, 551, 545,
-
- 340, 343, 409, 310, 344, 363, 340, 364, 363, 1020,
- 410, 391, 391, 392, 393, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 692, 391, 391, 363,
- 340, 364, 363, 413, 391, 391, 391, 345, 221, 695,
- 317, 317, 317, 317, 328, 1058, 324, 324, 324, 324,
- 391, 223, 340, 341, 360, 224, 1026, 330, 775, 366,
- 369, 331, 977, 370, 366, 367, 386, 223, 350, 350,
- 350, 350, 696, 330, 391, 391, 391, 391, 392, 393,
- 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 776, 391, 391, 340, 341, 371, 1021, 413, 391,
-
- 391, 391, 548, 548, 548, 548, 340, 341, 366, 373,
- 564, 564, 564, 545, 978, 391, 1014, 370, 386, 340,
- 341, 414, 350, 350, 350, 350, 779, 366, 369, 545,
- 562, 370, 562, 557, 287, 563, 563, 563, 563, 391,
- 391, 428, 386, 424, 424, 424, 424, 340, 341, 557,
- 970, 566, 663, 429, 430, 310, 567, 1018, 431, 780,
- 432, 366, 367, 433, 371, 366, 373, 429, 366, 367,
- 430, 366, 367, 1016, 370, 580, 392, 393, 432, 1017,
- 581, 389, 366, 390, 389, 664, 433, 417, 417, 1014,
- 417, 417, 417, 417, 417, 417, 417, 417, 417, 417,
-
- 417, 417, 973, 417, 417, 340, 341, 335, 572, 436,
- 417, 417, 417, 366, 367, 573, 668, 366, 367, 392,
- 393, 560, 560, 560, 560, 335, 417, 366, 367, 575,
- 575, 1051, 557, 376, 376, 376, 376, 389, 366, 390,
- 389, 392, 393, 376, 376, 376, 376, 1050, 557, 669,
- 417, 417, 417, 417, 571, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 1018, 417, 417,
- 571, 366, 367, 1049, 436, 417, 417, 417, 392, 395,
- 392, 393, 1048, 366, 367, 392, 393, 574, 574, 574,
- 574, 417, 366, 367, 576, 1047, 576, 437, 571, 577,
-
- 577, 577, 577, 392, 399, 603, 603, 979, 578, 578,
- 578, 412, 396, 335, 571, 417, 417, 535, 535, 535,
- 535, 1046, 392, 399, 472, 472, 535, 535, 535, 392,
- 395, 396, 586, 396, 691, 392, 395, 392, 393, 396,
- 535, 535, 535, 535, 535, 535, 292, 292, 1045, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 1044, 292, 292, 392, 393, 397, 692, 311, 292,
- 292, 292, 397, 392, 393, 392, 393, 606, 606, 606,
- 402, 402, 402, 402, 587, 292, 590, 1043, 590, 589,
- 589, 591, 591, 591, 591, 392, 393, 531, 531, 594,
-
- 415, 392, 416, 415, 595, 415, 392, 416, 415, 292,
- 292, 292, 292, 1042, 292, 292, 292, 538, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 539, 539, 539,
- 539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
- 292, 539, 539, 539, 539, 539, 539, 539, 539, 539,
- 539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
- 539, 539, 539, 539, 292, 292, 292, 292, 1041, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 974, 292, 292, 392, 393, 335, 645, 311, 292,
-
- 292, 292, 392, 393, 1040, 646, 392, 393, 647, 1022,
- 402, 402, 402, 402, 438, 292, 438, 438, 592, 592,
- 592, 585, 588, 588, 588, 588, 425, 425, 425, 425,
- 475, 475, 475, 585, 540, 549, 549, 585, 1039, 292,
- 292, 553, 553, 553, 553, 439, 1038, 439, 439, 585,
- 553, 553, 553, 604, 386, 604, 603, 603, 605, 605,
- 605, 605, 833, 834, 553, 553, 553, 553, 553, 553,
- 320, 320, 320, 320, 320, 320, 1037, 320, 320, 320,
- 320, 320, 320, 320, 320, 1013, 320, 320, 440, 440,
- 440, 440, 336, 320, 320, 320, 246, 428, 1036, 424,
-
- 424, 424, 424, 287, 425, 425, 425, 425, 1035, 320,
- 430, 534, 534, 534, 431, 599, 441, 441, 441, 441,
- 442, 442, 442, 442, 845, 846, 430, 443, 443, 443,
- 443, 599, 1034, 320, 320, 320, 320, 320, 320, 320,
- 320, 502, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
- 320, 555, 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 320, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
- 555, 555, 555, 555, 555, 555, 555, 555, 320, 320,
-
- 320, 320, 320, 320, 320, 320, 1033, 320, 320, 320,
- 320, 320, 320, 320, 320, 1032, 320, 320, 602, 602,
- 602, 602, 336, 320, 320, 320, 613, 287, 613, 599,
- 1031, 614, 614, 614, 614, 471, 471, 471, 471, 320,
- 474, 474, 474, 474, 1030, 599, 444, 474, 474, 474,
- 474, 704, 1029, 245, 245, 705, 695, 1015, 556, 1053,
- 246, 246, 444, 320, 320, 340, 341, 248, 248, 340,
- 341, 245, 1028, 245, 533, 533, 533, 533, 246, 353,
- 246, 349, 349, 349, 349, 248, 245, 248, 245, 696,
- 245, 245, 355, 246, 1027, 246, 356, 246, 246, 672,
-
- 248, 1012, 248, 320, 248, 248, 245, 665, 355, 340,
- 341, 246, 711, 246, 775, 673, 435, 718, 287, 931,
- 248, 533, 533, 533, 533, 565, 565, 565, 565, 674,
- 1017, 676, 1052, 675, 565, 565, 565, 519, 519, 519,
- 519, 518, 684, 677, 366, 367, 685, 776, 565, 565,
- 565, 565, 565, 565, 339, 339, 340, 341, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 890,
- 339, 339, 530, 530, 530, 530, 361, 339, 339, 339,
- 686, 1011, 686, 527, 891, 687, 687, 687, 687, 706,
- 892, 706, 736, 339, 707, 707, 707, 707, 1010, 527,
-
- 551, 551, 551, 551, 551, 551, 551, 551, 552, 552,
- 552, 605, 605, 605, 605, 340, 341, 339, 339, 339,
- 339, 340, 341, 339, 339, 568, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 339, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 569,
- 569, 569, 339, 339, 339, 339, 340, 341, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 1009,
-
- 339, 339, 548, 548, 548, 548, 361, 339, 339, 339,
- 340, 341, 1008, 545, 340, 341, 340, 721, 340, 341,
- 722, 340, 341, 339, 980, 716, 1007, 716, 412, 545,
- 717, 717, 717, 717, 560, 560, 560, 560, 340, 341,
- 340, 341, 570, 340, 725, 557, 779, 339, 339, 366,
- 367, 1006, 722, 723, 561, 561, 563, 563, 563, 563,
- 719, 557, 1005, 379, 855, 375, 375, 375, 375, 340,
- 341, 340, 727, 340, 341, 728, 381, 366, 367, 780,
- 382, 366, 367, 366, 367, 563, 563, 563, 563, 564,
- 564, 564, 381, 366, 367, 366, 743, 575, 575, 577,
-
- 577, 577, 577, 981, 740, 366, 367, 435, 729, 579,
- 579, 579, 579, 366, 367, 1004, 392, 393, 579, 579,
- 579, 577, 577, 577, 577, 340, 341, 737, 1003, 578,
- 578, 578, 579, 579, 579, 579, 579, 579, 365, 365,
- 366, 367, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 1002, 365, 365, 366, 367, 340, 721,
- 387, 365, 365, 365, 754, 392, 393, 734, 856, 734,
- 392, 393, 735, 735, 735, 735, 752, 365, 752, 392,
- 393, 753, 753, 753, 753, 1001, 589, 589, 340, 341,
- 392, 761, 606, 606, 606, 591, 591, 591, 591, 758,
-
- 1000, 365, 365, 365, 365, 366, 367, 365, 365, 582,
+ 365, 365, 365, 365, 365, 365, 365, 365, 344, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 862, 365,
365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 583,
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 365, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 583, 583, 583, 583, 365, 365, 365, 365,
- 366, 367, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 1014, 365, 365, 366, 367, 392, 393,
- 387, 365, 365, 365, 246, 602, 602, 602, 602, 340,
-
- 727, 287, 574, 574, 574, 574, 599, 365, 366, 739,
- 340, 725, 740, 571, 246, 999, 366, 745, 998, 722,
- 746, 287, 599, 245, 392, 757, 584, 997, 758, 571,
- 246, 365, 365, 392, 393, 340, 725, 248, 755, 392,
- 393, 996, 392, 763, 722, 741, 764, 405, 840, 401,
- 401, 401, 401, 747, 995, 588, 588, 588, 588, 994,
- 407, 759, 366, 367, 408, 320, 585, 392, 393, 665,
- 993, 392, 393, 1025, 711, 1057, 407, 392, 393, 765,
- 366, 739, 585, 591, 591, 591, 591, 592, 592, 592,
- 366, 367, 1023, 593, 593, 593, 593, 605, 605, 605,
-
- 605, 245, 593, 593, 593, 770, 992, 770, 246, 991,
- 771, 771, 771, 771, 990, 248, 593, 593, 593, 593,
- 593, 593, 391, 391, 392, 393, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 412, 391, 391,
- 614, 614, 614, 614, 413, 391, 391, 391, 614, 614,
- 614, 614, 687, 687, 687, 687, 687, 687, 687, 687,
- 989, 391, 707, 707, 707, 707, 707, 707, 707, 707,
- 340, 341, 366, 743, 568, 366, 743, 366, 745, 366,
- 367, 740, 988, 582, 740, 391, 391, 391, 391, 392,
- 393, 391, 391, 596, 391, 391, 391, 391, 391, 391,
-
+ 365, 365, 344, 344, 370, 370, 371, 372, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 1094,
+ 370, 370, 1094, 1094, 1094, 1094, 754, 370, 370, 370,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 370, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 370, 370, 370,
+
+ 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 391, 370, 370, 391, 391, 391,
+ 391, 392, 370, 370, 370, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 370, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 866, 391,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 391, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597, 597, 597,
- 391, 391, 391, 391, 392, 393, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 987, 391, 391,
- 983, 245, 245, 963, 413, 391, 391, 391, 246, 246,
- 245, 245, 340, 341, 962, 248, 248, 246, 246, 340,
- 341, 391, 340, 721, 248, 248, 722, 246, 717, 717,
-
- 717, 717, 392, 393, 287, 717, 717, 717, 717, 961,
- 598, 960, 829, 830, 959, 391, 391, 607, 607, 607,
- 607, 366, 367, 958, 831, 957, 607, 607, 607, 723,
- 832, 956, 366, 367, 917, 340, 721, 392, 757, 722,
- 607, 607, 607, 607, 607, 607, 417, 417, 874, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 875, 417, 417, 859, 366, 367, 876, 436, 417,
- 417, 417, 723, 366, 367, 860, 340, 727, 392, 393,
- 728, 735, 735, 735, 735, 417, 392, 393, 955, 735,
- 735, 735, 735, 954, 753, 753, 753, 753, 392, 761,
-
- 392, 393, 753, 753, 753, 753, 953, 758, 952, 417,
- 417, 417, 417, 729, 417, 417, 417, 610, 417, 417,
+ 391, 391, 370, 370, 396, 396, 397, 398, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 1094,
+ 396, 396, 1094, 1094, 1094, 1094, 772, 396, 396, 396,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 396, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 396, 396, 396,
+ 396, 397, 398, 396, 396, 396, 396, 396, 396, 396,
+ 396, 396, 396, 396, 417, 396, 396, 417, 417, 417,
+ 417, 418, 396, 396, 396, 417, 417, 417, 417, 417,
+ 417, 417, 417, 417, 417, 417, 417, 417, 396, 417,
+ 417, 417, 417, 417, 417, 417, 417, 417, 870, 417,
417, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 417, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 417, 417, 417, 417, 951, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 1024, 417, 417, 392, 393, 392, 761, 436, 417,
+ 417, 417, 396, 396, 422, 422, 1094, 422, 422, 422,
- 417, 417, 950, 392, 393, 758, 392, 763, 340, 727,
- 366, 739, 728, 949, 740, 417, 366, 739, 366, 745,
- 740, 948, 746, 366, 745, 392, 757, 746, 947, 758,
- 946, 392, 393, 945, 612, 596, 412, 863, 944, 417,
- 417, 535, 535, 535, 535, 729, 864, 741, 340, 341,
- 535, 535, 535, 741, 1025, 747, 771, 771, 771, 771,
- 747, 943, 759, 942, 535, 535, 535, 535, 535, 535,
- 292, 292, 941, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 1026, 292, 292, 771, 771,
- 771, 771, 698, 292, 292, 292, 246, 340, 341, 435,
-
- 392, 757, 940, 287, 758, 360, 924, 366, 367, 292,
- 366, 367, 386, 926, 392, 393, 392, 393, 412, 928,
- 435, 930, 966, 982, 966, 966, 966, 435, 966, 966,
- 435, 916, 939, 292, 292, 292, 292, 759, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 310, 292, 292, 310, 310, 310, 310, 311, 292, 292,
- 292, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 292, 310, 310, 310, 310, 310,
- 310, 699, 310, 310, 310, 700, 310, 310, 310, 310,
- 310, 310, 310, 310, 310, 310, 310, 310, 292, 292,
-
- 553, 553, 553, 553, 340, 341, 1019, 245, 1054, 553,
- 553, 553, 392, 763, 246, 938, 764, 937, 392, 763,
- 936, 248, 764, 553, 553, 553, 553, 553, 553, 320,
- 320, 320, 320, 320, 320, 935, 320, 320, 320, 320,
- 320, 320, 320, 320, 934, 320, 320, 340, 341, 765,
- 245, 713, 320, 320, 320, 765, 914, 246, 245, 245,
- 245, 933, 984, 932, 248, 246, 246, 246, 320, 340,
- 341, 1020, 248, 248, 248, 985, 366, 367, 1021, 845,
- 1055, 986, 366, 367, 1022, 915, 392, 393, 1023, 913,
- 1056, 833, 320, 320, 320, 320, 320, 320, 320, 320,
-
- 911, 320, 320, 320, 320, 320, 320, 320, 320, 335,
- 320, 320, 335, 335, 335, 335, 336, 320, 320, 320,
- 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 320, 335, 335, 335, 335, 335, 335,
- 714, 335, 335, 335, 715, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 320, 320, 340,
- 341, 246, 246, 1013, 392, 393, 1024, 245, 287, 287,
- 366, 367, 392, 393, 246, 565, 565, 565, 565, 1014,
- 245, 248, 245, 245, 565, 565, 565, 246, 910, 246,
- 246, 967, 968, 909, 248, 908, 248, 248, 565, 565,
-
- 565, 565, 565, 565, 339, 339, 340, 341, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 339, 964,
- 339, 339, 907, 245, 912, 906, 731, 339, 339, 339,
- 246, 905, 904, 903, 902, 901, 900, 248, 899, 898,
- 897, 896, 895, 339, 894, 893, 889, 888, 887, 886,
- 885, 884, 883, 882, 881, 880, 879, 878, 877, 873,
- 965, 872, 871, 870, 610, 775, 868, 339, 339, 339,
- 339, 340, 341, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 360, 339, 339, 360, 360, 360,
- 360, 361, 339, 339, 339, 360, 360, 360, 360, 360,
-
- 360, 360, 360, 360, 360, 360, 360, 360, 339, 360,
- 360, 360, 360, 360, 360, 732, 360, 360, 360, 733,
- 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
- 360, 360, 339, 339, 366, 367, 867, 866, 862, 858,
- 854, 502, 852, 851, 848, 847, 844, 538, 691, 842,
- 579, 579, 579, 579, 841, 838, 837, 836, 835, 579,
- 579, 579, 502, 671, 663, 828, 827, 826, 825, 824,
- 823, 820, 819, 579, 579, 579, 579, 579, 579, 365,
- 365, 366, 367, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 818, 365, 365, 817, 816, 815,
-
- 814, 749, 365, 365, 365, 813, 812, 811, 810, 809,
- 808, 807, 806, 805, 804, 803, 802, 801, 365, 800,
- 799, 798, 797, 796, 795, 794, 793, 792, 791, 790,
- 789, 788, 787, 786, 785, 775, 773, 772, 709, 708,
- 703, 702, 365, 365, 365, 365, 366, 367, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 386,
- 365, 365, 386, 386, 386, 386, 387, 365, 365, 365,
- 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
- 386, 386, 386, 365, 386, 386, 386, 386, 386, 386,
- 750, 386, 386, 386, 751, 386, 386, 386, 386, 386,
-
- 386, 386, 386, 386, 386, 386, 386, 365, 365, 392,
- 393, 701, 691, 689, 688, 683, 682, 681, 680, 518,
- 645, 628, 624, 678, 671, 593, 593, 593, 593, 666,
- 663, 661, 660, 659, 593, 593, 593, 658, 657, 656,
- 655, 654, 653, 652, 651, 650, 649, 648, 593, 593,
- 593, 593, 593, 593, 391, 391, 392, 393, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 391, 644,
- 391, 391, 643, 642, 641, 640, 767, 391, 391, 391,
- 639, 638, 637, 636, 635, 634, 633, 632, 631, 630,
- 627, 626, 623, 391, 622, 621, 620, 619, 618, 617,
-
- 616, 615, 601, 600, 420, 547, 546, 543, 542, 541,
- 529, 528, 295, 502, 523, 522, 518, 391, 391, 391,
- 391, 392, 393, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 412, 391, 391, 412, 412, 412,
- 412, 413, 391, 391, 391, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 391, 412,
- 412, 412, 412, 412, 412, 768, 412, 412, 412, 769,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 391, 391, 607, 607, 607, 607, 490, 488,
- 464, 461, 459, 607, 607, 607, 514, 450, 513, 502,
-
- 287, 501, 495, 494, 491, 479, 478, 607, 607, 607,
- 607, 607, 607, 417, 417, 477, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 470, 417,
- 417, 469, 468, 465, 455, 782, 417, 417, 417, 452,
- 451, 448, 447, 446, 183, 434, 420, 418, 334, 287,
- 314, 309, 417, 295, 293, 263, 274, 183, 263, 274,
- 183, 190, 181, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 417, 417, 417, 417,
- 1089, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 435, 417, 417, 435, 435, 435, 435,
-
- 436, 417, 417, 417, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 417, 435, 435,
- 435, 435, 435, 435, 783, 435, 435, 435, 784, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 417, 417, 292, 292, 1089, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 1089, 292,
- 292, 1089, 1089, 1089, 1089, 698, 292, 292, 292, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 292, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089, 292, 292, 292, 292,
- 1089, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 292, 310, 292, 292, 310, 310, 310, 310,
- 311, 292, 292, 292, 310, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 310, 310, 310, 292, 310, 310,
- 310, 310, 310, 310, 310, 310, 310, 843, 310, 310,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 292, 292, 320, 320, 320, 320, 320, 320, 1089,
- 320, 320, 320, 320, 320, 320, 320, 320, 1089, 320,
- 320, 1089, 1089, 1089, 1089, 713, 320, 320, 320, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 320, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 320, 320, 320, 320,
- 320, 320, 320, 320, 1089, 320, 320, 320, 320, 320,
- 320, 320, 320, 335, 320, 320, 335, 335, 335, 335,
- 336, 320, 320, 320, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 320, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 853, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
-
- 335, 320, 320, 339, 339, 340, 341, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 1089, 339,
- 339, 1089, 1089, 1089, 1089, 731, 339, 339, 339, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 339, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 339, 339, 339, 339,
- 340, 341, 339, 339, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 360, 339, 339, 360, 360, 360, 360,
- 361, 339, 339, 339, 360, 360, 360, 360, 360, 360,
-
- 360, 360, 360, 360, 360, 360, 360, 339, 360, 360,
- 360, 360, 360, 360, 360, 360, 360, 857, 360, 360,
- 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
- 360, 339, 339, 365, 365, 366, 367, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 1089, 365,
- 365, 1089, 1089, 1089, 1089, 749, 365, 365, 365, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 365, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 365, 365, 365, 365,
-
- 366, 367, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 386, 365, 365, 386, 386, 386, 386,
- 387, 365, 365, 365, 386, 386, 386, 386, 386, 386,
- 386, 386, 386, 386, 386, 386, 386, 365, 386, 386,
- 386, 386, 386, 386, 386, 386, 386, 861, 386, 386,
- 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
- 386, 365, 365, 391, 391, 392, 393, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 1089, 391,
- 391, 1089, 1089, 1089, 1089, 767, 391, 391, 391, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 391, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 391, 391, 391, 391,
- 392, 393, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 412, 391, 391, 412, 412, 412, 412,
- 413, 391, 391, 391, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 391, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 865, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 391, 391, 417, 417, 1089, 417, 417, 417, 417,
-
- 417, 417, 417, 417, 417, 417, 417, 417, 1089, 417,
- 417, 1089, 1089, 1089, 1089, 782, 417, 417, 417, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 417, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 417, 417, 417, 417,
- 1089, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 435, 417, 417, 435, 435, 435, 435,
- 436, 417, 417, 417, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 417, 435, 435,
-
- 435, 435, 435, 435, 435, 435, 435, 869, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 417, 417, 292, 292, 1089, 292, 292, 292, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 310, 292,
- 292, 310, 310, 310, 310, 311, 292, 292, 292, 310,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 292, 310, 310, 310, 310, 310, 310, 310,
- 310, 310, 310, 918, 310, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 310, 310, 292, 292, 320, 320,
- 320, 320, 320, 320, 1089, 320, 320, 320, 320, 320,
-
- 320, 320, 320, 335, 320, 320, 335, 335, 335, 335,
- 336, 320, 320, 320, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 320, 335, 335,
- 335, 335, 335, 335, 335, 335, 335, 335, 922, 335,
- 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
- 335, 320, 320, 182, 1089, 182, 182, 182, 182, 182,
- 182, 182, 182, 182, 185, 1089, 1089, 185, 185, 193,
- 1089, 193, 193, 193, 193, 193, 193, 193, 193, 193,
- 247, 247, 247, 247, 247, 247, 247, 247, 279, 279,
- 279, 279, 282, 1089, 282, 1089, 282, 282, 282, 282,
-
- 286, 286, 286, 286, 286, 286, 286, 292, 1089, 292,
- 292, 292, 292, 292, 292, 292, 292, 292, 294, 1089,
- 294, 294, 294, 294, 294, 294, 294, 294, 294, 297,
- 1089, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 310, 1089, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 246, 246, 246, 246, 246, 246, 246, 320, 320,
- 1089, 320, 320, 320, 320, 320, 320, 320, 320, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 335, 335, 1089, 335, 335, 335, 335, 335, 335, 335,
- 335, 339, 339, 339, 339, 339, 339, 339, 339, 339,
-
- 339, 339, 342, 342, 342, 342, 342, 342, 342, 342,
- 342, 342, 342, 346, 346, 346, 346, 346, 346, 346,
- 346, 346, 346, 346, 360, 360, 360, 360, 360, 360,
- 360, 360, 360, 360, 360, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 368, 368, 368, 368,
- 368, 368, 368, 368, 368, 368, 368, 372, 372, 372,
- 372, 372, 372, 372, 372, 372, 372, 372, 386, 386,
- 386, 386, 386, 386, 386, 386, 386, 386, 386, 391,
+ 422, 422, 422, 422, 422, 422, 422, 422, 422, 1094,
+ 422, 422, 1094, 1094, 1094, 1094, 787, 422, 422, 422,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 422, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 422, 422, 422,
+ 422, 1094, 422, 422, 422, 422, 422, 422, 422, 422,
+ 422, 422, 422, 422, 440, 422, 422, 440, 440, 440,
+ 440, 441, 422, 422, 422, 440, 440, 440, 440, 440,
+ 440, 440, 440, 440, 440, 440, 440, 440, 422, 440,
+
+ 440, 440, 440, 440, 440, 440, 440, 440, 874, 440,
+ 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
+ 440, 440, 422, 422, 297, 297, 1094, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 297, 315,
+ 297, 297, 315, 315, 315, 315, 316, 297, 297, 297,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 297, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 923, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 315, 315, 315, 297, 297, 325,
+ 325, 325, 325, 325, 325, 1094, 325, 325, 325, 325,
+
+ 325, 325, 325, 325, 340, 325, 325, 340, 340, 340,
+ 340, 341, 325, 325, 325, 340, 340, 340, 340, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 325, 340,
+ 340, 340, 340, 340, 340, 340, 340, 340, 340, 927,
+ 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
+ 340, 340, 325, 325, 182, 1094, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 185, 1094, 1094, 185, 185,
+ 193, 1094, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 247, 247, 247, 247, 247, 247, 247, 247, 263,
+ 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
+
+ 284, 284, 284, 284, 287, 1094, 287, 1094, 287, 287,
+ 287, 287, 291, 291, 291, 291, 291, 291, 291, 297,
+ 1094, 297, 297, 297, 297, 297, 297, 297, 297, 297,
+ 299, 1094, 299, 299, 299, 299, 299, 299, 299, 299,
+ 299, 302, 1094, 302, 302, 302, 302, 302, 302, 302,
+ 302, 302, 315, 1094, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 246, 246, 246, 246, 246, 246, 246,
+ 325, 325, 1094, 325, 325, 325, 325, 325, 325, 325,
+ 325, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ 326, 326, 340, 340, 1094, 340, 340, 340, 340, 340,
+
+ 340, 340, 340, 344, 344, 344, 344, 344, 344, 344,
+ 344, 344, 344, 344, 347, 347, 347, 347, 347, 347,
+ 347, 347, 347, 347, 347, 351, 351, 351, 351, 351,
+ 351, 351, 351, 351, 351, 351, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 377,
+ 377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
-
- 394, 398, 398, 398, 398, 398, 398, 398, 398, 398,
- 398, 398, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 417, 1089, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 419, 1089, 419, 419, 419, 419,
- 419, 419, 419, 419, 419, 422, 1089, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 435, 1089, 435, 435,
- 435, 435, 435, 435, 435, 435, 435, 185, 1089, 1089,
- 185, 185, 193, 1089, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 445, 1089, 1089, 445, 445, 445, 476,
- 1089, 1089, 476, 246, 246, 246, 246, 246, 246, 246,
-
- 247, 247, 247, 247, 247, 247, 247, 247, 503, 1089,
- 1089, 1089, 1089, 503, 503, 503, 503, 517, 517, 517,
- 517, 517, 517, 520, 520, 520, 520, 521, 1089, 521,
- 521, 521, 521, 286, 286, 286, 286, 286, 286, 286,
- 292, 1089, 292, 292, 292, 292, 292, 292, 292, 292,
- 292, 294, 1089, 294, 294, 294, 294, 294, 294, 294,
- 294, 294, 297, 1089, 297, 297, 297, 297, 297, 297,
- 297, 297, 297, 310, 1089, 310, 310, 310, 310, 310,
- 310, 310, 310, 310, 320, 320, 1089, 320, 320, 320,
- 320, 320, 320, 320, 320, 321, 321, 321, 321, 321,
-
- 321, 321, 321, 321, 321, 321, 335, 335, 1089, 335,
- 335, 335, 335, 335, 335, 335, 335, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 339, 342, 342,
- 342, 342, 342, 342, 342, 342, 342, 342, 342, 346,
- 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
- 360, 360, 360, 360, 360, 360, 360, 360, 360, 360,
- 360, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 368, 368, 368, 368, 368, 368, 368, 368,
- 368, 368, 368, 372, 372, 372, 372, 372, 372, 372,
- 372, 372, 372, 372, 386, 386, 386, 386, 386, 386,
-
- 386, 386, 386, 386, 386, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 394, 394, 394, 394,
- 394, 394, 394, 394, 394, 394, 394, 398, 398, 398,
- 398, 398, 398, 398, 398, 398, 398, 398, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 417,
- 1089, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 419, 1089, 419, 419, 419, 419, 419, 419, 419, 419,
- 419, 422, 1089, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 435, 1089, 435, 435, 435, 435, 435, 435,
- 435, 435, 435, 185, 1089, 1089, 185, 185, 445, 1089,
-
- 1089, 445, 445, 445, 476, 1089, 1089, 476, 662, 1089,
- 662, 662, 662, 662, 662, 662, 662, 662, 662, 665,
- 1089, 665, 665, 665, 665, 665, 665, 665, 665, 665,
- 667, 1089, 667, 667, 667, 667, 667, 667, 667, 667,
- 667, 670, 670, 670, 670, 670, 670, 670, 247, 247,
- 247, 247, 247, 247, 247, 247, 517, 517, 517, 517,
- 517, 517, 679, 1089, 679, 679, 679, 679, 521, 1089,
- 521, 521, 521, 521, 286, 286, 286, 286, 286, 286,
- 286, 292, 1089, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 690, 1089, 690, 690, 690, 690, 690, 690,
-
- 690, 690, 690, 693, 1089, 693, 693, 693, 693, 693,
- 693, 693, 693, 693, 694, 1089, 694, 694, 694, 694,
- 694, 694, 694, 694, 694, 697, 1089, 697, 697, 697,
- 697, 697, 697, 697, 697, 697, 246, 246, 246, 246,
- 246, 246, 246, 320, 320, 1089, 320, 320, 320, 320,
- 320, 320, 320, 320, 710, 710, 710, 710, 710, 710,
- 710, 710, 710, 710, 710, 712, 712, 1089, 712, 712,
- 712, 712, 712, 712, 712, 712, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 339, 339, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 720, 720, 724, 724,
-
- 724, 724, 724, 724, 724, 724, 724, 724, 724, 726,
- 726, 726, 726, 726, 726, 726, 726, 726, 726, 726,
- 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
- 730, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 738, 738, 742, 742, 742, 742, 742, 742, 742,
- 742, 742, 742, 742, 744, 744, 744, 744, 744, 744,
- 744, 744, 744, 744, 744, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 756, 756, 756,
-
- 756, 756, 756, 756, 756, 756, 756, 756, 760, 760,
- 760, 760, 760, 760, 760, 760, 760, 760, 760, 762,
- 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
- 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
- 766, 417, 1089, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 774, 1089, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 777, 1089, 777, 777, 777, 777, 777,
- 777, 777, 777, 777, 778, 1089, 778, 778, 778, 778,
- 778, 778, 778, 778, 778, 781, 1089, 781, 781, 781,
- 781, 781, 781, 781, 781, 781, 445, 1089, 1089, 445,
-
- 445, 445, 662, 1089, 662, 662, 662, 662, 662, 662,
- 662, 662, 662, 665, 1089, 665, 665, 665, 665, 665,
- 665, 665, 665, 665, 667, 1089, 667, 667, 667, 667,
- 667, 667, 667, 667, 667, 670, 670, 670, 670, 670,
- 670, 670, 247, 247, 247, 247, 247, 247, 247, 247,
- 679, 1089, 679, 679, 679, 679, 521, 1089, 521, 521,
- 521, 521, 286, 286, 286, 286, 286, 286, 286, 292,
- 1089, 292, 292, 292, 292, 292, 292, 292, 292, 292,
- 690, 1089, 690, 690, 690, 690, 690, 690, 690, 690,
- 690, 693, 1089, 693, 693, 693, 693, 693, 693, 693,
-
- 693, 693, 694, 1089, 694, 694, 694, 694, 694, 694,
- 694, 694, 694, 697, 1089, 697, 697, 697, 697, 697,
- 697, 697, 697, 697, 246, 246, 246, 246, 246, 246,
- 246, 320, 320, 1089, 320, 320, 320, 320, 320, 320,
- 320, 320, 710, 710, 710, 710, 710, 710, 710, 710,
- 710, 710, 710, 712, 712, 1089, 712, 712, 712, 712,
- 712, 712, 712, 712, 339, 339, 339, 339, 339, 339,
- 339, 339, 339, 339, 339, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 724, 724, 724, 724,
- 724, 724, 724, 724, 724, 724, 724, 726, 726, 726,
-
- 726, 726, 726, 726, 726, 726, 726, 726, 730, 730,
- 730, 730, 730, 730, 730, 730, 730, 730, 730, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 738, 738, 738, 738, 738, 738, 738, 738, 738, 738,
- 738, 742, 742, 742, 742, 742, 742, 742, 742, 742,
- 742, 742, 744, 744, 744, 744, 744, 744, 744, 744,
- 744, 744, 744, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 756, 756, 756, 756, 756,
- 756, 756, 756, 756, 756, 756, 760, 760, 760, 760,
-
- 760, 760, 760, 760, 760, 760, 760, 762, 762, 762,
- 762, 762, 762, 762, 762, 762, 762, 762, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766, 766, 417,
- 1089, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 774, 1089, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 777, 1089, 777, 777, 777, 777, 777, 777, 777,
- 777, 777, 778, 1089, 778, 778, 778, 778, 778, 778,
- 778, 778, 778, 781, 1089, 781, 781, 781, 781, 781,
- 781, 781, 781, 781, 445, 1089, 1089, 445, 445, 445,
- 247, 247, 247, 247, 247, 247, 247, 247, 521, 1089,
-
- 521, 521, 521, 521, 286, 286, 286, 286, 286, 286,
- 286, 292, 1089, 292, 292, 292, 292, 292, 292, 292,
- 292, 292, 246, 246, 246, 246, 246, 246, 246, 320,
- 320, 1089, 320, 320, 320, 320, 320, 320, 320, 320,
- 23, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
+ 391, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 1089, 1089, 1089, 1089, 1089, 1089
+ 396, 396, 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 417, 417, 417, 417, 417, 417,
+ 417, 417, 417, 417, 417, 422, 1094, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 424, 1094, 424, 424,
+ 424, 424, 424, 424, 424, 424, 424, 427, 1094, 427,
+ 427, 427, 427, 427, 427, 427, 427, 427, 440, 1094,
+ 440, 440, 440, 440, 440, 440, 440, 440, 440, 185,
+ 1094, 1094, 185, 185, 193, 1094, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 450, 1094, 1094, 450, 450,
+
+ 450, 481, 1094, 1094, 481, 246, 246, 246, 246, 246,
+ 246, 246, 247, 247, 247, 247, 247, 247, 247, 247,
+ 508, 1094, 1094, 1094, 1094, 508, 508, 508, 508, 263,
+ 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
+ 522, 522, 522, 522, 522, 522, 525, 525, 525, 525,
+ 526, 1094, 526, 526, 526, 526, 291, 291, 291, 291,
+ 291, 291, 291, 297, 1094, 297, 297, 297, 297, 297,
+ 297, 297, 297, 297, 299, 1094, 299, 299, 299, 299,
+ 299, 299, 299, 299, 299, 302, 1094, 302, 302, 302,
+ 302, 302, 302, 302, 302, 302, 315, 1094, 315, 315,
+
+ 315, 315, 315, 315, 315, 315, 315, 325, 325, 1094,
+ 325, 325, 325, 325, 325, 325, 325, 325, 326, 326,
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 340,
+ 340, 1094, 340, 340, 340, 340, 340, 340, 340, 340,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 344, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 347, 351, 351, 351, 351, 351, 351, 351, 351,
+ 351, 351, 351, 365, 365, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 373, 373, 373, 373, 373,
+
+ 373, 373, 373, 373, 373, 373, 377, 377, 377, 377,
+ 377, 377, 377, 377, 377, 377, 377, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 396, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
+ 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 417, 417, 417, 417, 417, 417, 417, 417, 417,
+ 417, 417, 422, 1094, 422, 422, 422, 422, 422, 422,
+ 422, 422, 422, 424, 1094, 424, 424, 424, 424, 424,
+ 424, 424, 424, 424, 427, 1094, 427, 427, 427, 427,
+
+ 427, 427, 427, 427, 427, 440, 1094, 440, 440, 440,
+ 440, 440, 440, 440, 440, 440, 185, 1094, 1094, 185,
+ 185, 450, 1094, 1094, 450, 450, 450, 481, 1094, 1094,
+ 481, 667, 1094, 667, 667, 667, 667, 667, 667, 667,
+ 667, 667, 670, 1094, 670, 670, 670, 670, 670, 670,
+ 670, 670, 670, 672, 1094, 672, 672, 672, 672, 672,
+ 672, 672, 672, 672, 675, 675, 675, 675, 675, 675,
+ 675, 247, 247, 247, 247, 247, 247, 247, 247, 263,
+ 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
+ 522, 522, 522, 522, 522, 522, 684, 1094, 684, 684,
+
+ 684, 684, 526, 1094, 526, 526, 526, 526, 291, 291,
+ 291, 291, 291, 291, 291, 297, 1094, 297, 297, 297,
+ 297, 297, 297, 297, 297, 297, 695, 1094, 695, 695,
+ 695, 695, 695, 695, 695, 695, 695, 698, 1094, 698,
+ 698, 698, 698, 698, 698, 698, 698, 698, 699, 1094,
+ 699, 699, 699, 699, 699, 699, 699, 699, 699, 702,
+ 1094, 702, 702, 702, 702, 702, 702, 702, 702, 702,
+ 246, 246, 246, 246, 246, 246, 246, 325, 325, 1094,
+ 325, 325, 325, 325, 325, 325, 325, 325, 715, 715,
+ 715, 715, 715, 715, 715, 715, 715, 715, 715, 717,
+
+ 717, 1094, 717, 717, 717, 717, 717, 717, 717, 717,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 344, 725, 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 725, 729, 729, 729, 729, 729, 729, 729, 729,
+ 729, 729, 729, 731, 731, 731, 731, 731, 731, 731,
+ 731, 731, 731, 731, 735, 735, 735, 735, 735, 735,
+ 735, 735, 735, 735, 735, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 743, 743, 743, 743,
+ 743, 743, 743, 743, 743, 743, 743, 747, 747, 747,
+ 747, 747, 747, 747, 747, 747, 747, 747, 749, 749,
+
+ 749, 749, 749, 749, 749, 749, 749, 749, 749, 753,
+ 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
+ 396, 761, 761, 761, 761, 761, 761, 761, 761, 761,
+ 761, 761, 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 765, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 767, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 422, 1094, 422, 422, 422,
+ 422, 422, 422, 422, 422, 422, 779, 1094, 779, 779,
+ 779, 779, 779, 779, 779, 779, 779, 782, 1094, 782,
+
+ 782, 782, 782, 782, 782, 782, 782, 782, 783, 1094,
+ 783, 783, 783, 783, 783, 783, 783, 783, 783, 786,
+ 1094, 786, 786, 786, 786, 786, 786, 786, 786, 786,
+ 450, 1094, 1094, 450, 450, 450, 667, 1094, 667, 667,
+ 667, 667, 667, 667, 667, 667, 667, 670, 1094, 670,
+ 670, 670, 670, 670, 670, 670, 670, 670, 672, 1094,
+ 672, 672, 672, 672, 672, 672, 672, 672, 672, 675,
+ 675, 675, 675, 675, 675, 675, 247, 247, 247, 247,
+ 247, 247, 247, 247, 263, 263, 263, 263, 263, 263,
+ 263, 263, 263, 263, 263, 684, 1094, 684, 684, 684,
+
+ 684, 526, 1094, 526, 526, 526, 526, 291, 291, 291,
+ 291, 291, 291, 291, 297, 1094, 297, 297, 297, 297,
+ 297, 297, 297, 297, 297, 695, 1094, 695, 695, 695,
+ 695, 695, 695, 695, 695, 695, 698, 1094, 698, 698,
+ 698, 698, 698, 698, 698, 698, 698, 699, 1094, 699,
+ 699, 699, 699, 699, 699, 699, 699, 699, 702, 1094,
+ 702, 702, 702, 702, 702, 702, 702, 702, 702, 246,
+ 246, 246, 246, 246, 246, 246, 325, 325, 1094, 325,
+ 325, 325, 325, 325, 325, 325, 325, 715, 715, 715,
+ 715, 715, 715, 715, 715, 715, 715, 715, 717, 717,
+
+ 1094, 717, 717, 717, 717, 717, 717, 717, 717, 344,
+ 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
+ 725, 729, 729, 729, 729, 729, 729, 729, 729, 729,
+ 729, 729, 731, 731, 731, 731, 731, 731, 731, 731,
+ 731, 731, 731, 735, 735, 735, 735, 735, 735, 735,
+ 735, 735, 735, 735, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 743, 743, 743, 743, 743,
+ 743, 743, 743, 743, 743, 743, 747, 747, 747, 747,
+ 747, 747, 747, 747, 747, 747, 747, 749, 749, 749,
+
+ 749, 749, 749, 749, 749, 749, 749, 749, 753, 753,
+ 753, 753, 753, 753, 753, 753, 753, 753, 753, 396,
+ 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
+ 761, 761, 761, 761, 761, 761, 761, 761, 761, 761,
+ 761, 765, 765, 765, 765, 765, 765, 765, 765, 765,
+ 765, 765, 767, 767, 767, 767, 767, 767, 767, 767,
+ 767, 767, 767, 771, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 422, 1094, 422, 422, 422, 422,
+ 422, 422, 422, 422, 422, 779, 1094, 779, 779, 779,
+ 779, 779, 779, 779, 779, 779, 782, 1094, 782, 782,
+
+ 782, 782, 782, 782, 782, 782, 782, 783, 1094, 783,
+ 783, 783, 783, 783, 783, 783, 783, 783, 786, 1094,
+ 786, 786, 786, 786, 786, 786, 786, 786, 786, 450,
+ 1094, 1094, 450, 450, 450, 247, 247, 247, 247, 247,
+ 247, 247, 247, 263, 263, 263, 263, 263, 263, 263,
+ 263, 263, 263, 263, 526, 1094, 526, 526, 526, 526,
+ 291, 291, 291, 291, 291, 291, 291, 297, 1094, 297,
+ 297, 297, 297, 297, 297, 297, 297, 297, 246, 246,
+ 246, 246, 246, 246, 246, 325, 325, 1094, 325, 325,
+ 325, 325, 325, 325, 325, 325, 23, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094
} ;
-static yyconst flex_int16_t yy_chk[7107] =
+static yyconst flex_int16_t yy_chk[7163] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1626,12 +1649,12 @@
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 33, 2, 2, 29,
- 35, 4, 236, 4, 4, 1083, 6, 40, 6, 6,
+ 35, 4, 236, 4, 4, 1088, 6, 40, 6, 6,
33, 236, 35, 8, 40, 8, 8, 55, 2, 3,
74, 3, 3, 3, 4, 44, 44, 3, 3, 6,
3, 3, 29, 3, 3, 3, 8, 45, 45, 108,
- 3, 3, 3, 3, 10, 13, 10, 10, 12, 1079,
+ 3, 3, 3, 3, 10, 13, 10, 10, 12, 1084,
12, 12, 16, 74, 16, 16, 55, 13, 13, 13,
13, 18, 108, 18, 18, 3, 20, 3, 20, 20,
3, 22, 3, 22, 22, 3, 212, 3, 46, 46,
@@ -1664,8 +1687,8 @@
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 14, 1078, 14, 14, 31, 14, 31,
- 82, 31, 31, 60, 1077, 60, 60, 82, 122, 122,
+ 11, 11, 11, 14, 1083, 14, 14, 31, 14, 31,
+ 82, 31, 31, 60, 1082, 60, 60, 82, 122, 122,
14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
@@ -1697,712 +1720,730 @@
21, 21, 21, 21, 25, 91, 25, 25, 27, 27,
27, 27, 36, 209, 36, 36, 36, 36, 209, 25,
- 36, 47, 38, 27, 38, 38, 38, 38, 47, 1075,
+ 36, 47, 38, 27, 38, 38, 38, 38, 47, 1080,
38, 39, 39, 39, 39, 47, 233, 39, 91, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 233, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 41, 52, 41, 41,
- 41, 41, 216, 51, 52, 49, 971, 53, 41, 41,
+ 41, 41, 216, 51, 52, 49, 976, 53, 41, 41,
51, 52, 49, 41, 53, 41, 216, 51, 41, 49,
- 56, 53, 41, 112, 971, 41, 42, 112, 42, 42,
+ 56, 53, 41, 112, 976, 41, 42, 112, 42, 42,
- 42, 42, 112, 41, 67, 48, 67, 67, 975, 42,
+ 42, 42, 112, 41, 67, 48, 67, 67, 1079, 42,
52, 41, 48, 42, 53, 48, 48, 48, 48, 48,
- 49, 121, 124, 124, 51, 42, 43, 53, 43, 455,
- 56, 43, 1074, 50, 43, 43, 43, 43, 43, 43,
- 50, 54, 43, 286, 43, 43, 455, 50, 54, 57,
- 286, 57, 57, 975, 121, 54, 66, 58, 58, 58,
- 58, 59, 59, 66, 57, 61, 61, 61, 61, 655,
- 66, 50, 58, 68, 68, 68, 68, 50, 655, 62,
- 59, 62, 62, 62, 62, 54, 63, 64, 71, 71,
- 71, 71, 213, 66, 213, 64, 64, 64, 64, 64,
-
- 64, 126, 126, 167, 63, 63, 64, 63, 182, 63,
- 126, 63, 63, 63, 63, 214, 63, 214, 63, 63,
- 63, 136, 136, 84, 63, 73, 73, 73, 73, 75,
- 84, 75, 78, 75, 75, 77, 167, 77, 77, 77,
- 77, 182, 78, 78, 78, 78, 80, 1072, 80, 80,
- 80, 80, 231, 84, 85, 85, 85, 85, 1071, 80,
- 231, 83, 849, 80, 83, 83, 83, 83, 83, 78,
- 78, 138, 138, 285, 78, 80, 86, 86, 86, 86,
- 93, 285, 93, 93, 93, 93, 94, 94, 94, 94,
- 849, 100, 96, 100, 100, 101, 101, 101, 101, 96,
-
- 234, 109, 96, 109, 109, 234, 96, 104, 104, 104,
- 104, 140, 140, 120, 94, 120, 120, 96, 94, 95,
- 140, 95, 95, 95, 95, 96, 105, 105, 105, 105,
- 116, 95, 95, 131, 131, 104, 95, 116, 95, 104,
- 116, 95, 150, 150, 116, 95, 684, 113, 95, 113,
- 113, 113, 113, 684, 131, 116, 95, 134, 134, 134,
- 134, 152, 152, 116, 95, 98, 98, 1068, 98, 98,
+ 49, 69, 69, 660, 51, 42, 43, 53, 43, 460,
+ 56, 43, 660, 50, 43, 43, 43, 43, 43, 43,
+ 50, 54, 43, 84, 43, 43, 460, 50, 54, 57,
+ 84, 57, 57, 59, 59, 54, 66, 58, 58, 58,
+ 58, 231, 69, 66, 57, 61, 61, 61, 61, 231,
+ 66, 50, 58, 84, 1077, 59, 59, 50, 62, 64,
+ 62, 62, 62, 62, 121, 54, 167, 64, 64, 64,
+ 64, 64, 64, 66, 59, 63, 124, 124, 64, 68,
+
+ 68, 68, 68, 71, 71, 71, 71, 73, 73, 73,
+ 73, 87, 87, 63, 63, 1076, 63, 121, 63, 167,
+ 63, 63, 63, 63, 213, 63, 213, 63, 63, 63,
+ 75, 323, 75, 63, 75, 75, 77, 78, 77, 77,
+ 77, 77, 85, 85, 85, 85, 980, 78, 78, 78,
+ 78, 80, 87, 80, 80, 80, 80, 86, 86, 86,
+ 86, 131, 131, 214, 80, 214, 83, 323, 80, 83,
+ 83, 83, 83, 83, 78, 78, 136, 136, 1073, 78,
+ 80, 93, 131, 93, 93, 93, 93, 94, 94, 94,
+ 94, 980, 100, 96, 100, 100, 101, 101, 101, 101,
+
+ 96, 234, 109, 96, 109, 109, 234, 96, 104, 104,
+ 104, 104, 126, 126, 120, 94, 120, 120, 96, 94,
+ 95, 126, 95, 95, 95, 95, 96, 105, 105, 105,
+ 105, 116, 95, 95, 138, 138, 104, 95, 116, 95,
+ 104, 116, 95, 150, 150, 116, 95, 810, 113, 95,
+ 113, 113, 113, 113, 140, 140, 116, 95, 134, 134,
+ 134, 134, 810, 140, 116, 95, 98, 98, 810, 98,
98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 684, 98, 98, 114, 114, 114, 114, 98, 98, 98,
- 98, 206, 106, 1065, 106, 106, 106, 106, 135, 135,
+ 98, 1070, 98, 98, 114, 114, 114, 114, 98, 98,
+ 98, 98, 463, 106, 463, 106, 106, 106, 106, 135,
- 135, 135, 1064, 206, 98, 106, 127, 127, 458, 106,
- 458, 114, 125, 125, 239, 114, 125, 154, 154, 239,
- 127, 106, 127, 127, 127, 127, 154, 1063, 98, 98,
- 99, 99, 239, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 858, 99, 99, 858, 125,
- 145, 145, 99, 99, 99, 99, 130, 148, 148, 148,
- 148, 128, 128, 130, 139, 139, 130, 1061, 139, 99,
- 130, 145, 222, 222, 844, 99, 844, 128, 128, 128,
- 128, 130, 149, 149, 149, 149, 153, 153, 211, 130,
- 153, 704, 211, 99, 99, 115, 211, 115, 115, 115,
-
- 115, 139, 225, 225, 225, 128, 1060, 115, 115, 128,
- 159, 159, 115, 176, 115, 176, 176, 115, 704, 141,
- 141, 115, 1059, 153, 115, 162, 162, 162, 162, 230,
- 230, 159, 115, 141, 274, 141, 141, 141, 141, 274,
- 115, 118, 118, 118, 118, 118, 118, 1058, 118, 118,
- 118, 118, 118, 118, 118, 118, 1051, 118, 118, 163,
- 163, 163, 163, 118, 118, 118, 118, 155, 155, 169,
- 294, 169, 169, 169, 169, 244, 244, 142, 142, 862,
- 118, 155, 862, 155, 155, 155, 155, 177, 177, 177,
- 177, 271, 271, 142, 142, 142, 142, 178, 1046, 178,
-
- 178, 304, 304, 294, 118, 118, 119, 119, 119, 119,
- 119, 119, 178, 119, 119, 119, 119, 119, 119, 119,
- 119, 142, 119, 119, 1045, 142, 419, 144, 119, 119,
- 119, 119, 232, 158, 144, 1042, 232, 144, 156, 156,
- 158, 144, 854, 158, 854, 119, 179, 158, 179, 179,
- 232, 119, 144, 969, 156, 156, 156, 156, 158, 419,
- 144, 186, 186, 186, 186, 264, 158, 264, 264, 119,
- 119, 129, 129, 170, 170, 170, 170, 187, 187, 187,
- 187, 275, 156, 275, 275, 129, 156, 129, 129, 129,
- 129, 188, 188, 188, 188, 309, 172, 129, 129, 969,
-
- 309, 170, 129, 172, 129, 170, 172, 129, 329, 329,
- 172, 129, 1041, 247, 129, 189, 189, 189, 189, 1039,
- 247, 172, 129, 196, 196, 196, 196, 247, 1038, 172,
- 129, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 318, 132, 132, 313,
- 251, 313, 313, 132, 132, 132, 132, 251, 197, 1037,
- 197, 197, 197, 197, 251, 200, 200, 200, 200, 924,
- 132, 197, 223, 924, 223, 197, 200, 223, 223, 223,
- 223, 267, 318, 289, 321, 267, 334, 197, 321, 267,
- 289, 334, 200, 321, 132, 132, 133, 133, 133, 133,
+ 135, 135, 135, 152, 152, 98, 106, 127, 127, 849,
+ 106, 849, 114, 125, 125, 239, 114, 125, 154, 154,
+ 239, 127, 106, 127, 127, 127, 127, 154, 1069, 98,
+ 98, 99, 99, 239, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 863, 99, 99, 863,
+ 125, 145, 145, 99, 99, 99, 99, 130, 148, 148,
+ 148, 148, 128, 128, 130, 139, 139, 130, 279, 139,
+ 99, 130, 145, 279, 182, 1068, 99, 206, 128, 128,
+ 128, 128, 130, 149, 149, 149, 149, 153, 153, 206,
+ 130, 153, 222, 222, 99, 99, 115, 1066, 115, 115,
+
+ 115, 115, 139, 225, 225, 225, 128, 182, 115, 115,
+ 128, 159, 159, 115, 176, 115, 176, 176, 115, 929,
+ 141, 141, 115, 929, 153, 115, 162, 162, 162, 162,
+ 230, 230, 159, 115, 141, 1065, 141, 141, 141, 141,
+ 290, 115, 118, 118, 118, 118, 118, 118, 290, 118,
+ 118, 118, 118, 118, 118, 118, 118, 1064, 118, 118,
+ 163, 163, 163, 163, 118, 118, 118, 118, 155, 155,
+ 169, 299, 169, 169, 169, 169, 244, 244, 142, 142,
+ 867, 118, 155, 867, 155, 155, 155, 155, 177, 177,
+ 177, 177, 263, 263, 142, 142, 142, 142, 178, 974,
+
+ 178, 178, 265, 265, 299, 118, 118, 119, 119, 119,
+ 119, 119, 119, 178, 119, 119, 119, 119, 119, 119,
+ 119, 119, 142, 119, 119, 1063, 142, 424, 144, 119,
+ 119, 119, 119, 232, 158, 144, 291, 232, 144, 156,
+ 156, 158, 144, 291, 158, 974, 119, 179, 158, 179,
+ 179, 232, 119, 144, 854, 156, 156, 156, 156, 158,
+ 424, 144, 186, 186, 186, 186, 1056, 158, 266, 266,
+ 119, 119, 129, 129, 170, 170, 170, 170, 187, 187,
+ 187, 187, 854, 156, 267, 267, 129, 156, 129, 129,
+ 129, 129, 188, 188, 188, 188, 501, 172, 129, 129,
+
+ 276, 276, 170, 129, 172, 129, 170, 172, 129, 309,
+ 309, 172, 129, 1051, 247, 129, 189, 189, 189, 189,
+ 1050, 247, 172, 129, 196, 196, 196, 196, 247, 501,
+ 172, 129, 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 507, 132, 132,
+ 269, 251, 269, 269, 132, 132, 132, 132, 251, 197,
+ 925, 197, 197, 197, 197, 251, 200, 200, 200, 200,
+ 211, 132, 197, 1047, 211, 253, 197, 200, 211, 223,
+ 507, 223, 253, 925, 223, 223, 223, 223, 197, 253,
+ 312, 312, 312, 200, 977, 132, 132, 133, 133, 133,
133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 920, 133, 133, 262, 496, 262, 262, 133, 133,
- 133, 133, 221, 221, 221, 221, 289, 1035, 319, 262,
- 319, 319, 249, 221, 920, 133, 307, 307, 307, 249,
- 250, 133, 249, 249, 249, 249, 249, 250, 496, 221,
- 252, 254, 339, 339, 250, 1034, 253, 252, 254, 133,
- 133, 143, 143, 253, 252, 254, 705, 255, 921, 257,
- 253, 332, 332, 332, 255, 143, 257, 143, 143, 143,
- 143, 255, 338, 257, 338, 338, 254, 143, 143, 1033,
- 250, 921, 143, 705, 143, 341, 341, 143, 253, 253,
-
- 252, 143, 256, 502, 143, 276, 276, 276, 276, 256,
- 434, 257, 143, 344, 344, 434, 256, 255, 345, 345,
- 143, 146, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 146, 146, 146, 502, 146, 146, 278,
- 278, 278, 278, 146, 146, 146, 146, 346, 346, 1032,
- 256, 280, 280, 280, 280, 280, 346, 1013, 288, 1013,
- 146, 288, 288, 288, 288, 288, 290, 290, 290, 290,
- 291, 291, 291, 291, 298, 298, 298, 298, 323, 323,
- 323, 323, 351, 351, 146, 146, 147, 147, 147, 147,
+ 133, 133, 977, 133, 133, 268, 268, 253, 253, 133,
+ 133, 133, 133, 221, 221, 221, 221, 272, 334, 334,
+ 294, 272, 1046, 249, 221, 272, 133, 294, 344, 344,
+ 249, 250, 133, 249, 249, 249, 249, 249, 250, 314,
+ 221, 252, 254, 871, 314, 250, 871, 255, 252, 254,
+ 133, 133, 143, 143, 255, 252, 254, 1044, 256, 339,
+ 257, 255, 268, 294, 339, 256, 143, 257, 143, 143,
+ 143, 143, 256, 280, 257, 280, 280, 254, 143, 143,
+ 859, 250, 859, 143, 262, 143, 262, 262, 143, 346,
+
+ 346, 252, 143, 349, 349, 143, 1043, 255, 318, 262,
+ 318, 318, 257, 143, 350, 350, 256, 281, 281, 281,
+ 281, 143, 146, 146, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 1042, 146, 146,
+ 283, 283, 283, 283, 146, 146, 146, 146, 285, 285,
+ 285, 285, 285, 293, 361, 361, 293, 293, 293, 293,
+ 293, 146, 295, 295, 295, 295, 296, 296, 296, 296,
+ 303, 303, 303, 303, 310, 324, 310, 324, 324, 310,
+ 310, 310, 310, 370, 370, 146, 146, 147, 147, 147,
147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
- 147, 866, 147, 147, 866, 347, 347, 918, 147, 147,
- 147, 147, 918, 299, 347, 299, 299, 299, 299, 352,
- 352, 300, 300, 300, 300, 147, 299, 356, 356, 351,
- 299, 147, 300, 303, 303, 303, 303, 354, 354, 342,
- 342, 850, 299, 342, 303, 365, 365, 1030, 300, 147,
- 147, 157, 157, 354, 354, 925, 305, 970, 305, 925,
- 303, 305, 305, 305, 305, 157, 352, 157, 157, 157,
- 157, 850, 325, 325, 325, 325, 342, 157, 157, 367,
- 367, 1029, 157, 325, 157, 370, 370, 157, 371, 371,
- 330, 157, 330, 536, 157, 330, 330, 330, 330, 325,
-
- 343, 343, 157, 970, 343, 363, 363, 363, 363, 976,
- 157, 160, 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 536, 160, 160, 364,
- 364, 364, 364, 160, 160, 160, 160, 343, 317, 538,
- 317, 317, 317, 317, 324, 1028, 324, 324, 324, 324,
- 160, 317, 348, 348, 976, 317, 1026, 324, 608, 368,
- 368, 324, 926, 368, 382, 382, 926, 317, 348, 348,
- 348, 348, 538, 324, 160, 160, 161, 161, 161, 161,
+ 147, 147, 1040, 147, 147, 328, 328, 328, 328, 147,
+ 147, 147, 147, 1018, 304, 1018, 304, 304, 304, 304,
+ 372, 372, 305, 305, 305, 305, 147, 304, 337, 337,
+ 337, 304, 147, 305, 308, 308, 308, 308, 326, 351,
+ 351, 439, 326, 304, 1039, 308, 439, 326, 351, 305,
+ 147, 147, 157, 157, 343, 709, 343, 343, 352, 352,
+ 322, 308, 322, 322, 322, 322, 157, 352, 157, 157,
+ 157, 157, 1038, 322, 375, 375, 549, 322, 157, 157,
+ 356, 356, 709, 157, 1037, 157, 357, 357, 157, 322,
+ 930, 335, 157, 335, 930, 157, 335, 335, 335, 335,
+
+ 549, 347, 347, 157, 549, 347, 368, 368, 368, 368,
+ 1035, 157, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 356, 160, 160,
+ 376, 376, 926, 357, 160, 160, 160, 160, 347, 329,
+ 710, 329, 329, 329, 329, 923, 330, 330, 330, 330,
+ 923, 160, 329, 353, 353, 926, 329, 330, 348, 348,
+ 387, 387, 348, 369, 369, 369, 369, 710, 329, 353,
+ 353, 353, 353, 330, 1034, 160, 160, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 608, 161, 161, 357, 357, 368, 977, 161, 161,
+ 161, 161, 1033, 161, 161, 348, 359, 359, 794, 161,
- 161, 161, 328, 328, 328, 328, 350, 350, 372, 372,
- 357, 357, 357, 328, 927, 161, 972, 372, 927, 355,
- 355, 161, 350, 350, 350, 350, 610, 369, 369, 328,
- 355, 369, 355, 350, 972, 355, 355, 355, 355, 161,
- 161, 171, 977, 171, 171, 171, 171, 359, 359, 350,
- 919, 359, 662, 171, 171, 919, 359, 1018, 171, 610,
- 171, 377, 377, 171, 369, 373, 373, 171, 378, 378,
- 171, 385, 385, 1016, 373, 385, 391, 391, 171, 973,
- 385, 389, 389, 389, 389, 662, 171, 174, 174, 1014,
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
- 174, 174, 922, 174, 174, 353, 353, 922, 377, 174,
- 174, 174, 174, 380, 380, 378, 667, 374, 374, 393,
- 393, 353, 353, 353, 353, 973, 174, 376, 376, 380,
- 380, 1012, 353, 374, 374, 374, 374, 390, 390, 390,
- 390, 396, 396, 376, 376, 376, 376, 1011, 353, 667,
- 174, 174, 175, 175, 376, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 974, 175, 175,
- 376, 379, 379, 1010, 175, 175, 175, 175, 397, 397,
- 408, 408, 1009, 381, 381, 403, 403, 379, 379, 379,
- 379, 175, 383, 383, 381, 1007, 381, 175, 379, 381,
-
- 381, 381, 381, 398, 398, 429, 429, 928, 383, 383,
- 383, 928, 398, 974, 379, 175, 175, 308, 308, 308,
- 308, 1006, 399, 399, 472, 472, 308, 308, 308, 394,
- 394, 399, 403, 394, 690, 395, 395, 404, 404, 395,
- 308, 308, 308, 308, 308, 308, 310, 310, 1005, 310,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 1004, 310, 310, 400, 400, 394, 690, 310, 310,
- 310, 310, 395, 406, 406, 407, 407, 432, 432, 432,
- 400, 400, 400, 400, 404, 310, 407, 1003, 407, 406,
- 406, 407, 407, 407, 407, 411, 411, 531, 531, 411,
-
- 415, 415, 415, 415, 411, 416, 416, 416, 416, 310,
- 310, 311, 311, 1002, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 311, 311, 311, 311, 311, 311, 312, 312, 1001, 312,
- 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
- 312, 923, 312, 312, 402, 402, 923, 481, 312, 312,
-
- 312, 312, 409, 409, 998, 481, 405, 405, 481, 978,
- 402, 402, 402, 402, 438, 312, 438, 438, 409, 409,
- 409, 402, 405, 405, 405, 405, 423, 423, 423, 423,
- 475, 475, 475, 405, 312, 549, 549, 402, 997, 312,
- 312, 333, 333, 333, 333, 439, 996, 439, 439, 405,
- 333, 333, 333, 430, 978, 430, 603, 603, 430, 430,
- 430, 430, 678, 678, 333, 333, 333, 333, 333, 333,
- 335, 335, 335, 335, 335, 335, 995, 335, 335, 335,
- 335, 335, 335, 335, 335, 967, 335, 335, 440, 440,
- 440, 440, 335, 335, 335, 335, 967, 424, 993, 424,
-
- 424, 424, 424, 967, 425, 425, 425, 425, 991, 335,
- 424, 534, 534, 534, 424, 425, 441, 441, 441, 441,
- 442, 442, 442, 442, 701, 701, 424, 443, 443, 443,
- 443, 425, 990, 335, 335, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
- 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
-
- 337, 337, 337, 337, 337, 337, 989, 337, 337, 337,
- 337, 337, 337, 337, 337, 988, 337, 337, 428, 428,
- 428, 428, 337, 337, 337, 337, 444, 544, 444, 428,
- 987, 444, 444, 444, 444, 471, 471, 471, 471, 337,
- 473, 473, 473, 473, 986, 428, 471, 474, 474, 474,
- 474, 544, 985, 504, 505, 544, 694, 1015, 337, 1015,
- 504, 505, 471, 337, 337, 349, 349, 504, 505, 558,
- 558, 506, 984, 507, 532, 532, 532, 532, 506, 349,
- 507, 349, 349, 349, 349, 506, 508, 507, 509, 694,
- 511, 510, 349, 508, 983, 509, 349, 511, 510, 505,
-
- 508, 962, 509, 554, 511, 510, 512, 554, 349, 358,
- 358, 526, 554, 512, 774, 507, 870, 558, 526, 870,
- 512, 533, 533, 533, 533, 358, 358, 358, 358, 510,
- 1017, 511, 1017, 510, 358, 358, 358, 519, 519, 519,
- 519, 519, 526, 512, 572, 572, 526, 774, 358, 358,
- 358, 358, 358, 358, 360, 360, 360, 360, 360, 360,
- 360, 360, 360, 360, 360, 360, 360, 360, 360, 805,
- 360, 360, 530, 530, 530, 530, 360, 360, 360, 360,
- 527, 960, 527, 530, 805, 527, 527, 527, 527, 545,
- 805, 545, 572, 360, 545, 545, 545, 545, 959, 530,
-
- 550, 550, 550, 550, 551, 551, 551, 551, 552, 552,
- 552, 604, 604, 604, 604, 722, 722, 360, 360, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
- 361, 361, 361, 361, 362, 362, 362, 362, 362, 362,
- 362, 362, 362, 362, 362, 362, 362, 362, 362, 958,
-
- 362, 362, 548, 548, 548, 548, 362, 362, 362, 362,
- 559, 559, 957, 548, 557, 557, 566, 566, 560, 560,
- 566, 718, 718, 362, 929, 557, 955, 557, 929, 548,
- 557, 557, 557, 557, 560, 560, 560, 560, 561, 561,
- 562, 562, 362, 567, 567, 560, 778, 362, 362, 375,
- 375, 954, 567, 566, 561, 561, 562, 562, 562, 562,
- 559, 560, 953, 375, 718, 375, 375, 375, 375, 563,
- 563, 568, 568, 564, 564, 568, 375, 573, 573, 778,
- 375, 575, 575, 576, 576, 563, 563, 563, 563, 564,
- 564, 564, 375, 384, 384, 581, 581, 575, 575, 576,
-
- 576, 576, 576, 930, 581, 577, 577, 930, 568, 384,
- 384, 384, 384, 578, 578, 952, 586, 586, 384, 384,
- 384, 577, 577, 577, 577, 719, 719, 573, 951, 578,
- 578, 578, 384, 384, 384, 384, 384, 384, 386, 386,
- 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
- 386, 386, 386, 950, 386, 386, 571, 571, 723, 723,
- 386, 386, 386, 386, 586, 585, 585, 571, 719, 571,
- 589, 589, 571, 571, 571, 571, 585, 386, 585, 590,
- 590, 585, 585, 585, 585, 949, 589, 589, 728, 728,
- 595, 595, 606, 606, 606, 590, 590, 590, 590, 595,
-
- 948, 386, 386, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 968, 388, 388, 574, 574, 587, 587,
- 388, 388, 388, 388, 968, 602, 602, 602, 602, 729,
-
- 729, 968, 574, 574, 574, 574, 602, 388, 580, 580,
- 724, 724, 580, 574, 685, 946, 582, 582, 945, 724,
- 582, 685, 602, 672, 594, 594, 388, 944, 594, 574,
- 672, 388, 388, 401, 401, 725, 725, 672, 587, 588,
- 588, 943, 596, 596, 725, 580, 596, 401, 685, 401,
- 401, 401, 401, 582, 942, 588, 588, 588, 588, 941,
- 401, 594, 740, 740, 401, 710, 588, 591, 591, 710,
- 940, 592, 592, 1025, 710, 1025, 401, 410, 410, 596,
- 741, 741, 588, 591, 591, 591, 591, 592, 592, 592,
- 746, 746, 979, 410, 410, 410, 410, 605, 605, 605,
-
- 605, 673, 410, 410, 410, 599, 939, 599, 673, 938,
- 599, 599, 599, 599, 937, 673, 410, 410, 410, 410,
- 410, 410, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 979, 412, 412,
- 613, 613, 613, 613, 412, 412, 412, 412, 614, 614,
- 614, 614, 686, 686, 686, 686, 687, 687, 687, 687,
- 936, 412, 706, 706, 706, 706, 707, 707, 707, 707,
- 731, 731, 742, 742, 731, 743, 743, 747, 747, 749,
- 749, 742, 935, 749, 743, 412, 412, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
-
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
- 413, 413, 414, 414, 414, 414, 414, 414, 414, 414,
- 414, 414, 414, 414, 414, 414, 414, 934, 414, 414,
- 932, 674, 675, 910, 414, 414, 414, 414, 674, 675,
- 676, 677, 716, 716, 909, 674, 675, 676, 677, 717,
- 717, 414, 720, 720, 676, 677, 720, 840, 716, 716,
-
- 716, 716, 758, 758, 840, 717, 717, 717, 717, 907,
- 414, 906, 674, 675, 904, 414, 414, 433, 433, 433,
- 433, 736, 736, 903, 676, 902, 433, 433, 433, 720,
- 677, 899, 737, 737, 840, 721, 721, 759, 759, 721,
- 433, 433, 433, 433, 433, 433, 435, 435, 789, 435,
- 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
- 435, 789, 435, 435, 736, 734, 734, 789, 435, 435,
- 435, 435, 721, 735, 735, 737, 726, 726, 752, 752,
- 726, 734, 734, 734, 734, 435, 753, 753, 898, 735,
- 735, 735, 735, 897, 752, 752, 752, 752, 760, 760,
-
- 764, 764, 753, 753, 753, 753, 896, 760, 895, 435,
- 435, 436, 436, 726, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
- 436, 436, 436, 436, 436, 436, 437, 437, 893, 437,
- 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
- 437, 980, 437, 437, 754, 754, 761, 761, 437, 437,
-
- 437, 437, 892, 755, 755, 761, 765, 765, 727, 727,
- 738, 738, 727, 891, 738, 437, 739, 739, 744, 744,
- 739, 890, 744, 745, 745, 756, 756, 745, 889, 756,
- 888, 767, 767, 886, 437, 767, 980, 754, 885, 437,
- 437, 535, 535, 535, 535, 727, 755, 738, 855, 855,
- 535, 535, 535, 739, 981, 744, 770, 770, 770, 770,
- 745, 884, 756, 883, 535, 535, 535, 535, 535, 535,
- 539, 539, 881, 539, 539, 539, 539, 539, 539, 539,
- 539, 539, 539, 539, 539, 982, 539, 539, 771, 771,
- 771, 771, 539, 539, 539, 539, 839, 856, 856, 981,
-
- 757, 757, 880, 839, 757, 857, 857, 859, 859, 539,
- 860, 860, 861, 861, 863, 863, 864, 864, 865, 865,
- 869, 869, 915, 931, 915, 915, 966, 931, 966, 966,
- 982, 839, 879, 539, 539, 540, 540, 757, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
- 540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-
- 553, 553, 553, 553, 1019, 1019, 1019, 832, 1019, 553,
- 553, 553, 762, 762, 832, 878, 762, 877, 763, 763,
- 876, 832, 763, 553, 553, 553, 553, 553, 553, 555,
- 555, 555, 555, 555, 555, 875, 555, 555, 555, 555,
- 555, 555, 555, 555, 874, 555, 555, 1054, 1054, 762,
- 831, 555, 555, 555, 555, 763, 832, 831, 829, 913,
- 914, 872, 933, 871, 831, 829, 913, 914, 555, 1020,
- 1020, 1020, 829, 913, 914, 933, 1021, 1021, 1021, 846,
- 1021, 933, 1022, 1022, 1022, 837, 1023, 1023, 1023, 831,
- 1023, 834, 555, 555, 556, 556, 556, 556, 556, 556,
-
- 829, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 556, 556,
- 556, 556, 556, 556, 556, 556, 556, 556, 556, 565,
- 565, 916, 917, 964, 1024, 1024, 1024, 964, 916, 917,
- 1055, 1055, 1056, 1056, 964, 565, 565, 565, 565, 965,
- 830, 964, 911, 965, 565, 565, 565, 830, 828, 911,
- 965, 916, 917, 827, 830, 826, 911, 965, 565, 565,
-
- 565, 565, 565, 565, 569, 569, 569, 569, 569, 569,
- 569, 569, 569, 569, 569, 569, 569, 569, 569, 911,
- 569, 569, 825, 912, 830, 824, 569, 569, 569, 569,
- 912, 823, 822, 821, 820, 819, 818, 912, 817, 814,
- 813, 811, 809, 569, 807, 806, 804, 803, 802, 801,
- 800, 799, 798, 797, 796, 794, 793, 792, 791, 788,
- 912, 786, 785, 784, 782, 777, 773, 569, 569, 570,
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
-
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
- 570, 570, 570, 570, 579, 579, 772, 769, 751, 733,
- 715, 713, 709, 708, 703, 702, 700, 698, 693, 689,
- 579, 579, 579, 579, 688, 683, 682, 681, 680, 579,
- 579, 579, 671, 670, 665, 661, 660, 659, 658, 657,
- 656, 654, 653, 579, 579, 579, 579, 579, 579, 583,
- 583, 583, 583, 583, 583, 583, 583, 583, 583, 583,
- 583, 583, 583, 583, 652, 583, 583, 651, 650, 649,
-
- 647, 583, 583, 583, 583, 646, 645, 644, 643, 642,
- 641, 640, 639, 637, 636, 635, 634, 633, 583, 632,
- 631, 630, 629, 628, 627, 625, 624, 623, 622, 621,
- 620, 619, 618, 617, 616, 609, 601, 600, 547, 546,
- 543, 542, 583, 583, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
-
- 584, 584, 584, 584, 584, 584, 584, 584, 584, 593,
- 593, 541, 537, 529, 528, 525, 524, 523, 522, 517,
- 516, 515, 514, 513, 503, 593, 593, 593, 593, 500,
- 497, 495, 494, 493, 593, 593, 593, 492, 491, 490,
- 489, 488, 487, 486, 485, 484, 483, 482, 593, 593,
- 593, 593, 593, 593, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597, 597, 480,
- 597, 597, 479, 478, 477, 469, 597, 597, 597, 597,
- 468, 467, 466, 465, 464, 463, 462, 461, 460, 459,
- 457, 456, 454, 597, 453, 452, 451, 450, 449, 448,
-
- 447, 446, 427, 426, 422, 327, 326, 316, 315, 314,
- 302, 301, 297, 287, 284, 283, 279, 597, 597, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
- 598, 598, 598, 598, 607, 607, 607, 607, 273, 272,
- 270, 269, 268, 607, 607, 607, 266, 265, 263, 248,
-
- 246, 245, 238, 237, 235, 229, 228, 607, 607, 607,
- 607, 607, 607, 611, 611, 227, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 219, 611,
- 611, 218, 217, 215, 210, 611, 611, 611, 611, 208,
- 207, 205, 204, 203, 193, 173, 168, 166, 117, 107,
- 102, 97, 611, 92, 90, 87, 81, 76, 69, 65,
- 34, 32, 28, 23, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 611, 611, 612, 612,
- 0, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
-
- 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 697, 697, 0, 697, 697, 697, 697,
- 697, 697, 697, 697, 697, 697, 697, 697, 0, 697,
- 697, 0, 0, 0, 0, 697, 697, 697, 697, 0,
+ 161, 161, 161, 333, 333, 333, 333, 355, 355, 377,
+ 377, 794, 359, 359, 333, 931, 161, 794, 377, 931,
+ 360, 360, 161, 355, 355, 355, 355, 541, 373, 373,
+ 333, 360, 373, 360, 355, 1031, 360, 360, 360, 360,
+ 161, 161, 171, 543, 171, 171, 171, 171, 374, 374,
+ 355, 1023, 374, 924, 171, 171, 362, 362, 924, 171,
+ 541, 171, 382, 382, 171, 373, 364, 364, 171, 981,
+ 364, 171, 362, 362, 362, 364, 543, 378, 378, 171,
+ 396, 396, 1021, 383, 383, 374, 378, 171, 174, 174,
+ 1019, 174, 174, 174, 174, 174, 174, 174, 174, 174,
+
+ 174, 174, 174, 1017, 174, 174, 358, 358, 855, 382,
+ 174, 174, 174, 174, 981, 385, 385, 613, 379, 379,
+ 398, 398, 358, 358, 358, 358, 1016, 174, 381, 381,
+ 383, 385, 385, 358, 379, 379, 379, 379, 855, 390,
+ 390, 401, 401, 390, 381, 381, 381, 381, 390, 358,
+ 613, 174, 174, 175, 175, 381, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 1015, 175,
+ 175, 381, 384, 384, 1014, 175, 175, 175, 175, 394,
+ 394, 394, 394, 1012, 386, 386, 402, 402, 384, 384,
+ 384, 384, 175, 388, 388, 386, 1011, 386, 175, 384,
+
+ 386, 386, 386, 386, 395, 395, 395, 395, 932, 388,
+ 388, 388, 932, 403, 403, 384, 175, 175, 313, 313,
+ 313, 313, 403, 404, 404, 413, 413, 313, 313, 313,
+ 399, 399, 404, 1010, 399, 615, 400, 400, 408, 408,
+ 400, 313, 313, 313, 313, 313, 313, 315, 315, 1009,
+ 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 1008, 315, 315, 405, 405, 399, 615, 315,
+ 315, 315, 315, 400, 411, 411, 412, 412, 434, 434,
+ 1007, 405, 405, 405, 405, 408, 315, 412, 1006, 412,
+ 411, 411, 412, 412, 412, 412, 416, 416, 477, 477,
+
+ 416, 420, 420, 420, 420, 416, 421, 421, 421, 421,
+ 315, 315, 316, 316, 1003, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
+ 316, 316, 316, 316, 316, 316, 316, 317, 317, 1002,
+ 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
+ 317, 317, 927, 317, 317, 407, 407, 927, 486, 317,
+
+ 317, 317, 317, 409, 409, 928, 486, 414, 414, 486,
+ 928, 407, 407, 407, 407, 1001, 317, 428, 428, 428,
+ 428, 1000, 407, 414, 414, 414, 536, 536, 430, 430,
+ 430, 430, 437, 437, 437, 317, 518, 518, 407, 430,
+ 317, 317, 338, 338, 338, 338, 443, 998, 443, 443,
+ 409, 338, 338, 338, 435, 430, 435, 554, 554, 435,
+ 435, 435, 435, 608, 608, 338, 338, 338, 338, 338,
+ 338, 340, 340, 340, 340, 340, 340, 996, 340, 340,
+ 340, 340, 340, 340, 340, 340, 972, 340, 340, 410,
+ 410, 995, 518, 340, 340, 340, 340, 972, 429, 994,
+
+ 429, 429, 429, 429, 972, 410, 410, 410, 410, 993,
+ 340, 429, 480, 480, 480, 429, 410, 444, 992, 444,
+ 444, 445, 445, 445, 445, 683, 683, 429, 446, 446,
+ 446, 446, 410, 991, 340, 340, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 342, 342, 342, 342, 342, 342, 990, 342, 342,
+ 342, 342, 342, 342, 342, 342, 989, 342, 342, 433,
+ 433, 433, 433, 342, 342, 342, 342, 539, 539, 539,
+ 433, 447, 447, 447, 447, 448, 448, 448, 448, 933,
+ 342, 934, 449, 933, 449, 934, 433, 449, 449, 449,
+ 449, 476, 476, 476, 476, 478, 478, 478, 478, 342,
+ 706, 706, 476, 988, 342, 342, 354, 354, 479, 479,
+ 479, 479, 509, 967, 510, 557, 557, 557, 476, 509,
+ 354, 510, 354, 354, 354, 354, 509, 511, 510, 512,
+ 667, 513, 514, 354, 511, 844, 512, 354, 513, 514,
+
+ 515, 511, 844, 512, 965, 513, 514, 515, 517, 354,
+ 363, 363, 559, 531, 515, 517, 559, 566, 566, 510,
+ 531, 559, 517, 667, 564, 564, 363, 363, 363, 363,
+ 844, 512, 516, 566, 566, 363, 363, 363, 515, 516,
+ 727, 727, 515, 672, 531, 517, 516, 975, 531, 363,
+ 363, 363, 363, 363, 363, 365, 365, 365, 365, 365,
+ 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
+ 964, 365, 365, 516, 564, 963, 672, 365, 365, 365,
+ 365, 524, 524, 524, 524, 524, 537, 537, 537, 537,
+ 532, 962, 532, 975, 365, 532, 532, 532, 532, 538,
+
+ 538, 538, 538, 550, 960, 550, 728, 728, 550, 550,
+ 550, 550, 555, 555, 555, 555, 733, 733, 365, 365,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 367, 367, 367, 367, 367,
+ 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
+
+ 695, 367, 367, 535, 535, 535, 535, 367, 367, 367,
+ 367, 563, 563, 959, 535, 553, 553, 553, 553, 556,
+ 556, 556, 556, 935, 367, 699, 553, 935, 562, 562,
+ 535, 572, 572, 695, 578, 578, 565, 565, 958, 562,
+ 572, 562, 553, 367, 562, 562, 562, 562, 367, 367,
+ 380, 380, 565, 565, 565, 565, 567, 567, 699, 563,
+ 611, 611, 611, 565, 380, 957, 380, 380, 380, 380,
+ 568, 568, 567, 567, 567, 567, 936, 380, 677, 565,
+ 936, 380, 569, 569, 578, 677, 568, 568, 568, 568,
+ 576, 576, 677, 380, 389, 389, 586, 586, 569, 569,
+
+ 569, 576, 1020, 576, 1020, 586, 576, 576, 576, 576,
+ 389, 389, 389, 389, 580, 580, 592, 592, 956, 389,
+ 389, 389, 571, 571, 577, 577, 571, 779, 573, 573,
+ 580, 580, 573, 389, 389, 389, 389, 389, 389, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 982, 391, 391, 579, 579, 571,
+ 779, 391, 391, 391, 391, 573, 592, 734, 734, 581,
+ 581, 955, 577, 579, 579, 579, 579, 954, 391, 582,
+ 582, 600, 600, 953, 579, 581, 581, 581, 581, 951,
+ 600, 609, 609, 609, 609, 582, 582, 582, 582, 982,
+
+ 579, 950, 391, 391, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
+ 392, 392, 392, 392, 392, 392, 392, 392, 392, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 949, 393, 393, 583, 583, 591,
+ 591, 393, 393, 393, 393, 983, 736, 736, 594, 594,
+
+ 736, 595, 595, 583, 583, 583, 585, 585, 393, 783,
+ 585, 948, 587, 587, 594, 594, 587, 595, 595, 595,
+ 595, 599, 599, 689, 678, 599, 947, 393, 590, 590,
+ 689, 678, 393, 393, 406, 406, 946, 591, 678, 590,
+ 983, 590, 783, 585, 590, 590, 590, 590, 406, 587,
+ 406, 406, 406, 406, 945, 593, 593, 689, 599, 944,
+ 715, 406, 601, 601, 715, 406, 601, 596, 596, 715,
+ 943, 593, 593, 593, 593, 597, 597, 406, 415, 415,
+ 745, 745, 593, 596, 596, 596, 596, 610, 610, 610,
+ 610, 597, 597, 597, 415, 415, 415, 415, 593, 601,
+
+ 746, 746, 682, 415, 415, 415, 604, 875, 604, 682,
+ 875, 604, 604, 604, 604, 978, 682, 415, 415, 415,
+ 415, 415, 415, 417, 417, 417, 417, 417, 417, 417,
+ 417, 417, 417, 417, 417, 417, 417, 417, 942, 417,
+ 417, 607, 607, 607, 607, 417, 417, 417, 417, 751,
+ 751, 682, 607, 618, 618, 618, 618, 619, 619, 619,
+ 619, 978, 417, 691, 691, 691, 691, 941, 607, 692,
+ 692, 692, 692, 711, 711, 711, 711, 712, 712, 712,
+ 712, 752, 752, 763, 763, 940, 417, 417, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 419, 419, 419, 419, 419, 419, 419,
+ 419, 419, 419, 419, 419, 419, 419, 419, 939, 419,
+ 419, 937, 679, 680, 915, 419, 419, 419, 419, 679,
+ 680, 681, 721, 721, 764, 764, 679, 680, 681, 690,
+ 722, 722, 419, 723, 723, 681, 690, 914, 721, 721,
+
+ 721, 721, 912, 729, 729, 911, 722, 722, 722, 722,
+ 909, 419, 729, 679, 680, 908, 419, 419, 438, 438,
+ 438, 438, 1022, 690, 1022, 681, 907, 438, 438, 438,
+ 724, 724, 904, 754, 754, 903, 723, 754, 902, 741,
+ 741, 438, 438, 438, 438, 438, 438, 440, 440, 901,
+ 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
+ 440, 440, 984, 440, 440, 730, 730, 769, 769, 440,
+ 440, 440, 440, 724, 730, 739, 739, 725, 725, 740,
+ 740, 725, 741, 770, 770, 900, 440, 757, 757, 839,
+ 839, 739, 739, 739, 739, 740, 740, 740, 740, 747,
+
+ 747, 860, 860, 757, 757, 757, 757, 984, 747, 898,
+ 440, 440, 441, 441, 725, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
+ 441, 441, 441, 441, 441, 441, 441, 442, 442, 897,
+ 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
+ 442, 442, 985, 442, 442, 742, 742, 748, 748, 442,
+
+ 442, 442, 442, 979, 759, 759, 748, 760, 760, 726,
+ 726, 731, 731, 726, 896, 731, 442, 732, 732, 743,
+ 743, 732, 895, 743, 744, 744, 749, 749, 744, 1030,
+ 749, 1030, 772, 772, 894, 442, 772, 985, 742, 893,
+ 442, 442, 540, 540, 540, 540, 726, 759, 731, 979,
+ 760, 540, 540, 540, 732, 845, 743, 775, 775, 775,
+ 775, 744, 845, 749, 891, 540, 540, 540, 540, 540,
+ 540, 544, 544, 890, 544, 544, 544, 544, 544, 544,
+ 544, 544, 544, 544, 544, 544, 889, 544, 544, 888,
+ 758, 758, 845, 544, 544, 544, 544, 776, 776, 776,
+
+ 776, 750, 750, 765, 765, 750, 758, 758, 758, 758,
+ 544, 886, 765, 766, 766, 861, 861, 862, 862, 864,
+ 864, 885, 766, 865, 865, 866, 866, 868, 868, 869,
+ 869, 870, 870, 884, 544, 544, 545, 545, 750, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+ 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
+
+ 545, 558, 558, 558, 558, 874, 874, 883, 837, 882,
+ 558, 558, 558, 761, 761, 837, 881, 761, 880, 762,
+ 762, 879, 837, 762, 558, 558, 558, 558, 558, 558,
+ 560, 560, 560, 560, 560, 560, 877, 560, 560, 560,
+ 560, 560, 560, 560, 560, 986, 560, 560, 1059, 1059,
+ 761, 921, 560, 560, 560, 560, 762, 837, 921, 918,
+ 919, 973, 876, 938, 767, 767, 918, 919, 767, 560,
+ 1060, 1060, 973, 918, 919, 920, 938, 920, 920, 973,
+ 851, 921, 938, 971, 842, 971, 971, 1024, 1024, 1024,
+ 986, 1024, 833, 560, 560, 561, 561, 561, 561, 561,
+
+ 561, 767, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
+ 570, 570, 969, 922, 970, 832, 969, 831, 970, 830,
+ 922, 1061, 1061, 969, 829, 970, 570, 570, 570, 570,
+ 969, 828, 970, 916, 834, 570, 570, 570, 768, 768,
+ 916, 834, 768, 922, 987, 827, 826, 916, 834, 570,
+
+ 570, 570, 570, 570, 570, 574, 574, 574, 574, 574,
+ 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
+ 916, 574, 574, 825, 836, 768, 834, 574, 574, 574,
+ 574, 836, 1025, 1025, 1025, 1027, 1027, 1027, 836, 987,
+ 824, 1026, 1026, 1026, 574, 1026, 1028, 1028, 1028, 823,
+ 1028, 1029, 1029, 1029, 822, 819, 818, 816, 814, 812,
+ 811, 809, 808, 836, 807, 806, 805, 804, 574, 574,
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
+ 575, 575, 575, 575, 575, 584, 584, 803, 802, 801,
+ 799, 798, 797, 796, 793, 791, 790, 789, 787, 782,
+ 778, 584, 584, 584, 584, 777, 835, 774, 917, 756,
+ 584, 584, 584, 835, 738, 917, 720, 718, 714, 713,
+ 835, 708, 917, 707, 584, 584, 584, 584, 584, 584,
+ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ 588, 588, 588, 588, 588, 917, 588, 588, 705, 703,
+
+ 835, 698, 588, 588, 588, 588, 694, 693, 688, 687,
+ 686, 685, 676, 675, 670, 666, 665, 664, 663, 588,
+ 662, 661, 659, 658, 657, 656, 655, 654, 652, 651,
+ 650, 649, 648, 647, 646, 645, 644, 642, 641, 640,
+ 639, 638, 637, 588, 588, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+
+ 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
+ 598, 598, 636, 635, 634, 633, 632, 630, 629, 628,
+ 627, 626, 625, 624, 623, 622, 598, 598, 598, 598,
+ 621, 614, 606, 605, 552, 598, 598, 598, 551, 548,
+ 547, 546, 542, 534, 533, 530, 529, 528, 527, 598,
+ 598, 598, 598, 598, 598, 602, 602, 602, 602, 602,
+ 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
+ 522, 602, 602, 521, 520, 519, 508, 602, 602, 602,
+ 602, 505, 502, 500, 499, 498, 497, 496, 495, 494,
+ 493, 492, 491, 490, 602, 489, 488, 487, 485, 484,
+
+ 483, 482, 474, 473, 472, 471, 470, 469, 468, 467,
+ 466, 465, 464, 462, 461, 459, 458, 457, 602, 602,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
+ 603, 603, 603, 603, 603, 612, 612, 612, 612, 456,
+ 455, 454, 453, 452, 612, 612, 612, 451, 432, 431,
+
+ 427, 332, 331, 321, 320, 319, 307, 306, 612, 612,
+ 612, 612, 612, 612, 616, 616, 302, 616, 616, 616,
+ 616, 616, 616, 616, 616, 616, 616, 616, 616, 292,
+ 616, 616, 289, 288, 284, 278, 616, 616, 616, 616,
+ 277, 275, 274, 273, 271, 270, 248, 246, 245, 238,
+ 237, 235, 229, 616, 228, 227, 219, 218, 217, 215,
+ 210, 208, 207, 205, 204, 203, 193, 173, 168, 166,
+ 117, 107, 102, 97, 92, 90, 81, 616, 616, 617,
+ 617, 76, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+
+ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
+ 617, 617, 617, 617, 702, 702, 65, 702, 702, 702,
+ 702, 702, 702, 702, 702, 702, 702, 702, 702, 34,
+ 702, 702, 32, 28, 23, 0, 702, 702, 702, 702,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 697, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 702, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 697, 697, 699, 699,
- 0, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 712, 712, 712, 712, 712, 712, 0,
- 712, 712, 712, 712, 712, 712, 712, 712, 0, 712,
- 712, 0, 0, 0, 0, 712, 712, 712, 712, 0,
+ 0, 0, 0, 0, 0, 0, 0, 702, 702, 704,
+ 704, 0, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
+ 704, 704, 704, 704, 717, 717, 717, 717, 717, 717,
+ 0, 717, 717, 717, 717, 717, 717, 717, 717, 0,
+ 717, 717, 0, 0, 0, 0, 717, 717, 717, 717,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 717, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 712, 712, 714, 714,
- 714, 714, 714, 714, 0, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
- 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,
-
- 714, 714, 714, 730, 730, 730, 730, 730, 730, 730,
- 730, 730, 730, 730, 730, 730, 730, 730, 0, 730,
- 730, 0, 0, 0, 0, 730, 730, 730, 730, 0,
+ 0, 0, 0, 0, 0, 0, 0, 717, 717, 719,
+ 719, 719, 719, 719, 719, 0, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
+ 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
+
+ 719, 719, 719, 719, 735, 735, 735, 735, 735, 735,
+ 735, 735, 735, 735, 735, 735, 735, 735, 735, 0,
+ 735, 735, 0, 0, 0, 0, 735, 735, 735, 735,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 730, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 735, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 730, 730, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
-
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
- 732, 732, 732, 748, 748, 748, 748, 748, 748, 748,
- 748, 748, 748, 748, 748, 748, 748, 748, 0, 748,
- 748, 0, 0, 0, 0, 748, 748, 748, 748, 0,
+ 0, 0, 0, 0, 0, 0, 0, 735, 735, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
+ 737, 737, 737, 737, 753, 753, 753, 753, 753, 753,
+ 753, 753, 753, 753, 753, 753, 753, 753, 753, 0,
+ 753, 753, 0, 0, 0, 0, 753, 753, 753, 753,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 748, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 753, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 748, 748, 750, 750,
+ 0, 0, 0, 0, 0, 0, 0, 753, 753, 755,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
- 750, 750, 750, 766, 766, 766, 766, 766, 766, 766,
- 766, 766, 766, 766, 766, 766, 766, 766, 0, 766,
- 766, 0, 0, 0, 0, 766, 766, 766, 766, 0,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ 755, 755, 755, 755, 771, 771, 771, 771, 771, 771,
+ 771, 771, 771, 771, 771, 771, 771, 771, 771, 0,
+ 771, 771, 0, 0, 0, 0, 771, 771, 771, 771,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 766, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 771, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 766, 766, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
- 768, 768, 768, 781, 781, 0, 781, 781, 781, 781,
+ 0, 0, 0, 0, 0, 0, 0, 771, 771, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
+ 773, 773, 773, 773, 786, 786, 0, 786, 786, 786,
- 781, 781, 781, 781, 781, 781, 781, 781, 0, 781,
- 781, 0, 0, 0, 0, 781, 781, 781, 781, 0,
+ 786, 786, 786, 786, 786, 786, 786, 786, 786, 0,
+ 786, 786, 0, 0, 0, 0, 786, 786, 786, 786,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 781, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 786, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 781, 781, 783, 783,
- 0, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
-
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
- 783, 783, 783, 843, 843, 0, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 843, 843,
- 843, 843, 843, 843, 843, 843, 843, 843, 853, 853,
- 853, 853, 853, 853, 0, 853, 853, 853, 853, 853,
-
- 853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 853, 853, 853, 853, 853, 853, 853,
- 853, 853, 853, 1090, 0, 1090, 1090, 1090, 1090, 1090,
- 1090, 1090, 1090, 1090, 1091, 0, 0, 1091, 1091, 1092,
- 0, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
- 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094,
- 1094, 1094, 1095, 0, 1095, 0, 1095, 1095, 1095, 1095,
-
- 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1097, 0, 1097,
- 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1098, 0,
- 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1099,
- 0, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
- 1100, 0, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
- 1100, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102,
- 0, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103,
- 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
- 1104, 1104, 0, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
- 1104, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
-
- 1105, 1105, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
+ 0, 0, 0, 0, 0, 0, 0, 786, 786, 788,
+ 788, 0, 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
+
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
+ 788, 788, 788, 788, 848, 848, 0, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
+ 848, 848, 848, 848, 848, 848, 848, 848, 848, 858,
+ 858, 858, 858, 858, 858, 0, 858, 858, 858, 858,
+
+ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
+ 858, 858, 858, 858, 1095, 0, 1095, 1095, 1095, 1095,
+ 1095, 1095, 1095, 1095, 1095, 1096, 0, 0, 1096, 1096,
+ 1097, 0, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
+ 1097, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1099,
+ 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
+
+ 1100, 1100, 1100, 1100, 1101, 0, 1101, 0, 1101, 1101,
+ 1101, 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103,
+ 0, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
+ 1104, 0, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
+ 1104, 1105, 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
+ 1105, 1105, 1106, 0, 1106, 1106, 1106, 1106, 1106, 1106,
1106, 1106, 1106, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
- 1107, 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109,
- 1109, 1109, 1109, 1109, 1109, 1109, 1110, 1110, 1110, 1110,
- 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111, 1111, 1111,
- 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112,
- 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113,
- 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
- 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
-
- 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
- 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
- 1116, 1116, 1116, 1117, 0, 1117, 1117, 1117, 1117, 1117,
- 1117, 1117, 1117, 1117, 1118, 0, 1118, 1118, 1118, 1118,
- 1118, 1118, 1118, 1118, 1118, 1119, 0, 1119, 1119, 1119,
- 1119, 1119, 1119, 1119, 1119, 1119, 1120, 0, 1120, 1120,
- 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121, 0, 0,
- 1121, 1121, 1122, 0, 1122, 1122, 1122, 1122, 1122, 1122,
- 1122, 1122, 1122, 1123, 0, 0, 1123, 1123, 1123, 1124,
- 0, 0, 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
-
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1127, 0,
- 0, 0, 0, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
- 1128, 1128, 1128, 1129, 1129, 1129, 1129, 1130, 0, 1130,
- 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
- 1132, 0, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
- 1132, 1133, 0, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
- 1133, 1133, 1134, 0, 1134, 1134, 1134, 1134, 1134, 1134,
- 1134, 1134, 1134, 1135, 0, 1135, 1135, 1135, 1135, 1135,
- 1135, 1135, 1135, 1135, 1136, 1136, 0, 1136, 1136, 1136,
- 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1137, 1137, 1137,
-
- 1137, 1137, 1137, 1137, 1137, 1137, 1138, 1138, 0, 1138,
- 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1139, 1139, 1139,
- 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140,
- 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1141,
- 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
- 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
- 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
- 1143, 1143, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
- 1144, 1144, 1144, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
- 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 1146, 1146,
-
- 1146, 1146, 1146, 1146, 1146, 1147, 1147, 1147, 1147, 1147,
- 1147, 1147, 1147, 1147, 1147, 1147, 1148, 1148, 1148, 1148,
- 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1149,
- 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151,
- 0, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1152, 0, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
- 1152, 1153, 0, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
- 1153, 1153, 1154, 0, 1154, 1154, 1154, 1154, 1154, 1154,
- 1154, 1154, 1154, 1155, 0, 0, 1155, 1155, 1156, 0,
-
- 0, 1156, 1156, 1156, 1157, 0, 0, 1157, 1158, 0,
- 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1159,
- 0, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
- 1160, 0, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
- 1160, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1162, 1162,
- 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 1163,
- 1163, 1163, 1164, 0, 1164, 1164, 1164, 1164, 1165, 0,
- 1165, 1165, 1165, 1165, 1166, 1166, 1166, 1166, 1166, 1166,
- 1166, 1167, 0, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 1168, 0, 1168, 1168, 1168, 1168, 1168, 1168,
-
- 1168, 1168, 1168, 1169, 0, 1169, 1169, 1169, 1169, 1169,
- 1169, 1169, 1169, 1169, 1170, 0, 1170, 1170, 1170, 1170,
- 1170, 1170, 1170, 1170, 1170, 1171, 0, 1171, 1171, 1171,
- 1171, 1171, 1171, 1171, 1171, 1171, 1172, 1172, 1172, 1172,
- 1172, 1172, 1172, 1173, 1173, 0, 1173, 1173, 1173, 1173,
- 1173, 1173, 1173, 1173, 1174, 1174, 1174, 1174, 1174, 1174,
- 1174, 1174, 1174, 1174, 1174, 1175, 1175, 0, 1175, 1175,
- 1175, 1175, 1175, 1175, 1175, 1175, 1176, 1176, 1176, 1176,
- 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 1177, 1177,
- 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178,
-
+ 1108, 1108, 0, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
+ 1108, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1110, 1110, 0, 1110, 1110, 1110, 1110, 1110,
+
+ 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, 1112, 1112,
+ 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114,
+ 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115,
+ 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
+ 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
+ 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
+
+ 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
+ 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1123, 0, 1123, 1123, 1123,
+ 1123, 1123, 1123, 1123, 1123, 1123, 1124, 0, 1124, 1124,
+ 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 0, 1125,
+ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1126, 0,
+ 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1127,
+ 0, 0, 1127, 1127, 1128, 0, 1128, 1128, 1128, 1128,
+ 1128, 1128, 1128, 1128, 1128, 1129, 0, 0, 1129, 1129,
+
+ 1129, 1130, 0, 0, 1130, 1131, 1131, 1131, 1131, 1131,
+ 1131, 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
+ 1133, 0, 0, 0, 0, 1133, 1133, 1133, 1133, 1134,
+ 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
+ 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 1136, 1136,
+ 1137, 0, 1137, 1137, 1137, 1137, 1138, 1138, 1138, 1138,
+ 1138, 1138, 1138, 1139, 0, 1139, 1139, 1139, 1139, 1139,
+ 1139, 1139, 1139, 1139, 1140, 0, 1140, 1140, 1140, 1140,
+ 1140, 1140, 1140, 1140, 1140, 1141, 0, 1141, 1141, 1141,
+ 1141, 1141, 1141, 1141, 1141, 1141, 1142, 0, 1142, 1142,
+
+ 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143, 1143, 0,
+ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1144, 1144,
+ 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145,
+ 1145, 0, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
+ 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
+ 1146, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
+ 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
+ 1148, 1148, 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
+ 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 1150, 1150,
+ 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151,
+
+ 1151, 1151, 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152,
+ 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153,
+ 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155,
+ 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
+ 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
+ 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
+ 1157, 1157, 1158, 0, 1158, 1158, 1158, 1158, 1158, 1158,
+ 1158, 1158, 1158, 1159, 0, 1159, 1159, 1159, 1159, 1159,
+ 1159, 1159, 1159, 1159, 1160, 0, 1160, 1160, 1160, 1160,
+
+ 1160, 1160, 1160, 1160, 1160, 1161, 0, 1161, 1161, 1161,
+ 1161, 1161, 1161, 1161, 1161, 1161, 1162, 0, 0, 1162,
+ 1162, 1163, 0, 0, 1163, 1163, 1163, 1164, 0, 0,
+ 1164, 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
+ 1165, 1165, 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166,
+ 1166, 1166, 1166, 1167, 0, 1167, 1167, 1167, 1167, 1167,
+ 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168,
+ 1168, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170,
+ 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
+ 1171, 1171, 1171, 1171, 1171, 1171, 1172, 0, 1172, 1172,
+
+ 1172, 1172, 1173, 0, 1173, 1173, 1173, 1173, 1174, 1174,
+ 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175, 1175, 1175,
+ 1175, 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176,
+ 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0,
1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179,
- 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
- 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
- 1180, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
- 1182, 1182, 1182, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
- 1183, 1183, 1183, 1183, 1184, 1184, 1184, 1184, 1184, 1184,
- 1184, 1184, 1184, 1184, 1184, 1185, 1185, 1185, 1185, 1185,
- 1185, 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186,
- 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1187, 1187, 1187,
-
- 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188, 1188,
- 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1189,
- 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
- 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
- 1190, 1191, 0, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
- 1191, 1191, 1192, 0, 1192, 1192, 1192, 1192, 1192, 1192,
- 1192, 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193,
- 1193, 1193, 1193, 1193, 1194, 0, 1194, 1194, 1194, 1194,
- 1194, 1194, 1194, 1194, 1194, 1195, 0, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1196, 0, 0, 1196,
-
- 1196, 1196, 1197, 0, 1197, 1197, 1197, 1197, 1197, 1197,
- 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200, 1200, 1200,
- 1200, 1200, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
- 1202, 0, 1202, 1202, 1202, 1202, 1203, 0, 1203, 1203,
- 1203, 1203, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1205,
- 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
- 1206, 0, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
- 1206, 1207, 0, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
-
- 1207, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208, 1208,
- 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209, 1209,
+ 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
+ 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 1181, 0,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1183,
+
+ 1183, 0, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
+ 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
+ 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
+ 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1187, 1187, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1188,
+ 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, 1191,
+ 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1192, 1192,
+
+ 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193,
+ 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
+ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
+ 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
+ 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
+ 1196, 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 1197, 1197, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199, 1199,
+ 1199, 1199, 1199, 1199, 1199, 1199, 1200, 0, 1200, 1200,
+ 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0, 1201,
+
+ 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1202, 0,
+ 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1203,
+ 0, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
+ 1204, 0, 0, 1204, 1204, 1204, 1205, 0, 1205, 1205,
+ 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1206, 0, 1206,
+ 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1207, 0,
+ 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1208,
+ 1208, 1208, 1208, 1208, 1208, 1208, 1209, 1209, 1209, 1209,
1209, 1209, 1209, 1209, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1211, 1211, 0, 1211, 1211, 1211, 1211, 1211, 1211,
- 1211, 1211, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
- 1212, 1212, 1212, 1213, 1213, 0, 1213, 1213, 1213, 1213,
- 1213, 1213, 1213, 1213, 1214, 1214, 1214, 1214, 1214, 1214,
- 1214, 1214, 1214, 1214, 1214, 1215, 1215, 1215, 1215, 1215,
- 1215, 1215, 1215, 1215, 1215, 1215, 1216, 1216, 1216, 1216,
- 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1217, 1217, 1217,
+ 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211, 1211,
- 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1218, 1218,
+ 1211, 1212, 0, 1212, 1212, 1212, 1212, 1213, 1213, 1213,
+ 1213, 1213, 1213, 1213, 1214, 0, 1214, 1214, 1214, 1214,
+ 1214, 1214, 1214, 1214, 1214, 1215, 0, 1215, 1215, 1215,
+ 1215, 1215, 1215, 1215, 1215, 1215, 1216, 0, 1216, 1216,
+ 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1217, 0, 1217,
+ 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1218, 0,
1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219,
- 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
- 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
- 1220, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
- 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
- 1222, 1222, 1222, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
- 1223, 1223, 1223, 1223, 1224, 1224, 1224, 1224, 1224, 1224,
- 1224, 1224, 1224, 1224, 1224, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1225, 1225, 1225, 1225, 1226, 1226, 1226, 1226,
-
- 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1227, 1227, 1227,
- 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1228, 1228,
- 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1229,
- 0, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
- 1230, 0, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
- 1230, 1231, 0, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
- 1231, 1231, 1232, 0, 1232, 1232, 1232, 1232, 1232, 1232,
- 1232, 1232, 1232, 1233, 0, 1233, 1233, 1233, 1233, 1233,
- 1233, 1233, 1233, 1233, 1234, 0, 0, 1234, 1234, 1234,
- 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1236, 0,
-
- 1236, 1236, 1236, 1236, 1237, 1237, 1237, 1237, 1237, 1237,
- 1237, 1238, 0, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
- 1238, 1238, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1240,
- 1240, 0, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
- 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
-
- 1089, 1089, 1089, 1089, 1089, 1089
+ 1219, 1219, 1219, 1219, 1219, 1219, 1220, 1220, 0, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1222, 1222,
+
+ 0, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
+ 1225, 1225, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
+ 1226, 1226, 1226, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
+ 1227, 1227, 1227, 1227, 1228, 1228, 1228, 1228, 1228, 1228,
+ 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229,
+ 1229, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230,
+ 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1231, 1231, 1231,
+
+ 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1232, 1232,
+ 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1233,
+ 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
+ 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+ 1234, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
+ 1235, 1235, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1237, 1237, 1237, 1237, 1237, 1237, 1237,
+ 1237, 1237, 1237, 1237, 1238, 0, 1238, 1238, 1238, 1238,
+ 1238, 1238, 1238, 1238, 1238, 1239, 0, 1239, 1239, 1239,
+ 1239, 1239, 1239, 1239, 1239, 1239, 1240, 0, 1240, 1240,
+
+ 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1241, 0, 1241,
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1242, 0,
+ 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243,
+ 0, 0, 1243, 1243, 1243, 1244, 1244, 1244, 1244, 1244,
+ 1244, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
+ 1245, 1245, 1245, 1245, 1246, 0, 1246, 1246, 1246, 1246,
+ 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1248, 0, 1248,
+ 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1249, 1249,
+ 1249, 1249, 1249, 1249, 1249, 1250, 1250, 0, 1250, 1250,
+ 1250, 1250, 1250, 1250, 1250, 1250, 1094, 1094, 1094, 1094,
+
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
+ 1094, 1094
} ;
+/* Table of booleans, true if rule could match eol. */
+static yyconst flex_int32_t yy_rule_can_match_eol[149] =
+ { 0,
+0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, };
+
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
@@ -2486,6 +2527,8 @@
#define YYCHOP() (yytext[--yyleng] = '\0')
+#define SET_LINE_NUMBER (IMCC_INFO(interp)->line = yylineno)
+
#define DUP_AND_RET(valp, token) \
do { \
if (valp) (valp)->s = mem_sys_strdup(yytext); \
@@ -2511,7 +2554,7 @@
-#line 2515 "compilers/imcc/imclexer.c"
+#line 2558 "compilers/imcc/imclexer.c"
#define INITIAL 0
#define emit 1
@@ -2756,7 +2799,7 @@
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 154 "compilers/imcc/imcc.l"
+#line 157 "compilers/imcc/imcc.l"
/* for emacs "*/
if (IMCC_INFO(interp)->expect_pasm == 1 && !IMCC_INFO(interp)->in_pod) {
@@ -2775,7 +2818,7 @@
return 0;
}
-#line 2779 "compilers/imcc/imclexer.c"
+#line 2822 "compilers/imcc/imclexer.c"
if ( !yyg->yy_init )
{
@@ -2829,13 +2872,13 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1090 )
+ if ( yy_current_state >= 1095 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 1089 );
+ while ( yy_current_state != 1094 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -2844,6 +2887,18 @@
YY_DO_BEFORE_ACTION;
+ if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
+ {
+ int yyl;
+ for ( yyl = 0; yyl < yyleng; ++yyl )
+ if ( yytext[yyl] == '\n' )
+
+ do{ yylineno++;
+ yycolumn=0;
+ }while(0)
+;
+ }
+
do_action: /* This label is used only to access EOF actions. */
switch ( yy_act )
@@ -2857,15 +2912,15 @@
case 1:
YY_RULE_SETUP
-#line 172 "compilers/imcc/imcc.l"
-{ IMCC_INFO(interp)->line++; }
+#line 175 "compilers/imcc/imcc.l"
+{ SET_LINE_NUMBER; }
YY_BREAK
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 174 "compilers/imcc/imcc.l"
+#line 177 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->frames->heredoc_rest = mem_sys_strdup(yytext);
BEGIN(heredoc2);
}
@@ -2873,7 +2928,7 @@
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 180 "compilers/imcc/imcc.l"
+#line 183 "compilers/imcc/imcc.l"
{
/* heredocs have highest priority
* arrange them before all wildcard state matches */
@@ -2889,9 +2944,9 @@
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 193 "compilers/imcc/imcc.l"
+#line 196 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
if (STREQ(IMCC_INFO(interp)->heredoc_end, yytext)) {
/* End of the heredoc. */
@@ -2932,7 +2987,7 @@
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 232 "compilers/imcc/imcc.l"
+#line 235 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt3, yyscanner);
@@ -2945,7 +3000,7 @@
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 242 "compilers/imcc/imcc.l"
+#line 245 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
@@ -2953,19 +3008,19 @@
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 247 "compilers/imcc/imcc.l"
+#line 250 "compilers/imcc/imcc.l"
{ yy_push_state(cmt2, yyscanner); }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 249 "compilers/imcc/imcc.l"
+#line 252 "compilers/imcc/imcc.l"
{ yy_push_state(cmt1, yyscanner); }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 251 "compilers/imcc/imcc.l"
+#line 254 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line = atoi(yytext);
+ yylineno = IMCC_INFO(interp)->line = atoi(yytext);
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
return LINECOMMENT;
@@ -2974,7 +3029,7 @@
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 258 "compilers/imcc/imcc.l"
+#line 261 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
}
@@ -2982,7 +3037,7 @@
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 262 "compilers/imcc/imcc.l"
+#line 265 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
@@ -2994,7 +3049,7 @@
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 271 "compilers/imcc/imcc.l"
+#line 274 "compilers/imcc/imcc.l"
{
yy_push_state(cmt5, yyscanner);
}
@@ -3002,7 +3057,7 @@
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-#line 275 "compilers/imcc/imcc.l"
+#line 278 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
@@ -3017,17 +3072,18 @@
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 287 "compilers/imcc/imcc.l"
+#line 290 "compilers/imcc/imcc.l"
{
/* this is a stand-alone =cut, but we're not in POD mode, so ignore. */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
}
YY_BREAK
case 15:
+/* rule 15 can match eol */
YY_RULE_SETUP
-#line 292 "compilers/imcc/imcc.l"
+#line 295 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 1;
yy_push_state(pod, yyscanner);
}
@@ -3035,487 +3091,487 @@
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
-#line 298 "compilers/imcc/imcc.l"
+#line 301 "compilers/imcc/imcc.l"
{
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 0;
yy_pop_state(yyscanner);
}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 304 "compilers/imcc/imcc.l"
-{ IMCC_INFO(interp)->line++; }
+#line 307 "compilers/imcc/imcc.l"
+{ SET_LINE_NUMBER; }
YY_BREAK
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
-#line 306 "compilers/imcc/imcc.l"
+#line 309 "compilers/imcc/imcc.l"
{ /* ignore */ }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 308 "compilers/imcc/imcc.l"
+#line 311 "compilers/imcc/imcc.l"
return TK_LINE;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 309 "compilers/imcc/imcc.l"
+#line 312 "compilers/imcc/imcc.l"
return TK_FILE;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 310 "compilers/imcc/imcc.l"
+#line 313 "compilers/imcc/imcc.l"
return ANNOTATE;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 311 "compilers/imcc/imcc.l"
+#line 314 "compilers/imcc/imcc.l"
return LEXICAL;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 312 "compilers/imcc/imcc.l"
+#line 315 "compilers/imcc/imcc.l"
return ARG;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 313 "compilers/imcc/imcc.l"
+#line 316 "compilers/imcc/imcc.l"
return SUB;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 314 "compilers/imcc/imcc.l"
+#line 317 "compilers/imcc/imcc.l"
return ESUB;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 315 "compilers/imcc/imcc.l"
+#line 318 "compilers/imcc/imcc.l"
return PCC_BEGIN;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 316 "compilers/imcc/imcc.l"
+#line 319 "compilers/imcc/imcc.l"
return PCC_END;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 317 "compilers/imcc/imcc.l"
+#line 320 "compilers/imcc/imcc.l"
return PCC_CALL;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 318 "compilers/imcc/imcc.l"
+#line 321 "compilers/imcc/imcc.l"
return NCI_CALL;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 319 "compilers/imcc/imcc.l"
+#line 322 "compilers/imcc/imcc.l"
return METH_CALL;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 320 "compilers/imcc/imcc.l"
+#line 323 "compilers/imcc/imcc.l"
return INVOCANT;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 321 "compilers/imcc/imcc.l"
+#line 324 "compilers/imcc/imcc.l"
return PCC_SUB;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 322 "compilers/imcc/imcc.l"
+#line 325 "compilers/imcc/imcc.l"
return PCC_BEGIN_RETURN;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 323 "compilers/imcc/imcc.l"
+#line 326 "compilers/imcc/imcc.l"
return PCC_END_RETURN;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 324 "compilers/imcc/imcc.l"
+#line 327 "compilers/imcc/imcc.l"
return PCC_BEGIN_YIELD;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 325 "compilers/imcc/imcc.l"
+#line 328 "compilers/imcc/imcc.l"
return PCC_END_YIELD;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 327 "compilers/imcc/imcc.l"
+#line 330 "compilers/imcc/imcc.l"
return METHOD;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 328 "compilers/imcc/imcc.l"
+#line 331 "compilers/imcc/imcc.l"
return MULTI;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 329 "compilers/imcc/imcc.l"
+#line 332 "compilers/imcc/imcc.l"
return MAIN;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 330 "compilers/imcc/imcc.l"
+#line 333 "compilers/imcc/imcc.l"
return LOAD;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 331 "compilers/imcc/imcc.l"
+#line 334 "compilers/imcc/imcc.l"
return INIT;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 332 "compilers/imcc/imcc.l"
+#line 335 "compilers/imcc/imcc.l"
return IMMEDIATE;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 333 "compilers/imcc/imcc.l"
+#line 336 "compilers/imcc/imcc.l"
return POSTCOMP;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 334 "compilers/imcc/imcc.l"
+#line 337 "compilers/imcc/imcc.l"
return ANON;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 335 "compilers/imcc/imcc.l"
+#line 338 "compilers/imcc/imcc.l"
return OUTER;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 336 "compilers/imcc/imcc.l"
+#line 339 "compilers/imcc/imcc.l"
return NEED_LEX;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 337 "compilers/imcc/imcc.l"
+#line 340 "compilers/imcc/imcc.l"
return VTABLE_METHOD;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 338 "compilers/imcc/imcc.l"
+#line 341 "compilers/imcc/imcc.l"
return NS_ENTRY;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 339 "compilers/imcc/imcc.l"
+#line 342 "compilers/imcc/imcc.l"
return UNIQUE_REG;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 340 "compilers/imcc/imcc.l"
+#line 343 "compilers/imcc/imcc.l"
return SUB_INSTANCE_OF;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 341 "compilers/imcc/imcc.l"
+#line 344 "compilers/imcc/imcc.l"
return SUBID;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 343 "compilers/imcc/imcc.l"
+#line 346 "compilers/imcc/imcc.l"
return RESULT;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 344 "compilers/imcc/imcc.l"
+#line 347 "compilers/imcc/imcc.l"
return GET_RESULTS;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 345 "compilers/imcc/imcc.l"
+#line 348 "compilers/imcc/imcc.l"
return YIELDT;
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 346 "compilers/imcc/imcc.l"
+#line 349 "compilers/imcc/imcc.l"
return SET_YIELD;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 347 "compilers/imcc/imcc.l"
+#line 350 "compilers/imcc/imcc.l"
return RETURN;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 348 "compilers/imcc/imcc.l"
+#line 351 "compilers/imcc/imcc.l"
return SET_RETURN;
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 349 "compilers/imcc/imcc.l"
+#line 352 "compilers/imcc/imcc.l"
return TAILCALL;
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 350 "compilers/imcc/imcc.l"
+#line 353 "compilers/imcc/imcc.l"
return LOADLIB;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 352 "compilers/imcc/imcc.l"
+#line 355 "compilers/imcc/imcc.l"
return ADV_FLAT;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 353 "compilers/imcc/imcc.l"
+#line 356 "compilers/imcc/imcc.l"
return ADV_SLURPY;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 354 "compilers/imcc/imcc.l"
+#line 357 "compilers/imcc/imcc.l"
return ADV_OPTIONAL;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 355 "compilers/imcc/imcc.l"
+#line 358 "compilers/imcc/imcc.l"
return ADV_OPT_FLAG;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 356 "compilers/imcc/imcc.l"
+#line 359 "compilers/imcc/imcc.l"
return ADV_NAMED;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 357 "compilers/imcc/imcc.l"
+#line 360 "compilers/imcc/imcc.l"
return ADV_ARROW;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 358 "compilers/imcc/imcc.l"
+#line 361 "compilers/imcc/imcc.l"
return ADV_INVOCANT;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 359 "compilers/imcc/imcc.l"
+#line 362 "compilers/imcc/imcc.l"
return ADV_CALL_SIG;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 361 "compilers/imcc/imcc.l"
+#line 364 "compilers/imcc/imcc.l"
return NAMESPACE;
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 362 "compilers/imcc/imcc.l"
+#line 365 "compilers/imcc/imcc.l"
return HLL;
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 364 "compilers/imcc/imcc.l"
+#line 367 "compilers/imcc/imcc.l"
return LOCAL;
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 365 "compilers/imcc/imcc.l"
+#line 368 "compilers/imcc/imcc.l"
return CONST;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 366 "compilers/imcc/imcc.l"
+#line 369 "compilers/imcc/imcc.l"
return GLOBAL_CONST;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 367 "compilers/imcc/imcc.l"
+#line 370 "compilers/imcc/imcc.l"
return PARAM;
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 368 "compilers/imcc/imcc.l"
+#line 371 "compilers/imcc/imcc.l"
return GOTO;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 369 "compilers/imcc/imcc.l"
+#line 372 "compilers/imcc/imcc.l"
return IF;
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 370 "compilers/imcc/imcc.l"
+#line 373 "compilers/imcc/imcc.l"
return UNLESS;
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 371 "compilers/imcc/imcc.l"
+#line 374 "compilers/imcc/imcc.l"
return PNULL;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 372 "compilers/imcc/imcc.l"
+#line 375 "compilers/imcc/imcc.l"
return INTV;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 373 "compilers/imcc/imcc.l"
+#line 376 "compilers/imcc/imcc.l"
return FLOATV;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 375 "compilers/imcc/imcc.l"
+#line 378 "compilers/imcc/imcc.l"
return PMCV;
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 376 "compilers/imcc/imcc.l"
+#line 379 "compilers/imcc/imcc.l"
return STRINGV;
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 377 "compilers/imcc/imcc.l"
+#line 380 "compilers/imcc/imcc.l"
return SHIFT_LEFT;
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 378 "compilers/imcc/imcc.l"
+#line 381 "compilers/imcc/imcc.l"
return SHIFT_RIGHT;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 379 "compilers/imcc/imcc.l"
+#line 382 "compilers/imcc/imcc.l"
return SHIFT_RIGHT_U;
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 380 "compilers/imcc/imcc.l"
+#line 383 "compilers/imcc/imcc.l"
return LOG_AND;
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 381 "compilers/imcc/imcc.l"
+#line 384 "compilers/imcc/imcc.l"
return LOG_OR;
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 382 "compilers/imcc/imcc.l"
+#line 385 "compilers/imcc/imcc.l"
return LOG_XOR;
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 383 "compilers/imcc/imcc.l"
+#line 386 "compilers/imcc/imcc.l"
return RELOP_LT;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 384 "compilers/imcc/imcc.l"
+#line 387 "compilers/imcc/imcc.l"
return RELOP_LTE;
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 385 "compilers/imcc/imcc.l"
+#line 388 "compilers/imcc/imcc.l"
return RELOP_GT;
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 386 "compilers/imcc/imcc.l"
+#line 389 "compilers/imcc/imcc.l"
return RELOP_GTE;
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 387 "compilers/imcc/imcc.l"
+#line 390 "compilers/imcc/imcc.l"
return RELOP_EQ;
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 388 "compilers/imcc/imcc.l"
+#line 391 "compilers/imcc/imcc.l"
return RELOP_NE;
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 389 "compilers/imcc/imcc.l"
+#line 392 "compilers/imcc/imcc.l"
return POW;
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 391 "compilers/imcc/imcc.l"
+#line 394 "compilers/imcc/imcc.l"
return CONCAT;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 392 "compilers/imcc/imcc.l"
+#line 395 "compilers/imcc/imcc.l"
return DOT;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 394 "compilers/imcc/imcc.l"
+#line 397 "compilers/imcc/imcc.l"
return PLUS_ASSIGN;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 395 "compilers/imcc/imcc.l"
+#line 398 "compilers/imcc/imcc.l"
return MINUS_ASSIGN;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 396 "compilers/imcc/imcc.l"
+#line 399 "compilers/imcc/imcc.l"
return MUL_ASSIGN;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 397 "compilers/imcc/imcc.l"
+#line 400 "compilers/imcc/imcc.l"
return DIV_ASSIGN;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 398 "compilers/imcc/imcc.l"
+#line 401 "compilers/imcc/imcc.l"
return MOD_ASSIGN;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 399 "compilers/imcc/imcc.l"
+#line 402 "compilers/imcc/imcc.l"
return FDIV;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 400 "compilers/imcc/imcc.l"
+#line 403 "compilers/imcc/imcc.l"
return FDIV_ASSIGN;
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 401 "compilers/imcc/imcc.l"
+#line 404 "compilers/imcc/imcc.l"
return BAND_ASSIGN;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 402 "compilers/imcc/imcc.l"
+#line 405 "compilers/imcc/imcc.l"
return BOR_ASSIGN;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 403 "compilers/imcc/imcc.l"
+#line 406 "compilers/imcc/imcc.l"
return BXOR_ASSIGN;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 404 "compilers/imcc/imcc.l"
+#line 407 "compilers/imcc/imcc.l"
return SHR_ASSIGN;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 405 "compilers/imcc/imcc.l"
+#line 408 "compilers/imcc/imcc.l"
return SHL_ASSIGN;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 406 "compilers/imcc/imcc.l"
+#line 409 "compilers/imcc/imcc.l"
return SHR_U_ASSIGN;
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 407 "compilers/imcc/imcc.l"
+#line 410 "compilers/imcc/imcc.l"
return CONCAT_ASSIGN;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 409 "compilers/imcc/imcc.l"
+#line 412 "compilers/imcc/imcc.l"
{
char *macro_name = NULL;
int start_cond = YY_START;
@@ -3561,16 +3617,16 @@
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 452 "compilers/imcc/imcc.l"
+#line 455 "compilers/imcc/imcc.l"
{
/* the initial whitespace catcher misses this one */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
return read_macro(valp, interp, yyscanner);
}
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 458 "compilers/imcc/imcc.l"
+#line 461 "compilers/imcc/imcc.l"
{
const int c = yylex(valp,yyscanner,interp);
@@ -3585,7 +3641,7 @@
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 470 "compilers/imcc/imcc.l"
+#line 473 "compilers/imcc/imcc.l"
{
if (valp) {
char *label;
@@ -3610,7 +3666,7 @@
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 492 "compilers/imcc/imcc.l"
+#line 495 "compilers/imcc/imcc.l"
{
if (valp) {
char *label;
@@ -3633,12 +3689,12 @@
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 512 "compilers/imcc/imcc.l"
+#line 515 "compilers/imcc/imcc.l"
return COMMA;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 514 "compilers/imcc/imcc.l"
+#line 517 "compilers/imcc/imcc.l"
{
/* trim last ':' */
YYCHOP();
@@ -3651,7 +3707,7 @@
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 524 "compilers/imcc/imcc.l"
+#line 527 "compilers/imcc/imcc.l"
{
char * const macro_name = mem_sys_strdup(yytext + 1);
int failed = expand_macro(interp, macro_name, yyscanner);
@@ -3664,32 +3720,32 @@
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 536 "compilers/imcc/imcc.l"
+#line 539 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, FLOATC);
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 537 "compilers/imcc/imcc.l"
+#line 540 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 538 "compilers/imcc/imcc.l"
+#line 541 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 539 "compilers/imcc/imcc.l"
+#line 542 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 540 "compilers/imcc/imcc.l"
+#line 543 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 542 "compilers/imcc/imcc.l"
+#line 545 "compilers/imcc/imcc.l"
{
valp->s = mem_sys_strdup(yytext);
@@ -3702,7 +3758,7 @@
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 552 "compilers/imcc/imcc.l"
+#line 555 "compilers/imcc/imcc.l"
{
valp->s = mem_sys_strdup(yytext);
@@ -3711,7 +3767,7 @@
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 558 "compilers/imcc/imcc.l"
+#line 561 "compilers/imcc/imcc.l"
{
macro_frame_t *frame;
@@ -3742,7 +3798,7 @@
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 586 "compilers/imcc/imcc.l"
+#line 589 "compilers/imcc/imcc.l"
{
/* charset:"..." */
valp->s = mem_sys_strdup(yytext);
@@ -3753,7 +3809,7 @@
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 594 "compilers/imcc/imcc.l"
+#line 597 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3764,7 +3820,7 @@
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 602 "compilers/imcc/imcc.l"
+#line 605 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3775,7 +3831,7 @@
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 610 "compilers/imcc/imcc.l"
+#line 613 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3786,7 +3842,7 @@
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 618 "compilers/imcc/imcc.l"
+#line 621 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3797,7 +3853,7 @@
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 626 "compilers/imcc/imcc.l"
+#line 629 "compilers/imcc/imcc.l"
{
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"'%s' is not a valid register name", yytext);
@@ -3805,7 +3861,7 @@
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 631 "compilers/imcc/imcc.l"
+#line 634 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->state->pasm_file == 0)
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
@@ -3819,24 +3875,24 @@
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 643 "compilers/imcc/imcc.l"
+#line 646 "compilers/imcc/imcc.l"
{ return handle_identifier(interp, valp, yytext); }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 645 "compilers/imcc/imcc.l"
+#line 648 "compilers/imcc/imcc.l"
/* skip */;
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 647 "compilers/imcc/imcc.l"
+#line 650 "compilers/imcc/imcc.l"
{
/* catch all except for state macro */
return yytext[0];
}
YY_BREAK
case YY_STATE_EOF(emit):
-#line 652 "compilers/imcc/imcc.l"
+#line 655 "compilers/imcc/imcc.l"
{
BEGIN(INITIAL);
@@ -3849,34 +3905,34 @@
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 663 "compilers/imcc/imcc.l"
+#line 666 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 665 "compilers/imcc/imcc.l"
+#line 668 "compilers/imcc/imcc.l"
{
/* the initial whitespace catcher misses this one */
- IMCC_INFO(interp)->line++;
+ SET_LINE_NUMBER;
DUP_AND_RET(valp, ENDM);
}
YY_BREAK
case 138:
/* rule 138 can match eol */
YY_RULE_SETUP
-#line 671 "compilers/imcc/imcc.l"
+#line 674 "compilers/imcc/imcc.l"
{
DUP_AND_RET(valp, '\n');
}
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 675 "compilers/imcc/imcc.l"
+#line 678 "compilers/imcc/imcc.l"
return LABEL;
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 677 "compilers/imcc/imcc.l"
+#line 680 "compilers/imcc/imcc.l"
{
if (yylex(valp,yyscanner,interp) != LABEL)
@@ -3903,7 +3959,7 @@
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 701 "compilers/imcc/imcc.l"
+#line 704 "compilers/imcc/imcc.l"
{
if (valp) {
if (!IMCC_INFO(interp)->cur_macro_name) {
@@ -3934,44 +3990,44 @@
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 729 "compilers/imcc/imcc.l"
+#line 732 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, ' ');
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 730 "compilers/imcc/imcc.l"
+#line 733 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 731 "compilers/imcc/imcc.l"
+#line 734 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 732 "compilers/imcc/imcc.l"
+#line 735 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, IDENTIFIER);
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 733 "compilers/imcc/imcc.l"
+#line 736 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, MACRO);
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 734 "compilers/imcc/imcc.l"
+#line 737 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, yytext[0]);
YY_BREAK
case YY_STATE_EOF(macro):
-#line 735 "compilers/imcc/imcc.l"
+#line 738 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 737 "compilers/imcc/imcc.l"
+#line 740 "compilers/imcc/imcc.l"
ECHO;
YY_BREAK
-#line 3975 "compilers/imcc/imclexer.c"
+#line 4031 "compilers/imcc/imclexer.c"
case YY_STATE_EOF(pod):
case YY_STATE_EOF(cmt1):
case YY_STATE_EOF(cmt2):
@@ -4274,7 +4330,7 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1090 )
+ if ( yy_current_state >= 1095 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4303,11 +4359,11 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1090 )
+ if ( yy_current_state >= 1095 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 1089);
+ yy_is_jam = (yy_current_state == 1094);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -4345,6 +4401,10 @@
*--yy_cp = (char) c;
+ if ( c == '\n' ){
+ --yylineno;
+ }
+
yyg->yytext_ptr = yy_bp;
yyg->yy_hold_char = *yy_cp;
yyg->yy_c_buf_p = yy_cp;
@@ -4422,6 +4482,12 @@
yyg->yy_hold_char = *++yyg->yy_c_buf_p;
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
+
+ do{ yylineno++;
+ yycolumn=0;
+ }while(0)
+;
return c;
}
@@ -5173,7 +5239,7 @@
#define YYTABLES_NAME "yytables"
-#line 737 "compilers/imcc/imcc.l"
+#line 740 "compilers/imcc/imcc.l"
@@ -5702,6 +5768,7 @@
scan_file(PARROT_INTERP, macro_frame_t *frame, FILE *file, void *yyscanner)
{
yyguts_t * const yyg = (yyguts_t *)yyscanner;
+ const int oldline = IMCC_INFO(interp)->line;
frame->buffer = YY_CURRENT_BUFFER;
frame->s.next = (parser_state_t *)IMCC_INFO(interp)->frames;
IMCC_INFO(interp)->frames = frame;
@@ -5711,6 +5778,8 @@
IMCC_INFO(interp)->line = 0;
yy_switch_to_buffer(yy_create_buffer(file,YY_BUF_SIZE,yyscanner),yyscanner);
+
+ IMCC_INFO(interp)->line = oldline;
}
void
Modified: branches/include_dynpmc_makefile/compilers/imcc/main.c
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/main.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/main.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -251,13 +251,6 @@
if (strchr(opt->opt_arg, '2')) {
IMCC_INFO(interp)->optimizer_level |= (OPT_PRE | OPT_CFG);
}
- if (strchr(opt->opt_arg, 't')) {
-#ifdef HAVE_COMPUTED_GOTO
- *core = PARROT_CGP_CORE;
-#else
- *core = PARROT_SWITCH_CORE;
-#endif
- }
break;
default:
@@ -414,12 +407,6 @@
if (opt_level & OPT_SUB)
opt_desc[i++] = 'c';
- if (PARROT_RUNCORE_JIT_OPS_TEST(interp->run_core))
- opt_desc[i++] = 'j';
-
- if (PARROT_RUNCORE_PREDEREF_OPS_TEST(interp->run_core))
- opt_desc[i++] = 't';
-
opt_desc[i] = '\0';
return;
}
Modified: branches/include_dynpmc_makefile/compilers/imcc/parser_util.c
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/parser_util.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/parser_util.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -383,14 +383,9 @@
int emit)
{
ASSERT_ARGS(INS)
- int i, op, len;
- int dirs = 0;
- Instruction *ins;
- op_info_t *op_info;
- char fullname[64] = "", format[128] = "";
if (STREQ(name, ".annotate")) {
- ins = _mk_instruction(name, "", n, r, 0);
+ Instruction *ins = _mk_instruction(name, "", n, r, 0);
if (emit)
return emitb(interp, unit, ins);
else
@@ -402,176 +397,183 @@
|| (STREQ(name, "get_params"))
|| (STREQ(name, "set_returns")))
return var_arg_ins(interp, unit, name, r, n, emit);
+ else {
+ Instruction *ins;
+ int i, op, len;
+ int dirs = 0;
+ op_info_t *op_info;
+ char fullname[64] = "", format[128] = "";
- op_fullname(fullname, name, r, n, keyvec);
- op = interp->op_lib->op_code(interp, fullname, 1);
-
- /* maybe we have a fullname */
- if (op < 0)
- op = interp->op_lib->op_code(interp, name, 1);
-
- /* still wrong, try reverse compare */
- if (op < 0) {
- const char * const n_name = try_rev_cmp(name, r);
- if (n_name) {
- name = n_name;
- op_fullname(fullname, name, r, n, keyvec);
- op = interp->op_lib->op_code(interp, fullname, 1);
- }
- }
-
- /* still wrong, try to find an existing op */
- if (op < 0)
- op = try_find_op(interp, unit, name, r, n, keyvec, emit);
-
- if (op < 0) {
- int ok = 0;
+ op_fullname(fullname, name, r, n, keyvec);
+ op = interp->op_lib->op_code(interp, fullname, 1);
- /* check mixed constants */
- ins = IMCC_subst_constants_umix(interp, unit, name, r, n + 1);
- if (ins)
- goto found_ins;
+ /* maybe we have a fullname */
+ if (op < 0)
+ op = interp->op_lib->op_code(interp, name, 1);
+
+ /* still wrong, try reverse compare */
+ if (op < 0) {
+ const char * const n_name = try_rev_cmp(name, r);
+ if (n_name) {
+ name = n_name;
+ op_fullname(fullname, name, r, n, keyvec);
+ op = interp->op_lib->op_code(interp, fullname, 1);
+ }
+ }
+
+ /* still wrong, try to find an existing op */
+ if (op < 0)
+ op = try_find_op(interp, unit, name, r, n, keyvec, emit);
- /* and finally multiple constants */
- ins = IMCC_subst_constants(interp, unit, name, r, n + 1, &ok);
+ if (op < 0) {
+ int ok = 0;
- if (ok) {
+ /* check mixed constants */
+ ins = IMCC_subst_constants_umix(interp, unit, name, r, n + 1);
if (ins)
goto found_ins;
- else
- return NULL;
- }
- }
- else
- strcpy(fullname, name);
- if (op < 0)
- IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- "The opcode '%s' (%s<%d>) was not found. "
- "Check the type and number of the arguments",
- fullname, name, n);
-
- op_info = &interp->op_info_table[op];
- *format = '\0';
-
- /* info->op_count is args + 1
- * build instruction format
- * set LV_in / out flags */
- if (n != op_info->op_count - 1)
- IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- "arg count mismatch: op #%d '%s' needs %d given %d",
- op, fullname, op_info->op_count-1, n);
-
- /* XXX Speed up some by keep track of the end of format ourselves */
- for (i = 0; i < n; i++) {
- switch (op_info->dirs[i]) {
- case PARROT_ARGDIR_INOUT:
- dirs |= 1 << (16 + i);
- /* go on */
- case PARROT_ARGDIR_IN:
- dirs |= 1 << i ;
- break;
-
- case PARROT_ARGDIR_OUT:
- dirs |= 1 << (16 + i);
- break;
-
- default:
- PARROT_ASSERT(0);
- };
-
- if (keyvec & KEY_BIT(i)) {
- /* XXX Assert that len > 2 */
- len = strlen(format) - 2;
- PARROT_ASSERT(len >= 0);
- format[len] = '\0';
- strcat(format, "[%s], ");
+ /* and finally multiple constants */
+ ins = IMCC_subst_constants(interp, unit, name, r, n + 1, &ok);
+
+ if (ok) {
+ if (ins)
+ goto found_ins;
+ else
+ return NULL;
+ }
}
- else if (r[i]->set == 'K')
- strcat(format, "[%s], ");
else
- strcat(format, "%s, ");
- }
+ strcpy(fullname, name);
- len = strlen(format);
- if (len >= 2)
- len -= 2;
+ if (op < 0)
+ IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
+ "The opcode '%s' (%s<%d>) was not found. "
+ "Check the type and number of the arguments",
+ fullname, name, n);
+
+ op_info = &interp->op_info_table[op];
+ *format = '\0';
+
+ /* info->op_count is args + 1
+ * build instruction format
+ * set LV_in / out flags */
+ if (n != op_info->op_count - 1)
+ IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
+ "arg count mismatch: op #%d '%s' needs %d given %d",
+ op, fullname, op_info->op_count-1, n);
- format[len] = '\0';
+ /* XXX Speed up some by keep track of the end of format ourselves */
+ for (i = 0; i < n; i++) {
+ switch (op_info->dirs[i]) {
+ case PARROT_ARGDIR_INOUT:
+ dirs |= 1 << (16 + i);
+ /* go on */
+ case PARROT_ARGDIR_IN:
+ dirs |= 1 << i ;
+ break;
+
+ case PARROT_ARGDIR_OUT:
+ dirs |= 1 << (16 + i);
+ break;
+
+ default:
+ PARROT_ASSERT(0);
+ };
+
+ if (keyvec & KEY_BIT(i)) {
+ /* XXX Assert that len > 2 */
+ len = strlen(format) - 2;
+ PARROT_ASSERT(len >= 0);
+ format[len] = '\0';
+ strcat(format, "[%s], ");
+ }
+ else if (r[i]->set == 'K')
+ strcat(format, "[%s], ");
+ else
+ strcat(format, "%s, ");
+ }
- if (fmt && *fmt) {
- strncpy(format, fmt, sizeof (format) - 1);
- format[sizeof (format) - 1] = '\0';
- }
+ len = strlen(format);
+ if (len >= 2)
+ len -= 2;
- IMCC_debug(interp, DEBUG_PARSER, "%s %s\t%s\n", name, format, fullname);
+ format[len] = '\0';
- /* make the instruction */
- ins = _mk_instruction(name, format, n, r, dirs);
- ins->keys |= keyvec;
+ if (fmt && *fmt) {
+ strncpy(format, fmt, sizeof (format) - 1);
+ format[sizeof (format) - 1] = '\0';
+ }
- /* fill in oplib's info */
- ins->opnum = op;
- ins->opsize = n + 1;
+ IMCC_debug(interp, DEBUG_PARSER, "%s %s\t%s\n", name, format, fullname);
- /* mark end as absolute branch */
- if (STREQ(name, "end") || STREQ(name, "ret")) {
- ins->type |= ITBRANCH | IF_goto;
- }
- else if (STREQ(name, "warningson")) {
- /* emit a debug seg, if this op is seen */
- PARROT_WARNINGS_on(interp, PARROT_WARNINGS_ALL_FLAG);
- }
- else if (STREQ(name, "yield")) {
- if (!IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
- IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- "Cannot yield from non-continuation\n");
+ /* make the instruction */
+ ins = _mk_instruction(name, format, n, r, dirs);
+ ins->keys |= keyvec;
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub
- |= 1 | ITPCCYIELD;
- }
- else if ((strncmp(name, "invoke", 6) == 0) ||
- (strncmp(name, "callmethod", 10) == 0)) {
- if (IMCC_INFO(interp)->cur_unit->type & IMC_PCCSUB)
- IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
- }
-
- /* set up branch flags
- * mark registers that are labels */
- for (i = 0; i < op_info->op_count - 1; i++) {
- if (op_info->labels[i])
- ins->type |= ITBRANCH | (1 << i);
- else {
- if (r[i]->type == VTADDRESS)
+ /* fill in oplib's info */
+ ins->opnum = op;
+ ins->opsize = n + 1;
+
+ /* mark end as absolute branch */
+ if (STREQ(name, "end") || STREQ(name, "ret")) {
+ ins->type |= ITBRANCH | IF_goto;
+ }
+ else if (STREQ(name, "warningson")) {
+ /* emit a debug seg, if this op is seen */
+ PARROT_WARNINGS_on(interp, PARROT_WARNINGS_ALL_FLAG);
+ }
+ else if (STREQ(name, "yield")) {
+ if (!IMCC_INFO(interp)->cur_unit->instructions->symregs[0])
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
- "undefined identifier '%s'\n", r[i]->name);
+ "Cannot yield from non-continuation\n");
+
+ IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub
+ |= 1 | ITPCCYIELD;
}
- }
+ else if ((strncmp(name, "invoke", 6) == 0) ||
+ (strncmp(name, "callmethod", 10) == 0)) {
+ if (IMCC_INFO(interp)->cur_unit->type & IMC_PCCSUB)
+ IMCC_INFO(interp)->cur_unit->instructions->symregs[0]->pcc_sub->calls_a_sub |= 1;
+ }
+
+ /* set up branch flags
+ * mark registers that are labels */
+ for (i = 0; i < op_info->op_count - 1; i++) {
+ if (op_info->labels[i])
+ ins->type |= ITBRANCH | (1 << i);
+ else {
+ if (r[i]->type == VTADDRESS)
+ IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
+ "undefined identifier '%s'\n", r[i]->name);
+ }
+ }
+
+ if (op_info->jump) {
+ ins->type |= ITBRANCH;
+ /* TODO use opnum constants */
+ if (STREQ(name, "branch")
+ || STREQ(name, "tailcall")
+ || STREQ(name, "returncc"))
+ ins->type |= IF_goto;
+ else if (STREQ(fullname, "jump_i")
+ || STREQ(fullname, "branch_i"))
+ IMCC_INFO(interp)->dont_optimize = 1;
+ }
+ else if (STREQ(name, "set") && n == 2) {
+ /* set Px, Py: both PMCs have the same address */
+ if (r[0]->set == r[1]->set && REG_NEEDS_ALLOC(r[1]))
+ ins->type |= ITALIAS;
+ }
+ else if (STREQ(name, "compile"))
+ ++IMCC_INFO(interp)->has_compile;
- if (op_info->jump) {
- ins->type |= ITBRANCH;
- /* TODO use opnum constants */
- if (STREQ(name, "branch")
- || STREQ(name, "tailcall")
- || STREQ(name, "returncc"))
- ins->type |= IF_goto;
- else if (STREQ(fullname, "jump_i")
- || STREQ(fullname, "branch_i"))
- IMCC_INFO(interp)->dont_optimize = 1;
- }
- else if (STREQ(name, "set") && n == 2) {
- /* set Px, Py: both PMCs have the same address */
- if (r[0]->set == r[1]->set && REG_NEEDS_ALLOC(r[1]))
- ins->type |= ITALIAS;
- }
- else if (STREQ(name, "compile"))
- ++IMCC_INFO(interp)->has_compile;
-
- found_ins:
- if (emit)
- emitb(interp, unit, ins);
+ found_ins:
+ if (emit)
+ emitb(interp, unit, ins);
- return ins;
+ return ins;
+ }
}
extern void* yy_scan_string(const char *);
Modified: branches/include_dynpmc_makefile/compilers/imcc/pbc.c
==============================================================================
--- branches/include_dynpmc_makefile/compilers/imcc/pbc.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/imcc/pbc.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -983,31 +983,32 @@
ASSERT_ARGS(add_const_str)
PackFile_ConstTable *table = interp->code->const_table;
- STRING * const s = IMCC_string_from_reg(interp, r);
- int k = -1;
+ STRING * const s = IMCC_string_from_reg(interp, r);
int i;
+
for (i = 0; i < table->const_count; ++i) {
PackFile_Constant * const constant = table->constants[i];
if (constant->type == PFC_STRING) {
STRING * const sc = constant->u.string;
- if (Parrot_charset_number_of_str(interp, s) ==
- Parrot_charset_number_of_str(interp, sc) &&
- Parrot_encoding_number_of_str(interp, s) ==
- Parrot_encoding_number_of_str(interp, sc) &&
- Parrot_str_equal(interp, s, sc)) {
- k = i;
- break;
+ if (Parrot_charset_number_of_str(interp, s)
+ == Parrot_charset_number_of_str(interp, sc)
+ && Parrot_encoding_number_of_str(interp, s)
+ == Parrot_encoding_number_of_str(interp, sc)
+ && Parrot_str_equal(interp, s, sc)) {
+ return i;
}
}
}
- if (k < 0) {
- PackFile_Constant * constant;
- k = add_const_table(interp);
- constant = table->constants[k];
- constant->type = PFC_STRING;
- constant->u.string = s;
+
+ /* otherwise... */
+ {
+ int k = add_const_table(interp);
+ PackFile_Constant *constant = table->constants[k];
+ constant->type = PFC_STRING;
+ constant->u.string = s;
+
+ return k;
}
- return k;
}
@@ -1538,13 +1539,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 +1556,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/include_dynpmc_makefile/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pct/src/PAST/Compiler.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pct/src/PAST/Compiler.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -102,7 +102,8 @@
piropsig['splice'] = 'PPii'
piropsig['split'] = 'Pss'
piropsig['sub'] = 'PP+'
- piropsig['substr'] = 'Ssiis'
+ piropsig['substr'] = 'Ssii'
+ piropsig['replace'] = 'Ssiis'
piropsig['pow'] = 'NN+'
piropsig['print'] = 'v*'
piropsig['say'] = 'v*'
@@ -1150,7 +1151,7 @@
name = node.'name'()
if name goto call_by_name
## our first child is the thing to be invoked, so make sure it's a PMC
- substr signature, 1, 0, 'P'
+ signature = replace signature, 1, 0, 'P'
(ops, posargs, namedargs) = self.'post_children'(node, 'signature'=>signature)
goto children_done
call_by_name:
Modified: branches/include_dynpmc_makefile/compilers/pct/src/PCT/HLLCompiler.pir
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pct/src/PCT/HLLCompiler.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pct/src/PCT/HLLCompiler.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -928,7 +928,7 @@
load_dumper:
load_bytecode 'PCT/Dumper.pbc'
- downcase $S0
+ $S0 = downcase $S0
$P0 = get_hll_global ['PCT';'Dumper'], $S0
.tailcall $P0(obj, name)
.end
Modified: branches/include_dynpmc_makefile/compilers/pge/PGE/Exp.pir
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pge/PGE/Exp.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pge/PGE/Exp.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -362,7 +362,7 @@
args['I'] = ''
$I0 = self['ignorecase']
if $I0 == 0 goto ignorecase_end
- args['I'] = 'downcase $S0'
+ args['I'] = '$S0 = downcase $S0'
literal = downcase literal
ignorecase_end:
Modified: branches/include_dynpmc_makefile/compilers/pge/PGE/OPTable.pir
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pge/PGE/OPTable.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pge/PGE/OPTable.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -155,7 +155,7 @@
unless $S0 goto with_looser
$S0 = tokentable[$S0;'precedence']
$S0 = clone $S0
- substr $S0, -1, 0, '<'
+ $S0 = replace $S0, -1, 0, '<'
token['precedence'] = $S0
with_looser:
@@ -163,7 +163,7 @@
unless $S0 goto with_tighter
$S0 = tokentable[$S0;'precedence']
$S0 = clone $S0
- substr $S0, -1, 0, '>'
+ $S0 = replace $S0, -1, 0, '>'
token['precedence'] = $S0
with_tighter:
@@ -377,7 +377,7 @@
goto key_array_1
key_next:
if key == '' goto token_nows
- chopn key, 1
+ key = chopn key, 1
goto key_loop
token_nows:
if pos == wspos goto oper_not_found
Modified: branches/include_dynpmc_makefile/compilers/pge/PGE/Perl6Regex.pir
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pge/PGE/Perl6Regex.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pge/PGE/Perl6Regex.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1021,7 +1021,7 @@
## by converting to <, <+, <-, or <!
$S0 = substr op, -1, 1
if $S0 != '[' goto parse_loop
- chopn op, 1
+ op = chopn op, 1
goto enum
parse_loop:
Modified: branches/include_dynpmc_makefile/compilers/pirc/Rules.mak
==============================================================================
--- branches/include_dynpmc_makefile/compilers/pirc/Rules.mak Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/compilers/pirc/Rules.mak Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,5 @@
compilers/pirc/src/piremit$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/piremit.c \
compilers/pirc/src/piremit.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pircompiler.h \
@@ -13,6 +14,7 @@
$(INC_DIR)/oplib/ops.h
compilers/pirc/src/pirparser$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirparser.c \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pirdefines.h \
@@ -30,6 +32,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirerr$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirerr.c \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pirdefines.h \
@@ -44,6 +47,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/bcgen$(O) : \
+ compilers/pirc/src/bcgen.c \
compilers/pirc/src/pirsymbol.h \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirregalloc.h \
@@ -57,6 +61,7 @@
include/pmc/pmc_namespace.h
compilers/pirc/src/pirregalloc$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirregalloc.c \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pirdefines.h \
@@ -66,25 +71,30 @@
compilers/pirc/src/bcgen.h \
$(INC_DIR)/embed.h
-compilers/pirc/heredoc/heredocmain$(O) : $(PARROT_H_HEADERS)
+compilers/pirc/heredoc/heredocmain$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/heredoc/heredocmain.c \
compilers/pirc/macro/macrolexer$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/macro/macrolexer.c \
compilers/pirc/macro/macro.h \
compilers/pirc/macro/lexer.h \
compilers/pirc/macro/macroparser.h
compilers/pirc/macro/macroparser$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/macro/macroparser.c \
compilers/pirc/macro/macro.h \
compilers/pirc/macro/lexer.h \
compilers/pirc/macro/macroparser.h \
compilers/pirc/macro/macrolexer.h
compilers/pirc/src/hdocprep$(O) : $(PARROT_H_HEADERS) \
- $(INC_DIR)/embed.h compilers/pirc/src/pirheredoc.h
+ $(INC_DIR)/embed.h compilers/pirc/src/pirheredoc.h \
+ compilers/pirc/src/hdocprep.c
compilers/pirc/src/main$(O) : \
$(PARROT_H_HEADERS) \
$(INC_DIR)/embed.h \
+ compilers/pirc/src/main.c \
compilers/pirc/src/bcgen.h \
compilers/pirc/src/pirparser.h \
compilers/pirc/src/pircompiler.h \
@@ -101,6 +111,7 @@
compilers/pirc/src/pircapi$(O) : \
$(PARROT_H_HEADERS) \
+ compilers/pirc/src/pircapi.c \
compilers/pirc/src/bcgen.h \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirparser.h \
@@ -116,6 +127,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pircompiler$(O) : \
+ compilers/pirc/src/pircompiler.c \
compilers/pirc/src/pircompiler.h \
$(PARROT_H_HEADERS) \
compilers/pirc/src/piryy.h \
@@ -129,6 +141,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pircompunit$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pircompunit.c \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirsymbol.h \
@@ -145,6 +158,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirlexer$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirlexer.c \
compilers/pirc/src/pirparser.h \
compilers/pirc/src/pirmacro.h \
compilers/pirc/src/pirerr.h \
@@ -158,6 +172,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirmacro$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirmacro.c \
compilers/pirc/src/pirmacro.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pircompiler.h \
@@ -168,6 +183,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirop$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirop.c \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pircompunit.h \
compilers/pirc/src/pirop.h \
@@ -181,6 +197,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirpcc$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirpcc.c \
compilers/pirc/src/pirpcc.h \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirerr.h \
@@ -195,6 +212,7 @@
$(INC_DIR)/embed.h
compilers/pirc/src/pirsymbol$(O) : $(PARROT_H_HEADERS) \
+ compilers/pirc/src/pirsymbol.c \
compilers/pirc/src/pircompiler.h \
compilers/pirc/src/pirsymbol.h \
compilers/pirc/src/piryy.h \
Deleted: branches/include_dynpmc_makefile/config/auto/cgoto.pm
==============================================================================
--- branches/include_dynpmc_makefile/config/auto/cgoto.pm Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,82 +0,0 @@
-# Copyright (C) 2001-2005, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-config/auto/cgoto.pm - Computed C<goto>
-
-=head1 DESCRIPTION
-
-Determines whether the compiler supports computed C<goto>.
-
-=cut
-
-package auto::cgoto;
-
-use strict;
-use warnings;
-
-use base qw(Parrot::Configure::Step);
-
-use Parrot::Configure::Utils ':auto';
-
-sub _init {
- my $self = shift;
- return {
- 'description' => 'Does your compiler support computed goto',
- 'result' => '',
- };
-}
-
-sub runstep {
- my ( $self, $conf ) = @_;
-
- my $test = _probe_for_cgoto( $conf );
-
- $self->_evaluate_cgoto($conf, $test);
-
- return 1;
-}
-
-sub _probe_for_cgoto {
- my $conf = shift;
- my $cgoto = $conf->options->get('cgoto');
- my $test;
- if ( defined $cgoto ) {
- $test = $cgoto;
- }
- else {
- $conf->cc_gen('config/auto/cgoto/test_c.in');
- $test = eval { $conf->cc_build(); 1; } || 0;
- $conf->cc_clean();
- }
- return $test;
-}
-
-sub _evaluate_cgoto {
- my ($self, $conf, $test) = @_;
- my $verbose = $conf->options->get('verbose');
- if ($test) {
- $conf->data->set(
- cg_flag => '-DHAVE_COMPUTED_GOTO'
- );
- print " (yes) " if $verbose;
- $self->set_result('yes');
- }
- else {
- $conf->data->set(
- cg_flag => ''
- );
- print " (no) " if $verbose;
- $self->set_result('no');
- }
-}
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/include_dynpmc_makefile/config/auto/warnings.pm
==============================================================================
--- branches/include_dynpmc_makefile/config/auto/warnings.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/config/auto/warnings.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -139,7 +139,6 @@
-Wpointer-sign
-Wreturn-type
-Wsequence-point
- -Wno-shadow
-Wsign-compare
-Wstrict-aliasing
-Wstrict-aliasing=2
Copied: branches/include_dynpmc_makefile/config/auto/zlib.pm (from r46115, trunk/config/auto/zlib.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/config/auto/zlib.pm Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, 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/include_dynpmc_makefile/config/auto/zlib/zlib_c.in (from r46115, trunk/config/auto/zlib/zlib_c.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/config/auto/zlib/zlib_c.in Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, 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/include_dynpmc_makefile/config/gen/config_h/config_h.in
==============================================================================
--- branches/include_dynpmc_makefile/config/gen/config_h/config_h.in Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/config/gen/config_h/config_h.in Wed Apr 28 19:17:12 2010 (r46116)
@@ -152,10 +152,6 @@
/* Oplib and dynamic ops related. */
#define PARROT_CORE_OPLIB_NAME "core"
#define PARROT_CORE_OPLIB_INIT Parrot_DynOp_core_ at MAJOR@_ at MINOR@_ at PATCH@
-#define PARROT_CORE_PREDEREF_OPLIB_INIT Parrot_DynOp_core_prederef_ at MAJOR@_ at MINOR@_ at PATCH@
-#define PARROT_CORE_SWITCH_OPLIB_INIT Parrot_DynOp_core_switch_ at MAJOR@_ at MINOR@_ at PATCH@
-#define PARROT_CORE_CG_OPLIB_INIT Parrot_DynOp_core_cg_ at MAJOR@_ at MINOR@_ at PATCH@
-#define PARROT_CORE_CGP_OPLIB_INIT Parrot_DynOp_core_cgp_ at MAJOR@_ at MINOR@_ at PATCH@
/* ICU. */
#define PARROT_HAS_ICU @has_icu@
Modified: branches/include_dynpmc_makefile/config/gen/makefiles.pm
==============================================================================
--- branches/include_dynpmc_makefile/config/gen/makefiles.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/config/gen/makefiles.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -48,8 +48,6 @@
conditioned_lines => 1,
},
- 'compilers/ncigen/Makefile' =>
- { SOURCE => 'compilers/ncigen/config/makefiles/ncigen.in' },
'src/dynpmc/Rules.mak' => {
SOURCE => 'src/dynpmc/Rules.in',
},
Modified: branches/include_dynpmc_makefile/config/gen/makefiles/root.in
==============================================================================
--- branches/include_dynpmc_makefile/config/gen/makefiles/root.in Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/config/gen/makefiles/root.in Wed Apr 28 19:17:12 2010 (r46116)
@@ -85,7 +85,7 @@
CC_SHARED = @cc_shared@
CC_O_OUT = @cc_o_out@
CC_WARN = @ccwarn@
-CFLAGS = $(CC_INC) @ccflags@ @cc_build_call_frames@ @cc_debug@ @cg_flag@ @gc_flag@ @clock_best@ $(CC_SHARED)
+CFLAGS = $(CC_INC) @ccflags@ @cc_build_call_frames@ @cc_debug@ @gc_flag@ @clock_best@ $(CC_SHARED)
LINK_DYNAMIC = @link_dynamic@
LINK = @link@
LINKFLAGS = @linkflags@ @link_debug@ @ld_debug@
@@ -120,12 +120,10 @@
include compilers/imcc/Defines.mak
include compilers/pirc/Defines.mak
include compilers/tge/Defines.mak
-include compilers/nqp/Defines.mak
include compilers/pge/Defines.mak
include compilers/pct/Defines.mak
include ext/nqp-rx/Defines.mak
include compilers/data_json/Defines.mak
-include compilers/json/Defines.mak
###############################################################################
#
@@ -142,7 +140,6 @@
GEN_MAKEFILES = \
Makefile \
docs/Makefile \
- compilers/ncigen/Makefile \
editor/Makefile \
ext/Makefile \
src/dynoplibs/Rules.mak \
@@ -173,8 +170,7 @@
parrot.pc \
compilers/imcc/imcc.y.flag \
compilers/imcc/imcc.l.flag \
- src/ops/core_ops.c \
- src/ops/core_ops_switch.c
+ src/ops/core_ops.c
GEN_PASM_INCLUDES = \
runtime/parrot/include/cclass.pasm \
@@ -240,7 +236,6 @@
$(INC_DIR)/vtable.h \
$(INC_DIR)/oplib/core_ops.h \
$(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/oplib/core_ops_switch.h \
$(INC_DIR)/extend_vtable.h \
$(INC_DIR)/pbcversion.h
@@ -248,7 +243,6 @@
src/core_ops.c \
src/nci.c \
src/glut_nci_thunks.c \
- src/core_ops_switch.c \
src/parrot_config.c \
src/null_config.c \
src/install_config.c \
@@ -407,12 +401,10 @@
$(INC_DIR)/core_pmcs.h \
$(INC_DIR)/compiler.h \
$(INC_DIR)/cclass.h \
- include/pmc/pmc_callcontext.h \
- include/pmc/pmc_parrotinterpreter.h
+ include/pmc/pmc_callcontext.h
# generated list of header files
GENERAL_H_FILES = $(NONGEN_HEADERS) $(GEN_HEADERS) \
-#IF(cg_flag): $(INC_DIR)/oplib/core_ops_cg.h $(INC_DIR)/oplib/core_ops_cgp.h
CHARSET_O_FILES = @TEMP_charset_o@
@@ -436,10 +428,7 @@
INTERP_O_FILES = \
src/string/api$(O) \
- \
src/ops/core_ops$(O) \
- src/ops/core_ops_switch$(O) \
- \
#IF(i386_has_gcc_cmpxchg): src/atomic/gcc_x86$(O) \
src/byteorder$(O) \
src/string/charset$(O) \
@@ -503,7 +492,6 @@
@TEMP_atomic_o@ \
@TEMP_gc_o@ \
#IF(platform_asm): src/platform_asm$(O) \
-#IF(cg_flag): src/ops/core_ops_cg$(O) src/ops/core_ops_cgp$(O) \
OPS_FILES = @ops@ $(GEN_OPSFILES)
@@ -618,7 +606,6 @@
$(TGE_LIB_PBCS) \
$(PGE_LIB_PBCS) \
$(PCT_LIB_PBCS) \
- $(JSON_LIB_PBCS) \
$(DATA_JSON_LIB_PBCS) \
$(NQP_LIB_PBCS) \
$(GEN_LIBRARY) \
@@ -876,28 +863,33 @@
@echo "Invoking Parrot to generate install_config.fpmc"
$(PARROT) config_lib.pir --install > $@
-src/parrot_config$(O) : $(PARROT_H_HEADERS)
+src/parrot_config$(O) : $(PARROT_H_HEADERS) src/parrot_config.c
-src/install_config$(O) : $(PARROT_H_HEADERS)
+src/install_config$(O) : $(PARROT_H_HEADERS) src/install_config.c
-src/null_config$(O) : $(PARROT_H_HEADERS)
+src/null_config$(O) : $(PARROT_H_HEADERS) src/null_config.c
-src/oo$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_class.h include/pmc/pmc_object.h src/oo.str $(INC_DIR)/oo_private.h
+src/oo$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_class.h src/oo.c \
+ include/pmc/pmc_object.h src/oo.str $(INC_DIR)/oo_private.h
-src/scheduler$(O) : $(PARROT_H_HEADERS) src/scheduler.str \
+src/scheduler$(O) : $(PARROT_H_HEADERS) src/scheduler.str src/scheduler.c \
include/pmc/pmc_scheduler.h include/pmc/pmc_task.h \
include/pmc/pmc_timer.h \
- $(INC_DIR)/scheduler_private.h
+ $(INC_DIR)/scheduler_private.h \
+ $(INC_DIR)/runcore_api.h
-src/io/core$(O) : $(PARROT_H_HEADERS) src/io/io_private.h
+src/io/core$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/core.c
-src/io/socket_api$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/api.str include/pmc/pmc_socket.h
+src/io/socket_api$(O) : $(PARROT_H_HEADERS) src/io/io_private.h \
+ src/io/api.str include/pmc/pmc_socket.h src/io/socket_api.c
-src/io/socket_unix$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_socket.h src/io/io_private.h
+src/io/socket_unix$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_socket.h \
+ src/io/io_private.h src/io/socket_unix.c
src/io/socket_win32$(O) : $(PARROT_H_HEADERS) \
src/io/io_private.h \
- include/pmc/pmc_socket.h
+ include/pmc/pmc_socket.h \
+ src/io/socket_win32.c
O_FILES = \
$(INTERP_O_FILES) \
@@ -950,7 +942,7 @@
$(INSTALLABLENCITHUNKGEN) : parrot_nci_thunk_gen.pbc $(PBC_TO_EXE) src/install_config$(O)
$(PBC_TO_EXE) parrot_nci_thunk_gen.pbc --install
-$(INSTALLABLETAPIR) : tapir.pbc $(PBC_TO_EXE)
+$(INSTALLABLETAPIR) : tapir.pbc $(PBC_TO_EXE) src/install_config$(O)
$(PBC_TO_EXE) tapir.pbc --install
#
@@ -958,6 +950,7 @@
#
src/parrot_debugger$(O) : $(INC_DIR)/embed.h \
+ src/parrot_debugger.c \
$(INC_DIR)/runcore_api.h \
compilers/imcc/imc.h $(PARROT_H_HEADERS) compilers/imcc/parser.h \
compilers/imcc/cfg.h \
@@ -987,7 +980,8 @@
# Parrot Disassembler
#
-src/pbc_disassemble$(O) : $(INC_DIR)/embed.h $(PARROT_H_HEADERS)
+src/pbc_disassemble$(O) : $(INC_DIR)/embed.h $(PARROT_H_HEADERS) \
+ src/pbc_disassemble.c
$(DIS) : src/pbc_disassemble$(O) $(LIBPARROT)
$(LINK) @ld_out@$@ \
@@ -1005,7 +999,8 @@
#
# Parrot Dump
#
-src/packdump$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_sub.h include/pmc/pmc_key.h
+src/packdump$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_sub.h \
+ include/pmc/pmc_key.h src/packdump.c
$(PDUMP) : src/pbc_dump$(O) src/packdump$(O) $(LIBPARROT)
$(LINK) @ld_out@$@ \
@@ -1014,7 +1009,7 @@
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
src/pbc_dump$(O) : $(INC_DIR)/embed.h $(INC_DIR)/oplib/ops.h \
- $(PARROT_H_HEADERS)
+ $(PARROT_H_HEADERS) src/pbc_dump.c
$(INSTALLABLEPDUMP) : src/pbc_dump$(O) src/packdump$(O) \
src/install_config$(O) $(LIBPARROT)
@@ -1222,59 +1217,59 @@
#
###############################################################################
-src/byteorder$(O) : $(PARROT_H_HEADERS)
+src/byteorder$(O) : $(PARROT_H_HEADERS) src/byteorder.c
-src/datatypes$(O) : $(PARROT_H_HEADERS)
+src/datatypes$(O) : $(PARROT_H_HEADERS) src/datatypes.c
src/extend_vtable$(O) : $(PARROT_H_HEADERS) \
- $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h
+ $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h src/extend_vtable.c
-src/global_setup$(O) : $(PARROT_H_HEADERS) src/global_setup.str
+src/global_setup$(O) : $(PARROT_H_HEADERS) src/global_setup.str src/global_setup.c
-src/global$(O) : $(PARROT_H_HEADERS) src/global.str \
+src/global$(O) : $(PARROT_H_HEADERS) src/global.str src/global.c \
include/pmc/pmc_sub.h
-src/pmc$(O) : include/pmc/pmc_class.h \
+src/pmc$(O) : include/pmc/pmc_class.h src/pmc.c \
src/pmc.str $(PARROT_H_HEADERS)
-src/pmc_freeze$(O) : $(PARROT_H_HEADERS) src/pmc_freeze.str
+src/pmc_freeze$(O) : $(PARROT_H_HEADERS) src/pmc_freeze.str src/pmc_freeze.c
-src/hash$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_key.h
+src/hash$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_key.h src/hash.c
-src/library$(O) : $(PARROT_H_HEADERS) src/library.str \
+src/library$(O) : $(PARROT_H_HEADERS) src/library.str src/library.c\
$(INC_DIR)/dynext.h
$(INC_DIR)/extend_vtable.h src/extend_vtable.c src/vtable.h : src/vtable.tbl $(BUILD_TOOLS_DIR)/vtable_extend.pl lib/Parrot/Vtable.pm
$(PERL) $(BUILD_TOOLS_DIR)/vtable_extend.pl
-src/key$(O) : $(PARROT_H_HEADERS) src/key.str \
+src/key$(O) : $(PARROT_H_HEADERS) src/key.str src/key.c \
include/pmc/pmc_key.h
-src/gc/mark_sweep$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
+src/gc/mark_sweep$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/mark_sweep.c
-src/gc/gc_ms$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
+src/gc/gc_ms$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/gc_ms.c
-src/gc/gc_inf$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
+src/gc/gc_inf$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/gc_inf.c
-src/gc/api$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
+src/gc/api$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/api.c
src/gc/alloc_resources$(O) : $(PARROT_H_HEADERS) \
- src/gc/gc_private.h
+ src/gc/gc_private.h src/gc/alloc_resources.c
-src/hll$(O) : $(PARROT_H_HEADERS) src/hll.str $(INC_DIR)/dynext.h
+src/hll$(O) : $(PARROT_H_HEADERS) src/hll.str $(INC_DIR)/dynext.h src/hll.c
-src/platform$(O) : $(PARROT_H_HEADERS)
+src/platform$(O) : $(PARROT_H_HEADERS) src/platform.c
#IF(platform_asm):src/platform_asm$(O) : $(PARROT_H_HEADERS)
#IF(platform_asm):
-src/core_pmcs$(O) : $(PARROT_H_HEADERS)
+src/core_pmcs$(O) : $(PARROT_H_HEADERS) src/core_pmcs.c
-src/runcore/trace$(O) : include/pmc/pmc_sub.h \
+src/runcore/trace$(O) : include/pmc/pmc_sub.h src/runcore/trace.c \
$(INC_DIR)/oplib/ops.h $(INC_DIR)/runcore_trace.h \
$(PARROT_H_HEADERS)
src/debug$(O) : $(INC_DIR)/embed.h $(INC_DIR)/extend.h \
- $(PARROT_H_HEADERS) \
+ $(PARROT_H_HEADERS) src/debug.c \
$(INC_DIR)/oplib/ops.h \
$(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
src/debug.str include/pmc/pmc_key.h \
@@ -1282,26 +1277,27 @@
$(INC_DIR)/extend_vtable.h
src/sub$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/oplib/ops.h \
- src/sub.str \
+ src/sub.str src/sub.c \
include/pmc/pmc_sub.h include/pmc/pmc_continuation.h
src/string/api$(O) : $(PARROT_H_HEADERS) src/string/api.str \
- src/string/private_cstring.h
+ src/string/private_cstring.h src/string/api.c
-src/string/primitives$(O) : $(PARROT_H_HEADERS)
+src/string/primitives$(O) : $(PARROT_H_HEADERS) src/string/primitives.c
-src/longopt$(O) : $(PARROT_H_HEADERS)
+src/longopt$(O) : $(PARROT_H_HEADERS) src/longopt.c
src/dynext$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/dynext.h \
- src/dynext.str include/pmc/pmc_parrotlibrary.h
+ src/dynext.str include/pmc/pmc_parrotlibrary.h src/dynext.c
src/exceptions$(O) : $(PARROT_H_HEADERS) \
- src/exceptions.str \
+ src/exceptions.str src/exceptions.c \
include/pmc/pmc_continuation.h
-src/thread$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/atomic.h \
+src/thread$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/atomic.h src/thread.c \
include/pmc/pmc_sub.h \
- include/pmc/pmc_parrotinterpreter.h
+ include/pmc/pmc_parrotinterpreter.h \
+ $(INC_DIR)/runcore_api.h
## SUFFIX OVERRIDE - dynloaded files need cc_shared
src/extend$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/extend.h \
@@ -1309,14 +1305,15 @@
$(CC) $(CFLAGS) @optimize::src/extend.c@ @ccwarn::src/extend.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/extend.c
src/runcore/main$(O) : \
+ src/runcore/main.c \
src/runcore/main.str \
include/pmc/pmc_parrotlibrary.h \
$(INC_DIR)/dynext.h $(INC_DIR)/oplib/core_ops.h \
- $(INC_DIR)/oplib/core_ops_switch.h $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/oplib/ops.h \
$(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h \
$(INC_DIR)/runcore_profiling.h
-src/runcore/profiling$(O) : src/runcore/profiling.str \
+src/runcore/profiling$(O) : src/runcore/profiling.str src/runcore/profiling.c \
include/pmc/pmc_sub.h \
include/pmc/pmc_namespace.h \
$(INC_DIR)/oplib/core_ops.h $(INC_DIR)/runcore_api.h \
@@ -1325,25 +1322,30 @@
src/call/args$(O) : \
$(PARROT_H_HEADERS) $(INC_DIR)/oplib/ops.h \
+ src/call/args.c \
src/call/args.str \
include/pmc/pmc_key.h \
include/pmc/pmc_fixedintegerarray.h
-src/call/context_accessors$(O): $(PARROT_H_HEADERS)
+src/call/context_accessors$(O): $(PARROT_H_HEADERS) \
+ src/call/context_accessors.c
src/call/pcc$(O) : $(INC_DIR)/oplib/ops.h \
$(PARROT_H_HEADERS) \
$(INC_DIR)/runcore_api.h \
+ src/call/pcc.c \
src/call/pcc.str \
include/pmc/pmc_key.h include/pmc/pmc_continuation.h
src/call/context$(O) : $(PARROT_H_HEADERS) \
- include/pmc/pmc_sub.h
+ include/pmc/pmc_sub.h src/call/context.c
src/interp/inter_cb$(O) : $(PARROT_H_HEADERS) \
- src/interp/inter_cb.str
+ include/pmc/pmc_parrotinterpreter.h \
+ src/interp/inter_cb.str src/interp/inter_cb.c
src/interp/inter_misc$(O) : $(PARROT_H_HEADERS) \
+ src/interp/inter_misc.c \
src/interp/inter_misc.str \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
@@ -1357,6 +1359,8 @@
src/interp/inter_create$(O) : $(PARROT_H_HEADERS) \
$(INC_DIR)/oplib/core_ops.h \
+ src/gc/gc_private.h \
+ src/interp/inter_create.c \
src/interp/inter_create.str \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
@@ -1369,33 +1373,43 @@
$(INC_DIR)/runcore_api.h
src/call/ops$(O) : $(INC_DIR)/oplib/ops.h \
- $(PARROT_H_HEADERS) include/pmc/pmc_continuation.h
+ $(PARROT_H_HEADERS) include/pmc/pmc_continuation.h \
+ $(INC_DIR)/runcore_api.h src/call/ops.c
src/io/api$(O) : $(PARROT_H_HEADERS) src/io/io_private.h \
+ src/io/api.c \
src/io/api.str include/pmc/pmc_filehandle.h \
- include/pmc/pmc_stringhandle.h
+ include/pmc/pmc_stringhandle.h \
+ $(INC_DIR)/extend.h \
+ $(INC_DIR)/extend_vtable.h
-src/io/buffer$(O) : $(PARROT_H_HEADERS) src/io/io_private.h
+src/io/buffer$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/buffer.c
-src/io/portable$(O) : $(PARROT_H_HEADERS) src/io/io_private.h
+src/io/portable$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/portable.c
-src/io/unix$(O) : $(PARROT_H_HEADERS) src/io/io_private.h include/pmc/pmc_filehandle.h
+src/io/unix$(O) : $(PARROT_H_HEADERS) src/io/io_private.h \
+ include/pmc/pmc_filehandle.h src/io/unix.c
-src/io/utf8$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/string/unicode.h
+src/io/utf8$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/string/unicode.h \
+ src/io/utf8.c
-src/io/win32$(O) : $(PARROT_H_HEADERS) src/io/io_private.h include/pmc/pmc_filehandle.h
+src/io/win32$(O) : $(PARROT_H_HEADERS) src/io/io_private.h \
+ include/pmc/pmc_filehandle.h src/io/win32.c
-src/gc/alloc_memory$(O) : $(PARROT_H_HEADERS)
+src/gc/alloc_memory$(O) : $(PARROT_H_HEADERS) src/gc/alloc_memory.c
src/main$(O) : $(INC_DIR)/imcc.h $(PARROT_H_HEADERS) \
- $(INC_DIR)/embed.h
+ $(INC_DIR)/embed.h $(INC_DIR)/runcore_api.h src/gc/gc_private.h \
+ src/main.c
src/multidispatch$(O) : \
+ src/multidispatch.c \
src/multidispatch.str \
$(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS) \
include/pmc/pmc_nci.h include/pmc/pmc_sub.h
src/packfile$(O) : src/packfile.str \
+ src/packfile.c \
include/pmc/pmc_sub.h include/pmc/pmc_key.h \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
@@ -1408,20 +1422,22 @@
$(INC_DIR)/embed.h $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h \
$(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h
-src/packfile/pf_items$(O) : $(PARROT_H_HEADERS)
+src/packfile/pf_items$(O) : $(PARROT_H_HEADERS) src/packfile/pf_items.c
-src/packout$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_key.h
+src/packout$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_key.h src/packout.c
src/parrot$(O) : $(GENERAL_H_FILES)
src/runcore/cores$(O) : src/runcore/cores.str \
+ src/runcore/cores.c \
include/pmc/pmc_sub.h \
$(INC_DIR)/dynext.h $(INC_DIR)/embed.h $(INC_DIR)/oplib/core_ops.h \
- $(INC_DIR)/oplib/core_ops_switch.h $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/oplib/ops.h \
$(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
$(PARROT_H_HEADERS)
src/embed$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/embed.h \
+ src/embed.c \
$(INC_DIR)/oplib/ops.h $(INC_DIR)/runcore_api.h \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
@@ -1434,55 +1450,55 @@
src/dataypes$(O) : $(GENERAL_H_FILES) src/dataypes.c
-src/exit$(O) : $(PARROT_H_HEADERS)
+src/exit$(O) : $(PARROT_H_HEADERS) src/exit.c
src/nci/api$(O) : src/nci/api.str \
- $(PARROT_H_HEADERS) \
- include/pmc/pmc_unmanagedstruct.h \
- include/pmc/pmc_nci.h
+ src/nci/api.c \
+ $(PARROT_H_HEADERS)
-src/nci/core_thunks$(O) : src/nci/core_thunks.str \
+src/nci/core_thunks$(O) : src/nci/core_thunks.c \
$(PARROT_H_HEADERS) \
- include/pmc/pmc_unmanagedstruct.h \
include/pmc/pmc_nci.h
## SUFFIX OVERRIDE
-src/nci/extra_thunks$(O) : src/nci/extra_thunks.str \
+src/nci/extra_thunks$(O) : \
$(PARROT_H_HEADERS) \
- include/pmc/pmc_unmanagedstruct.h \
include/pmc/pmc_nci.h \
src/nci/extra_thunks.c
$(CC) $(CFLAGS) @optimize::src/nci/extra_thunks.c@ @ccwarn::src/nci/extra_thunks.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/nci/extra_thunks.c
src/frame_builder$(O) : $(PARROT_H_HEADERS) src/frame_builder.h \
+ src/frame_builder.c \
include/pmc/pmc_fixedintegerarray.h \
include/pmc/pmc_unmanagedstruct.h \
include/pmc/pmc_managedstruct.h \
$(INC_DIR)/oplib/ops.h
-src/vtables$(O) : $(PARROT_H_HEADERS)
+src/vtables$(O) : $(PARROT_H_HEADERS) src/vtables.c
## SUFFIX OVERRIDE
-src/gc/system$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h
+src/gc/system$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/system.c
$(CC) $(CFLAGS) @optimize::src/gc/system.c@ @ccwarn::src/gc/system.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/gc/system.c
src/gc/gc_private.h : $(INC_DIR)/settings.h
-src/warnings$(O) : $(PARROT_H_HEADERS)
+src/gc/malloc$(O) : src/gc/malloc.c
+
+src/warnings$(O) : $(PARROT_H_HEADERS) src/warnings.c
-src/misc$(O) : $(PARROT_H_HEADERS)
+src/misc$(O) : $(PARROT_H_HEADERS) src/misc.c
-src/utils$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_nci.h
+src/utils$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_nci.h src/utils.c
## SUFFIX OVERRIDE
-src/spf_render$(O) : $(PARROT_H_HEADERS) src/spf_render.str
+src/spf_render$(O) : $(PARROT_H_HEADERS) src/spf_render.str src/spf_render.c
$(CC) $(CFLAGS) @optimize::src/spf_render.c@ @ccwarn::src/spf_render.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/spf_render.c
-src/spf_vtable$(O) : $(PARROT_H_HEADERS) src/spf_vtable.str
+src/spf_vtable$(O) : $(PARROT_H_HEADERS) src/spf_vtable.str src/spf_vtable.c
-src/string/encoding$(O) : $(PARROT_H_HEADERS)
+src/string/encoding$(O) : $(PARROT_H_HEADERS) src/string/encoding.c
-src/string/charset$(O) : $(PARROT_H_HEADERS) \
+src/string/charset$(O) : $(PARROT_H_HEADERS) src/string/charset.c \
src/string/encoding/fixed_8.h \
src/string/encoding/utf8.h \
src/string/encoding/utf16.h \
@@ -1492,16 +1508,18 @@
src/string/charset/iso-8859-1.h \
src/string/charset/unicode.h
-src/pbc_merge$(O) : $(INC_DIR)/embed.h \
+src/pbc_merge$(O) : $(INC_DIR)/embed.h src/pbc_merge.c \
include/pmc/pmc_sub.h $(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS)
-src/io/filehandle$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_filehandle.h src/io/io_private.h
+src/io/filehandle$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_filehandle.h \
+ src/io/io_private.h src/io/filehandle.c
-src/gc/malloc_trace$(O) : src/gc/malloc.c
+src/gc/malloc_trace$(O) : src/gc/malloc.c src/gc/malloc_trace.c
-src/packfile/pf_items$(O) : $(PARROT_H_HEADERS)
+src/packfile/pf_items$(O) : $(PARROT_H_HEADERS) src/packfile/pf_items.c
-src/atomic/gcc_x86$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/atomic/gcc_x86.h
+src/atomic/gcc_x86$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/atomic/gcc_x86.h \
+ src/atomic/gcc_x86.c
# core_ops depends upon config.h so that it gets updated along with
# updates to config.h's version numbers
@@ -1521,41 +1539,6 @@
include/pmc/pmc_continuation.h
$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --core @no_lines_flag@
-## SUFFIX OVERRIDE
-src/ops/core_ops_switch$(O) : $(GENERAL_H_FILES) src/ops/core_ops_switch.c \
- include/pmc/pmc_parrotlibrary.h
- $(CC) $(CFLAGS) @optimize::src/ops/core_ops_switch.c@ @ccwarn::src/ops/core_ops_switch.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/ops/core_ops_switch.c
-
-$(INC_DIR)/oplib/core_ops_switch.h : src/ops/core_ops_switch.c
-
-src/ops/core_ops_switch.c : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2c.pl \
- lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC_DIR)/config.h \
- lib/Parrot/OpLib/core.pm lib/Parrot/OpTrans/CSwitch.pm \
- lib/Parrot/OpTrans/CPrederef.pm
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CSwitch --core @no_lines_flag@
-
-## SUFFIX OVERRIDE
-src/ops/core_ops_cg$(O): $(GENERAL_H_FILES) src/ops/core_ops_cg.c \
- include/pmc/pmc_parrotlibrary.h
- $(CC) $(CFLAGS) @optimize::src/ops/core_ops_cg.c@ @ccwarn::src/ops/core_ops_cg.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/ops/core_ops_cg.c
-
-## SUFFIX OVERRIDE
-src/ops/core_ops_cgp$(O): $(GENERAL_H_FILES) src/ops/core_ops_cgp.c \
- include/pmc/pmc_parrotlibrary.h
- $(CC) $(CFLAGS) @optimize::src/ops/core_ops_cgp.c@ @ccwarn::src/ops/core_ops_cgp.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/ops/core_ops_cgp.c
-
-src/runcore/cores.c: $(INC_DIR)/oplib/core_ops_cgp.h
-
-$(INC_DIR)/oplib/core_ops_cg.h: src/ops/core_ops_cg.c
-
-src/ops/core_ops_cg.c : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGoto.pm lib/Parrot/OpLib/core.pm
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGoto --core
-
-$(INC_DIR)/oplib/core_ops_cgp.h: src/ops/core_ops_cgp.c
-
-src/ops/core_ops_cgp.c : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2c.pl lib/Parrot/OpsFile.pm lib/Parrot/Op.pm lib/Parrot/OpTrans/CGP.pm lib/Parrot/OpLib/core.pm lib/Parrot/OpTrans/CPrederef.pm
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGP --core
-
@TEMP_gc_c@
@TEMP_pmc_build@
@@ -1694,16 +1677,12 @@
# integrating them in a single run is difficult.
# Normal test package
-test : test_core nqp_test
+test : test_core
# Test Parrot core.
test_core: test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS)
-# Test the NQP compiler
-nqp_test : test_prep compilers/nqp/nqp.pbc
- $(PERL) compilers/nqp/t/harness
-
# run the test suite, create a TAP archive and send it off to smolder
smolder_test : test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS) --archive --send-to-smolder
@@ -1721,21 +1700,17 @@
check : test
# Test various run cores and other stuff
-# 'testC', 'testg' and 'testj' are tested only
+# 'testg' and 'testj' are tested only
# when the needed runcores are available
fulltest :
- at make@ testb \
-#IF(cg_flag): testC \
testf \
-#IF(cg_flag): testg \
testr \
- testS \
src_tests \
run_tests \
buildtools_tests \
perl_tests \
library_tests \
- nqp_test \
codetest \
benchmark_tests \
manifest_tests \
@@ -1746,10 +1721,6 @@
testb : test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS) -b $(RUNCORE_TEST_FILES)
-# CGP core
-testC : test_prep
- $(PERL) t/harness $(EXTRA_TEST_ARGS) -C $(RUNCORE_TEST_FILES)
-
# fast core
testf : test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS) -f $(RUNCORE_TEST_FILES)
@@ -1770,18 +1741,6 @@
testr : test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS) -r $(RUNCORE_TEST_FILES)
-# switched core
-testS : test_prep
- $(PERL) t/harness $(EXTRA_TEST_ARGS) -S $(RUNCORE_TEST_FILES)
-
-# Computed goto jitted core - target retained, but falls back to standard core
-testCj : test_prep
- $(PERL) t/harness $(EXTRA_TEST_ARGS) $(RUNCORE_TEST_FILES)
-
-# switched jitted core - target retained, but falls back to standard core
-testSj : test_prep
- $(PERL) t/harness $(EXTRA_TEST_ARGS) $(RUNCORE_TEST_FILES)
-
# test the EXEC stuff
testexec: test_prep
$(PERL) t/harness $(EXTRA_TEST_ARGS) --run-exec $(RUNCORE_TEST_FILES)
@@ -1854,13 +1813,12 @@
ext-clean \
#UNLESS(win32): cover-clean \
editor-clean
- $(RM_F) $(INC_DIR)/oplib/core_ops_cg.h src/ops/core_ops_cg.c \
- $(INC_DIR)/oplib/core_ops_cgp.h src/ops/core_ops_cgp.c
+ $(RM_F) $(INC_DIR)/oplib/core_ops_cg.h src/ops/core_ops_cg.c
$(RM_F) chartypes "*.s" "*~"
$(RM_F) $(FLUID_FILES_1)
$(RM_F) $(FLUID_FILES_2)
$(RM_RF) lib/Parrot/OpLib
- $(RM_F) $(NQP_CLEANUPS) $(PGE_CLEANUPS) $(TGE_CLEANUPS) $(JSON_CLEANUPS)
+ $(RM_F) $(NQP_CLEANUPS) $(PGE_CLEANUPS) $(TGE_CLEANUPS)
$(RM_F) $(PIRC_CLEANUPS) $(PCT_CLEANUPS) $(DATA_JSON_CLEANUPS)
$(RM_F) $(DYNOPLIBS_CLEANUPS) $(DYNPMC_CLEANUPS)
$(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES)
@@ -2306,16 +2264,12 @@
cover: \
cover.dummy \
cover-testb \
-#IF(cg_flag): cover-testC \
cover-testf \
-#IF(cg_flag): cover-testg \
cover-testr \
- cover-testS \
cover-src \
cover-run \
cover-perl \
cover-extra \
- cover-nqp \
cover-codingstd \
cover-benchmark \
cover-manifest \
@@ -2338,9 +2292,6 @@
cover-testb: cover.dummy
- at make@ testb
-cover-testC: cover.dummy
- - at make@ testC
-
cover-testf: cover.dummy
- at make@ testf
@@ -2353,9 +2304,6 @@
cover-testr: cover.dummy
- at make@ testr
-cover-testS: cover.dummy
- - at make@ testS
-
cover-src: cover.dummy
- at make@ src_tests
@@ -2368,9 +2316,6 @@
cover-extra: cover.dummy
- at make@ library_tests
-cover-nqp: cover.dummy
- - at make@ nqp_test
-
cover-codingstd: cover.dummy
- at make@ codingstd_tests
@@ -2479,7 +2424,8 @@
@ld_out@$@ src/nci_test$(O) $(C_LIBS)
# for use by runtime/parrot/library/OpenGL.pir
-src/glut_callbacks$(O): $(GENERAL_H_FILES)
+src/glut_callbacks$(O): $(PARROT_H_HEADERS) \
+ $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h src/glut_callbacks.c
src/glut_nci_thunks.c: $(NCI_THUNK_GEN)
$(NCI_THUNK_GEN) \
@@ -2488,7 +2434,9 @@
--output=src/glut_nci_thunks.c \
<src/glut_nci_thunks.nci
-src/glut_nci_thunks$(O): $(GENERAL_H_FILES)
+src/glut_nci_thunks$(O) : $(PARROT_H_HEADERS) \
+ src/glut_nci_thunks.c \
+ include/pmc/pmc_nci.h
$(LIBGLUTCB_SO): $(LIBPARROT) src/glut_callbacks$(O) src/glut_nci_thunks$(O)
$(LD) $(LD_LOAD_FLAGS) $(LDFLAGS) \
@@ -2500,7 +2448,8 @@
--output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci
## SUFFIX OVERRIDE
-src/extra_nci_thunks$(O) : $(GENERAL_H_FILES) src/extra_nci_thunks.c
+src/extra_nci_thunks$(O) : $(PARROT_H_HEADERS) src/extra_nci_thunks.c \
+ include/pmc/pmc_nci.h
$(CC) $(CFLAGS) @optimize::src/extra_nci_thunks.c@ @ccwarn::src/extra_nci_thunks.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/extra_nci_thunks.c
$(EXTRANCITHUNKS_SO) : $(LIBPARROT) src/extra_nci_thunks$(O)
@@ -2579,12 +2528,10 @@
include runtime/parrot/library/Rules.mak
include compilers/imcc/Rules.mak
include compilers/pirc/Rules.mak
-include compilers/nqp/Rules.mak
include compilers/pge/Rules.mak
include compilers/pct/Rules.mak
include compilers/tge/Rules.mak
include compilers/data_json/Rules.mak
-include compilers/json/Rules.mak
include ext/nqp-rx/Rules.mak
# Local variables:
Modified: branches/include_dynpmc_makefile/config/init/optimize.pm
==============================================================================
--- branches/include_dynpmc_makefile/config/init/optimize.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/config/init/optimize.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -74,17 +74,6 @@
$conf->data->set( cc_debug => '' );
$conf->data->add( ' ', ccflags => "-DDISABLE_GC_DEBUG=1 -DNDEBUG" );
- # per file overrides - not every compiler can optimize every file.
-
- # The src/ops/core_ops*.c files are challenging to optimize.
- # gcc can usually handle it, but don't assume any other compilers can,
- # until there is specific evidence otherwise.
- if ( ! defined($gccversion)) {
- $conf->data->set('optimize::src/ops/core_ops_cg.c','');
- $conf->data->set('optimize::src/ops/core_ops_cgp.c','');
- $conf->data->set('optimize::src/ops/core_ops_switch.c','');
- }
-
# TT #405
if ($conf->data->get('cpuarch') eq 'amd64') {
$conf->data->set('optimize::src/gc/system.c','');
Modified: branches/include_dynpmc_makefile/docs/book/draft/appc_command_line_options.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/book/draft/appc_command_line_options.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/book/draft/appc_command_line_options.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -260,18 +260,6 @@
Run with the I<fast core>.
-=item -R cgoto
-
-Run the I<computed goto core> (CGoto).
-
-=item -R cgp
-
-Run with the I<CGoto-Prederefed> core.
-
-=item -R switch
-
-Run with the I<Switched core>.
-
=item -R gcdebug
Performs a full GC run before every op dispatch
Modified: branches/include_dynpmc_makefile/docs/configuration.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/configuration.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/configuration.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -123,10 +123,6 @@
=over 4
-=item F<config/auto/cgoto.pm>
-
- Does your compiler support computed goto...
-
=item F<gen/config_h.pm>
Generate C headers...
@@ -136,7 +132,7 @@
Note that on non-interactive steps, the text I<done> will be printed after the
description when the step finishes executing; for example, the user will see:
- Does your compiler support computed goto..............done.
+ Determine flags for building shared libraries.....-fPIC
=item C<result>
Modified: branches/include_dynpmc_makefile/docs/embed.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/embed.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/embed.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -145,12 +145,6 @@
=item PARROT_FAST_CORE
-=item PARROT_SWITCH_CORE
-
-=item PARROT_CGP_CORE
-
-=item PARROT_CGOTO_CORE
-
=item PARROT_EXEC_CORE
=item PARROT_GC_DEBUG_CORE
@@ -236,7 +230,7 @@
Creates a "dummy" packfile in lieu of actually creating one from a bytecode
file on disk.
-=item C<void Parrot_load_bytecode(PARROT_INTERP, const char *path)>
+=item C<void Parrot_load_bytecode(PARROT_INTERP, STRING *path)>
Reads and load Parrot bytecode or PIR from the file referenced by C<path>.
You should create a dummy packfile beforehand; see C<PackFile_new_dummy> for
Modified: branches/include_dynpmc_makefile/docs/porting_intro.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/porting_intro.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/porting_intro.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -13,39 +13,6 @@
internals. For each feature, a brief description of its purpose, hints on
helping to port it, and pointers to more information are included.
-=head1 CGoto or CGP (CGoto Predereferenced)
-
-=head2 What it is
-
-"Computed goto" is a non-standard C feature that allows taking a pointer to an
-statement label (e.g. "LOOP:" ) using the unary && operator. Certain Parrot
-runcores make use of this feature as an optimization.
-
-=head2 How to help
-
-If cgoto is not supported in Parrot by default on your platform, try to compile
-config/auto/cgoto/test_c.in with your C compiler and determine why it fails. If
-the compiler does not support the computed goto concept at all, this feature
-cannot be made to work (don't worry, there are other runcores). However, if
-the compiler supports it but the test is inadequate, please submit a bug report
-describing how the implementation of this feature differs from what Parrot
-expects.
-
-Note that gcc supports this feature out of the box, though it sometimes
-struggles with it in low-memory situations. Failures during compilation of
-core_ops_cg.c are frequently caused by insufficient resources rather than bugs
-in gcc or Parrot.
-
-=head2 References
-
-=over 4
-
-=item * F<config/auto/cgoto/test_c.in>
-
-=item * I<make testC>
-
-=back
-
=head1 Threads
=head2 What it is
Modified: branches/include_dynpmc_makefile/docs/project/release_manager_guide.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/project/release_manager_guide.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/project/release_manager_guide.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/docs/running.pod
==============================================================================
--- branches/include_dynpmc_makefile/docs/running.pod Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/docs/running.pod Wed Apr 28 19:17:12 2010 (r46116)
@@ -135,12 +135,8 @@
may be available on your system:
slow, bounds bounds checking core (default)
- cgoto computed goto core
- cgp computed goto-predereferenced core
- fast fast core (no bounds checking, profiling, or tracing)
gcdebug performs a full GC run before every op dispatch (good for
debugging GC problems)
- switch switch core
trace bounds checking core w/ trace info (see 'parrot --help-debug')
profiling see F<docs/dev/profilling.pod>
@@ -249,28 +245,6 @@
The trace and profile cores are also based on the "slow" core, doing
full bounds checking, and also printing runtime information to stderr.
-The switched core eschews these tiny op functions in favor of cases in a large
-switch statement:
-
- switch_runcore( op ):
- while ( op ):
- switch *op:
- case NOP:
- ...
- case STORE:
- ...
- ...
-
-Depending on the C compiler implementation, this may be faster than function
-calling. On older systems, it may fail to compile altogether.
-
-The computed-goto ("cgoto") runcore avoids the overhead of function
-calls by jumping directly to the address where each opcode's function
-starts. The computed-goto-prederef ("CGP") core takes this one step
-further by replacing opcode numbers in the bytecode with those opfunc
-addresses. See "Predereferencing" in F<docs/glossary.pod> for a
-fuller explanation.
-
=head1 Operation table
Command Line Action Output
Modified: branches/include_dynpmc_makefile/examples/benchmarks/oo1.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/benchmarks/oo1.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/benchmarks/oo1.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -11,8 +11,6 @@
# python oo1.py 1.2 (first time)
# python oo1.py 0.51
-# parrot -R cgp oo1.pasm -g -O3
-
# original list fixed 4.9 (leaks mem ~ 110 M used)
# don't clone vtable 4.4
# Dan's vtable cache 4.3 3.8
@@ -31,9 +29,6 @@
# Dan's new object layout 1.00
-# parrot -R cgp oo1-prop.pasm
-# invokecc 0.75
-# RetCont out of loop 0.57
# parrot -R jit oo1-prop.pasm 0.54
.namespace [ "Foo" ]
Modified: branches/include_dynpmc_makefile/examples/benchmarks/oo2.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/benchmarks/oo2.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/benchmarks/oo2.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -11,17 +11,11 @@
# python oo2.py 2.9 (first time)
# python oo2.py 2.4
-# parrot -R cgp oo2.pasm -g -O3
-# with reuse regsave mem 6.15
-# anchor P1 6.7
-# Dan's new object layout 5.1
-
# parrot -R jit oo2.pasm -g -O3
# with reuse regsave mem 6.1
# anchor P1 6.5
# Dan's new object layout 4.9
-# parrot -R cgp oo2-prop.pasm 2.8
# parrot -R jit oo2-prop.pasm 2.6
.namespace [ "Foo" ]
Copied: branches/include_dynpmc_makefile/examples/benchmarks/stress_strings.pir (from r46115, trunk/examples/benchmarks/stress_strings.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/examples/benchmarks/stress_strings.pir Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, trunk/examples/benchmarks/stress_strings.pir)
@@ -0,0 +1,43 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+examples/benchmarks/stress_strings.pir - GC strings stress-testing
+
+=head1 SYNOPSIS
+
+ % time ./parrot examples/benchmarks/stress_strings.pir
+
+=head1 DESCRIPTION
+
+Create a lots of strings. Some of them are long-lived, most of them are short lived.
+
+Main purpose - test compact_pool performance.
+
+=cut
+
+.sub 'main' :main
+ .local pmc rsa # array of long lived strings.
+
+ .local int i
+
+ rsa = new ['ResizableStringArray']
+ i = 0
+ loop:
+ $S0 = i # allocate new string
+ $I0 = i % 10 # every 10th string is longlived
+ if $I0 goto inc_i
+ push rsa, $S0
+ inc_i:
+ inc i
+ if i < 10000000 goto loop
+
+.end
+
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/include_dynpmc_makefile/examples/c/test_main.c
==============================================================================
--- branches/include_dynpmc_makefile/examples/c/test_main.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/c/test_main.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -209,13 +209,6 @@
static void
usage(void)
{
-#ifdef HAVE_COMPUTED_GOTO
- const char* cgoto_info = "Deactivate computed goto";
-#else
- const char* cgoto_info =
- "Deactivate computed goto (not available on this platform)";
-#endif
-
fprintf(stderr,
"Usage: parrot [switches] [--] programfile [arguments]\n\
-b --bounds-checks Activate bounds checks\n\
@@ -223,9 +216,6 @@
-h --help Display this message\n\
-j --jit Activate Just-In-Time compiler\n\
-p --profile Activate profiling\n\
- -P --predereferenced_core Activate predereferencing\n\
- -S --switched_core Activate switched core\n\
- -g --no-computed-goto %s\n\
-t --trace Activate tracing\n\
-v --version Display version information\n\
-. --wait Wait for a keypress (gives Windows users\n\
@@ -233,8 +223,7 @@
--gc-debug\n\
Enable garbage collection debugging mode. This may also be enabled\n\
by setting the environment variable $PARROT_GC_DEBUG to 1.\n\
-\n",
- cgoto_info);
+\n");
Parrot_exit(interp, 0);
}
Modified: branches/include_dynpmc_makefile/examples/config/file/configcompiler
==============================================================================
--- branches/include_dynpmc_makefile/examples/config/file/configcompiler Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/config/file/configcompiler Wed Apr 28 19:17:12 2010 (r46116)
@@ -50,7 +50,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/examples/config/file/configwithfatalstep
==============================================================================
--- branches/include_dynpmc_makefile/examples/config/file/configwithfatalstep Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/config/file/configwithfatalstep Wed Apr 28 19:17:12 2010 (r46116)
@@ -42,7 +42,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/examples/embed/cotorra.c
==============================================================================
--- branches/include_dynpmc_makefile/examples/embed/cotorra.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/embed/cotorra.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2009, Parrot Foundation.
+Copyright (C) 2009-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -36,7 +36,7 @@
Parrot_Run_core_t getruncore(const char *name);
Parrot_String create_string(Parrot_Interp interp, const char *name);
-int cotorra_main(Parrot_Interp interp, int argc, char **argv);
+int cotorra_main(Parrot_Interp interp, int argc, const char **argv);
/**********************************************************************/
@@ -108,10 +108,7 @@
{
static const struct runcoreinfo cores [] = {
{ PARROT_SLOW_CORE, "slow" },
- { PARROT_FAST_CORE, "fast" },
- { PARROT_CGOTO_CORE, "cgoto" },
{ PARROT_GC_DEBUG_CORE, "gcdebug" },
- { PARROT_SWITCH_CORE, "switch" }
};
static const unsigned int n = sizeof (cores)/sizeof (struct runcoreinfo);
unsigned int i;
@@ -147,7 +144,7 @@
/*
-=item C<int cotorra_main(Parrot_Interp interp, int argc, char **argv)>
+=item C<int cotorra_main(Parrot_Interp interp, int argc, const char **argv)>
Auxiliary function to minimize the size of main.
@@ -155,12 +152,13 @@
*/
-int cotorra_main(Parrot_Interp interp, int argc, char **argv)
+int cotorra_main(Parrot_Interp interp, int argc, const char **argv)
{
- char *source;
+ const char *source;
Parrot_PackFile pf;
const char *stname = NULL;
const char *exec = NULL;
+ const char *module = NULL;
int i;
/* Incompatible options are not checked yet */
@@ -171,7 +169,7 @@
fail("Option needs argument");
Parrot_set_trace(interp, getuintval(argv[i]));
}
- if (strcmp(argv[i], "--warnings") == 0) {
+ else if (strcmp(argv[i], "--warnings") == 0) {
++i;
if (i >= argc)
fail("Option needs argument");
@@ -189,6 +187,12 @@
fail("Option needs argument");
stname = argv[i];
}
+ else if (strcmp(argv[i], "--load") == 0) {
+ ++i;
+ if (i >= argc)
+ fail("Option needs argument");
+ module = argv[i];
+ }
else if (strcmp(argv[i], "--runcore") == 0) {
++i;
if (i >= argc)
@@ -198,6 +202,8 @@
else
break;
}
+ if (module)
+ Parrot_load_bytecode(interp, create_string(interp, module));
if (exec) {
Parrot_String compiler = create_string(interp, "PIR");
@@ -207,16 +213,16 @@
return 0;
}
- if (i >= argc)
+ if (i >= argc && ! (module && stname))
fail("No file to load");
source = argv[i];
-
- pf = Parrot_pbc_read(interp, source, 0);
- if (! pf)
- fail("Cannot load file");
-
- Parrot_pbc_load(interp, pf);
- Parrot_pbc_fixup_loaded(interp);
+ if (source && ! stname) {
+ pf = Parrot_pbc_read(interp, source, 0);
+ if (! pf)
+ fail("Cannot load file");
+ Parrot_pbc_load(interp, pf);
+ Parrot_pbc_fixup_loaded(interp);
+ }
if (stname) {
Parrot_PMC rootns = Parrot_get_root_namespace(interp);
@@ -224,7 +230,20 @@
Parrot_PMC parrotns = Parrot_PMC_get_pmc_strkey(interp, rootns, parrotname);
Parrot_String name = create_string(interp, stname);
Parrot_PMC start = Parrot_PMC_get_pmc_strkey(interp, parrotns, name);
- Parrot_ext_call(interp, start, "->");
+ if (Parrot_pmc_is_null(interp, start))
+ fail("start sub not found");
+ if (i < argc) {
+ int pos;
+ Parrot_PMC arg = Parrot_PMC_new(interp,
+ Parrot_PMC_typenum(interp, "FixedStringArray"));
+ Parrot_PMC_set_intval(interp, arg, argc - i);
+ for (pos = 0; i < argc; ++i, ++pos) {
+ Parrot_PMC_set_string_intkey(interp, arg, pos, create_string(interp, argv[i]));
+ }
+ Parrot_ext_call(interp, start, "P->", arg);
+ }
+ else
+ Parrot_ext_call(interp, start, "->");
}
else {
Parrot_runcode(interp, argc - i, argv + i);
@@ -235,7 +254,7 @@
/*
-=item C<int main(int argc, char **argv)>
+=item C<int main(int argc, const char **argv)>
Main function. Create the parrot interpreter and call cotorra_main.
@@ -243,7 +262,7 @@
*/
-int main(int argc, char **argv)
+int main(int argc, const char **argv)
{
Parrot_Interp interp;
int r;
Modified: branches/include_dynpmc_makefile/examples/japh/japh3.pasm
==============================================================================
--- branches/include_dynpmc_makefile/examples/japh/japh3.pasm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/japh/japh3.pasm Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2009, Parrot Foundation.
+# Copyright (C) 2004-2010, Parrot Foundation.
# $Id$
# the substr JaPH
@@ -6,10 +6,9 @@
set S1, "Parrot "
set S2, "another "
set S3, "Just "
- set S31, S0
- substr S3, 5, 1, S2
- substr S3, 13, 1, S1
- substr S3, 20, 1, S0
+ replace S3, S3, 5, 1, S2
+ replace S3, S3, 13, 1, S1
+ replace S3, S3, 20, 1, S0
print S3
end
Modified: branches/include_dynpmc_makefile/examples/json/postalcodes.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/json/postalcodes.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/json/postalcodes.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
#!../../parrot
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -64,11 +64,11 @@
close sock
$I1 = find_charset 'unicode'
- trans_charset json_result, $I1
+ json_result = trans_charset json_result, $I1
# Strip off http headers.
$I0 = index json_result, "\r\n\r\n"
- substr json_result, 0, $I0, ""
+ json_result = replace json_result, 0, $I0, ""
load_language 'data_json'
$P1 = compreg 'data_json'
Modified: branches/include_dynpmc_makefile/examples/languages/squaak/setup.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/languages/squaak/setup.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/languages/squaak/setup.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -43,7 +43,7 @@
$P2 = new 'Hash'
$P2['src/gen_actions.pir'] = 'src/parser/actions.pm'
- $P0['pir_nqp'] = $P2
+ $P0['pir_nqprx'] = $P2
$P3 = new 'Hash'
$P4 = split "\n", <<'SOURCES'
Modified: branches/include_dynpmc_makefile/examples/languages/squaak/src/parser/actions.pm
==============================================================================
--- branches/include_dynpmc_makefile/examples/languages/squaak/src/parser/actions.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/languages/squaak/src/parser/actions.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -36,35 +36,35 @@
my $past := @?BLOCK.shift();
for $<stat_or_def> {
- $past.push($($_));
+ $past.push($_.ast);
}
make $past;
}
}
method stat_or_def($/, $key) {
- make $( $/{$key} );
+ make $/{$key}.ast;
}
method statement($/, $key) {
- make $( $/{$key} );
+ make $/{$key}.ast;
}
method if_statement($/) {
- my $cond := $( $<expression> );
- my $then := $( $<block> );
+ my $cond := $<expression>.ast;
+ my $then := $<block>.ast;
my $past := PAST::Op.new( $cond, $then, :pasttype('if'), :node($/) );
## if there's an else clause, add it to the PAST node.
if $<else> {
- $past.push( $( $<else>[0] ) );
+ $past.push( $<else>[0].ast );
}
make $past;
}
method while_statement($/) {
- my $cond := $( $<expression> );
- my $body := $( $<block> );
+ my $cond := $<expression>.ast;
+ my $body := $<block>.ast;
make PAST::Op.new( $cond, $body, :pasttype('while'), :node($/) );
}
@@ -83,7 +83,7 @@
our $?BLOCK;
our @?BLOCK;
- my $init := $( $<for_init> );
+ my $init := $<for_init>.ast;
## cache the name of the loop variable
my $itername := $init.name();
@@ -100,7 +100,7 @@
my $body := @?BLOCK.shift();
$?BLOCK := @?BLOCK[0];
for $<statement> {
- $body.push($($_));
+ $body.push( $_.ast );
}
## if a step was specified, use that; otherwise, use the default of +1.
@@ -108,7 +108,7 @@
##
my $step;
if $<step> {
- my $stepsize := $( $<step>[0] );
+ my $stepsize := $<step>[0].ast;
$step := PAST::Op.new( $iter, $stepsize, :pirop('add'), :node($/) );
}
else { ## default is increment by 1
@@ -117,7 +117,7 @@
$body.push($step);
## while loop iterator <= end-expression
- my $cond := PAST::Op.new( $iter, $( $<expression> ), :name('infix:<=') );
+ my $cond := PAST::Op.new( $iter, $<expression>.ast, :name('infix:<=') );
my $loop := PAST::Op.new( $cond, $body, :pasttype('while'), :node($/) );
make PAST::Stmts.new( $init, $loop, :node($/) );
@@ -132,12 +132,12 @@
$?BLOCK := PAST::Block.new( :blocktype('immediate'), :node($/) );
@?BLOCK.unshift($?BLOCK);
- my $iter := $( $<identifier> );
+ my $iter := $<identifier>.ast;
## set a flag that this identifier is being declared
$iter.isdecl(1);
$iter.scope('lexical');
## the identifier is initialized with this expression
- $iter.viviself( $( $<expression> ) );
+ $iter.viviself( $<expression>.ast );
## enter the loop variable as a local into the symbol table.
$?BLOCK.symbol($iter.name(), :scope('lexical'));
@@ -147,16 +147,16 @@
method try_statement($/) {
## get the try block
- my $try := $( $<try> );
+ my $try := $<try>.ast;
## create a new PAST::Stmts node for the catch block;
## note that no PAST::Block is created, as this currently
## has problems with the exception object. For now this will do.
my $catch := PAST::Stmts.new( :node($/) );
- $catch.push( $( $<catch> ) );
+ $catch.push( $<catch>.ast );
## get the exception identifier;
- my $exc := $( $<exception> );
+ my $exc := $<exception>.ast;
$exc.isdecl(1);
$exc.scope('lexical');
$exc.viviself( PAST::Val.new( :value(0) ) );
@@ -176,14 +176,14 @@
method exception($/) {
our $?BLOCK;
- my $exc := $( $<identifier> );
+ my $exc := $<identifier>.ast;
## the exception identifier is local to the exception handler
$?BLOCK.symbol($exc.name(), :scope('lexical'));
make $exc;
}
method throw_statement($/) {
- make PAST::Op.new( $( $<expression> ), :pirop('throw'), :node($/) );
+ make PAST::Op.new( $<expression>.ast, :pirop('throw'), :node($/) );
}
method block($/, $key) {
@@ -201,24 +201,24 @@
$?BLOCK := @?BLOCK[0];
for $<statement> {
- $past.push($($_));
+ $past.push( $_.ast );
}
make $past
}
}
method return_statement($/) {
- my $expr := $( $<expression> );
+ my $expr := $<expression>.ast;
make PAST::Op.new( $expr, :pasttype('return'), :node($/) );
}
method do_block($/) {
- make $( $<block> );
+ make $<block>.ast;
}
method assignment($/) {
- my $rhs := $( $<expression> );
- my $lhs := $( $<primary> );
+ my $rhs := $<expression>.ast;
+ my $lhs := $<primary>.ast;
$lhs.lvalue(1);
make PAST::Op.new( $lhs, $rhs, :pasttype('bind'), :node($/) );
}
@@ -228,13 +228,13 @@
our $?BLOCK;
## note that $<parameters> creates a new PAST::Block.
- my $past := $( $<parameters> );
- my $name := $( $<identifier> );
+ my $past := $<parameters>.ast;
+ my $name := $<identifier>.ast;
## set the function name
$past.name( $name.name() );
for $<statement> {
- $past.push($($_));
+ $past.push( $_.ast );
}
## remove the block from the scope stack
@@ -249,13 +249,13 @@
method variable_declaration($/) {
our $?BLOCK;
- my $past := $( $<identifier> );
+ my $past := $<identifier>.ast;
$past.isdecl(1);
$past.scope('lexical');
## if there's an initialization value, use it to viviself the variable.
if $<expression> {
- $past.viviself( $( $<expression>[0] ) );
+ $past.viviself( $<expression>[0].ast );
}
else { ## otherwise initialize to undef.
$past.viviself( 'Undef' );
@@ -281,7 +281,7 @@
my $past := PAST::Block.new( :blocktype('declaration'), :node($/) );
for $<identifier> {
- my $param := $( $_ );
+ my $param := $_.ast;
$param.scope('parameter');
$past.push($param);
@@ -297,8 +297,8 @@
}
method sub_call($/) {
- my $invocant := $( $<primary> );
- my $past := $( $<arguments> );
+ my $invocant := $<primary>.ast;
+ my $past := $<arguments>.ast;
## set the invocant as the first child of the PAST::Op(:pasttype('call')) node
$past.unshift( $invocant );
make $past;
@@ -307,15 +307,15 @@
method arguments($/) {
my $past := PAST::Op.new( :pasttype('call'), :node($/) );
for $<expression> {
- $past.push($($_));
+ $past.push( $_.ast );
}
make $past;
}
method primary($/) {
- my $past := $( $<identifier> );
+ my $past := $<identifier>.ast ;
for $<postfix_expression> {
- my $expr := $( $_ );
+ my $expr := $_.ast;
## set the current $past as the first child of $expr;
## $expr is either a key or an index; both are "keyed"
## variable access, where the first child is assumed
@@ -327,11 +327,11 @@
}
method postfix_expression($/, $key) {
- make $( $/{$key} );
+ make $/{$key}.ast;
}
method key($/) {
- my $key := $( $<expression> );
+ my $key := $<expression>.ast;
make PAST::Var.new( $key, :scope('keyed'),
:vivibase('Hash'),
@@ -341,7 +341,7 @@
}
method member($/) {
- my $member := $( $<identifier> );
+ my $member := $<identifier>.ast;
## x.y is syntactic sugar for x{"y"}, so stringify the identifier:
my $key := PAST::Val.new( :returns('String'), :value($member.name()), :node($/) );
@@ -353,7 +353,7 @@
}
method index($/) {
- my $index := $( $<expression> );
+ my $index := $<expression>.ast;
make PAST::Var.new( $index, :scope('keyed'),
:vivibase('ResizablePMCArray'),
@@ -362,8 +362,8 @@
}
method named_field($/) {
- my $past := $( $<expression> );
- my $name := $( $<string_constant> );
+ my $past := $<expression>.ast;
+ my $name := $<string_constant>.ast;
## the passed expression is in fact a named argument,
## use the named() accessor to set that name.
$past.named($name);
@@ -377,7 +377,7 @@
## (which is not a valid Squaak name)
my $past := PAST::Op.new( :name('!array'), :pasttype('call'), :node($/) );
for $<expression> {
- $past.push($($_));
+ $past.push( $_.ast );
}
make $past;
}
@@ -388,13 +388,13 @@
## !hash (which is not a valid Squaak name)
my $past := PAST::Op.new( :name('!hash'), :pasttype('call'), :node($/) );
for $<named_field> {
- $past.push($($_));
+ $past.push( $_.ast );
}
make $past;
}
method term($/, $key) {
- make $( $/{$key} );
+ make $/{$key}.ast;
}
method identifier($/) {
@@ -413,13 +413,13 @@
}
method string_constant($/) {
- make PAST::Val.new( :value( $($<string_literal>) ), :returns('String'), :node($/) );
+ make PAST::Val.new( :value( $<string_literal>.ast ), :returns('String'), :node($/) );
}
## Handle the operator precedence table.
method expression($/, $key) {
if ($key eq 'end') {
- make $($<expr>);
+ make $<expr>.ast;
}
else {
my $past := PAST::Op.new( :name($<type>),
@@ -429,7 +429,7 @@
:node($/)
);
for @($/) {
- $past.push( $($_) );
+ $past.push( $_.ast );
}
make $past;
}
Modified: branches/include_dynpmc_makefile/examples/library/ncurses_life.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/library/ncurses_life.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/library/ncurses_life.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -478,7 +478,7 @@
if count > 3 goto space
star:
- substr new_world, pos, 1, "*"
+ new_world = replace new_world, pos, 1, "*"
space: # is space already
inc pos
@@ -608,10 +608,10 @@
unless len goto out
$S0 = substr line, 0,1
eq $S0, "#", check_format
- chopn line, 1 # \n
+ line = chopn line, 1 # \n
dec len
if format != PICTURE goto not_pic
- substr world, pos, len, line
+ world = replace world, pos, len, line
pos = pos + size
goto loop
@@ -777,7 +777,7 @@
# TODO abs/rel and bounds checking
#world[c] = "*"
- substr world, c, 1, "*"
+ world = replace world, c, 1, "*"
if s < len goto lp2
done:
nok:
Modified: branches/include_dynpmc_makefile/examples/nci/Xlib.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/nci/Xlib.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/nci/Xlib.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -67,10 +67,12 @@
if xlib goto store
check2:
xlib = loadlib 'libX11.so'
+ $I0 = defined xlib
unless $I0 goto check3
if xlib goto store
check3:
xlib = loadlib 'libX11.so.6'
+ $I0 = defined xlib
unless $I0 goto check4
if xlib goto store
check4:
Modified: branches/include_dynpmc_makefile/examples/nci/xlibtest.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/nci/xlibtest.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/nci/xlibtest.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -285,12 +285,13 @@
jsonfile = handle.'readall'()
close handle
- load_bytecode 'compilers/json/JSON.pbc'
- .local pmc json
- json = compreg 'JSON'
+ load_language 'data_json'
+ .local pmc json, jsonobject, jsondata
+ json = compreg 'data_json'
.local pmc jsonobject
- jsonobject = json(jsonfile)
- listline = jsonobject [JKEY_LINES]
+ jsonobject = json.'compile'(jsonfile)
+ jsondata = jsonobject()
+ listline = jsondata [JKEY_LINES]
goto finish
failed:
Modified: branches/include_dynpmc_makefile/examples/pge/demo.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pge/demo.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pge/demo.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2009, Parrot Foundation.
+# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
.include "errors.pasm"
@@ -43,7 +43,7 @@
$I0 = index x, "\n"
get_cmd:
$S0 = substr x, 0, $I0
- chopn x, 1
+ x = chopn x, 1
if $S0 == "next" goto match_next
if $S0 == "regex" goto make_p6rule
if $S0 == "glob" goto make_glob
Modified: branches/include_dynpmc_makefile/examples/pir/befunge/debug.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/befunge/debug.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/befunge/debug.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -181,7 +181,7 @@
print "bef> "
$P0 = getstdin
$S0 = readline $P0
- chopn $S0, 1
+ $S0 = chopn $S0, 1
$I0 = length $S0
if $I0 == 0 goto DEBUG__INTERACT__NEXT
@@ -205,7 +205,7 @@
goto DEBUG__INTERACT__LOOP
DEBUG__INTERACT__BREAK:
- substr $S0, 0, 6, ""
+ $S0 = replace $S0, 0, 6, ""
$P0 = get_global "breakpoints"
$P0[$S0] = 1
set_global "breakpoints", $P0
@@ -218,7 +218,7 @@
goto DEBUG__INTERACT__END
DEBUG__INTERACT__DELETE:
- substr $S0, 0, 7, ""
+ $S0 = replace $S0, 0, 7, ""
$P0 = get_global "breakpoints"
delete $P0[$S0]
set_global "breakpoints", $P0
Modified: branches/include_dynpmc_makefile/examples/pir/befunge/io.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/befunge/io.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/befunge/io.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -41,10 +41,10 @@
$P1 = getstdin
$S0 = readline $P1
- chopn $S0, 1
+ $S0 = chopn $S0, 1
_IO__INPUT_CHAR__SUBSTR:
- $S1 = substr $S0, 0, 1, ""
+ $S1 = replace $S0, 0, 1, ""
$P0 = $S0
set_global "user_input", $P0
@@ -73,7 +73,7 @@
$P1 = getstdin
$S0 = readline $P1
- chopn $S0, 1
+ $S0 = chopn $S0, 1
len = length $S0
_IO__INPUT_INT__PARSE_INPUT:
@@ -90,7 +90,7 @@
if i < len goto _IO__INPUT_INT__NEXT_CHAR
_IO__INPUT_INT__NAN:
- substr $S0, 0, i, ""
+ $S = replace $S0, 0, i, ""
$P0 = $S0
set_global "user_input", $P0
Modified: branches/include_dynpmc_makefile/examples/pir/befunge/load.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/befunge/load.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/befunge/load.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -34,7 +34,7 @@
newline = index line, "\n"
if newline < 0 goto LOAD__SKIP_CHOP
- chopn line, 1
+ line = chopn line, 1
LOAD__SKIP_CHOP:
line = _load__fit_str_to_80(line)
playline = _load__str_to_array(line)
@@ -86,7 +86,7 @@
concat str, $S0
# truncate to 80 chars
- substr str, 80, -1, ''
+ str = replace str, 80, -1, ''
.return(str)
.end
Modified: branches/include_dynpmc_makefile/examples/pir/pirric.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/pirric.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/pirric.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -102,57 +102,59 @@
addparent cl, $P0
set_global 'Literal', cl
- .local pmc keywords
+ .local pmc keywords, methods
+ # Get methods hash to verify
+ methods = inspect runnerclass, 'methods'
keywords = new 'Hash'
- setkeyword(keywords, 'CLEAR')
- setkeyword(keywords, 'CONT')
- setkeyword(keywords, 'END')
- setkeyword(keywords, 'EXIT')
- setkeyword(keywords, 'ERROR')
- setkeyword(keywords, 'FOR')
- setkeyword(keywords, 'GOSUB')
- setkeyword(keywords, 'GOTO')
- setkeyword(keywords, 'IF')
- setkeyword(keywords, 'LIST')
- setkeyword(keywords, 'LOAD')
- setkeyword(keywords, 'NEXT')
- setkeyword(keywords, 'NEW')
- setkeyword(keywords, 'ON')
- setkeyword(keywords, 'PRINT')
- setkeyword(keywords, 'REM')
- setkeyword(keywords, 'RETURN')
- setkeyword(keywords, 'RUN')
- setkeyword(keywords, 'SAVE')
- setkeyword(keywords, 'STOP')
- setkeyword(keywords, 'TROFF')
- setkeyword(keywords, 'TRON')
+ setkeyword(methods, keywords, 'CLEAR')
+ setkeyword(methods, keywords, 'CONT')
+ setkeyword(methods, keywords, 'END')
+ setkeyword(methods, keywords, 'EXIT')
+ setkeyword(methods, keywords, 'ERROR')
+ setkeyword(methods, keywords, 'FOR')
+ setkeyword(methods, keywords, 'GOSUB')
+ setkeyword(methods, keywords, 'GOTO')
+ setkeyword(methods, keywords, 'IF')
+ setkeyword(methods, keywords, 'LIST')
+ setkeyword(methods, keywords, 'LOAD')
+ setkeyword(methods, keywords, 'NEXT')
+ setkeyword(methods, keywords, 'NEW')
+ setkeyword(methods, keywords, 'ON')
+ setkeyword(methods, keywords, 'PRINT')
+ setkeyword(methods, keywords, 'REM')
+ setkeyword(methods, keywords, 'RETURN')
+ setkeyword(methods, keywords, 'RUN')
+ setkeyword(methods, keywords, 'SAVE')
+ setkeyword(methods, keywords, 'STOP')
+ setkeyword(methods, keywords, 'TROFF')
+ setkeyword(methods, keywords, 'TRON')
set_global 'keywords', keywords
.local pmc predefs
predefs = new 'Hash'
- setpredef(predefs, 'NEW')
- setpredef(predefs, 'ISA')
- setpredef(predefs, 'GETPARROTINTERP')
- setpredef(predefs, 'CHR$', 'CHR_S')
- setpredef(predefs, 'ASC')
- setpredef(predefs, 'LEN')
- setpredef(predefs, 'LEFT$', 'LEFT_S')
- setpredef(predefs, 'RIGHT$', 'RIGHT_S')
- setpredef(predefs, 'MID$', 'MID_S')
- setpredef(predefs, 'COMPLEX')
- setpredef(predefs, 'COMPREG')
- setpredef(predefs, 'EXP')
- setpredef(predefs, 'LN')
- setpredef(predefs, 'SIN')
- setpredef(predefs, 'SINH')
- setpredef(predefs, 'COS')
- setpredef(predefs, 'COSH')
- setpredef(predefs, 'TAN')
- setpredef(predefs, 'TANH')
- setpredef(predefs, 'ASIN')
- setpredef(predefs, 'ACOS')
- setpredef(predefs, 'ATAN')
- setpredef(predefs, 'SQR')
+ setpredef(methods, predefs, 'NEW')
+ setpredef(methods, predefs, 'ISA')
+ setpredef(methods, predefs, 'GETPARROTINTERP')
+ setpredef(methods, predefs, 'CHR$', 'CHR_S')
+ setpredef(methods, predefs, 'ASC')
+ setpredef(methods, predefs, 'LEN')
+ setpredef(methods, predefs, 'LEFT$', 'LEFT_S')
+ setpredef(methods, predefs, 'RIGHT$', 'RIGHT_S')
+ setpredef(methods, predefs, 'MID$', 'MID_S')
+ setpredef(methods, predefs, 'COMPLEX')
+ setpredef(methods, predefs, 'COMPREG')
+ setpredef(methods, predefs, 'EXP')
+ setpredef(methods, predefs, 'LN')
+ setpredef(methods, predefs, 'SIN')
+ setpredef(methods, predefs, 'SINH')
+ setpredef(methods, predefs, 'COS')
+ setpredef(methods, predefs, 'COSH')
+ setpredef(methods, predefs, 'TAN')
+ setpredef(methods, predefs, 'TANH')
+ setpredef(methods, predefs, 'ASIN')
+ setpredef(methods, predefs, 'ACOS')
+ setpredef(methods, predefs, 'ATAN')
+ setpredef(methods, predefs, 'SQR')
set_global 'predefs', predefs
# Create classes for control flow exceptions
@@ -252,6 +254,7 @@
#-----------------------------------------------------------------------
.sub setkeyword
+ .param pmc methods
.param pmc keywords
.param string key
@@ -259,10 +262,11 @@
funcname = concat 'func_', key
.local pmc func
- func = get_global ['Runner'], funcname
+ func = methods[funcname]
$I0 = defined func
if $I0 goto good
- say 'No func!'
+ print funcname
+ die ': No func!'
exit 1
good:
keywords [key] = func
@@ -270,6 +274,7 @@
#-----------------------------------------------------------------------
.sub setpredef
+ .param pmc methods
.param pmc predefs
.param string key
.param string name :optional
@@ -282,7 +287,7 @@
funcname = concat 'predef_', name
.local pmc func
- func = get_global ['Runner'], funcname
+ func = methods[funcname]
$I0 = defined func
if $I0 goto good
print funcname
@@ -416,7 +421,7 @@
.local pmc vars, var
vars = getattribute self, 'vars'
- upcase varname
+ varname = upcase varname
var = vars[varname]
.return(var)
.end
@@ -428,7 +433,7 @@
.local pmc vars, var
vars = getattribute self, 'vars'
- upcase varname
+ varname = upcase varname
vars[varname] = value
.end
@@ -664,7 +669,7 @@
$I0 = $P2
$S0 = chr $I0
$I1 = find_encoding 'utf8'
- trans_encoding $S0, $I1
+ $S0 = trans_encoding $S0, $I1
$P3 = new 'String'
$P3 = $S0
.return($P3)
@@ -1010,7 +1015,7 @@
unless $I0 goto fail
$S0 = token
- upcase $S0
+ $S0 = upcase $S0
#print $S0
# Some predefined functions:
@@ -1668,7 +1673,7 @@
key = 'PRINT'
findkey:
- upcase key
+ key = upcase key
.local pmc keywords
keywords = get_hll_global 'keywords'
$I0 = keywords
@@ -1797,14 +1802,14 @@
pvar = tokenizer.'get'()
.local string var
var = pvar
- upcase var
+ var = upcase var
$P0 = tokenizer.'get'()
ne $P0, '=', fail
.local pmc value
value = self.'evaluate'(tokenizer)
$P0 = tokenizer.'get'()
$S0 = $P0
- upcase $S0
+ $S0 = upcase $S0
ne $S0, 'TO', fail
.local pmc limit
@@ -1815,7 +1820,7 @@
$I0 = defined $P0
unless $I0 goto default_step
$S0 = $P0
- upcase $S0
+ $S0 = upcase $S0
ne $S0, 'STEP', fail
increment = self.'evaluate'(tokenizer)
goto prepare
@@ -1896,7 +1901,7 @@
$I0 = defined token
unless $I0 goto fail
$S0 = token
- upcase $S0
+ $S0 = upcase $S0
ne $S0, 'THEN', fail
$I0 = defined arg
@@ -1917,7 +1922,7 @@
$I0 = isa $P0, 'String'
unless $I0 goto nextitem
$S0 = $P0
- upcase $S0
+ $S0 = upcase $S0
eq $S0, 'ELSE', is_else
eq $S0, 'IF', is_if
goto nextitem
@@ -1959,7 +1964,7 @@
$I1 = defined $P1
unless $I1 goto fail
$S1 = $P1
- upcase $S1
+ $S1 = upcase $S1
ne $S1, 'B', fail
$S1 = arg
pirric_aux_loadbytecode($S1)
@@ -2037,13 +2042,13 @@
.local pmc token
token = tokenizer.'get'()
$S0 = token
- upcase $S0
+ $S0 = upcase $S0
if $S0 == 'ERROR' goto on_error
goto fail
on_error:
token = tokenizer.'get'()
$S0 = token
- upcase $S0
+ $S0 = upcase $S0
if $S0 == 'GOTO' goto on_error_goto
if $S0 == 'EXIT' goto on_error_exit
goto fail
@@ -2075,7 +2080,7 @@
item:
$S0 = arg
- upcase $S0
+ $S0 = upcase $S0
eq $S0, 'ELSE', endline
arg = self.'evaluate'(tokenizer, arg)
print_it:
@@ -2086,7 +2091,7 @@
eq arg, ';', nextitem
eq arg, ',', comma
$S0 = arg
- upcase $S0
+ $S0 = upcase $S0
eq $S0, 'ELSE', endline
SyntaxError()
comma:
@@ -2103,7 +2108,7 @@
$I0 = defined arg
unless $I0 goto finish
$S0 = arg
- upcase $S0
+ $S0 = upcase $S0
eq $S0, 'ELSE', finish
goto item
finish:
Modified: branches/include_dynpmc_makefile/examples/pir/quine_ord.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/quine_ord.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/quine_ord.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2008, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
# ATT no autoexpanding svn markers please
.sub quine :main
@@ -838,8 +838,8 @@
push code_as_data, 45
push code_as_data, 50
push code_as_data, 48
+push code_as_data, 49
push code_as_data, 48
-push code_as_data, 56
push code_as_data, 44
push code_as_data, 32
push code_as_data, 80
@@ -1712,12 +1712,20 @@
push code_as_data, 32
push code_as_data, 32
push code_as_data, 32
-push code_as_data, 115
-push code_as_data, 117
-push code_as_data, 98
-push code_as_data, 115
-push code_as_data, 116
+push code_as_data, 99
+push code_as_data, 111
+push code_as_data, 100
+push code_as_data, 101
+push code_as_data, 32
+push code_as_data, 61
+push code_as_data, 32
push code_as_data, 114
+push code_as_data, 101
+push code_as_data, 112
+push code_as_data, 108
+push code_as_data, 97
+push code_as_data, 99
+push code_as_data, 101
push code_as_data, 32
push code_as_data, 99
push code_as_data, 111
@@ -1906,6 +1914,40 @@
push code_as_data, 44
push code_as_data, 32
push code_as_data, 49
+push code_as_data, 10
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 32
+push code_as_data, 99
+push code_as_data, 111
+push code_as_data, 100
+push code_as_data, 101
+push code_as_data, 32
+push code_as_data, 61
+push code_as_data, 32
+push code_as_data, 114
+push code_as_data, 101
+push code_as_data, 112
+push code_as_data, 108
+push code_as_data, 97
+push code_as_data, 99
+push code_as_data, 101
+push code_as_data, 32
+push code_as_data, 99
+push code_as_data, 111
+push code_as_data, 100
+push code_as_data, 101
+push code_as_data, 44
+push code_as_data, 32
+push code_as_data, 48
+push code_as_data, 44
+push code_as_data, 32
+push code_as_data, 49
push code_as_data, 44
push code_as_data, 32
push code_as_data, 39
@@ -3530,7 +3572,7 @@
DO_QUINE:
# First print the stuff data section
- print "# Copyright (C) 2006-2008, Parrot Foundation.\n"
+ print "# Copyright (C) 2006-2010, Parrot Foundation.\n"
print "# ATT no autoexpanding svn markers please\n"
print "\n"
print ".sub quine :main\n"
@@ -3562,13 +3604,14 @@
# Ignore everything up to end of data section
.local int end_of_data_pos
end_of_data_pos = index code, "# ------ End of data section ------"
- substr code, 0, end_of_data_pos, ''
+ code = replace code, 0, end_of_data_pos, ''
.local string char_string
.local int char_int
SHIFT_NEXT_CHAR:
unless code goto FINISH_SHIFT_CHARS
- char_string = substr code, 0, 1, ''
+ char_string = substr code, 0, 1
+ code = replace code, 0, 1, ''
char_int = ord char_string
print 'push code_as_data, '
print char_int
Modified: branches/include_dynpmc_makefile/examples/pir/substr.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/pir/substr.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/pir/substr.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -31,7 +31,7 @@
WANE: $I1 = length $S1
print $S1
print "\n"
- chopn $S1, 1
+ $S1 = chopn $S1, 1
unless $I1 == $I3 goto WANE
DONE:
.end
Modified: branches/include_dynpmc_makefile/examples/sdl/mandel.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/sdl/mandel.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/sdl/mandel.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -556,9 +556,7 @@
Optimized build
[2] plain runcore 64 bit 3.0s
- [2] -R cgp runcore 64 bit 1.5s
[2] plain runcore 32 bit 3.6s
- [2] -R cgp runcore 32 bit 1.6s
[1] -R jit 1.1s
[2] -R jit 0.8s
[3] -R jit 0.5s
Modified: branches/include_dynpmc_makefile/examples/shootout/ack.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/ack.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/ack.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -3,7 +3,7 @@
# $Id$
# OUTPUT="Ack(3, 9) = 4093\n"
#
-# ./parrot -Oc -R cgp-jit
+# ./parrot -Oc
# RQ (Karl)
# Seems to be an old benchmark, now deprecated by the shootout
#
Modified: branches/include_dynpmc_makefile/examples/shootout/binarytrees.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/binarytrees.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/binarytrees.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/include_dynpmc_makefile/examples/shootout/fasta.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/fasta.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/fasta.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/include_dynpmc_makefile/examples/shootout/knucleotide.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/knucleotide.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/knucleotide.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2009, Parrot Foundation.
+# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
.sub main :main
@@ -13,7 +13,7 @@
line = ''
.local string seq
beginwhile_2:
- chopn line, 1
+ line = chopn line, 1
seq .= line
line = readline stdin
$I0 = length line
@@ -21,7 +21,7 @@
$S0 = chopn line, -1
if $S0 != ">" goto beginwhile_2
endwhile_2:
- upcase seq
+ seq = upcase seq
sort_seq(seq, 1)
sort_seq(seq, 2)
find_seq(seq, "GGT")
Modified: branches/include_dynpmc_makefile/examples/shootout/partialsums.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/partialsums.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/partialsums.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2006-2009, Parrot Foundation.
# $Id$
#
Modified: branches/include_dynpmc_makefile/examples/shootout/pidigits.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/pidigits.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/pidigits.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/include_dynpmc_makefile/examples/shootout/random.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/random.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/random.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
Modified: branches/include_dynpmc_makefile/examples/shootout/recursive-2.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/recursive-2.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/recursive-2.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -6,7 +6,7 @@
# Fib and Tak by Joshua Isom
# use less registers (leo)
-# time ./parrot -Oc -R cgp-jit recursive-2.pir 11
+# time ./parrot -Oc recursive-2.pir 11
# real 2.32 s (AMD X2 at 2000)
# modified default value to n=3. Karl Forner
Modified: branches/include_dynpmc_makefile/examples/shootout/recursive.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/recursive.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/recursive.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -5,7 +5,7 @@
# Ack by Leopold Toetsch
# Fib and Tak by Joshua Isom
# modified default value to n=3. Karl Forner
-# ./parrot -Oc -R cgp-jit recursive.pir N
+# ./parrot -Oc recursive.pir N
.sub main :main
.param pmc argv
Modified: branches/include_dynpmc_makefile/examples/shootout/regexdna.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/regexdna.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/regexdna.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2009, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
.sub main :main
@@ -65,7 +65,7 @@
chunklen = length chunk
unless chunklen goto endwhile
# They don't say you have to match case insenitive...
- downcase chunk
+ chunk = downcase chunk
seq .= chunk
goto beginwhile
endwhile:
@@ -84,7 +84,7 @@
$I0 = $P0."from"()
$I1 = $P0."to"()
$I1 -= $I0
- substr seq, $I0, $I1, ''
+ seq = replace seq, $I0, $I1, ''
goto stripfind
endstripfind:
seqlen = length seq
@@ -140,7 +140,7 @@
# $I0 = $P0."from"()
# $I1 = $P0."to"()
# $I1 -= $I0
-# substr seq, $I0, $I1, replacement
+# seq = replace seq, $I0, $I1, replacement
# goto switchfind
#endswitchfind:
@@ -164,7 +164,7 @@
$P0 = pop matches
$I0 = $P0[0]
$I1 = $P0[1]
- substr seq, $I0, $I1, replacement
+ seq = replace seq, $I0, $I1, replacement
goto switchloop
endswitchloop:
#############################################
Modified: branches/include_dynpmc_makefile/examples/shootout/revcomp.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/revcomp.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/revcomp.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
#!parrot
-# Copyright (C) 2005-2009, Parrot Foundation.
+# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
# Reads from stdin a file in the format made by fasta.pir
# ./parrot -R jit
@@ -54,7 +54,7 @@
print line
goto endif
else:
- chopn line, 1
+ line = chopn line, 1
seq .= line
endif:
goto beginwhile
Modified: branches/include_dynpmc_makefile/examples/shootout/takfp.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/shootout/takfp.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/shootout/takfp.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,8 +1,8 @@
-#!./parrot -R cgp
+#!./parrot
# Copyright (C) 2005-2009, Parrot Foundation.
# $Id$
#
-# ./parrot -R cgp takfp.pir N (N = 10 for shootout)
+# ./parrot takfp.pir N (N = 10 for shootout)
# by Joshua Isom
# changed default value to N=7 (shootout default before being deprecated)
# anyway N=10 froze my laptop. Karl Forner
Modified: branches/include_dynpmc_makefile/examples/tutorial/23_string_ops_substr.pir
==============================================================================
--- branches/include_dynpmc_makefile/examples/tutorial/23_string_ops_substr.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/examples/tutorial/23_string_ops_substr.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2009, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
=head1 String Operations (continued)
@@ -10,25 +10,28 @@
position is left out, C<substr> returns all the characters until the
end of the string.
-An optional fourth argument is a string that will be used to
-replace the characters between the start and end positions.
+C<substr> no longer provides an in-place replace, however there is a
+C<replace> operator that allows this type of operation to be performed,
+although not in-place. The C<replace> operator assigns a new_srting,
+taking as arguments, the old_string, a start and end position, and a
+string to be inserted in between the start and end positions.
=cut
.sub main :main
- $S0 = substr "abcde", 1, 2 # "bc"
- say $S0
+ $S0 = substr "abcde", 1, 2
+ say $S0 # "bc"
set $S1, "abcde"
$S0 = substr $S1, 1, 2
- say $S0 # "bc"
- say $S1 # "abcde"
+ say $S0 # "bc"
+ say $S1 # "abcde"
set $S1, "abcde"
- $S0 = substr $S1, 1, 2, "XYZ"
- say $S0 # "bc"
- say $S1 # "aXYZde"
+ $S0 = replace $S1, 1, 2, "XYZ"
+ say $S0 # "aXYZde"
+ say $S1 # "abcde"
.end
@@ -37,4 +40,3 @@
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4 ft=pir:
-
Modified: branches/include_dynpmc_makefile/ext/Parrot-Embed/MANIFEST
==============================================================================
--- branches/include_dynpmc_makefile/ext/Parrot-Embed/MANIFEST Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ext/Parrot-Embed/MANIFEST Wed Apr 28 19:17:12 2010 (r46116)
@@ -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
Modified: branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/HLL-s0.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/HLL-s0.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -99,7 +99,7 @@
sigil = substr $S0, 0, 1
$I0 = index '$@%&', sigil
if $I0 < 0 goto sigil_done
- substr $S0, 0, 1, ''
+ $S0 = replace $S0, 0, 1, ''
ns[0] = $S0
$S0 = ns[-1]
$S0 = concat sigil, $S0
@@ -468,7 +468,7 @@
.end
-.sub 'quotemod_check' :method
+.sub 'quotemod_check' :method :nsentry
.param string mod
$P0 = find_dynamic_lex '%*QUOTEMOD'
@@ -854,7 +854,7 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948647.57035")
+.sub "_block11" :anon :subid("10_1272455242.78413")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
@@ -868,9 +868,9 @@
.namespace []
-.sub "" :load :init :subid("post103") :outer("10_1271948647.57035")
+.sub "" :load :init :subid("post103") :outer("10_1272455242.78413")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948647.57035"
+ .const 'Sub' $P12 = "10_1272455242.78413"
.local pmc block
set block, $P12
$P340 = get_root_global ["parrot"], "P6metaclass"
@@ -879,84 +879,84 @@
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1271948647.57035") :outer("10_1271948647.57035")
+.sub "_block13" :subid("11_1272455242.78413") :outer("10_1272455242.78413")
.annotate "line", 5
- .const 'Sub' $P329 = "101_1271948647.57035"
+ .const 'Sub' $P329 = "101_1272455242.78413"
capture_lex $P329
- .const 'Sub' $P322 = "99_1271948647.57035"
+ .const 'Sub' $P322 = "99_1272455242.78413"
capture_lex $P322
- .const 'Sub' $P309 = "96_1271948647.57035"
+ .const 'Sub' $P309 = "96_1272455242.78413"
capture_lex $P309
- .const 'Sub' $P277 = "91_1271948647.57035"
+ .const 'Sub' $P277 = "91_1272455242.78413"
capture_lex $P277
- .const 'Sub' $P271 = "89_1271948647.57035"
+ .const 'Sub' $P271 = "89_1272455242.78413"
capture_lex $P271
- .const 'Sub' $P266 = "87_1271948647.57035"
+ .const 'Sub' $P266 = "87_1272455242.78413"
capture_lex $P266
- .const 'Sub' $P260 = "85_1271948647.57035"
+ .const 'Sub' $P260 = "85_1272455242.78413"
capture_lex $P260
- .const 'Sub' $P254 = "83_1271948647.57035"
+ .const 'Sub' $P254 = "83_1272455242.78413"
capture_lex $P254
- .const 'Sub' $P249 = "81_1271948647.57035"
+ .const 'Sub' $P249 = "81_1272455242.78413"
capture_lex $P249
- .const 'Sub' $P244 = "79_1271948647.57035"
+ .const 'Sub' $P244 = "79_1272455242.78413"
capture_lex $P244
- .const 'Sub' $P239 = "77_1271948647.57035"
+ .const 'Sub' $P239 = "77_1272455242.78413"
capture_lex $P239
- .const 'Sub' $P234 = "75_1271948647.57035"
+ .const 'Sub' $P234 = "75_1272455242.78413"
capture_lex $P234
- .const 'Sub' $P229 = "73_1271948647.57035"
+ .const 'Sub' $P229 = "73_1272455242.78413"
capture_lex $P229
- .const 'Sub' $P224 = "71_1271948647.57035"
+ .const 'Sub' $P224 = "71_1272455242.78413"
capture_lex $P224
- .const 'Sub' $P219 = "69_1271948647.57035"
+ .const 'Sub' $P219 = "69_1272455242.78413"
capture_lex $P219
- .const 'Sub' $P208 = "65_1271948647.57035"
+ .const 'Sub' $P208 = "65_1272455242.78413"
capture_lex $P208
- .const 'Sub' $P195 = "63_1271948647.57035"
+ .const 'Sub' $P195 = "63_1272455242.78413"
capture_lex $P195
- .const 'Sub' $P183 = "61_1271948647.57035"
+ .const 'Sub' $P183 = "61_1272455242.78413"
capture_lex $P183
- .const 'Sub' $P176 = "59_1271948647.57035"
+ .const 'Sub' $P176 = "59_1272455242.78413"
capture_lex $P176
- .const 'Sub' $P167 = "57_1271948647.57035"
+ .const 'Sub' $P167 = "57_1272455242.78413"
capture_lex $P167
- .const 'Sub' $P160 = "55_1271948647.57035"
+ .const 'Sub' $P160 = "55_1272455242.78413"
capture_lex $P160
- .const 'Sub' $P151 = "53_1271948647.57035"
+ .const 'Sub' $P151 = "53_1272455242.78413"
capture_lex $P151
- .const 'Sub' $P144 = "51_1271948647.57035"
+ .const 'Sub' $P144 = "51_1272455242.78413"
capture_lex $P144
- .const 'Sub' $P135 = "49_1271948647.57035"
+ .const 'Sub' $P135 = "49_1272455242.78413"
capture_lex $P135
- .const 'Sub' $P128 = "47_1271948647.57035"
+ .const 'Sub' $P128 = "47_1272455242.78413"
capture_lex $P128
- .const 'Sub' $P121 = "45_1271948647.57035"
+ .const 'Sub' $P121 = "45_1272455242.78413"
capture_lex $P121
- .const 'Sub' $P111 = "43_1271948647.57035"
+ .const 'Sub' $P111 = "43_1272455242.78413"
capture_lex $P111
- .const 'Sub' $P103 = "41_1271948647.57035"
+ .const 'Sub' $P103 = "41_1272455242.78413"
capture_lex $P103
- .const 'Sub' $P93 = "40_1271948647.57035"
+ .const 'Sub' $P93 = "40_1272455242.78413"
capture_lex $P93
- .const 'Sub' $P87 = "38_1271948647.57035"
+ .const 'Sub' $P87 = "38_1272455242.78413"
capture_lex $P87
- .const 'Sub' $P82 = "36_1271948647.57035"
+ .const 'Sub' $P82 = "36_1272455242.78413"
capture_lex $P82
- .const 'Sub' $P74 = "34_1271948647.57035"
+ .const 'Sub' $P74 = "34_1272455242.78413"
capture_lex $P74
- .const 'Sub' $P68 = "32_1271948647.57035"
+ .const 'Sub' $P68 = "32_1272455242.78413"
capture_lex $P68
- .const 'Sub' $P62 = "30_1271948647.57035"
+ .const 'Sub' $P62 = "30_1272455242.78413"
capture_lex $P62
- .const 'Sub' $P56 = "28_1271948647.57035"
+ .const 'Sub' $P56 = "28_1272455242.78413"
capture_lex $P56
- .const 'Sub' $P23 = "14_1271948647.57035"
+ .const 'Sub' $P23 = "14_1272455242.78413"
capture_lex $P23
- .const 'Sub' $P15 = "12_1271948647.57035"
+ .const 'Sub' $P15 = "12_1272455242.78413"
capture_lex $P15
.annotate "line", 33
- .const 'Sub' $P329 = "101_1271948647.57035"
+ .const 'Sub' $P329 = "101_1272455242.78413"
capture_lex $P329
.annotate "line", 5
.return ($P329)
@@ -964,7 +964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "ws" :subid("12_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx16_tgt
.local int rx16_pos
@@ -1048,7 +1048,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1271948647.57035") :method
+.sub "!PREFIX__ws" :subid("13_1272455242.78413") :method
.annotate "line", 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1057,7 +1057,7 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "termish" :subid("14_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx24_tgt
.local int rx24_pos
@@ -1067,7 +1067,7 @@
.local pmc rx24_cur
(rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
rx24_cur."!cursor_debug"("START ", "termish")
- rx24_cur."!cursor_caparray"("postfixish", "prefixish")
+ rx24_cur."!cursor_caparray"("prefixish", "postfixish")
.lex unicode:"$\x{a2}", rx24_cur
.local pmc match
.lex "$/", match
@@ -1149,7 +1149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1271948647.57035") :method
+.sub "!PREFIX__termish" :subid("15_1272455242.78413") :method
.annotate "line", 5
new $P26, "ResizablePMCArray"
push $P26, ""
@@ -1158,7 +1158,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1271948647.57035") :method
+.sub "term" :subid("16_1272455242.78413") :method
.annotate "line", 13
$P33 = self."!protoregex"("term")
.return ($P33)
@@ -1166,7 +1166,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1271948647.57035") :method
+.sub "!PREFIX__term" :subid("17_1272455242.78413") :method
.annotate "line", 13
$P35 = self."!PREFIX__!protoregex"("term")
.return ($P35)
@@ -1174,7 +1174,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1271948647.57035") :method
+.sub "infix" :subid("18_1272455242.78413") :method
.annotate "line", 14
$P37 = self."!protoregex"("infix")
.return ($P37)
@@ -1182,7 +1182,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1271948647.57035") :method
+.sub "!PREFIX__infix" :subid("19_1272455242.78413") :method
.annotate "line", 14
$P39 = self."!PREFIX__!protoregex"("infix")
.return ($P39)
@@ -1190,7 +1190,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1271948647.57035") :method
+.sub "prefix" :subid("20_1272455242.78413") :method
.annotate "line", 15
$P41 = self."!protoregex"("prefix")
.return ($P41)
@@ -1198,7 +1198,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1271948647.57035") :method
+.sub "!PREFIX__prefix" :subid("21_1272455242.78413") :method
.annotate "line", 15
$P43 = self."!PREFIX__!protoregex"("prefix")
.return ($P43)
@@ -1206,7 +1206,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1271948647.57035") :method
+.sub "postfix" :subid("22_1272455242.78413") :method
.annotate "line", 16
$P45 = self."!protoregex"("postfix")
.return ($P45)
@@ -1214,7 +1214,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1271948647.57035") :method
+.sub "!PREFIX__postfix" :subid("23_1272455242.78413") :method
.annotate "line", 16
$P47 = self."!PREFIX__!protoregex"("postfix")
.return ($P47)
@@ -1222,7 +1222,7 @@
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1271948647.57035") :method
+.sub "circumfix" :subid("24_1272455242.78413") :method
.annotate "line", 17
$P49 = self."!protoregex"("circumfix")
.return ($P49)
@@ -1230,7 +1230,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1271948647.57035") :method
+.sub "!PREFIX__circumfix" :subid("25_1272455242.78413") :method
.annotate "line", 17
$P51 = self."!PREFIX__!protoregex"("circumfix")
.return ($P51)
@@ -1238,7 +1238,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1271948647.57035") :method
+.sub "postcircumfix" :subid("26_1272455242.78413") :method
.annotate "line", 18
$P53 = self."!protoregex"("postcircumfix")
.return ($P53)
@@ -1246,7 +1246,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1271948647.57035") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1272455242.78413") :method
.annotate "line", 18
$P55 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P55)
@@ -1254,7 +1254,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "term:sym<circumfix>" :subid("28_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx57_tgt
.local int rx57_pos
@@ -1312,7 +1312,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1271948647.57035") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1272455242.78413") :method
.annotate "line", 5
$P59 = self."!PREFIX__!subrule"("circumfix", "")
new $P60, "ResizablePMCArray"
@@ -1322,7 +1322,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "infixish" :subid("30_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx63_tgt
.local int rx63_pos
@@ -1380,7 +1380,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1271948647.57035") :method
+.sub "!PREFIX__infixish" :subid("31_1272455242.78413") :method
.annotate "line", 5
$P65 = self."!PREFIX__!subrule"("OPER=infix", "")
new $P66, "ResizablePMCArray"
@@ -1390,7 +1390,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "prefixish" :subid("32_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx69_tgt
.local int rx69_pos
@@ -1453,7 +1453,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1271948647.57035") :method
+.sub "!PREFIX__prefixish" :subid("33_1272455242.78413") :method
.annotate "line", 5
$P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
new $P72, "ResizablePMCArray"
@@ -1463,7 +1463,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "postfixish" :subid("34_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx75_tgt
.local int rx75_pos
@@ -1537,7 +1537,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1271948647.57035") :method
+.sub "!PREFIX__postfixish" :subid("35_1272455242.78413") :method
.annotate "line", 5
$P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
$P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1549,7 +1549,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "nullterm" :subid("36_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx83_tgt
.local int rx83_pos
@@ -1600,7 +1600,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1271948647.57035") :method
+.sub "!PREFIX__nullterm" :subid("37_1272455242.78413") :method
.annotate "line", 5
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1609,7 +1609,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "nullterm_alt" :subid("38_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 5
.local string rx88_tgt
.local int rx88_pos
@@ -1667,7 +1667,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1271948647.57035") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1272455242.78413") :method
.annotate "line", 5
$P90 = self."!PREFIX__!subrule"("term", "")
new $P91, "ResizablePMCArray"
@@ -1677,11 +1677,11 @@
.namespace ["HLL";"Grammar"]
-.sub "nulltermish" :subid("40_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "nulltermish" :subid("40_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
new $P95, 'ExceptionHandler'
set_addr $P95, control_94
- $P95."handle_types"(58)
+ $P95."handle_types"(57)
push_eh $P95
.lex "self", self
find_lex $P98, "self"
@@ -1704,7 +1704,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_delimited" :subid("41_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx104_tgt
.local int rx104_pos
@@ -1786,7 +1786,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1271948647.57035") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1272455242.78413") :method
.annotate "line", 33
$P106 = self."!PREFIX__!subrule"("starter", "")
new $P107, "ResizablePMCArray"
@@ -1796,7 +1796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_atom" :subid("43_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx112_tgt
.local int rx112_pos
@@ -1887,7 +1887,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1271948647.57035") :method
+.sub "!PREFIX__quote_atom" :subid("44_1272455242.78413") :method
.annotate "line", 33
new $P114, "ResizablePMCArray"
push $P114, ""
@@ -1896,7 +1896,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "decint" :subid("45_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx122_tgt
.local int rx122_pos
@@ -1968,7 +1968,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1271948647.57035") :method
+.sub "!PREFIX__decint" :subid("46_1272455242.78413") :method
.annotate "line", 33
new $P124, "ResizablePMCArray"
push $P124, ""
@@ -1977,7 +1977,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "decints" :subid("47_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx129_tgt
.local int rx129_pos
@@ -2061,7 +2061,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1271948647.57035") :method
+.sub "!PREFIX__decints" :subid("48_1272455242.78413") :method
.annotate "line", 33
new $P131, "ResizablePMCArray"
push $P131, ""
@@ -2070,7 +2070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "hexint" :subid("49_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx136_tgt
.local int rx136_pos
@@ -2151,7 +2151,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1271948647.57035") :method
+.sub "!PREFIX__hexint" :subid("50_1272455242.78413") :method
.annotate "line", 33
new $P138, "ResizablePMCArray"
push $P138, ""
@@ -2160,7 +2160,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "hexints" :subid("51_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx145_tgt
.local int rx145_pos
@@ -2244,7 +2244,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1271948647.57035") :method
+.sub "!PREFIX__hexints" :subid("52_1272455242.78413") :method
.annotate "line", 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2253,7 +2253,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "octint" :subid("53_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx152_tgt
.local int rx152_pos
@@ -2334,7 +2334,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1271948647.57035") :method
+.sub "!PREFIX__octint" :subid("54_1272455242.78413") :method
.annotate "line", 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2343,7 +2343,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "octints" :subid("55_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx161_tgt
.local int rx161_pos
@@ -2427,7 +2427,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1271948647.57035") :method
+.sub "!PREFIX__octints" :subid("56_1272455242.78413") :method
.annotate "line", 33
new $P163, "ResizablePMCArray"
push $P163, ""
@@ -2436,7 +2436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "binint" :subid("57_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx168_tgt
.local int rx168_pos
@@ -2517,7 +2517,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1271948647.57035") :method
+.sub "!PREFIX__binint" :subid("58_1272455242.78413") :method
.annotate "line", 33
new $P170, "ResizablePMCArray"
push $P170, ""
@@ -2526,7 +2526,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "binints" :subid("59_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx177_tgt
.local int rx177_pos
@@ -2610,7 +2610,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1271948647.57035") :method
+.sub "!PREFIX__binints" :subid("60_1272455242.78413") :method
.annotate "line", 33
new $P179, "ResizablePMCArray"
push $P179, ""
@@ -2619,7 +2619,7 @@
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "integer" :subid("61_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx184_tgt
.local int rx184_pos
@@ -2767,7 +2767,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1271948647.57035") :method
+.sub "!PREFIX__integer" :subid("62_1272455242.78413") :method
.annotate "line", 33
$P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
$P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2785,7 +2785,7 @@
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "dec_number" :subid("63_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx196_tgt
.local int rx196_pos
@@ -2964,7 +2964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1271948647.57035") :method
+.sub "!PREFIX__dec_number" :subid("64_1272455242.78413") :method
.annotate "line", 33
new $P198, "ResizablePMCArray"
push $P198, ""
@@ -2975,7 +2975,7 @@
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "escale" :subid("65_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx209_tgt
.local int rx209_pos
@@ -3052,7 +3052,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1271948647.57035") :method
+.sub "!PREFIX__escale" :subid("66_1272455242.78413") :method
.annotate "line", 33
new $P211, "ResizablePMCArray"
push $P211, "e"
@@ -3062,7 +3062,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1271948647.57035") :method
+.sub "quote_escape" :subid("67_1272455242.78413") :method
.annotate "line", 79
$P216 = self."!protoregex"("quote_escape")
.return ($P216)
@@ -3070,7 +3070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1271948647.57035") :method
+.sub "!PREFIX__quote_escape" :subid("68_1272455242.78413") :method
.annotate "line", 79
$P218 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P218)
@@ -3078,7 +3078,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<backslash>" :subid("69_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx220_tgt
.local int rx220_pos
@@ -3140,7 +3140,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1272455242.78413") :method
.annotate "line", 33
new $P222, "ResizablePMCArray"
push $P222, "\\\\"
@@ -3149,7 +3149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<stopper>" :subid("71_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx225_tgt
.local int rx225_pos
@@ -3218,7 +3218,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1272455242.78413") :method
.annotate "line", 33
new $P227, "ResizablePMCArray"
push $P227, "\\"
@@ -3227,7 +3227,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<bs>" :subid("73_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx230_tgt
.local int rx230_pos
@@ -3289,7 +3289,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1272455242.78413") :method
.annotate "line", 33
new $P232, "ResizablePMCArray"
push $P232, "\\b"
@@ -3298,7 +3298,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<nl>" :subid("75_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx235_tgt
.local int rx235_pos
@@ -3360,7 +3360,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1272455242.78413") :method
.annotate "line", 33
new $P237, "ResizablePMCArray"
push $P237, "\\n"
@@ -3369,7 +3369,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<cr>" :subid("77_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx240_tgt
.local int rx240_pos
@@ -3431,7 +3431,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1272455242.78413") :method
.annotate "line", 33
new $P242, "ResizablePMCArray"
push $P242, "\\r"
@@ -3440,7 +3440,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<tab>" :subid("79_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx245_tgt
.local int rx245_pos
@@ -3502,7 +3502,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1272455242.78413") :method
.annotate "line", 33
new $P247, "ResizablePMCArray"
push $P247, "\\t"
@@ -3511,7 +3511,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<ff>" :subid("81_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx250_tgt
.local int rx250_pos
@@ -3573,7 +3573,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1272455242.78413") :method
.annotate "line", 33
new $P252, "ResizablePMCArray"
push $P252, "\\f"
@@ -3582,7 +3582,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("83_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<hex>" :subid("83_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx255_tgt
.local int rx255_pos
@@ -3680,7 +3680,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1272455242.78413") :method
.annotate "line", 33
new $P257, "ResizablePMCArray"
push $P257, unicode:"\\x"
@@ -3689,7 +3689,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("85_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<oct>" :subid("85_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx261_tgt
.local int rx261_pos
@@ -3787,7 +3787,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1272455242.78413") :method
.annotate "line", 33
new $P263, "ResizablePMCArray"
push $P263, "\\o"
@@ -3796,7 +3796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("87_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<chr>" :subid("87_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx267_tgt
.local int rx267_pos
@@ -3865,7 +3865,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1272455242.78413") :method
.annotate "line", 33
new $P269, "ResizablePMCArray"
push $P269, "\\c"
@@ -3874,7 +3874,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("89_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<0>" :subid("89_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx272_tgt
.local int rx272_pos
@@ -3957,7 +3957,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1272455242.78413") :method
.annotate "line", 33
new $P274, "ResizablePMCArray"
push $P274, "\\0"
@@ -3966,13 +3966,13 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("91_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "quote_escape:sym<misc>" :subid("91_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
- .const 'Sub' $P297 = "95_1271948647.57035"
+ .const 'Sub' $P297 = "95_1272455242.78413"
capture_lex $P297
- .const 'Sub' $P290 = "94_1271948647.57035"
+ .const 'Sub' $P290 = "94_1272455242.78413"
capture_lex $P290
- .const 'Sub' $P285 = "93_1271948647.57035"
+ .const 'Sub' $P285 = "93_1272455242.78413"
capture_lex $P285
.local string rx278_tgt
.local int rx278_pos
@@ -4009,7 +4009,7 @@
$P283 = $P282."MATCH"()
store_lex "$/", $P283
.annotate "line", 99
- .const 'Sub' $P285 = "93_1271948647.57035"
+ .const 'Sub' $P285 = "93_1272455242.78413"
capture_lex $P285
$P286 = $P285()
# rx literal "\\"
@@ -4035,7 +4035,7 @@
.annotate "line", 103
# rx subrule $P290 subtype=capture negate=
rx278_cur."!cursor_pos"(rx278_pos)
- .const 'Sub' $P290 = "94_1271948647.57035"
+ .const 'Sub' $P290 = "94_1272455242.78413"
capture_lex $P290
$P10 = rx278_cur.$P290()
unless $P10, rx278_fail
@@ -4069,7 +4069,7 @@
find_lex $P294, unicode:"$\x{a2}"
$P295 = $P294."MATCH"()
store_lex "$/", $P295
- .const 'Sub' $P297 = "95_1271948647.57035"
+ .const 'Sub' $P297 = "95_1272455242.78413"
capture_lex $P297
$P307 = $P297()
alt288_end:
@@ -4115,7 +4115,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1271948647.57035") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1272455242.78413") :method
.annotate "line", 33
new $P280, "ResizablePMCArray"
push $P280, ""
@@ -4124,14 +4124,14 @@
.namespace ["HLL";"Grammar"]
-.sub "_block284" :anon :subid("93_1271948647.57035") :outer("91_1271948647.57035")
+.sub "_block284" :anon :subid("93_1272455242.78413") :outer("91_1272455242.78413")
.annotate "line", 99
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block289" :anon :subid("94_1271948647.57035") :method :outer("91_1271948647.57035")
+.sub "_block289" :anon :subid("94_1272455242.78413") :method :outer("91_1272455242.78413")
.annotate "line", 103
.local string rx291_tgt
.local int rx291_pos
@@ -4186,7 +4186,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block296" :anon :subid("95_1271948647.57035") :outer("91_1271948647.57035")
+.sub "_block296" :anon :subid("95_1272455242.78413") :outer("91_1272455242.78413")
.annotate "line", 104
find_lex $P298, "$/"
$P299 = $P298."CURSOR"()
@@ -4209,9 +4209,9 @@
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("96_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "charname" :subid("96_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
- .const 'Sub' $P319 = "98_1271948647.57035"
+ .const 'Sub' $P319 = "98_1272455242.78413"
capture_lex $P319
.local string rx310_tgt
.local int rx310_pos
@@ -4289,7 +4289,7 @@
.annotate "line", 113
# rx subrule "before" subtype=zerowidth negate=
rx310_cur."!cursor_pos"(rx310_pos)
- .const 'Sub' $P319 = "98_1271948647.57035"
+ .const 'Sub' $P319 = "98_1272455242.78413"
capture_lex $P319
$P10 = rx310_cur."before"($P319)
unless $P10, rx310_fail
@@ -4314,7 +4314,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("97_1271948647.57035") :method
+.sub "!PREFIX__charname" :subid("97_1272455242.78413") :method
.annotate "line", 33
$P312 = self."!PREFIX__!subrule"("integer", "")
new $P313, "ResizablePMCArray"
@@ -4376,7 +4376,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block318" :anon :subid("98_1271948647.57035") :method :outer("96_1271948647.57035")
+.sub "_block318" :anon :subid("98_1272455242.78413") :method :outer("96_1272455242.78413")
.annotate "line", 113
.local string rx320_tgt
.local int rx320_pos
@@ -4436,7 +4436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("99_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "charnames" :subid("99_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx323_tgt
.local int rx323_pos
@@ -4520,7 +4520,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("100_1271948647.57035") :method
+.sub "!PREFIX__charnames" :subid("100_1272455242.78413") :method
.annotate "line", 33
new $P325, "ResizablePMCArray"
push $P325, ""
@@ -4529,7 +4529,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("101_1271948647.57035") :method :outer("11_1271948647.57035")
+.sub "charspec" :subid("101_1272455242.78413") :method :outer("11_1272455242.78413")
.annotate "line", 33
.local string rx330_tgt
.local int rx330_pos
@@ -4659,7 +4659,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("102_1271948647.57035") :method
+.sub "!PREFIX__charspec" :subid("102_1272455242.78413") :method
.annotate "line", 33
$P332 = self."!PREFIX__!subrule"("", "")
$P333 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4701,7 +4701,7 @@
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948650.1622")
+.sub "_block11" :anon :subid("10_1272455244.05365")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
@@ -4715,9 +4715,9 @@
.namespace []
-.sub "" :load :init :subid("post49") :outer("10_1271948650.1622")
+.sub "" :load :init :subid("post49") :outer("10_1272455244.05365")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948650.1622"
+ .const 'Sub' $P12 = "10_1272455244.05365"
.local pmc block
set block, $P12
$P572 = get_root_global ["parrot"], "P6metaclass"
@@ -4726,72 +4726,72 @@
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1271948650.1622") :outer("10_1271948650.1622")
+.sub "_block13" :subid("11_1272455244.05365") :outer("10_1272455244.05365")
.annotate "line", 3
- .const 'Sub' $P554 = "48_1271948650.1622"
+ .const 'Sub' $P554 = "48_1272455244.05365"
capture_lex $P554
- .const 'Sub' $P529 = "46_1271948650.1622"
+ .const 'Sub' $P529 = "46_1272455244.05365"
capture_lex $P529
- .const 'Sub' $P498 = "45_1271948650.1622"
+ .const 'Sub' $P498 = "45_1272455244.05365"
capture_lex $P498
- .const 'Sub' $P479 = "44_1271948650.1622"
+ .const 'Sub' $P479 = "44_1272455244.05365"
capture_lex $P479
- .const 'Sub' $P472 = "43_1271948650.1622"
+ .const 'Sub' $P472 = "43_1272455244.05365"
capture_lex $P472
- .const 'Sub' $P462 = "42_1271948650.1622"
+ .const 'Sub' $P462 = "42_1272455244.05365"
capture_lex $P462
- .const 'Sub' $P445 = "41_1271948650.1622"
+ .const 'Sub' $P445 = "41_1272455244.05365"
capture_lex $P445
- .const 'Sub' $P428 = "40_1271948650.1622"
+ .const 'Sub' $P428 = "40_1272455244.05365"
capture_lex $P428
- .const 'Sub' $P421 = "39_1271948650.1622"
+ .const 'Sub' $P421 = "39_1272455244.05365"
capture_lex $P421
- .const 'Sub' $P414 = "38_1271948650.1622"
+ .const 'Sub' $P414 = "38_1272455244.05365"
capture_lex $P414
- .const 'Sub' $P407 = "37_1271948650.1622"
+ .const 'Sub' $P407 = "37_1272455244.05365"
capture_lex $P407
- .const 'Sub' $P400 = "36_1271948650.1622"
+ .const 'Sub' $P400 = "36_1272455244.05365"
capture_lex $P400
- .const 'Sub' $P393 = "35_1271948650.1622"
+ .const 'Sub' $P393 = "35_1272455244.05365"
capture_lex $P393
- .const 'Sub' $P383 = "34_1271948650.1622"
+ .const 'Sub' $P383 = "34_1272455244.05365"
capture_lex $P383
- .const 'Sub' $P376 = "33_1271948650.1622"
+ .const 'Sub' $P376 = "33_1272455244.05365"
capture_lex $P376
- .const 'Sub' $P360 = "32_1271948650.1622"
+ .const 'Sub' $P360 = "32_1272455244.05365"
capture_lex $P360
- .const 'Sub' $P285 = "30_1271948650.1622"
+ .const 'Sub' $P285 = "30_1272455244.05365"
capture_lex $P285
- .const 'Sub' $P222 = "27_1271948650.1622"
+ .const 'Sub' $P222 = "27_1272455244.05365"
capture_lex $P222
- .const 'Sub' $P213 = "26_1271948650.1622"
+ .const 'Sub' $P213 = "26_1272455244.05365"
capture_lex $P213
- .const 'Sub' $P204 = "25_1271948650.1622"
+ .const 'Sub' $P204 = "25_1272455244.05365"
capture_lex $P204
- .const 'Sub' $P195 = "24_1271948650.1622"
+ .const 'Sub' $P195 = "24_1272455244.05365"
capture_lex $P195
- .const 'Sub' $P186 = "23_1271948650.1622"
+ .const 'Sub' $P186 = "23_1272455244.05365"
capture_lex $P186
- .const 'Sub' $P177 = "22_1271948650.1622"
+ .const 'Sub' $P177 = "22_1272455244.05365"
capture_lex $P177
- .const 'Sub' $P167 = "21_1271948650.1622"
+ .const 'Sub' $P167 = "21_1272455244.05365"
capture_lex $P167
- .const 'Sub' $P157 = "20_1271948650.1622"
+ .const 'Sub' $P157 = "20_1272455244.05365"
capture_lex $P157
- .const 'Sub' $P149 = "19_1271948650.1622"
+ .const 'Sub' $P149 = "19_1272455244.05365"
capture_lex $P149
- .const 'Sub' $P139 = "18_1271948650.1622"
+ .const 'Sub' $P139 = "18_1272455244.05365"
capture_lex $P139
- .const 'Sub' $P129 = "17_1271948650.1622"
+ .const 'Sub' $P129 = "17_1272455244.05365"
capture_lex $P129
- .const 'Sub' $P28 = "14_1271948650.1622"
+ .const 'Sub' $P28 = "14_1272455244.05365"
capture_lex $P28
- .const 'Sub' $P22 = "13_1271948650.1622"
+ .const 'Sub' $P22 = "13_1272455244.05365"
capture_lex $P22
- .const 'Sub' $P15 = "12_1271948650.1622"
+ .const 'Sub' $P15 = "12_1272455244.05365"
capture_lex $P15
.annotate "line", 197
- .const 'Sub' $P554 = "48_1271948650.1622"
+ .const 'Sub' $P554 = "48_1272455244.05365"
capture_lex $P554
.annotate "line", 3
.return ($P554)
@@ -4799,13 +4799,13 @@
.namespace ["HLL";"Actions"]
-.sub "string_to_int" :subid("12_1271948650.1622") :outer("11_1271948650.1622")
+.sub "string_to_int" :subid("12_1272455244.05365") :outer("11_1272455244.05365")
.param pmc param_18
.param pmc param_19
.annotate "line", 3
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
- $P17."handle_types"(58)
+ $P17."handle_types"(57)
push_eh $P17
.lex "$src", param_18
.lex "$base", param_19
@@ -4852,12 +4852,12 @@
.namespace ["HLL";"Actions"]
-.sub "ints_to_string" :subid("13_1271948650.1622") :outer("11_1271948650.1622")
+.sub "ints_to_string" :subid("13_1272455244.05365") :outer("11_1272455244.05365")
.param pmc param_25
.annotate "line", 37
new $P24, 'ExceptionHandler'
set_addr $P24, control_23
- $P24."handle_types"(58)
+ $P24."handle_types"(57)
push_eh $P24
.lex "$ints", param_25
.annotate "line", 38
@@ -4893,18 +4893,18 @@
.namespace ["HLL";"Actions"]
-.sub "EXPR" :subid("14_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "EXPR" :subid("14_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_31
.param pmc param_32 :optional
.param int has_param_32 :opt_flag
.annotate "line", 62
- .const 'Sub' $P111 = "16_1271948650.1622"
+ .const 'Sub' $P111 = "16_1272455244.05365"
capture_lex $P111
- .const 'Sub' $P78 = "15_1271948650.1622"
+ .const 'Sub' $P78 = "15_1272455244.05365"
capture_lex $P78
new $P30, 'ExceptionHandler'
set_addr $P30, control_29
- $P30."handle_types"(58)
+ $P30."handle_types"(57)
push_eh $P30
.lex "self", self
.lex "$/", param_31
@@ -4920,7 +4920,7 @@
find_lex $P36, "$key"
if $P36, unless_35_end
new $P37, "Exception"
- set $P37['type'], 58
+ set $P37['type'], 57
new $P38, "Integer"
assign $P38, 0
setattribute $P37, 'payload', $P38
@@ -5035,7 +5035,7 @@
find_lex $P75, "$past"
$P76 = $P75."name"()
if $P76, unless_74_end
- .const 'Sub' $P78 = "15_1271948650.1622"
+ .const 'Sub' $P78 = "15_1272455244.05365"
capture_lex $P78
$P78()
unless_74_end:
@@ -5053,13 +5053,13 @@
iter $P105, $P107
new $P123, 'ExceptionHandler'
set_addr $P123, loop122_handler
- $P123."handle_types"(65, 67, 66)
+ $P123."handle_types"(64, 66, 65)
push_eh $P123
loop122_test:
unless $P105, loop122_done
shift $P109, $P105
loop122_redo:
- .const 'Sub' $P111 = "16_1271948650.1622"
+ .const 'Sub' $P111 = "16_1272455244.05365"
capture_lex $P111
$P111($P109)
loop122_next:
@@ -5068,8 +5068,8 @@
.local pmc exception
.get_results (exception)
getattribute $P124, exception, 'type'
- eq $P124, 65, loop122_next
- eq $P124, 67, loop122_redo
+ eq $P124, 64, loop122_next
+ eq $P124, 66, loop122_redo
loop122_done:
pop_eh
for_undef_72:
@@ -5104,7 +5104,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block77" :anon :subid("15_1271948650.1622") :outer("14_1271948650.1622")
+.sub "_block77" :anon :subid("15_1272455244.05365") :outer("14_1272455244.05365")
.annotate "line", 71
new $P79, "Undef"
.lex "$name", $P79
@@ -5154,7 +5154,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block110" :anon :subid("16_1271948650.1622") :outer("14_1271948650.1622")
+.sub "_block110" :anon :subid("16_1272455244.05365") :outer("14_1272455244.05365")
.param pmc param_112
.annotate "line", 82
.lex "$_", param_112
@@ -5177,12 +5177,12 @@
.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>" :subid("17_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "term:sym<circumfix>" :subid("17_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_132
.annotate "line", 87
new $P131, 'ExceptionHandler'
set_addr $P131, control_130
- $P131."handle_types"(58)
+ $P131."handle_types"(57)
push_eh $P131
.lex "self", self
.lex "$/", param_132
@@ -5207,12 +5207,12 @@
.namespace ["HLL";"Actions"]
-.sub "termish" :subid("18_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "termish" :subid("18_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_142
.annotate "line", 89
new $P141, 'ExceptionHandler'
set_addr $P141, control_140
- $P141."handle_types"(58)
+ $P141."handle_types"(57)
push_eh $P141
.lex "self", self
.lex "$/", param_142
@@ -5237,12 +5237,12 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm" :subid("19_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "nullterm" :subid("19_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_152
.annotate "line", 90
new $P151, 'ExceptionHandler'
set_addr $P151, control_150
- $P151."handle_types"(58)
+ $P151."handle_types"(57)
push_eh $P151
.lex "self", self
.lex "$/", param_152
@@ -5259,12 +5259,12 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm_alt" :subid("20_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "nullterm_alt" :subid("20_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_160
.annotate "line", 91
new $P159, 'ExceptionHandler'
set_addr $P159, control_158
- $P159."handle_types"(58)
+ $P159."handle_types"(57)
push_eh $P159
.lex "self", self
.lex "$/", param_160
@@ -5289,12 +5289,12 @@
.namespace ["HLL";"Actions"]
-.sub "integer" :subid("21_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "integer" :subid("21_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_170
.annotate "line", 93
new $P169, 'ExceptionHandler'
set_addr $P169, control_168
- $P169."handle_types"(58)
+ $P169."handle_types"(57)
push_eh $P169
.lex "self", self
.lex "$/", param_170
@@ -5319,12 +5319,12 @@
.namespace ["HLL";"Actions"]
-.sub "dec_number" :subid("22_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "dec_number" :subid("22_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_180
.annotate "line", 95
new $P179, 'ExceptionHandler'
set_addr $P179, control_178
- $P179."handle_types"(58)
+ $P179."handle_types"(57)
push_eh $P179
.lex "self", self
.lex "$/", param_180
@@ -5342,12 +5342,12 @@
.namespace ["HLL";"Actions"]
-.sub "decint" :subid("23_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "decint" :subid("23_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_189
.annotate "line", 97
new $P188, 'ExceptionHandler'
set_addr $P188, control_187
- $P188."handle_types"(58)
+ $P188."handle_types"(57)
push_eh $P188
.lex "self", self
.lex "$/", param_189
@@ -5365,12 +5365,12 @@
.namespace ["HLL";"Actions"]
-.sub "hexint" :subid("24_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "hexint" :subid("24_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_198
.annotate "line", 98
new $P197, 'ExceptionHandler'
set_addr $P197, control_196
- $P197."handle_types"(58)
+ $P197."handle_types"(57)
push_eh $P197
.lex "self", self
.lex "$/", param_198
@@ -5388,12 +5388,12 @@
.namespace ["HLL";"Actions"]
-.sub "octint" :subid("25_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "octint" :subid("25_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_207
.annotate "line", 99
new $P206, 'ExceptionHandler'
set_addr $P206, control_205
- $P206."handle_types"(58)
+ $P206."handle_types"(57)
push_eh $P206
.lex "self", self
.lex "$/", param_207
@@ -5411,12 +5411,12 @@
.namespace ["HLL";"Actions"]
-.sub "binint" :subid("26_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "binint" :subid("26_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_216
.annotate "line", 100
new $P215, 'ExceptionHandler'
set_addr $P215, control_214
- $P215."handle_types"(58)
+ $P215."handle_types"(57)
push_eh $P215
.lex "self", self
.lex "$/", param_216
@@ -5434,14 +5434,14 @@
.namespace ["HLL";"Actions"]
-.sub "quote_EXPR" :subid("27_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_EXPR" :subid("27_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_225
.annotate "line", 102
- .const 'Sub' $P241 = "28_1271948650.1622"
+ .const 'Sub' $P241 = "28_1272455244.05365"
capture_lex $P241
new $P224, 'ExceptionHandler'
set_addr $P224, control_223
- $P224."handle_types"(58)
+ $P224."handle_types"(57)
push_eh $P224
.lex "self", self
.lex "$/", param_225
@@ -5469,7 +5469,7 @@
$P237 = $P235."ACCEPTS"($P236)
if $P237, if_234
.annotate "line", 108
- .const 'Sub' $P241 = "28_1271948650.1622"
+ .const 'Sub' $P241 = "28_1272455244.05365"
capture_lex $P241
$P241()
goto if_234_end
@@ -5508,9 +5508,9 @@
.namespace ["HLL";"Actions"]
-.sub "_block240" :anon :subid("28_1271948650.1622") :outer("27_1271948650.1622")
+.sub "_block240" :anon :subid("28_1272455244.05365") :outer("27_1272455244.05365")
.annotate "line", 108
- .const 'Sub' $P260 = "29_1271948650.1622"
+ .const 'Sub' $P260 = "29_1272455244.05365"
capture_lex $P260
.annotate "line", 109
$P242 = root_new ['parrot';'ResizablePMCArray']
@@ -5555,13 +5555,13 @@
iter $P255, $P256
new $P266, 'ExceptionHandler'
set_addr $P266, loop265_handler
- $P266."handle_types"(65, 67, 66)
+ $P266."handle_types"(64, 66, 65)
push_eh $P266
loop265_test:
unless $P255, loop265_done
shift $P258, $P255
loop265_redo:
- .const 'Sub' $P260 = "29_1271948650.1622"
+ .const 'Sub' $P260 = "29_1272455244.05365"
capture_lex $P260
$P260($P258)
loop265_next:
@@ -5570,8 +5570,8 @@
.local pmc exception
.get_results (exception)
getattribute $P267, exception, 'type'
- eq $P267, 65, loop265_next
- eq $P267, 67, loop265_redo
+ eq $P267, 64, loop265_next
+ eq $P267, 66, loop265_redo
loop265_done:
pop_eh
for_undef_87:
@@ -5584,7 +5584,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block259" :anon :subid("29_1271948650.1622") :outer("28_1271948650.1622")
+.sub "_block259" :anon :subid("29_1272455244.05365") :outer("28_1272455244.05365")
.param pmc param_261
.annotate "line", 112
.lex "$_", param_261
@@ -5596,14 +5596,14 @@
.namespace ["HLL";"Actions"]
-.sub "quote_delimited" :subid("30_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_delimited" :subid("30_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_288
.annotate "line", 125
- .const 'Sub' $P300 = "31_1271948650.1622"
+ .const 'Sub' $P300 = "31_1272455244.05365"
capture_lex $P300
new $P287, 'ExceptionHandler'
set_addr $P287, control_286
- $P287."handle_types"(58)
+ $P287."handle_types"(57)
push_eh $P287
.lex "self", self
.lex "$/", param_288
@@ -5636,13 +5636,13 @@
iter $P294, $P296
new $P333, 'ExceptionHandler'
set_addr $P333, loop332_handler
- $P333."handle_types"(65, 67, 66)
+ $P333."handle_types"(64, 66, 65)
push_eh $P333
loop332_test:
unless $P294, loop332_done
shift $P298, $P294
loop332_redo:
- .const 'Sub' $P300 = "31_1271948650.1622"
+ .const 'Sub' $P300 = "31_1272455244.05365"
capture_lex $P300
$P300($P298)
loop332_next:
@@ -5651,8 +5651,8 @@
.local pmc exception
.get_results (exception)
getattribute $P334, exception, 'type'
- eq $P334, 65, loop332_next
- eq $P334, 67, loop332_redo
+ eq $P334, 64, loop332_next
+ eq $P334, 66, loop332_redo
loop332_done:
pop_eh
for_undef_90:
@@ -5681,7 +5681,7 @@
.annotate "line", 144
new $P354, 'ExceptionHandler'
set_addr $P354, loop353_handler
- $P354."handle_types"(65, 67, 66)
+ $P354."handle_types"(64, 66, 65)
push_eh $P354
loop353_test:
find_lex $P347, "@parts"
@@ -5701,8 +5701,8 @@
.local pmc exception
.get_results (exception)
getattribute $P355, exception, 'type'
- eq $P355, 65, loop353_next
- eq $P355, 67, loop353_redo
+ eq $P355, 64, loop353_next
+ eq $P355, 66, loop353_redo
loop353_done:
pop_eh
.annotate "line", 147
@@ -5720,7 +5720,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block299" :anon :subid("31_1271948650.1622") :outer("30_1271948650.1622")
+.sub "_block299" :anon :subid("31_1272455244.05365") :outer("30_1272455244.05365")
.param pmc param_302
.annotate "line", 129
new $P301, "Undef"
@@ -5789,12 +5789,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_atom" :subid("32_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_atom" :subid("32_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_363
.annotate "line", 150
new $P362, 'ExceptionHandler'
set_addr $P362, control_361
- $P362."handle_types"(58)
+ $P362."handle_types"(57)
push_eh $P362
.lex "self", self
.lex "$/", param_363
@@ -5838,12 +5838,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>" :subid("33_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<backslash>" :subid("33_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_379
.annotate "line", 154
new $P378, 'ExceptionHandler'
set_addr $P378, control_377
- $P378."handle_types"(58)
+ $P378."handle_types"(57)
push_eh $P378
.lex "self", self
.lex "$/", param_379
@@ -5859,12 +5859,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>" :subid("34_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<stopper>" :subid("34_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_386
.annotate "line", 155
new $P385, 'ExceptionHandler'
set_addr $P385, control_384
- $P385."handle_types"(58)
+ $P385."handle_types"(57)
push_eh $P385
.lex "self", self
.lex "$/", param_386
@@ -5889,12 +5889,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>" :subid("35_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<bs>" :subid("35_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_396
.annotate "line", 157
new $P395, 'ExceptionHandler'
set_addr $P395, control_394
- $P395."handle_types"(58)
+ $P395."handle_types"(57)
push_eh $P395
.lex "self", self
.lex "$/", param_396
@@ -5910,12 +5910,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>" :subid("36_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<nl>" :subid("36_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_403
.annotate "line", 158
new $P402, 'ExceptionHandler'
set_addr $P402, control_401
- $P402."handle_types"(58)
+ $P402."handle_types"(57)
push_eh $P402
.lex "self", self
.lex "$/", param_403
@@ -5931,12 +5931,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>" :subid("37_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<cr>" :subid("37_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_410
.annotate "line", 159
new $P409, 'ExceptionHandler'
set_addr $P409, control_408
- $P409."handle_types"(58)
+ $P409."handle_types"(57)
push_eh $P409
.lex "self", self
.lex "$/", param_410
@@ -5952,12 +5952,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>" :subid("38_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<tab>" :subid("38_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_417
.annotate "line", 160
new $P416, 'ExceptionHandler'
set_addr $P416, control_415
- $P416."handle_types"(58)
+ $P416."handle_types"(57)
push_eh $P416
.lex "self", self
.lex "$/", param_417
@@ -5973,12 +5973,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>" :subid("39_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<ff>" :subid("39_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_424
.annotate "line", 161
new $P423, 'ExceptionHandler'
set_addr $P423, control_422
- $P423."handle_types"(58)
+ $P423."handle_types"(57)
push_eh $P423
.lex "self", self
.lex "$/", param_424
@@ -5994,12 +5994,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>" :subid("40_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<hex>" :subid("40_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_431
.annotate "line", 163
new $P430, 'ExceptionHandler'
set_addr $P430, control_429
- $P430."handle_types"(58)
+ $P430."handle_types"(57)
push_eh $P430
.lex "self", self
.lex "$/", param_431
@@ -6052,12 +6052,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>" :subid("41_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<oct>" :subid("41_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_448
.annotate "line", 167
new $P447, 'ExceptionHandler'
set_addr $P447, control_446
- $P447."handle_types"(58)
+ $P447."handle_types"(57)
push_eh $P447
.lex "self", self
.lex "$/", param_448
@@ -6110,12 +6110,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>" :subid("42_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<chr>" :subid("42_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_465
.annotate "line", 171
new $P464, 'ExceptionHandler'
set_addr $P464, control_463
- $P464."handle_types"(58)
+ $P464."handle_types"(57)
push_eh $P464
.lex "self", self
.lex "$/", param_465
@@ -6142,12 +6142,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>" :subid("43_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<0>" :subid("43_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_475
.annotate "line", 175
new $P474, 'ExceptionHandler'
set_addr $P474, control_473
- $P474."handle_types"(58)
+ $P474."handle_types"(57)
push_eh $P474
.lex "self", self
.lex "$/", param_475
@@ -6165,12 +6165,12 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>" :subid("44_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "quote_escape:sym<misc>" :subid("44_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_482
.annotate "line", 179
new $P481, 'ExceptionHandler'
set_addr $P481, control_480
- $P481."handle_types"(58)
+ $P481."handle_types"(57)
push_eh $P481
.lex "self", self
.lex "$/", param_482
@@ -6223,12 +6223,12 @@
.namespace ["HLL";"Actions"]
-.sub "charname" :subid("45_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "charname" :subid("45_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_501
.annotate "line", 183
new $P500, 'ExceptionHandler'
set_addr $P500, control_499
- $P500."handle_types"(58)
+ $P500."handle_types"(57)
push_eh $P500
.lex "self", self
.lex "$/", param_501
@@ -6296,14 +6296,14 @@
.namespace ["HLL";"Actions"]
-.sub "charnames" :subid("46_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "charnames" :subid("46_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_532
.annotate "line", 191
- .const 'Sub' $P541 = "47_1271948650.1622"
+ .const 'Sub' $P541 = "47_1272455244.05365"
capture_lex $P541
new $P531, 'ExceptionHandler'
set_addr $P531, control_530
- $P531."handle_types"(58)
+ $P531."handle_types"(57)
push_eh $P531
.lex "self", self
.lex "$/", param_532
@@ -6327,13 +6327,13 @@
iter $P535, $P537
new $P548, 'ExceptionHandler'
set_addr $P548, loop547_handler
- $P548."handle_types"(65, 67, 66)
+ $P548."handle_types"(64, 66, 65)
push_eh $P548
loop547_test:
unless $P535, loop547_done
shift $P539, $P535
loop547_redo:
- .const 'Sub' $P541 = "47_1271948650.1622"
+ .const 'Sub' $P541 = "47_1272455244.05365"
capture_lex $P541
$P541($P539)
loop547_next:
@@ -6342,8 +6342,8 @@
.local pmc exception
.get_results (exception)
getattribute $P549, exception, 'type'
- eq $P549, 65, loop547_next
- eq $P549, 67, loop547_redo
+ eq $P549, 64, loop547_next
+ eq $P549, 66, loop547_redo
loop547_done:
pop_eh
for_undef_125:
@@ -6362,7 +6362,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block540" :anon :subid("47_1271948650.1622") :outer("46_1271948650.1622")
+.sub "_block540" :anon :subid("47_1272455244.05365") :outer("46_1272455244.05365")
.param pmc param_542
.annotate "line", 193
.lex "$_", param_542
@@ -6376,12 +6376,12 @@
.namespace ["HLL";"Actions"]
-.sub "charspec" :subid("48_1271948650.1622") :method :outer("11_1271948650.1622")
+.sub "charspec" :subid("48_1272455244.05365") :method :outer("11_1272455244.05365")
.param pmc param_557
.annotate "line", 197
new $P556, 'ExceptionHandler'
set_addr $P556, control_555
- $P556."handle_types"(58)
+ $P556."handle_types"(57)
push_eh $P556
.lex "self", self
.lex "$/", param_557
@@ -6427,7 +6427,7 @@
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948651.35295")
+.sub "_block11" :anon :subid("10_1272455244.64589")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
@@ -6441,9 +6441,9 @@
.namespace []
-.sub "" :load :init :subid("post25") :outer("10_1271948651.35295")
+.sub "" :load :init :subid("post25") :outer("10_1272455244.64589")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948651.35295"
+ .const 'Sub' $P12 = "10_1272455244.64589"
.local pmc block
set block, $P12
.annotate "line", 2
@@ -6457,28 +6457,28 @@
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1271948651.35295") :outer("10_1271948651.35295")
+.sub "_block13" :subid("11_1272455244.64589") :outer("10_1272455244.64589")
.annotate "line", 6
- .const 'Sub' $P187 = "20_1271948651.35295"
+ .const 'Sub' $P187 = "20_1272455244.64589"
capture_lex $P187
- .const 'Sub' $P152 = "18_1271948651.35295"
+ .const 'Sub' $P152 = "18_1272455244.64589"
capture_lex $P152
- .const 'Sub' $P137 = "17_1271948651.35295"
+ .const 'Sub' $P137 = "17_1272455244.64589"
capture_lex $P137
- .const 'Sub' $P121 = "16_1271948651.35295"
+ .const 'Sub' $P121 = "16_1272455244.64589"
capture_lex $P121
- .const 'Sub' $P32 = "13_1271948651.35295"
+ .const 'Sub' $P32 = "13_1272455244.64589"
capture_lex $P32
- .const 'Sub' $P15 = "12_1271948651.35295"
+ .const 'Sub' $P15 = "12_1272455244.64589"
capture_lex $P15
.annotate "line", 14
- .const 'Sub' $P15 = "12_1271948651.35295"
+ .const 'Sub' $P15 = "12_1272455244.64589"
capture_lex $P15
.lex "value_type", $P15
.annotate "line", 10
find_lex $P31, "value_type"
.annotate "line", 69
- .const 'Sub' $P187 = "20_1271948651.35295"
+ .const 'Sub' $P187 = "20_1272455244.64589"
capture_lex $P187
.annotate "line", 6
.return ($P187)
@@ -6486,7 +6486,7 @@
.namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post26") :outer("11_1271948651.35295")
+.sub "" :load :init :subid("post26") :outer("11_1272455244.64589")
.annotate "line", 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
.local pmc block
@@ -6498,12 +6498,12 @@
.namespace ["HLL";"Compiler"]
-.sub "value_type" :subid("12_1271948651.35295") :outer("11_1271948651.35295")
+.sub "value_type" :subid("12_1272455244.64589") :outer("11_1272455244.64589")
.param pmc param_18
.annotate "line", 14
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
- $P17."handle_types"(58)
+ $P17."handle_types"(57)
push_eh $P17
.lex "$value", param_18
.annotate "line", 15
@@ -6542,19 +6542,19 @@
.namespace ["HLL";"Compiler"]
-.sub "get_exports" :subid("13_1271948651.35295") :method :outer("11_1271948651.35295")
+.sub "get_exports" :subid("13_1272455244.64589") :method :outer("11_1272455244.64589")
.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_1271948651.35295"
+ .const 'Sub' $P104 = "15_1272455244.64589"
capture_lex $P104
- .const 'Sub' $P83 = "14_1271948651.35295"
+ .const 'Sub' $P83 = "14_1272455244.64589"
capture_lex $P83
new $P34, 'ExceptionHandler'
set_addr $P34, control_33
- $P34."handle_types"(58)
+ $P34."handle_types"(57)
push_eh $P34
.lex "self", self
.lex "$module", param_35
@@ -6650,13 +6650,13 @@
iter $P99, $P100
new $P117, 'ExceptionHandler'
set_addr $P117, loop116_handler
- $P117."handle_types"(65, 67, 66)
+ $P117."handle_types"(64, 66, 65)
push_eh $P117
loop116_test:
unless $P99, loop116_done
shift $P102, $P99
loop116_redo:
- .const 'Sub' $P104 = "15_1271948651.35295"
+ .const 'Sub' $P104 = "15_1272455244.64589"
capture_lex $P104
$P104($P102)
loop116_next:
@@ -6665,8 +6665,8 @@
.local pmc exception
.get_results (exception)
getattribute $P118, exception, 'type'
- eq $P118, 65, loop116_next
- eq $P118, 67, loop116_redo
+ eq $P118, 64, loop116_next
+ eq $P118, 66, loop116_redo
loop116_done:
pop_eh
for_undef_31:
@@ -6680,13 +6680,13 @@
iter $P78, $P79
new $P97, 'ExceptionHandler'
set_addr $P97, loop96_handler
- $P97."handle_types"(65, 67, 66)
+ $P97."handle_types"(64, 66, 65)
push_eh $P97
loop96_test:
unless $P78, loop96_done
shift $P81, $P78
loop96_redo:
- .const 'Sub' $P83 = "14_1271948651.35295"
+ .const 'Sub' $P83 = "14_1272455244.64589"
capture_lex $P83
$P83($P81)
loop96_next:
@@ -6695,8 +6695,8 @@
.local pmc exception
.get_results (exception)
getattribute $P98, exception, 'type'
- eq $P98, 65, loop96_next
- eq $P98, 67, loop96_redo
+ eq $P98, 64, loop96_next
+ eq $P98, 66, loop96_redo
loop96_done:
pop_eh
for_undef_34:
@@ -6714,7 +6714,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block103" :anon :subid("15_1271948651.35295") :outer("13_1271948651.35295")
+.sub "_block103" :anon :subid("15_1272455244.64589") :outer("13_1272455244.64589")
.param pmc param_106
.annotate "line", 40
new $P105, "Undef"
@@ -6746,7 +6746,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block82" :anon :subid("14_1271948651.35295") :outer("13_1271948651.35295")
+.sub "_block82" :anon :subid("14_1272455244.64589") :outer("13_1272455244.64589")
.param pmc param_85
.annotate "line", 34
new $P84, "Undef"
@@ -6785,12 +6785,12 @@
.namespace ["HLL";"Compiler"]
-.sub "get_module" :subid("16_1271948651.35295") :method :outer("11_1271948651.35295")
+.sub "get_module" :subid("16_1272455244.64589") :method :outer("11_1272455244.64589")
.param pmc param_124
.annotate "line", 47
new $P123, 'ExceptionHandler'
set_addr $P123, control_122
- $P123."handle_types"(58)
+ $P123."handle_types"(57)
push_eh $P123
.lex "self", self
.lex "$name", param_124
@@ -6825,13 +6825,13 @@
.namespace ["HLL";"Compiler"]
-.sub "language" :subid("17_1271948651.35295") :method :outer("11_1271948651.35295")
+.sub "language" :subid("17_1272455244.64589") :method :outer("11_1272455244.64589")
.param pmc param_140 :optional
.param int has_param_140 :opt_flag
.annotate "line", 53
new $P139, 'ExceptionHandler'
set_addr $P139, control_138
- $P139."handle_types"(58)
+ $P139."handle_types"(57)
push_eh $P139
.lex "self", self
if has_param_140, optparam_40
@@ -6869,14 +6869,14 @@
.namespace ["HLL";"Compiler"]
-.sub "load_module" :subid("18_1271948651.35295") :method :outer("11_1271948651.35295")
+.sub "load_module" :subid("18_1272455244.64589") :method :outer("11_1272455244.64589")
.param pmc param_155
.annotate "line", 61
- .const 'Sub' $P165 = "19_1271948651.35295"
+ .const 'Sub' $P165 = "19_1272455244.64589"
capture_lex $P165
new $P154, 'ExceptionHandler'
set_addr $P154, control_153
- $P154."handle_types"(58)
+ $P154."handle_types"(57)
push_eh $P154
.lex "self", self
.lex "$name", param_155
@@ -6899,7 +6899,7 @@
assign $P163, 0
store_lex "$loaded", $P163
.annotate "line", 64
- .const 'Sub' $P165 = "19_1271948651.35295"
+ .const 'Sub' $P165 = "19_1272455244.64589"
capture_lex $P165
$P165()
.annotate "line", 65
@@ -6928,11 +6928,11 @@
.namespace ["HLL";"Compiler"]
-.sub "_block164" :anon :subid("19_1271948651.35295") :outer("18_1271948651.35295")
+.sub "_block164" :anon :subid("19_1272455244.64589") :outer("18_1272455244.64589")
.annotate "line", 64
new $P172, 'ExceptionHandler'
set_addr $P172, control_171
- $P172."handle_types_except"(58, 59, 60, 61, 63, 64, 65, 66, 67)
+ $P172."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
push_eh $P172
find_lex $P166, "$base"
concat $P167, $P166, ".pbc"
@@ -6961,15 +6961,15 @@
.namespace ["HLL";"Compiler"]
-.sub "import" :subid("20_1271948651.35295") :method :outer("11_1271948651.35295")
+.sub "import" :subid("20_1272455244.64589") :method :outer("11_1272455244.64589")
.param pmc param_190
.param pmc param_191
.annotate "line", 69
- .const 'Sub' $P197 = "21_1271948651.35295"
+ .const 'Sub' $P197 = "21_1272455244.64589"
capture_lex $P197
new $P189, 'ExceptionHandler'
set_addr $P189, control_188
- $P189."handle_types"(58)
+ $P189."handle_types"(57)
push_eh $P189
.lex "self", self
.lex "$target", param_190
@@ -6981,13 +6981,13 @@
iter $P192, $P193
new $P279, 'ExceptionHandler'
set_addr $P279, loop278_handler
- $P279."handle_types"(65, 67, 66)
+ $P279."handle_types"(64, 66, 65)
push_eh $P279
loop278_test:
unless $P192, loop278_done
shift $P195, $P192
loop278_redo:
- .const 'Sub' $P197 = "21_1271948651.35295"
+ .const 'Sub' $P197 = "21_1272455244.64589"
capture_lex $P197
$P197($P195)
loop278_next:
@@ -6996,8 +6996,8 @@
.local pmc exception
.get_results (exception)
getattribute $P280, exception, 'type'
- eq $P280, 65, loop278_next
- eq $P280, 67, loop278_redo
+ eq $P280, 64, loop278_next
+ eq $P280, 66, loop278_redo
loop278_done:
pop_eh
for_undef_42:
@@ -7012,14 +7012,14 @@
.namespace ["HLL";"Compiler"]
-.sub "_block196" :anon :subid("21_1271948651.35295") :outer("20_1271948651.35295")
+.sub "_block196" :anon :subid("21_1272455244.64589") :outer("20_1272455244.64589")
.param pmc param_200
.annotate "line", 70
- .const 'Sub' $P267 = "24_1271948651.35295"
+ .const 'Sub' $P267 = "24_1272455244.64589"
capture_lex $P267
- .const 'Sub' $P247 = "23_1271948651.35295"
+ .const 'Sub' $P247 = "23_1272455244.64589"
capture_lex $P247
- .const 'Sub' $P218 = "22_1271948651.35295"
+ .const 'Sub' $P218 = "22_1272455244.64589"
capture_lex $P218
.annotate "line", 71
new $P198, "Undef"
@@ -7061,13 +7061,13 @@
iter $P262, $P263
new $P276, 'ExceptionHandler'
set_addr $P276, loop275_handler
- $P276."handle_types"(65, 67, 66)
+ $P276."handle_types"(64, 66, 65)
push_eh $P276
loop275_test:
unless $P262, loop275_done
shift $P265, $P262
loop275_redo:
- .const 'Sub' $P267 = "24_1271948651.35295"
+ .const 'Sub' $P267 = "24_1272455244.64589"
capture_lex $P267
$P267($P265)
loop275_next:
@@ -7076,8 +7076,8 @@
.local pmc exception
.get_results (exception)
getattribute $P277, exception, 'type'
- eq $P277, 65, loop275_next
- eq $P277, 67, loop275_redo
+ eq $P277, 64, loop275_next
+ eq $P277, 66, loop275_redo
loop275_done:
pop_eh
for_undef_43:
@@ -7093,13 +7093,13 @@
iter $P242, $P243
new $P260, 'ExceptionHandler'
set_addr $P260, loop259_handler
- $P260."handle_types"(65, 67, 66)
+ $P260."handle_types"(64, 66, 65)
push_eh $P260
loop259_test:
unless $P242, loop259_done
shift $P245, $P242
loop259_redo:
- .const 'Sub' $P247 = "23_1271948651.35295"
+ .const 'Sub' $P247 = "23_1272455244.64589"
capture_lex $P247
$P247($P245)
loop259_next:
@@ -7108,8 +7108,8 @@
.local pmc exception
.get_results (exception)
getattribute $P261, exception, 'type'
- eq $P261, 65, loop259_next
- eq $P261, 67, loop259_redo
+ eq $P261, 64, loop259_next
+ eq $P261, 66, loop259_redo
loop259_done:
pop_eh
for_undef_45:
@@ -7127,13 +7127,13 @@
iter $P213, $P214
new $P232, 'ExceptionHandler'
set_addr $P232, loop231_handler
- $P232."handle_types"(65, 67, 66)
+ $P232."handle_types"(64, 66, 65)
push_eh $P232
loop231_test:
unless $P213, loop231_done
shift $P216, $P213
loop231_redo:
- .const 'Sub' $P218 = "22_1271948651.35295"
+ .const 'Sub' $P218 = "22_1272455244.64589"
capture_lex $P218
$P218($P216)
loop231_next:
@@ -7142,8 +7142,8 @@
.local pmc exception
.get_results (exception)
getattribute $P233, exception, 'type'
- eq $P233, 65, loop231_next
- eq $P233, 67, loop231_redo
+ eq $P233, 64, loop231_next
+ eq $P233, 66, loop231_redo
loop231_done:
pop_eh
for_undef_46:
@@ -7156,7 +7156,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block266" :anon :subid("24_1271948651.35295") :outer("21_1271948651.35295")
+.sub "_block266" :anon :subid("24_1272455244.64589") :outer("21_1272455244.64589")
.param pmc param_268
.annotate "line", 80
.lex "$_", param_268
@@ -7176,7 +7176,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block246" :anon :subid("23_1271948651.35295") :outer("21_1271948651.35295")
+.sub "_block246" :anon :subid("23_1272455244.64589") :outer("21_1272455244.64589")
.param pmc param_248
.annotate "line", 77
.lex "$_", param_248
@@ -7196,7 +7196,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block217" :anon :subid("22_1271948651.35295") :outer("21_1271948651.35295")
+.sub "_block217" :anon :subid("22_1272455244.64589") :outer("21_1272455244.64589")
.param pmc param_219
.annotate "line", 74
.lex "$_", param_219
Modified: branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/NQP-s0.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/NQP-s0.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -15,7 +15,7 @@
### .include 'gen/nqp-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948667.92136")
+.sub "_block11" :anon :subid("10_1272455252.89365")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
@@ -29,9 +29,9 @@
.namespace []
-.sub "" :load :init :subid("post333") :outer("10_1271948667.92136")
+.sub "" :load :init :subid("post333") :outer("10_1272455252.89365")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948667.92136"
+ .const 'Sub' $P12 = "10_1272455252.89365"
.local pmc block
set block, $P12
$P1305 = get_root_global ["parrot"], "P6metaclass"
@@ -40,295 +40,295 @@
.namespace ["NQP";"Grammar"]
-.sub "_block13" :subid("11_1271948667.92136") :outer("10_1271948667.92136")
+.sub "_block13" :subid("11_1272455252.89365") :outer("10_1272455252.89365")
.annotate "line", 4
get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
capture_lex $P1248
- .const 'Sub' $P1234 = "319_1271948667.92136"
+ .const 'Sub' $P1234 = "319_1272455252.89365"
capture_lex $P1234
- .const 'Sub' $P1228 = "317_1271948667.92136"
+ .const 'Sub' $P1228 = "317_1272455252.89365"
capture_lex $P1228
- .const 'Sub' $P1222 = "315_1271948667.92136"
+ .const 'Sub' $P1222 = "315_1272455252.89365"
capture_lex $P1222
- .const 'Sub' $P1215 = "313_1271948667.92136"
+ .const 'Sub' $P1215 = "313_1272455252.89365"
capture_lex $P1215
- .const 'Sub' $P1208 = "311_1271948667.92136"
+ .const 'Sub' $P1208 = "311_1272455252.89365"
capture_lex $P1208
- .const 'Sub' $P1201 = "309_1271948667.92136"
+ .const 'Sub' $P1201 = "309_1272455252.89365"
capture_lex $P1201
- .const 'Sub' $P1194 = "307_1271948667.92136"
+ .const 'Sub' $P1194 = "307_1272455252.89365"
capture_lex $P1194
- .const 'Sub' $P1188 = "305_1271948667.92136"
+ .const 'Sub' $P1188 = "305_1272455252.89365"
capture_lex $P1188
- .const 'Sub' $P1181 = "303_1271948667.92136"
+ .const 'Sub' $P1181 = "303_1272455252.89365"
capture_lex $P1181
- .const 'Sub' $P1174 = "301_1271948667.92136"
+ .const 'Sub' $P1174 = "301_1272455252.89365"
capture_lex $P1174
- .const 'Sub' $P1167 = "299_1271948667.92136"
+ .const 'Sub' $P1167 = "299_1272455252.89365"
capture_lex $P1167
- .const 'Sub' $P1160 = "297_1271948667.92136"
+ .const 'Sub' $P1160 = "297_1272455252.89365"
capture_lex $P1160
- .const 'Sub' $P1153 = "295_1271948667.92136"
+ .const 'Sub' $P1153 = "295_1272455252.89365"
capture_lex $P1153
- .const 'Sub' $P1146 = "293_1271948667.92136"
+ .const 'Sub' $P1146 = "293_1272455252.89365"
capture_lex $P1146
- .const 'Sub' $P1139 = "291_1271948667.92136"
+ .const 'Sub' $P1139 = "291_1272455252.89365"
capture_lex $P1139
- .const 'Sub' $P1132 = "289_1271948667.92136"
+ .const 'Sub' $P1132 = "289_1272455252.89365"
capture_lex $P1132
- .const 'Sub' $P1125 = "287_1271948667.92136"
+ .const 'Sub' $P1125 = "287_1272455252.89365"
capture_lex $P1125
- .const 'Sub' $P1118 = "285_1271948667.92136"
+ .const 'Sub' $P1118 = "285_1272455252.89365"
capture_lex $P1118
- .const 'Sub' $P1111 = "283_1271948667.92136"
+ .const 'Sub' $P1111 = "283_1272455252.89365"
capture_lex $P1111
- .const 'Sub' $P1104 = "281_1271948667.92136"
+ .const 'Sub' $P1104 = "281_1272455252.89365"
capture_lex $P1104
- .const 'Sub' $P1097 = "279_1271948667.92136"
+ .const 'Sub' $P1097 = "279_1272455252.89365"
capture_lex $P1097
- .const 'Sub' $P1090 = "277_1271948667.92136"
+ .const 'Sub' $P1090 = "277_1272455252.89365"
capture_lex $P1090
- .const 'Sub' $P1083 = "275_1271948667.92136"
+ .const 'Sub' $P1083 = "275_1272455252.89365"
capture_lex $P1083
- .const 'Sub' $P1076 = "273_1271948667.92136"
+ .const 'Sub' $P1076 = "273_1272455252.89365"
capture_lex $P1076
- .const 'Sub' $P1069 = "271_1271948667.92136"
+ .const 'Sub' $P1069 = "271_1272455252.89365"
capture_lex $P1069
- .const 'Sub' $P1062 = "269_1271948667.92136"
+ .const 'Sub' $P1062 = "269_1272455252.89365"
capture_lex $P1062
- .const 'Sub' $P1055 = "267_1271948667.92136"
+ .const 'Sub' $P1055 = "267_1272455252.89365"
capture_lex $P1055
- .const 'Sub' $P1048 = "265_1271948667.92136"
+ .const 'Sub' $P1048 = "265_1272455252.89365"
capture_lex $P1048
- .const 'Sub' $P1041 = "263_1271948667.92136"
+ .const 'Sub' $P1041 = "263_1272455252.89365"
capture_lex $P1041
- .const 'Sub' $P1034 = "261_1271948667.92136"
+ .const 'Sub' $P1034 = "261_1272455252.89365"
capture_lex $P1034
- .const 'Sub' $P1027 = "259_1271948667.92136"
+ .const 'Sub' $P1027 = "259_1272455252.89365"
capture_lex $P1027
- .const 'Sub' $P1020 = "257_1271948667.92136"
+ .const 'Sub' $P1020 = "257_1272455252.89365"
capture_lex $P1020
- .const 'Sub' $P1013 = "255_1271948667.92136"
+ .const 'Sub' $P1013 = "255_1272455252.89365"
capture_lex $P1013
- .const 'Sub' $P1006 = "253_1271948667.92136"
+ .const 'Sub' $P1006 = "253_1272455252.89365"
capture_lex $P1006
- .const 'Sub' $P1000 = "251_1271948667.92136"
+ .const 'Sub' $P1000 = "251_1272455252.89365"
capture_lex $P1000
- .const 'Sub' $P993 = "249_1271948667.92136"
+ .const 'Sub' $P993 = "249_1272455252.89365"
capture_lex $P993
- .const 'Sub' $P986 = "247_1271948667.92136"
+ .const 'Sub' $P986 = "247_1272455252.89365"
capture_lex $P986
- .const 'Sub' $P979 = "245_1271948667.92136"
+ .const 'Sub' $P979 = "245_1272455252.89365"
capture_lex $P979
- .const 'Sub' $P972 = "243_1271948667.92136"
+ .const 'Sub' $P972 = "243_1272455252.89365"
capture_lex $P972
- .const 'Sub' $P965 = "241_1271948667.92136"
+ .const 'Sub' $P965 = "241_1272455252.89365"
capture_lex $P965
- .const 'Sub' $P958 = "239_1271948667.92136"
+ .const 'Sub' $P958 = "239_1272455252.89365"
capture_lex $P958
- .const 'Sub' $P951 = "237_1271948667.92136"
+ .const 'Sub' $P951 = "237_1272455252.89365"
capture_lex $P951
- .const 'Sub' $P945 = "235_1271948667.92136"
+ .const 'Sub' $P945 = "235_1272455252.89365"
capture_lex $P945
- .const 'Sub' $P939 = "233_1271948667.92136"
+ .const 'Sub' $P939 = "233_1272455252.89365"
capture_lex $P939
- .const 'Sub' $P934 = "231_1271948667.92136"
+ .const 'Sub' $P934 = "231_1272455252.89365"
capture_lex $P934
- .const 'Sub' $P928 = "229_1271948667.92136"
+ .const 'Sub' $P928 = "229_1272455252.89365"
capture_lex $P928
- .const 'Sub' $P922 = "227_1271948667.92136"
+ .const 'Sub' $P922 = "227_1272455252.89365"
capture_lex $P922
- .const 'Sub' $P917 = "225_1271948667.92136"
+ .const 'Sub' $P917 = "225_1272455252.89365"
capture_lex $P917
- .const 'Sub' $P912 = "223_1271948667.92136"
+ .const 'Sub' $P912 = "223_1272455252.89365"
capture_lex $P912
- .const 'Sub' $P905 = "221_1271948667.92136"
+ .const 'Sub' $P905 = "221_1272455252.89365"
capture_lex $P905
- .const 'Sub' $P897 = "219_1271948667.92136"
+ .const 'Sub' $P897 = "219_1272455252.89365"
capture_lex $P897
- .const 'Sub' $P892 = "217_1271948667.92136"
+ .const 'Sub' $P892 = "217_1272455252.89365"
capture_lex $P892
- .const 'Sub' $P887 = "215_1271948667.92136"
+ .const 'Sub' $P887 = "215_1272455252.89365"
capture_lex $P887
- .const 'Sub' $P882 = "213_1271948667.92136"
+ .const 'Sub' $P882 = "213_1272455252.89365"
capture_lex $P882
- .const 'Sub' $P874 = "211_1271948667.92136"
+ .const 'Sub' $P874 = "211_1272455252.89365"
capture_lex $P874
- .const 'Sub' $P866 = "209_1271948667.92136"
+ .const 'Sub' $P866 = "209_1272455252.89365"
capture_lex $P866
- .const 'Sub' $P861 = "207_1271948667.92136"
+ .const 'Sub' $P861 = "207_1272455252.89365"
capture_lex $P861
- .const 'Sub' $P856 = "205_1271948667.92136"
+ .const 'Sub' $P856 = "205_1272455252.89365"
capture_lex $P856
- .const 'Sub' $P851 = "203_1271948667.92136"
+ .const 'Sub' $P851 = "203_1272455252.89365"
capture_lex $P851
- .const 'Sub' $P845 = "201_1271948667.92136"
+ .const 'Sub' $P845 = "201_1272455252.89365"
capture_lex $P845
- .const 'Sub' $P839 = "199_1271948667.92136"
+ .const 'Sub' $P839 = "199_1272455252.89365"
capture_lex $P839
- .const 'Sub' $P833 = "197_1271948667.92136"
+ .const 'Sub' $P833 = "197_1272455252.89365"
capture_lex $P833
- .const 'Sub' $P827 = "195_1271948667.92136"
+ .const 'Sub' $P827 = "195_1272455252.89365"
capture_lex $P827
- .const 'Sub' $P821 = "193_1271948667.92136"
+ .const 'Sub' $P821 = "193_1272455252.89365"
capture_lex $P821
- .const 'Sub' $P816 = "191_1271948667.92136"
+ .const 'Sub' $P816 = "191_1272455252.89365"
capture_lex $P816
- .const 'Sub' $P811 = "189_1271948667.92136"
+ .const 'Sub' $P811 = "189_1272455252.89365"
capture_lex $P811
- .const 'Sub' $P798 = "185_1271948667.92136"
+ .const 'Sub' $P798 = "185_1272455252.89365"
capture_lex $P798
- .const 'Sub' $P790 = "183_1271948667.92136"
+ .const 'Sub' $P790 = "183_1272455252.89365"
capture_lex $P790
- .const 'Sub' $P784 = "181_1271948667.92136"
+ .const 'Sub' $P784 = "181_1272455252.89365"
capture_lex $P784
- .const 'Sub' $P777 = "179_1271948667.92136"
+ .const 'Sub' $P777 = "179_1272455252.89365"
capture_lex $P777
- .const 'Sub' $P771 = "177_1271948667.92136"
+ .const 'Sub' $P771 = "177_1272455252.89365"
capture_lex $P771
- .const 'Sub' $P763 = "175_1271948667.92136"
+ .const 'Sub' $P763 = "175_1272455252.89365"
capture_lex $P763
- .const 'Sub' $P755 = "173_1271948667.92136"
+ .const 'Sub' $P755 = "173_1272455252.89365"
capture_lex $P755
- .const 'Sub' $P749 = "171_1271948667.92136"
+ .const 'Sub' $P749 = "171_1272455252.89365"
capture_lex $P749
- .const 'Sub' $P743 = "169_1271948667.92136"
+ .const 'Sub' $P743 = "169_1272455252.89365"
capture_lex $P743
- .const 'Sub' $P728 = "165_1271948667.92136"
+ .const 'Sub' $P728 = "165_1272455252.89365"
capture_lex $P728
- .const 'Sub' $P691 = "163_1271948667.92136"
+ .const 'Sub' $P691 = "163_1272455252.89365"
capture_lex $P691
- .const 'Sub' $P683 = "161_1271948667.92136"
+ .const 'Sub' $P683 = "161_1272455252.89365"
capture_lex $P683
- .const 'Sub' $P677 = "159_1271948667.92136"
+ .const 'Sub' $P677 = "159_1272455252.89365"
capture_lex $P677
- .const 'Sub' $P667 = "157_1271948667.92136"
+ .const 'Sub' $P667 = "157_1272455252.89365"
capture_lex $P667
- .const 'Sub' $P652 = "155_1271948667.92136"
+ .const 'Sub' $P652 = "155_1272455252.89365"
capture_lex $P652
- .const 'Sub' $P643 = "153_1271948667.92136"
+ .const 'Sub' $P643 = "153_1272455252.89365"
capture_lex $P643
- .const 'Sub' $P624 = "151_1271948667.92136"
+ .const 'Sub' $P624 = "151_1272455252.89365"
capture_lex $P624
- .const 'Sub' $P600 = "149_1271948667.92136"
+ .const 'Sub' $P600 = "149_1272455252.89365"
capture_lex $P600
- .const 'Sub' $P593 = "147_1271948667.92136"
+ .const 'Sub' $P593 = "147_1272455252.89365"
capture_lex $P593
- .const 'Sub' $P586 = "145_1271948667.92136"
+ .const 'Sub' $P586 = "145_1272455252.89365"
capture_lex $P586
- .const 'Sub' $P576 = "141_1271948667.92136"
+ .const 'Sub' $P576 = "141_1272455252.89365"
capture_lex $P576
- .const 'Sub' $P565 = "139_1271948667.92136"
+ .const 'Sub' $P565 = "139_1272455252.89365"
capture_lex $P565
- .const 'Sub' $P558 = "137_1271948667.92136"
+ .const 'Sub' $P558 = "137_1272455252.89365"
capture_lex $P558
- .const 'Sub' $P551 = "135_1271948667.92136"
+ .const 'Sub' $P551 = "135_1272455252.89365"
capture_lex $P551
- .const 'Sub' $P544 = "133_1271948667.92136"
+ .const 'Sub' $P544 = "133_1272455252.89365"
capture_lex $P544
- .const 'Sub' $P517 = "129_1271948667.92136"
+ .const 'Sub' $P517 = "129_1272455252.89365"
capture_lex $P517
- .const 'Sub' $P508 = "127_1271948667.92136"
+ .const 'Sub' $P508 = "127_1272455252.89365"
capture_lex $P508
- .const 'Sub' $P501 = "125_1271948667.92136"
+ .const 'Sub' $P501 = "125_1272455252.89365"
capture_lex $P501
- .const 'Sub' $P492 = "121_1271948667.92136"
+ .const 'Sub' $P492 = "121_1272455252.89365"
capture_lex $P492
- .const 'Sub' $P487 = "119_1271948667.92136"
+ .const 'Sub' $P487 = "119_1272455252.89365"
capture_lex $P487
- .const 'Sub' $P475 = "117_1271948667.92136"
+ .const 'Sub' $P475 = "117_1272455252.89365"
capture_lex $P475
- .const 'Sub' $P463 = "115_1271948667.92136"
+ .const 'Sub' $P463 = "115_1272455252.89365"
capture_lex $P463
- .const 'Sub' $P455 = "113_1271948667.92136"
+ .const 'Sub' $P455 = "113_1272455252.89365"
capture_lex $P455
- .const 'Sub' $P450 = "111_1271948667.92136"
+ .const 'Sub' $P450 = "111_1272455252.89365"
capture_lex $P450
- .const 'Sub' $P444 = "109_1271948667.92136"
+ .const 'Sub' $P444 = "109_1272455252.89365"
capture_lex $P444
- .const 'Sub' $P438 = "107_1271948667.92136"
+ .const 'Sub' $P438 = "107_1272455252.89365"
capture_lex $P438
- .const 'Sub' $P432 = "105_1271948667.92136"
+ .const 'Sub' $P432 = "105_1272455252.89365"
capture_lex $P432
- .const 'Sub' $P426 = "103_1271948667.92136"
+ .const 'Sub' $P426 = "103_1272455252.89365"
capture_lex $P426
- .const 'Sub' $P420 = "101_1271948667.92136"
+ .const 'Sub' $P420 = "101_1272455252.89365"
capture_lex $P420
- .const 'Sub' $P414 = "99_1271948667.92136"
+ .const 'Sub' $P414 = "99_1272455252.89365"
capture_lex $P414
- .const 'Sub' $P408 = "97_1271948667.92136"
+ .const 'Sub' $P408 = "97_1272455252.89365"
capture_lex $P408
- .const 'Sub' $P402 = "95_1271948667.92136"
+ .const 'Sub' $P402 = "95_1272455252.89365"
capture_lex $P402
- .const 'Sub' $P394 = "93_1271948667.92136"
+ .const 'Sub' $P394 = "93_1272455252.89365"
capture_lex $P394
- .const 'Sub' $P386 = "91_1271948667.92136"
+ .const 'Sub' $P386 = "91_1272455252.89365"
capture_lex $P386
- .const 'Sub' $P374 = "87_1271948667.92136"
+ .const 'Sub' $P374 = "87_1272455252.89365"
capture_lex $P374
- .const 'Sub' $P366 = "85_1271948667.92136"
+ .const 'Sub' $P366 = "85_1272455252.89365"
capture_lex $P366
- .const 'Sub' $P356 = "81_1271948667.92136"
+ .const 'Sub' $P356 = "81_1272455252.89365"
capture_lex $P356
- .const 'Sub' $P349 = "79_1271948667.92136"
+ .const 'Sub' $P349 = "79_1272455252.89365"
capture_lex $P349
- .const 'Sub' $P342 = "77_1271948667.92136"
+ .const 'Sub' $P342 = "77_1272455252.89365"
capture_lex $P342
- .const 'Sub' $P330 = "73_1271948667.92136"
+ .const 'Sub' $P330 = "73_1272455252.89365"
capture_lex $P330
- .const 'Sub' $P322 = "71_1271948667.92136"
+ .const 'Sub' $P322 = "71_1272455252.89365"
capture_lex $P322
- .const 'Sub' $P314 = "69_1271948667.92136"
+ .const 'Sub' $P314 = "69_1272455252.89365"
capture_lex $P314
- .const 'Sub' $P294 = "67_1271948667.92136"
+ .const 'Sub' $P294 = "67_1272455252.89365"
capture_lex $P294
- .const 'Sub' $P285 = "65_1271948667.92136"
+ .const 'Sub' $P285 = "65_1272455252.89365"
capture_lex $P285
- .const 'Sub' $P267 = "62_1271948667.92136"
+ .const 'Sub' $P267 = "62_1272455252.89365"
capture_lex $P267
- .const 'Sub' $P247 = "60_1271948667.92136"
+ .const 'Sub' $P247 = "60_1272455252.89365"
capture_lex $P247
- .const 'Sub' $P238 = "56_1271948667.92136"
+ .const 'Sub' $P238 = "56_1272455252.89365"
capture_lex $P238
- .const 'Sub' $P233 = "54_1271948667.92136"
+ .const 'Sub' $P233 = "54_1272455252.89365"
capture_lex $P233
- .const 'Sub' $P224 = "50_1271948667.92136"
+ .const 'Sub' $P224 = "50_1272455252.89365"
capture_lex $P224
- .const 'Sub' $P219 = "48_1271948667.92136"
+ .const 'Sub' $P219 = "48_1272455252.89365"
capture_lex $P219
- .const 'Sub' $P211 = "46_1271948667.92136"
+ .const 'Sub' $P211 = "46_1272455252.89365"
capture_lex $P211
- .const 'Sub' $P204 = "44_1271948667.92136"
+ .const 'Sub' $P204 = "44_1272455252.89365"
capture_lex $P204
- .const 'Sub' $P198 = "42_1271948667.92136"
+ .const 'Sub' $P198 = "42_1272455252.89365"
capture_lex $P198
- .const 'Sub' $P190 = "40_1271948667.92136"
+ .const 'Sub' $P190 = "40_1272455252.89365"
capture_lex $P190
- .const 'Sub' $P184 = "38_1271948667.92136"
+ .const 'Sub' $P184 = "38_1272455252.89365"
capture_lex $P184
- .const 'Sub' $P178 = "36_1271948667.92136"
+ .const 'Sub' $P178 = "36_1272455252.89365"
capture_lex $P178
- .const 'Sub' $P162 = "33_1271948667.92136"
+ .const 'Sub' $P162 = "33_1272455252.89365"
capture_lex $P162
- .const 'Sub' $P149 = "31_1271948667.92136"
+ .const 'Sub' $P149 = "31_1272455252.89365"
capture_lex $P149
- .const 'Sub' $P142 = "29_1271948667.92136"
+ .const 'Sub' $P142 = "29_1272455252.89365"
capture_lex $P142
- .const 'Sub' $P96 = "26_1271948667.92136"
+ .const 'Sub' $P96 = "26_1272455252.89365"
capture_lex $P96
- .const 'Sub' $P78 = "23_1271948667.92136"
+ .const 'Sub' $P78 = "23_1272455252.89365"
capture_lex $P78
- .const 'Sub' $P68 = "21_1271948667.92136"
+ .const 'Sub' $P68 = "21_1272455252.89365"
capture_lex $P68
- .const 'Sub' $P54 = "19_1271948667.92136"
+ .const 'Sub' $P54 = "19_1272455252.89365"
capture_lex $P54
- .const 'Sub' $P46 = "17_1271948667.92136"
+ .const 'Sub' $P46 = "17_1272455252.89365"
capture_lex $P46
- .const 'Sub' $P39 = "15_1271948667.92136"
+ .const 'Sub' $P39 = "15_1272455252.89365"
capture_lex $P39
- .const 'Sub' $P33 = "13_1271948667.92136"
+ .const 'Sub' $P33 = "13_1272455252.89365"
capture_lex $P33
- .const 'Sub' $P15 = "12_1271948667.92136"
+ .const 'Sub' $P15 = "12_1272455252.89365"
capture_lex $P15
.annotate "line", 536
get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
@@ -340,7 +340,7 @@
.namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post334") :outer("11_1271948667.92136")
+.sub "" :load :init :subid("post334") :outer("11_1272455252.89365")
.annotate "line", 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
.local pmc block
@@ -397,11 +397,11 @@
.namespace ["NQP";"Grammar"]
-.sub "TOP" :subid("12_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "TOP" :subid("12_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
- $P17."handle_types"(58)
+ $P17."handle_types"(57)
push_eh $P17
.lex "self", self
.annotate "line", 5
@@ -480,7 +480,7 @@
.namespace ["NQP";"Grammar"]
-.sub "identifier" :subid("13_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "identifier" :subid("13_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx34_tgt
.local int rx34_pos
@@ -538,7 +538,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier" :subid("14_1271948667.92136") :method
+.sub "!PREFIX__identifier" :subid("14_1272455252.89365") :method
.annotate "line", 4
$P36 = self."!PREFIX__!subrule"("ident", "")
new $P37, "ResizablePMCArray"
@@ -548,7 +548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "name" :subid("15_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "name" :subid("15_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx40_tgt
.local int rx40_pos
@@ -622,7 +622,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name" :subid("16_1271948667.92136") :method
+.sub "!PREFIX__name" :subid("16_1272455252.89365") :method
.annotate "line", 4
new $P42, "ResizablePMCArray"
push $P42, ""
@@ -631,7 +631,7 @@
.namespace ["NQP";"Grammar"]
-.sub "deflongname" :subid("17_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "deflongname" :subid("17_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx47_tgt
.local int rx47_pos
@@ -704,7 +704,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname" :subid("18_1271948667.92136") :method
+.sub "!PREFIX__deflongname" :subid("18_1272455252.89365") :method
.annotate "line", 4
$P49 = self."!PREFIX__!subrule"("identifier", "")
new $P50, "ResizablePMCArray"
@@ -714,7 +714,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ENDSTMT" :subid("19_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "ENDSTMT" :subid("19_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx55_tgt
.local int rx55_pos
@@ -846,7 +846,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT" :subid("20_1271948667.92136") :method
+.sub "!PREFIX__ENDSTMT" :subid("20_1272455252.89365") :method
.annotate "line", 4
new $P57, "ResizablePMCArray"
push $P57, ""
@@ -855,7 +855,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ws" :subid("21_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "ws" :subid("21_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx69_tgt
.local int rx69_pos
@@ -981,7 +981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws" :subid("22_1271948667.92136") :method
+.sub "!PREFIX__ws" :subid("22_1272455252.89365") :method
.annotate "line", 4
new $P71, "ResizablePMCArray"
push $P71, ""
@@ -991,9 +991,9 @@
.namespace ["NQP";"Grammar"]
-.sub "unv" :subid("23_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "unv" :subid("23_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
- .const 'Sub' $P86 = "25_1271948667.92136"
+ .const 'Sub' $P86 = "25_1272455252.89365"
capture_lex $P86
.local string rx79_tgt
.local int rx79_pos
@@ -1039,7 +1039,7 @@
rxanchor84_done:
# rx subrule "before" subtype=zerowidth negate=
rx79_cur."!cursor_pos"(rx79_pos)
- .const 'Sub' $P86 = "25_1271948667.92136"
+ .const 'Sub' $P86 = "25_1272455252.89365"
capture_lex $P86
$P10 = rx79_cur."before"($P86)
unless $P10, rx79_fail
@@ -1118,7 +1118,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv" :subid("24_1271948667.92136") :method
+.sub "!PREFIX__unv" :subid("24_1272455252.89365") :method
.annotate "line", 4
new $P81, "ResizablePMCArray"
push $P81, ""
@@ -1129,7 +1129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block85" :anon :subid("25_1271948667.92136") :method :outer("23_1271948667.92136")
+.sub "_block85" :anon :subid("25_1272455252.89365") :method :outer("23_1272455252.89365")
.annotate "line", 44
.local string rx87_tgt
.local int rx87_pos
@@ -1219,9 +1219,9 @@
.namespace ["NQP";"Grammar"]
-.sub "pod_comment" :subid("26_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "pod_comment" :subid("26_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
- .const 'Sub' $P133 = "28_1271948667.92136"
+ .const 'Sub' $P133 = "28_1272455252.89365"
capture_lex $P133
.local string rx97_tgt
.local int rx97_pos
@@ -1677,7 +1677,7 @@
rxanchor131_done:
# rx subrule "before" subtype=zerowidth negate=
rx97_cur."!cursor_pos"(rx97_pos)
- .const 'Sub' $P133 = "28_1271948667.92136"
+ .const 'Sub' $P133 = "28_1272455252.89365"
capture_lex $P133
$P10 = rx97_cur."before"($P133)
unless $P10, rx97_fail
@@ -1728,7 +1728,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment" :subid("27_1271948667.92136") :method
+.sub "!PREFIX__pod_comment" :subid("27_1272455252.89365") :method
.annotate "line", 4
new $P99, "ResizablePMCArray"
push $P99, ""
@@ -1737,7 +1737,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block132" :anon :subid("28_1271948667.92136") :method :outer("26_1271948667.92136")
+.sub "_block132" :anon :subid("28_1272455252.89365") :method :outer("26_1272455252.89365")
.annotate "line", 67
.local string rx134_tgt
.local int rx134_pos
@@ -1856,7 +1856,7 @@
.namespace ["NQP";"Grammar"]
-.sub "comp_unit" :subid("29_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "comp_unit" :subid("29_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx143_tgt
.local int rx143_pos
@@ -1935,7 +1935,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit" :subid("30_1271948667.92136") :method
+.sub "!PREFIX__comp_unit" :subid("30_1272455252.89365") :method
.annotate "line", 4
$P145 = self."!PREFIX__!subrule"("", "")
new $P146, "ResizablePMCArray"
@@ -1945,7 +1945,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statementlist" :subid("31_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statementlist" :subid("31_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx150_tgt
.local int rx150_pos
@@ -2053,7 +2053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist" :subid("32_1271948667.92136") :method
+.sub "!PREFIX__statementlist" :subid("32_1272455252.89365") :method
.annotate "line", 4
new $P152, "ResizablePMCArray"
push $P152, ""
@@ -2063,9 +2063,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement" :subid("33_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement" :subid("33_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
- .const 'Sub' $P168 = "35_1271948667.92136"
+ .const 'Sub' $P168 = "35_1272455252.89365"
capture_lex $P168
.local string rx163_tgt
.local int rx163_pos
@@ -2075,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_cond", "statement_mod_loop")
+ rx163_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
.lex unicode:"$\x{a2}", rx163_cur
.local pmc match
.lex "$/", match
@@ -2100,7 +2100,7 @@
.annotate "line", 93
# rx subrule "before" subtype=zerowidth negate=1
rx163_cur."!cursor_pos"(rx163_pos)
- .const 'Sub' $P168 = "35_1271948667.92136"
+ .const 'Sub' $P168 = "35_1272455252.89365"
capture_lex $P168
$P10 = rx163_cur."before"($P168)
if $P10, rx163_fail
@@ -2205,7 +2205,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement" :subid("34_1271948667.92136") :method
+.sub "!PREFIX__statement" :subid("34_1272455252.89365") :method
.annotate "line", 4
new $P165, "ResizablePMCArray"
push $P165, ""
@@ -2214,7 +2214,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block167" :anon :subid("35_1271948667.92136") :method :outer("33_1271948667.92136")
+.sub "_block167" :anon :subid("35_1272455252.89365") :method :outer("33_1272455252.89365")
.annotate "line", 93
.local string rx169_tgt
.local int rx169_pos
@@ -2278,7 +2278,7 @@
.namespace ["NQP";"Grammar"]
-.sub "eat_terminator" :subid("36_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "eat_terminator" :subid("36_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx179_tgt
.local int rx179_pos
@@ -2365,7 +2365,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator" :subid("37_1271948667.92136") :method
+.sub "!PREFIX__eat_terminator" :subid("37_1272455252.89365") :method
.annotate "line", 4
new $P181, "ResizablePMCArray"
push $P181, ""
@@ -2377,7 +2377,7 @@
.namespace ["NQP";"Grammar"]
-.sub "xblock" :subid("38_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "xblock" :subid("38_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx185_tgt
.local int rx185_pos
@@ -2448,7 +2448,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock" :subid("39_1271948667.92136") :method
+.sub "!PREFIX__xblock" :subid("39_1272455252.89365") :method
.annotate "line", 4
$P187 = self."!PREFIX__!subrule"("EXPR", "")
new $P188, "ResizablePMCArray"
@@ -2458,7 +2458,7 @@
.namespace ["NQP";"Grammar"]
-.sub "pblock" :subid("40_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "pblock" :subid("40_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx191_tgt
.local int rx191_pos
@@ -2577,7 +2577,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock" :subid("41_1271948667.92136") :method
+.sub "!PREFIX__pblock" :subid("41_1272455252.89365") :method
.annotate "line", 4
$P193 = self."!PREFIX__!subrule"("", "")
$P194 = self."!PREFIX__!subrule"("", "")
@@ -2590,7 +2590,7 @@
.namespace ["NQP";"Grammar"]
-.sub "lambda" :subid("42_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "lambda" :subid("42_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx199_tgt
.local int rx199_pos
@@ -2661,7 +2661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda" :subid("43_1271948667.92136") :method
+.sub "!PREFIX__lambda" :subid("43_1272455252.89365") :method
.annotate "line", 4
new $P201, "ResizablePMCArray"
push $P201, "<->"
@@ -2671,7 +2671,7 @@
.namespace ["NQP";"Grammar"]
-.sub "block" :subid("44_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "block" :subid("44_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx205_tgt
.local int rx205_pos
@@ -2754,7 +2754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block" :subid("45_1271948667.92136") :method
+.sub "!PREFIX__block" :subid("45_1272455252.89365") :method
.annotate "line", 4
$P207 = self."!PREFIX__!subrule"("", "")
new $P208, "ResizablePMCArray"
@@ -2765,7 +2765,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blockoid" :subid("46_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "blockoid" :subid("46_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx212_tgt
.local int rx212_pos
@@ -2860,7 +2860,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid" :subid("47_1271948667.92136") :method
+.sub "!PREFIX__blockoid" :subid("47_1272455252.89365") :method
.annotate "line", 4
$P214 = self."!PREFIX__!subrule"("", "")
new $P215, "ResizablePMCArray"
@@ -2870,7 +2870,7 @@
.namespace ["NQP";"Grammar"]
-.sub "newpad" :subid("48_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "newpad" :subid("48_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx220_tgt
.local int rx220_pos
@@ -2921,7 +2921,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad" :subid("49_1271948667.92136") :method
+.sub "!PREFIX__newpad" :subid("49_1272455252.89365") :method
.annotate "line", 4
new $P222, "ResizablePMCArray"
push $P222, ""
@@ -2930,7 +2930,7 @@
.namespace ["NQP";"Grammar"]
-.sub "finishpad" :subid("50_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "finishpad" :subid("50_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx225_tgt
.local int rx225_pos
@@ -2981,7 +2981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad" :subid("51_1271948667.92136") :method
+.sub "!PREFIX__finishpad" :subid("51_1272455252.89365") :method
.annotate "line", 4
new $P227, "ResizablePMCArray"
push $P227, ""
@@ -2990,7 +2990,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator" :subid("52_1271948667.92136") :method
+.sub "terminator" :subid("52_1272455252.89365") :method
.annotate "line", 144
$P230 = self."!protoregex"("terminator")
.return ($P230)
@@ -2998,7 +2998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator" :subid("53_1271948667.92136") :method
+.sub "!PREFIX__terminator" :subid("53_1272455252.89365") :method
.annotate "line", 144
$P232 = self."!PREFIX__!protoregex"("terminator")
.return ($P232)
@@ -3006,7 +3006,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>" :subid("54_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "terminator:sym<;>" :subid("54_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx234_tgt
.local int rx234_pos
@@ -3063,7 +3063,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>" :subid("55_1271948667.92136") :method
+.sub "!PREFIX__terminator:sym<;>" :subid("55_1272455252.89365") :method
.annotate "line", 4
new $P236, "ResizablePMCArray"
push $P236, ";"
@@ -3072,7 +3072,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>" :subid("56_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "terminator:sym<}>" :subid("56_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx239_tgt
.local int rx239_pos
@@ -3129,7 +3129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>" :subid("57_1271948667.92136") :method
+.sub "!PREFIX__terminator:sym<}>" :subid("57_1272455252.89365") :method
.annotate "line", 4
new $P241, "ResizablePMCArray"
push $P241, "}"
@@ -3138,7 +3138,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control" :subid("58_1271948667.92136") :method
+.sub "statement_control" :subid("58_1272455252.89365") :method
.annotate "line", 151
$P244 = self."!protoregex"("statement_control")
.return ($P244)
@@ -3146,7 +3146,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control" :subid("59_1271948667.92136") :method
+.sub "!PREFIX__statement_control" :subid("59_1272455252.89365") :method
.annotate "line", 151
$P246 = self."!PREFIX__!protoregex"("statement_control")
.return ($P246)
@@ -3154,7 +3154,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>" :subid("60_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<if>" :subid("60_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx248_tgt
.local int rx248_pos
@@ -3164,7 +3164,7 @@
.local pmc rx248_cur
(rx248_cur, rx248_pos, rx248_tgt) = self."!cursor_start"()
rx248_cur."!cursor_debug"("START ", "statement_control:sym<if>")
- rx248_cur."!cursor_caparray"("else", "xblock")
+ rx248_cur."!cursor_caparray"("xblock", "else")
.lex unicode:"$\x{a2}", rx248_cur
.local pmc match
.lex "$/", match
@@ -3348,7 +3348,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>" :subid("61_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<if>" :subid("61_1272455252.89365") :method
.annotate "line", 4
new $P250, "ResizablePMCArray"
push $P250, "if"
@@ -3357,9 +3357,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>" :subid("62_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<unless>" :subid("62_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
- .const 'Sub' $P278 = "64_1271948667.92136"
+ .const 'Sub' $P278 = "64_1272455252.89365"
capture_lex $P278
.local string rx268_tgt
.local int rx268_pos
@@ -3447,7 +3447,7 @@
rx268_pos = $P10."pos"()
# rx subrule "before" subtype=zerowidth negate=1
rx268_cur."!cursor_pos"(rx268_pos)
- .const 'Sub' $P278 = "64_1271948667.92136"
+ .const 'Sub' $P278 = "64_1272455252.89365"
capture_lex $P278
$P10 = rx268_cur."before"($P278)
if $P10, rx268_fail
@@ -3499,7 +3499,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1272455252.89365") :method
.annotate "line", 4
new $P270, "ResizablePMCArray"
push $P270, "unless"
@@ -3508,7 +3508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block277" :anon :subid("64_1271948667.92136") :method :outer("62_1271948667.92136")
+.sub "_block277" :anon :subid("64_1272455252.89365") :method :outer("62_1272455252.89365")
.annotate "line", 163
.local string rx279_tgt
.local int rx279_pos
@@ -3564,7 +3564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>" :subid("65_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<while>" :subid("65_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx286_tgt
.local int rx286_pos
@@ -3674,7 +3674,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>" :subid("66_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<while>" :subid("66_1272455252.89365") :method
.annotate "line", 4
new $P288, "ResizablePMCArray"
push $P288, "until"
@@ -3684,7 +3684,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>" :subid("67_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<repeat>" :subid("67_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx295_tgt
.local int rx295_pos
@@ -3919,7 +3919,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1272455252.89365") :method
.annotate "line", 4
new $P297, "ResizablePMCArray"
push $P297, "repeat"
@@ -3928,7 +3928,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>" :subid("69_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<for>" :subid("69_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx315_tgt
.local int rx315_pos
@@ -4025,7 +4025,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>" :subid("70_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<for>" :subid("70_1272455252.89365") :method
.annotate "line", 4
new $P317, "ResizablePMCArray"
push $P317, "for"
@@ -4034,7 +4034,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>" :subid("71_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<CATCH>" :subid("71_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx323_tgt
.local int rx323_pos
@@ -4131,7 +4131,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1272455252.89365") :method
.annotate "line", 4
new $P325, "ResizablePMCArray"
push $P325, "CATCH"
@@ -4140,7 +4140,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>" :subid("73_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_control:sym<CONTROL>" :subid("73_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx331_tgt
.local int rx331_pos
@@ -4237,7 +4237,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1271948667.92136") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1272455252.89365") :method
.annotate "line", 4
new $P333, "ResizablePMCArray"
push $P333, "CONTROL"
@@ -4246,7 +4246,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix" :subid("75_1271948667.92136") :method
+.sub "statement_prefix" :subid("75_1272455252.89365") :method
.annotate "line", 194
$P339 = self."!protoregex"("statement_prefix")
.return ($P339)
@@ -4254,7 +4254,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix" :subid("76_1271948667.92136") :method
+.sub "!PREFIX__statement_prefix" :subid("76_1272455252.89365") :method
.annotate "line", 194
$P341 = self."!PREFIX__!protoregex"("statement_prefix")
.return ($P341)
@@ -4262,7 +4262,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>" :subid("77_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_prefix:sym<INIT>" :subid("77_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx343_tgt
.local int rx343_pos
@@ -4341,7 +4341,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1271948667.92136") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1272455252.89365") :method
.annotate "line", 4
$P345 = self."!PREFIX__!subrule"("blorst", "INIT")
new $P346, "ResizablePMCArray"
@@ -4351,7 +4351,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>" :subid("79_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_prefix:sym<try>" :subid("79_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx350_tgt
.local int rx350_pos
@@ -4432,7 +4432,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1271948667.92136") :method
+.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1272455252.89365") :method
.annotate "line", 4
$P352 = self."!PREFIX__!subrule"("blorst", "try")
new $P353, "ResizablePMCArray"
@@ -4442,7 +4442,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blorst" :subid("81_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "blorst" :subid("81_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx357_tgt
.local int rx357_pos
@@ -4531,7 +4531,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst" :subid("82_1271948667.92136") :method
+.sub "!PREFIX__blorst" :subid("82_1272455252.89365") :method
.annotate "line", 4
new $P359, "ResizablePMCArray"
push $P359, ""
@@ -4540,7 +4540,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond" :subid("83_1271948667.92136") :method
+.sub "statement_mod_cond" :subid("83_1272455252.89365") :method
.annotate "line", 208
$P363 = self."!protoregex"("statement_mod_cond")
.return ($P363)
@@ -4548,7 +4548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond" :subid("84_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_cond" :subid("84_1272455252.89365") :method
.annotate "line", 208
$P365 = self."!PREFIX__!protoregex"("statement_mod_cond")
.return ($P365)
@@ -4556,7 +4556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>" :subid("85_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_mod_cond:sym<if>" :subid("85_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx367_tgt
.local int rx367_pos
@@ -4645,7 +4645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1272455252.89365") :method
.annotate "line", 4
new $P369, "ResizablePMCArray"
push $P369, "if"
@@ -4654,7 +4654,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>" :subid("87_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_mod_cond:sym<unless>" :subid("87_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx375_tgt
.local int rx375_pos
@@ -4743,7 +4743,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1272455252.89365") :method
.annotate "line", 4
new $P377, "ResizablePMCArray"
push $P377, "unless"
@@ -4752,7 +4752,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop" :subid("89_1271948667.92136") :method
+.sub "statement_mod_loop" :subid("89_1272455252.89365") :method
.annotate "line", 213
$P383 = self."!protoregex"("statement_mod_loop")
.return ($P383)
@@ -4760,7 +4760,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop" :subid("90_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_loop" :subid("90_1272455252.89365") :method
.annotate "line", 213
$P385 = self."!PREFIX__!protoregex"("statement_mod_loop")
.return ($P385)
@@ -4768,7 +4768,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>" :subid("91_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_mod_loop:sym<while>" :subid("91_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx387_tgt
.local int rx387_pos
@@ -4857,7 +4857,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1272455252.89365") :method
.annotate "line", 4
new $P389, "ResizablePMCArray"
push $P389, "while"
@@ -4866,7 +4866,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>" :subid("93_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "statement_mod_loop:sym<until>" :subid("93_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx395_tgt
.local int rx395_pos
@@ -4955,7 +4955,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1271948667.92136") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1272455252.89365") :method
.annotate "line", 4
new $P397, "ResizablePMCArray"
push $P397, "until"
@@ -4964,7 +4964,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>" :subid("95_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<fatarrow>" :subid("95_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx403_tgt
.local int rx403_pos
@@ -5022,7 +5022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1271948667.92136") :method
+.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1272455252.89365") :method
.annotate "line", 4
$P405 = self."!PREFIX__!subrule"("fatarrow", "")
new $P406, "ResizablePMCArray"
@@ -5032,7 +5032,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>" :subid("97_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<colonpair>" :subid("97_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx409_tgt
.local int rx409_pos
@@ -5090,7 +5090,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>" :subid("98_1271948667.92136") :method
+.sub "!PREFIX__term:sym<colonpair>" :subid("98_1272455252.89365") :method
.annotate "line", 4
$P411 = self."!PREFIX__!subrule"("colonpair", "")
new $P412, "ResizablePMCArray"
@@ -5100,7 +5100,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>" :subid("99_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<variable>" :subid("99_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx415_tgt
.local int rx415_pos
@@ -5158,7 +5158,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>" :subid("100_1271948667.92136") :method
+.sub "!PREFIX__term:sym<variable>" :subid("100_1272455252.89365") :method
.annotate "line", 4
$P417 = self."!PREFIX__!subrule"("variable", "")
new $P418, "ResizablePMCArray"
@@ -5168,7 +5168,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>" :subid("101_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<package_declarator>" :subid("101_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx421_tgt
.local int rx421_pos
@@ -5226,7 +5226,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1271948667.92136") :method
+.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1272455252.89365") :method
.annotate "line", 4
$P423 = self."!PREFIX__!subrule"("package_declarator", "")
new $P424, "ResizablePMCArray"
@@ -5236,7 +5236,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>" :subid("103_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<scope_declarator>" :subid("103_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx427_tgt
.local int rx427_pos
@@ -5294,7 +5294,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1271948667.92136") :method
+.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1272455252.89365") :method
.annotate "line", 4
$P429 = self."!PREFIX__!subrule"("scope_declarator", "")
new $P430, "ResizablePMCArray"
@@ -5304,7 +5304,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>" :subid("105_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<routine_declarator>" :subid("105_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx433_tgt
.local int rx433_pos
@@ -5362,7 +5362,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1271948667.92136") :method
+.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1272455252.89365") :method
.annotate "line", 4
$P435 = self."!PREFIX__!subrule"("routine_declarator", "")
new $P436, "ResizablePMCArray"
@@ -5372,7 +5372,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>" :subid("107_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<regex_declarator>" :subid("107_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx439_tgt
.local int rx439_pos
@@ -5430,7 +5430,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1271948667.92136") :method
+.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1272455252.89365") :method
.annotate "line", 4
$P441 = self."!PREFIX__!subrule"("regex_declarator", "")
new $P442, "ResizablePMCArray"
@@ -5440,7 +5440,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>" :subid("109_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<statement_prefix>" :subid("109_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx445_tgt
.local int rx445_pos
@@ -5498,7 +5498,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1271948667.92136") :method
+.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1272455252.89365") :method
.annotate "line", 4
$P447 = self."!PREFIX__!subrule"("statement_prefix", "")
new $P448, "ResizablePMCArray"
@@ -5508,7 +5508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>" :subid("111_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<lambda>" :subid("111_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx451_tgt
.local int rx451_pos
@@ -5570,7 +5570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>" :subid("112_1271948667.92136") :method
+.sub "!PREFIX__term:sym<lambda>" :subid("112_1272455252.89365") :method
.annotate "line", 4
new $P453, "ResizablePMCArray"
push $P453, ""
@@ -5579,7 +5579,7 @@
.namespace ["NQP";"Grammar"]
-.sub "fatarrow" :subid("113_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "fatarrow" :subid("113_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx456_tgt
.local int rx456_pos
@@ -5672,7 +5672,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow" :subid("114_1271948667.92136") :method
+.sub "!PREFIX__fatarrow" :subid("114_1272455252.89365") :method
.annotate "line", 4
$P458 = self."!PREFIX__!subrule"("key", "")
new $P459, "ResizablePMCArray"
@@ -5682,7 +5682,7 @@
.namespace ["NQP";"Grammar"]
-.sub "colonpair" :subid("115_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "colonpair" :subid("115_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx464_tgt
.local int rx464_pos
@@ -5811,7 +5811,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair" :subid("116_1271948667.92136") :method
+.sub "!PREFIX__colonpair" :subid("116_1272455252.89365") :method
.annotate "line", 4
$P466 = self."!PREFIX__!subrule"("circumfix", ":")
$P467 = self."!PREFIX__!subrule"("identifier", ":")
@@ -5825,7 +5825,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable" :subid("117_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "variable" :subid("117_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx476_tgt
.local int rx476_pos
@@ -5980,7 +5980,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable" :subid("118_1271948667.92136") :method
+.sub "!PREFIX__variable" :subid("118_1272455252.89365") :method
.annotate "line", 4
$P478 = self."!PREFIX__!subrule"("sigil", "")
$P479 = self."!PREFIX__!subrule"("sigil", "")
@@ -5995,7 +5995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "sigil" :subid("119_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "sigil" :subid("119_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx488_tgt
.local int rx488_pos
@@ -6053,7 +6053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil" :subid("120_1271948667.92136") :method
+.sub "!PREFIX__sigil" :subid("120_1272455252.89365") :method
.annotate "line", 4
new $P490, "ResizablePMCArray"
push $P490, "&"
@@ -6065,7 +6065,7 @@
.namespace ["NQP";"Grammar"]
-.sub "twigil" :subid("121_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "twigil" :subid("121_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx493_tgt
.local int rx493_pos
@@ -6123,7 +6123,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil" :subid("122_1271948667.92136") :method
+.sub "!PREFIX__twigil" :subid("122_1272455252.89365") :method
.annotate "line", 4
new $P495, "ResizablePMCArray"
push $P495, "?"
@@ -6134,7 +6134,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator" :subid("123_1271948667.92136") :method
+.sub "package_declarator" :subid("123_1272455252.89365") :method
.annotate "line", 253
$P498 = self."!protoregex"("package_declarator")
.return ($P498)
@@ -6142,7 +6142,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator" :subid("124_1271948667.92136") :method
+.sub "!PREFIX__package_declarator" :subid("124_1272455252.89365") :method
.annotate "line", 253
$P500 = self."!PREFIX__!protoregex"("package_declarator")
.return ($P500)
@@ -6150,7 +6150,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>" :subid("125_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "package_declarator:sym<module>" :subid("125_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx502_tgt
.local int rx502_pos
@@ -6229,7 +6229,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1271948667.92136") :method
+.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1272455252.89365") :method
.annotate "line", 4
$P504 = self."!PREFIX__!subrule"("package_def", "module")
new $P505, "ResizablePMCArray"
@@ -6239,7 +6239,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>" :subid("127_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "package_declarator:sym<class>" :subid("127_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx509_tgt
.local int rx509_pos
@@ -6331,7 +6331,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1271948667.92136") :method
+.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1272455252.89365") :method
.annotate "line", 4
$P511 = self."!PREFIX__!subrule"("package_def", "grammar")
$P512 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6343,7 +6343,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_def" :subid("129_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "package_def" :subid("129_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx518_tgt
.local int rx518_pos
@@ -6547,7 +6547,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def" :subid("130_1271948667.92136") :method
+.sub "!PREFIX__package_def" :subid("130_1272455252.89365") :method
.annotate "line", 4
new $P520, "ResizablePMCArray"
push $P520, ""
@@ -6556,7 +6556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator" :subid("131_1271948667.92136") :method
+.sub "scope_declarator" :subid("131_1272455252.89365") :method
.annotate "line", 267
$P541 = self."!protoregex"("scope_declarator")
.return ($P541)
@@ -6564,7 +6564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator" :subid("132_1271948667.92136") :method
+.sub "!PREFIX__scope_declarator" :subid("132_1272455252.89365") :method
.annotate "line", 267
$P543 = self."!PREFIX__!protoregex"("scope_declarator")
.return ($P543)
@@ -6572,7 +6572,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>" :subid("133_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "scope_declarator:sym<my>" :subid("133_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx545_tgt
.local int rx545_pos
@@ -6651,7 +6651,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1271948667.92136") :method
+.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1272455252.89365") :method
.annotate "line", 4
$P547 = self."!PREFIX__!subrule"("scoped", "my")
new $P548, "ResizablePMCArray"
@@ -6661,7 +6661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>" :subid("135_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "scope_declarator:sym<our>" :subid("135_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx552_tgt
.local int rx552_pos
@@ -6740,7 +6740,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1271948667.92136") :method
+.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1272455252.89365") :method
.annotate "line", 4
$P554 = self."!PREFIX__!subrule"("scoped", "our")
new $P555, "ResizablePMCArray"
@@ -6750,7 +6750,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>" :subid("137_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "scope_declarator:sym<has>" :subid("137_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx559_tgt
.local int rx559_pos
@@ -6829,7 +6829,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1271948667.92136") :method
+.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1272455252.89365") :method
.annotate "line", 4
$P561 = self."!PREFIX__!subrule"("scoped", "has")
new $P562, "ResizablePMCArray"
@@ -6839,7 +6839,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scoped" :subid("139_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "scoped" :subid("139_1272455252.89365") :method :outer("11_1272455252.89365")
.param pmc param_566
.annotate "line", 272
.lex "$*SCOPE", param_566
@@ -6936,7 +6936,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped" :subid("140_1271948667.92136") :method
+.sub "!PREFIX__scoped" :subid("140_1272455252.89365") :method
.annotate "line", 4
new $P569, "ResizablePMCArray"
push $P569, ""
@@ -6946,7 +6946,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable_declarator" :subid("141_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "variable_declarator" :subid("141_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx577_tgt
.local int rx577_pos
@@ -7004,7 +7004,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator" :subid("142_1271948667.92136") :method
+.sub "!PREFIX__variable_declarator" :subid("142_1272455252.89365") :method
.annotate "line", 4
$P579 = self."!PREFIX__!subrule"("variable", "")
new $P580, "ResizablePMCArray"
@@ -7014,7 +7014,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator" :subid("143_1271948667.92136") :method
+.sub "routine_declarator" :subid("143_1272455252.89365") :method
.annotate "line", 279
$P583 = self."!protoregex"("routine_declarator")
.return ($P583)
@@ -7022,7 +7022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator" :subid("144_1271948667.92136") :method
+.sub "!PREFIX__routine_declarator" :subid("144_1272455252.89365") :method
.annotate "line", 279
$P585 = self."!PREFIX__!protoregex"("routine_declarator")
.return ($P585)
@@ -7030,7 +7030,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>" :subid("145_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "routine_declarator:sym<sub>" :subid("145_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx587_tgt
.local int rx587_pos
@@ -7109,7 +7109,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1271948667.92136") :method
+.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1272455252.89365") :method
.annotate "line", 4
$P589 = self."!PREFIX__!subrule"("routine_def", "sub")
new $P590, "ResizablePMCArray"
@@ -7119,7 +7119,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>" :subid("147_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "routine_declarator:sym<method>" :subid("147_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx594_tgt
.local int rx594_pos
@@ -7198,7 +7198,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1271948667.92136") :method
+.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1272455252.89365") :method
.annotate "line", 4
$P596 = self."!PREFIX__!subrule"("method_def", "method")
new $P597, "ResizablePMCArray"
@@ -7208,7 +7208,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_def" :subid("149_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "routine_def" :subid("149_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx601_tgt
.local int rx601_pos
@@ -7218,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"("deflongname", "sigil")
+ rx601_cur."!cursor_caparray"("sigil", "deflongname")
.lex unicode:"$\x{a2}", rx601_cur
.local pmc match
.lex "$/", match
@@ -7415,7 +7415,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def" :subid("150_1271948667.92136") :method
+.sub "!PREFIX__routine_def" :subid("150_1272455252.89365") :method
.annotate "line", 4
new $P603, "ResizablePMCArray"
push $P603, ""
@@ -7424,7 +7424,7 @@
.namespace ["NQP";"Grammar"]
-.sub "method_def" :subid("151_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "method_def" :subid("151_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx625_tgt
.local int rx625_pos
@@ -7594,7 +7594,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def" :subid("152_1271948667.92136") :method
+.sub "!PREFIX__method_def" :subid("152_1272455252.89365") :method
.annotate "line", 4
new $P627, "ResizablePMCArray"
push $P627, ""
@@ -7603,7 +7603,7 @@
.namespace ["NQP";"Grammar"]
-.sub "signature" :subid("153_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "signature" :subid("153_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx644_tgt
.local int rx644_pos
@@ -7693,7 +7693,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature" :subid("154_1271948667.92136") :method
+.sub "!PREFIX__signature" :subid("154_1272455252.89365") :method
.annotate "line", 4
new $P646, "ResizablePMCArray"
push $P646, ""
@@ -7702,7 +7702,7 @@
.namespace ["NQP";"Grammar"]
-.sub "parameter" :subid("155_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "parameter" :subid("155_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx653_tgt
.local int rx653_pos
@@ -7863,7 +7863,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter" :subid("156_1271948667.92136") :method
+.sub "!PREFIX__parameter" :subid("156_1272455252.89365") :method
.annotate "line", 4
$P655 = self."!PREFIX__!subrule"("named_param", "")
$P656 = self."!PREFIX__!subrule"("param_var", "")
@@ -7877,7 +7877,7 @@
.namespace ["NQP";"Grammar"]
-.sub "param_var" :subid("157_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "param_var" :subid("157_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx668_tgt
.local int rx668_pos
@@ -7985,7 +7985,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var" :subid("158_1271948667.92136") :method
+.sub "!PREFIX__param_var" :subid("158_1272455252.89365") :method
.annotate "line", 4
$P670 = self."!PREFIX__!subrule"("sigil", "")
new $P671, "ResizablePMCArray"
@@ -7995,7 +7995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "named_param" :subid("159_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "named_param" :subid("159_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx678_tgt
.local int rx678_pos
@@ -8061,7 +8061,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param" :subid("160_1271948667.92136") :method
+.sub "!PREFIX__named_param" :subid("160_1272455252.89365") :method
.annotate "line", 4
$P680 = self."!PREFIX__!subrule"("param_var", ":")
new $P681, "ResizablePMCArray"
@@ -8071,7 +8071,7 @@
.namespace ["NQP";"Grammar"]
-.sub "default_value" :subid("161_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "default_value" :subid("161_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx684_tgt
.local int rx684_pos
@@ -8151,7 +8151,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value" :subid("162_1271948667.92136") :method
+.sub "!PREFIX__default_value" :subid("162_1272455252.89365") :method
.annotate "line", 4
new $P686, "ResizablePMCArray"
push $P686, ""
@@ -8160,7 +8160,7 @@
.namespace ["NQP";"Grammar"]
-.sub "regex_declarator" :subid("163_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "regex_declarator" :subid("163_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx692_tgt
.local int rx692_pos
@@ -8561,7 +8561,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator" :subid("164_1271948667.92136") :method
+.sub "!PREFIX__regex_declarator" :subid("164_1272455252.89365") :method
.annotate "line", 4
new $P694, "ResizablePMCArray"
push $P694, ""
@@ -8570,7 +8570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "dotty" :subid("165_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "dotty" :subid("165_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx729_tgt
.local int rx729_pos
@@ -8726,7 +8726,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty" :subid("166_1271948667.92136") :method
+.sub "!PREFIX__dotty" :subid("166_1272455252.89365") :method
.annotate "line", 4
$P731 = self."!PREFIX__!subrule"("longname=identifier", ".")
new $P732, "ResizablePMCArray"
@@ -8738,7 +8738,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term" :subid("167_1271948667.92136") :method
+.sub "term" :subid("167_1272455252.89365") :method
.annotate "line", 351
$P740 = self."!protoregex"("term")
.return ($P740)
@@ -8746,7 +8746,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term" :subid("168_1271948667.92136") :method
+.sub "!PREFIX__term" :subid("168_1272455252.89365") :method
.annotate "line", 351
$P742 = self."!PREFIX__!protoregex"("term")
.return ($P742)
@@ -8754,7 +8754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>" :subid("169_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<self>" :subid("169_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx744_tgt
.local int rx744_pos
@@ -8834,7 +8834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>" :subid("170_1271948667.92136") :method
+.sub "!PREFIX__term:sym<self>" :subid("170_1272455252.89365") :method
.annotate "line", 4
new $P746, "ResizablePMCArray"
push $P746, "self"
@@ -8843,7 +8843,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>" :subid("171_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<identifier>" :subid("171_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx750_tgt
.local int rx750_pos
@@ -8915,7 +8915,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>" :subid("172_1271948667.92136") :method
+.sub "!PREFIX__term:sym<identifier>" :subid("172_1272455252.89365") :method
.annotate "line", 4
$P752 = self."!PREFIX__!subrule"("identifier", "")
new $P753, "ResizablePMCArray"
@@ -8925,7 +8925,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>" :subid("173_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<name>" :subid("173_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx756_tgt
.local int rx756_pos
@@ -8998,7 +8998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>" :subid("174_1271948667.92136") :method
+.sub "!PREFIX__term:sym<name>" :subid("174_1272455252.89365") :method
.annotate "line", 4
$P758 = self."!PREFIX__!subrule"("name", "")
new $P759, "ResizablePMCArray"
@@ -9008,7 +9008,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>" :subid("175_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<pir::op>" :subid("175_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx764_tgt
.local int rx764_pos
@@ -9101,7 +9101,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>" :subid("176_1271948667.92136") :method
+.sub "!PREFIX__term:sym<pir::op>" :subid("176_1272455252.89365") :method
.annotate "line", 4
new $P766, "ResizablePMCArray"
push $P766, "pir::"
@@ -9110,7 +9110,7 @@
.namespace ["NQP";"Grammar"]
-.sub "args" :subid("177_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "args" :subid("177_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx772_tgt
.local int rx772_pos
@@ -9182,7 +9182,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args" :subid("178_1271948667.92136") :method
+.sub "!PREFIX__args" :subid("178_1272455252.89365") :method
.annotate "line", 4
$P774 = self."!PREFIX__!subrule"("arglist", "(")
new $P775, "ResizablePMCArray"
@@ -9192,7 +9192,7 @@
.namespace ["NQP";"Grammar"]
-.sub "arglist" :subid("179_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "arglist" :subid("179_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx778_tgt
.local int rx778_pos
@@ -9264,7 +9264,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist" :subid("180_1271948667.92136") :method
+.sub "!PREFIX__arglist" :subid("180_1272455252.89365") :method
.annotate "line", 4
$P780 = self."!PREFIX__!subrule"("", "")
new $P781, "ResizablePMCArray"
@@ -9274,7 +9274,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<value>" :subid("181_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "term:sym<value>" :subid("181_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx785_tgt
.local int rx785_pos
@@ -9332,7 +9332,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>" :subid("182_1271948667.92136") :method
+.sub "!PREFIX__term:sym<value>" :subid("182_1272455252.89365") :method
.annotate "line", 4
$P787 = self."!PREFIX__!subrule"("value", "")
new $P788, "ResizablePMCArray"
@@ -9342,7 +9342,7 @@
.namespace ["NQP";"Grammar"]
-.sub "value" :subid("183_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "value" :subid("183_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx791_tgt
.local int rx791_pos
@@ -9416,7 +9416,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value" :subid("184_1271948667.92136") :method
+.sub "!PREFIX__value" :subid("184_1272455252.89365") :method
.annotate "line", 4
$P793 = self."!PREFIX__!subrule"("number", "")
$P794 = self."!PREFIX__!subrule"("quote", "")
@@ -9428,7 +9428,7 @@
.namespace ["NQP";"Grammar"]
-.sub "number" :subid("185_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "number" :subid("185_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx799_tgt
.local int rx799_pos
@@ -9528,7 +9528,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number" :subid("186_1271948667.92136") :method
+.sub "!PREFIX__number" :subid("186_1272455252.89365") :method
.annotate "line", 4
new $P801, "ResizablePMCArray"
push $P801, ""
@@ -9537,7 +9537,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote" :subid("187_1271948667.92136") :method
+.sub "quote" :subid("187_1272455252.89365") :method
.annotate "line", 392
$P808 = self."!protoregex"("quote")
.return ($P808)
@@ -9545,7 +9545,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote" :subid("188_1271948667.92136") :method
+.sub "!PREFIX__quote" :subid("188_1272455252.89365") :method
.annotate "line", 392
$P810 = self."!PREFIX__!protoregex"("quote")
.return ($P810)
@@ -9553,7 +9553,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>" :subid("189_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<apos>" :subid("189_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx812_tgt
.local int rx812_pos
@@ -9617,7 +9617,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>" :subid("190_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<apos>" :subid("190_1272455252.89365") :method
.annotate "line", 4
new $P814, "ResizablePMCArray"
push $P814, "'"
@@ -9626,7 +9626,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>" :subid("191_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<dblq>" :subid("191_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx817_tgt
.local int rx817_pos
@@ -9690,7 +9690,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>" :subid("192_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<dblq>" :subid("192_1272455252.89365") :method
.annotate "line", 4
new $P819, "ResizablePMCArray"
push $P819, "\""
@@ -9699,7 +9699,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>" :subid("193_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<q>" :subid("193_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx822_tgt
.local int rx822_pos
@@ -9775,7 +9775,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>" :subid("194_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<q>" :subid("194_1272455252.89365") :method
.annotate "line", 4
$P824 = self."!PREFIX__!subrule"("", "q")
new $P825, "ResizablePMCArray"
@@ -9785,7 +9785,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>" :subid("195_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<qq>" :subid("195_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx828_tgt
.local int rx828_pos
@@ -9861,7 +9861,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>" :subid("196_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<qq>" :subid("196_1272455252.89365") :method
.annotate "line", 4
$P830 = self."!PREFIX__!subrule"("", "qq")
new $P831, "ResizablePMCArray"
@@ -9871,7 +9871,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>" :subid("197_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<Q>" :subid("197_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx834_tgt
.local int rx834_pos
@@ -9947,7 +9947,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>" :subid("198_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<Q>" :subid("198_1272455252.89365") :method
.annotate "line", 4
$P836 = self."!PREFIX__!subrule"("", "Q")
new $P837, "ResizablePMCArray"
@@ -9957,7 +9957,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>" :subid("199_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym<Q:PIR>" :subid("199_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx840_tgt
.local int rx840_pos
@@ -10027,7 +10027,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1271948667.92136") :method
+.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1272455252.89365") :method
.annotate "line", 4
$P842 = self."!PREFIX__!subrule"("", "Q:PIR")
new $P843, "ResizablePMCArray"
@@ -10037,7 +10037,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />" :subid("201_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote:sym</ />" :subid("201_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx846_tgt
.local int rx846_pos
@@ -10122,7 +10122,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />" :subid("202_1271948667.92136") :method
+.sub "!PREFIX__quote:sym</ />" :subid("202_1272455252.89365") :method
.annotate "line", 4
$P848 = self."!PREFIX__!subrule"("", "/")
new $P849, "ResizablePMCArray"
@@ -10132,7 +10132,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>" :subid("203_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote_escape:sym<$>" :subid("203_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx852_tgt
.local int rx852_pos
@@ -10200,7 +10200,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1271948667.92136") :method
+.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1272455252.89365") :method
.annotate "line", 4
new $P854, "ResizablePMCArray"
push $P854, "$"
@@ -10209,7 +10209,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>" :subid("205_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote_escape:sym<{ }>" :subid("205_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx857_tgt
.local int rx857_pos
@@ -10277,7 +10277,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1271948667.92136") :method
+.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1272455252.89365") :method
.annotate "line", 4
new $P859, "ResizablePMCArray"
push $P859, "{"
@@ -10286,7 +10286,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("207_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "quote_escape:sym<esc>" :subid("207_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx862_tgt
.local int rx862_pos
@@ -10348,7 +10348,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("208_1271948667.92136") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("208_1272455252.89365") :method
.annotate "line", 4
new $P864, "ResizablePMCArray"
push $P864, "\\e"
@@ -10357,7 +10357,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>" :subid("209_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "circumfix:sym<( )>" :subid("209_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx867_tgt
.local int rx867_pos
@@ -10441,7 +10441,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>" :subid("210_1271948667.92136") :method
+.sub "!PREFIX__circumfix:sym<( )>" :subid("210_1272455252.89365") :method
.annotate "line", 4
$P869 = self."!PREFIX__!subrule"("", "(")
new $P870, "ResizablePMCArray"
@@ -10451,7 +10451,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>" :subid("211_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "circumfix:sym<[ ]>" :subid("211_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx875_tgt
.local int rx875_pos
@@ -10535,7 +10535,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>" :subid("212_1271948667.92136") :method
+.sub "!PREFIX__circumfix:sym<[ ]>" :subid("212_1272455252.89365") :method
.annotate "line", 4
$P877 = self."!PREFIX__!subrule"("", "[")
new $P878, "ResizablePMCArray"
@@ -10545,7 +10545,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>" :subid("213_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "circumfix:sym<ang>" :subid("213_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx883_tgt
.local int rx883_pos
@@ -10609,7 +10609,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>" :subid("214_1271948667.92136") :method
+.sub "!PREFIX__circumfix:sym<ang>" :subid("214_1272455252.89365") :method
.annotate "line", 4
new $P885, "ResizablePMCArray"
push $P885, "<"
@@ -10618,7 +10618,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("215_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("215_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx888_tgt
.local int rx888_pos
@@ -10682,7 +10682,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("216_1271948667.92136") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("216_1272455252.89365") :method
.annotate "line", 4
new $P890, "ResizablePMCArray"
push $P890, unicode:"\x{ab}"
@@ -10691,7 +10691,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>" :subid("217_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "circumfix:sym<{ }>" :subid("217_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx893_tgt
.local int rx893_pos
@@ -10755,7 +10755,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>" :subid("218_1271948667.92136") :method
+.sub "!PREFIX__circumfix:sym<{ }>" :subid("218_1272455252.89365") :method
.annotate "line", 4
new $P895, "ResizablePMCArray"
push $P895, "{"
@@ -10764,7 +10764,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>" :subid("219_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "circumfix:sym<sigil>" :subid("219_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx898_tgt
.local int rx898_pos
@@ -10854,7 +10854,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>" :subid("220_1271948667.92136") :method
+.sub "!PREFIX__circumfix:sym<sigil>" :subid("220_1272455252.89365") :method
.annotate "line", 4
$P900 = self."!PREFIX__!subrule"("sigil", "")
new $P901, "ResizablePMCArray"
@@ -10864,7 +10864,7 @@
.namespace ["NQP";"Grammar"]
-.sub "semilist" :subid("221_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "semilist" :subid("221_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 4
.local string rx906_tgt
.local int rx906_pos
@@ -10932,7 +10932,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist" :subid("222_1271948667.92136") :method
+.sub "!PREFIX__semilist" :subid("222_1272455252.89365") :method
.annotate "line", 4
new $P908, "ResizablePMCArray"
push $P908, ""
@@ -10941,7 +10941,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixish" :subid("223_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infixish" :subid("223_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx913_tgt
.local int rx913_pos
@@ -11003,7 +11003,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish" :subid("224_1271948667.92136") :method
+.sub "!PREFIX__infixish" :subid("224_1272455252.89365") :method
.annotate "line", 422
new $P915, "ResizablePMCArray"
push $P915, ""
@@ -11012,7 +11012,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixstopper" :subid("225_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infixstopper" :subid("225_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx918_tgt
.local int rx918_pos
@@ -11067,7 +11067,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper" :subid("226_1271948667.92136") :method
+.sub "!PREFIX__infixstopper" :subid("226_1272455252.89365") :method
.annotate "line", 422
new $P920, "ResizablePMCArray"
push $P920, ""
@@ -11076,7 +11076,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>" :subid("227_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postcircumfix:sym<[ ]>" :subid("227_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx923_tgt
.local int rx923_pos
@@ -11162,7 +11162,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("228_1271948667.92136") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("228_1272455252.89365") :method
.annotate "line", 422
$P925 = self."!PREFIX__!subrule"("", "[")
new $P926, "ResizablePMCArray"
@@ -11172,7 +11172,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>" :subid("229_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postcircumfix:sym<{ }>" :subid("229_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx929_tgt
.local int rx929_pos
@@ -11258,7 +11258,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("230_1271948667.92136") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("230_1272455252.89365") :method
.annotate "line", 422
$P931 = self."!PREFIX__!subrule"("", "{")
new $P932, "ResizablePMCArray"
@@ -11268,7 +11268,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>" :subid("231_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postcircumfix:sym<ang>" :subid("231_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx935_tgt
.local int rx935_pos
@@ -11341,7 +11341,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>" :subid("232_1271948667.92136") :method
+.sub "!PREFIX__postcircumfix:sym<ang>" :subid("232_1272455252.89365") :method
.annotate "line", 422
new $P937, "ResizablePMCArray"
push $P937, "<"
@@ -11350,7 +11350,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>" :subid("233_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postcircumfix:sym<( )>" :subid("233_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx940_tgt
.local int rx940_pos
@@ -11436,7 +11436,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>" :subid("234_1271948667.92136") :method
+.sub "!PREFIX__postcircumfix:sym<( )>" :subid("234_1272455252.89365") :method
.annotate "line", 422
$P942 = self."!PREFIX__!subrule"("", "(")
new $P943, "ResizablePMCArray"
@@ -11446,7 +11446,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>" :subid("235_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postfix:sym<.>" :subid("235_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx946_tgt
.local int rx946_pos
@@ -11511,7 +11511,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>" :subid("236_1271948667.92136") :method
+.sub "!PREFIX__postfix:sym<.>" :subid("236_1272455252.89365") :method
.annotate "line", 422
$P948 = self."!PREFIX__!subrule"("dotty", "")
new $P949, "ResizablePMCArray"
@@ -11521,7 +11521,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>" :subid("237_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<++>" :subid("237_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx952_tgt
.local int rx952_pos
@@ -11600,7 +11600,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>" :subid("238_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<++>" :subid("238_1272455252.89365") :method
.annotate "line", 422
$P954 = self."!PREFIX__!subrule"("O", "++")
new $P955, "ResizablePMCArray"
@@ -11610,7 +11610,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->" :subid("239_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<-->" :subid("239_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx959_tgt
.local int rx959_pos
@@ -11689,7 +11689,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->" :subid("240_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<-->" :subid("240_1272455252.89365") :method
.annotate "line", 422
$P961 = self."!PREFIX__!subrule"("O", "--")
new $P962, "ResizablePMCArray"
@@ -11699,7 +11699,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>" :subid("241_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postfix:sym<++>" :subid("241_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx966_tgt
.local int rx966_pos
@@ -11778,7 +11778,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>" :subid("242_1271948667.92136") :method
+.sub "!PREFIX__postfix:sym<++>" :subid("242_1272455252.89365") :method
.annotate "line", 422
$P968 = self."!PREFIX__!subrule"("O", "++")
new $P969, "ResizablePMCArray"
@@ -11788,7 +11788,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->" :subid("243_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "postfix:sym<-->" :subid("243_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx973_tgt
.local int rx973_pos
@@ -11867,7 +11867,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->" :subid("244_1271948667.92136") :method
+.sub "!PREFIX__postfix:sym<-->" :subid("244_1272455252.89365") :method
.annotate "line", 422
$P975 = self."!PREFIX__!subrule"("O", "--")
new $P976, "ResizablePMCArray"
@@ -11877,7 +11877,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>" :subid("245_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<**>" :subid("245_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx980_tgt
.local int rx980_pos
@@ -11956,7 +11956,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>" :subid("246_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<**>" :subid("246_1272455252.89365") :method
.annotate "line", 422
$P982 = self."!PREFIX__!subrule"("O", "**")
new $P983, "ResizablePMCArray"
@@ -11966,7 +11966,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>" :subid("247_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<+>" :subid("247_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx987_tgt
.local int rx987_pos
@@ -12045,7 +12045,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>" :subid("248_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<+>" :subid("248_1272455252.89365") :method
.annotate "line", 422
$P989 = self."!PREFIX__!subrule"("O", "+")
new $P990, "ResizablePMCArray"
@@ -12055,7 +12055,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>" :subid("249_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<~>" :subid("249_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx994_tgt
.local int rx994_pos
@@ -12134,7 +12134,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>" :subid("250_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<~>" :subid("250_1272455252.89365") :method
.annotate "line", 422
$P996 = self."!PREFIX__!subrule"("O", "~")
new $P997, "ResizablePMCArray"
@@ -12144,7 +12144,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->" :subid("251_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<->" :subid("251_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1001_tgt
.local int rx1001_pos
@@ -12233,7 +12233,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->" :subid("252_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<->" :subid("252_1272455252.89365") :method
.annotate "line", 422
new $P1003, "ResizablePMCArray"
push $P1003, "-"
@@ -12242,7 +12242,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>" :subid("253_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<?>" :subid("253_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1007_tgt
.local int rx1007_pos
@@ -12321,7 +12321,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>" :subid("254_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<?>" :subid("254_1272455252.89365") :method
.annotate "line", 422
$P1009 = self."!PREFIX__!subrule"("O", "?")
new $P1010, "ResizablePMCArray"
@@ -12331,7 +12331,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>" :subid("255_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<!>" :subid("255_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1014_tgt
.local int rx1014_pos
@@ -12410,7 +12410,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>" :subid("256_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<!>" :subid("256_1272455252.89365") :method
.annotate "line", 422
$P1016 = self."!PREFIX__!subrule"("O", "!")
new $P1017, "ResizablePMCArray"
@@ -12420,7 +12420,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>" :subid("257_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<|>" :subid("257_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1021_tgt
.local int rx1021_pos
@@ -12499,7 +12499,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>" :subid("258_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<|>" :subid("258_1272455252.89365") :method
.annotate "line", 422
$P1023 = self."!PREFIX__!subrule"("O", "|")
new $P1024, "ResizablePMCArray"
@@ -12509,7 +12509,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>" :subid("259_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<*>" :subid("259_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1028_tgt
.local int rx1028_pos
@@ -12588,7 +12588,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>" :subid("260_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<*>" :subid("260_1272455252.89365") :method
.annotate "line", 422
$P1030 = self."!PREFIX__!subrule"("O", "*")
new $P1031, "ResizablePMCArray"
@@ -12598,7 +12598,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym</>" :subid("261_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym</>" :subid("261_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1035_tgt
.local int rx1035_pos
@@ -12677,7 +12677,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>" :subid("262_1271948667.92136") :method
+.sub "!PREFIX__infix:sym</>" :subid("262_1272455252.89365") :method
.annotate "line", 422
$P1037 = self."!PREFIX__!subrule"("O", "/")
new $P1038, "ResizablePMCArray"
@@ -12687,7 +12687,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>" :subid("263_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<%>" :subid("263_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1042_tgt
.local int rx1042_pos
@@ -12766,7 +12766,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>" :subid("264_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<%>" :subid("264_1272455252.89365") :method
.annotate "line", 422
$P1044 = self."!PREFIX__!subrule"("O", "%")
new $P1045, "ResizablePMCArray"
@@ -12776,7 +12776,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>" :subid("265_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<+>" :subid("265_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1049_tgt
.local int rx1049_pos
@@ -12855,7 +12855,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>" :subid("266_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<+>" :subid("266_1272455252.89365") :method
.annotate "line", 422
$P1051 = self."!PREFIX__!subrule"("O", "+")
new $P1052, "ResizablePMCArray"
@@ -12865,7 +12865,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<->" :subid("267_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<->" :subid("267_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1056_tgt
.local int rx1056_pos
@@ -12944,7 +12944,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->" :subid("268_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<->" :subid("268_1272455252.89365") :method
.annotate "line", 422
$P1058 = self."!PREFIX__!subrule"("O", "-")
new $P1059, "ResizablePMCArray"
@@ -12954,7 +12954,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>" :subid("269_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<~>" :subid("269_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1063_tgt
.local int rx1063_pos
@@ -13033,7 +13033,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>" :subid("270_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<~>" :subid("270_1272455252.89365") :method
.annotate "line", 422
$P1065 = self."!PREFIX__!subrule"("O", "~")
new $P1066, "ResizablePMCArray"
@@ -13043,7 +13043,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>" :subid("271_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<==>" :subid("271_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1070_tgt
.local int rx1070_pos
@@ -13122,7 +13122,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>" :subid("272_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<==>" :subid("272_1272455252.89365") :method
.annotate "line", 422
$P1072 = self."!PREFIX__!subrule"("O", "==")
new $P1073, "ResizablePMCArray"
@@ -13132,7 +13132,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>" :subid("273_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<!=>" :subid("273_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1077_tgt
.local int rx1077_pos
@@ -13211,7 +13211,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>" :subid("274_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<!=>" :subid("274_1272455252.89365") :method
.annotate "line", 422
$P1079 = self."!PREFIX__!subrule"("O", "!=")
new $P1080, "ResizablePMCArray"
@@ -13221,7 +13221,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>" :subid("275_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<<=>" :subid("275_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1084_tgt
.local int rx1084_pos
@@ -13300,7 +13300,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>" :subid("276_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<<=>" :subid("276_1272455252.89365") :method
.annotate "line", 422
$P1086 = self."!PREFIX__!subrule"("O", "<=")
new $P1087, "ResizablePMCArray"
@@ -13310,7 +13310,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>" :subid("277_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<>=>" :subid("277_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1091_tgt
.local int rx1091_pos
@@ -13389,7 +13389,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>" :subid("278_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<>=>" :subid("278_1272455252.89365") :method
.annotate "line", 422
$P1093 = self."!PREFIX__!subrule"("O", ">=")
new $P1094, "ResizablePMCArray"
@@ -13399,7 +13399,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>" :subid("279_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<<>" :subid("279_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1098_tgt
.local int rx1098_pos
@@ -13478,7 +13478,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>" :subid("280_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<<>" :subid("280_1272455252.89365") :method
.annotate "line", 422
$P1100 = self."!PREFIX__!subrule"("O", "<")
new $P1101, "ResizablePMCArray"
@@ -13488,7 +13488,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>" :subid("281_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<>>" :subid("281_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1105_tgt
.local int rx1105_pos
@@ -13567,7 +13567,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>" :subid("282_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<>>" :subid("282_1272455252.89365") :method
.annotate "line", 422
$P1107 = self."!PREFIX__!subrule"("O", ">")
new $P1108, "ResizablePMCArray"
@@ -13577,7 +13577,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>" :subid("283_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<eq>" :subid("283_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1112_tgt
.local int rx1112_pos
@@ -13656,7 +13656,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>" :subid("284_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<eq>" :subid("284_1272455252.89365") :method
.annotate "line", 422
$P1114 = self."!PREFIX__!subrule"("O", "eq")
new $P1115, "ResizablePMCArray"
@@ -13666,7 +13666,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>" :subid("285_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<ne>" :subid("285_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1119_tgt
.local int rx1119_pos
@@ -13745,7 +13745,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>" :subid("286_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<ne>" :subid("286_1272455252.89365") :method
.annotate "line", 422
$P1121 = self."!PREFIX__!subrule"("O", "ne")
new $P1122, "ResizablePMCArray"
@@ -13755,7 +13755,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>" :subid("287_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<le>" :subid("287_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1126_tgt
.local int rx1126_pos
@@ -13834,7 +13834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>" :subid("288_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<le>" :subid("288_1272455252.89365") :method
.annotate "line", 422
$P1128 = self."!PREFIX__!subrule"("O", "le")
new $P1129, "ResizablePMCArray"
@@ -13844,7 +13844,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>" :subid("289_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<ge>" :subid("289_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1133_tgt
.local int rx1133_pos
@@ -13923,7 +13923,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>" :subid("290_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<ge>" :subid("290_1272455252.89365") :method
.annotate "line", 422
$P1135 = self."!PREFIX__!subrule"("O", "ge")
new $P1136, "ResizablePMCArray"
@@ -13933,7 +13933,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>" :subid("291_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<lt>" :subid("291_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1140_tgt
.local int rx1140_pos
@@ -14012,7 +14012,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>" :subid("292_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<lt>" :subid("292_1272455252.89365") :method
.annotate "line", 422
$P1142 = self."!PREFIX__!subrule"("O", "lt")
new $P1143, "ResizablePMCArray"
@@ -14022,7 +14022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>" :subid("293_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<gt>" :subid("293_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1147_tgt
.local int rx1147_pos
@@ -14101,7 +14101,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>" :subid("294_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<gt>" :subid("294_1272455252.89365") :method
.annotate "line", 422
$P1149 = self."!PREFIX__!subrule"("O", "gt")
new $P1150, "ResizablePMCArray"
@@ -14111,7 +14111,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>" :subid("295_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<=:=>" :subid("295_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1154_tgt
.local int rx1154_pos
@@ -14190,7 +14190,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>" :subid("296_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<=:=>" :subid("296_1272455252.89365") :method
.annotate "line", 422
$P1156 = self."!PREFIX__!subrule"("O", "=:=")
new $P1157, "ResizablePMCArray"
@@ -14200,7 +14200,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>" :subid("297_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<~~>" :subid("297_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1161_tgt
.local int rx1161_pos
@@ -14279,7 +14279,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>" :subid("298_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<~~>" :subid("298_1272455252.89365") :method
.annotate "line", 422
$P1163 = self."!PREFIX__!subrule"("O", "~~")
new $P1164, "ResizablePMCArray"
@@ -14289,7 +14289,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>" :subid("299_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<&&>" :subid("299_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1168_tgt
.local int rx1168_pos
@@ -14368,7 +14368,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>" :subid("300_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<&&>" :subid("300_1272455252.89365") :method
.annotate "line", 422
$P1170 = self."!PREFIX__!subrule"("O", "&&")
new $P1171, "ResizablePMCArray"
@@ -14378,7 +14378,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>" :subid("301_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<||>" :subid("301_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1175_tgt
.local int rx1175_pos
@@ -14457,7 +14457,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>" :subid("302_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<||>" :subid("302_1272455252.89365") :method
.annotate "line", 422
$P1177 = self."!PREFIX__!subrule"("O", "||")
new $P1178, "ResizablePMCArray"
@@ -14467,7 +14467,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>" :subid("303_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<//>" :subid("303_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1182_tgt
.local int rx1182_pos
@@ -14546,7 +14546,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>" :subid("304_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<//>" :subid("304_1272455252.89365") :method
.annotate "line", 422
$P1184 = self."!PREFIX__!subrule"("O", "//")
new $P1185, "ResizablePMCArray"
@@ -14556,7 +14556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>" :subid("305_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<?? !!>" :subid("305_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1189_tgt
.local int rx1189_pos
@@ -14645,7 +14645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>" :subid("306_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<?? !!>" :subid("306_1272455252.89365") :method
.annotate "line", 422
$P1191 = self."!PREFIX__!subrule"("", "??")
new $P1192, "ResizablePMCArray"
@@ -14655,7 +14655,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>" :subid("307_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<=>" :subid("307_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1195_tgt
.local int rx1195_pos
@@ -14733,7 +14733,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>" :subid("308_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<=>" :subid("308_1272455252.89365") :method
.annotate "line", 422
$P1197 = self."!PREFIX__!subrule"("", "=")
new $P1198, "ResizablePMCArray"
@@ -14743,7 +14743,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>" :subid("309_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<:=>" :subid("309_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1202_tgt
.local int rx1202_pos
@@ -14822,7 +14822,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>" :subid("310_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<:=>" :subid("310_1272455252.89365") :method
.annotate "line", 422
$P1204 = self."!PREFIX__!subrule"("O", ":=")
new $P1205, "ResizablePMCArray"
@@ -14832,7 +14832,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>" :subid("311_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<::=>" :subid("311_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1209_tgt
.local int rx1209_pos
@@ -14911,7 +14911,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>" :subid("312_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<::=>" :subid("312_1272455252.89365") :method
.annotate "line", 422
$P1211 = self."!PREFIX__!subrule"("O", "::=")
new $P1212, "ResizablePMCArray"
@@ -14921,7 +14921,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>" :subid("313_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "infix:sym<,>" :subid("313_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1216_tgt
.local int rx1216_pos
@@ -15000,7 +15000,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>" :subid("314_1271948667.92136") :method
+.sub "!PREFIX__infix:sym<,>" :subid("314_1272455252.89365") :method
.annotate "line", 422
$P1218 = self."!PREFIX__!subrule"("O", ",")
new $P1219, "ResizablePMCArray"
@@ -15010,7 +15010,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>" :subid("315_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<return>" :subid("315_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1223_tgt
.local int rx1223_pos
@@ -15095,7 +15095,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>" :subid("316_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<return>" :subid("316_1272455252.89365") :method
.annotate "line", 422
new $P1225, "ResizablePMCArray"
push $P1225, "return"
@@ -15104,7 +15104,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>" :subid("317_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "prefix:sym<make>" :subid("317_1272455252.89365") :method :outer("11_1272455252.89365")
.annotate "line", 422
.local string rx1229_tgt
.local int rx1229_pos
@@ -15189,7 +15189,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>" :subid("318_1271948667.92136") :method
+.sub "!PREFIX__prefix:sym<make>" :subid("318_1272455252.89365") :method
.annotate "line", 422
new $P1231, "ResizablePMCArray"
push $P1231, "make"
@@ -15198,12 +15198,12 @@
.namespace ["NQP";"Grammar"]
-.sub "smartmatch" :subid("319_1271948667.92136") :method :outer("11_1271948667.92136")
+.sub "smartmatch" :subid("319_1272455252.89365") :method :outer("11_1272455252.89365")
.param pmc param_1237
.annotate "line", 530
new $P1236, 'ExceptionHandler'
set_addr $P1236, control_1235
- $P1236."handle_types"(58)
+ $P1236."handle_types"(57)
push_eh $P1236
.lex "self", self
.lex "$/", param_1237
@@ -15251,28 +15251,28 @@
.namespace ["NQP";"Regex"]
-.sub "_block1247" :subid("320_1271948667.92136") :outer("11_1271948667.92136")
+.sub "_block1247" :subid("320_1272455252.89365") :outer("11_1272455252.89365")
.annotate "line", 536
- .const 'Sub' $P1281 = "331_1271948667.92136"
+ .const 'Sub' $P1281 = "331_1272455252.89365"
capture_lex $P1281
- .const 'Sub' $P1268 = "328_1271948667.92136"
+ .const 'Sub' $P1268 = "328_1272455252.89365"
capture_lex $P1268
- .const 'Sub' $P1263 = "326_1271948667.92136"
+ .const 'Sub' $P1263 = "326_1272455252.89365"
capture_lex $P1263
- .const 'Sub' $P1258 = "324_1271948667.92136"
+ .const 'Sub' $P1258 = "324_1272455252.89365"
capture_lex $P1258
- .const 'Sub' $P1249 = "321_1271948667.92136"
+ .const 'Sub' $P1249 = "321_1272455252.89365"
capture_lex $P1249
- .const 'Sub' $P1281 = "331_1271948667.92136"
+ .const 'Sub' $P1281 = "331_1272455252.89365"
capture_lex $P1281
.return ($P1281)
.end
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>" :subid("321_1271948667.92136") :method :outer("320_1271948667.92136")
+.sub "metachar:sym<:my>" :subid("321_1272455252.89365") :method :outer("320_1272455252.89365")
.annotate "line", 536
- .const 'Sub' $P1255 = "323_1271948667.92136"
+ .const 'Sub' $P1255 = "323_1272455252.89365"
capture_lex $P1255
.local string rx1250_tgt
.local int rx1250_pos
@@ -15313,7 +15313,7 @@
add rx1250_pos, 1
# rx subrule "before" subtype=zerowidth negate=
rx1250_cur."!cursor_pos"(rx1250_pos)
- .const 'Sub' $P1255 = "323_1271948667.92136"
+ .const 'Sub' $P1255 = "323_1272455252.89365"
capture_lex $P1255
$P10 = rx1250_cur."before"($P1255)
unless $P10, rx1250_fail
@@ -15356,7 +15356,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>" :subid("322_1271948667.92136") :method
+.sub "!PREFIX__metachar:sym<:my>" :subid("322_1272455252.89365") :method
.annotate "line", 536
new $P1252, "ResizablePMCArray"
push $P1252, ":"
@@ -15365,7 +15365,7 @@
.namespace ["NQP";"Regex"]
-.sub "_block1254" :anon :subid("323_1271948667.92136") :method :outer("321_1271948667.92136")
+.sub "_block1254" :anon :subid("323_1272455252.89365") :method :outer("321_1272455252.89365")
.annotate "line", 538
.local string rx1256_tgt
.local int rx1256_pos
@@ -15421,7 +15421,7 @@
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>" :subid("324_1271948667.92136") :method :outer("320_1271948667.92136")
+.sub "metachar:sym<{ }>" :subid("324_1272455252.89365") :method :outer("320_1272455252.89365")
.annotate "line", 536
.local string rx1259_tgt
.local int rx1259_pos
@@ -15486,7 +15486,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>" :subid("325_1271948667.92136") :method
+.sub "!PREFIX__metachar:sym<{ }>" :subid("325_1272455252.89365") :method
.annotate "line", 536
new $P1261, "ResizablePMCArray"
push $P1261, "{"
@@ -15495,7 +15495,7 @@
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>" :subid("326_1271948667.92136") :method :outer("320_1271948667.92136")
+.sub "assertion:sym<{ }>" :subid("326_1272455252.89365") :method :outer("320_1272455252.89365")
.annotate "line", 536
.local string rx1264_tgt
.local int rx1264_pos
@@ -15560,7 +15560,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>" :subid("327_1271948667.92136") :method
+.sub "!PREFIX__assertion:sym<{ }>" :subid("327_1272455252.89365") :method
.annotate "line", 536
new $P1266, "ResizablePMCArray"
push $P1266, "{"
@@ -15569,9 +15569,9 @@
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>" :subid("328_1271948667.92136") :method :outer("320_1271948667.92136")
+.sub "assertion:sym<name>" :subid("328_1272455252.89365") :method :outer("320_1272455252.89365")
.annotate "line", 536
- .const 'Sub' $P1277 = "330_1271948667.92136"
+ .const 'Sub' $P1277 = "330_1272455252.89365"
capture_lex $P1277
.local string rx1269_tgt
.local int rx1269_pos
@@ -15581,7 +15581,7 @@
.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")
+ rx1269_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
.lex unicode:"$\x{a2}", rx1269_cur
.local pmc match
.lex "$/", match
@@ -15636,7 +15636,7 @@
.annotate "line", 552
# rx subrule "before" subtype=zerowidth negate=
rx1269_cur."!cursor_pos"(rx1269_pos)
- .const 'Sub' $P1277 = "330_1271948667.92136"
+ .const 'Sub' $P1277 = "330_1272455252.89365"
capture_lex $P1277
$P10 = rx1269_cur."before"($P1277)
unless $P10, rx1269_fail
@@ -15743,7 +15743,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>" :subid("329_1271948667.92136") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("329_1272455252.89365") :method
.annotate "line", 536
new $P1271, "ResizablePMCArray"
push $P1271, ""
@@ -15752,7 +15752,7 @@
.namespace ["NQP";"Regex"]
-.sub "_block1276" :anon :subid("330_1271948667.92136") :method :outer("328_1271948667.92136")
+.sub "_block1276" :anon :subid("330_1272455252.89365") :method :outer("328_1272455252.89365")
.annotate "line", 552
.local string rx1278_tgt
.local int rx1278_pos
@@ -15808,7 +15808,7 @@
.namespace ["NQP";"Regex"]
-.sub "codeblock" :subid("331_1271948667.92136") :method :outer("320_1271948667.92136")
+.sub "codeblock" :subid("331_1272455252.89365") :method :outer("320_1272455252.89365")
.annotate "line", 536
.local string rx1282_tgt
.local int rx1282_pos
@@ -15867,7 +15867,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock" :subid("332_1271948667.92136") :method
+.sub "!PREFIX__codeblock" :subid("332_1272455252.89365") :method
.annotate "line", 536
$P1284 = self."!PREFIX__!subrule"("block", "")
new $P1285, "ResizablePMCArray"
@@ -15878,7 +15878,7 @@
### .include 'gen/nqp-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948680.36754")
+.sub "_block11" :anon :subid("10_1272455259.05437")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Actions"], "_block13"
capture_lex $P14
@@ -15892,9 +15892,9 @@
.namespace []
-.sub "" :load :init :subid("post127") :outer("10_1271948680.36754")
+.sub "" :load :init :subid("post127") :outer("10_1272455259.05437")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948680.36754"
+ .const 'Sub' $P12 = "10_1272455259.05437"
.local pmc block
set block, $P12
$P2176 = get_root_global ["parrot"], "P6metaclass"
@@ -15903,201 +15903,201 @@
.namespace ["NQP";"Actions"]
-.sub "_block13" :subid("11_1271948680.36754") :outer("10_1271948680.36754")
+.sub "_block13" :subid("11_1272455259.05437") :outer("10_1272455259.05437")
.annotate "line", 3
- .const 'Sub' $P2171 = "126_1271948680.36754"
+ .const 'Sub' $P2171 = "126_1272455259.05437"
capture_lex $P2171
get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106"
capture_lex $P2107
- .const 'Sub' $P2096 = "120_1271948680.36754"
+ .const 'Sub' $P2096 = "120_1272455259.05437"
capture_lex $P2096
- .const 'Sub' $P2084 = "119_1271948680.36754"
+ .const 'Sub' $P2084 = "119_1272455259.05437"
capture_lex $P2084
- .const 'Sub' $P2074 = "118_1271948680.36754"
+ .const 'Sub' $P2074 = "118_1272455259.05437"
capture_lex $P2074
- .const 'Sub' $P2064 = "117_1271948680.36754"
+ .const 'Sub' $P2064 = "117_1272455259.05437"
capture_lex $P2064
- .const 'Sub' $P2054 = "116_1271948680.36754"
+ .const 'Sub' $P2054 = "116_1272455259.05437"
capture_lex $P2054
- .const 'Sub' $P2047 = "115_1271948680.36754"
+ .const 'Sub' $P2047 = "115_1272455259.05437"
capture_lex $P2047
- .const 'Sub' $P2033 = "114_1271948680.36754"
+ .const 'Sub' $P2033 = "114_1272455259.05437"
capture_lex $P2033
- .const 'Sub' $P2023 = "113_1271948680.36754"
+ .const 'Sub' $P2023 = "113_1272455259.05437"
capture_lex $P2023
- .const 'Sub' $P1986 = "112_1271948680.36754"
+ .const 'Sub' $P1986 = "112_1272455259.05437"
capture_lex $P1986
- .const 'Sub' $P1972 = "111_1271948680.36754"
+ .const 'Sub' $P1972 = "111_1272455259.05437"
capture_lex $P1972
- .const 'Sub' $P1962 = "110_1271948680.36754"
+ .const 'Sub' $P1962 = "110_1272455259.05437"
capture_lex $P1962
- .const 'Sub' $P1952 = "109_1271948680.36754"
+ .const 'Sub' $P1952 = "109_1272455259.05437"
capture_lex $P1952
- .const 'Sub' $P1942 = "108_1271948680.36754"
+ .const 'Sub' $P1942 = "108_1272455259.05437"
capture_lex $P1942
- .const 'Sub' $P1932 = "107_1271948680.36754"
+ .const 'Sub' $P1932 = "107_1272455259.05437"
capture_lex $P1932
- .const 'Sub' $P1922 = "106_1271948680.36754"
+ .const 'Sub' $P1922 = "106_1272455259.05437"
capture_lex $P1922
- .const 'Sub' $P1894 = "105_1271948680.36754"
+ .const 'Sub' $P1894 = "105_1272455259.05437"
capture_lex $P1894
- .const 'Sub' $P1877 = "104_1271948680.36754"
+ .const 'Sub' $P1877 = "104_1272455259.05437"
capture_lex $P1877
- .const 'Sub' $P1867 = "103_1271948680.36754"
+ .const 'Sub' $P1867 = "103_1272455259.05437"
capture_lex $P1867
- .const 'Sub' $P1854 = "102_1271948680.36754"
+ .const 'Sub' $P1854 = "102_1272455259.05437"
capture_lex $P1854
- .const 'Sub' $P1841 = "101_1271948680.36754"
+ .const 'Sub' $P1841 = "101_1272455259.05437"
capture_lex $P1841
- .const 'Sub' $P1828 = "100_1271948680.36754"
+ .const 'Sub' $P1828 = "100_1272455259.05437"
capture_lex $P1828
- .const 'Sub' $P1818 = "99_1271948680.36754"
+ .const 'Sub' $P1818 = "99_1272455259.05437"
capture_lex $P1818
- .const 'Sub' $P1789 = "98_1271948680.36754"
+ .const 'Sub' $P1789 = "98_1272455259.05437"
capture_lex $P1789
- .const 'Sub' $P1769 = "97_1271948680.36754"
+ .const 'Sub' $P1769 = "97_1272455259.05437"
capture_lex $P1769
- .const 'Sub' $P1759 = "96_1271948680.36754"
+ .const 'Sub' $P1759 = "96_1272455259.05437"
capture_lex $P1759
- .const 'Sub' $P1749 = "95_1271948680.36754"
+ .const 'Sub' $P1749 = "95_1272455259.05437"
capture_lex $P1749
- .const 'Sub' $P1722 = "94_1271948680.36754"
+ .const 'Sub' $P1722 = "94_1272455259.05437"
capture_lex $P1722
- .const 'Sub' $P1704 = "93_1271948680.36754"
+ .const 'Sub' $P1704 = "93_1272455259.05437"
capture_lex $P1704
- .const 'Sub' $P1694 = "92_1271948680.36754"
+ .const 'Sub' $P1694 = "92_1272455259.05437"
capture_lex $P1694
- .const 'Sub' $P1610 = "89_1271948680.36754"
+ .const 'Sub' $P1610 = "89_1272455259.05437"
capture_lex $P1610
- .const 'Sub' $P1600 = "88_1271948680.36754"
+ .const 'Sub' $P1600 = "88_1272455259.05437"
capture_lex $P1600
- .const 'Sub' $P1571 = "87_1271948680.36754"
+ .const 'Sub' $P1571 = "87_1272455259.05437"
capture_lex $P1571
- .const 'Sub' $P1529 = "86_1271948680.36754"
+ .const 'Sub' $P1529 = "86_1272455259.05437"
capture_lex $P1529
- .const 'Sub' $P1513 = "85_1271948680.36754"
+ .const 'Sub' $P1513 = "85_1272455259.05437"
capture_lex $P1513
- .const 'Sub' $P1504 = "84_1271948680.36754"
+ .const 'Sub' $P1504 = "84_1272455259.05437"
capture_lex $P1504
- .const 'Sub' $P1472 = "83_1271948680.36754"
+ .const 'Sub' $P1472 = "83_1272455259.05437"
capture_lex $P1472
- .const 'Sub' $P1373 = "80_1271948680.36754"
+ .const 'Sub' $P1373 = "80_1272455259.05437"
capture_lex $P1373
- .const 'Sub' $P1356 = "79_1271948680.36754"
+ .const 'Sub' $P1356 = "79_1272455259.05437"
capture_lex $P1356
- .const 'Sub' $P1336 = "78_1271948680.36754"
+ .const 'Sub' $P1336 = "78_1272455259.05437"
capture_lex $P1336
- .const 'Sub' $P1252 = "77_1271948680.36754"
+ .const 'Sub' $P1252 = "77_1272455259.05437"
capture_lex $P1252
- .const 'Sub' $P1228 = "75_1271948680.36754"
+ .const 'Sub' $P1228 = "75_1272455259.05437"
capture_lex $P1228
- .const 'Sub' $P1194 = "73_1271948680.36754"
+ .const 'Sub' $P1194 = "73_1272455259.05437"
capture_lex $P1194
- .const 'Sub' $P1144 = "71_1271948680.36754"
+ .const 'Sub' $P1144 = "71_1272455259.05437"
capture_lex $P1144
- .const 'Sub' $P1134 = "70_1271948680.36754"
+ .const 'Sub' $P1134 = "70_1272455259.05437"
capture_lex $P1134
- .const 'Sub' $P1124 = "69_1271948680.36754"
+ .const 'Sub' $P1124 = "69_1272455259.05437"
capture_lex $P1124
- .const 'Sub' $P1053 = "67_1271948680.36754"
+ .const 'Sub' $P1053 = "67_1272455259.05437"
capture_lex $P1053
- .const 'Sub' $P1036 = "66_1271948680.36754"
+ .const 'Sub' $P1036 = "66_1272455259.05437"
capture_lex $P1036
- .const 'Sub' $P1026 = "65_1271948680.36754"
+ .const 'Sub' $P1026 = "65_1272455259.05437"
capture_lex $P1026
- .const 'Sub' $P1016 = "64_1271948680.36754"
+ .const 'Sub' $P1016 = "64_1272455259.05437"
capture_lex $P1016
- .const 'Sub' $P1006 = "63_1271948680.36754"
+ .const 'Sub' $P1006 = "63_1272455259.05437"
capture_lex $P1006
- .const 'Sub' $P982 = "62_1271948680.36754"
+ .const 'Sub' $P982 = "62_1272455259.05437"
capture_lex $P982
- .const 'Sub' $P929 = "61_1271948680.36754"
+ .const 'Sub' $P929 = "61_1272455259.05437"
capture_lex $P929
- .const 'Sub' $P919 = "60_1271948680.36754"
+ .const 'Sub' $P919 = "60_1272455259.05437"
capture_lex $P919
- .const 'Sub' $P830 = "58_1271948680.36754"
+ .const 'Sub' $P830 = "58_1272455259.05437"
capture_lex $P830
- .const 'Sub' $P804 = "57_1271948680.36754"
+ .const 'Sub' $P804 = "57_1272455259.05437"
capture_lex $P804
- .const 'Sub' $P788 = "56_1271948680.36754"
+ .const 'Sub' $P788 = "56_1272455259.05437"
capture_lex $P788
- .const 'Sub' $P778 = "55_1271948680.36754"
+ .const 'Sub' $P778 = "55_1272455259.05437"
capture_lex $P778
- .const 'Sub' $P768 = "54_1271948680.36754"
+ .const 'Sub' $P768 = "54_1272455259.05437"
capture_lex $P768
- .const 'Sub' $P758 = "53_1271948680.36754"
+ .const 'Sub' $P758 = "53_1272455259.05437"
capture_lex $P758
- .const 'Sub' $P748 = "52_1271948680.36754"
+ .const 'Sub' $P748 = "52_1272455259.05437"
capture_lex $P748
- .const 'Sub' $P738 = "51_1271948680.36754"
+ .const 'Sub' $P738 = "51_1272455259.05437"
capture_lex $P738
- .const 'Sub' $P728 = "50_1271948680.36754"
+ .const 'Sub' $P728 = "50_1272455259.05437"
capture_lex $P728
- .const 'Sub' $P718 = "49_1271948680.36754"
+ .const 'Sub' $P718 = "49_1272455259.05437"
capture_lex $P718
- .const 'Sub' $P708 = "48_1271948680.36754"
+ .const 'Sub' $P708 = "48_1272455259.05437"
capture_lex $P708
- .const 'Sub' $P698 = "47_1271948680.36754"
+ .const 'Sub' $P698 = "47_1272455259.05437"
capture_lex $P698
- .const 'Sub' $P688 = "46_1271948680.36754"
+ .const 'Sub' $P688 = "46_1272455259.05437"
capture_lex $P688
- .const 'Sub' $P678 = "45_1271948680.36754"
+ .const 'Sub' $P678 = "45_1272455259.05437"
capture_lex $P678
- .const 'Sub' $P668 = "44_1271948680.36754"
+ .const 'Sub' $P668 = "44_1272455259.05437"
capture_lex $P668
- .const 'Sub' $P658 = "43_1271948680.36754"
+ .const 'Sub' $P658 = "43_1272455259.05437"
capture_lex $P658
- .const 'Sub' $P640 = "42_1271948680.36754"
+ .const 'Sub' $P640 = "42_1272455259.05437"
capture_lex $P640
- .const 'Sub' $P605 = "41_1271948680.36754"
+ .const 'Sub' $P605 = "41_1272455259.05437"
capture_lex $P605
- .const 'Sub' $P589 = "40_1271948680.36754"
+ .const 'Sub' $P589 = "40_1272455259.05437"
capture_lex $P589
- .const 'Sub' $P568 = "39_1271948680.36754"
+ .const 'Sub' $P568 = "39_1272455259.05437"
capture_lex $P568
- .const 'Sub' $P548 = "38_1271948680.36754"
+ .const 'Sub' $P548 = "38_1272455259.05437"
capture_lex $P548
- .const 'Sub' $P535 = "37_1271948680.36754"
+ .const 'Sub' $P535 = "37_1272455259.05437"
capture_lex $P535
- .const 'Sub' $P509 = "36_1271948680.36754"
+ .const 'Sub' $P509 = "36_1272455259.05437"
capture_lex $P509
- .const 'Sub' $P473 = "35_1271948680.36754"
+ .const 'Sub' $P473 = "35_1272455259.05437"
capture_lex $P473
- .const 'Sub' $P456 = "34_1271948680.36754"
+ .const 'Sub' $P456 = "34_1272455259.05437"
capture_lex $P456
- .const 'Sub' $P442 = "33_1271948680.36754"
+ .const 'Sub' $P442 = "33_1272455259.05437"
capture_lex $P442
- .const 'Sub' $P389 = "31_1271948680.36754"
+ .const 'Sub' $P389 = "31_1272455259.05437"
capture_lex $P389
- .const 'Sub' $P376 = "30_1271948680.36754"
+ .const 'Sub' $P376 = "30_1272455259.05437"
capture_lex $P376
- .const 'Sub' $P357 = "29_1271948680.36754"
+ .const 'Sub' $P357 = "29_1272455259.05437"
capture_lex $P357
- .const 'Sub' $P347 = "28_1271948680.36754"
+ .const 'Sub' $P347 = "28_1272455259.05437"
capture_lex $P347
- .const 'Sub' $P337 = "27_1271948680.36754"
+ .const 'Sub' $P337 = "27_1272455259.05437"
capture_lex $P337
- .const 'Sub' $P321 = "26_1271948680.36754"
+ .const 'Sub' $P321 = "26_1272455259.05437"
capture_lex $P321
- .const 'Sub' $P261 = "24_1271948680.36754"
+ .const 'Sub' $P261 = "24_1272455259.05437"
capture_lex $P261
- .const 'Sub' $P212 = "22_1271948680.36754"
+ .const 'Sub' $P212 = "22_1272455259.05437"
capture_lex $P212
- .const 'Sub' $P193 = "21_1271948680.36754"
+ .const 'Sub' $P193 = "21_1272455259.05437"
capture_lex $P193
- .const 'Sub' $P160 = "20_1271948680.36754"
+ .const 'Sub' $P160 = "20_1272455259.05437"
capture_lex $P160
- .const 'Sub' $P150 = "19_1271948680.36754"
+ .const 'Sub' $P150 = "19_1272455259.05437"
capture_lex $P150
- .const 'Sub' $P96 = "18_1271948680.36754"
+ .const 'Sub' $P96 = "18_1272455259.05437"
capture_lex $P96
- .const 'Sub' $P81 = "17_1271948680.36754"
+ .const 'Sub' $P81 = "17_1272455259.05437"
capture_lex $P81
- .const 'Sub' $P61 = "16_1271948680.36754"
+ .const 'Sub' $P61 = "16_1272455259.05437"
capture_lex $P61
- .const 'Sub' $P26 = "13_1271948680.36754"
+ .const 'Sub' $P26 = "13_1272455259.05437"
capture_lex $P26
- .const 'Sub' $P16 = "12_1271948680.36754"
+ .const 'Sub' $P16 = "12_1272455259.05437"
capture_lex $P16
get_global $P15, "@BLOCK"
unless_null $P15, vivify_130
@@ -16105,23 +16105,23 @@
set_global "@BLOCK", $P15
vivify_130:
.annotate "line", 9
- .const 'Sub' $P16 = "12_1271948680.36754"
+ .const 'Sub' $P16 = "12_1272455259.05437"
capture_lex $P16
.lex "xblock_immediate", $P16
.annotate "line", 14
- .const 'Sub' $P26 = "13_1271948680.36754"
+ .const 'Sub' $P26 = "13_1272455259.05437"
capture_lex $P26
.lex "block_immediate", $P26
.annotate "line", 24
- .const 'Sub' $P61 = "16_1271948680.36754"
+ .const 'Sub' $P61 = "16_1272455259.05437"
capture_lex $P61
.lex "vivitype", $P61
.annotate "line", 43
- .const 'Sub' $P81 = "17_1271948680.36754"
+ .const 'Sub' $P81 = "17_1272455259.05437"
capture_lex $P81
.lex "colonpair_str", $P81
.annotate "line", 190
- .const 'Sub' $P96 = "18_1271948680.36754"
+ .const 'Sub' $P96 = "18_1272455259.05437"
capture_lex $P96
.lex "push_block_handler", $P96
.annotate "line", 3
@@ -16144,13 +16144,13 @@
.namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post128") :outer("11_1271948680.36754")
+.sub "" :load :init :subid("post128") :outer("11_1272455259.05437")
.annotate "line", 3
get_hll_global $P14, ["NQP";"Actions"], "_block13"
.local pmc block
set block, $P14
.annotate "line", 5
- .const 'Sub' $P2171 = "126_1271948680.36754"
+ .const 'Sub' $P2171 = "126_1272455259.05437"
capture_lex $P2171
$P2171()
$P2174 = get_root_global ["parrot"], "P6metaclass"
@@ -16159,7 +16159,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block2170" :anon :subid("126_1271948680.36754") :outer("11_1271948680.36754")
+.sub "_block2170" :anon :subid("126_1272455259.05437") :outer("11_1272455259.05437")
.annotate "line", 6
get_global $P2172, "@BLOCK"
unless_null $P2172, vivify_129
@@ -16174,12 +16174,12 @@
.namespace ["NQP";"Actions"]
-.sub "xblock_immediate" :subid("12_1271948680.36754") :outer("11_1271948680.36754")
+.sub "xblock_immediate" :subid("12_1272455259.05437") :outer("11_1272455259.05437")
.param pmc param_19
.annotate "line", 9
new $P18, 'ExceptionHandler'
set_addr $P18, control_17
- $P18."handle_types"(58)
+ $P18."handle_types"(57)
push_eh $P18
.lex "$xblock", param_19
.annotate "line", 10
@@ -16210,14 +16210,14 @@
.namespace ["NQP";"Actions"]
-.sub "block_immediate" :subid("13_1271948680.36754") :outer("11_1271948680.36754")
+.sub "block_immediate" :subid("13_1272455259.05437") :outer("11_1272455259.05437")
.param pmc param_29
.annotate "line", 14
- .const 'Sub' $P39 = "14_1271948680.36754"
+ .const 'Sub' $P39 = "14_1272455259.05437"
capture_lex $P39
new $P28, 'ExceptionHandler'
set_addr $P28, control_27
- $P28."handle_types"(58)
+ $P28."handle_types"(57)
push_eh $P28
.lex "$block", param_29
.annotate "line", 15
@@ -16235,7 +16235,7 @@
set $P32, $P37
unless_33_end:
if $P32, unless_31_end
- .const 'Sub' $P39 = "14_1271948680.36754"
+ .const 'Sub' $P39 = "14_1272455259.05437"
capture_lex $P39
$P39()
unless_31_end:
@@ -16251,9 +16251,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block38" :anon :subid("14_1271948680.36754") :outer("13_1271948680.36754")
+.sub "_block38" :anon :subid("14_1272455259.05437") :outer("13_1272455259.05437")
.annotate "line", 16
- .const 'Sub' $P50 = "15_1271948680.36754"
+ .const 'Sub' $P50 = "15_1272455259.05437"
capture_lex $P50
.annotate "line", 17
new $P40, "Undef"
@@ -16270,13 +16270,13 @@
iter $P44, $P46
new $P56, 'ExceptionHandler'
set_addr $P56, loop55_handler
- $P56."handle_types"(65, 67, 66)
+ $P56."handle_types"(64, 66, 65)
push_eh $P56
loop55_test:
unless $P44, loop55_done
shift $P48, $P44
loop55_redo:
- .const 'Sub' $P50 = "15_1271948680.36754"
+ .const 'Sub' $P50 = "15_1272455259.05437"
capture_lex $P50
$P50($P48)
loop55_next:
@@ -16285,8 +16285,8 @@
.local pmc exception
.get_results (exception)
getattribute $P57, exception, 'type'
- eq $P57, 65, loop55_next
- eq $P57, 67, loop55_redo
+ eq $P57, 64, loop55_next
+ eq $P57, 66, loop55_redo
loop55_done:
pop_eh
for_undef_134:
@@ -16299,7 +16299,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block49" :anon :subid("15_1271948680.36754") :outer("14_1271948680.36754")
+.sub "_block49" :anon :subid("15_1272455259.05437") :outer("14_1272455259.05437")
.param pmc param_51
.annotate "line", 18
.lex "$_", param_51
@@ -16311,12 +16311,12 @@
.namespace ["NQP";"Actions"]
-.sub "vivitype" :subid("16_1271948680.36754") :outer("11_1271948680.36754")
+.sub "vivitype" :subid("16_1272455259.05437") :outer("11_1272455259.05437")
.param pmc param_64
.annotate "line", 24
new $P63, 'ExceptionHandler'
set_addr $P63, control_62
- $P63."handle_types"(58)
+ $P63."handle_types"(57)
push_eh $P63
.lex "$sigil", param_64
.annotate "line", 25
@@ -16359,12 +16359,12 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair_str" :subid("17_1271948680.36754") :outer("11_1271948680.36754")
+.sub "colonpair_str" :subid("17_1272455259.05437") :outer("11_1272455259.05437")
.param pmc param_84
.annotate "line", 43
new $P83, 'ExceptionHandler'
set_addr $P83, control_82
- $P83."handle_types"(58)
+ $P83."handle_types"(57)
push_eh $P83
.lex "$ast", param_84
.annotate "line", 44
@@ -16397,13 +16397,13 @@
.namespace ["NQP";"Actions"]
-.sub "push_block_handler" :subid("18_1271948680.36754") :outer("11_1271948680.36754")
+.sub "push_block_handler" :subid("18_1272455259.05437") :outer("11_1272455259.05437")
.param pmc param_99
.param pmc param_100
.annotate "line", 190
new $P98, 'ExceptionHandler'
set_addr $P98, control_97
- $P98."handle_types"(58)
+ $P98."handle_types"(57)
push_eh $P98
.lex "$/", param_99
.lex "$block", param_100
@@ -16514,12 +16514,12 @@
.namespace ["NQP";"Actions"]
-.sub "TOP" :subid("19_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "TOP" :subid("19_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_153
.annotate "line", 33
new $P152, 'ExceptionHandler'
set_addr $P152, control_151
- $P152."handle_types"(58)
+ $P152."handle_types"(57)
push_eh $P152
.lex "self", self
.lex "$/", param_153
@@ -16544,12 +16544,12 @@
.namespace ["NQP";"Actions"]
-.sub "deflongname" :subid("20_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "deflongname" :subid("20_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_163
.annotate "line", 35
new $P162, 'ExceptionHandler'
set_addr $P162, control_161
- $P162."handle_types"(58)
+ $P162."handle_types"(57)
push_eh $P162
.lex "self", self
.lex "$/", param_163
@@ -16633,12 +16633,12 @@
.namespace ["NQP";"Actions"]
-.sub "comp_unit" :subid("21_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "comp_unit" :subid("21_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_196
.annotate "line", 49
new $P195, 'ExceptionHandler'
set_addr $P195, control_194
- $P195."handle_types"(58)
+ $P195."handle_types"(57)
push_eh $P195
.lex "self", self
.lex "$/", param_196
@@ -16686,14 +16686,14 @@
.namespace ["NQP";"Actions"]
-.sub "statementlist" :subid("22_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statementlist" :subid("22_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_215
.annotate "line", 57
- .const 'Sub' $P229 = "23_1271948680.36754"
+ .const 'Sub' $P229 = "23_1272455259.05437"
capture_lex $P229
new $P214, 'ExceptionHandler'
set_addr $P214, control_213
- $P214."handle_types"(58)
+ $P214."handle_types"(57)
push_eh $P214
.lex "self", self
.lex "$/", param_215
@@ -16728,13 +16728,13 @@
iter $P223, $P225
new $P255, 'ExceptionHandler'
set_addr $P255, loop254_handler
- $P255."handle_types"(65, 67, 66)
+ $P255."handle_types"(64, 66, 65)
push_eh $P255
loop254_test:
unless $P223, loop254_done
shift $P227, $P223
loop254_redo:
- .const 'Sub' $P229 = "23_1271948680.36754"
+ .const 'Sub' $P229 = "23_1272455259.05437"
capture_lex $P229
$P229($P227)
loop254_next:
@@ -16743,8 +16743,8 @@
.local pmc exception
.get_results (exception)
getattribute $P256, exception, 'type'
- eq $P256, 65, loop254_next
- eq $P256, 67, loop254_redo
+ eq $P256, 64, loop254_next
+ eq $P256, 66, loop254_redo
loop254_done:
pop_eh
for_undef_159:
@@ -16764,7 +16764,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block228" :anon :subid("23_1271948680.36754") :outer("22_1271948680.36754")
+.sub "_block228" :anon :subid("23_1272455259.05437") :outer("22_1272455259.05437")
.param pmc param_231
.annotate "line", 61
new $P230, "Undef"
@@ -16824,16 +16824,16 @@
.namespace ["NQP";"Actions"]
-.sub "statement" :subid("24_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement" :subid("24_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_264
.param pmc param_265 :optional
.param int has_param_265 :opt_flag
.annotate "line", 72
- .const 'Sub' $P273 = "25_1271948680.36754"
+ .const 'Sub' $P273 = "25_1272455259.05437"
capture_lex $P273
new $P263, 'ExceptionHandler'
set_addr $P263, control_262
- $P263."handle_types"(58)
+ $P263."handle_types"(57)
push_eh $P263
.lex "self", self
.lex "$/", param_264
@@ -16888,7 +16888,7 @@
goto if_269_end
if_269:
.annotate "line", 74
- .const 'Sub' $P273 = "25_1271948680.36754"
+ .const 'Sub' $P273 = "25_1272455259.05437"
capture_lex $P273
$P273()
if_269_end:
@@ -16907,7 +16907,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block272" :anon :subid("25_1271948680.36754") :outer("24_1271948680.36754")
+.sub "_block272" :anon :subid("25_1272455259.05437") :outer("24_1272455259.05437")
.annotate "line", 75
new $P274, "Undef"
.lex "$mc", $P274
@@ -17020,12 +17020,12 @@
.namespace ["NQP";"Actions"]
-.sub "xblock" :subid("26_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "xblock" :subid("26_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_324
.annotate "line", 90
new $P323, 'ExceptionHandler'
set_addr $P323, control_322
- $P323."handle_types"(58)
+ $P323."handle_types"(57)
push_eh $P323
.lex "self", self
.lex "$/", param_324
@@ -17064,12 +17064,12 @@
.namespace ["NQP";"Actions"]
-.sub "pblock" :subid("27_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "pblock" :subid("27_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_340
.annotate "line", 94
new $P339, 'ExceptionHandler'
set_addr $P339, control_338
- $P339."handle_types"(58)
+ $P339."handle_types"(57)
push_eh $P339
.lex "self", self
.lex "$/", param_340
@@ -17096,12 +17096,12 @@
.namespace ["NQP";"Actions"]
-.sub "block" :subid("28_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "block" :subid("28_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_350
.annotate "line", 98
new $P349, 'ExceptionHandler'
set_addr $P349, control_348
- $P349."handle_types"(58)
+ $P349."handle_types"(57)
push_eh $P349
.lex "self", self
.lex "$/", param_350
@@ -17128,12 +17128,12 @@
.namespace ["NQP";"Actions"]
-.sub "blockoid" :subid("29_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "blockoid" :subid("29_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_360
.annotate "line", 102
new $P359, 'ExceptionHandler'
set_addr $P359, control_358
- $P359."handle_types"(58)
+ $P359."handle_types"(57)
push_eh $P359
.lex "self", self
.lex "$/", param_360
@@ -17181,12 +17181,12 @@
.namespace ["NQP";"Actions"]
-.sub "newpad" :subid("30_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "newpad" :subid("30_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_379
.annotate "line", 110
new $P378, 'ExceptionHandler'
set_addr $P378, control_377
- $P378."handle_types"(58)
+ $P378."handle_types"(57)
push_eh $P378
.lex "self", self
.lex "$/", param_379
@@ -17216,14 +17216,14 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>" :subid("31_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<if>" :subid("31_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_392
.annotate "line", 117
- .const 'Sub' $P420 = "32_1271948680.36754"
+ .const 'Sub' $P420 = "32_1272455259.05437"
capture_lex $P420
new $P391, 'ExceptionHandler'
set_addr $P391, control_390
- $P391."handle_types"(58)
+ $P391."handle_types"(57)
push_eh $P391
.lex "self", self
.lex "$/", param_392
@@ -17296,7 +17296,7 @@
.annotate "line", 124
new $P436, 'ExceptionHandler'
set_addr $P436, loop435_handler
- $P436."handle_types"(65, 67, 66)
+ $P436."handle_types"(64, 66, 65)
push_eh $P436
loop435_test:
find_lex $P416, "$count"
@@ -17304,7 +17304,7 @@
isgt $I418, $N417, 0.0
unless $I418, loop435_done
loop435_redo:
- .const 'Sub' $P420 = "32_1271948680.36754"
+ .const 'Sub' $P420 = "32_1272455259.05437"
capture_lex $P420
$P420()
loop435_next:
@@ -17313,8 +17313,8 @@
.local pmc exception
.get_results (exception)
getattribute $P437, exception, 'type'
- eq $P437, 65, loop435_next
- eq $P437, 67, loop435_redo
+ eq $P437, 64, loop435_next
+ eq $P437, 66, loop435_redo
loop435_done:
pop_eh
.annotate "line", 130
@@ -17332,7 +17332,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block419" :anon :subid("32_1271948680.36754") :outer("31_1271948680.36754")
+.sub "_block419" :anon :subid("32_1272455259.05437") :outer("31_1272455259.05437")
.annotate "line", 126
new $P421, "Undef"
.lex "$else", $P421
@@ -17371,12 +17371,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>" :subid("33_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<unless>" :subid("33_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_445
.annotate "line", 133
new $P444, 'ExceptionHandler'
set_addr $P444, control_443
- $P444."handle_types"(58)
+ $P444."handle_types"(57)
push_eh $P444
.lex "self", self
.lex "$/", param_445
@@ -17412,12 +17412,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>" :subid("34_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<while>" :subid("34_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_459
.annotate "line", 139
new $P458, 'ExceptionHandler'
set_addr $P458, control_457
- $P458."handle_types"(58)
+ $P458."handle_types"(57)
push_eh $P458
.lex "self", self
.lex "$/", param_459
@@ -17462,12 +17462,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>" :subid("35_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<repeat>" :subid("35_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_476
.annotate "line", 145
new $P475, 'ExceptionHandler'
set_addr $P475, control_474
- $P475."handle_types"(58)
+ $P475."handle_types"(57)
push_eh $P475
.lex "self", self
.lex "$/", param_476
@@ -17562,12 +17562,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>" :subid("36_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<for>" :subid("36_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_512
.annotate "line", 159
new $P511, 'ExceptionHandler'
set_addr $P511, control_510
- $P511."handle_types"(58)
+ $P511."handle_types"(57)
push_eh $P511
.lex "self", self
.lex "$/", param_512
@@ -17642,12 +17642,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>" :subid("37_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<return>" :subid("37_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_538
.annotate "line", 172
new $P537, 'ExceptionHandler'
set_addr $P537, control_536
- $P537."handle_types"(58)
+ $P537."handle_types"(57)
push_eh $P537
.lex "self", self
.lex "$/", param_538
@@ -17677,12 +17677,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>" :subid("38_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<CATCH>" :subid("38_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_551
.annotate "line", 176
new $P550, 'ExceptionHandler'
set_addr $P550, control_549
- $P550."handle_types"(58)
+ $P550."handle_types"(57)
push_eh $P550
.lex "self", self
.lex "$/", param_551
@@ -17735,12 +17735,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>" :subid("39_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_control:sym<CONTROL>" :subid("39_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_571
.annotate "line", 183
new $P570, 'ExceptionHandler'
set_addr $P570, control_569
- $P570."handle_types"(58)
+ $P570."handle_types"(57)
push_eh $P570
.lex "self", self
.lex "$/", param_571
@@ -17793,12 +17793,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>" :subid("40_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_prefix:sym<INIT>" :subid("40_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_592
.annotate "line", 227
new $P591, 'ExceptionHandler'
set_addr $P591, control_590
- $P591."handle_types"(58)
+ $P591."handle_types"(57)
push_eh $P591
.lex "self", self
.lex "$/", param_592
@@ -17839,12 +17839,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>" :subid("41_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_prefix:sym<try>" :subid("41_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_608
.annotate "line", 232
new $P607, 'ExceptionHandler'
set_addr $P607, control_606
- $P607."handle_types"(58)
+ $P607."handle_types"(57)
push_eh $P607
.lex "self", self
.lex "$/", param_608
@@ -17916,12 +17916,12 @@
.namespace ["NQP";"Actions"]
-.sub "blorst" :subid("42_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "blorst" :subid("42_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_643
.annotate "line", 255
new $P642, 'ExceptionHandler'
set_addr $P642, control_641
- $P642."handle_types"(58)
+ $P642."handle_types"(57)
push_eh $P642
.lex "self", self
.lex "$/", param_643
@@ -17975,12 +17975,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>" :subid("43_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_mod_cond:sym<if>" :subid("43_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_661
.annotate "line", 263
new $P660, 'ExceptionHandler'
set_addr $P660, control_659
- $P660."handle_types"(58)
+ $P660."handle_types"(57)
push_eh $P660
.lex "self", self
.lex "$/", param_661
@@ -18005,12 +18005,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>" :subid("44_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_mod_cond:sym<unless>" :subid("44_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_671
.annotate "line", 264
new $P670, 'ExceptionHandler'
set_addr $P670, control_669
- $P670."handle_types"(58)
+ $P670."handle_types"(57)
push_eh $P670
.lex "self", self
.lex "$/", param_671
@@ -18035,12 +18035,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>" :subid("45_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_mod_loop:sym<while>" :subid("45_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_681
.annotate "line", 266
new $P680, 'ExceptionHandler'
set_addr $P680, control_679
- $P680."handle_types"(58)
+ $P680."handle_types"(57)
push_eh $P680
.lex "self", self
.lex "$/", param_681
@@ -18065,12 +18065,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>" :subid("46_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "statement_mod_loop:sym<until>" :subid("46_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_691
.annotate "line", 267
new $P690, 'ExceptionHandler'
set_addr $P690, control_689
- $P690."handle_types"(58)
+ $P690."handle_types"(57)
push_eh $P690
.lex "self", self
.lex "$/", param_691
@@ -18095,12 +18095,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>" :subid("47_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<fatarrow>" :subid("47_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_701
.annotate "line", 271
new $P700, 'ExceptionHandler'
set_addr $P700, control_699
- $P700."handle_types"(58)
+ $P700."handle_types"(57)
push_eh $P700
.lex "self", self
.lex "$/", param_701
@@ -18125,12 +18125,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>" :subid("48_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<colonpair>" :subid("48_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_711
.annotate "line", 272
new $P710, 'ExceptionHandler'
set_addr $P710, control_709
- $P710."handle_types"(58)
+ $P710."handle_types"(57)
push_eh $P710
.lex "self", self
.lex "$/", param_711
@@ -18155,12 +18155,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<variable>" :subid("49_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<variable>" :subid("49_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_721
.annotate "line", 273
new $P720, 'ExceptionHandler'
set_addr $P720, control_719
- $P720."handle_types"(58)
+ $P720."handle_types"(57)
push_eh $P720
.lex "self", self
.lex "$/", param_721
@@ -18185,12 +18185,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>" :subid("50_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<package_declarator>" :subid("50_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_731
.annotate "line", 274
new $P730, 'ExceptionHandler'
set_addr $P730, control_729
- $P730."handle_types"(58)
+ $P730."handle_types"(57)
push_eh $P730
.lex "self", self
.lex "$/", param_731
@@ -18215,12 +18215,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>" :subid("51_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<scope_declarator>" :subid("51_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_741
.annotate "line", 275
new $P740, 'ExceptionHandler'
set_addr $P740, control_739
- $P740."handle_types"(58)
+ $P740."handle_types"(57)
push_eh $P740
.lex "self", self
.lex "$/", param_741
@@ -18245,12 +18245,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>" :subid("52_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<routine_declarator>" :subid("52_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_751
.annotate "line", 276
new $P750, 'ExceptionHandler'
set_addr $P750, control_749
- $P750."handle_types"(58)
+ $P750."handle_types"(57)
push_eh $P750
.lex "self", self
.lex "$/", param_751
@@ -18275,12 +18275,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>" :subid("53_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<regex_declarator>" :subid("53_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_761
.annotate "line", 277
new $P760, 'ExceptionHandler'
set_addr $P760, control_759
- $P760."handle_types"(58)
+ $P760."handle_types"(57)
push_eh $P760
.lex "self", self
.lex "$/", param_761
@@ -18305,12 +18305,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>" :subid("54_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<statement_prefix>" :subid("54_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_771
.annotate "line", 278
new $P770, 'ExceptionHandler'
set_addr $P770, control_769
- $P770."handle_types"(58)
+ $P770."handle_types"(57)
push_eh $P770
.lex "self", self
.lex "$/", param_771
@@ -18335,12 +18335,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>" :subid("55_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<lambda>" :subid("55_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_781
.annotate "line", 279
new $P780, 'ExceptionHandler'
set_addr $P780, control_779
- $P780."handle_types"(58)
+ $P780."handle_types"(57)
push_eh $P780
.lex "self", self
.lex "$/", param_781
@@ -18365,12 +18365,12 @@
.namespace ["NQP";"Actions"]
-.sub "fatarrow" :subid("56_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "fatarrow" :subid("56_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_791
.annotate "line", 281
new $P790, 'ExceptionHandler'
set_addr $P790, control_789
- $P790."handle_types"(58)
+ $P790."handle_types"(57)
push_eh $P790
.lex "self", self
.lex "$/", param_791
@@ -18414,12 +18414,12 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair" :subid("57_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "colonpair" :subid("57_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_807
.annotate "line", 287
new $P806, 'ExceptionHandler'
set_addr $P806, control_805
- $P806."handle_types"(58)
+ $P806."handle_types"(57)
push_eh $P806
.lex "self", self
.lex "$/", param_807
@@ -18495,14 +18495,14 @@
.namespace ["NQP";"Actions"]
-.sub "variable" :subid("58_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "variable" :subid("58_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_833
.annotate "line", 295
- .const 'Sub' $P846 = "59_1271948680.36754"
+ .const 'Sub' $P846 = "59_1272455259.05437"
capture_lex $P846
new $P832, 'ExceptionHandler'
set_addr $P832, control_831
- $P832."handle_types"(58)
+ $P832."handle_types"(57)
push_eh $P832
.lex "self", self
.lex "$/", param_833
@@ -18522,7 +18522,7 @@
vivify_297:
if $P838, if_836
.annotate "line", 301
- .const 'Sub' $P846 = "59_1271948680.36754"
+ .const 'Sub' $P846 = "59_1272455259.05437"
capture_lex $P846
$P846()
goto if_836_end
@@ -18559,7 +18559,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block845" :anon :subid("59_1271948680.36754") :outer("58_1271948680.36754")
+.sub "_block845" :anon :subid("59_1272455259.05437") :outer("58_1272455259.05437")
.annotate "line", 302
$P847 = root_new ['parrot';'ResizablePMCArray']
.lex "@name", $P847
@@ -18728,12 +18728,12 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>" :subid("60_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "package_declarator:sym<module>" :subid("60_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_922
.annotate "line", 333
new $P921, 'ExceptionHandler'
set_addr $P921, control_920
- $P921."handle_types"(58)
+ $P921."handle_types"(57)
push_eh $P921
.lex "self", self
.lex "$/", param_922
@@ -18758,12 +18758,12 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>" :subid("61_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "package_declarator:sym<class>" :subid("61_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_932
.annotate "line", 334
new $P931, 'ExceptionHandler'
set_addr $P931, control_930
- $P931."handle_types"(58)
+ $P931."handle_types"(57)
push_eh $P931
.lex "self", self
.lex "$/", param_932
@@ -18915,12 +18915,12 @@
.namespace ["NQP";"Actions"]
-.sub "package_def" :subid("62_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "package_def" :subid("62_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_985
.annotate "line", 357
new $P984, 'ExceptionHandler'
set_addr $P984, control_983
- $P984."handle_types"(58)
+ $P984."handle_types"(57)
push_eh $P984
.lex "self", self
.lex "$/", param_985
@@ -18993,12 +18993,12 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>" :subid("63_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "scope_declarator:sym<my>" :subid("63_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1009
.annotate "line", 364
new $P1008, 'ExceptionHandler'
set_addr $P1008, control_1007
- $P1008."handle_types"(58)
+ $P1008."handle_types"(57)
push_eh $P1008
.lex "self", self
.lex "$/", param_1009
@@ -19023,12 +19023,12 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>" :subid("64_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "scope_declarator:sym<our>" :subid("64_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1019
.annotate "line", 365
new $P1018, 'ExceptionHandler'
set_addr $P1018, control_1017
- $P1018."handle_types"(58)
+ $P1018."handle_types"(57)
push_eh $P1018
.lex "self", self
.lex "$/", param_1019
@@ -19053,12 +19053,12 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>" :subid("65_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "scope_declarator:sym<has>" :subid("65_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1029
.annotate "line", 366
new $P1028, 'ExceptionHandler'
set_addr $P1028, control_1027
- $P1028."handle_types"(58)
+ $P1028."handle_types"(57)
push_eh $P1028
.lex "self", self
.lex "$/", param_1029
@@ -19083,12 +19083,12 @@
.namespace ["NQP";"Actions"]
-.sub "scoped" :subid("66_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "scoped" :subid("66_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1039
.annotate "line", 368
new $P1038, 'ExceptionHandler'
set_addr $P1038, control_1037
- $P1038."handle_types"(58)
+ $P1038."handle_types"(57)
push_eh $P1038
.lex "self", self
.lex "$/", param_1039
@@ -19141,14 +19141,14 @@
.namespace ["NQP";"Actions"]
-.sub "variable_declarator" :subid("67_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "variable_declarator" :subid("67_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1056
.annotate "line", 374
- .const 'Sub' $P1096 = "68_1271948680.36754"
+ .const 'Sub' $P1096 = "68_1272455259.05437"
capture_lex $P1096
new $P1055, 'ExceptionHandler'
set_addr $P1055, control_1054
- $P1055."handle_types"(58)
+ $P1055."handle_types"(57)
push_eh $P1055
.lex "self", self
.lex "$/", param_1056
@@ -19226,7 +19226,7 @@
iseq $I1081, $S1080, "has"
if $I1081, if_1078
.annotate "line", 391
- .const 'Sub' $P1096 = "68_1271948680.36754"
+ .const 'Sub' $P1096 = "68_1272455259.05437"
capture_lex $P1096
$P1096()
goto if_1078_end
@@ -19286,7 +19286,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1095" :anon :subid("68_1271948680.36754") :outer("67_1271948680.36754")
+.sub "_block1095" :anon :subid("68_1272455259.05437") :outer("67_1272455259.05437")
.annotate "line", 392
new $P1097, "Undef"
.lex "$scope", $P1097
@@ -19347,12 +19347,12 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>" :subid("69_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "routine_declarator:sym<sub>" :subid("69_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1127
.annotate "line", 402
new $P1126, 'ExceptionHandler'
set_addr $P1126, control_1125
- $P1126."handle_types"(58)
+ $P1126."handle_types"(57)
push_eh $P1126
.lex "self", self
.lex "$/", param_1127
@@ -19377,12 +19377,12 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>" :subid("70_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "routine_declarator:sym<method>" :subid("70_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1137
.annotate "line", 403
new $P1136, 'ExceptionHandler'
set_addr $P1136, control_1135
- $P1136."handle_types"(58)
+ $P1136."handle_types"(57)
push_eh $P1136
.lex "self", self
.lex "$/", param_1137
@@ -19407,14 +19407,14 @@
.namespace ["NQP";"Actions"]
-.sub "routine_def" :subid("71_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "routine_def" :subid("71_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1147
.annotate "line", 405
- .const 'Sub' $P1158 = "72_1271948680.36754"
+ .const 'Sub' $P1158 = "72_1272455259.05437"
capture_lex $P1158
new $P1146, 'ExceptionHandler'
set_addr $P1146, control_1145
- $P1146."handle_types"(58)
+ $P1146."handle_types"(57)
push_eh $P1146
.lex "self", self
.lex "$/", param_1147
@@ -19447,7 +19447,7 @@
new $P1156, "Undef"
vivify_381:
unless $P1156, if_1154_end
- .const 'Sub' $P1158 = "72_1271948680.36754"
+ .const 'Sub' $P1158 = "72_1272455259.05437"
capture_lex $P1158
$P1158()
if_1154_end:
@@ -19466,7 +19466,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1157" :anon :subid("72_1271948680.36754") :outer("71_1271948680.36754")
+.sub "_block1157" :anon :subid("72_1272455259.05437") :outer("71_1272455259.05437")
.annotate "line", 410
new $P1159, "Undef"
.lex "$name", $P1159
@@ -19562,14 +19562,14 @@
.namespace ["NQP";"Actions"]
-.sub "method_def" :subid("73_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "method_def" :subid("73_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1197
.annotate "line", 423
- .const 'Sub' $P1213 = "74_1271948680.36754"
+ .const 'Sub' $P1213 = "74_1272455259.05437"
capture_lex $P1213
new $P1196, 'ExceptionHandler'
set_addr $P1196, control_1195
- $P1196."handle_types"(58)
+ $P1196."handle_types"(57)
push_eh $P1196
.lex "self", self
.lex "$/", param_1197
@@ -19617,7 +19617,7 @@
new $P1211, "Undef"
vivify_400:
unless $P1211, if_1209_end
- .const 'Sub' $P1213 = "74_1271948680.36754"
+ .const 'Sub' $P1213 = "74_1272455259.05437"
capture_lex $P1213
$P1213()
if_1209_end:
@@ -19636,7 +19636,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1212" :anon :subid("74_1271948680.36754") :outer("73_1271948680.36754")
+.sub "_block1212" :anon :subid("74_1272455259.05437") :outer("73_1272455259.05437")
.annotate "line", 430
new $P1214, "Undef"
.lex "$name", $P1214
@@ -19667,14 +19667,14 @@
.namespace ["NQP";"Actions"]
-.sub "signature" :subid("75_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "signature" :subid("75_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1231
.annotate "line", 437
- .const 'Sub' $P1242 = "76_1271948680.36754"
+ .const 'Sub' $P1242 = "76_1272455259.05437"
capture_lex $P1242
new $P1230, 'ExceptionHandler'
set_addr $P1230, control_1229
- $P1230."handle_types"(58)
+ $P1230."handle_types"(57)
push_eh $P1230
.lex "self", self
.lex "$/", param_1231
@@ -19708,13 +19708,13 @@
iter $P1236, $P1238
new $P1249, 'ExceptionHandler'
set_addr $P1249, loop1248_handler
- $P1249."handle_types"(65, 67, 66)
+ $P1249."handle_types"(64, 66, 65)
push_eh $P1249
loop1248_test:
unless $P1236, loop1248_done
shift $P1240, $P1236
loop1248_redo:
- .const 'Sub' $P1242 = "76_1271948680.36754"
+ .const 'Sub' $P1242 = "76_1272455259.05437"
capture_lex $P1242
$P1242($P1240)
loop1248_next:
@@ -19723,8 +19723,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1250, exception, 'type'
- eq $P1250, 65, loop1248_next
- eq $P1250, 67, loop1248_redo
+ eq $P1250, 64, loop1248_next
+ eq $P1250, 66, loop1248_redo
loop1248_done:
pop_eh
for_undef_409:
@@ -19739,7 +19739,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1241" :anon :subid("76_1271948680.36754") :outer("75_1271948680.36754")
+.sub "_block1241" :anon :subid("76_1272455259.05437") :outer("75_1272455259.05437")
.param pmc param_1243
.annotate "line", 439
.lex "$_", param_1243
@@ -19752,12 +19752,12 @@
.namespace ["NQP";"Actions"]
-.sub "parameter" :subid("77_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "parameter" :subid("77_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1255
.annotate "line", 442
new $P1254, 'ExceptionHandler'
set_addr $P1254, control_1253
- $P1254."handle_types"(58)
+ $P1254."handle_types"(57)
push_eh $P1254
.lex "self", self
.lex "$/", param_1255
@@ -19984,12 +19984,12 @@
.namespace ["NQP";"Actions"]
-.sub "param_var" :subid("78_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "param_var" :subid("78_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1339
.annotate "line", 474
new $P1338, 'ExceptionHandler'
set_addr $P1338, control_1337
- $P1338."handle_types"(58)
+ $P1338."handle_types"(57)
push_eh $P1338
.lex "self", self
.lex "$/", param_1339
@@ -20037,12 +20037,12 @@
.namespace ["NQP";"Actions"]
-.sub "named_param" :subid("79_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "named_param" :subid("79_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1359
.annotate "line", 482
new $P1358, 'ExceptionHandler'
set_addr $P1358, control_1357
- $P1358."handle_types"(58)
+ $P1358."handle_types"(57)
push_eh $P1358
.lex "self", self
.lex "$/", param_1359
@@ -20090,18 +20090,18 @@
.namespace ["NQP";"Actions"]
-.sub "regex_declarator" :subid("80_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "regex_declarator" :subid("80_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1376
.param pmc param_1377 :optional
.param int has_param_1377 :opt_flag
.annotate "line", 488
- .const 'Sub' $P1447 = "82_1271948680.36754"
+ .const 'Sub' $P1447 = "82_1272455259.05437"
capture_lex $P1447
- .const 'Sub' $P1419 = "81_1271948680.36754"
+ .const 'Sub' $P1419 = "81_1272455259.05437"
capture_lex $P1419
new $P1375, 'ExceptionHandler'
set_addr $P1375, control_1374
- $P1375."handle_types"(58)
+ $P1375."handle_types"(57)
push_eh $P1375
.lex "self", self
.lex "$/", param_1376
@@ -20155,13 +20155,13 @@
iseq $I1417, $S1416, "open"
if $I1417, if_1414
.annotate "line", 534
- .const 'Sub' $P1447 = "82_1271948680.36754"
+ .const 'Sub' $P1447 = "82_1272455259.05437"
capture_lex $P1447
$P1447()
goto if_1414_end
if_1414:
.annotate "line", 521
- .const 'Sub' $P1419 = "81_1271948680.36754"
+ .const 'Sub' $P1419 = "81_1272455259.05437"
capture_lex $P1419
$P1419()
if_1414_end:
@@ -20218,7 +20218,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1446" :anon :subid("82_1271948680.36754") :outer("80_1271948680.36754")
+.sub "_block1446" :anon :subid("82_1272455259.05437") :outer("80_1272455259.05437")
.annotate "line", 535
new $P1448, "Undef"
.lex "$regex", $P1448
@@ -20269,7 +20269,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1418" :anon :subid("81_1271948680.36754") :outer("80_1271948680.36754")
+.sub "_block1418" :anon :subid("81_1272455259.05437") :outer("80_1272455259.05437")
.annotate "line", 522
$P1420 = root_new ['parrot';'Hash']
.lex "%h", $P1420
@@ -20356,7 +20356,7 @@
$P1443."symbol"("$/", "lexical" :named("scope"))
.annotate "line", 532
new $P1444, "Exception"
- set $P1444['type'], 58
+ set $P1444['type'], 57
new $P1445, "Integer"
assign $P1445, 0
setattribute $P1444, 'payload', $P1445
@@ -20367,12 +20367,12 @@
.namespace ["NQP";"Actions"]
-.sub "dotty" :subid("83_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "dotty" :subid("83_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1475
.annotate "line", 552
new $P1474, 'ExceptionHandler'
set_addr $P1474, control_1473
- $P1474."handle_types"(58)
+ $P1474."handle_types"(57)
push_eh $P1474
.lex "self", self
.lex "$/", param_1475
@@ -20464,12 +20464,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<self>" :subid("84_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<self>" :subid("84_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1507
.annotate "line", 561
new $P1506, 'ExceptionHandler'
set_addr $P1506, control_1505
- $P1506."handle_types"(58)
+ $P1506."handle_types"(57)
push_eh $P1506
.lex "self", self
.lex "$/", param_1507
@@ -20489,12 +20489,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>" :subid("85_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<identifier>" :subid("85_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1516
.annotate "line", 565
new $P1515, 'ExceptionHandler'
set_addr $P1515, control_1514
- $P1515."handle_types"(58)
+ $P1515."handle_types"(57)
push_eh $P1515
.lex "self", self
.lex "$/", param_1516
@@ -20538,12 +20538,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<name>" :subid("86_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<name>" :subid("86_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1532
.annotate "line", 571
new $P1531, 'ExceptionHandler'
set_addr $P1531, control_1530
- $P1531."handle_types"(58)
+ $P1531."handle_types"(57)
push_eh $P1531
.lex "self", self
.lex "$/", param_1532
@@ -20656,12 +20656,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>" :subid("87_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<pir::op>" :subid("87_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1574
.annotate "line", 585
new $P1573, 'ExceptionHandler'
set_addr $P1573, control_1572
- $P1573."handle_types"(58)
+ $P1573."handle_types"(57)
push_eh $P1573
.lex "self", self
.lex "$/", param_1574
@@ -20747,12 +20747,12 @@
.namespace ["NQP";"Actions"]
-.sub "args" :subid("88_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "args" :subid("88_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1603
.annotate "line", 600
new $P1602, 'ExceptionHandler'
set_addr $P1602, control_1601
- $P1602."handle_types"(58)
+ $P1602."handle_types"(57)
push_eh $P1602
.lex "self", self
.lex "$/", param_1603
@@ -20777,14 +20777,14 @@
.namespace ["NQP";"Actions"]
-.sub "arglist" :subid("89_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "arglist" :subid("89_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1613
.annotate "line", 602
- .const 'Sub' $P1624 = "90_1271948680.36754"
+ .const 'Sub' $P1624 = "90_1272455259.05437"
capture_lex $P1624
new $P1612, 'ExceptionHandler'
set_addr $P1612, control_1611
- $P1612."handle_types"(58)
+ $P1612."handle_types"(57)
push_eh $P1612
.lex "self", self
.lex "$/", param_1613
@@ -20812,7 +20812,7 @@
new $P1622, "Undef"
vivify_499:
unless $P1622, if_1620_end
- .const 'Sub' $P1624 = "90_1271948680.36754"
+ .const 'Sub' $P1624 = "90_1272455259.05437"
capture_lex $P1624
$P1624()
if_1620_end:
@@ -20830,7 +20830,7 @@
.annotate "line", 613
new $P1688, 'ExceptionHandler'
set_addr $P1688, loop1687_handler
- $P1688."handle_types"(65, 67, 66)
+ $P1688."handle_types"(64, 66, 65)
push_eh $P1688
loop1687_test:
find_lex $P1661, "$i"
@@ -20901,8 +20901,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1689, exception, 'type'
- eq $P1689, 65, loop1687_next
- eq $P1689, 67, loop1687_redo
+ eq $P1689, 64, loop1687_next
+ eq $P1689, 66, loop1687_redo
loop1687_done:
pop_eh
.annotate "line", 620
@@ -20920,9 +20920,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block1623" :anon :subid("90_1271948680.36754") :outer("89_1271948680.36754")
+.sub "_block1623" :anon :subid("90_1272455259.05437") :outer("89_1272455259.05437")
.annotate "line", 604
- .const 'Sub' $P1645 = "91_1271948680.36754"
+ .const 'Sub' $P1645 = "91_1272455259.05437"
capture_lex $P1645
.annotate "line", 605
new $P1625, "Undef"
@@ -20969,13 +20969,13 @@
iter $P1639, $P1641
new $P1651, 'ExceptionHandler'
set_addr $P1651, loop1650_handler
- $P1651."handle_types"(65, 67, 66)
+ $P1651."handle_types"(64, 66, 65)
push_eh $P1651
loop1650_test:
unless $P1639, loop1650_done
shift $P1643, $P1639
loop1650_redo:
- .const 'Sub' $P1645 = "91_1271948680.36754"
+ .const 'Sub' $P1645 = "91_1272455259.05437"
capture_lex $P1645
$P1645($P1643)
loop1650_next:
@@ -20984,8 +20984,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1652, exception, 'type'
- eq $P1652, 65, loop1650_next
- eq $P1652, 67, loop1650_redo
+ eq $P1652, 64, loop1650_next
+ eq $P1652, 66, loop1650_redo
loop1650_done:
pop_eh
for_undef_502:
@@ -20998,7 +20998,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1644" :anon :subid("91_1271948680.36754") :outer("90_1271948680.36754")
+.sub "_block1644" :anon :subid("91_1272455259.05437") :outer("90_1272455259.05437")
.param pmc param_1646
.annotate "line", 607
.lex "$_", param_1646
@@ -21010,12 +21010,12 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<value>" :subid("92_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "term:sym<value>" :subid("92_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1697
.annotate "line", 624
new $P1696, 'ExceptionHandler'
set_addr $P1696, control_1695
- $P1696."handle_types"(58)
+ $P1696."handle_types"(57)
push_eh $P1696
.lex "self", self
.lex "$/", param_1697
@@ -21040,12 +21040,12 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>" :subid("93_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "circumfix:sym<( )>" :subid("93_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1707
.annotate "line", 626
new $P1706, 'ExceptionHandler'
set_addr $P1706, control_1705
- $P1706."handle_types"(58)
+ $P1706."handle_types"(57)
push_eh $P1706
.lex "self", self
.lex "$/", param_1707
@@ -21096,12 +21096,12 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>" :subid("94_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "circumfix:sym<[ ]>" :subid("94_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1725
.annotate "line", 632
new $P1724, 'ExceptionHandler'
set_addr $P1724, control_1723
- $P1724."handle_types"(58)
+ $P1724."handle_types"(57)
push_eh $P1724
.lex "self", self
.lex "$/", param_1725
@@ -21172,12 +21172,12 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>" :subid("95_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "circumfix:sym<ang>" :subid("95_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1752
.annotate "line", 647
new $P1751, 'ExceptionHandler'
set_addr $P1751, control_1750
- $P1751."handle_types"(58)
+ $P1751."handle_types"(57)
push_eh $P1751
.lex "self", self
.lex "$/", param_1752
@@ -21202,12 +21202,12 @@
.namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1762
.annotate "line", 648
new $P1761, 'ExceptionHandler'
set_addr $P1761, control_1760
- $P1761."handle_types"(58)
+ $P1761."handle_types"(57)
push_eh $P1761
.lex "self", self
.lex "$/", param_1762
@@ -21232,12 +21232,12 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>" :subid("97_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "circumfix:sym<{ }>" :subid("97_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1772
.annotate "line", 650
new $P1771, 'ExceptionHandler'
set_addr $P1771, control_1770
- $P1771."handle_types"(58)
+ $P1771."handle_types"(57)
push_eh $P1771
.lex "self", self
.lex "$/", param_1772
@@ -21296,12 +21296,12 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>" :subid("98_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "circumfix:sym<sigil>" :subid("98_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1792
.annotate "line", 656
new $P1791, 'ExceptionHandler'
set_addr $P1791, control_1790
- $P1791."handle_types"(58)
+ $P1791."handle_types"(57)
push_eh $P1791
.lex "self", self
.lex "$/", param_1792
@@ -21375,12 +21375,12 @@
.namespace ["NQP";"Actions"]
-.sub "semilist" :subid("99_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "semilist" :subid("99_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1821
.annotate "line", 663
new $P1820, 'ExceptionHandler'
set_addr $P1820, control_1819
- $P1820."handle_types"(58)
+ $P1820."handle_types"(57)
push_eh $P1820
.lex "self", self
.lex "$/", param_1821
@@ -21405,12 +21405,12 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>" :subid("100_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postcircumfix:sym<[ ]>" :subid("100_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1831
.annotate "line", 665
new $P1830, 'ExceptionHandler'
set_addr $P1830, control_1829
- $P1830."handle_types"(58)
+ $P1830."handle_types"(57)
push_eh $P1830
.lex "self", self
.lex "$/", param_1831
@@ -21442,12 +21442,12 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>" :subid("101_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postcircumfix:sym<{ }>" :subid("101_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1844
.annotate "line", 671
new $P1843, 'ExceptionHandler'
set_addr $P1843, control_1842
- $P1843."handle_types"(58)
+ $P1843."handle_types"(57)
push_eh $P1843
.lex "self", self
.lex "$/", param_1844
@@ -21479,12 +21479,12 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>" :subid("102_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postcircumfix:sym<ang>" :subid("102_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1857
.annotate "line", 677
new $P1856, 'ExceptionHandler'
set_addr $P1856, control_1855
- $P1856."handle_types"(58)
+ $P1856."handle_types"(57)
push_eh $P1856
.lex "self", self
.lex "$/", param_1857
@@ -21516,12 +21516,12 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>" :subid("103_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postcircumfix:sym<( )>" :subid("103_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1870
.annotate "line", 683
new $P1869, 'ExceptionHandler'
set_addr $P1869, control_1868
- $P1869."handle_types"(58)
+ $P1869."handle_types"(57)
push_eh $P1869
.lex "self", self
.lex "$/", param_1870
@@ -21548,12 +21548,12 @@
.namespace ["NQP";"Actions"]
-.sub "value" :subid("104_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "value" :subid("104_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1880
.annotate "line", 687
new $P1879, 'ExceptionHandler'
set_addr $P1879, control_1878
- $P1879."handle_types"(58)
+ $P1879."handle_types"(57)
push_eh $P1879
.lex "self", self
.lex "$/", param_1880
@@ -21603,12 +21603,12 @@
.namespace ["NQP";"Actions"]
-.sub "number" :subid("105_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "number" :subid("105_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1897
.annotate "line", 691
new $P1896, 'ExceptionHandler'
set_addr $P1896, control_1895
- $P1896."handle_types"(58)
+ $P1896."handle_types"(57)
push_eh $P1896
.lex "self", self
.lex "$/", param_1897
@@ -21681,12 +21681,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>" :subid("106_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<apos>" :subid("106_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1925
.annotate "line", 697
new $P1924, 'ExceptionHandler'
set_addr $P1924, control_1923
- $P1924."handle_types"(58)
+ $P1924."handle_types"(57)
push_eh $P1924
.lex "self", self
.lex "$/", param_1925
@@ -21711,12 +21711,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>" :subid("107_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<dblq>" :subid("107_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1935
.annotate "line", 698
new $P1934, 'ExceptionHandler'
set_addr $P1934, control_1933
- $P1934."handle_types"(58)
+ $P1934."handle_types"(57)
push_eh $P1934
.lex "self", self
.lex "$/", param_1935
@@ -21741,12 +21741,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>" :subid("108_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<qq>" :subid("108_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1945
.annotate "line", 699
new $P1944, 'ExceptionHandler'
set_addr $P1944, control_1943
- $P1944."handle_types"(58)
+ $P1944."handle_types"(57)
push_eh $P1944
.lex "self", self
.lex "$/", param_1945
@@ -21771,12 +21771,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<q>" :subid("109_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<q>" :subid("109_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1955
.annotate "line", 700
new $P1954, 'ExceptionHandler'
set_addr $P1954, control_1953
- $P1954."handle_types"(58)
+ $P1954."handle_types"(57)
push_eh $P1954
.lex "self", self
.lex "$/", param_1955
@@ -21801,12 +21801,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>" :subid("110_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<Q>" :subid("110_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1965
.annotate "line", 701
new $P1964, 'ExceptionHandler'
set_addr $P1964, control_1963
- $P1964."handle_types"(58)
+ $P1964."handle_types"(57)
push_eh $P1964
.lex "self", self
.lex "$/", param_1965
@@ -21831,12 +21831,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>" :subid("111_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym<Q:PIR>" :subid("111_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1975
.annotate "line", 702
new $P1974, 'ExceptionHandler'
set_addr $P1974, control_1973
- $P1974."handle_types"(58)
+ $P1974."handle_types"(57)
push_eh $P1974
.lex "self", self
.lex "$/", param_1975
@@ -21867,14 +21867,14 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym</ />" :subid("112_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote:sym</ />" :subid("112_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_1989
.param pmc param_1990 :optional
.param int has_param_1990 :opt_flag
.annotate "line", 708
new $P1988, 'ExceptionHandler'
set_addr $P1988, control_1987
- $P1988."handle_types"(58)
+ $P1988."handle_types"(57)
push_eh $P1988
.lex "self", self
.lex "$/", param_1989
@@ -21921,7 +21921,7 @@
$P2001."symbol"("$/", "lexical" :named("scope"))
.annotate "line", 716
new $P2002, "Exception"
- set $P2002['type'], 58
+ set $P2002['type'], 57
new $P2003, "Integer"
assign $P2003, 0
setattribute $P2002, 'payload', $P2003
@@ -21976,12 +21976,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>" :subid("113_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote_escape:sym<$>" :subid("113_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2026
.annotate "line", 731
new $P2025, 'ExceptionHandler'
set_addr $P2025, control_2024
- $P2025."handle_types"(58)
+ $P2025."handle_types"(57)
push_eh $P2025
.lex "self", self
.lex "$/", param_2026
@@ -22006,12 +22006,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>" :subid("114_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote_escape:sym<{ }>" :subid("114_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2036
.annotate "line", 732
new $P2035, 'ExceptionHandler'
set_addr $P2035, control_2034
- $P2035."handle_types"(58)
+ $P2035."handle_types"(57)
push_eh $P2035
.lex "self", self
.lex "$/", param_2036
@@ -22044,12 +22044,12 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>" :subid("115_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "quote_escape:sym<esc>" :subid("115_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2050
.annotate "line", 737
new $P2049, 'ExceptionHandler'
set_addr $P2049, control_2048
- $P2049."handle_types"(58)
+ $P2049."handle_types"(57)
push_eh $P2049
.lex "self", self
.lex "$/", param_2050
@@ -22065,12 +22065,12 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>" :subid("116_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postfix:sym<.>" :subid("116_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2057
.annotate "line", 741
new $P2056, 'ExceptionHandler'
set_addr $P2056, control_2055
- $P2056."handle_types"(58)
+ $P2056."handle_types"(57)
push_eh $P2056
.lex "self", self
.lex "$/", param_2057
@@ -22095,12 +22095,12 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>" :subid("117_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postfix:sym<++>" :subid("117_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2067
.annotate "line", 743
new $P2066, 'ExceptionHandler'
set_addr $P2066, control_2065
- $P2066."handle_types"(58)
+ $P2066."handle_types"(57)
push_eh $P2066
.lex "self", self
.lex "$/", param_2067
@@ -22125,12 +22125,12 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->" :subid("118_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "postfix:sym<-->" :subid("118_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2077
.annotate "line", 749
new $P2076, 'ExceptionHandler'
set_addr $P2076, control_2075
- $P2076."handle_types"(58)
+ $P2076."handle_types"(57)
push_eh $P2076
.lex "self", self
.lex "$/", param_2077
@@ -22155,12 +22155,12 @@
.namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>" :subid("119_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "prefix:sym<make>" :subid("119_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2087
.annotate "line", 755
new $P2086, 'ExceptionHandler'
set_addr $P2086, control_2085
- $P2086."handle_types"(58)
+ $P2086."handle_types"(57)
push_eh $P2086
.lex "self", self
.lex "$/", param_2087
@@ -22185,12 +22185,12 @@
.namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>" :subid("120_1271948680.36754") :method :outer("11_1271948680.36754")
+.sub "infix:sym<~~>" :subid("120_1272455259.05437") :method :outer("11_1272455259.05437")
.param pmc param_2099
.annotate "line", 764
new $P2098, 'ExceptionHandler'
set_addr $P2098, control_2097
- $P2098."handle_types"(58)
+ $P2098."handle_types"(57)
push_eh $P2098
.lex "self", self
.lex "$/", param_2099
@@ -22211,18 +22211,18 @@
.namespace ["NQP";"RegexActions"]
-.sub "_block2106" :subid("121_1271948680.36754") :outer("11_1271948680.36754")
+.sub "_block2106" :subid("121_1272455259.05437") :outer("11_1272455259.05437")
.annotate "line", 769
- .const 'Sub' $P2142 = "125_1271948680.36754"
+ .const 'Sub' $P2142 = "125_1272455259.05437"
capture_lex $P2142
- .const 'Sub' $P2132 = "124_1271948680.36754"
+ .const 'Sub' $P2132 = "124_1272455259.05437"
capture_lex $P2132
- .const 'Sub' $P2122 = "123_1271948680.36754"
+ .const 'Sub' $P2122 = "123_1272455259.05437"
capture_lex $P2122
- .const 'Sub' $P2108 = "122_1271948680.36754"
+ .const 'Sub' $P2108 = "122_1272455259.05437"
capture_lex $P2108
.annotate "line", 780
- .const 'Sub' $P2142 = "125_1271948680.36754"
+ .const 'Sub' $P2142 = "125_1272455259.05437"
capture_lex $P2142
.annotate "line", 769
.return ($P2142)
@@ -22230,12 +22230,12 @@
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>" :subid("122_1271948680.36754") :method :outer("121_1271948680.36754")
+.sub "metachar:sym<:my>" :subid("122_1272455259.05437") :method :outer("121_1272455259.05437")
.param pmc param_2111
.annotate "line", 771
new $P2110, 'ExceptionHandler'
set_addr $P2110, control_2109
- $P2110."handle_types"(58)
+ $P2110."handle_types"(57)
push_eh $P2110
.lex "self", self
.lex "$/", param_2111
@@ -22269,12 +22269,12 @@
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>" :subid("123_1271948680.36754") :method :outer("121_1271948680.36754")
+.sub "metachar:sym<{ }>" :subid("123_1272455259.05437") :method :outer("121_1272455259.05437")
.param pmc param_2125
.annotate "line", 776
new $P2124, 'ExceptionHandler'
set_addr $P2124, control_2123
- $P2124."handle_types"(58)
+ $P2124."handle_types"(57)
push_eh $P2124
.lex "self", self
.lex "$/", param_2125
@@ -22299,12 +22299,12 @@
.namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>" :subid("124_1271948680.36754") :method :outer("121_1271948680.36754")
+.sub "assertion:sym<{ }>" :subid("124_1272455259.05437") :method :outer("121_1272455259.05437")
.param pmc param_2135
.annotate "line", 778
new $P2134, 'ExceptionHandler'
set_addr $P2134, control_2133
- $P2134."handle_types"(58)
+ $P2134."handle_types"(57)
push_eh $P2134
.lex "self", self
.lex "$/", param_2135
@@ -22329,12 +22329,12 @@
.namespace ["NQP";"RegexActions"]
-.sub "codeblock" :subid("125_1271948680.36754") :method :outer("121_1271948680.36754")
+.sub "codeblock" :subid("125_1272455259.05437") :method :outer("121_1272455259.05437")
.param pmc param_2145
.annotate "line", 780
new $P2144, 'ExceptionHandler'
set_addr $P2144, control_2143
- $P2144."handle_types"(58)
+ $P2144."handle_types"(57)
push_eh $P2144
.lex "self", self
.lex "$/", param_2145
Modified: branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/P6Regex-s0.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/P6Regex-s0.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -16,7 +16,7 @@
### .include 'gen/p6regex-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1271948653.77811")
+.sub "_block11" :anon :subid("10_1272455245.85124")
.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_1271948653.77811")
+.sub "" :load :init :subid("post158") :outer("10_1272455245.85124")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948653.77811"
+ .const 'Sub' $P12 = "10_1272455245.85124"
.local pmc block
set block, $P12
$P580 = get_root_global ["parrot"], "P6metaclass"
@@ -41,140 +41,140 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13" :subid("11_1271948653.77811") :outer("10_1271948653.77811")
+.sub "_block13" :subid("11_1272455245.85124") :outer("10_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P571 = "156_1271948653.77811"
+ .const 'Sub' $P571 = "156_1272455245.85124"
capture_lex $P571
- .const 'Sub' $P563 = "154_1271948653.77811"
+ .const 'Sub' $P563 = "154_1272455245.85124"
capture_lex $P563
- .const 'Sub' $P555 = "152_1271948653.77811"
+ .const 'Sub' $P555 = "152_1272455245.85124"
capture_lex $P555
- .const 'Sub' $P534 = "147_1271948653.77811"
+ .const 'Sub' $P534 = "147_1272455245.85124"
capture_lex $P534
- .const 'Sub' $P499 = "141_1271948653.77811"
+ .const 'Sub' $P499 = "141_1272455245.85124"
capture_lex $P499
- .const 'Sub' $P487 = "138_1271948653.77811"
+ .const 'Sub' $P487 = "138_1272455245.85124"
capture_lex $P487
- .const 'Sub' $P474 = "135_1271948653.77811"
+ .const 'Sub' $P474 = "135_1272455245.85124"
capture_lex $P474
- .const 'Sub' $P468 = "133_1271948653.77811"
+ .const 'Sub' $P468 = "133_1272455245.85124"
capture_lex $P468
- .const 'Sub' $P457 = "130_1271948653.77811"
+ .const 'Sub' $P457 = "130_1272455245.85124"
capture_lex $P457
- .const 'Sub' $P446 = "127_1271948653.77811"
+ .const 'Sub' $P446 = "127_1272455245.85124"
capture_lex $P446
- .const 'Sub' $P437 = "123_1271948653.77811"
+ .const 'Sub' $P437 = "123_1272455245.85124"
capture_lex $P437
- .const 'Sub' $P431 = "121_1271948653.77811"
+ .const 'Sub' $P431 = "121_1272455245.85124"
capture_lex $P431
- .const 'Sub' $P425 = "119_1271948653.77811"
+ .const 'Sub' $P425 = "119_1272455245.85124"
capture_lex $P425
- .const 'Sub' $P419 = "117_1271948653.77811"
+ .const 'Sub' $P419 = "117_1272455245.85124"
capture_lex $P419
- .const 'Sub' $P413 = "115_1271948653.77811"
+ .const 'Sub' $P413 = "115_1272455245.85124"
capture_lex $P413
- .const 'Sub' $P405 = "113_1271948653.77811"
+ .const 'Sub' $P405 = "113_1272455245.85124"
capture_lex $P405
- .const 'Sub' $P394 = "111_1271948653.77811"
+ .const 'Sub' $P394 = "111_1272455245.85124"
capture_lex $P394
- .const 'Sub' $P383 = "109_1271948653.77811"
+ .const 'Sub' $P383 = "109_1272455245.85124"
capture_lex $P383
- .const 'Sub' $P377 = "107_1271948653.77811"
+ .const 'Sub' $P377 = "107_1272455245.85124"
capture_lex $P377
- .const 'Sub' $P371 = "105_1271948653.77811"
+ .const 'Sub' $P371 = "105_1272455245.85124"
capture_lex $P371
- .const 'Sub' $P365 = "103_1271948653.77811"
+ .const 'Sub' $P365 = "103_1272455245.85124"
capture_lex $P365
- .const 'Sub' $P359 = "101_1271948653.77811"
+ .const 'Sub' $P359 = "101_1272455245.85124"
capture_lex $P359
- .const 'Sub' $P353 = "99_1271948653.77811"
+ .const 'Sub' $P353 = "99_1272455245.85124"
capture_lex $P353
- .const 'Sub' $P347 = "97_1271948653.77811"
+ .const 'Sub' $P347 = "97_1272455245.85124"
capture_lex $P347
- .const 'Sub' $P341 = "95_1271948653.77811"
+ .const 'Sub' $P341 = "95_1272455245.85124"
capture_lex $P341
- .const 'Sub' $P335 = "93_1271948653.77811"
+ .const 'Sub' $P335 = "93_1272455245.85124"
capture_lex $P335
- .const 'Sub' $P323 = "89_1271948653.77811"
+ .const 'Sub' $P323 = "89_1272455245.85124"
capture_lex $P323
- .const 'Sub' $P311 = "87_1271948653.77811"
+ .const 'Sub' $P311 = "87_1272455245.85124"
capture_lex $P311
- .const 'Sub' $P304 = "85_1271948653.77811"
+ .const 'Sub' $P304 = "85_1272455245.85124"
capture_lex $P304
- .const 'Sub' $P287 = "83_1271948653.77811"
+ .const 'Sub' $P287 = "83_1272455245.85124"
capture_lex $P287
- .const 'Sub' $P280 = "81_1271948653.77811"
+ .const 'Sub' $P280 = "81_1272455245.85124"
capture_lex $P280
- .const 'Sub' $P274 = "79_1271948653.77811"
+ .const 'Sub' $P274 = "79_1272455245.85124"
capture_lex $P274
- .const 'Sub' $P268 = "77_1271948653.77811"
+ .const 'Sub' $P268 = "77_1272455245.85124"
capture_lex $P268
- .const 'Sub' $P261 = "75_1271948653.77811"
+ .const 'Sub' $P261 = "75_1272455245.85124"
capture_lex $P261
- .const 'Sub' $P254 = "73_1271948653.77811"
+ .const 'Sub' $P254 = "73_1272455245.85124"
capture_lex $P254
- .const 'Sub' $P247 = "71_1271948653.77811"
+ .const 'Sub' $P247 = "71_1272455245.85124"
capture_lex $P247
- .const 'Sub' $P240 = "69_1271948653.77811"
+ .const 'Sub' $P240 = "69_1272455245.85124"
capture_lex $P240
- .const 'Sub' $P234 = "67_1271948653.77811"
+ .const 'Sub' $P234 = "67_1272455245.85124"
capture_lex $P234
- .const 'Sub' $P228 = "65_1271948653.77811"
+ .const 'Sub' $P228 = "65_1272455245.85124"
capture_lex $P228
- .const 'Sub' $P222 = "63_1271948653.77811"
+ .const 'Sub' $P222 = "63_1272455245.85124"
capture_lex $P222
- .const 'Sub' $P216 = "61_1271948653.77811"
+ .const 'Sub' $P216 = "61_1272455245.85124"
capture_lex $P216
- .const 'Sub' $P210 = "59_1271948653.77811"
+ .const 'Sub' $P210 = "59_1272455245.85124"
capture_lex $P210
- .const 'Sub' $P205 = "57_1271948653.77811"
+ .const 'Sub' $P205 = "57_1272455245.85124"
capture_lex $P205
- .const 'Sub' $P200 = "55_1271948653.77811"
+ .const 'Sub' $P200 = "55_1272455245.85124"
capture_lex $P200
- .const 'Sub' $P194 = "53_1271948653.77811"
+ .const 'Sub' $P194 = "53_1272455245.85124"
capture_lex $P194
- .const 'Sub' $P188 = "51_1271948653.77811"
+ .const 'Sub' $P188 = "51_1272455245.85124"
capture_lex $P188
- .const 'Sub' $P182 = "49_1271948653.77811"
+ .const 'Sub' $P182 = "49_1272455245.85124"
capture_lex $P182
- .const 'Sub' $P166 = "44_1271948653.77811"
+ .const 'Sub' $P166 = "44_1272455245.85124"
capture_lex $P166
- .const 'Sub' $P154 = "42_1271948653.77811"
+ .const 'Sub' $P154 = "42_1272455245.85124"
capture_lex $P154
- .const 'Sub' $P147 = "40_1271948653.77811"
+ .const 'Sub' $P147 = "40_1272455245.85124"
capture_lex $P147
- .const 'Sub' $P140 = "38_1271948653.77811"
+ .const 'Sub' $P140 = "38_1272455245.85124"
capture_lex $P140
- .const 'Sub' $P133 = "36_1271948653.77811"
+ .const 'Sub' $P133 = "36_1272455245.85124"
capture_lex $P133
- .const 'Sub' $P114 = "31_1271948653.77811"
+ .const 'Sub' $P114 = "31_1272455245.85124"
capture_lex $P114
- .const 'Sub' $P101 = "28_1271948653.77811"
+ .const 'Sub' $P101 = "28_1272455245.85124"
capture_lex $P101
- .const 'Sub' $P94 = "26_1271948653.77811"
+ .const 'Sub' $P94 = "26_1272455245.85124"
capture_lex $P94
- .const 'Sub' $P82 = "24_1271948653.77811"
+ .const 'Sub' $P82 = "24_1272455245.85124"
capture_lex $P82
- .const 'Sub' $P75 = "22_1271948653.77811"
+ .const 'Sub' $P75 = "22_1272455245.85124"
capture_lex $P75
- .const 'Sub' $P63 = "20_1271948653.77811"
+ .const 'Sub' $P63 = "20_1272455245.85124"
capture_lex $P63
- .const 'Sub' $P56 = "18_1271948653.77811"
+ .const 'Sub' $P56 = "18_1272455245.85124"
capture_lex $P56
- .const 'Sub' $P46 = "15_1271948653.77811"
+ .const 'Sub' $P46 = "15_1272455245.85124"
capture_lex $P46
- .const 'Sub' $P38 = "13_1271948653.77811"
+ .const 'Sub' $P38 = "13_1272455245.85124"
capture_lex $P38
- .const 'Sub' $P15 = "12_1271948653.77811"
+ .const 'Sub' $P15 = "12_1272455245.85124"
capture_lex $P15
- .const 'Sub' $P571 = "156_1271948653.77811"
+ .const 'Sub' $P571 = "156_1272455245.85124"
capture_lex $P571
.return ($P571)
.end
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs" :subid("12_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "obs" :subid("12_1272455245.85124") :method :outer("11_1272455245.85124")
.param pmc param_18
.param pmc param_19
.param pmc param_20 :optional
@@ -182,7 +182,7 @@
.annotate "line", 3
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
- $P17."handle_types"(58)
+ $P17."handle_types"(57)
push_eh $P17
.lex "self", self
.lex "$old", param_18
@@ -222,7 +222,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws" :subid("13_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "ws" :subid("13_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx39_tgt
.local int rx39_pos
@@ -304,7 +304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws" :subid("14_1271948653.77811") :method
+.sub "!PREFIX__ws" :subid("14_1272455245.85124") :method
.annotate "line", 3
new $P41, "ResizablePMCArray"
push $P41, ""
@@ -313,9 +313,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace" :subid("15_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "normspace" :subid("15_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P52 = "17_1271948653.77811"
+ .const 'Sub' $P52 = "17_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P52 = "17_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__normspace" :subid("16_1272455245.85124") :method
.annotate "line", 3
new $P49, "ResizablePMCArray"
push $P49, ""
@@ -386,7 +386,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51" :anon :subid("17_1271948653.77811") :method :outer("15_1271948653.77811")
+.sub "_block51" :anon :subid("17_1272455245.85124") :method :outer("15_1272455245.85124")
.annotate "line", 10
.local string rx53_tgt
.local int rx53_pos
@@ -454,7 +454,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg" :subid("18_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "arg" :subid("18_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx57_tgt
.local int rx57_pos
@@ -565,7 +565,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg" :subid("19_1271948653.77811") :method
+.sub "!PREFIX__arg" :subid("19_1272455245.85124") :method
.annotate "line", 3
new $P59, "ResizablePMCArray"
push $P59, ""
@@ -576,7 +576,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist" :subid("20_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "arglist" :subid("20_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx64_tgt
.local int rx64_pos
@@ -682,7 +682,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist" :subid("21_1271948653.77811") :method
+.sub "!PREFIX__arglist" :subid("21_1272455245.85124") :method
.annotate "line", 3
new $P66, "ResizablePMCArray"
push $P66, ""
@@ -691,7 +691,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP" :subid("22_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "TOP" :subid("22_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx76_tgt
.local int rx76_pos
@@ -764,7 +764,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP" :subid("23_1271948653.77811") :method
+.sub "!PREFIX__TOP" :subid("23_1272455245.85124") :method
.annotate "line", 3
$P78 = self."!PREFIX__!subrule"("nibbler", "")
new $P79, "ResizablePMCArray"
@@ -774,7 +774,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler" :subid("24_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "nibbler" :subid("24_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx83_tgt
.local int rx83_pos
@@ -942,7 +942,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler" :subid("25_1271948653.77811") :method
+.sub "!PREFIX__nibbler" :subid("25_1272455245.85124") :method
.annotate "line", 3
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -951,7 +951,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish" :subid("26_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "termish" :subid("26_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
.local string rx95_tgt
.local int rx95_pos
@@ -1019,7 +1019,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish" :subid("27_1271948653.77811") :method
+.sub "!PREFIX__termish" :subid("27_1272455245.85124") :method
.annotate "line", 3
new $P97, "ResizablePMCArray"
push $P97, ""
@@ -1028,9 +1028,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom" :subid("28_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "quantified_atom" :subid("28_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P110 = "30_1271948653.77811"
+ .const 'Sub' $P110 = "30_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P110 = "30_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__quantified_atom" :subid("29_1272455245.85124") :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_1271948653.77811") :method :outer("28_1271948653.77811")
+.sub "_block109" :anon :subid("30_1272455245.85124") :method :outer("28_1272455245.85124")
.annotate "line", 41
.local string rx111_tgt
.local int rx111_pos
@@ -1197,9 +1197,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom" :subid("31_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "atom" :subid("31_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P125 = "33_1271948653.77811"
+ .const 'Sub' $P125 = "33_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P125 = "33_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__atom" :subid("32_1272455245.85124") :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_1271948653.77811") :method :outer("31_1271948653.77811")
+.sub "_block124" :anon :subid("33_1272455245.85124") :method :outer("31_1272455245.85124")
.annotate "line", 47
.local string rx126_tgt
.local int rx126_pos
@@ -1362,7 +1362,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier" :subid("34_1271948653.77811") :method
+.sub "quantifier" :subid("34_1272455245.85124") :method
.annotate "line", 52
$P130 = self."!protoregex"("quantifier")
.return ($P130)
@@ -1370,7 +1370,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier" :subid("35_1271948653.77811") :method
+.sub "!PREFIX__quantifier" :subid("35_1272455245.85124") :method
.annotate "line", 52
$P132 = self."!PREFIX__!protoregex"("quantifier")
.return ($P132)
@@ -1378,7 +1378,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>" :subid("36_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "quantifier:sym<*>" :subid("36_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__quantifier:sym<*>" :subid("37_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "quantifier:sym<+>" :subid("38_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__quantifier:sym<+>" :subid("39_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "quantifier:sym<?>" :subid("40_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__quantifier:sym<?>" :subid("41_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "quantifier:sym<**>" :subid("42_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__quantifier:sym<**>" :subid("43_1272455245.85124") :method
.annotate "line", 3
new $P157, "ResizablePMCArray"
push $P157, "**"
@@ -1843,9 +1843,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod" :subid("44_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backmod" :subid("44_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P175 = "46_1271948653.77811"
+ .const 'Sub' $P175 = "46_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P175 = "46_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__backmod" :subid("45_1272455245.85124") :method
.annotate "line", 3
new $P169, "ResizablePMCArray"
push $P169, ""
@@ -1948,7 +1948,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174" :anon :subid("46_1271948653.77811") :method :outer("44_1271948653.77811")
+.sub "_block174" :anon :subid("46_1272455245.85124") :method :outer("44_1272455245.85124")
.annotate "line", 71
.local string rx176_tgt
.local int rx176_pos
@@ -2004,7 +2004,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar" :subid("47_1271948653.77811") :method
+.sub "metachar" :subid("47_1272455245.85124") :method
.annotate "line", 73
$P179 = self."!protoregex"("metachar")
.return ($P179)
@@ -2012,7 +2012,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar" :subid("48_1271948653.77811") :method
+.sub "!PREFIX__metachar" :subid("48_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<ws>" :subid("49_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<ws>" :subid("50_1272455245.85124") :method
.annotate "line", 3
$P185 = self."!PREFIX__!subrule"("", "")
new $P186, "ResizablePMCArray"
@@ -2086,7 +2086,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>" :subid("51_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<[ ]>" :subid("51_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<( )>" :subid("53_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<( )>" :subid("54_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<'>" :subid("55_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<'>" :subid("56_1272455245.85124") :method
.annotate "line", 3
new $P203, "ResizablePMCArray"
push $P203, "'"
@@ -2323,7 +2323,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">" :subid("57_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<\">" :subid("57_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<\">" :subid("58_1272455245.85124") :method
.annotate "line", 3
new $P208, "ResizablePMCArray"
push $P208, "\""
@@ -2396,7 +2396,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>" :subid("59_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<.>" :subid("59_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<.>" :subid("60_1272455245.85124") :method
.annotate "line", 3
new $P213, "ResizablePMCArray"
push $P213, "."
@@ -2477,7 +2477,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>" :subid("61_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<^>" :subid("61_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<^>" :subid("62_1272455245.85124") :method
.annotate "line", 3
new $P219, "ResizablePMCArray"
push $P219, "^"
@@ -2558,7 +2558,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>" :subid("63_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<^^>" :subid("63_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<^^>" :subid("64_1272455245.85124") :method
.annotate "line", 3
new $P225, "ResizablePMCArray"
push $P225, "^^"
@@ -2639,7 +2639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>" :subid("65_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<$>" :subid("65_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<$>" :subid("66_1272455245.85124") :method
.annotate "line", 3
new $P231, "ResizablePMCArray"
push $P231, "$"
@@ -2720,7 +2720,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>" :subid("67_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<$$>" :subid("67_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<$$>" :subid("68_1272455245.85124") :method
.annotate "line", 3
new $P237, "ResizablePMCArray"
push $P237, "$$"
@@ -2801,7 +2801,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>" :subid("69_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<:::>" :subid("69_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<:::>" :subid("70_1272455245.85124") :method
.annotate "line", 3
$P243 = self."!PREFIX__!subrule"("", ":::")
new $P244, "ResizablePMCArray"
@@ -2888,7 +2888,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>" :subid("71_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<::>" :subid("71_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<::>" :subid("72_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<lwb>" :subid("73_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<rwb>" :subid("75_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<bs>" :subid("77_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<bs>" :subid("78_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<mod>" :subid("79_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<mod>" :subid("80_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<~>" :subid("81_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<~>" :subid("82_1272455245.85124") :method
.annotate "line", 3
$P283 = self."!PREFIX__!subrule"("", "~")
new $P284, "ResizablePMCArray"
@@ -3417,7 +3417,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>" :subid("83_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<{*}>" :subid("83_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1272455245.85124") :method
.annotate "line", 3
new $P290, "ResizablePMCArray"
push $P290, "{*}"
@@ -3593,7 +3593,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>" :subid("85_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<assert>" :subid("85_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<assert>" :subid("86_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<var>" :subid("87_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<var>" :subid("88_1272455245.85124") :method
.annotate "line", 3
new $P314, "ResizablePMCArray"
push $P314, "$"
@@ -3860,7 +3860,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>" :subid("89_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "metachar:sym<PIR>" :subid("89_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1272455245.85124") :method
.annotate "line", 3
new $P326, "ResizablePMCArray"
push $P326, ":PIR{{"
@@ -3960,7 +3960,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash" :subid("91_1271948653.77811") :method
+.sub "backslash" :subid("91_1272455245.85124") :method
.annotate "line", 120
$P332 = self."!protoregex"("backslash")
.return ($P332)
@@ -3968,7 +3968,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash" :subid("92_1271948653.77811") :method
+.sub "!PREFIX__backslash" :subid("92_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<w>" :subid("93_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<w>" :subid("94_1272455245.85124") :method
.annotate "line", 3
new $P338, "ResizablePMCArray"
push $P338, "N"
@@ -4064,7 +4064,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>" :subid("95_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<b>" :subid("95_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<b>" :subid("96_1272455245.85124") :method
.annotate "line", 3
new $P344, "ResizablePMCArray"
push $P344, "B"
@@ -4146,7 +4146,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>" :subid("97_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<e>" :subid("97_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<e>" :subid("98_1272455245.85124") :method
.annotate "line", 3
new $P350, "ResizablePMCArray"
push $P350, "E"
@@ -4228,7 +4228,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>" :subid("99_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<f>" :subid("99_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<f>" :subid("100_1272455245.85124") :method
.annotate "line", 3
new $P356, "ResizablePMCArray"
push $P356, "F"
@@ -4310,7 +4310,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>" :subid("101_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<h>" :subid("101_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<h>" :subid("102_1272455245.85124") :method
.annotate "line", 3
new $P362, "ResizablePMCArray"
push $P362, "H"
@@ -4392,7 +4392,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>" :subid("103_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<r>" :subid("103_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<r>" :subid("104_1272455245.85124") :method
.annotate "line", 3
new $P368, "ResizablePMCArray"
push $P368, "R"
@@ -4474,7 +4474,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>" :subid("105_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<t>" :subid("105_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<t>" :subid("106_1272455245.85124") :method
.annotate "line", 3
new $P374, "ResizablePMCArray"
push $P374, "T"
@@ -4556,7 +4556,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>" :subid("107_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<v>" :subid("107_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<v>" :subid("108_1272455245.85124") :method
.annotate "line", 3
new $P380, "ResizablePMCArray"
push $P380, "V"
@@ -4638,7 +4638,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>" :subid("109_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<o>" :subid("109_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<o>" :subid("110_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<x>" :subid("111_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<x>" :subid("112_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<c>" :subid("113_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<c>" :subid("114_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<A>" :subid("115_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<A>" :subid("116_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<z>" :subid("117_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<z>" :subid("118_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<Z>" :subid("119_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<Z>" :subid("120_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<Q>" :subid("121_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<Q>" :subid("122_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "backslash:sym<misc>" :subid("123_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__backslash:sym<misc>" :subid("124_1272455245.85124") :method
.annotate "line", 3
new $P440, "ResizablePMCArray"
push $P440, ""
@@ -5331,7 +5331,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion" :subid("125_1271948653.77811") :method
+.sub "assertion" :subid("125_1272455245.85124") :method
.annotate "line", 138
$P443 = self."!protoregex"("assertion")
.return ($P443)
@@ -5339,7 +5339,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion" :subid("126_1271948653.77811") :method
+.sub "!PREFIX__assertion" :subid("126_1272455245.85124") :method
.annotate "line", 138
$P445 = self."!PREFIX__!protoregex"("assertion")
.return ($P445)
@@ -5347,9 +5347,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>" :subid("127_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "assertion:sym<?>" :subid("127_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P454 = "129_1271948653.77811"
+ .const 'Sub' $P454 = "129_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P454 = "129_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__assertion:sym<?>" :subid("128_1272455245.85124") :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_1271948653.77811") :method :outer("127_1271948653.77811")
+.sub "_block453" :anon :subid("129_1272455245.85124") :method :outer("127_1272455245.85124")
.annotate "line", 140
.local string rx455_tgt
.local int rx455_pos
@@ -5493,9 +5493,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>" :subid("130_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "assertion:sym<!>" :subid("130_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P465 = "132_1271948653.77811"
+ .const 'Sub' $P465 = "132_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P465 = "132_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__assertion:sym<!>" :subid("131_1272455245.85124") :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_1271948653.77811") :method :outer("130_1271948653.77811")
+.sub "_block464" :anon :subid("132_1272455245.85124") :method :outer("130_1272455245.85124")
.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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "assertion:sym<method>" :subid("133_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__assertion:sym<method>" :subid("134_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "assertion:sym<name>" :subid("135_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P483 = "137_1271948653.77811"
+ .const 'Sub' $P483 = "137_1272455245.85124"
capture_lex $P483
.local string rx475_tgt
.local int rx475_pos
@@ -5727,7 +5727,7 @@
.local pmc rx475_cur
(rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
rx475_cur."!cursor_debug"("START ", "assertion:sym<name>")
- rx475_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+ rx475_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
.lex unicode:"$\x{a2}", rx475_cur
.local pmc match
.lex "$/", match
@@ -5782,7 +5782,7 @@
.annotate "line", 150
# rx subrule "before" subtype=zerowidth negate=
rx475_cur."!cursor_pos"(rx475_pos)
- .const 'Sub' $P483 = "137_1271948653.77811"
+ .const 'Sub' $P483 = "137_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("136_1272455245.85124") :method
.annotate "line", 3
new $P477, "ResizablePMCArray"
push $P477, ""
@@ -5898,7 +5898,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482" :anon :subid("137_1271948653.77811") :method :outer("135_1271948653.77811")
+.sub "_block482" :anon :subid("137_1272455245.85124") :method :outer("135_1272455245.85124")
.annotate "line", 150
.local string rx484_tgt
.local int rx484_pos
@@ -5954,9 +5954,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>" :subid("138_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "assertion:sym<[>" :subid("138_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P493 = "140_1271948653.77811"
+ .const 'Sub' $P493 = "140_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P493 = "140_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__assertion:sym<[>" :subid("139_1272455245.85124") :method
.annotate "line", 3
new $P490, "ResizablePMCArray"
push $P490, ""
@@ -6038,7 +6038,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492" :anon :subid("140_1271948653.77811") :method :outer("138_1271948653.77811")
+.sub "_block492" :anon :subid("140_1272455245.85124") :method :outer("138_1272455245.85124")
.annotate "line", 158
.local string rx494_tgt
.local int rx494_pos
@@ -6118,9 +6118,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem" :subid("141_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "cclass_elem" :subid("141_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P511 = "143_1271948653.77811"
+ .const 'Sub' $P511 = "143_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P511 = "143_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__cclass_elem" :subid("142_1272455245.85124") :method
.annotate "line", 3
new $P502, "ResizablePMCArray"
push $P502, ""
@@ -6315,13 +6315,13 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510" :anon :subid("143_1271948653.77811") :method :outer("141_1271948653.77811")
+.sub "_block510" :anon :subid("143_1272455245.85124") :method :outer("141_1272455245.85124")
.annotate "line", 164
- .const 'Sub' $P526 = "146_1271948653.77811"
+ .const 'Sub' $P526 = "146_1272455245.85124"
capture_lex $P526
- .const 'Sub' $P521 = "145_1271948653.77811"
+ .const 'Sub' $P521 = "145_1272455245.85124"
capture_lex $P521
- .const 'Sub' $P517 = "144_1271948653.77811"
+ .const 'Sub' $P517 = "144_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P517 = "144_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P521 = "145_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P526 = "146_1272455245.85124"
capture_lex $P526
$P10 = rx512_cur.$P526()
unless $P10, rx512_fail
@@ -6461,7 +6461,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516" :anon :subid("144_1271948653.77811") :method :outer("143_1271948653.77811")
+.sub "_block516" :anon :subid("144_1272455245.85124") :method :outer("143_1272455245.85124")
.annotate "line", 166
.local string rx518_tgt
.local int rx518_pos
@@ -6513,7 +6513,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520" :anon :subid("145_1271948653.77811") :method :outer("143_1271948653.77811")
+.sub "_block520" :anon :subid("145_1272455245.85124") :method :outer("143_1272455245.85124")
.annotate "line", 166
.local string rx522_tgt
.local int rx522_pos
@@ -6569,7 +6569,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525" :anon :subid("146_1271948653.77811") :method :outer("143_1271948653.77811")
+.sub "_block525" :anon :subid("146_1272455245.85124") :method :outer("143_1272455245.85124")
.annotate "line", 166
.local string rx527_tgt
.local int rx527_pos
@@ -6621,9 +6621,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal" :subid("147_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "mod_internal" :subid("147_1272455245.85124") :method :outer("11_1272455245.85124")
.annotate "line", 3
- .const 'Sub' $P543 = "149_1271948653.77811"
+ .const 'Sub' $P543 = "149_1272455245.85124"
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_1271948653.77811"
+ .const 'Sub' $P543 = "149_1272455245.85124"
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_1271948653.77811") :method
+.sub "!PREFIX__mod_internal" :subid("148_1272455245.85124") :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_1271948653.77811") :method :outer("147_1271948653.77811")
+.sub "_block542" :anon :subid("149_1272455245.85124") :method :outer("147_1272455245.85124")
.annotate "line", 176
.local string rx544_tgt
.local int rx544_pos
@@ -6854,7 +6854,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident" :subid("150_1271948653.77811") :method
+.sub "mod_ident" :subid("150_1272455245.85124") :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_1271948653.77811") :method
+.sub "!PREFIX__mod_ident" :subid("151_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "mod_ident:sym<ignorecase>" :subid("152_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "mod_ident:sym<ratchet>" :subid("154_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1272455245.85124") :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_1271948653.77811") :method :outer("11_1271948653.77811")
+.sub "mod_ident:sym<sigspace>" :subid("156_1272455245.85124") :method :outer("11_1272455245.85124")
.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_1271948653.77811") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1272455245.85124") :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_1271948660.90108")
+.sub "_block11" :anon :subid("10_1272455249.42318")
.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_1271948660.90108")
+.sub "" :load :init :subid("post90") :outer("10_1272455249.42318")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1271948660.90108"
+ .const 'Sub' $P12 = "10_1272455249.42318"
.local pmc block
set block, $P12
$P1570 = get_root_global ["parrot"], "P6metaclass"
@@ -7178,117 +7178,117 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13" :subid("11_1271948660.90108") :outer("10_1271948660.90108")
+.sub "_block13" :subid("11_1272455249.42318") :outer("10_1272455249.42318")
.annotate "line", 4
- .const 'Sub' $P1536 = "89_1271948660.90108"
+ .const 'Sub' $P1536 = "89_1272455249.42318"
capture_lex $P1536
- .const 'Sub' $P1467 = "85_1271948660.90108"
+ .const 'Sub' $P1467 = "85_1272455249.42318"
capture_lex $P1467
- .const 'Sub' $P1399 = "83_1271948660.90108"
+ .const 'Sub' $P1399 = "83_1272455249.42318"
capture_lex $P1399
- .const 'Sub' $P1326 = "80_1271948660.90108"
+ .const 'Sub' $P1326 = "80_1272455249.42318"
capture_lex $P1326
- .const 'Sub' $P1312 = "79_1271948660.90108"
+ .const 'Sub' $P1312 = "79_1272455249.42318"
capture_lex $P1312
- .const 'Sub' $P1288 = "78_1271948660.90108"
+ .const 'Sub' $P1288 = "78_1272455249.42318"
capture_lex $P1288
- .const 'Sub' $P1270 = "77_1271948660.90108"
+ .const 'Sub' $P1270 = "77_1272455249.42318"
capture_lex $P1270
- .const 'Sub' $P1256 = "76_1271948660.90108"
+ .const 'Sub' $P1256 = "76_1272455249.42318"
capture_lex $P1256
- .const 'Sub' $P1243 = "75_1271948660.90108"
+ .const 'Sub' $P1243 = "75_1272455249.42318"
capture_lex $P1243
- .const 'Sub' $P1212 = "74_1271948660.90108"
+ .const 'Sub' $P1212 = "74_1272455249.42318"
capture_lex $P1212
- .const 'Sub' $P1181 = "73_1271948660.90108"
+ .const 'Sub' $P1181 = "73_1272455249.42318"
capture_lex $P1181
- .const 'Sub' $P1165 = "72_1271948660.90108"
+ .const 'Sub' $P1165 = "72_1272455249.42318"
capture_lex $P1165
- .const 'Sub' $P1149 = "71_1271948660.90108"
+ .const 'Sub' $P1149 = "71_1272455249.42318"
capture_lex $P1149
- .const 'Sub' $P1133 = "70_1271948660.90108"
+ .const 'Sub' $P1133 = "70_1272455249.42318"
capture_lex $P1133
- .const 'Sub' $P1117 = "69_1271948660.90108"
+ .const 'Sub' $P1117 = "69_1272455249.42318"
capture_lex $P1117
- .const 'Sub' $P1101 = "68_1271948660.90108"
+ .const 'Sub' $P1101 = "68_1272455249.42318"
capture_lex $P1101
- .const 'Sub' $P1085 = "67_1271948660.90108"
+ .const 'Sub' $P1085 = "67_1272455249.42318"
capture_lex $P1085
- .const 'Sub' $P1069 = "66_1271948660.90108"
+ .const 'Sub' $P1069 = "66_1272455249.42318"
capture_lex $P1069
- .const 'Sub' $P1045 = "65_1271948660.90108"
+ .const 'Sub' $P1045 = "65_1272455249.42318"
capture_lex $P1045
- .const 'Sub' $P1030 = "64_1271948660.90108"
+ .const 'Sub' $P1030 = "64_1272455249.42318"
capture_lex $P1030
- .const 'Sub' $P974 = "63_1271948660.90108"
+ .const 'Sub' $P974 = "63_1272455249.42318"
capture_lex $P974
- .const 'Sub' $P953 = "62_1271948660.90108"
+ .const 'Sub' $P953 = "62_1272455249.42318"
capture_lex $P953
- .const 'Sub' $P931 = "61_1271948660.90108"
+ .const 'Sub' $P931 = "61_1272455249.42318"
capture_lex $P931
- .const 'Sub' $P921 = "60_1271948660.90108"
+ .const 'Sub' $P921 = "60_1272455249.42318"
capture_lex $P921
- .const 'Sub' $P911 = "59_1271948660.90108"
+ .const 'Sub' $P911 = "59_1272455249.42318"
capture_lex $P911
- .const 'Sub' $P901 = "58_1271948660.90108"
+ .const 'Sub' $P901 = "58_1272455249.42318"
capture_lex $P901
- .const 'Sub' $P889 = "57_1271948660.90108"
+ .const 'Sub' $P889 = "57_1272455249.42318"
capture_lex $P889
- .const 'Sub' $P877 = "56_1271948660.90108"
+ .const 'Sub' $P877 = "56_1272455249.42318"
capture_lex $P877
- .const 'Sub' $P865 = "55_1271948660.90108"
+ .const 'Sub' $P865 = "55_1272455249.42318"
capture_lex $P865
- .const 'Sub' $P853 = "54_1271948660.90108"
+ .const 'Sub' $P853 = "54_1272455249.42318"
capture_lex $P853
- .const 'Sub' $P841 = "53_1271948660.90108"
+ .const 'Sub' $P841 = "53_1272455249.42318"
capture_lex $P841
- .const 'Sub' $P829 = "52_1271948660.90108"
+ .const 'Sub' $P829 = "52_1272455249.42318"
capture_lex $P829
- .const 'Sub' $P817 = "51_1271948660.90108"
+ .const 'Sub' $P817 = "51_1272455249.42318"
capture_lex $P817
- .const 'Sub' $P805 = "50_1271948660.90108"
+ .const 'Sub' $P805 = "50_1272455249.42318"
capture_lex $P805
- .const 'Sub' $P782 = "49_1271948660.90108"
+ .const 'Sub' $P782 = "49_1272455249.42318"
capture_lex $P782
- .const 'Sub' $P759 = "48_1271948660.90108"
+ .const 'Sub' $P759 = "48_1272455249.42318"
capture_lex $P759
- .const 'Sub' $P741 = "47_1271948660.90108"
+ .const 'Sub' $P741 = "47_1272455249.42318"
capture_lex $P741
- .const 'Sub' $P731 = "46_1271948660.90108"
+ .const 'Sub' $P731 = "46_1272455249.42318"
capture_lex $P731
- .const 'Sub' $P713 = "45_1271948660.90108"
+ .const 'Sub' $P713 = "45_1272455249.42318"
capture_lex $P713
- .const 'Sub' $P666 = "44_1271948660.90108"
+ .const 'Sub' $P666 = "44_1272455249.42318"
capture_lex $P666
- .const 'Sub' $P649 = "43_1271948660.90108"
+ .const 'Sub' $P649 = "43_1272455249.42318"
capture_lex $P649
- .const 'Sub' $P634 = "42_1271948660.90108"
+ .const 'Sub' $P634 = "42_1272455249.42318"
capture_lex $P634
- .const 'Sub' $P619 = "41_1271948660.90108"
+ .const 'Sub' $P619 = "41_1272455249.42318"
capture_lex $P619
- .const 'Sub' $P593 = "40_1271948660.90108"
+ .const 'Sub' $P593 = "40_1272455249.42318"
capture_lex $P593
- .const 'Sub' $P543 = "38_1271948660.90108"
+ .const 'Sub' $P543 = "38_1272455249.42318"
capture_lex $P543
- .const 'Sub' $P475 = "36_1271948660.90108"
+ .const 'Sub' $P475 = "36_1272455249.42318"
capture_lex $P475
- .const 'Sub' $P420 = "33_1271948660.90108"
+ .const 'Sub' $P420 = "33_1272455249.42318"
capture_lex $P420
- .const 'Sub' $P405 = "32_1271948660.90108"
+ .const 'Sub' $P405 = "32_1272455249.42318"
capture_lex $P405
- .const 'Sub' $P379 = "30_1271948660.90108"
+ .const 'Sub' $P379 = "30_1272455249.42318"
capture_lex $P379
- .const 'Sub' $P362 = "29_1271948660.90108"
+ .const 'Sub' $P362 = "29_1272455249.42318"
capture_lex $P362
- .const 'Sub' $P340 = "28_1271948660.90108"
+ .const 'Sub' $P340 = "28_1272455249.42318"
capture_lex $P340
- .const 'Sub' $P308 = "27_1271948660.90108"
+ .const 'Sub' $P308 = "27_1272455249.42318"
capture_lex $P308
- .const 'Sub' $P54 = "14_1271948660.90108"
+ .const 'Sub' $P54 = "14_1272455249.42318"
capture_lex $P54
- .const 'Sub' $P21 = "13_1271948660.90108"
+ .const 'Sub' $P21 = "13_1272455249.42318"
capture_lex $P21
- .const 'Sub' $P16 = "12_1271948660.90108"
+ .const 'Sub' $P16 = "12_1272455249.42318"
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_1271948660.90108"
+ .const 'Sub' $P16 = "12_1272455249.42318"
capture_lex $P16
.lex "INIT", $P16
.annotate "line", 479
- .const 'Sub' $P21 = "13_1271948660.90108"
+ .const 'Sub' $P21 = "13_1272455249.42318"
capture_lex $P21
.lex "buildsub", $P21
.annotate "line", 496
- .const 'Sub' $P54 = "14_1271948660.90108"
+ .const 'Sub' $P54 = "14_1272455249.42318"
capture_lex $P54
.lex "capnames", $P54
.annotate "line", 562
- .const 'Sub' $P308 = "27_1271948660.90108"
+ .const 'Sub' $P308 = "27_1272455249.42318"
capture_lex $P308
.lex "backmod", $P308
.annotate "line", 569
- .const 'Sub' $P340 = "28_1271948660.90108"
+ .const 'Sub' $P340 = "28_1272455249.42318"
capture_lex $P340
.lex "subrule_alias", $P340
.annotate "line", 4
@@ -7329,11 +7329,11 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT" :subid("12_1271948660.90108") :outer("11_1271948660.90108")
+.sub "INIT" :subid("12_1272455249.42318") :outer("11_1272455249.42318")
.annotate "line", 6
new $P18, 'ExceptionHandler'
set_addr $P18, control_17
- $P18."handle_types"(58)
+ $P18."handle_types"(57)
push_eh $P18
.annotate "line", 7
@@ -7353,14 +7353,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub" :subid("13_1271948660.90108") :outer("11_1271948660.90108")
+.sub "buildsub" :subid("13_1272455249.42318") :outer("11_1272455249.42318")
.param pmc param_24
.param pmc param_25 :optional
.param int has_param_25 :opt_flag
.annotate "line", 479
new $P23, 'ExceptionHandler'
set_addr $P23, control_22
- $P23."handle_types"(58)
+ $P23."handle_types"(57)
push_eh $P23
.lex "$rpast", param_24
if has_param_25, optparam_92
@@ -7430,23 +7430,23 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames" :subid("14_1271948660.90108") :outer("11_1271948660.90108")
+.sub "capnames" :subid("14_1272455249.42318") :outer("11_1272455249.42318")
.param pmc param_57
.param pmc param_58
.annotate "line", 496
- .const 'Sub' $P283 = "25_1271948660.90108"
+ .const 'Sub' $P283 = "25_1272455249.42318"
capture_lex $P283
- .const 'Sub' $P220 = "22_1271948660.90108"
+ .const 'Sub' $P220 = "22_1272455249.42318"
capture_lex $P220
- .const 'Sub' $P178 = "20_1271948660.90108"
+ .const 'Sub' $P178 = "20_1272455249.42318"
capture_lex $P178
- .const 'Sub' $P136 = "18_1271948660.90108"
+ .const 'Sub' $P136 = "18_1272455249.42318"
capture_lex $P136
- .const 'Sub' $P69 = "15_1271948660.90108"
+ .const 'Sub' $P69 = "15_1272455249.42318"
capture_lex $P69
new $P56, 'ExceptionHandler'
set_addr $P56, control_55
- $P56."handle_types"(58)
+ $P56."handle_types"(57)
push_eh $P56
.lex "$ast", param_57
.lex "$count", param_58
@@ -7498,21 +7498,21 @@
set $S280, $P279
iseq $I281, $S280, "quant"
unless $I281, if_278_end
- .const 'Sub' $P283 = "25_1271948660.90108"
+ .const 'Sub' $P283 = "25_1272455249.42318"
capture_lex $P283
$P283()
if_278_end:
goto if_215_end
if_215:
.annotate "line", 534
- .const 'Sub' $P220 = "22_1271948660.90108"
+ .const 'Sub' $P220 = "22_1272455249.42318"
capture_lex $P220
$P220()
if_215_end:
goto if_168_end
if_168:
.annotate "line", 521
- .const 'Sub' $P178 = "20_1271948660.90108"
+ .const 'Sub' $P178 = "20_1272455249.42318"
capture_lex $P178
$P178()
if_168_end:
@@ -7526,13 +7526,13 @@
iter $P130, $P132
new $P166, 'ExceptionHandler'
set_addr $P166, loop165_handler
- $P166."handle_types"(65, 67, 66)
+ $P166."handle_types"(64, 66, 65)
push_eh $P166
loop165_test:
unless $P130, loop165_done
shift $P134, $P130
loop165_redo:
- .const 'Sub' $P136 = "18_1271948660.90108"
+ .const 'Sub' $P136 = "18_1272455249.42318"
capture_lex $P136
$P136($P134)
loop165_next:
@@ -7541,8 +7541,8 @@
.local pmc exception
.get_results (exception)
getattribute $P167, exception, 'type'
- eq $P167, 65, loop165_next
- eq $P167, 67, loop165_redo
+ eq $P167, 64, loop165_next
+ eq $P167, 66, loop165_redo
loop165_done:
pop_eh
for_undef_114:
@@ -7551,7 +7551,7 @@
goto if_64_end
if_64:
.annotate "line", 499
- .const 'Sub' $P69 = "15_1271948660.90108"
+ .const 'Sub' $P69 = "15_1272455249.42318"
capture_lex $P69
$P69()
if_64_end:
@@ -7575,9 +7575,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block282" :anon :subid("25_1271948660.90108") :outer("14_1271948660.90108")
+.sub "_block282" :anon :subid("25_1272455249.42318") :outer("14_1272455249.42318")
.annotate "line", 551
- .const 'Sub' $P294 = "26_1271948660.90108"
+ .const 'Sub' $P294 = "26_1272455249.42318"
capture_lex $P294
.annotate "line", 552
$P284 = root_new ['parrot';'Hash']
@@ -7600,13 +7600,13 @@
iter $P289, $P290
new $P300, 'ExceptionHandler'
set_addr $P300, loop299_handler
- $P300."handle_types"(65, 67, 66)
+ $P300."handle_types"(64, 66, 65)
push_eh $P300
loop299_test:
unless $P289, loop299_done
shift $P292, $P289
loop299_redo:
- .const 'Sub' $P294 = "26_1271948660.90108"
+ .const 'Sub' $P294 = "26_1272455249.42318"
capture_lex $P294
$P294($P292)
loop299_next:
@@ -7615,8 +7615,8 @@
.local pmc exception
.get_results (exception)
getattribute $P301, exception, 'type'
- eq $P301, 65, loop299_next
- eq $P301, 67, loop299_redo
+ eq $P301, 64, loop299_next
+ eq $P301, 66, loop299_redo
loop299_done:
pop_eh
for_undef_96:
@@ -7636,7 +7636,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block293" :anon :subid("26_1271948660.90108") :outer("25_1271948660.90108")
+.sub "_block293" :anon :subid("26_1272455249.42318") :outer("25_1272455249.42318")
.param pmc param_295
.annotate "line", 553
.lex "$_", param_295
@@ -7656,11 +7656,11 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block219" :anon :subid("22_1271948660.90108") :outer("14_1271948660.90108")
+.sub "_block219" :anon :subid("22_1272455249.42318") :outer("14_1272455249.42318")
.annotate "line", 534
- .const 'Sub' $P260 = "24_1271948660.90108"
+ .const 'Sub' $P260 = "24_1272455249.42318"
capture_lex $P260
- .const 'Sub' $P232 = "23_1271948660.90108"
+ .const 'Sub' $P232 = "23_1272455249.42318"
capture_lex $P232
.annotate "line", 535
new $P221, "Undef"
@@ -7689,13 +7689,13 @@
iter $P227, $P228
new $P249, 'ExceptionHandler'
set_addr $P249, loop248_handler
- $P249."handle_types"(65, 67, 66)
+ $P249."handle_types"(64, 66, 65)
push_eh $P249
loop248_test:
unless $P227, loop248_done
shift $P230, $P227
loop248_redo:
- .const 'Sub' $P232 = "23_1271948660.90108"
+ .const 'Sub' $P232 = "23_1272455249.42318"
capture_lex $P232
$P232($P230)
loop248_next:
@@ -7704,8 +7704,8 @@
.local pmc exception
.get_results (exception)
getattribute $P250, exception, 'type'
- eq $P250, 65, loop248_next
- eq $P250, 67, loop248_redo
+ eq $P250, 64, loop248_next
+ eq $P250, 66, loop248_redo
loop248_done:
pop_eh
for_undef_100:
@@ -7728,13 +7728,13 @@
iter $P255, $P256
new $P274, 'ExceptionHandler'
set_addr $P274, loop273_handler
- $P274."handle_types"(65, 67, 66)
+ $P274."handle_types"(64, 66, 65)
push_eh $P274
loop273_test:
unless $P255, loop273_done
shift $P258, $P255
loop273_redo:
- .const 'Sub' $P260 = "24_1271948660.90108"
+ .const 'Sub' $P260 = "24_1272455249.42318"
capture_lex $P260
$P260($P258)
loop273_next:
@@ -7743,8 +7743,8 @@
.local pmc exception
.get_results (exception)
getattribute $P275, exception, 'type'
- eq $P275, 65, loop273_next
- eq $P275, 67, loop273_redo
+ eq $P275, 64, loop273_next
+ eq $P275, 66, loop273_redo
loop273_done:
pop_eh
for_undef_104:
@@ -7764,7 +7764,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block231" :anon :subid("23_1271948660.90108") :outer("22_1271948660.90108")
+.sub "_block231" :anon :subid("23_1272455249.42318") :outer("22_1272455249.42318")
.param pmc param_233
.annotate "line", 541
.lex "$_", param_233
@@ -7804,7 +7804,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block259" :anon :subid("24_1271948660.90108") :outer("22_1271948660.90108")
+.sub "_block259" :anon :subid("24_1272455249.42318") :outer("22_1272455249.42318")
.param pmc param_261
.annotate "line", 546
.lex "$_", param_261
@@ -7844,9 +7844,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block177" :anon :subid("20_1271948660.90108") :outer("14_1271948660.90108")
+.sub "_block177" :anon :subid("20_1272455249.42318") :outer("14_1272455249.42318")
.annotate "line", 521
- .const 'Sub' $P196 = "21_1271948660.90108"
+ .const 'Sub' $P196 = "21_1272455249.42318"
capture_lex $P196
.annotate "line", 522
new $P179, "Undef"
@@ -7883,13 +7883,13 @@
iter $P191, $P192
new $P213, 'ExceptionHandler'
set_addr $P213, loop212_handler
- $P213."handle_types"(65, 67, 66)
+ $P213."handle_types"(64, 66, 65)
push_eh $P213
loop212_test:
unless $P191, loop212_done
shift $P194, $P191
loop212_redo:
- .const 'Sub' $P196 = "21_1271948660.90108"
+ .const 'Sub' $P196 = "21_1272455249.42318"
capture_lex $P196
$P196($P194)
loop212_next:
@@ -7898,8 +7898,8 @@
.local pmc exception
.get_results (exception)
getattribute $P214, exception, 'type'
- eq $P214, 65, loop212_next
- eq $P214, 67, loop212_redo
+ eq $P214, 64, loop212_next
+ eq $P214, 66, loop212_redo
loop212_done:
pop_eh
for_undef_112:
@@ -7909,7 +7909,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block195" :anon :subid("21_1271948660.90108") :outer("20_1271948660.90108")
+.sub "_block195" :anon :subid("21_1272455249.42318") :outer("20_1272455249.42318")
.param pmc param_197
.annotate "line", 529
.lex "$_", param_197
@@ -7949,10 +7949,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block135" :anon :subid("18_1271948660.90108") :outer("14_1271948660.90108")
+.sub "_block135" :anon :subid("18_1272455249.42318") :outer("14_1272455249.42318")
.param pmc param_138
.annotate "line", 513
- .const 'Sub' $P147 = "19_1271948660.90108"
+ .const 'Sub' $P147 = "19_1272455249.42318"
capture_lex $P147
.annotate "line", 514
$P137 = root_new ['parrot';'Hash']
@@ -7969,13 +7969,13 @@
iter $P142, $P143
new $P161, 'ExceptionHandler'
set_addr $P161, loop160_handler
- $P161."handle_types"(65, 67, 66)
+ $P161."handle_types"(64, 66, 65)
push_eh $P161
loop160_test:
unless $P142, loop160_done
shift $P145, $P142
loop160_redo:
- .const 'Sub' $P147 = "19_1271948660.90108"
+ .const 'Sub' $P147 = "19_1272455249.42318"
capture_lex $P147
$P147($P145)
loop160_next:
@@ -7984,8 +7984,8 @@
.local pmc exception
.get_results (exception)
getattribute $P162, exception, 'type'
- eq $P162, 65, loop160_next
- eq $P162, 67, loop160_redo
+ eq $P162, 64, loop160_next
+ eq $P162, 66, loop160_redo
loop160_done:
pop_eh
for_undef_115:
@@ -8005,7 +8005,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block146" :anon :subid("19_1271948660.90108") :outer("18_1271948660.90108")
+.sub "_block146" :anon :subid("19_1272455249.42318") :outer("18_1272455249.42318")
.param pmc param_148
.annotate "line", 515
.lex "$_", param_148
@@ -8045,9 +8045,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68" :anon :subid("15_1271948660.90108") :outer("14_1271948660.90108")
+.sub "_block68" :anon :subid("15_1272455249.42318") :outer("14_1272455249.42318")
.annotate "line", 499
- .const 'Sub' $P78 = "16_1271948660.90108"
+ .const 'Sub' $P78 = "16_1272455249.42318"
capture_lex $P78
.annotate "line", 500
new $P70, "Undef"
@@ -8062,13 +8062,13 @@
iter $P72, $P74
new $P123, 'ExceptionHandler'
set_addr $P123, loop122_handler
- $P123."handle_types"(65, 67, 66)
+ $P123."handle_types"(64, 66, 65)
push_eh $P123
loop122_test:
unless $P72, loop122_done
shift $P76, $P72
loop122_redo:
- .const 'Sub' $P78 = "16_1271948660.90108"
+ .const 'Sub' $P78 = "16_1272455249.42318"
capture_lex $P78
$P78($P76)
loop122_next:
@@ -8077,8 +8077,8 @@
.local pmc exception
.get_results (exception)
getattribute $P124, exception, 'type'
- eq $P124, 65, loop122_next
- eq $P124, 67, loop122_redo
+ eq $P124, 64, loop122_next
+ eq $P124, 66, loop122_redo
loop122_done:
pop_eh
for_undef_123:
@@ -8091,10 +8091,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77" :anon :subid("16_1271948660.90108") :outer("15_1271948660.90108")
+.sub "_block77" :anon :subid("16_1272455249.42318") :outer("15_1272455249.42318")
.param pmc param_80
.annotate "line", 501
- .const 'Sub' $P89 = "17_1271948660.90108"
+ .const 'Sub' $P89 = "17_1272455249.42318"
capture_lex $P89
.annotate "line", 502
$P79 = root_new ['parrot';'Hash']
@@ -8111,13 +8111,13 @@
iter $P84, $P85
new $P110, 'ExceptionHandler'
set_addr $P110, loop109_handler
- $P110."handle_types"(65, 67, 66)
+ $P110."handle_types"(64, 66, 65)
push_eh $P110
loop109_test:
unless $P84, loop109_done
shift $P87, $P84
loop109_redo:
- .const 'Sub' $P89 = "17_1271948660.90108"
+ .const 'Sub' $P89 = "17_1272455249.42318"
capture_lex $P89
$P89($P87)
loop109_next:
@@ -8126,8 +8126,8 @@
.local pmc exception
.get_results (exception)
getattribute $P111, exception, 'type'
- eq $P111, 65, loop109_next
- eq $P111, 67, loop109_redo
+ eq $P111, 64, loop109_next
+ eq $P111, 66, loop109_redo
loop109_done:
pop_eh
for_undef_124:
@@ -8166,7 +8166,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88" :anon :subid("17_1271948660.90108") :outer("16_1271948660.90108")
+.sub "_block88" :anon :subid("17_1272455249.42318") :outer("16_1272455249.42318")
.param pmc param_90
.annotate "line", 503
.lex "$_", param_90
@@ -8225,13 +8225,13 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod" :subid("27_1271948660.90108") :outer("11_1271948660.90108")
+.sub "backmod" :subid("27_1272455249.42318") :outer("11_1272455249.42318")
.param pmc param_311
.param pmc param_312
.annotate "line", 562
new $P310, 'ExceptionHandler'
set_addr $P310, control_309
- $P310."handle_types"(58)
+ $P310."handle_types"(57)
push_eh $P310
.lex "$ast", param_311
.lex "$backmod", param_312
@@ -8299,13 +8299,13 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias" :subid("28_1271948660.90108") :outer("11_1271948660.90108")
+.sub "subrule_alias" :subid("28_1272455249.42318") :outer("11_1272455249.42318")
.param pmc param_343
.param pmc param_344
.annotate "line", 569
new $P342, 'ExceptionHandler'
set_addr $P342, control_341
- $P342."handle_types"(58)
+ $P342."handle_types"(57)
push_eh $P342
.lex "$past", param_343
.lex "$name", param_344
@@ -8343,12 +8343,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg" :subid("29_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "arg" :subid("29_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_365
.annotate "line", 14
new $P364, 'ExceptionHandler'
set_addr $P364, control_363
- $P364."handle_types"(58)
+ $P364."handle_types"(57)
push_eh $P364
.lex "self", self
.lex "$/", param_365
@@ -8399,14 +8399,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist" :subid("30_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "arglist" :subid("30_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_382
.annotate "line", 18
- .const 'Sub' $P392 = "31_1271948660.90108"
+ .const 'Sub' $P392 = "31_1272455249.42318"
capture_lex $P392
new $P381, 'ExceptionHandler'
set_addr $P381, control_380
- $P381."handle_types"(58)
+ $P381."handle_types"(57)
push_eh $P381
.lex "self", self
.lex "$/", param_382
@@ -8430,13 +8430,13 @@
iter $P386, $P388
new $P399, 'ExceptionHandler'
set_addr $P399, loop398_handler
- $P399."handle_types"(65, 67, 66)
+ $P399."handle_types"(64, 66, 65)
push_eh $P399
loop398_test:
unless $P386, loop398_done
shift $P390, $P386
loop398_redo:
- .const 'Sub' $P392 = "31_1271948660.90108"
+ .const 'Sub' $P392 = "31_1272455249.42318"
capture_lex $P392
$P392($P390)
loop398_next:
@@ -8445,8 +8445,8 @@
.local pmc exception
.get_results (exception)
getattribute $P400, exception, 'type'
- eq $P400, 65, loop398_next
- eq $P400, 67, loop398_redo
+ eq $P400, 64, loop398_next
+ eq $P400, 66, loop398_redo
loop398_done:
pop_eh
for_undef_143:
@@ -8465,7 +8465,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block391" :anon :subid("31_1271948660.90108") :outer("30_1271948660.90108")
+.sub "_block391" :anon :subid("31_1272455249.42318") :outer("30_1272455249.42318")
.param pmc param_393
.annotate "line", 20
.lex "$_", param_393
@@ -8478,12 +8478,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP" :subid("32_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "TOP" :subid("32_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_408
.annotate "line", 24
new $P407, 'ExceptionHandler'
set_addr $P407, control_406
- $P407."handle_types"(58)
+ $P407."handle_types"(57)
push_eh $P407
.lex "self", self
.lex "$/", param_408
@@ -8520,18 +8520,18 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler" :subid("33_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "nibbler" :subid("33_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_423
.param pmc param_424 :optional
.param int has_param_424 :opt_flag
.annotate "line", 30
- .const 'Sub' $P458 = "35_1271948660.90108"
+ .const 'Sub' $P458 = "35_1272455249.42318"
capture_lex $P458
- .const 'Sub' $P432 = "34_1271948660.90108"
+ .const 'Sub' $P432 = "34_1272455249.42318"
capture_lex $P432
new $P422, 'ExceptionHandler'
set_addr $P422, control_421
- $P422."handle_types"(58)
+ $P422."handle_types"(57)
push_eh $P422
.lex "self", self
.lex "$/", param_423
@@ -8548,7 +8548,7 @@
set $S429, $P428
iseq $I430, $S429, "open"
unless $I430, if_427_end
- .const 'Sub' $P432 = "34_1271948660.90108"
+ .const 'Sub' $P432 = "34_1272455249.42318"
capture_lex $P432
$P432()
if_427_end:
@@ -8605,13 +8605,13 @@
iter $P452, $P454
new $P465, 'ExceptionHandler'
set_addr $P465, loop464_handler
- $P465."handle_types"(65, 67, 66)
+ $P465."handle_types"(64, 66, 65)
push_eh $P465
loop464_test:
unless $P452, loop464_done
shift $P456, $P452
loop464_redo:
- .const 'Sub' $P458 = "35_1271948660.90108"
+ .const 'Sub' $P458 = "35_1272455249.42318"
capture_lex $P458
$P458($P456)
loop464_next:
@@ -8620,8 +8620,8 @@
.local pmc exception
.get_results (exception)
getattribute $P466, exception, 'type'
- eq $P466, 65, loop464_next
- eq $P466, 67, loop464_redo
+ eq $P466, 64, loop464_next
+ eq $P466, 66, loop464_redo
loop464_done:
pop_eh
for_undef_156:
@@ -8641,7 +8641,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block431" :anon :subid("34_1271948660.90108") :outer("33_1271948660.90108")
+.sub "_block431" :anon :subid("34_1272455249.42318") :outer("33_1272455249.42318")
.annotate "line", 32
$P433 = root_new ['parrot';'Hash']
.lex "%old", $P433
@@ -8670,7 +8670,7 @@
$P438."unshift"($P439)
.annotate "line", 38
new $P440, "Exception"
- set $P440['type'], 58
+ set $P440['type'], 57
new $P441, "Integer"
assign $P441, 1
setattribute $P440, 'payload', $P441
@@ -8681,7 +8681,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block457" :anon :subid("35_1271948660.90108") :outer("33_1271948660.90108")
+.sub "_block457" :anon :subid("35_1272455249.42318") :outer("33_1272455249.42318")
.param pmc param_459
.annotate "line", 45
.lex "$_", param_459
@@ -8696,14 +8696,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish" :subid("36_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "termish" :subid("36_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_478
.annotate "line", 55
- .const 'Sub' $P491 = "37_1271948660.90108"
+ .const 'Sub' $P491 = "37_1272455249.42318"
capture_lex $P491
new $P477, 'ExceptionHandler'
set_addr $P477, control_476
- $P477."handle_types"(58)
+ $P477."handle_types"(57)
push_eh $P477
.lex "self", self
.lex "$/", param_478
@@ -8736,13 +8736,13 @@
iter $P485, $P487
new $P537, 'ExceptionHandler'
set_addr $P537, loop536_handler
- $P537."handle_types"(65, 67, 66)
+ $P537."handle_types"(64, 66, 65)
push_eh $P537
loop536_test:
unless $P485, loop536_done
shift $P489, $P485
loop536_redo:
- .const 'Sub' $P491 = "37_1271948660.90108"
+ .const 'Sub' $P491 = "37_1272455249.42318"
capture_lex $P491
$P491($P489)
loop536_next:
@@ -8751,8 +8751,8 @@
.local pmc exception
.get_results (exception)
getattribute $P538, exception, 'type'
- eq $P538, 65, loop536_next
- eq $P538, 67, loop536_redo
+ eq $P538, 64, loop536_next
+ eq $P538, 66, loop536_redo
loop536_done:
pop_eh
for_undef_159:
@@ -8771,7 +8771,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block490" :anon :subid("37_1271948660.90108") :outer("36_1271948660.90108")
+.sub "_block490" :anon :subid("37_1272455249.42318") :outer("36_1272455249.42318")
.param pmc param_493
.annotate "line", 59
new $P492, "Undef"
@@ -8898,14 +8898,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom" :subid("38_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "quantified_atom" :subid("38_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_546
.annotate "line", 76
- .const 'Sub' $P555 = "39_1271948660.90108"
+ .const 'Sub' $P555 = "39_1272455249.42318"
capture_lex $P555
new $P545, 'ExceptionHandler'
set_addr $P545, control_544
- $P545."handle_types"(58)
+ $P545."handle_types"(57)
push_eh $P545
.lex "self", self
.lex "$/", param_546
@@ -8964,7 +8964,7 @@
goto if_551_end
if_551:
.annotate "line", 78
- .const 'Sub' $P555 = "39_1271948660.90108"
+ .const 'Sub' $P555 = "39_1272455249.42318"
capture_lex $P555
$P555()
if_551_end:
@@ -9018,7 +9018,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block554" :anon :subid("39_1271948660.90108") :outer("38_1271948660.90108")
+.sub "_block554" :anon :subid("39_1272455249.42318") :outer("38_1272455249.42318")
.annotate "line", 80
new $P556, "Undef"
.lex "$qast", $P556
@@ -9057,12 +9057,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom" :subid("40_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "atom" :subid("40_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_596
.annotate "line", 91
new $P595, 'ExceptionHandler'
set_addr $P595, control_594
- $P595."handle_types"(58)
+ $P595."handle_types"(57)
push_eh $P595
.lex "self", self
.lex "$/", param_596
@@ -9135,12 +9135,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>" :subid("41_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "quantifier:sym<*>" :subid("41_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_622
.annotate "line", 101
new $P621, 'ExceptionHandler'
set_addr $P621, control_620
- $P621."handle_types"(58)
+ $P621."handle_types"(57)
push_eh $P621
.lex "self", self
.lex "$/", param_622
@@ -9175,12 +9175,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>" :subid("42_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "quantifier:sym<+>" :subid("42_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_637
.annotate "line", 106
new $P636, 'ExceptionHandler'
set_addr $P636, control_635
- $P636."handle_types"(58)
+ $P636."handle_types"(57)
push_eh $P636
.lex "self", self
.lex "$/", param_637
@@ -9215,12 +9215,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>" :subid("43_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "quantifier:sym<?>" :subid("43_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_652
.annotate "line", 111
new $P651, 'ExceptionHandler'
set_addr $P651, control_650
- $P651."handle_types"(58)
+ $P651."handle_types"(57)
push_eh $P651
.lex "self", self
.lex "$/", param_652
@@ -9259,12 +9259,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>" :subid("44_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "quantifier:sym<**>" :subid("44_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_669
.annotate "line", 117
new $P668, 'ExceptionHandler'
set_addr $P668, control_667
- $P668."handle_types"(58)
+ $P668."handle_types"(57)
push_eh $P668
.lex "self", self
.lex "$/", param_669
@@ -9399,12 +9399,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>" :subid("45_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<ws>" :subid("45_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_716
.annotate "line", 131
new $P715, 'ExceptionHandler'
set_addr $P715, control_714
- $P715."handle_types"(58)
+ $P715."handle_types"(57)
push_eh $P715
.lex "self", self
.lex "$/", param_716
@@ -9451,12 +9451,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>" :subid("46_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<[ ]>" :subid("46_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_734
.annotate "line", 140
new $P733, 'ExceptionHandler'
set_addr $P733, control_732
- $P733."handle_types"(58)
+ $P733."handle_types"(57)
push_eh $P733
.lex "self", self
.lex "$/", param_734
@@ -9483,12 +9483,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>" :subid("47_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<( )>" :subid("47_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_744
.annotate "line", 144
new $P743, 'ExceptionHandler'
set_addr $P743, control_742
- $P743."handle_types"(58)
+ $P743."handle_types"(57)
push_eh $P743
.lex "self", self
.lex "$/", param_744
@@ -9531,12 +9531,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>" :subid("48_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<'>" :subid("48_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_762
.annotate "line", 151
new $P761, 'ExceptionHandler'
set_addr $P761, control_760
- $P761."handle_types"(58)
+ $P761."handle_types"(57)
push_eh $P761
.lex "self", self
.lex "$/", param_762
@@ -9587,12 +9587,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">" :subid("49_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<\">" :subid("49_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_785
.annotate "line", 158
new $P784, 'ExceptionHandler'
set_addr $P784, control_783
- $P784."handle_types"(58)
+ $P784."handle_types"(57)
push_eh $P784
.lex "self", self
.lex "$/", param_785
@@ -9643,12 +9643,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>" :subid("50_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<.>" :subid("50_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_808
.annotate "line", 165
new $P807, 'ExceptionHandler'
set_addr $P807, control_806
- $P807."handle_types"(58)
+ $P807."handle_types"(57)
push_eh $P807
.lex "self", self
.lex "$/", param_808
@@ -9674,12 +9674,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>" :subid("51_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<^>" :subid("51_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_820
.annotate "line", 170
new $P819, 'ExceptionHandler'
set_addr $P819, control_818
- $P819."handle_types"(58)
+ $P819."handle_types"(57)
push_eh $P819
.lex "self", self
.lex "$/", param_820
@@ -9705,12 +9705,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>" :subid("52_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<^^>" :subid("52_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_832
.annotate "line", 175
new $P831, 'ExceptionHandler'
set_addr $P831, control_830
- $P831."handle_types"(58)
+ $P831."handle_types"(57)
push_eh $P831
.lex "self", self
.lex "$/", param_832
@@ -9736,12 +9736,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>" :subid("53_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<$>" :subid("53_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_844
.annotate "line", 180
new $P843, 'ExceptionHandler'
set_addr $P843, control_842
- $P843."handle_types"(58)
+ $P843."handle_types"(57)
push_eh $P843
.lex "self", self
.lex "$/", param_844
@@ -9767,12 +9767,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>" :subid("54_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<$$>" :subid("54_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_856
.annotate "line", 185
new $P855, 'ExceptionHandler'
set_addr $P855, control_854
- $P855."handle_types"(58)
+ $P855."handle_types"(57)
push_eh $P855
.lex "self", self
.lex "$/", param_856
@@ -9798,12 +9798,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>" :subid("55_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<:::>" :subid("55_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_868
.annotate "line", 190
new $P867, 'ExceptionHandler'
set_addr $P867, control_866
- $P867."handle_types"(58)
+ $P867."handle_types"(57)
push_eh $P867
.lex "self", self
.lex "$/", param_868
@@ -9829,12 +9829,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>" :subid("56_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<lwb>" :subid("56_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_880
.annotate "line", 195
new $P879, 'ExceptionHandler'
set_addr $P879, control_878
- $P879."handle_types"(58)
+ $P879."handle_types"(57)
push_eh $P879
.lex "self", self
.lex "$/", param_880
@@ -9860,12 +9860,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>" :subid("57_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<rwb>" :subid("57_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_892
.annotate "line", 200
new $P891, 'ExceptionHandler'
set_addr $P891, control_890
- $P891."handle_types"(58)
+ $P891."handle_types"(57)
push_eh $P891
.lex "self", self
.lex "$/", param_892
@@ -9891,12 +9891,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>" :subid("58_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<bs>" :subid("58_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_904
.annotate "line", 205
new $P903, 'ExceptionHandler'
set_addr $P903, control_902
- $P903."handle_types"(58)
+ $P903."handle_types"(57)
push_eh $P903
.lex "self", self
.lex "$/", param_904
@@ -9923,12 +9923,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>" :subid("59_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<mod>" :subid("59_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_914
.annotate "line", 209
new $P913, 'ExceptionHandler'
set_addr $P913, control_912
- $P913."handle_types"(58)
+ $P913."handle_types"(57)
push_eh $P913
.lex "self", self
.lex "$/", param_914
@@ -9955,12 +9955,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>" :subid("60_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<assert>" :subid("60_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_924
.annotate "line", 213
new $P923, 'ExceptionHandler'
set_addr $P923, control_922
- $P923."handle_types"(58)
+ $P923."handle_types"(57)
push_eh $P923
.lex "self", self
.lex "$/", param_924
@@ -9987,12 +9987,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>" :subid("61_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<~>" :subid("61_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_934
.annotate "line", 217
new $P933, 'ExceptionHandler'
set_addr $P933, control_932
- $P933."handle_types"(58)
+ $P933."handle_types"(57)
push_eh $P933
.lex "self", self
.lex "$/", param_934
@@ -10049,12 +10049,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>" :subid("62_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<{*}>" :subid("62_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_956
.annotate "line", 230
new $P955, 'ExceptionHandler'
set_addr $P955, control_954
- $P955."handle_types"(58)
+ $P955."handle_types"(57)
push_eh $P955
.lex "self", self
.lex "$/", param_956
@@ -10110,12 +10110,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>" :subid("63_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<var>" :subid("63_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_977
.annotate "line", 237
new $P976, 'ExceptionHandler'
set_addr $P976, control_975
- $P976."handle_types"(58)
+ $P976."handle_types"(57)
push_eh $P976
.lex "self", self
.lex "$/", param_977
@@ -10270,12 +10270,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>" :subid("64_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "metachar:sym<PIR>" :subid("64_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1033
.annotate "line", 257
new $P1032, 'ExceptionHandler'
set_addr $P1032, control_1031
- $P1032."handle_types"(58)
+ $P1032."handle_types"(57)
push_eh $P1032
.lex "self", self
.lex "$/", param_1033
@@ -10309,12 +10309,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>" :subid("65_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<w>" :subid("65_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1048
.annotate "line", 265
new $P1047, 'ExceptionHandler'
set_addr $P1047, control_1046
- $P1047."handle_types"(58)
+ $P1047."handle_types"(57)
push_eh $P1047
.lex "self", self
.lex "$/", param_1048
@@ -10375,12 +10375,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>" :subid("66_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<b>" :subid("66_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1072
.annotate "line", 271
new $P1071, 'ExceptionHandler'
set_addr $P1071, control_1070
- $P1071."handle_types"(58)
+ $P1071."handle_types"(57)
push_eh $P1071
.lex "self", self
.lex "$/", param_1072
@@ -10418,12 +10418,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>" :subid("67_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<e>" :subid("67_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1088
.annotate "line", 277
new $P1087, 'ExceptionHandler'
set_addr $P1087, control_1086
- $P1087."handle_types"(58)
+ $P1087."handle_types"(57)
push_eh $P1087
.lex "self", self
.lex "$/", param_1088
@@ -10461,12 +10461,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>" :subid("68_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<f>" :subid("68_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1104
.annotate "line", 283
new $P1103, 'ExceptionHandler'
set_addr $P1103, control_1102
- $P1103."handle_types"(58)
+ $P1103."handle_types"(57)
push_eh $P1103
.lex "self", self
.lex "$/", param_1104
@@ -10504,12 +10504,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>" :subid("69_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<h>" :subid("69_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1120
.annotate "line", 289
new $P1119, 'ExceptionHandler'
set_addr $P1119, control_1118
- $P1119."handle_types"(58)
+ $P1119."handle_types"(57)
push_eh $P1119
.lex "self", self
.lex "$/", param_1120
@@ -10547,12 +10547,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>" :subid("70_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<r>" :subid("70_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1136
.annotate "line", 295
new $P1135, 'ExceptionHandler'
set_addr $P1135, control_1134
- $P1135."handle_types"(58)
+ $P1135."handle_types"(57)
push_eh $P1135
.lex "self", self
.lex "$/", param_1136
@@ -10590,12 +10590,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>" :subid("71_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<t>" :subid("71_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1152
.annotate "line", 301
new $P1151, 'ExceptionHandler'
set_addr $P1151, control_1150
- $P1151."handle_types"(58)
+ $P1151."handle_types"(57)
push_eh $P1151
.lex "self", self
.lex "$/", param_1152
@@ -10633,12 +10633,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>" :subid("72_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<v>" :subid("72_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1168
.annotate "line", 307
new $P1167, 'ExceptionHandler'
set_addr $P1167, control_1166
- $P1167."handle_types"(58)
+ $P1167."handle_types"(57)
push_eh $P1167
.lex "self", self
.lex "$/", param_1168
@@ -10676,12 +10676,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>" :subid("73_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<o>" :subid("73_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1184
.annotate "line", 314
new $P1183, 'ExceptionHandler'
set_addr $P1183, control_1182
- $P1183."handle_types"(58)
+ $P1183."handle_types"(57)
push_eh $P1183
.lex "self", self
.lex "$/", param_1184
@@ -10759,12 +10759,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>" :subid("74_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<x>" :subid("74_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1215
.annotate "line", 323
new $P1214, 'ExceptionHandler'
set_addr $P1214, control_1213
- $P1214."handle_types"(58)
+ $P1214."handle_types"(57)
push_eh $P1214
.lex "self", self
.lex "$/", param_1215
@@ -10842,12 +10842,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>" :subid("75_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<c>" :subid("75_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1246
.annotate "line", 332
new $P1245, 'ExceptionHandler'
set_addr $P1245, control_1244
- $P1245."handle_types"(58)
+ $P1245."handle_types"(57)
push_eh $P1245
.lex "self", self
.lex "$/", param_1246
@@ -10877,12 +10877,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>" :subid("76_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "backslash:sym<misc>" :subid("76_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1259
.annotate "line", 336
new $P1258, 'ExceptionHandler'
set_addr $P1258, control_1257
- $P1258."handle_types"(58)
+ $P1258."handle_types"(57)
push_eh $P1258
.lex "self", self
.lex "$/", param_1259
@@ -10910,12 +10910,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>" :subid("77_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "assertion:sym<?>" :subid("77_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1273
.annotate "line", 342
new $P1272, 'ExceptionHandler'
set_addr $P1272, control_1271
- $P1272."handle_types"(58)
+ $P1272."handle_types"(57)
push_eh $P1272
.lex "self", self
.lex "$/", param_1273
@@ -10970,12 +10970,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>" :subid("78_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "assertion:sym<!>" :subid("78_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1291
.annotate "line", 352
new $P1290, 'ExceptionHandler'
set_addr $P1290, control_1289
- $P1290."handle_types"(58)
+ $P1290."handle_types"(57)
push_eh $P1290
.lex "self", self
.lex "$/", param_1291
@@ -11038,12 +11038,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>" :subid("79_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "assertion:sym<method>" :subid("79_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1315
.annotate "line", 365
new $P1314, 'ExceptionHandler'
set_addr $P1314, control_1313
- $P1314."handle_types"(58)
+ $P1314."handle_types"(57)
push_eh $P1314
.lex "self", self
.lex "$/", param_1315
@@ -11081,16 +11081,16 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>" :subid("80_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "assertion:sym<name>" :subid("80_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1329
.annotate "line", 372
- .const 'Sub' $P1387 = "82_1271948660.90108"
+ .const 'Sub' $P1387 = "82_1272455249.42318"
capture_lex $P1387
- .const 'Sub' $P1351 = "81_1271948660.90108"
+ .const 'Sub' $P1351 = "81_1272455249.42318"
capture_lex $P1351
new $P1328, 'ExceptionHandler'
set_addr $P1328, control_1327
- $P1328."handle_types"(58)
+ $P1328."handle_types"(57)
push_eh $P1328
.lex "self", self
.lex "$/", param_1329
@@ -11176,13 +11176,13 @@
iter $P1378, $P1383
new $P1393, 'ExceptionHandler'
set_addr $P1393, loop1392_handler
- $P1393."handle_types"(65, 67, 66)
+ $P1393."handle_types"(64, 66, 65)
push_eh $P1393
loop1392_test:
unless $P1378, loop1392_done
shift $P1385, $P1378
loop1392_redo:
- .const 'Sub' $P1387 = "82_1271948660.90108"
+ .const 'Sub' $P1387 = "82_1272455249.42318"
capture_lex $P1387
$P1387($P1385)
loop1392_next:
@@ -11191,8 +11191,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1394, exception, 'type'
- eq $P1394, 65, loop1392_next
- eq $P1394, 67, loop1392_redo
+ eq $P1394, 64, loop1392_next
+ eq $P1394, 66, loop1392_redo
loop1392_done:
pop_eh
for_undef_316:
@@ -11222,7 +11222,7 @@
goto if_1346_end
if_1346:
.annotate "line", 379
- .const 'Sub' $P1351 = "81_1271948660.90108"
+ .const 'Sub' $P1351 = "81_1272455249.42318"
capture_lex $P1351
$P1351()
if_1346_end:
@@ -11263,7 +11263,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1386" :anon :subid("82_1271948660.90108") :outer("80_1271948660.90108")
+.sub "_block1386" :anon :subid("82_1272455249.42318") :outer("80_1272455249.42318")
.param pmc param_1388
.annotate "line", 401
.lex "$_", param_1388
@@ -11275,7 +11275,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1350" :anon :subid("81_1271948660.90108") :outer("80_1271948660.90108")
+.sub "_block1350" :anon :subid("81_1272455249.42318") :outer("80_1272455249.42318")
.annotate "line", 380
new $P1352, "Undef"
.lex "$regexsym", $P1352
@@ -11285,7 +11285,7 @@
$I0 = index $S0, ':sym<'
add $I0, 5
$S0 = substr $S0, $I0
- chopn $S0, 1
+ $S0 = chopn $S0, 1
$P1353 = box $S0
store_lex "$regexsym", $P1353
@@ -11306,14 +11306,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>" :subid("83_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "assertion:sym<[>" :subid("83_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1402
.annotate "line", 407
- .const 'Sub' $P1437 = "84_1271948660.90108"
+ .const 'Sub' $P1437 = "84_1272455249.42318"
capture_lex $P1437
new $P1401, 'ExceptionHandler'
set_addr $P1401, control_1400
- $P1401."handle_types"(58)
+ $P1401."handle_types"(57)
push_eh $P1401
.lex "self", self
.lex "$/", param_1402
@@ -11391,7 +11391,7 @@
.annotate "line", 420
new $P1461, 'ExceptionHandler'
set_addr $P1461, loop1460_handler
- $P1461."handle_types"(65, 67, 66)
+ $P1461."handle_types"(64, 66, 65)
push_eh $P1461
loop1460_test:
find_lex $P1431, "$i"
@@ -11401,7 +11401,7 @@
islt $I1435, $N1432, $N1434
unless $I1435, loop1460_done
loop1460_redo:
- .const 'Sub' $P1437 = "84_1271948660.90108"
+ .const 'Sub' $P1437 = "84_1272455249.42318"
capture_lex $P1437
$P1437()
loop1460_next:
@@ -11410,8 +11410,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1462, exception, 'type'
- eq $P1462, 65, loop1460_next
- eq $P1462, 67, loop1460_redo
+ eq $P1462, 64, loop1460_next
+ eq $P1462, 66, loop1460_redo
loop1460_done:
pop_eh
.annotate "line", 431
@@ -11429,7 +11429,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1436" :anon :subid("84_1271948660.90108") :outer("83_1271948660.90108")
+.sub "_block1436" :anon :subid("84_1272455249.42318") :outer("83_1272455249.42318")
.annotate "line", 421
new $P1438, "Undef"
.lex "$ast", $P1438
@@ -11480,16 +11480,16 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem" :subid("85_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "cclass_elem" :subid("85_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1470
.annotate "line", 434
- .const 'Sub' $P1495 = "87_1271948660.90108"
+ .const 'Sub' $P1495 = "87_1272455249.42318"
capture_lex $P1495
- .const 'Sub' $P1479 = "86_1271948660.90108"
+ .const 'Sub' $P1479 = "86_1272455249.42318"
capture_lex $P1479
new $P1469, 'ExceptionHandler'
set_addr $P1469, control_1468
- $P1469."handle_types"(58)
+ $P1469."handle_types"(57)
push_eh $P1469
.lex "self", self
.lex "$/", param_1470
@@ -11528,13 +11528,13 @@
iter $P1489, $P1491
new $P1521, 'ExceptionHandler'
set_addr $P1521, loop1520_handler
- $P1521."handle_types"(65, 67, 66)
+ $P1521."handle_types"(64, 66, 65)
push_eh $P1521
loop1520_test:
unless $P1489, loop1520_done
shift $P1493, $P1489
loop1520_redo:
- .const 'Sub' $P1495 = "87_1271948660.90108"
+ .const 'Sub' $P1495 = "87_1272455249.42318"
capture_lex $P1495
$P1495($P1493)
loop1520_next:
@@ -11543,8 +11543,8 @@
.local pmc exception
.get_results (exception)
getattribute $P1522, exception, 'type'
- eq $P1522, 65, loop1520_next
- eq $P1522, 67, loop1520_redo
+ eq $P1522, 64, loop1520_next
+ eq $P1522, 66, loop1520_redo
loop1520_done:
pop_eh
for_undef_333:
@@ -11558,7 +11558,7 @@
goto if_1475_end
if_1475:
.annotate "line", 437
- .const 'Sub' $P1479 = "86_1271948660.90108"
+ .const 'Sub' $P1479 = "86_1272455249.42318"
capture_lex $P1479
$P1479()
if_1475_end:
@@ -11590,10 +11590,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1494" :anon :subid("87_1271948660.90108") :outer("85_1271948660.90108")
+.sub "_block1494" :anon :subid("87_1272455249.42318") :outer("85_1272455249.42318")
.param pmc param_1496
.annotate "line", 441
- .const 'Sub' $P1502 = "88_1271948660.90108"
+ .const 'Sub' $P1502 = "88_1272455249.42318"
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_1271948660.90108"
+ .const 'Sub' $P1502 = "88_1272455249.42318"
capture_lex $P1502
$P1515 = $P1502()
set $P1497, $P1515
@@ -11633,7 +11633,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1501" :anon :subid("88_1271948660.90108") :outer("87_1271948660.90108")
+.sub "_block1501" :anon :subid("88_1272455249.42318") :outer("87_1272455249.42318")
.annotate "line", 443
new $P1503, "Undef"
.lex "$a", $P1503
@@ -11697,7 +11697,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1478" :anon :subid("86_1271948660.90108") :outer("85_1271948660.90108")
+.sub "_block1478" :anon :subid("86_1272455249.42318") :outer("85_1272455249.42318")
.annotate "line", 438
new $P1480, "Undef"
.lex "$name", $P1480
@@ -11725,12 +11725,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal" :subid("89_1271948660.90108") :method :outer("11_1271948660.90108")
+.sub "mod_internal" :subid("89_1272455249.42318") :method :outer("11_1272455249.42318")
.param pmc param_1539
.annotate "line", 472
new $P1538, 'ExceptionHandler'
set_addr $P1538, control_1537
- $P1538."handle_types"(58)
+ $P1538."handle_types"(57)
push_eh $P1538
.lex "self", self
.lex "$/", param_1539
Modified: branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/Regex-s0.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ext/nqp-rx/src/stage0/Regex-s0.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -1036,7 +1036,7 @@
cand_done:
token_next:
unless token > '' goto fail
- chopn token, 1
+ token = chopn token, 1
goto token_loop
done:
Modified: branches/include_dynpmc_makefile/include/parrot/charset.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/charset.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/charset.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,13 +1,9 @@
/* charset.h
- * Copyright (C) 2004-2008, Parrot Foundation.
+ * Copyright (C) 2004-2010, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
* This is the header for the 8-bit fixed-width encoding
- * Data Structure and Algorithms:
- * History:
- * Notes:
- * References:
*/
#ifndef PARROT_CHARSET_H_GUARD
@@ -33,45 +29,44 @@
#define PARROT_BINARY_CHARSET Parrot_binary_charset_ptr
#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_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+typedef STRING * (*charset_to_charset_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_from_unicode_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_compose_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_decompose_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_upcase_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_downcase_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_titlecase_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_upcase_first_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_downcase_first_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef STRING * (*charset_titlecase_first_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef INTVAL (*charset_compare_t)(PARROT_INTERP, ARGIN(const STRING *lhs), ARGIN(const STRING *rhs));
+typedef INTVAL (*charset_index_t)(PARROT_INTERP, ARGIN(const STRING *src), ARGIN(const STRING *search_string), UINTVAL offset);
+typedef INTVAL (*charset_rindex_t)(PARROT_INTERP, ARGIN(const STRING *src), ARGIN(const STRING *search_string), UINTVAL offset);
+typedef UINTVAL (*charset_validate_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef INTVAL (*charset_is_cclass_t)(PARROT_INTERP, INTVAL, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_cclass_t)(PARROT_INTERP, INTVAL, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+typedef INTVAL (*charset_find_not_cclass_t)(PARROT_INTERP, INTVAL, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+typedef INTVAL (*charset_is_wordchar_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_wordchar_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_not_wordchar_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_is_whitespace_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_whitespace_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_not_whitespace_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_is_digit_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_digit_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_not_digit_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_is_punctuation_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_punctuation_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_not_punctuation_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_is_newline_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_newline_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_not_newline_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef INTVAL (*charset_find_word_boundary_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef STRING * (*charset_string_from_codepoint_t)(PARROT_INTERP, UINTVAL codepoint);
+typedef size_t (*charset_compute_hash_t)(PARROT_INTERP, ARGIN(const STRING *src), size_t seed);
-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 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);
-typedef UINTVAL (*charset_validate_t)(PARROT_INTERP, STRING *source_string);
-typedef INTVAL (*charset_is_cclass_t)(PARROT_INTERP, INTVAL, const STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_cclass_t)(PARROT_INTERP, INTVAL, STRING *source_string, UINTVAL offset, UINTVAL count);
-typedef INTVAL (*charset_find_not_cclass_t)(PARROT_INTERP, INTVAL, STRING *source_string, UINTVAL offset, UINTVAL count);
-typedef INTVAL (*charset_is_wordchar_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_wordchar_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_not_wordchar_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_is_whitespace_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_whitespace_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_not_whitespace_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_is_digit_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_digit_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_not_digit_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_is_punctuation_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_punctuation_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_not_punctuation_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_is_newline_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_newline_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_not_newline_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-typedef INTVAL (*charset_find_word_boundary_t)(PARROT_INTERP, STRING *source_string, UINTVAL offset);
-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);
+typedef STRING * (*charset_converter_t)(PARROT_INTERP, ARGIN(const STRING *src));
/* HEADERIZER BEGIN: src/string/charset.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
Modified: branches/include_dynpmc_makefile/include/parrot/context.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/context.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/context.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -214,11 +214,6 @@
__attribute__nonnull__(2);
PARROT_EXPORT
-size_t Parrot_pcc_get_pred_offset_func(PARROT_INTERP, ARGIN(PMC *ctx))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PARROT_EXPORT
UINTVAL Parrot_pcc_get_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -316,13 +311,6 @@
__attribute__nonnull__(2);
PARROT_EXPORT
-void Parrot_pcc_set_pred_offset_func(PARROT_INTERP,
- ARGIN(PMC *ctx),
- size_t pred_offset)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-PARROT_EXPORT
void Parrot_pcc_set_signature_func(PARROT_INTERP,
ARGIN(PMC *ctx),
ARGIN_NULLOK(PMC *sig_object))
@@ -431,10 +419,6 @@
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
-#define ASSERT_ARGS_Parrot_pcc_get_pred_offset_func \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_get_recursion_depth_func \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
@@ -486,10 +470,6 @@
#define ASSERT_ARGS_Parrot_pcc_set_pc_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
-#define ASSERT_ARGS_Parrot_pcc_set_pred_offset_func \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_set_signature_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
@@ -533,9 +513,6 @@
# define Parrot_pcc_get_namespace(i, c) (__C(c)->current_namespace)
# define Parrot_pcc_set_namespace(i, c, value) (__C(c)->current_namespace = (value))
-# define Parrot_pcc_get_pred_offset(i, c) (__C(c)->pred_offset)
-# define Parrot_pcc_set_pred_offset(i, c, value) (__C(c)->pred_offset = (value))
-
# define Parrot_pcc_get_pc(i, c) (__C(c)->current_pc)
# define Parrot_pcc_set_pc(i, c, value) (__C(c)->current_pc = (value))
@@ -594,9 +571,6 @@
# define Parrot_pcc_get_namespace(i, c) Parrot_pcc_get_namespace_func((i), (c))
# define Parrot_pcc_set_namespace(i, c, value) Parrot_pcc_set_namespace_func((i), (c), (value))
-# define Parrot_pcc_get_pred_offset(i, c) Parrot_pcc_get_pred_offset_func((i), (c))
-# define Parrot_pcc_set_pred_offset(i, c, value) Parrot_pcc_set_pred_offset_func((i), (c), (value))
-
# define Parrot_pcc_get_pc(i, c) Parrot_pcc_get_pc_func((i), (c))
# define Parrot_pcc_set_pc(i, c, value) Parrot_pcc_set_pc_func((i), (c), (value))
Modified: branches/include_dynpmc_makefile/include/parrot/debugger.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/debugger.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/debugger.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -200,9 +200,9 @@
__attribute__nonnull__(1);
PARROT_EXPORT
-void Parrot_debugger_start(PARROT_INTERP, ARGIN(opcode_t * cur_opcode))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
+void Parrot_debugger_start(PARROT_INTERP,
+ ARGIN_NULLOK(opcode_t * cur_opcode))
+ __attribute__nonnull__(1);
PARROT_EXPORT
void PDB_load_source(PARROT_INTERP, ARGIN(const char *command))
@@ -371,8 +371,7 @@
#define ASSERT_ARGS_Parrot_debugger_load __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_debugger_start __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(cur_opcode))
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_PDB_load_source __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(command))
Modified: branches/include_dynpmc_makefile/include/parrot/embed.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/embed.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/embed.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -73,6 +73,8 @@
PARROT_EXPORT void Parrot_run_native(PARROT_INTERP, native_func_t func);
+PARROT_EXPORT void Parrot_load_bytecode(PARROT_INTERP, Parrot_String file_str);
+
/* Parrot_set_config_hash exists in *_config.o (e.g install_config.o),
so if you make this call then you will need to link with it in
addition to libparrot */
Modified: branches/include_dynpmc_makefile/include/parrot/encoding.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/encoding.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/encoding.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -15,16 +15,16 @@
#include "parrot/parrot.h"
-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 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 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);
+typedef STRING * (*encoding_to_encoding_t)(PARROT_INTERP, ARGIN(const STRING *src));
+typedef UINTVAL (*encoding_get_codepoint_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef UINTVAL (*encoding_get_byte_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset);
+typedef void (*encoding_set_byte_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+typedef STRING * (*encoding_get_codepoints_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+typedef STRING * (*encoding_get_bytes_t)(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count);
+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, ARGIN(const STRING *s), ARGIN(const INTVAL *typetable), INTVAL flags, UINTVAL offset, UINTVAL count);
+typedef size_t (*encoding_hash_t)(PARROT_INTERP, ARGIN(const STRING *s), size_t hashval);
/* iterator support */
Modified: branches/include_dynpmc_makefile/include/parrot/exceptions.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/exceptions.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/exceptions.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -51,7 +51,6 @@
EXCEPTION_JIT_UNAVAILABLE,
EXCEPTION_EXEC_UNAVAILABLE,
EXCEPTION_INTERP_ERROR,
- EXCEPTION_PREDEREF_LOAD_ERROR,
EXCEPTION_PARROT_USAGE_ERROR,
EXCEPTION_PIO_ERROR,
EXCEPTION_PARROT_POINTER_ERROR,
Modified: branches/include_dynpmc_makefile/include/parrot/gc_api.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/gc_api.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/gc_api.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -31,6 +31,8 @@
#define WORD_ALIGN_1 (sizeof (void *) - 1)
#define WORD_ALIGN_MASK ~WORD_ALIGN_1
+#define ALIGNED_STRING_SIZE(len) (((len) + sizeof (void*) + WORD_ALIGN_1) & WORD_ALIGN_MASK)
+
/* pool iteration */
typedef enum {
POOL_PMC = 0x01,
Modified: branches/include_dynpmc_makefile/include/parrot/hash.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/hash.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/hash.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,13 +1,9 @@
/* hash.h
- * Copyright (C) 2001-2003, Parrot Foundation.
+ * Copyright (C) 2001-2010, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
* Hashtable implementation
- * Data Structure and Algorithms:
- * History:
- * Notes:
- * References:
*/
#ifndef PARROT_HASH_H_GUARD
Modified: branches/include_dynpmc_makefile/include/parrot/interpreter.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/interpreter.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/interpreter.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -64,9 +64,6 @@
PARROT_SLOW_CORE, /* slow bounds/trace/profile core */
PARROT_FUNCTION_CORE = PARROT_SLOW_CORE,
PARROT_FAST_CORE = 0x01, /* fast DO_OP core */
- PARROT_SWITCH_CORE = 0x02, /* P = prederef */
- PARROT_CGP_CORE = 0x06, /* CP */
- PARROT_CGOTO_CORE = 0x04, /* C = cgoto */
PARROT_EXEC_CORE = 0x20, /* TODO Parrot_exec_run variants */
PARROT_GC_DEBUG_CORE = 0x40, /* run GC before each op */
PARROT_DEBUGGER_CORE = 0x80, /* used by parrot debugger */
@@ -152,18 +149,6 @@
struct _Thread_data; /* in thread.h */
struct _Caches; /* caches .h */
-typedef struct _Prederef_branch { /* item for recording branches */
- size_t offs; /* offset in code */
- void *op; /* opcode at that position */
-} Prederef_branch;
-
-typedef struct _Prederef {
- void **code; /* prederefed code */
- Prederef_branch *branches; /* list of branches in code */
- size_t n_branches; /* entries in that list */
- size_t n_allocated; /* allocated size of it */
-} Prederef;
-
/* Get Context from interpreter */
#define CONTEXT(interp) Parrot_pcc_get_context_struct((interp), (interp)->ctx)
Modified: branches/include_dynpmc_makefile/include/parrot/io.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/io.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/io.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -495,7 +495,7 @@
size_t Parrot_io_write_buffer(PARROT_INTERP,
ARGMOD(PMC *filehandle),
- ARGIN(STRING *s))
+ ARGIN(const STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
@@ -552,12 +552,11 @@
size_t Parrot_io_write_utf8(PARROT_INTERP,
ARGMOD(PMC *filehandle),
- ARGMOD(STRING *s))
+ ARGIN(const STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
- FUNC_MODIFIES(*filehandle)
- FUNC_MODIFIES(*s);
+ FUNC_MODIFIES(*filehandle);
#define ASSERT_ARGS_Parrot_io_read_utf8 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: branches/include_dynpmc_makefile/include/parrot/io_portable.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/io_portable.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/io_portable.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -36,7 +36,9 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*filehandle);
-INTVAL Parrot_io_flush_portable(SHIM_INTERP, SHIM(PMC *filehandle));
+INTVAL Parrot_io_flush_portable(SHIM_INTERP, ARGIN(PMC *filehandle))
+ __attribute__nonnull__(2);
+
INTVAL Parrot_io_getblksize_portable(PIOHANDLE fptr);
INTVAL Parrot_io_init_portable(PARROT_INTERP)
__attribute__nonnull__(1);
@@ -72,9 +74,10 @@
__attribute__nonnull__(3);
size_t Parrot_io_read_portable(PARROT_INTERP,
- SHIM(PMC *filehandle),
+ ARGIN(PMC *filehandle),
ARGIN(STRING **buf))
__attribute__nonnull__(1)
+ __attribute__nonnull__(2)
__attribute__nonnull__(3);
PIOOFF_T Parrot_io_seek_portable(PARROT_INTERP,
@@ -91,11 +94,10 @@
size_t Parrot_io_write_portable(PARROT_INTERP,
ARGIN(PMC *filehandle),
- ARGMOD(STRING *s))
+ ARGIN(const STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*s);
+ __attribute__nonnull__(3);
#define ASSERT_ARGS_Parrot_io_close_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
@@ -103,7 +105,8 @@
#define ASSERT_ARGS_Parrot_io_fdopen_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(filehandle))
-#define ASSERT_ARGS_Parrot_io_flush_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_Parrot_io_flush_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(filehandle))
#define ASSERT_ARGS_Parrot_io_getblksize_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_Parrot_io_init_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
@@ -122,6 +125,7 @@
, PARROT_ASSERT_ARG(buf))
#define ASSERT_ARGS_Parrot_io_read_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(filehandle) \
, PARROT_ASSERT_ARG(buf))
#define ASSERT_ARGS_Parrot_io_seek_portable __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: branches/include_dynpmc_makefile/include/parrot/io_unix.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/io_unix.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/io_unix.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -117,11 +117,10 @@
size_t Parrot_io_write_unix(PARROT_INTERP,
ARGIN(PMC *filehandle),
- ARGMOD(STRING *s))
+ ARGIN(const STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*s);
+ __attribute__nonnull__(3);
#define ASSERT_ARGS_Parrot_io_async_unix __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: branches/include_dynpmc_makefile/include/parrot/io_win32.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/io_win32.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/io_win32.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -110,7 +110,7 @@
size_t Parrot_io_write_win32(PARROT_INTERP,
ARGIN(PMC *filehandle),
- ARGIN(STRING *s))
+ ARGIN(const STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3);
Modified: branches/include_dynpmc_makefile/include/parrot/op.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/op.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/op.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -57,7 +57,6 @@
/* NOTE: Sure wish we could put the types here... */
typedef opcode_t *(*op_func_t)(opcode_t *, PARROT_INTERP);
-typedef void **(*op_func_prederef_t)(void **, PARROT_INTERP);
/*
Modified: branches/include_dynpmc_makefile/include/parrot/oplib.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/oplib.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/oplib.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -51,7 +51,6 @@
CORE_OPS_check_events__, /* inserted into op dispatch when an event
got scheduled */
CORE_OPS_wrapper__, /* inserted by dynop_register for new ops */
- CORE_OPS_prederef__ /* inserted by dynop_register for new ops */
/* 2 more reserved */
} special_core_ops_enum;
Modified: branches/include_dynpmc_makefile/include/parrot/packfile.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/packfile.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/packfile.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -229,7 +229,7 @@
typedef struct PackFile_FixupTable {
PackFile_Segment base;
opcode_t fixup_count;
- PackFile_FixupEntry **fixups;
+ PackFile_FixupEntry *fixups;
PackFile_ByteCode *code; /* where this segment belongs to */
} PackFile_FixupTable;
@@ -255,7 +255,6 @@
struct PackFile_ByteCode {
PackFile_Segment base;
- Prederef prederef; /* The predereferenced code and info */
struct PackFile_Debug *debugs;
PackFile_ConstTable *const_table;
PackFile_FixupTable *fixups;
@@ -270,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;
Modified: branches/include_dynpmc_makefile/include/parrot/pmc_freeze.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/pmc_freeze.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/pmc_freeze.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -113,28 +113,27 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
STRING* Parrot_freeze(PARROT_INTERP, ARGIN(PMC *pmc))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
UINTVAL Parrot_freeze_size(PARROT_INTERP, ARGIN(PMC *pmc))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC* Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC* Parrot_thaw_constants(PARROT_INTERP, ARGIN(STRING *image))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
Modified: branches/include_dynpmc_makefile/include/parrot/pobj.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/pobj.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/pobj.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -55,10 +55,11 @@
/* Given a pointer to the buffer, find the ref_count and the actual start of
the allocated space. Setting ref_count is clunky because we avoid lvalue
casts. */
-#define Buffer_alloc_offset sizeof (INTVAL)
+#define Buffer_alloc_offset sizeof (void*)
#define Buffer_bufallocstart(b) ((char *)Buffer_bufstart(b) - Buffer_alloc_offset)
-#define Buffer_bufrefcount(b) (*(INTVAL *)Buffer_bufallocstart(b))
#define Buffer_bufrefcountptr(b) ((INTVAL *)Buffer_bufallocstart(b))
+#define Buffer_pool(b) ((Memory_Block *)( *(INTVAL*)(Buffer_bufallocstart(b)) & ~3 ))
+#define Buffer_poolptr(b) ((Memory_Block **)Buffer_bufallocstart(b))
typedef enum {
@@ -142,9 +143,7 @@
PObj_sysmem_FLAG = POBJ_FLAG(15),
/* PObj usage FLAGs, COW & GC */
- /* Mark the contents as Copy on write */
- PObj_COW_FLAG = POBJ_FLAG(16),
- /* the Buffer may have COW copies */
+ /* The Buffer allows COW copies, and may have some. */
PObj_is_COWable_FLAG = POBJ_FLAG(17),
/* Private flag for the GC system. Set if the PObj's in use as
* far as the GC's concerned */
@@ -208,10 +207,6 @@
#define PObj_flags_SETTO(o, f) PObj_get_FLAGS(o) = (f)
#define PObj_flags_CLEARALL(o) PObj_flags_SETTO((o), 0)
-#define PObj_COW_TEST(o) PObj_flag_TEST(COW, o)
-#define PObj_COW_SET(o) PObj_flag_SET(COW, o)
-#define PObj_COW_CLEAR(o) PObj_flag_CLEAR(COW, o)
-
#define PObj_is_COWable_TEST(o) PObj_flag_TEST(is_COWable, o)
#define PObj_is_COWable_SET(o) PObj_flag_SET(is_COWable, o)
@@ -302,17 +297,11 @@
#define PObj_is_shared_CLEAR(o) PObj_flag_CLEAR(is_shared, o)
/* some combinations */
-#define PObj_is_cowed_TESTALL(o) (PObj_get_FLAGS(o) & \
- (PObj_COW_FLAG|PObj_constant_FLAG|PObj_external_FLAG))
-#define PObj_is_cowed_SETALL(o) (PObj_get_FLAGS(o) |= \
- (PObj_COW_FLAG|PObj_constant_FLAG|PObj_external_FLAG))
-
#define PObj_is_external_or_free_TESTALL(o) (PObj_get_FLAGS(o) & \
(UINTVAL)(PObj_external_FLAG|PObj_on_free_list_FLAG))
#define PObj_is_external_CLEARALL(o) (PObj_get_FLAGS(o) &= \
- ~(UINTVAL)(PObj_COW_FLAG| \
- PObj_external_FLAG|PObj_sysmem_FLAG))
+ ~(UINTVAL)(PObj_external_FLAG|PObj_sysmem_FLAG))
#define PObj_is_live_or_free_TESTALL(o) (PObj_get_FLAGS(o) & \
(PObj_live_FLAG | PObj_on_free_list_FLAG))
Modified: branches/include_dynpmc_makefile/include/parrot/runcore_api.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/runcore_api.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/runcore_api.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -38,10 +38,6 @@
typedef enum Parrot_runcore_flags {
RUNCORE_REENTRANT_FLAG = 1 << 0,
RUNCORE_FUNC_TABLE_FLAG = 1 << 1,
- RUNCORE_EVENT_CHECK_FLAG = 1 << 2,
- RUNCORE_PREDEREF_OPS_FLAG = 1 << 3,
- RUNCORE_CGOTO_OPS_FLAG = 1 << 4,
- RUNCORE_JIT_OPS_FLAG = 1 << 5
} Parrot_runcore_flags;
@@ -55,26 +51,6 @@
#define PARROT_RUNCORE_FUNC_TABLE_SET(runcore) \
Runcore_flag_SET(runcore, RUNCORE_FUNC_TABLE_FLAG)
-#define PARROT_RUNCORE_EVENT_CHECK_TEST(runcore) \
- Runcore_flag_TEST(runcore, RUNCORE_EVENT_CHECK_FLAG)
-#define PARROT_RUNCORE_EVENT_CHECK_SET(runcore) \
- Runcore_flag_SET(runcore, RUNCORE_EVENT_CHECK_FLAG)
-
-#define PARROT_RUNCORE_PREDEREF_OPS_TEST(runcore) \
- Runcore_flag_TEST(runcore, RUNCORE_PREDEREF_OPS_FLAG)
-#define PARROT_RUNCORE_PREDEREF_OPS_SET(runcore) \
- Runcore_flag_SET(runcore, RUNCORE_PREDEREF_OPS_FLAG)
-
-#define PARROT_RUNCORE_CGOTO_OPS_TEST(runcore) \
- Runcore_flag_TEST(runcore, RUNCORE_CGOTO_OPS_FLAG)
-#define PARROT_RUNCORE_CGOTO_OPS_SET(runcore) \
- Runcore_flag_SET(runcore, RUNCORE_CGOTO_OPS_FLAG)
-
-#define PARROT_RUNCORE_JIT_OPS_TEST(runcore) \
- Runcore_flag_TEST(runcore, RUNCORE_JIT_OPS_FLAG)
-#define PARROT_RUNCORE_JIT_OPS_SET(runcore) \
- Runcore_flag_SET(runcore, RUNCORE_JIT_OPS_FLAG)
-
/* HEADERIZER BEGIN: src/runcore/main.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -152,21 +128,6 @@
ARGIN(Parrot_runcore_t *runcore))
__attribute__nonnull__(2);
-PARROT_CAN_RETURN_NULL
-void * init_prederef(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-void load_prederef(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-void Parrot_runcore_cgoto_init(PARROT_INTERP)
- __attribute__nonnull__(1);
-
-void Parrot_runcore_cgp_init(PARROT_INTERP)
- __attribute__nonnull__(1);
-
void Parrot_runcore_debugger_init(PARROT_INTERP)
__attribute__nonnull__(1);
@@ -182,21 +143,8 @@
void Parrot_runcore_slow_init(PARROT_INTERP)
__attribute__nonnull__(1);
-void Parrot_runcore_switch_init(PARROT_INTERP)
- __attribute__nonnull__(1);
-
#define ASSERT_ARGS_get_core_op_lib_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(runcore))
-#define ASSERT_ARGS_init_prederef __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(runcore))
-#define ASSERT_ARGS_load_prederef __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(runcore))
-#define ASSERT_ARGS_Parrot_runcore_cgoto_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_runcore_cgp_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_runcore_debugger_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_runcore_exec_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -207,8 +155,6 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_runcore_slow_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_Parrot_runcore_switch_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: src/runcore/cores.c */
Modified: branches/include_dynpmc_makefile/include/parrot/string.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/string.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/string.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -24,7 +24,8 @@
typedef struct parrot_string_t STRING;
typedef enum Forward_flag {
- Buffer_moved_FLAG = 1 << 0
+ Buffer_moved_FLAG = 1 << 0,
+ Buffer_shared_FLAG = 1 << 1
} Forward_flags;
/* String iterator */
Modified: branches/include_dynpmc_makefile/include/parrot/string_funcs.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/string_funcs.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/string_funcs.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -75,16 +75,16 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
STRING* Parrot_str_change_encoding(PARROT_INTERP,
- ARGIN_NULLOK(STRING *src),
+ ARGMOD_NULLOK(STRING *src),
INTVAL encoding_nr)
- __attribute__nonnull__(1);
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*src);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
-STRING * Parrot_str_chopn(PARROT_INTERP, ARGMOD(STRING *s), INTVAL n)
+STRING * Parrot_str_chopn(PARROT_INTERP, ARGIN(const STRING *s), INTVAL n)
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
+ __attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -96,7 +96,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
-STRING * Parrot_str_compose(PARROT_INTERP, ARGIN_NULLOK(STRING *src))
+STRING * Parrot_str_compose(PARROT_INTERP, ARGIN_NULLOK(const STRING *src))
__attribute__nonnull__(1);
PARROT_EXPORT
@@ -109,10 +109,9 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-STRING * Parrot_str_copy(PARROT_INTERP, ARGMOD(STRING *s))
+STRING * Parrot_str_copy(PARROT_INTERP, ARGIN(const STRING *s))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*s);
+ __attribute__nonnull__(2);
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
@@ -143,7 +142,7 @@
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_str_find_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN_NULLOK(STRING *s),
+ ARGIN_NULLOK(const STRING *s),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1);
@@ -162,7 +161,7 @@
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_str_find_not_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN_NULLOK(STRING *s),
+ ARGIN_NULLOK(const STRING *s),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1);
@@ -239,7 +238,7 @@
PARROT_MALLOC
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_new(PARROT_INTERP,
- ARGIN_NULLOK(const char * const buffer),
+ ARGIN_NULLOK(const char *buffer),
const UINTVAL len)
__attribute__nonnull__(1);
@@ -325,7 +324,7 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING * Parrot_str_substr(PARROT_INTERP,
- ARGIN_NULLOK(STRING *src),
+ ARGIN_NULLOK(const STRING *src),
INTVAL offset,
INTVAL length)
__attribute__nonnull__(1);
Modified: branches/include_dynpmc_makefile/include/parrot/sub.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/sub.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/sub.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -2,14 +2,9 @@
* Copyright (C) 2001-2008, Parrot Foundation.
* SVN Info
* $Id$
- * Overview:
* Data Structure and Algorithms:
* Subroutine, coroutine, closure and continuation structures
* and related routines.
- * History:
- * Initial version by Melvin on on 2002/06/6
- * Notes:
- * References:
*/
#ifndef PARROT_SUB_H_GUARD
Modified: branches/include_dynpmc_makefile/include/parrot/vtables.h
==============================================================================
--- branches/include_dynpmc_makefile/include/parrot/vtables.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/include/parrot/vtables.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,13 +1,9 @@
/* vtables.h
- * Copyright (C) 2001-2003, Parrot Foundation.
+ * Copyright (C) 2001-2010, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
* Vtable manipulation code. Not to be confused with vtable.h
- * Data Structure and Algorithms:
- * History:
- * Notes:
- * References:
*/
#ifndef PARROT_VTABLES_H_GUARD
Modified: branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -91,7 +91,6 @@
--opcode=(type) Use the given type for opcodes
--ops=(files) Use the given ops files
- --cgoto=0 Don't build cgoto core - recommended when short of mem
--jitcapable Use JIT
--execcapable Use JIT to emit a native executable
--without-threads Build parrot without thread support
@@ -103,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/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf/Shared.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf/Shared.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Configure/Options/Conf/Shared.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -15,7 +15,6 @@
cc
ccflags
ccwarn
- cgoto
configure_trace
cxx
darwin_no_fink
@@ -80,6 +79,7 @@
without-opengl
without-pcre
without-threads
+ without-zlib
yacc
};
Modified: branches/include_dynpmc_makefile/lib/Parrot/Configure/Step/List.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Configure/Step/List.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Configure/Step/List.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -41,7 +41,6 @@
auto::isreg
auto::jit
auto::frames
- auto::cgoto
auto::inline
auto::gc
auto::memalign
@@ -54,6 +53,7 @@
auto::readline
auto::pcre
auto::opengl
+ auto::zlib
auto::gettext
auto::snprintf
auto::perldoc
Modified: branches/include_dynpmc_makefile/lib/Parrot/Distribution.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Distribution.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Distribution.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -281,7 +281,7 @@
}
}
- print 'WARNING: ' . __FILE__ . ':' . __LINE__ . ' File not found: ' . $name . "\n";
+ print '# WARNING: ' . __FILE__ . ':' . __LINE__ . ' File not found: ' . $name . "\n";
return;
};
Modified: branches/include_dynpmc_makefile/lib/Parrot/Docs/Section/Compilers.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Docs/Section/Compilers.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Docs/Section/Compilers.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -45,7 +45,7 @@
$self->new_group( 'PGE', 'the Parrot Grammar Engine', 'compilers/pge' ),
$self->new_group( 'TGE', 'the Tree Grammar Engine', 'compilers/tge' ),
$self->new_group( 'PCT', 'Parrot Compiler Toolkit', 'compilers/pct' ),
- $self->new_group( 'JSON', 'JavaScript Object Notation', 'compilers/json' ),
+ $self->new_group( 'JSON', 'JavaScript Object Notation', 'compilers/data_json' ),
$self->new_group( 'PIRC', 'a PIR Compiler', 'compilers/pirc' ),
$self->new_group( 'NCIGEN', 'Native Call Interface Generator', 'compilers/ncigen' ),
);
Modified: branches/include_dynpmc_makefile/lib/Parrot/Harness/DefaultTests.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Harness/DefaultTests.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Harness/DefaultTests.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -77,6 +77,7 @@
t/perl/*.t
);
+
# library tests are run unless --runcore-tests or --core-tests is present.
@library_tests = qw(
t/compilers/pct/*.t
@@ -84,6 +85,7 @@
t/compilers/pge/p5regex/*.t
t/compilers/pge/perl6regex/*.t
t/compilers/tge/*.t
+ t/compilers/data_json/*.t
t/library/*.t
t/tools/*.t
t/profiling/*.t
Modified: branches/include_dynpmc_makefile/lib/Parrot/Harness/Options.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Harness/Options.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Harness/Options.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -88,10 +88,7 @@
my %remap = (
'j' => '-runcore=fast',
- 'g' => '-runcore=cgoto',
'G' => '-runcore=gcdebug',
- 'C' => '-runcore=cgp',
- 'S' => '-runcore=switch',
'b' => '-runcore=bounds',
'f' => '-runcore=fast',
'r' => '-run-pbc',
@@ -113,9 +110,6 @@
print <<"EOF";
perl t/harness [options] [testfiles]
-w ... warnings on
- -g ... run CGoto
- -C ... run CGP
- -S ... run Switched
-b ... run bounds checked
--run-exec ... run exec core
-f ... run fast core
Modified: branches/include_dynpmc_makefile/lib/Parrot/Manifest.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Manifest.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Manifest.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
# $Id$
-# Copyright (C) 2007, Parrot Foundation.
+# Copyright (C) 2007-2010, Parrot Foundation.
=head1 NAME
@@ -201,7 +201,8 @@
#
# See below for documentation on the format of this file.
#
-# See docs/submissions.pod on how to recreate this file after SVN
+# See docs/submissions.pod and the documentation in
+# $self->{script} on how to recreate this file after SVN
# has been told about new or deleted files.
END_HEADER
Modified: branches/include_dynpmc_makefile/lib/Parrot/OpTrans.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/OpTrans.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -16,15 +16,9 @@
The subclass hierarchy is as follows:
OpTrans
- |___________
- | |
- C CGoto
- | |
- CPrederef |
- | | |
- | |_________|
- | |
- CSwitch CGP
+ |
+ |
+ C
=head2 Class Methods
@@ -91,11 +85,6 @@
die ref($self) . " doesn't have core_type()";
}
-=item C<core_prefix()>
-
-Implemented in subclasses to return a short prefix indicating the core
-type used to individuate core function names.
-
=item C<run_core_func_decl($base)>
Optionally implemented in subclasses to return the C code for the run
@@ -222,14 +211,6 @@
=item C<Parrot::OpTrans::C>
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CPrederef>
-
-=item C<Parrot::OpTrans::CSwitch>
-
=back
=cut
Modified: branches/include_dynpmc_makefile/lib/Parrot/OpTrans/C.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans/C.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/OpTrans/C.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -33,16 +33,6 @@
return 'PARROT_FUNCTION_CORE';
}
-=item C<core_prefix()>
-
-Returns an empty string.
-
-=cut
-
-sub core_prefix {
- return "";
-}
-
=item C<defines()>
Returns the C C<#define> macros for register access etc.
@@ -173,14 +163,6 @@
=item C<Parrot::OpTrans>
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CPrederef>
-
-=item C<Parrot::OpTrans::CSwitch>
-
=back
=cut
Deleted: branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGP.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGP.pm Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,162 +0,0 @@
-# Copyright (C) 2002, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpTrans::CGP - C Goto Predereferenced Transform
-
-=head1 DESCRIPTION
-
-C<Parrot::OpTrans::CGP> inherits from C<Parrot::OpTrans::CPrederef> and
-C<Parrot::OpTrans::CGoto> to provide predereferenced register addressing
-and C C<goto> run loop.
-
-=head2 Instance Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpTrans::CGP;
-
-use strict;
-use warnings;
-
-use base qw( Parrot::OpTrans::CPrederef Parrot::OpTrans::CGoto );
-
-=item C<core_type()>
-
-Returns C<PARROT_CGP_CORE>.
-
-=cut
-
-sub core_type {
- return 'PARROT_CGP_CORE';
-}
-
-=item C<suffix()>
-
-The suffix is C<'_cgp'>.
-
-=cut
-
-sub suffix {
- return "_cgp";
-}
-
-=item C<core_prefix()>
-
-The core prefix is C<'cgp_'>.
-
-=cut
-
-sub core_prefix {
- return "cgp_";
-}
-
-=item C<defines()>
-
-Returns the C C<#define> macros required by the ops.
-
-=cut
-
-sub defines {
- my ( $self, $pred_def );
- $self = shift;
- $pred_def = $self->SUPER::defines();
- my $type = __PACKAGE__;
- return $pred_def . <<END;
-/* defines - $0 -> $type */
-# define opcode_to_prederef(i, op) \\
- (opcode_t *) (op - Parrot_pcc_get_pred_offset(interp, i->ctx))
-END
-}
-
-=item C<goto_address($address)>
-
-Transforms the C<goto ADDRESS($address)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_address {
- my ( $self, $addr ) = @_;
-
- #print STDERR "pbcc: map_ret_abs($addr)\n";
-
- if ( $addr eq '0' ) {
- return "return (0);";
- }
- else {
- return "if ($addr == 0)
- return 0;
- Parrot_cx_handle_tasks(interp, interp->scheduler);
- _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
- goto **(void **)(cur_opcode = opcode_to_prederef(interp, $addr))";
- }
-}
-
-=item C<goto_offset($offset)>
-
-Transforms the C<goto OFFSET($offset)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_offset {
- my ( $self, $offset ) = @_;
-
- # this must be a single expression, in case it's in a single-statement if
- return "do {\nParrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), CUR_OPCODE + $offset);\n"
- . "goto **(void **)(cur_opcode += $offset);\n} while (1)";
-}
-
-sub run_core_func_start {
- my $type = __PACKAGE__;
- return <<END_C;
-/* run_core_func_start - $0 -> $type */
- /* at least gcc 2.95.2 miscompiles set_args - %edi
- * is used for the vtable call and _reg_base is clobbered
- * # if 1191 := PARROT_OP_set_args_pc
- * (gdb) disas l_ops_addr[1191] l_ops_addr[1192]
- */
-#if defined(__GNUC__) && defined(I386) && defined(PARROT_CGP_REGS)
- register opcode_t * cur_opcode __asm__ ("esi") = cur_op;
- register char * _reg_base __asm__ ("edi");
-#else
- opcode_t *cur_opcode = cur_op;
- char * _reg_base;
-#endif
-
- static void *const l_ops_addr[] = {
-END_C
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpTrans>
-
-=item C<Parrot::OpTrans::C>
-
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CPrederef>
-
-=item C<Parrot::OpTrans::CSwitch>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGoto.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CGoto.pm Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,368 +0,0 @@
-# Copyright (C) 2002-2007, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpTrans::CGoto - CGoto Transform
-
-=head1 DESCRIPTION
-
-Used to generate C code from Parrot operations.
-
-C<Parrot::OpTrans::CGoto> inherits from C<Parrot::OpTrans> to provide a
-C C<goto> run loop.
-
-=head2 Instance Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpTrans::CGoto;
-
-use strict;
-use warnings;
-
-use base qw( Parrot::OpTrans );
-
-=item C<suffix()>
-
-The suffix is C<'_cg'>.
-
-=cut
-
-sub suffix {
- return "_cg";
-}
-
-=item C<core_prefix()>
-
-The core prefix is C<'cg_'>.
-
-=cut
-
-sub core_prefix {
- return "cg_";
-}
-
-=item C<core_type()>
-
-The core type is C<PARROT_CGOTO_CORE>.
-
-=cut
-
-sub core_type {
- return 'PARROT_CGOTO_CORE';
-}
-
-=item C<defines()>
-
-Returns the C C<#define> macros required by the ops.
-
-=cut
-
-sub defines {
- my $type = __PACKAGE__;
- return <<END;
-/* defines - $0 -> $type */
-#undef CONST
-#define REL_PC ((size_t)(cur_opcode - (opcode_t*)interp->code->base.data))
-#define CUR_OPCODE cur_opcode
-#define IREG(i) REG_INT(interp, cur_opcode[i])
-#define NREG(i) REG_NUM(interp, cur_opcode[i])
-#define PREG(i) REG_PMC(interp, cur_opcode[i])
-#define SREG(i) REG_STR(interp, cur_opcode[i])
-#define CONST(i) Parrot_pcc_get_constants(interp, interp->ctx)[cur_opcode[i]]
-END
-}
-
-=item C<pc($pc)>
-
-=item C<pc()>
-
-Sets/gets the current position in Parrot code.
-
-=cut
-
-sub pc {
- my $self = shift;
-
- if (@_) {
- $self->{PC} = shift;
- }
- else {
- return $self->{PC};
- }
-}
-
-=item C<args(@args)>
-
-=item C<args()>
-
-Sets/gets the transform's arguments.
-
-=cut
-
-sub args {
- my $self = shift;
-
- if (@_) {
- $self->{ARGS} = [@_];
- }
- else {
- return $self->{ARGS};
- }
-}
-
-=item C<arg($index)>
-
-Returns the argument at C<$index>.
-
-=cut
-
-sub arg {
- my $self = shift;
-
- return $self->{ARGS}[shift];
-}
-
-=item C<goto_address($address)>
-
-Transforms the C<goto ADDRESS($address)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_address {
- my ( $self, $addr ) = @_;
-
- #print STDERR "pbcc: map_ret_abs($addr)\n";
-
- if ( $addr eq '0' ) {
- return "return (0);";
- }
- else {
- return "if ((opcode_t *) $addr == 0)
- return 0;
- goto *ops_addr[*(cur_opcode = (opcode_t *)$addr)]";
- }
-}
-
-=item C<expr_offset($offset)>
-
-Transforms the C<OFFSET($offset)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub expr_offset {
- my ( $self, $offset ) = @_;
-
- return "cur_opcode + $offset";
-}
-
-=item C<goto_offset($offset)>
-
-Transforms the C<goto OFFSET($offset)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_offset {
- my ( $self, $offset ) = @_;
-
- return "goto *ops_addr[*(cur_opcode += $offset)]";
-}
-
-my %arg_maps = (
- 'op' => "cur_opcode[%ld]",
-
- 'i' => "IREG(%ld)",
- 'n' => "NREG(%ld)",
- 'p' => "PREG(%ld)",
- 's' => "SREG(%ld)",
- 'k' => "PREG(%ld)",
- 'ki' => "IREG(%ld)",
-
- 'ic' => "cur_opcode[%ld]",
- 'nc' => "CONST(%ld)->u.number",
- 'pc' => "CONST(%ld)->u.key",
- 'sc' => "CONST(%ld)->u.string",
- 'kc' => "CONST(%ld)->u.key",
- 'kic' => "cur_opcode[%ld]"
-);
-
-=item C<access_arg($type, $num, $op)>
-
-Returns the C code for the specified op argument type (see
-C<Parrot::OpTrans>) and value. C<$op> is an instance of C<Parrot::Op>.
-
-=cut
-
-sub access_arg {
- my ( $self, $type, $num, $op ) = @_;
-
- #print STDERR "pbcc: map_arg($type, $num)\n";
-
- die "Unrecognized type '$type' for num '$num'" unless exists $arg_maps{$type};
-
- return sprintf( $arg_maps{$type}, $num );
-}
-
-=item C<restart_address($address)>
-
-Returns the C code for C<restart ADDRESS($address)>.
-
-=cut
-
-sub restart_address {
- my ( $self, $addr ) = @_;
-
- return "interp->resume_offset = $addr; interp->resume_flag = 1";
-}
-
-=item C<restart_offset($offset)>
-
-Returns the C code for C<restart OFFSET($offset)>.
-
-=cut
-
-sub restart_offset {
- my ( $self, $offset ) = @_;
-
- return "interp->resume_offset = REL_PC + $offset; interp->resume_flag = 1";
-}
-
-=item C<run_core_func_decl($core)>
-
-Returns the C code for the run core function declaration.
-
-=cut
-
-sub run_core_func_decl {
- my ( $self, $core ) = @_;
-
- return "opcode_t * " . $self->core_prefix . "$core(opcode_t *cur_op, PARROT_INTERP)";
-}
-
-=item C<ops_addr_decl($base_suffix)>
-
-Returns the C code for the ops address declaration.
-
-=cut
-
-sub ops_addr_decl {
- my ( $self, $bs ) = @_;
-
- return "static void *const* ${bs}ops_addr;\n\n";
-}
-
-=item C<run_core_func_start()>
-
-Returns the C code prior to the run core function.
-
-=cut
-
-sub run_core_func_start {
- return <<END_C;
-#if defined(__GNUC__) && defined(I386) /* && defined(NO_DYNOPS) */
- register opcode_t *cur_opcode __asm__ ("esi") = cur_op;
-#else
- opcode_t *cur_opcode = cur_op;
-#endif
-
- static void *const l_ops_addr[] = {
-END_C
-}
-
-=item C<run_core_after_addr_table($base_suffix)>
-
-Returns the run core C code for section after the address table.
-
-=cut
-
-sub run_core_after_addr_table {
- my ( $self, $bs ) = @_;
- return <<END_C;
-
- if (!${bs}ops_addr)
- ${bs}ops_addr = l_ops_addr;
- if (cur_opcode == 0) {
- DECL_CONST_CAST;
- return (opcode_t *) PARROT_const_cast(void **, ${bs}ops_addr);
- }
-END_C
-}
-
-=item C<run_core_finish($base)>
-
-Returns the C code following the run core function.
-
-=cut
-
-sub run_core_finish {
- my ( $self, $base ) = @_;
-
- return "\n} /* " . $self->core_prefix . "$base */\n\n";
-}
-
-=item C<init_func_init1($base)>
-
-Returns the C code for the init function.
-
-=cut
-
-sub init_func_init1 {
- my ( $self, $base ) = @_;
- my $cg_func = $self->core_prefix . $base;
- my $bs = $base . $self->suffix . '_';
-
- return <<END_C;
- if (!${bs}op_lib.op_func_table)
- ${bs}op_lib.op_func_table = (op_func_t *) $cg_func(0, 0);
-END_C
-}
-
-=item C<init_set_dispatch($base_suffix)>
-
-Returns the C code to initialize the dispatch mechanism within the core's
-initialization function.
-
-=cut
-
-sub init_set_dispatch {
- my ( $self, $bs ) = @_;
-
- return <<END_C;
- ${bs}ops_addr = (void**) init;
-END_C
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpTrans>
-
-=item C<Parrot::OpTrans::C>
-
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CPrederef>
-
-=item C<Parrot::OpTrans::CSwitch>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CPrederef.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CPrederef.pm Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,144 +0,0 @@
-#! perl
-# Copyright (C) 2001-2007, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpTrans::CPrederef - C Predereferenced Transform
-
-=head1 DESCRIPTION
-
-C<Parrot::OpTrans::CPrederef> inherits from C<Parrot::OpTrans::C>
-to provide basic functionality for predereferenced run loops (switch,
-CGP).
-
-=head2 Instance Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpTrans::CPrederef;
-
-use strict;
-use warnings;
-
-use Parrot::OpTrans;
-use base qw( Parrot::OpTrans::C );
-
-=item C<defines()>
-
-Returns the C C<#define> macros required by the ops.
-
-=cut
-
-sub defines {
- my $type = __PACKAGE__;
- return <<END;
-/* defines - $0 -> $type */
-#define REL_PC ((size_t)(cur_opcode - (opcode_t*)interp->code->prederef.code))
-#define CUR_OPCODE \\
- ((opcode_t*)cur_opcode + Parrot_pcc_get_pred_offset(interp, CURRENT_CONTEXT(interp)))
-#define OP_AS_OFFS(o) (_reg_base + ((opcode_t*)cur_opcode)[o])
-
-END
-}
-
-=item expr_address($addr)
-
-=item expr_address($offset)
-
-=item expr_pop()
-
-Create various address parts.
-
-=cut
-
-sub expr_address {
- my ( $self, $addr ) = @_;
- return "opcode_to_prederef(interp, $addr)";
-}
-
-sub expr_offset {
- my ( $self, $offset ) = @_;
- return "CUR_OPCODE + $offset";
-}
-
-sub expr_pop {
- my ($self) = @_;
- return "opcode_to_prederef(interp, pop_dest(interp))";
-}
-
-sub run_core_func_decl {
- my ( $self, $core ) = @_;
-
- my $type = __PACKAGE__;
- my $prefix = $self->core_prefix;
- return <<END;
-/* run_core_func_decl - $0 -> $type */
-opcode_t * $prefix$core(opcode_t *cur_op, PARROT_INTERP)
-END
-}
-
-=item C<access_arg($type, $num, $op)>
-
-Returns the C code for the specified op argument type (see
-C<Parrot::OpTrans>) and value. C<$op> is an instance of C<Parrot::Op>.
-
-=cut
-
-sub access_arg {
- my ( $self, $type, $num, $op ) = @_;
-
- my %arg_maps = (
- 'op' => "cur_opcode[%ld]",
-
- 'i' => "(*(INTVAL *)OP_AS_OFFS(%ld))",
- 'ki' => "(*(INTVAL *)OP_AS_OFFS(%ld))",
- 'n' => "(*(FLOATVAL *)OP_AS_OFFS(%ld))",
- 'p' => "(*(PMC **)OP_AS_OFFS(%ld))",
- 's' => "(*(STRING **)OP_AS_OFFS(%ld))",
- 'k' => "(*(PMC **)OP_AS_OFFS(%ld))",
-
- 'ic' => "((INTVAL)cur_opcode[%ld])",
- 'kic' => "((INTVAL)cur_opcode[%ld])",
- 'nc' => "(*(FLOATVAL *)cur_opcode[%ld])",
- 'sc' => "((STRING *)cur_opcode[%ld])",
- 'pc' => "((PMC *)cur_opcode[%ld])",
- 'kc' => "((PMC *)cur_opcode[%ld])",
- );
-
- die "Unrecognized type '$type' for num '$num' in opcode @{[$op->full_name]}"
- unless exists $arg_maps{$type};
-
- return sprintf( $arg_maps{$type}, $num );
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpTrans>
-
-=item C<Parrot::OpTrans::C>
-
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CSwitch>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CSwitch.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/OpTrans/CSwitch.pm Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,247 +0,0 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpTrans::CSwitch - C Switch Transform
-
-=head1 DESCRIPTION
-
-C<Parrot::OpTrans::CSwitch> inherits from C<Parrot::OpTrans::CPrederef>
-to provide a mixture of predereferenced register addressing and a
-C<switch>ed run loop.
-
-=head2 Instance Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpTrans::CSwitch;
-
-use strict;
-use warnings;
-
-use Parrot::OpTrans;
-use base qw( Parrot::OpTrans::CPrederef );
-
-sub new {
- my $class = shift;
- my $self = $class->SUPER::new(@_);
- $self->{split_count} ||= 0;
- return $self;
-}
-
-=item C<core_type()>
-
-The core type is C<PARROT_SWITCH_CORE>.
-
-=cut
-
-sub core_type {
- return 'PARROT_SWITCH_CORE';
-}
-
-=item C<core_prefix()>
-
-The prefix is C<'switch_'>.
-
-=cut
-
-sub core_prefix {
- return "switch_";
-}
-
-=item C<suffix()>
-
-The suffix is C<'_switch'>.
-
-=cut
-
-sub suffix {
- return "_switch";
-}
-
-=item C<defines()>
-
-Returns the C C<#define> macros required by the ops.
-
-=cut
-
-sub defines {
- my ( $self, $pred_def );
- $self = shift;
- $pred_def = $self->SUPER::defines();
- my $type = __PACKAGE__;
- return $pred_def . <<END;
-/* defines - $0 -> $type */
-# define opcode_to_prederef(i, op) (op ? \\
- (opcode_t*) (op - Parrot_pcc_get_pred_offset(interp, i->ctx)) : (opcode_t*)NULL)
-END
-}
-
-=item C<goto_address($address)>
-
-Transforms the C<goto ADDRESS($address)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_address {
- my ( $self, $addr ) = @_;
-
- #print STDERR "pbcc: map_ret_abs($addr)\n";
-
- if ( $addr eq '0' ) {
- return "return (0);";
- }
- else {
- return <<EOC;
- {
- cur_opcode = opcode_to_prederef(interp, $addr);
- goto SWITCH_RELOAD;
- }
-EOC
- }
-}
-
-=item C<goto_offset($offset)>
-
-Transforms the C<goto OFFSET($offset)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_offset {
- my ( $self, $offset ) = @_;
- return "{ cur_opcode += $offset; goto SWITCH_AGAIN; }";
-}
-
-=item C<init_func_init1($base)>
-
-Returns the C code for the init function.
-
-=cut
-
-sub init_func_init1 {
- my ( $self, $base ) = @_;
- my $cg_func = $self->core_prefix . $base;
- my $bs = $base . $self->suffix . '_';
-
- return <<END_C;
- if (!${bs}op_lib.op_func_table)
- ${bs}op_lib.op_func_table = (op_func_t *)&${bs}op_lib;
-END_C
-}
-
-
-=item C<run_core_func_start()>
-
-Returns the C code prior to the run core function.
-
-=cut
-
-sub run_core_func_start {
- my $type = __PACKAGE__;
- return <<END_C;
-/* run_core_func_start - $0 -> $type */
-#if defined(__GNUC__) && defined(I386) && defined(PARROT_SWITCH_REGS)
- register opcode_t * cur_opcode __asm__ ("esi") = cur_op;
- register char * _reg_base __asm__ ("edi");
-#else
- opcode_t * cur_opcode = cur_op;
- char * _reg_base;
-#endif
-
-SWITCH_RELOAD:
- _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
- do {
-SWITCH_AGAIN:
- Parrot_cx_handle_tasks(interp, interp->scheduler);
- if (!cur_opcode)
- break;
- switch (*(opcode_t*)cur_opcode) {
-END_C
-}
-
-=item C<run_core_split($base)>
-
-If defined return code to split e.g. a switch.
-
-=cut
-
-sub run_core_split {
- my ($self) = @_;
- $self->{split_count}++;
-
- return <<END_C;
- default:
- switch (*(opcode_t*)cur_opcode) {
-END_C
-}
-
-=item C<run_core_finish($base)>
-
-Returns the C code following the run core function.
-
-=cut
-
-sub run_core_finish {
- my ( $self, $base ) = @_;
- my $bs = $base . $self->suffix . '_';
- my $c = <<END_C;
- default:
- if (*(opcode_t*)cur_opcode >= 0 &&
- *(opcode_t*)cur_opcode < (opcode_t)${bs}op_lib.op_count) {
- *(opcode_t*)cur_opcode = CORE_OPS_wrapper__;
- continue;
- }
- Parrot_ex_throw_from_c_args(interp, NULL, 1,
- "illegal opcode in switch core\\n");
- break;
- } /* switch */
-END_C
- for ( my $i = 0 ; $i < $self->{split_count} ; $i++ ) {
- $c .= <<END_C;
- } /* switch $i */
-END_C
- }
- $c .= <<END_C;
- } while (1);
- return NULL;
-}
-END_C
-
- $c .= " /* " . $self->core_prefix . "$base */\n\n";
-
- return $c;
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpTrans>
-
-=item C<Parrot::OpTrans::C>
-
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CPrederef>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Auxiliary.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Auxiliary.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Auxiliary.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -12,7 +12,7 @@
my $usage_msg = <<USAGE;
% perl tools/build/ops2c.pl trans [--help] [--no-lines] [--dynamic]
[--core | input.ops [input2.ops ...]]
- trans := C | CGoto | CGP | CSwitch | CPrederef
+ trans := C
For example:
Modified: branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Utils.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Utils.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Ops2c/Utils.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -89,10 +89,10 @@
return;
}
my $class_name = shift @argv;
- my %is_allowed = map { $_ => 1 } qw(C CGoto CGP CSwitch CPrederef);
+ my %is_allowed = map { $_ => 1 } qw( C );
unless ( $is_allowed{$class_name} ) {
print STDERR
- "Parrot::Ops2c::Utils::new() requires C, CGoto, CGP, CSwitch and/or CPrederef: $!";
+ "Parrot::Ops2c::Utils::new() requires C: $!";
return;
}
@@ -372,10 +372,6 @@
$self->_print_run_core_func_decl_source($SOURCE);
- $self->_print_cg_jump_table($SOURCE);
-
- $self->_print_goto_opcode($SOURCE);
-
$self->_print_op_function_definitions($SOURCE);
}
@@ -650,7 +646,6 @@
$one_op .= "$definition $comment {\n$src}\n\n";
push @op_funcs, $one_op;
push @op_protos, $prototype;
- $prev_src = $src if ( $self->{suffix} eq '_cgp' || $self->{suffix} eq '_switch' );
$prev_index = $index;
}
$index++;
@@ -662,47 +657,6 @@
$self->{cg_jump_table} = \@cg_jump_table;
}
-sub _print_cg_jump_table {
- my ( $self, $fh ) = @_;
-
- my @cg_jump_table = @{ $self->{cg_jump_table} };
-
- if ( $self->{suffix} =~ /cg/ ) {
- print $fh @cg_jump_table;
- print $fh <<END_C;
- NULL
- };
-END_C
- print $fh $self->{trans}->run_core_after_addr_table( $self->{bs} );
- }
- return 1;
-}
-
-sub _print_goto_opcode {
- my ( $self, $fh ) = @_;
-
- if ( $self->{suffix} =~ /cgp/ ) {
- print $fh <<END_C;
-#ifdef __GNUC__
-# ifdef I386
- else if (cur_opcode == (opcode_t *)(void **) 1)
- __asm__ ("jmp *4(%ebp)"); /* jump to ret addr, used by JIT */
-# endif
-#endif
- _reg_base = (char*)Parrot_pcc_get_regs_ni(interp, CURRENT_CONTEXT(interp))->regs_i;
- goto **(void **)cur_opcode;
-
-END_C
- }
- elsif ( $self->{suffix} =~ /cg/ ) {
- print $fh <<END_C;
-goto *$self->{bs}ops_addr[*cur_opcode];
-
-END_C
- }
- return 1;
-}
-
sub _print_op_function_definitions {
my ( $self, $fh ) = @_;
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/MethodEmitter.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/MethodEmitter.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/MethodEmitter.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -107,7 +107,7 @@
$newl = "\n";
$semi = '';
}
- my $pmcarg = 'PMC *pmc';
+ my $pmcarg = 'PMC *_self';
$pmcarg = "SHIM($pmcarg)" if $self->pmc_unused;
return <<"EOC";
@@ -134,7 +134,7 @@
\.(\w+) # other_method
\(\s*(.*?)\) # capture argument list
}x,
- sub { "pmc->vtable->$1(" . full_arguments($2) . ')' }
+ sub { "_self->vtable->$1(" . full_arguments($2) . ')' }
);
# Rewrite STATICSELF.other_method(args...)
@@ -151,8 +151,8 @@
}
);
- # Rewrite SELF -> pmc, INTERP -> interp
- $body->subst( qr{\bSELF\b}, sub { 'pmc' } );
+ # Rewrite SELF -> _self, INTERP -> interp
+ $body->subst( qr{\bSELF\b}, sub { '_self' } );
$body->subst( qr{\bINTERP\b}, sub { 'interp' } );
# Rewrite GET_ATTR, SET_ATTR with typename
@@ -219,7 +219,7 @@
\.(\w+) # other_method
\(\s*(.*?)\) # capture argument list
}x,
- sub { "pmc->vtable->$1(" . full_arguments($2) . ')' }
+ sub { "_self->vtable->$1(" . full_arguments($2) . ')' }
);
# Rewrite SELF(args...). See comments above.
@@ -228,7 +228,7 @@
\bSELF\b # Macro: SELF
\(\s*(.*?)\) # capture argument list
}x,
- sub { "pmc->vtable->$name(" . full_arguments($1) . ')' }
+ sub { "_self->vtable->$name(" . full_arguments($1) . ')' }
);
# Rewrite OtherClass.SELF.other_method(args...)
@@ -304,8 +304,8 @@
}
);
- # Rewrite SELF -> pmc, INTERP -> interp
- $body->subst( qr{\bSELF\b}, sub { 'pmc' } );
+ # Rewrite SELF -> _self, INTERP -> interp
+ $body->subst( qr{\bSELF\b}, sub { '_self' } );
$body->subst( qr{\bINTERP\b}, sub { 'interp' } );
# Rewrite GET_ATTR, SET_ATTR with typename
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PCCMETHOD.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PCCMETHOD.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PCCMETHOD.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -399,7 +399,7 @@
unshift @$linear_args,
{
type => convert_type_string_to_reg_type('PMC'),
- name => 'pmc',
+ name => '_self',
attrs => parse_adverb_attributes(':invocant')
};
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Null.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Null.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Null.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -44,7 +44,7 @@
# to avoid compiler warnings
my $body = <<"EOC";
UNUSED(interp)
- UNUSED(pmc)
+ UNUSED(_self)
EOC
foreach my $param (split /,\s*/, $method->parameters) {
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Object.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Object.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/Object.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -52,7 +52,7 @@
$superargs =~ s/^,//;
my $method_body_text = <<"EOC";
- Parrot_Object_attributes * const obj = PARROT_OBJECT(pmc);
+ Parrot_Object_attributes * const obj = PARROT_OBJECT(_self);
Parrot_Class_attributes * const _class = PARROT_CLASS(obj->_class);
STRING * const meth_name = CONST_STRING_GEN(interp, "$vt_method_name");
@@ -66,7 +66,7 @@
PMC * const meth = Parrot_oo_find_vtable_override_for_class(interp, cur_class, meth_name);
if (!PMC_IS_NULL(meth)) {
$pcc_result_decl
- Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi$pcc_sig", pmc$pcc_args);
+ Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi$pcc_sig", _self$pcc_args);
$pcc_return_stmt
}
/* method name is $vt_method_name */
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/default.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/default.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMC/default.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -55,9 +55,9 @@
# Generate default_ro_find_method.
$self->{emitter}->emit(<<'EOC');
static PMC *
-Parrot_default_ro_find_method(PARROT_INTERP, PMC *pmc, STRING *method_name) {
+Parrot_default_ro_find_method(PARROT_INTERP, PMC *_self, STRING *method_name) {
/* Use non-readonly find_method. Current vtable is ro variant. So ro_variant contains non-ro variant */
- PMC *const method = pmc->vtable->ro_variant_vtable->find_method(interp, pmc, method_name);
+ PMC *const method = _self->vtable->ro_variant_vtable->find_method(interp, _self, method_name);
if (!PMC_IS_NULL(VTABLE_getprop(interp, method, CONST_STRING_GEN(interp, "write"))))
return PMCNULL;
else
@@ -90,7 +90,7 @@
$body .= " UNUSED($param)\n";
}
my $vt_method_name = uc $method->name;
- $body .= qq{ $stub_func(interp, pmc, PARROT_VTABLE_SLOT_$vt_method_name);\n};
+ $body .= qq{ $stub_func(interp, _self, PARROT_VTABLE_SLOT_$vt_method_name);\n};
$clone->body( Parrot::Pmc2c::Emitter->text($body));
Modified: branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMCEmitter.pm
==============================================================================
--- branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMCEmitter.pm Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/lib/Parrot/Pmc2c/PMCEmitter.pm Wed Apr 28 19:17:12 2010 (r46116)
@@ -476,6 +476,7 @@
my $multi_strings = '';
my $cache = {};
+ my $i = 0;
for my $multi (@$multi_funcs) {
my ($name, $ssig, $fsig, $ns, $func) = @$multi;
my ($name_str, $ssig_str, $fsig_str, $ns_name) =
@@ -487,21 +488,23 @@
[$ns, $ns_name ]) {
my ($raw_string, $name) = @$s;
next if $strings_seen{$name}++;
- $multi_strings .= " STRING * const $name = "
+ $multi_strings .= " STRING * const $name = "
. qq|CONST_STRING_GEN(interp, "$raw_string");\n|;
}
push @multi_list, <<END_MULTI_LIST;
- { $name_str,
- $ssig_str,
- $fsig_str,
- $ns_name,
- (funcptr_t) $func }
+ _temp_multi_func_list[$i].multi_name = $name_str;
+ _temp_multi_func_list[$i].short_sig = $ssig_str;
+ _temp_multi_func_list[$i].full_sig = $fsig_str;
+ _temp_multi_func_list[$i].ns_name = $ns_name;
+ _temp_multi_func_list[$i].func_ptr = (funcptr_t) $func;
END_MULTI_LIST
+ $i++;
}
- my $multi_list = join( ",\n", @multi_list);
+ my $multi_list_size = @multi_list;
+ my $multi_list = join( "\n", @multi_list);
my @isa = grep { $_ ne 'default' } @{ $self->parents };
@@ -692,14 +695,13 @@
if ( @$multi_funcs ) {
+ # Don't const the list, breaks some older C compilers
$cout .= $multi_strings . <<"EOC";
- $const multi_func_list _temp_multi_func_list[] = {
- $multi_list
- };
-#define N_MULTI_LIST (sizeof(_temp_multi_func_list)/sizeof(_temp_multi_func_list[0]))
+ multi_func_list _temp_multi_func_list[$multi_list_size];
+$multi_list
Parrot_mmd_add_multi_list_from_c_args(interp,
- _temp_multi_func_list, N_MULTI_LIST);
+ _temp_multi_func_list, $multi_list_size);
EOC
}
Modified: branches/include_dynpmc_makefile/ports/cygwin/README
==============================================================================
--- branches/include_dynpmc_makefile/ports/cygwin/README Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/ports/cygwin/README Wed Apr 28 19:17:12 2010 (r46116)
@@ -682,9 +682,6 @@
/usr/include/parrot/1.0.0/parrot/op.h
/usr/include/parrot/1.0.0/parrot/oplib.h
/usr/include/parrot/1.0.0/parrot/oplib/core_ops.h
- /usr/include/parrot/1.0.0/parrot/oplib/core_ops_cg.h
- /usr/include/parrot/1.0.0/parrot/oplib/core_ops_cgp.h
- /usr/include/parrot/1.0.0/parrot/oplib/core_ops_switch.h
/usr/include/parrot/1.0.0/parrot/oplib/ops.h
/usr/include/parrot/1.0.0/parrot/packfile.h
/usr/include/parrot/1.0.0/parrot/parrot.h
@@ -748,8 +745,6 @@
/usr/lib/parrot/1.0.0/src/install_config.o
/usr/lib/parrot/1.0.0/src/nci.c
/usr/lib/parrot/1.0.0/src/null_config.o
- /usr/lib/parrot/1.0.0/src/ops/core_ops_cgp.c
- /usr/lib/parrot/1.0.0/src/ops/core_ops_switch.c
/usr/lib/parrot/1.0.0/src/parrot_config.o
/usr/lib/parrot/1.0.0/tools/build/ops2c.pl
/usr/lib/parrot/1.0.0/tools/build/pmc2c.pl
@@ -892,7 +887,6 @@
/usr/share/doc/parrot/1.0.0/html/config/auto/attributes.pm.html
/usr/share/doc/parrot/1.0.0/html/config/auto/backtrace.pm.html
/usr/share/doc/parrot/1.0.0/html/config/auto/byteorder.pm.html
- /usr/share/doc/parrot/1.0.0/html/config/auto/cgoto.pm.html
/usr/share/doc/parrot/1.0.0/html/config/auto/cpu.pm.html
/usr/share/doc/parrot/1.0.0/html/config/auto/cpu/i386/auto.pm.html
/usr/share/doc/parrot/1.0.0/html/config/auto/cpu/ppc/auto.pm.html
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/CGI/QueryHash.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/CGI/QueryHash.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/CGI/QueryHash.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -143,7 +143,7 @@
# TODO: This should be an array
v_array = new 'Hash'
v_array[0] = v
- substr k, -2, 2, ''
+ k = replace k, -2, 2, ''
query_hash[k] = v_array
branch next_item
v_isnt_array:
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/Crow.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/Crow.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/Crow.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -124,7 +124,7 @@
$I0 = index template, symbol
if -1 == $I0 goto repl_done
$I1 = length symbol
- substr template, $I0, $I1, value
+ template = replace template, $I0, $I1, value
goto repl_loop
repl_done:
goto it_loop
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/JSON.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/JSON.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/JSON.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -12,7 +12,7 @@
load_bytecode 'JSON.pir'
$S0 = _json( $P0 )
-To generate a PMC from a JSON string, see L<compilers/json/JSON.pir>.
+To generate a PMC from a JSON string, see L<compilers/data_json>.
=cut
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/MIME/Base64.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/MIME/Base64.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/MIME/Base64.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -164,9 +164,9 @@
# padding with '='
if len_mod_3 == 0 goto END_2
- substr base64, -1, 1, ascii:"="
+ base64 = replace base64, -1, 1, ascii:"="
if len_mod_3 == 2 goto END_2
- substr base64, -2, 1, ascii:"="
+ base64 = replace base64, -2, 1, ascii:"="
END_2:
.return( base64 )
@@ -260,9 +260,9 @@
# cut padded '='
if len_mod_4 == 0 goto END_3
if len_mod_4 == 1 goto END_3
- chopn plain, 1
+ plain = chopn plain, 1
if len_mod_4 == 3 goto END_3
- chopn plain, 1
+ plain = chopn plain, 1
END_3:
.return( plain )
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/OpenGL.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/OpenGL.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/OpenGL.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -309,8 +309,7 @@
# Rename all 'glutcb*' symbols to 'glut*'
rename_callbacks:
.local string renamed
- renamed = clone symbol
- substr renamed, 4, 2, ''
+ renamed = replace symbol, 4, 2, ''
export_renames[symbol] = renamed
goto symbol_loop
symbol_loop_end:
@@ -371,8 +370,7 @@
# Rename all 'glutcb*' symbols to 'glut*'
rename_callbacks:
.local string renamed
- renamed = clone symbol
- substr renamed, 4, 2, ''
+ renamed = replace symbol, 4, 2, ''
export_renames[symbol] = renamed
goto symbol_loop
symbol_loop_end:
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/PIRProfile.nqp
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/PIRProfile.nqp Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/PIRProfile.nqp Wed Apr 28 19:17:12 2010 (r46116)
@@ -17,8 +17,9 @@
}
method build_profile_array() {
-
- my @pprof_lines := pir::split("\n", self<profile>);
+ my %config := self.get_config();
+ my $newline := %config<win32> ?? "\r\n" !! "\n";
+ my @pprof_lines := pir::split($newline, self<profile>);
self<profile_array> := ();
for @pprof_lines -> $line {
@@ -34,7 +35,7 @@
my %line_hash := {};
my $colon_idx := pir::index($line, ":");
- #if the line starts with "VERSION, CLI or END_OF_RUNLOOP,
+ #if the line starts with "VERSION, CLI or END_OF_RUNLOOP,
if ($colon_idx >= 3) {
my $type := pir::substr($line, 0, $colon_idx);
my $data := pir::substr($line, $colon_idx+1);
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/Want.nqp
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/Want.nqp Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/ProfTest/Want.nqp Wed Apr 28 19:17:12 2010 (r46116)
@@ -147,7 +147,7 @@
method accepts(%prof_line) {
if self<found_cs> && self<slurp_until> {
- if pir::downcase(%prof_line<type>) ne self<slurp_until> {
+ if pir::downcase__SS(%prof_line<type>) ne self<slurp_until> {
return 1;
}
return 0;
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/String/Utils.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/String/Utils.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/String/Utils.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -53,7 +53,7 @@
$I0 = strl - sepl
$I1 = index res, sep, $I0
unless $I1 == $I0 goto return
- chopn res, sepl
+ res = chopn res, sepl
goto chomp
return:
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Harness.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Harness.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Harness.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -45,7 +45,7 @@
set_global ['TAP';'Harness'], 'LEGAL_CALLBACK', $P0
.end
-.sub 'init' :vtable :init
+.sub 'init' :vtable :method
$P0 = get_global ['TAP';'Harness'], 'LEGAL_CALLBACK'
setattribute self, 'ok_callbacks', $P0
.end
@@ -339,8 +339,7 @@
cmd .= " *"
system(cmd)
chdir(current_dir)
- cmd = "gzip --best " . $S0
- system(cmd)
+ gzip($S0)
rmtree(dir)
.return (aggregate)
.end
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Parser.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Parser.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/TAP/Parser.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -660,7 +660,7 @@
set_global ['TAP';'Parser'], 'LEGAL_CALLBACK', $P0
.end
-.sub 'init' :vtable :init
+.sub 'init' :vtable :method
$P0 = new 'ResizableIntegerArray'
setattribute self, 'skipped', $P0
$P0 = new 'ResizableIntegerArray'
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -312,22 +312,18 @@
.return()
.end
-=item C<diag( diagnostic_message )>
+=item C<diag( diagnostic_message, ... )>
Records a diagnostic message for output.
=cut
.sub 'diag' :method
- .param string diagnostic
+ .param pmc args :slurpy
- if diagnostic goto DIAGNOSTIC_SET
- .return()
-
- DIAGNOSTIC_SET:
.local pmc output
output = self.'output'()
- output.'diag'( diagnostic )
+ .tailcall output.'diag'( args :flat )
.end
=item C<ok( passed, description )>
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder/Output.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder/Output.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/Test/Builder/Output.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -122,7 +122,8 @@
newline_index = index message, "\n"
if newline_index == -1 goto END_LOOP
inc newline_index
- line = substr message, 0, newline_index, ''
+ line = substr message, 0, newline_index
+ message = replace message, 0, newline_index, ''
push lines, line
if message goto SPLIT_LOOP
@@ -161,7 +162,7 @@
.return( message )
.end
-=item C<diag( message )>
+=item C<diag( message, ... )>
Writes the string C<message> to the diagnostic filehandle, TAP-escaping any
unescaped newlines.
@@ -169,7 +170,9 @@
=cut
.sub diag :method
- .param string message
+ .param pmc args :slurpy
+ .local string message
+ message = join '', args
.local int message_length
message_length = length message
@@ -190,7 +193,7 @@
WRITE_MESSAGE:
.local pmc diag_output
diag_output = self.'diag_output'()
- diag_output.'puts'( message )
+ .tailcall diag_output.'puts'( message )
.end
=back
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/Test/More.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/Test/More.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/Test/More.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -527,18 +527,18 @@
done:
.end
-=item C<diag( diagnostic )>
+=item C<diag( diagnostic, ... )>
Prints C<diagnostic> to the screen, without affecting test comparisons.
=cut
.sub diag
- .param string diagnostic
+ .param pmc args :slurpy
.local pmc test
get_hll_global test, [ 'Test'; 'More' ], '_test'
- test.'diag'( diagnostic )
+ .tailcall test.'diag'( args :flat )
.end
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/distutils.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/distutils.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -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
@@ -100,10 +100,6 @@
core module Pod-Html
-=item chmod (in step 'install')
-
-core module ExtUtils::Command, see TT #1322
-
=back
=head2 PARROT DEPENDENCIES
@@ -126,15 +122,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 +246,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 +279,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'
@@ -1276,9 +1264,6 @@
.sub 'get_cores'
$P0 = new 'Hash'
$P0['C'] = ''
-# $P0['CGP'] = '_cgp'
-# $P0['CGoto'] = '_cg'
- $P0['CSwitch'] = '_switch'
.return ($P0)
.end
@@ -3058,9 +3043,8 @@
rmtree($S0)
- cmd = 'gzip --best ' . $S0
- cmd .= '.tar'
- system(cmd, 1 :named('verbose'))
+ $S1 = $S0 . '.tar'
+ gzip($S1)
L1:
.end
@@ -3101,45 +3085,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
@@ -4276,9 +4221,6 @@
flags .= " "
$S0 = $P0['cc_hasjit']
flags .= $S0
- flags .= " "
- $S0 = $P0['cg_flag']
- flags .= $S0
.return (flags)
.end
Modified: branches/include_dynpmc_makefile/runtime/parrot/library/osutils.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/osutils.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/osutils.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -260,19 +260,8 @@
.param string filename
.param int mode
.param int verbose :named('verbose') :optional
- # see TT #1322
- $P0 = get_config()
- .local string cmd
- cmd = $P0['perl']
- cmd .= " -MExtUtils::Command -e ExtUtils::Command::chmod "
- $P1 = new 'FixedIntegerArray'
- set $P1, 1
- $P1[0] = mode
- $S0 = sprintf '0%o', $P1
- cmd .= $S0
- cmd .= " "
- cmd .= filename
- system(cmd, verbose :named('verbose'))
+ $P0 = new 'OS'
+ $P0.'chmod'(filename, mode)
.end
=item unlink
@@ -764,6 +753,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/include_dynpmc_makefile/runtime/parrot/library/uuid.pir
==============================================================================
--- branches/include_dynpmc_makefile/runtime/parrot/library/uuid.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/runtime/parrot/library/uuid.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -289,7 +289,7 @@
.sub 'hex' :anon
.param string in
.const string xdigits = '0123456789ABCDEF'
- upcase in
+ in = upcase in
$S1 = substr in, 0, 1
$I1 = index xdigits, $S1
$I1 *= 16
Modified: branches/include_dynpmc_makefile/src/call/context.c
==============================================================================
--- branches/include_dynpmc_makefile/src/call/context.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/call/context.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -320,7 +320,6 @@
ctx->current_object = NULL;
ctx->handlers = PMCNULL;
ctx->caller_ctx = NULL;
- ctx->pred_offset = 0;
ctx->current_sig = PMCNULL;
ctx->current_sub = PMCNULL;
@@ -330,7 +329,6 @@
ctx->warns = old->warns;
ctx->errors = old->errors;
ctx->trace_flags = old->trace_flags;
- ctx->pred_offset = old->pred_offset;
ctx->current_HLL = old->current_HLL;
ctx->current_namespace = old->current_namespace;
/* end COW */
@@ -342,7 +340,6 @@
ctx->warns = 0;
ctx->errors = 0;
ctx->trace_flags = 0;
- ctx->pred_offset = 0;
ctx->current_HLL = 0;
ctx->current_namespace = PMCNULL;
ctx->recursion_depth = 0;
@@ -526,18 +523,12 @@
{
ASSERT_ARGS(Parrot_pcc_free_registers)
Parrot_CallContext_attributes * const ctx = PARROT_CALLCONTEXT(pmcctx);
- size_t reg_size;
- if (!ctx)
- return;
-
- reg_size = Parrot_pcc_calculate_registers_size(interp, ctx->n_regs_used);
- if (!reg_size)
- return;
-
- /* Free registers */
- Parrot_gc_free_fixed_size_storage(interp, reg_size, ctx->registers);
+ const size_t reg_size =
+ Parrot_pcc_calculate_registers_size(interp, ctx->n_regs_used);
+ if (reg_size)
+ Parrot_gc_free_fixed_size_storage(interp, reg_size, ctx->registers);
}
Modified: branches/include_dynpmc_makefile/src/call/context_accessors.c
==============================================================================
--- branches/include_dynpmc_makefile/src/call/context_accessors.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/call/context_accessors.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -471,38 +471,6 @@
/*
-=item C<size_t Parrot_pcc_get_pred_offset_func(PARROT_INTERP, PMC *ctx)>
-
-=item C<void Parrot_pcc_set_pred_offset_func(PARROT_INTERP, PMC *ctx, size_t
-pred_offset)>
-
-Get/set pred_offset
-
-=cut
-
-*/
-
-PARROT_EXPORT
-size_t
-Parrot_pcc_get_pred_offset_func(PARROT_INTERP, ARGIN(PMC *ctx))
-{
- ASSERT_ARGS(Parrot_pcc_get_pred_offset_func)
- Parrot_Context const *c = get_context_struct_fast(interp, ctx);
- return c->pred_offset;
-}
-
-PARROT_EXPORT
-void
-Parrot_pcc_set_pred_offset_func(PARROT_INTERP, ARGIN(PMC *ctx), size_t pred_offset)
-{
- ASSERT_ARGS(Parrot_pcc_set_pred_offset_func)
- Parrot_Context *c = get_context_struct_fast(interp, ctx);
- c->pred_offset = pred_offset;
-}
-
-
-/*
-
=item C<UINTVAL Parrot_pcc_warnings_on_func(PARROT_INTERP, PMC *ctx, UINTVAL
flags)>
Modified: branches/include_dynpmc_makefile/src/call/pcc.c
==============================================================================
--- branches/include_dynpmc_makefile/src/call/pcc.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/call/pcc.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -356,9 +356,6 @@
Parrot_runcore_t *old_core = interp->run_core;
const opcode_t offset = dest - interp->code->base.data;
- if (PARROT_RUNCORE_PREDEREF_OPS_TEST(interp->run_core))
- Parrot_runcore_switch(interp, CONST_STRING(interp, "slow"));
-
runops(interp, offset);
Interp_core_SET(interp, old_core);
}
Modified: branches/include_dynpmc_makefile/src/debug.c
==============================================================================
--- branches/include_dynpmc_makefile/src/debug.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/debug.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -863,7 +863,7 @@
PARROT_EXPORT
void
-Parrot_debugger_start(PARROT_INTERP, ARGIN(opcode_t * cur_opcode))
+Parrot_debugger_start(PARROT_INTERP, ARGIN_NULLOK(opcode_t * cur_opcode))
{
ASSERT_ARGS(Parrot_debugger_start)
TRACEDEB_MSG("Parrot_debugger_start");
Modified: branches/include_dynpmc_makefile/src/dynoplibs/Defines.in
==============================================================================
--- branches/include_dynpmc_makefile/src/dynoplibs/Defines.in Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/dynoplibs/Defines.in Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,12 +1,6 @@
DYNOPLIBS_TARGETS = \
-#IF(cg_flag): $(DYNEXT_DIR)/obscure_ops_cg$(LOAD_EXT) \
-#IF(cg_flag): $(DYNEXT_DIR)/obscure_ops_cgp$(LOAD_EXT) \
$(DYNEXT_DIR)/obscure_ops$(LOAD_EXT) \
- $(DYNEXT_DIR)/obscure_ops_switch$(LOAD_EXT) \
-#IF(cg_flag): $(DYNEXT_DIR)/math_ops_cg$(LOAD_EXT) \
-#IF(cg_flag): $(DYNEXT_DIR)/math_ops_cgp$(LOAD_EXT) \
$(DYNEXT_DIR)/math_ops$(LOAD_EXT) \
- $(DYNEXT_DIR)/math_ops_switch$(LOAD_EXT)
DYNOPLIBS_CLEANUPS = \
src/dynoplibs/*.c \
Modified: branches/include_dynpmc_makefile/src/dynoplibs/Rules.in
==============================================================================
--- branches/include_dynpmc_makefile/src/dynoplibs/Rules.in Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/dynoplibs/Rules.in Wed Apr 28 19:17:12 2010 (r46116)
@@ -14,42 +14,6 @@
src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
$(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/obscure.ops
-$(DYNEXT_DIR)/obscure_ops_switch$(LOAD_EXT): src/dynoplibs/obscure_ops_switch$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/obscure_ops_switch$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/obscure_ops_switch$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_switch.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/obscure_ops_switch.h: src/dynoplibs/obscure_ops_switch.c
-
-src/dynoplibs/obscure_ops_switch.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CSwitch --dynamic src/dynoplibs/obscure.ops
-
-$(DYNEXT_DIR)/obscure_ops_cg$(LOAD_EXT): src/dynoplibs/obscure_ops_cg$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/obscure_ops_cg$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/obscure_ops_cg$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_cg.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/obscure_ops_cg.h: src/dynoplibs/obscure_ops_cg.c
-
-src/dynoplibs/obscure_ops_cg.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGoto --dynamic src/dynoplibs/obscure.ops
-
-$(DYNEXT_DIR)/obscure_ops_cgp$(LOAD_EXT): src/dynoplibs/obscure_ops_cgp$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/obscure_ops_cgp$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/obscure_ops_cgp$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/obscure_ops_cgp.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/obscure_ops_cgp.h: src/dynoplibs/obscure_ops_cgp.c
-
-src/dynoplibs/obscure_ops_cgp.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGP --dynamic src/dynoplibs/obscure.ops
-
$(DYNEXT_DIR)/math_ops$(LOAD_EXT): src/dynoplibs/math_ops$(O) $(LIBPARROT)
$(LD) @ld_out@$@ src/dynoplibs/math_ops$(O) $(LINKARGS)
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
@@ -62,38 +26,3 @@
src/dynoplibs/math_ops.h: src/dynoplibs/math_ops.c
-$(DYNEXT_DIR)/math_ops_switch$(LOAD_EXT): src/dynoplibs/math_ops_switch$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/math_ops_switch$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/math_ops_switch$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_switch.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/math_ops_switch.h: src/dynoplibs/math_ops_switch.c
-
-src/dynoplibs/math_ops_switch.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CSwitch --dynamic src/dynoplibs/math.ops
-
-$(DYNEXT_DIR)/math_ops_cg$(LOAD_EXT): src/dynoplibs/math_ops_cg$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/math_ops_cg$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/math_ops_cg$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_cg.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/math_ops_cg.h: src/dynoplibs/math_ops_cg.c
-
-src/dynoplibs/math_ops_cg.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGoto --dynamic src/dynoplibs/math.ops
-
-$(DYNEXT_DIR)/math_ops_cgp$(LOAD_EXT): src/dynoplibs/math_ops_cgp$(O) $(LIBPARROT)
- $(LD) @ld_out@$@ src/dynoplibs/math_ops_cgp$(O) $(LINKARGS)
-#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
-#IF(cygwin or hpux): $(CHMOD) 0775 $@
-
-src/dynoplibs/math_ops_cgp$(O): include/pmc/pmc_parrotlibrary.h include/pmc/pmc_callcontext.h src/dynoplibs/math_ops_cgp.c $(PARROT_H_HEADERS)
-
-src/dynoplibs/math_ops_cgp.h: src/dynoplibs/math_ops_cgp.c
-
-src/dynoplibs/math_ops_cgp.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl CGP --dynamic src/dynoplibs/math.ops
Copied: branches/include_dynpmc_makefile/src/dynpmc/gziphandle.pmc (from r46115, trunk/src/dynpmc/gziphandle.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/src/dynpmc/gziphandle.pmc Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, trunk/src/dynpmc/gziphandle.pmc)
@@ -0,0 +1,301 @@
+/*
+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"
+
+#define CHAR char
+/* 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/include_dynpmc_makefile/src/embed.c
==============================================================================
--- branches/include_dynpmc_makefile/src/embed.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/embed.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -336,15 +336,6 @@
case PARROT_FAST_CORE:
Parrot_runcore_switch(interp, Parrot_str_new_constant(interp, "fast"));
break;
- case PARROT_SWITCH_CORE:
- Parrot_runcore_switch(interp, Parrot_str_new_constant(interp, "switch"));
- break;
- case PARROT_CGP_CORE:
- Parrot_runcore_switch(interp, Parrot_str_new_constant(interp, "cgp"));
- break;
- case PARROT_CGOTO_CORE:
- Parrot_runcore_switch(interp, Parrot_str_new_constant(interp, "cgoto"));
- break;
case PARROT_EXEC_CORE:
Parrot_runcore_switch(interp, Parrot_str_new_constant(interp, "exec"));
break;
@@ -716,8 +707,8 @@
*/
for (i = 0; i < ft->fixup_count; i++) {
- if (ft->fixups[i]->type == enum_fixup_sub) {
- const opcode_t ci = ft->fixups[i]->offset;
+ if (ft->fixups[i].type == enum_fixup_sub) {
+ const opcode_t ci = ft->fixups[i].offset;
PMC * const sub_pmc = ct->constants[ci]->u.key;
Parrot_Sub_attributes *sub;
@@ -957,7 +948,7 @@
Parrot_disassemble(PARROT_INTERP, ARGIN(const char *outfile), Parrot_disassemble_options options)
{
PDB_line_t *line;
- PDB_t * const pdb = mem_gc_allocate_typed(interp, PDB_t);
+ PDB_t * const pdb = mem_gc_allocate_zeroed_typed(interp, PDB_t);
int num_mappings = 0;
int curr_mapping = 0;
int op_code_seq_num = 0;
@@ -1001,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/include_dynpmc_makefile/src/gc/alloc_resources.c
==============================================================================
--- branches/include_dynpmc_makefile/src/gc/alloc_resources.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/gc/alloc_resources.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -90,14 +90,19 @@
FUNC_MODIFIES(*new_block);
static void free_pool(ARGFREE(Fixed_Size_Pool *pool));
+static int is_block_almost_full(ARGIN(const Memory_Block *block))
+ __attribute__nonnull__(1);
+
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static char * move_one_buffer(PARROT_INTERP,
+ ARGIN(Memory_Block *pool),
ARGMOD(Buffer *old_buf),
ARGMOD(char *new_pool_ptr))
__attribute__nonnull__(1)
__attribute__nonnull__(2)
__attribute__nonnull__(3)
+ __attribute__nonnull__(4)
FUNC_MODIFIES(*old_buf)
FUNC_MODIFIES(*new_pool_ptr);
@@ -168,8 +173,11 @@
, PARROT_ASSERT_ARG(pool) \
, PARROT_ASSERT_ARG(new_block))
#define ASSERT_ARGS_free_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_is_block_almost_full __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(block))
#define ASSERT_ARGS_move_one_buffer __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pool) \
, PARROT_ASSERT_ARG(old_buf) \
, PARROT_ASSERT_ARG(new_pool_ptr))
#define ASSERT_ARGS_new_memory_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
@@ -275,15 +283,13 @@
Buffer memory layout:
- +-----------------+
- | ref_count |f | # GC header
- obj->bufstart -> +-----------------+
- | data |
- v v
-
- * if PObj_is_COWable is set, then we have
- - a ref_count, {inc, dec}remented by 2 always
- - the lo bit 'f' means 'is being forwarded" - what TAIL_flag was
+ +-------------------+
+ | flags # GC header |
+ obj->bufstart -> +-------------------+
+ | data |
+ v v
+
+ * if PObj_is_COWable is set, then we have space for flags.
* if PObj_align_FLAG is set, obj->bufstart is aligned like discussed above
* obj->buflen is the usable length excluding the optional GC part.
@@ -457,6 +463,7 @@
/* Snag a block big enough for everything */
total_size = pad_pool_size(pool);
+
alloc_new_block(mem_pools, total_size, pool, "inside compact");
new_block = pool->top_block;
@@ -482,7 +489,14 @@
const size_t objects_end = cur_buffer_arena->used;
for (i = objects_end; i; --i) {
- cur_spot = move_one_buffer(interp, b, cur_spot);
+
+ if (Buffer_buflen(b) && PObj_is_movable_TESTALL(b)) {
+ Memory_Block *old_block = Buffer_pool(b);
+
+ if (!is_block_almost_full(old_block))
+ cur_spot = move_one_buffer(interp, new_block, b, cur_spot);
+ }
+
b = (Buffer *)((char *)b + object_size);
}
}
@@ -536,34 +550,37 @@
pad_pool_size(ARGIN(const Variable_Size_Pool *pool))
{
ASSERT_ARGS(pad_pool_size)
- const Memory_Block *cur_block = pool->top_block;
+ Memory_Block *cur_block = pool->top_block;
- UINTVAL total_size = 0;
+ UINTVAL total_size = 0;
+#if RESOURCE_DEBUG
+ size_t total_blocks = 0;
+#endif
while (cur_block) {
- total_size += (cur_block->size - cur_block->free);
+ total_size += cur_block->size - cur_block->freed - cur_block->free;
cur_block = cur_block->prev;
+#if RESOURCE_DEBUG
+ ++total_blocks;
+#endif
}
- /*
- * XXX for some reason the guarantee isn't correct
- * TODO check why
- */
-
- /* total_size -= pool->guaranteed_reclaimable; */
-
/* this makes for ever increasing allocations but fewer collect runs */
#if WE_WANT_EVER_GROWING_ALLOCATIONS
total_size += pool->minimum_block_size;
#endif
+#if RESOURCE_DEBUG
+ fprintf(stderr, "Total blocks: %d\n", total_blocks);
+#endif
+
return total_size;
}
/*
-=item C<static char * move_one_buffer(PARROT_INTERP, Buffer *old_buf, char
-*new_pool_ptr)>
+=item C<static char * move_one_buffer(PARROT_INTERP, Memory_Block *pool, Buffer
+*old_buf, char *new_pool_ptr)>
The compact_pool operation collects disjointed blocks of memory allocated on a
given pool's free list into one large block of memory. Once the new larger
@@ -577,91 +594,85 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static char *
-move_one_buffer(PARROT_INTERP, ARGMOD(Buffer *old_buf), ARGMOD(char *new_pool_ptr))
+move_one_buffer(PARROT_INTERP, ARGIN(Memory_Block *pool),
+ ARGMOD(Buffer *old_buf), ARGMOD(char *new_pool_ptr))
{
ASSERT_ARGS(move_one_buffer)
- /* ! (on_free_list | constant | external | sysmem) */
- if (Buffer_buflen(old_buf) && PObj_is_movable_TESTALL(old_buf)) {
- INTVAL *ref_count = NULL;
- ptrdiff_t offset = 0;
+
+ INTVAL *flags = NULL;
+ ptrdiff_t offset = 0;
+ Memory_Block *old_block = NULL;
#if RESOURCE_DEBUG
- if (Buffer_buflen(old_buf) >= RESOURCE_DEBUG_SIZE)
- debug_print_buf(interp, old_buf);
+ if (Buffer_buflen(old_buf) >= RESOURCE_DEBUG_SIZE)
+ debug_print_buf(interp, old_buf);
#else
- UNUSED(interp);
+ UNUSED(interp);
#endif
- /* we can't perform the math all the time, because
- * strstart might be in unallocated memory */
- if (PObj_is_COWable_TEST(old_buf)) {
- ref_count = Buffer_bufrefcountptr(old_buf);
-
- if (PObj_is_string_TEST(old_buf)) {
- offset = (ptrdiff_t)((STRING *)old_buf)->strstart -
- (ptrdiff_t)Buffer_bufstart(old_buf);
- }
+ /* we can't perform the math all the time, because
+ * strstart might be in unallocated memory */
+ if (PObj_is_COWable_TEST(old_buf)) {
+ flags = Buffer_bufrefcountptr(old_buf);
+ old_block = Buffer_pool(old_buf);
+
+ if (PObj_is_string_TEST(old_buf)) {
+ offset = (ptrdiff_t)((STRING *)old_buf)->strstart -
+ (ptrdiff_t)Buffer_bufstart(old_buf);
}
+ }
+
+ /* buffer has already been moved; just change the header */
+ if (flags && (*flags & Buffer_shared_FLAG)
+ && (*flags & Buffer_moved_FLAG)) {
+ /* Find out who else references our data */
+ Buffer * const hdr = *((Buffer **)Buffer_bufstart(old_buf));
+
+ PARROT_ASSERT(PObj_is_COWable_TEST(old_buf));
+
+ /* Make sure they know that we own it too */
+ /* Set Buffer_shared_FLAG in new buffer */
+ *Buffer_bufrefcountptr(hdr) |= Buffer_shared_FLAG;
+
+ /* Now make sure we point to where the other guy does */
+ Buffer_bufstart(old_buf) = Buffer_bufstart(hdr);
+
+ /* And if we're a string, update strstart */
+ /* Somewhat of a hack, but if we get per-pool
+ * collections, it should help ease the pain */
+ if (PObj_is_string_TEST(old_buf))
+ ((STRING *)old_buf)->strstart =
+ (char *)Buffer_bufstart(old_buf) + offset;
+ }
+ else {
+ new_pool_ptr = aligned_mem(old_buf, new_pool_ptr);
- /* buffer has already been moved; just change the header */
- if (PObj_COW_TEST(old_buf)
- && (ref_count && *ref_count & Buffer_moved_FLAG)) {
- /* Find out who else references our data */
- Buffer * const hdr = *((Buffer **)Buffer_bufstart(old_buf));
+ /* Copy our memory to the new pool */
+ memcpy(new_pool_ptr, Buffer_bufstart(old_buf),
+ Buffer_buflen(old_buf));
+ /* If we're shared */
+ if (flags && (*flags & Buffer_shared_FLAG)) {
PARROT_ASSERT(PObj_is_COWable_TEST(old_buf));
- /* Make sure they know that we own it too */
- PObj_COW_SET(hdr);
+ /* Let the old buffer know how to find us */
+ *((Buffer **)Buffer_bufstart(old_buf)) = old_buf;
- /* TODO incr ref_count, after fixing string too
- * Now make sure we point to where the other guy does */
- Buffer_bufstart(old_buf) = Buffer_bufstart(hdr);
-
- /* And if we're a string, update strstart */
- /* Somewhat of a hack, but if we get per-pool
- * collections, it should help ease the pain */
- if (PObj_is_string_TEST(old_buf))
- ((STRING *)old_buf)->strstart =
- (char *)Buffer_bufstart(old_buf) + offset;
+ /* Finally, let the tail know that we've moved, so
+ * that any other references can know to look for
+ * us and not re-copy */
+ *flags |= Buffer_moved_FLAG;
}
- else {
- new_pool_ptr = aligned_mem(old_buf, new_pool_ptr);
-
- if (PObj_is_COWable_TEST(old_buf)) {
- INTVAL * const new_ref_count = ((INTVAL*) new_pool_ptr) - 1;
- *new_ref_count = 2;
- }
- /* Copy our memory to the new pool */
- memcpy(new_pool_ptr, Buffer_bufstart(old_buf),
- Buffer_buflen(old_buf));
-
- /* If we're COW */
- if (PObj_COW_TEST(old_buf)) {
- PARROT_ASSERT(PObj_is_COWable_TEST(old_buf));
-
- /* Let the old buffer know how to find us */
- *((Buffer **)Buffer_bufstart(old_buf)) = old_buf;
-
- /* No guarantees that our data is still COW, so
- * assume not, and let the above code fix-up */
- PObj_COW_CLEAR(old_buf);
-
- /* Finally, let the tail know that we've moved, so
- * that any other references can know to look for
- * us and not re-copy */
- if (ref_count)
- *ref_count |= Buffer_moved_FLAG;
- }
+ Buffer_bufstart(old_buf) = new_pool_ptr;
- Buffer_bufstart(old_buf) = new_pool_ptr;
+ /* Remember new pool inside */
+ *Buffer_poolptr(old_buf) = pool;
- if (PObj_is_string_TEST(old_buf))
- ((STRING *)old_buf)->strstart =
- (char *)Buffer_bufstart(old_buf) + offset;
+ if (PObj_is_string_TEST(old_buf))
+ ((STRING *)old_buf)->strstart =
+ (char *)Buffer_bufstart(old_buf) + offset;
- new_pool_ptr += Buffer_buflen(old_buf);
- }
+ new_pool_ptr += Buffer_buflen(old_buf);
}
return new_pool_ptr;
@@ -692,24 +703,37 @@
UINTVAL total_size)
{
ASSERT_ARGS(free_old_mem_blocks)
- Memory_Block *cur_block = new_block->prev;
+ Memory_Block *prev_block = new_block;
+ Memory_Block *cur_block = new_block->prev;
+ size_t i;
PARROT_ASSERT(new_block == pool->top_block);
while (cur_block) {
Memory_Block * const next_block = cur_block->prev;
- /* Note that we don't have it any more */
- mem_pools->memory_allocated -= cur_block->size;
+ if (is_block_almost_full(cur_block)) {
+ /* Skip block */
+ prev_block = cur_block;
+ cur_block = next_block;
+ }
+ else {
+ /* Note that we don't have it any more */
+ mem_pools->memory_allocated -= cur_block->size;
- /* We know the pool body and pool header are a single chunk, so
- * this is enough to get rid of 'em both */
- mem_internal_free(cur_block);
- cur_block = next_block;
+ /* We know the pool body and pool header are a single chunk, so
+ * this is enough to get rid of 'em both */
+ mem_internal_free(cur_block);
+ cur_block = next_block;
+
+ /* Unlink it from list */
+ prev_block->prev = next_block;
+ }
}
- /* Set our new pool as the only pool */
- new_block->prev = NULL;
+ /* Terminate list */
+ prev_block->prev = NULL;
+
/* ANR: I suspect this should be set to new_block->size, instead of passing
* in the raw value of total_size, because alloc_new_block pads the size of
@@ -722,49 +746,45 @@
/*
-=item C<char * aligned_mem(const Buffer *buffer, char *mem)>
+=item C<static int is_block_almost_full(const Memory_Block *block)>
-Returns a pointer to the aligned allocated storage for Buffer C<buffer>,
-which might not be the same as the pointer to C<buffer> because of
-memory alignment.
+Tests if the block is almost full and should be skipped during compacting.
+
+Returns true if less that 20% of block is available
=cut
*/
-PARROT_CANNOT_RETURN_NULL
-PARROT_WARN_UNUSED_RESULT
-char *
-aligned_mem(SHIM(const Buffer *buffer), ARGIN(char *mem))
+static int
+is_block_almost_full(ARGIN(const Memory_Block *block))
{
- ASSERT_ARGS(aligned_mem)
- mem += sizeof (void *);
- mem = (char *)(((unsigned long)(mem + WORD_ALIGN_1)) & WORD_ALIGN_MASK);
-
- return mem;
+ ASSERT_ARGS(is_block_almost_full)
+ return (block->free + block->freed) < block->size * 0.2;
}
/*
-=item C<size_t aligned_string_size(size_t len)>
+=item C<char * aligned_mem(const Buffer *buffer, char *mem)>
-Determines the size of a string of length C<len> in RAM, accounting for
-alignment.
+Returns a pointer to the aligned allocated storage for Buffer C<buffer>,
+which might not be the same as the pointer to C<buffer> because of
+memory alignment.
=cut
*/
-PARROT_CONST_FUNCTION
+PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-size_t
-aligned_string_size(size_t len)
+char *
+aligned_mem(SHIM(const Buffer *buffer), ARGIN(char *mem))
{
- ASSERT_ARGS(aligned_string_size)
+ ASSERT_ARGS(aligned_mem)
+ mem += sizeof (void *);
+ mem = (char *)(((unsigned long)(mem + WORD_ALIGN_1)) & WORD_ALIGN_MASK);
- len += sizeof (void *);
- len = (len + WORD_ALIGN_1) & WORD_ALIGN_MASK;
- return len;
+ return mem;
}
/*
Modified: branches/include_dynpmc_makefile/src/gc/api.c
==============================================================================
--- branches/include_dynpmc_makefile/src/gc/api.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/gc/api.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -342,6 +342,7 @@
PObj_get_FLAGS(pmc) = PObj_is_PMC_FLAG|flags;
pmc->vtable = NULL;
PMC_data(pmc) = NULL;
+ PMC_metadata(pmc) = PMCNULL;
return pmc;
}
Modified: branches/include_dynpmc_makefile/src/gc/gc_ms.c
==============================================================================
--- branches/include_dynpmc_makefile/src/gc/gc_ms.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/gc/gc_ms.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -70,6 +70,12 @@
PARROT_CANNOT_RETURN_NULL
static void * gc_ms_allocate_memory_chunk_zeroed(SHIM_INTERP, size_t size);
+PARROT_CANNOT_RETURN_NULL
+static void * gc_ms_allocate_pmc_attributes(PARROT_INTERP, ARGMOD(PMC *pmc))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*pmc);
+
PARROT_CAN_RETURN_NULL
static PMC* gc_ms_allocate_pmc_header(PARROT_INTERP, UINTVAL flags)
__attribute__nonnull__(1);
@@ -215,6 +221,35 @@
static void gc_ms_unblock_GC_sweep(PARROT_INTERP)
__attribute__nonnull__(1);
+static void Parrot_gc_allocate_new_attributes_arena(
+ ARGMOD(PMC_Attribute_Pool *pool))
+ __attribute__nonnull__(1)
+ FUNC_MODIFIES(*pool);
+
+PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
+static PMC_Attribute_Pool * Parrot_gc_create_attrib_pool(size_t attrib_idx);
+
+PARROT_CANNOT_RETURN_NULL
+static PMC_Attribute_Pool * Parrot_gc_get_attribute_pool(SHIM_INTERP,
+ ARGMOD(Memory_Pools *mem_pools),
+ size_t attrib_size)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*mem_pools);
+
+PARROT_CANNOT_RETURN_NULL
+static void * Parrot_gc_get_attributes_from_pool(PARROT_INTERP,
+ ARGMOD(PMC_Attribute_Pool * pool))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(* pool);
+
+static void Parrot_gc_initialize_fixed_size_pools(SHIM_INTERP,
+ ARGMOD(Memory_Pools *mem_pools),
+ size_t init_num_pools)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*mem_pools);
+
#define ASSERT_ARGS_gc_ms_active_sized_buffers __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(mem_pools))
#define ASSERT_ARGS_gc_ms_add_free_object __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -233,6 +268,9 @@
#define ASSERT_ARGS_gc_ms_allocate_memory_chunk __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_gc_ms_allocate_memory_chunk_zeroed \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_gc_ms_allocate_pmc_attributes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_gc_ms_allocate_pmc_header __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_gc_ms_allocate_string_header __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -308,6 +346,19 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_gc_ms_unblock_GC_sweep __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_Parrot_gc_allocate_new_attributes_arena \
+ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(pool))
+#define ASSERT_ARGS_Parrot_gc_create_attrib_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_Parrot_gc_get_attribute_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(mem_pools))
+#define ASSERT_ARGS_Parrot_gc_get_attributes_from_pool \
+ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pool))
+#define ASSERT_ARGS_Parrot_gc_initialize_fixed_size_pools \
+ __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(mem_pools))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
@@ -480,9 +531,6 @@
pt_gc_start_mark(interp);
Parrot_gc_run_init(interp, interp->mem_pools);
- /* compact STRING pools to collect free headers and allocated buffers */
- Parrot_gc_compact_memory_pool(interp);
-
/* Now go trace the PMCs. returning true means we did a complete trace.
false means it was a lazy trace. */
if (gc_ms_trace_active_PMCs(interp, (flags & GC_trace_stack_FLAG)
@@ -503,6 +551,9 @@
Parrot_gc_clear_live_bits(interp, mem_pools->pmc_pool);
}
+ /* compact STRING pools to collect free headers and allocated buffers */
+ Parrot_gc_compact_memory_pool(interp);
+
pt_gc_stop_mark(interp);
/* Note it */
@@ -615,7 +666,7 @@
? interp->mem_pools->constant_pmc_pool
: interp->mem_pools->pmc_pool;
- return (PMC*)pool->get_free_object(interp, interp->mem_pools, pool);
+ return (PMC *)pool->get_free_object(interp, interp->mem_pools, pool);
}
/*
@@ -661,7 +712,9 @@
? interp->mem_pools->constant_string_header_pool
: interp->mem_pools->string_header_pool;
- return (STRING *)pool->get_free_object(interp, interp->mem_pools, pool);
+ STRING *s = (STRING *)pool->get_free_object(interp, interp->mem_pools, pool);
+ memset(s, 0, sizeof (STRING));
+ return s;
}
@@ -735,7 +788,190 @@
/*
-=item C<void * gc_ms_allocate_pmc_attributes(PARROT_INTERP, PMC *pmc)>
+=over 4
+
+=item C<static void * Parrot_gc_get_attributes_from_pool(PARROT_INTERP,
+PMC_Attribute_Pool * pool)>
+
+Get a new fixed-size storage space from the given pool. The pool contains
+information on the size of the item to allocate already.
+
+=item C<static void Parrot_gc_allocate_new_attributes_arena(PMC_Attribute_Pool
+*pool)>
+
+Allocate a new arena of fixed-sized data structures for the given pool.
+
+=item C<static void Parrot_gc_initialize_fixed_size_pools(PARROT_INTERP,
+Memory_Pools *mem_pools, size_t init_num_pools)>
+
+Initialize the pools (zeroize)
+
+=item C<static PMC_Attribute_Pool * Parrot_gc_get_attribute_pool(PARROT_INTERP,
+Memory_Pools *mem_pools, size_t attrib_size)>
+
+Find a fixed-sized data structure pool given the size of the object to
+allocate. If the pool does not exist, create it.
+
+=item C<static PMC_Attribute_Pool * Parrot_gc_create_attrib_pool(size_t
+attrib_idx)>
+
+Create a new pool for fixed-sized data items with the given C<attrib_size>.
+
+=back
+
+=cut
+
+*/
+
+PARROT_CANNOT_RETURN_NULL
+static void *
+Parrot_gc_get_attributes_from_pool(PARROT_INTERP, ARGMOD(PMC_Attribute_Pool * pool))
+{
+ ASSERT_ARGS(Parrot_gc_get_attributes_from_pool)
+ PMC_Attribute_Free_List *item;
+
+#if GC_USE_LAZY_ALLOCATOR
+ if (pool->free_list) {
+ item = pool->free_list;
+ pool->free_list = item->next;
+ }
+ else if (pool->newfree) {
+ item = pool->newfree;
+ pool->newfree = (PMC_Attribute_Free_List *)
+ ((char *)(pool->newfree) + pool->attr_size);
+ if (pool->newfree >= pool->newlast)
+ pool->newfree = NULL;
+ }
+ else {
+ Parrot_gc_allocate_new_attributes_arena(pool);
+ return Parrot_gc_get_attributes_from_pool(interp, pool);
+ }
+#else
+ if (pool->free_list == NULL)
+ Parrot_gc_allocate_new_attributes_arena(pool);
+ item = pool->free_list;
+ pool->free_list = item->next;
+#endif
+
+ pool->num_free_objects--;
+ return (void *)item;
+}
+
+
+static void
+Parrot_gc_allocate_new_attributes_arena(ARGMOD(PMC_Attribute_Pool *pool))
+{
+ ASSERT_ARGS(Parrot_gc_allocate_new_attributes_arena)
+ PMC_Attribute_Free_List *next;
+
+ const size_t num_items = pool->objects_per_alloc;
+ const size_t item_size = pool->attr_size;
+ const size_t item_space = item_size * num_items;
+ const size_t total_size = sizeof (PMC_Attribute_Arena) + item_space;
+
+ PMC_Attribute_Arena * const new_arena = (PMC_Attribute_Arena *)mem_internal_allocate(
+ total_size);
+
+ new_arena->prev = NULL;
+ new_arena->next = pool->top_arena;
+ pool->top_arena = new_arena;
+ next = (PMC_Attribute_Free_List *)(new_arena + 1);
+
+#if GC_USE_LAZY_ALLOCATOR
+ pool->newfree = next;
+ pool->newlast = (PMC_Attribute_Free_List *)((char *)next + item_space);
+#else
+ pool->free_list = next;
+ for (i = 0; i < num_items; i++) {
+ list = next;
+ list->next = (PMC_Attribute_Free_List *)((char *)list + item_size);
+ next = list->next;
+ }
+ list->next = pool->free_list;
+#endif
+
+ pool->num_free_objects += num_items;
+ pool->total_objects += num_items;
+}
+
+static void
+Parrot_gc_initialize_fixed_size_pools(SHIM_INTERP,
+ ARGMOD(Memory_Pools *mem_pools),
+ size_t init_num_pools)
+{
+ ASSERT_ARGS(Parrot_gc_initialize_fixed_size_pools)
+ PMC_Attribute_Pool **pools;
+ const size_t total_size = (init_num_pools + 1) * sizeof (void *);
+
+ pools = (PMC_Attribute_Pool **)mem_internal_allocate(total_size);
+ memset(pools, 0, total_size);
+
+ mem_pools->attrib_pools = pools;
+ mem_pools->num_attribs = init_num_pools;
+}
+
+
+PARROT_CANNOT_RETURN_NULL
+static PMC_Attribute_Pool *
+Parrot_gc_get_attribute_pool(SHIM_INTERP,
+ ARGMOD(Memory_Pools *mem_pools),
+ size_t attrib_size)
+{
+ ASSERT_ARGS(Parrot_gc_get_attribute_pool)
+
+ PMC_Attribute_Pool **pools = mem_pools->attrib_pools;
+ const size_t idx = (attrib_size < sizeof (void *))
+ ? 0
+ : attrib_size - sizeof (void *);
+
+ if (mem_pools->num_attribs <= idx) {
+ const size_t total_length = idx + GC_ATTRIB_POOLS_HEADROOM;
+ const size_t total_size = total_length * sizeof (void *);
+ const size_t current_size = mem_pools->num_attribs;
+ const size_t diff = total_length - current_size;
+
+ pools = (PMC_Attribute_Pool **)mem_internal_realloc(pools, total_size);
+ memset(pools + current_size, 0, diff * sizeof (void *));
+ mem_pools->attrib_pools = pools;
+ mem_pools->num_attribs = total_length;
+ }
+
+ if (!pools[idx]) {
+ PMC_Attribute_Pool * const pool = Parrot_gc_create_attrib_pool(idx);
+ /* Create the first arena now, so we don't have to check for it later */
+ Parrot_gc_allocate_new_attributes_arena(pool);
+ pools[idx] = pool;
+ }
+
+ return pools[idx];
+}
+
+PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
+static PMC_Attribute_Pool *
+Parrot_gc_create_attrib_pool(size_t attrib_idx)
+{
+ ASSERT_ARGS(Parrot_gc_create_attrib_pool)
+ const size_t attrib_size = attrib_idx + sizeof (void *);
+ const size_t num_objs_raw =
+ (GC_FIXED_SIZE_POOL_SIZE - sizeof (PMC_Attribute_Arena)) / attrib_size;
+ const size_t num_objs = (num_objs_raw == 0)?(1):(num_objs_raw);
+ PMC_Attribute_Pool * const newpool = mem_internal_allocate_typed(PMC_Attribute_Pool);
+
+ newpool->attr_size = attrib_size;
+ newpool->total_objects = 0;
+ newpool->objects_per_alloc = num_objs;
+ newpool->num_free_objects = 0;
+ newpool->free_list = NULL;
+ newpool->top_arena = NULL;
+
+ return newpool;
+}
+
+
+/*
+
+=item C<static void * gc_ms_allocate_pmc_attributes(PARROT_INTERP, PMC *pmc)>
Allocates a new attribute structure for a PMC if it has the auto_attrs flag
set.
@@ -745,7 +981,7 @@
*/
PARROT_CANNOT_RETURN_NULL
-void *
+static void *
gc_ms_allocate_pmc_attributes(PARROT_INTERP, ARGMOD(PMC *pmc))
{
ASSERT_ARGS(gc_ms_allocate_pmc_attributes)
@@ -834,12 +1070,15 @@
ARGOUT(Buffer *buffer), size_t size)
{
ASSERT_ARGS(gc_ms_allocate_buffer_storage)
- const size_t new_size = aligned_string_size(size);
+ const size_t new_size = ALIGNED_STRING_SIZE(size);
Buffer_bufstart(buffer) = (void *)aligned_mem(buffer,
(char *)mem_allocate(interp,
interp->mem_pools, new_size, interp->mem_pools->memory_pool));
+ /* Save pool used to allocate into buffer header */
+ *Buffer_poolptr(buffer) = interp->mem_pools->memory_pool->top_block;
+
Buffer_buflen(buffer) = new_size - sizeof (void *);
}
@@ -880,8 +1119,8 @@
* normally, which play ping pong with buffers.
* The normal case is therefore always to allocate a new block
*/
- new_size = aligned_string_size(newsize);
- old_size = aligned_string_size(Buffer_buflen(buffer));
+ new_size = ALIGNED_STRING_SIZE(newsize);
+ old_size = ALIGNED_STRING_SIZE(Buffer_buflen(buffer));
needed = new_size - old_size;
if ((pool->top_block->free >= needed)
@@ -894,11 +1133,6 @@
copysize = Buffer_buflen(buffer);
- if (!PObj_COW_TEST(buffer))
- pool->guaranteed_reclaimable += copysize;
- else
- pool->possibly_reclaimable += copysize;
-
mem = (char *)mem_allocate(interp, interp->mem_pools, new_size, pool);
mem = aligned_mem(buffer, mem);
@@ -912,6 +1146,9 @@
new_size -= sizeof (void *);
Buffer_buflen(buffer) = new_size;
+
+ /* Save pool used to allocate into buffer header */
+ *Buffer_poolptr(buffer) = interp->mem_pools->memory_pool->top_block;
}
/*
@@ -947,12 +1184,15 @@
? interp->mem_pools->constant_string_pool
: interp->mem_pools->memory_pool;
- new_size = aligned_string_size(size);
+ new_size = ALIGNED_STRING_SIZE(size);
mem = (char *)mem_allocate(interp, interp->mem_pools, new_size, pool);
mem += sizeof (void *);
Buffer_bufstart(str) = str->strstart = mem;
Buffer_buflen(str) = new_size - sizeof (void *);
+
+ /* Save pool used to allocate into buffer header */
+ *Buffer_poolptr(str) = pool->top_block;
}
/*
@@ -991,8 +1231,8 @@
* - if the passed strings buffer is the last string in the pool and
* - if there is enough size, we can just move the pool's top pointer
*/
- new_size = aligned_string_size(newsize);
- old_size = aligned_string_size(Buffer_buflen(str));
+ new_size = ALIGNED_STRING_SIZE(newsize);
+ old_size = ALIGNED_STRING_SIZE(Buffer_buflen(str));
needed = new_size - old_size;
if (pool->top_block->free >= needed
@@ -1008,11 +1248,6 @@
/* only copy used memory, not total string buffer */
copysize = str->bufused;
- if (!PObj_COW_TEST(str))
- pool->guaranteed_reclaimable += Buffer_buflen(str);
- else
- pool->possibly_reclaimable += Buffer_buflen(str);
-
mem = (char *)mem_allocate(interp, interp->mem_pools, new_size, pool);
mem += sizeof (void *);
@@ -1026,6 +1261,9 @@
* those bugs, this can be removed which would make things cheaper */
if (copysize)
memcpy(mem, oldmem, copysize);
+
+ /* Save pool used to allocate into buffer header */
+ *Buffer_poolptr(str) = pool->top_block;
}
/*
@@ -1380,9 +1618,6 @@
pool->free_list = ((GC_MS_PObj_Wrapper*)ptr)->next_ptr;
#endif
- /* PObj_flags_SETTO(ptr, 0); */
- memset(ptr, 0, pool->object_size);
-
--pool->num_free_objects;
return ptr;
Modified: branches/include_dynpmc_makefile/src/gc/gc_private.h
==============================================================================
--- branches/include_dynpmc_makefile/src/gc/gc_private.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/gc/gc_private.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -171,6 +171,9 @@
struct Memory_Block *next;
char *start;
char *top;
+
+ /* Amount of freed memory. Used in compact_pool */
+ size_t freed;
} Memory_Block;
typedef struct Variable_Size_Pool {
@@ -393,26 +396,6 @@
ARGIN(const Fixed_Size_Pool *pool))
__attribute__nonnull__(2);
-PARROT_CANNOT_RETURN_NULL
-PMC_Attribute_Pool * Parrot_gc_get_attribute_pool(SHIM_INTERP,
- ARGMOD(Memory_Pools *mem_pools),
- size_t attrib_size)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*mem_pools);
-
-PARROT_CANNOT_RETURN_NULL
-void * Parrot_gc_get_attributes_from_pool(PARROT_INTERP,
- ARGMOD(PMC_Attribute_Pool * pool))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(* pool);
-
-void Parrot_gc_initialize_fixed_size_pools(SHIM_INTERP,
- ARGMOD(Memory_Pools *mem_pools),
- size_t init_num_pools)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*mem_pools);
-
void Parrot_gc_run_init(SHIM_INTERP, ARGMOD(Memory_Pools *mem_pools))
__attribute__nonnull__(2)
FUNC_MODIFIES(*mem_pools);
@@ -459,15 +442,6 @@
, PARROT_ASSERT_ARG(new_arena))
#define ASSERT_ARGS_Parrot_gc_clear_live_bits __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(pool))
-#define ASSERT_ARGS_Parrot_gc_get_attribute_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(mem_pools))
-#define ASSERT_ARGS_Parrot_gc_get_attributes_from_pool \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(pool))
-#define ASSERT_ARGS_Parrot_gc_initialize_fixed_size_pools \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(mem_pools))
#define ASSERT_ARGS_Parrot_gc_run_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(mem_pools))
#define ASSERT_ARGS_Parrot_gc_sweep_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -489,10 +463,6 @@
char * aligned_mem(SHIM(const Buffer *buffer), ARGIN(char *mem))
__attribute__nonnull__(2);
-PARROT_CONST_FUNCTION
-PARROT_WARN_UNUSED_RESULT
-size_t aligned_string_size(size_t len);
-
void check_buffer_ptr(
ARGMOD(Buffer * pobj),
ARGMOD(Variable_Size_Pool * pool))
@@ -557,7 +527,6 @@
#define ASSERT_ARGS_aligned_mem __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(mem))
-#define ASSERT_ARGS_aligned_string_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_check_buffer_ptr __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(pobj) \
, PARROT_ASSERT_ARG(pool))
@@ -596,12 +565,6 @@
void * gc_ms_allocate_fixed_size_storage(PARROT_INTERP, size_t size)
__attribute__nonnull__(1);
-PARROT_CANNOT_RETURN_NULL
-void * gc_ms_allocate_pmc_attributes(PARROT_INTERP, ARGMOD(PMC *pmc))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*pmc);
-
void gc_ms_allocate_string_storage(PARROT_INTERP,
ARGOUT(STRING *str),
size_t size)
@@ -635,9 +598,6 @@
#define ASSERT_ARGS_gc_ms_allocate_fixed_size_storage \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_gc_ms_allocate_pmc_attributes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_gc_ms_allocate_string_storage __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(str))
Modified: branches/include_dynpmc_makefile/src/gc/mark_sweep.c
==============================================================================
--- branches/include_dynpmc_makefile/src/gc/mark_sweep.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/gc/mark_sweep.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -77,15 +77,6 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*mem_pools);
-static void Parrot_gc_allocate_new_attributes_arena(
- ARGMOD(PMC_Attribute_Pool *pool))
- __attribute__nonnull__(1)
- FUNC_MODIFIES(*pool);
-
-PARROT_CANNOT_RETURN_NULL
-PARROT_MALLOC
-static PMC_Attribute_Pool * Parrot_gc_create_attrib_pool(size_t attrib_idx);
-
#define ASSERT_ARGS_free_buffer __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(pool) \
, PARROT_ASSERT_ARG(b))
@@ -102,10 +93,6 @@
#define ASSERT_ARGS_new_string_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(mem_pools))
-#define ASSERT_ARGS_Parrot_gc_allocate_new_attributes_arena \
- __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(pool))
-#define ASSERT_ARGS_Parrot_gc_create_attrib_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
@@ -704,13 +691,28 @@
ASSERT_ARGS(free_buffer)
Variable_Size_Pool * const mem_pool = (Variable_Size_Pool *)pool->mem_pool;
+ /* If there is no allocated buffer - bail out */
+ if (!Buffer_buflen(b))
+ return;
+
/* XXX Jarkko reported that on irix pool->mem_pool was NULL, which really
* shouldn't happen */
if (mem_pool) {
- if (!PObj_COW_TEST(b))
- mem_pool->guaranteed_reclaimable += Buffer_buflen(b);
- else
- mem_pool->possibly_reclaimable += Buffer_buflen(b);
+ /* Update Memory_Block usage */
+ if (PObj_is_movable_TESTALL(b)) {
+ INTVAL *buffer_flags = Buffer_bufrefcountptr(b);
+
+ /* Mask low 2 bits used for flags */
+ Memory_Block * block = Buffer_pool(b);
+
+ PARROT_ASSERT(block);
+
+ /* We can have shared buffers. Don't count them (yet) */
+ if (!(*buffer_flags & Buffer_shared_FLAG)) {
+ block->freed += ALIGNED_STRING_SIZE(Buffer_buflen(b));
+ }
+
+ }
}
Buffer_buflen(b) = 0;
@@ -899,188 +901,6 @@
return 0;
}
-/*
-
-=over 4
-
-=item C<void * Parrot_gc_get_attributes_from_pool(PARROT_INTERP,
-PMC_Attribute_Pool * pool)>
-
-Get a new fixed-size storage space from the given pool. The pool contains
-information on the size of the item to allocate already.
-
-=item C<static void Parrot_gc_allocate_new_attributes_arena(PMC_Attribute_Pool
-*pool)>
-
-Allocate a new arena of fixed-sized data structures for the given pool.
-
-=item C<void Parrot_gc_initialize_fixed_size_pools(PARROT_INTERP, Memory_Pools
-*mem_pools, size_t init_num_pools)>
-
-Initialize the pools (zeroize)
-
-=item C<PMC_Attribute_Pool * Parrot_gc_get_attribute_pool(PARROT_INTERP,
-Memory_Pools *mem_pools, size_t attrib_size)>
-
-Find a fixed-sized data structure pool given the size of the object to
-allocate. If the pool does not exist, create it.
-
-=item C<static PMC_Attribute_Pool * Parrot_gc_create_attrib_pool(size_t
-attrib_idx)>
-
-Create a new pool for fixed-sized data items with the given C<attrib_size>.
-
-=back
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-void *
-Parrot_gc_get_attributes_from_pool(PARROT_INTERP, ARGMOD(PMC_Attribute_Pool * pool))
-{
- ASSERT_ARGS(Parrot_gc_get_attributes_from_pool)
- PMC_Attribute_Free_List *item;
-
-#if GC_USE_LAZY_ALLOCATOR
- if (pool->free_list) {
- item = pool->free_list;
- pool->free_list = item->next;
- }
- else if (pool->newfree) {
- item = pool->newfree;
- pool->newfree = (PMC_Attribute_Free_List *)
- ((char *)(pool->newfree) + pool->attr_size);
- if (pool->newfree >= pool->newlast)
- pool->newfree = NULL;
- }
- else {
- Parrot_gc_allocate_new_attributes_arena(pool);
- return Parrot_gc_get_attributes_from_pool(interp, pool);
- }
-#else
- if (pool->free_list == NULL)
- Parrot_gc_allocate_new_attributes_arena(pool);
- item = pool->free_list;
- pool->free_list = item->next;
-#endif
-
- pool->num_free_objects--;
- return (void *)item;
-}
-
-
-static void
-Parrot_gc_allocate_new_attributes_arena(ARGMOD(PMC_Attribute_Pool *pool))
-{
- ASSERT_ARGS(Parrot_gc_allocate_new_attributes_arena)
- PMC_Attribute_Free_List *next;
-
- const size_t num_items = pool->objects_per_alloc;
- const size_t item_size = pool->attr_size;
- const size_t item_space = item_size * num_items;
- const size_t total_size = sizeof (PMC_Attribute_Arena) + item_space;
-
- PMC_Attribute_Arena * const new_arena = (PMC_Attribute_Arena *)mem_internal_allocate(
- total_size);
-
- new_arena->prev = NULL;
- new_arena->next = pool->top_arena;
- pool->top_arena = new_arena;
- next = (PMC_Attribute_Free_List *)(new_arena + 1);
-
-#if GC_USE_LAZY_ALLOCATOR
- pool->newfree = next;
- pool->newlast = (PMC_Attribute_Free_List *)((char *)next + item_space);
-#else
- pool->free_list = next;
- for (i = 0; i < num_items; i++) {
- list = next;
- list->next = (PMC_Attribute_Free_List *)((char *)list + item_size);
- next = list->next;
- }
- list->next = pool->free_list;
-#endif
-
- pool->num_free_objects += num_items;
- pool->total_objects += num_items;
-}
-
-void
-Parrot_gc_initialize_fixed_size_pools(SHIM_INTERP,
- ARGMOD(Memory_Pools *mem_pools),
- size_t init_num_pools)
-{
- ASSERT_ARGS(Parrot_gc_initialize_fixed_size_pools)
- PMC_Attribute_Pool **pools;
- const size_t total_size = (init_num_pools + 1) * sizeof (void *);
-
- pools = (PMC_Attribute_Pool **)mem_internal_allocate(total_size);
- memset(pools, 0, total_size);
-
- mem_pools->attrib_pools = pools;
- mem_pools->num_attribs = init_num_pools;
-}
-
-
-PARROT_CANNOT_RETURN_NULL
-PMC_Attribute_Pool *
-Parrot_gc_get_attribute_pool(SHIM_INTERP,
- ARGMOD(Memory_Pools *mem_pools),
- size_t attrib_size)
-{
- ASSERT_ARGS(Parrot_gc_get_attribute_pool)
-
- PMC_Attribute_Pool **pools = mem_pools->attrib_pools;
- const size_t idx = (attrib_size < sizeof (void *))
- ? 0
- : attrib_size - sizeof (void *);
-
- if (mem_pools->num_attribs <= idx) {
- const size_t total_length = idx + GC_ATTRIB_POOLS_HEADROOM;
- const size_t total_size = total_length * sizeof (void *);
- const size_t current_size = mem_pools->num_attribs;
- const size_t diff = total_length - current_size;
-
- pools = (PMC_Attribute_Pool **)mem_internal_realloc(pools, total_size);
- memset(pools + current_size, 0, diff * sizeof (void *));
- mem_pools->attrib_pools = pools;
- mem_pools->num_attribs = total_length;
- }
-
- if (!pools[idx]) {
- PMC_Attribute_Pool * const pool = Parrot_gc_create_attrib_pool(idx);
- /* Create the first arena now, so we don't have to check for it later */
- Parrot_gc_allocate_new_attributes_arena(pool);
- pools[idx] = pool;
- }
-
- return pools[idx];
-}
-
-PARROT_CANNOT_RETURN_NULL
-PARROT_MALLOC
-static PMC_Attribute_Pool *
-Parrot_gc_create_attrib_pool(size_t attrib_idx)
-{
- ASSERT_ARGS(Parrot_gc_create_attrib_pool)
- const size_t attrib_size = attrib_idx + sizeof (void *);
- const size_t num_objs_raw =
- (GC_FIXED_SIZE_POOL_SIZE - sizeof (PMC_Attribute_Arena)) / attrib_size;
- const size_t num_objs = (num_objs_raw == 0)?(1):(num_objs_raw);
- PMC_Attribute_Pool * const newpool = mem_internal_allocate_typed(PMC_Attribute_Pool);
-
- newpool->attr_size = attrib_size;
- newpool->total_objects = 0;
- newpool->objects_per_alloc = num_objs;
- newpool->num_free_objects = 0;
- newpool->free_list = NULL;
- newpool->top_arena = NULL;
-
- return newpool;
-}
-
/*
Modified: branches/include_dynpmc_makefile/src/interp/inter_misc.c
==============================================================================
--- branches/include_dynpmc_makefile/src/interp/inter_misc.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/interp/inter_misc.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -237,12 +237,6 @@
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "fast")))
return PARROT_FAST_CORE;
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "switch")))
- return PARROT_SWITCH_CORE;
- else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "cgp")))
- return PARROT_CGP_CORE;
- else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "cgoto")))
- return PARROT_CGOTO_CORE;
- else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "exec")))
return PARROT_EXEC_CORE;
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "gc_debug")))
return PARROT_GC_DEBUG_CORE;
Modified: branches/include_dynpmc_makefile/src/io/api.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/api.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/api.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -28,6 +28,7 @@
*/
#include "parrot/parrot.h"
+#include "parrot/extend.h"
#include "io_private.h"
#include "api.str"
#include "pmc/pmc_filehandle.h"
@@ -122,25 +123,24 @@
ASSERT_ARGS(Parrot_io_open)
PMC *new_filehandle, *filehandle;
INTVAL flags;
+ const INTVAL typenum = Parrot_get_ctx_HLL_type(interp,
+ Parrot_PMC_typenum(interp, "FileHandle"));
if (PMC_IS_NULL(pmc)) {
- /* TODO: We should look up the HLL mapped type, instead of always
- using FileHandle here */
- new_filehandle = Parrot_pmc_new(interp, enum_class_FileHandle);
- PARROT_ASSERT(new_filehandle->vtable->base_type == enum_class_FileHandle);
+ new_filehandle = Parrot_pmc_new(interp, typenum);
}
else
new_filehandle = pmc;
flags = Parrot_io_parse_open_flags(interp, mode);
- if (new_filehandle->vtable->base_type == enum_class_FileHandle) {
+ if (new_filehandle->vtable->base_type == typenum) {
/* TODO: StringHandle may have a null path, but a filehandle really
shouldn't allow that. */
- PARROT_ASSERT(new_filehandle->vtable->base_type == enum_class_FileHandle);
+ PARROT_ASSERT(new_filehandle->vtable->base_type == typenum);
filehandle = PIO_OPEN(interp, new_filehandle, path, flags);
if (PMC_IS_NULL(filehandle))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_PIO_ERROR,
"Unable to open filehandle from path '%S'", path);
- PARROT_ASSERT(filehandle->vtable->base_type == enum_class_FileHandle);
+ PARROT_ASSERT(filehandle->vtable->base_type == typenum);
SETATTR_FileHandle_flags(interp, new_filehandle, flags);
SETATTR_FileHandle_filename(interp, new_filehandle, path);
SETATTR_FileHandle_mode(interp, new_filehandle, mode);
@@ -460,14 +460,13 @@
Parrot_io_write(PARROT_INTERP, ARGMOD(PMC *pmc), ARGIN(const void *buffer), size_t length)
{
ASSERT_ARGS(Parrot_io_write)
- DECL_CONST_CAST;
INTVAL result;
STRING *s;
if (PMC_IS_NULL(pmc))
return -1;
- s = Parrot_str_new(interp, (char *) PARROT_const_cast(void *, buffer), length);
+ s = Parrot_str_new(interp, (const char *)buffer, length);
result = Parrot_io_putps(interp, pmc, s);
return result;
Modified: branches/include_dynpmc_makefile/src/io/buffer.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/buffer.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/buffer.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -337,11 +337,9 @@
size_t got;
if (len >= Parrot_io_get_buffer_size(interp, filehandle)) {
- STRING fake;
- STRING *sf = &fake;
-
- Buffer_bufstart(sf) = (char *)out_buf;
- fake.bufused = len;
+ STRING *sf = Parrot_str_new_init(interp, (char *)out_buf, len,
+ PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET,
+ PObj_external_FLAG);
got = PIO_READ(interp, filehandle, &sf);
s->strlen = s->bufused = current + got;
@@ -545,8 +543,8 @@
/*
-=item C<size_t Parrot_io_write_buffer(PARROT_INTERP, PMC *filehandle, STRING
-*s)>
+=item C<size_t Parrot_io_write_buffer(PARROT_INTERP, PMC *filehandle, const
+STRING *s)>
The buffer layer's C<Write> function.
@@ -555,7 +553,7 @@
*/
size_t
-Parrot_io_write_buffer(PARROT_INTERP, ARGMOD(PMC *filehandle), ARGIN(STRING *s))
+Parrot_io_write_buffer(PARROT_INTERP, ARGMOD(PMC *filehandle), ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_io_write_buffer)
unsigned char * const buffer_start = Parrot_io_get_buffer_start(interp, filehandle);
Modified: branches/include_dynpmc_makefile/src/io/portable.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/portable.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/portable.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -349,7 +349,7 @@
*/
INTVAL
-Parrot_io_flush_portable(SHIM_INTERP, SHIM(PMC *filehandle))
+Parrot_io_flush_portable(SHIM_INTERP, ARGIN(PMC *filehandle))
{
ASSERT_ARGS(Parrot_io_flush_portable)
return fflush((FILE *)Parrot_io_get_os_handle(interp, filehandle));
@@ -369,7 +369,7 @@
*/
size_t
-Parrot_io_read_portable(PARROT_INTERP, SHIM(PMC *filehandle),
+Parrot_io_read_portable(PARROT_INTERP, ARGIN(PMC *filehandle),
ARGIN(STRING **buf))
{
ASSERT_ARGS(Parrot_io_read_portable)
@@ -393,8 +393,8 @@
/*
-=item C<size_t Parrot_io_write_portable(PARROT_INTERP, PMC *filehandle, STRING
-*s)>
+=item C<size_t Parrot_io_write_portable(PARROT_INTERP, PMC *filehandle, const
+STRING *s)>
Writes the given STRING to the provided IO PMC.
@@ -403,10 +403,10 @@
*/
size_t
-Parrot_io_write_portable(PARROT_INTERP, ARGIN(PMC *filehandle), ARGMOD(STRING *s))
+Parrot_io_write_portable(PARROT_INTERP, ARGIN(PMC *filehandle), ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_io_write_portable)
- void * const buffer = s->strstart;
+ const void * const buffer = s->strstart;
return fwrite(buffer, 1, s->bufused,
(FILE *)Parrot_io_get_os_handle(interp, filehandle));
}
@@ -424,15 +424,15 @@
*/
PIOOFF_T
-Parrot_io_seek_portable(PARROT_INTERP, ARGMOD(PMC *filehandle),
- PIOOFF_T offset, INTVAL whence)
+Parrot_io_seek_portable(PARROT_INTERP, ARGMOD(PMC *filehandle), PIOOFF_T offset, INTVAL whence)
{
ASSERT_ARGS(Parrot_io_seek_portable)
- PIOOFF_T pos;
errno = 0;
- if ((pos = fseek((FILE *)Parrot_io_get_os_handle(interp, filehandle),
- (long)offset, whence)) >= 0)
+ const PIOOFF_T pos = fseek(
+ (FILE *)Parrot_io_get_os_handle(interp, filehandle), (long)offset, whence);
+
+ if (pos >= 0)
Parrot_io_set_file_position(interp, filehandle, pos);
/* Seek clears EOF */
Modified: branches/include_dynpmc_makefile/src/io/unix.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/unix.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/unix.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -541,7 +541,8 @@
/*
-=item C<size_t Parrot_io_write_unix(PARROT_INTERP, PMC *filehandle, STRING *s)>
+=item C<size_t Parrot_io_write_unix(PARROT_INTERP, PMC *filehandle, const STRING
+*s)>
Calls C<write()> to write C<len> bytes from the memory starting at
C<buffer> to the file descriptor in C<*io>.
@@ -551,7 +552,7 @@
*/
size_t
-Parrot_io_write_unix(PARROT_INTERP, ARGIN(PMC *filehandle), ARGMOD(STRING *s))
+Parrot_io_write_unix(PARROT_INTERP, ARGIN(PMC *filehandle), ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_io_write_unix)
const PIOHANDLE file_descriptor = Parrot_io_get_os_handle(interp, filehandle);
Modified: branches/include_dynpmc_makefile/src/io/utf8.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/utf8.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/utf8.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -101,7 +101,8 @@
/*
-=item C<size_t Parrot_io_write_utf8(PARROT_INTERP, PMC *filehandle, STRING *s)>
+=item C<size_t Parrot_io_write_utf8(PARROT_INTERP, PMC *filehandle, const STRING
+*s)>
Write a Parrot string to a filehandle in UTF-8 format.
@@ -110,8 +111,7 @@
*/
size_t
-Parrot_io_write_utf8(PARROT_INTERP, ARGMOD(PMC *filehandle),
- ARGMOD(STRING *s))
+Parrot_io_write_utf8(PARROT_INTERP, ARGMOD(PMC *filehandle), ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_io_write_utf8)
STRING *dest;
@@ -134,10 +134,6 @@
F<src/io/io_layers.c>,
F<src/io/io_private.h>.
-=head1 HISTORY
-
-Initially written by Leo.
-
=cut
*/
Modified: branches/include_dynpmc_makefile/src/io/win32.c
==============================================================================
--- branches/include_dynpmc_makefile/src/io/win32.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/io/win32.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -472,7 +472,8 @@
/*
-=item C<size_t Parrot_io_write_win32(PARROT_INTERP, PMC *filehandle, STRING *s)>
+=item C<size_t Parrot_io_write_win32(PARROT_INTERP, PMC *filehandle, const
+STRING *s)>
Calls C<WriteFile()> to write C<len> bytes from the memory starting at
C<buffer> to C<*io>'s file descriptor. Returns C<(size_t)-1> on
@@ -483,9 +484,7 @@
*/
size_t
-Parrot_io_write_win32(PARROT_INTERP,
- ARGIN(PMC *filehandle),
- ARGIN(STRING *s))
+Parrot_io_write_win32(PARROT_INTERP, ARGIN(PMC *filehandle), ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_io_write_win32)
DWORD countwrote = 0;
Modified: branches/include_dynpmc_makefile/src/main.c
==============================================================================
--- branches/include_dynpmc_makefile/src/main.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/main.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -301,8 +301,8 @@
" --hash-seed F00F specify hex value to use as hash seed\n"
" -X --dynext add path to dynamic extension search\n"
" <Run core options>\n"
- " -R --runcore slow|bounds|fast|cgoto|cgp\n"
- " -R --runcore switch|trace|profiling|gcdebug\n"
+ " -R --runcore slow|bounds|fast\n"
+ " -R --runcore trace|profiling|gcdebug\n"
" -t --trace [flags]\n"
" <VM options>\n"
" -D --parrot-debug[=HEXFLAGS]\n"
@@ -461,18 +461,8 @@
*core = PARROT_SLOW_CORE;
else if (STREQ(opt.opt_arg, "fast") || STREQ(opt.opt_arg, "function"))
*core = PARROT_FAST_CORE;
- else if (STREQ(opt.opt_arg, "switch"))
- *core = PARROT_SWITCH_CORE;
- else if (STREQ(opt.opt_arg, "cgp"))
- *core = PARROT_CGP_CORE;
- else if (STREQ(opt.opt_arg, "cgoto"))
- *core = PARROT_CGOTO_CORE;
else if (STREQ(opt.opt_arg, "jit"))
*core = PARROT_FAST_CORE;
- else if (STREQ(opt.opt_arg, "cgp-jit"))
- *core = PARROT_CGP_CORE;
- else if (STREQ(opt.opt_arg, "switch-jit"))
- *core = PARROT_SWITCH_CORE;
else if (STREQ(opt.opt_arg, "exec"))
*core = PARROT_EXEC_CORE;
else if (STREQ(opt.opt_arg, "trace"))
Modified: branches/include_dynpmc_makefile/src/oo.c
==============================================================================
--- branches/include_dynpmc_makefile/src/oo.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/oo.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2007-2009, Parrot Foundation.
+Copyright (C) 2007-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -169,49 +169,51 @@
ASSERT_ARGS(Parrot_oo_get_class)
PMC *classobj = PMCNULL;
- if (PObj_is_class_TEST(key))
- classobj = key;
- else {
- /* Fast select of behavior based on type of the lookup key */
- switch (key->vtable->base_type) {
- case enum_class_NameSpace:
- classobj = VTABLE_get_class(interp, key);
- break;
- case enum_class_String:
- case enum_class_Key:
- case enum_class_ResizableStringArray:
- {
- PMC * const hll_ns = VTABLE_get_pmc_keyed_int(interp,
- interp->HLL_namespace,
- Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)));
- PMC * const ns = Parrot_get_namespace_keyed(interp,
- hll_ns, key);
+ if (!PMC_IS_NULL(key)) {
+ if (PObj_is_class_TEST(key))
+ classobj = key;
+ else {
+ /* Fast select of behavior based on type of the lookup key */
+ switch (key->vtable->base_type) {
+ case enum_class_NameSpace:
+ classobj = VTABLE_get_class(interp, key);
+ break;
+ case enum_class_String:
+ case enum_class_Key:
+ case enum_class_ResizableStringArray:
+ {
+ PMC * const hll_ns = VTABLE_get_pmc_keyed_int(interp,
+ interp->HLL_namespace,
+ Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp)));
+ PMC * const ns = Parrot_get_namespace_keyed(interp,
+ hll_ns, key);
- if (!PMC_IS_NULL(ns))
- classobj = VTABLE_get_class(interp, ns);
+ if (!PMC_IS_NULL(ns))
+ classobj = VTABLE_get_class(interp, ns);
+ }
+ default:
+ break;
}
- default:
- break;
}
- }
- /* If the PMCProxy doesn't exist yet for the given key, we look up the
- type ID here and create a new one */
- if (PMC_IS_NULL(classobj)) {
- INTVAL type;
- const INTVAL base_type = key->vtable->base_type;
-
- /* This is a hack! All PMCs should be able to be handled through
- a single codepath, and all of them should be able to avoid
- stringification because it's so imprecise. */
- if (base_type == enum_class_Key
- || base_type == enum_class_ResizableStringArray
- || base_type == enum_class_String)
- type = Parrot_pmc_get_type(interp, key);
- else
- type = Parrot_pmc_get_type_str(interp, VTABLE_get_string(interp, key));
+ /* If the PMCProxy doesn't exist yet for the given key, we look up the
+ type ID here and create a new one */
+ if (PMC_IS_NULL(classobj)) {
+ INTVAL type;
+ const INTVAL base_type = key->vtable->base_type;
+
+ /* This is a hack! All PMCs should be able to be handled through
+ a single codepath, and all of them should be able to avoid
+ stringification because it's so imprecise. */
+ if (base_type == enum_class_Key
+ || base_type == enum_class_ResizableStringArray
+ || base_type == enum_class_String)
+ type = Parrot_pmc_get_type(interp, key);
+ else
+ type = Parrot_pmc_get_type_str(interp, VTABLE_get_string(interp, key));
- classobj = get_pmc_proxy(interp, type);
+ classobj = get_pmc_proxy(interp, type);
+ }
}
return classobj;
@@ -1039,13 +1041,27 @@
PMC * const mro = _class->vtable->mro;
const INTVAL n = VTABLE_elements(interp, mro);
+ STRING * const methods_str = CONST_STRING(interp, "methods");
+ STRING * const class_str = CONST_STRING(interp, "class");
for (i = 0; i < n; ++i) {
- PMC *method, *ns;
+ PMC *ns, *class_obj, *_class, *method_hash;
+ PMC *method = PMCNULL;
_class = VTABLE_get_pmc_keyed_int(interp, mro, i);
ns = VTABLE_get_namespace(interp, _class);
- method = VTABLE_get_pmc_keyed_str(interp, ns, method_name);
+
+ class_obj = VTABLE_inspect_str(interp, ns, class_str);
+ if (PMC_IS_NULL(class_obj))
+ method_hash = VTABLE_inspect_str(interp, ns, methods_str);
+ else
+ method_hash = VTABLE_inspect_str(interp, class_obj, methods_str);
+
+ if (!PMC_IS_NULL(method_hash))
+ method = VTABLE_get_pmc_keyed_str(interp, method_hash, method_name);
+
+ if (PMC_IS_NULL(method))
+ method = VTABLE_get_pmc_keyed_str(interp, ns, method_name);
TRACE_FM(interp, _class, method_name, method);
Modified: branches/include_dynpmc_makefile/src/ops/bit.ops
==============================================================================
--- branches/include_dynpmc_makefile/src/ops/bit.ops Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/ops/bit.ops Wed Apr 28 19:17:12 2010 (r46116)
@@ -89,8 +89,6 @@
VTABLE_set_integer_native(interp, $1, a & b);
}
-=item B<bands>(inout STR, in STR)
-
=item B<bands>(invar PMC, in STR)
=item B<bands>(invar PMC, invar PMC)
@@ -109,10 +107,6 @@
=cut
-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);
@@ -177,8 +171,6 @@
$1 = b;
}
-=item B<bnots>(inout STR)
-
=item B<bnots>(invar PMC)
=item B<bnots>(out STR, in STR)
@@ -187,10 +179,6 @@
=cut
-inline op bnots(inout STR) :base_core :deprecated {
- $1 = Parrot_str_bitwise_not(interp, $1);
-}
-
inline op bnots(out STR, in STR) :base_core {
$1 = Parrot_str_bitwise_not(interp, $2);
}
@@ -259,8 +247,6 @@
VTABLE_set_integer_native(interp, $1, a | b);
}
-=item B<bors>(inout STR, in STR)
-
=item B<bors>(invar PMC, in STR)
=item B<bors>(invar PMC, invar PMC)
@@ -279,10 +265,6 @@
=cut
-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);
@@ -559,8 +541,6 @@
VTABLE_set_integer_native(interp, $1, (INTVAL)c);
}
-=item B<bxors>(inout STR, in STR)
-
=item B<bxors>(invar PMC, in STR)
=item B<bxors>(invar PMC, invar PMC)
@@ -579,10 +559,6 @@
=cut
-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);
Modified: branches/include_dynpmc_makefile/src/ops/ops.num
==============================================================================
--- branches/include_dynpmc_makefile/src/ops/ops.num Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/ops/ops.num Wed Apr 28 19:17:12 2010 (r46116)
@@ -154,1142 +154,1110 @@
band_p_p_i 130
band_p_p_ic 131
band_p_p_p 132
-bands_s_s 133
-bands_s_sc 134
-bands_p_s 135
-bands_p_sc 136
-bands_p_p 137
-bands_s_s_s 138
-bands_s_sc_s 139
-bands_s_s_sc 140
-bands_p_p_s 141
-bands_p_p_sc 142
-bands_p_p_p 143
-bnot_i 144
-bnot_i_i 145
-bnot_p 146
-bnot_p_p 147
-bnots_s 148
-bnots_s_s 149
-bnots_s_sc 150
-bnots_p 151
-bnots_p_p 152
-bor_i_i 153
-bor_i_ic 154
-bor_p_i 155
-bor_p_ic 156
-bor_p_p 157
-bor_i_i_i 158
-bor_i_ic_i 159
-bor_i_i_ic 160
-bor_p_p_i 161
-bor_p_p_ic 162
-bor_p_p_p 163
-bors_s_s 164
-bors_s_sc 165
-bors_p_s 166
-bors_p_sc 167
-bors_p_p 168
-bors_s_s_s 169
-bors_s_sc_s 170
-bors_s_s_sc 171
-bors_p_p_s 172
-bors_p_p_sc 173
-bors_p_p_p 174
-shl_i_i 175
-shl_i_ic 176
-shl_p_i 177
-shl_p_ic 178
-shl_p_p 179
-shl_i_i_i 180
-shl_i_ic_i 181
-shl_i_i_ic 182
-shl_p_p_i 183
-shl_p_p_ic 184
-shl_p_p_p 185
-shr_i_i 186
-shr_i_ic 187
-shr_p_i 188
-shr_p_ic 189
-shr_p_p 190
-shr_i_i_i 191
-shr_i_ic_i 192
-shr_i_i_ic 193
-shr_p_p_i 194
-shr_p_p_ic 195
-shr_p_p_p 196
-lsr_i_i 197
-lsr_i_ic 198
-lsr_p_i 199
-lsr_p_ic 200
-lsr_p_p 201
-lsr_i_i_i 202
-lsr_i_ic_i 203
-lsr_i_i_ic 204
-lsr_p_p_i 205
-lsr_p_p_ic 206
-lsr_p_p_p 207
-rot_i_i_i_ic 208
-rot_i_ic_i_ic 209
-rot_i_i_ic_ic 210
-bxor_i_i 211
-bxor_i_ic 212
-bxor_p_i 213
-bxor_p_ic 214
-bxor_p_p 215
-bxor_i_i_i 216
-bxor_i_ic_i 217
-bxor_i_i_ic 218
-bxor_p_p_i 219
-bxor_p_p_ic 220
-bxor_p_p_p 221
-bxors_s_s 222
-bxors_s_sc 223
-bxors_p_s 224
-bxors_p_sc 225
-bxors_p_p 226
-bxors_s_s_s 227
-bxors_s_sc_s 228
-bxors_s_s_sc 229
-bxors_p_p_s 230
-bxors_p_p_sc 231
-bxors_p_p_p 232
-eq_i_i_ic 233
-eq_ic_i_ic 234
-eq_i_ic_ic 235
-eq_n_n_ic 236
-eq_nc_n_ic 237
-eq_n_nc_ic 238
-eq_s_s_ic 239
-eq_sc_s_ic 240
-eq_s_sc_ic 241
-eq_p_p_ic 242
-eq_p_i_ic 243
-eq_p_ic_ic 244
-eq_p_n_ic 245
-eq_p_nc_ic 246
-eq_p_s_ic 247
-eq_p_sc_ic 248
-eq_str_p_p_ic 249
-eq_num_p_p_ic 250
-eq_addr_s_s_ic 251
-eq_addr_sc_s_ic 252
-eq_addr_s_sc_ic 253
-eq_addr_sc_sc_ic 254
-eq_addr_p_p_ic 255
-ne_i_i_ic 256
-ne_ic_i_ic 257
-ne_i_ic_ic 258
-ne_n_n_ic 259
-ne_nc_n_ic 260
-ne_n_nc_ic 261
-ne_s_s_ic 262
-ne_sc_s_ic 263
-ne_s_sc_ic 264
-ne_p_p_ic 265
-ne_p_i_ic 266
-ne_p_ic_ic 267
-ne_p_n_ic 268
-ne_p_nc_ic 269
-ne_p_s_ic 270
-ne_p_sc_ic 271
-ne_str_p_p_ic 272
-ne_num_p_p_ic 273
-ne_addr_s_s_ic 274
-ne_addr_sc_s_ic 275
-ne_addr_s_sc_ic 276
-ne_addr_sc_sc_ic 277
-ne_addr_p_p_ic 278
-lt_i_i_ic 279
-lt_ic_i_ic 280
-lt_i_ic_ic 281
-lt_n_n_ic 282
-lt_nc_n_ic 283
-lt_n_nc_ic 284
-lt_s_s_ic 285
-lt_sc_s_ic 286
-lt_s_sc_ic 287
-lt_p_p_ic 288
-lt_p_i_ic 289
-lt_p_ic_ic 290
-lt_p_n_ic 291
-lt_p_nc_ic 292
-lt_p_s_ic 293
-lt_p_sc_ic 294
-lt_str_p_p_ic 295
-lt_num_p_p_ic 296
-le_i_i_ic 297
-le_ic_i_ic 298
-le_i_ic_ic 299
-le_n_n_ic 300
-le_nc_n_ic 301
-le_n_nc_ic 302
-le_s_s_ic 303
-le_sc_s_ic 304
-le_s_sc_ic 305
-le_p_p_ic 306
-le_p_i_ic 307
-le_p_ic_ic 308
-le_p_n_ic 309
-le_p_nc_ic 310
-le_p_s_ic 311
-le_p_sc_ic 312
-le_str_p_p_ic 313
-le_num_p_p_ic 314
-gt_p_p_ic 315
-gt_p_i_ic 316
-gt_p_ic_ic 317
-gt_p_n_ic 318
-gt_p_nc_ic 319
-gt_p_s_ic 320
-gt_p_sc_ic 321
-gt_str_p_p_ic 322
-gt_num_p_p_ic 323
-ge_p_p_ic 324
-ge_p_i_ic 325
-ge_p_ic_ic 326
-ge_p_n_ic 327
-ge_p_nc_ic 328
-ge_p_s_ic 329
-ge_p_sc_ic 330
-ge_str_p_p_ic 331
-ge_num_p_p_ic 332
-if_null_p_ic 333
-if_null_s_ic 334
-unless_null_p_ic 335
-unless_null_s_ic 336
-cmp_i_i_i 337
-cmp_i_ic_i 338
-cmp_i_i_ic 339
-cmp_i_n_n 340
-cmp_i_nc_n 341
-cmp_i_n_nc 342
-cmp_i_s_s 343
-cmp_i_sc_s 344
-cmp_i_s_sc 345
-cmp_i_p_p 346
-cmp_i_p_i 347
-cmp_i_p_ic 348
-cmp_i_p_n 349
-cmp_i_p_nc 350
-cmp_i_p_s 351
-cmp_i_p_sc 352
-cmp_str_i_p_p 353
-cmp_num_i_p_p 354
-cmp_pmc_p_p_p 355
-issame_i_p_p 356
-issame_i_s_s 357
-issame_i_sc_s 358
-issame_i_s_sc 359
-issame_i_sc_sc 360
-isntsame_i_p_p 361
-isntsame_i_s_s 362
-isntsame_i_sc_s 363
-isntsame_i_s_sc 364
-isntsame_i_sc_sc 365
-istrue_i_p 366
-isfalse_i_p 367
-isnull_i_p 368
-isnull_i_pc 369
-isnull_i_s 370
-isnull_i_sc 371
-isgt_i_p_p 372
-isge_i_p_p 373
-isle_i_i_i 374
-isle_i_ic_i 375
-isle_i_i_ic 376
-isle_i_n_n 377
-isle_i_nc_n 378
-isle_i_n_nc 379
-isle_i_s_s 380
-isle_i_sc_s 381
-isle_i_s_sc 382
-isle_i_p_p 383
-islt_i_i_i 384
-islt_i_ic_i 385
-islt_i_i_ic 386
-islt_i_n_n 387
-islt_i_nc_n 388
-islt_i_n_nc 389
-islt_i_s_s 390
-islt_i_sc_s 391
-islt_i_s_sc 392
-islt_i_p_p 393
-iseq_i_i_i 394
-iseq_i_ic_i 395
-iseq_i_i_ic 396
-iseq_i_n_n 397
-iseq_i_nc_n 398
-iseq_i_n_nc 399
-iseq_i_s_s 400
-iseq_i_sc_s 401
-iseq_i_s_sc 402
-iseq_i_p_p 403
-isne_i_i_i 404
-isne_i_ic_i 405
-isne_i_i_ic 406
-isne_i_n_n 407
-isne_i_nc_n 408
-isne_i_n_nc 409
-isne_i_s_s 410
-isne_i_sc_s 411
-isne_i_s_sc 412
-isne_i_p_p 413
-and_i_i_i 414
-and_i_ic_i 415
-and_i_i_ic 416
-and_p_p_p 417
-not_i 418
-not_i_i 419
-not_p 420
-not_p_p 421
-or_i_i_i 422
-or_i_ic_i 423
-or_i_i_ic 424
-or_p_p_p 425
-xor_i_i_i 426
-xor_i_ic_i 427
-xor_i_i_ic 428
-xor_p_p_p 429
-debug_init 430
-debug_load_sc 431
-debug_break 432
-debug_print 433
-backtrace 434
-getline_i 435
-getfile_s 436
-set_label_p_ic 437
-get_label_i_p 438
-close_p 439
-fdopen_p_i_s 440
-fdopen_p_ic_s 441
-fdopen_p_i_sc 442
-fdopen_p_ic_sc 443
-getstdin_p 444
-getstdout_p 445
-getstderr_p 446
-setstdin_p 447
-setstdout_p 448
-setstderr_p 449
-open_p_s_s 450
-open_p_sc_s 451
-open_p_s_sc 452
-open_p_sc_sc 453
-open_p_s 454
-open_p_sc 455
-print_i 456
-print_ic 457
-print_n 458
-print_nc 459
-print_s 460
-print_sc 461
-print_p 462
-say_i 463
-say_ic 464
-say_n 465
-say_nc 466
-say_s 467
-say_sc 468
-say_p 469
-printerr_i 470
-printerr_ic 471
-printerr_n 472
-printerr_nc 473
-printerr_s 474
-printerr_sc 475
-printerr_p 476
-print_p_i 477
-print_p_ic 478
-print_p_n 479
-print_p_nc 480
-print_p_s 481
-print_p_sc 482
-print_p_p 483
-read_s_i 484
-read_s_ic 485
-read_s_p_i 486
-read_s_p_ic 487
-readline_s_p 488
-peek_s 489
-peek_s_p 490
-stat_i_s_i 491
-stat_i_sc_i 492
-stat_i_s_ic 493
-stat_i_sc_ic 494
-stat_i_i_i 495
-stat_i_ic_i 496
-stat_i_i_ic 497
-stat_i_ic_ic 498
-seek_p_i_i 499
-seek_p_ic_i 500
-seek_p_i_ic 501
-seek_p_ic_ic 502
-seek_p_i_i_i 503
-seek_p_ic_i_i 504
-seek_p_i_ic_i 505
-seek_p_ic_ic_i 506
-seek_p_i_i_ic 507
-seek_p_ic_i_ic 508
-seek_p_i_ic_ic 509
-seek_p_ic_ic_ic 510
-tell_i_p 511
-tell_i_i_p 512
-abs_i 513
-abs_n 514
-abs_i_i 515
-abs_n_n 516
-abs_p 517
-abs_p_p 518
-add_i_i 519
-add_i_ic 520
-add_n_n 521
-add_n_nc 522
-add_p_p 523
-add_p_i 524
-add_p_ic 525
-add_p_n 526
-add_p_nc 527
-add_i_i_i 528
-add_i_ic_i 529
-add_i_i_ic 530
-add_n_n_n 531
-add_n_nc_n 532
-add_n_n_nc 533
-add_p_p_p 534
-add_p_p_i 535
-add_p_p_ic 536
-add_p_p_n 537
-add_p_p_nc 538
-cmod_i_i_i 539
-cmod_i_ic_i 540
-cmod_i_i_ic 541
-cmod_p_p_i 542
-cmod_p_p_ic 543
-cmod_p_p_p 544
-cmod_n_n_n 545
-cmod_n_nc_n 546
-cmod_n_n_nc 547
-cmod_p_p_n 548
-cmod_p_p_nc 549
-dec_i 550
-dec_n 551
-dec_p 552
-div_i_i 553
-div_i_ic 554
-div_n_n 555
-div_n_nc 556
-div_p_p 557
-div_p_i 558
-div_p_ic 559
-div_p_n 560
-div_p_nc 561
-div_i_i_i 562
-div_i_ic_i 563
-div_i_i_ic 564
-div_i_ic_ic 565
-div_n_n_n 566
-div_n_nc_n 567
-div_n_n_nc 568
-div_n_nc_nc 569
-div_p_p_p 570
-div_p_p_i 571
-div_p_p_ic 572
-div_p_p_n 573
-div_p_p_nc 574
-fdiv_i_i 575
-fdiv_i_ic 576
-fdiv_n_n 577
-fdiv_n_nc 578
-fdiv_p_p 579
-fdiv_p_i 580
-fdiv_p_ic 581
-fdiv_p_n 582
-fdiv_p_nc 583
-fdiv_i_i_i 584
-fdiv_i_ic_i 585
-fdiv_i_i_ic 586
-fdiv_n_n_n 587
-fdiv_n_nc_n 588
-fdiv_n_n_nc 589
-fdiv_p_p_p 590
-fdiv_p_p_i 591
-fdiv_p_p_ic 592
-fdiv_p_p_n 593
-fdiv_p_p_nc 594
-ceil_n 595
-ceil_i_n 596
-ceil_n_n 597
-floor_n 598
-floor_i_n 599
-floor_n_n 600
-inc_i 601
-inc_n 602
-inc_p 603
-mod_i_i 604
-mod_i_ic 605
-mod_n_n 606
-mod_n_nc 607
-mod_p_p 608
-mod_p_i 609
-mod_p_ic 610
-mod_p_n 611
-mod_p_nc 612
-mod_i_i_i 613
-mod_i_ic_i 614
-mod_i_i_ic 615
-mod_n_n_n 616
-mod_n_nc_n 617
-mod_n_n_nc 618
-mod_p_p_p 619
-mod_p_p_i 620
-mod_p_p_ic 621
-mod_p_p_n 622
-mod_p_p_nc 623
-mul_i_i 624
-mul_i_ic 625
-mul_n_n 626
-mul_n_nc 627
-mul_p_p 628
-mul_p_i 629
-mul_p_ic 630
-mul_p_n 631
-mul_p_nc 632
-mul_i_i_i 633
-mul_i_ic_i 634
-mul_i_i_ic 635
-mul_n_n_n 636
-mul_n_nc_n 637
-mul_n_n_nc 638
-mul_p_p_p 639
-mul_p_p_i 640
-mul_p_p_ic 641
-mul_p_p_n 642
-mul_p_p_nc 643
-neg_i 644
-neg_n 645
-neg_p 646
-neg_i_i 647
-neg_n_n 648
-neg_p_p 649
-pow_n_n_n 650
-pow_n_nc_n 651
-pow_n_n_nc 652
-pow_p_p_p 653
-pow_p_p_i 654
-pow_p_p_ic 655
-pow_p_p_n 656
-pow_p_p_nc 657
-pow_n_n_i 658
-pow_n_nc_i 659
-pow_n_n_ic 660
-pow_n_nc_ic 661
-sub_i_i 662
-sub_i_ic 663
-sub_n_n 664
-sub_n_nc 665
-sub_p_p 666
-sub_p_i 667
-sub_p_ic 668
-sub_p_n 669
-sub_p_nc 670
-sub_i_i_i 671
-sub_i_ic_i 672
-sub_i_i_ic 673
-sub_n_n_n 674
-sub_n_nc_n 675
-sub_n_n_nc 676
-sub_p_p_p 677
-sub_p_p_i 678
-sub_p_p_ic 679
-sub_p_p_n 680
-sub_p_p_nc 681
-sqrt_n_n 682
-acos_n_n 683
-asec_n_n 684
-asin_n_n 685
-atan_n_n 686
-atan_n_n_n 687
-atan_n_nc_n 688
-atan_n_n_nc 689
-cos_n_n 690
-cosh_n_n 691
-exp_n_n 692
-ln_n_n 693
-log10_n_n 694
-log2_n_n 695
-sec_n_n 696
-sech_n_n 697
-sin_n_n 698
-sinh_n_n 699
-tan_n_n 700
-tanh_n_n 701
-gcd_i_i_i 702
-gcd_i_ic_i 703
-gcd_i_i_ic 704
-lcm_i_i_i 705
-lcm_i_ic_i 706
-lcm_i_i_ic 707
-fact_i_i 708
-fact_n_i 709
-callmethodcc_p_s 710
-callmethodcc_p_sc 711
-callmethodcc_p_p 712
-callmethod_p_s_p 713
-callmethod_p_sc_p 714
-callmethod_p_p_p 715
-tailcallmethod_p_s 716
-tailcallmethod_p_sc 717
-tailcallmethod_p_p 718
-addmethod_p_s_p 719
-addmethod_p_sc_p 720
-can_i_p_s 721
-can_i_p_sc 722
-does_i_p_s 723
-does_i_p_sc 724
-does_i_p_p 725
-does_i_p_pc 726
-isa_i_p_s 727
-isa_i_p_sc 728
-isa_i_p_p 729
-isa_i_p_pc 730
-newclass_p_s 731
-newclass_p_sc 732
-newclass_p_p 733
-newclass_p_pc 734
-subclass_p_p 735
-subclass_p_pc 736
-subclass_p_p_s 737
-subclass_p_pc_s 738
-subclass_p_p_sc 739
-subclass_p_pc_sc 740
-subclass_p_p_p 741
-subclass_p_pc_p 742
-subclass_p_p_pc 743
-subclass_p_pc_pc 744
-subclass_p_s 745
-subclass_p_sc 746
-subclass_p_s_s 747
-subclass_p_sc_s 748
-subclass_p_s_sc 749
-subclass_p_sc_sc 750
-subclass_p_s_p 751
-subclass_p_sc_p 752
-subclass_p_s_pc 753
-subclass_p_sc_pc 754
-get_class_p_s 755
-get_class_p_sc 756
-get_class_p_p 757
-get_class_p_pc 758
-class_p_p 759
-addparent_p_p 760
-removeparent_p_p 761
-addrole_p_p 762
-addattribute_p_s 763
-addattribute_p_sc 764
-removeattribute_p_s 765
-removeattribute_p_sc 766
-getattribute_p_p_s 767
-getattribute_p_p_sc 768
-getattribute_p_p_p_s 769
-getattribute_p_p_pc_s 770
-getattribute_p_p_p_sc 771
-getattribute_p_p_pc_sc 772
-setattribute_p_s_p 773
-setattribute_p_sc_p 774
-setattribute_p_p_s_p 775
-setattribute_p_pc_s_p 776
-setattribute_p_p_sc_p 777
-setattribute_p_pc_sc_p 778
-inspect_p_p 779
-inspect_p_pc 780
-inspect_p_p_s 781
-inspect_p_pc_s 782
-inspect_p_p_sc 783
-inspect_p_pc_sc 784
-new_p_s 785
-new_p_sc 786
-new_p_s_p 787
-new_p_sc_p 788
-new_p_s_pc 789
-new_p_sc_pc 790
-new_p_p 791
-new_p_pc 792
-new_p_p_p 793
-new_p_pc_p 794
-new_p_p_pc 795
-new_p_pc_pc 796
-root_new_p_p 797
-root_new_p_pc 798
-root_new_p_p_p 799
-root_new_p_pc_p 800
-root_new_p_p_pc 801
-root_new_p_pc_pc 802
-typeof_s_p 803
-typeof_p_p 804
-get_repr_s_p 805
-find_method_p_p_s 806
-find_method_p_p_sc 807
-defined_i_p 808
-defined_i_p_ki 809
-defined_i_p_kic 810
-defined_i_p_k 811
-defined_i_p_kc 812
-exists_i_p_ki 813
-exists_i_p_kic 814
-exists_i_p_k 815
-exists_i_p_kc 816
-delete_p_k 817
-delete_p_kc 818
-delete_p_ki 819
-delete_p_kic 820
-elements_i_p 821
-push_p_i 822
-push_p_ic 823
-push_p_n 824
-push_p_nc 825
-push_p_s 826
-push_p_sc 827
-push_p_p 828
-pop_i_p 829
-pop_n_p 830
-pop_s_p 831
-pop_p_p 832
-unshift_p_i 833
-unshift_p_ic 834
-unshift_p_n 835
-unshift_p_nc 836
-unshift_p_s 837
-unshift_p_sc 838
-unshift_p_p 839
-shift_i_p 840
-shift_n_p 841
-shift_s_p 842
-shift_p_p 843
-splice_p_p_i_i 844
-splice_p_p_ic_i 845
-splice_p_p_i_ic 846
-splice_p_p_ic_ic 847
-setprop_p_s_p 848
-setprop_p_sc_p 849
-getprop_p_s_p 850
-getprop_p_sc_p 851
-delprop_p_s 852
-delprop_p_sc 853
-prophash_p_p 854
-freeze_s_p 855
-thaw_p_s 856
-thaw_p_sc 857
-add_multi_s_s_p 858
-add_multi_sc_s_p 859
-add_multi_s_sc_p 860
-add_multi_sc_sc_p 861
-find_multi_p_s_s 862
-find_multi_p_sc_s 863
-find_multi_p_s_sc 864
-find_multi_p_sc_sc 865
-register_p 866
-unregister_p 867
-box_p_i 868
-box_p_ic 869
-box_p_n 870
-box_p_nc 871
-box_p_s 872
-box_p_sc 873
-iter_p_p 874
-morph_p_p 875
-morph_p_pc 876
-clone_s_s 877
-clone_s_sc 878
-exchange_i_i 879
-exchange_p_p 880
-exchange_n_n 881
-exchange_s_s 882
-set_i_i 883
-set_i_ic 884
-set_i_n 885
-set_i_nc 886
-set_i_s 887
-set_i_sc 888
-set_n_n 889
-set_n_nc 890
-set_n_i 891
-set_n_ic 892
-set_n_s 893
-set_n_sc 894
-set_n_p 895
-set_s_p 896
-set_s_s 897
-set_s_sc 898
-set_s_i 899
-set_s_ic 900
-set_s_n 901
-set_s_nc 902
-set_p_pc 903
-set_p_p 904
-set_p_i 905
-set_p_ic 906
-set_p_n 907
-set_p_nc 908
-set_p_s 909
-set_p_sc 910
-set_i_p 911
-assign_p_p 912
-assign_p_i 913
-assign_p_ic 914
-assign_p_n 915
-assign_p_nc 916
-assign_p_s 917
-assign_p_sc 918
-assign_s_s 919
-assign_s_sc 920
-setref_p_p 921
-deref_p_p 922
-setp_ind_i_p 923
-setp_ind_ic_p 924
-setn_ind_i_n 925
-setn_ind_ic_n 926
-setn_ind_i_nc 927
-setn_ind_ic_nc 928
-sets_ind_i_s 929
-sets_ind_ic_s 930
-sets_ind_i_sc 931
-sets_ind_ic_sc 932
-seti_ind_i_i 933
-seti_ind_ic_i 934
-seti_ind_i_ic 935
-seti_ind_ic_ic 936
-set_p_ki_i 937
-set_p_kic_i 938
-set_p_ki_ic 939
-set_p_kic_ic 940
-set_p_ki_n 941
-set_p_kic_n 942
-set_p_ki_nc 943
-set_p_kic_nc 944
-set_p_ki_s 945
-set_p_kic_s 946
-set_p_ki_sc 947
-set_p_kic_sc 948
-set_p_ki_p 949
-set_p_kic_p 950
-set_i_p_ki 951
-set_i_p_kic 952
-set_n_p_ki 953
-set_n_p_kic 954
-set_s_p_ki 955
-set_s_p_kic 956
-set_p_p_ki 957
-set_p_p_kic 958
-set_p_k_i 959
-set_p_kc_i 960
-set_p_k_ic 961
-set_p_kc_ic 962
-set_p_k_n 963
-set_p_kc_n 964
-set_p_k_nc 965
-set_p_kc_nc 966
-set_p_k_s 967
-set_p_kc_s 968
-set_p_k_sc 969
-set_p_kc_sc 970
-set_p_k_p 971
-set_p_kc_p 972
-set_i_p_k 973
-set_i_p_kc 974
-set_n_p_k 975
-set_n_p_kc 976
-set_s_p_k 977
-set_s_p_kc 978
-set_p_p_k 979
-set_p_p_kc 980
-clone_p_p 981
-clone_p_p_p 982
-clone_p_p_pc 983
-copy_p_p 984
-null_s 985
-null_i 986
-null_p 987
-null_n 988
-cleari 989
-clearn 990
-clears 991
-clearp 992
-ord_i_s 993
-ord_i_sc 994
-ord_i_s_i 995
-ord_i_sc_i 996
-ord_i_s_ic 997
-ord_i_sc_ic 998
-chr_s_i 999
-chr_s_ic 1000
-chopn_s_i 1001
-chopn_s_ic 1002
-chopn_s_s_i 1003
-chopn_s_sc_i 1004
-chopn_s_s_ic 1005
-chopn_s_sc_ic 1006
-concat_s_s 1007
-concat_s_sc 1008
-concat_p_p 1009
-concat_p_s 1010
-concat_p_sc 1011
-concat_s_s_s 1012
-concat_s_sc_s 1013
-concat_s_s_sc 1014
-concat_p_p_s 1015
-concat_p_p_sc 1016
-concat_p_p_p 1017
-repeat_s_s_i 1018
-repeat_s_sc_i 1019
-repeat_s_s_ic 1020
-repeat_s_sc_ic 1021
-repeat_p_p_i 1022
-repeat_p_p_ic 1023
-repeat_p_p_p 1024
-repeat_p_i 1025
-repeat_p_ic 1026
-repeat_p_p 1027
-length_i_s 1028
-length_i_sc 1029
-bytelength_i_s 1030
-bytelength_i_sc 1031
-pin_s 1032
-unpin_s 1033
-substr_s_s_i 1034
-substr_s_sc_i 1035
-substr_s_s_ic 1036
-substr_s_sc_ic 1037
-substr_s_s_i_i 1038
-substr_s_sc_i_i 1039
-substr_s_s_ic_i 1040
-substr_s_sc_ic_i 1041
-substr_s_s_i_ic 1042
-substr_s_sc_i_ic 1043
-substr_s_s_ic_ic 1044
-substr_s_sc_ic_ic 1045
-substr_s_s_i_i_s 1046
-substr_s_s_ic_i_s 1047
-substr_s_s_i_ic_s 1048
-substr_s_s_ic_ic_s 1049
-substr_s_s_i_i_sc 1050
-substr_s_s_ic_i_sc 1051
-substr_s_s_i_ic_sc 1052
-substr_s_s_ic_ic_sc 1053
-substr_s_i_i_s 1054
-substr_s_ic_i_s 1055
-substr_s_i_ic_s 1056
-substr_s_ic_ic_s 1057
-substr_s_i_i_sc 1058
-substr_s_ic_i_sc 1059
-substr_s_i_ic_sc 1060
-substr_s_ic_ic_sc 1061
-substr_s_p_i_i 1062
-substr_s_p_ic_i 1063
-substr_s_p_i_ic 1064
-substr_s_p_ic_ic 1065
-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
+bands_p_s 133
+bands_p_sc 134
+bands_p_p 135
+bands_s_s_s 136
+bands_s_sc_s 137
+bands_s_s_sc 138
+bands_p_p_s 139
+bands_p_p_sc 140
+bands_p_p_p 141
+bnot_i 142
+bnot_i_i 143
+bnot_p 144
+bnot_p_p 145
+bnots_s_s 146
+bnots_s_sc 147
+bnots_p 148
+bnots_p_p 149
+bor_i_i 150
+bor_i_ic 151
+bor_p_i 152
+bor_p_ic 153
+bor_p_p 154
+bor_i_i_i 155
+bor_i_ic_i 156
+bor_i_i_ic 157
+bor_p_p_i 158
+bor_p_p_ic 159
+bor_p_p_p 160
+bors_p_s 161
+bors_p_sc 162
+bors_p_p 163
+bors_s_s_s 164
+bors_s_sc_s 165
+bors_s_s_sc 166
+bors_p_p_s 167
+bors_p_p_sc 168
+bors_p_p_p 169
+shl_i_i 170
+shl_i_ic 171
+shl_p_i 172
+shl_p_ic 173
+shl_p_p 174
+shl_i_i_i 175
+shl_i_ic_i 176
+shl_i_i_ic 177
+shl_p_p_i 178
+shl_p_p_ic 179
+shl_p_p_p 180
+shr_i_i 181
+shr_i_ic 182
+shr_p_i 183
+shr_p_ic 184
+shr_p_p 185
+shr_i_i_i 186
+shr_i_ic_i 187
+shr_i_i_ic 188
+shr_p_p_i 189
+shr_p_p_ic 190
+shr_p_p_p 191
+lsr_i_i 192
+lsr_i_ic 193
+lsr_p_i 194
+lsr_p_ic 195
+lsr_p_p 196
+lsr_i_i_i 197
+lsr_i_ic_i 198
+lsr_i_i_ic 199
+lsr_p_p_i 200
+lsr_p_p_ic 201
+lsr_p_p_p 202
+rot_i_i_i_ic 203
+rot_i_ic_i_ic 204
+rot_i_i_ic_ic 205
+bxor_i_i 206
+bxor_i_ic 207
+bxor_p_i 208
+bxor_p_ic 209
+bxor_p_p 210
+bxor_i_i_i 211
+bxor_i_ic_i 212
+bxor_i_i_ic 213
+bxor_p_p_i 214
+bxor_p_p_ic 215
+bxor_p_p_p 216
+bxors_p_s 217
+bxors_p_sc 218
+bxors_p_p 219
+bxors_s_s_s 220
+bxors_s_sc_s 221
+bxors_s_s_sc 222
+bxors_p_p_s 223
+bxors_p_p_sc 224
+bxors_p_p_p 225
+eq_i_i_ic 226
+eq_ic_i_ic 227
+eq_i_ic_ic 228
+eq_n_n_ic 229
+eq_nc_n_ic 230
+eq_n_nc_ic 231
+eq_s_s_ic 232
+eq_sc_s_ic 233
+eq_s_sc_ic 234
+eq_p_p_ic 235
+eq_p_i_ic 236
+eq_p_ic_ic 237
+eq_p_n_ic 238
+eq_p_nc_ic 239
+eq_p_s_ic 240
+eq_p_sc_ic 241
+eq_str_p_p_ic 242
+eq_num_p_p_ic 243
+eq_addr_s_s_ic 244
+eq_addr_sc_s_ic 245
+eq_addr_s_sc_ic 246
+eq_addr_sc_sc_ic 247
+eq_addr_p_p_ic 248
+ne_i_i_ic 249
+ne_ic_i_ic 250
+ne_i_ic_ic 251
+ne_n_n_ic 252
+ne_nc_n_ic 253
+ne_n_nc_ic 254
+ne_s_s_ic 255
+ne_sc_s_ic 256
+ne_s_sc_ic 257
+ne_p_p_ic 258
+ne_p_i_ic 259
+ne_p_ic_ic 260
+ne_p_n_ic 261
+ne_p_nc_ic 262
+ne_p_s_ic 263
+ne_p_sc_ic 264
+ne_str_p_p_ic 265
+ne_num_p_p_ic 266
+ne_addr_s_s_ic 267
+ne_addr_sc_s_ic 268
+ne_addr_s_sc_ic 269
+ne_addr_sc_sc_ic 270
+ne_addr_p_p_ic 271
+lt_i_i_ic 272
+lt_ic_i_ic 273
+lt_i_ic_ic 274
+lt_n_n_ic 275
+lt_nc_n_ic 276
+lt_n_nc_ic 277
+lt_s_s_ic 278
+lt_sc_s_ic 279
+lt_s_sc_ic 280
+lt_p_p_ic 281
+lt_p_i_ic 282
+lt_p_ic_ic 283
+lt_p_n_ic 284
+lt_p_nc_ic 285
+lt_p_s_ic 286
+lt_p_sc_ic 287
+lt_str_p_p_ic 288
+lt_num_p_p_ic 289
+le_i_i_ic 290
+le_ic_i_ic 291
+le_i_ic_ic 292
+le_n_n_ic 293
+le_nc_n_ic 294
+le_n_nc_ic 295
+le_s_s_ic 296
+le_sc_s_ic 297
+le_s_sc_ic 298
+le_p_p_ic 299
+le_p_i_ic 300
+le_p_ic_ic 301
+le_p_n_ic 302
+le_p_nc_ic 303
+le_p_s_ic 304
+le_p_sc_ic 305
+le_str_p_p_ic 306
+le_num_p_p_ic 307
+gt_p_p_ic 308
+gt_p_i_ic 309
+gt_p_ic_ic 310
+gt_p_n_ic 311
+gt_p_nc_ic 312
+gt_p_s_ic 313
+gt_p_sc_ic 314
+gt_str_p_p_ic 315
+gt_num_p_p_ic 316
+ge_p_p_ic 317
+ge_p_i_ic 318
+ge_p_ic_ic 319
+ge_p_n_ic 320
+ge_p_nc_ic 321
+ge_p_s_ic 322
+ge_p_sc_ic 323
+ge_str_p_p_ic 324
+ge_num_p_p_ic 325
+if_null_p_ic 326
+if_null_s_ic 327
+unless_null_p_ic 328
+unless_null_s_ic 329
+cmp_i_i_i 330
+cmp_i_ic_i 331
+cmp_i_i_ic 332
+cmp_i_n_n 333
+cmp_i_nc_n 334
+cmp_i_n_nc 335
+cmp_i_s_s 336
+cmp_i_sc_s 337
+cmp_i_s_sc 338
+cmp_i_p_p 339
+cmp_i_p_i 340
+cmp_i_p_ic 341
+cmp_i_p_n 342
+cmp_i_p_nc 343
+cmp_i_p_s 344
+cmp_i_p_sc 345
+cmp_str_i_p_p 346
+cmp_num_i_p_p 347
+cmp_pmc_p_p_p 348
+issame_i_p_p 349
+issame_i_s_s 350
+issame_i_sc_s 351
+issame_i_s_sc 352
+issame_i_sc_sc 353
+isntsame_i_p_p 354
+isntsame_i_s_s 355
+isntsame_i_sc_s 356
+isntsame_i_s_sc 357
+isntsame_i_sc_sc 358
+istrue_i_p 359
+isfalse_i_p 360
+isnull_i_p 361
+isnull_i_pc 362
+isnull_i_s 363
+isnull_i_sc 364
+isgt_i_p_p 365
+isge_i_p_p 366
+isle_i_i_i 367
+isle_i_ic_i 368
+isle_i_i_ic 369
+isle_i_n_n 370
+isle_i_nc_n 371
+isle_i_n_nc 372
+isle_i_s_s 373
+isle_i_sc_s 374
+isle_i_s_sc 375
+isle_i_p_p 376
+islt_i_i_i 377
+islt_i_ic_i 378
+islt_i_i_ic 379
+islt_i_n_n 380
+islt_i_nc_n 381
+islt_i_n_nc 382
+islt_i_s_s 383
+islt_i_sc_s 384
+islt_i_s_sc 385
+islt_i_p_p 386
+iseq_i_i_i 387
+iseq_i_ic_i 388
+iseq_i_i_ic 389
+iseq_i_n_n 390
+iseq_i_nc_n 391
+iseq_i_n_nc 392
+iseq_i_s_s 393
+iseq_i_sc_s 394
+iseq_i_s_sc 395
+iseq_i_p_p 396
+isne_i_i_i 397
+isne_i_ic_i 398
+isne_i_i_ic 399
+isne_i_n_n 400
+isne_i_nc_n 401
+isne_i_n_nc 402
+isne_i_s_s 403
+isne_i_sc_s 404
+isne_i_s_sc 405
+isne_i_p_p 406
+and_i_i_i 407
+and_i_ic_i 408
+and_i_i_ic 409
+and_p_p_p 410
+not_i 411
+not_i_i 412
+not_p 413
+not_p_p 414
+or_i_i_i 415
+or_i_ic_i 416
+or_i_i_ic 417
+or_p_p_p 418
+xor_i_i_i 419
+xor_i_ic_i 420
+xor_i_i_ic 421
+xor_p_p_p 422
+debug_init 423
+debug_load_sc 424
+debug_break 425
+debug_print 426
+backtrace 427
+getline_i 428
+getfile_s 429
+set_label_p_ic 430
+get_label_i_p 431
+close_p 432
+fdopen_p_i_s 433
+fdopen_p_ic_s 434
+fdopen_p_i_sc 435
+fdopen_p_ic_sc 436
+getstdin_p 437
+getstdout_p 438
+getstderr_p 439
+setstdin_p 440
+setstdout_p 441
+setstderr_p 442
+open_p_s_s 443
+open_p_sc_s 444
+open_p_s_sc 445
+open_p_sc_sc 446
+open_p_s 447
+open_p_sc 448
+print_i 449
+print_ic 450
+print_n 451
+print_nc 452
+print_s 453
+print_sc 454
+print_p 455
+say_i 456
+say_ic 457
+say_n 458
+say_nc 459
+say_s 460
+say_sc 461
+say_p 462
+printerr_i 463
+printerr_ic 464
+printerr_n 465
+printerr_nc 466
+printerr_s 467
+printerr_sc 468
+printerr_p 469
+print_p_i 470
+print_p_ic 471
+print_p_n 472
+print_p_nc 473
+print_p_s 474
+print_p_sc 475
+print_p_p 476
+read_s_i 477
+read_s_ic 478
+read_s_p_i 479
+read_s_p_ic 480
+readline_s_p 481
+peek_s 482
+peek_s_p 483
+stat_i_s_i 484
+stat_i_sc_i 485
+stat_i_s_ic 486
+stat_i_sc_ic 487
+stat_i_i_i 488
+stat_i_ic_i 489
+stat_i_i_ic 490
+stat_i_ic_ic 491
+seek_p_i_i 492
+seek_p_ic_i 493
+seek_p_i_ic 494
+seek_p_ic_ic 495
+seek_p_i_i_i 496
+seek_p_ic_i_i 497
+seek_p_i_ic_i 498
+seek_p_ic_ic_i 499
+seek_p_i_i_ic 500
+seek_p_ic_i_ic 501
+seek_p_i_ic_ic 502
+seek_p_ic_ic_ic 503
+tell_i_p 504
+tell_i_i_p 505
+abs_i 506
+abs_n 507
+abs_i_i 508
+abs_n_n 509
+abs_p 510
+abs_p_p 511
+add_i_i 512
+add_i_ic 513
+add_n_n 514
+add_n_nc 515
+add_p_p 516
+add_p_i 517
+add_p_ic 518
+add_p_n 519
+add_p_nc 520
+add_i_i_i 521
+add_i_ic_i 522
+add_i_i_ic 523
+add_n_n_n 524
+add_n_nc_n 525
+add_n_n_nc 526
+add_p_p_p 527
+add_p_p_i 528
+add_p_p_ic 529
+add_p_p_n 530
+add_p_p_nc 531
+cmod_i_i_i 532
+cmod_i_ic_i 533
+cmod_i_i_ic 534
+cmod_p_p_i 535
+cmod_p_p_ic 536
+cmod_p_p_p 537
+cmod_n_n_n 538
+cmod_n_nc_n 539
+cmod_n_n_nc 540
+cmod_p_p_n 541
+cmod_p_p_nc 542
+dec_i 543
+dec_n 544
+dec_p 545
+div_i_i 546
+div_i_ic 547
+div_n_n 548
+div_n_nc 549
+div_p_p 550
+div_p_i 551
+div_p_ic 552
+div_p_n 553
+div_p_nc 554
+div_i_i_i 555
+div_i_ic_i 556
+div_i_i_ic 557
+div_i_ic_ic 558
+div_n_n_n 559
+div_n_nc_n 560
+div_n_n_nc 561
+div_n_nc_nc 562
+div_p_p_p 563
+div_p_p_i 564
+div_p_p_ic 565
+div_p_p_n 566
+div_p_p_nc 567
+fdiv_i_i 568
+fdiv_i_ic 569
+fdiv_n_n 570
+fdiv_n_nc 571
+fdiv_p_p 572
+fdiv_p_i 573
+fdiv_p_ic 574
+fdiv_p_n 575
+fdiv_p_nc 576
+fdiv_i_i_i 577
+fdiv_i_ic_i 578
+fdiv_i_i_ic 579
+fdiv_n_n_n 580
+fdiv_n_nc_n 581
+fdiv_n_n_nc 582
+fdiv_p_p_p 583
+fdiv_p_p_i 584
+fdiv_p_p_ic 585
+fdiv_p_p_n 586
+fdiv_p_p_nc 587
+ceil_n 588
+ceil_i_n 589
+ceil_n_n 590
+floor_n 591
+floor_i_n 592
+floor_n_n 593
+inc_i 594
+inc_n 595
+inc_p 596
+mod_i_i 597
+mod_i_ic 598
+mod_n_n 599
+mod_n_nc 600
+mod_p_p 601
+mod_p_i 602
+mod_p_ic 603
+mod_p_n 604
+mod_p_nc 605
+mod_i_i_i 606
+mod_i_ic_i 607
+mod_i_i_ic 608
+mod_n_n_n 609
+mod_n_nc_n 610
+mod_n_n_nc 611
+mod_p_p_p 612
+mod_p_p_i 613
+mod_p_p_ic 614
+mod_p_p_n 615
+mod_p_p_nc 616
+mul_i_i 617
+mul_i_ic 618
+mul_n_n 619
+mul_n_nc 620
+mul_p_p 621
+mul_p_i 622
+mul_p_ic 623
+mul_p_n 624
+mul_p_nc 625
+mul_i_i_i 626
+mul_i_ic_i 627
+mul_i_i_ic 628
+mul_n_n_n 629
+mul_n_nc_n 630
+mul_n_n_nc 631
+mul_p_p_p 632
+mul_p_p_i 633
+mul_p_p_ic 634
+mul_p_p_n 635
+mul_p_p_nc 636
+neg_i 637
+neg_n 638
+neg_p 639
+neg_i_i 640
+neg_n_n 641
+neg_p_p 642
+pow_n_n_n 643
+pow_n_nc_n 644
+pow_n_n_nc 645
+pow_p_p_p 646
+pow_p_p_i 647
+pow_p_p_ic 648
+pow_p_p_n 649
+pow_p_p_nc 650
+pow_n_n_i 651
+pow_n_nc_i 652
+pow_n_n_ic 653
+pow_n_nc_ic 654
+sub_i_i 655
+sub_i_ic 656
+sub_n_n 657
+sub_n_nc 658
+sub_p_p 659
+sub_p_i 660
+sub_p_ic 661
+sub_p_n 662
+sub_p_nc 663
+sub_i_i_i 664
+sub_i_ic_i 665
+sub_i_i_ic 666
+sub_n_n_n 667
+sub_n_nc_n 668
+sub_n_n_nc 669
+sub_p_p_p 670
+sub_p_p_i 671
+sub_p_p_ic 672
+sub_p_p_n 673
+sub_p_p_nc 674
+sqrt_n_n 675
+acos_n_n 676
+asec_n_n 677
+asin_n_n 678
+atan_n_n 679
+atan_n_n_n 680
+atan_n_nc_n 681
+atan_n_n_nc 682
+cos_n_n 683
+cosh_n_n 684
+exp_n_n 685
+ln_n_n 686
+log10_n_n 687
+log2_n_n 688
+sec_n_n 689
+sech_n_n 690
+sin_n_n 691
+sinh_n_n 692
+tan_n_n 693
+tanh_n_n 694
+gcd_i_i_i 695
+gcd_i_ic_i 696
+gcd_i_i_ic 697
+lcm_i_i_i 698
+lcm_i_ic_i 699
+lcm_i_i_ic 700
+fact_i_i 701
+fact_n_i 702
+callmethodcc_p_s 703
+callmethodcc_p_sc 704
+callmethodcc_p_p 705
+callmethod_p_s_p 706
+callmethod_p_sc_p 707
+callmethod_p_p_p 708
+tailcallmethod_p_s 709
+tailcallmethod_p_sc 710
+tailcallmethod_p_p 711
+addmethod_p_s_p 712
+addmethod_p_sc_p 713
+can_i_p_s 714
+can_i_p_sc 715
+does_i_p_s 716
+does_i_p_sc 717
+does_i_p_p 718
+does_i_p_pc 719
+isa_i_p_s 720
+isa_i_p_sc 721
+isa_i_p_p 722
+isa_i_p_pc 723
+newclass_p_s 724
+newclass_p_sc 725
+newclass_p_p 726
+newclass_p_pc 727
+subclass_p_p 728
+subclass_p_pc 729
+subclass_p_p_s 730
+subclass_p_pc_s 731
+subclass_p_p_sc 732
+subclass_p_pc_sc 733
+subclass_p_p_p 734
+subclass_p_pc_p 735
+subclass_p_p_pc 736
+subclass_p_pc_pc 737
+subclass_p_s 738
+subclass_p_sc 739
+subclass_p_s_s 740
+subclass_p_sc_s 741
+subclass_p_s_sc 742
+subclass_p_sc_sc 743
+subclass_p_s_p 744
+subclass_p_sc_p 745
+subclass_p_s_pc 746
+subclass_p_sc_pc 747
+get_class_p_s 748
+get_class_p_sc 749
+get_class_p_p 750
+get_class_p_pc 751
+class_p_p 752
+addparent_p_p 753
+removeparent_p_p 754
+addrole_p_p 755
+addattribute_p_s 756
+addattribute_p_sc 757
+removeattribute_p_s 758
+removeattribute_p_sc 759
+getattribute_p_p_s 760
+getattribute_p_p_sc 761
+getattribute_p_p_p_s 762
+getattribute_p_p_pc_s 763
+getattribute_p_p_p_sc 764
+getattribute_p_p_pc_sc 765
+setattribute_p_s_p 766
+setattribute_p_sc_p 767
+setattribute_p_p_s_p 768
+setattribute_p_pc_s_p 769
+setattribute_p_p_sc_p 770
+setattribute_p_pc_sc_p 771
+inspect_p_p 772
+inspect_p_pc 773
+inspect_p_p_s 774
+inspect_p_pc_s 775
+inspect_p_p_sc 776
+inspect_p_pc_sc 777
+new_p_s 778
+new_p_sc 779
+new_p_s_p 780
+new_p_sc_p 781
+new_p_s_pc 782
+new_p_sc_pc 783
+new_p_p 784
+new_p_pc 785
+new_p_p_p 786
+new_p_pc_p 787
+new_p_p_pc 788
+new_p_pc_pc 789
+root_new_p_p 790
+root_new_p_pc 791
+root_new_p_p_p 792
+root_new_p_pc_p 793
+root_new_p_p_pc 794
+root_new_p_pc_pc 795
+typeof_s_p 796
+typeof_p_p 797
+get_repr_s_p 798
+find_method_p_p_s 799
+find_method_p_p_sc 800
+defined_i_p 801
+defined_i_p_ki 802
+defined_i_p_kic 803
+defined_i_p_k 804
+defined_i_p_kc 805
+exists_i_p_ki 806
+exists_i_p_kic 807
+exists_i_p_k 808
+exists_i_p_kc 809
+delete_p_k 810
+delete_p_kc 811
+delete_p_ki 812
+delete_p_kic 813
+elements_i_p 814
+push_p_i 815
+push_p_ic 816
+push_p_n 817
+push_p_nc 818
+push_p_s 819
+push_p_sc 820
+push_p_p 821
+pop_i_p 822
+pop_n_p 823
+pop_s_p 824
+pop_p_p 825
+unshift_p_i 826
+unshift_p_ic 827
+unshift_p_n 828
+unshift_p_nc 829
+unshift_p_s 830
+unshift_p_sc 831
+unshift_p_p 832
+shift_i_p 833
+shift_n_p 834
+shift_s_p 835
+shift_p_p 836
+splice_p_p_i_i 837
+splice_p_p_ic_i 838
+splice_p_p_i_ic 839
+splice_p_p_ic_ic 840
+setprop_p_s_p 841
+setprop_p_sc_p 842
+getprop_p_s_p 843
+getprop_p_sc_p 844
+delprop_p_s 845
+delprop_p_sc 846
+prophash_p_p 847
+freeze_s_p 848
+thaw_p_s 849
+thaw_p_sc 850
+add_multi_s_s_p 851
+add_multi_sc_s_p 852
+add_multi_s_sc_p 853
+add_multi_sc_sc_p 854
+find_multi_p_s_s 855
+find_multi_p_sc_s 856
+find_multi_p_s_sc 857
+find_multi_p_sc_sc 858
+register_p 859
+unregister_p 860
+box_p_i 861
+box_p_ic 862
+box_p_n 863
+box_p_nc 864
+box_p_s 865
+box_p_sc 866
+iter_p_p 867
+morph_p_p 868
+morph_p_pc 869
+clone_s_s 870
+clone_s_sc 871
+exchange_i_i 872
+exchange_p_p 873
+exchange_n_n 874
+exchange_s_s 875
+set_i_i 876
+set_i_ic 877
+set_i_n 878
+set_i_nc 879
+set_i_s 880
+set_i_sc 881
+set_n_n 882
+set_n_nc 883
+set_n_i 884
+set_n_ic 885
+set_n_s 886
+set_n_sc 887
+set_n_p 888
+set_s_p 889
+set_s_s 890
+set_s_sc 891
+set_s_i 892
+set_s_ic 893
+set_s_n 894
+set_s_nc 895
+set_p_pc 896
+set_p_p 897
+set_p_i 898
+set_p_ic 899
+set_p_n 900
+set_p_nc 901
+set_p_s 902
+set_p_sc 903
+set_i_p 904
+assign_p_p 905
+assign_p_i 906
+assign_p_ic 907
+assign_p_n 908
+assign_p_nc 909
+assign_p_s 910
+assign_p_sc 911
+assign_s_s 912
+assign_s_sc 913
+setref_p_p 914
+deref_p_p 915
+setp_ind_i_p 916
+setp_ind_ic_p 917
+setn_ind_i_n 918
+setn_ind_ic_n 919
+setn_ind_i_nc 920
+setn_ind_ic_nc 921
+sets_ind_i_s 922
+sets_ind_ic_s 923
+sets_ind_i_sc 924
+sets_ind_ic_sc 925
+seti_ind_i_i 926
+seti_ind_ic_i 927
+seti_ind_i_ic 928
+seti_ind_ic_ic 929
+set_p_ki_i 930
+set_p_kic_i 931
+set_p_ki_ic 932
+set_p_kic_ic 933
+set_p_ki_n 934
+set_p_kic_n 935
+set_p_ki_nc 936
+set_p_kic_nc 937
+set_p_ki_s 938
+set_p_kic_s 939
+set_p_ki_sc 940
+set_p_kic_sc 941
+set_p_ki_p 942
+set_p_kic_p 943
+set_i_p_ki 944
+set_i_p_kic 945
+set_n_p_ki 946
+set_n_p_kic 947
+set_s_p_ki 948
+set_s_p_kic 949
+set_p_p_ki 950
+set_p_p_kic 951
+set_p_k_i 952
+set_p_kc_i 953
+set_p_k_ic 954
+set_p_kc_ic 955
+set_p_k_n 956
+set_p_kc_n 957
+set_p_k_nc 958
+set_p_kc_nc 959
+set_p_k_s 960
+set_p_kc_s 961
+set_p_k_sc 962
+set_p_kc_sc 963
+set_p_k_p 964
+set_p_kc_p 965
+set_i_p_k 966
+set_i_p_kc 967
+set_n_p_k 968
+set_n_p_kc 969
+set_s_p_k 970
+set_s_p_kc 971
+set_p_p_k 972
+set_p_p_kc 973
+clone_p_p 974
+clone_p_p_p 975
+clone_p_p_pc 976
+copy_p_p 977
+null_s 978
+null_i 979
+null_p 980
+null_n 981
+cleari 982
+clearn 983
+clears 984
+clearp 985
+ord_i_s 986
+ord_i_sc 987
+ord_i_s_i 988
+ord_i_sc_i 989
+ord_i_s_ic 990
+ord_i_sc_ic 991
+chr_s_i 992
+chr_s_ic 993
+chopn_s_s_i 994
+chopn_s_sc_i 995
+chopn_s_s_ic 996
+chopn_s_sc_ic 997
+concat_s_s 998
+concat_s_sc 999
+concat_p_p 1000
+concat_p_s 1001
+concat_p_sc 1002
+concat_s_s_s 1003
+concat_s_sc_s 1004
+concat_s_s_sc 1005
+concat_p_p_s 1006
+concat_p_p_sc 1007
+concat_p_p_p 1008
+repeat_s_s_i 1009
+repeat_s_sc_i 1010
+repeat_s_s_ic 1011
+repeat_s_sc_ic 1012
+repeat_p_p_i 1013
+repeat_p_p_ic 1014
+repeat_p_p_p 1015
+repeat_p_i 1016
+repeat_p_ic 1017
+repeat_p_p 1018
+length_i_s 1019
+length_i_sc 1020
+bytelength_i_s 1021
+bytelength_i_sc 1022
+pin_s 1023
+unpin_s 1024
+substr_s_s_i 1025
+substr_s_sc_i 1026
+substr_s_s_ic 1027
+substr_s_sc_ic 1028
+substr_s_s_i_i 1029
+substr_s_sc_i_i 1030
+substr_s_s_ic_i 1031
+substr_s_sc_ic_i 1032
+substr_s_s_i_ic 1033
+substr_s_sc_i_ic 1034
+substr_s_s_ic_ic 1035
+substr_s_sc_ic_ic 1036
+substr_s_p_i_i 1037
+substr_s_p_ic_i 1038
+substr_s_p_i_ic 1039
+substr_s_p_ic_ic 1040
+replace_s_s_i_i_s 1041
+replace_s_sc_i_i_s 1042
+replace_s_s_ic_i_s 1043
+replace_s_sc_ic_i_s 1044
+replace_s_s_i_ic_s 1045
+replace_s_sc_i_ic_s 1046
+replace_s_s_ic_ic_s 1047
+replace_s_sc_ic_ic_s 1048
+replace_s_s_i_i_sc 1049
+replace_s_sc_i_i_sc 1050
+replace_s_s_ic_i_sc 1051
+replace_s_sc_ic_i_sc 1052
+replace_s_s_i_ic_sc 1053
+replace_s_sc_i_ic_sc 1054
+replace_s_s_ic_ic_sc 1055
+replace_s_sc_ic_ic_sc 1056
+index_i_s_s 1057
+index_i_sc_s 1058
+index_i_s_sc 1059
+index_i_sc_sc 1060
+index_i_s_s_i 1061
+index_i_sc_s_i 1062
+index_i_s_sc_i 1063
+index_i_sc_sc_i 1064
+index_i_s_s_ic 1065
+index_i_sc_s_ic 1066
+index_i_s_sc_ic 1067
+index_i_sc_sc_ic 1068
+sprintf_s_s_p 1069
+sprintf_s_sc_p 1070
+sprintf_p_p_p 1071
+new_s 1072
+new_s_i 1073
+new_s_ic 1074
+stringinfo_i_s_i 1075
+stringinfo_i_sc_i 1076
+stringinfo_i_s_ic 1077
+stringinfo_i_sc_ic 1078
+upcase_s_s 1079
+upcase_s_sc 1080
+downcase_s_s 1081
+downcase_s_sc 1082
+titlecase_s_s 1083
+titlecase_s_sc 1084
+join_s_s_p 1085
+join_s_sc_p 1086
+split_p_s_s 1087
+split_p_sc_s 1088
+split_p_s_sc 1089
+split_p_sc_sc 1090
+charset_i_s 1091
+charset_i_sc 1092
+charsetname_s_i 1093
+charsetname_s_ic 1094
+find_charset_i_s 1095
+find_charset_i_sc 1096
+trans_charset_s_s_i 1097
+trans_charset_s_sc_i 1098
+trans_charset_s_s_ic 1099
+trans_charset_s_sc_ic 1100
+encoding_i_s 1101
+encoding_i_sc 1102
+encodingname_s_i 1103
+encodingname_s_ic 1104
+find_encoding_i_s 1105
+find_encoding_i_sc 1106
+trans_encoding_s_s_i 1107
+trans_encoding_s_sc_i 1108
+trans_encoding_s_s_ic 1109
+trans_encoding_s_sc_ic 1110
+is_cclass_i_i_s_i 1111
+is_cclass_i_ic_s_i 1112
+is_cclass_i_i_sc_i 1113
+is_cclass_i_ic_sc_i 1114
+is_cclass_i_i_s_ic 1115
+is_cclass_i_ic_s_ic 1116
+is_cclass_i_i_sc_ic 1117
+is_cclass_i_ic_sc_ic 1118
+find_cclass_i_i_s_i_i 1119
+find_cclass_i_ic_s_i_i 1120
+find_cclass_i_i_sc_i_i 1121
+find_cclass_i_ic_sc_i_i 1122
+find_cclass_i_i_s_ic_i 1123
+find_cclass_i_ic_s_ic_i 1124
+find_cclass_i_i_sc_ic_i 1125
+find_cclass_i_ic_sc_ic_i 1126
+find_cclass_i_i_s_i_ic 1127
+find_cclass_i_ic_s_i_ic 1128
+find_cclass_i_i_sc_i_ic 1129
+find_cclass_i_ic_sc_i_ic 1130
+find_cclass_i_i_s_ic_ic 1131
+find_cclass_i_ic_s_ic_ic 1132
+find_cclass_i_i_sc_ic_ic 1133
+find_cclass_i_ic_sc_ic_ic 1134
+find_not_cclass_i_i_s_i_i 1135
+find_not_cclass_i_ic_s_i_i 1136
+find_not_cclass_i_i_sc_i_i 1137
+find_not_cclass_i_ic_sc_i_i 1138
+find_not_cclass_i_i_s_ic_i 1139
+find_not_cclass_i_ic_s_ic_i 1140
+find_not_cclass_i_i_sc_ic_i 1141
+find_not_cclass_i_ic_sc_ic_i 1142
+find_not_cclass_i_i_s_i_ic 1143
+find_not_cclass_i_ic_s_i_ic 1144
+find_not_cclass_i_i_sc_i_ic 1145
+find_not_cclass_i_ic_sc_i_ic 1146
+find_not_cclass_i_i_s_ic_ic 1147
+find_not_cclass_i_ic_s_ic_ic 1148
+find_not_cclass_i_i_sc_ic_ic 1149
+find_not_cclass_i_ic_sc_ic_ic 1150
+escape_s_s 1151
+compose_s_s 1152
+compose_s_sc 1153
+spawnw_i_s 1154
+spawnw_i_sc 1155
+spawnw_i_p 1156
+err_i 1157
+err_s 1158
+err_s_i 1159
+err_s_ic 1160
+time_i 1161
+time_n 1162
+gmtime_s_i 1163
+gmtime_s_ic 1164
+localtime_s_i 1165
+localtime_s_ic 1166
+decodetime_p_i 1167
+decodetime_p_ic 1168
+decodelocaltime_p_i 1169
+decodelocaltime_p_ic 1170
+sysinfo_s_i 1171
+sysinfo_s_ic 1172
+sysinfo_i_i 1173
+sysinfo_i_ic 1174
+sleep_i 1175
+sleep_ic 1176
+sleep_n 1177
+sleep_nc 1178
+sizeof_i_i 1179
+sizeof_i_ic 1180
+store_lex_s_p 1181
+store_lex_sc_p 1182
+store_dynamic_lex_s_p 1183
+store_dynamic_lex_sc_p 1184
+find_lex_p_s 1185
+find_lex_p_sc 1186
+find_dynamic_lex_p_s 1187
+find_dynamic_lex_p_sc 1188
+find_caller_lex_p_s 1189
+find_caller_lex_p_sc 1190
+get_namespace_p 1191
+get_namespace_p_p 1192
+get_namespace_p_pc 1193
+get_hll_namespace_p 1194
+get_hll_namespace_p_p 1195
+get_hll_namespace_p_pc 1196
+get_root_namespace_p 1197
+get_root_namespace_p_p 1198
+get_root_namespace_p_pc 1199
+get_global_p_s 1200
+get_global_p_sc 1201
+get_global_p_p_s 1202
+get_global_p_pc_s 1203
+get_global_p_p_sc 1204
+get_global_p_pc_sc 1205
+get_hll_global_p_s 1206
+get_hll_global_p_sc 1207
+get_hll_global_p_p_s 1208
+get_hll_global_p_pc_s 1209
+get_hll_global_p_p_sc 1210
+get_hll_global_p_pc_sc 1211
+get_root_global_p_s 1212
+get_root_global_p_sc 1213
+get_root_global_p_p_s 1214
+get_root_global_p_pc_s 1215
+get_root_global_p_p_sc 1216
+get_root_global_p_pc_sc 1217
+set_global_s_p 1218
+set_global_sc_p 1219
+set_global_p_s_p 1220
+set_global_pc_s_p 1221
+set_global_p_sc_p 1222
+set_global_pc_sc_p 1223
+set_hll_global_s_p 1224
+set_hll_global_sc_p 1225
+set_hll_global_p_s_p 1226
+set_hll_global_pc_s_p 1227
+set_hll_global_p_sc_p 1228
+set_hll_global_pc_sc_p 1229
+set_root_global_s_p 1230
+set_root_global_sc_p 1231
+set_root_global_p_s_p 1232
+set_root_global_pc_s_p 1233
+set_root_global_p_sc_p 1234
+set_root_global_pc_sc_p 1235
+find_name_p_s 1236
+find_name_p_sc 1237
+find_sub_not_null_p_s 1238
+find_sub_not_null_p_sc 1239
Modified: branches/include_dynpmc_makefile/src/ops/string.ops
==============================================================================
--- branches/include_dynpmc_makefile/src/ops/string.ops Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/ops/string.ops Wed Apr 28 19:17:12 2010 (r46116)
@@ -57,11 +57,6 @@
}
-=item B<chopn>(inout STR, in INT)
-
-Remove n characters specified by integer $2 from the tail of string $1.
-If $2 is negative, cut the string after -$2 characters.
-
=item B<chopn>(out STR, in STR, in INT)
Remove n characters specified by integer $3 from the tail of string $2,
@@ -70,10 +65,6 @@
=cut
-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 {
$1 = Parrot_str_chopn(interp, $2, $3);
}
@@ -240,19 +231,15 @@
=item B<substr>(out STR, in STR, in INT, in INT)
-=item B<substr>(out STR, inout STR, in INT, in INT, in STR)
-
-=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
$3 and having length $4. If no length ($4) is provided, it is equivalent to
-passing in the length of $2. This creates a COW copy of $2.
+passing in the length of $2.
+
+=item B<replace>(out STR, in STR, in INT, in INT, in STR)
-Optionally pass in string $5 for replacement. If the length of $5 is
+Replace part of $2 starting from $3 of length $4 with $5. If the length of $5 is
different from the length specified in $4, then $2 will grow or shrink
accordingly. If $3 is one character position larger than the length of
$2, then $5 is appended to $2 (and the empty string is returned);
@@ -264,8 +251,7 @@
the end of the string (ie an offset of -1 corresponds to the last
character).
-The third form is optimized for replace only, ignoring the replaced
-substring and does not waste a register to do the string replace.
+New $1 string returned.
=cut
@@ -278,15 +264,6 @@
$1 = Parrot_str_substr(interp, $2, $3, $4);
}
-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 :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);
}
@@ -426,58 +403,32 @@
Uppercase $2 and put the result in $1
-=item B<upcase>(inout STR)
-
-Uppercase $1 in place
-
=cut
inline op upcase(out STR, in STR) :base_core {
$1 = Parrot_str_upcase(interp, $2);
}
-inline op upcase(inout STR) :base_core :deprecated {
- $1 = Parrot_str_upcase(interp, $1);
-}
-
-
=item B<downcase>(out STR, in STR)
Downcase $2 and put the result in $1
-=item B<downcase>(inout STR)
-
-Downcase $1 in place
-
=cut
inline op downcase(out STR, in STR) :base_core {
$1 = Parrot_str_downcase(interp, $2);
}
-inline op downcase(inout STR) :base_core :deprecated {
- $1 = Parrot_str_downcase(interp, $1);
-}
-
-
=item B<titlecase>(out STR, in STR)
Titlecase $2 and put the result in $1
-=item B<titlecase>(inout STR)
-
-Titlecase $1 in place
-
=cut
inline op titlecase(out STR, in STR) :base_core {
$1 = Parrot_str_titlecase(interp, $2);
}
-inline op titlecase(inout STR) :base_core :deprecated {
- $1 = Parrot_str_titlecase(interp, $1);
-}
-
=item B<join>(out STR, in STR, invar PMC)
@@ -519,10 +470,6 @@
Return the charset number of the charset named $2. If the charset doesn't
exist, throw an exception.
-=item B<trans_charset>(inout STR, in INT)
-
-Change the string to have the specified charset.
-
=item B<trans_charset>(out STR, in STR, in INT)
Create a string $1 from $2 with the specified charset.
@@ -550,10 +497,6 @@
$1 = n;
}
-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) {
$1 = Parrot_str_change_charset(interp, $2, $3);
}
@@ -573,10 +516,6 @@
Return the encoding number of the encoding named $2. If the encoding doesn't
exist, throw an exception.
-=item B<trans_encoding>(inout STR, in INT)
-
-Change the string to have the specified encoding.
-
=item B<trans_encoding>(out STR, in STR, in INT)
Create a string $1 from $2 with the specified encoding.
@@ -604,10 +543,6 @@
$1 = n;
}
-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) {
$1 = Parrot_str_change_encoding(interp, $2, $3);
}
Modified: branches/include_dynpmc_makefile/src/packdump.c
==============================================================================
--- branches/include_dynpmc_makefile/src/packdump.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/packdump.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -378,18 +378,18 @@
for (i = 0; i < ft->fixup_count; i++) {
Parrot_io_printf(interp, "\t#%d\n", (int) i);
- switch (ft->fixups[i]->type) {
+ switch (ft->fixups[i].type) {
case enum_fixup_label:
case enum_fixup_sub:
Parrot_io_printf(interp,
"\ttype => %d offs => %8d name => '%s',\n",
- (int)ft->fixups[i]->type,
- (int)ft->fixups[i]->offset,
- ft->fixups[i]->name);
+ (int)ft->fixups[i].type,
+ (int)ft->fixups[i].offset,
+ ft->fixups[i].name);
break;
default:
Parrot_io_printf(interp, "\ttype => %d ???,\n",
- (int) ft->fixups[i]->type);
+ (int) ft->fixups[i].type);
break;
}
}
Modified: branches/include_dynpmc_makefile/src/packfile.c
==============================================================================
--- branches/include_dynpmc_makefile/src/packfile.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/packfile.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -684,12 +684,6 @@
Parrot_runcore_t *old_core = interp->run_core;
PMC *retval = PMCNULL;
- /* turn off JIT and prederef - both would act on the whole
- * PackFile which probably isn't worth the effort */
- if (PARROT_RUNCORE_JIT_OPS_TEST(interp->run_core)
- || PARROT_RUNCORE_PREDEREF_OPS_TEST(interp->run_core))
- Parrot_runcore_switch(interp, CONST_STRING(interp, "fast"));
-
Parrot_pcc_set_constants(interp, CURRENT_CONTEXT(interp),
interp->code->const_table->constants);
@@ -925,13 +919,13 @@
TRACE_PRINTF(("PackFile: do_sub_pragmas (action=%d)\n", action));
for (i = 0; i < ft->fixup_count; i++) {
- switch (ft->fixups[i]->type) {
+ switch (ft->fixups[i].type) {
case enum_fixup_sub:
{
/* offset is an index into const_table holding the Sub PMC */
PMC *sub_pmc;
Parrot_Sub_attributes *sub;
- const opcode_t ci = ft->fixups[i]->offset;
+ const opcode_t ci = ft->fixups[i].offset;
if (ci < 0 || ci >= ct->const_count)
Parrot_ex_throw_from_c_args(interp, NULL, 1,
@@ -949,7 +943,7 @@
/* replace Sub PMC with computation results */
if (action == PBC_IMMEDIATE && !PMC_IS_NULL(result)) {
- ft->fixups[i]->type = enum_fixup_none;
+ ft->fixups[i].type = enum_fixup_none;
ct->constants[ci]->u.key = result;
}
}
@@ -2581,16 +2575,6 @@
ASSERT_ARGS(byte_code_destroy)
PackFile_ByteCode * const byte_code = (PackFile_ByteCode *)self;
- if (byte_code->prederef.code) {
- Parrot_free_memalign(byte_code->prederef.code);
- byte_code->prederef.code = NULL;
-
- if (byte_code->prederef.branches) {
- mem_gc_free(interp, byte_code->prederef.branches);
- byte_code->prederef.branches = NULL;
- }
- }
-
byte_code->fixups = NULL;
byte_code->const_table = NULL;
byte_code->debugs = NULL;
@@ -2641,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);
@@ -2729,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;
@@ -2770,15 +2749,13 @@
/* Allocate space for mappings vector. */
debug->mappings = mem_gc_allocate_n_zeroed_typed(interp,
- debug->num_mappings + 1, PackFile_DebugFilenameMapping *);
+ debug->num_mappings, 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 */
@@ -2823,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");
}
@@ -2908,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,
@@ -2920,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);
@@ -2943,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) {
@@ -2978,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;
}
}
@@ -3012,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. */
@@ -3099,10 +3074,6 @@
? find_constants(interp, new_cs->const_table)
: new_cs->const_table->constants);
- /* new_cs->const_table->constants; */
- Parrot_pcc_set_pred_offset(interp, CURRENT_CONTEXT(interp),
- new_cs->base.data - (opcode_t*) new_cs->prederef.code);
-
if (really)
prepare_for_run(interp);
@@ -3287,26 +3258,20 @@
PackFile_FixupTable_clear(PARROT_INTERP, ARGMOD(PackFile_FixupTable *self))
{
ASSERT_ARGS(PackFile_FixupTable_clear)
- opcode_t i;
if (!self) {
Parrot_io_eprintf(interp, "PackFile_FixupTable_clear: self == NULL!\n");
return;
}
- for (i = 0; i < self->fixup_count; i++) {
- mem_gc_free(interp, self->fixups[i]->name);
- self->fixups[i]->name = NULL;
-
- mem_gc_free(interp, self->fixups[i]);
- self->fixups[i] = NULL;
- }
-
if (self->fixup_count) {
+ opcode_t i;
+ for (i = 0; i < self->fixup_count; i++) {
+ mem_gc_free(interp, self->fixups[i].name);
+ self->fixups[i].name = NULL;
+ }
mem_gc_free(interp, self->fixups);
- self->fixups = NULL;
}
-
self->fixups = NULL;
self->fixup_count = 0;
@@ -3354,10 +3319,10 @@
for (i = 0; i < ft->fixup_count; i++) {
/* fixup_entry type */
size++;
- switch (ft->fixups[i]->type) {
+ switch (ft->fixups[i].type) {
case enum_fixup_label:
case enum_fixup_sub:
- size += PF_size_cstring(ft->fixups[i]->name);
+ size += PF_size_cstring(ft->fixups[i].name);
size ++; /* offset */
break;
case enum_fixup_none:
@@ -3395,12 +3360,12 @@
*cursor++ = ft->fixup_count;
for (i = 0; i < ft->fixup_count; i++) {
- *cursor++ = (opcode_t) ft->fixups[i]->type;
- switch (ft->fixups[i]->type) {
+ *cursor++ = (opcode_t) ft->fixups[i].type;
+ switch (ft->fixups[i].type) {
case enum_fixup_label:
case enum_fixup_sub:
- cursor = PF_store_cstring(cursor, ft->fixups[i]->name);
- *cursor++ = ft->fixups[i]->offset;
+ cursor = PF_store_cstring(cursor, ft->fixups[i].name);
+ *cursor++ = ft->fixups[i].offset;
break;
case enum_fixup_none:
break;
@@ -3477,7 +3442,7 @@
if (self->fixup_count) {
self->fixups = mem_gc_allocate_n_zeroed_typed(interp,
- self->fixup_count, PackFile_FixupEntry *);
+ self->fixup_count, PackFile_FixupEntry);
if (!self->fixups) {
Parrot_io_eprintf(interp,
@@ -3489,9 +3454,7 @@
}
for (i = 0; i < self->fixup_count; i++) {
- PackFile_FixupEntry * const entry =
- self->fixups[i] =
- mem_gc_allocate_zeroed_typed(interp, PackFile_FixupEntry);
+ PackFile_FixupEntry * const entry = self->fixups + i;
entry->type = PF_fetch_opcode(pf, &cursor);
@@ -3550,12 +3513,11 @@
i = self->fixup_count++;
self->fixups = mem_gc_realloc_n_typed_zeroed(interp,
- self->fixups, self->fixup_count, i, PackFile_FixupEntry *);
+ self->fixups, self->fixup_count, i, PackFile_FixupEntry);
- self->fixups[i] = mem_gc_allocate_zeroed_typed(interp, PackFile_FixupEntry);
- self->fixups[i]->type = type;
- self->fixups[i]->name = mem_sys_strdup(label);
- self->fixups[i]->offset = offs;
+ self->fixups[i].type = type;
+ self->fixups[i].name = mem_sys_strdup(label);
+ self->fixups[i].offset = offs;
}
@@ -3582,9 +3544,9 @@
ASSERT_ARGS(find_fixup)
opcode_t i;
for (i = 0; i < ft->fixup_count; i++) {
- if ((INTVAL)((enum_fixup_t)ft->fixups[i]->type) == type
- && STREQ(ft->fixups[i]->name, name)) {
- return ft->fixups[i];
+ if ((INTVAL)((enum_fixup_t)ft->fixups[i].type) == type
+ && STREQ(ft->fixups[i].name, name)) {
+ return ft->fixups + i;
}
}
@@ -4829,6 +4791,12 @@
PackFile * const pf = Parrot_pbc_read(interp, filename, 0);
if (pf) {
+ /* An embedder can try to load_bytecode without having an initial_pf */
+ if (!interp->initial_pf) {
+ interp->initial_pf = PackFile_new_dummy(interp, CONST_STRING(interp, "dummy"));
+ /* PackFile_new_dummy must never fail */
+ PARROT_ASSERT(interp->initial_pf);
+ }
PackFile_add_segment(interp, &interp->initial_pf->directory,
&pf->directory.base);
Modified: branches/include_dynpmc_makefile/src/packfile/pf_items.c
==============================================================================
--- branches/include_dynpmc_makefile/src/packfile/pf_items.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/packfile/pf_items.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1307,17 +1307,14 @@
{
ASSERT_ARGS(PF_fetch_string)
STRING *s;
- opcode_t flag_charset_word;
UINTVAL flags;
UINTVAL charset_nr;
size_t size;
- const int wordsize = pf ? pf->header->wordsize : sizeof (opcode_t);
+ const int wordsize = pf ? pf->header->wordsize : sizeof (opcode_t);
+ opcode_t flag_charset_word = PF_fetch_opcode(pf, cursor);
- flag_charset_word = PF_fetch_opcode(pf, cursor);
-
- if (flag_charset_word == -1) {
+ if (flag_charset_word == -1)
return STRINGNULL;
- }
/* decode flags and charset */
flags = (flag_charset_word & 0x1 ? PObj_constant_FLAG : 0) |
Modified: branches/include_dynpmc_makefile/src/pbc_merge.c
==============================================================================
--- branches/include_dynpmc_makefile/src/pbc_merge.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pbc_merge.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -474,8 +474,7 @@
{
ASSERT_ARGS(pbc_merge_fixups)
PackFile_FixupTable *fixup_seg;
- PackFile_FixupEntry **fixups = mem_gc_allocate_typed(interp,
- PackFile_FixupEntry *);
+ PackFile_FixupEntry *fixups = NULL;
opcode_t cursor = 0;
int i;
@@ -504,14 +503,14 @@
/* Allocate space for these fixups, provided we have some. */
if (in_seg->fixup_count > 0) {
fixups = mem_gc_realloc_n_typed(interp, fixups,
- cursor + in_seg->fixup_count, PackFile_FixupEntry*);
+ cursor + in_seg->fixup_count, PackFile_FixupEntry);
}
/* Loop over the fixups and copy them to the output PBC, correcting
the offsets into the bytecode. */
for (j = 0; j < in_seg->fixup_count; j++) {
/* Get the entry and allocate space for copies. */
- const PackFile_FixupEntry * const cur_entry = in_seg->fixups[j];
+ const PackFile_FixupEntry * const cur_entry = in_seg->fixups + j;
PackFile_FixupEntry * const copy =
mem_gc_allocate_typed(interp, PackFile_FixupEntry);
char * const name_copy = mem_gc_allocate_n_typed(interp,
@@ -536,7 +535,7 @@
}
/* Slot it into the list. */
- fixups[cursor] = copy;
+ fixups[cursor] = *copy;
cursor++;
}
}
@@ -566,8 +565,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 +590,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/include_dynpmc_makefile/src/pmc/callcontext.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/callcontext.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/callcontext.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -434,10 +434,6 @@
ATTR UINTVAL trace_flags;
ATTR UINTVAL recursion_depth; /* Sub call recursion depth */
- /* code->prederefed.code - code->base.data in opcodes
- * to simplify conversion between code ptrs in e.g. invoke */
- ATTR size_t pred_offset;
-
/* Storage for arguments */
ATTR struct Pcc_cell *positionals; /* array of positionals */
ATTR INTVAL num_positionals; /* count of used positionals */
@@ -753,7 +749,7 @@
case STRINGCELL: type = enum_type_STRING; break;
case PMCCELL:
type = PMC_IS_NULL(c[i].u.p)
- ? enum_type_PMC
+ ? (INTVAL) enum_type_PMC
: VTABLE_type(interp, c[i].u.p);
break;
default:
@@ -933,10 +929,13 @@
VTABLE void push_integer(INTVAL value) {
Pcc_cell *cells;
- INTVAL num_pos;
+ INTVAL num_pos, allocated_positionals;
GET_ATTR_num_positionals(INTERP, SELF, num_pos);
- ensure_positionals_storage(INTERP, SELF, num_pos + 1);
+ GET_ATTR_allocated_positionals(interp, SELF, allocated_positionals);
+
+ if (num_pos + 1 > allocated_positionals)
+ ensure_positionals_storage(INTERP, SELF, num_pos + 1);
GET_ATTR_positionals(INTERP, SELF, cells);
cells[num_pos].u.i = value;
@@ -972,10 +971,13 @@
VTABLE void push_pmc(PMC *value) {
Pcc_cell *cells;
- INTVAL num_pos;
+ INTVAL num_pos, allocated_positionals;
GET_ATTR_num_positionals(INTERP, SELF, num_pos);
- ensure_positionals_storage(INTERP, SELF, num_pos + 1);
+ GET_ATTR_allocated_positionals(interp, SELF, allocated_positionals);
+
+ if (num_pos + 1 > allocated_positionals)
+ ensure_positionals_storage(INTERP, SELF, num_pos + 1);
GET_ATTR_positionals(INTERP, SELF, cells);
cells[num_pos].u.p = value;
Modified: branches/include_dynpmc_makefile/src/pmc/default.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/default.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/default.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -358,7 +358,7 @@
else
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ILL_INHERIT,
"init_pmc() not implemented in class '%Ss'",
- caller(interp, pmc));
+ caller(interp, SELF));
}
/*
Modified: branches/include_dynpmc_makefile/src/pmc/eval.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/eval.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/eval.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -74,13 +74,13 @@
return;
for (i = 0; i < ft->fixup_count; i++) {
- const PackFile_FixupEntry * const e = ft->fixups[i];
+ PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
opcode_t ci = e->offset;
ct->constants[ci]->u.key = NULL;
- ft->fixups[i]->type = 0;
+ e->type = 0;
}
}
}
@@ -113,7 +113,7 @@
return PMCNULL;
for (i = n = 0; i < ft->fixup_count; i++) {
- PackFile_FixupEntry *e = ft->fixups[i];
+ const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
opcode_t ci = e->offset;
@@ -152,7 +152,7 @@
return;
for (i = 0; i < ft->fixup_count; i++) {
- PackFile_FixupEntry *e = ft->fixups[i];
+ const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
opcode_t ci = e->offset;
@@ -427,7 +427,7 @@
return 0;
for (i = n = 0; i < ft->fixup_count; i++) {
- PackFile_FixupEntry *e = ft->fixups[i];
+ const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub)
n++;
Modified: branches/include_dynpmc_makefile/src/pmc/exception.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/exception.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/exception.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -113,7 +113,7 @@
INTVAL severity_val;
STRING *message_val;
- INTVAL ishash = VTABLE_isa(interp, values, CONST_STRING(interp, 'Hash'));
+ const INTVAL ishash = VTABLE_isa(interp, values, CONST_STRING(interp, 'Hash'));
if (ishash) {
STRING * const severity = CONST_STRING(interp, "severity");
@@ -205,7 +205,7 @@
*/
VTABLE INTVAL get_integer() {
- Parrot_Exception_attributes * const exception = PARROT_EXCEPTION(SELF);
+ const Parrot_Exception_attributes * const exception = PARROT_EXCEPTION(SELF);
return exception->id;
}
@@ -221,7 +221,7 @@
*/
VTABLE STRING *get_string_keyed(PMC *key) {
- STRING *name = VTABLE_get_string(INTERP, key);
+ STRING * const name = VTABLE_get_string(INTERP, key);
STRING *message;
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "message"))) {
@@ -247,7 +247,7 @@
*/
VTABLE INTVAL get_integer_keyed(PMC *key) {
- STRING *name = VTABLE_get_string(INTERP, key);
+ STRING * const name = VTABLE_get_string(INTERP, key);
INTVAL result = 0;
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "type"))) {
@@ -316,7 +316,7 @@
*/
VTABLE PMC *get_pmc_keyed(PMC *key) {
- STRING *s = VTABLE_get_string(INTERP, key);
+ STRING * const s = VTABLE_get_string(INTERP, key);
return SELF.get_attr_str(s);
}
@@ -376,7 +376,7 @@
*/
VTABLE void set_string_keyed(PMC *key, STRING *value) {
- STRING *name = VTABLE_get_string(INTERP, key);
+ STRING * const name = VTABLE_get_string(INTERP, key);
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "message"))) {
SELF.set_string_native(value);
@@ -399,7 +399,7 @@
*/
VTABLE void set_integer_keyed(PMC *key, INTVAL value) {
- STRING *name = VTABLE_get_string(INTERP, key);
+ STRING * const name = VTABLE_get_string(INTERP, key);
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "type"))) {
SET_ATTR_type(interp, SELF, value);
@@ -461,7 +461,7 @@
*/
VTABLE void set_pmc_keyed(PMC *key, PMC *value) {
- STRING *s = VTABLE_get_string(INTERP, key);
+ STRING * const s = VTABLE_get_string(INTERP, key);
SELF.set_attr_str(s, value);
}
@@ -492,7 +492,7 @@
*/
VTABLE void *get_pointer() {
- Parrot_Exception_attributes * const core_struct = PARROT_EXCEPTION(SELF);
+ const Parrot_Exception_attributes * const core_struct = PARROT_EXCEPTION(SELF);
return core_struct->handler_ctx;
}
@@ -604,23 +604,23 @@
VTABLE void set_attr_str(STRING *name, PMC *value) {
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "type"))) {
- INTVAL type = VTABLE_get_integer(interp, value);
+ const INTVAL type = VTABLE_get_integer(interp, value);
SET_ATTR_type(interp, SELF, type);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "severity"))) {
- INTVAL severity = VTABLE_get_integer(interp, value);
+ const INTVAL severity = VTABLE_get_integer(interp, value);
SET_ATTR_severity(interp, SELF, severity);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "exit_code"))) {
- INTVAL exit_code = VTABLE_get_integer(interp, value);
+ const INTVAL exit_code = VTABLE_get_integer(interp, value);
SET_ATTR_exit_code(interp, SELF, exit_code);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "handled"))) {
- INTVAL handled = VTABLE_get_integer(interp, value);
+ const INTVAL handled = VTABLE_get_integer(interp, value);
SET_ATTR_handled(interp, SELF, handled);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "message"))) {
- STRING *message = VTABLE_get_string(interp, value);
+ STRING * const message = VTABLE_get_string(interp, value);
SELF.set_string_native(message);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "payload"))) {
@@ -639,7 +639,7 @@
/* Ensure it's a ret cont, and extract the from_ctx.
* XXX TT #596 - when we have Context PMCs, just take and set that. */
if (!PMC_IS_NULL(value) && VTABLE_isa(interp, value, CONST_STRING(interp, "Continuation"))) {
- PMC *ctx = PMC_cont(value)->from_ctx;
+ PMC * const ctx = PMC_cont(value)->from_ctx;
if (!PMC_IS_NULL(ctx))
SET_ATTR_thrower(interp, SELF, ctx);
}
@@ -704,7 +704,7 @@
/* Get resume continuation, to find location we failed at. */
GET_ATTR_resume(interp, SELF, resume);
if (!PMC_IS_NULL(resume)) {
- Parrot_Continuation_attributes *cont = PARROT_CONTINUATION(resume);
+ const Parrot_Continuation_attributes * const cont = PARROT_CONTINUATION(resume);
if (cont->seg != NULL && cont->seg->annotations != NULL)
result = PackFile_Annotations_lookup(interp, cont->seg->annotations,
cont->address - cont->seg->base.data, name);
@@ -737,20 +737,17 @@
METHOD backtrace() {
PMC *result = PMCNULL;
PMC *resume;
- Parrot_Continuation_attributes *cont;
/* Get starting context, then loop over them. */
GET_ATTR_resume(interp, SELF, resume);
if (!PMC_IS_NULL(resume)) {
- /* We have a resume continuation, so we can get the address from
- * that. */
- cont = PARROT_CONTINUATION(resume);
+ /* We have a resume continuation, so we can get the address from that. */
+ const Parrot_Continuation_attributes * const cont = PARROT_CONTINUATION(resume);
Parrot_pcc_invoke_method_from_c_args(INTERP, cont->to_ctx, CONST_STRING(interp, "backtrace"), "P->P", resume, &result);
}
else {
PMC *cur_ctx;
/* No return continuation. Assuming we're being called */
- cont = NULL;
GET_ATTR_thrower(interp, SELF, cur_ctx);
Parrot_pcc_invoke_method_from_c_args(INTERP, CURRENT_CONTEXT(INTERP), CONST_STRING(interp, "backtrace"), "->P", &result);
}
Modified: branches/include_dynpmc_makefile/src/pmc/fixedfloatarray.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/fixedfloatarray.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/fixedfloatarray.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -80,24 +80,22 @@
*/
VTABLE PMC *clone() {
- INTVAL size;
- FLOATVAL *self_float_array, *dest_float_array;
- size_t mem_size;
- PMC * const dest = Parrot_pmc_new(INTERP, SELF->vtable->base_type);
+ FLOATVAL *self_float_array;
+ PMC * const dest = Parrot_pmc_new(INTERP, SELF->vtable->base_type);
GET_ATTR_float_array(INTERP, SELF, self_float_array);
-
- if (!self_float_array)
- return dest;
-
- GET_ATTR_size(INTERP, SELF, size);
- SET_ATTR_size(INTERP, dest, size);
- mem_size = size * sizeof (FLOATVAL);
-
- dest_float_array = (FLOATVAL*)Parrot_gc_allocate_memory_chunk(INTERP, mem_size);
- mem_sys_memcopy(dest_float_array, self_float_array, mem_size);
- SET_ATTR_float_array(INTERP, dest, dest_float_array);
- PObj_custom_destroy_SET(dest);
-
+ if (self_float_array) {
+ INTVAL size;
+ GET_ATTR_size(INTERP, SELF, size);
+ {
+ FLOATVAL * const dest_float_array = mem_gc_allocate_n_typed(INTERP,
+ size, FLOATVAL);
+ mem_copy_n_typed(dest_float_array, self_float_array,
+ size, FLOATVAL);
+ SET_ATTR_float_array(INTERP, dest, dest_float_array);
+ }
+ SET_ATTR_size(INTERP, dest, size);
+ PObj_custom_destroy_SET(dest);
+ }
return dest;
}
Modified: branches/include_dynpmc_makefile/src/pmc/fixedintegerarray.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/fixedintegerarray.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/fixedintegerarray.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -110,16 +110,16 @@
GET_ATTR_int_array(INTERP, SELF, int_array);
if (int_array) {
- INTVAL *dest_int_array;
- INTVAL size;
-
+ INTVAL size;
GET_ATTR_size(INTERP, SELF, size);
-
- dest_int_array = mem_gc_allocate_n_typed(INTERP, size, INTVAL);
+ {
+ INTVAL * const dest_int_array = mem_gc_allocate_n_typed(INTERP,
+ size, INTVAL);
+ mem_copy_n_typed(dest_int_array, int_array,
+ size, INTVAL);
+ SET_ATTR_int_array(INTERP, dest, dest_int_array);
+ }
SET_ATTR_size(INTERP, dest, size);
- SET_ATTR_int_array(INTERP, dest, dest_int_array);
-
- mem_sys_memcopy(dest_int_array, int_array, size * sizeof (INTVAL));
PObj_custom_destroy_SET(dest);
}
Modified: branches/include_dynpmc_makefile/src/pmc/hash.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/hash.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/hash.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -541,7 +541,7 @@
VTABLE FLOATVAL get_number_keyed(PMC *key) {
PMC *nextkey;
PMC *valpmc;
- const Hash * const hash = (Hash *)VTABLE_get_pointer(interp, pmc);
+ const Hash * const hash = (Hash *)SELF.get_pointer();
void * const keystr = hash_key_from_pmc(INTERP, hash, key);
HashBucket * const b = parrot_hash_get_bucket(INTERP, hash, keystr);
Modified: branches/include_dynpmc_makefile/src/pmc/namespace.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/namespace.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/namespace.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -299,8 +299,9 @@
*/
VTABLE void init() {
- PARROT_NAMESPACE(SELF)->vtable = PMCNULL;
- PARROT_NAMESPACE(SELF)->_class = PMCNULL;
+ PARROT_NAMESPACE(SELF)->vtable = PMCNULL;
+ PARROT_NAMESPACE(SELF)->methods = PMCNULL;
+ PARROT_NAMESPACE(SELF)->_class = PMCNULL;
SELF.set_pointer(parrot_new_hash(INTERP));
PObj_custom_mark_destroy_SETALL(SELF);
}
@@ -651,6 +652,61 @@
/*
+=item C<PMC *inspect_str(STRING *what)>
+
+Provides introspection of a specific piece of information about the
+namespace. The available information is:
+
+=over 8
+
+=item class
+
+The class object associated with the namespace, if any.
+
+=item methods
+
+A temporary cache of methods (destroyed when class object is created).
+Hash keyed on method name, value is an invokable PMC. Includes methods
+composed in from roles.
+
+=item vtable_overrides
+
+A temporary cache of vtable overrides (destroyed when class object is
+created). Hash keyed on vtable name, value is an invokable PMC.
+Includes vtable overrides composed in from roles.
+
+=back
+
+=cut
+
+*/
+
+ VTABLE PMC *inspect_str(STRING *what) {
+ const Parrot_NameSpace_attributes * const nsinfo = PARROT_NAMESPACE(SELF);
+ PMC *found;
+
+ if (Parrot_str_equal(interp, what, CONST_STRING(interp, "methods"))) {
+ found = nsinfo->methods;
+ }
+ else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "vtable_overrides"))) {
+ found = nsinfo->vtable;
+ }
+ else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "class"))) {
+ found = nsinfo->_class;
+ }
+ else
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ "Unknown introspection value '%S'", what);
+
+ /* return found value */
+ if (PMC_IS_NULL(found))
+ return PMCNULL;
+
+ return found;
+ }
+
+/*
+
=back
=head2 Methods
Modified: branches/include_dynpmc_makefile/src/pmc/object.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/object.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/object.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -496,7 +496,7 @@
*/
VTABLE INTVAL get_integer() {
- Parrot_Object_attributes * const obj = PARROT_OBJECT(pmc);
+ Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF);
Parrot_Class_attributes * const _class = PARROT_CLASS(obj->_class);
STRING * const meth_name = CONST_STRING(interp, "get_integer");
@@ -511,7 +511,7 @@
cur_class, meth_name);
if (!PMC_IS_NULL(meth)) {
INTVAL result;
- Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->I", pmc, &result);
+ Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->I", SELF, &result);
return result;
}
@@ -519,7 +519,7 @@
if (cur_class->vtable->base_type == enum_class_PMCProxy) {
/* Get the PMC instance and call the vtable function on that. */
STRING * const proxy = CONST_STRING(interp, "proxy");
- PMC * const del_object = VTABLE_get_attr_str(interp, pmc, proxy);
+ PMC * const del_object = VTABLE_get_attr_str(interp, SELF, proxy);
if (!PMC_IS_NULL(del_object)) {
return (INTVAL)VTABLE_get_integer(interp, del_object);
@@ -527,7 +527,7 @@
}
}
}
- return interp->vtables[enum_class_default]->get_integer(interp, pmc);
+ return interp->vtables[enum_class_default]->get_integer(interp, SELF);
}
/*
@@ -710,7 +710,7 @@
*/
opcode_t * invoke(void *next) {
- Parrot_Object_attributes * const obj = PARROT_OBJECT(pmc);
+ Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF);
Parrot_Class_attributes * const _class = PARROT_CLASS(obj->_class);
/* Walk and search for the vtable. */
@@ -740,14 +740,14 @@
if (cur_class->vtable->base_type == enum_class_PMCProxy) {
/* Get the PMC instance and call the vtable function on that. */
PMC * const del_object =
- VTABLE_get_attr_keyed(interp, pmc, cur_class, proxy);
+ VTABLE_get_attr_keyed(interp, SELF, cur_class, proxy);
if (!PMC_IS_NULL(del_object))
return VTABLE_invoke(interp, del_object, next);
}
}
- return (opcode_t *)interp->vtables[enum_class_default]->invoke(interp, pmc, next);
+ return (opcode_t *)interp->vtables[enum_class_default]->invoke(interp, SELF, next);
}
/*
@@ -776,7 +776,7 @@
*/
VTABLE PMC * clone() {
- Parrot_Object_attributes * const obj = PARROT_OBJECT(pmc);
+ Parrot_Object_attributes * const obj = PARROT_OBJECT(SELF);
/* If we have a custom override, invoke it.
* If not, use the oo function. */
STRING * const meth_name = CONST_STRING(interp, "clone");
@@ -785,7 +785,7 @@
PMC *result;
if (!PMC_IS_NULL(meth)) {
- Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->P", pmc, &result);
+ Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->P", SELF, &result);
}
else {
result = Parrot_oo_clone_object(interp, SELF, NULL);
@@ -873,8 +873,8 @@
type_num = SELF->vtable->base_type;
/* make sure metadata doesn't go away unexpectedly */
- if (PMC_metadata(pmc))
- PMC_metadata(pmc) = pt_shared_fixup(interp, PMC_metadata(pmc));
+ if (PMC_metadata(SELF))
+ PMC_metadata(SELF) = pt_shared_fixup(interp, PMC_metadata(SELF));
PARROT_ASSERT(master->vtables[type_num]->pmc_class);
/* don't want the referenced class disappearing on us */
Modified: branches/include_dynpmc_makefile/src/pmc/os.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/os.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/os.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -563,6 +563,32 @@
}
}
+/*
+
+=item C<chmod(STRING *path, INTVAL mode)>
+
+=cut
+
+*/
+
+ METHOD chmod(STRING *path, INTVAL mode) {
+ char * const cpath = Parrot_str_to_cstring(INTERP, path);
+
+#ifndef WIN32
+ const int error = chmod(cpath, mode);
+#else
+ const int error = _chmod(cpath, mode);
+#endif
+
+ Parrot_str_free_cstring(cpath);
+
+ if (error) {
+ const char * const errmsg = strerror(errno);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_EXTERNAL_ERROR,
+ errmsg);
+ }
+ }
+
}
/*
Modified: branches/include_dynpmc_makefile/src/pmc/packfileannotations.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/packfileannotations.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/packfileannotations.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/src/pmc/packfilefixupentry.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/packfilefixupentry.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/packfilefixupentry.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/src/pmc/packfilefixuptable.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/packfilefixuptable.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/packfilefixuptable.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -92,7 +92,7 @@
VTABLE_set_integer_native(interp, attrs->entries, table->fixup_count);
for (i = 0; i < table->fixup_count; ++i) {
- val = table->fixups[i];
+ val = table->fixups + i;
entry = Parrot_pmc_new(interp, enum_class_PackfileFixupEntry);
VTABLE_set_pointer(interp, entry, (void*)val);
VTABLE_set_pmc_keyed_int(interp, attrs->entries, i, entry);
@@ -120,13 +120,14 @@
pftable->base.type = PF_FIXUP_SEG;
pftable->fixup_count = VTABLE_elements(interp, attrs->entries);
pftable->fixups = mem_gc_allocate_n_typed(INTERP,
- pftable->fixup_count, PackFile_FixupEntry*);
+ pftable->fixup_count, PackFile_FixupEntry);
/* Copy all entries */
for (i = 0; i < pftable->fixup_count; ++i) {
entry = VTABLE_get_pmc_keyed_int(interp, attrs->entries, i);
val = (PackFile_FixupEntry*)VTABLE_get_pointer(interp, entry);
- pftable->fixups[i] = val;
+ pftable->fixups[i] = *val;
+ mem_gc_free(INTERP, val);
}
return pftable;
Modified: branches/include_dynpmc_makefile/src/pmc/resizablefloatarray.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/resizablefloatarray.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/resizablefloatarray.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -156,7 +156,7 @@
/* copy trimmed extra space */
GET_ATTR_size(INTERP, SELF, size);
- SET_ATTR_resize_threshold(INTERP, SELF, size);
+ SET_ATTR_resize_threshold(INTERP, copy, size);
return copy;
}
Modified: branches/include_dynpmc_makefile/src/pmc/stringhandle.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/stringhandle.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/stringhandle.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2008, Parrot Foundation.
+Copyright (C) 2008-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -22,7 +22,7 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_INLINE
-static int encoding_is_utf8(PARROT_INTERP, ARGIN_NULLOK(STRING *s))
+static int encoding_is_utf8(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
__attribute__nonnull__(1);
#define ASSERT_ARGS_encoding_is_utf8 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -36,7 +36,7 @@
=over 4
-=item C<static int encoding_is_utf8(PARROT_INTERP, STRING *s)>
+=item C<static int encoding_is_utf8(PARROT_INTERP, const STRING *s)>
Helper function for internal usage. Return 1 if the string argument is
not null and has utf8 encoding, 0 otherwise.
@@ -49,7 +49,7 @@
PARROT_INLINE
static int
-encoding_is_utf8(PARROT_INTERP, ARGIN_NULLOK(STRING *s))
+encoding_is_utf8(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(encoding_is_utf8)
if (STRING_IS_NULL(s))
@@ -81,7 +81,7 @@
*/
VTABLE void init() {
- Parrot_StringHandle_attributes *data_struct =
+ Parrot_StringHandle_attributes * const data_struct =
(Parrot_StringHandle_attributes *) PMC_data(SELF);
data_struct->flags = 0;
@@ -255,8 +255,7 @@
*/
METHOD is_closed() {
- INTVAL status;
- status = Parrot_io_is_closed(INTERP, SELF);
+ const INTVAL status = Parrot_io_is_closed(INTERP, SELF);
RETURN(INTVAL status);
}
@@ -272,8 +271,7 @@
*/
METHOD read(INTVAL length) {
- STRING *string_result;
- string_result = Parrot_io_reads(INTERP, SELF, length);
+ STRING * const string_result = Parrot_io_reads(INTERP, SELF, length);
RETURN(STRING *string_result);
}
@@ -289,8 +287,7 @@
*/
METHOD readline() {
- STRING *string_result;
- string_result = Parrot_io_readline(INTERP, SELF);
+ STRING * const string_result = Parrot_io_readline(INTERP, SELF);
RETURN(STRING *string_result);
}
@@ -526,6 +523,7 @@
*/
METHOD get_fd() {
+ UNUSED(interp);
RETURN(INTVAL -1);
}
Modified: branches/include_dynpmc_makefile/src/pmc/sub.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/sub.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/sub.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -675,7 +675,7 @@
VTABLE_push_integer(INTERP, info, (INTVAL) sub->start_offs);
VTABLE_push_integer(INTERP, info, (INTVAL) sub->end_offs);
VTABLE_push_integer(INTERP, info,
- (INTVAL)(PObj_get_FLAGS(pmc) & SUB_FLAG_PF_MASK));
+ (INTVAL)(PObj_get_FLAGS(SELF) & SUB_FLAG_PF_MASK));
VTABLE_push_string(INTERP, info, sub->name);
Modified: branches/include_dynpmc_makefile/src/pmc/unmanagedstruct.pmc
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc/unmanagedstruct.pmc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc/unmanagedstruct.pmc Wed Apr 28 19:17:12 2010 (r46116)
@@ -957,7 +957,7 @@
VTABLE INTVAL get_integer_keyed_int(INTVAL ix) {
int type;
- const char * const p = char_offset_int(INTERP, pmc, ix, &type);
+ const char * const p = char_offset_int(INTERP, SELF, ix, &type);
return ret_int(INTERP, p, type);
}
@@ -973,7 +973,7 @@
VTABLE INTVAL get_integer_keyed(PMC *key) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
return ret_int(INTERP, p, type);
}
@@ -989,7 +989,7 @@
VTABLE FLOATVAL get_number_keyed_int(INTVAL key) {
int type;
- char * const p = char_offset_int(INTERP, pmc, key, &type);
+ char * const p = char_offset_int(INTERP, SELF, key, &type);
return ret_float(INTERP, p, type);
}
@@ -1005,7 +1005,7 @@
VTABLE FLOATVAL get_number_keyed(PMC *key) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
return ret_float(INTERP, p, type);
}
@@ -1021,7 +1021,7 @@
VTABLE STRING *get_string_keyed_int(INTVAL key) {
int type;
- char * const p = char_offset_int(INTERP, pmc, key, &type);
+ char * const p = char_offset_int(INTERP, SELF, key, &type);
return ret_string(INTERP, p, type);
}
@@ -1037,7 +1037,7 @@
VTABLE STRING *get_string_keyed(PMC *key) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
return ret_string(INTERP, p, type);
}
@@ -1053,8 +1053,8 @@
VTABLE PMC *get_pmc_keyed_int(INTVAL key) {
int type;
- char * const p = char_offset_int(INTERP, pmc, key, &type);
- return ret_pmc(INTERP, pmc, p, type, key);
+ char * const p = char_offset_int(INTERP, SELF, key, &type);
+ return ret_pmc(INTERP, SELF, p, type, key);
}
/*
@@ -1069,8 +1069,8 @@
VTABLE PMC *get_pmc_keyed(PMC *key) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
- return ret_pmc(INTERP, pmc, p, type, key_2_idx(INTERP, pmc, key));
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
+ return ret_pmc(INTERP, SELF, p, type, key_2_idx(INTERP, SELF, key));
}
/*
@@ -1113,7 +1113,7 @@
VTABLE void set_integer_keyed_int(INTVAL ix, INTVAL value) {
int type;
- char * const p = char_offset_int(INTERP, pmc, ix, &type);
+ char * const p = char_offset_int(INTERP, SELF, ix, &type);
set_int(INTERP, p, type, value);
}
@@ -1131,7 +1131,7 @@
VTABLE void set_integer_keyed(PMC *key, INTVAL value) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
set_int(INTERP, p, type, value);
}
@@ -1147,7 +1147,7 @@
VTABLE void set_number_keyed_int(INTVAL key, FLOATVAL value) {
int type;
- char * const p = char_offset_int(INTERP, pmc, key, &type);
+ char * const p = char_offset_int(INTERP, SELF, key, &type);
set_float(INTERP, p, type, value);
}
@@ -1163,7 +1163,7 @@
VTABLE void set_number_keyed(PMC *key, FLOATVAL value) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
set_float(INTERP, p, type, value);
}
@@ -1179,7 +1179,7 @@
VTABLE void set_string_keyed_int(INTVAL key, STRING *value) {
int type;
- char * const p = char_offset_int(INTERP, pmc, key, &type);
+ char * const p = char_offset_int(INTERP, SELF, key, &type);
set_string(INTERP, p, type, value);
}
@@ -1195,7 +1195,7 @@
VTABLE void set_string_keyed(PMC *key, STRING *value) {
int type;
- char * const p = char_offset_key(INTERP, pmc, key, &type);
+ char * const p = char_offset_key(INTERP, SELF, key, &type);
set_string(INTERP, p, type, value);
}
Modified: branches/include_dynpmc_makefile/src/pmc_freeze.c
==============================================================================
--- branches/include_dynpmc_makefile/src/pmc_freeze.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/pmc_freeze.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -49,7 +49,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
STRING*
Parrot_freeze(PARROT_INTERP, ARGIN(PMC *pmc))
{
@@ -73,7 +73,6 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
UINTVAL
Parrot_freeze_size(PARROT_INTERP, ARGIN(PMC *pmc))
{
@@ -106,7 +105,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC*
Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
{
@@ -158,7 +157,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC*
Parrot_thaw_constants(PARROT_INTERP, ARGIN(STRING *image))
{
Modified: branches/include_dynpmc_makefile/src/runcore/cores.c
==============================================================================
--- branches/include_dynpmc_makefile/src/runcore/cores.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/runcore/cores.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -249,17 +249,11 @@
#include "parrot/oplib/ops.h"
#include "parrot/oplib/core_ops.h"
-#include "parrot/oplib/core_ops_switch.h"
#include "parrot/dynext.h"
#include "pmc/pmc_sub.h"
#include "pmc/pmc_callcontext.h"
-#ifdef HAVE_COMPUTED_GOTO
-# include "parrot/oplib/core_ops_cg.h"
-# include "parrot/oplib/core_ops_cgp.h"
-#endif
-
#ifdef WIN32
# define getpid _getpid
#endif
@@ -271,23 +265,6 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
-static opcode_t * runops_cgoto_core(PARROT_INTERP,
- SHIM(Parrot_runcore_t *runcore),
- ARGIN(opcode_t *pc))
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static opcode_t * runops_cgp_core(PARROT_INTERP,
- ARGIN(Parrot_runcore_t *runcore),
- ARGIN(opcode_t *pc))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static opcode_t * runops_debugger_core(PARROT_INTERP,
SHIM(Parrot_runcore_t *runcore),
ARGIN(opcode_t *pc))
@@ -328,27 +305,11 @@
__attribute__nonnull__(3);
PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static opcode_t * runops_switch_core(PARROT_INTERP,
- ARGIN(Parrot_runcore_t *runcore),
- ARGIN(opcode_t *pc))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3);
-
-PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
static opcode_t * runops_trace_core(PARROT_INTERP, ARGIN(opcode_t *pc))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-#define ASSERT_ARGS_runops_cgoto_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(pc))
-#define ASSERT_ARGS_runops_cgp_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(runcore) \
- , PARROT_ASSERT_ARG(pc))
#define ASSERT_ARGS_runops_debugger_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pc))
@@ -365,10 +326,6 @@
#define ASSERT_ARGS_runops_slow_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pc))
-#define ASSERT_ARGS_runops_switch_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(runcore) \
- , PARROT_ASSERT_ARG(pc))
#define ASSERT_ARGS_runops_trace_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pc))
@@ -438,36 +395,6 @@
/*
-=item C<void Parrot_runcore_switch_init(PARROT_INTERP)>
-
-Registers the switch runcore with Parrot.
-
-=cut
-
-*/
-
-void
-Parrot_runcore_switch_init(PARROT_INTERP)
-{
- ASSERT_ARGS(Parrot_runcore_switch_init)
-
- Parrot_runcore_t * const coredata = mem_gc_allocate_zeroed_typed(interp, Parrot_runcore_t);
- coredata->name = CONST_STRING(interp, "switch");
- coredata->id = PARROT_SWITCH_CORE;
- coredata->opinit = PARROT_CORE_SWITCH_OPLIB_INIT;
- coredata->runops = runops_switch_core;
- coredata->prepare_run = init_prederef;
- coredata->destroy = NULL;
- coredata->flags = 0;
-
- PARROT_RUNCORE_PREDEREF_OPS_SET(coredata);
-
- Parrot_runcore_register(interp, coredata);
-}
-
-
-/*
-
=item C<void Parrot_runcore_exec_init(PARROT_INTERP)>
Registers the exec runcore with Parrot.
@@ -543,7 +470,7 @@
coredata->name = CONST_STRING(interp, "debugger");
coredata->id = PARROT_DEBUGGER_CORE;
coredata->opinit = PARROT_CORE_OPLIB_INIT;
- coredata->prepare_run = init_prederef;
+ coredata->prepare_run = NULL;
coredata->runops = runops_debugger_core;
coredata->destroy = NULL;
coredata->flags = 0;
@@ -556,75 +483,6 @@
/*
-=item C<void Parrot_runcore_cgp_init(PARROT_INTERP)>
-
-Registers the CGP runcore with Parrot.
-
-=cut
-
-*/
-
-#ifdef HAVE_COMPUTED_GOTO
-
-void
-Parrot_runcore_cgp_init(PARROT_INTERP)
-{
- ASSERT_ARGS(Parrot_runcore_cgp_init)
-
- Parrot_runcore_t * const coredata = mem_gc_allocate_zeroed_typed(interp, Parrot_runcore_t);
- coredata->name = CONST_STRING(interp, "cgp");
- coredata->id = PARROT_CGP_CORE;
- coredata->opinit = PARROT_CORE_CGP_OPLIB_INIT;
- coredata->prepare_run = init_prederef;
- coredata->runops = runops_cgp_core;
- coredata->flags = 0;
-
- coredata->destroy = NULL;
-
- PARROT_RUNCORE_CGOTO_OPS_SET(coredata);
- PARROT_RUNCORE_EVENT_CHECK_SET(coredata);
- PARROT_RUNCORE_PREDEREF_OPS_SET(coredata);
-
- Parrot_runcore_register(interp, coredata);
-}
-
-
-/*
-
-=item C<void Parrot_runcore_cgoto_init(PARROT_INTERP)>
-
-Registers the cgoto runcore with Parrot.
-
-=cut
-
-*/
-
-void
-Parrot_runcore_cgoto_init(PARROT_INTERP)
-{
- ASSERT_ARGS(Parrot_runcore_cgoto_init)
-
- Parrot_runcore_t * const coredata = mem_gc_allocate_zeroed_typed(interp, Parrot_runcore_t);
- coredata->name = CONST_STRING(interp, "cgoto");
- coredata->id = PARROT_CGOTO_CORE;
- coredata->opinit = PARROT_CORE_CG_OPLIB_INIT;
- coredata->runops = runops_cgoto_core;
- coredata->destroy = NULL;
- coredata->prepare_run = NULL;
- coredata->flags = 0;
-
- PARROT_RUNCORE_FUNC_TABLE_SET(coredata);
- PARROT_RUNCORE_CGOTO_OPS_SET(coredata);
-
- Parrot_runcore_register(interp, coredata);
-}
-
-
-#endif /* #ifdef HAVE_COMPUTED_GOTO */
-
-
-/*
-
=item C<static opcode_t * runops_fast_core(PARROT_INTERP, Parrot_runcore_t
*runcore, opcode_t *pc)>
@@ -660,42 +518,6 @@
}
-/*
-
-=item C<static opcode_t * runops_cgoto_core(PARROT_INTERP, Parrot_runcore_t
-*runcore, opcode_t *pc)>
-
-Runs the Parrot operations starting at C<pc> until there are no more
-operations, using the computed C<goto> core, performing no bounds checking,
-profiling, or tracing.
-
-If computed C<goto> is not available then Parrot exits with exit code 1.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-static opcode_t *
-runops_cgoto_core(PARROT_INTERP, SHIM(Parrot_runcore_t *runcore), ARGIN(opcode_t *pc))
-{
- ASSERT_ARGS(runops_cgoto_core)
-
- /* disable pc */
- Parrot_pcc_set_pc(interp, CURRENT_CONTEXT(interp), NULL);
-
-#ifdef HAVE_COMPUTED_GOTO
- pc = cg_core(pc, interp);
- return pc;
-#else
- UNUSED(pc);
- Parrot_io_eprintf(interp,
- "Computed goto unavailable in this configuration.\n");
- Parrot_exit(interp, 1);
-#endif
-}
-
#ifdef code_start
# undef code_start
#endif
@@ -935,120 +757,6 @@
}
-/*
-
-=item C<static opcode_t * runops_switch_core(PARROT_INTERP, Parrot_runcore_t
-*runcore, opcode_t *pc)>
-
-Runs the C<switch> core.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static opcode_t *
-runops_switch_core(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore), ARGIN(opcode_t *pc))
-{
- ASSERT_ARGS(runops_switch_core)
- opcode_t * const code_start = (opcode_t *)interp->code->base.data;
- opcode_t *pc_prederef;
-
- init_prederef(interp, runcore);
- pc_prederef = (opcode_t*)interp->code->prederef.code + (pc - code_start);
-
- return switch_core(pc_prederef, interp);
-}
-
-
-/*
-
-=item C<void * init_prederef(PARROT_INTERP, Parrot_runcore_t *runcore)>
-
-Initialize: load prederef C<func_table>, file prederef.code.
-
-=cut
-
-*/
-
-PARROT_CAN_RETURN_NULL
-void *
-init_prederef(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore))
-{
- ASSERT_ARGS(init_prederef)
- load_prederef(interp, runcore);
-
- if (!interp->code->prederef.code) {
- void *pred_func;
- opcode_t *pc = interp->code->base.data;
- const size_t N = interp->code->base.size;
- size_t i;
-
- void ** const temp =
- (void **)Parrot_memalign_if_possible(256, N * sizeof (void *));
- /* calc and remember pred_offset */
- CONTEXT(interp)->pred_offset = pc - (opcode_t *)temp;
-
- /* fill with the prederef__ opcode function */
- if (PARROT_RUNCORE_PREDEREF_OPS_TEST(runcore)
- && !PARROT_RUNCORE_CGOTO_OPS_TEST(runcore))
- pred_func = (void *)CORE_OPS_prederef__;
- else {
- PARROT_ASSERT(interp->op_lib->op_func_table);
- pred_func = ((void **)
- interp->op_lib->op_func_table)[CORE_OPS_prederef__];
- }
-
- for (i = 0; i < N;) {
- const op_info_t * const opinfo = &interp->op_info_table[*pc];
- size_t n = opinfo->op_count;
-
- temp[i] = pred_func;
-
- ADD_OP_VAR_PART(interp, interp->code, pc, n);
-
- pc += n;
- i += n;
- }
-
- interp->code->prederef.code = temp;
- }
-
- return NULL;
-}
-
-
-/*
-
-=item C<void load_prederef(PARROT_INTERP, Parrot_runcore_t *runcore)>
-
-C<< interp->op_lib >> = prederefed oplib.
-
-=cut
-
-*/
-
-void
-load_prederef(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore))
-{
- ASSERT_ARGS(load_prederef)
- const oplib_init_f init_func = get_core_op_lib_init(interp, runcore);
-
- int (*get_op)(PARROT_INTERP, const char * name, int full);
-
- get_op = interp->op_lib->op_code;
- interp->op_lib = init_func(interp, 1);
-
- /* preserve the get_op function */
- interp->op_lib->op_code = get_op;
-
- if (interp->op_lib->op_count != interp->op_count)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_PREDEREF_LOAD_ERROR,
- "Illegal op count (%d) in prederef oplib\n",
- (int)interp->op_lib->op_count);
-}
-
/*
@@ -1099,41 +807,6 @@
/*
-=item C<static opcode_t * runops_cgp_core(PARROT_INTERP, Parrot_runcore_t
-*runcore, opcode_t *pc)>
-
-Runs the computed goto and predereferenced core.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static opcode_t *
-runops_cgp_core(PARROT_INTERP, ARGIN(Parrot_runcore_t *runcore), ARGIN(opcode_t *pc))
-{
- ASSERT_ARGS(runops_cgp_core)
-#ifdef HAVE_COMPUTED_GOTO
- opcode_t * const code_start = (opcode_t *)interp->code->base.data;
- opcode_t *pc_prederef;
-
- init_prederef(interp, runcore);
-
- pc_prederef = (opcode_t *)interp->code->prederef.code + (pc - code_start);
- return cgp_core(pc_prederef, interp);
-
-#else
- UNUSED(pc);
- Parrot_io_eprintf(interp,
- "Computed goto unavailable in this configuration.\n");
- Parrot_exit(interp, 1);
-#endif
-
-}
-
-/*
-
=back
*/
Modified: branches/include_dynpmc_makefile/src/runcore/main.c
==============================================================================
--- branches/include_dynpmc_makefile/src/runcore/main.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/runcore/main.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -22,14 +22,9 @@
#include "parrot/runcore_api.h"
#include "parrot/runcore_profiling.h"
#include "parrot/oplib/core_ops.h"
-#include "parrot/oplib/core_ops_switch.h"
#include "parrot/oplib/ops.h"
#include "main.str"
-#ifdef HAVE_COMPUTED_GOTO
-# include "parrot/oplib/core_ops_cg.h"
-# include "parrot/oplib/core_ops_cgp.h"
-#endif
#include "parrot/dynext.h"
#include "pmc/pmc_parrotlibrary.h"
#include "pmc/pmc_callcontext.h"
@@ -44,12 +39,6 @@
static void dynop_register_switch(PARROT_INTERP, size_t n_old, size_t n_new)
__attribute__nonnull__(1);
-static void dynop_register_xx(PARROT_INTERP,
- size_t n_old,
- size_t n_new,
- oplib_init_f init_func)
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static oplib_init_f get_dynamic_op_lib_init(SHIM_INTERP,
@@ -62,25 +51,13 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void stop_prederef(PARROT_INTERP)
- __attribute__nonnull__(1);
-
-static void turn_ev_check(PARROT_INTERP, int on)
- __attribute__nonnull__(1);
-
#define ASSERT_ARGS_dynop_register_switch __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_dynop_register_xx __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_get_dynamic_op_lib_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lib))
#define ASSERT_ARGS_notify_func_table __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(table))
-#define ASSERT_ARGS_stop_prederef __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_turn_ev_check __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
@@ -105,7 +82,6 @@
Parrot_runcore_slow_init(interp);
Parrot_runcore_fast_init(interp);
- Parrot_runcore_switch_init(interp);
Parrot_runcore_exec_init(interp);
Parrot_runcore_gc_debug_init(interp);
@@ -115,11 +91,6 @@
/* set the default runcore */
Parrot_runcore_switch(interp, default_core);
-
-#ifdef HAVE_COMPUTED_GOTO
- Parrot_runcore_cgp_init(interp);
- Parrot_runcore_cgoto_init(interp);
-#endif
}
@@ -187,44 +158,6 @@
/*
-=item C<static void turn_ev_check(PARROT_INTERP, int on)>
-
-Turn on or off event checking for prederefed cores.
-
-Fills in the C<event_checker> opcode, or restores original ops in all
-branch locations of the opcode stream.
-
-Note that when C<on> is true, this is being called from the event
-handler thread.
-
-=cut
-
-*/
-
-static void
-turn_ev_check(PARROT_INTERP, int on)
-{
- ASSERT_ARGS(turn_ev_check)
- const Prederef * const pi = &interp->code->prederef;
- size_t i;
-
- if (!pi->branches)
- return;
-
- for (i = 0; i < pi->n_branches; ++i) {
- const size_t offs = pi->branches[i].offs;
- if (on)
- interp->code->prederef.code[offs] =
- ((void **)interp->op_lib->op_func_table)
- [CORE_OPS_check_events__];
- else
- interp->code->prederef.code[offs] = pi->branches[i].op;
- }
-}
-
-
-/*
-
=item C<static oplib_init_f get_dynamic_op_lib_init(PARROT_INTERP, const PMC
*lib)>
@@ -249,33 +182,6 @@
/*
-=item C<static void stop_prederef(PARROT_INTERP)>
-
-Restore the interpreter's op function tables to their initial state.
-Also recreate the event function pointers. This is only necessary
-for run-core changes, but we don't know the old run core.
-
-=cut
-
-*/
-
-static void
-stop_prederef(PARROT_INTERP)
-{
- ASSERT_ARGS(stop_prederef)
- interp->op_func_table = PARROT_CORE_OPLIB_INIT(interp, 1)->op_func_table;
-
- if (interp->evc_func_table) {
- mem_gc_free(interp, interp->evc_func_table);
- interp->evc_func_table = NULL;
- }
-
- Parrot_setup_event_func_ptrs(interp);
-}
-
-
-/*
-
=item C<void prepare_for_run(PARROT_INTERP)>
Prepares to run the interpreter's run core.
@@ -337,7 +243,6 @@
if ((int)interp->resume_offset < 0)
Parrot_ex_throw_from_c_args(interp, NULL, 1,
"branch_cs: illegal resume offset");
- stop_prederef(interp);
}
}
}
@@ -397,9 +302,6 @@
Parrot_runcore_destroy(PARROT_INTERP)
{
ASSERT_ARGS(Parrot_runcore_destroy)
-#ifdef HAVE_COMPUTED_GOTO
- op_lib_t *cg_lib;
-#endif
size_t num_cores = interp->num_cores;
size_t i;
@@ -423,19 +325,6 @@
if (interp->n_libs <= 0)
return;
-#ifdef HAVE_COMPUTED_GOTO
- cg_lib = PARROT_CORE_CGP_OPLIB_INIT(interp, 1);
-
- if (cg_lib->op_func_table)
- mem_gc_free(interp, cg_lib->op_func_table);
- cg_lib->op_func_table = NULL;
-
- cg_lib = PARROT_CORE_CG_OPLIB_INIT(interp, 1);
- if (cg_lib->op_func_table)
- mem_gc_free(interp, cg_lib->op_func_table);
- cg_lib->op_func_table = NULL;
-#endif
-
mem_gc_free(interp, interp->op_info_table);
mem_gc_free(interp, interp->op_func_table);
interp->op_info_table = NULL;
@@ -560,129 +449,10 @@
core->flags = OP_FUNC_IS_ALLOCATED | OP_INFO_IS_ALLOCATED;
/* done for plain core */
-#ifdef HAVE_COMPUTED_GOTO
- dynop_register_xx(interp, n_old, n_new, PARROT_CORE_CGP_OPLIB_INIT);
- dynop_register_xx(interp, n_old, n_new, PARROT_CORE_CG_OPLIB_INIT);
-#endif
-
dynop_register_switch(interp, n_old, n_new);
}
-/*
-
-=item C<static void dynop_register_xx(PARROT_INTERP, size_t n_old, size_t n_new,
-oplib_init_f init_func)>
-
-Register C<op_lib> with other cores.
-
-=cut
-
-*/
-
-#ifdef HAVE_COMPUTED_GOTO
-
-static void
-dynop_register_xx(PARROT_INTERP,
- size_t n_old, size_t n_new, oplib_init_f init_func)
-{
- ASSERT_ARGS(dynop_register_xx)
- const size_t n_tot = n_old + n_new;
- op_func_t *ops_addr = NULL;
- op_lib_t *cg_lib = init_func(interp, 1);
-
-# if 0
- /* related to CG and CGP ops issue below */
- op_lib_t *new_lib;
- STRING *op_variant;
- oplib_init_f new_init_func;
- PMC *lib_variant;
-# endif
-
- if (cg_lib->flags & OP_FUNC_IS_ALLOCATED) {
- ops_addr = mem_gc_realloc_n_typed_zeroed(interp,
- cg_lib->op_func_table, n_tot, n_old, op_func_t);
- }
- else {
- size_t i;
-
- ops_addr = mem_gc_allocate_n_zeroed_typed(interp, n_tot, op_func_t);
- cg_lib->flags = OP_FUNC_IS_ALLOCATED;
-
- for (i = 0; i < n_old; ++i)
- ops_addr[i] = cg_lib->op_func_table[i];
- }
-
- /*
- * XXX running CG and CGP ops currently works only via the wrapper
- *
- * the problem is:
- * The actual runcores cg_core and cgp_core are very big functions.
- * The C compiler usually addresses "spilled" registers in the C stack.
- * The loaded opcode lib is another possibly big function, but with
- * a likely different stack layout. Directly jumping around between
- * code locations in these two opcode functions works, but access
- * to stack-ed (or spilled) variables fails badly.
- *
- * We would need to prepare the assembly source of the opcode
- * lib so that all variable access on the stack has the same
- * layout and compile the prepared assembly to ops_cgp?.o
- *
- * The switched core is different anyway, as we can't extend the
- * compiled big switch statement with the new cases. We have
- * always to use the wrapper__ opcode called from the default case.
- */
-# if 0
- /* check if the lib_pmc exists with a _xx flavor */
- new_init_func = get_op_lib_init(0, 0, lib_pmc);
- new_lib = new_init_func(1);
- op_variant = Parrot_sprintf_c(interp, "%s_ops%s",
- new_lib->name, cg_lib->suffix);
- lib_variant = Parrot_load_lib(interp, op_variant, NULL);
-
- /* XXX running CG and CGP ops currently works only via the wrapper */
- if (0 /*lib_variant */) {
- size_t i;
-
- new_init_func = get_dynamic_op_lib_init(interp, lib_variant);
- new_lib = new_init_func(1);
-
- for (i = n_old; i < n_tot; ++i)
- ops_addr[i] = (new_lib->op_func_table)[i - n_old];
-
- new_lib->op_func_table = ops_addr;
- new_lib->op_count = n_tot;
-
- new_init_func((long) ops_addr);
- }
- else
-# endif
- {
- size_t i;
-
- /* if not install wrappers */
- /* fill new entries with the wrapper op */
- for (i = n_old; i < n_tot; ++i)
- ops_addr[i] = ops_addr[CORE_OPS_wrapper__];
- }
-
- /* if we are running this core, update event check ops */
- if (interp->run_core->id == cg_lib->core_type) {
- size_t i;
-
- for (i = n_old; i < n_tot; ++i)
- interp->evc_func_table[i] =
- (op_func_t)ops_addr[CORE_OPS_check_events__];
- interp->save_func_table = ops_addr;
- }
-
- /* tell the cg_core about the new jump table */
- cg_lib->op_func_table = ops_addr;
- cg_lib->op_count = n_tot;
- init_func(interp, (long) ops_addr);
-}
-
-#endif
/*
@@ -702,7 +472,7 @@
dynop_register_switch(PARROT_INTERP, size_t n_old, size_t n_new)
{
ASSERT_ARGS(dynop_register_switch)
- op_lib_t * const lib = PARROT_CORE_SWITCH_OPLIB_INIT(interp, 1);
+ op_lib_t * const lib = PARROT_CORE_OPLIB_INIT(interp, 1);
lib->op_count = n_old + n_new;
}
@@ -729,9 +499,6 @@
PARROT_ASSERT(table);
interp->op_func_table = table;
}
-
- if (PARROT_RUNCORE_EVENT_CHECK_TEST(interp->run_core))
- turn_ev_check(interp, on);
}
Modified: branches/include_dynpmc_makefile/src/string/api.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/api.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/api.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -251,7 +251,7 @@
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
@@ -355,7 +355,7 @@
/*
-=item C<STRING * Parrot_str_copy(PARROT_INTERP, STRING *s)>
+=item C<STRING * Parrot_str_copy(PARROT_INTERP, const STRING *s)>
Creates and returns a shallow copy of the specified Parrot string.
@@ -367,32 +367,27 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING *
-Parrot_str_copy(PARROT_INTERP, ARGMOD(STRING *s))
+Parrot_str_copy(PARROT_INTERP, ARGIN(const STRING *s))
{
ASSERT_ARGS(Parrot_str_copy)
STRING *d;
+ const int is_movable = PObj_is_movable_TESTALL(s);
/* 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);
+ d = Parrot_gc_new_string_header(interp,
+ PObj_get_FLAGS(s) & ~PObj_constant_FLAG);
+ STRUCT_COPY(d, s);
+
+ /* Now check that buffer allocated from pool and affected by compacting */
+ if (is_movable) {
+ /* If so, mark it as shared */
+ INTVAL * const buffer_flags = Buffer_bufrefcountptr(d);
+ *buffer_flags |= Buffer_shared_FLAG;
}
+ PARROT_ASSERT(is_movable == PObj_is_movable_TESTALL(d));
+
return d;
}
@@ -484,8 +479,8 @@
/*
-=item C<STRING * Parrot_str_new(PARROT_INTERP, const char * const buffer, const
-UINTVAL len)>
+=item C<STRING * Parrot_str_new(PARROT_INTERP, const char *buffer, const UINTVAL
+len)>
Makes a Parrot string from a specified C string.
@@ -498,17 +493,18 @@
PARROT_MALLOC
PARROT_CANNOT_RETURN_NULL
STRING *
-Parrot_str_new(PARROT_INTERP, ARGIN_NULLOK(const char * const buffer), const UINTVAL len)
+Parrot_str_new(PARROT_INTERP, ARGIN_NULLOK(const char *buffer), const UINTVAL len)
{
ASSERT_ARGS(Parrot_str_new)
- return Parrot_str_new_init(interp, buffer,
- len
- ? len
- : buffer
- ? strlen(buffer)
- : 0,
- /* Force an 8-bit encoding at some point? */
- PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET, 0);
+ /* 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);
+ }
}
@@ -535,7 +531,7 @@
{
ASSERT_ARGS(Parrot_str_new_from_buffer)
- STRING *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);
@@ -656,18 +652,17 @@
ASSERT_ARGS(string_make)
const CHARSET *charset;
- if (!charset_name)
- charset_name = "ascii";
-
- charset = Parrot_find_charset(interp, charset_name);
-
- if (!charset)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
- "Can't make '%s' charset strings", charset_name);
+ if (charset_name) {
+ charset = Parrot_find_charset(interp, charset_name);
+ if (!charset)
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
+ "Can't make '%s' charset strings", charset_name);
+ }
+ else
+ charset = Parrot_get_charset(interp, 0);
return Parrot_str_new_init(interp, buffer, len,
charset->preferred_encoding, charset, flags);
-
}
@@ -772,9 +767,8 @@
else
s->strlen = CHARSET_CODEPOINTS(interp, s);
}
- else {
+ else
s->strlen = s->bufused = 0;
- }
return s;
}
@@ -803,7 +797,7 @@
{
ASSERT_ARGS(Parrot_str_byte_length)
- return !STRING_IS_NULL(s) ? s->strlen : 0;
+ return STRING_IS_NULL(s) ? 0 : s->strlen;
}
@@ -1042,8 +1036,8 @@
/*
-=item C<STRING * Parrot_str_substr(PARROT_INTERP, STRING *src, INTVAL offset,
-INTVAL length)>
+=item C<STRING * Parrot_str_substr(PARROT_INTERP, const STRING *src, INTVAL
+offset, INTVAL length)>
Returns substring of length C<length> from C<offset> from the specified
Parrot string.
@@ -1057,7 +1051,7 @@
PARROT_WARN_UNUSED_RESULT
STRING *
Parrot_str_substr(PARROT_INTERP,
- ARGIN_NULLOK(STRING *src), INTVAL offset, INTVAL length)
+ ARGIN_NULLOK(const STRING *src), INTVAL offset, INTVAL length)
{
ASSERT_ARGS(Parrot_str_substr)
@@ -1222,7 +1216,7 @@
/*
-=item C<STRING * Parrot_str_chopn(PARROT_INTERP, STRING *s, INTVAL n)>
+=item C<STRING * Parrot_str_chopn(PARROT_INTERP, const STRING *s, INTVAL n)>
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.
@@ -1234,7 +1228,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING *
-Parrot_str_chopn(PARROT_INTERP, ARGMOD(STRING *s), INTVAL n)
+Parrot_str_chopn(PARROT_INTERP, ARGIN(const STRING *s), INTVAL n)
{
ASSERT_ARGS(Parrot_str_chopn)
@@ -1357,28 +1351,25 @@
{
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;
- }
/* we don't care which is bigger */
else if (s1->strlen != s2->strlen)
return 0;
- else if (s1->hashval != s2->hashval && s1->hashval && s2->hashval)
+ else if ((s1->hashval != s2->hashval) && s1->hashval && s2->hashval)
return 0;
/* s2->strlen is the same here */
- else if (!s1->strlen)
+ else if (s1->strlen == 0)
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;
/*
@@ -1386,7 +1377,7 @@
* both strings are non-null
* both strings have same length
*/
- return !CHARSET_COMPARE(interp, s1, s2);
+ return CHARSET_COMPARE(interp, s1, s2) == 0;
}
@@ -1802,6 +1793,7 @@
Integer uses only parse_start, parse_before_dot and parse_end.
*/
+
typedef enum number_parse_state {
parse_start,
parse_before_dot,
@@ -1843,11 +1835,11 @@
ASSERT_ARGS(Parrot_str_to_int)
if (STRING_IS_NULL(s))
return 0;
- {
- const INTVAL max_safe = PARROT_INTVAL_MAX / 10;
- const INTVAL last_dig = PARROT_INTVAL_MAX % 10;
+ else {
+ const UINTVAL max_safe = -(UINTVAL)PARROT_INTVAL_MIN / 10;
+ const UINTVAL last_dig = (-(UINTVAL)PARROT_INTVAL_MIN) % 10;
int sign = 1;
- INTVAL i = 0;
+ UINTVAL i = 0;
String_iter iter;
UINTVAL offs;
number_parse_state state = parse_start;
@@ -1863,7 +1855,7 @@
switch (state) {
case parse_start:
if (isdigit((unsigned char)c)) {
- const INTVAL nextval = c - '0';
+ const UINTVAL nextval = c - '0';
if (i < max_safe || (i == max_safe && nextval <= last_dig))
i = i * 10 + nextval;
else
@@ -1887,7 +1879,7 @@
case parse_before_dot:
if (isdigit((unsigned char)c)) {
- const INTVAL nextval = c - '0';
+ const UINTVAL nextval = c - '0';
if (i < max_safe || (i == max_safe && nextval <= last_dig))
i = i * 10 + nextval;
else
@@ -1905,9 +1897,11 @@
}
}
- i *= sign;
-
- return i;
+ if (sign == 1 && i > (UINTVAL)PARROT_INTVAL_MAX)
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_ERR_OVERFLOW,
+ "Integer value of String '%S' too big", s);
+ return sign == -1 ? -i : i;
}
}
@@ -2635,7 +2629,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't upcase NULL string");
else {
- STRING * res = CHARSET_UPCASE(interp, s);
+ STRING * const res = CHARSET_UPCASE(interp, s);
res->hashval = 0;
return res;
}
@@ -2665,7 +2659,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't downcase NULL string");
else {
- STRING * res = CHARSET_DOWNCASE(interp, s);
+ STRING * const res = CHARSET_DOWNCASE(interp, s);
res->hashval = 0;
return res;
}
@@ -2695,7 +2689,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
"Can't titlecase NULL string");
else {
- STRING * res = CHARSET_TITLECASE(interp, s);
+ STRING * const res = CHARSET_TITLECASE(interp, s);
res->hashval = 0;
return res;
}
@@ -2792,8 +2786,8 @@
/*
-=item C<INTVAL Parrot_str_find_cclass(PARROT_INTERP, INTVAL flags, STRING *s,
-UINTVAL offset, UINTVAL count)>
+=item C<INTVAL Parrot_str_find_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*s, UINTVAL offset, UINTVAL count)>
Finds the first occurrence of the given character class in C<flags> in the
string, and returns its glyph-wise index.
@@ -2805,7 +2799,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL
-Parrot_str_find_cclass(PARROT_INTERP, INTVAL flags, ARGIN_NULLOK(STRING *s),
+Parrot_str_find_cclass(PARROT_INTERP, INTVAL flags, ARGIN_NULLOK(const STRING *s),
UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(Parrot_str_find_cclass)
@@ -2819,8 +2813,8 @@
/*
-=item C<INTVAL Parrot_str_find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
-*s, UINTVAL offset, UINTVAL count)>
+=item C<INTVAL Parrot_str_find_not_cclass(PARROT_INTERP, INTVAL flags, const
+STRING *s, UINTVAL offset, UINTVAL count)>
Finds the first occurrence of the a character I<not> in the given character
class in C<flags> in the string starting from C<offset> and looking at C<count>
@@ -2835,7 +2829,7 @@
PARROT_WARN_UNUSED_RESULT
INTVAL
Parrot_str_find_not_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN_NULLOK(STRING *s), UINTVAL offset, UINTVAL count)
+ ARGIN_NULLOK(const STRING *s), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(Parrot_str_find_not_cclass)
@@ -2900,7 +2894,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
STRING*
-Parrot_str_change_encoding(PARROT_INTERP, ARGIN_NULLOK(STRING *src),
+Parrot_str_change_encoding(PARROT_INTERP, ARGMOD_NULLOK(STRING *src),
INTVAL encoding_nr)
{
ASSERT_ARGS(Parrot_str_change_encoding)
@@ -2924,7 +2918,7 @@
/*
-=item C<STRING * Parrot_str_compose(PARROT_INTERP, STRING *src)>
+=item C<STRING * Parrot_str_compose(PARROT_INTERP, const STRING *src)>
Normalizes the string.
@@ -2936,7 +2930,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
STRING *
-Parrot_str_compose(PARROT_INTERP, ARGIN_NULLOK(STRING *src))
+Parrot_str_compose(PARROT_INTERP, ARGIN_NULLOK(const STRING *src))
{
ASSERT_ARGS(Parrot_str_compose)
@@ -3191,7 +3185,7 @@
if (minus)
*--p = '-';
- return string_make(interp, p, (UINTVAL)(tail - p), "ascii", 0);
+ return string_make(interp, p, (UINTVAL)(tail - p), NULL, 0);
}
Modified: branches/include_dynpmc_makefile/src/string/charset/ascii.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/ascii.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/ascii.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -32,31 +32,29 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_CANNOT_RETURN_NULL
-static STRING* compose(PARROT_INTERP, ARGIN(STRING *src))
+static STRING* compose(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* decompose(PARROT_INTERP, ARGMOD(STRING *src))
+static STRING* decompose(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*src);
+ __attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* downcase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
static INTVAL find_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -64,7 +62,7 @@
static INTVAL find_not_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -73,7 +71,7 @@
PARROT_WARN_UNUSED_RESULT
static INTVAL is_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
@@ -84,39 +82,37 @@
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* titlecase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_ascii(PARROT_INTERP, ARGIN(STRING *src))
+static STRING * to_ascii(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_charset(PARROT_INTERP, ARGIN(STRING *src))
+static STRING * to_charset(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* upcase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-static UINTVAL validate(PARROT_INTERP, ARGIN(STRING *src))
+static UINTVAL validate(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -128,27 +124,27 @@
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_downcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_downcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_not_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#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(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_titlecase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_to_ascii __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -157,10 +153,10 @@
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_upcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_upcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_validate __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -169,10 +165,10 @@
/*
-=item C<STRING * ascii_get_graphemes(PARROT_INTERP, STRING *source_string,
-UINTVAL offset, UINTVAL count)>
+=item C<STRING * ascii_get_graphemes(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
-Retrieves the graphemes for the STRING C<source_string>, starting at
+Retrieves the graphemes for the STRING C<src>, starting at
C<offset> and ending at C<offset + count>.
=cut
@@ -182,16 +178,15 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING *
-ascii_get_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count)
+ascii_get_graphemes(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(ascii_get_graphemes)
- return ENCODING_GET_BYTES(interp, source_string, offset, count);
+ return ENCODING_GET_BYTES(interp, src, offset, count);
}
/*
-=item C<static STRING * to_ascii(PARROT_INTERP, STRING *src)>
+=item C<static STRING * to_ascii(PARROT_INTERP, const STRING *src)>
Attempts to convert STRING C<src> to ASCII in STRING C<dest>. Throws
an exception if unconvertable UNICODE characters are involved.
@@ -202,7 +197,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_ascii(PARROT_INTERP, ARGIN(STRING *src))
+to_ascii(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_ascii)
String_iter iter;
@@ -211,7 +206,7 @@
const UINTVAL len = src->strlen;
/* the string can't grow. Just clone it */
- STRING * dest = Parrot_str_clone(interp, src);
+ STRING * const dest = Parrot_str_clone(interp, src);
p = (unsigned char *)dest->strstart;
ENCODING_ITER_INIT(interp, src, &iter);
@@ -231,7 +226,7 @@
/*
-=item C<static STRING * to_charset(PARROT_INTERP, STRING *src)>
+=item C<static STRING * to_charset(PARROT_INTERP, const STRING *src)>
Converts STRING C<src> to ASCII charset STRING C<dest>.
@@ -241,7 +236,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_charset(PARROT_INTERP, ARGIN(STRING *src))
+to_charset(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
@@ -255,10 +250,9 @@
}
}
-/* A noop. can't compose ascii */
/*
-=item C<static STRING* compose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* compose(PARROT_INTERP, const STRING *src)>
Can't compose ASCII strings, so performs a string copy on it and
returns the new string.
@@ -269,16 +263,18 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-compose(PARROT_INTERP, ARGIN(STRING *src))
+compose(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(compose)
- return src;
+
+ STRING * const dest = Parrot_str_copy(interp, src);
+
+ return dest;
}
-/* A noop. can't decompose ascii */
/*
-=item C<static STRING* decompose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* decompose(PARROT_INTERP, const STRING *src)>
Can't decompose ASCII, so we perform a string copy instead and return
a pointer to the new string.
@@ -289,17 +285,20 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-decompose(PARROT_INTERP, ARGMOD(STRING *src))
+decompose(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(decompose)
- return src;
+
+ STRING * const dest = Parrot_str_copy(interp, src);
+
+ return dest;
}
/*
-=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *src)>
-Converts the STRING C<source_string> to all uppercase.
+Converts the STRING C<src> to all uppercase.
=cut
@@ -307,11 +306,11 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+upcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(upcase)
- STRING * const result = Parrot_str_clone(interp, source_string);
- const UINTVAL n = source_string->strlen;
+ STRING * const result = Parrot_str_clone(interp, src);
+ const UINTVAL n = src->strlen;
if (n) {
char * const buffer = result->strstart;
@@ -327,9 +326,9 @@
/*
-=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *src)>
-Converts the STRING C<source_string> to all lower-case.
+Converts the STRING C<src> to all lower-case.
=cut
@@ -337,11 +336,11 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+downcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(downcase)
- STRING *result = Parrot_str_clone(interp, source_string);
- const UINTVAL n = source_string->strlen;
+ STRING *result = Parrot_str_clone(interp, src);
+ const UINTVAL n = src->strlen;
if (n) {
char * const buffer = result->strstart;
@@ -357,9 +356,9 @@
/*
-=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *src)>
-Converts the STRING given by C<source_string> to title case, where
+Converts the STRING given by C<src> to title case, where
the first character is upper case and all the rest of the characters
are lower-case.
@@ -369,11 +368,11 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
+titlecase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(titlecase)
- STRING *result = Parrot_str_clone(interp, source_string);
- const UINTVAL n = source_string->strlen;
+ STRING *result = Parrot_str_clone(interp, src);
+ const UINTVAL n = src->strlen;
if (n) {
char * const buffer = result->strstart;
@@ -390,9 +389,9 @@
/*
-=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *src)>
-Sets the first character in the STRING C<source_string> to upper case,
+Sets the first character in the STRING C<src> to upper case,
but doesn't modify the rest of the string.
=cut
@@ -401,12 +400,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+upcase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(upcase_first)
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING * const result = Parrot_str_clone(interp, src);
- if (result->strlen) {
+ if (result->strlen > 0) {
char * const buffer = result->strstart;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
}
@@ -416,10 +415,9 @@
/*
-=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING *src)>
-Sets the first character of the STRING C<source_string> to lowercase,
+Sets the first character of the STRING C<src> to lowercase,
but doesn't modify the rest of the characters.
=cut
@@ -428,12 +426,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+downcase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(downcase_first)
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING * const result = Parrot_str_clone(interp, src);
- if (result->strlen) {
+ if (result->strlen > 0) {
char * const buffer = result->strstart;
buffer[0] = (char)tolower((unsigned char)buffer[0]);
}
@@ -443,10 +441,9 @@
/*
-=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING *src)>
-Converts the first letter of STRING C<source_string> to upper case,
+Converts the first letter of STRING C<src> to upper case,
but doesn't modify the rest of the string.
=cut
@@ -455,12 +452,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+titlecase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(titlecase_first)
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING * const result = Parrot_str_clone(interp, src);
- if (result->strlen) {
+ if (result->strlen > 0) {
char * const buffer = result->strstart;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
}
@@ -516,8 +513,8 @@
/*
-=item C<INTVAL mixed_cs_index(PARROT_INTERP, STRING *src, STRING *search,
-UINTVAL offs)>
+=item C<INTVAL mixed_cs_index(PARROT_INTERP, const STRING *src, const STRING
+*search, UINTVAL offs)>
Searches for the first instance of STRING C<search> in STRING C<src>.
returns the position where the substring is found if it is indeed found.
@@ -530,7 +527,7 @@
PARROT_WARN_UNUSED_RESULT
INTVAL
-mixed_cs_index(PARROT_INTERP, ARGIN(STRING *src), ARGIN(STRING *search),
+mixed_cs_index(PARROT_INTERP, ARGIN(const STRING *src), ARGIN(const STRING *search),
UINTVAL offs)
{
ASSERT_ARGS(mixed_cs_index)
@@ -576,7 +573,7 @@
/*
-=item C<INTVAL ascii_cs_index(PARROT_INTERP, STRING *source_string, STRING
+=item C<INTVAL ascii_cs_index(PARROT_INTERP, const STRING *src, const STRING
*search_string, UINTVAL offset)>
Searches for the first instance of STRING C<search> in STRING C<src>.
@@ -589,28 +586,28 @@
PARROT_WARN_UNUSED_RESULT
INTVAL
-ascii_cs_index(PARROT_INTERP, ARGIN(STRING *source_string),
- ARGIN(STRING *search_string), UINTVAL offset)
+ascii_cs_index(PARROT_INTERP, ARGIN(const STRING *src),
+ ARGIN(const STRING *search_string), UINTVAL offset)
{
ASSERT_ARGS(ascii_cs_index)
INTVAL retval;
- if (source_string->charset != search_string->charset) {
- return mixed_cs_index(interp, source_string, search_string, offset);
+ if (src->charset != search_string->charset) {
+ return mixed_cs_index(interp, src, search_string, offset);
}
- PARROT_ASSERT(source_string->encoding == Parrot_fixed_8_encoding_ptr);
- retval = Parrot_byte_index(interp, source_string,
+ PARROT_ASSERT(src->encoding == Parrot_fixed_8_encoding_ptr);
+ retval = Parrot_byte_index(interp, src,
search_string, offset);
return retval;
}
/*
-=item C<INTVAL ascii_cs_rindex(PARROT_INTERP, STRING *source_string, STRING
+=item C<INTVAL ascii_cs_rindex(PARROT_INTERP, const STRING *src, const STRING
*search_string, UINTVAL offset)>
Searches for the last instance of STRING C<search_string> in STRING
-C<source_string>. Starts searching at C<offset>.
+C<src>. Starts searching at C<offset>.
=cut
@@ -618,25 +615,25 @@
PARROT_WARN_UNUSED_RESULT
INTVAL
-ascii_cs_rindex(PARROT_INTERP, ARGIN(STRING *source_string),
- ARGIN(STRING *search_string), UINTVAL offset)
+ascii_cs_rindex(PARROT_INTERP, ARGIN(const STRING *src),
+ ARGIN(const STRING *search_string), UINTVAL offset)
{
ASSERT_ARGS(ascii_cs_rindex)
INTVAL retval;
- if (source_string->charset != search_string->charset)
+ if (src->charset != search_string->charset)
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
"Cross-charset index not supported");
- PARROT_ASSERT(source_string->encoding == Parrot_fixed_8_encoding_ptr);
- retval = Parrot_byte_rindex(interp, source_string,
+ PARROT_ASSERT(src->encoding == Parrot_fixed_8_encoding_ptr);
+ retval = Parrot_byte_rindex(interp, src,
search_string, offset);
return retval;
}
/*
-=item C<static UINTVAL validate(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL validate(PARROT_INTERP, const STRING *src)>
Verifies that the given string is valid ASCII. Returns 1 if it is ASCII,
returns 0 otherwise.
@@ -647,7 +644,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-validate(PARROT_INTERP, ARGIN(STRING *src))
+validate(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(validate)
UINTVAL offset;
@@ -686,8 +683,8 @@
/*
-=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING
-*source_string, UINTVAL offset)>
+=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING *src,
+UINTVAL offset)>
=cut
@@ -695,17 +692,16 @@
PARROT_WARN_UNUSED_RESULT
static INTVAL
-is_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *source_string), UINTVAL offset)
+is_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset)
{
ASSERT_ARGS(is_cclass)
UINTVAL codepoint;
- if (offset >= source_string->strlen)
+ if (offset >= src->strlen)
return 0;
- codepoint = ENCODING_GET_CODEPOINT(interp, source_string, offset);
+ codepoint = ENCODING_GET_CODEPOINT(interp, src, offset);
- if (codepoint >= sizeof (Parrot_ascii_typetable) /
- sizeof (Parrot_ascii_typetable[0])) {
+ if (codepoint >= sizeof (Parrot_ascii_typetable) / sizeof (Parrot_ascii_typetable[0])) {
return 0;
}
return (Parrot_ascii_typetable[codepoint] & flags) ? 1 : 0;
@@ -713,8 +709,8 @@
/*
-=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
Find a character in the given character class. Delegates to the find_cclass
method of the encoding plugin.
@@ -725,38 +721,37 @@
PARROT_WARN_UNUSED_RESULT
static INTVAL
-find_cclass(PARROT_INTERP, INTVAL flags, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count)
+find_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_cclass)
UINTVAL pos = offset;
UINTVAL end = offset + count;
- end = source_string->strlen < end ? source_string->strlen : end;
- return ENCODING_FIND_CCLASS(interp, source_string, Parrot_ascii_typetable,
+ end = src->strlen < end ? src->strlen : end;
+ return ENCODING_FIND_CCLASS(interp, src, Parrot_ascii_typetable,
flags, pos, end);
}
/*
-=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
*/
static INTVAL
-find_not_cclass(PARROT_INTERP, INTVAL flags, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count)
+find_not_cclass(PARROT_INTERP,
+ INTVAL flags, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_not_cclass)
UINTVAL pos = offset;
UINTVAL end = offset + count;
- end = source_string->strlen < end ? source_string->strlen : end;
+ end = src->strlen < end ? src->strlen : end;
for (; pos < end; ++pos) {
- const UINTVAL codepoint = ENCODING_GET_CODEPOINT(interp, source_string, pos);
+ const UINTVAL codepoint = ENCODING_GET_CODEPOINT(interp, src, pos);
if ((Parrot_ascii_typetable[codepoint] & flags) == 0) {
return pos;
}
@@ -766,10 +761,10 @@
/*
-=item C<size_t ascii_compute_hash(PARROT_INTERP, const STRING *source_string,
-size_t seed)>
+=item C<size_t ascii_compute_hash(PARROT_INTERP, const STRING *src, size_t
+seed)>
-Computes the hash of STRING C<source_string> starting with seed value
+Computes the hash of STRING C<src> starting with seed value
C<seed>.
=cut
@@ -778,14 +773,14 @@
PARROT_PURE_FUNCTION
size_t
-ascii_compute_hash(SHIM_INTERP, ARGIN(const STRING *source_string), size_t seed)
+ascii_compute_hash(SHIM_INTERP, ARGIN(const STRING *src), size_t seed)
{
ASSERT_ARGS(ascii_compute_hash)
size_t hashval = seed;
- const char *buffptr = (const char *)source_string->strstart;
- UINTVAL len = source_string->strlen;
+ const char *buffptr = (const char *)src->strstart;
+ UINTVAL len = src->strlen;
- PARROT_ASSERT(source_string->encoding == Parrot_fixed_8_encoding_ptr);
+ PARROT_ASSERT(src->encoding == Parrot_fixed_8_encoding_ptr);
while (len--) {
hashval += hashval << 5;
hashval += *buffptr++;
@@ -842,7 +837,7 @@
/*
-=item C<STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, STRING *src)>
+=item C<STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, const STRING *src)>
Converts an ASCII STRING C<src> to a binary STRING C<dest>.
@@ -852,10 +847,10 @@
PARROT_CANNOT_RETURN_NULL
STRING *
-charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(STRING *src))
+charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(charset_cvt_ascii_to_binary)
- STRING *dest = Parrot_str_clone(interp, src);
+ STRING * const dest = Parrot_str_clone(interp, src);
UINTVAL offs;
for (offs = 0; offs < src->strlen; ++offs) {
@@ -869,7 +864,8 @@
/*
-=item C<STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, STRING *src)>
+=item C<STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, const STRING
+*src)>
Converts ASCII STRING C<src> to ISO8859-1 STRING C<dest>.
@@ -879,10 +875,10 @@
PARROT_CANNOT_RETURN_NULL
STRING *
-charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
+charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(charset_cvt_ascii_to_iso_8859_1)
- STRING * dest = Parrot_str_clone(interp, src);
+ STRING * const dest = Parrot_str_clone(interp, src);
UINTVAL offs;
for (offs = 0; offs < src->strlen; ++offs) {
Modified: branches/include_dynpmc_makefile/src/string/charset/ascii.h
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/ascii.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/ascii.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -30,14 +30,14 @@
PARROT_PURE_FUNCTION
size_t ascii_compute_hash(SHIM_INTERP,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
size_t seed)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
INTVAL ascii_cs_index(PARROT_INTERP,
- ARGIN(STRING *source_string),
- ARGIN(STRING *search_string),
+ ARGIN(const STRING *src),
+ ARGIN(const STRING *search_string),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -45,8 +45,8 @@
PARROT_WARN_UNUSED_RESULT
INTVAL ascii_cs_rindex(PARROT_INTERP,
- ARGIN(STRING *source_string),
- ARGIN(STRING *search_string),
+ ARGIN(const STRING *src),
+ ARGIN(const STRING *search_string),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -55,26 +55,28 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING * ascii_get_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-STRING * charset_cvt_ascii_to_binary(PARROT_INTERP, ARGIN(STRING *src))
+STRING * charset_cvt_ascii_to_binary(PARROT_INTERP,
+ ARGIN(const 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))
+STRING * charset_cvt_ascii_to_iso_8859_1(PARROT_INTERP,
+ ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
INTVAL mixed_cs_index(PARROT_INTERP,
- ARGIN(STRING *src),
- ARGIN(STRING *search),
+ ARGIN(const STRING *src),
+ ARGIN(const STRING *search),
UINTVAL offs)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -88,18 +90,18 @@
, PARROT_ASSERT_ARG(lhs) \
, PARROT_ASSERT_ARG(rhs))
#define ASSERT_ARGS_ascii_compute_hash __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_ascii_cs_index __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
+ , PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(search_string))
#define ASSERT_ARGS_ascii_cs_rindex __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string) \
+ , PARROT_ASSERT_ARG(src) \
, PARROT_ASSERT_ARG(search_string))
#define ASSERT_ARGS_ascii_get_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_charset_cvt_ascii_to_binary __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
Modified: branches/include_dynpmc_makefile/src/string/charset/binary.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/binary.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/binary.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2009, Parrot Foundation.
+Copyright (C) 2004-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -34,47 +34,46 @@
__attribute__nonnull__(3);
PARROT_CANNOT_RETURN_NULL
-static STRING* compose(PARROT_INTERP, SHIM(STRING *source_string))
+static STRING* compose(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
static INTVAL cs_index(SHIM_INTERP,
- SHIM(STRING *source_string),
- SHIM(STRING *search_string),
+ SHIM(const STRING *src),
+ SHIM(const STRING *search_string),
SHIM(UINTVAL offset));
static INTVAL cs_rindex(SHIM_INTERP,
- SHIM(STRING *source_string),
- SHIM(STRING *search_string),
+ SHIM(const STRING *src),
+ SHIM(const STRING *search_string),
SHIM(UINTVAL offset));
PARROT_CANNOT_RETURN_NULL
-static STRING* decompose(PARROT_INTERP, SHIM(STRING *source_string))
+static STRING* decompose(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase(PARROT_INTERP, SHIM(const STRING *source_string))
+static STRING* downcase(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* downcase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
static INTVAL find_cclass(SHIM_INTERP,
SHIM(INTVAL flags),
- SHIM(STRING *source_string),
+ SHIM(const STRING *src),
UINTVAL offset,
UINTVAL count);
static INTVAL find_not_cclass(SHIM_INTERP,
SHIM(INTVAL flags),
- SHIM(STRING *source_string),
+ SHIM(const STRING *src),
UINTVAL offset,
UINTVAL count);
static INTVAL is_cclass(SHIM_INTERP,
SHIM(INTVAL flags),
- SHIM(const STRING *source_string),
+ SHIM(const STRING *src),
SHIM(UINTVAL offset));
PARROT_CANNOT_RETURN_NULL
@@ -82,29 +81,27 @@
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase(PARROT_INTERP, SHIM(const STRING *source_string))
+static STRING* titlecase(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* titlecase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* to_charset(PARROT_INTERP, ARGIN(STRING *src))
+static STRING* to_charset(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase(PARROT_INTERP, SHIM(const STRING *source_string))
+static STRING* upcase(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* upcase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
-static UINTVAL validate(SHIM_INTERP, SHIM(STRING *source_string));
+static UINTVAL validate(SHIM_INTERP, SHIM(const STRING *src));
#define ASSERT_ARGS_compare __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(lhs) \
, PARROT_ASSERT_ARG(rhs))
@@ -148,7 +145,7 @@
/*
-=item C<static STRING* to_charset(PARROT_INTERP, STRING *src)>
+=item C<static STRING* to_charset(PARROT_INTERP, const 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.
@@ -159,7 +156,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-to_charset(PARROT_INTERP, ARGIN(STRING *src))
+to_charset(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_charset)
charset_converter_t conversion_func =
@@ -174,7 +171,7 @@
/*
-=item C<static STRING* compose(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* compose(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot compose a binary string.
@@ -185,7 +182,7 @@
/* A err. can't compose binary */
PARROT_CANNOT_RETURN_NULL
static STRING*
-compose(PARROT_INTERP, SHIM(STRING *source_string))
+compose(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(compose)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't compose binary data");
@@ -193,7 +190,7 @@
/*
-=item C<static STRING* decompose(PARROT_INTERP, STRING *source_string)>
+=item C<static STRING* decompose(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot decompose a binary string.
@@ -204,7 +201,7 @@
/* A err. can't decompose binary */
PARROT_CANNOT_RETURN_NULL
static STRING*
-decompose(PARROT_INTERP, SHIM(STRING *source_string))
+decompose(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(decompose)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't decompose binary data");
@@ -212,7 +209,7 @@
/*
-=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot convert a binary string to
upper case.
@@ -223,7 +220,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase(PARROT_INTERP, SHIM(const STRING *source_string))
+upcase(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(upcase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't upcase binary data");
@@ -231,7 +228,7 @@
/*
-=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot convert a binary string to
lower-case.
@@ -242,7 +239,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase(PARROT_INTERP, SHIM(const STRING *source_string))
+downcase(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(downcase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't downcase binary data");
@@ -250,7 +247,7 @@
/*
-=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot convert a binary string to
title case.
@@ -261,7 +258,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase(PARROT_INTERP, SHIM(const STRING *source_string))
+titlecase(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(titlecase)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't titlecase binary data");
@@ -269,7 +266,7 @@
/*
-=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot set the first "character" of the
binary string to uppercase.
@@ -280,7 +277,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+upcase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(upcase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't upcase binary data");
@@ -288,8 +285,7 @@
/*
-=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING *src)>
Throws an exception because we cannot set the first "character"
of the binary string to lowercase.
@@ -300,7 +296,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+downcase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(downcase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't downcase binary data");
@@ -308,8 +304,7 @@
/*
-=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING *src)>
Throws an exception because we can't convert the first "character"
of binary data to title case.
@@ -320,7 +315,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+titlecase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(titlecase_first)
EXCEPTION(EXCEPTION_INVALID_CHARTYPE, "Can't titlecase binary data");
@@ -351,7 +346,7 @@
/*
-=item C<static INTVAL cs_index(PARROT_INTERP, STRING *source_string, STRING
+=item C<static INTVAL cs_index(PARROT_INTERP, const STRING *src, const STRING
*search_string, UINTVAL offset)>
Returns -1. It makes no sense to try and search for a substring in
@@ -362,8 +357,8 @@
*/
static INTVAL
-cs_index(SHIM_INTERP, SHIM(STRING *source_string),
- SHIM(STRING *search_string), SHIM(UINTVAL offset))
+cs_index(SHIM_INTERP, SHIM(const STRING *src),
+ SHIM(const STRING *search_string), SHIM(UINTVAL offset))
{
ASSERT_ARGS(cs_index)
return -1;
@@ -371,7 +366,7 @@
/*
-=item C<static INTVAL cs_rindex(PARROT_INTERP, STRING *source_string, STRING
+=item C<static INTVAL cs_rindex(PARROT_INTERP, const STRING *src, const STRING
*search_string, UINTVAL offset)>
Returns -1. It makes no sense to search for the last substring match
@@ -382,8 +377,8 @@
*/
static INTVAL
-cs_rindex(SHIM_INTERP, SHIM(STRING *source_string),
- SHIM(STRING *search_string), SHIM(UINTVAL offset))
+cs_rindex(SHIM_INTERP, SHIM(const STRING *src),
+ SHIM(const STRING *search_string), SHIM(UINTVAL offset))
{
ASSERT_ARGS(cs_rindex)
return -1;
@@ -391,7 +386,7 @@
/*
-=item C<static UINTVAL validate(PARROT_INTERP, STRING *source_string)>
+=item C<static UINTVAL validate(PARROT_INTERP, const STRING *src)>
Returns 1. All sequential data is valid binary data.
@@ -401,7 +396,7 @@
/* Binary's always valid */
static UINTVAL
-validate(SHIM_INTERP, SHIM(STRING *source_string))
+validate(SHIM_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(validate)
return 1;
@@ -409,16 +404,15 @@
/*
-=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING
-*source_string, UINTVAL offset)>
+=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING *src,
+UINTVAL offset)>
=cut
*/
static INTVAL
-is_cclass(SHIM_INTERP, SHIM(INTVAL flags), SHIM(const STRING *source_string),
- SHIM(UINTVAL offset))
+is_cclass(SHIM_INTERP, SHIM(INTVAL flags), SHIM(const STRING *src), SHIM(UINTVAL offset))
{
ASSERT_ARGS(is_cclass)
return 0;
@@ -426,8 +420,8 @@
/*
-=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
@@ -435,7 +429,7 @@
static INTVAL
find_cclass(SHIM_INTERP, SHIM(INTVAL flags),
- SHIM(STRING *source_string), UINTVAL offset, UINTVAL count)
+ SHIM(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_cclass)
return offset + count;
@@ -443,8 +437,8 @@
/*
-=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
@@ -452,7 +446,7 @@
static INTVAL
find_not_cclass(SHIM_INTERP, SHIM(INTVAL flags),
- SHIM(STRING *source_string), UINTVAL offset, UINTVAL count)
+ SHIM(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_not_cclass)
return offset + count;
Modified: branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2004-2009, Parrot Foundation.
+Copyright (C) 2004-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -27,28 +27,27 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-static STRING* compose(PARROT_INTERP, ARGIN(STRING *src))
+static STRING* compose(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* decompose(PARROT_INTERP, SHIM(STRING *src))
+static STRING* decompose(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* downcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* downcase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
static INTVAL find_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -56,7 +55,7 @@
static INTVAL find_not_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -64,7 +63,7 @@
static INTVAL is_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
@@ -74,44 +73,42 @@
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* titlecase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* titlecase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-static STRING * to_charset(PARROT_INTERP, ARGIN(STRING *src))
+static STRING * to_charset(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
+static STRING * to_iso_8859_1(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING * to_unicode(PARROT_INTERP, ARGIN(STRING *src))
+static STRING * to_unicode(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+static STRING* upcase(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase_first(PARROT_INTERP,
- ARGIN(const STRING *source_string))
+static STRING* upcase_first(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static UINTVAL validate(PARROT_INTERP, ARGIN(STRING *src))
+static UINTVAL validate(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -122,27 +119,27 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_downcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_downcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_not_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#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(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_titlecase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_to_charset __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -154,10 +151,10 @@
, PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_upcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_upcase_first __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_validate __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(src))
@@ -168,7 +165,7 @@
/*
-=item C<static STRING * to_iso_8859_1(PARROT_INTERP, STRING *src)>
+=item C<static STRING * to_iso_8859_1(PARROT_INTERP, const STRING *src)>
Converts STRING C<src> to iso-8859-1 in STRING C<dest>.
@@ -178,7 +175,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_iso_8859_1(PARROT_INTERP, ARGIN(STRING *src))
+to_iso_8859_1(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_iso_8859_1)
UINTVAL offs, src_len;
@@ -204,7 +201,7 @@
/*
-=item C<static STRING * to_unicode(PARROT_INTERP, STRING *src)>
+=item C<static STRING * to_unicode(PARROT_INTERP, const STRING *src)>
Converts STRING C<src> to unicode STRING C<dest>.
@@ -214,7 +211,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-to_unicode(PARROT_INTERP, ARGIN(STRING *src))
+to_unicode(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_unicode)
STRING * dest = Parrot_str_clone(interp, src);
@@ -244,7 +241,7 @@
/*
-=item C<static STRING * to_charset(PARROT_INTERP, STRING *src)>
+=item C<static STRING * to_charset(PARROT_INTERP, const STRING *src)>
Converts the STRING C<src> to an ISO-8859-1 STRING C<dest>.
@@ -255,7 +252,7 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
static STRING *
-to_charset(PARROT_INTERP, ARGIN(STRING *src))
+to_charset(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
@@ -270,7 +267,7 @@
/*
-=item C<static STRING* compose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* compose(PARROT_INTERP, const STRING *src)>
ISO-8859-1 does not support composing, so we just copy the STRING C<src> and return the
copy.
@@ -279,19 +276,21 @@
*/
-/* A noop. can't compose iso-8859-1 */
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
static STRING*
-compose(PARROT_INTERP, ARGIN(STRING *src))
+compose(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(compose)
- return src;
+
+ STRING * const dest = Parrot_str_copy(interp, src);
+
+ return dest;
}
/*
-=item C<static STRING* decompose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* decompose(PARROT_INTERP, const STRING *src)>
SO-8859-1 does not support decomposing, so we throw an exception.
@@ -301,7 +300,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-decompose(PARROT_INTERP, SHIM(STRING *src))
+decompose(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(decompose)
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
@@ -310,9 +309,9 @@
/*
-=item C<static STRING* upcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase(PARROT_INTERP, const STRING *src)>
-Convert all graphemes in the STRING C<source_string> to upper case, for those
+Convert all graphemes in the STRING C<src> to upper case, for those
graphemes that support cases.
=cut
@@ -321,12 +320,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+upcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(upcase)
unsigned char *buffer;
UINTVAL offset = 0;
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING *result = Parrot_str_clone(interp, src);
if (!result->strlen)
return result;
@@ -346,9 +345,9 @@
/*
-=item C<static STRING* downcase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* downcase(PARROT_INTERP, const STRING *src)>
-Converts all graphemes in STRING C<source_string> to lower-case, for those graphemes
+Converts all graphemes in STRING C<src> to lower-case, for those graphemes
that support cases.
=cut
@@ -357,12 +356,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase(PARROT_INTERP, ARGIN(const STRING *source_string))
+downcase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(downcase)
unsigned char *buffer;
UINTVAL offset = 0;
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING *result = Parrot_str_clone(interp, src);
if (!result->strlen)
return result;
@@ -382,9 +381,9 @@
/*
-=item C<static STRING* titlecase(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* titlecase(PARROT_INTERP, const STRING *src)>
-Converts the graphemes in STRING C<source_string> to title case, for those graphemes
+Converts the graphemes in STRING C<src> to title case, for those graphemes
that support cases.
=cut
@@ -393,13 +392,13 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase(PARROT_INTERP, ARGIN(const STRING *source_string))
+titlecase(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(titlecase)
unsigned char *buffer;
unsigned int c;
UINTVAL offset;
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING *result = Parrot_str_clone(interp, src);
if (!result->strlen)
return result;
@@ -426,9 +425,9 @@
/*
-=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *src)>
-Converts the first grapheme in STRING C<source_string> to upper case, if it
+Converts the first grapheme in STRING C<src> to upper case, if it
supports cases.
=cut
@@ -437,12 +436,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+upcase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(upcase_first)
unsigned char *buffer;
unsigned int c;
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING *result = Parrot_str_clone(interp, src);
if (!result->strlen)
return result;
@@ -460,10 +459,9 @@
/*
-=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING *src)>
-Converts the first character of the STRING C<source_string> to lower case, if the
+Converts the first character of the STRING C<src> to lower case, if the
grapheme supports lower case.
=cut
@@ -472,12 +470,12 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+downcase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(downcase_first)
unsigned char *buffer;
unsigned int c;
- STRING *result = Parrot_str_clone(interp, source_string);
+ STRING *result = Parrot_str_clone(interp, src);
if (!result->strlen)
return result;
@@ -495,10 +493,9 @@
/*
-=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING *src)>
-Converts the first grapheme in STRING C<source_string> to title case, if the grapheme
+Converts the first grapheme in STRING C<src> to title case, if the grapheme
supports case.
=cut
@@ -507,16 +504,16 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase_first(PARROT_INTERP, ARGIN(const STRING *source_string))
+titlecase_first(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(titlecase_first)
- return upcase_first(interp, source_string);
+ return upcase_first(interp, src);
}
/*
-=item C<static UINTVAL validate(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL validate(PARROT_INTERP, const STRING *src)>
Returns 1 if the STRING C<src> is a valid ISO-8859-1 STRING. Returns 0 otherwise.
@@ -525,7 +522,7 @@
*/
static UINTVAL
-validate(PARROT_INTERP, ARGIN(STRING *src))
+validate(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(validate)
UINTVAL offset;
@@ -540,22 +537,21 @@
/*
-=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING
-*source_string, UINTVAL offset)>
+=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING *src,
+UINTVAL offset)>
=cut
*/
static INTVAL
-is_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(const STRING *source_string), UINTVAL offset)
+is_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset)
{
ASSERT_ARGS(is_cclass)
UINTVAL codepoint;
- if (offset >= source_string->strlen) return 0;
- codepoint = ENCODING_GET_CODEPOINT(interp, source_string, offset);
+ if (offset >= src->strlen) return 0;
+ codepoint = ENCODING_GET_CODEPOINT(interp, src, offset);
if (codepoint >= sizeof (Parrot_ascii_typetable) /
sizeof (Parrot_ascii_typetable[0])) {
@@ -566,8 +562,8 @@
/*
-=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
Find a character in the given character class. Delegates to the find_cclass
method of the encoding plugin.
@@ -578,21 +574,21 @@
static INTVAL
find_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
+ ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_cclass)
- UINTVAL pos = offset;
+ const UINTVAL pos = offset;
UINTVAL end = offset + count;
- end = source_string->strlen < end ? source_string->strlen : end;
- return ENCODING_FIND_CCLASS(interp, source_string,
+ end = src->strlen < end ? src->strlen : end;
+ return ENCODING_FIND_CCLASS(interp, src,
Parrot_iso_8859_1_typetable, flags, pos, end);
}
/*
-=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
@@ -600,15 +596,15 @@
static INTVAL
find_not_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
+ ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_not_cclass)
UINTVAL pos = offset;
UINTVAL end = offset + count;
- end = source_string->strlen < end ? source_string->strlen : end;
+ end = src->strlen < end ? src->strlen : end;
for (; pos < end; ++pos) {
- const UINTVAL codepoint = ENCODING_GET_CODEPOINT(interp, source_string, pos);
+ const UINTVAL codepoint = ENCODING_GET_CODEPOINT(interp, src, pos);
if ((Parrot_iso_8859_1_typetable[codepoint] & flags) == 0) {
return pos;
}
@@ -686,7 +682,8 @@
/*
-=item C<STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, STRING *src)>
+=item C<STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, const STRING
+*src)>
Converts STRING C<src> in ISO-8859-1 to ASCII STRING C<dest>.
@@ -697,7 +694,7 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING *
-charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(STRING *src))
+charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(charset_cvt_iso_8859_1_to_ascii)
UINTVAL offs;
Modified: branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.h
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.h Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/iso-8859-1.h Wed Apr 28 19:17:12 2010 (r46116)
@@ -18,7 +18,8 @@
PARROT_CANNOT_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
-STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP, ARGIN(STRING *src))
+STRING * charset_cvt_iso_8859_1_to_ascii(PARROT_INTERP,
+ ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
Modified: branches/include_dynpmc_makefile/src/string/charset/unicode.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/charset/unicode.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/charset/unicode.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2005-2009, Parrot Foundation.
+Copyright (C) 2005-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -34,7 +34,7 @@
__attribute__nonnull__(3);
PARROT_CANNOT_RETURN_NULL
-static STRING* compose(PARROT_INTERP, ARGIN(STRING *src))
+static STRING* compose(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -45,13 +45,13 @@
__attribute__nonnull__(2);
static INTVAL cs_rindex(PARROT_INTERP,
- SHIM(STRING *source_string),
- SHIM(STRING *search_string),
+ SHIM(const STRING *src),
+ SHIM(const STRING *search_string),
SHIM(UINTVAL offset))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* decompose(PARROT_INTERP, SHIM(STRING *src))
+static STRING* decompose(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
@@ -60,13 +60,12 @@
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* downcase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* downcase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
static INTVAL find_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -74,7 +73,7 @@
static INTVAL find_not_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -82,7 +81,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING * get_graphemes(PARROT_INTERP,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -90,7 +89,7 @@
static INTVAL is_cclass(PARROT_INTERP,
INTVAL flags,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
@@ -105,12 +104,11 @@
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* titlecase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* titlecase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
PARROT_CANNOT_RETURN_NULL
-static STRING* to_charset(PARROT_INTERP, ARGIN(STRING *src))
+static STRING* to_charset(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -123,11 +121,10 @@
__attribute__nonnull__(2);
PARROT_CANNOT_RETURN_NULL
-static STRING* upcase_first(PARROT_INTERP,
- SHIM(const STRING *source_string))
+static STRING* upcase_first(PARROT_INTERP, SHIM(const STRING *src))
__attribute__nonnull__(1);
-static UINTVAL validate(PARROT_INTERP, ARGIN(STRING *src))
+static UINTVAL validate(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -152,16 +149,16 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_not_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_graphemes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_is_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#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 = (\
@@ -204,10 +201,10 @@
/*
-=item C<static STRING * get_graphemes(PARROT_INTERP, STRING *source_string,
-UINTVAL offset, UINTVAL count)>
+=item C<static STRING * get_graphemes(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
-Gets the graphemes from STRING C<source_string> starting at C<offset>. Gets
+Gets the graphemes from STRING C<src> starting at C<offset>. Gets
C<count> graphemes total.
=cut
@@ -216,17 +213,16 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_graphemes(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count)
+get_graphemes(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_graphemes)
- return ENCODING_GET_CODEPOINTS(interp, source_string, offset, count);
+ return ENCODING_GET_CODEPOINTS(interp, src, offset, count);
}
/*
-=item C<static STRING* to_charset(PARROT_INTERP, STRING *src)>
+=item C<static STRING* to_charset(PARROT_INTERP, const STRING *src)>
Converts input STRING C<src> to unicode STRING C<dest>.
@@ -236,7 +232,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-to_charset(PARROT_INTERP, ARGIN(STRING *src))
+to_charset(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(to_charset)
const charset_converter_t conversion_func =
@@ -252,7 +248,7 @@
/*
-=item C<static STRING* compose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* compose(PARROT_INTERP, const STRING *src)>
If Parrot is built with ICU, composes the STRING C<src>. Attempts to
denormalize the STRING into the ICU default, NFC.
@@ -265,7 +261,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-compose(PARROT_INTERP, ARGIN(STRING *src))
+compose(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(compose)
#if PARROT_HAS_ICU
@@ -315,7 +311,7 @@
/*
-=item C<static STRING* decompose(PARROT_INTERP, STRING *src)>
+=item C<static STRING* decompose(PARROT_INTERP, const STRING *src)>
Decompose function for unicode charset. This function is not yet implemented.
@@ -325,7 +321,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-decompose(PARROT_INTERP, SHIM(STRING *src))
+decompose(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(decompose)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -577,9 +573,9 @@
/*
-=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *source_string)>
+=item C<static STRING* upcase_first(PARROT_INTERP, const STRING *src)>
-Converts the first grapheme in the STRING C<source_string> to uppercase, if the
+Converts the first grapheme in the STRING C<src> to uppercase, if the
grapheme supports it. Not implemented.
=cut
@@ -588,7 +584,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-upcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+upcase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(upcase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -598,10 +594,9 @@
/*
-=item C<static STRING* downcase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* downcase_first(PARROT_INTERP, const STRING *src)>
-Converts the first grapheme in the STRING C<source_string> to lower-case, if
+Converts the first grapheme in the STRING C<src> to lower-case, if
the grapheme supports it. Not implemented
=cut
@@ -610,7 +605,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-downcase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+downcase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(downcase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -620,10 +615,9 @@
/*
-=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING
-*source_string)>
+=item C<static STRING* titlecase_first(PARROT_INTERP, const STRING *src)>
-Converts the first grapheme in STRING C<source_string> to title case, if the
+Converts the first grapheme in STRING C<src> to title case, if the
string supports it. Not implemented.
=cut
@@ -632,7 +626,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING*
-titlecase_first(PARROT_INTERP, SHIM(const STRING *source_string))
+titlecase_first(PARROT_INTERP, SHIM(const STRING *src))
{
ASSERT_ARGS(titlecase_first)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -688,10 +682,10 @@
/*
-=item C<static INTVAL cs_rindex(PARROT_INTERP, STRING *source_string, STRING
+=item C<static INTVAL cs_rindex(PARROT_INTERP, const STRING *src, const STRING
*search_string, UINTVAL offset)>
-Finds the last index of substring C<search_string> in STRING C<source_string>,
+Finds the last index of substring C<search_string> in STRING C<src>,
starting from C<offset>. Not implemented.
=cut
@@ -699,8 +693,8 @@
*/
static INTVAL
-cs_rindex(PARROT_INTERP, SHIM(STRING *source_string),
- SHIM(STRING *search_string), SHIM(UINTVAL offset))
+cs_rindex(PARROT_INTERP, SHIM(const STRING *src),
+ SHIM(const STRING *search_string), SHIM(UINTVAL offset))
{
ASSERT_ARGS(cs_rindex)
/* TODO: https://trac.parrot.org/parrot/wiki/StringsTasklist Implement this. */
@@ -710,7 +704,7 @@
/*
-=item C<static UINTVAL validate(PARROT_INTERP, STRING *src)>
+=item C<static UINTVAL validate(PARROT_INTERP, const STRING *src)>
Returns 1 if the STRING C<src> is a valid unicode string, returns 0 otherwise.
@@ -719,7 +713,7 @@
*/
static UINTVAL
-validate(PARROT_INTERP, ARGIN(STRING *src))
+validate(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(validate)
UINTVAL offset;
@@ -752,6 +746,7 @@
{
ASSERT_ARGS(u_iscclass)
#if PARROT_HAS_ICU
+ UNUSED(interp);
/* XXX which one
return u_charDigitValue(codepoint);
*/
@@ -835,24 +830,23 @@
/*
-=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING
-*source_string, UINTVAL offset)>
+=item C<static INTVAL is_cclass(PARROT_INTERP, INTVAL flags, const STRING *src,
+UINTVAL offset)>
=cut
*/
static INTVAL
-is_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(const STRING *source_string), UINTVAL offset)
+is_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset)
{
ASSERT_ARGS(is_cclass)
UINTVAL codepoint;
- if (offset >= source_string->strlen)
+ if (offset >= src->strlen)
return 0;
- codepoint = ENCODING_GET_CODEPOINT(interp, source_string, offset);
+ codepoint = ENCODING_GET_CODEPOINT(interp, src, offset);
if (codepoint >= 256)
return u_iscclass(interp, codepoint, flags) != 0;
@@ -863,16 +857,15 @@
/*
-=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
*/
static INTVAL
-find_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
+find_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_cclass)
String_iter iter;
@@ -880,11 +873,11 @@
UINTVAL pos = offset;
UINTVAL end = offset + count;
- ENCODING_ITER_INIT(interp, source_string, &iter);
+ ENCODING_ITER_INIT(interp, src, &iter);
iter.set_position(interp, &iter, pos);
- end = source_string->strlen < end ? source_string->strlen : end;
+ end = src->strlen < end ? src->strlen : end;
for (; pos < end; ++pos) {
codepoint = iter.get_and_advance(interp, &iter);
@@ -904,16 +897,16 @@
/*
-=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, STRING
-*source_string, UINTVAL offset, UINTVAL count)>
+=item C<static INTVAL find_not_cclass(PARROT_INTERP, INTVAL flags, const STRING
+*src, UINTVAL offset, UINTVAL count)>
=cut
*/
static INTVAL
-find_not_cclass(PARROT_INTERP, INTVAL flags,
- ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
+find_not_cclass(PARROT_INTERP, INTVAL flags, ARGIN(const STRING *src),
+ UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(find_not_cclass)
String_iter iter;
@@ -922,17 +915,17 @@
UINTVAL end = offset + count;
int bit;
- if (pos > source_string->strlen) {
+ if (pos > src->strlen) {
/* XXX: Throw in this case? */
return offset + count;
}
- ENCODING_ITER_INIT(interp, source_string, &iter);
+ ENCODING_ITER_INIT(interp, src, &iter);
if (pos)
iter.set_position(interp, &iter, pos);
- end = source_string->strlen < end ? source_string->strlen : end;
+ end = src->strlen < end ? src->strlen : end;
if (flags == enum_cclass_any)
return end;
Modified: branches/include_dynpmc_makefile/src/string/encoding/fixed_8.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/encoding/fixed_8.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/encoding/fixed_8.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -24,16 +24,16 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *source_string))
+static UINTVAL bytes(SHIM_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(2);
-static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *source_string))
+static UINTVAL codepoints(PARROT_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
static UINTVAL find_cclass(SHIM_INTERP,
- ARGIN(STRING *s),
+ ARGIN(const STRING *s),
ARGIN(const INTVAL *typetable),
INTVAL flags,
UINTVAL pos,
@@ -66,14 +66,14 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL get_byte(SHIM_INTERP,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_bytes(PARROT_INTERP,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -81,7 +81,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL get_codepoint(PARROT_INTERP,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -89,7 +89,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_codepoints(PARROT_INTERP,
- ARGIN(STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -103,7 +103,7 @@
FUNC_MODIFIES(*iter);
static void set_byte(PARROT_INTERP,
- ARGIN(const STRING *source_string),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL byte)
__attribute__nonnull__(1)
@@ -115,10 +115,10 @@
__attribute__nonnull__(1);
#define ASSERT_ARGS_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_find_cclass __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(s) \
, PARROT_ASSERT_ARG(typetable))
@@ -133,22 +133,22 @@
#define ASSERT_ARGS_fixed_8_hash __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_get_byte __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(source_string))
+ PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_bytes __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_codepoint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#define ASSERT_ARGS_get_codepoints __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(source_string))
+ , PARROT_ASSERT_ARG(src))
#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))
+ , PARROT_ASSERT_ARG(src))
#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. */
@@ -182,8 +182,8 @@
/*
-=item C<static UINTVAL get_codepoint(PARROT_INTERP, const STRING *source_string,
-UINTVAL offset)>
+=item C<static UINTVAL get_codepoint(PARROT_INTERP, const STRING *src, UINTVAL
+offset)>
codepoints are bytes, so delegate
@@ -193,17 +193,17 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-get_codepoint(PARROT_INTERP, ARGIN(const STRING *source_string),
+get_codepoint(PARROT_INTERP, ARGIN(const STRING *src),
UINTVAL offset)
{
ASSERT_ARGS(get_codepoint)
- return get_byte(interp, source_string, offset);
+ return get_byte(interp, src, offset);
}
/*
-=item C<static UINTVAL find_cclass(PARROT_INTERP, STRING *s, const INTVAL
+=item C<static UINTVAL find_cclass(PARROT_INTERP, const STRING *s, const INTVAL
*typetable, INTVAL flags, UINTVAL pos, UINTVAL end)>
codepoints are bytes, so delegate
@@ -214,7 +214,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-find_cclass(SHIM_INTERP, ARGIN(STRING *s), ARGIN(const INTVAL *typetable),
+find_cclass(SHIM_INTERP, ARGIN(const STRING *s), ARGIN(const INTVAL *typetable),
INTVAL flags, UINTVAL pos, UINTVAL end)
{
ASSERT_ARGS(find_cclass)
@@ -229,8 +229,8 @@
/*
-=item C<static UINTVAL get_byte(PARROT_INTERP, const STRING *source_string,
-UINTVAL offset)>
+=item C<static UINTVAL get_byte(PARROT_INTERP, const STRING *src, UINTVAL
+offset)>
Returns the byte in string C<src> at position C<offset>.
@@ -240,15 +240,15 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-get_byte(SHIM_INTERP, ARGIN(const STRING *source_string), UINTVAL offset)
+get_byte(SHIM_INTERP, ARGIN(const STRING *src), UINTVAL offset)
{
ASSERT_ARGS(get_byte)
- const unsigned char *contents = (const unsigned char *)source_string->strstart;
+ const unsigned char *contents = (const unsigned char *)src->strstart;
- if (offset >= source_string->bufused) {
+ if (offset >= src->bufused) {
/* Parrot_ex_throw_from_c_args(interp, NULL, 0,
"get_byte past the end of the buffer (%i of %i)",
- offset, source_string->bufused); */
+ offset, src->bufused); */
return 0;
}
@@ -257,8 +257,8 @@
/*
-=item C<static void set_byte(PARROT_INTERP, const STRING *source_string, UINTVAL
-offset, UINTVAL byte)>
+=item C<static void set_byte(PARROT_INTERP, const STRING *src, UINTVAL offset,
+UINTVAL byte)>
Sets, in string C<src> at position C<offset>, the byte C<byte>.
@@ -267,24 +267,23 @@
*/
static void
-set_byte(PARROT_INTERP, ARGIN(const STRING *source_string),
- UINTVAL offset, UINTVAL byte)
+set_byte(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL byte)
{
ASSERT_ARGS(set_byte)
unsigned char *contents;
- if (offset >= source_string->bufused)
+ if (offset >= src->bufused)
Parrot_ex_throw_from_c_args(interp, NULL, 0,
"set_byte past the end of the buffer");
- contents = (unsigned char *)source_string->strstart;
+ contents = (unsigned char *)src->strstart;
contents[offset] = (unsigned char)byte;
}
/*
-=item C<static STRING * get_codepoints(PARROT_INTERP, STRING *source_string,
-UINTVAL offset, UINTVAL count)>
+=item C<static STRING * get_codepoints(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
Returns the codepoints in string C<src> at position C<offset> and length
C<count>. (Delegates to C<get_bytes>.)
@@ -296,19 +295,17 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_codepoints(PARROT_INTERP, ARGIN(STRING *source_string),
- UINTVAL offset, UINTVAL count)
+get_codepoints(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_codepoints)
- STRING * const return_string = get_bytes(interp, source_string,
- offset, count);
- return_string->charset = source_string->charset;
+ STRING * const return_string = get_bytes(interp, src, offset, count);
+ return_string->charset = src->charset;
return return_string;
}
/*
-=item C<static STRING * get_bytes(PARROT_INTERP, STRING *source_string, UINTVAL
+=item C<static STRING * get_bytes(PARROT_INTERP, const STRING *src, UINTVAL
offset, UINTVAL count)>
Returns the bytes in string C<src> at position C<offset> and length C<count>.
@@ -320,13 +317,13 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_bytes(PARROT_INTERP, ARGIN(STRING *source_string), UINTVAL offset, UINTVAL count)
+get_bytes(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_bytes)
- STRING * const return_string = Parrot_str_copy(interp, source_string);
+ STRING * const return_string = Parrot_str_copy(interp, src);
- return_string->encoding = source_string->encoding;
- return_string->charset = source_string->charset;
+ return_string->encoding = src->encoding;
+ return_string->charset = src->charset;
return_string->strstart = (char *)return_string->strstart + offset ;
return_string->bufused = count;
@@ -340,7 +337,7 @@
/*
-=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *source_string)>
+=item C<static UINTVAL codepoints(PARROT_INTERP, const STRING *src)>
Returns the number of codepoints in string C<src>.
@@ -349,15 +346,15 @@
*/
static UINTVAL
-codepoints(PARROT_INTERP, ARGIN(const STRING *source_string))
+codepoints(PARROT_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(codepoints)
- return bytes(interp, source_string);
+ return bytes(interp, src);
}
/*
-=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *source_string)>
+=item C<static UINTVAL bytes(PARROT_INTERP, const STRING *src)>
Returns the number of bytes in string C<src>.
@@ -366,10 +363,10 @@
*/
static UINTVAL
-bytes(SHIM_INTERP, ARGIN(const STRING *source_string))
+bytes(SHIM_INTERP, ARGIN(const STRING *src))
{
ASSERT_ARGS(bytes)
- return source_string->bufused;
+ return src->bufused;
}
/*
Modified: branches/include_dynpmc_makefile/src/string/encoding/ucs2.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/encoding/ucs2.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/encoding/ucs2.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -47,7 +47,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL find_cclass(PARROT_INTERP,
- ARGIN(STRING *s),
+ ARGIN(const STRING *s),
ARGIN(const INTVAL *typetable),
INTVAL flags,
UINTVAL pos,
@@ -64,7 +64,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_bytes(PARROT_INTERP,
- SHIM(STRING *src),
+ SHIM(const STRING *src),
SHIM(UINTVAL offset),
SHIM(UINTVAL count))
__attribute__nonnull__(1);
@@ -78,7 +78,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_codepoints(PARROT_INTERP,
- ARGIN(STRING *src),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -221,6 +221,7 @@
ASSERT_ARGS(get_codepoint)
#if PARROT_HAS_ICU
const UChar * const s = (const UChar*) src->strstart;
+ UNUSED(interp);
return s[offset];
#else
UNUSED(offset);
@@ -232,7 +233,7 @@
/*
-=item C<static UINTVAL find_cclass(PARROT_INTERP, STRING *s, const INTVAL
+=item C<static UINTVAL find_cclass(PARROT_INTERP, const STRING *s, const INTVAL
*typetable, INTVAL flags, UINTVAL pos, UINTVAL end)>
Stub, the charset level handles this for unicode strings.
@@ -243,7 +244,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-find_cclass(PARROT_INTERP, ARGIN(STRING *s), ARGIN(const INTVAL *typetable),
+find_cclass(PARROT_INTERP, ARGIN(const STRING *s), ARGIN(const INTVAL *typetable),
INTVAL flags, UINTVAL pos, UINTVAL end)
{
UNUSED(s);
@@ -296,7 +297,7 @@
/*
-=item C<static STRING * get_codepoints(PARROT_INTERP, STRING *src, UINTVAL
+=item C<static STRING * get_codepoints(PARROT_INTERP, const STRING *src, UINTVAL
offset, UINTVAL count)>
Returns the codepoints in string C<src> at position C<offset> and length
@@ -309,7 +310,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_codepoints(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL count)
+get_codepoints(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_codepoints)
STRING * const return_string = Parrot_str_copy(interp, src);
@@ -337,8 +338,8 @@
/*
-=item C<static STRING * get_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count)>
+=item C<static STRING * get_bytes(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
Returns the bytes in string C<src> at position C<offset> and length C<count>.
@@ -349,7 +350,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_bytes(PARROT_INTERP, SHIM(STRING *src), SHIM(UINTVAL offset),
+get_bytes(PARROT_INTERP, SHIM(const STRING *src), SHIM(UINTVAL offset),
SHIM(UINTVAL count))
{
ASSERT_ARGS(get_bytes)
@@ -483,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;
Modified: branches/include_dynpmc_makefile/src/string/encoding/utf16.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/encoding/utf16.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/encoding/utf16.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -37,7 +37,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL find_cclass(PARROT_INTERP,
- ARGIN(STRING *s),
+ ARGIN(const STRING *s),
ARGIN(const INTVAL *typetable),
INTVAL flags,
UINTVAL pos,
@@ -54,7 +54,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_bytes(PARROT_INTERP,
- ARGIN(STRING *src),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -69,7 +69,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING * get_codepoints(PARROT_INTERP,
- ARGIN(STRING *src),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -97,23 +97,19 @@
__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);
@@ -148,14 +144,11 @@
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 */
@@ -213,14 +206,6 @@
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
Parrot_gc_allocate_string_storage(interp, result, sizeof (UChar) * src_len);
p = (UChar *)result->strstart;
@@ -279,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);
@@ -298,7 +284,7 @@
/*
-=item C<static UINTVAL find_cclass(PARROT_INTERP, STRING *s, const INTVAL
+=item C<static UINTVAL find_cclass(PARROT_INTERP, const STRING *s, const INTVAL
*typetable, INTVAL flags, UINTVAL pos, UINTVAL end)>
Stub, the charset level handles this for unicode strings.
@@ -309,7 +295,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-find_cclass(PARROT_INTERP, ARGIN(STRING *s), ARGIN(const INTVAL *typetable),
+find_cclass(PARROT_INTERP, ARGIN(const STRING *s), ARGIN(const INTVAL *typetable),
INTVAL flags, UINTVAL pos, UINTVAL end)
{
UNUSED(s);
@@ -375,7 +361,7 @@
/*
-=item C<static STRING * get_codepoints(PARROT_INTERP, STRING *src, UINTVAL
+=item C<static STRING * get_codepoints(PARROT_INTERP, const STRING *src, UINTVAL
offset, UINTVAL count)>
Returns the codepoints in string C<src> at position C<offset> and length
@@ -388,7 +374,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_codepoints(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL count)
+get_codepoints(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_codepoints)
String_iter iter;
@@ -409,8 +395,8 @@
/*
-=item C<static STRING * get_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count)>
+=item C<static STRING * get_bytes(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
Returns the bytes in string C<src> at position C<offset> and length C<count>.
@@ -421,7 +407,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_bytes(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL count)
+get_bytes(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_bytes)
UNUSED(interp);
@@ -488,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
*/
@@ -516,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);
@@ -539,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;
@@ -570,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;
Modified: branches/include_dynpmc_makefile/src/string/encoding/utf8.c
==============================================================================
--- branches/include_dynpmc_makefile/src/string/encoding/utf8.c Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/src/string/encoding/utf8.c Wed Apr 28 19:17:12 2010 (r46116)
@@ -37,7 +37,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL find_cclass(PARROT_INTERP,
- SHIM(STRING *s),
+ SHIM(const STRING *s),
SHIM(const INTVAL *typetable),
SHIM(INTVAL flags),
SHIM(UINTVAL pos),
@@ -51,12 +51,11 @@
PARROT_CANNOT_RETURN_NULL
static STRING * get_bytes(PARROT_INTERP,
- ARGMOD(STRING *src),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(*src);
+ __attribute__nonnull__(2);
static UINTVAL get_codepoint(PARROT_INTERP,
ARGIN(const STRING *src),
@@ -66,7 +65,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING * get_codepoints(PARROT_INTERP,
- ARGIN(STRING *src),
+ ARGIN(const STRING *src),
UINTVAL offset,
UINTVAL count)
__attribute__nonnull__(1)
@@ -592,7 +591,7 @@
/*
-=item C<static UINTVAL find_cclass(PARROT_INTERP, STRING *s, const INTVAL
+=item C<static UINTVAL find_cclass(PARROT_INTERP, const STRING *s, const INTVAL
*typetable, INTVAL flags, UINTVAL pos, UINTVAL end)>
Stub, the charset level handles this for unicode strings.
@@ -603,7 +602,7 @@
PARROT_WARN_UNUSED_RESULT
static UINTVAL
-find_cclass(PARROT_INTERP, SHIM(STRING *s), SHIM(const INTVAL *typetable),
+find_cclass(PARROT_INTERP, SHIM(const STRING *s), SHIM(const INTVAL *typetable),
SHIM(INTVAL flags), SHIM(UINTVAL pos), SHIM(UINTVAL end))
{
Parrot_ex_throw_from_c_args(interp, NULL,
@@ -664,7 +663,7 @@
/*
-=item C<static STRING * get_codepoints(PARROT_INTERP, STRING *src, UINTVAL
+=item C<static STRING * get_codepoints(PARROT_INTERP, const STRING *src, UINTVAL
offset, UINTVAL count)>
Returns the codepoints in string C<src> at position C<offset> and length
@@ -676,7 +675,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_codepoints(PARROT_INTERP, ARGIN(STRING *src), UINTVAL offset, UINTVAL count)
+get_codepoints(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_codepoints)
@@ -704,8 +703,8 @@
/*
-=item C<static STRING * get_bytes(PARROT_INTERP, STRING *src, UINTVAL offset,
-UINTVAL count)>
+=item C<static STRING * get_bytes(PARROT_INTERP, const STRING *src, UINTVAL
+offset, UINTVAL count)>
Returns the bytes in string C<src> at position C<offset> and length C<count>.
@@ -715,7 +714,7 @@
PARROT_CANNOT_RETURN_NULL
static STRING *
-get_bytes(PARROT_INTERP, ARGMOD(STRING *src), UINTVAL offset, UINTVAL count)
+get_bytes(PARROT_INTERP, ARGIN(const STRING *src), UINTVAL offset, UINTVAL count)
{
ASSERT_ARGS(get_bytes)
STRING * const return_string = Parrot_str_copy(interp, src);
Copied: branches/include_dynpmc_makefile/t/compilers/data_json/from_parrot.t (from r46115, trunk/t/compilers/data_json/from_parrot.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/t/compilers/data_json/from_parrot.t Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, trunk/t/compilers/data_json/from_parrot.t)
@@ -0,0 +1,441 @@
+#!./parrot
+# Copyright (C) 2001-2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/compilers/data_json/from_parrot.t - test parrot to JSON conversion.
+
+=head1 SYNOPSIS
+
+ % prove t/compilers/data_json/from_parrot.t
+
+=head1 DESCRIPTION
+
+Tests JSON->Parrot conversions.
+
+=cut
+
+.sub main :main
+ .include 'test_more.pir'
+ plan(39)
+
+ load_bytecode 'JSON.pbc'
+ test_create_json_of_an_empty_string()
+ test_create_json_of_a_non_empty_string()
+ test_create_json_of_a_string_with_simple_escapes()
+ test_create_json_of_some_integers()
+ test_create_json_of_some_numbers()
+ test_create_json_of_various_scalars_with_pretty_option()
+ test_create_json_of_an_array()
+ test_create_pretty_json_of_an_array()
+ test_create_json_of_array_keep_element_ordering()
+ test_create_json_of_a_mixed_array()
+ test_create_json_of_hash()
+ test_create_non_pretty_json_of_hash()
+ test_create_json_of_nested_structure_including_resizablepmcarray_and_empties()
+ test_create_non_pretty_json_of_nested_structure()
+ test_create_json_of_string_pmcs()
+ test_create_json_of_integer_pmcs()
+ test_create_json_of_boolean_pmcs()
+ test_create_json_of_null_and_undef()
+.end
+
+
+# no. 1
+.sub test_create_json_of_an_empty_string
+ .local string s
+ s = ''
+
+ $S0 = _json( s, 0 )
+ is($S0, '""', 'Create JSON of an empty string')
+.end
+
+
+# no. 2
+.sub test_create_json_of_a_non_empty_string
+ .local string s
+ s = 'abcdeABCDE01234$%^&*'
+
+ $S0 = _json( s, 0 )
+ is($S0, '"abcdeABCDE01234$%^&*"', 'Create JSON of a non-empty string')
+.end
+
+
+# no. 3
+.sub test_create_json_of_a_string_with_simple_escapes
+ .local string s
+ s = "abcde\\ABCDE\"01234\n$%^&*"
+ # XXX more escapes need to be tested; see http://www.json.org/
+ $S0 = _json( s, 0 )
+ is($S0, '"abcde\\ABCDE\"01234\n$%^&*"', 'Create JSON of a string with simple escapes')
+.end
+
+
+# no. 4..8
+.sub test_create_json_of_some_integers
+ .local int i
+ i = 0
+ $S0 = _json( i, 0 )
+ is($S0, 0, 'Create JSON of some integers (0)')
+ i = 35
+ $S0 = _json( i, 0 )
+ is($S0, 35, 'Create JSON of some integers (35)')
+ i = -42
+ $S0 = _json( i, 0 )
+ is($S0, -42, 'Create JSON of some integers (-42)')
+ i = 2147483647
+ $S0 = _json( i, 0 )
+ is($S0, 2147483647, 'Create JSON of some integers (2147483647)')
+ i = -2147483648
+ $S0 = _json( i, 0 )
+ is($S0, -2147483648, 'Create JSON of some integers (-2147483648)')
+.end
+
+
+# no. 9..12
+.sub test_create_json_of_some_numbers
+ .local num n
+ n = 0.0
+ $S0 = _json( n )
+ is($S0, 0, 'Create JSON of some numbers (0)')
+ n = 2.50
+ $S0 = _json( n )
+ is($S0, 2.5, 'Create JSON of some numbers (2.5)')
+ n = -42.0
+ $S0 = _json( n )
+ is($S0, -42, 'Create JSON of some numbers (-42)')
+ n = 4.5e1
+ $S0 = _json( n )
+ is($S0, 45, 'Create JSON of some numbers (45)')
+.end
+
+
+# no. 13..15
+.sub test_create_json_of_various_scalars_with_pretty_option
+ .local string s
+ s = "abcde\\ABCDE\"01234\n$%^&*"
+ $S0 = _json( s, 1 )
+ is($S0, "\"abcde\\\\ABCDE\\\"01234\\n\$\%\^\&\*\"\n", 'Create JSON of various scalars with pretty option (string)')
+
+ .local int i
+ i = -42
+ $S0 = _json( i, 1 )
+ is($S0, "-42\n", 'Create JSON of various scalars with pretty option (integer)')
+
+ .local num n
+ n = 2.50
+ $S0 = _json( n, 1 )
+ is($S0, "2.5\n", 'Create JSON of various scalars with pretty option (number)')
+.end
+
+
+# no. 16
+.sub test_create_json_of_an_array
+ .local pmc array
+
+ new array, 'ResizablePMCArray'
+ array = 10
+ array[0] = 0
+ array[1] = 1
+ array[2] = 2
+ array[3] = 3
+ array[4] = 4
+ array[5] = 5
+ array[6] = 6
+ array[7] = 7
+ array[8] = 8
+ array[9] = 9
+
+ $S0 = _json( array, 0 )
+ is($S0, '[0,1,2,3,4,5,6,7,8,9]', 'Create JSON of an array')
+.end
+
+
+# no. 17
+.sub test_create_pretty_json_of_an_array
+ .local pmc array
+
+ new array, 'ResizablePMCArray'
+ array = 10
+ array[0] = 0
+ array[1] = 1
+ array[2] = 2
+ array[3] = 3
+ array[4] = 4
+ array[5] = 5
+ array[6] = 6
+ array[7] = 7
+ array[8] = 8
+ array[9] = 9
+
+ $S0 = _json( array, 1 )
+ is($S0, <<'OUTPUT', 'Create pretty JSON of an array')
+[
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9
+]
+OUTPUT
+.end
+
+
+# no. 18
+.sub test_create_json_of_array_keep_element_ordering
+ .local pmc array
+
+ new array, 'ResizablePMCArray'
+ array = 6
+ array[0] = 35
+ array[1] = 1
+ array[2] = -5
+ array[3] = 0
+ array[4] = -2147483648
+ array[5] = 2147483647
+
+ $S0 = _json( array, 1 )
+ is($S0, <<'OUTPUT', 'Create JSON of an array, keep element ordering')
+[
+ 35,
+ 1,
+ -5,
+ 0,
+ -2147483648,
+ 2147483647
+]
+OUTPUT
+.end
+
+
+# no. 19
+.sub test_create_json_of_a_mixed_array
+ .local pmc array
+
+ new array, 'ResizablePMCArray'
+ array = 6
+ array[0] = 0
+ array[1] = 1500e-2
+ array[2] = "JSON"
+ array[3] = -7
+ array[4] = "json"
+ array[5] = 0.0
+
+ $S0 = _json( array, 1 )
+ is($S0, <<'OUTPUT', 'Create JSON of a mixed array')
+[
+ 0,
+ 15,
+ "JSON",
+ -7,
+ "json",
+ 0
+]
+OUTPUT
+.end
+
+
+# no. 20
+.sub test_create_json_of_hash
+ .local pmc hash
+
+ new hash, 'Hash'
+ hash["alpha"] = 29
+ hash["beta"] = "B"
+ hash["gamma"] = 3.1
+ hash["delta"] = "DELTA"
+
+ $S0 = _json( hash, 1 )
+ is($S0, <<'OUTPUT', 'Create JSON of hash')
+{
+ "alpha" : 29,
+ "beta" : "B",
+ "delta" : "DELTA",
+ "gamma" : 3.1
+}
+OUTPUT
+.end
+
+
+# no. 21
+.sub test_create_non_pretty_json_of_hash
+ .local pmc hash
+
+ new hash, 'Hash'
+ hash["alpha"] = 29
+ hash["beta"] = "B"
+ hash["gamma"] = 3.1
+ hash["delta"] = "DELTA"
+
+ $S0 = _json( hash, 0 )
+ is($S0, '{"alpha":29,"beta":"B","delta":"DELTA","gamma":3.1}', 'Create non-pretty JSON of hash')
+.end
+
+
+# no. 22
+.sub test_create_json_of_nested_structure_including_resizablepmcarray_and_empties
+ .local pmc street1, street2, city1, city2, country, world
+
+ street1 = new 'Hash'
+ street1["Perl"] = "Highway"
+ street1["Python"] = "Grove"
+ street1["Ruby"] = "Lane"
+
+ street2 = new 'Hash' # empty
+
+ city1 = new 'ResizablePMCArray'
+ push city1, street1
+ push city1, street2
+
+ city2 = new 'FixedPMCArray' # empty
+
+ country = new 'FixedPMCArray'
+ country = 2
+ country[0] = city1
+ country[1] = city2
+
+ world = new 'Hash'
+ world["population"] = 1234567890
+ world["some_country"] = country
+
+ $S0 = _json( world, 1 )
+ is($S0, <<'OUTPUT', 'Create JSON of nested structure including ResizablePMCArray and empties')
+{
+ "population" : 1234567890,
+ "some_country" : [
+ [
+ {
+ "Perl" : "Highway",
+ "Python" : "Grove",
+ "Ruby" : "Lane"
+ },
+ {
+ }
+ ],
+ [
+ ]
+ ]
+}
+OUTPUT
+.end
+
+
+# no. 23
+.sub test_create_non_pretty_json_of_nested_structure
+ .local pmc street1, street2, city1, city2, country, world
+
+ street1 = new 'Hash'
+ street1["Perl"] = "Highway"
+ street1["Python"] = "Grove"
+ street1["Ruby"] = "Lane"
+
+ street2 = new 'Hash' # empty
+
+ city1 = new 'ResizablePMCArray'
+ push city1, street1
+ push city1, street2
+
+ city2 = new 'FixedPMCArray' # empty
+
+ country = new 'FixedPMCArray'
+ country = 2
+ country[0] = city1
+ country[1] = city2
+
+ world = new 'Hash'
+ world["population"] = 1234567890
+ world["some_country"] = country
+
+ $S0 = _json( world, 0 )
+ is($S0, '{"population":1234567890,"some_country":[[{"Perl":"Highway","Python":"Grove","Ruby":"Lane"},{}],[]]}', 'Create non-pretty JSON of nested structure')
+.end
+
+
+# no. 24..27
+.sub test_create_json_of_string_pmcs
+ .local pmc s
+
+ s = new 'String'
+ s = ''
+ $S0 = _json( s, 0 )
+ is($S0, '""', 'Create JSON of String PMCs')
+ $S0 = _json( s, 1 )
+ is($S0, "\"\"\n", 'Create JSON of String PMCs')
+
+ s = new 'String'
+ s = "12345\"67890"
+ $S0 = _json( s, 0 )
+ is($S0, '"12345\"67890"', 'Create JSON of String PMCs')
+ $S0 = _json( s, 1 )
+ is($S0, "\"12345\\\"67890\"\n", 'Create JSON of String PMCs')
+.end
+
+
+# no. 28..31
+.sub test_create_json_of_integer_pmcs
+ .local pmc i
+
+ i = new 'Integer'
+ i = 0
+ $S0 = _json( i, 0 )
+ is($S0, 0, 'Create JSON of String PMCs')
+ $S0 = _json( i, 1 )
+ is($S0, "0\n", 'Create JSON of String PMCs')
+
+ i = new 'Integer'
+ i = -42
+ $S0 = _json( i, 0 )
+ is($S0, -42, 'Create JSON of String PMCs')
+ $S0 = _json( i, 1 )
+ is($S0, "-42\n", 'Create JSON of String PMCs')
+.end
+
+
+# no. 32..35
+.sub test_create_json_of_boolean_pmcs
+ .local pmc b
+
+ b = new 'Boolean'
+ b = 0
+ $S0 = _json( b, 0 )
+ is($S0, 'false', 'Create JSON of Boolean PMCs')
+ $S0 = _json( b, 1 )
+ is($S0, "false\n", 'Create JSON of Boolean PMCs')
+
+ b = new 'Boolean'
+ b = 1
+ $S0 = _json( b, 0 )
+ is($S0, 'true', 'Create JSON of Boolean PMCs')
+ $S0 = _json( b, 1 )
+ is($S0, "true\n", 'Create JSON of Boolean PMCs')
+.end
+
+
+# no. 36..39
+.sub test_create_json_of_null_and_undef
+ .local pmc n
+ null n
+
+ $S0 = _json( n, 0 )
+ is($S0, 'null', 'Create JSON of null and .Undef')
+ $S0 = _json( n, 1 )
+ is($S0, "null\n", 'Create JSON of null and .Undef')
+
+ n = new 'Undef'
+ $S0 = _json( n, 0 )
+ is($S0, 'null', 'Create JSON of null and .Undef')
+ $S0 = _json( n, 1 )
+ is($S0, "null\n", 'Create JSON of null and .Undef')
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/include_dynpmc_makefile/t/compilers/data_json/to_parrot.t (from r46115, trunk/t/compilers/data_json/to_parrot.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/t/compilers/data_json/to_parrot.t Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, trunk/t/compilers/data_json/to_parrot.t)
@@ -0,0 +1,731 @@
+#!perl
+# Copyright (C) 2001-2008, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use lib qw( t . lib ../lib ../../lib );
+
+use Test::More;
+use Parrot::Test tests => 60;
+
+=head1 NAME
+
+t/compilers/data_json/to_parrot.t - test JSON to parrot conversions
+
+=head1 SYNOPSIS
+
+ % prove t/compilers/data_json/to_parrot.t
+
+=head1 DESCRIPTION
+
+Tests JSON->Parrot conversions.
+
+=cut
+
+json_dump_is( <<'JSON', <<'OUT', 'empty string' );
+""
+JSON
+"JSON" => ""
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string' );
+"json"
+JSON
+"JSON" => "json"
+OUT
+
+json_isnt( 'a', 'strings need quotes' );
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash "' );
+"\"json\""
+JSON
+"JSON" => "\"json\""
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash \\' );
+"\\json\\"
+JSON
+"JSON" => "\\json\\"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with /' );
+"\/json\/"
+JSON
+"JSON" => "/json/"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash b' );
+"\bjson\b"
+JSON
+"JSON" => "\bjson\b"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash f' );
+"\fjson\f"
+JSON
+"JSON" => "\fjson\f"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash n' );
+"\njson\n"
+JSON
+"JSON" => "\njson\n"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash r' );
+"\rjson\r"
+JSON
+"JSON" => "\rjson\r"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'string with backslash t' );
+"\tjson\t"
+JSON
+"JSON" => "\tjson\t"
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int' );
+1
+JSON
+"JSON" => 1
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int minus' );
+-1
+JSON
+"JSON" => -1
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int frac' );
+3.14
+JSON
+"JSON" => 3.14
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int frac minus' );
+-3.14
+JSON
+"JSON" => -3.14
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int exp' );
+1e+11
+JSON
+"JSON" => 100000000000
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int exp' );
+2e-12
+JSON
+"JSON" => 2e-12
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int exp minus' );
+-1e+11
+JSON
+"JSON" => -100000000000
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int exp minus' );
+-2e-12
+JSON
+"JSON" => -2e-12
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int frac exp' );
+3.14e+10
+JSON
+"JSON" => 31400000000
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'number int frac exp minus' );
+-3.14e+10
+JSON
+"JSON" => -31400000000
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'null' );
+null
+JSON
+"JSON" => null
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'true' );
+true
+JSON
+"JSON" => 1
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'false' );
+false
+JSON
+"JSON" => 0
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'empty array' );
+[]
+JSON
+"JSON" => ResizablePMCArray (size:0) [
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'simple array' );
+[1,2,3]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'simple array (check white spaces)' );
+[ 1 , 2 , 3 ]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of empty arrays' );
+[[],[],[]]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ ResizablePMCArray (size:0) [
+ ],
+ ResizablePMCArray (size:0) [
+ ],
+ ResizablePMCArray (size:0) [
+ ]
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of empty arrays (check white spaces)' );
+[ [] , [] , [] ]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ ResizablePMCArray (size:0) [
+ ],
+ ResizablePMCArray (size:0) [
+ ],
+ ResizablePMCArray (size:0) [
+ ]
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of arrays of integers' );
+[[1,2,3],[1,2,3],[1,2,3]]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ],
+ ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ],
+ ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ]
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of empty strings' );
+["","",""]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ "",
+ "",
+ ""
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of strings' );
+["string a","string b","string c"]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ "string a",
+ "string b",
+ "string c"
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of empty objects' );
+[{},{},{}]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ Hash {
+ },
+ Hash {
+ },
+ Hash {
+ }
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of empty objects (check white spaces)' );
+[ {} , {} , {} ]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ Hash {
+ },
+ Hash {
+ },
+ Hash {
+ }
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of objects with one element' );
+[{"one":1},{"two":2},{"three":3}]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ Hash {
+ "one" => 1
+ },
+ Hash {
+ "two" => 2
+ },
+ Hash {
+ "three" => 3
+ }
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of objects with one element (white space check)' );
+[ { "one" : 1 } , { "two" : 2 } , {"three" : 3} ]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ Hash {
+ "one" => 1
+ },
+ Hash {
+ "two" => 2
+ },
+ Hash {
+ "three" => 3
+ }
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'array of objects with multiple elements' );
+[{"one":1,"two":2,"three":3},{"one":1,"two":2,"three":3},{"one":1,"two":2,"three":3}]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ },
+ Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ },
+ Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ }
+]
+OUT
+
+json_dump_is(
+ <<'JSON', <<'OUT', 'array of boolean objects' );
+[false,true,null]
+JSON
+"JSON" => ResizablePMCArray (size:3) [
+ 0,
+ 1,
+ null
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'empty object' );
+{}
+JSON
+"JSON" => Hash {
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with one element' );
+{"one":1}
+JSON
+"JSON" => Hash {
+ "one" => 1
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with numbers' );
+{"one":1,"two":2,"three":3}
+JSON
+"JSON" => Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with strings' );
+{"one":"string a","two":"string b","three":"string c"}
+JSON
+"JSON" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with strings (white space check)' );
+{ "one" : "string a" , "two" : "string b" , "three" : "string c" }
+JSON
+"JSON" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with one empty object' );
+{"one":{}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with one object with one element' );
+{"one":{"one":1}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => 1
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with one object of various element with integers' );
+{"one":{"one":1,"two":2,"three":3}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with one object of various element with strings' );
+{"one":{"one":"string a","two":"string b","three":"string c"}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+ }
+}
+OUT
+
+json_dump_is(
+ <<'JSON', <<'OUT', 'object with one object of various element with strings (check white spaces)' );
+{ "one" : { "one" : "string a" , "two" : "string b" , "three" : "string c" } }
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with more than one empty object' );
+{"one":{},"two":{},"three":{}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ },
+ "three" => Hash {
+ },
+ "two" => Hash {
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with more than one object with one integer element' );
+{"one":{"one":1},"two":{"two":2},"three":{"three":3}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => 1
+ },
+ "three" => Hash {
+ "three" => 3
+ },
+ "two" => Hash {
+ "two" => 2
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with more than one object with various integer elements' );
+{"one":{"one":1,"two":2,"three":3},"two":{"one":1,"two":2,"three":3},"three":{"one":1,"two":2,"three":3}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ },
+ "three" => Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ },
+ "two" => Hash {
+ "one" => 1,
+ "three" => 3,
+ "two" => 2
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with more than one object with one string element' );
+{"one":{"one":"string a"},"two":{"two":"string b"},"three":{"three":"string c"}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => "string a"
+ },
+ "three" => Hash {
+ "three" => "string c"
+ },
+ "two" => Hash {
+ "two" => "string b"
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with more than one object with various integer elements' );
+{"one":{"one":"string a","two":"string b","three":"string c"},"two":{"one":"string a","two":"string b","three":"string c"},"three":{"one":"string a","two":"string b","three":"string c"}}
+JSON
+"JSON" => Hash {
+ "one" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+ },
+ "three" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+ },
+ "two" => Hash {
+ "one" => "string a",
+ "three" => "string c",
+ "two" => "string b"
+ }
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with empty array' );
+{"one":[]}
+JSON
+"JSON" => Hash {
+ "one" => ResizablePMCArray (size:0) [
+ ]
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with array' );
+{"one":[1,2,3]}
+JSON
+"JSON" => Hash {
+ "one" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ]
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with various arrays' );
+{"one":[1,2,3],"two":[1,2,3],"three":[1,2,3]}
+JSON
+"JSON" => Hash {
+ "one" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ],
+ "three" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ],
+ "two" => ResizablePMCArray (size:3) [
+ 1,
+ 2,
+ 3
+ ]
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'object with boolean values' );
+{"one":true,"two":false,"three":null}
+JSON
+"JSON" => Hash {
+ "one" => 1,
+ "three" => null,
+ "two" => 0
+}
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'example taken from the RFC' );
+{"Image":{"Width":800,"Height":600,"Title":"View from 15th Floor","Thumbnail":{"Url":"http://www.example.com/image/481989943","Height":125,"Width":"100"},"IDs":[116, 943, 234, 38793]}}
+JSON
+"JSON" => Hash {
+ "Image" => Hash {
+ "Height" => 600,
+ "IDs" => ResizablePMCArray (size:4) [
+ 116,
+ 943,
+ 234,
+ 38793
+ ],
+ "Thumbnail" => Hash {
+ "Height" => 125,
+ "Url" => "http://www.example.com/image/481989943",
+ "Width" => "100"
+ },
+ "Title" => "View from 15th Floor",
+ "Width" => 800
+ }
+}
+OUT
+
+json_dump_is(
+ <<'JSON', <<'OUT', 'another example taken from the RFC', todo => 'check number precision' );
+[{"precision":"zip","Latitude":37.7668,"Longitude":-122.3959,"Address":"","City":"SAN FRANCISCO","State":"CA","Zip":"94107","Country":"US"},{"precision":"zip","Latitude":37.371991,"Longitude":-122.026020,"Address":"","City":"SUNNYVALE", "State":"CA", "Zip":"94085", "Country":"US"}]
+JSON
+"JSON" => ResizablePMCArray (size:2) [
+ Hash {
+ "Address" => "",
+ "City" => "SAN FRANCISCO",
+ "Country" => "US",
+ "Latitude" => 37.7668,
+ "Longitude" => -122.3959,
+ "State" => "CA",
+ "Zip" => "94107",
+ "precision" => "zip"
+ },
+ Hash {
+ "Address" => "",
+ "City" => "SUNNYVALE",
+ "Country" => "US",
+ "Latitude" => 37.371991,
+ "Longitude" => -122.026020,
+ "State" => "CA",
+ "Zip" => "94085",
+ "precision" => "zip"
+ }
+]
+OUT
+
+json_dump_is( <<'JSON', <<'OUT', 'random object/array example' );
+[[],[{},{}],{"str":true},{"a":"1","b":{},"c":"2"},[true],false,{"e":[],"d":3}]
+JSON
+"JSON" => ResizablePMCArray (size:7) [
+ ResizablePMCArray (size:0) [
+ ],
+ ResizablePMCArray (size:2) [
+ Hash {
+ },
+ Hash {
+ }
+ ],
+ Hash {
+ "str" => 1
+ },
+ Hash {
+ "a" => "1",
+ "b" => Hash {
+ },
+ "c" => "2"
+ },
+ ResizablePMCArray (size:1) [
+ 1
+ ],
+ 0,
+ Hash {
+ "d" => 3,
+ "e" => ResizablePMCArray (size:0) [
+ ]
+ }
+]
+OUT
+
+# TT #1226 Need many more tests, exercising all aspects of http://www.json.org/
+
+sub json_dump_is {
+ my ( $code, $dumped, $reason, %args ) = @_;
+
+ chomp $code;
+ $code =~ s{("|\\)}{\\$1}g;
+ $code =~ s{\n}{\\n}g;
+
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+ return pir_output_is( <<"END_PIR", $dumped, $reason, %args );
+
+.sub test :main
+ load_language 'data_json'
+ load_bytecode 'dumper.pbc'
+
+ .local pmc JSON, eval, result
+ JSON = compreg 'data_json'
+ eval = JSON.'compile'("$code")
+ result = eval()
+ _dumper(result, "JSON")
+.end
+END_PIR
+
+}
+
+sub json_isnt {
+ my ( $code, $reason, %args ) = @_;
+
+ $code =~ s{("|\\)}{\\$1}g;
+ $code =~ s{\n}{\\n}g;
+
+ return pir_error_output_like( <<"END_PIR", qr/not a valid JSON value/, $reason, %args );
+
+.sub test :main
+ load_language 'data_json'
+
+ .local pmc JSON, eval, result
+
+ JSON = compreg 'data_json'
+ eval = JSON.'compile'("$code")
+ result = eval()
+.end
+END_PIR
+
+}
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/reg/spill.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/reg/spill.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/reg/spill.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/labels.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/labels.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/labels.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/objects.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/objects.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/objects.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/op.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/op.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/op.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/regressions.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/regressions.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/regressions.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -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
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/scope.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/scope.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/scope.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/imcc/syn/veracity.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/imcc/syn/veracity.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/imcc/syn/veracity.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/pct/complete_workflow.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pct/complete_workflow.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pct/complete_workflow.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -94,7 +94,7 @@
# thingy() is executed before TOP.
# So setting $?MY_OUR_VAR here won't affect the generated PAST
our $?MY_OUR_VAR := 'was set in method TOP';
- make $( $<thingy> );
+ make $<thingy>.ast;
}
method thingy($/) {
@@ -126,7 +126,7 @@
method TOP($/) {
our $?MY_OUR_VAR;
- my $past := $( $<thingy> ); # $?MY_OUR_VAR has been set in thingy()
+ my $past := $<thingy>.ast; # $?MY_OUR_VAR has been set in thingy()
$past[0][0].value( 'our var ' ~ $?MY_OUR_VAR );
make $past;
@@ -181,18 +181,18 @@
method TOP($/) {
my $past := PAST::Stmts.new();
- $past.push( $( $<scope_a> ) );
- $past.push( $( $<scope_b> ) );
+ $past.push( $<scope_a>.ast );
+ $past.push( $<scope_b>.ast );
make $past;
}
method scope_a($/) {
- make $( $<thingy> );
+ make $<thingy>.ast;
}
method scope_b($/) {
- make $( $<thingy> );
+ make $<thingy>.ast;
}
method INIT_SCOPE_A($/) {
@@ -244,7 +244,7 @@
method TOP($/) {
my $past := PAST::Stmts.new();
for $<thingy_or_stuff> {
- $past.push( $( $_ ) );
+ $past.push( $_.ast );
}
our $?MY_OUR_VAR;
@@ -254,7 +254,7 @@
}
method thingy_or_stuff($/,$key) {
- make $( $/{$key} );
+ make $/{$key}.ast;
}
method THINGY($/) {
@@ -310,7 +310,7 @@
my $PARROT = "$BUILD_DIR/parrot$PConfig{exe}";
my $PGE_LIBRARY = "$BUILD_DIR/runtime/parrot/library/PGE";
my $PERL6GRAMMAR = "$PGE_LIBRARY/Perl6Grammar.pbc";
- my $NQP = "$BUILD_DIR/compilers/nqp/nqp.pbc";
+ my $NQP = "$BUILD_DIR/parrot-nqp.pbc";
my $tempfile_opts = {
DIR => $TEST_DIR,
Modified: branches/include_dynpmc_makefile/t/compilers/pge/02-match.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/02-match.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/02-match.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/pge/03-optable.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/03-optable.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/03-optable.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/pge/04-compile.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/04-compile.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/04-compile.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2007-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/pge/p5regex/p5rx.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/p5regex/p5rx.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/p5regex/p5rx.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
#!./parrot
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
# vi: ft=pir
@@ -696,7 +696,7 @@
# NOTE: there can be multiple tabs between entries, so skip until
# we have something.
# remove the trailing newline from record
- chopn test_line, 1
+ test_line = chopn test_line, 1
$P1 = split "\t", test_line
@@ -825,27 +825,27 @@
target1:
$I0 = index target, '\n'
if $I0 == -1 goto target2
- substr target, $I0, 2, "\n"
+ target = replace target, $I0, 2, "\n"
goto target1
target2:
$I0 = index target, '\r'
if $I0 == -1 goto target3
- substr target, $I0, 2, "\r"
+ target = replace target, $I0, 2, "\r"
goto target2
target3:
$I0 = index target, '\e'
if $I0 == -1 goto target4
- substr target, $I0, 2, "\e"
+ target = replace target, $I0, 2, "\e"
goto target3
target4:
$I0 = index target, '\t'
if $I0 == -1 goto target5
- substr target, $I0, 2, "\t"
+ target = replace target, $I0, 2, "\t"
goto target4
target5:
$I0 = index target, '\f'
if $I0 == -1 goto target6
- substr target, $I0, 2, "\f"
+ target = replace target, $I0, 2, "\f"
goto target5
target6:
# handle \xHH, hex escape.
@@ -859,7 +859,7 @@
if $I2 > $I1 goto target7
$S0 = substr target, $I2, 2
$S1 = hex_chr($S0)
- substr target, $I0, 4, $S1
+ target = replace target, $I0, 4, $S1
inc x_pos
goto target6
Modified: branches/include_dynpmc_makefile/t/compilers/pge/perl6regex/01-regex.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/perl6regex/01-regex.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/perl6regex/01-regex.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,5 +1,5 @@
#!./parrot
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -237,8 +237,8 @@
# remove /'s
$S0 = substr result, 0, 1
if $S0 != "/" goto bad_line
- substr result, 0, 1, ''
- substr result, -1, 1, ''
+ result = replace result, 0, 1, ''
+ result = replace result, -1, 1, ''
$I0 = index $S1, result
if $I0 == -1 goto is_nok
@@ -276,12 +276,13 @@
.local string message
get_results '0', exception
message = exception
+ print '# '
say message
# remove /'s
$S0 = substr result, 0, 1
if $S0 != "/" goto bad_error
- substr result, 0, 1, ''
- substr result, -1, 1, ''
+ result = replace result, 0, 1, ''
+ result = replace result, -1, 1, ''
$I0 = index message, result
if $I0 == -1 goto bad_error
ok = 1
@@ -313,7 +314,7 @@
# NOTE: there can be multiple tabs between entries, so skip until
# we have something.
# remove the trailing newline from record
- chopn test_line, 1
+ test_line = chopn test_line, 1
$P1 = split "\t", test_line
$I0 = elements $P1 # length of array
@@ -441,27 +442,27 @@
target1:
$I0 = index target, '\n'
if $I0 == -1 goto target2
- substr target, $I0, 2, "\n"
+ target = replace target, $I0, 2, "\n"
goto target1
target2:
$I0 = index target, '\r'
if $I0 == -1 goto target3
- substr target, $I0, 2, "\r"
+ target = replace target, $I0, 2, "\r"
goto target2
target3:
$I0 = index target, '\e'
if $I0 == -1 goto target4
- substr target, $I0, 2, "\e"
+ target = replace target, $I0, 2, "\e"
goto target3
target4:
$I0 = index target, '\t'
if $I0 == -1 goto target5
- substr target, $I0, 2, "\t"
+ target = replace target, $I0, 2, "\t"
goto target4
target5:
$I0 = index target, '\f'
if $I0 == -1 goto target6
- substr target, $I0, 2, "\f"
+ target = replace target, $I0, 2, "\f"
goto target5
target6:
# handle \xHH, hex escape.
@@ -474,7 +475,7 @@
($S0, $I2) = $P0(target, 'x', $I1)
$S3 = substr target, $I1, $I2
$I2 += 2
- substr target, $I0, $I2, $S0
+ target = replace target, $I0, $I2, $S0
goto target6
target7:
.return (target)
Modified: branches/include_dynpmc_makefile/t/compilers/pge/pge-hs.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/pge/pge-hs.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/pge/pge-hs.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/tge/basic.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/tge/basic.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/tge/basic.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/compilers/tge/parser.t
==============================================================================
--- branches/include_dynpmc_makefile/t/compilers/tge/parser.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/compilers/tge/parser.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/configure/testlib/adefectivefoobar
==============================================================================
--- branches/include_dynpmc_makefile/t/configure/testlib/adefectivefoobar Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/configure/testlib/adefectivefoobar Wed Apr 28 19:17:12 2010 (r46116)
@@ -40,7 +40,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/t/configure/testlib/bdefectivefoobar
==============================================================================
--- branches/include_dynpmc_makefile/t/configure/testlib/bdefectivefoobar Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/configure/testlib/bdefectivefoobar Wed Apr 28 19:17:12 2010 (r46116)
@@ -50,7 +50,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/t/configure/testlib/cdefectivefoobar
==============================================================================
--- branches/include_dynpmc_makefile/t/configure/testlib/cdefectivefoobar Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/configure/testlib/cdefectivefoobar Wed Apr 28 19:17:12 2010 (r46116)
@@ -51,7 +51,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/t/configure/testlib/ddefectivefoobar
==============================================================================
--- branches/include_dynpmc_makefile/t/configure/testlib/ddefectivefoobar Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/configure/testlib/ddefectivefoobar Wed Apr 28 19:17:12 2010 (r46116)
@@ -42,7 +42,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Modified: branches/include_dynpmc_makefile/t/configure/testlib/verbosefoobar
==============================================================================
--- branches/include_dynpmc_makefile/t/configure/testlib/verbosefoobar Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/configure/testlib/verbosefoobar Wed Apr 28 19:17:12 2010 (r46116)
@@ -44,7 +44,6 @@
auto::jit
auto::cpu
auto::funcptr
-auto::cgoto
auto::inline
auto::gc
auto::memalign
Deleted: branches/include_dynpmc_makefile/t/distro/meta_yml.t
==============================================================================
--- branches/include_dynpmc_makefile/t/distro/meta_yml.t Wed Apr 28 19:17:12 2010 (r46115)
+++ /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:
Modified: branches/include_dynpmc_makefile/t/dynoplibs/math.t
==============================================================================
--- branches/include_dynpmc_makefile/t/dynoplibs/math.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/dynoplibs/math.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/dynoplibs/obscure.t
==============================================================================
--- branches/include_dynpmc_makefile/t/dynoplibs/obscure.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/dynoplibs/obscure.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/dynpmc/foo2.t
==============================================================================
--- branches/include_dynpmc_makefile/t/dynpmc/foo2.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/dynpmc/foo2.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Copied: branches/include_dynpmc_makefile/t/dynpmc/gziphandle.t (from r46115, trunk/t/dynpmc/gziphandle.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/t/dynpmc/gziphandle.t Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, 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:
+
+
Modified: branches/include_dynpmc_makefile/t/dynpmc/rational.t
==============================================================================
--- branches/include_dynpmc_makefile/t/dynpmc/rational.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/dynpmc/rational.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/dynpmc/subproxy.t
==============================================================================
--- branches/include_dynpmc_makefile/t/dynpmc/subproxy.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/dynpmc/subproxy.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/examples/shootout.t
==============================================================================
--- branches/include_dynpmc_makefile/t/examples/shootout.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/examples/shootout.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -35,7 +35,7 @@
To add a new test, you do not have to modify this script:
1. add your script (toto.pir) to examples/shootout
- 2. put parrot options in the first line (e.g "#!./parrot -Oc -R cgp-jit")
+ 2. put parrot options in the first line (e.g "#!./parrot -Oc")
3. make sure you have default argument values
4. put the expected output as a file : toto.pir_output
5. if you need an input file (to be read from stdin), call it toto.pir_input
@@ -74,15 +74,13 @@
$args =~ s/-j/-C/;
$args =~ s/-Cj/-C/;
}
- unless ( $PConfig{cg_flag} =~ /HAVE/ ) {
- $args =~ s/-Cj/-j/;
+ $args =~ s/-Cj/-j/;
- # Remove any plain -C option.
- $args =~ s/(^|\s)-C(\s|$)/$1$2/;
+ # Remove any plain -C option.
+ $args =~ s/(^|\s)-C(\s|$)/$1$2/;
- # Remove any extra Cs still floating around
- $args =~ s/C//;
- }
+ # Remove any extra Cs still floating around
+ $args =~ s/C//;
# look for input files
my $input = "$file$INPUT_EXT";
Modified: branches/include_dynpmc_makefile/t/examples/tutorial.t
==============================================================================
--- branches/include_dynpmc_makefile/t/examples/tutorial.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/examples/tutorial.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -97,8 +97,8 @@
bc
bc
abcde
-bc
aXYZde
+abcde
END_EXPECTED
'24_string_ops_clone.pir' => << 'END_EXPECTED',
Modified: branches/include_dynpmc_makefile/t/harness
==============================================================================
--- branches/include_dynpmc_makefile/t/harness Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/harness Wed Apr 28 19:17:12 2010 (r46116)
@@ -134,10 +134,6 @@
Turn warnings on.
-=item C<-g>
-
-Run the C<CGoto> core.
-
=item C<-G>
Run the C<GCDebug> core.
@@ -146,14 +142,6 @@
Alias for running with the fast core.
-=item C<-C>
-
-Run the C<CGP> core.
-
-=item C<-S>
-
-Run Switched.
-
=item C<-b>
Run bounds checking enabled.
Modified: branches/include_dynpmc_makefile/t/include/fp_equality.t
==============================================================================
--- branches/include_dynpmc_makefile/t/include/fp_equality.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/include/fp_equality.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/configure.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/configure.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/configure.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/getopt_obj.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/getopt_obj.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/getopt_obj.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/hllmacros.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/hllmacros.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/hllmacros.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/md5.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/md5.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/md5.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/mime_base64.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/mime_base64.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/mime_base64.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/t/library/osutils.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/osutils.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/osutils.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/parrotlib.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/parrotlib.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/parrotlib.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/pcre.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/pcre.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/pcre.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/t/library/protoobject.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/protoobject.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/protoobject.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/rand.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/rand.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/rand.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/range.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/range.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/range.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/tap_parser.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/tap_parser.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/tap_parser.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/test_class.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/test_class.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/test_class.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/test_more.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/test_more.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/test_more.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2005-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/library/uuid.t
==============================================================================
--- branches/include_dynpmc_makefile/t/library/uuid.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/library/uuid.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/include_dynpmc_makefile/t/native_pbc/integer_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/include_dynpmc_makefile/t/native_pbc/number_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/include_dynpmc_makefile/t/native_pbc/string_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/include_dynpmc_makefile/t/oo/attributes.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/attributes.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/attributes.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/composition.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/composition.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/composition.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/inheritance.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/inheritance.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/inheritance.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/isa.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/isa.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/isa.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/metamodel.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/metamodel.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/metamodel.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/methods.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/methods.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/methods.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
@@ -21,12 +21,14 @@
create_library()
- plan(5)
+ plan(6)
loading_methods_from_file()
loading_methods_from_eval()
overridden_find_method()
+ overridden_core_pmc()
+
delete_library()
.end
@@ -126,6 +128,20 @@
.namespace []
+.sub 'overridden_core_pmc'
+ .local string msg
+ msg = "able to invoke overridden method on core PMC (TT #1596)"
+ $P0 = new 'ResizablePMCArray'
+ $I0 = $P0.'foo'()
+ is($I0, 1, msg)
+ .return()
+.end
+
+.namespace ['ResizablePMCArray']
+.sub 'foo' :method
+ .return(1)
+.end
+
# Local Variables:
# mode: pir
# fill-column: 100
Modified: branches/include_dynpmc_makefile/t/oo/mro-c3.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/mro-c3.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/mro-c3.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/names.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/names.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/names.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/new.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/new.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/new.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/ops.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/ops.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/ops.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
@@ -20,7 +20,7 @@
.include 'except_types.pasm'
.include 'test_more.pir'
- plan(18)
+ plan(20)
op_addrole_p_p()
op_inspect_p_p()
@@ -89,6 +89,10 @@
$P3 = $P2.'inspect'('name')
is ($P3, 'Monkey', 'got name of found class')
+ null $S0
+ $P5 = get_class $S0
+ $I2 = isnull $P5
+ is ($I2, 1, 'null p gives null p')
.end
.sub op_get_class_p_p
@@ -113,6 +117,11 @@
$I1 = isa $P2 , 'Class'
ok ($I1, 'get_class with a namespace found a class')
is ($P3, 'Monkey', 'got name of found class')
+
+ null $P5
+ $P6 = get_class $P5
+ $I2 = isnull $P6
+ is ($I2, 1, 'null s gives null p')
.end
.sub op_addattribute_p_s
Modified: branches/include_dynpmc_makefile/t/oo/proxy.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/proxy.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/proxy.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/root_new.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/root_new.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/root_new.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/subclass.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/subclass.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/subclass.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/oo/vtableoverride.t
==============================================================================
--- branches/include_dynpmc_makefile/t/oo/vtableoverride.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/oo/vtableoverride.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2009, Parrot Foundation.
# $Id$
@@ -18,12 +18,23 @@
.sub main :main
.include 'test_more.pir'
- plan(13)
+ plan(14)
newclass_tests()
subclass_tests()
vtable_implies_self_tests()
anon_vtable_tests()
+ invalid_vtable()
+.end
+
+.sub invalid_vtable
+ throws_substring(<<'CODE',' but was used with ', 'invalid :vtable throws an exception')
+ .namespace [ "Test" ]
+ .sub monkey :method :vtable("not_in_the_vtable")
+ .param int key
+ .return("monkey")
+ .end
+CODE
.end
.sub 'newclass_tests'
Modified: branches/include_dynpmc_makefile/t/op/00ff-dos.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/00ff-dos.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/00ff-dos.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/00ff-unix.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/00ff-unix.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/00ff-unix.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
@@ -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/include_dynpmc_makefile/t/op/64bit.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/64bit.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/64bit.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/annotate-old.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/annotate-old.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/annotate-old.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -24,8 +24,8 @@
=cut
TODO: {
- local $TODO = q|fails in fast and cgoto runcores - TT #1135|
- if $ENV{TEST_PROG_ARGS} =~ /--runcore=(fast|cgoto)/;
+ local $TODO = q|fails in fast runcore - TT #1135|
+ if ($ENV{TEST_PROG_ARGS} || '') =~ /--runcore=fast/;
pir_error_output_like( <<CODE, <<OUTPUT, 'unhandled exception from loaded function');
.sub main :main
Modified: branches/include_dynpmc_makefile/t/op/annotate.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/annotate.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/annotate.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/arithmetics.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/arithmetics.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/arithmetics.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/arithmetics_pmc.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/arithmetics_pmc.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/arithmetics_pmc.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/box.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/box.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/box.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/cc_params.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/cc_params.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/cc_params.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/cmp-nonbranch.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/cmp-nonbranch.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/cmp-nonbranch.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/comp.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/comp.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/comp.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/copy.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/copy.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/copy.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/debuginfo.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/debuginfo.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/debuginfo.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -24,11 +24,11 @@
=cut
$ENV{TEST_PROG_ARGS} ||= '';
-my $nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=(fast|cgoto)/
+my $nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
? "\\(unknown file\\)\n-1" : "debuginfo_\\d+\\.pasm\n\\d";
#SKIP: {
-#skip "disabled on fast-core",1 if $ENV{TEST_PROG_ARGS} =~ /--runcore=(fast|cgoto)/;
+#skip "disabled on fast-core",1 if $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/;
pasm_output_like( <<'CODE', <<"OUTPUT", "getline, getfile" );
.pcc_sub main:
@@ -158,7 +158,7 @@
called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
OUTPUT
-$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=(fast|cgoto)/
+$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
? '\(\(unknown file\):-1\)' : '\(xyz.pir:126\)';
pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
@@ -173,7 +173,7 @@
/$nolineno/
OUTPUT
-$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=(fast|cgoto)/
+$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
? '\(\(unknown file\):-1\)' : '\(foo.p6:128\)';
pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
.sub main :main
Modified: branches/include_dynpmc_makefile/t/op/errorson.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/errorson.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/errorson.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/fetch.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/fetch.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/fetch.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/gc-leaky.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/gc-leaky.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/gc-leaky.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/t/op/gc.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/gc.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/gc.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/globals.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/globals.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/globals.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/ifunless.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/ifunless.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/ifunless.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2005, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/inf_nan.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/inf_nan.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/inf_nan.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/integer.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/integer.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/integer.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/interp.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/interp.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/interp.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -154,9 +154,6 @@
$I0 = interpinfo .INTERPINFO_CURRENT_RUNCORE
if $I0 == .PARROT_FUNCTION_CORE goto ok1
if $I0 == .PARROT_FAST_CORE goto ok1
- if $I0 == .PARROT_SWITCH_CORE goto ok1
- if $I0 == .PARROT_CGOTO_CORE goto ok1
- if $I0 == .PARROT_CGP_CORE goto ok1
if $I0 == .PARROT_EXEC_CORE goto ok1
if $I0 == .PARROT_GC_DEBUG_CORE goto ok1
print 'not '
Modified: branches/include_dynpmc_makefile/t/op/io.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/io.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/io.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2008, Parrot Foundation.
# $Id$
@@ -16,19 +16,41 @@
=cut
-.const int TESTS = 4
+.const int TESTS = 5
.sub 'main' :main
.include 'test_more.pir'
plan(TESTS)
+ open_delegates_to_filehandle_pmc()
open_null_filename()
open_null_mode()
open_pipe_for_reading()
open_pipe_for_writing()
.end
+.sub open_delegates_to_filehandle_pmc
+ load_bytecode 'P6object.pbc'
+
+ .local pmc p6meta, interp, classes, classid
+ p6meta = get_root_global ["parrot"], "P6metaclass"
+ p6meta.'new_class'('Testing')
+
+ interp = getinterp
+ classes = interp[0]
+ classid = classes['Testing']
+ $I0 = classes['FileHandle']
+ set classes['FileHandle'], classid
+
+ $P1 = open '/foo'
+ is($P1,42,'open opcode delegates to the open method on the FileHandle PMC')
+
+ # replace the original, so we don't break other tests
+ set classes['FileHandle'], $I0
+
+.end
+
.sub 'open_null_filename'
push_eh open_null_filename_failed
null $S0
@@ -127,7 +149,8 @@
.local pmc pipe
pipe = open command, 'wp'
unless pipe goto open_pipe_for_writing_failed
- pipe.'puts'("ok - open pipe for writing\n")
+
+ pipe.'puts'("ok 5 - open pipe for writing\n")
close pipe
.return ()
@@ -140,6 +163,14 @@
.end
+.namespace ["Testing"]
+
+.sub open :method
+ .param pmc args :slurpy
+ .return(42)
+.end
+
+
# Local Variables:
# mode: pir
# fill-column: 100
Modified: branches/include_dynpmc_makefile/t/op/literal.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/literal.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/literal.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/number.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/number.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/number.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/sprintf.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/sprintf.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/sprintf.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -202,8 +202,8 @@
# remove /'s
$S0 = substr expected, 0, 1
if $S0 != "/" goto eh_bad_line
- substr expected, 0, 1, ''
- substr expected, -1, 1, ''
+ expected = replace expected, 0, 1, ''
+ expected = replace expected, -1, 1, ''
$I0 = index $S1, expected
if $I0 == -1 goto is_nok
@@ -411,7 +411,7 @@
# NOTE: there can be multiple tabs between entries, so skip until
# we have something.
# remove the trailing newline from record
- chopn record, 1
+ record = chopn record, 1
$P1 = split "\t", record
$I0 = elements $P1 # length of array
.local int tab_number
Modified: branches/include_dynpmc_makefile/t/op/sprintf2.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/sprintf2.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/sprintf2.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/string.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/string.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/string.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
@@ -19,7 +19,7 @@
.sub main :main
.include 'test_more.pir'
- plan(399)
+ plan(369)
set_s_s_sc()
test_clone()
@@ -36,19 +36,19 @@
exception_substr_oob()
len_greater_than_strlen()
len_greater_than_strlen_neg_offset()
- 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()
- five_arg_substr_neg_offset_repl_gt_length()
- five_arg_substr_neg_offset_repl_lt_length()
- exception_five_arg_substr_neg_offset_out_of_string()
- five_arg_substr_length_gt_strlen()
- five_arg_substr_length_gt_strlen_neg_offset()
- four_arg_replacement_only_substr()
+ replace_w_rep_eq_length()
+ replace_w_replacement_gt_length()
+ replace_w_replacement_lt_length()
+ replace_vs_hash()
+ replace__offset_at_end_of_string()
+ exception_replace__offset_past_end_of_string()
+ replace_neg_offset_repl_eq_length()
+ replace_neg_offset_repl_gt_length()
+ replace_neg_offset_repl_lt_length()
+ exception_replace_neg_offset_out_of_string()
+ replace_length_gt_strlen()
+ replace_length_gt_strlen_neg_offset()
+ replace_only_substr()
three_arg_substr()
exception_substr__pos_offset_zero_length_string()
substr_offset_zero_zero_length_string()
@@ -57,7 +57,7 @@
zero_length_substr_zero_length_string()
zero_length_substr_zero_length_string()
three_arg_substr_zero_length_string()
- five_arg_substr_zero_length_string()
+ replace_zero_length_string()
four_arg_substr_replace_zero_length_string()
concat_s_s_sc_null_onto_null()
concat_s_sc_repeated_two_arg_concats()
@@ -193,9 +193,6 @@
clone $S1, "Bar1"
is( $S1, "Bar1", '' )
-
- chopn $S1, 1
- is( $S1, "Bar", 'the contents of $S1 are no longer constant' )
.end
.sub clone_null
@@ -224,9 +221,9 @@
set $S5, "japhXYZW"
clone $S3, $S4
set $I1, 4
- chopn $S4, 3
- chopn $S4, 1
- chopn $S5, $I1
+ $S4 = chopn $S4, 3
+ $S4 = chopn $S4, 1
+ $S5 = chopn $S5, $I1
is( $S4, "JAPH", '' )
is( $S5, "japh", '' )
@@ -235,17 +232,17 @@
.sub chopn_oob_values
set $S1, "A string of length 21"
- chopn $S1, 0
+ $S1 = chopn $S1, 0
is( $S1, "A string of length 21", '' )
- chopn $S1, 4
+ $S1 = chopn $S1, 4
is( $S1, "A string of lengt", '' )
# -length cuts now
- chopn $S1, -4
+ $S1 = chopn $S1, -4
is( $S1, "A st", '' )
- chopn $S1, 1000
+ $S1 = chopn $S1, 1000
is( $S1, "", '' )
.end
@@ -369,43 +366,35 @@
is( $S1, "length 21", '' )
.end
-.sub five_arg_substr_w_rep_eq_length
+.sub replace_w_rep_eq_length
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, 4, 3, $S1
- is( $S0, "abcdxyzhijk", '' )
- is( $S1, "xyz", '' )
- is( $S2, "efg", '' )
+ replace $S2, $S0, 4, 3, $S1
+ is( $S2, "abcdxyzhijk", '' )
.end
-.sub five_arg_substr_w_replacement_gt_length
+.sub replace_w_replacement_gt_length
set $S0, "abcdefghijk"
set $S1, "xyz0123"
- substr $S2, $S0, 4, 3, $S1
- is( $S0, "abcdxyz0123hijk", '' )
- is( $S1, "xyz0123", '' )
- is( $S2, "efg", '' )
+ $S2 = replace $S0, 4, 3, $S1
+ is( $S2, "abcdxyz0123hijk", '' )
.end
-.sub five_arg_substr_w_replacement_lt_length
+.sub replace_w_replacement_lt_length
set $S0, "abcdefghijk"
set $S1, "x"
- substr $S2, $S0, 4, 3, $S1
- is( $S0, "abcdxhijk", '' )
- is( $S1, "x", '' )
- is( $S2, "efg", '' )
+ $S2 = replace $S0, 4, 3, $S1
+ is( $S2, "abcdxhijk", '' )
.end
-.sub five_arg_substr__offset_at_end_of_string
- set $S0, "abcdefghijk"
- set $S1, "xyz"
- substr $S2, $S0, 11, 3, $S1
- is( $S0, "abcdefghijkxyz", '' )
- is( $S1, "xyz", '' )
- is( $S2, "", '' )
+.sub replace__offset_at_end_of_string
+ set $S0, "abcdefghijk"
+ set $S1, "xyz"
+ $S2 = replace $S0, 11, 3, $S1
+ is( $S2, "abcdefghijkxyz", '' )
.end
-.sub five_arg_substr_vs_hash
+.sub replace_vs_hash
# Check that string hashval properly updated.
.local pmc hash
hash = new ['Hash']
@@ -414,80 +403,68 @@
hash["foo"] = 42
$S0 = replace $S0, 1, 1, ''
$S1 = hash[$S0]
- is( $S1, '42', 'substr behave it self')
+ is( $S1, '42', 'replace behave it self')
.end
-.sub exception_five_arg_substr__offset_past_end_of_string
+.sub exception_replace__offset_past_end_of_string
set $S0, "abcdefghijk"
set $S1, "xyz"
push_eh handler
- substr $S2, $S0, 12, 3, $S1
+ $S2 = replace $S0, 12, 3, $S1
ok(0,"no exception")
handler:
- .exception_is( "Cannot take substr outside string" )
+ .exception_is( "Can only replace inside string or index after end of string" )
.end
-.sub five_arg_substr_neg_offset_repl_eq_length
+.sub replace_neg_offset_repl_eq_length
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, -3, 3, $S1
- is( $S0, "abcdefghxyz", '' )
- is( $S1, "xyz", '' )
- is( $S2, "ijk", '' )
+ $S2 = replace $S0, -3, 3, $S1
+ is( $S2, "abcdefghxyz", '' )
.end
-.sub five_arg_substr_neg_offset_repl_gt_length
+.sub replace_neg_offset_repl_gt_length
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, -6, 2, $S1
- is( $S0, "abcdexyzhijk", '' )
- is( $S1, "xyz", '' )
- is( $S2, "fg", '' )
+ $S2 = replace $S0, -6, 2, $S1
+ is( $S2, "abcdexyzhijk", '' )
.end
-.sub five_arg_substr_neg_offset_repl_lt_length
+.sub replace_neg_offset_repl_lt_length
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, -6, 4, $S1
- is( $S0, "abcdexyzjk", '' )
- is( $S1, "xyz", '' )
- is( $S2, "fghi", '' )
+ $S2 = replace $S0, -6, 4, $S1
+ is( $S2, "abcdexyzjk", '' )
.end
-.sub exception_five_arg_substr_neg_offset_out_of_string
+.sub exception_replace_neg_offset_out_of_string
set $S0, "abcdefghijk"
set $S1, "xyz"
push_eh handler
- substr $S2, $S0, -12, 4, $S1
+ $S2 = replace $S0, -12, 4, $S1
ok(0,"no exception")
handler:
- .exception_is( "Cannot take substr outside string" )
+ .exception_is( "Can only replace inside string or index after end of string" )
.end
-.sub five_arg_substr_length_gt_strlen
+.sub replace_length_gt_strlen
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, 3, 11, $S1
- is( $S0, "abcxyz", '' )
- is( $S1, "xyz", '' )
- is( $S2, "defghijk", '' )
+ $S2 = replace $S0, 3, 11, $S1
+ is( $S2, "abcxyz", '' )
.end
-.sub five_arg_substr_length_gt_strlen_neg_offset
+.sub replace_length_gt_strlen_neg_offset
set $S0, "abcdefghijk"
set $S1, "xyz"
- substr $S2, $S0, -3, 11, $S1
- is( $S0, "abcdefghxyz", '' )
- is( $S1, "xyz", '' )
- is( $S2, "ijk", '' )
+ $S2 = replace $S0, -3, 11, $S1
+ is( $S2, "abcdefghxyz", '' )
.end
-.sub four_arg_replacement_only_substr
+.sub replace_only_substr
set $S0, "abcdefghijk"
set $S1, "xyz"
$S2 = replace $S0, 3, 3, $S1
- is( $S0, "abcdefghijk", '' )
- is( $S1, "xyz", '' )
is( $S2, "abcxyzghijk", '' )
.end
@@ -547,34 +524,28 @@
is( $S1, "", '' )
.end
-.sub five_arg_substr_zero_length_string
+.sub replace_zero_length_string
set $S0, ""
set $S1, "xyz"
- substr $S2, $S0, 0, 3, $S1
- is( $S0, "xyz", '' )
- is( $S1, "xyz", '' )
- is( $S2, "", '' )
+ $S2 = replace $S0, 0, 3, $S1
+ is( $S2, "xyz", '' )
set $S3, ""
set $S4, "abcde"
- substr $S5, $S3, 0, 0, $S4
- is( $S3, "abcde", '' )
- is( $S4, "abcde", '' )
- is( $S5, "", '' )
+ $S5 = replace $S3, 0, 0, $S4
+ is( $S5, "abcde", '' )
.end
.sub four_arg_substr_replace_zero_length_string
set $S0, ""
set $S1, "xyz"
- substr $S0, 0, 3, $S1
+ $S0 = replace $S0, 0, 3, $S1
is( $S0, "xyz", '' )
- is( $S1, "xyz", '' )
set $S2, ""
set $S3, "abcde"
- substr $S2, 0, 0, $S3
+ $S2 = replace $S2, 0, 0, $S3
is( $S2, "abcde", '' )
- is( $S3, "abcde", '' )
.end
.sub concat_s_s_sc_null_onto_null
@@ -629,8 +600,8 @@
set $S2, "JAPH"
concat $S0, $S2, ""
concat $S1, "", $S2
- chopn $S0, 1
- chopn $S1, 1
+ $S0 = chopn $S0, 1
+ $S1 = chopn $S1, 1
is( $S2, "JAPH", '' )
.end
@@ -1186,7 +1157,7 @@
.sub cow_with_chopn_leaving_original_untouched
set $S0, "ABCD"
clone $S1, $S0
- chopn $S0, 1
+ $S0 = chopn $S0, 1
is( $S0, "ABC", 'COW with chopn leaving original untouched' )
is( $S1, "ABCD", 'COW with chopn leaving original untouched' )
.end
@@ -1486,29 +1457,29 @@
.sub bands_null_string
null $S1
set $S2, "abc"
- bands $S1, $S2
+ $S1 = bands $S1, $S2
null $S3
is( $S1, $S3, 'ok1' )
set $S1, ""
- bands $S1, $S2
+ $S1 = bands $S1, $S2
nok( $S1, 'ok2' )
null $S2
set $S1, "abc"
- bands $S1, $S2
+ $S1 = bands $S1, $S2
null $S3
is( $S1, $S3, 'ok3' )
set $S2, ""
- bands $S1, $S2
+ $S1 = bands $S1, $S2
nok( $S1, 'ok4' )
.end
.sub bands_2
set $S1, "abc"
set $S2, "EE"
- bands $S1, $S2
+ $S1 = bands $S1, $S2
is( $S1, "A@", 'bands 2' )
is( $S2, "EE", 'bands 2' )
.end
@@ -1525,33 +1496,33 @@
.sub bands_cow
set $S1, "foo"
substr $S2, $S1, 0, 3
- bands $S1, "bar"
+ $S1 = bands $S1, "bar"
is( $S2, "foo", 'bands COW' )
.end
.sub bors_null_string
null $S1
null $S2
- bors $S1, $S2
+ $S1 = bors $S1, $S2
null $S3
is( $S1, $S3, 'bors NULL string' )
null $S1
set $S2, ""
- bors $S1, $S2
+ $S1 = bors $S1, $S2
null $S3
is( $S1, $S3, 'bors NULL string' )
- bors $S2, $S1
+ $S2 = bors $S2, $S1
is( $S2, $S3, 'bors NULL string' )
null $S1
set $S2, "def"
- bors $S1, $S2
+ $S1 = bors $S1, $S2
is( $S1, "def", 'bors NULL string' )
null $S2
- bors $S1, $S2
+ $S1 = bors $S1, $S2
is( $S1, "def", 'bors NULL string' )
null $S1
@@ -1578,7 +1549,7 @@
.sub bors_2
set $S1, "abc"
set $S2, "EE"
- bors $S1, $S2
+ $S1 = bors $S1, $S2
is( $S1, "egc", 'bors 2' )
is( $S2, "EE", 'bors 2' )
.end
@@ -1595,33 +1566,33 @@
.sub bors_cow
set $S1, "foo"
substr $S2, $S1, 0, 3
- bors $S1, "bar"
+ $S1 = bors $S1, "bar"
is( $S2, "foo", 'bors COW' )
.end
.sub bxors_null_string
null $S1
null $S2
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
null $S3
is( $S1, $S3, 'bxors NULL string' )
null $S1
set $S2, ""
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
null $S3
is( $S1, $S3, 'bxors NULL string' )
- bxors $S2, $S1
+ $S2 = bxors $S2, $S1
is( $S2, $S3, 'bxors NULL string' )
null $S1
set $S2, "abc"
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
is( $S1, "abc", 'bxors NULL string' )
null $S2
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
is( $S1, "abc", 'bxors NULL string' )
null $S1
@@ -1648,13 +1619,13 @@
.sub bxors_2
set $S1, "a2c"
set $S2, "Dw"
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
is( $S1, "%Ec", 'bxors 2' )
is( $S2, "Dw", 'bxors 2' )
set $S1, "abc"
set $S2, " X"
- bxors $S1, $S2
+ $S1 = bxors $S1, $S2
is( $S1, "ABCX", 'bxors 2' )
is( $S2, " X", 'bxors 2' )
.end
@@ -1678,7 +1649,7 @@
.sub bxors_cow
set $S1, "foo"
substr $S2, $S1, 0, 3
- bxors $S1, "bar"
+ $S1 = bxors $S1, "bar"
is( $S2, "foo", 'bxors COW' )
.end
@@ -1830,9 +1801,6 @@
upcase $S1, $S0
is( $S1, "ABCD012YZ", 'upcase' )
- upcase $S0
- is( $S0, "ABCD012YZ", 'upcase inplace' )
-
push_eh catch1
null $S9
null $S0
@@ -1849,7 +1817,7 @@
push_eh catch2
null $S9
null $S0
- upcase $S0
+ $S0 = upcase $S0
pop_eh
goto null2
catch2:
@@ -1865,9 +1833,6 @@
downcase $S1, $S0
is( $S1, "abcd012yz", 'downcase' )
- downcase $S0
- is( $S0, "abcd012yz", 'downcase inplace' )
-
push_eh catch1
null $S9
null $S0
@@ -1884,7 +1849,7 @@
push_eh catch2
null $S9
null $S0
- downcase $S0
+ $S0 = downcase $S0
pop_eh
goto null2
catch2:
@@ -1900,9 +1865,6 @@
titlecase $S1, $S0
is( $S1, "Abcd012yz", 'titlecase' )
- titlecase $S0
- is( $S0, "Abcd012yz", 'titlecase inplace' )
-
push_eh catch1
null $S9
null $S0
@@ -1919,7 +1881,7 @@
push_eh catch2
null $S9
null $S0
- titlecase $S0
+ $S0 = titlecase $S0
pop_eh
goto null2
catch2:
@@ -2037,7 +1999,7 @@
.param string s
$I0 = index s, '::'
is( s, "Foo::Bar", 'bug 60030' )
- substr s, $I0, 2, "/"
+ s = replace s, $I0, 2, "/"
is( s, "Foo/Bar", 'bug 60030' )
collect
is( s, "Foo/Bar", 'bug 60030' )
Modified: branches/include_dynpmc_makefile/t/op/string_cmp.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/string_cmp.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/string_cmp.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/string_cs.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/string_cs.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/string_cs.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -6,7 +6,7 @@
use warnings;
use lib qw( . lib ../lib ../../lib );
use Test::More;
-use Parrot::Test tests => 52;
+use Parrot::Test tests => 47;
use Parrot::Config;
=head1 NAME
@@ -263,48 +263,16 @@
iso-8859-1
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_i" );
- set S1, "abc"
- find_charset I0, "iso-8859-1"
- trans_charset S1, I0
- print S1
- print "\n"
- charset I0, S1
- charsetname S2, I0
- print S2
- print "\n"
- end
-CODE
-abc
-iso-8859-1
-OUTPUT
-
-pasm_error_output_like( <<'CODE', <<OUTPUT, "trans_charset_s_i - lossy" );
+pasm_error_output_like( <<'CODE', <<OUTPUT, "trans_charset_s_s_i - lossy" );
set S1, iso-8859-1:"abcä"
find_charset I0, "ascii"
- trans_charset S1, I0
+ trans_charset S2, S1, I0
print "never\n"
end
CODE
/lossy conversion to ascii/
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_i - same" );
- set S1, ascii:"abc"
- find_charset I0, "ascii"
- trans_charset S1, I0
- print S1
- print "\n"
- charset I0, S1
- charsetname S2, I0
- print S2
- print "\n"
- end
-CODE
-abc
-ascii
-OUTPUT
-
pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_s_i iso-8859-1 to binary" );
set S0, iso-8859-1:"abc"
find_charset I0, "binary"
@@ -321,22 +289,6 @@
binary
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_i iso-8859-1 to binary" );
- set S1, iso-8859-1:"abc"
- find_charset I0, "binary"
- trans_charset S1, I0
- print S1
- print "\n"
- charset I0, S1
- charsetname S2, I0
- print S2
- print "\n"
- end
-CODE
-abc
-binary
-OUTPUT
-
pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_s_i ascii to binary" );
set S0, ascii:"abc"
find_charset I0, "binary"
@@ -353,22 +305,6 @@
binary
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_i ascii to binary" );
- set S1, ascii:"abc"
- find_charset I0, "binary"
- trans_charset S1, I0
- print S1
- print "\n"
- charset I0, S1
- charsetname S2, I0
- print S2
- print "\n"
- end
-CODE
-abc
-binary
-OUTPUT
-
pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_s_i ascii to iso-8859-1" );
set S0, ascii:"abc"
find_charset I0, "iso-8859-1"
@@ -385,22 +321,6 @@
iso-8859-1
OUTPUT
-pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_i ascii to iso-8859-1" );
- set S1, ascii:"abc"
- find_charset I0, "iso-8859-1"
- trans_charset S1, I0
- print S1
- print "\n"
- charset I0, S1
- charsetname S2, I0
- print S2
- print "\n"
- end
-CODE
-abc
-iso-8859-1
-OUTPUT
-
pasm_output_is( <<'CODE', <<OUTPUT, "trans_charset_s_s_i iso-8859-1 to unicode" );
set S0, iso-8859-1:"abc_ä_"
find_charset I0, "unicode"
@@ -495,7 +415,7 @@
set $S0, iso-8859-1:"TÖTSCH"
find_charset $I0, "unicode"
trans_charset $S1, $S0, $I0
- downcase $S1
+ $S1 = downcase $S1
getstdout $P0 # need to convert back to utf8
$P0.'encoding'("utf8") # set utf8 output
print $S1
@@ -506,13 +426,13 @@
t\xc3\xb6tsch
OUTPUT
- pasm_output_is( <<'CODE', <<"OUTPUT", "unicode downcase, trans_charset_s_i" );
+ pasm_output_is( <<'CODE', <<"OUTPUT", "unicode downcase, trans_charset_s_s_i" );
set S0, iso-8859-1:"TÖTSCH"
find_charset I0, "unicode"
trans_charset S1, S0, I0
- downcase S1
+ downcase S1, S1
find_charset I0, "iso-8859-1"
- trans_charset S1, I0
+ trans_charset S1, S1, I0
print S1
print "\n"
end
@@ -531,7 +451,7 @@
set S0, iso-8859-1:"TÖTSCH"
find_charset I0, "unicode"
trans_charset S1, S0, I0
- downcase S1
+ downcase S1, S1
find_encoding I0, "utf8"
trans_encoding S2, S1, I0
print S2
@@ -568,7 +488,7 @@
set S0, iso-8859-1:"TTÖÖ"
find_charset I0, "unicode"
trans_charset S1, S0, I0
- chopn S1, 2
+ chopn S1, S1, 2
print S1
print ' '
length I0, S1
@@ -653,7 +573,8 @@
trans_charset S1, S0, I0
find_encoding I0, "utf16"
trans_encoding S1, S1, I0
- substr S2, S1, 1, 1, "oe"
+ substr S2, S1, 1, 1
+ replace S1, S1, 1, 1, "oe"
find_encoding I0, "utf8"
trans_encoding S2, S2, I0
trans_encoding S1, S1, I0
@@ -671,7 +592,7 @@
set S0, iso-8859-1:"TÖTSCH"
find_charset I0, "unicode"
trans_charset S1, S0, I0
- downcase S1
+ downcase S1, S1
set S2, iso-8859-1:"öt"
index I0, S1, S2
print I0
@@ -685,7 +606,7 @@
set S0, iso-8859-1:"TÖTSCH"
find_charset I0, "unicode"
trans_charset S1, S0, I0
- downcase S1
+ downcase S1, S1
set S2, iso-8859-1:"öt"
index I0, S1, S2
print I0
@@ -705,7 +626,7 @@
set $S0, iso-8859-1:"tötsch"
find_charset $I0, "unicode"
trans_charset $S1, $S0, $I0
- upcase $S1
+ upcase $S1, $S1
getstdout $P0 # need to convert back to utf8
$P0.'encoding'("utf8") # set utf8 output
print $S1
@@ -719,7 +640,7 @@
pir_output_is( <<'CODE', <<"OUTPUT", "unicode upcase to combined char" );
.sub main :main
set $S1, unicode:"hacek j \u01f0"
- upcase $S1
+ upcase $S1, $S1
getstdout $P0 # need to convert back to utf8
$P0.'encoding'("utf8") # set utf8 output
print $S1
@@ -749,7 +670,7 @@
pir_output_is( <<'CODE', <<"OUTPUT", "unicode upcase to combined char 3.2 bug?" );
.sub main :main
set $S1, unicode:"___\u01f0123"
- upcase $S1
+ upcase $S1, $S1
getstdout $P0 # need to convert back to utf8
$P0.'encoding'("utf8") # set utf8 output
print $S1
@@ -765,7 +686,7 @@
set $S0, iso-8859-1:"tötsch leo"
find_charset $I0, "unicode"
trans_charset $S1, $S0, $I0
- titlecase $S1
+ titlecase $S1, $S1
getstdout $P0 # need to convert back to utf8
$P0.'encoding'("utf8") # set utf8 output
print $S1
@@ -780,9 +701,9 @@
.sub main :main
set $S1, unicode:"___\u01f0___"
length $I0, $S1
- upcase $S1 # decompose J+hacek
+ upcase $S1, $S1 # decompose J+hacek
length $I1, $S1 # 1 longer
- downcase $S1 # j+hacek
+ downcase $S1, $S1 # j+hacek
length $I2, $S1
compose $S1, $S1
length $I3, $S1 # back at original string
Modified: branches/include_dynpmc_makefile/t/op/stringu.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/stringu.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/stringu.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -256,7 +256,7 @@
set S0, "AAAAAAAAAA\\u666"
set I0, 0x666
chr S1, I0
- substr S0, 10, 5, S1
+ replace S0, S0, 10, 5, S1
print S0
print "\n"
end
Modified: branches/include_dynpmc_makefile/t/op/time.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/time.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/time.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/trans.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/trans.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/trans.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/op/vivify.t
==============================================================================
--- branches/include_dynpmc_makefile/t/op/vivify.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/op/vivify.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pharness/02-get_test_prog_args.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pharness/02-get_test_prog_args.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pharness/02-get_test_prog_args.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -13,7 +13,7 @@
};
plan( skip_all => 't/harness only runs once configuration has completed' )
if $@;
-plan( tests => 16 );
+plan( tests => 12 );
use Carp;
use Parrot::Harness::Options qw( get_test_prog_args );
@@ -28,7 +28,6 @@
($gc_debug, $run_exec) = (0,0);
$args = get_test_prog_args($optsref, $gc_debug, $run_exec);
like($args, qr/-d/, "Got expected option");
-like($args, qr/--runcore=cgoto/, "Got expected option");
like($args, qr/-D40/, "Got expected option");
$optsref = {
@@ -40,7 +39,6 @@
($gc_debug, $run_exec) = (0,0);
$args = get_test_prog_args($optsref, $gc_debug, $run_exec);
like($args, qr/-d/, "Got expected option");
-like($args, qr/--runcore=cgoto/, "Got expected option");
like($args, qr/-D40/, "Got expected option");
like($args, qr/-O2/, "Got expected option");
@@ -52,7 +50,6 @@
($gc_debug, $run_exec) = (1,0);
$args = get_test_prog_args($optsref, $gc_debug, $run_exec);
like($args, qr/-d/, "Got expected option");
-like($args, qr/--runcore=cgoto/, "Got expected option");
like($args, qr/-D40/, "Got expected option");
like($args, qr/\s--gc-debug/, "Got expected option");
@@ -64,7 +61,6 @@
($gc_debug, $run_exec) = (0,1);
$args = get_test_prog_args($optsref, $gc_debug, $run_exec);
like($args, qr/-d/, "Got expected option");
-like($args, qr/--runcore=cgoto/, "Got expected option");
like($args, qr/-D40/, "Got expected option");
like($args, qr/\s--run-exec/, "Got expected option");
Modified: branches/include_dynpmc_makefile/t/pir/macro.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pir/macro.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pir/macro.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pir/registernames.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pir/registernames.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pir/registernames.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/addrregistry.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/addrregistry.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/addrregistry.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/arrayiterator.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/arrayiterator.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/arrayiterator.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/bigint.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/bigint.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/bigint.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
@@ -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,20 +70,16 @@
lt $I2, 4, OldLibGMP
Config2:
- print 'Suitable GMP version ['
- print $S3
- say '] available'
+ diag( 'Suitable GMP version [', $S3, '] available' )
goto ret
NoLibGMP:
- say 'No BigInt Lib configured'
+ diag( 'No BigInt Lib configured' )
skip(34)
exit 0
OldLibGMP:
- print 'Buggy GMP version ['
- print $S3
- say '] with huge digit multiply - please upgrade'
+ diag( 'Buggy GMP version [', $S3, '] with huge digit multiply - please upgrade' )
skip(34)
exit 0
@@ -567,7 +563,7 @@
goto esz
esz:
- print 'Using '
+ print '# Using '
$I0 = mul $I0, 8
print $I0
print '-bit Integers ['
Modified: branches/include_dynpmc_makefile/t/pmc/boolean.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/boolean.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/boolean.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2007, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/callcontext.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/callcontext.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/callcontext.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/capture.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/capture.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/capture.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/class.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/class.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/class.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/codestring.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/codestring.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/codestring.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/complex.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/complex.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/complex.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/config.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/config.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/config.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -49,7 +49,7 @@
cfg = _config()
$S1 = cfg['osname']
if $S1 != 'MSWin32' goto sayit
- downcase $S0
+ $S0 = downcase $S0
sayit:
print $S0
.end
Modified: branches/include_dynpmc_makefile/t/pmc/context.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/context.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/context.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/continuation.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/continuation.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/continuation.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/default.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/default.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/default.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/env.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/env.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/env.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/eventhandler.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/eventhandler.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/eventhandler.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/exception.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/exception.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/exception.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/exceptionhandler.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/exceptionhandler.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/exceptionhandler.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/fixedbooleanarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/fixedbooleanarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/fixedbooleanarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/fixedfloatarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/fixedfloatarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/fixedfloatarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/fixedintegerarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/fixedintegerarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/fixedintegerarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/fixedpmcarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/fixedpmcarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/fixedpmcarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/fixedstringarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/fixedstringarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/fixedstringarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/float.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/float.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/float.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/handle.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/handle.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/handle.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/hash.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/hash.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/hash.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/hashiterator.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/hashiterator.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/hashiterator.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/imageio.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/imageio.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/imageio.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/imageiosize.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/imageiosize.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/imageiosize.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/integer.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/integer.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/integer.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/io.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/io.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/io.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -407,7 +407,7 @@
LINE:
\$S1 = readline \$P1
unless \$S1 goto SUCCESS
- chopn \$S1, 1
+ \$S1 = chopn \$S1, 1
NEXT_NR:
\$I1 = length \$S1
@@ -415,7 +415,7 @@
\$S2 = ""
SPLIT:
\$S3 = substr \$S1, 0, 1
- \$S1 = substr 0, 1, ""
+ \$S1 = replace \$S1, 0, 1, ""
if \$S3 == " " goto GOT_NR
\$S2 = concat \$S2, \$S3
goto SPLIT
@@ -615,7 +615,7 @@
# Extract part of the read in file
.local string head_from_file
- substr head_from_file, from_file, 0, 5, ''
+ head_from_file = substr from_file, 0, 5
say head_from_file
end
@@ -646,23 +646,20 @@
.local string sub_3
sub_3 = ''
substr sub_1, line, 0, 3
- substr sub_2, line, 0, 3, ''
- substr sub_3, line, 0, 3, ''
+ substr sub_2, line, 3, 3
+ line = replace line, 0, 6, ''
print "line: "
print line
print "sub_1: "
say sub_1
print "sub_2: "
say sub_2
- print "sub_3: "
- say sub_3
end
.end
CODE
line: 6789ABCDEFGHIJKLMNOPQRSTUVWXYZ
sub_1: 012
-sub_2: 012
-sub_3: 345
+sub_2: 345
OUTPUT
pir_error_output_like( <<'CODE', <<'OUT', 'read on null PMC throws exception');
Modified: branches/include_dynpmc_makefile/t/pmc/key.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/key.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/key.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
@@ -129,7 +129,7 @@
loop:
unless iterator goto end
elem = shift iterator
- $S0 = substr elem, 0, 1, ''
+ $S0 = replace elem, 0, 1, ''
goto loop
end:
.return('')
Modified: branches/include_dynpmc_makefile/t/pmc/lexinfo.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/lexinfo.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/lexinfo.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/lexpad.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/lexpad.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/lexpad.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/managedstruct.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/managedstruct.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/managedstruct.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/namespace-subs.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/namespace-subs.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/namespace-subs.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/namespace.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/namespace.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/namespace.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
@@ -282,7 +282,6 @@
$I0 = isnull $P0
is($I0, 0, "Find Sub in an ISO-8859-1 NameSpace looked up by a Unicode name")
$S0 = $P0()
- say $S0
is($S0, iso-8859-1:"Fran\x{E7}ois", "ISO-8859 NameSpace with Unicode name")
goto end_test8
eh8:
Modified: branches/include_dynpmc_makefile/t/pmc/null.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/null.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/null.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/object.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/object.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/object.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/objects.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/objects.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/objects.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/opcode.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/opcode.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/opcode.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/oplib.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/oplib.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/oplib.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfile.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfile.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfile.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfileannotation.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfileannotation.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfileannotation.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfileannotations.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfileannotations.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfileannotations.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfileconstanttable.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfileconstanttable.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfileconstanttable.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfiledirectory.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfiledirectory.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfiledirectory.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfilefixupentry.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfilefixupentry.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfilefixupentry.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfilefixuptable.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfilefixuptable.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfilefixuptable.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfilerawsegment.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfilerawsegment.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfilerawsegment.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/packfilesegment.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/packfilesegment.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/packfilesegment.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2009-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/parrotclass.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/parrotclass.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/parrotclass.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/parrotinterpreter.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/parrotinterpreter.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/parrotinterpreter.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#!parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/parrotlibrary.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/parrotlibrary.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/parrotlibrary.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/parrotrunningthread.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/parrotrunningthread.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/parrotrunningthread.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/parrotthread.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/parrotthread.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/parrotthread.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/pmcproxy.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/pmcproxy.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/pmcproxy.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/pointer.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/pointer.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/pointer.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/prop.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/prop.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/prop.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/resizablebooleanarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/resizablebooleanarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/resizablebooleanarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2007, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/resizablefloatarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/resizablefloatarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/resizablefloatarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/resizableintegerarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/resizableintegerarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/resizableintegerarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/resizablepmcarray.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/resizablepmcarray.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/resizablepmcarray.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/ro.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/ro.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/ro.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/role.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/role.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/role.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/scalar.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/scalar.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/scalar.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/scheduler.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/scheduler.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/scheduler.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2007-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/schedulermessage.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/schedulermessage.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/schedulermessage.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/sockaddr.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/sockaddr.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/sockaddr.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/socket.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/socket.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/socket.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/string.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/string.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/string.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
@@ -20,14 +20,13 @@
.sub main :main
.include 'test_more.pir'
- plan(171)
+ plan(167)
set_or_get_strings()
setting_integers()
setting_numbers()
ensure_that_concat_ppp_copies_strings()
ensure_that_concat_pps_copies_strings()
- assigning_string_copies()
test_repeat()
test_repeat_without_creating_dest_pmc()
test_repeat_int()
@@ -50,7 +49,6 @@
bnots_null_string()
test_eq_str()
test_ne_str()
- set_const_and_chop()
check_whether_interface_is_done()
test_clone()
test_set_px_i()
@@ -202,16 +200,6 @@
is( $P0, 'fnarghGrunties', 'concat success' )
.end
-.sub assigning_string_copies
- new $P0, ['String']
- set $S0, "C2H5OH + 10H20"
- assign $P0, $S0
- chopn $S0, 8
-
- is( $S0, 'C2H5OH', 'removed the last 8 from string' )
- is( $P0, 'C2H5OH + 10H20', '...and the assigned PMC is a copy' )
-.end
-
.sub test_repeat
new $P0, ['String']
set $P0, "x"
@@ -758,15 +746,6 @@
OK4: ok( $I0, 'ne_str "0(Integer), "ABC" -> true' )
.end
-.sub set_const_and_chop
- new $P0, ['String']
- set $P0, "str"
- set $S0, $P0
- chopn $S0, 2
- is( $P0, 'str', 'original not touched' )
- is( $S0, 's', 'string chopn' )
-.end
-
.sub check_whether_interface_is_done
.local pmc pmc1
pmc1 = new ['String']
@@ -900,7 +879,7 @@
$P0 = "Foo44"
$S0 = $P0
- substr $S0, 0, 1, "B"
+ $S0 = replace $S0, 0, 1, "B"
is( $S0, "Boo44", 'substr replace' )
is( $P0, "Foo44", '... no change to original' )
.end
Modified: branches/include_dynpmc_makefile/t/pmc/stringiterator.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/stringiterator.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/stringiterator.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/undef.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/undef.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/undef.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2001-2009, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/pmc/unmanagedstruct.t
==============================================================================
--- branches/include_dynpmc_makefile/t/pmc/unmanagedstruct.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/pmc/unmanagedstruct.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -1,4 +1,4 @@
-#! parrot
+#!./parrot
# Copyright (C) 2006-2008, Parrot Foundation.
# $Id$
Modified: branches/include_dynpmc_makefile/t/run/exit.t
==============================================================================
--- branches/include_dynpmc_makefile/t/run/exit.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/run/exit.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -74,7 +74,7 @@
my $pirfile = IO::File->new(">$pirfn");
$pirfile->print("Parse error.\n");
$pirfile->close();
-my $rv = system("$PARROT -o $pbcfn $pirfn") >> 8;
+my $rv = system(qq|$PARROT -o $pbcfn $pirfn $redir > $redir 2> $redir|) >> 8;
isnt($rv, 0, "parrot returns error on parse failure\n");
ok(! -e $pbcfn, "parrot doesn't create outfile on parse failure\n");
Deleted: branches/include_dynpmc_makefile/t/steps/auto/cgoto-01.t
==============================================================================
--- branches/include_dynpmc_makefile/t/steps/auto/cgoto-01.t Wed Apr 28 19:17:12 2010 (r46115)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,139 +0,0 @@
-#! perl
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-# auto/cgoto-01.t
-
-use strict;
-use warnings;
-use Test::More tests => 25;
-use Carp;
-use lib qw( lib t/configure/testlib );
-use_ok('config::auto::cgoto');
-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 );
-
-
-########### regular ###########
-
-my ($args, $step_list_ref) = process_options( {
- argv => [ ],
- mode => q{configure},
-} );
-
-my $conf = Parrot::Configure::Step::Test->new;
-$conf->include_config_results( $args );
-
-my $serialized = $conf->pcfreeze();
-
-my $pkg = q{auto::cgoto};
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-my $step = test_step_constructor_and_description($conf);
-my $ret = $step->runstep($conf);
-ok( $ret, "runstep() returned true value" );
-ok(defined($step->result()), "A result was defined");
-ok(defined($conf->data->get('cg_flag')), "An attribute has been defined");
-
-$conf->replenish($serialized);
-
-########### _probe_for_cgoto() ###########
-
-($args, $step_list_ref) = process_options( {
- argv => [ ],
- mode => q{configure},
-} );
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-$conf->options->set(cgoto => 1);
-is(auto::cgoto::_probe_for_cgoto($conf), 1,
- "Got expected return value");
-$conf->options->set(cgoto => 0);
-is(auto::cgoto::_probe_for_cgoto($conf), 0,
- "Got expected return value");
-$conf->options->set(cgoto => undef);
-ok(defined(auto::cgoto::_probe_for_cgoto($conf)),
- "Probe returned a defined value");
-
-########### _evaluate_cgoto() ###########
-
-$step->_evaluate_cgoto($conf, 1);
-ok($conf->data->get('cg_flag'), "An attribute was set to true value");
-is($step->result(), q{yes}, "Expected result was set");
-
-$step->_evaluate_cgoto($conf, 0);
-is($conf->data->get('cg_flag'), q{}, "An attribute was set to empty string");
-is($step->result(), q{no}, "Expected result was set");
-
-$conf->replenish($serialized);
-
-($args, $step_list_ref) = process_options( {
- argv => [ ],
- mode => q{configure},
-} );
-
-$conf->add_steps($pkg);
-$conf->options->set( %{$args} );
-$step = test_step_constructor_and_description($conf);
-{
- my $stdout;
- capture(
- sub { $step->_evaluate_cgoto($conf, 1) },
- \$stdout
- );
- ok($conf->data->get('cg_flag'), "An attribute was set to true value");
- is($step->result(), q{yes}, "Expected result was set");
-}
-
-{
- my $stdout;
- capture(
- sub { $step->_evaluate_cgoto($conf, 0) },
- \$stdout
- );
- is($conf->data->get('cg_flag'), q{},
- "An attribute was set to empty string");
- is($step->result(), q{no}, "Expected result was set");
-}
-
-
-pass("Completed all tests in $0");
-
-################### DOCUMENTATION ###################
-
-=head1 NAME
-
-auto/cgoto-01.t - test auto::cgoto
-
-=head1 SYNOPSIS
-
- % prove t/steps/auto/cgoto-01.t
-
-=head1 DESCRIPTION
-
-The files in this directory test functionality used by F<Configure.pl>.
-
-The tests in this file test auto::cgoto.
-
-=head1 AUTHOR
-
-James E Keenan
-
-=head1 SEE ALSO
-
-config::auto::cgoto, F<Configure.pl>.
-
-=cut
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Copied: branches/include_dynpmc_makefile/t/steps/auto/zlib-01.t (from r46115, trunk/t/steps/auto/zlib-01.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/include_dynpmc_makefile/t/steps/auto/zlib-01.t Wed Apr 28 19:17:12 2010 (r46116, copy of r46115, 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/include_dynpmc_makefile/t/tools/install/testlib/README
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/install/testlib/README Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/install/testlib/README Wed Apr 28 19:17:12 2010 (r46116)
@@ -104,14 +104,6 @@
perldoc -F docs/intro.pod
-NOTES
------
-
-On some older computers with little RAM, the computed-goto dispatch core
-(ops/core_ops_cg.c) may take a while to compile or may fail to compile at all.
-You can pass a flag to Configure.pl (--cgoto=0) to disable the computed-goto
-core, at a slight cost in runtime speed.
-
CHANGES
-------
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/01-new.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/01-new.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/01-new.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 19;
+use Test::More tests => 15;
use Carp;
use Cwd;
use File::Copy;
@@ -87,19 +87,15 @@
"Constructor correctly returned undef due to bad class name command-line argument" );
like(
$stderr,
- qr/Parrot::Ops2c::Utils::new\(\) requires C, CGoto, CGP, CSwitch and\/or CPrederef/,
+ qr/Parrot::Ops2c::Utils::new\(\) requires C/,
"Got correct error message"
);
}
test_single_trans(q{C});
- test_single_trans(q{CGoto});
- test_single_trans(q{CGP});
- test_single_trans(q{CSwitch});
- test_single_trans(q{CPrederef});
{
- local @ARGV = qw( C CGoto CGP CSwitch CPrederef );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{ argv => [@ARGV], flag => { core => 1 } }
);
@@ -107,7 +103,7 @@
}
{
- local @ARGV = qw( C CGoto CGP CSwitch CPrederef );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{
argv => [@ARGV],
@@ -146,7 +142,7 @@
sub test_single_trans {
my $trans = shift;
- my %available = map { $_, 1 } qw( C CGoto CGP CSwitch CPrederef );
+ my %available = map { $_, 1 } qw( C );
croak "Bad argument $trans to test_single_trans()"
unless $available{$trans};
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/03-print_c_header_file.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/03-print_c_header_file.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/03-print_c_header_file.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 24;
+use Test::More tests => 12;
use Carp;
use Cwd;
use File::Copy;
@@ -47,13 +47,9 @@
require Parrot::Ops2c::Utils;
test_single_trans_and_header(q{C});
- test_single_trans_and_header(q{CGoto});
- test_single_trans_and_header(q{CGP});
- test_single_trans_and_header(q{CSwitch});
- test_single_trans_and_header(q{CPrederef});
{
- local @ARGV = qw( C CGoto CGP CSwitch CPrederef );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{
argv => [@ARGV],
@@ -73,7 +69,7 @@
sub test_single_trans_and_header {
my $trans = shift;
- my %available = map { $_, 1 } qw( C CGoto CGP CSwitch CPrederef );
+ my %available = map { $_, 1 } qw( C );
croak "Bad argument $trans to test_single_trans()"
unless $available{$trans};
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/04-print_c_source_top.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/04-print_c_source_top.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/04-print_c_source_top.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 26;
+use Test::More tests => 10;
use Carp;
use Cwd;
use File::Copy;
@@ -47,10 +47,6 @@
require Parrot::Ops2c::Utils;
test_print_c_source_top( [qw( C )] );
- test_print_c_source_top( [qw( CGoto )] );
- test_print_c_source_top( [qw( CGP )] );
- test_print_c_source_top( [qw( CSwitch )] );
- test_print_c_source_top( [qw( C CGoto CGP CSwitch CPrederef )] );
ok( chdir($cwd), "returned to starting directory" );
}
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/05-print_c_source_bottom.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/05-print_c_source_bottom.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/05-print_c_source_bottom.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 26;
+use Test::More tests => 10;
use Carp;
use Cwd;
use File::Copy;
@@ -48,10 +48,6 @@
require Parrot::Ops2c::Utils;
test_print_c_source_bottom( [qw( C )] );
- test_print_c_source_bottom( [qw( CGoto )] );
- test_print_c_source_bottom( [qw( CGP )] );
- test_print_c_source_bottom( [qw( CSwitch )] );
- test_print_c_source_bottom( [qw( C CGoto CGP CSwitch CPrederef )] );
ok( chdir($cwd), "returned to starting directory" );
}
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/06-dynamic.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/06-dynamic.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/06-dynamic.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 27;
+use Test::More tests => 15;
use Carp;
use Cwd;
use File::Copy;
@@ -55,16 +55,13 @@
}
chdir "src/dynoplibs" or croak "Unable to change to src/dynoplibs: $!";
- test_dynops( [qw( CGoto obscure.ops )] );
- test_dynops( [qw( CGP obscure.ops )] );
- test_dynops( [qw( C obscure.ops )] );
- test_dynops( [qw( CSwitch obscure.ops )] );
+ test_dynops( [qw( C obscure.ops )] );
{
my ($self, $stdout, $stderr);
capture(
sub { $self = Parrot::Ops2c::Utils->new( {
- argv => [qw( CSwitch obscure.ops obscure.ops )],
+ argv => [qw( C obscure.ops obscure.ops )],
flag => { dynamic => 1 },
} ); },
\$stdout,
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/07-make_incdir.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/07-make_incdir.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/07-make_incdir.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -81,7 +81,7 @@
require Parrot::Ops2c::Utils;
{
- local @ARGV = qw( C CGoto CGP CSwitch CPrederef );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{
argv => [@ARGV],
@@ -98,7 +98,7 @@
sub test_single_trans {
my $trans = shift;
- my %available = map { $_, 1 } qw( C CGoto CGP CSwitch CPrederef );
+ my %available = map { $_, 1 } qw( C );
croak "Bad argument $trans to test_single_trans()"
unless $available{$trans};
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/08-nolines.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/08-nolines.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/08-nolines.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -47,7 +47,7 @@
require Parrot::Ops2c::Utils;
{
- local @ARGV = qw( C CGoto CGP CSwitch CPrederef );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{
argv => [@ARGV],
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/09-dynamic_nolines.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/09-dynamic_nolines.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/09-dynamic_nolines.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 22;
+use Test::More tests => 10;
use Carp;
use Cwd;
use File::Copy;
@@ -52,10 +52,7 @@
}
chdir "src/dynoplibs" or croak "Unable to change to src/dynoplibs: $!";
- test_dynops_nolines( [qw( CGoto obscure.ops )] );
- test_dynops_nolines( [qw( CGP obscure.ops )] );
test_dynops_nolines( [qw( C obscure.ops )] );
- test_dynops_nolines( [qw( CSwitch obscure.ops )] );
ok( chdir($cwd), "returned to starting directory" );
}
Modified: branches/include_dynpmc_makefile/t/tools/ops2cutils/10-print_c_source_file.t
==============================================================================
--- branches/include_dynpmc_makefile/t/tools/ops2cutils/10-print_c_source_file.t Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/t/tools/ops2cutils/10-print_c_source_file.t Wed Apr 28 19:17:12 2010 (r46116)
@@ -19,7 +19,7 @@
}
unshift @INC, qq{$topdir/lib};
}
-use Test::More tests => 21;
+use Test::More tests => 12;
use Carp;
use Cwd;
use File::Copy;
@@ -47,12 +47,9 @@
require Parrot::Ops2c::Utils;
test_single_trans_and_source(q{C});
- test_single_trans_and_source(q{CGoto});
- test_single_trans_and_source(q{CGP});
- test_single_trans_and_source(q{CSwitch});
{
- local @ARGV = qw( C CGoto CGP CSwitch );
+ local @ARGV = qw( C );
my $self = Parrot::Ops2c::Utils->new(
{
argv => [@ARGV],
@@ -72,7 +69,7 @@
sub test_single_trans_and_source {
my $trans = shift;
- my %available = map { $_, 1 } qw( C CGoto CGP CSwitch CPrederef );
+ my %available = map { $_, 1 } qw( C );
croak "Bad argument $trans to test_single_trans()"
unless $available{$trans};
Modified: branches/include_dynpmc_makefile/tools/build/ops2c.pl
==============================================================================
--- branches/include_dynpmc_makefile/tools/build/ops2c.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/build/ops2c.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -47,7 +47,7 @@
% perl tools/build/ops2c.pl trans [--help] [--no-lines] [--dynamic]
[--core | input.ops [input2.ops ...]]
- trans := C | CGoto | CGP | CSwitch | CPrederef
+ trans := C
For example:
@@ -75,22 +75,6 @@
Create the function-based (slow or fast core) run loop.
-=item C<CGoto>
-
-Create the C<goto> run loop.
-
-=item C<CGP>
-
-Create the C<goto> and predereferenced run loop.
-
-=item C<CSwitch>
-
-Create the C<switch>ed and predereferenced run loop.
-
-=item C<CPrederef>
-
-Create the predereferenced run loop.
-
=back
=head2 Options
@@ -153,14 +137,6 @@
=item C<Parrot::OpTrans::C>
-=item C<Parrot::OpTrans::CGoto>
-
-=item C<Parrot::OpTrans::CGP>
-
-=item C<Parrot::OpTrans::CSwitch>
-
-=item C<Parrot::OpTrans::CPrederef>
-
=item C<Parrot::Ops2c::Utils>
=item C<Parrot::Ops2c::Auxiliary>
Modified: branches/include_dynpmc_makefile/tools/dev/checkdepend.pl
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/checkdepend.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/checkdepend.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/tools/dev/gen_charset_tables.pl
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/gen_charset_tables.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/gen_charset_tables.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -38,15 +38,13 @@
# charset tables to create
#
my %table = (
- "en_US.iso88591" => "Parrot_iso_8859_1_typetable",
-
- # "en_US.iso885915" => "Parrot_iso_8859_15_typetable",
- "POSIX" => "Parrot_ascii_typetable",
+ 'en_US.iso88591' => 'Parrot_iso_8859_1_typetable',
+ 'POSIX' => 'Parrot_ascii_typetable',
);
my $header = <<"HEADER";
/* $fileid
- * Copyright (C) 2005-2007, Parrot Foundation.
+ * Copyright (C) 2005-2010, Parrot Foundation.
*
* DO NOT EDIT THIS FILE DIRECTLY!
* please update the $0 script instead.
@@ -54,10 +52,6 @@
* Created by $svnid
* Overview:
* This file contains various charset tables.
- * Data Structure and Algorithms:
- * History:
- * Notes:
- * References:
*/
/* HEADERIZER HFILE: none */
Modified: branches/include_dynpmc_makefile/tools/dev/mk_manifest_and_skip.pl
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/mk_manifest_and_skip.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/mk_manifest_and_skip.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -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/include_dynpmc_makefile/tools/dev/mk_native_pbc
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/mk_native_pbc Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/mk_native_pbc Wed Apr 28 19:17:12 2010 (r46116)
@@ -177,4 +177,4 @@
echo ""
echo "cd t/native_pbc"
-echo svn commit -m'native_pbc platform updates'
+echo "svn commit -m 'native_pbc platform updates'"
Modified: branches/include_dynpmc_makefile/tools/dev/nci_thunk_gen.pir
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/nci_thunk_gen.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/nci_thunk_gen.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -776,7 +776,7 @@
inner_whitespace_loop:
$I0 = index line, $S0
if $I0 < 0 goto end_inner_whitespace_loop
- substr line, $I0, 1, ' '
+ line = replace line, $I0, 1, ' '
goto inner_whitespace_loop
end_inner_whitespace_loop:
@@ -787,14 +787,16 @@
multispace_loop:
$I0 = index line, ' '
if $I0 < 0 goto end_multispace_loop
- $S0 = substr line, $I0, 2, ' '
+ $S0 = substr line, $I0, 2
+ line = replace line, $I0, 2, ' '
goto multispace_loop
end_multispace_loop:
# remove leading whitespace
$S0 = substr line, 0, 1
unless $S0 == ' ' goto end_leading
- $S0 = substr line, 0, 1, ''
+ $S0 = substr line, 0, 1
+ line = replace line, 0, 1, ' '
end_leading:
# handle empty (or whitespace only) lines
@@ -804,7 +806,8 @@
# remove trailing whitespace
$S0 = substr line, -1, 1
unless $S0 == ' ' goto end_trailing
- $S0 = substr line, -1, 1, ''
+ $S0 = substr line, -1, 1
+ line = replace line, -1, 1, ''
end_trailing:
# read the signature
@@ -918,7 +921,7 @@
# decode table
.local pmc compiler
- load_bytecode 'data_json.pbc'
+ load_language 'data_json'
compiler = compreg 'data_json'
.local pmc table
@@ -1111,7 +1114,7 @@
$S1 = substr file, $I1, $I0
unless $S1 == $S0 goto extn_loop
extn = $S1
- substr file, $I1, $I0, ''
+ file = replace file, $I1, $I0, ''
end_extn_loop:
.return (dir, file, extn)
Modified: branches/include_dynpmc_makefile/tools/dev/parrot-fuzzer
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/parrot-fuzzer Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/parrot-fuzzer Wed Apr 28 19:17:12 2010 (r46116)
@@ -62,7 +62,7 @@
Specify which runcore to use when running Parrot. The default is the C<slow>
core. This option corresponds directly to Parrot's C<--runcore> option. Other
-runcores include C<fast>, C<jit>, C<cgoto>, C<cgp>, C<cgp-jit>, and C<switch>.
+runcores include C<fast>.
See Parrot's help for more details.
=item C<--ignore_blacklist>
Modified: branches/include_dynpmc_makefile/tools/dev/pbc_to_exe.pir
==============================================================================
--- branches/include_dynpmc_makefile/tools/dev/pbc_to_exe.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/dev/pbc_to_exe.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -378,11 +378,10 @@
.param string new_extension
$S0 = substr pbc_path, -4
- downcase $S0
+ $S0 = downcase $S0
if $S0 != '.pbc' goto err_pbc_path_not_pbc
.local string base_path
- base_path = substr pbc_path, 0
- substr base_path, -4, 4, ''
+ base_path = replace pbc_path, -4, 4, ''
.local string new_path
new_path = substr base_path, 0
Modified: branches/include_dynpmc_makefile/tools/install/smoke.pl
==============================================================================
--- branches/include_dynpmc_makefile/tools/install/smoke.pl Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/install/smoke.pl Wed Apr 28 19:17:12 2010 (r46116)
@@ -9,7 +9,7 @@
use Getopt::Long;
use File::Spec::Functions;
-use Test::More tests => 8;
+use Test::More tests => 7;
=head1 NAME
@@ -146,16 +146,6 @@
ok($out =~ /^\n\.sub '_ROOT_past'/, "check TGE");
unlink($filename);
-# compilers/nqp is typically not installed
-$filename = 'test.nqp';
-open $FH, '>', $filename
- or die "Can't open $filename ($!).\n";
-print $FH "say('hello world!');\n";
-close $FH;
-$out = `$parrot $compdir/nqp/nqp.pbc $filename`;
-ok($out eq "hello world!\n", "check nqp");
-unlink($filename);
-
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
Modified: branches/include_dynpmc_makefile/tools/util/parrot-config.pir
==============================================================================
--- branches/include_dynpmc_makefile/tools/util/parrot-config.pir Wed Apr 28 18:41:57 2010 (r46115)
+++ branches/include_dynpmc_makefile/tools/util/parrot-config.pir Wed Apr 28 19:17:12 2010 (r46116)
@@ -46,18 +46,32 @@
if key == '--help' goto usage
if key == '--dump' goto dump
$I0 = defined conf_hash[key]
- if $I0 goto ok2
- print " no such key: '"
- print key
- print "'\n"
- end
-ok2:
+ unless $I0 goto failkey
+ dec argc
+ if i < argc goto dumpsome
$S0 = conf_hash[key]
print $S0
inc i
if i < argc goto loop
print "\n"
end
+dumpsome:
+ key = argv[i]
+ $I0 = defined conf_hash[key]
+ unless $I0 goto failkey
+ print key
+ print " => '"
+ $S1 = conf_hash[key]
+ print $S1
+ say "'"
+ inc i
+ if i <= argc goto dumpsome
+ end
+failkey:
+ print " no such key: '"
+ print key
+ print "'\n"
+ end
dump:
.local pmc iterator
iterator = iter conf_hash
More information about the parrot-commits
mailing list